freenode/#lisp - IRC Chatlog
Search
23:17:05
Gnuxie[m]
some people have wrote generators for swagger apis but the problem with that is that if the thing you're trying to wrap is not expressed in swagger than you're sorta stuck
23:18:04
Gnuxie[m]
so i started trying to make a model for it all in CLOS, but it's a bit of a big task tbh, hopefully you'd be able to do things for webservers from this library too
23:19:20
Gnuxie[m]
https://gitlab.com/Gnuxie/invidious-api-description/-/blob/master/description.lisp here's an example of something I made that uses it
4:13:22
drmeister
beach: I'm using the call-history for dispatching as clasp boots up - it works pretty well. It's faster than the cache and mutex that I stole from ECL.
4:14:40
drmeister
I didn't think an alist would be fast enough - but it was. So an alist updated with CAS is faster than a fancy cache with a mutex.
10:51:13
loke[m]
I see. But if there's no deadline it'll take a very long time to prepare a presentation :-)
10:52:39
phoe
and I'll need the abstract for sending via mail at least a week before the meeting, and the video at least 24h before streaming
10:59:01
phoe
that's the way that the ELS worked this year, and I've copied this way to the online meetings
10:59:25
phoe
because I've noticed that it works pretty well and eliminates many possibilities of technical issues
11:03:36
jackdaniel
ACTION shuffles through the deck of notecards labelled "You can't do that because" ;)
11:03:46
adlai
the latest pain point with scalpl has been the state of websocket client libraries. Eitaro's library works, although it appears to be the only one.
11:04:39
no-defun-allowed
lonjil and I have both wanted to create another websocket client, I guess with the three of us complaining it should be done.
11:05:55
adlai
there's also a partial client implementation that 3b published, although I don't think he made any claims about its usability; just, "here's how far I got, maybe someone else will find the leftovers useful"
11:06:05
no-defun-allowed
I used to also have a prototype of that. I'll check tomorrow morning if it's still there, but it wouldn't be so useful.
11:07:33
adlai
the actual problem, for which a websocket client is necessary, is synchronization of exchange order books; I'm unaware of any datastructure library that offers structures specifically for storing such data, although perhaps there's a gaping hole in my so-called education.
11:08:44
adlai
ACTION has been using a regular cl hash table, keyed on prices, which is good enough for sleepy markets; will almost certainly be a bottleneck for the busier markets.
11:09:29
no-defun-allowed
But, to be fair, I can't think of any changes I would make to the design of websocket-driver.
11:10:39
no-defun-allowed
adlai: My own concurrent-hash-tables could push back the limits somewhat, but I don't know your usecase well enough to say if it would be a bottleneck.
11:11:11
no-defun-allowed
Well, if you want a faster hash table, but perhaps there's another data structure that fits your queries better.
11:11:56
no-defun-allowed
And if you need concurrent access. I saw "synchronisation" and got excited - perhaps you don't need it at all.
11:13:24
adlai
concurrent access is almost a hard requirement, in the long term, because market participants should be considering the arbitrage opportunities between multiple trading locations; in the short term, I have specifically limited myself to first operating only within one centralized market at a time, so it is not a requirement yet.
11:14:30
adlai
ACTION is terribly ambitious; the hoped time for scalpl to return to ql:quickload levels of usability is a decade, and the expected - probably closer to three.