who needs social life when you have broadband?

Inventas vitam iuvat excoluisse per artes / Let us improve life through science and art.

Archive for the 'Distributed Systems' Category

JGroups-ME update

Today I’ve finished migrating JGroups-ME to version 2.4.1sp4 of JGroups. I’ve also finished porting the GossipRouter (created a MobileGossipRouter midlet that initializes it) and now we have a 100% mobile group communication toolkit which allows the creation of group communication systems for mobile computing!

Next step is to implement Bluetooth support (I’ll do this just after I finish writing my paper about JGroups-ME) and submit my version to the JGroups project so they can take a look and (maybe) commit to the official JGroups-ME version.

more on this subject soon. please stay tunned ;P

No comments

distributed rainbow tables project

Hello! It has been a long time without blogging anything new here so this is a quick update on what’s going on.

- We are planning a revolutionary distributed rainbow table generator. I know there are a few projects regarding this but none will be like ours (I still cannot provide much more info about how we are going to do this but it’s gonna rock. Trust me hehe). It’s going to be coded in Java because I plan to use it at college…. sorry python fans. BTW: We are still looking for a nice name for this project so if you have any suggestions, feel free to submit :-)

- My analytics account has been upgraded to the new beta. It became pretty cool to watch the statistics now and it looks much nicer (although it has small css errors in firefox2 and linux).
- Please guys, don’t change Joomla’s license! What happened to the “because open source matters”? It looks like it doesn’t matter that much anymore :(

Cheers for all Gremio supporters!

3 comments

dear diary (1)

This is a quick update. I just would like to make sure everyone is fallowing the discussions over the Joomla! Forums, especially this one regarding non-GPL extensions and Joomla!. There are some interesting points of view and most of the posts are very polite, so it tends to be a really good thread to fallow.

Another thing: Me and Christian were chatting earlier and we decided to create some funny things using DistrIT. I cannot provide much information about it right now but stay tunned and you’ll see.

Ok. that’s all folks. Gotta study for my test later today.

bye
-bigo

No comments

the 6-lines p2p system.

I was surfing the internet looking for some inspiration to develop my undergrad project (and no, I wasn't looking for porn!) and found this AMAZING p2p system written by Dr. Pascal Felber, he called it uP2P (micro peer-to-peer). Here is the code:

CODE:
  1. #!/bin/sh
  2. # uP2P.sh 0.0.1, 436 characters (excluding comments)
  3. [ $3 ]&&export W=$1 H="$2 $3" K=`mktemp`;Z=/dev/null;e(){ echo "$*";};n(){
  4. nc $* 2>$Z;};x(){ nc -lp ${H#* } -e $1 &>$Z <$Z&};f(){ cat $K|while read h;do
  5. e $W $1 "$2"|n $h;done };case $# in 4)e $W s "$4"|n $H|while read h p f; do
  6. e $W g "$f"|n $h $p>"$f";done;;5)e $H>$K;e $W d $H|n $4 $5>>$K;x $0;;0)x $0
  7. read w c r;[ $W = $w ]&&case $c in s)f l "$r";;g)cat "$r";;a)e $r>>$K;;d)cat $K
  8. f a "$r";;l)ls|grep "$r"|sed "s/^/$H /";;esac;;esac

ok, it is a mess... (somehow, reminds me the worpress source-code hehehehehe) but that's because it hasn't any comment lines. There is a long version available as well which explains how it works (you will see that everything is made using standard Unix tools and the whole communication is made using netcat ("nc").

usage is pretty simple though:
To start a server, change to the directory that you would like to share and start the script as follows:

uP2P.sh password local-ip local-port remote-ip remote-port

where 'password' is the network's password; 'local-ip' and 'local-port' are the IP address and port used by the server for listening to remote requests; 'remote-ip' and 'remote-port' are the IP address and port of some other peer in the network. The first server can be started with any remote address (even its own address) since connections to non-existing endpoints will fail silently. All 5 parameters must be specified.

To start a client, change to the directory that you would like to download files to and start the script as follows:

uP2P.sh password remote-ip remote-port pattern

where 'password' is the network's password; 'remote-ip' and 'remote-port' are the IP address and port of some server peer in the network; 'pattern' is a filter that specifies the files to download using the 'grep' regular expression syntax. Note that, because of message forwarding, redundant escape characters must be used; for instance, "\." (dot) must be specified as "\\\\.".

To end the script, kill all instances of 'nc'.

Example:
Start 4 servers on 4 hosts (or in different directories on the same host):

uP2P.sh abc 192.168.1.100 9000 192.168.1.100 9000
uP2P.sh abc 192.168.1.101 9000 192.168.1.100 9000
uP2P.sh abc 192.168.1.102 9000 192.168.1.101 9000
uP2P.sh abc 192.168.1.103 9000 192.168.1.101 9000

Download all files containing 'pdf' in their name (here using third server as entry point to the network):

uP2P.sh abc 192.168.1.102 9000 "pdf"

Amazing huh? Use it to impress your teacher (please keep the credits for Dr. Felber). And remember: this is justa PoC. There are many limitations (and possibilities!).

-bigo

No comments