Re: How I run small mailing lists
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
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
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
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
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 >> >