Re: How I run small mailing lists

2019-10-20 Thread George Orais
 Hi Yiorgos,
Thank you for sharing this, nice work!! Will use this as reference as well.

BR,Geo
On Friday, 11 October 2019, 06:05:07 am GMT+9, Yiorgos [George] Adamopoulos 
 wrote:  
 
 Hello, I wrote a blog post where I describe how I use picolisp to run small 
discussion lists:
https://adamo.wordpress.com/2019/10/10/how-i-run-a-small-discussion-mailing-list/
  
I may not have been able to do more serious stuff with picolisp, but I am 
thankful for these 100 lines of code.

-- 
keep raising the bar  

Re: A quick way to write an http endpoint to handle post body

2019-10-20 Thread George Orais
Hi Kashyap,
So cool! Thanks for sharing!

BR,Geo
On Friday, 13 September 2019, 12:45:44 am GMT+9, C K Kashyap 
 wrote:  
 
 Another update - I controlled my home made raspberry pi robot using the Bot 
Framework bot :)
Regards,Kashyap
On Mon, May 27, 2019 at 9:56 AM C K Kashyap  wrote:

Thanks Alex!

On Sat, May 25, 2019 at 12:06 AM Alexander Burger  wrote:

Hi Kashyap,

> I have it done finally. I've successfully built a "bot" that talks the
> "Azure Bot" protocol -
> Please take a look at http://ckkvm.westus2.cloudapp.azure.com:8080/ which
> presents a chat UI. It's a glorified REPL at this point :)

Wow, this looks cool!


> I've attache the bot code. The protocol is really simple. Messages are
> posted to the bot via an HTTP POST with the message in the body as a JSON

Re: Trouble with a sample

2019-10-20 Thread George Orais
 Hi Beneroth,
Sorry just to reply now, it was a hectic weeks for me.. but thanks for this 
explanation! I am also trying to learn PicoLisp as much as possible from these 
threads.
I want to promote PicoLisp as much as I can, I am working on something right 
now and hopefully I can provide a positive feedback soon, cheers!

BR,Geo
On Wednesday, 4 September 2019, 12:42:06 am GMT+9,  
wrote:  
 
   
Hi Geo
 
psh (located in the bin/ dir within picolisp/ dir) is "picolisp shell" (or 
process shell?), is a tool to get a REPL to a running picolisp app process.
 The implementation is a bit tricky, basically it does a HTTP request to the 
running app server (to initiate a session process),
 and then that process gets told to bind to a tty, so you get a REPL to the 
running application - a child process, same as normal application user 
sessions, not the master process.
 
 
So with psh you can work on the live application, like just another user.
 Very useful for debugging or live patching. If it is really a productive 
system, you should be careful with database transactions,
 as the database is write-locked for all users until the transaction started 
with (dbSync) is finished with (commit 'upd) or canceled with (rollback).
 Better use the auto-transaction methods (the ones with the ! in the name) like 
(put!>).
 
Best regards,
 beneroth
 
 On 03.09.19 16:30, George Orais wrote:
  
 Hi CK, 
  Im also currently learning PicoLisp web dev and this thread is indeed 
informative. 
  For your question I think Alex mentioned about psh? Im not so sure but I 
think I read somewhere about psh and its usage and this might be the answer. 
 
 BR, geo   
   

Re: Request for app development feedback/help

2019-10-20 Thread George Orais
 Hi Kashyap,
Nice works you did! I'm also learning Pil from reading all these threads.
About your question, does debugging help? Like putting a break point?
Also, what I was thinking recently is, would it be nice if there is a PilDB GUI 
Browser? Just like the DB Browser for SQLite?

BR,GeoOn Monday, 21 October 2019, 08:55:59 am GMT+9, C K Kashyap 
 wrote:  
 
 Hi Alex,It seems the advice of studying the sample app (part of the picolisp 
distribution) is a good idea :)
While I see the big pieces based on the description given in doc/app.html, I 
need some help understanding the Pilog queries.
I think I can make progress if I could figure out how to run the pilog queries 
in the sample app on the REPL. For example, how can I run the pilog query in 
the choOrd function in app/gui.l. It will help me see what the returned values 
are and how QueryChart uses them to render.
regards,Kashyap


On Thu, Sep 12, 2019 at 8:32 AM C K Kashyap  wrote:

Thanks Alex,
I'll keep those tips in mind while I go over the app/er.l .. I'll revert if I 
have more questions (I have a feeling I will :) )Regards,Kashyap

On Wed, Sep 11, 2019 at 10:25 PM Alexander Burger  wrote:

Hi Kashyap,

> I'll take a look at app/gui.l

Yes, I think it is a very typical example. In general, I would say that search
dialogs are *the* central issue.

Whenever I add a new entity class to an application, I first think about how
objects of that entity will be needed to be searched at runtime, and then do
three things:

   1. Add the class definition with proper index and joint relations to the E/R
      file.
   2. Write a search dialog allowing
      — the search for such objects with the right filter criteria
      — srcolling through the list of results in a chart
      — clicking on "@" in the result list to either
         — jump to the edit form of that object, or
         — take that object and insert into the context of another form
      — pressing a "New" button to make a new object if nothing useful found
   3. Write an edit form for such objects.


> Is there some documentation you could point me to for the format of the
> value in url> ?

Not that I'm aware of it. This method returns a a list to the path to the
standard edit form for that class, and further arguments, by convention passing
the object in the '*ID' global and the initial tab in the '*Tab' global if
desired:

   (dm url> (Tab)
     (and (may Customer) (list "app/cusu.l"  '*Tab Tab  '*ID This)) )

The (may ...) expression is for permission check. In general 'url>' returns NIL
if the object is not editable.

☺/ A!ex

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


  

Re: Request for app development feedback/help

2019-10-20 Thread C K Kashyap
Hi Alex,
It seems the advice of studying the sample app (part of the picolisp
distribution) is a good idea :)

While I see the big pieces based on the description given in doc/app.html,
I need some help understanding the Pilog queries.

I think I can make progress if I could figure out how to run the pilog
queries in the sample app on the REPL. For example, how can I run the pilog
query in the choOrd function in app/gui.l. It will help me see what the
returned values are and how QueryChart uses them to render.

regards,
Kashyap



On Thu, Sep 12, 2019 at 8:32 AM C K Kashyap  wrote:

> Thanks Alex,
> I'll keep those tips in mind while I go over the app/er.l ... I'll revert
> if I have more questions (I have a feeling I will :) )
> Regards,
> Kashyap
>
>
> On Wed, Sep 11, 2019 at 10:25 PM Alexander Burger 
> wrote:
>
>> Hi Kashyap,
>>
>> > I'll take a look at app/gui.l
>>
>> Yes, I think it is a very typical example. In general, I would say that
>> search
>> dialogs are *the* central issue.
>>
>> Whenever I add a new entity class to an application, I first think about
>> how
>> objects of that entity will be needed to be searched at runtime, and then
>> do
>> three things:
>>
>>1. Add the class definition with proper index and joint relations to
>> the E/R
>>   file.
>>2. Write a search dialog allowing
>>   — the search for such objects with the right filter criteria
>>   — srcolling through the list of results in a chart
>>   — clicking on "@" in the result list to either
>>  — jump to the edit form of that object, or
>>  — take that object and insert into the context of another form
>>   — pressing a "New" button to make a new object if nothing useful
>> found
>>3. Write an edit form for such objects.
>>
>>
>> > Is there some documentation you could point me to for the format of the
>> > value in url> ?
>>
>> Not that I'm aware of it. This method returns a a list to the path to the
>> standard edit form for that class, and further arguments, by convention
>> passing
>> the object in the '*ID' global and the initial tab in the '*Tab' global if
>> desired:
>>
>>(dm url> (Tab)
>>  (and (may Customer) (list "app/cusu.l"  '*Tab Tab  '*ID This)) )
>>
>> The (may ...) expression is for permission check. In general 'url>'
>> returns NIL
>> if the object is not editable.
>>
>> ☺/ A!ex
>>
>> --
>> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>>
>