<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Not Really a Blog &#187; Life</title>
	<atom:link href="http://blog.notreally.org/category/life/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.notreally.org</link>
	<description>or is it?</description>
	<lastBuildDate>Tue, 13 Jul 2010 09:48:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.notreally.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/93018cad14db97a3057eb332c3ba920a?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Not Really a Blog &#187; Life</title>
		<link>http://blog.notreally.org</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.notreally.org/osd.xml" title="Not Really a Blog" />
	<atom:link rel='hub' href='http://blog.notreally.org/?pushpress=hub'/>
		<item>
		<title>Social Engineering at Work</title>
		<link>http://blog.notreally.org/2010/04/15/social-engineering-at-work/</link>
		<comments>http://blog.notreally.org/2010/04/15/social-engineering-at-work/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 19:39:12 +0000</pubDate>
		<dc:creator>jroncero</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[¿Pero qué coño?]]></category>
		<category><![CDATA[recruiters]]></category>
		<category><![CDATA[social engineering]]></category>

		<guid isPermaLink="false">http://blog.notreally.org/?p=204</guid>
		<description><![CDATA[I&#8217;ve never had social engineering done at me, but recently there was this guy who phone me by directly calling MX Telecom&#8216;s number. He said he was calling from DHL and that he had a package to be delivered for me. He wanted the name of two other people who would sign the delivery report [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=204&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve never had social engineering done at me, but recently there was this guy who phone me by directly calling <a href="http://www.mxtelecom.com">MX Telecom</a>&#8216;s number. He said he was calling from <a href="http://www.dhl.com">DHL</a> and that he had a package to be delivered for me. He wanted the name of two other people who would sign the delivery report in case I was not there. I complied and later a colleague told me that this is most likely a recruiter collecting names from the companies. Aha!</p>
<p>So, I had another call yesterday and this time I was quicker to react. The conversation went like this:</p>
<blockquote><p><strong>Hi, Could I speak to Jesús?</strong></p>
<p>On the phone.</p>
<p><strong>Hi, I&#8217;m a promoter who is organising an event at the <a href="http://www.theo2.co.uk">O2 Arena</a> for <a href="http://www.playboy.com">Playboy</a> Magazine.</strong></p>
<p>Playboy?</p>
<p><strong>Yeah, the adult magazine, have you ever heard of it?</strong></p>
<p>Barely, go on.</p>
<p><strong>Well, they are organising this event for IT professionals and they wanted as many IT professionals to attend this event. I&#8217;ve got 6 tickets so if you could give me 5 names I&#8217;ll send them to you guys.</strong></p>
<p>Sure, jot down please:</p>
<p>Juan Perez and Joseph Garcia, they are americans and have just arrived to the company.</p>
<p><strong>Oh, sure. Is there any lady there who would like to attend?</strong></p>
<p>To a playboy event? Yeah, I know of one: Ana Botieso, a nice Spanish girl.</p>
<p><strong>is that all?</strong></p>
<p>Yup, thanks a lot, I&#8217;m really looking forward to having those tickets.</p>
<p><strong>No problems bye.</strong></p>
<p>bye.</p></blockquote>
<p>All of this while my mates at work were looking at me and giggling. Obviously the two first names were made up. The girl&#8217;s name stands for &#8220;<em>An Erect Penis</em>&#8221; in Spanish if you put it all together.</p>
<p>So you know, guys, if you ever receive such a suspicious call, you can be playful and have a bit of fun. You never know if you are going to get a call from one of these dicks.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blognotreally.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blognotreally.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blognotreally.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blognotreally.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blognotreally.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blognotreally.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blognotreally.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blognotreally.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blognotreally.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blognotreally.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blognotreally.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blognotreally.wordpress.com/204/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blognotreally.wordpress.com/204/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blognotreally.wordpress.com/204/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=204&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.notreally.org/2010/04/15/social-engineering-at-work/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e39e820dfad61c10be3c1f2c7f9c2747?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">golan</media:title>
		</media:content>
	</item>
		<item>
		<title>Amdocs buys MX Telecom</title>
		<link>http://blog.notreally.org/2010/03/24/amdocs-buys-mx-telecom/</link>
		<comments>http://blog.notreally.org/2010/03/24/amdocs-buys-mx-telecom/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 09:27:04 +0000</pubDate>
		<dc:creator>jroncero</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[amdocs]]></category>
		<category><![CDATA[mx telecom]]></category>
		<category><![CDATA[openmarket]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blog.notreally.org/?p=202</guid>
		<description><![CDATA[So, the company I work for, wammux, has been bought by Amdocs, the super mega corporation that owns openmarket, in order to merge us with them. The deal has been $104 million in cash !!! Don&#8217;t really know how that&#8217;s going to affect us. We shall see. More information about Amdocs in wikipedia.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=202&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So, the company I work for, <em><a href="http://www.mxtelecom.com">wammux</a></em>, has been bought by <a href="http://www.amdocs.com">Amdocs</a>, the super mega corporation that owns <a href="http://www.openmarket.com">openmarket</a>, in order to merge us with them. The deal has been $104 million in cash !!!</p>
<p>Don&#8217;t really know how that&#8217;s going to affect us. We shall see.</p>
<p>More information about <a href="http://en.wikipedia.org/wiki/Amdocs">Amdocs in wikipedia</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blognotreally.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blognotreally.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blognotreally.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blognotreally.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blognotreally.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blognotreally.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blognotreally.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blognotreally.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blognotreally.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blognotreally.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blognotreally.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blognotreally.wordpress.com/202/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blognotreally.wordpress.com/202/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blognotreally.wordpress.com/202/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=202&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.notreally.org/2010/03/24/amdocs-buys-mx-telecom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e39e820dfad61c10be3c1f2c7f9c2747?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">golan</media:title>
		</media:content>
	</item>
		<item>
		<title>Apple Converted</title>
		<link>http://blog.notreally.org/2009/09/05/apple-converted/</link>
		<comments>http://blog.notreally.org/2009/09/05/apple-converted/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 13:11:39 +0000</pubDate>
		<dc:creator>jroncero</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[phones]]></category>

		<guid isPermaLink="false">http://blog.notreally.org/?p=57</guid>
		<description><![CDATA[Over the last few months I&#8217;ve acquired a few items from Apple. Namely and Mac Book Pro 13&#8243;, an iPod Touch 2nd gen (which came with the Mac Book Pro and I&#8217;m reselling, probably) and an iPhone, with O2. I&#8217;m quite pleased to be honest. It might be that I&#8217;m getting older but I&#8217;m lately [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=57&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Over the last few months I&#8217;ve acquired a few items from <a href="http://www.apple.com">Apple</a>. Namely and <a href="http://www.apple.com/macbookpro/">Mac Book Pro 13&#8243;</a>, an <a href="http://www.apple.com/ipodtouch/">iPod Touch 2nd gen</a> (which came with the Mac Book Pro and I&#8217;m reselling, probably) and an <a href="http://www.apple.com/iphone/">iPhone</a>, with O2.</p>
<p>I&#8217;m quite pleased to be honest. It might be that I&#8217;m getting older but I&#8217;m lately not so apt to be continually fighting configuration issues and stuff with Linux (which I haven&#8217;t erased from my life. Use it at work, my servers and my desktop). Anyway, the Mac Book Pro was a no brainer, specially since it&#8217;s light, small and powerful (which makes it perfect for me to carry it around) and comes with <a href="http://www.apple.com/macosx/">Leopard (now upgraded to Snow Leopard)</a> which is a very nice operating system (and I still love having good old unix underneath).</p>
<p>The iPhone was more of an issue in terms of decision making. I was considering getting an <a href="http://www.android.com/">Android</a> based handset, like the <a href="http://www.htc.com/www/product/hero/overview.html">HTC Hero</a>, myself, but after much though, I believe that it&#8217;s not ready and mature enough to go for it. So I opted for an iPhone. I&#8217;ll wait until next year and see how the market is and decide again (I can always sell my iPhone as there&#8217;s always a market for this). So we shall see.</p>
<p>Any suggestions to make the best out of all these Apple goodies?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blognotreally.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blognotreally.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blognotreally.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blognotreally.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blognotreally.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blognotreally.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blognotreally.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blognotreally.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blognotreally.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blognotreally.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blognotreally.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blognotreally.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blognotreally.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blognotreally.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=57&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.notreally.org/2009/09/05/apple-converted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e39e820dfad61c10be3c1f2c7f9c2747?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">golan</media:title>
		</media:content>
	</item>
		<item>
		<title>Moving to London</title>
		<link>http://blog.notreally.org/2006/08/14/moving-to-london/</link>
		<comments>http://blog.notreally.org/2006/08/14/moving-to-london/#comments</comments>
		<pubDate>Mon, 14 Aug 2006 02:54:34 +0000</pubDate>
		<dc:creator>jroncero</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://blognotreally.wordpress.com/2006/08/14/moving-to-london/</guid>
		<description><![CDATA[Well, it was time to leave Brighton and move on to something different. Boredom, lack of internet and sleep has been a constant over the last couple of months. Finally, I found a job in London and moved to it to, well, start something different/new. Moving all my stuff from Brighton to London has been [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=33&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well, it was time to leave Brighton and move on to something different.</p>
<p>Boredom, lack of internet and sleep has been a constant over the last couple of months. Finally, I found a job in London and moved to it to, well, start something different/new.</p>
<p>Moving all my stuff from Brighton to London has been a bit of a pain in the ass. I had way too many things to move. Including a bike. I had to rent a car  and move all my stuff in a heavy loaded car. Nice because it&#8217;s been an interesting experience to drive on the left side of the road (England!). It&#8217;s easier than it looks. Anyway, Although I&#8217;ll miss Brighton a bit, I was a bit tired of being in the same place living in a residence with eighteen-year-olds and the like. What I definitely will miss is the people. Well, some people more than others, but some special  people. ¡Así es la vida!</p>
<p>And now, I have permanent internet connection, a house, a <a href="http://tripu.info">new flatmate (who is a good friend)</a> and a new job that would definitely help me not to  waste time thinking in girls (lack of), sysadmin (although I will get plenty of that [not the girls <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ] at my new job) and how to pay the bills.</p>
<p>I&#8217;ll talk in a different post about my new employer and what kind of job they do.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blognotreally.wordpress.com/33/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blognotreally.wordpress.com/33/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blognotreally.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blognotreally.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blognotreally.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blognotreally.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blognotreally.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blognotreally.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blognotreally.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blognotreally.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blognotreally.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blognotreally.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blognotreally.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blognotreally.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blognotreally.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blognotreally.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=33&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.notreally.org/2006/08/14/moving-to-london/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e39e820dfad61c10be3c1f2c7f9c2747?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">golan</media:title>
		</media:content>
	</item>
		<item>
		<title>Chord</title>
		<link>http://blog.notreally.org/2006/03/09/chord/</link>
		<comments>http://blog.notreally.org/2006/03/09/chord/#comments</comments>
		<pubDate>Thu, 09 Mar 2006 18:01:00 +0000</pubDate>
		<dc:creator>jroncero</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Sussex University]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[university]]></category>

		<guid isPermaLink="false">http://blognotreally.wordpress.com/2006/03/09/chord/</guid>
		<description><![CDATA[As part of another assignment for the Distributed System course at the University of Sussex we have been doing some research on Chord, a distributed hash lookup primitive, and, in the end, implement part of what is called a chord ring in java. The idea behind Chord is a research paper in which a distributed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=25&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As part of another assignment for the Distributed System course at the University of Sussex we have been doing some research on <a href="http://pdos.csail.mit.edu/chord/">Chord</a>, a distributed hash lookup primitive, and, in the end, implement part of what is called a <em>chord ring</em> in java.</p>
<p>The idea behind Chord is <a href="http://pdos.csail.mit.edu/papers/chord:sigcomm01/">a research paper</a> in which a distributed protocol for adding nodes to the system, insert data into it, retreive it and drop from the system is described. The way in which  nodes lookups and inserts are done is O(log n), so it&#8217;s quite efficient. Chord could be look as a layer over which p2p-like applications could be built. One example of this is <a href="http://pdos.csail.mit.edu/papers/cfs:sosp01/">CFS</a>, the Cooperative File System, a distributed read-only file system.</p>
<p>What we had to do is, basically, implement a simple Ring protocol and a Chord protocol:</p>
<ul>
<li><strong>Ring protocol</strong>: Each node in the system has a pointer to the next one in the <em>ring</em>, so, for instance, if any node wants to do a lookup on some data, it would ask the next one in the ring. If such node does not have it, it would forward that question to the next node in the ring and so forth. This would be O(n)</li>
<li> <strong>Chord Protocol</strong>: In this version of the protocol, each node not only has a pointer to the next node in the ring, but it also has a pointer to a number of other nodes, not necessarily in a row, so when any node wants to do a lookup, depending on a hash function and the list of pointers to other nodes, it would forward the question to a closer node, where the information is more likely to be stored. This is the way we get a O(log n) algorithm. In fact, there is more than this going on, so I recommend you to have a look at the chord paper again if you are interested.</li>
</ul>
<p>So, all we had to do is implement both protocols in java and run it in a<br />
<a href="http://www.seas.upenn.edu/~cis505/spring2004/project2.html"> simulator</a>, as implementing a working solution was too much for an university assignment due in two weeks.</p>
<p>What happens is that using the simulator and programming the whole thing is harder than it sounds, as the simulator itself is lacking some good documentation and have some bugs. In any case, doing it has been fun and interesting as well, as it has let me understand how a distributed system, such as a p2p system, works. So, I recommend anyone interested to have a look at how the protocol works (ie, by reading the Chord paper <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>The idea behind Chord is <a href="http://pdos.csail.mit.edu/papers/chord:sigcomm01/">a research paper</a> in which a distributed protocol for adding nodes to the system, insert data into it, retreive it and drop from the system is described. The way in which  nodes lookups and inserts are done is O(log n), so it’s quite efficient. Chord could be look as a layer over which p2p-like applications could be built. One example of this is <a href="http://pdos.csail.mit.edu/papers/cfs:sosp01/"><span class="caps">CFS</span></a>, the Cooperative File System, a distributed read-only file system.</p>
<p>What we had to do is, basically, implement a simple Ring protocol and a Chord protocol:</p>
<ul>
<li><strong>Ring protocol</strong>: Each node in the system has a pointer to the next one in the <em>ring</em>, so, for instance, if any node wants to do a lookup on some data, it would ask the next one in the ring. If such node does not have it, it would forward that question to the next node in the ring and so forth. This would be O(n)</li>
<li> <strong>Chord Protocol</strong>: In this version of the protocol, each node not only has a pointer to the next node in the ring, but it also has a pointer to a number of other nodes, not necessarily in a row, so when any node wants to do a lookup, depending on a hash function and the list of pointers to other nodes, it would forward the question to a closer node, where the information is more likely to be stored. This is the way we get a O(log n) algorithm. In fact, there is more than this going on, so I recommend you to have a look at the chord paper again if you are interested.</li>
</ul>
<p>So, all we had to do is implement both protocols in java and run it in a<br />
<a href="http://www.seas.upenn.edu/~cis505/spring2004/project2.html"> simulator</a>, as implementing a working solution was too much for an university assignment due in two weeks.</p>
<p>What happens is that using the simulator and programming the whole thing is harder than it sounds, as the simulator itself is lacking some good documentation and have some bugs. In any case, doing it has been fun and interesting as well, as it has let me understand how a distributed system, such as a p2p system, works. So, I recommend anyone interested to have a look at how the protocol works (ie, by reading the Chord paper <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>&nbsp;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blognotreally.wordpress.com/25/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blognotreally.wordpress.com/25/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blognotreally.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blognotreally.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blognotreally.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blognotreally.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blognotreally.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blognotreally.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blognotreally.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blognotreally.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blognotreally.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blognotreally.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blognotreally.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blognotreally.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blognotreally.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blognotreally.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=25&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.notreally.org/2006/03/09/chord/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e39e820dfad61c10be3c1f2c7f9c2747?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">golan</media:title>
		</media:content>
	</item>
		<item>
		<title>Depeche Mode and Barcelona</title>
		<link>http://blog.notreally.org/2006/02/09/depeche-mode-and-barcelona/</link>
		<comments>http://blog.notreally.org/2006/02/09/depeche-mode-and-barcelona/#comments</comments>
		<pubDate>Thu, 09 Feb 2006 17:30:00 +0000</pubDate>
		<dc:creator>jroncero</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[depeche mode]]></category>

		<guid isPermaLink="false">http://blognotreally.wordpress.com/2006/02/09/depeche-mode-and-barcelona/</guid>
		<description><![CDATA[Tomorrow I&#8217;m heading to Barcelona to see my first Depeche Mode concert of the Playing the Angel tour at Palau Sant Jordi sports arena, built for the 1992 olimpic games. While I am not finding this last album exciting at all (maybe I am changing musical tastes), I am really excited to go to Barcelona, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=23&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Tomorrow I&#8217;m heading to Barcelona to see my first <a href="http://www.depechemode.com">Depeche Mode</a> concert of the <strong>Playing the Angel</strong> tour at <a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;q=barcelona&amp;ll=41.363572,2.152591&amp;spn=0.002295,0.006083&amp;t=k">Palau Sant Jordi</a> sports arena, built for the 1992 olimpic games.</p>
<p>While I am not finding this last album exciting at all (maybe I am changing musical tastes), I am really excited to go to Barcelona, as it is always a city with a lot to offer. Also, I&#8217;m seeing some of my friends as they are comming from Seville to the concert, which is going to be lots of fun. And, they are bringing me some Spanish food I could take back to England (Yeah!!!) <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  <br />
The venue is taking place in the Palau Sant Jordi, which is a very nice place to make gigs as it has  pretty good acoustics and a capacity for almost 25000 people.</p>
<p>I&#8217;ll be arriving at 17:00 at Barcelona&#8217;s El Prat airport on Friday evening if there are no delays and will be back on Sunday evening. So, it&#8217;s going to be 48 interesting hours. Hope to get enough sleep.
</p>
<p>I&#8217;ll be posting photos soon.</p>
<p>While I am not finding this last album exciting at all (maybe I am changing musical tastes), I am really excited to go to Barcelona, as it is always a city with a lot to offer. Also, I&#8217;m seeing some of my friends as they are comming from Seville to the concert, which is going to be lots of fun. And, they are bringing me some Spanish food I could take back to England (Yeah!!!) <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  <br />
The venue is taking place in the Palau Sant Jordi, which is a very nice place to make gigs as it has  pretty good acoustics and a capacity for almost 25000 people.</p>
<p>I&#8217;ll be arriving at 17:00 at Barcelona&#8217;s El Prat airport on Friday evening if there are no delays and will be back on Sunday evening. So, it&#8217;s going to be 48 interesting hours. Hope to get enough sleep.
</p>
<p>I&#8217;ll be posting photos soon.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blognotreally.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blognotreally.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blognotreally.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blognotreally.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blognotreally.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blognotreally.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blognotreally.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blognotreally.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blognotreally.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blognotreally.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blognotreally.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blognotreally.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blognotreally.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blognotreally.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blognotreally.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blognotreally.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=23&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.notreally.org/2006/02/09/depeche-mode-and-barcelona/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e39e820dfad61c10be3c1f2c7f9c2747?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">golan</media:title>
		</media:content>
	</item>
		<item>
		<title>FON, google and Skype</title>
		<link>http://blog.notreally.org/2006/02/05/fon-google-and-skype/</link>
		<comments>http://blog.notreally.org/2006/02/05/fon-google-and-skype/#comments</comments>
		<pubDate>Sun, 05 Feb 2006 23:34:00 +0000</pubDate>
		<dc:creator>jroncero</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Sussex University]]></category>
		<category><![CDATA[fon]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[skype]]></category>

		<guid isPermaLink="false">http://blognotreally.wordpress.com/2006/02/05/fon-google-and-skype/</guid>
		<description><![CDATA[So, they did it Fon has just announced it would get 21.5 million dollars from Google, Skype, and Sequoia Capital. Something I already talked about a couple of days ago. Amazing. Just waiting for comments right now!.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=22&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So, they did it</p>
<p><a href="http://blog.fon.com/en/archive/general/a-dream-come-true.html">Fon has just announced</a> it would get 21.5 million dollars from Google, Skype, and Sequoia Capital. <a href="/articles/2006/02/01/background-briefing-on-fon">Something I already talked about a couple of days ago</a>.</p>
<p>Amazing. Just waiting for comments right now!.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blognotreally.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blognotreally.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blognotreally.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blognotreally.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blognotreally.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blognotreally.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blognotreally.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blognotreally.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blognotreally.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blognotreally.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blognotreally.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blognotreally.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blognotreally.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blognotreally.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blognotreally.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blognotreally.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=22&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.notreally.org/2006/02/05/fon-google-and-skype/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e39e820dfad61c10be3c1f2c7f9c2747?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">golan</media:title>
		</media:content>
	</item>
		<item>
		<title>Computer puzzles in job interviews</title>
		<link>http://blog.notreally.org/2006/01/31/computer-puzzle-in-job-interviews/</link>
		<comments>http://blog.notreally.org/2006/01/31/computer-puzzle-in-job-interviews/#comments</comments>
		<pubDate>Tue, 31 Jan 2006 20:20:00 +0000</pubDate>
		<dc:creator>jroncero</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[interviews]]></category>
		<category><![CDATA[jobs]]></category>

		<guid isPermaLink="false">http://blognotreally.wordpress.com/2006/01/31/computer-puzzle-on-job-interviews/</guid>
		<description><![CDATA[Yesterday, I went to a job interview. I was asked some difficult problems and ways to solve them. One of them was: We have a list of a million phone numbers on the standard input and we have a reduced memory pc which we want to use it to sort them and use to check [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=19&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I went to a job interview. I was asked some difficult<br />
problems and ways to solve them. One of them was: We have a list of a<br />
million phone numbers on the standard input and we have a reduced memory<br />
pc which we want to use it to sort them and use to check later if any<br />
number given is in that list or not.</p>
<p>The solution offered was to use an array of bits and use the number as<br />
an index, so if b[1234 ] == 0 would mean that the phone number 1234<br />
wasn&#8217;t on the input list and 1 would mean that we had it.</p>
<p>I have been thinking about the solution they provided me.<br />
I&#8217;ve been thinking for a while and would<br />
like to extend the rationale behind.<br />
Ok, so, Let&#8217;s imagine we have 1 million phone numbers. If we choose to<br />
use the bit array approach, that means that, given the English phone<br />
number system, we have numbers like these:</p>
<p>01273 121212</p>
<p>That is, eleven numbers. I guess, the initial 0 is always present, so we<br />
can omit it right now. So that leaves us 10 numbers to deal with.<br />
Supposing that there are no numbers starting with a 0 (after the initial<br />
0), that leaves us with the possibility of having number in the range:</p>
<p>1000000000 to<br />
9999999999 (=10 000 000 000, 10 thousand million numbers )</p>
<p>So, there can be a total of 10,000,000,000 &#8211; 1,000,000,000 numbers, which is<br />
then, 9,000,000,000.</p>
<p>If you want an array of bits to use for storing if certain number is on<br />
the list or not, that means that you need an array of 9,000,000,000<br />
elements, or, 9,000,000,000 bits. That is 1,125,000,000 bytes, or, 1,072Mb<br />
or a little bit more than 1 Gb, right?</p>
<p>Ok, that&#8217;s a lot of memory. And, the thing is that you would need to<br />
have all that array even if it was the best case (that in which all the<br />
numbers would be the same, one single number repeated one million<br />
time). So the memory consumption would be fixed.</p>
<p>On the other hand, if we used a n-ary tree to hold all the information<br />
as something like this:</p>
<pre>
   0  0  0
   1  1  1
   2  2  2
   3  3  3
   4 /4--4
   5/ 5  5
   6  6  6
   7  7  7
   8  8  8
   9  9  9
</pre>
<p>would mean that the number 544 (in a 3-number scheme) would exist.</p>
<p>For example, if we used a C struct like this one:</p>
<pre>
typedef struct Node Node;
struct Node {
        Node *array[10]; /*  */
	};
</pre>
<p>In which each position of the array of pointers would represent a number<br />
itself and a pointer to the next one.</p>
<pre>
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |    ------    \    |null|
    +----+    +----+\   +----+
    |null|    |null| \  |null|
    +----+    +----+  \ +----+
    |null|    |null|   \ XXX |
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |    \    |null|    |null|
    +----+\   +----+    +----+
           \
            \   +----+    +----+
             \  |null|    |null|
              \ +----+    +----+
               \ null|    |null|
                +----+    +----+
                |null|   / XXX |
                +----+  / +----+
                |null| /  |null|
                +----+/   +----+
                |    /    |null|
                +----+    +----+
                |null|    |null|
                +----+    +----+
                |null|    |null|
                +----+    +----+
                |null|    |null|
                +----+    +----+
                |null|    |null|
                +----+    +----+
                |    \    |null|
                +----+\   +----+
                       \
                        \
                         \  +----+
                          \ |null|
                           \+----+
                             XXX |
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
</pre>
<p>So that would give us numbers 446 and 912 and 992 in a 3 digit scheme.<br />
We would set up all the pointers to null. If any pointer at any position<br />
is different of null, that means that is a valid number and it points to<br />
the following number (the next array of pointers), so we use the pointer<br />
to both show the number and point to the next structure. The only<br />
exception is for the last node (last digit), that we could make it point<br />
to a invalid address (represented here as XXX).</p>
<p>So, I don&#8217;t know if I make myself clear enough, but using this method,<br />
the thing is that in the worst case, we would have 1,000,000<br />
ways to go from the root to the end of each branch, meaning that we<br />
would need 1,000,000 * 10 (the number of digits each phone number has)<br />
nodes to hold all that information. That is 10,000,000 nodes. In this<br />
structure, thats about 40 bytes, which gives us the amount of<br />
400,000,000 bytes, that&#8217;s is : 381 Mb approximately, which is 1/3 of the<br />
other approach. But, that&#8217;s the worst case scenario. In the average case<br />
scenario, many numbers would be repeated and the total size would be<br />
reduced, actually. And on the best case scenario (one number repeated<br />
one million times) we would only need 10 nodes.</p>
<p>On doing the search, using this n-ary tree, it is O(10) at most if we<br />
need to check the whole number, but as soon we found a null on any<br />
digit&#8217;s position, we can stop there, so it would be &lt; O(10) which is a<br />
good number anyway.</p>
<p>the thing is, Am I right, or not?
<p>Ok, so, Let&#8217;s imagine we have 1 million phone numbers. If we choose to<br />
use the bit array approach, that means that, given the English phone<br />
number system, we have numbers like these:</p>
<p>01273 121212</p>
<p>That is, eleven numbers. I guess, the initial 0 is always present, so we<br />
can omit it right now. So that leaves us 10 numbers to deal with.<br />
Supposing that there are no numbers starting with a 0 (after the initial<br />
0), that leaves us with the possibility of having number in the range:</p>
<p>1000000000 to<br />
9999999999 (=10 000 000 000, 10 thousand million numbers )</p>
<p>So, there can be a total of 10,000,000,000 &#8211; 1,000,000,000 numbers, which is<br />
then, 9,000,000,000.</p>
<p>If you want an array of bits to use for storing if certain number is on<br />
the list or not, that means that you need an array of 9,000,000,000<br />
elements, or, 9,000,000,000 bits. That is 1,125,000,000 bytes, or, 1,072Mb<br />
or a little bit more than 1 Gb, right?</p>
<p>Ok, that&#8217;s a lot of memory. And, the thing is that you would need to<br />
have all that array even if it was the best case (that in which all the<br />
numbers would be the same, one single number repeated one million<br />
time). So the memory consumption would be fixed.</p>
<p>On the other hand, if we used a n-ary tree to hold all the information<br />
as something like this:</p>
<pre>
   0  0  0
   1  1  1
   2  2  2
   3  3  3
   4 /4--4
   5/ 5  5
   6  6  6
   7  7  7
   8  8  8
   9  9  9
</pre>
<p>would mean that the number 544 (in a 3-number scheme) would exist.</p>
<p>For example, if we used a C struct like this one:</p>
<pre>
typedef struct Node Node;
struct Node {
        Node *array[10]; /*  */
    };
</pre>
<p>In which each position of the array of pointers would represent a number<br />
itself and a pointer to the next one.</p>
<pre>
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |    ------    \    |null|
    +----+    +----+\   +----+
    |null|    |null| \  |null|
    +----+    +----+  \ +----+
    |null|    |null|   \ XXX |
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |null|    |null|    |null|
    +----+    +----+    +----+
    |    \    |null|    |null|
    +----+\   +----+    +----+
           \
            \   +----+    +----+
             \  |null|    |null|
              \ +----+    +----+
               \ null|    |null|
                +----+    +----+
                |null|   / XXX |
                +----+  / +----+
                |null| /  |null|
                +----+/   +----+
                |    /    |null|
                +----+    +----+
                |null|    |null|
                +----+    +----+
                |null|    |null|
                +----+    +----+
                |null|    |null|
                +----+    +----+
                |null|    |null|
                +----+    +----+
                |    \    |null|
                +----+\   +----+
                       \
                        \
                         \  +----+
                          \ |null|
                           \+----+
                             XXX |
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
                            |null|
                            +----+
</pre>
<p>So that would give us numbers 446 and 912 and 992 in a 3 digit scheme.<br />
We would set up all the pointers to null. If any pointer at any position<br />
is different of null, that means that is a valid number and it points to<br />
the following number (the next array of pointers), so we use the pointer<br />
to both show the number and point to the next structure. The only<br />
exception is for the last node (last digit), that we could make it point<br />
to a invalid address (represented here as <span class="caps">XXX</span>).</p>
<p>So, I don&#8217;t know if I make myself clear enough, but using this method,<br />
the thing is that in the worst case, we would have 1,000,000<br />
ways to go from the root to the end of each branch, meaning that we<br />
would need 1,000,000 * 10 (the number of digits each phone number has)<br />
nodes to hold all that information. That is 10,000,000 nodes. In this<br />
structure, thats about 40 bytes, which gives us the amount of<br />
400,000,000 bytes, that&#8217;s is : 381 Mb approximately, which is 1/3 of the<br />
other approach. But, that&#8217;s the worst case scenario. In the average case<br />
scenario, many numbers would be repeated and the total size would be<br />
reduced, actually. And on the best case scenario (one number repeated<br />
one million times) we would only need 10 nodes.</p>
<p>On doing the search, using this n-ary tree, it is O(10) at most if we<br />
need to check the whole number, but as soon we found a null on any<br />
digit&#8217;s position, we can stop there, so it would be &lt; O(10) which is a<br />
good number anyway.</p>
<p>the thing is, Am I right, or not?</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blognotreally.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blognotreally.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blognotreally.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blognotreally.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blognotreally.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blognotreally.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blognotreally.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blognotreally.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blognotreally.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blognotreally.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blognotreally.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blognotreally.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blognotreally.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blognotreally.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blognotreally.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blognotreally.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=19&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.notreally.org/2006/01/31/computer-puzzle-in-job-interviews/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e39e820dfad61c10be3c1f2c7f9c2747?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">golan</media:title>
		</media:content>
	</item>
		<item>
		<title>About FON</title>
		<link>http://blog.notreally.org/2006/01/29/about-fon/</link>
		<comments>http://blog.notreally.org/2006/01/29/about-fon/#comments</comments>
		<pubDate>Sun, 29 Jan 2006 21:00:00 +0000</pubDate>
		<dc:creator>jroncero</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Sussex University]]></category>
		<category><![CDATA[fon]]></category>

		<guid isPermaLink="false">http://blognotreally.wordpress.com/2006/01/29/about-fon/</guid>
		<description><![CDATA[As part of my studies in my e-business course at the University of Sussex, I have been asked to write a report of a company that is somehow involved with e-business (e-commerce, use of technology to become more profitable or efficient, etc.). So, I have decided that I am going to do some research on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=17&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>As part of my studies in my <a href="http://www.informatics.sussex.ac.uk/courses/eBusiness/">e-business</a><br />
 course at the University of Sussex, I have been asked to write a report of a company that is somehow involved with e-business (e-commerce, use of technology to become more profitable or efficient, etc.).
</p>
<p>So, I have decided that I am going to do some research on <a href="http://en.fon.com">FON</a>, a company created by <a href="http://english.martinvarsavsky.net/">Martin Varsavsky</a> who is famous for founding <a href="http://www.jazztel.es">Jazztel</a> and <a href="http://ya.com">Ya.com</a>, one of the biggest phone companies and ISP in Spain.</p>
<p>FON idea is to profit from creating a network of wireless users around the world, called the p2p of wifi.</p>
<p> My task is, first of all, writing a <em>background briefing</em> report about the company, and afterwards an <em>investment recomendation</em> based on my research and study of the subject.</p>
<p>I chose this company because I have <a href="http://blog.eltridente.org" title="Teo Ruiz">a friend</a> who is working there and because I think it is interesting to see if FON&#8217;s business model is profitable or not. By the way, I have no access to internal sources as Teo (hi Teo!!) is quite secretive about it (I think because of <a href="http://en.wikipedia.org/wiki/Non-disclosure_agreement" title="Non Disclosure Agreement">NDAs</a>). <br />
Anyway, I&#8217;ll post more about it in the near future, I guess. Stay tuned.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blognotreally.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blognotreally.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blognotreally.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blognotreally.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blognotreally.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blognotreally.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blognotreally.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blognotreally.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blognotreally.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blognotreally.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blognotreally.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blognotreally.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blognotreally.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blognotreally.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blognotreally.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blognotreally.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=17&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.notreally.org/2006/01/29/about-fon/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e39e820dfad61c10be3c1f2c7f9c2747?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">golan</media:title>
		</media:content>
	</item>
		<item>
		<title>On Distributed Computing using RMI</title>
		<link>http://blog.notreally.org/2006/01/28/on-distributed-computing-using-rmi/</link>
		<comments>http://blog.notreally.org/2006/01/28/on-distributed-computing-using-rmi/#comments</comments>
		<pubDate>Sat, 28 Jan 2006 17:40:00 +0000</pubDate>
		<dc:creator>jroncero</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Sussex University]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[rmi]]></category>

		<guid isPermaLink="false">http://blognotreally.wordpress.com/2006/01/28/on-distributed-computing-using-rmi/</guid>
		<description><![CDATA[Ok, so I have this assignment in one of my courses at the University of Sussex, Distributed Systems. The thing is that we need to implement a distributed event notification system, in which clients subscribe themselves to the server to which some event generators sends their events. All of this, using RMI (Remote Method Invocation) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=16&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ok, so I have this assignment in one of my  courses at the University of Sussex, <a href="http://www.informatics.sussex.ac.uk/users/ianw/teach/dist-sys/">Distributed Systems</a>. The thing is that we need to implement a distributed event notification system, in which clients subscribe themselves to the server to which some event generators sends their events.</p>
<p><img src="http://static.flickr.com/28/92170418_12ecbe2c1e_o.png" alt="" /></p>
<p>All of this, using <a title="RMI" href="http://java.sun.com/products/jdk/rmi/index.jsp">RMI (Remote Method Invocation) in Java</a>.</p>
<p>The assignment is an introduction to distributed objects in java by implementing this little system. In it, each Event Generator, sends events to the server, made of an identification string and a message (in fact, it could be any kind of object).</p>
<p>On the other hand, the server get subscriptions of clients. These send the server a regular expression and a timeout, each of which would be used to choose among the different events received and to set a maximu time in which the subscription is valid. When doing so, the server sets up a callback function to the clients so, when a matching event is received, the server has a way to send the clients the object (event). I think it can be better understood by looking at the graph above.</p>
<p>So far, it&#8217;s been quite interesting to learn this kind of distributed framework, although java is not my kind of language. I want to do some more researh on how to do this kind of things with other languages like ruby o r python. Seems to me interesting.</p>
<p>Here is a little bit of the code used, just for curiosity:</p>
<pre class="brush: java;">
public static void main(String[] args) {
	if (System.getSecurityManager() == null) {
	System.setSecurityManager(new RMISecurityManager());
	}
	try {
		EventNotificationServer server = new EventNotificationServerImpl();
		String hostName = InetAddress.getLocalHost().getHostName();
		Naming.rebind(&quot;//&quot; + hostName + &quot;/&quot;
				+ EventNotificationServer.rmiName, server);
		System.out.println(&quot;EventNotificationServerImpl bound to &quot;
				+ hostName);

	} catch (Exception e) {
		System.err.println(&quot;EventNotificationServerImpl exception: &quot;
				+ e.getMessage());
		e.printStackTrace();
	}

}
</pre>
<p>The assignment is an introduction to distributed objects in java by implementing this little system. In it, each Event Generator, sends events to the server, made of an identification string and a message (in fact, it could be any kind of object).</p>
<p>On the other hand, the server get subscriptions of clients. These send the server a regular expression and a timeout, each of which would be used to choose among the different events received and to set a maximum time in which the subscription is valid. When doing so, the server sets up a callback function to the clients so, when a matching event is received, the server has a way to send the clients the object (event). I think it can be better understood by looking at the graph above.</p>
<p>So far, it’s been quite interesting to learn this kind of distributed framework, although java is not my kind of language. I want to do some more researh on how to do this kind of things with other languages like ruby o r python. Seems to me interesting.</p>
<p>Here is a little bit of the code used, just for curiosity:</p>
<pre class="brush: java;">
public static void main(String[] args) {
    if (System.getSecurityManager() == null) {
    System.setSecurityManager(new RMISecurityManager());
    }
    try {
        EventNotificationServer server = new EventNotificationServerImpl();
        String hostName = InetAddress.getLocalHost().getHostName();
        Naming.rebind(&quot;//&quot; + hostName + &quot;/&quot;
                + EventNotificationServer.rmiName, server);
        System.out.println(&quot;EventNotificationServerImpl bound to &quot;
                + hostName);

    } catch (Exception e) {
        System.err.println(&quot;EventNotificationServerImpl exception: &quot;
                + e.getMessage());
        e.printStackTrace();
    }
}
</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/blognotreally.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/blognotreally.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blognotreally.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blognotreally.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blognotreally.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blognotreally.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blognotreally.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blognotreally.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blognotreally.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blognotreally.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blognotreally.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blognotreally.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blognotreally.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blognotreally.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blognotreally.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blognotreally.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.notreally.org&amp;blog=8911601&amp;post=16&amp;subd=blognotreally&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.notreally.org/2006/01/28/on-distributed-computing-using-rmi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e39e820dfad61c10be3c1f2c7f9c2747?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">golan</media:title>
		</media:content>

		<media:content url="http://static.flickr.com/28/92170418_12ecbe2c1e_o.png" medium="image" />
	</item>
	</channel>
</rss>