ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Check also http://www.picolisp.com for more information
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
twelvemonkeys has quit [Ping timeout: 265 seconds]
twelvemonkeys has joined #picolisp
orivej has quit [Ping timeout: 250 seconds]
_whitelogger has joined #picolisp
_whitelogger has joined #picolisp
rob_w has joined #picolisp
rob_w has quit [Changing host]
rob_w has joined #picolisp
<Nistur> DKordic: I usually attempt to avoid Python on principle. I have minor issues with the language (I prefer parens or braces to whitespace) I have a more major issue with the bloat. I have former wounds from trying to set it up on Windows. I believe that's gotten better recently but I still don't like it. My _main_ issue is the python programmer's ethos of 'everything is a python shaped nail'
<Nistur> there was a (mis?)quote somewhere that said that Python is the second best language for any problem. While not true in a number of ways, that just leads to a "eh, we'll just do it in Python, it'll be easier than learning X"
<Nistur> I like learning different languages, so I make a point of trying to find _other_ ways of doing things than just reverting to Python
<Nistur> also: Good morning all :)
<Regenaxer> Good morning Nistur :)
<aw-> hello
<Regenaxer> Hi aw-!
<aw-> Nistur: how's the progress with the webapp/curl
<Nistur> helloo :)
<Nistur> aw-: I Spent a little time last night trying to make a CLI client to send some json requests by doing (native "libcurl.so"... but I forgot how awkward libcurl is to use, and how easy curl is to use from command line :P so for now I'm just using (call "curl"... :P Have now got an easy way to develop and manually test the endpoints :) As of tonight, I'll start looking at stubbing out all the endpoints I
<Nistur> believe I'll need
<Nistur> I need to learn DB stuff to actually _implement_ any of them, as well as a whole load of other things... but as I've got very little actual code, as I've been experimenting and learning so far, I want to make some actual progress for a bit :P
<Nistur> (very) slow going... but it's going
<Regenaxer> I have a problem with "ssh -R ..". If the connection breaks for some reason, the tunnel is nit closed and the next call fails
<aw-> oh haha libcurl
<Regenaxer> Any ideas?
<aw-> Nistur: yes (call 'curl) works so well, I use it in a lot of my picolisp code
<Nistur> I was using that to call home from work previously and never had problems. Are you using any other flags?
<aw-> Regenaxer: perhaps try the '-o ControlMaster=yes' option?
<Regenaxer> ok, let me try
<aw-> no idea if that helps
<Nistur> aw-: I'd prefer, if I could, to do native calls but I'm not going to bang my head on it right now
<Regenaxer> hmm, no change
<aw-> yes there's a learning curve and lots of trial&error with picolisp native
<Regenaxer> If I kill the connection, it fails the second time
<aw-> it helps when the C lib is well written/documented
<aw-> and has simple structures
<aw-> i tried messing with sqlite native and gave up quickly, it was too complex within picolisp :(
<Nistur> aw-: the native calls themselves were not a problem (yet... I hadn't got through to actually receiving data... not sure how that would work as it populates a buffer you provide as a parameter...) but just that for a simple CLI call, you need to do a million and one things, and if it errors, it gives you an error code (in my case malformed URL) but doesn't say why. As far as I can tell from examples etc,
<Nistur> and the fact I was using the same bloody URL as at CLI, it should have worked
<DKordic> Good morning everyone.
<Nistur> o7
<DKordic> Nistur: I agree that python as a whole is a BloatWare. But there are some interesting programs buried in it :) .
<Regenaxer> Hi DKordic!
<DKordic> Isn't "execve" (""CLI"") inappropriate for Your task? Aren't You looking for "dlopen"?
<Nistur> me?
<DKordic> Yes.
<Nistur> I was wanting the equivalent of the latter, but I'm now doing the former
<beneroth> Good morning all
<Nistur> o/
<Regenaxer> Hi beneroth!
<DKordic> Hi beneroth.
<DKordic> Nistur: PicoLisp ""call"" is an "execve" wrapper.
<Nistur> yup, which is what I'm doing. It's good enough for now
cil_Z has joined #picolisp
<Regenaxer> hmm, I don't find a way to close or kill the (possibly still running) old ssh connection
<Regenaxer> I use this here in this IRC client
<Regenaxer> I use reverse tunnel to ping my mobile device if a message appears
<Regenaxer> but when walking around the house the connection may break often
<Regenaxer> When reconnecting (e.g.with autossh) it works, but the reverse tunnel fails cause the old is still open
mtsd has joined #picolisp
cil_Z has quit [Remote host closed the connection]
<Nistur> Hmmm, strange, my tunnel closed when it lost connection
<Regenaxer> How do you detect that?
<Regenaxer> that it is indeed closed?
<Regenaxer> I notice only when I connect again
<Regenaxer> then -R fails on the remote side
<Nistur> I restarted the reverse tunnel and it worked?
<Regenaxer> ok
<Regenaxer> I use (call "ssh" "-R" "2201:localhost:2201" (opt))
<Regenaxer> I get "Warning: remote port forwarding failed for listen port 2201"
<Regenaxer> *if* the previous connection was cut off the hard way
<Regenaxer> i.e. by putting my device in airplane mode
<Nistur> hmmm, looks right. I don't think I changed anything. Does ssh show up in ps when it disconnects?
<Regenaxer> I don't know as I need to connect again to see
<Regenaxer> After a second connect it cleans up
<Regenaxer> So what works is connect + exit + connect
<Regenaxer> OK, let me monitor from a separate session
<Regenaxer> difficult, *that* session is called too of course ;)
<Regenaxer> I need some way to kill *possibly* still open sessions upon start up
<Regenaxer> I don't want to do killall ssh
<Nistur> save the PID of the connection then kill -9?
<Regenaxer> Something with 'lsof -i :2201' perhaps
<Regenaxer> yeah
<Regenaxer> but I did not find a way to get the pid of the current one
<Regenaxer> the parent pid of the current bash?
<Regenaxer> I also tried (call "ssh" "-o" "StreamLocalBindUnlink=yes" ...
<Regenaxer> did not help
<Nistur> not sure how you'd do it from within picolisp, but in bash you'd just store $! to get the pid of the last running command (if it's still running, I think)
<Regenaxer> $! is empty
<beneroth> Regenaxer, use (pipe), store the Pid in picolisp, then switch zu bash using (exec) ?
cil_Z has joined #picolisp
<Regenaxer> (pipe) to where?
<Regenaxer> The above picolisp call is here on the phone
<beneroth> btw I ususally use ssh -D <local-port> -f -C -q -N <host>
<beneroth> not within picolisp so far, though
<Regenaxer> hmm
<Regenaxer> I need -R I think
cil_Z has quit [Remote host closed the connection]
<Regenaxer> I need 2201 open remote, so that irc can connect back
<Nistur> -D is forward tunnel, -R is reverse tunnel. So probably, yep
<Regenaxer> T
<Regenaxer> and that remote port is not closed sometimes
<Regenaxer> or perhaps too late
<Regenaxer> Some KeepAlive in sshd_config ?
cil_Z has joined #picolisp
<Regenaxer> Can I pass KeepAlive on the 'call'?
<Regenaxer> Perhaps to 2 secs?
<Regenaxer> -o ServerAliveInterval=2 ?
<Regenaxer> I try
cil_Z has quit [Remote host closed the connection]
cil_Z has joined #picolisp
<Regenaxer> Nope, does not help :(
cil_Z has quit [Remote host closed the connection]
cil_Z has joined #picolisp
cil_Z has quit [Remote host closed the connection]
cil_Z has joined #picolisp
orivej has joined #picolisp
<Nistur> ahaha, I have just distracted a friend from his current project to consider (re)writing it in picolisp :D
<beneroth> good job :)
<beneroth> what is his project about, roughly?
m_mans has quit [Ping timeout: 256 seconds]
m_mans has joined #picolisp
<Nistur> he's currently working on a personal webpage in django, and then making a web backend for some app. Not entirely sure what for
orivej has quit [Ping timeout: 256 seconds]
<Nistur> I think he was considering using C for that, or perhaps his own (lisp-inspired) language... but I don't know that he's got much working on that yet
<beneroth> yeah picolisp would be a good fit for that
<beneroth> that is basically what I use it for, primarily. business web applications / databases
xkapastel has joined #picolisp
orivej has joined #picolisp
<DKordic> lisp-inspired language sounds interesting. Could we see more about it?
<beneroth> you're a language collector :)
mtsd has quit [Ping timeout: 256 seconds]
mtsd has joined #picolisp
mtsd has quit [Remote host closed the connection]
mtsd has joined #picolisp
mtsd has quit [Client Quit]
orivej has quit [Ping timeout: 250 seconds]
<Nistur> DKordic: I'm not sure if there's much about it :P
<DKordic> He might be interested in http://metamodular.com/closos.pdf and #ProgLangDesign .
<DKordic> beneroth: :3 A consequence of Forth practice.
<DKordic> ""Programming a Problem-Oriented Language"" by Chharles Moore.
<beneroth> yes I know, I have it, I think from you, or tankfeeder
* Nistur nods
<beneroth> I love his attitude
<DKordic> LiSP
cil_Z has quit [Ping timeout: 272 seconds]
orivej has joined #picolisp
cil_Z has joined #picolisp
rob_w has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 250 seconds]
<beneroth> [off-topic security alert] OpenWRT is vulnerable: https://blog.forallsecure.com/uncovering-openwrt-remote-code-execution-cve-2020-7982
<beneroth> patches available
orivej has joined #picolisp
alexshendi has joined #picolisp
alexshendi has quit [Quit: Leaving]
f8l has quit [Remote host closed the connection]
f8l has joined #picolisp
cil_Z has quit [Ping timeout: 272 seconds]
cil_Z has joined #picolisp
cil_Z has quit [Ping timeout: 272 seconds]
m_mans has quit [Ping timeout: 240 seconds]
m_mans has joined #picolisp
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #picolisp
xkapastel has quit [Quit: Connection closed for inactivity]
cil_Z has joined #picolisp
f8l has quit [Ping timeout: 250 seconds]
f8l has joined #picolisp
cil_Z has quit [Ping timeout: 272 seconds]
f8l has quit [Remote host closed the connection]