AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 4382 |
r3wp | 44224 |
total: | 48606 |
results window for this page: [start: 35001 end: 35100]
world-name: r3wp
Group: Core ... Discuss core issues [web-public] | ||
BrianH: 27-Sep-2010 | I suggested REDUCE/into and COMPOSE/into, and found them to be immediately useful. I don't know why UNIQUE/into is being suggested, its use case. | |
BrianH: 27-Sep-2010 | Henrik had a use case for DEDUPLICATE, though that was when he thought he could eliminate the copy, and actually wanted to change UNIQUE to be modifying instead. It's not a common enough use case to make it into the core functions, but there is a mezzanine for it in the CureCode ticket. | |
Ladislav: 27-Sep-2010 | REDUCE/into and COMPOSE/into were actually worth adding - no problem with that, what I was saying, though, was something else | |
Maxim: 1-Oct-2010 | well IIRC Steeve had done tests and it was much faster... so something is being saved. | |
Izkata: 1-Oct-2010 | it was so that new memory didn't need to be allocated in this expression, and the old didn't need to be garbage collected: b: reduce b | |
Steeve: 1-Oct-2010 | About the /into refinement. I don't bother if internaly, a copy is done or not, while it's faster and memory safe (the block must be freed immediatly not by the GC) The GC used to have some memory leaks and was reacting too late to be useful (especialy in apps with a GUI). I now it's better now (thanks to recycle/ballast). | |
BrianH: 1-Oct-2010 | Sounds interesting. I know that CHANGE/part is the real fundamental operation, but that needs an additional parameter and would require renaming the option - /into isn't an appropriate name for that operation. But I don't think it would have been implemented in that case, and having it be a direct CHANGE would definitely not have been accepted because /into is mostly used to replace chained INSERT and APPEND operations. | |
BrianH: 1-Oct-2010 | The downside of the /into option is that you have to be careful when using it or your code won't be task-safe. Your multiple references to a block that can change scenario is an example that can quite easily lead to task-unsafe code, for instance. But /into is great for micro-optimization and local code simplification, as long as you are careful to not modify shared structures without coordinating tasks. | |
Maxim: 1-Oct-2010 | for the record (for the other people reading, which might not be as fluent in the more low level aspects of the core).. I just want to note that your comment about thread safety doesn't only apply specifically to the /into... It applies to *all* series usage in REBOL 3 since they are mutable and MANY functions modifiy series "in-place". Other languages always copy on assign so its not as big an issue as in REBOL. | |
Graham: 3-Oct-2010 | I can paste from the browser to notepad, and other apps, and it's just text, but .... the clipboard shows empty. The problem will go away if I reboot though. | |
Graham: 3-Oct-2010 | Correction, I can write to the clipboard:// and paste into other apps, but Rebol is seeing nonthing there. | |
Graham: 3-Oct-2010 | I was just copying from Chrome's address bar .. and also writing to the clipboard using core. | |
Gregg: 3-Oct-2010 | What OS and what REBOL version? | |
Gregg: 3-Oct-2010 | Interesting, and very good to know. | |
Gregg: 3-Oct-2010 | Could be as simple as a change that tried to handle errors better and now fails for some reason. | |
Graham: 3-Oct-2010 | started up view 2.7.6, pasted to clipboard and can't read in 2.7.7 again. | |
Gregg: 3-Oct-2010 | And thanks to Ladislav for PIF/CASE. | |
Gregg: 3-Oct-2010 | Ah, I missed the negative sign, and forgot that Rambo did that. | |
Ladislav: 3-Oct-2010 | Yes, I wrote PIF, and inspired Carl to write CASE, I guess. Later on, I renamed PIF to CASE for compatibility. (and because CASE is a better name than PIF) | |
Maxim: 4-Oct-2010 | graham, I've been using 2.7.7 for a while and have never had any issues with the clipboard. I am running xp though, so its possible that something in windows 7 is causing this. | |
Ladislav: 4-Oct-2010 | Hi, did somebody also notice the speed difference between Vista and 7 as below? Benchmark run 27-Aug-2009/16:16:06+2:00. Rebol 2.7.6.3.1 Computer: 100Mega Athlon II X2 250/4G DDR3 OS: Windows Vista 64 Precision: 0.05 Empty block: 104000000.0Hz Eratosthenes Sieve Prime (size: 8191): 54.0Hz, result: 1899 primes Four-Banger test (+,-,*,/): 150000.0Hz, result: 10.0 Integral (icount: 10000) of sin(x) 0<=x<=pi/2: 42.7Hz, result: 1.00000000000003 Integral (icount: 10000) of exp(x) 0<=x<=1: 60.2Hz, result: 1.71828182845896 Merge Sort (500 elements): 68.4Hz Benchmark run 4-Oct-2010/17:00:19+2:00. Rebol 2.7.7.3.1 Computer: 100Mega Athlon II X2 250/4G DDR 3 OS: Windows 7 Professional 64-bit Precision: 0.05 Empty block: 131000000.0Hz Eratosthenes Sieve Prime (size: 8191): 69.0Hz, result: 1899 primes Four-Banger test (+,-,*,/): 188000.0Hz, result: 10.0 Integral (icount: 10000) of sin(x) 0<=x<=pi/2: 49.7Hz, result: 1.00000000000003 Integral (icount: 10000) of exp(x) 0<=x<=1: 74.8Hz, result: 1.71828182845896 Merge Sort (500 elements): 90.4Hz | |
Ladislav: 4-Oct-2010 | (I checked, that the speed difference between 2.7.6 and 2.7.7 is not that big) | |
Ladislav: 6-Oct-2010 | I am wondering what is the simplest method to implement the Touch function in REBOL? Is there anything simpler than to append one character to the file and remove it again? | |
Geomol: 6-Oct-2010 | and how it does it. | |
Graham: 6-Oct-2010 | why not just alter the time of the file .. .and if it doesn't exist, then create the file? | |
Ladislav: 6-Oct-2010 | There is: Touch a file and get its time | |
Graham: 6-Oct-2010 | Now that I think about it .. my NAS box has that problem .. I copy files to it, and the file dates are in the future because the box's time runs fast :( | |
Geomol: 6-Oct-2010 | And it doesn't work in R3 for some reason? | |
Geomol: 6-Oct-2010 | Doing open/binary and it works. | |
Gregg: 6-Oct-2010 | Universal except that is corrupts binary files and will be very slow for large files. I don't know if you can be universal, but you can get close: touch: func [ {touch the given FILE} file [file!] ] [ file: open/seek/binary file append file "" clear tail file close file ] You just need to remove /binary for R3. | |
Gabriele: 7-Oct-2010 | Ladislav: also, I think OPEN without /DIRECT will actually read the file and then write it back, so it's no different from Geomol's solution actually. Gregg's /SEEK/BINARY (actually I think /SEEK implies /BINARY) should work better. | |
Gregg: 7-Oct-2010 | And performance memory issues on large files. | |
Robert: 9-Oct-2010 | So, I need to send seme emails and need to login into my SMTP server. And this mostly fails out-of-the box in Rebol 2 and I can't remember what to do to make it work: >> send [robert-:-muench-:-googlemail-:-com] "Test" Net-log: ["Opening" "tcp" "for" "esmtp"] connecting to: mail.saphirion.com Net-log: [none "220"] Net-log: {220 mail.saphirion.com ESMTP Exim 4.63 Sat, 09 Oct 2010 12:12:46 +0200} Net-log: [["EHLO" system/network/host] "250"] Net-log: {250-mail.saphirion.com Hello mail.saphirion.com [10.0.0.3]} Net-log: "250-SIZE 52428800" Net-log: "250-AUTH LOGIN CRAM-MD5 DIGEST-MD5" Net-log: "250 HELP" Net-log: ["Supported auth methods:" [login cram]] Net-log: ["MAIL FROM: <[robert-:-muench-:-saphirion-:-com]>" "250"] Net-log: "250 OK" Net-log: ["RCPT TO: <[robert-:-muench-:-googlemail-:-com]>" "250"] ** User Error: Server error: tcp 530 Relaying not allowed ** Near: insert smtp-port reduce [from reduce [addr] tmp] I think the probem is that Rebol isn't logging in correctly. Either it doesn't understand the supported methods or something else is different. Any ideas how I can fix it or track it down? | |
PeterWood: 9-Oct-2010 | Sorry I forgot to decompress the message: I have no problem sending from an ESMTP account from Rebol after setting the account name and password with set-net: | |
PeterWood: 9-Oct-2010 | You could possibly get this message if you are not directly connected to the ISP hosting saphirion.com. I found this explanation helpful : http://www.answersthatwork.com/Download_Area/ATW_Library/Networking/Network__3-SMTP_Server_Status_Codes_and_SMTP_Error_Codes.pdf | |
GrahamC: 9-Oct-2010 | And in R3, it will bypass the setting of locals with funct | |
GrahamC: 9-Oct-2010 | and in R2 using the r2/forwards | |
Ladislav: 9-Oct-2010 | And in R3, it will bypass the setting of locals with funct - in R2, as well as in R3, when using the SET function, you bypass the collection of object locals. In R3, with FUNCT, you may not bypass the collection as follows: set [a: b:] [1 2] | |
Group: !REBOL3-OLD1 ... [web-public] | ||
Steeve: 29-Apr-2009 | Didec, i have the same results than Peter with the A49. And what you're saying is not the problem i pointed. See, there something strange with the number of evaluations done. >> dp [loop 1000000 [pick t x + 1]] == make object! [ timer: 517292 evals: 4000011 eval-natives: 2000004 >> dp [loop 1000000 [t/(x + 1)]] == make object! [ timer: 350263 evals: 3000011 eval-natives: 1000004 So the conclusion is that evaluating a path don't follow the same scheme than a block evaluation. | |
shadwolf: 29-Apr-2009 | arg yeah rebol plugin is important and it's a bad thing if people considers it as a malware T__T | |
shadwolf: 29-Apr-2009 | BrianH ... when what screw the fucking browser statistics is the fact 95% of computers are wndows based and 100% of them comes with IE ... | |
shadwolf: 29-Apr-2009 | but that doesn't means I use it (I use chrome, opera and firefox) | |
Maxim: 29-Apr-2009 | and unless the web gets replaced by rebol, the plugin will always be more important to "the industry" I mean, to get others to use rebol in THEIR environment. which is the biggest weak spot of rebol. it is Hermetic. | |
Maxim: 29-Apr-2009 | you can't tell a company that invested several years to start over from scratch. it has to be able to migrate without changing the habits... rebol has to sink into the other model first, then slowly, if it worth it, people will start putting rebol in the center and eventually, something like rebrowse can replace the current framework or maybe even live besides it while the migration takes place. | |
Maxim: 29-Apr-2009 | I've suffered of trying to get rebol INTO companies and it never works. there is too much ground work to do, it costs a lot of money. | |
shadwolf: 29-Apr-2009 | yes we can :P YES WE CAN :P and i'm sure all of them will really like to do it ;P | |
shadwolf: 29-Apr-2009 | like Lua .... but ppl will say but Lua already do it and it's better damn people ... | |
Maxim: 29-Apr-2009 | Ever tried to use rebol in a company that has only .net, python, or java code? good luck. it takes weeks before you can use most of the DB stuff they have built up, because there are sooo many modules out there, and they have huge frameworks, which actually DO more stuff than rebol . rebuilding those libs is not even always possible.... | |
Maxim: 29-Apr-2009 | the /skip in many functions are implied records... and the reason they are there... not getting the record as a return values... is an oxymoron IMHO | |
Henrik: 29-Apr-2009 | The R2 method is much more flexible. The R3 method is identical to "first select/skip", and I doubt there would be that much gained by having a specific alternative function for the R3 method. | |
BrianH: 29-Apr-2009 | I tend to use FIND and SET [w1 w2 ...] | |
Henrik: 29-Apr-2009 | Maxim, yes. I'd say that if every single REBOL function used /SKIP consistently, you could do flat block databases and rely on /SKIP without getting your records screwed up. | |
Henrik: 29-Apr-2009 | I noticed something weird too. If you have multiple R3 windows open and switch between them, does the window title change? | |
Henrik: 29-Apr-2009 | The window title thing seems to be related to marking up text in the console and is not caused by R3. Never noticed that before. | |
Maxim: 29-Apr-2009 | I would really like the /skip to be consistent as "implied fixed record" it would make flat record management and "explicit" feature of REBOL. | |
BrianH: 29-Apr-2009 | Let's say that modifying functions should error out if the block is there would be data corruption (just SORT, I think), but retrieval and builder functions should act like the series is none-padded. | |
BrianH: 29-Apr-2009 | Maxim, it was decided that for R3 the bounds of a series were more of an implementation detail, not an error. A none in the middle of a block is considered the same as a none off the end of a block. That is why the ordinals (first and such) act like PICK now. | |
Maxim: 29-Apr-2009 | I usally use none as a no-value/don't care/error especially since I use ANY/ALL a lot, but for records, none and missing data are completely different. | |
BrianH: 29-Apr-2009 | We are taking the SQL attitude towards none, that none and missing data are the same thing. This lets us use ANY and ALL to deal with missing data no matter where in the series it is missing from. | |
BrianH: 29-Apr-2009 | We are really consistent in treating none that way, which is why map! values of none don't display and are skipped. | |
BrianH: 29-Apr-2009 | This makes a clear distinction between none and unset: - None is missing data where missing data is OK. - Unset is missing data where missing data is probably an error. | |
Maxim: 29-Apr-2009 | I agree, since its now consistent everywhere, we can expect the reaction and know that when its important, we must check instead of relying on an attempt or try to catch it. | |
BrianH: 29-Apr-2009 | And ANY instead of COALESCE :) | |
Maxim: 29-Apr-2009 | its like reading... there is nothing here and here too hehehe I see none like a portable hole (remember in bugs bunny ;-) | |
BrianH: 29-Apr-2009 | Not the same thing. If you have skip > length of the series, it will only do one iteration and your access to the results off the end will usally be none, unless you constrain it yourself. The question is whether negative skip should be silently constrained or generate an error, as a general rule. | |
Maxim: 29-Apr-2009 | yep... not the best for the math in index calculations.... hehehe but much more human readable for code and human interaction, so I still prefer one indexing after 9 years... even if the techy in me sometimes lets out a little <sigh> in trying to get to the proper start/end of complex series extractions hehehe | |
Maxim: 29-Apr-2009 | well, I just realised that it should do the exact same as for the end... if you are not currently record aligned and are doing reverse operations, its possible you'll encounter incomplete records at the start.f | |
Maxim: 29-Apr-2009 | so fill with nones. to prevent the start of the records to shift and corrupt the first record. | |
Maxim: 29-Apr-2009 | in reality there should be something between 0 and 2 if "23" was to keep its alignment with its original position within the series. | |
Maxim: 29-Apr-2009 | with this detail in place, and with blocks, I'd say it would be usefull to pad with nones. | |
BrianH: 29-Apr-2009 | Give me a moment and I can answer your concerns. | |
Pekr: 29-Apr-2009 | I have difficulcy to get Chat files. I do nf, to list new files, then I submit get * but nothing is synced. I try other aproach, going to e.g. R3 mezzanines section, and doing get * does either report, that there was no change to files, or that my local copy is changed, and hence it can't be synced. I am sure I did not do any local changes here ... So - how do you usually work with Chat file facility? | |
BrianH: 29-Apr-2009 | Situations like that are why DevBase and chat are integrated now. | |
BrianH: 29-Apr-2009 | OK, Maxim, the MOVE/skip example you specify is not an error in MOVE, it is an error in the code calling MOVE in that example. MOVE was specifically designed to do something useful in that case, rather than generate an error. The whole reason that MOVE takes one position and one offset is because that limit gets rid of a host of potential aliasing errors. MOVE is designed to be the most efficient and safe solution to the problem of moving stuff, and it should *never fail* unless the series is protected from changes. MOVE is a DWIM function: Do What I Mean. This goes for treating negative /skip lengths as an error too - having it magically constrain the /skip length to 1 or greater was a deliberate design choice, the result of a lot of discussion. So the question is whether the error of having /skip lengths being less than 1 is worth worrying about, worth the overhead of generating an error and checking for that error every time you use the function. Don't be fooled, that overhead is really significant. We've already changed other functions so they don't generate errors anymore, and just DWIM, like FIRST not complaining about bounds and acting like PICK 1 now. These changes have made these functions faster, and better to use. Generating an error is considered something to do when it is really important, as it sometimes is. How important is the /skip < 1 error? | |
Maxim: 29-Apr-2009 | you have been talking about the actual /skip parameter value, and all along I was talking about the effect of using /skip which causes the function to go outside of bounds of the series based on the skip size... doh! hahahaha | |
Maxim: 29-Apr-2009 | and I understand that adding too much verification to series handling code really slows the whole a lot. | |
BrianH: 29-Apr-2009 | The problem is that DIFFERENCE/skip < 1 generates an error, and every other function /skip < 1 hangs. So the question is whether they should *all* be changed to act like MOVE (silently DWIM), or all be changed to act like DIFFERENCE (generate an error). | |
BrianH: 29-Apr-2009 | No, RETURN, EXIT, BREAK, CONTINUE and error throws are just as slow in R3. It's the setjmp/longjmp exception frame overhead. | |
Henrik: 2-May-2009 | Progress milestones: Single graphics engine VID3.4 Unicode Tasks Modules Built-in chat system Built-in open source management Completely redesigned ports (fully documented and ready to use, you protocol writers) When finished: Fixing almost every deficiency that R2 has through 10 years of use by expert developers. | |
Pekr: 2-May-2009 | Gabriele - why not? The chat system is more powerfull than that of AltME, and I find AltME usefull, although it has its limitations. Once we create GUI for it, it will allow for some nice simple IM stuff. Why do you think SlashDot ppl would have problem with it? | |
Izkata: 2-May-2009 | At least don't call it a "chat system" without the description "direct hotline to the main developer", as that line would stand out and make people think it's a joke | |
BrianH: 2-May-2009 | So far, R3 tasks don't work properly and should be considered a placeholder. We can't do a proper task model until there are changes to the basic semantics of REBOL. Fortunately most of those changes were done in the last month. | |
Henrik: 5-May-2009 | and almost all skip bugs too | |
BrianH: 5-May-2009 | It's good for speed and memory saving, and better binary conversions. Once we have vectors, we will have less people complaining about the lack of rebcode, except for the people who never take good enough for an answer :( | |
BrianH: 5-May-2009 | And yes, Carl marks the native changes as done in CureCode the moment he gets a working build. I mark mezzanine changes as pending as soon as they are submitted to DevBase, then as build when they are released. | |
Maxim: 5-May-2009 | so we can do array transformations in REAL TIME for things like polygons and 3d objects :-) | |
BrianH: 5-May-2009 | Ones that aren't as huge either, and that can be accessed through a C API. | |
Maxim: 5-May-2009 | now if we can be the go-between things like these libs and opengl ..... :-D can you see where I'm going ? we already have a dataflow engine which could act as the kernel for managing when updates need to occur, and all rebol is doing is the whiping, while the grunt work is done by the various libs out there ... | |
PeterWood: 6-May-2009 | Re: #744. They no longer crash but the "launched" script uses the same console session as the original script so keyboard input and screen output gets mixed up. This is different from the behaviour under Windows where R3 opens a new console session for the "launched" script. | |
PeterWood: 6-May-2009 | The following session shows that launch does not effectively run a script as a separate process and return immediately. >> ans: "yes" == "yes" >> do [ while [ans <> "no"] [ans: ask "(l)aunch, yes or no ?" if ans = "l" [launch %launched.r]]] (l)aunch, yes or no ?l Checking for rebol.r file in /Users/peter/Desktop/Rebol3/ Checking for user.r file in /Users/peter/Desktop/Rebol3/ Evaluating: /Users/peter/Desktop/Rebol3/launched.r launched script Do you want to continue running the launched script?yes yes Do you want to continue running the launched script?yes yes Do you want to continue running the launched script?yes yes Do you want to continue running the launched script?no no (l)aunch, yes or no ?y (l)aunch, yes or no ?y (l)aunch, yes or no ?no == none The source of %launched.r is: REBOL [] print "launched script" ans: "" while [ans <> "no"] [ print ans: ask "Do you want to continue running the launched script?" ] | |
BrianH: 6-May-2009 | I'll mark it as tested then, and we can post any tweaks to the behavior as new tickets. | |
PeterWood: 6-May-2009 | I checked call on Windows and it doesn't work either. I opened ticket 757. | |
Henrik: 6-May-2009 | and returns none | |
BrianH: 6-May-2009 | Could you post system/options from R3 on Mac? Just run R3 and type in system/options | |
BrianH: 6-May-2009 | Encapping is going to be different in R3, as is the console. It is intended that a graphical console will be developed, and callable from any graphical host. Hosts will be the new encapped apps. | |
BrianH: 6-May-2009 | Similar to R2, though the errors start disarmed and need to be armed with DO. CAUSE-ERROR wraps this. | |
BrianH: 6-May-2009 | The reason why is because people didn't understand that '+ was for unsigned, and '- was forr signed. | |
Pekr: 6-May-2009 | why + was for unsigned and not the reverse? :-) | |
Pekr: 6-May-2009 | I don't work at that level of REBOL. So we now have vector! datatype mostly fixed. One thing I don't understand is, that we are heading for performance, and then we can see minimum-of and maximum-of becoming mezzanines. The other thing is - what now? What is now available at practical level? What can we do with vector! type? | |
BrianH: 6-May-2009 | They can be mezzanines and still be as fast because FORSKIP is now native. Making the looping functions native makes REBOL faster overall. One thing people don't get is that mezzannes can be really fast in R3. |
35001 / 48606 | 1 | 2 | 3 | 4 | 5 | ... | 349 | 350 | [351] | 352 | 353 | ... | 483 | 484 | 485 | 486 | 487 |