World: r3wp
[Core] Discuss core issues
older newer | first last |
Henrik 19-Apr-2006 [3989] | seems it would be necessary... |
Ingo 19-Apr-2006 [3990x2] | Hi Graham, hope you understood my explanation - I wouldn't ;-) |
re. fetchmail ... What exactly are you looking for? fetchmail in its current incarnation fetches mail via pop3, and sends it via smtp to a local mta ... shouldn't be too hard. | |
Graham 19-Apr-2006 [3992x2] | Ingo, exactly .. not hard so has anyone done it? |
I am wondering whether I should install fetchmail, or just use/write a rebol version. | |
sqlab 19-Apr-2006 [3994] | Henrik: you can either assign every script an unique port number and try to open it at startup or (under window) give the console window a name and check if a window with that name already exists or (under **ix) check the command line with ps |
Graham 19-Apr-2006 [3995] | That is what I do .. my scripts up a listen port, and if they can't, they know an instance is already up and running. |
Ingo 19-Apr-2006 [3996] | Well, I once did a script that just downloads and stores mails locally, but none that works like fetchmail ... on linux I have fetchmail installed, and on win I don't have an mta ;-) |
Graham 19-Apr-2006 [3997] | I'm trying to setup Scalix on Suse, and just noted that Scalix lacks this facility natively. |
Geomol 20-Apr-2006 [3998x2] | Bit-shifting One way to do bit-shifting is to multiply or divide with (2 ** positions). To make the code more readable, I could start making a shift block: shift: [] repeat i 16 [append shift to-integer 2 ** i] == [2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536] To e.g. shift the number 123 left 5 positions, you do: 123 * shift/5 == 3936 To check, that 3936 is actually 123 shifted left 5 positions: >> enbase/base debase/base to-hex 123 16 2 == "00000000000000000000000001111011" >> enbase/base debase/base to-hex 3936 16 2 == "00000000000000000000111101100000" To shift 3936 right 5 positions: 3936 / shift/5 == 123 As long as the numbers are not close to 4 byte long integer (2 ** 32), we don't get number overflow. |
This also doesn't work with negative integers, because the left-most bit is set in those cases. I have bit-operations for shift and rotate, that works on full 32-bit integers, if anyone needs those. | |
eFishAnt 24-Apr-2006 [4000x10] | HELP (please) I have installed Core 2.6 on an embedded Ubuntu Linux, and when I try to open the comm port, I get and Access Error for ttyC0 but when I look in the /dev/ directory, I see a ttyc0 but not a ttyC0 ... I tried as root to ln -s /dev/ttyc0 ttyC0 ... but get the same error. |
Anyone have an idea how to trick out Linux on this? | |
(or how to trick REBOL into asking for ttyc0 instead? | |
I do a serial-port: open/direct/binary/no-wait serial://port/38400/8/none/1 serial://port1/38400/8/none/1 | |
rather... serial-port: open/direct/binary/no-wait serial://port/38400/8/none/1 | |
no, exactly... serial-port: open/direct/binary/no-wait serial://port1/38400/8/none/1 | |
aha...just found some Ubuntu notes on www.rebol.net/builds/lib-dep.html...mahbe I need to get the debian update. | |
I found REBOL ubuntu, and downloaded, but same problem, Access error: Cannot Open ttyC0 | |
...simply doing open serial://port1 | |
added RAMBO Ticket #-639 | |
DideC 24-Apr-2006 [4010] | Look at system/port/serial and change it to reflect what you have in /dev/ I guess with [ttyc0 ttyc1] Almost it's what we have to do under Windows. |
eFishAnt 24-Apr-2006 [4011x6] | Thanks, DideC, it is [ttyC0 ttyC1] ; with caps... |
aha...system/ports/serial (was going fish-eyed on that...0-o-o< | |
portS | |
get in get in system 'ports 'serial | |
hmmn, system/ports/serial: [ttyc0 ttyc1] is not enough to prevent the problem | |
neither does system/ports/serial: [ttys0 ttys1] | |
Graham 24-Apr-2006 [4017x2] | Anyone got a way of operating on each element of a series except the last ? |
Or, doing something different to the last element. | |
Geomol 24-Apr-2006 [4019x2] | >> s: [1 2 3 4] == [1 2 3 4] >> forall s [either tail? next s [print ["Last item is" s/1]] [print s/1]] 1 2 3 Last item is 4 |
eFishAnt, a wild guess: what about rebooting the OS after you've made the link to ttyc0? Maybe some internal list of devices is made, when the OS boots? | |
Graham 24-Apr-2006 [4021] | Thanks .. I was using a while block, but yours is shorter. |
Anton 24-Apr-2006 [4022x2] | eFishAnt, you have replaced the block at system/ports/serial. Try replacing just the first word in the original block with 'ttyc0. Just a wild guess. |
I just tried hex-editing rebol.exe in Rebol/View 1.3.2.3.1 here on windows. I found "com1" and changed it to "COM1". Then when I started again system/ports/serial == [COM1 com2] | |
Maxim 25-Apr-2006 [4024x4] | I've discovered that the GC seems to accelerate as it processes more and more of the same data... A 10 million allocated, linked and initalised liquid node test is proving this once more, so my guess is that Carl put some kind of heuristic detection or what have not, which adapts the sizes of the values in the allocation and GC, based on recurring tasks. |
right now every time it creates 100000 new nodes, my loop's speed steadily increases by about 0.065 % | |
and the memory foot print of my application stays the same at ~ 300 MB | |
I manually call a recycle at the end of each iteration. so 300MB is what is needed to have 100000 nodes in memory without any GC. | |
Pekr 25-Apr-2006 [4028] | so many nodes, what for? :-) What is node in liquid terms anyway? |
Maxim 25-Apr-2006 [4029x3] | I am stress testing the library. |
it must support 100 million allocated and linked nodes for me to be happy. | |
imagine a double edged directed graph node. | |
Pekr 25-Apr-2006 [4032] | it seems to me, you are building compositing engine, aren't you? And if so, yours will be redundant to View one ... will not it be slow? Or is liquid kind of being complementary addition to View engine? |
Maxim 25-Apr-2006 [4033] | pekr always seing behind smoke and glass ;-) |
Anton 25-Apr-2006 [4034] | It must use part of the View system in order to show something in a window (faces) and to get events. |
Maxim 25-Apr-2006 [4035x4] | glass is a compositing engine, which might grow out of view IF R3 promises are fullfiled. |
but glass also allows your "processors" to be linked to the engine dynamically... | |
so using the same interface definition, you can have two totally different displays. | |
2d/3d , color/b&W, etc | |
older newer | first last |