AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 64 |
r3wp | 940 |
total: | 1004 |
results window for this page: [start: 65 end: 164]
world-name: r3wp
Group: !AltME ... Discussion about AltME [web-public] | ||
Brock: 3-Jan-2005 | If AltME allowed you to choose a date to start the restore from, and allow the search feature to retrieve previously unretrieved messages - it would be a very nice system. | |
Sunanda: 3-Jan-2005 | You mean if Carl had reinstalled a 6-week old backup of the master REBOL2 world, it could have recync'ed itself by finding later messages from the rest of us? (I'm guessing six weeks since the last viable backup, as that was the date for one of the IOS restores). | |
Anton: 2-Feb-2005 | Some more ideas: write altme://user:[pass-:-Rebol3]/!AltME/ "message" Resolved of the first url here to the second url by the Rebol3 world (local distribution): altme://user:[pass-:-Rebol3]/!AltME/239 is resolved to: altme://user:[pass-:-Rebol3]/151/239 151 is the set-file number for the !AltME group, and 239 is the message id. read altme://user:[pass-:-Rebol3]/!AltME ;== [set-number 151 first-available-message 1 last-message 242] So it returns some group info, not the content of all the messages ! To get a message: read altme://user:[pass-:-Rebol3]/!AltME/239 ;== [(date) 9 (colour) [font [fg 0.0.0 bg 240.240.240]] "We are working towards that."] To find a user name by the set-number: read altme://user:[pass-:-Rebol3]/9 ;== ["Reichart" [reichart-:-safeworlds-:-com] (membership) (dates etc..)] | |
Ammon: 3-Mar-2005 | Sent feedback on the date selector. It doesn't like TODAY. Switch the value to any other day and try to select TODAY, you'll pull an error 100% of the time... | |
Group: RAMBO ... The REBOL bug and enhancement database [web-public] | ||
Anton: 26-Jan-2005 | >> site: http://www.dom.com/ == http://www.dom.com/ >> site/1.r ** Syntax Error: Invalid decimal -- 1.r ** Near: (line 1) site/1.r >> site/1-r ** Syntax Error: Invalid date -- 1-r ** Near: (line 1) site/1-r >> site/1-1-1r == http://www.dom.com/1-Jan-2001 >> site/1_r ** Syntax Error: Invalid integer -- 1_r ** Near: (line 1) site/1_r | |
Romano: 9-Feb-2005 | rebol[ Author: "Romano Paolo Tenca" Date: 10/02/2005 ] split-path-3: func [ "Splits a file or URL pos. Returns a block containing path and target." target [file! url!] /local dir pos ][ parse/all target [ [#"/" | 1 2 #"." opt #"/"] end (dir: dirize target) | pos: any [thru #"/" [end | pos:]] ( all [empty? dir: copy/part target at target index? pos dir: %./] all [find [%. %..] pos: to file! pos insert tail pos #"/"] ) ] reduce [dir pos] ] | |
Anton: 11-Feb-2005 | I just found a strange bug: >> read %rebol.r == { REBOL [ Title: "REBOL Extended Definitions" Date: cvs-date "$Date: 2001/04/29 16:00:17 $" Rights: "Copyright (C)... >> read %rebol.r. == { REBOL [ Title: "REBOL Extended Definitions" Date: cvs-date "$Date: 2001/04/29 16:00:17 $" Rights: "Copyright (C)... >> read %rebol.r..... == { REBOL [ Title: "REBOL Extended Definitions" Date: cvs-date "$Date: 2001/04/29 16:00:17 $" Rights: "Copyright (C)... | |
Anton: 11-Feb-2005 | I think so. Bad timezone found by QUERY (as used by INFO?). Replacement is to use GET-MODES file 'modification date. | |
Anton: 11-Feb-2005 | oops, that should be GET-MODES file 'modification-date, but Sunanda's answer is more relevant.. | |
Group: Core ... Discuss core issues [web-public] | ||
shadwolf: 13-Jan-2005 | //------------------------------------------------------------- //- SMD2Header //- Header for all Md2 files, struct SMD2Header { int m_iMagicNum; //Always IDP2 (844121161) int m_iVersion; //8 int m_iSkinWidthPx; int m_iSkinHeightPx; int m_iFrameSize; int m_iNumSkins; int m_iNumVertices; int m_iNumTexCoords; int m_iNumTriangles; int m_iNumGLCommands; int m_iNumFrames; int m_iOffsetSkins; int m_iOffsetTexCoords; int m_iOffsetTriangles; int m_iOffsetFrames; int m_iOffsetGlCommands; int m_iFileSize; }; //------------------------------------------------------------- //- SMD2Vert //- Vertex structure for MD2 struct SMD2Vert { float m_fVert[3]; unsigned char m_ucReserved; }; //------------------------------------------------------------- //- SMD2Frame //- Frame information for the model file struct SMD2Frame { float m_fScale[3]; float m_fTrans[3]; char m_caName[16]; SMD2Vert * m_pVerts; //Cleans up after itself SMD2Frame() { m_pVerts = 0; } ~SMD2Frame() { if(m_pVerts) delete [] m_pVerts; } }; //------------------------------------------------------------- //- SMD2Tri //- Triangle information for the MD2 struct SMD2Tri { unsigned short m_sVertIndices[3]; unsigned short m_sTexIndices[3]; }; //------------------------------------------------------------- //- SMD2TexCoord //- Texture coord information for the MD2 struct SMD2TexCoord { float m_fTex[2]; }; //------------------------------------------------------------- //- SMD2Skin //- Name of a single skin in the md2 file struct SMD2Skin { char m_caSkin[64];//filename CImage m_Image;//Image file ready for texturing }; //------------------------------------------------------------- // CTIMER - // author: Evan Pipho ([evan-:-codershq-:-com]) - // date : Jul 10, 2002 - //------------------------------------------------------------- class CMd2 : public CModel { public: //Set skin to one of the files specified in the md2 files itself void SetSkin(unsigned int uiSkin); //Set skin to a different image void SetSkin(CImage& skin); //Load the file bool Load(const char * szFilename); //Render file at the initial position void Render(); //Render the file at a certain frame void Render(unsigned int uiFrame); //Animate the md2 model (start and end frames of 0 and 0 will loop through the WHOLE model void Animate(float fSpeed = 30.0f, unsigned int uiStartFrame = 0, unsigned int uiEndFrame = 0, bool bLoop = true); //constructors/destructo CMd2(); CMd2(const char * szFile); ~CMd2(); private: CTimer m_Timer; //file header information SMD2Header m_Head; //Frame information SMD2Frame * m_pFrames; //Triangles SMD2Tri * m_pTriangles; //Texure coords SMD2TexCoord * m_pTexCoords; //Skin files SMD2Skin * m_pSkins; //Interpolated vertices SMD2Vert * m_pVerts; //Current skin unsigned int m_uiSkin; //Using a custom skin? bool m_bIsCustomSkin; //The custom skin CImage * m_pCustSkin; }; | |
Group: Script Library ... REBOL.org: Script library and Mailing list archive [web-public] | ||
Graham: 12-Jan-2005 | I just looked at liquid.r and got this... ;; =========================== ;; Script: liquid.r ;; Downloaded from: www.REBOL.org ;; On: 6-Jul-2004/12:40:49 ;; =========================== ;; email address(es) have been munged to ;; protect them from spam harvesters. ;; Munged: %moliad--aei--ca ;; =========================== rebol [ ; -- basic rebol header -- file: %liquid.r version: 0.9.1 date: 2004-01-25 title: "liquid.r - data flow management" author: "Maxim Olivier-Adlhoch" copyright: "Copyright (c) 2002-2004 Maxim Olivier-Adlhoch" | |
Graham: 12-Jan-2005 | Does the library add the comments before the script starts, and what is the meaning of the date "6-Jul-2004" ? | |
Ammon: 12-Jan-2005 | The library does add those comments and I'm guessing that the date is when it was last uploaded... | |
Sunanda: 13-Jan-2005 | The Library does add tnose comments when you click the download button. It's partially to warn you if the munging to protext emails has changed the script in any way that matters -- you may need to demung some scripts to make them work. . The date is irrelevant and confusing. It means nothi ng....I don't think we add it any more. If you want to know the history of versions of a script: use the History link, eg: http://www.rebol.org/cgi-bin/cgiwrap/rebol/script-history.r?script-name=liquid.r | |
Sunanda: 13-Apr-2006 | Graham -- nice idea, but I can see two problems: [1] [web-public] is not a fine enough flag to control whether a whole group should be published publicly. web-public needs a start date [or ranges of dates] to indicate which messages were posted while the group was not private. Without that, we'd be republishing messages from a "secure and private world" (Altme's own description) without explicit permission from all the contributers. | |
Sunanda: 18-Apr-2006 | Either that, or the publisher will need a list of which forums are public, and the date range(s) for which messages can be published. That initial list would need to be constructed manually. Thereafter, they could keep it up to date by watching for "[web-public]" to appear or disappear in group titles. | |
[unknown: 9]: 18-Apr-2006 | REBOLCentral is now nearly five months old as a project, it would be best to not connect the date someone begins talking about something with when the "project began." Separate than this specific example, I notice this comes up a lot. I guess phrases like "Bob has been talking about fixing that for years now" just seem very odd to me. Unless Bob himself set the end date….or start date. Anyway…funny enough, we were just talking this week about what off the shelf tools we plan to use for RebolCentral. Over the past 5 months, we built a non-profit wonderfully successful website for another cause that has generated great usage and created a sense of community. Now that it is pretty stable, we will be moving on to RC. | |
Maxim: 14-Sep-2006 | sunanda I am getting an error from the server itself! whenever I press download, it starts the download (shows the green xfer data on the bottom, and then pops up an error: here is the error as reported by LDS: make object! [ status: [100 20 "bad cgi data"] data: none diagnostics: [9003 9003 9.8084E-2] supply-date: 15-Sep-2006/1:03:41 ] have any idea where that is comming from? I try to check it out from the code I have... but its been sooo long, A nudge on your part will help me get this working much faster IMHO! | |
btiffin: 30-Apr-2007 | %datascreen.r %screening.r? Naming is fun. %filtered-import.r is nice too. Note to everybody: If you haven't, check out Chris's %form-date.r, newly in the library... Chris's func'ies are funky, and a nice learn. | |
btiffin: 5-Jun-2007 | Done. Maxim...you may want to update the History, date them for when you actually wrote the code... animresize.r and fastscroll.r | |
btiffin: 19-Jul-2007 | For everybody...no more mucking with date formatting... Use Chris' %form-date.r from the library. form-date now/precise "%c" full REBOL timestamps nicely formatted. "%s" added for seconds with nanosecond precision. (Precision...not accuracy) All your dates and times can line up now. :) | |
btiffin: 19-Jul-2007 | Redirected from I'm new...javascript time Integer date and times are a problem without some real mucking about. | |
btiffin: 19-Jul-2007 | Graham; I just did a search, Gregg posted date-to-epoch in the DZone snippets. Along with epoch-to-date. Looks like standard run of the mill world class Gregg code. :) | |
Sunanda: 19-Jul-2007 | And, of course, if you use UNIX date format [seconds from 1-jan-1970], you have to politely pretend the dozen or so leap seconds inserted since then do not exist. | |
Gregg: 4-Apr-2008 | I haven't used it for a long time, because it's out of date WRT content. | |
Ammon: 8-Mar-2009 | I attempted to rename button.r to vid-button.r so the new script should be deleted and the old one renamed if possible. As for the rest of them... wizard.r TO vid-wizard.r group.r TO vid-group.r drop-down.r TO vid-drop-down.r dragbar.r TO vid-drag-bar.r date.r TO vid-date.r Since we won't be calling the GUI Dialect in R3 VID the new names should make what the scripts do clear even after R3 GUI scripts start popping up... | |
Sunanda: 9-Jul-2009 | REBOL.org just migrated from the world's slowest single server to a small load balanced cluster. Sadly, we're not superfast, but its early days yet. One cosmetic problem: we're showing the date as 6 hours out. Highly trained techies are working to resolve that. Other than that, it was a smooth move, mainly handled by the ISP. | |
Sunanda: 25-Sep-2009 | Something new in the Library....If you own scripts, you can add images to them to make it all a bit more graphic. Only example to date here: http://www.rebol.org/view-script.r?script=ascii-chart.r Notes about how to add images to yoour scripts here: http://www.rebol.org/boiler.r?display=script-images Thanks to Maxim for the original change request. | |
Sunanda: 13-Jun-2010 | Full marks for persistance! Apologies -- the FAQ is out of date, especially Part 3 that tells you (wrongly!) how to contribute scripts. I'll update it in the next couple of days. Thanks for reporting the problem. | |
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public] | ||
Normand: 29-Jun-2006 | Integer digits of a string: I want to check if all the digits of a string, str: "1984", are integer number, to check the validity of a date. Ideally I do not want to use integer to-integer, as in: check: func [ str [string!] ] [ for n 1 (length? str) 1 [integer? to-integer to-string pick str 1] ]. It seems to me that to beg the question. Any more elegant way to do that? | |
Group: Parse ... Discussion of PARSE dialect [web-public] | ||
Graham: 20-Mar-2005 | I've got this rule to parse email headers which only works some of the time. header-rule: [ thru "^/Date:" copy m-date to newline | thru "^/From:" copy m-from to newline | thru "^/Subject:" copy m-subject to newline | thru "^/To:" copy m-to to newline | thru "^/Return-path: " ] m-subject: m-date: m-from: m-to: none parse header [some header-rule] | |
Vincent: 20-Mar-2005 | you should only go 'thru the common line start. try something like: header-rule: [ "Date:" copy ... to newline | "From:" copy ... to newline | ... ] parse header [some [thru "^/" header-rule] | |
Graham: 20-Mar-2005 | header-rule: [ thru "Date:" copy m-date to newline | thru "From:" copy m-from to newline | thru "Subject:" copy m-subject to newline | thru "To:" copy m-to to newline ] m-subject: m-date: m-from: m-to: none parse header [header-rule some [ thru "^/" header-rule]] | |
Tomc: 20-Mar-2005 | and if you had a header with a line that did not begin with 'Date, From, Subject or To then you could prematurely break out of header-rule before you got all your bits | |
Vincent: 20-Mar-2005 | header-rule: [ "Date:" copy m-date to newline | "From:" copy m-from to newline | "Subject:" copy m-subject to newline | "To:" copy m-to to newline | to newline ] m-subject: m-date: m-from: m-to: none parse header [header-rule some [ thru "^/" header-rule]] | |
Vincent: 20-Mar-2005 | else Date: ... X-Something: ... ; break the rule To: ... From: ... | |
Tomc: 20-Mar-2005 | in your example having a rule more like header-rule: [ "Date:" copy date-rule | "From:" copy email-rule | "Subject:" copy some alpha-num | "To:" copy email-rule | to newline ] where email-rule only matched email addresses would more taint like | |
Group: MySQL ... [web-public] | ||
Henrik: 23-Aug-2005 | I think you can do that. cronjobs are normal scripts that are carried out. they reside in a table of cronjobs which basically is a shell script with some time and date information added | |
Coccinelle: 12-Jan-2006 | For the lonlong conversion, the conversion model is initialized to none. It should be initialized to integer like this : conv-model: [ decimal [to decimal!] tiny [to integer!] short [to integer!] long [to integer!] float [to decimal!] double none null none timestamp none ; longlong none ; Removed longlong [to integer!] ; Added int24 [to integer!] date [to date!] time [to time!] datetime [to date!] year [to integer!] newdate none enum none set none tiny-blob none medium-blob none long-blob none blob none var-string none string none ] | |
Group: Linux ... [web-public] group for linux REBOL users | ||
Pekr: 6-Oct-2005 | but that was reported some xyz versions before. They do regular updates, it is really a nice app, having auto-updates for itself and its plug-ins, simply a joy to use - that is how apps should work - install just once and then have it up-to-date for ages ... | |
Joe: 28-Oct-2005 | otherwise you're better off letting them handle the os upgrade or better ask for a up to date box (e.g. with Fedora core 4) and migrate | |
Tomc: 1-Mar-2006 | The libc bits on an up-to-date "Red Hat Enterprise Linux WS (v. 3 for x86)" -rwxr-xr-x 1 root root 1144368 Mar 24 2004 libstdc++-2-libc6.1-1-2.9.0.so -rw-r--r-- 1 root root 426620 Mar 24 2004 libstdc++-3-libc6.2-2-2.10.0.a -r-xr-xr-x 1 root root 408440 Mar 24 2004 libstdc++-3-libc6.2-2-2.10.0.so lrwxrwxrwx 1 root root 30 Dec 22 2004 libstdc++-libc6.1-1.so.2 -> libstdc++-2-libc6.1-1-2.9.0.so lrwxrwxrwx 1 root root 30 Dec 22 2004 libstdc++-libc6.2-2.a.3 -> libstdc++-3-libc6.2-2-2.10.0.a lrwxrwxrwx 1 root root 31 Dec 22 2004 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so lrwxrwxrwx 1 root root 20 Dec 22 2004 libstdc++.so.2.7.2 -> libstdc++.so.2.7.2.8 -rwxr-xr-x 1 root root 1025339 Mar 24 2004 libstdc++.so.2.7.2.8 lrwxrwxrwx 1 root root 18 Dec 22 2004 libstdc++.so.2.8 -> libstdc++.so.2.8.0 -rwxr-xr-x 1 root root 375773 Mar 24 2004 libstdc++.so.2.8.0 lrwxrwxrwx 1 root root 22 Dec 22 2004 libstdc++.so.2.9 -> libstdc++.so.2.9.dummy -rwxr-xr-x 1 root root 5428 Mar 24 2004 libstdc++.so.2.9.dummy lrwxrwxrwx 1 root root 18 Sep 29 18:51 libstdc++.so.5 -> libstdc++.so.5.0.3 -rwxr-xr-x 1 root root 709456 Jul 19 2005 libstdc++.so.5.0.3 | |
Group: CGI ... web server issues [web-public] | ||
BrianW: 28-May-2005 | hrm. I get weird behavior trying to run a cgi. Here's the code: #!/usr/local/bin/rebol -c REBOL [ Title: "Server Time" ] print "content-type: text/html^/" print [<HTML><BODY>] print ["Date/time is:" now] print [</BODY></HTML>] I get an Internal Server Error result in the browser, and here's the output in my error_log: [Sat May 28 16:21:38 2005] [error] [client 127.0.0.1] *** Boot Error 951: \r [Sat May 28 16:21:38 2005] [error] [client 127.0.0.1] Premature end of script headers: time.r If I run if with 'rebol time.r', it clears the screen and then displays this: content-type: text/html <HTML> <BODY> Date/time is: 28-May-2005/16:24:42-7:00 </BODY> </HTML> Aborted What the heck am I doing wrong? | |
BrianW: 28-May-2005 | [[wisti-:-localhost] cgi-bin]$ /usr/local/bin/rebol -c time.r content-type: text/html <HTML> <BODY> Date/time is: 28-May-2005/16:47:35-7:00 </BODY> </HTML> [[wisti-:-localhost] cgi-bin]$ | |
BrianW: 28-May-2005 | [[wisti-:-localhost] cgi-bin]$ unset DISPLAY [[wisti-:-localhost] cgi-bin]$ /usr/local/bin/rebol -c time.r content-type: text/html <HTML> <BODY> Date/time is: 28-May-2005/16:50:36-7:00 </BODY> </HTML> | |
Sunanda: 23-Aug-2005 | Do you mean a CMS written in REBOL? REBOL CMSes? Not sure there are any as such. It'd be good to have a generally available and scalable Rebol CMS. As an example of what is possible, have a play with the various indexes here (topic, date, author, subject) http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-index.r That's 50+meg of data, 42500 messages. All handled in pure REBOL. | |
Louis: 10-May-2006 | What is wrong with this script? #!/home/daysprin/public_html/cgi-bin/rebol -cs REBOL [] print "Content-type: text/html^/" html: make string! 2000 emit: func [data] [repend html data] read-cgi: func [ ;Read CGI data. Return data as string or NONE. /local data buffer ][ switch system/options/cgi/request-method [ "POST" [ data: make string! 1020 buffer: make string! 16380 while [positive? read-io system/ports/input buffer 16380][ append data buffer clear buffer ] ] "GET" [data: system/options/cgi/query-string] ] data probe data ] cgi-data: decode-cgi read-cgi print cgi-data write/append %nr.txt reform [ now/date system/options/cgi/remote-addr mold cgi-data newline ] | |
Louis: 10-May-2006 | It writes the date and remote-add to the file, but does not write cgi-data to the file. What is wrong? | |
Gabriele: 28-Sep-2006 | afaik, the latest formmail.pl is "secure enough" (esp. if you configure it properly). it's not the best system out there, and being very popular it is also a popular target, but if you don't have time to replace it but can keep it up to date you should be fine. | |
Group: !Readmail ... a Rebol mail client [web-public] | ||
PhilB: 21-Apr-2005 | Hi Fabrice .... the format of the locale.r has changed in release 4.7.12 (for securty purposes) It should now be of the form ... REBOL [ Title: "Test Locale" Date: 31-Dec-2004/18:00:00 ] gm_about: "About" gm_Accounts: "Accounts" gm_Contacts: "Contacts" So you just need to remove the gv_locale/ from your code | |
Fabrice: 20-May-2005 | Received: from web26108.mail.ukl.yahoo.com ([217.12.10.232]) by mail.prosygma-asp.com (Merak 7.5.2) with SMTP id 1TI26716 for <[me-:-you-:-com]>; Tue, 26 Apr 2005 04:58:31 +0200 Received: (qmail 67900 invoked by uid 60001); 26 Apr 2005 02:58:30 -0000 Message-ID: <[20050426025830-:-67898-:-qmail-:-web26108-:-mail-:-ukl-:-yahoo-:-com]> Received: from [81.248.68.164] by web26108.mail.ukl.yahoo.com via HTTP; Tue, 26 Apr 2005 04:58:29 CEST Date: Tue, 26 Apr 2005 04:58:29 +0200 (CEST) From: Rodrigue <[you-:-me-:-com]> Subject: Re: Erreur lors de l'enregistrement d'une news To: Admin Rebol <[me-:-you-:-com]> In-Reply-To: 6667 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="0-370637848-1114484309=:67141" Content-Transfer-Encoding: 8bit X-Antivirus: avast! (VPS 0517-0, 25/04/2005), Inbound message X-Antivirus-Status: Clean --0-370637848-1114484309=:67141 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Salut Fabrice, Peux tu me redire sous quel format je dois envoyer les photos Rodrigue Admin Rebol <[me-:-you-:-com]> wrote: Bonjour Rodrigue, >Salut Fabrice, >contrairement à ce que je t'expliquais hier soir, les news ne s'enregistrent pas. >voilà le message d'erreur : Peux-tu m'envoyer ce que tu veux mettre en ligne par @ ? Je vérifierais directement avec tes données car il n'y a pas de problème de mon côté pour ajouter les news. Merci. -- Fabrice --------------------------------- Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails ! Créez votre Yahoo! Mail --0-370637848-1114484309=:67141 Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: 8bit <DIV>Salut Fabrice,</DIV> <DIV> </DIV> <DIV>Peux tu me redire sous quel format je dois envoyer les photos<BR></DIV> <DIV>Rodrigue</DIV> <DIV><BR><B><I>Admin Rebol <[me-:-you-:-com]></I></B> wrote:</DIV> <BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">Bonjour Rodrigue,<BR><BR>>Salut Fabrice,<BR>>contrairement à ce que je t'expliquais hier soir, les news ne s'enregistrent pas.<BR>>voilà le message d'erreur : <BR><BR>Peux-tu m'envoyer ce que tu veux mettre en ligne par @ ?<BR>Je vérifierais directement avec tes données car il n'y a pas de problème de mon côté pour ajouter les news.<BR><BR>Merci.<BR><BR>-- <BR>Fabrice<BR></BLOCKQUOTE><p> <hr size=1> Découvrez le nouveau Yahoo! Mail : <font color="red">250 Mo d'espace</font> de stockage pour vos mails !<br><a href="http://fr.rd.yahoo.com/mail/taglines/*http://us.rd.yahoo.com/evt=25917/*http://us.rd.yahoo.com/mail_fr/mail_campaigns/splash/taglines_250/default/*http://fr.promotions.yahoo.com/mail/creer28.html">Créez votre Yahoo! Mail</a> --0-370637848-1114484309=:67141-- | |
Group: SDK ... [web-public] | ||
Graham: 22-Mar-2005 | I found that under win32, set-modes file [ modication-date: date ] works in the betas, but not in the latest sdk. Can anyone else confirm this? | |
Graham: 5-Dec-2005 | If you have an up-to-date SDK license, you can download the new distribution from: www.rebol.net/builds/sdk If you do not have an SDK or command license, we encourage you to buy one and help support REBOL development. | |
Group: !RebGUI ... A lightweight alternative to VID [web-public] | ||
Ashley: 26-Mar-2005 | Vincent: 'list behavior & features - less is more at this stage, once we have something to look at we can refine it. shadwolf: 'text+ removal. While a useful widget for certain domains (like WYSIWYG editors / browsers) it's not a basic building block widget. There were also some unresolved implementation issues with it at this stage - I'll add it back in at a later date as an optional or advanced widget. shadwolf: multi-column list. An implementation model I liked was that adopted by Gui4Cli ( http://users.hol.gr/~dck/g4c/) which allows simple "table" representations (including column type and alignment definitions). Can't say I've come across that many UI's that use anything other than text / numbers in a standard list (thumbnails and scrolling check-box options are usually implemented in an app specific manner). Ammon: 'display/popup. If it's sufficiently different from 'display/layout then I'm all for it. Ammon: Wizard style. A wizard widget, if simple enough, would be a good addition. Like 'group-box and 'tab-panel it is a meta-widget that groups / uses other widgets. I'll make this distinction clearer in the next version of the docs. On a side note, my install example has convinced me of the need for an 'indent option (and the fact that use of 'offset should reset the line-height calculation). Ammon: "Unless otherwise specified, text size reverts to 200x9999 if the string contains a newline." I probably need to rephrase this, but what I was trying to say was that by default 'text is 9999x20 which let's you write a string without having to know it's width in advance (9999 will auto-size it), *but* if the string contains a newline then it is the height that is the more important variable so it'll use 200x9999 instead. Of course it'll only do this if you don't provide an explicit size yourself (the "unless otherwise specified" bit). Hope that makes a bit more sense. | |
Graham: 27-Mar-2005 | What's wrong here ? display "Configuration" [ group-box [ "Panel" data [ text [ size 90 "Server (IP) " ] svr: field [ size 100x20 ]return text [ size 90 "Userid: " ] uid: field [ size 80x20 ] return text [ size 90 "Password: " ] pwd: field hide [ size 80x20 ] return text [ size 90 "Period (secs): " ] pd: field [ size 40x20 ] return text [ size 90 "Start Date: " ] dp: field [ size 80x20 ] return ] ] ] | |
Ashley: 28-Apr-2005 | Latest build available at: http://www.dobeash.com/files/RebGUI-021.zip Highlights include: - Specification dialect is now VID compatible (and 35% slower) - request-color and request-date added - Span attribute changed from tuple to issue - Couple of minor fixes - %tour.r has an additional "Requestors" tab I wanted to get this build out before folks went too far down the converting from VID to RebGUI and vice versa path. If a parse expert (I'm not one) could suggest performance improvements for the main display parse loop that would be great. | |
Group: !Uniserve ... Creating Uniserve processes [web-public] | ||
Graham: 5-Mar-2005 | REBOL [ Title: "SMTP daemon" Author: "Graham Chiu" Version: 0.0.1 Date: 5/3/2005 ] install-service [ name: 'smtp port-id: 25 multi-line-end: rejoin [crlf #"." crlf] stop-at: crlf server: make object! [ user-data: none ] maildir: %mail/ ; store mail here save-mail: func [ data /local mailbox ][ if not dir? mailbox: rejoin [ maildir server/user-data/email "/" ] [ if not exists? join maildir %misc/ [ mailbox: make-dir join maildir %misc/ ] ] if not exists? join mailbox "mail.txt" [ write join mailbox "mail.txt" "" ] write/append join mailbox "mail.txt" join crlf to-string data print dehex data ] on-new-client: has [su] [ su: server/user-data: context [ state: copy "command" email: none ] stop-at: crlf write-client join "220 mail.compkarori.co.nz SMTP" crlf ] smtp-rule: [ "HELO" thru newline ( write-client join "250 mail.compkarori.co.nz SMTP" crlf ) | "EHLO" thru newline ( write-client join "500 not implemented" crlf ) | "MAIL" thru newline ( write-client join "250 OK MAIL FROM" crlf) | "QUIT" thru newline ( write-client join "221 Good Bye" crlf close-client) | "RSET" thru newline ( write-client join "250 OK RESET" crlf server/user-data/state: copy "command" ) | "NOOP" thru newline ( write-client join "250 OK NOOP" crlf ) | "VRFY" thru newline ( write-client join "252 send some mail, i'll try my best" crlf ) | "EXPN" thru newline ( write-client join "500 not implemented" crlf ) | "RCPT" [ thru "<" | thru ": " ] copy name to "@" thru newline ( server/user-data/email: form name write-client join "250 OK RCPT TO" crlf ) | "DATA" thru newline ( stop-at: multi-line-end server/user-data/state: copy "body" ) ] on-received: func [data /local su] [ su: server/user-data print join "Data: " data switch su/state [ "command" [ if not parse data smtp-rule [ write-client join "500 command not understood" crlf ] ] "body" [ ; reject if we don't have a RCPT command first if none? su/email [ write-client join "500 no email address received" crlf stop-at: crlf su/state: copy "command" return ] ; write the body of the message somewhere save-mail rejoin [ "Received: from somewhere at " to-idate now newline dehex data newline newline ] stop-at: crlf write-client join "250 OK MAIL received" crlf su/state: "command" su/email: none ] ] ] ] | |
Graham: 5-Mar-2005 | REBOL [ Title: "SMTP daemon" Author: "Graham Chiu" Version: 0.0.2 Date: 5/3/2005 ] install-service [ name: 'smtp port-id: 25 multi-line-end: rejoin [crlf #"." crlf] stop-at: crlf server: make object! [ user-data: none ] clear-server: server/user-data [ state: "command" email: computer: none ] maildir: %mail/ ; store mail here domains: [ "@compkarori.co.nz" ] ; list of accepted domains save-mail: func [ data /local mailbox ][ if not dir? mailbox: rejoin [ maildir server/user-data/email "/" ] [ if not exists? mailbox: join maildir %misc/ [ mailbox: make-dir join maildir %misc/ ] ] if not exists? join mailbox "mail.txt" [ write join mailbox "mail.txt" "" ] write/append join mailbox "mail.txt" join crlf to-string data ; print dehex data ] on-new-client: has [su] [ su: server/user-data: context [ state: copy "command" email: computer: none ] stop-at: crlf write-client join "220 mail.compkarori.co.nz SMTP" crlf ] smtp-rule: [ "HELO" copy name thru newline ( write-client join "250 mail.compkarori.co.nz SMTP" crlf if not none? name [ trim/head/tail name ] server/user-data/computer: form name ) | "EHLO" thru newline ( write-client join "500 not implemented" crlf ) | "MAIL" thru newline ( write-client join "250 OK MAIL FROM" crlf) | "QUIT" thru newline ( write-client join "221 Good Bye" crlf close-client) | "RSET" thru newline ( write-client join "250 OK RESET" crlf clear-server ) | "NOOP" thru newline ( write-client join "250 OK NOOP" crlf ) | "VRFY" thru newline ( write-client join "252 send some mail, i'll try my best" crlf ) | "EXPN" thru newline ( write-client join "500 not implemented" crlf ) | "RCPT" [ thru "<" | thru ": " ] copy name to "@" copy domain to ">" thru newline ( either find domains domain [ server/user-data/email: form name write-client join "250 OK RCPT TO" crlf ][ write-client join "553 sorry, that domain is not in my list of allowed rcpthosts" crlf server/user-data/email: none ] ) | "DATA" thru newline ( stop-at: multi-line-end server/user-data/state: copy "body" write-client join "354 start mail input" crlf ) ] on-received: func [data /local su] [ su: server/user-data ; print join "Data: " data switch su/state [ "command" [ if not parse data smtp-rule [ write-client join "500 command not understood" crlf ] ] "body" [ ; reject if we don't have a RCPT command first if none? su/email [ write-client join "500 no email address received" crlf stop-at: crlf su/state: copy "command" return ] ; write the body of the message somewhere save-mail rejoin [ "Received: from " su/computer " ( " su/computer " [ " client/remote-ip " ]) " to-idate now newline dehex data newline newline ] stop-at: crlf write-client join "250 OK MAIL received" crlf su/state: "command" su/email: none ] ] ] ] | |
Anton: 18-Mar-2005 | Reporting-MTA: dns; sv7.prth.eftel.com X-Postfix-Queue-ID: E836A143ADA X-Postfix-Sender: rfc822; <anton's email address> Arrival-Date: Thu, 17 Mar 2005 21:00:45 +0800 (WST) Final-Recipient: rfc822; [gchiu-:-compkarori-:-com] Action: failed Status: 5.0.0 Diagnostic-Code: X-Postfix; host pop.compkarori.com[203.79.110.37] said: 552 write failure (in reply to end of DATA command) | |
Philippe: 13-May-2006 | Have you planned a target date for a beta of Cheyenne ? | |
Group: XML ... xml related conversations [web-public] | ||
Christophe: 7-Nov-2005 | More recent and up-to-date (and used by the french community) is RUn : http://rebol-unit.sourceforge.net/ | |
CharlesW: 1-Aug-2009 | Here is the snipped of XMl: <?xml version="1.0"?> <xts:sports-content-set xmlns:xts="http://www.xmlteam.com"query-date-time="20090724T011802-0400" query-string="http://fod.xmlteam.com/api-trial/getDocuments?doc-ids=xt.9140271-box" hostname="fod.xmlteam.com" result-count="1" error-count="0" elapsed-time="64.2ms"><sports-content xmlns:str="java.lang.String" xmlns:dt="http://xsltsl.org/date-time" xmlns:xts="http://www.xmlteam.com"xmlns:exsl="http://exslt.org/common" path-id="baseball/l.mlb.com/event-summary/xt.9140271-box" xts:systemid="MLB_Boxscore_XML" xts:tsnid="9140271"> <sports-metadata xmlns:fs="java.io.File" date-time="20090323T193000-0400" doc-id="xt.9140271-box" xts:tsnslug="AAX%BOX-LOS-ANA" language="en-US" revision-id="l.mlb.com-2009-e.26882-event-stats-sportsnetwork.com" fixture-key="event-stats" document-class="event-summary" fixture-name="Box Score"> <sports-title>Boxscore: LA Angels vs. Los Angeles</sports-title> <sports-content-codes> <sports-content-code code-name="The Sports Network" code-key="sportsnetwork.com" code-type="publisher"/> <sports-content-code code-name="XML Team Solutions, Inc." code-key="xmlteam.com" code-type="distributor"/> <sports-content-code code-type="sport" code-key="15007000" code-name="Baseball"/> <sports-content-code code-type="league" code-key="l.mlb.com" code-name="Major League Baseball"/> <sports-content-code code-type="season-type" code-key="pre-season"/> <sports-content-code code-type="season" code-key="2009"/> <sports-content-code code-type="priority" code-key="normal"/> <sports-content-code code-type="conference" code-key="c.national" code-name="National"/> <sports-content-code code-type="conference" code-key="c.american" code-name="American"/> <sports-content-code code-type="team" code-key="l.mlb.com-t.11" code-name="Los Angeles Angels"/> <sports-content-code code-type="team" code-key="l.mlb.com-t.28" code-name="Los Angeles Dodgers"/> <sports-content-code code-type="action-listing" code-key="complete"/> </sports-content-codes> </sports-metadata> <sports-event xmlns:fs="java.io.File"> <event-metadata xmlns:xte="www.xmlteam.com/xte" date-coverage-type="event" event-key="l.mlb.com-2009-e.26882" date-coverage-value="l.mlb.com-2009-e.26882" event-status="post-event" duration="2:58" start-date-time="20090323T160500-0400" xts:game-of-day="1"> <sports-content-codes/> <event-metadata-baseball/> <site> <site-metadata> <home-location/> </site-metadata> <site-stats attendance="8704"/> </site> </event-metadata> <team> <team-metadata team-key="l.mlb.com-t.28" alignment="away"> <name first="Los Angeles" last="Dodgers"/> </team-metadata> <team-stats score="4" score-opposing="10" event-outcome="loss"> <sub-score period-value="1" score="1"/> <sub-score period-value="2" score="0"/> <sub-score period-value="3" score="0"/> <sub-score period-value="4" score="3"/> <sub-score period-value="5" score="0"/> <sub-score period-value="6" score="0"/> <sub-score period-value="7" score="0"/> <sub-score period-value="8" score="0"/> <sub-score period-value="9" score="0"/> <team-stats-baseball> <stats-baseball-offensive runs-scored="4" at-bats="36" hits="9" rbi="4" bases-on-balls="2" strikeouts="4" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="1" stolen-bases="1" stolen-bases-caught="1" hit-by-pitch="0" left-on-base="7"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> <stats-baseball-pitching runs-allowed="10" hits="13" earned-runs="10" bases-on-balls="6" strikeouts="8" era="10.000" balks="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" shutouts="0" games-complete="0" wins="0" losses="1"/> </team-stats-baseball> </team-stats> <player id="b.11965"> <player-metadata position-event="8" player-key="l.mlb.com-p.11965" status="starter"> <name first="Matt" last="Kemp"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="4" hits="1" rbi="2" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="1" hit-by-pitch="0" average=".271"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> | |
CharlesW: 1-Aug-2009 | I<?xml version="1.0"?> <xts:sports-content-set xmlns:xts="http://www.xmlteam.com"query-date-time="20090724T011802-0400" query-string="http://fod.xmlteam.com/api-trial/getDocuments?doc-ids=xt.9140271-box" hostname="fod.xmlteam.com" result-count="1" error-count="0" elapsed-time="64.2ms"><sports-content xmlns:str="java.lang.String" xmlns:dt="http://xsltsl.org/date-time" xmlns:xts="http://www.xmlteam.com"xmlns:exsl="http://exslt.org/common" path-id="baseball/l.mlb.com/event-summary/xt.9140271-box" xts:systemid="MLB_Boxscore_XML" xts:tsnid="9140271"> <sports-metadata xmlns:fs="java.io.File" date-time="20090323T193000-0400" doc-id="xt.9140271-box" xts:tsnslug="AAX%BOX-LOS-ANA" language="en-US" revision-id="l.mlb.com-2009-e.26882-event-stats-sportsnetwork.com" fixture-key="event-stats" document-class="event-summary" fixture-name="Box Score"> <sports-title>Boxscore: LA Angels vs. Los Angeles</sports-title> <sports-content-codes> <sports-content-code code-name="The Sports Network" code-key="sportsnetwork.com" code-type="publisher"/> <sports-content-code code-name="XML Team Solutions, Inc." code-key="xmlteam.com" code-type="distributor"/> <sports-content-code code-type="sport" code-key="15007000" code-name="Baseball"/> <sports-content-code code-type="league" code-key="l.mlb.com" code-name="Major League Baseball"/> <sports-content-code code-type="season-type" code-key="pre-season"/> <sports-content-code code-type="season" code-key="2009"/> <sports-content-code code-type="priority" code-key="normal"/> <sports-content-code code-type="conference" code-key="c.national" code-name="National"/> <sports-content-code code-type="conference" code-key="c.american" code-name="American"/> <sports-content-code code-type="team" code-key="l.mlb.com-t.11" code-name="Los Angeles Angels"/> <sports-content-code code-type="team" code-key="l.mlb.com-t.28" code-name="Los Angeles Dodgers"/> <sports-content-code code-type="action-listing" code-key="complete"/> </sports-content-codes> </sports-metadata> <sports-event xmlns:fs="java.io.File"> <event-metadata xmlns:xte="www.xmlteam.com/xte" date-coverage-type="event" event-key="l.mlb.com-2009-e.26882" date-coverage-value="l.mlb.com-2009-e.26882" event-status="post-event" duration="2:58" start-date-time="20090323T160500-0400" xts:game-of-day="1"> <sports-content-codes/> <event-metadata-baseball/> <site> <site-metadata> <home-location/> </site-metadata> <site-stats attendance="8704"/> </site> </event-metadata> <team> <team-metadata team-key="l.mlb.com-t.28" alignment="away"> <name first="Los Angeles" last="Dodgers"/> </team-metadata> <team-stats score="4" score-opposing="10" event-outcome="loss"> <sub-score period-value="1" score="1"/> <sub-score period-value="2" score="0"/> <sub-score period-value="3" score="0"/> <sub-score period-value="4" score="3"/> <sub-score period-value="5" score="0"/> <sub-score period-value="6" score="0"/> <sub-score period-value="7" score="0"/> <sub-score period-value="8" score="0"/> <sub-score period-value="9" score="0"/> <team-stats-baseball> <stats-baseball-offensive runs-scored="4" at-bats="36" hits="9" rbi="4" bases-on-balls="2" strikeouts="4" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="1" stolen-bases="1" stolen-bases-caught="1" hit-by-pitch="0" left-on-base="7"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> <stats-baseball-pitching runs-allowed="10" hits="13" earned-runs="10" bases-on-balls="6" strikeouts="8" era="10.000" balks="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" shutouts="0" games-complete="0" wins="0" losses="1"/> </team-stats-baseball> </team-stats> <player id="b.11965"> <player-metadata position-event="8" player-key="l.mlb.com-p.11965" status="starter"> <name first="Matt" last="Kemp"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="4" hits="1" rbi="2" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="1" hit-by-pitch="0" average=".271"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.7103"> <player-metadata position-event="8" player-key="l.mlb.com-p.7103" status="bench"> <name first="Jason" last="Repko"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".219"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.9917"> <player-metadata position-event="9" player-key="l.mlb.com-p.9917" status="starter"> <name first="Andre" last="Ethier"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="3" hits="2" rbi="0" bases-on-balls="1" strikeouts="0" singles="2" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".204"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6892"> <player-metadata position-event="pr,7" player-key="l.mlb.com-p.6892" status="bench"> <name first="John-Ford" last="Griffin"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="0" strikeouts="1" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".000"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.3810"> <player-metadata position-event="dh" player-key="l.mlb.com-p.3810" status="starter"> <name first="Manny" last="Ramirez"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="3" hits="0" rbi="0" bases-on-balls="0" strikeouts="2" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="1" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".200"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.9776"> <player-metadata position-event="ph,dh" player-key="l.mlb.com-p.9776" status="bench"> <name first="A.J." last="Ellis"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="1" rbi="0" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".320"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6773"> <player-metadata position-event="3" player-key="l.mlb.com-p.6773" status="starter"> <name first="James" last="Loney"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="4" hits="1" rbi="0" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".241"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.5664"> <player-metadata position-event="3" player-key="l.mlb.com-p.5664" status="bench"> <name first="Doug" last="Mientkiewicz"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="0" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".238"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.13237"> <player-metadata position-event="2" player-key="l.mlb.com-p.13237" status="starter"> <name first="Russell" last="Martin"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="3" hits="2" rbi="1" bases-on-balls="0" strikeouts="0" singles="2" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="1" stolen-bases-caught="0" hit-by-pitch="0" average=".394"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.7897"> <player-metadata position-event="2" player-key="l.mlb.com-p.7897" status="bench"> <name first="Danny" last="Ardoin"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".375"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.2687"> <player-metadata position-event="5" player-key="l.mlb.com-p.2687" status="starter"> <name first="Mark" last="Loretta"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".250"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.14163"> <player-metadata position-event="5" player-key="l.mlb.com-p.14163" status="bench"> <name first="Luis" last="Maza"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="1" rbi="0" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".100"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.17507"> <player-metadata position-event="4" player-key="l.mlb.com-p.17507" status="starter"> <name first="Blake" last="DeWitt"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="0" rbi="0" bases-on-balls="0" strikeouts="1" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".288"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.1347"> <player-metadata position-event="4" player-key="l.mlb.com-p.1347" status="bench"> <name first="Juan" last="Castro"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".436"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.14313"> <player-metadata position-event="7,9" player-key="l.mlb.com-p.14313" status="starter"> <name first="Xavier" last="Paul"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="3" hits="0" rbi="0" bases-on-balls="1" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".383"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.18742"> <player-metadata position-event="6" player-key="l.mlb.com-p.18742" status="starter"> <name first="Chin-Lung" last="Hu"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="4" hits="1" rbi="1" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".316"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.8512"> <player-metadata position-event="1" player-key="l.mlb.com-p.8512" status="starter"> <name first="Chad" last="Billingsley"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="4" innings-pitched="2" hits="4" earned-runs="4" bases-on-balls="3" strikeouts="2" era="6.35" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="1" xts:losses-season="1" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.5381"> <player-metadata position-event="1" player-key="l.mlb.com-p.5381" status="bench"> <name first="Jeff" last="Weaver"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="2" innings-pitched="2" hits="3" earned-runs="2" bases-on-balls="0" strikeouts="2" era="7.88" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="1" saves-blown="0" saves="0" event-credit="loss" xts:wins-season="0" xts:losses-season="1" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.18258"> <player-metadata position-event="1" player-key="l.mlb.com-p.18258" status="bench"> <name first="Scott" last="Elbert"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="0" innings-pitched="1" hits="1" earned-runs="0" bases-on-balls="0" strikeouts="1" era="6.14" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="1" xts:losses-season="0" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.7482"> <player-metadata position-event="1" player-key="l.mlb.com-p.7482" status="bench"> <name first="Erick" last="Threets"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="2" innings-pitched="1" hits="1" earned-runs="2" bases-on-balls="1" strikeouts="2" era="5.40" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="0" xts:losses-season="0" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.19392"> <player-metadata position-event="1" player-key="l.mlb.com-p.19392" status="bench"> <name first="Ramon" last="Troncoso"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="2" innings-pitched="1" hits="3" earned-runs="2" bases-on-balls="1" strikeouts="0" era="7.88" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="0" xts:losses-season="1" xts:saves-season="1" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.14165"> <player-metadata position-event="1" player-key="l.mlb.com-p.14165" status="finished"> <name first="Brian" last="Mazone"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="0" innings-pitched="1" hits="1" earned-runs="0" bases-on-balls="1" strikeouts="1" era="0.00" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="0" xts:losses-season="0" xts:saves-season="1" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> </team> <team> <team-metadata team-key="l.mlb.com-t.11" alignment="home"> <name first="Los Angeles" last="Angels"/> </team-metadata> <team-stats score="10" score-opposing="4" event-outcome="win"> <sub-score period-value="1" score="2"/> <sub-score period-value="2" score="2"/> <sub-score period-value="3" score="0"/> <sub-score period-value="4" score="2"/> <sub-score period-value="5" score="0"/> <sub-score period-value="6" score="2"/> <sub-score period-value="7" score="2"/> <sub-score period-value="8" score="0"/> <sub-score period-value="9"/> <team-stats-baseball> <stats-baseball-offensive runs-scored="10" at-bats="34" hits="13" rbi="10" bases-on-balls="6" strikeouts="8" doubles="2" triples="1" home-runs="3" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="1" stolen-bases="0" stolen-bases-caught="2" hit-by-pitch="0" left-on-base="6"/> <stats-baseball-defensive errors="3" errors-passed-ball="0"/> <stats-baseball-pitching runs-allowed="4" hits="9" earned-runs="3" bases-on-balls="2" strikeouts="4" era="3.000" balks="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" shutouts="0" games-complete="0" wins="1" losses="0"/> </team-stats-baseball> </team-stats> <player id="b.6445"> <player-metadata position-event="5" player-key="l.mlb.com-p.6445" status="starter"> <name first="Chone" last="Figgins"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="1" rbi="1" bases-on-balls="1" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="2" hit-by-pitch="0" average=".325"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.20376"> <player-metadata position-event="ph,8" player-key="l.mlb.com-p.20376" status="bench"> <name first="Coby" last="Smith"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="1" rbi="0" bases-on-balls="0" strikeouts="1" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".667"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.11967"> <player-metadata position-event="4" player-key="l.mlb.com-p.11967" status="starter"> <name first="Howie" last="Kendrick"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="0" rbi="0" bases-on-balls="1" strikeouts="2" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".344"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.7011"> <player-metadata position-event="ph,2" player-key="l.mlb.com-p.7011" status="bench"> <name first="Ryan" last="Budde"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="1" strikeouts="1" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".412"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.5533"> <player-metadata position-event="7" player-key="l.mlb.com-p.5533" status="starter"> <name first="Bobby" last="Abreu"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="2" hits="0" rbi="0" bases-on-balls="1" strikeouts="2" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".263"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.11570"> <player-metadata position-event="5" player-key="l.mlb.com-p.11570" status="bench"> <name first="Brandon" last="Wood"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="2" hits="1" rbi="0" bases-on-balls="0" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="1" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".354"/> <stats-baseball-defensive errors="1" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.1946"> <player-metadata position-event="9" player-key="l.mlb.com-p.1946" status="starter"> <name first="Vladimir" last="Guerrero"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="3" hits="2" rbi="0" bases-on-balls="0" strikeouts="0" singles="2" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".250"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.19314"> <player-metadata position-event="9" player-key="l.mlb.com-p.19314" status="bench"> <name first="Chris" last="Pettit"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="2" hits="1" rbi="0" bases-on-balls="0" strikeouts="1" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".354"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.2062"> <player-metadata position-event="8" player-key="l.mlb.com-p.2062" status="starter"> <name first="Torii" last="Hunter"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="3" hits="1" rbi="2" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="1" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".182"/> <stats-baseball-defensive errors="1" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.15871"> <player-metadata position-event="4" player-key="l.mlb.com-p.15871" status="bench"> <name first="Sean" last="Rodriguez"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".282"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.18447"> <player-metadata position-event="3" player-key="l.mlb.com-p.18447" status="starter"> <name first="Kendry" last="Morales"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="3" hits="0" rbi="0" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".367"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.7262"> <player-metadata position-event="3" player-key="l.mlb.com-p.7262" status="bench"> <name first="Matthew" last="Brown"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="1" hits="0" rbi="1" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".550"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6012"> <player-metadata position-event="dh" player-key="l.mlb.com-p.6012" status="starter"> <name first="Juan" last="Rivera"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="2" hits="1" rbi="0" bases-on-balls="0" strikeouts="1" singles="0" doubles="1" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".211"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.5647"> <player-metadata position-event="ph,dh" player-key="l.mlb.com-p.5647" status="bench"> <name first="Gary" last="Matthews"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="0" at-bats="1" hits="0" rbi="0" bases-on-balls="1" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".357"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6928"> <player-metadata position-event="2" player-key="l.mlb.com-p.6928" status="starter"> <name first="Jeff" last="Mathis"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="2" hits="1" rbi="1" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="1" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".343"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6814"> <player-metadata position-event="ph,6" player-key="l.mlb.com-p.6814" status="bench"> <name first="Maicer" last="Izturis"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="1" hits="1" rbi="1" bases-on-balls="1" strikeouts="0" singles="1" doubles="0" triples="0" home-runs="0" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".278"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.8016"> <player-metadata position-event="6" player-key="l.mlb.com-p.8016" status="starter"> <name first="Erick" last="Aybar"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="2" at-bats="2" hits="2" rbi="2" bases-on-balls="0" strikeouts="0" singles="0" doubles="1" triples="0" home-runs="1" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".310"/> <stats-baseball-defensive errors="1" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="b.6589"> <player-metadata position-event="ph,7" player-key="l.mlb.com-p.6589" status="bench"> <name first="Robb" last="Quinlan"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-offensive runs-scored="1" at-bats="2" hits="1" rbi="2" bases-on-balls="0" strikeouts="0" singles="0" doubles="0" triples="0" home-runs="1" grand-slams="0" sac-flies="0" sacrifices="0" grounded-into-double-play="0" stolen-bases="0" stolen-bases-caught="0" hit-by-pitch="0" average=".310"/> <stats-baseball-defensive errors="0" errors-passed-ball="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.7092"> <player-metadata position-event="1" player-key="l.mlb.com-p.7092" status="starter"> <name first="Dustin" last="Moseley"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="4" innings-pitched="6" hits="8" earned-runs="3" bases-on-balls="1" strikeouts="3" era="3.15" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="1" losses="0" saves-blown="0" saves="0" event-credit="win" xts:wins-season="3" xts:losses-season="0" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.20390"> <player-metadata position-event="1" player-key="l.mlb.com-p.20390" status="bench"> <name first="Trevor" last="Reckling"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="0" innings-pitched="2" hits="1" earned-runs="0" bases-on-balls="1" strikeouts="0" era="0.00" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="0" xts:losses-season="0" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> <player id="p.20370"> <player-metadata position-event="1" player-key="l.mlb.com-p.20370" status="finished"> <name first="Mason" last="Tobin"/> </player-metadata> <player-stats> <player-stats-baseball> <stats-baseball-pitching runs-allowed="0" innings-pitched="1" hits="0" earned-runs="0" bases-on-balls="0" strikeouts="1" era="0.00" balks="0" shutouts="0" errors-wild-pitch="0" number-of-pitches="0" number-of-strikes="0" wins="0" losses="0" saves-blown="0" saves="0" xts:wins-season="0" xts:losses-season="0" xts:saves-season="0" xts:saves-blown-season="0"/> </player-stats-baseball> </player-stats> </player> </team> <officials> <official> <official-metadata position="Home Plate Umpire"> <name full="Jim Wolf"/> </official-metadata> </official> <official> <official-metadata position="First Base Umpire"> <name full="Bob Davidson"/> </official-metadata> </official> <official> <official-metadata position="Second Base Umpire"> <name full="Mike Winters"/> </official-metadata> </official> <official> <official-metadata position="Third Base Umpire"> <name full="Mike Everitt"/> </official-metadata> </official> </officials> <event-actions> <event-actions-baseball/> </event-actions> <highlight class="double-plays"> <p>Los Angeles 2; LA Angels 1.</p> </highlight> </sports-event> </sports-content></xts:sports-content-set> | |
Group: DevCon2005 ... DevCon 2005 [web-public] | ||
Maxim: 19-Jun-2005 | now the dates. If anyone of us is about to go there and reserve flights and hotels... the sooner the date is known, the sooner its possible to try and make it. | |
Group: SVG Renderer ... SVG rendering in Draw AGG [web-public] | ||
shadwolf: 23-Jun-2005 | REBOL [ Title: "SVG Demo" Owner: "Ashley G. Trüter" Version: 0.0.1 Date: 21-Jun-2005 Purpose: "Loads and displays a resizeable SVG file." History: { 0.0.1 Initial release } Notes: { Tested on very simple SVG icons Only a few basic styles / attributes / commands supported Does not handle sizes in units other than pixels (e.g. pt, in, cm, mm, etc) SVG path has an optional close command, "z" ... AGG shape equivalent auto-closes load-svg function needs to be totally refactored / optimized ... *sample only* } ] ; The following commands are available for path data: ; ; M = moveto ; L = lineto ; H = horizontal lineto ; V = vertical lineto ; C = curveto ; S = smooth curveto ; Q = quadratic Belzier curve ; T = smooth quadratic Belzier curveto ; A = elliptical Arc ; Z = closepath ;print: none ; comment out this line to enable debug messages load-svg: function [svg-file [file! string!] size [pair!]] [ id defs x y to-color to-byte draw-blk append-style svg-size scale-x scale-y ][ xml: either string? svg-file [parse-xml svg-file] [ unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"] parse-xml read svg-file ] unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"] ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find ID header!"] ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"] id: xml/3/1/2 defs: xml/3/1/3 ; ; --- Parse SVG id ; svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [ switch select id "width" [ "72pt" [120x120] "48pt" [80x80] "32pt" [60x60] ] ][ as-pair to integer! any [select id "width" "100"] to integer! any [select id "height" "100"] ] x: to integer! any [select id "x" "0"] y: to integer! any [select id "y" "0"] scale-x: size/x / svg-size/x scale-y: size/y / svg-size/y ; ; --- Helper functions ; to-color: func [s [string!]] [ ; converts a string in the form "#FFFFFF" to a 4-byte tuple to tuple! load rejoin ["#{" next s "00}"] ] to-byte: func [s [string!]] [ ; converts a string with a value 0-1 to an inverted byte 255 - to integer! 255 * to decimal! s ] ; ; --- Parse SVG defs ; draw-blk: copy [] append-style: function [ command [string!] blk [block!] ][ x xy pen-color fill-color line-width mode size radius shape closed? matrix transf-command ][ xy: 0x0 size: 0x0 line-width: 1 matrice: make block! [] radius: none transf-command: none foreach [attr val] blk [ switch attr [ "transform" [print "tranform have been found" ;probe val halt val: parse val "()," transf-command: first val probe transf-command switch transf-command [ "matrix" [ foreach word val [ if not find word "matrix" [ insert tail matrice to-decimal word ] ] ] ] ] "style" [ foreach [attr val] parse val ":;" [ switch/default attr [ "font-size" [ ] "stroke" [ switch/default first val [ #"#" [pen-color: to-color val] #"n" [pen-color: none] ][ print ["Unknown stroke:" val] ] ] "stroke-width" [line-width: to decimal! val] "fill" [ fill-color: switch/default first val [ #"#" [to-color val] #"n" [none] ][ print ["Unknown fill value:" val] none ] ] "fill-rule" [ mode: switch/default val [ "evenodd" ['even-odd] ][ print ["Unknown fill-rule value:" val] none ] ] "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: to-byte val] "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: to-byte val] "stroke-linejoin" [ insert tail draw-blk switch/default val [ "miter" [compose [line-join miter]] "round" [compose [line-join round]] "bevel" [compose [line-join bevel]] ][ print ["Unknown stroke-linejoin value:" val] none ] ] "stroke-linecap" [ insert tail draw-blk 'line-cap insert tail draw-blk to word! val ] ][ print ["Unknown style:" attr] ] ] ] "x" [xy/x: scale-x * val] "y" [xy/y: scale-y * val] "width" [size/x: scale-x * val] "height" [size/y: scale-y * val] "rx" [print "rx"] "ry" [radius: to decimal! val] "d" [ shape: copy [] x: none closed?: false foreach token load val [ switch/default token [ M [insert tail shape 'move] C [insert tail shape 'curve] L [insert tail shape 'line] z [closed?: true] ][ unless number? token [print ["Unknown path command:" token]] either x [insert tail shape as-pair x scale-y * token x: none] [x: scale-x * token] ] ] ] ] ] insert tail draw-blk compose [ pen (pen-color) fill-pen (fill-color) fill-rule (mode) line-width (line-width * min scale-x scale-y) ] switch command [ "rect" [ insert tail draw-blk compose [box (xy) (xy + size)] if radius [insert tail draw-blk radius] ] "path" [ unless closed? [print "Path closed"] either transf-command <> none [ switch transf-command [ "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) (matrice) shape (shape) reset-matrix]] ] ][ insert tail draw-blk compose/only [shape (shape)] ] ] "g" [ print "Write here how to handle G insertion to Draw block" insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) (matrice)] ] ] ] probe defs foreach blk defs [ switch first blk [ "rect" [append-style first blk second blk] "path" [append-style first blk second blk] "g" [ print "key word" probe first blk print "matrix and style in G" probe second blk append-style first blk second blk ;print "what to draw in G" probe third blk foreach blk2 third blk [ probe blk2 switch first blk2[ "path" [append-style first blk2 second blk2] ] ] ] ] ] probe draw-blk draw-blk ] view make face [ offset: 100x100 size: 200x200 action: request-file/filter/only "*.svg" text: rejoin ["SVG Demo [" last split-path action "]"] data: read action color: white effect: compose/only [draw (load-svg data size)] edge: font: para: none feel: make feel [ detect: func [face event] [ if event/type = 'resize [ insert clear face/effect/draw load-svg face/data face/size show face ] if event/type = 'close [quit] ] ] options: [resize] ] | |
shadwolf: 23-Jun-2005 | REBOL [ Title: "SVG Demo" Owner: "Ashley G. Trüter" Version: 0.0.1 Date: 21-Jun-2005 Purpose: "Loads and displays a resizeable SVG file." History: { 0.0.1 Initial release } Notes: { Tested on very simple SVG icons Only a few basic styles / attributes / commands supported Does not handle sizes in units other than pixels (e.g. pt, in, cm, mm, etc) SVG path has an optional close command, "z" ... AGG shape equivalent auto-closes load-svg function needs to be totally refactored / optimized ... *sample only* } ] ; The following commands are available for path data: ; ; M = moveto ; L = lineto ; H = horizontal lineto ; V = vertical lineto ; C = curveto ; S = smooth curveto ; Q = quadratic Belzier curve ; T = smooth quadratic Belzier curveto ; A = elliptical Arc ; Z = closepath ;print: none ; comment out this line to enable debug messages load-svg: function [svg-file [file! string!] size [pair!]] [ id defs x y to-color to-byte draw-blk append-style svg-size scale-x scale-y ][ xml: either string? svg-file [parse-xml svg-file] [ unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"] parse-xml read svg-file ] unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"] ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find ID header!"] ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"] id: xml/3/1/2 defs: xml/3/1/3 ; ; --- Parse SVG id ; svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [ switch select id "width" [ "72pt" [120x120] "48pt" [80x80] "32pt" [60x60] ] ][ as-pair to integer! any [select id "width" "100"] to integer! any [select id "height" "100"] ] x: to integer! any [select id "x" "0"] y: to integer! any [select id "y" "0"] scale-x: size/x / svg-size/x scale-y: size/y / svg-size/y ; ; --- Helper functions ; to-color: func [s [string!]] [ ; converts a string in the form "#FFFFFF" to a 4-byte tuple to tuple! load rejoin ["#{" next s "00}"] ] to-byte: func [s [string!]] [ ; converts a string with a value 0-1 to an inverted byte 255 - to integer! 255 * to decimal! s ] ; ; --- Parse SVG defs ; draw-blk: copy [] append-style: function [ command [string!] blk [block!] ][ x xy pen-color fill-color line-width mode size radius shape closed? matrix transf-command ][ xy: 0x0 size: 0x0 line-width: 1 matrice: make block! [] radius: none transf-command: none foreach [attr val] blk [ switch attr [ "transform" [print "tranform have been found" ;probe val halt val: parse val "()," transf-command: first val probe transf-command switch transf-command [ "matrix" [ foreach word val [ if not find word "matrix" [ insert tail matrice to-decimal word ] ] ] ] ] "style" [ foreach [attr val] parse val ":;" [ switch/default attr [ "font-size" [ ] "stroke" [ switch/default first val [ #"#" [pen-color: to-color val] #"n" [pen-color: none] ][ print ["Unknown stroke:" val] ] ] "stroke-width" [line-width: to decimal! val] "fill" [ fill-color: switch/default first val [ #"#" [to-color val] #"n" [none] ][ print ["Unknown fill value:" val] none ] ] "fill-rule" [ mode: switch/default val [ "evenodd" ['even-odd] ][ print ["Unknown fill-rule value:" val] none ] ] "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: to-byte val] "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: to-byte val] "stroke-linejoin" [ insert tail draw-blk switch/default val [ "miter" [compose [line-join miter]] "round" [compose [line-join round]] "bevel" [compose [line-join bevel]] ][ print ["Unknown stroke-linejoin value:" val] none ] ] "stroke-linecap" [ insert tail draw-blk 'line-cap insert tail draw-blk to word! val ] ][ print ["Unknown style:" attr] ] ] ] "x" [xy/x: scale-x * val] "y" [xy/y: scale-y * val] "width" [size/x: scale-x * val] "height" [size/y: scale-y * val] "rx" [print "rx"] "ry" [radius: to decimal! val] "d" [ shape: copy [] x: none closed?: false foreach token load val [ switch/default token [ M [insert tail shape 'move] C [insert tail shape 'curve] S [insert tail shape 'curv] L [insert tail shape 'line] Q [insert tail shape 'qcurve] T [insert tail shape 'qcurv] z [closed?: true] H [insert tail shape 'hline] V [insert tail shape 'vline] A [insert tail shape 'arc] ][ unless number? token [print ["Unknown path command:" token]] either x [insert tail shape as-pair x scale-y * token x: none] [x: scale-x * token] ] ] ] ] ] insert tail draw-blk compose [ pen (pen-color) fill-pen (fill-color) fill-rule (mode) line-width (line-width * min scale-x scale-y) ] switch command [ "rect" [ insert tail draw-blk compose [box (xy) (xy + size)] if radius [insert tail draw-blk radius] ] "path" [ unless closed? [print "Path closed"] either transf-command <> none [ switch transf-command [ "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) (matrice) shape (shape) reset-matrix]] ] ][ insert tail draw-blk compose/only [shape (shape)] ] ] "g" [ print "Write here how to handle G insertion to Draw block" insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) (matrice)] ] ] ] probe defs foreach blk defs [ switch first blk [ "rect" [append-style first blk second blk] "path" [append-style first blk second blk] "g" [ print "key word" probe first blk print "matrix and style in G" probe second blk append-style first blk second blk ;print "what to draw in G" probe third blk foreach blk2 third blk [ probe blk2 switch first blk2[ "path" [append-style first blk2 second blk2] ] ] ] ] ] probe draw-blk draw-blk ] view make face [ offset: 100x100 size: 200x200 action: request-file/filter/only "*.svg" text: rejoin ["SVG Demo [" last split-path action "]"] data: read action color: white effect: compose/only [draw (load-svg data size)] edge: font: para: none feel: make feel [ detect: func [face event] [ if event/type = 'resize [ insert clear face/effect/draw load-svg face/data face/size show face ] if event/type = 'close [quit] ] ] options: [resize] ] | |
shadwolf: 23-Jun-2005 | REBOL [ Title: "SVG Demo" Owner: "Ashley G. Trüter" Version: 0.0.1 Date: 21-Jun-2005 Purpose: "Loads and displays a resizeable SVG file." History: { 0.0.1 Initial release } Notes: { Tested on very simple SVG icons Only a few basic styles / attributes / commands supported Does not handle sizes in units other than pixels (e.g. pt, in, cm, mm, etc) SVG path has an optional close command, "z" ... AGG shape equivalent auto-closes load-svg function needs to be totally refactored / optimized ... *sample only* } ] ; The following commands are available for path data: ; ; M = moveto ; L = lineto ; H = horizontal lineto ; V = vertical lineto ; C = curveto ; S = smooth curveto ; Q = quadratic Belzier curve ; T = smooth quadratic Belzier curveto ; A = elliptical Arc ; Z = closepath ;print: none ; comment out this line to enable debug messages load-svg: function [svg-file [file! string!] size [pair!]] [ id defs x y to-color to-byte draw-blk append-style svg-size scale-x scale-y ][ xml: either string? svg-file [parse-xml svg-file] [ unless %.svg = suffix? svg-file [to error! "File has an invalid suffix!"] parse-xml read svg-file ] unless xml/3/1/1 = "svg" [to error! "Could not find SVG header!"] ;unless find ["id" "xmlns"] xml/3/1/2/1 [to error! "Could not find ID header!"] ;unless xml/3/1/3/1/1 = "defs" [to error! "Could not find DEFS header!"] id: xml/3/1/2 defs: xml/3/1/3 ; ; --- Parse SVG id ; svg-size: either find ["32pt" "48pt" "72pt"] select id "width" [ switch select id "width" [ "72pt" [120x120] "48pt" [80x80] "32pt" [60x60] ] ][ as-pair to integer! any [select id "width" "100"] to integer! any [select id "height" "100"] ] x: to integer! any [select id "x" "0"] y: to integer! any [select id "y" "0"] scale-x: size/x / svg-size/x scale-y: size/y / svg-size/y ; ; --- Helper functions ; to-color: func [s [string!]] [ ; converts a string in the form "#FFFFFF" to a 4-byte tuple to tuple! load rejoin ["#{" next s "00}"] ] to-byte: func [s [string!]] [ ; converts a string with a value 0-1 to an inverted byte 255 - to integer! 255 * to decimal! s ] ; ; --- Parse SVG defs ; draw-blk: copy [] append-style: function [ command [string!] blk [block!] ][ x xy pen-color fill-color line-width mode size radius shape closed? matrix transf-command ][ xy: 0x0 size: 0x0 line-width: 1 matrice: make block! [] radius: none transf-command: none foreach [attr val] blk [ switch attr [ "transform" [print "tranform have been found" ;probe val halt val: parse val "()," transf-command: first val probe transf-command switch transf-command [ "matrix" [ foreach word val [ if not find word "matrix" [ insert tail matrice to-decimal word ] ] ] ] ] "style" [ foreach [attr val] parse val ":;" [ switch/default attr [ "font-size" [ ] "stroke" [ switch/default first val [ #"#" [pen-color: to-color val] #"n" [pen-color: none] ][ print ["Unknown stroke:" val] ] ] "stroke-width" [line-width: to decimal! val] "fill" [ fill-color: switch/default first val [ #"#" [to-color val] #"n" [none] ][ print ["Unknown fill value:" val] none ] ] "fill-rule" [ mode: switch/default val [ "evenodd" ['even-odd] ][ print ["Unknown fill-rule value:" val] none ] ] "stroke-opacity" [pen-color: any [pen-color 0.0.0.0] pen-color/4: to-byte val] "fill-opacity" [fill-color: any [fill-color 0.0.0.0] fill-color/4: to-byte val] "stroke-linejoin" [ insert tail draw-blk switch/default val [ "miter" [compose [line-join miter]] "round" [compose [line-join round]] "bevel" [compose [line-join bevel]] ][ print ["Unknown stroke-linejoin value:" val] none ] ] "stroke-linecap" [ insert tail draw-blk 'line-cap insert tail draw-blk to word! val ] ][ print ["Unknown style:" attr] ] ] ] "x" [xy/x: scale-x * val] "y" [xy/y: scale-y * val] "width" [size/x: scale-x * val] "height" [size/y: scale-y * val] "rx" [print "rx"] "ry" [radius: to decimal! val] "d" [ shape: copy [] x: none closed?: false if all [x not number? token] [ insert tail shape x * either token = 'V [scale-y][scale-x] x: none ] foreach token load val [ switch/default token [ M [insert tail shape 'move] C [insert tail shape 'curve] S [insert tail shape 'curv] L [insert tail shape 'line] Q [insert tail shape 'qcurve] T [insert tail shape 'qcurv] z [closed?: true] H [insert tail shape 'hline] V [insert tail shape 'vline] A [insert tail shape 'arc] ][ unless number? token [print ["Unknown path command:" token]] either x [insert tail shape as-pair x scale-y * token x: none] [x: scale-x * token] ] ] ] ] ] insert tail draw-blk compose [ pen (pen-color) fill-pen (fill-color) fill-rule (mode) line-width (line-width * min scale-x scale-y) ] switch command [ "rect" [ insert tail draw-blk compose [box (xy) (xy + size)] if radius [insert tail draw-blk radius] ] "path" [ unless closed? [print "Path closed"] either transf-command <> none [ switch transf-command [ "matrix" [insert tail draw-blk compose/only [ (to-word transf-command) (matrice) shape (shape) reset-matrix]] ] ][ insert tail draw-blk compose/only [shape (shape)] ] ] "g" [ print "Write here how to handle G insertion to Draw block" insert tail draw-blk probe compose/only [reset-matrix (to-word transf-command) (matrice)] ] ] ] probe defs foreach blk defs [ switch first blk [ "rect" [append-style first blk second blk] "path" [append-style first blk second blk] "g" [ print "key word" probe first blk print "matrix and style in G" probe second blk append-style first blk second blk ;print "what to draw in G" probe third blk foreach blk2 third blk [ probe blk2 switch first blk2[ "path" [append-style first blk2 second blk2] ] ] ] ] ] probe draw-blk draw-blk ] view make face [ offset: 100x100 size: 200x200 action: request-file/filter/only "*.svg" text: rejoin ["SVG Demo [" last split-path action "]"] data: read action color: white effect: compose/only [draw (load-svg data size)] edge: font: para: none feel: make feel [ detect: func [face event] [ if event/type = 'resize [ insert clear face/effect/draw load-svg face/data face/size show face ] if event/type = 'close [quit] ] ] options: [resize] ] | |
Group: Rebol School ... Rebol School [web-public] | ||
denismx: 19-Apr-2006 | In fact, in any programming language, code is just data that is executable. Some languages allow that the code-data be processed as any other date. Rebol is not the only one. And I do not believe that this is it's main characteristic. The fundamental characteristic of Rebol is that it is a language for exchanging data over networks, be it information (data) or programs (code) so that is can be used and executed (if code is passed) on any computer connected to the network. | |
Group: RT Q&A ... [RT Q&A] Questions and Answers to REBOL Technologies [web-public] | ||
Philippe: 28-Oct-2005 | hello, where I could find facts and values about Rebol vs Business world ? with reboltof (christophe Coussement, we have the project to write a white paper about Rebol and Business (target date, on March 17, 2005, for the french Rebol Day, Paris). How many developpers works with Rebol ? how many dowloads of Rebol/core and View ? How many licenses for SDK ? Examples of Business with Rebol, tools, softwares. Real-world softwares.... etc. | |
BrianH: 27-Dec-2005 | Volker, that 14.11 was a joke reference to 14-Nov-2005, the date given at the conference to all questions about release dates, not a version number. That date was given as a joke that many didn't get, apparently. Myself included, but I didn't make it to the conference. | |
Rebolek: 9-Jan-2006 | Q: What's the reason for moving submission date for Demo Contest to 31.1. ? Thanks. | |
Group: Syncing ... Syncing technologies [web-public] | ||
BrianH: 4-Jan-2006 | By "for comparison purposes", I mean don't change the file date, just subtract the diff between you and UTC to get the adjusted file date in memory and then compare against the adjusted file date from the server. | |
Group: Tech News ... Interesting technology [web-public] | ||
Pekr: 1-Mar-2006 | Gab, btw - as we don't want rebol to suck in the future, is the Roadmap REBOL 3 announcement date anytime soon now? :-) | |
Group: !RebDB ... REBOL Pseudo-Relational Database [web-public] | ||
Pekr: 8-Feb-2006 | SELECT o.order-id, o.date, o.amount, o.total, oi.item-id, io.item-price, oi.goods-name, c.company-name FROM orders o INNER JOIN order-items oi ON oi.order-id = o.order.id LEFT OUTER JOIN companies c ON c.company-id = o.company-id WHERE o.amount > 2000 ORDER BY c.company-name, o.order-id, o-item-id | |
Ashley: 9-Feb-2006 | Back to Pekr's JOIN problem. First, let's reformat the SQL into something more readable: select o.order-id, o.date, o.amount, o.total, oi.item-id, io.item-price, oi.goods-name, c.company-name from orders o , order-items oi , companies c where o.order.id = oi.order-id and o.company-id = c.company-id and o.amount > 2000 order by c.company-name, o.order-id, o-item-id | |
Ashley: 9-Feb-2006 | Then break it down into discrete queries and wrap it in some loops: blk: copy [] foreach [company-id order-id date amount total] sql [ select [company-id order-id date amount total] from orders where [amount > 2000] ][ company-name: second sql compose [lookup companies (company-id)] foreach [item-id item-price goods-name] sql compose [select * from order-items where (order-id)] [ insert tail blk reduce [order-id date amount total item-id item-price goods-name company-name] ] ] sort/skip/compare blk 8 [8 1 5] | |
Ashley: 9-Feb-2006 | The final [untested] solution is about as efficient as you can get. Adding JOIN support to RebDB so it can break the query down into similar steps is not a simple task. In all but the most trivial of cases you'd be better off coding it yourself. What might be a good idea is to add something that lets you more easily specify the most common JOIN operation - master/detail with optional LOV (List Of Values) lookup(s). Your query is a classic example of this construct and it accounts for a surprisingly large number of queries. The function would accept two queries, a master query (the orders table in your case) and a details query (the order-items table) and an optional block of column/LOV-table pairs (that perform substitutions such as company-name). The skeleton would look like: sql-join [master-query [block!] detail-query [block!] /order /lov [block!] ] [ buffer: copy [] ... buffer ] and would be used as such: sql-join/order/lov [ select [company-id order-id date amount total] from orders where [amount > 2000] ] [ select * from order-items where %ID% ] [8 1 5] [company-id companies] Would this make things a tad easier? | |
Ashley: 11-Feb-2006 | Thanks guys, I've had a good look at both implementations and I've got ideas from both for a future full JOIN implementation; but at the moment my master/detail code has come along nicely. I've now enhanced the db-select function to accept statements in these additional forms: select * from master joins [select * from details where &id] on id select * from master joins [select * from details where [all [master-id = &id master-date = &date]] on [id date] which works exactly like a normal join with the following differences: a) It can only join one table to another b) Detail columns are always joined to the right of master columns c) Table.column prefixes are not supported so all columns in the join must be uniquely named Apart from that you get all the benefits of db-select (can replace * with specific column combinations, order and group by on the final result set, etc) *and* it's significantly faster than even the raw REBOL code example I gave before (as the SQL is parsed once within db-select and all loop sub-selects are done in-line). I've also implemented “lookups” with the following form: select * from table replaces id with name select * from table replaces [id-1 id-2] with [table-1 table-2] which performs a highly optimized db-lookup for each replaced value, but has the following restrictions: a) The lookup expects lookup tables in the form [id label other-column(s)] b) Only single-key lookups are supported c) A lookup that fails will replace the column value with none! I'm now in the process of benchmarking these changes against sqlite to see where the bottlenecks (if any) are. Feedback on the design decisions is welcome. While I was doing this, I was once again reminded how cumbersome it is to construct SQL statements (not just for RebDB, same goes for the other SQL protocols), as the heavy use of 'compose, 'rejoin, etc adds noise that reduces legibility. The design goal is to provide alternatives to: sql compose/deep [select * from table where [all [col1 = (val1) col2 = (val2)]]] so for a start the 'sql function should probably accept a string, to allow: sql join “select * from “ table type constructs; but this doesn't make the first example easier. So how about the 'sql function accept a block containing a string statement followed by a number of substitution variables, as in: sql reduce [“select * from table where [all [col1 = &1 col2 = &2]]” val1 val2] which makes things a bit more readable (and shortens the expression if longer word names are used multiple times). So the two questions here are: a) Is this a good idea? b) If so, what substitution character (& % $ @ other) will cause the least conflict with REBOL and/or SQL? | |
Ashley: 12-Feb-2006 | Perhaps another keyword, 'appends, that inserts the matching label after the column that would otherwise have been replaced. Or, allow column names to be specified multiple times in the select clause with replacements occurring from the tail, so: select [id id date] from orders replaces id with name might return: 1 "Bob" 3-Jan-2006 2 "Fred" 4-Jan-2006 etc | |
BrianH: 22-Jun-2006 | If records aren't inserted often you can use a date/time for the field - otherwise use a number that you would increment. Keep in mind that if you do a lot of insertions and deletions, a number field could end up overflowing unless you occasionally compact the numbers. | |
Group: SQLite ... C library embeddable DB [web-public]. | ||
Ashley: 13-Feb-2006 | sqlite3-protocol.r has a minor bug whereby locals/cols are not cleared. Fix is to add a "clear cols" at the beginning of the ' sqlite-exec func. Two other changes I made to this function were: 1) Changing “SQLITE_TEXT [any [attempt [load val: sqlite3/column_text stmt j] val]]” so as REBOL values are returned, and 2) Removing the /only clause from "system/words/insert/only tail result col" for those that prefer flat data structures (i.e. non-blocked records) Finally, a simple wrapper makes the whole thing more usable: context [ db: none set 'open-db func [name [file!]] [ db: open join sqlite://localhost/ name ] set 'close-db does [ close db ] set 'describe func ['table [word!]] [ insert db rejoin ["select type, name, sql from sqlite_master where upper(tbl_name) = '" uppercase form table "' order by rootpage"] db/locals/sqlresult ] set 'sql function [arg [string! block!]] [statement] [ case [ string? arg [insert db arg] string? first arg [ statement: copy first arg repeat i -1 + length? arg [ replace/all statement join ":" i pick arg i + 1 ] insert db statement ] ] db/locals/sqlresult ] ] which lets you do stuff like: >> open-db %test.db >> sql "create table t1 (col1 INTEGER, col2 TEXT)" == [] >> describe t1 == [table t1 "CREATE TABLE t1 (col1 INTEGER, col2 TEXT)"] >> sql reduce ["insert into t1 values (1,':1')" now/date] == [] >> sql "select * from t1" == [1 13-Feb-2006] >> close-db | |
Ingo: 1-Mar-2006 | While testing I started a script using sqlite several times, at about the 17th call I get this error: ** Script Error: Library error: Max Callbacks ** Where: context ** Near: sqlite-trace: make routine! [ db [integer!] clb [callback! [int string!]] ptr [integer!] ] SQLite3lib I'm using the following version: Title: "SQLite driver" Owner: "Ashley G. Trüter" Version: 0.1.3 Date: 22-Feb-2006 | |
Graham: 20-Mar-2006 | Does sqlite support timestamp/date fields ? Is there a way to set a default value for a field ( so that on a sql insert, you don't have to explicitly mention that column ) ? | |
Ashley: 20-Mar-2006 | Graham, yes to all the above except timestamp/date fields. SQLite only supports 5 datatypes: Integer, Decimal, Binary, Null and Text. The driver (unless using the /direct refinement to connect) MOLDs and LOADs other REBOL types such as date!, pair!, etc into SQLite TEXT fields so date is certainly supported at the REBOL level (although an "order by date" clause will not give the expected results ... I tend to use 'sort/skip SQL "select id,date from t" 2' type constructs to achieve the desired result). Given how common this later operation is (order by date) I'm looking at changing the way date is bound. Instead of just MOLDing it, if it is transformed to YYYY-MM-DD format then not only can LOAD recognize it but it can be sorted (as TEXT) directly by SQLite. | |
Ashley: 20-Mar-2006 | The change to handle date properly is pretty simple in fact (starting at line#375): unless direct [ val: either date? val [ p: reform [val/year val/month val/day] all [val/month < 10 insert skip p 5 "0"] all [val/day < 10 insert skip p 8 "0"] poke p 5 #"/" poke p 8 #"/" p ] [mold/all val] ] | |
Graham: 20-Mar-2006 | also, this doesn't handle date stamps with time/seconds. | |
Pekr: 21-Mar-2006 | In Dbase, the date was stored in db in YYYYMMDD, so I vote for the date storage change too ... really helps sorting ... | |
sqlab: 21-Mar-2006 | YYYYMMDD is the short form of the iso date, otherwise it should be YYYY-MM-DD, if I remember. | |
Pekr: 21-Mar-2006 | hmm, DBase tools have it like I said - YYYYMMDD, and it is question of date mask (which can be set upon locale, which rebol does not support :-), if you use dot, slash, whatever as a separator ... | |
sqlab: 21-Mar-2006 | If it's not for human communication, the space between date und time is a T so now /precise is 2006-03-21T11:06:48.232+01 | |
Ashley: 21-Mar-2006 | Pekr, "the question is, if there should be any delimiter in DB". There has to be, otherwise LOAD will treat "20060101" as an integer not a date. Remember that SQLite has no concept of "column types" so the MOLDed values themselves have to carry / represent the REBOL type when LOADed. What we are trying to do with date is to use an alternate representation that REBOL will still recognize as a date but that also happens to sort correctly; YYYY-MM-DD achieves both those objectives, it's just a cosmetic question as to what delimiter "looks" better if someone looks at the raw data (prior to being LOADed into REBOL values) or uses the format directly in their statements (e.g. "select * from t where date = '2006-01-01'"). Graham, "If they are stored as numbers, then just as easy to sort!" Yes, but as per above we lose the fact that they are dates. If they are stored as integer then we'll get them back as integers. Graham, "what about time?" REBOL time values (in HH:MM:SS format) are already supported, and nothing prevents you from using now / now/precise except that these values will not be sorted correctly [with an "order by" clause that is]. | |
Ashley: 21-Mar-2006 | Mind you, I can always extend the date handling logic (as posted previously) to check to see whether the date has a time component; something like: if val/time [...] Should we be checking for a zone component as well? The shortest possible timestamp that REBOL will recognize is: type? load "2006-01-01/13:30" But that excludfes both seconds and zone. | |
Ashley: 22-Mar-2006 | Agreed. It's just that almost every datatype apart from date (pair! is also problematic) happens to sort correctly under SQLite as is; and changing date's TEXT representation so that it sorts correctly within SQLite is fairly easy. I'd rather write: result: SQL "select id,date from t order by date" than: result: sort/skip SQL "select id,date from t" 2 as it's both easier to maintain and more efficient. | |
Ashley: 25-Mar-2006 | 0.1.8 available at: http://www.dobeash.com/SQLite/sqlite.r Two main fixes are date bind value handling and concatenated string handling (both of which were posted previously as code snippets). | |
Group: Plugin-2 ... Browser Plugins [web-public] | ||
Pekr: 9-May-2006 | I would make it also some 5% transparent, black and white design .... top bar displaying some basic buttons, date/time and progress dialog ... kind of minimalistic aproach .... | |
Group: !Liquid ... any questions about liquid dataflow core. [web-public] | ||
Maxim: 16-Feb-2007 | so node_c KNOWS its not up to date but computes nothing unless you need its value. | |
Group: DevCon2008 (post-chatter) ... DevCon2008 [web-public] | ||
Reichart: 9-Dec-2008 | Hmmm, it would be interesting to have a DevCon at this time, since many people are at home. May I suggest, that we do this another way, we create a list and let everyone post when is best, and when is worst, then we cull this to set a date. this is SO easy to do in Qtask (we just create a form for this). In AltME we could create a do list, and let each person just add their preference and follow a format. | |
james_nak: 10-Dec-2008 | Rebcon 2008 date select checklist/voting created. | |
james_nak: 11-Dec-2008 | Call for topics and presenters placed in the checklist. Sent out an email on the mailist to inform and gather input: Dear Fellow Rebolers (of the mailist faction), There has been some interest in a virtual gathering of Rebol developers and users. These discussions have been taking place in the Rebol3 Altme World. I know there are many here that do not regularly go there but nonetheless would be interested in participating. The date and time that has been looked at is December 27th from 12:00 PM. How does that sound to you? There has been no decision on the technology to be used but you're input would be much appreciated. We are also in need of presenters and/or desired topics. To summarize, we are looking for: An agreement on the time and date Topics desired Presentors Ideas for technology to be used Other | |
Group: reblets ... working reblets (50-100 lines or less) [web-public] | ||
Maxim: 19-Mar-2009 | rebol [ title: "explore.r" version 1.0 date: 2009-03-19 author: "Maxim Olivier-Adlhoch" copyright: "2009(c)Maxim Olivier-Adlhoch" tested: "win xp" notes: "Add any dir to the dirs block. options are self explanatory" ] dirs: [ %/C/ [] %"/C/program files/" [expand] "%tmp%" [label "temp dir"] "" [ label "my documents"] ] blk: [] explore-dir: func [path expand? /local cmd][ call/shell rejoin [" explorer " either expand? ["/n,/e,"]["/n,"] path ] ] ctr: 1 foreach [item opts] dirs [ ctr: ctr + 1 expand?: found? find opts 'expand label: any [select opts 'label to-local-file item] append blk compose/deep [ pad 20 (to-set-word setw: rejoin ["dir" ctr]) check (expand?) pad 20 btn 200 left (label) [ explore-dir to-local-file item get in (to-word setw) 'data ] ] append blk 'return ] view layout compose [across vtext right "expand?" vtext "folder" return (blk)] |
1 / 1004 | [1] | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |