freenode/#lisp - IRC Chatlog
Search
11:25:03
ldbeth
is there a alogrithm find n highest rating elements given a list and a rating function?
11:42:42
phoe
well, you need to sort the elements of the circular buffer anyway, I don't think this can be done better than in nlogn
11:43:12
phoe
you could possibly adapt quicksort to not care about the insignificant parts and only fully sort the N greatest elements
12:25:43
phoe
could as well just sort the whole or a part of the thing, it'll be equivalent and not need a prioqueue
14:38:38
jackdaniel
Xach: would you find reasonable adding a system to ql that has only static files (namely ttf fonts + license)?
14:40:24
jackdaniel
context: I want to provide for McCLIM default fonts, but I don't want to clobber the repository
14:59:53
edgar-rft
next task would be writing bug reports to the maintainers of ttf fonts for missing .asd files
15:01:08
_death
btw jackdaniel I recently wrote some small patches to mcclim.. for some of them it's clear to me that more extensives changes are required if it's not half-arsed.. but maybe you'd like to check them out?
15:02:42
_death
well, they are a bunch of changes that could likely be split to multiple pull requests
15:03:39
jackdaniel
(but if they are like 5-line changes, I'd rather have them as separate commits in a single pr)
15:04:45
_death
ok, I'll change have a single PR.. also, it seems a text editor pane with drei lisp syntax is extremely slow for some reason, even for <20 lines of simple code?
15:07:21
jackdaniel
I'm currently busy because I'm rewriting the renderer for clx backend (to default to xrender and for double buffering)
15:10:12
edgar-rft
Totally offtopic, but at a radio station here a guy from the local computer club does audio editing with sox and makefiles (no joke), why not using asdf for audio editing? If someone's seriously interested, I'm on #lispcafe, too.
15:15:19
Xach
jackdaniel: yes - but it would be nice if 1) it was not too large and 2) it did not change much (new versions with big changes could be new projects?)
15:16:52
jackdaniel
Xach: assuming i.e dejavu, it is 12MB, it probably wouldn't change at all (unless new version of said fonts is published)
15:19:26
jackdaniel
great, thanks for the feedback. I'll let you know when I have the system (ditto, I need to finish something first)
15:19:57
Xach
jackdaniel: might be nice to have a way other than system-relative-pathname to find the files
15:26:59
_death
maybe a ql-fonts system with an interface and ql-fonts-dejavu package for that particular family
15:28:11
_death
the ql-fonts system could look for the fonts in the system, and install the particular package if necessary
15:34:21
Xach
i mean your second idea, not the first - though i don't love the "ql-" prefix on things that aren't "truly" part of quicklisp
15:54:20
fangyrn
so what are the problems with ecl, if I were to start investing time in it? what problems have you guys had?
15:58:00
jackdaniel
I'm more worried about compilation at run time, but I suppose that some data could be gathered and compilation could be batched when the user calls compile-foo
16:17:45
beach
jeosol: Steady progress. The latest idea is explained in this draft paper: http://metamodular.com/SICL/call-site-optimization.pdf
16:23:15
jackdaniel
ah, I've got excited for nothing, it is a server; I was hoping for a new client library
16:24:38
jeosol
beach: Thanks for the link of the paper- will read. My browser logged me out for some reason
16:27:10
jeosol
Thanks for the summary. That's something I could use since I do many optimizations runs with thousands of calls
16:30:36
jeosol
Basically, most of my application is in the optimization space (and some machine learning for function approximation).
16:32:50
jeosol
One of the application examples, is meta-optimization - optimizing and optimizer. This is the application I said does lots of calls. I am looking at improving choice of data structures, etc, to squeeze out performance. Though in other practical applications, I am limited by expensive call to a third-party application that can take several minutes
16:34:50
jeosol
sorry that was vague: it's the stochastic kind, evoluationary algorithms, e.g,. genetic algorithms, and the swarm algorithms, e.g., particle swarm optimization
16:35:51
jeosol
They are not very efficient hence the need to combine with some statistical function approximators to save function calls
16:38:08
jeosol
Perhaps I could also do an ELS paper. I tried to do one last year and travel but covid hit and disrupted plans
16:41:30
jeosol
beach: also regarding your linked paper, off the top of my head, faster calls than C++ have significant implications - for one, having faster numeric type applications. Every time I have to deal with python version issues when I reach for one of the numeric libraries
16:42:20
jeosol
beach: I worked on a draft last year, I'd finish and submit. I just got the code I was working on to a great place and it's more stable, thanks to hints from you and the other guys here
16:45:53
jeosol
Haha, I guess by draft, I overstated things a bit; it's not completed. I have seen papers with code snippets so I was thinking may be I needed to include a few (albeit simplified versions)
16:46:47
jeosol
I'd check the deadline and work to complete it. At least the code runs stable and I can run it in docker from base container
17:56:18
puchacz
hello, ECL is mostly up and running, but I was getting a strange crash before: "Internal error: Detected write access to the environment while interrupts were disabled. Usually this is caused by a missing call to ecl_enable_interrupts." - it looked as if it was related to an ironclad function being unsuccessfully injected into a hunchentoot thread
18:01:10
puchacz
got this error in emacs again, it is trying to inject (make-prng :os) from ironclad, and the error is "Cannot interrupt the inactive process #<process hunchentoot-worker-127.0.0.1:48494 0x55760597b480>"
18:01:56
puchacz
this form is automatically added to bt:*default-special-bindings* in ironclad, but I don't know what exactly is going on
18:09:01
jackdaniel
it looks as if you are trying to do something in a thread that is not started (i.e already ended)
18:12:12
puchacz
trying to recompile now with (pushnew '(*prng* . (make-prng :os)) bt:*default-special-bindings* :test #'equal) commented out
18:12:46
puchacz
I can imagine it is some sort of ironclad improved random seed generator, but I don't understand why it is trying to interrupt a thread
18:42:51
puchacz
is it possible to globally restrict compiler policy? e.g. sbcl has (sb-ext:restrict-compiler-policy 'debug 3) that overrides all local declaims, proclaims etc.