AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 5907 |
r3wp | 58701 |
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 / 64608 | 1 | 2 | 3 | 4 | 5 | ... | 258 | 259 | [260] | 261 | 262 | ... | 643 | 644 | 645 | 646 | 647 |