Re: PilCon yesterday
> 1. Mobile App (Android) > 2. Screen sharing both work fine. there's also website with full functionality and a desktop app (an electron app); both for desktop users. in my limited experience the whole ecosystem is faster and lighter weight than Slack.
Re: PilCon yesterday
Discord would be a good option - streaming at 720p is free, and people can join through website, skipping registration or app installation, if they wish so. Also multiple people can stream for the same audience, when need be.
Re: SEXP?
On Monday 01 of July 2013 07:39:49 you wrote: Hi Thorsten, I wonder if there is a way in PicoLisp to check if some function argument is a SEXP, i.e. if something like a function 'sexp? exists that returns T if the argument is a SEXP. how about (pair 'any) ? basically the opposite of (atom 'any) -- dexen deVries [[[↓][→]]] Take care of the luxuries and the necessities will take care of themselves. -- L. Long -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Testing leading dots in email
Hi Jon, On Wednesday 08 of May 2013 16:03:36 you wrote: It looked quite fine, except for two missing leading dots. I'm just a bit curious about where those dots got lost, so I try again here: This line should have one dot up front, and .. this line should have three dots up front. this is how it looked to me. The only thing that comes to mind is SMTP protocol, which uses a line with exactly one dot as end-of-transmission marker. from wikipedia: [the message body] is terminated with an end-of-data sequence. This sequence consists of a new-line (CRLF), a single full stop (period), followed by another new-line. Since a message body can contain a line with just a period as part of the text, the client sends two periods every time a line starts with a period; correspondingly, the server replaces every sequence of two periods at the beginning of a line with a single one. Such escaping method is called dot-stuffing. http://en.wikipedia.org/wiki/Smtp#SMTP_transport_example -- dexen deVries [[[↓][→]]] ``we, the humanity'' is the greatest experiment we, the humanity, ever undertook. -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Testing leading dots in email
On Wednesday 08 of May 2013 17:05:05 you wrote: Do leading dots on a line have a special meaning for email (as they do for tools like [gt]roff etc.)? not for emails per se, but in SMTP protocol, only during transmission of the message BODY. A line with one bare dot, followed by line feed and no other content indicates ind of message BODY. An SMTP client (sender) must replace leading dot with two dots (in message BODY). An SMTP server (receiver) must replace (again, in message BODY) two leading dots with one before handing the message over to other process or to storage. Thus you only see extra dot while message is on the wire, but not in storage. Cheers, -- dexen deVries [[[↓][→]]] ``we, the humanity'' is the greatest experiment we, the humanity, ever undertook. -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: `rd' behavior
Hi Jose, Alexander, HOn Monday 05 of November 2012 16:15:39 you wrote: (...) and instead of 'argv' use 'opt': (while (opt) (in @ (while (rd 1) (wr @) ) ) ) and thus we are almost at José's solution ;-) thanks you both for explanations, it helps a lot :-) two things should be corrected to converget o UNIX `cat': * by default, stdin should be copied to stdout if there's no arguments; that's easy with (unless (argv) (in @ (echo) ) ) * by default, many derivative cat use single, bare dash (`-') to stand for /dev/stdin, but picolisp (the interpreter) seems to skip arguments after first bare dash. is there any way around it? cheers, -- dexen deVries [[[↓][→]]] I have seen the Great Pretender and he is not what he seems. -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
learning -- please comment
Hi list, please comment another small tool: the `read'. it irks me argument processing is longer than the main code. raw: https://github.com/dexen/pillbox/raw/995dcc6c0d1e17b9ea6d7ec870ca05dea2724b3f/read html: https://github.com/dexen/pillbox/blob/995dcc6c0d1e17b9ea6d7ec870ca05dea2724b3f/read based on documentation at http://plan9.bell-labs.com/magic/man2html/1/cat cheers, -- dexen deVries [[[↓][→]]] I have seen the Great Pretender and he is not what he seems. -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: `rd' behavior
On Monday 05 of November 2012 10:54:20 you wrote: rd without argument (or with a sym) means binary read, it tries to read an atom or expression in the binary PLIO format (used by pr). Rd with a number argument means to read the given amount of bytes as a bignum. The sym argument is an optional end of file flag to return instead of the default (NIL). thanks, i get it now :-) inspired by recent post on HN, i want to learn picoLisp (at last :P) by re- implementing some basic UNIX tools. here goes the venerable cat: #!/usr/bin/env plmod (mapcar '( (file) (in file (use X (until (== NIL (setq X (rd 1)) ) (wr X) ) ) ) ) (argv)) (bye) guess it could be shorter... cheers, -- dexen deVries [[[↓][→]]] How often I found where I should be going only by setting out for somewhere else. -- R. Buckminster Fuller -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: `rd' behavior
On Monday 05 of November 2012 15:29:42 dexen wrote: (...) here goes the venerable cat: ..and a bugfix -- support the all-important - ;-) #!/usr/bin/env plmod (mapcar '( (file) (in (if (= file -) NIL file ) (use X (until (== NIL (setq X (rd 1)) ) (wr X) ) ) ) ) (argv)) (bye) cheers, -- dexen deVries [[[↓][→]]] How often I found where I should be going only by setting out for somewhere else. -- R. Buckminster Fuller -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Running PicoLisp in Acme
Hi Jon, On Friday 28 of September 2012 10:34:11 you wrote: A few days ago I saw Russ Cox's A Tour of Acme http://research.swtch.com/acme and got really interested. Today I installed Plan 9 from User Space http://swtch.com/plan9port/ on my Mac (also supports Linux, FreeBSD, NetBSD, OpenBSD, SunOS), and of course I had to try running PicoLisp from within acme win. It works, but the PicoLisp REPL gives some feedback that the acme win doesn't handle very well: an Acme user here :-) I take it that you ran `win bash' and then `./dbg' inside it. It seems to methat `lib/led.l' (the line editor) is source of your problems -- works a-ok if you disable it in first line of `lib.l'. Suggested way of running: `win ./dbg'. Have fun with Acme, -- dexen deVries [[[↓][→]]] I'm sorry that this was such a long letter, but I didn't have time to write you a short one. -- Blaise Pascal -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Running PicoLisp in Acme
Hi Alex, On Friday 28 of September 2012 11:04:41 you wrote: It seems that this terminal doesn't handle Ctrl-H (ASCII 8) to erase the character to the left of the current position. This seems pretty non-standard to me. Acme does not emulate anything resembling ANSI terminal. As far as I know, it only treats TAB and LF characters in special way. In particular, no cursor addressing resembling anything of ANSI terminal. In prev email I suggested disabling the picoLisp's built-in line editor, because Acme itself provides rich editing environment, with both mouse and keyboard controls. Cheers, -- dexen deVries [[[↓][→]]] I'm sorry that this was such a long letter, but I didn't have time to write you a short one. -- Blaise Pascal -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Running PicoLisp in Acme
Hi lists, On Friday 28 of September 2012 13:28:57 you wrote: Acme does not emulate anything resembling ANSI terminal. As far as I know, it only treats TAB and LF characters in special way. In particular, no cursor addressing resembling anything of ANSI terminal. Yes, but this is on a level higher. The picolisp line editor avoids any dependence on terminal control sequences (termcap or terminfo), by relying solely on spaces and backspaces to format the line. I see now. I have similar annoyance with Git -- which uses ^H (or was it CR?) to over-write line of text when indicating pull progress (1% ^H^H2% ^H^H^3% etc.etc.). In any way, instead of completely disabling 'led', you might change the function 'chgLine' in lib/led.l, and replace ^H ((prin ^H) in three places) with some other character which is suitable for acme. I believe there's no direct replacement, but let's ask the nice folks on 9f...@9fans.net -- I'm cross-posting this message. -- dexen deVries [[[↓][→]]] -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Processing SMS in PicoLisp
Hi Thorsten, On Friday 17 of August 2012 11:47:55 you wrote: just one curiosity - how would one write a PicoLisp application that recieves and processes (and maybe sends) SMS messages? What would be involved to give the application a 'phone number' (or maybe many) so that messages can be send to and from it? Anybody with experiences in SMS processing? Is that like email processing with standard header and body etc? What if the application is a service and each incoming SMS should be charged by me (e.g. 20cent extra cost billed by me, additionally to the basic SMS costs of the telephone provider)? Not really so PicoLisp specific, but maybe somebody has some experience in this field and doesn't mind to share it. recently my company has been handed an offer by Plus (polish GSM operator, related to Vodafone) for SMS service. They provide you with access to a server (via https and SOAP available) and with one GSM number and other assorted goodies, like dynamic text substitution facility. Pricing is similar to consumer SMSes. You pay monthly subscription (comparable to consumer subscriptions), which includes a couple hundred or thousand SMS. Albeit I am unsure if `free SMS' (with costs covered by receiver than sender) is available with this service. Seems like a little-hassle, no-strings-attached way to me. No need to fiddle with actual GSM hardware. -- dexen deVries [[[↓][→]]] -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Base64 decode
On Friday 04 of May 2012 11:18:47 you wrote: Hi Mansur, I found ext:Base64 function for encoding, but no function for decoding base64, maybe I missed something? Right. There is only 'ext:Base64'. Unfortuantely there is no built-in function for decoding. The easiest is probably to call /usr/bin/base64 from the coreutils package in an 'out' pipe. Or is there a C library function callable by 'native'? gnutls_pem_base64_decode() is a generic base64 decode that should be present on almost any linux distro. check the manpage. -- dexen deVries Until real software engineering is developed, the next best practice is to develop with a dynamic system that has extreme late binding in all aspects. -- Alan Kay -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp SSL Problem
On Wednesday 15 of February 2012 14:45:00 you wrote: Could it be that they come with new default settings/behavior making them simply reject sites using self signed certs? There are two problems at once: 1) the cert is self-signed, but you can add exception for it and that's OK 2) the cert only covers *.7fach.de domains. So `app.7fach.de' is covered, but bare `7fach.de' is not, and neither is `wiki.picolisp.com' Perhaps strangely, in case of wildcard certificates, the important part is the `Certificate Subject Alt Name' field. For example, one of my websites has: DNS Name: *.example.pl DNS Name: example.pl that is, both *.DOMAIN.pl and DOMAIN.pl You can put several records here, so both *.7fach.de, 7fach.de, picolisp.com and *.picolisp.com are covered. Cheers, -- dexen deVries [[[↓][→]]] Already many of the mutants disguised as human beings are walking the streets of Earth's cities. -- Music Instructor, ``Electro City'' -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp SSL Problem
On Wednesday 15 of February 2012 11:12:32 you wrote: On Wed, Feb 15, 2012 at 09:47:48AM +0100, Alexander Burger wrote: What I could see was that 'httpGate' does an accept() on the connection, but nothing else. So this means, that the certificate isn't sent at all! Forget that. I traced the wrong process :( The certificate is probably indeed sent. output from tcpdump and Konqueror suggests the cert is sent alright. there's that `ssldump' tool that dumps content of HTTPS session, could help. -- dexen deVries [[[↓][→]]] Already many of the mutants disguised as human beings are walking the streets of Earth's cities. -- Music Instructor, ``Electro City'' -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: The PicoLisp Ticker
On Friday 15 of July 2011 10:13:27 you wrote: I think you created a bot-trap :-) may I suggest adding rel=nofollow to the `Next page' link (the a tag)? Cheers, -- dexen deVries [[[â][â]]] For example, if the first thing in the file is: ?kzy irefvba=1.0 rapbqvat=ebg13? an XML parser will recognize that the document is stored in the traditional ROT13 encoding. (( Joe English, http://www.flightlab.com/~joe/sgml/faq-not.txt )) -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: The PicoLisp Ticker
On Friday 15 of July 2011 10:45:28 you wrote: Hi Dexen, may I suggest adding rel=nofollow to the `Next page' link (the a tag)? I see! Didn't know about that tag. because it's non-standard. Google's proprietary extension to HTML. Normally I discourage using proprietary stuff, but in this case, meh... Better would be using /robots.txt or having meta name=robots content=noindex, nofollow/ on 2nd and subsequent `news' page. -- dexen deVries [[[â][â]]] For example, if the first thing in the file is: ?kzy irefvba=1.0 rapbqvat=ebg13? an XML parser will recognize that the document is stored in the traditional ROT13 encoding. (( Joe English, http://www.flightlab.com/~joe/sgml/faq-not.txt )) -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Porting minipicolisp
Hi Jakob, On Thursday 09 of June 2011 10:36:20 you wrote: I ported miniPicolisp to Amiga with GCC. I had to fix one include and change to a cross compiler in the makefile. However, -falign-functions did not exist in that version of GCC. And sure enough, while it built, it would not run, dying on the assertion giveup(Unaligned Function);. Any ideas? Why does alignment matter? Not sure if it'll help at all, but there has been a similar discussion in the past: http://www.mail-archive.com/picolisp@software-lab.de/msg01909.html -- dexen deVries [[[â][â]]] For example, if the first thing in the file is: ?kzy irefvba=1.0 rapbqvat=ebg13? an XML parser will recognize that the document is stored in the traditional ROT13 encoding. (( Joe English, http://www.flightlab.com/~joe/sgml/faq-not.txt )) -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Porting minipicolisp
Hi guys, On Thursday 09 June 2011 20:41:02 Alex wrote: On Thu, Jun 09, 2011 at 11:18:29AM +0200, Alexander Burger wrote: Also - I find the general idea of using picolisp as an embedded control language inside other applications interesting, not just this special platform. So it would be nice to get pil32 or pil64 running. If you want to stick with miniPicoLisp, there is another idea: We can release the restriction that code must be aligned to certain byte bondaries if you encode the function pointers differently. IIRC, the Amiga's instructions set guarantees that every function is 4-byte aligned anyway, on round 4-byte boundary, simply because every instruction is exactly 4 bytes (32bits). If that's the case, perhaps it could be enough to `fake' function addresses by adding `2' before exposing them to miniPicoLisp virtual machine; the address would get fix'd up by the current evSubr() macro before use anyway? That is, leave the evSubr() macro as-is, but instead adjust the way the function address is exposed to the mPL virtual machine. @Alex are all functions in miniPicoLisp aligned to 2-byte boundary on IA-32? Wouldn't that hamper performance -- as opposed to the preferred 4-byte alignment? Regards, -- dexen deVries ``One can't proceed from the informal to the formal by formal means.'' -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Porting minipicolisp
On Thursday 09 June 2011 21:39:37 you wrote: Hi Dexen, IIRC, the Amiga's instructions set guarantees that every function is 4-byte aligned anyway, on round 4-byte boundary, simply because every instruction is exactly 4 bytes (32bits). If that's the case, perhaps it could be enough to Strange. But why did then Jakob report that the Unaligned Function error appeared at startup? Doesn't Amiga use an 68k CPU (which has instructions of variable byte sizes)? Oh, you are right; I've mixed up 68k with PPC. Terribly sorry~ -- dexen deVries ``One can't proceed from the informal to the formal by formal means.'' -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: lisp assumption validation
On Monday 14 of March 2011 08:52:37 you wrote: creating a lisp function is a function call to (de). =20 since lisp has a reputation of being a functional language, this observation is interesting. Lisp, and picolisp in particular, is quite imperative althought it can be programmed in a functional style. please correct me if i'm wrong, but it seems to me the `de' is not *needed*= =20 for creating a function. rather, it's a shorthand of doing the usual thing:= =20 assign a (freshly defined) function to a symbol. (eval '( '((with) (prinl executed with with) ) 33)) here i have an eval of a list. the fist element on the list is a (quoted)=20 function definition; the second is 33. the definition of the function itself: '( (with) (prinl executed with with) ) # quote to prevent in-line evaluation =20 the function definition is just a list too. the first element of the functi= on=20 definition is parameter list (here: `with'), everything later is expression= s to=20 be executed, one by one. the eval evaluates a list like [1]: take first element, consider it a funct= ion=20 to be called. take the rest, pass it as arguments to the function. the=20 function to be called may be either indicated by a symbol, or, as in my cas= e,=20 stated literally. the morale would be, a function is just a list of stuff. it can be created = `by=20 hand', it can be modified at runtime ((debug, trace and traceAll instrument= a=20 function with extra code)).=20 [1] http://software-lab.de/doc/ref.html#ev =2D-=20 dexen deVries [[[=E2=86=93][=E2=86=92]]] ``In other news, STFU and hack.'' mahmud, in response to Erann Gat's ``How I lost my faith in Lisp'' http://news.ycombinator.com/item?id=3D2308816 -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: meta!
Hi Alex, On Monday 14 of March 2011 19:13:54 you wrote: could we please have the ``Content-Transfer-Encoding: quoted-printable''=3D20 handling fixed? :) =20 I.e., the stuff that currently creates the endless =3D3D20 etc. =20 Hmm, OK. But how? The source is in the PicoLisp distribution in misc/mailing, it doesn't do anything with the encoding. Let's see :-) Cheers, =2D-=20 dexen deVries [[[=E2=86=93][=E2=86=92]]] ``In other news, STFU and hack.'' mahmud, in response to Erann Gat's ``How I lost my faith in Lisp'' http://news.ycombinator.com/item?id=3D2308816 -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: digging dotted pairs
On Monday 14 of March 2011 19:28:41 you wrote: I agree with all you wrote, except when you write about association =20 lists: Nb., this mechanism is used internally in picoLisp for symbol properties=3D20 (aside of the general value of the symbol, each symbol = can have any number =3D of=3D20 (KEY . VALUE) properties associated with it). Access with (get) and (set). =20 There is a slight difference: The cells in a symbol's property list are not of the form (KEY . VALUE), but of (VALUE . KEY), so they are not really an association list. =20 'get' searches for KEY in a similar way, but the convenient feature is that 'prop' and '::' return a cell with VALUE in the CAR, so it can be used directly with functions that expect a 'var' argument (e.g. 'inc', 'dec', 'push', 'pop', 'queue' and so on). =20 The statement Access with (get) and (set) is correct for 'get', but I assume you mean 'put' for the equivalet setter function. Thanks a lot for the clarification; makes more sense to me now :D =20 =2D-=20 dexen deVries [[[=E2=86=93][=E2=86=92]]] ``In other news, STFU and hack.'' mahmud, in response to Erann Gat's ``How I lost my faith in Lisp'' http://news.ycombinator.com/item?id=3D2308816 -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: meta!
On Monday 14 of March 2011 19:13:54 you wrote: could we please have the ``Content-Transfer-Encoding: quoted-printable''=20 handling fixed? :) I.e., the stuff that currently creates the endless =3D20 etc. Hmm, OK. But how? The source is in the PicoLisp distribution in misc/mailing, it doesn't do anything with the encoding. And it didn't work. In short, the messages I receive don't have the ``Content-Transfer-Encoding'' header (which is a companion to ``Content-Type''), even the ones I sent with that header for sure. Without this header, the mail client doesn't know to interpret the escape codes starting with the ``equals'' sign. Now I dont' understand the code too well, but it seems only fields indicated by a shortlist are copied from incomming message to the outgoing message. Perhaps if you added the ``Content-Transfer-Encoding'' field to this list (to be just copied), it would work? Attached patch attempts to fir it~ Cheers, -- dexen deVries [[[↓][→]]] ``In other news, STFU and hack.'' mahmud, in response to Erann Gat's ``How I lost my faith in Lisp'' http://news.ycombinator.com/item?id=2308816 --Boundary-00=_xLmfN70LoP+89EH Content-Type: text/x-patch; charset=UTF-8; name=0001-attempt-to-fix-Content-Transfer-Encoding-header-not-.patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=0001-attempt-to-fix-Content-Transfer-Encoding-header-not-.patch From e17e05b34cbbbe342d4350cdce8a16fa3b180ea8 Mon Sep 17 00:00:00 2001 From: dexen deVries dexen.devr...@gmail.com Date: Mon, 14 Mar 2011 19:47:16 +0100 Subject: [PATCH] attempt to fix Content-Transfer-Encoding header not being forwarded X-Face: 1TH%]0KlR_DQ/V9+m_neC|Yj3$MU@B/vVI\}^j`G/[9JKe=5`p[$l|z^\MRO%k:9xXL[_!jEZo8$[]yo{7O-]t_@Qj`v5H@L[YyU#j7(H)P\{pMs))9$@Vww1ni-{+{5olk=XYG,}|UHQMC08506\0=+p|75ucH!S!1UcXoC1vgpN_{lOMt_54_N5;)ngh6=D^uZN,}ZI9-k9v!}`jpCUMM,//`H6w{KgeM^bS]jwD8'lAEX9F[ScIHig1.r%65; --- misc/mailing |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/misc/mailing b/misc/mailing index 1c7087a..aae2dc5 100755 --- a/misc/mailing +++ b/misc/mailing @@ -22,7 +22,7 @@ (while (setq *From (lowc (till T))) (off *Name *Subject *Date *MessageID *InReplyTo *MimeVersion - *ContentType *ContentDisposition *UserAgent ) + *ContentType *ContentTransferEncoding *ContentDisposition *UserAgent ) (while (split (line) ) (setq *Line (glue (cdr @))) (case (pack (car @)) @@ -33,6 +33,7 @@ (In-Reply-To: (setq *InReplyTo *Line)) (MIME-Version: (setq *MimeVersion *Line)) (Content-Type: (setq *ContentType *Line)) + (Content-Transfer-Encoding: (setq *ContentTransferEncoding *Line)) (Content-Disposition: (setq *ContentDisposition *Line)) (User-Agent: (setq *UserAgent *Line)) ) ) (if (nor (member *From *Mailings) (= subscribe (lowc *Subject))) @@ -66,6 +67,7 @@ (and *InReplyTo (prinl In-Reply-To: @ ^M)) (and *MimeVersion (prinl MIME-Version: @ ^M)) (and *ContentType (prinl Content-Type: @ ^M)) +(and *ContentTransferEncoding (prinl Content-Transfer-Encoding: @ ^M)) (and *ContentDisposition (prinl Content-Disposition: @ ^M)) (and *UserAgent (prinl User-Agent: @ ^M)) (prinl ^M) -- 1.7.4.1 --Boundary-00=_xLmfN70LoP+89EH-- -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
[PATCH] attempt to fix Content-Transfer-Encoding header not being forwarded
perhaps will be better preserved this way =2D-- misc/mailing |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/misc/mailing b/misc/mailing index 1c7087a..aae2dc5 100755 =2D-- a/misc/mailing +++ b/misc/mailing @@ -22,7 +22,7 @@ (while (setq *From (lowc (till T))) (off *Name *Subject *Date *MessageID *InReplyTo *MimeVersion =2D *ContentType *ContentDisposition *UserAgent ) + *ContentType *ContentTransferEncoding *ContentDispositio= n *UserAgent ) (while (split (line) ) (setq *Line (glue (cdr @))) (case (pack (car @)) @@ -33,6 +33,7 @@ (In-Reply-To: (setq *InReplyTo *Line)) (MIME-Version: (setq *MimeVersion *Line)) (Content-Type: (setq *ContentType *Line)) + (Content-Transfer-Encoding: (setq *ContentTransferE= ncoding *Line)) (Content-Disposition: (setq *ContentDisposition *Li= ne)) (User-Agent: (setq *UserAgent *Line)) ) ) (if (nor (member *From *Mailings) (=3D subscribe (lowc *S= ubject))) @@ -66,6 +67,7 @@ (and *InReplyTo (prinl In-Reply-To: @ ^M)) (and *MimeVersion (prinl MIME-Version: @ ^M)) (and *ContentType (prinl Content-Type: @ ^M)) +(and *ContentTransferEncoding (prinl Content-Tran= sfer-Encoding: @ ^M)) (and *ContentDisposition (prinl Content-Dispositi= on: @ ^M)) (and *UserAgent (prinl User-Agent: @ ^M)) (prinl ^M) =2D-=20 1.7.4.1 =2D-=20 dexen deVries [[[=E2=86=93][=E2=86=92]]] ``In other news, STFU and hack.'' mahmud, in response to Erann Gat's ``How I lost my faith in Lisp'' http://news.ycombinator.com/item?id=3D2308816 -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: help in understanding picolisp implementation
On Friday 25 of February 2011 21:01:49 you wrote: #define EVAL(x) (isNum(x)? x : isSym(x)? val(x) : evList(x)) There is an overview of the (eval) in the docs http://www.software-lab.de/doc/ref.html#ev -- dexen deVries ``One can't proceed from the informal to the formal by formal means.'' -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: PicoLisp and Arrays
On Monday 21 of February 2011 21:54:17 you wrote: Hi Dexen Jos=E9, Now if you access the array in a semi-random order, so-called `cache trashing' will ensue. Pretty much like reading random data from the harddrive (for example from swap). The CPU, starved of data, will idle uselessly. this is quite a low level detail and the effect on lists is the same. The PicoLisp lists live on the heap which is an array of cells in the C terms after all. However, for lists this happens more often, depending on how the list came into existence because the data will be quite likely spread over many different memory pages. I'm not much experienced in details, but I'd guess `yes and no' ;) A `naive' implementation of compiler would emit code that *just* operates on the data, and a`naive' CPU would *just* execute explicit instructions. However, modern CPUs have instructions for data pre-fetch prefetching hints (for explicit indication of prefetch) and a competent compiler can be expected to include such ones in proper places. Also, the CPU performs some analysis of all opcodes is free to pre-fetch any data code it considers likely to be used in future -- up to and including speculative execution of future instructions. In the end, I'd guess walking a (linked) list can be more explicit indicator for CPU to get the right data pre-fetched. But then again, that's just speculative fiction :) Greetz, -- dexen deVries ``One can't proceed from the informal to the formal by formal means.'' -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: functions for a minimum lisp (or picolisp)
On Saturday 19 of February 2011 16:23:52 you wrote: i'm looking for a minimum list of functions to create a lisp interpreter (like picolisp :). which ones to master to grok all of the other functions that are built on top of the foundation functions? For a very hands-on approach, see Paul Graham's ``The Roots of Lisp''. On 13 pages he builds Lisp from scratch, giving complete explanations along the way. (I/O is quite basic: only the built-in reader) Intro: http://www.paulgraham.com/rootsoflisp.html The article itself: http://lib.store.yahoo.net/lib/paulgraham/jmc.ps -- dexen deVries ``One can't proceed from the informal to the formal by formal means.'' -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: Announce: Some sensitive changes
On Tuesday, January 18, 2011 06:02:30 pm you wrote: after some lengthy discussions in IRC today, we decided to change some sensitive features of the PicoLisp interpreter environment: =20 1. On the command line, debug mode can now enabled by appending a single '+' argument. This '+' will not be seen by the application, but will switch on '*Dbg' before any other command line argument is processed. So the following three commands are equivalent: =20 $ ./dbg =20 $ ./p + =20 $ pil + # If bin/pil was copied to /usr/bin as recommended =20 2. *Tsm, the transient symbol markup (the underlining of transient symbols) is now off by default. lib/tsm.l can be loaded to switch it on. =20 3. The interpreter does not exit automatically any more when an empty line is entered on the top level. To exit the interpreter, either Ctrl-D or and explicit (bye) must be typed. =20 =20 Hope this is all right for everybody! :) Sounds good :) the last change is especially welcame for me ;) =2D-=20 dexen deVries ``We=E2=80=99ve been shocked how often a demo has become a product.'' -- Ra= nds, in=20 `Managing Nerds',=20 http://www.randsinrepose.com/archives/2011/01/17/managing_nerds.html -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
Re: wiki password
Hello all, On Wednesday 27 October 2010 16:15:35 Dave wrote: (...) I encrypt the passwords in the browser (using the same algorithm) and always transmit an encrypted password. There's no place to peek. (...) I believe you mean `I take a hash of password and some salt in the browser and always transmit the hash' (or better, `I use HMAC')... Otherwise the owner of the process could still trace it to recover the passwords, coudn't he? -- dexen deVries ``One can't proceed from the informal to the formal by formal means.'' -- UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe
Re: wiki password
On Tuesday 26 October 2010 14:31:17 you wrote: On Sat, Oct 23, 2010 at 12:18:45AM +0200, Javier wrote: Alex, please add a feature to reset the password, as I don't remember Thinking about it: What would be the best way? A rather popular aggregator known as Hacker News is using manual password reset method. You mail the site owner (Paul Graham) and he enables password reset functionality in your account (for a period of time) and mails you back with a link to reset the passwod. Worked a-OK for me, at least... -- dexen deVries ``One can't proceed from the informal to the formal by formal means.'' -- UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe
Re: Porting PicoLisp to Plan9
Hi Tomas, On Sunday 19 of September 2010 20:57:45 you wrote: To clear it up, i use the `Plan 9 from User Space' (i.e., the tools ported to POSIX). I've tried that one too, very interesting;-) It took me a few (3?) months to learn to use Acme efficiently. Wow, Acme seems like a great proof of concept but I can't imagine doing anything effectively using it. A piece of casual evidence: I'm using Acme as the only editor at work, the boss is happy with my performance. Consider giving a try another editor, `sam'; also included in Plan 9 from User Space. Sam seems to be more vi-like, with similar commands issued by hand in a similar way. I think sam was an evolutionary step between the vi and current Acme. Sam was developed by the same Rob Pike who later on developed the Acme. There are some strong similarities -- like the regexp based text editing language, heave reliance on the mouse, ability to work with remote local system seamlessly etc. -- but also some differences. IMO, Acme is more refined and practical than sam -- but that's not to say sam is any bad. It was popular back in its day. The concept of the plumber is really neat though. It sure is ^_^ Makes you wonder why the simple things like plumber are so complicated elsewhere... Acme yields greatly to scripting. Virtually all actions can be performed by script by sending textual commands to file associated with Acme windows Together with the plumber it provides for easy implementations of file browsing for remote computers, email and IRC use, opening various files in proper viewers etc. Smart right-click basically turns any text into hypertext. F.e., when you right-click on printf(3), it opens the relevant manpage. How would you get syntax highlighting in acme, for example? There's no support for it, AFAIK. It may help to use custom font with Acme. You need to pre-render it to Plan 9 format; described on the net. Slightly related, there's parenthesis matching in Acme for ( { [ and . If you double-click on one parenthesis, it highlights the tech between it and matching parenthesis (if any). Acme takes a three-buttoned mouse, preferably with a scroll. It's pretty important to have all three physical buttons, since a lot is done via chording two buttons. I think the mouse is show-stopper for me. I've been trying to eliminate mouse from my life completely. As a programmer I use mouse much more than the graphic designer I work with. He needs keyboard much more. Both of us are productive. Go figure. No DLL hell. Programs (and thus processes) and libraries are very small. Greater percentage of code data fits in CPU cache. Less indirect more direct data access code calls/jumps. etc. etc. and it avoids the worst bane of DLL so far: http://harmful.cat-v.org/software/dynamic-linking/versioned-symbols Yes, that's definitely nice. Rather different approach to building software components than on any other systems I know. Somebody bemoaned a decade ago that `Systems Software Research is Irrelevant' -- that there's a big stagnation in the field, and POSIX is considered as good as it may ever get. Oh well. http://herpolhode.com/rob/utah2000.pdf Hope you'll find some fun with P9 :) Cheers, -- Mateusz -- UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe
Re: Wikipedia
Hello, On Saturday 02 of January 2010 21:21:36 you wrote: Well if you consider my series a reliable secondary source I would be honored but I don't feel like they are. I am afraid the `deletionists' on Wikipedia won't be pleased by a few blog= =20 posts :( Their point is, Wikipedia ought to report information from `reliab= le=20 sources', which seems to translate to press, including electronic. Or at le= ast=20 a few `high-profile blogs' etc. Best would is something peer-reviewed. Case in point/example: there was a quite good article on Colemak keyboard=20 layout several months ago, which was deleted cause of lack of notability. F= or=20 the background, Colemak was added officially to X.org, making it included=20 gradually in virtually all linux distros, *BSDs, as well as MaxOS X. There= =20 were several Changelog entries to that effect, aside of usual blog traffic = and=20 one non-peer-reviewed paper. All that did not please the deletionists. Here's the relevant discussion: http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Colemak_(2nd_n= omination) In the end, a short note mentioning Colemak was created in an article=20 describing Keyboard Layouts: http://en.wikipedia.org/wiki/Keyboard_layout#Colemak Perhaps something similar would work for PicoLisp for now? =46rom discussions on Colemak forum: Sadly, we exist at the junction of Notability and Original Research, which is kind of a 'rock and a hard place' on Wikipedia. We're never going to get out of one without running into the other, so until more than one real-made-of-paper magazine or newspaper has a story about Colemak, we're not going to be able to exist on Wikipedia. But in the end, it's not that big a thing. Sure, it would be nice to warrant a mention, but Colemak is notable in my life and that's good enou= gh for now. Offline -- Korivak http://forum.colemak.com/viewtopic.php?id=3D162 http://forum.colemak.com/viewtopic.php?id=3D244p=3D2 Notability on Wikipedia http://en.wikipedia.org/wiki/Wikipedia:Notability http://en.wikipedia.org/wiki/Category:Wikipedia_essays_on_notability sorry for the linkspam, =2D- dexen -- UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe
Re: First 64-bit release
On Wednesday 01 of July 2009 18:35:26 Alexander Burger wrote: today I released the very first version of 64-bit PicoLisp! Congratulations :D -- dexen -- UNSUBSCRIBE: mailto:picol...@software-lab.de?subject=unsubscribe
Subscribe
Hello dexen deVries [EMAIL PROTECTED] :-) You are now subscribed Please subscribe mah :) Greetz, -- Mateusz -- UNSUBSCRIBE: mailto:[EMAIL PROTECTED]