freenode/lisp - IRC Chatlog
Search
10:01:26
drduck`
What is used in common lisp as a log/data aggregation tool that is analagous to apache kafka?
10:09:23
drduck`
I see this but I wondered if there was anything that was a fully featured interface https://github.com/yehohanan7/cl-kafka
10:10:12
drduck`
I guess syslog is kinda sorta like kafka without the power of querying against the centralized data?
12:57:39
drduck_2
I'd like to create a web service in common lisp that can be targeted by a web application and mobile application. What would be the appropriate library that would help the most for this?
12:58:37
drduck_2
I was wondering if caveman would be what I wanted, but it looks like it looks like it is biased towards/built for just web applications.
13:03:18
drduck_2
https://github.com/fukamachi/caveman#generating-a-project-skeleton and https://github.com/fukamachi/caveman#templates and https://github.com/fukamachi/caveman#structured-querypost-parameters namely
13:05:55
drduck_2
I guess I don't have to use those portions. I will just play with it and see if I can configure it, unless there are any suggestions.
13:08:59
pjb
drduck_2: I would do the thing myself. Why do you want to rely on dependencies that may or may not match your needs. If you're new you don't even know what you need! Develop it yourself and see what your need is!
13:12:51
drduck_2
Well I'd like to get it up and running as quickly as possible. Building it myself would be a humongous time sink, I think.
13:13:33
drduck_2
If there's a library, like Flask or something, for common lisp where I can use it as a web service framework and not a web application framework, that would be great.
13:32:59
drduck_2
Does caveman force you to couple the web service with the browser webapp? I thought from the looks of it, it did. I may be totally wrong, and it's just providing options incase you decide to.
13:34:15
drduck_2
the html and css from the project creation generator https://github.com/fukamachi/caveman#generating-a-project-skeleton
13:34:41
drduck_2
structured query/post params https://github.com/fukamachi/caveman#structured-querypost-parameters
13:35:31
drduck_2
I want to have a web service i can hit from mobile and browser applications and not be restricted to one
13:35:52
drduck_2
bah i'll just download it and see what happens. i could be talking complete nonsense right now and it be the right oold for the job
16:42:04
skidd0
when I (ql:quickload :my-package) it "runs" the code in the my-package file proceduraly, right?
16:42:53
skidd0
I ask because i have a (ubiquitous:restore 'my-config) that doesn't appear to have been "run" after the quickload
16:57:00
Bike
if you mean you put something like that in your asd file, that'll probably be problematic
17:07:40
skidd0
i know it's being loaded because it throws errors due to the not working config setup
17:17:55
beach
esthlos: are you allowed to wrap the bit vector in something, or does it have to be a "raw" bit vector?
17:31:18
esthlos
as long as it's efficient. rotation on lists is easy enough, but I worry that vector -> list -> vector takes too much time
17:37:24
beach
(defclass wrapped-bitvector () ((underlying-bitvector ....) (offset ...))) then (defun rotate (wrapped-bitvector amount) (incf (offset wrapped-bitvector) amount))
17:54:33
esthlos
beach: that's an interesting idea. I have to constantly make new vectors. question then is what costs more: creating the wrapped-bitvector, or the dumb rotation with a loop and setf
17:55:38
esthlos
obviously your method scales far better, but these bit vectors are capped at 2^7 in length
17:57:04
flip214
anyway, I'd suggest to create the underlying-bitvector with double the size, and setting bit N and (+ N size) at each SETF.
17:57:33
flip214
then retrieving any bit sequence can be done with a single call with the offset, no need to check for wraparound
17:58:25
flip214
depending on the actual things you need to do a vector of 2^(7+1) bytes where only a single bit is used might be even easier -- though not as L1 cache efficient ;)
17:59:05
flip214
esthlos: if it's really only 2^7 bits, why not keep them in a BIGNUM (or, if you have enough control, in one SSE or two CPU registers)?
18:10:09
esthlos
flip214: the rotation is by single bits. keeping them in a bignum is also an interesting idea. though I'm trying to be very transparent about bitwise operations in the code itself
18:11:44
msmith
has anyone compared NTP timestamps to the output of get-universal-time? I seems like the latter is just the first 32 bits of the former. is this correct? by that I mean they both equal the seconds relative to 0h on 1 January 1900 and should be identical
20:26:22
gendl
Hi, in CL is there a standard way to specify the default :element-type for opening a file?
20:26:48
gendl
or does it always have to be specified explicitly with :element-type on the call to open (or with-open-file etc)?
20:29:21
sjl
anyone have a link to that paper that talked about simplifying operations on bytes in cl compilers?
20:32:10
runix_1
In CL when I want to "clear" an array, is it then basically enough to just set the fill-pointer to 0 and put in values again, or is there something to also consider when doing this? I suppose the alternative would be to create a new array and let the GC collect the old one?
20:34:55
sjl
runix_1: if you just set the fill pointer, the other elements won't be able to be GC'ed until they get replaced
20:36:04
sjl
If you want to clear out all the values to allow them to be GC'ed, you could do (fill array nil) or something similar
20:36:14
sjl
and https://pdfs.semanticscholar.org/7089/0eff0e93aba49174a9346731f4bf9225706d.pdf was the paper I was looking for
20:50:29
gendl
PuercoPop: according to the CLHS, "the default is character."http://clhs.lisp.se/Body/f_open.htm. So I guess any implementation which lets you change that default would be violating the standard.
20:59:10
PuercoPop
weird that a bot doesn't work when the message is directed to them. Btw gendl it can query clhs mop and 'lp' which I'm not sure what it stands for