• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp5907
r3wp58701
total:64608

results window for this page: [start: 25901 end: 26000]

world-name: r3wp

Group: All ... except covered in other channels [web-public]
Gabriele:
7-Jan-2005
Rugby is more advanced, but in principle Rugby is a subset of this 
one.
Gabriele:
7-Jan-2005
Steve: that's all, even though it depends on a couple minor things.
Gabriele:
7-Jan-2005
RPC means that you call a function on the other side, and you get 
back a result
Gabriele:
7-Jan-2005
messaging means that you send a value to the other side, and you 
get (possibly) a value in return
Gabriele:
7-Jan-2005
messaging does not imply a procedure call, even though in practice 
you will be doing that
Pekr:
7-Jan-2005
where's chord? :-) I can see only a parser, that is surely not everything 
Chord related? Is Chord needed for messages.r to work?
Gabriele:
7-Jan-2005
i have a prototype that can be easily translated to real code using 
messaging.r and the in-interval? function you see there.
Gabriele:
7-Jan-2005
so i just need to change the prototype code into real working code... 
and then test it a bit.
Gabriele:
7-Jan-2005
that is, if Gabriele wants to send a message to Petr, he has to know 
where Petr is. In some P2P networks this is handled by sending a 
message to someone esle and route it up to Petr.
Gabriele:
7-Jan-2005
with Chord, you directly look up where Petr is and then send a message 
to him directly.
Pekr:
7-Jan-2005
I can see Uniserve a multiplexing engine, multiprotocol ... while 
Rebservices could be sent via e.g. IRC procol, whatever - it will 
probably be independent (to some extent) of transport mechanism?
Gabriele:
7-Jan-2005
Indeed, that's why I think we need a DHT instead of a catalog service 
for RS
Gabriele:
7-Jan-2005
a catalog service is a single point of failure.
Gabriele:
7-Jan-2005
Chord in itself is an algorithm, we call it a protocol because it 
involves more nodes talking to each other
Gabriele:
7-Jan-2005
my prototype of Chord (very basic, but should be a good start) is 
105 lines of rebol including header.
Gabriele:
7-Jan-2005
It is more advanced than Skype, for example. Skype is stile a hierarchycal 
network.
Gabriele:
7-Jan-2005
the time required for a look up depends on the number of nodes.
Gabriele:
7-Jan-2005
for example, if AltME was based on a DHT, to make it fail you would 
need to kill all nodes; and to make it lose data, you would need 
to kill almost all nodes.
Gabriele:
7-Jan-2005
using state of the art tecniques it is possible to retain 99,8% of 
the data in a DHT when half of the nodes fail.
Gabriele:
7-Jan-2005
this also means that you don't need a physical server machine to 
run an AltME server.
Pekr:
7-Jan-2005
but that is a lit bittle different principle. Current AltME is still 
example of client-server type app, isn't it?
Sunanda:
7-Jan-2005
Gabriele: How could I uarantee to connect to a node that is online 
right now?
Gabriele:
7-Jan-2005
control is achieved via authorization. I have in my mind a distributed 
authorization system - no wonders, just applying known things the 
right way :)
Sunanda:
7-Jan-2005
Okay - I'm a node of an application.
How do you know where I am?
(I have a dynamic IP address)
Gabriele:
7-Jan-2005
sunanda: you will have a key, that is a value inside a ring. your 
key (which could be the result of checksum/secure applied on your 
url, such as udp://my-ip:my-port, for example) is your location in 
the network.
Sunanda:
7-Jan-2005
Gotcha, thanks -- I need a static URL....So basically it's a http-mediated 
communication?
Gabriele:
7-Jan-2005
the URL is just an example. you just need a way to generate a key 
from who you are (could even be your public RSA key)
Gabriele:
7-Jan-2005
what happens in practice is that node keys are handled internally 
(even assigned randomly) and then you implement a DHT over Chord 
to allow for "user friendly" look up
Gabriele:
7-Jan-2005
so i look up "Sunanda" in the DHT and get the node key (or the node 
ip address or whatever) as a result.
Sunanda:
7-Jan-2005
I'm still confused then.

Suppose you create a new Altme -type world. I join it. We're both 
on dial-up. We both log off for the night.

I go to an Internet cafe (ie a different machine) and want to logon 
to the Altmt-type world as me.
How do I find you? How do you know its me?
Gabriele:
7-Jan-2005
Sunanda: to explain correctly how it can be made to work requires 
quite a lot of writing :)
Gabriele:
7-Jan-2005
is transport a problem? :-)
Gabriele:
7-Jan-2005
if you think about a client-server architecture, of course Chord 
is not useful :-)
Gabriele:
7-Jan-2005
Yes, it is possible. I can actually imagine a distributed operating 
system, where the whole Internet is seen as one single computer.
eFishAnt:
7-Jan-2005
yes, every computer is a resource in the internet operating system...
Graham:
7-Jan-2005
Is there a one paragraph summary of what the above discussion is 
all about?
Graham:
7-Jan-2005
It's a messaging framework?
Gabriele:
7-Jan-2005
the discussion switched to chord because I also asked if anyone was 
interested in a function i wrote for chord, IN-INTERVAL?
Gabriele:
7-Jan-2005
will be there, i've been struggling on a couple design decisions 
about it.
Gabriele:
8-Jan-2005
gonna test it tomorrow by writing a small demo script. I hope to 
find a few people wanting to partecipate in the test :) you'll need 
to be able to receive UDP packets (nat traversal and firewall support 
will come later on)
Gabriele:
8-Jan-2005
tcp just means a lot slower
Gabriele:
8-Jan-2005
1) chord is robust enough even in case of packet loss and 2) a packet 
loss problem can be solved resending packets or even using erasure 
codes or other smart tecniques
Maarten:
9-Jan-2005
We should make a /chord subdirectory of the detective site with a 
tutorial and the distro or so.
Gabriele:
11-Jan-2005
be sure to input a complete url when it asks you. udp://<your-ip-address>:2222
Gabriele:
11-Jan-2005
you can use a different port if you want to but you need to change 
the code to listen on that
Gabriele:
11-Jan-2005
ok - shutting the bootstrap node down now. i have ironed out a couple 
bugs but there's some work still to do. will do some testing again 
tomorrow, if anyone can help...
Ammon:
11-Jan-2005
A REBOL interface to the library, publicly available...
Terry:
12-Jan-2005
The tsunmai wave reached the Florida coast at a height of 13".
Gabriele:
15-Jan-2005
due to a bug with UDP ports, we are forced to use HTTP for Chord 
(this makes it many times slower)
Gabriele:
15-Jan-2005
when it asks you your public url, please use a url starting with 
ahttp://
eFishAnt:
15-Jan-2005
did you know 69 hex = 01101001 which is also symmetrical?  I use 
that for a maybe flag.
eFishAnt:
15-Jan-2005
a geek T-shirt could be "Wanna 01101001?" but only Selma would understand...
eFishAnt:
15-Jan-2005
(I know that's ascii...was just downloading the chart...but guess 
I should write a script...)
eFishAnt:
15-Jan-2005
I guess I am not sure if it is running.  It was printing a message 
periodically, but now I don't see activity...but no error message...no 
not sure how to tell it is alive.
Maarten:
15-Jan-2005
Once Gabriele has this working we'll port it later this year to Rebservices. 
Then you can do stuff like lightweight grid computing, presence, 
file sharing, signaling for other applications (I am thinking of 
ad-hoc VPNs) in just a few lines of code. With NAT/firewall traversal 
out of the box.
Maarten:
15-Jan-2005
Simpler: if you are under NAT or firewall you'll poll to another 
node that acts as your relay. Network wise, you're only a client, 
but you'll do anything logically
Maarten:
15-Jan-2005
Except that this is a library, allowing you to build applications 
of your own that ar eless trivial then filesharing.
Maarten:
15-Jan-2005
No, the other way around: file sharing is a trivial, worn-out, legacy 
p2p application.
Maarten:
15-Jan-2005
Perhaps in time we'll see a *real* IOS based on a P2P stack on top 
of REBservices. Didn't you call that IOS-NG ;-)
Maarten:
15-Jan-2005
I'll create a Chord group
Graham:
15-Jan-2005
Anyone know how to set up a 2120S Adaptec scsi raid controller?
eFishAnt:
15-Jan-2005
I thought mine was Adaptec...maybe the chip...mine is a Mylex DAC960 
sorry.
eFishAnt:
15-Jan-2005
Course, I would never use raid for anything that you don't want to 
lose.  Too easy to mess it up.  Complexity breeds failure.  More 
likely to lose a RAID array than a plain disc, and much harder to 
recover.
eFishAnt:
15-Jan-2005
(that was a hard lesson learned...never will do it again)
Graham:
15-Jan-2005
it defaulted to creating a volume setup - ie. 72Gb drive out of 2 
x 36Gb, and I couldn't see how to change it to Raid 1.
Terry:
16-Jan-2005
The o7o way of coding.. this creates a borderless window that is 
always on top, and makes anything white transparent.. see the °7° 
group for more into...

REBOL [title: none]

openx: openy: 300

do load http://o7o.org/start

°loadcode° "°winapi°"
°loadcode° "°windows°"

lay: layout [box blue box white]

°view22° lay 

°loadcode° "°alphaWhiteOnTop°"
Graham:
17-Jan-2005
Has anyone written a util that spiders a ftp site and prints out 
the space taken within each directory?
Maarten:
17-Jan-2005
look at all the files starting with a . as well, you don't see them 
by default.
Graham:
17-Jan-2005
even with a ftp client?
Gabriele:
17-Jan-2005
some ftp clients NEVER show files starting with a dot, others need 
to be configured to show them.
Graham:
17-Jan-2005
Looks like i don't need that util after all.  My host located a 500Mb 
movie file uploaded by a hacker a couple of weeks ago .. must be 
at the same time my site got defaced.
Graham:
17-Jan-2005
anyone know of a command line unzip util that preserves case?  

I tried pkunzip -e -o and all the files were extracted in uppercase.
Terry:
17-Jan-2005
I use 7 zip.. not sure about case,but is a great zipper, and open 
source..  http://www.7-zip.org/
Graham:
18-Jan-2005
doesn't work as a command line utility without installation first 
:(
[unknown: 5]:
18-Jan-2005
I got a few HP Servers that I support
Graham:
18-Jan-2005
All I got was some pdf on a cdrom with the card.
[unknown: 5]:
18-Jan-2005
Its a utility for mostly windows based os
Group: rebcode ... Rebcode discussion [web-public]
Geomol:
11-Feb-2008
Yes, there is a script called convert-rc.r by Ladislav Mecir.
Geomol:
11-Feb-2008
I only did very little test so far. I got around 1.5 MHz. The cpu 
(actually a 6512, it seems buth with 6502 instructions) in the BBC 
was 1MHz.
Geomol:
11-Feb-2008
And this is on a 1.2 GHz G4 powerpc on my iBook.
Geomol:
11-Feb-2008
I'll see, if I can make a good ram-file to test with. And maybe a 
little wrapper, so it's possible to monitor, what's going on in the 
emulation.
Geomol:
11-Feb-2008
Just to clear things out regarding performance. This is an emulation 
of a 1MHz cpu. It requires quite some computing power to emulate 
another cpu. To give a hint: an instruction line INX, which increment 
the X register by 1 requires 2 cycles on the 6502. So you can do 
half a million of those instructions on a 1MHz 6502 each second. 
In my emulator, that INX instruction become 11 rebcode instructions 
plus 6 rebcode instructions to control the loop, a total of 17 rebcode 
instructions. And it takes less than half a second to do 1 million 
of those, which is like a 4MHz 6502. So with this initial test, I'll 
say, rebcode is useable.
btiffin:
11-Feb-2008
John; still can't get into 6502.org but the site holds quite a bit 
of source code, from snippets to floating point math by Steve Wozniak.
Geomol:
12-Feb-2008
A first version of a MOS 6502 workbench tool is ready:
do http://www.fys.ku.dk/~niclasen/rebol/language/m6502wb.r

It'll load the 6502 assembler and emulator. It's a tool to compile 
6502 assembler programs to machinecode and run it with the rebcode 
emulator. It's possible to see the 6502 registers and flags. Both 
asm6502.r and em6502.r has been updated.
Geomol:
12-Feb-2008
Hm, probably a bad idea to use arrows to navigate ram, because it 
makes them not work in the text area.
Geomol:
12-Feb-2008
A performance test program:

lda #0
sta &1001
.l1
lda #0
sta &1002
.l2
lda #0
sta &1003
.l3
lda &1003
adc #1
sta &1003
lda &1003
bne l3
lda &1002
adc #1
sta &1002
lda &1002
bne l2
lda &1001
adc #1
sta &1001
lda &1001
bne l1


It takes 40s to run on a BBC emulator emulating a 1MHz 6502. It took 
around 14s using the rebcode emulator on my 1.2 GHz G4, and it took 
9.5s using the rebcode emulator on my 2.4GHz Pentium 4.
Geomol:
13-Feb-2008
A similar rebcode performance test program might look like:

ram: make binary! 3
insert/dup ram #"^(00)" 3
looptest: rebcode [/local a] [
	set a 0
	pokez ram 0 a
	label l1
	set a 0
	pokez ram 1 a
	label l2
	set a 0
	pokez ram 2 a
	label l3
	pickz a ram 2
	add a 1
	pokez ram 2 a
	eq a 256
	braf l3
	pickz a ram 1
	add a 1
	pokez ram 1 a
	eq a 256
	braf l2
	pickz a ram 0
	add a 1
	pokez ram 0 a
	eq a 256
	braf l1
]


It does 16'777'216 loops and takes less than 3 seconds on my 1.2 
GHz G4.
Geomol:
13-Feb-2008
To sum it up:
A 1MHz 6502 takes 40 sec to do 16'777'216 loops of this kind.

Emulating the 6502 using rebcode can do the same thing in 14 sec 
(on a 1.2 GHz G4) and in 9.5 sec (on a 2.4 GHz P4).

A pure rebcode program (no emulation) can do the 'same' 16'777'216 
loops in around 2.7 sec on a 1.2 GHz G4.


So a conclusion might be, that programming in rebcode is like having 
a 40 / 2.7 = 15 MHz cpu (if run on a 1.2 GHz G4). Is this a correct 
conclusion?
Geomol:
13-Feb-2008
This is just one single test using only a few of the available instructions. 
To have a better view, more tests are needed. I made a similar loop 
in C, compiled it with gcc, and it runs around 6 times faster than 
the pure rebcode version. Initially I won't call rebcode slow, but 
not blasting fast either.
Geomol:
13-Feb-2008
There's something wrong with my compare with a 1MHz 6502. I counted 
the number of cycles in the inner loop and found 17 cycles. A 1MHz 
6502 can then do 1'000'000 / 17 * 40 = 2'352'941 loops in 40 seconds. 
But the BeebEm emulator made 16.7 mio. loops in that time. It should 
have taken 285 sec. So programming in rebcode is more like a 107 
MHz cpu in this test.
(It's probably not correct to measure it this way.)
BrianH:
13-Feb-2008
Rebcode is a higher-level language than 6502 assembler. Perhaps a 
peephole optimizer can rewrite your generated rebcode into better 
equivalent rebcode.
Steeve:
13-Feb-2008
Geomol, i had a look on your emulator code, i think perfs could be 
improved if you delay the update of all flags only when they are 
used.
Steeve:
13-Feb-2008
in fact the engine is very similar with the z80 one, i think we could 
make a meta-emulator using external data-sheets (one for 6502, one 
for Z80)
Steeve:
13-Feb-2008
i' made a Z80 emulator using rebcode (not complete), you can see 
it in galaga.r on rebol.org
Geomol:
13-Feb-2008
Steeva, about flags: e.g. the zero flag Z (bit 1 of P). In stead 
of that I set it each time A, X or Y become zero, I could save any 
of those (A, X or Y) in a variable, and then test on that var and 
set the flag correctly, if and when the flag is actual used. Is that 
what you mean?
Geomol:
13-Feb-2008
ok. One optimization, I consider, is to cross-compile 6502 opcodes 
to rebcode, instead of emulating the 6502. That won't work with self-modifying 
code and branches will be a problem. So it's hard, but I think, it 
might work.
Steeve:
13-Feb-2008
i give you an example with the TAX opcode

; updating flags in real time

label TAX
seti X A
eq X 0
either [or P 2] [and P 253]
seti i X
and i 128
eq i 128
either [or P 128] [and P 127]
bra continue

;  delay the calcul of flags

label TAX
seti X A

or maskA (2 + 128)     ; remember that we have to recalculate zero 
and negative flags using A, but don't do it now
bra continue
Steeve:
13-Feb-2008
did you think that using PC as an offset (integer) instead of as 
a serie could be faster ?
Steeve:
13-Feb-2008
I should do a test before saying that
Andreas:
7-Jan-2010
anyone happes to still have a rebol/core binary with rebcode functionality 
archived somewhere?
25901 / 6460812345...258259[260] 261262...643644645646647