Re: [Chicken-users] New Egg: Tween
From: Daniel Leslie d...@ironoxide.ca Subject: [Chicken-users] New Egg: Tween Date: Sat, 12 Jan 2013 16:56:08 -0800 Hi all, I've just finished up the first version of my Tween egg. It provides a (loose) port of Tween.js for Scheme. The functionality that tracked tween state is not present, as I felt that's better left to the client of the API and wasn't very much in the tradition of scheme, but otherwise it's functionally intact. Wow. This is one of those things that one needs over and over again, but never finds the time to do it properly. Thanks a lot, Dan! cheers, felix ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] [new egg] pilgrim
I've been working on another http engine for chicken (I know, reinventing the wheel. but it seemed like a fun way to learn about how it worked). Anyway, it was fine to keep my code vendored up in the only project using it, but I want to use it in a second project, and as far as I can tell with the existing infrastructure I need to package it up and distribute it as an egg. Can someone with commit access please add: https://raw.github.com/richo/pilgrim/master/pilgrim.release-info To the relevant locations (and let me know if I did it right? I couldn't see an obvious way to have (requires pilgrim) result in master being checked out while I'm still hacking on it. I followed this: http://wiki.call-cc.org/releasing-your-egg#github-git Finally, I think this may be my first post to the list, so; Hi! Cheers richo -- richo || Today's excuse: virus attack, luser responsible http://blog.psych0tik.net signature.asc Description: Digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [new egg] pilgrim
On Mon, Jan 14, 2013 at 12:31:35AM +1100, richo wrote: I've been working on another http engine for chicken (I know, reinventing the wheel. but it seemed like a fun way to learn about how it worked). We don't mind, in fact we slightly encourage a sense of anarchy and diversity in our extensions. Anyway, it was fine to keep my code vendored up in the only project using it, but I want to use it in a second project, and as far as I can tell with the existing infrastructure I need to package it up and distribute it as an egg. Can someone with commit access please add: https://raw.github.com/richo/pilgrim/master/pilgrim.release-info To the relevant locations (and let me know if I did it right? Done! You did it right, AFAICT I couldn't see an obvious way to have (requires pilgrim) result in master being checked out while I'm still hacking on it. Well, that's indeed not supported. The distributed egg repository only supports publishing released eggs with a given version. You'll need to tag a release and add this release to the release-info file for it to be installable. After pushing this, the egg should appear on the main server within the hour. I think Alaric's mirror takes a little longer to show up. I followed this: http://wiki.call-cc.org/releasing-your-egg#github-git Excellent. If you had any difficulty I'd love to get feedback on this. Finally, I think this may be my first post to the list, so; Hi! Hello! Welcome! Please help yourself to some tasty code :) Cheers, Peter -- http://sjamaan.ath.cx ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [new egg] pilgrim
On 13/01/13 16:02 +0100, Peter Bex wrote: On Mon, Jan 14, 2013 at 12:31:35AM +1100, richo wrote: I've been working on another http engine for chicken (I know, reinventing the wheel. but it seemed like a fun way to learn about how it worked). We don't mind, in fact we slightly encourage a sense of anarchy and diversity in our extensions. Anyway, it was fine to keep my code vendored up in the only project using it, but I want to use it in a second project, and as far as I can tell with the existing infrastructure I need to package it up and distribute it as an egg. Can someone with commit access please add: https://raw.github.com/richo/pilgrim/master/pilgrim.release-info To the relevant locations (and let me know if I did it right? Done! You did it right, AFAICT So I just post to the list again with each new version? Or will it enumerate my tags automagically? I couldn't see an obvious way to have (requires pilgrim) result in master being checked out while I'm still hacking on it. Well, that's indeed not supported. The distributed egg repository only supports publishing released eggs with a given version. You'll need to tag a release and add this release to the release-info file for it to be installable. After pushing this, the egg should appear on the main server within the hour. I think Alaric's mirror takes a little longer to show up. Thinking about it, it should be pretty easy to develop new features in my application, and when they're stable push them back into pilgrim to be generally consumable, and then bump the patchlevel. This is probably a saner way to do it anyway. I followed this: http://wiki.call-cc.org/releasing-your-egg#github-git Excellent. If you had any difficulty I'd love to get feedback on this. So far it was good. A few weird loops I ended up in, I might put together some thoughts tomorrow. Finally, I think this may be my first post to the list, so; Hi! Hello! Welcome! Please help yourself to some tasty code :) Thanks I've been hacking on and off on various scheme projects for a few months, I'm on #chicken semi-regularly. Cheers, Peter -- http://sjamaan.ath.cx ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users -- richo || Today's excuse: Power company testing new voltage spike (creation) equipment http://blog.psych0tik.net signature.asc Description: Digital signature ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [new egg] pilgrim
On Mon, Jan 14, 2013 at 02:10:04AM +1100, richo wrote: On 13/01/13 16:02 +0100, Peter Bex wrote: To the relevant locations (and let me know if I did it right? Done! You did it right, AFAICT So I just post to the list again with each new version? Or will it enumerate my tags automagically? The manual action is required to add your .release-info file to the master list, so it knows to fetch this file. After that, any change to release-info is automatically picked up whenever it's redownloaded (which happens every hour or so). You can use the git-egg-author egg to streamline the process of tagging releases. Thinking about it, it should be pretty easy to develop new features in my application, and when they're stable push them back into pilgrim to be generally consumable, and then bump the patchlevel. I think that should work. But please don't overdo it wrt number of releases. For each release we cache a complete copy of the code. I followed this: http://wiki.call-cc.org/releasing-your-egg#github-git Excellent. If you had any difficulty I'd love to get feedback on this. So far it was good. A few weird loops I ended up in, I might put together some thoughts tomorrow. Thanks! Cheers, Peter -- http://sjamaan.ath.cx ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] [Q] uri-common has problem with UTF-8 uri.
For testing solr, lucene based client, I have to create url which contains utf-8 encoding(for Korean). But having this encoding uri-common cannot create uri. Can any one help me on this? Thanks. Sent from my iPhone ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [Q] uri-common has problem with UTF-8 uri.
On Mon, Jan 14, 2013 at 07:04:05AM +0900, Sungjin Chun wrote: For testing solr, lucene based client, I have to create url which contains utf-8 encoding(for Korean). But having this encoding uri-common cannot create uri. Can any one help me on this? Thanks. Hello Sungjin, As far as I recall, there's no special facility for IRIs (internationalized URIs, a separate RFC from 3986) in uri-generic. uri-generic is the underlying egg which actually handles all the parsing, uri-common just adds some convenience procedures for HTTP and URI-encoded forms. Maybe you can take a look at the uri-geneirc library, and verify it really is going wrong there already? If it doesn't work, some test cases would be appreciated. We can have a look at them and see where it's failing. I'm unsure whether this really should be supported by the uri-generic egg or whether it would be better to create an iri-generic egg, or some such. Perhaps Ivan can chime in? He is the one who originally ported the code from a Haskell library, and might know whether that library had any known problems with IRIs (if it's even IRIs we're talking about!) Cheers, Peter -- http://sjamaan.ath.cx ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [Q] uri-common has problem with UTF-8 uri.
Though I'm not that fluent in scheme, I'll try to make test case for uri-generic with UTF-8 string. Thanks. On Mon, Jan 14, 2013 at 7:15 AM, Peter Bex peter@xs4all.nl wrote: On Mon, Jan 14, 2013 at 07:04:05AM +0900, Sungjin Chun wrote: For testing solr, lucene based client, I have to create url which contains utf-8 encoding(for Korean). But having this encoding uri-common cannot create uri. Can any one help me on this? Thanks. Hello Sungjin, As far as I recall, there's no special facility for IRIs (internationalized URIs, a separate RFC from 3986) in uri-generic. uri-generic is the underlying egg which actually handles all the parsing, uri-common just adds some convenience procedures for HTTP and URI-encoded forms. Maybe you can take a look at the uri-geneirc library, and verify it really is going wrong there already? If it doesn't work, some test cases would be appreciated. We can have a look at them and see where it's failing. I'm unsure whether this really should be supported by the uri-generic egg or whether it would be better to create an iri-generic egg, or some such. Perhaps Ivan can chime in? He is the one who originally ported the code from a Haskell library, and might know whether that library had any known problems with IRIs (if it's even IRIs we're talking about!) Cheers, Peter -- http://sjamaan.ath.cx ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Random crashes with zmq egg: Assertion failed: ok (mailbox.cpp:84)
Can anyone provide insight to this problem. I'm getting random crashes with the zmq egg: Assertion failed: ok (mailbox.cpp:84) /home/matt/data/megatest/bin/megatest: line 3: 15962 Aborted (core dumped) /home/matt/data/megatest/bin/mtest $* This thread here describes what might be a similar issue in the perl zmq binding: https://github.com/lestrrat/ZeroMQ-Perl/issues/42 BTW, I'm not at 100% confident that the problem isn't my code but I've no clue what to look at. ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
[Chicken-users] Some questions about loading libraries
Hi, all-- I am developing a project which I expect will involve a number of extension libraries, or plugins (a large number, many of them provided by third parties, if my project ever becomes popular). For several reasons (which I will explain on request if anyone is curious), I feel it is best *not* to implement these libraries as eggs. So I am trying to work out a reasonable method for deploying the libraries and loading them at runtime. Required features: * users (who might not have admin privileges) can determine where the libraries are installed * users can select which libraries to use in an application (and this potentially entails selecting alternate implementations of the same functionality) * the main application can find the required libraries at runtime Desirable features: * a user should be able to just install the software and start to use it without doing any configuration * all library code is in modules I've spent a good deal of time browsing the documentation and experimenting, and I can see how to achieve the required features but not the desirable ones. But before I start making compromises, I thought I'd check with the list to see if my understandings are correct. So here are my questions ... as implied above, I think the answers are not the ones I want, but I'm hoping I've overlooked something ;-) : 1) Is there a way to set an arbitrary search path, such that REQUIRE (or LOAD, or some such thing) will work when the library is in a non-standard location? 2) Is it possible to load a library selected at runtime (via an environment variable, config file, command-line argument ... the exact method isn't that important) AND have the symbols defined in that library included in a module? 3) Is there a way for a Chicken executable or library to determine its own location in the filesystem? 4) Is LOAD-RELATIVE broken? I wrote some test code to try to use that procedure, but as far as I can tell it behaves just like LOAD, i.e. any relative path I give it is determined relative to the current directory from which the program is invoked. Though I would note that the documentation isn't entirely clear to me: loads FILE relative to the path of the currently loaded file. ...? What does the currently loaded file mean? I will be happy to post my code if this is not a known issue. Thanks for any all info! -- Matt Gushee ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [Q] uri-common has problem with UTF-8 uri.
First, I might have found wrong place but... It seems that the main source of the my problem is related to the part of uri-generic.scm, especially; (define char-set:uri-unreserved (char-set union char-set:letter+digit (string-char-set -_.~))) If I change this part as; (define char-set:uri-unreserved (char-set union char-set:letter+digit (string-char-set -_.~) char-set:hangul)) then, uri/url with korean characters work. How can I set those part more generic one? Thank you in advance and sorry for my poor english. On Mon, Jan 14, 2013 at 7:15 AM, Peter Bex peter@xs4all.nl wrote: On Mon, Jan 14, 2013 at 07:04:05AM +0900, Sungjin Chun wrote: For testing solr, lucene based client, I have to create url which contains utf-8 encoding(for Korean). But having this encoding uri-common cannot create uri. Can any one help me on this? Thanks. Hello Sungjin, As far as I recall, there's no special facility for IRIs (internationalized URIs, a separate RFC from 3986) in uri-generic. uri-generic is the underlying egg which actually handles all the parsing, uri-common just adds some convenience procedures for HTTP and URI-encoded forms. Maybe you can take a look at the uri-geneirc library, and verify it really is going wrong there already? If it doesn't work, some test cases would be appreciated. We can have a look at them and see where it's failing. I'm unsure whether this really should be supported by the uri-generic egg or whether it would be better to create an iri-generic egg, or some such. Perhaps Ivan can chime in? He is the one who originally ported the code from a Haskell library, and might know whether that library had any known problems with IRIs (if it's even IRIs we're talking about!) Cheers, Peter -- http://sjamaan.ath.cx ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [Q] uri-common has problem with UTF-8 uri.
As far as I know, revised RFC permits UTF-8 characters in the URL without encoding. Am I wrong here? Even Solr (the search engine) permits them. On Mon, Jan 14, 2013 at 1:26 PM, Alex Shinn alexsh...@gmail.com wrote: Hi, On Mon, Jan 14, 2013 at 12:52 PM, Sungjin Chun chu...@gmail.com wrote: First, I might have found wrong place but... It seems that the main source of the my problem is related to the part of uri-generic.scm, especially; (define char-set:uri-unreserved (char-set union char-set:letter+digit (string-char-set -_.~))) If I change this part as; (define char-set:uri-unreserved (char-set union char-set:letter+digit (string-char-set -_.~) char-set:hangul)) then, uri/url with korean characters work. How can I set those part more generic one? I believe the ASCII definition is correct even for Unicode URLs. You need to represent the URL in utf8 and then use percent escapes on the utf8 bytes, which is what would happen naturally here. -- Alex ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users
Re: [Chicken-users] [Q] uri-common has problem with UTF-8 uri.
On Mon, Jan 14, 2013 at 1:36 PM, Sungjin Chun chu...@gmail.com wrote: As far as I know, revised RFC permits UTF-8 characters in the URL without encoding. Am I wrong here? The latest URI RFC is 3986. The relevant description in prose is: Local names, such as file system names, are stored with a local character encoding. URI producing applications (e.g., origin servers) will typically use the local encoding as the basis for producing meaningful names. The URI producer will transform the local encoding to one that is suitable for a public interface and then transform the public interface encoding into the restricted set of URI characters (reserved, unreserved, and percent-encodings). Those characters are, in turn, encoded as octets to be used as a reference within a data format (e.g., a document charset), and such data formats are often subsequently encoded for transmission over Internet protocols. The relevant parts of the BNF are: pct-encoded = % HEXDIG HEXDIG reserved= gen-delims / sub-delims gen-delims = : / / / ? / # / [ / ] / @ sub-delims = ! / $ / / ' / ( / ) / * / + / , / ; / = unreserved = ALPHA / DIGIT / - / . / _ / ~ path = path-abempty; begins with / or is empty / path-absolute ; begins with / but not // / path-noscheme ; begins with a non-colon segment / path-rootless ; begins with a segment / path-empty ; zero characters path-abempty = *( / segment ) path-absolute = / [ segment-nz *( / segment ) ] path-noscheme = segment-nz-nc *( / segment ) path-rootless = segment-nz *( / segment ) path-empty= 0pchar segment = *pchar segment-nz= 1*pchar segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / @ ) ; non-zero-length segment without any colon : pchar = unreserved / pct-encoded / sub-delims / : / @ Thus you can't use raw non-ASCII bytes in a URI - they must be encoded, and interpretation is up to the origin (and is overwhelmingly utf8 these days). Even Solr (the search engine) permits them. It would of course be possible for any tool or webserver to accept URIs with non-ASCII bytes, but I don't know of any browsers which would _send_ such a request, because in general it would be rejected. I tried searching non-ASCII on whitehouse.gov (which uses Solr) and indeed it generated a percent-encoded query. My browser (Chrome) rendered the percent escapes as utf-8 for me though. There's also punycode which can be used to represent Unicode domain names (which otherwise don't even allow percent escapes). In some cases certain browsers will render this for you (generally if the encoded script matches the top-level country name, e.g. for a .kr domain Hangul would be shown), but it's in general a dangerous extension because it makes phishing attempts easier. -- Alex ___ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users