tag:blogger.com,1999:blog-67413839558091023172024-03-13T05:34:02.222+01:00Piranna's Free SoftwareChanging the world... one line of source code at a timeAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.comBlogger77125tag:blogger.com,1999:blog-6741383955809102317.post-75069308051110195942014-02-05T21:57:00.000+01:002014-02-05T21:57:08.566+01:00Change of songAs you already know, this year I'm not devoting to much time to my projects nor the <a href="http://www.concursosoftwarelibre.org/1314/" target="_blank">championship</a> due to the work and the classes, and I'm advancing on ShareIt! more slowly that what I wanted.<br />
<br />
None the less, in the last days after the exams I have been pushin WebP2P.io working on a rewrite from scratch and now has get a really clean, nice code and stable performance, and it's starting to became something really serious to be usable. My intention was to release a 1.0 version this days, but I got the conclusion that it's better to wait and get a more mature protocol, and implement from start a secure, anonimous and reliable one instead of change it in the future.<br />
<br />
That's the reason I've decided to follow the advice of my teacher and employer <a href="http://www.ladyr.es/index.php?id=65" target="_blank">Prof. Luis López</a> and change my strategy: instead of focusing on code development, focus on the development of the ideas and write papers and specs of them. This way, I can be able to make development more dynamic and request help from others more easily (no long debuging nights stage ;-) ), instead of need to wait to have it finished (if so!) just to see that it was a waste of time, and dedicate to development when I have more time (probably summer, or maybe also the next course if I can be able to integrate my ideas in the products of <a href="http://www.kurento.org/" target="_blank">my company</a> :-) ) with the advantages of having the concepts more polished and go straight to code them.<br />
<br />
So, at this moment I doesn't have written the specs of the new version of the protocol, but I hope to have them in some days and I'll put a post to talk about their main points. Stay tunned! ;-)Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-65809045188218781832013-12-25T20:11:00.001+01:002013-12-25T20:18:10.688+01:00Still aliveIt was almost two months from my last post, and as you can see on my <a href="https://github.com/piranna" target="_blank">GitHub account</a>, I've didn't do any commit to ShareIt! on this time. Reason? Job and classes (and in fact I've drop out of the gym and the <a href="http://www.b105kinball.com/" target="_blank">KinBall</a> team during this time to focus on them...). In fact, I wanted to release ShareIt! 2.0 on the aniversary of the release of <a href="http://pirannafs.blogspot.com.es/2012/12/shareit-10-armageddon.html" target="_blank">ShareIt! 1.0 "Armageddon"</a>, but it was fairly impossible, as the holidays I've taken on <a href="http://en.wikipedia.org/wiki/Las_Palmas" target="_blank">Las Palmas</a> to don't get me insane shows.<br />
<br />
Now that I have got for the first time in some years full Christmas holidays, I'll try to retake the P2P project and move it forward, although I have some pending practices for it. This is not the best year for my personal projects, but at least I hope I can finish the degree the next year, so the effort will pay off... :-)<br />
<br />
And if not, we can always take <a href="http://www.youtube.com/watch?v=Y6ljFaKRTrI" target="_blank">a piece of cake</a>... :-PAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com2tag:blogger.com,1999:blog-6741383955809102317.post-9138632169618455052013-11-01T21:47:00.000+01:002013-11-01T21:47:04.490+01:00Here we go... againJust as something that's starting to became a tradition, new course... and new inscription :-)<br />
<br />
Yes, one more year, <a href="http://www.concursosoftwarelibre.org/1314/proyectos/2" target="_blank">I'm participating</a> (again) on the <a href="http://www.concursosoftwarelibre.org/1314" target="_blank">Free Software Universitary Championship</a>, that so many good moments gave me the last year. That's the reason why I will participate again with <a href="http://shareit.es/" target="_blank">ShareIt!</a>, only that this time with a fairly more ambitious project (if something like this is possible!): make it a production-ready P2P framework focusing on easy to use and freedom of speech instead of just a P2P filesharing application. This has the problem that will need an almost from scratch rewrite (that I'm currently doing) isolating each area and making a lot of efforts of making them solid and future-proof, but as the existence of <a href="http://www.concursosoftwarelibre.org/1314/proyectos/8" target="_blank">another WebRTC-based project</a> on the championship shows, this kind of technologies will be the basis of the future new Internet applications on a mid-term, and it compensate the effort to give them a try. Ey, <a href="http://kurento.com/" target="_blank">I got a job</a> thanks to them, so they shouldn't be so bad anyway! :-D<br />
<br />
I only hope that the job and the studies (hopefully this is my almost-last-year of college :-) ) don't kill me too much time to dedicate to the project (it's almost one month that I don't write any line of code... :-/ ).Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-45847156983399352082013-08-21T14:12:00.000+02:002013-08-21T14:12:25.592+02:00Teaching the hard way<blockquote class="tr_bq">
<span style="background-color: #f8f8f8; color: #222222; font-family: 'PT Serif', Georgia, Times, 'Times New Roman', serif; font-size: 18px; line-height: 27.59375px;">When we teach kids to ride a bike, at some point we have to take the training wheels off. Here’s an idea. When they hit eleven, give them a plaintext file with ten-thousand WPA2 keys and tell them that the real one is in there somewhere. See how quickly they discover Python or Bash then.</span></blockquote>
<a href="http://www.coding2learn.org/blog/2013/07/29/kids-cant-use-computers/" target="_blank"><span style="font-size: x-large;">EPIC</span></a>Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-42442650195924636552013-08-08T01:18:00.001+02:002013-08-08T01:18:17.526+02:00A leap frogIn the last weeks I didn't get too much progress with ShareIt!, between exams and my new job, but specially due to the fact that with the problems I had with the removal of the anonimous XMPP server I was using and that the browsers starting with Chrome v26 generated a big SDP strings, I got fixed on using Chrome v25 if I wanted to keep experimenting :-(<br />
<br />
But, in my new job I'm working with WebRTC all the time :-) And doing some experiments not only found that the big SDP strings was <a href="https://groups.google.com/forum/#!msg/discuss-webrtc/4nmINRBMqKY/eZWuRNHjiucJ" target="_blank">a bug of Chrome</a> but also thanks to it <a href="http://lists.w3.org/Archives/Public/public-webrtc/2013Aug/0009.html" target="_blank">another bug on Firefox</a> has been found, but not only that, I was able to find a solution to create smaller SDP strings... and got ShareIt! working directly with Chrome v30 and their native reliable DataChannels :-D Only thing is that seems reliable support is not finished so I'm only able to get fileslist but not files content, so while it got fixed I decided to test it on Firefox and after some work... now it working there.<br />
<br />
Yes, ShareIt! working on Chrome and Firefox!!! :-D<br />
<br />
Well, sort of. As I said, it's mainly experimental only allowing to get files list, but they are working using native DataChannels, that's a big advance. Now I'll try to be able to use DeviceStorage API on Firefox until interoperability appear since the Filesystem API is not available nor support to upload folders, and also the input tag seems it's a dead end also in Chrome, and maybe I'll start with the Node.js based implementation ;-)Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-2005895627274847952013-07-22T02:06:00.001+02:002013-07-22T02:06:53.958+02:00One year ago...One year ago I didn't know what <a href="http://www.webrtc.org/" target="_blank">WebRTC</a> was. In fact, if someone would talked to me about a new in-development technology to directly connect web browsers between them and that I would became some months later a international reference doing keynotes and receiving several job offers thanks to it, I would give him a <a href="http://en.wikipedia.org/wiki/Poker_Face_(Lady_Gaga_song)" target="_blank">pokerface</a> :-P<br />
<br />
But just one year ago I had a dream. I dreamed about me asking myself why browsers couldn't be able to transfer files between them in real time and how <a href="http://en.wikipedia.org/wiki/WebSocket" target="_blank">WebSockets</a> could help on this (real time communications between a browser and a server are the main purpose of WebSockets). After this and concluding it was a good idea, I asked myself "how the browsers would meet themselves? They would need an ID"... and at this moment I got something that would be comparable to a revelation or an epiphany: just came to my head an splash of the <a href="http://www.teamviewer.com/" target="_blank">TeamViewer</a> call ID window...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://imagenes.es.sftcdn.net/es/scrn/60000/60958/teamviewer-38.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://imagenes.es.sftcdn.net/es/scrn/60000/60958/teamviewer-38.jpg" /></a></div>
<br />
Just have an ID for each WebSocket connected to the server and use it as an address book! EUREKA!<br />
<br />
After that, I was not able to get back to sleep :-P<br />
<br />
So, I had the sensation of found something great, just great enough that if I got fired from my work (something that in fact it happened just less than a week after) it only would means that it was my destiny and I should as hard as possible to develop it. So, I asked for advice to <a href="http://www.linkedin.com/in/dcabrera" target="_blank">a friend of mine</a> about create something like <a href="http://pastebin.com/" target="_blank">PasteBin</a> but for files (something that recently has developed <a href="http://www.pipe.com/" target="_blank">Pipe</a>). He was not confident about the commercial viability of the project (it would require both ends to be connected at the same time and also there's already a lot of ways to transfer files that doesn't have this requeriment, for instance <a href="https://www.dropbox.com/" target="_blank">DropBox</a>), so I decided to take another way:<br />
<blockquote class="tr_bq">
- Ok, so what if I convert it on a P2P network and register on the <a href="http://www.concursosoftwarelibre.org/1213" target="_blank">Universitary Free Software Championship</a>?<br />- If you do it, you will crush the others and win them by several heads of advantage ;-)</blockquote>
So <a href="http://www.concursosoftwarelibre.org/1213/proyectos/2" target="_blank">I did it</a>... and several months later I <a href="http://www.concursosoftwarelibre.org/1213/premiados-vii-cusl" target="_blank">won it</a> :-)<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://www.concursosoftwarelibre.org/1213/files/images/premiados.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" src="http://www.concursosoftwarelibre.org/1213/files/images/premiados.JPG" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">I'm the one in the middle with the beard and the trophy in the hand :-)</td></tr>
</tbody></table>
To be honest, by that time I was not really sure about how I would do it (I've never been a networks guy) nor if someone had my idea before, so I started to look for some example code to start about. That's the way I ended finding <a href="http://gun.io/blog/dirtyshare-pure-javascript-peer-to-peer-p2p-file-sharing-nodejs-socketio" target="_blank">DirtyShare</a>, a proof-of-concept whoose concept was almost similar to the mine, but that was talking about something a new technology called WebRTC and also about the <a href="http://webp2p.org/" target="_blank">WebP2P</a> maillist. That was interesting, so looking for it, I found that it was really a better approach that the original one using WebSockets, that it was starting to being available... and that the part where I was interested, the <a href="http://es.slideshare.net/zhange1/why-webrtc-datachannel-excites-me" target="_blank">DataChannels</a>, was not ready yet, so that was the reason I developed <a href="https://github.com/ShareIt-project/DataChannel-polyfill" target="_blank">DataChannel-polyfill</a>, people started to take interest on my work and <a href="http://pirannafs.blogspot.com.es/2012/11/the-longest-journey-movie.html" target="_blank">I started to forge myself a name</a> :-D<br />
<br />
So, this has been a really long and intense year for <a href="http://shareit.es/" target="_blank">ShareIt!</a> and for myself, learning a lot and <a href="https://github.com/ShareIt-project" target="_blank">coding a lot</a> and <a href="http://pirannafs.blogspot.com.es/2012/12/better-impossible.html" target="_blank">getting more success that what I would imagine on first place</a> :-) But this doesn't means the end of this journey, since in fact I'm still working on it and I will show ShareIt! the next course as my degree thesis thanks to the collaboration of <a href="http://www.linkedin.com/pub/luis-lopez/1/2b5/182" target="_blank">professor Luis López</a>. That's the way seems that the version 2.0 is not only around the corner but also will be really awesome, with a high focus on portability and modularity, code reliability (<a href="http://webp2p.io/">WebP2P.io</a>, the underlying handshake framework, it's a really nice piece of cake :-D ) and easyling to integrate it on other products, expanding it to new horizonts like using it for P2P audio streaming (yeah! :-D ). Thank you to everybody that has offered to me their support and please don't move from your seats or you would loose the fast moving news that are comming around ;-)Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-38046581575440667082013-05-30T17:46:00.002+02:002013-05-30T17:46:34.862+02:00Achievement unlockedBanned from W3C Restricted Media mail list for being critic with EME & DRM on HTML5. I love to be on the first line of fire... >:-DAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-18961849072854964962013-05-27T02:34:00.000+02:002013-05-27T02:34:25.296+02:00And the winner is...<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Two days late, but my mobile internet got down this weekend.</span><br />
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
Just to say that <a href="http://shareit.es/" target="_blank">ShareIt!</a> has achieved the second position on the general category (first one was for <a href="http://lynckia.com/" style="color: #1155cc;" target="_blank">Lynckia</a>, that was using WebRTC too, by the way) and has won the <b>Most Innovative Project</b> category of the <a href="http://www.concursosoftwarelibre.org/1213/premiados-vii-cusl" target="_blank">VII spanish national Free Software Universitary Championship 2013</a>.</div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
<br /></div>
<div style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">
Yeah!!! :-D</div>
Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-7075981144622075992013-05-06T03:00:00.001+02:002013-05-06T03:00:30.220+02:00Going mobileOne of the reasons why I though it would be cool to develop a P2P application inside the browser was that it could run everywhere there was a browser, without needing to install nor configure anything, just open a web page et voila! It was working. That's one of the reasons why some time ago I started to add some integration and responsive design to allow <a href="http://shareit.es/">ShareIt!</a> to work on mobile phones browsers and limited resources ones, not only natively but also as a "remote control" for a <a href="http://nodejs.org/">Node.js</a>-based client, and it was fairly simple to modify the architecture and split the different components to make it possible, and also based on this architecture ShareIt! core could fully work inside a <a href="http://www.w3.org/TR/workers/#shared-workers-introduction">SharedWorker</a> and being independent from the user interface (unluckily <a href="https://groups.google.com/forum/#!msg/discuss-webrtc/1hnewM6xxf8/7cdwD4LNGK8J">PeerConnections are not able to work inside Workers at this moment</a>, but that's another story...). Problem was, I didn't have a mobile browsers modern enough to test it (also using WebSockets and my DataChannels-polyfill... mobile browser s*cks).<br />
<br />
But now <a href="http://pirannafs.blogspot.com.es/2013/04/yoigo-no-cuida-sus-clientes-verdad.html">I have a Galaxy Note II</a>, and can be able to run Chrome4Android for it :-) Since lately I was able to make ShareIt! work <a href="http://pirannafs.blogspot.com.es/2013/05/not-so-dead.html">using native DataChannels</a>, it was the perfect moment to give the mobile interface a new opportunity, and after some tune-ups on it, now I can say that ShareIt! is the first P2P application that can run on a mobile phone (and not just a proof-of-concept like the bittorrent port running on the Nokia S60 Python port... ;-) ). It need some improvements on usability and functionality (at this moment Chrome4Android doesn't support to share folders), but definitely it's almost as intuitively to use as the desktop version, and open new horizonts about what usages are possible with the <a href="http://www.webrtc.org/">WebRTC</a> technology :-)<br />
<br />
And if you are thinking about it... yes, DataChannels + reliable library are stable enough to be used on production, although is really slow (at least for me). I'm thinking about a solution for this like <a href="https://github.com/piranna/ShareIt/issues/109">reducing packages size</a> and wipe completely the need for reliable comunications, but I didn't take a final decision about this point...Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-19791530435994217142013-05-01T15:02:00.002+02:002013-05-01T15:03:18.075+02:00Not so dead...Remember <a href="http://pirannafs.blogspot.com.es/2013/04/shareit-111-cloverfield.html">my last post</a> where I told would kill <a href="https://github.com/piranna/DataChannel-polyfill">DataChannel-polyfill</a> and work since now on native DataChannels because I got too much behind with them? Well...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-Ea8yqvdj6kY/UYEJa_7vNBI/AAAAAAAAFNQ/huYMRaw8Bmg/s1600/handcomingoutofgrave1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-Ea8yqvdj6kY/UYEJa_7vNBI/AAAAAAAAFNQ/huYMRaw8Bmg/s320/handcomingoutofgrave1.jpg" width="277" /></a></div>
...not so real :-)<br />
<br />
Since the last post I have been thinking almost obsesively with the problem of needing a deprecated browser version just because of using my DataChannel-polyfill using WebSockets, and not working in latest versions with native support for DataChannels (that, by the way, sucks). So taking in account that the DataChannel-polyfill test code works with native ones I conclude that it would be just a problem on ShareIt! side not being fully compliant, so I went straight to it, removed all references to my polyfill and started again over with the handshake and PeerConnections layer from scratch, fixing one bug at a time.<br />
<br />
And finally, after just some hours of work (instead of several days as I thought), it worked :-)<br />
<br />
I must to admit that it's not the best implementation ever (I still ask my self why the h*ll is required to exchange some 'candidate' messages between the peers) and also it only support to transfer files and data up to 1Kb until they implement native reliable support (or I use <a href="https://github.com/michellebu/reliable">reliable</a> library, whatever comes first... :-) ), but the fact is that this almost mystical sensation after seen this thing working and with so few work (just some little tune-ups on the code thanks to the fact I develop DataChannel-polyfill trying to mimic the original specification API) it's really awesome :-D<br />
<br />
So, not only I have experimental <b><a href="https://github.com/piranna/ShareIt/tree/Chromium_v28">native DataChannels support on ShareIt!</a></b> (F*ck yeah!!!!! :-D) but also being so little the diferences I've decided not only don't kill DataChannel-polyfill, but also try to improve it now that I know how native DataChannels work (and being so easy to use :-) ) and think about how to make a backward compatible API so older browsers could talk with newer ones :-)<br />
<br />
But don't get me wrong little friends, the most important part of this post, if it was not clearly noticed yet, is the fact that <b>now we don't need servers at all, being fully decentralized and serverless</b> :-D Combine this with the <a href="http://librelist.com/browser//webp2p/2012/11/6/greetings-and-introductions/#b6923017416ce915c03786222adbdb1d">Holy Grail of Internet</a> that almost can bring us the HandshakeManager and the handshake servers, and wonder what an awesome future is waiting us... :-DAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-47800513129271030172013-04-28T22:58:00.001+02:002013-04-28T23:00:44.944+02:00ShareIt! 1.1.1: CloverfieldDuring the last weeks I was not able to publish too much here, specially because I'll start my exams the next week. But, since I got to be able to publish ShareIt! as my practice for my Networks-II class, I've been able to dedicate some time to it (maybe too much compared with the other asignatures... :-/ ) and develop some improvements directed by my tearcher <a href="http://www.ladyr.es/index.php?id=65">Luis López</a>, just in time not only for the lecture of the practice (tomorrow Monday on the morning :-P ) but also for the <a href="http://www.concursosoftwarelibre.org/1213/">final phase of the championship</a>, so here I'm showing to you the third public release of ShareIt! 1.1.1 "Cloverfield" (and no, although is the third release, the version is not written in <a href="http://en.wikipedia.org/wiki/Unary_numeral_system">unary</a> ;-P)<br />
<br />
It would be a fairly minor release because it only have <a href="https://github.com/piranna/ShareIt/issues?milestone=6&state=closed">two issues</a>, but the fact is that it required some work on <a href="https://github.com/piranna/ShareIt/issues/79">another</a> <a href="https://github.com/piranna/ShareIt/issues/10">ones</a> and has added some great features and improvements on the architecture:<br />
<br />
<b>Manage duplicates:</b> one of the problems that had ShareIt! previously is that since it was using the files hashes as unique identifiers of the files, if one of them was included twice only one of the copies whas showed (and served) also if it has different names. The solution was to identify them independently so both entries would coexist, and the ideal solution was to use the file's path. But what happens with the hashes? How I would be able to look for them if I'm not using them anymore as keys? I have been been putting off this thing a lot of time up to the point I didn't remember why I didn't do it before... and when I remembered it, I desired to forget it again.<br />
<br />
<b>IndexedDB:</b> the reason why I have been been putting off so much the management of duplicates is because the optimal solution was to use IndexedDB's indexes, in fact a keyPath (multiple fields) for the primary key, and a non-unique index for the hashes (so they would be duplicated). What's the problem? <a href="https://code.google.com/p/chromium/issues/detail?id=108012">Chrome hasn't still fixed the support of Blob and File objects inside IndexedDB</a> (after almost one year and a half...), so I was alone using my polyfill. Two options: accept it, and told the reason to my teacher, or get mad myself, go for it and implement index support on my polyfill. At the worst, I would reuse later on my upcoming implementation of IndexedDB for <a href="http://nodejs.org/">Node.js</a> for the headless version of ShareIt!... So I went directly for it, and after 8 hours listening to Daft Punk and the discography of Ke$ha and Demi Lovato (no comments), I got support for indexes on my own (in-browser, memory-only) <a href="https://github.com/piranna/ShareIt/blob/master/js/shareit-core/polyfills/IndexedDB-javascript.js">pure Javascript IndexedDB implementation</a>. #feelingLikeABoss... B-)<br />
<br />
<b>Sharedpoints:</b> after that achievement another interesting point would have been detecting when a file has been added to a sharedpoint so it could be shared automatically without adding it by hand. Until this moment it was only able to detect when a file was deleted so it would be removed since I was using an input tag and its FileList object, that's mainly a photograph of the files that where available when the user selected it (although you can detect when it has beem removed checking an error when accessing to a file), and also it was done in a not maintable way, being all the management of the sharedpoints inside the hasher. Taking that in account, I decided to develop a new sharedpoint using <a href="https://developer.mozilla.org/en-US/docs/DOM/File_API/File_System_API/DirectoryEntry">DirectoryEntry</a> from scratch, so I could be able to take in account the diferences and make it more portable. Now is fairly easier to add new types of sharedpoints like the ones I have been thinking about for Dropbox and Mega, and also I have been thinking about consider that internally the other peers would work as sharedpoints so I could simplify the way to access to them. Problem is, that I didn't notice until I finished it that <a href="https://code.google.com/p/chromium/issues/detail?id=138987">Chrome has another bug not populating entries on the input tag</a> and also I didn't be able to make <a href="http://updates.html5rocks.com/2012/07/Drag-and-drop-a-folder-onto-Chrome-now-available">drag&drop</a> to work (this probably my fault...) so I've let this to be finished later.<br />
<br />
And lastly by not least, the biggest feature added to this release and the one that made me think about tagging it as a mayor one, is the fact that <b>now we have searches!!! </b>:-D It's very primigenic and required some hacks (the fileslist is being shared between the peers after connection, having all of them the info of what are sharing others), but thanks to <a href="http://lunrjs.com/">Lun-r.js</a> now we can search by keywords, giving us a list of the files and hashes that correspond the them ready to be downloaded. It need some improvement in the future (like for example sending request to the others) but definitely it works :-)<br />
<br />
But the reason why I didn't released it as a mayor release besides the fact that it has few (but important!!!) improvements, is that it will be the last of the 1.x series. This week I've discovered that ShareIt! doesn't work on Chrome browsers equal or newer than the current stable v26 because some API changes (the ones that <a href="http://pirannafs.blogspot.com.es/2013/04/shareit-11-braveheart.html">almost crash</a> the 1.1 release some weeks ago), so being only able to work on a legacy browser (Chrome v25) with my <a href="https://github.com/piranna/DataChannel-polyfill">DataChannel-polyfill</a> and without time in the next weeks to fix it because of the exams, I've decided to go directly to the 2.0 version after that and start using native DataChannels (I hope that by then <a href="https://code.google.com/p/webrtc/issues/detail?id=1430">reliable support</a> will be implemented...), try to remove all the polyfills and develop all the backward incompatible features of the new protocol, like multiple and independent channels per PeerConnection on WebP2P or change the protocol to be RPC-based to increase reliability.<br />
<br />
Good luck DataChannel-polyfill, <a href="http://en.wikipedia.org/wiki/So_Long,_and_Thanks_for_All_the_Fish">and thank for the fish</a>! :-DAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-3034639231268902372013-04-16T12:42:00.001+02:002013-04-16T12:42:23.650+02:00WebP2P.ioI know that at this moment the <a href="https://github.com/piranna/ShareIt/tree/master/js/webp2p">WebP2P library</a> is very tied to <a href="http://shareit.es/">ShareIt!</a>, specially because the <a href="http://www.concursosoftwarelibre.org/1213">universitary championship</a> requires to have only one repository, but since I'll split it in the near future and in prevention of stealing it, I've decided to bought the (rather expensive...) domain <a href="http://webp2p.io/">WebP2P.io</a> to host there the library project, focused in allow a server-less and distributed signaling channel for <a href="http://www.webrtc.org/">WebRTC</a> applications. At this moment it only host a default webpage, but in the next weeks after I split the code I'll fill it with more info :-)Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-16647165674968366822013-04-15T12:46:00.001+02:002013-04-15T12:46:06.301+02:00Yoigo no cuida sus clientes, verdad verdaderaHoy voy a dejar de hablar de ShareIt! para hacer una queja publica, de ahi que la entrada sea en español.<br />
<br />
Recientemente he tenido problemas con mi telefono movil, los cuales el operador <a href="http://www.yoigo.com/">Yoigo</a> (con el que tengo contratada la linea) no ha querido hacerse responsable de ellos sino que encima me han tratado con prepotencia y desden y se han estado pasando responsabilidades unos a otros, motivo por el cual estoy muy seriamente decidido a cambiar de compañia (a no ser que ahora se me presenten con que me regalan un movil nuevo, lo cual haria pensarmelo segun cual sea el modelo...). Despues de un mes peleandome con ellos al final les <a href="https://twitter.com/el_piranna/status/322452484679417856">critico en Twitter</a>, momento en el que entran a razones y me piden que les envie un email contandoles mi problema. Pues bien, este es el email que les he mandado (cuidado, es largo):<br />
<br />
<blockquote class="tr_bq">
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Buenas tardes, tal y como os comente por Twitter, aqui muestro las</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">razones que me han llevado en menos de un mes de querer renovar mi</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">telefono movil con Yoigo e incluso recomendar Yoigo a mis conocidos</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">(especialmente porque es la unica compañia de las grandes con la que</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">no siento que me estafan con las tarifas), a estar decidido a cambiar</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">de compañia de forma inmediata.</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Actualmente, poseo un telefono movil Samsung Galaxy SCL que me</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">ofrecisteis de regalo hace algo menos de año y medio como contraoferta</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">cuando intente cambiarme de compañia al terminar mi periodo de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">permanencia. El motivo por aquel entonces fue que mi telefono habia</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">sido robado meses antes y desde atencion al cliente se desentendieron</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">del problema incluso despues de haber puesto una denuncia, por lo que</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">despues de varios meses pagando por un terminal y una conexion a</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">internet de los que no disfrutaba y tener que usar un movil antiguo</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">que tenia perdido por casa, decidi cambiarme para obtener un nuevo</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">terminal puesto que el internet en el movil se me habia hecho algo</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">imprescindible. Sin embargo, como contraoferta me ofrecisteis el</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">telefono antes citado totalmente gratis, y viendo que era un buen</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">detalle decidi continuar con vosotros.</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Volvamos al presente. Dicho terminal empezo a darme problema de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">bateria hara medio año, llegando dificilmente al final del dia. Es</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">normal, las baterias se ceban.. pero desde navidades ya empezo a darme</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">problemas mas serios: la interfaz se notaba pesada e incluso saltaba</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">el salvapantallas sin llegar a reaccionar, se sobrecalentaba en exceso</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">hasta el punto de no poder sugetarlo con la mano, se reiniciaba solo e</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">incluso a veces despues de tenerlo recien cargado, lo guardaba en el</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">bolsillo y al cabo de una hora notaba que me quemaba la pierna y la</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">bateria estaba completamente agotada. Sin embargo, aunque ya la</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">bateria me duraba unas 6 horas, desde semana santa la duracion ha</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">caido en picado hasta apenas 4 horas, ademas de que el terminal empezo</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">a hacer cosas raras como cortar llamadas (no me duran mas de dos o</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">tres minutos), pasar de estar con 4 rayas y 3G activado a un segundo</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">despues decir que no hay cobertura y un instante despues volver a</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">conectarse mediante roaming, bloquearse por completo teniendo que</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">sacar la bateria para reiniciarlo, apagarse y decir que la bateria</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">esta agotada pero despues indicar al recargar que esta por encima de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">la mitad...</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Debido a todo esto, empece a mirar terminales de Renuevo. Faltaban</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">menos de dos meses para el fin de la permanencia y estaba muy contento</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">con vosotros, asi que decidi continuar con vosotros. Mirando los</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">terminales que teniais disponibles vi que me ofreciais el Galaxy Note</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">II por 15€ al mes durante 24 meses, y puesto que no tengo tablet y me</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">vendria bien para estudiar los apuntes de la universidad, decidi ir a</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">por el.</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Primer problema: mi telefono estropeado sigue en permanencia, y aunque</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">estuviera convencido de desear continuar con vosotros y ademas con una</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">permanencia de dos años y pagando un telefono movil caro, me indicais</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">que tengo que pagar la penalizacion de la permanencia del telefono</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">antiguo. ¡Pero si esta estropeado y no funciona, y ademas voy a seguir</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">con vosotros y no me voy a ir a la competencia! Idealmente al estar</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">permanencia y garantia lo suyo seria que se me ofreciera otro terminal</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">totalmente gratis en su lugar. Pues nada, que la unica solucion es o</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">pagar la penalizacion, o aguantar estos dos meses... Visto lo cual,</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">creo que lo mejor es intentar arreglarlo ya que no tengo ningun otro</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">terminal y ademas necesito estar conectado 24 horas por el trabajo y</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">las clases.</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Segundo problema: en la tienda se me indica que la reparacion tardaria</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">25 dias, durante los cuales no podria disponer de mi telefono ni de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">ningun otro ya que no tienen telefono de sustitucion disponible (¿no</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">pueden abrir una caja de los que tienen en la trastienda y dejarmelo?</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Ademas, les serviria de demostracion y prueba de los nuevos terminales</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">y la gente podria convencerse de usarlos...), aparte de que me</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">dejarian uno antiguo que solo sirve para llamar con lo que estaria</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">pagando por un internet que no solo uso sino que necesito por trabajo.</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Al no ser esta una solucion viable, decido llevarlo directamente al</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">servicio tecnico de Samsung, que no solo esta cerca de mi casa, sino</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">que ademas tardan solo una semana en lugar de los 25 dias que tardaria</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">dejandolo en tienda.</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Tercer problema: el telefono lo recibi directamente por mensajero, sin</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">tener ningun documento que certifique que soy su propietario. Decido</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">acercarme a la tienda solicitando una copia de la factura la cual me</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">deniegan y me entregan un "Certificado de Activacion de IMEI"</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">indicandome que con eso puedo ir al servicio tecnico sin problemas. Es</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">lo que hago... y alli me indican que "ese papel no vale nada, no es</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">mas que una plantilla que rellenan con el Word en la tienda y le ponen</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">un sello, necesitan una factura aunque sea de cero euros al ser un</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">regalo o un albaran de entrega", y tambien que estan hartos y cansados</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">de tener que explicarles a los clientes de Yoigo siempre la misma</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">historia, dejando a los clientes insatisfechos por un problema que no</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">es suyo sino de Yoigo. Por otra parte, en el servicio tecnico me</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">indican cual es el problema y que la unica solucion es sustituirlo por</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">un terminal nuevo especialmente estando en garantia, ya que es un</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">fallo de diseño de fabrica de este modelo en concreto (la CPU y el</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">chip de memoria se calientan en exceso y se producen los fallos que he</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">indicado antes).</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Cuarto problema: ante esta situacion, vuelvo a la tienda solicitando</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">una copia de la factura tal y como me indicaron en el servicio</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">tecnico, diciendome igualmente que son tonterias suyas y que deberian</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">aceptarme el certificado (la misma historia que el servicio tecnico</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">oficial de Samsung, pero cambiando los roles). Al ser incapaz de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">ofrecerme una factura puesto que el terminal no fue vendido en tienda</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">sino por "internet" (realmente fue una contraoferta por telefono,</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">aunque supongo que se referiria a que internamente los procedimientos</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">serian los mismos en ambos casos...) que llamara a Atencion al Cliente</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">en la central (telefono 622). Una vez ahi, me confirman la situacion y</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">proceden a enviarme la factura, indicandoseme que la recibiria durante</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">la semana pasada. Al no tener noticias de vosotros decido volver a</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">llamar y me notificais que eso es totalmente imposible, puesto que</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">hace meses que no enviais facturas, que no teneis medios materiales</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">para hacerlo posible y que la chica que me atendio se debio confundir,</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">que si quiero una factura la solicite en tienda, aparte de decirme la</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">encargada de seccion que "tuviera cuidado" porque no sabia si al</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">utilizar un servicio tecnico distinto al de Yoigo lo cubriria la</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">garantia (¡pero si lo iba a llevar al servicio tecnico oficial!)</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">notandose en su tono de voz como una amenaza.</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Quinto problema: otra vez en la tienda me cuentan la misma historia de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">solicitarla a la central, momento en el que llamo directamente desde</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">la tienda para que se pongan de acuerdo y al final todo se aclara</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">resultando que no se dan facturas de ningun tipo, lo cual despues de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">consultarlo en Consumo me notifican que es algo ilegal y que Yoigo</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">esta obligada a otorgarme una factura y permitirme llevar el terminal</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">directamente al servicio tecnico oficial si asi lo deseo. Sin embargo</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">tambien me notifica que el proceso tardara unos tres meses y lo mejor</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">que puedo hacer por el momento es aceptar el servicio tecnico de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Yoigo, el cual me dejara sin telefono durante casi un mes.</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Sexto problema: visto lo cual, acepto mi derrota y ante la vision de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">estar sin terminal decido pagar la penalizacion de la permanencia de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">mi movil estropeado y solicitar el Galaxy Note II que queria... solo</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">para encontrarme que mi oferta especial ha desaparecido y que ahora el</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">terminal cuesta 20€ al mes, un 33% mas que antes, haciendo que tenga</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">un precio comparable a comprarlo libre y perdiendo la oferta de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">cualquier interes. Quizas se pueda argumentar que sea por haber bajado</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">mi consumo ultimamente (lo cual me pareceria algo realmente rastrero),</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">pero lo cierto es que el hecho de "dosificar mis llamadas" ultimamente</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">es por el hecho de que no me duran mas de dos o tres minutos antes de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">cortarse y apagarse el movil, motivo por el que solo hago las</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">imprescindibles. Asi pues, el ultimo punto que despues de toda esta</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">historia todavia me hacia plantearme el seguir con vosotros habia</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">desaparecido, asi que a partir de ahora ya no habia nada mas que me</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">mantuviera unico a Yoigo.</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Asi que esta es mi situacion: un servicio de atencion al cliente que</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">me ningunea e ignora mi interes en querer seguir siendo cliente</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">vuestro, un servicio tecnico lento y deplorable que me da mas</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">problemas que soluciones, falta de coordinacion entre los distintos</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">miembros de la empresa "pasandose la pelota" unos a otros y delegando</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">responsabilidades en los demas y viendo recientemente que las "ofertas</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">exclusivas" no son tan exclusivas y que hay otras compañias ofreciendo</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">tarifas similares sin requerirme mantener permanencias de ningun tipo,</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">he tomado la decision de que cuando termine mi permanencia dentro de</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">poco mas de un mes (justo el tiempo que estara mi terminal en el</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">servicio tecnico) solicitare la liberacion de mi terminal y la</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">portabilidad a otra compañia mientras espero a que la reclamacion en</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">consumo me otorgue la factura para poder reparar y actualizar mi</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">terminal en los restantes 6 meses de garantia que me ofrece el</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">fabricante.</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Sin otro particular y esperando su respuesta con sus impresiones al</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">respecto de mi sucesion de problemas con su compañia, se despide Jesús</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Leganés Combarro.</span></blockquote>
A lo cual, solo se han dignado a responderme con un escueto, insulso y autogenerado mensaje:
<br />
<blockquote class="tr_bq">
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Buenos días,</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Por favor, facilítanos tus datos (nombre, apellidos, DNI y número de línea) para pasar tu correo al departamento correspondiente.</span><br />
<br style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;" />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Gracias,</span><br />
<span style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;">Un saludo.</span></blockquote>
En resumen, que siguen pasandose la pelota unos a otros, y ahora mi movil esta totalmente muerto durandole la bateria menos de 10 minutos desde esta mañana y estoy pagando por un linea y un servicio que no estoy recibiendo a pesar de estar el movil en permanencia y en garantia.<br />
<br />
Definitivamente, Yoigo no cuida a sus clientes, verdad verdadera. Oh <a href="http://www.amena.com/tarifas/internet-sms-precioporminuto.html">Amena</a>, mon amour...Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-66926548617013148172013-04-08T02:29:00.002+02:002013-04-08T02:29:17.504+02:00ShareIt! 1.1: BraveheartToday is an epic day for <a href="http://shareit.es/">ShareIt!</a>. Lately I have been able to use the project for my networks class, and this "extra time" about working on in during my study time and also with the guidance of my teacher have lead me to make some great improvements on it, and now I'm proud to show you <a href="https://github.com/piranna/ShareIt">ShareIt! 1.1: Braveheart</a>.<br />
<br />
This new release not only has a lot of bugfixes, but also has a really better code structure that would allow to be easier to accept external collaborations and start adapting it to became a general purpose P2P framework, but also some great improvements on security, being the most important one the fact that now it uses by default <a href="http://pirannafs.blogspot.com.es/2013/04/shareit-working-on-anonimous-xmpp-at.html">anonimous XMPP servers</a> to manage handshakes while being still compatible with the old system using <a href="http://www.pubnub.com/">PubNub</a>, connect automatically to other peers on load to start creating a network mesh and speed up the connections, and not only that, now it's integrated a mobile version of the application, so if you access from your mobile phone or tablet you will be able also to use it and transfer files wherever you are. Also, all this things are ready not only for my tearcher's revision that I have in some hours that also for the keynote I'll have this afternoon at <a href="http://www.joinbiz10.com/">#JoinBiz10</a> :-D<br />
<br />
So here you are, happy testing and don't forget that the <a href="https://github.com/piranna/ShareIt/issues">user feedback, issues and pull requests</a> are always welcome... :-DAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-71544892613945229562013-04-06T03:30:00.001+02:002013-04-06T03:30:06.889+02:00ShareIt! working on anonimous XMPP (at last!!! :-D )It was fairly more difficult to achieve that what I though at a first, but finally now it has been possible: ShareIt! is using an anonimous <a href="http://en.wikipedia.org/wiki/XMPP">XMPP</a> server to do the initial handshake instead of <a href="http://www.pubnub.com/">PubNub</a>, so now it's not using a centralized server (it keeps the DataChannel-polyfill backend, but it's a matter of some more weeks until native support gets more stabilized) and it's using a distributed, federated network. I needed to change several things on the protocol and the implementation so now the inter-peers routing doesn't work, but I hope to fix it easily after changing WebP2P to be able to use several DataChannels at a time. This is really a HUGE step on the project viability, by the way, and just in time for the next milestone... :-DAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-90737205720839412302013-04-04T22:27:00.002+02:002013-04-04T22:27:48.767+02:00ShareIt! on #JoinBiz10 I have been selected to do the next monday a keynote (really, a 'lighting talk') on the <a href="http://www.joinbiz10.com/?event=joinbiz10-april8">#JoinBiz10</a>, an entrepreneurship event where interesting IT projects can meet managers and MBAs and viceversa. Leets see if I can get some patrocinators for ShareIt!... :-D<br />
<br />
And in other news, my networks teacher has accepted to use ShareIt! as final practice and has give me some guidance, and also I have just got to use <a href="http://en.wikipedia.org/wiki/XMPP">XMPP</a> instead of <a href="http://www.pubnub.com/">PubNub</a> as handshake server. Please don't change the dial... :-PAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-55187431674333731012013-03-25T09:37:00.000+01:002013-03-25T09:37:40.343+01:00P2P networks everywhereA lot of people has said already that WebRTC and Peer-2-Peer comunications in the browser would be the next Internet revolution ("Internet 3.0", they call it), but I wouldn't suspect that this would start so soon: the next 7th April will be released <a href="http://peerkit.com/">PeerKit</a>, the first WebRTC P2P enabled application (besides my P2P filesharing application :-P ), this case oriented as a distributed, zero cost <a href="http://en.wikipedia.org/wiki/Content_delivery_network">Content Delivery Network</a>. I don't know how effective or speed it would be (search a peer with the data, delegate the request...) and there's the problem of using the client connections to distribute the content (and with mobile phones connections this would be a serious problem), but don't doubt that if it works the server costs will drop abruptly world-wide... :-DAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-44620876013897072322013-03-21T23:54:00.001+01:002013-03-21T23:54:20.398+01:00Slipping in the snowballAs you would know, I conceived originally ShareIt! as a real-time files-oriented PasteBin-like service using a WebSockets-based relay server (creating buzzwords the wild way :-P ). This was previously to known about WebRTC and DataChannels, that demostrated to be a way better aproach.<br />
<br />
Obviously I wasn't the only want that saw this, and lately they are appearing a lot of other projects with a similar focus, like <a href="http://peerjs.com/">PeerJS</a>, <a href="https://github.com/Peer5/ShareFest">ShareFest</a> (that recently <a href="http://peer5.com/sharefest-me-lifes-too-short-to-wait-for-your-files-to-upload-to-a-server">got alpha status</a> - congratulations! :-) ), <a href="http://openpeer.org/">OpenPeer</a> or <a href="http://dropandload.com/">Drop&Load</a>, and other related ones like <a href="https://github.com/Miserlou/DirtyShare">DirtyShare</a>, <a href="http://www.ugot.com/">QuickShare</a> or <a href="http://whatareyoudownloading.com/">WhatAreYouDownloading</a>. You could think about this that's a problem (too much related projects developed indepently and with their own incompatible protocols), and more taking in account that the WebRTC doesn't stop to being modified. What a mess! How something productive can be achieved with this perspective?<br />
<br />
Obviously I wasn't the only want that saw this ;-) and that's the reason why in the latest weeks <a href="https://github.com/peers/peerjs/issues/7">have been discussed</a> to create a common P2P protocol that could make all this implementations compatible... and seems will be heavily influenced by ShareIt! 2.0 and WebP2P ideas :-D They agree on the point of split the handshake and the connection framework from the application specific protocols, so it could be easier to integrate with current protocols like <a href="http://pirannafs.blogspot.com.es/2013/01/when-shareit-met-gnutella.html">Gnutella</a>, and also it could be able to improve stability and versalite on the handshake servers (everybody is using custom ones, while it seems I'm just the only one that want to use generic third party channels... :-P).<br />
<br />
Unluckily, I'm really busy lately with the classes up to the point I don't have time also for my work (I'll try to get up to date this spring week), so I believe I will not be able to do almost any progress on ShareIt! source code until summer, just reading others work on email. The good part is, by summer usable native DataChannels should be a reality... :-DAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-81983722108805107942013-03-04T23:03:00.002+01:002013-03-04T23:03:57.664+01:00T3chFest KeynoteFinally, after two weeks while they were editing it, I've just received the video of the <a href="http://techfest.uc3m.es/">T3chFest</a> presentation :-D<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/3i3mOSeULHM" width="560"></iframe>
<br />
As you can see, the keynote was really well, without failures and a lot of question at the end (in fact I was almost the only one that got questions :-P ) although the limited time :-D Unluckily, I only got a third position. The reason? "It's not enought commercial, but you should think about develop it as a research project".<br />
<br />
Taking in account that I was hearthly confident that I would get to start a company from ShareIt! and how is the situation of research on Spain, at a first point I toke the comment really bad, but on a second chance I though, isn't this was I always wanted? :-) To be honest, I've always wanted to work on R&D on my own projects, only that I need to pay the bills. That's the reason why I think that finally I'll do my career thesis with ShareIt! and work on it as an research project after that on my spare time (although it would be better to find a filantropist that believe in it! :-P ). In the last days I have been thinking about some interesting concepts for the next version of ShareIt! and WebP2P becoming them in a more general and ambitious project, and they'll need some attention and love to became true... :-)Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com2tag:blogger.com,1999:blog-6741383955809102317.post-36604447538299671722013-02-23T12:35:00.002+01:002013-02-23T12:35:32.687+01:00if you can not beat them, get yourself a window and jumpsDuring the last six months I have been waiting for just-this-week. Why? Easy: last wednesday was the expiration day of the best domain for the project: <i>share.it</i>. The fact is that it was abandoned (although being a good one...) so I waited for it, but at the last moment it was renewed for one more year without any reason, and in fact currently is empty and also without a parking page. I tried to contact with it's current propietary without success, so the best option was to forget about it.<br />
<br />
...until yesterday. I was reading the newspaper during the lunch time when I saw a full page ad from a new domain provider offering <i>.es</i> domains for 5€, and then got an idea: I checked out for <i>share.it</i>, <i>shareit.com</i>, <i>shareit.net</i>... without success, but NOT for shareit.es!!! So I quickly runned to the free-access room just to find that for inaugural promotion, the domains will be for a week at just 1€... and that the <i>.es</i> was free :-)<br />
<br />
So here we are, I'm proud to show you the new ShareIt! home page, <a href="http://shareit.es/">ShareIt.es</a>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-iF9c1qbWwb8/USioI6QFhHI/AAAAAAAAE3A/T8o93ILdl5s/s1600/Captura+de+pantalla+de+2013-02-23+12:29:04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="344" src="http://3.bp.blogspot.com/-iF9c1qbWwb8/USioI6QFhHI/AAAAAAAAE3A/T8o93ILdl5s/s640/Captura+de+pantalla+de+2013-02-23+12:29:04.png" width="640" /></a></div>
<br />
It needs some clean-up and to fill it a little, but it a good start :-)<br />
<br />
Also, if someone can reach me the infamous <i>.it</i> domain, I will thank him indefinitelly :-PAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-34766119206509523842013-02-11T23:02:00.000+01:002013-02-11T23:02:07.913+01:00Admiration<br />
With <a href="http://empleo.barrapunto.com/comments.pl?sid=89508&cid=1330988">comments like this</a>...<br />
<blockquote class="tr_bq">
<br />
I have not the pleasure of meeting this guy personally, but I know his work and I can tell you that is available to very few. And when you consider their age and other circumstances, we can say that is one of a kind.<br />
So what can I say. He is good and he knows it, his work is there and anyone who knows what this is all he knows. A wretched HR dauber come to waste your time and make stupid questions, I see it a lack of respect. The problem is from the HR department who have failed to assess their profile before interview. Does negotiate their contracts a top player like a regional division one? That's it.<br />
And finally, I think you confuse arrogance with pride. If usually we would had a little bit of pride in this sector, sure we all would go much better.<br />
</blockquote>
<br />
...you, dear stranger, made me smile :-)<br />
<br />
Ok, the Slashdot effect thanks to this publicity was not bad, too... :-PAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-64172246362154415132013-02-10T16:32:00.000+01:002013-02-10T16:32:08.539+01:00Technical issuesTrying to add support for native DataChannels on Chromium v26 I have had some problems in the last days and ShareIt! was not working correctly, so after going back and fixing it I decided to do a Draconian decission: no more references to external libraries, and use instead a local copy. I know this would break one of the points of the Universitary Free Software Championship (re-use existent code), but the fact is that the external libs are all in an unique place (the /lib folder) so it can be easily upgraded, and also this has several advantages, like being sure to have a working version all the time since it's being used an expecific version of the libraries, being easier to deploy on any other place, and since all the code is auto-contained now I don't require to add some special permissions on the FirefoxOS manifest file, so users don't need to worry about them. This also has lead me to isolate the usage of the EventTarget.js library only to WebP2P, so now the UI uses exclusively jQuery events, making it more straigforward to develop and to use less memory usage. Now it only keeps to finish a script I'm working on to update all the external libraries at a time, so the fact of being the libraries inside the source code tree or as external libs would be indiferent.Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-32854748220052343292013-02-09T18:09:00.000+01:002013-02-09T18:09:07.967+01:00Finalist on T3chFest!With a punctuation of 19.2 over 20 and currently in the second position on the classification (the first one is for an <a href="http://blog.unnu.es/2011/11/que-es-unnu-cuando-podre-utilizarlo/">universitary social network</a>, that being the truth, I would love to see it being used as my university virtual campus... :-D ), <a href="http://techfest.uc3m.es/?event=presentacion-de-proyectos">I've been finalist on the T3chFest</a> and the next friday I will present ShareIt! in front of a crowd of 70 persons and also compete for the final points for the first position :-D It will be recorded and also streamed, so I will upload the video when I get it :-)<br />
<br />
A little bit more work, and the next step the final of the national <a href="http://www.concursosoftwarelibre.org/1213/">Universitary Free Software Championship</a>! :-DAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-91850227791348472032013-01-28T21:30:00.001+01:002013-01-28T21:30:55.312+01:00When ShareIt! met Gnutella...On the <a href="http://pirannafs.blogspot.com.es/2013/01/unexpected-consequences.html">recent post on HackerNews</a> has appeared <a href="http://news.ycombinator.com/item?id=5129415">a curious comment</a>:<br />
<blockquote class="tr_bq">
<span style="background-color: #f6f6ef; font-family: Verdana; font-size: 12px;">Hmm, it sounds like you're reimplementing Gnutella for the browser, which is not necessarily a bad thing!</span></blockquote>
I've never been a P2P guy since I was connecting to Internet using neigtbours wifi (and it was already dificult to do just plain e-mail and web surfing...), so the other times I read about how the diferent P2P protocols worked I only got the more superficial idea. That's the reason why this comment got my interest and take a look on <a href="http://en.wikipedia.org/wiki/Gnutella">wikipedia</a>.<br />
<br />
But this time it was diferent: I'm developing my own P2P protocol, so now I know what all that words means, and maybe just a trick of my unsconscious or maybe just serendipity, but I got a good surprise... both protocols and priorities ARE ALMOST THE SAME!!!! :-D This have two direct implications:<br />
<br />
<ol>
<li>ShareIt! and the WebP2P protocol are not a total innovation "of my own", so this would be a little bit annoying (the "not invented here" complex... hey, what's the matter? I was raised using Macintosh... :-P )</li>
<li>on the other hand, having both projects the same concepts in mind I could learn from their errors, and also adapting the protocol to use theirs and creating proxies in the same way of the <a href="http://tools.ietf.org/html/draft-ietf-sipcore-sip-websocket-06">SIP-over-WebSockets</a> ones, I would be able to access to the currently in active most used P2P network in the world by free :-D</li>
</ol>
<div>
I don't know, but by the moment, I'll try to send an email to the Gnutella guys to see what's happens... :-P</div>
Anonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0tag:blogger.com,1999:blog-6741383955809102317.post-36177281949910189442013-01-26T22:09:00.002+01:002013-01-26T22:14:18.880+01:00Unexpected consequencesYesterday I published about <a href="http://pirannafs.blogspot.com.es/2013/01/the-cake-is-not-lie.html">WhatAreYouDownloading</a>, isn't it? Ok: this morning his author ShirsenduK has finally <a href="http://whatareyoudownloading.com/">uploaded his project to internet</a>, but also it put a post on HackerNews about it. I can only say one thing:<br />
<br />
<span style="font-size: x-large;"><a href="http://news.ycombinator.com/item?id=5119876">What a madness!!!</a> :-P</span><br />
<br />
The fact is that in just some hours that's got crazy and people it's totally enthusiasmated about my project and they are forking, publishing and starring it on GitHub like there's no tomorrow!!! And the same it's happening with <a href="https://github.com/ShirsenduK/WhatAreYouDownloading">WhatAreYouDownloading</a>. In fact, in just 8 hours I've got a 50% more stargazers than in the previous 6 months. Pfeu! :-P However, the most annoying thing I found reading the HackerNews comments (appart from some interesting links about networks and P2P security) was:<br />
<br />
<span style="font-size: large;"><a href="http://hcliff.github.com/ampere/">An in-browser BitTorrent client using my technology?!?!</a> O_o</span><br />
<br />
I don't know if I should get happy about building it, or get angry because nobody told me it... :-P<br />
<br />
Also, one unexpected side effect of so much forks is that I didn't knew that they are done also with their branchs, so the production branch is also being copied... and automatically published by GitHub :-D This has lead me to the decision that it's the best for the project to split WebP2P on an independent project and improve the documentation to make sure that all this forks follow a common standard and can keep living, whatever finally happens with the championship regarding to the source code repositories.<br />
<br />
Finally, the revolution it's starting, and I have first row tickets and a pop-corn bucket to see it... :-DAnonymoushttp://www.blogger.com/profile/08179680964017621349noreply@blogger.com0