libera/#commonlisp - IRC Chatlog
Search
19:59:52
aeth
Maybe I could throw a CAS on the list as well, but Maxima is written in such a way that its internals aren't very useful for other CL projects afaik. Mainly because it's really, really old, though.
20:01:30
Nilby
It's true I wish I could easily use Maxima's stuff. wxMaxima is so cool, but I wish it was all in Lisp.
20:02:20
aeth
It doesn't help that iirc a huge chunk of Maxima is written in (probably ancient) Fortran and then compiled (in a poorly optimized way) to CL
20:03:19
aeth
The way you'd want to do it if you started from scratch is probably to write a BLAS in CL, which is mostly just porting a permissive licensed BLAS (if there is one) to use CL inline asm on implementations that support it, and using the slow path for the rest of the implementation x architecture grid.
20:05:42
lotuseater
Nilby: in one talk of Robert Smith about maths with CL he says "don't look at maxima source" :D
20:07:12
lotuseater
I don't like the not expressive names in maxima, it could improve doing that like Mathematica (just imo)
20:10:25
Nilby
One of my favorite *old* Lisp code is SHRDLU. It's sometimes written almost in a Haskell style. When I first read it I was like "WT-holy-F is this??" Total nonsense. Now I can read it and see it's fairly brilliant.
20:11:30
White_Flame
it really helps to read the phd thesis along with the shrdlu source code, at least to begin understanding it
20:17:34
adlai
jasom: you just made me read CL code that has defmethod with self as an argument name
20:17:42
White_Flame
the original source is almost like assembly code. I'm sure it could be rewritten to less than 1/10th the size in modern style
20:22:45
daphnis
what do you do when emacs indents badly; just correct it manually and avoid auto-indenting? e.g. the first form in Practical p. 330 is illogically indented by emacs.
20:23:35
White_Flame
indentation can also change if for instance the code uses a macro, but the macro hasn't been loaded in yet
20:24:56
White_Flame
SLIME knows about the &body field in macros and indents them as code instead of data
20:26:00
Nilby
Yes, I just correct it and avoid. Emacs can never duplicate the indenting artistry you can achive with multiple-cursor mode.
20:30:50
phoe
(trivial-indent:define-indentation define-binary-type (4 4 &rest (&whole 2 4 4 &body)))
20:58:00
Nilby
I did. But it failed to load, and I'm trying to avoid getting lost for days in the past again. I should post it someday. I think I started with this: https://github.com/tsgouros/www-shrdlu.git
20:59:12
White_Flame
if I were to throw my hand into Yet Another SHRDLU Resurrection, I'd just start from first principles from the thesis and not from the code
22:04:20
jasom
It also has a tagbody inside of a block, so it was written before I knew that prog has an implicit tagbody
22:28:07
nij
Something like this: '("Monday" "Upper" ("Push-ups 15" "Pull-up 1" "Push-ups 15" "Pull-up 1"))
22:29:33
jasom
nij: I've seen it like (defparameter *some-config-option* some-value) and the configuration file loaded with cl:load and I've also seen it like ((:some-config-option . some-value)) and the configuration file loaded with cl:read
22:30:53
jasom
I do it that way unless someone else is going to configure the file; people unused to lisp are more likely to be comfortable editing a .yaml or .json file (and their editor is more likely to be configured to help them do so)
22:34:15
badcfe
is there an "international standard" for lisp? maybe X3J13/94-101R equals CLT2 but is ansi only. is ISLISP the thing, but there's no "public domain" implementations?
22:37:43
no-defun-allowed
I don't know how close ISLISP is to Common Lisp, but my guess is it is quite different.
22:40:12
edgar-rft
The original idea of the ANSI folks was to include Europe and Japan into the specification process but the ARPA-net was too slow for that, so I think the ANSI spec ist the only official specification until today.
22:40:55
jasom
badcfe: I would recommend learning common lisp instead; islisp is a smaller community than CL, and it's not like the CL community is large
22:42:02
edgar-rft
badcfe: the email communication took too long, Kent Pitman wrote up the details somewhere in his homepage
22:43:09
badcfe
is CL community small because learning to think in it you become a compiler writer for other languages to get away from the parenths and then resulting in popularity and bringing in nice ideas to those other languages?
22:44:19
badcfe
why does not ieee iso or anyone raise ansi spec up to international standard instead of this ISLISP thing?
22:44:59
Xach
badcfe: ANSI Common Lisp exists because a big customer demanded it. there is no big customer in sight to do it these days.
22:45:00
White_Flame
besides, we're in a post-standards world for the most part (love it or hate it)
22:46:28
White_Flame
regarding size of the community, a lot of that has to do with commercializing the community as well
22:47:01
White_Flame
lisp really offers developer empowerment directly, so you don't have the "support groups" of people trying to get around limitations as much as other langs do, and that activity drives engagement
22:48:12
badcfe
White_Flame: right, maybe 'popular' languages as measured by frusts in stackoverflow is not the best measure
22:50:29
White_Flame
sure, running businesses around supporting language dev groups, with websites, instruction, libraries, etc
22:50:36
badcfe
good enough for having similar compiler implementations around, for the language to be practical and valuable to know
22:51:05
Nilby
I think the Lisp community and programming communties in general are wise emough not to get stupid semi-political organizations involved in designing languages. And even though Common Lisp is a great achievement, designing by committee isn't so good.
22:51:13
jasom
badcfe: I mean Python lacks even an ANSI standard, which probably explains why nobody uses it
22:51:54
White_Flame
does python not even have a written standard, besides a reference implementation?
22:52:27
jasom
White_Flame: it has reference documentation; whether or not that is sufficient to be called a "standard" is an open question.
22:53:23
jasom
White_Flame: anything not mentioned in the reference documentation is de-facto decided by the reference implementation, so if you were to write a novel implementation that conforms to the reference documentation, but differs from the reference implementation, would it be a Python implementation?
22:53:30
White_Flame
badcfe: having a standard is beneficial. but most people seem to skip that, as is common with programmers and anything prose :-P
22:54:09
badcfe
if you write something in lisp teh thing is generally going to be faster than if you do the thing in python right? even pypy, cython, or whatever
22:54:59
no-defun-allowed
There are a few things that are hard to compile in Python, but usually PyPy does pretty well at compiling it.
22:55:00
jasom
conversely there was a 6 year period in which there was an ALGOL 68 standard, but no conforming implementations
22:55:33
no-defun-allowed
However, I think PyPy uses type information gathered at runtime, but (all?) Common Lisp implementations rely on the programmer to provide type declarations if they need to specialize.
22:56:23
jasom
no-defun-allowed: sbcl definitely does type-inference based optimizations, particularly around numeric functions
22:57:14
no-defun-allowed
jasom: Yes, but that is still determined at compile-time. Compare to Smalltalk or Self (or Java even), where code is specialized at runtime.
22:57:57
jasom
no-defun-allowed: IIRC There was some experimenting of donig that with method-invocations in sbcl, not sure if it's in the current release or not
22:58:09
edgar-rft
Nilby: "programming is like incomprehensible poetry" will become my favourite idiom of the day :-)
22:58:21
jasom
but it was fairly straightforward caching of method lookups, nothing fancy like JIT specialization IIRC
23:07:32
defunkydrummer
no-defun-allowed: in many cases PyPy doesn't really do a dramatic speedup, Python still ends up being a slow platform
23:08:16
no-defun-allowed
defunkydrummer: I recall a decent speedup on a few programs. Not quite close to Lisp (or C even), but still a large speedup nonetheless.
23:08:28
defunkydrummer
no-defun-allowed: only Cython brings real speed to Python, but Cython isn't really 100% python language, and there is no compatibility with the popular libraries
23:09:10
edgar-rft
badcfe: The good thing of having a standard is that the language doesn't change every other year. In physics or medicine I have maintainance contracts over ten or twenty years and I wouldn't want to maintain C code over such a long time.
23:09:10
edgar-rft
The disadvantage of having a "non-changing" language is that it oftenn needs some work to deal with more modern things like threads or distributed network computing.
23:11:59
badcfe
edgar-rft: but i would guess lisp (you mention network) is quite good for a io event loop with protocol handlers doing some kinds of continuations
23:13:27
jasom
edgar-rft: I've seen 99 year support contracts based on C; the compiler in question will support the version C it was based upon for that long.
23:15:21
edgar-rft
jasom: of course *you* are free to do whatever you want, but maybe *I* wouldn't do the same :-)
23:18:47
Nilby
Eventually I think Common Lisp will have enough defacto extensions, like unicode, PLN, getenv, run-program, etc. which every implementation already supports, that it'll just be useful write them all up.
23:18:53
jasom
plus I have code I wrote that is older than the C ANSI standard that most compilers will still compile with the correct flags.
23:20:47
edgar-rft
jasom: I din't mean that it's impossible, I only said that *I* wouldn't want to do it, maybe for just the simple reasom that I'm a complete idiot.
23:22:17
jasom
I get your point; I just think C was a poor example given that Python is actually this terrible. I have a build-system that some components won't work with anything newer than 2.3 and other components require 2.7; it's terrible.
23:39:28
adlai
badcfe: there are a few hidden assumptions at play when you try to answer a question like that
0:27:52
badcfe
am i wrong in assuming i can become fluent in common lisp, and go ahead and write whatever program in common lisp? someone mentioned it was more of a methematical thingy, not for humans ...
0:29:34
phoe
you might appreciate it e.g. when you end up in the debugger but don't want to kill the lisp process
0:29:51
phoe
or when you want to gracefully recover from some error situation without breaking it altogether.
0:30:06
badcfe
but it's extremely interesting, and surprising this kind of thing doesnt exist in other langs/envs
0:30:38
phoe
they don't find much value in interactive restarting facilities because they usually have no interactivity baked into the language
0:32:31
phoe
you can use functions COMPUTE-RESTARTS and FIND-RESTART to grab a hold of a restart object
0:33:37
badcfe
is programatic restart the way to go in c-lisp, as kind of an exception handling, but where the throw-site defines teh action
0:34:46
phoe
if you're fine with grabbing a book, I can point you towards "The Common Lisp Condition System" that describes restarts as well as conditions and handlers
0:35:10
badcfe
i saw this link which looked nice https://franz.com/support/documentation/cl-ansi-standard-draft-w-sidebar.pdf
0:35:48
phoe
the standard is OK, but it doesn't tell you about how it's implemented or what are its common use cases
0:44:54
edgar-rft
badcfe: the standard link for "Howto Get Started with Common Lisp" -> https://www.cliki.net/Getting%20Started
1:21:16
nij
I have a common lisp file that is growing, and getting messier. I don't mean to package it, but have a need to separate the codes into different files. What's the next step I should look into? Should I start learning how to use ASD?
1:22:59
no-defun-allowed
Usually you have files in packages, then packages in systems. But then you load all the files with an ASDF system.
1:24:23
nij
Hm! OK It seems the right time for me to know all these things anyway: a file, a package, a file, and an ASDF system. I know where to look into these :) Thanks!!!
1:27:24
badcfe
the set of function in onlisp seems practical to have. is there a package that has this, or only his source which was extracted from the latix and has a copiright notice that makes it feel like i should not fix up the mentioned problems with CTL1 and redefinitions
1:28:24
nij
Any hope to deal with common lisp smoothly without using emacs? Just curious as my friend is asking.
1:31:15
PuercoPop
nij: yeah, defining a system sounds like a good idea. You can start with $ echo '(defsystem "foo" :components ((:file "foo")))' > foo.asd
1:58:43
entre-parenteses
nlj: If you're planning to brainwash him to use Vim anyways, you could always try to get him hooked on Spacemacs - https://www.spacemacs.org/
2:03:36
badcfe
is there a hello world lisp system containing asd and all, kind of a template project to start with?
2:04:23
badcfe
found this but its dated so no asdf there .. http://www.peter-herth.de/ltk/ltkdoc/node51.html
2:04:57
entre-parenteses
badcfe: The way I think about it, Spacemacs is a lot of configuration on top of emacs (so, yes, it's elisp).
2:06:04
entre-parenteses
I may be wrong but I think ASDF generally comes with many implementations - I know it comes with SBCL, at least.
2:06:49
entre-parenteses
To turn systems into executables, I've used roswell before. https://github.com/roswell/roswell
2:12:52
no-defun-allowed
On SBCL, you can run (save-lisp-and-die "program" :executable t :toplevel #'program:main)
2:14:14
curiouscain
ASDF can create executables, here's an asd file from a project of mine. Look at the three lines starting at line 6: https://paste.sr.ht/~cain/d39f6b89d2fa733326af86ba67962d031ffbd5b4
2:14:41
badcfe
wow in sbcl i did (ql:quickload :ltk) and then (in-package :ltk) and then i can program all these GUI things, nice
2:15:08
badcfe
my problem is, if i learn this, then snap! and it becomes unmaintained and unavailable
2:16:07
lotuseater
badcfe: then you have a way better chance (and maybe more awesome experience) with McCLIM
2:18:12
defunkydrummer
no-defun-allowed: tk got a new life lease thanks to Python (TkInter). It is also rather easy to use.
2:20:38
badcfe
maybe bindings to ltk is not problematic, and this package will stay around. i dont even know about this quicklisp ecosystem, im not confident to rely on these things.
2:22:48
lotuseater
can someone explain to me in simple words what an interface manager advances from just doing guis?
2:25:24
defunkydrummer
badcfe: and besides that, it has been maintained on github, I'm certain last commit isn't that old, perhaps 2018
2:25:31
badcfe
defunkydrummer: but how can i be confident some module that i get my hands on through this quicklisp today will be available forward
2:26:25
badcfe
defunkydrummer: maybe with lisp its easier to grab some lisp system and it will work without a bunch of various broken system deps and things
2:26:33
curiouscain
Unless it fails to compile or is devoid of features, I think that's not a worry you really need to have
2:27:43
defunkydrummer
badcfe: i don't understand your concerns. How is this different to using an external dependency on any other language?
2:33:53
badcfe
so i'm guessing lisp structures are used as builders of the gobjects and structures in the gui event loop here, and on callbacks there are lisp accessors to the gui engine things
2:34:41
badcfe
so lisp is kind of arm-waving at, and getting shadows from, the gui engine including those gobjects and all
2:37:04
solideogloria[m]
interfacing with the C libraries with lisp and giving bindings for their respective stuff in C
2:37:15
solideogloria[m]
<badcfe "is there some hello world around"> http://www.crategus.com/books/cl-gtk/gtk-tutorial.html#GTK+_and_Cairo
2:37:18
solideogloria[m]
> <@freenode_badcfe:matrix.org> is there some hello world around? kind of a template project i could start with?
2:39:14
solideogloria[m]
ACTION sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/GDMtYnwTMhYxdFktBecuLjYC/message.txt >
2:44:09
badcfe
hmm. i tried the A simple application. example, and (in-package :gtk) and tehn (simple-application)
2:47:24
solideogloria[m]
I remember that I had to do something to get it working on SLIME, can't recall what exactly
2:47:54
badcfe
but when i try to run that gtk_class_gtk-application i get above err, and seems to have some thread due to what i observe in my job control there
2:49:37
solideogloria[m]
<badcfe "but when i try to run that gtk_c"> gtk_class_gtk-application from the tutorial ?
2:54:08
PuercoPop
badcfe: for a template there is https://github.com/xach/quickproject or https://github.com/guicho271828/eazy-project
3:49:19
ldbeth
ok, so is there a way to utilize the result of #'sxhash to make hash tables with custom hash function?
3:52:06
Bike
there's no standard way to do that. sbcl has an extension for it. dunno about other implementations.
4:01:30
no-defun-allowed
However, I recall custom hash tables being much slower on SBCL than standard hash tables; which is a pity, because otherwise I could do (make-hash-table :test 'string= :hash-function 'djb2)
4:02:08
ldbeth
ah, i see, only the #'eql #'eq etc can be passed as argument as in CL standard, others should be passed as 'char= 'string= etc
4:14:08
no-defun-allowed
But SICL hash tables and Luckless permit any hash and test functions, and are basically drop-in replacements for Common Lisp hash tables. (Except that hash functions based on the address of an object will not work in either, if your implementation moves objects.)
4:46:08
easye
beach: I just joined RavenPack, so right now most of my energy is going into learning the code base.
4:47:00
easye
I am working with phoe to get ELS 2021 airborne, hopefully to get the CFP out before the holidays.
4:48:00
easye
Moving isn't possible at the moment. I will evaluate things when the pandemic starts to tamper off, which probably won't be until late 2021.
4:48:49
easye
But I think living in dense urban cities isn't necessarily my thing anymore, so Southern Spain sounds quite attractive at this point.
4:49:58
easye
Really, if I had to pick a beach, I would move in your neck of the woods, to around an hour north of Biaritz.
4:51:28
easye
French food, and the sheer amount of great stuff y'all have in your hypermarks is magnitudes better than what is available in Austria.
4:53:18
easye
And groceries in France are considerably cheaper than in Austria. When I have been shopping in France, a full basket of great stuff rarely breaks 100EUR. In Austria, the same stuff at less quality would easily break 300 EUR.
5:00:01
jeosol
beach: going through my CL archives, I came across a document you author, in 2000 or compiled by Loic Lacomme: "Symbolic programming using Common Lisp"
5:01:00
jeosol
it does contain good points when I was trying to justify CL for choice of a project back then - I no longer do this anyway, following advice here and elsewhere
5:02:39
jeosol
beach: the bootstrapping procedure, version 3, that's also probably in the spirit of iterative CL development
5:12:42
jeosol
I think the person mentioned compiled it from notes, it seems but attributed the content to you
5:12:53
beach
jeosol: In this case, it is just that I was unable to predict the negative consequences of the choices I made for versions 1 and 2.
5:14:57
jeosol
I recently did some refactoring also using "layering" of problems and macros to automatically generate functions - always good feeling afterwards
5:16:40
jeosol
beach: oh ok. I saw a thread on reddit about parallel gc's or something a few of the lispers chiming in. Did you see it?
5:17:09
jeosol
Is parallel GC something you are looking into? FYI, I am not a compiler guy - not an expert in that space
5:17:26
easye
<https://www.reddit.com/r/Common_Lisp/comments/kd816x/excerpts_from_the_pro_mailing_list_on_common_lisp/>
5:17:41
beach
Yes, the GC I designed for SICL is parallel and concurrent, but it hasn't been tested in real life yet.
5:19:10
beach
I need to vanish for a while. Busy morning today, with tasks unrelated to Common Lisp.
5:22:26
easye
no-defun-allowed managed to get ABCL working with the Project Loom green threads <https://twitter.com/nodefunallowed/status/1337560381930098690> which I would like to add.
5:24:46
easye
Yes, RavenPack is based in Spain. We do "sentiment analysis" of data, providing structured feeds of unstructured data.
5:25:33
easye
The bread and butter at the moment is providing machine-readable "signals" for financial news, but we are actively expanding into general analysis of textual data.
5:27:47
easye
It is very nice, indeed, especially after a long drought of commerical work for me personally. To be doing it in our favorite CONS makes it extra so.
5:34:27
easye
Exactly, and we are starting to incorporate Machine Learning for the buzzword trifecta.
5:35:57
jeosol
easye: I see, I once looked at Gabor Melis's code and I realized he integrated with python do some of the ML work.
5:36:04
lotuseater
i worked a while for a data science company where mostly python is used, the libs are very mature :)
5:37:33
lotuseater
yes and also pandas is cool for example. but back then (2018) i just was new to functional programming and far away from CL
5:37:57
jeosol
easye: regarding your commercial statement, I seem to recall that some defense companies (US side) are using allegro works, I was in a few of their talks on Ontology and knowledge graphs
5:38:53
jeosol
lotuseater: pandas is nice. I recall someone (i forgot who) was developing a similar dataframe-based library in CL and has some applications
5:39:29
easye
RavenPack is an Allegro shop. Our semantic taxonomies are mostly home-grown, mainly for efficiency/speed.
5:40:30
easye
I did a lot of semantic web research in a former life, and really like processing things with RDF, so will bring that perspective, slowly, into focus.
5:43:34
easye
This is my second job using commercial implementations, the previous one was using LispWorks.
5:44:13
easye
If you have the money, and you have a job to get done, it is nice having commericial support.
5:45:22
jeosol
easye: so you'd recommend Allegro. I hear it's slower compared to SBCL, I haven't done a test.
5:45:45
jeosol
I only used it briefly many years when starting out and figuring which compiler to start using
5:46:02
easye
I wouldn't recommend anything without knowing the context (how much money do you want to spend? What are your developers used to? etc.)
5:46:23
jeosol
what about their single digit revenue "clause". I thought there was something like that. May be different now.
5:46:43
easye
SBCL is a fine implementation. GOOG uses it for the air flight search application they acquired from ITA.
5:46:56
jeosol
easye: Fair point. What I meant about recommended is all within CL sphere, and in relation to LispWorks
5:47:19
easye
jeosol: Franz is definitely the ORCL of Common Lisp implementations in terms of cost and licensing, but their support is nicer.
5:57:05
no-defun-allowed
easye: Hey, sorry for the delay, I was gardening, but using Loom is not backwards compatible with OS threads.
5:57:21
no-defun-allowed
Or, more specifically, you have the same methods to spawn OS threads, then you have another method to spawn a green thread.
5:58:28
no-defun-allowed
The change I made was to put `javaThread = Thread.startVirtualThread(r);` in the constructor for LispThread(Function, LispObject) instead of the other stuff to make a Java thread.
5:59:44
easye
no-defun-allowed: cool. Would you recommend that as the way to spawn all threads when running on Loom then?
6:01:02
no-defun-allowed
But again, it's not backwards compatible with older Java, and Loom is based off a test of JDK 16, so it's not even compatible with anything stable.
6:01:35
easye
Detecting the presence of the Thread.startVirtualThread() method should be sufficient.
6:02:29
easye
Do you know if Loom openjdk16 EAs are multi-platform? (I assume you are running Linux)
6:04:00
easye
<https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/tag/jdk-2020-12-10-20-02> looks pretty multi-platform.
6:22:59
no-defun-allowed
easye: I still wish there was an incremental and/or concurrent _and_ generational GC on Java. The first generational collector (to my knowledge, the Liebermann-Hewitt collector) was an extension of an incremental collector (Baker copying), so this feels like a bit of a step back.
6:24:44
easye
I thought GC1 was concurrent and generational, but without realtime guarantees. But I trust you have looked at the current state of JVM GCs a lot harder than I have in recent years.
6:25:29
no-defun-allowed
G1GC? I thought it stopped the world, at least for major GCs when not apparently in a failure mode.
6:26:24
no-defun-allowed
No, it is concurrent, but I always got pauses when...using it with large heaps with...soft-realtime stuff.
6:26:38
easye
<https://blog.idrsolutions.com/2017/05/g1gc-java-9-garbage-collector-explained-5-minutes/> sez: G1, however, will only “stop-the-world” during a full garbage collection. In addition to this, it also offers a variety of tuning options so that full collections can be avoided outright.
6:28:49
no-defun-allowed
I see. I think I got a major GC every few minutes, which was no fun to play on-- er, I mean no good for my...latency-sensitive application.
6:30:16
no-defun-allowed
You got me. But a decent Minecraft modpack demands a large heap, and thus a clever GC. From what I heard, recent Minecraft conses up a lot of useless stuff like point objects, so the generational hypothesis would hold.
6:32:09
adlai
easye: to what extent does your employer have access to the signals and classifications?
6:33:02
adlai
one pervasive idiocy in finance is that you should sell signals, instead of trading on them yourself, then your signals are worth whatever your the willing sucker pays the happy seller
6:33:13
no-defun-allowed
But my observation could have been due to swapping as well; as I mentioned a few days ago, I got more memory around the same time I got into JVM occultism. And I read that G1 only stops the world when it's completely out of memory.
6:34:15
adlai
my question could be rephrased as "Does RavenPack sell its customers the actual signals, or a tool for building their own signal classifier and alert system"
6:35:36
easye
There is nothing trivial with games, their playing, or their optimization. Conway was a famous gamer. And according to <https://en.wikipedia.org/wiki/Computability_logic> all computer programs are isomorphic to a two-player static agmes.
6:36:18
adlai
ACTION incidentally is from the polar opposite finance dogmas, where the only possible good use of human-generated text is for consumption by humans, and anything automating human judgement is automatically suspect
6:36:31
no-defun-allowed
I had read a lot of the Handbook, but all the cool Java collectors do some clever analysis that I could describe as "they do the marking and count up the marks in regions, then lazily sweep the most unmarked regions", which I don't recall.
6:36:34
easye
adlai: RavenPack buys feeds like DowJones, and sells our own feeds enriched with semantics for the signals.
6:37:29
easye
That transformation is mostly proprietary, mainly because our customers have been interesting it things working well/fast rather than how they work.
6:39:03
easye
We sell tools for enriching the signals to some extent primarily an online Juptyer-like notebook.
6:39:44
easye
But I have only been at the company for a couple weeks now, and am engaged primarily as a CL hacker, so my statements may not entirely accurate.
6:40:05
no-defun-allowed
So what can I say, that's kinda neat. And they use mark information to decide what needs to be compacted, but moving regions and not large amounts of a heap sounds tedious.
6:42:10
no-defun-allowed
It may be too much to hope for, but I would hope for another edition of the Handbook that covers these collectors in depth.
6:44:51
adlai
so RavenPack itself never touches any of the exchanges? I guess it is still possible to simulate a signal's effects, for reinforcement.
6:45:34
easye
adlai: "touching the exchanges" not as far as I know. We certainly don't have realtime/historical equity prices.
6:46:06
no-defun-allowed
beach told me that it is not the clearest to read at times, and I have to agree sadly. But it is still very useful to read.
6:48:57
adlai
easye: I'd expect that the market feed is an important factor for distinguishing noise about an event (where various [anti-]correlations in the time series reduce towards absolute zero), from noise about noise (where [anti-]correlations increase away from absolute zero, and you'd detect human amplification of e.g. a surprising quarterly report)
6:49:58
adlai
although I am probably "teaching to the choir", here, and should go study something myself
6:53:07
easye
Well, we are just transmitting the structure of events related to companies; e.g. "Oracle just poached so-and-so as SVP of marketing from Salesforce". What these events have to pricing doesn't really factor into such knowledge. The companies which use our feeds add that sort of information.
6:54:26
adlai
ACTION finds the company's pandemic dashboard... that is probably a good free demo of what your paying customers get, for other contexts
6:54:29
easye
If we added pricing information to our decision, that would presuppose a pricing model.
6:55:49
adlai
hmm, you could call yourselves a quality-pass filter between the data science garbage pipelines; although somehow "big data" is a more popular meme than "gigo" these days :(
6:59:44
adlai
I think your employer's big group photo is a good site design choice, as a background to the executive mugshots...
7:00:34
adlai
when I see an "About Us" page that only lists half a dozen names, my own internal automated sentiment processor starts giving false positives along the lines of "wow, a statistically significant percentage of these people must have a passing familiarity with common lisp"
7:01:19
adlai
then I see the photo that enables estimating the denomenator more accurately, and laugh
7:04:02
adlai
ahh. I was gonna say, it has all the other dynamic sites that I've encountered lately completely beaten as far as working reasonably on an overworked computer
7:04:55
easye
I don't think having an entire company knowing the technology intimately is a reasonable standard. I doubt the majority of Intel knows much about chip design, lets say.
7:05:07
adlai
believe it or not, there are actually sketchy cryptocurrency bucket shops that put sentiment feeds into the same one webpage of their site that the traders use for charting and commands
7:05:59
easye
Cryptocurrency is definitely the Wild West. I had been ranging on it for the past half-decade before joining RavenPack.
7:07:08
adlai
there is not really anything to join. there are various companies although the well-managed ones are almost invariably providing services that have existed in the digital finance world for half a century, maybe more. (e.g., the kind of service your employer offers)
7:08:48
easye
The "social movement" aspect of crypto is more interesting, reminding me of the pre-commercial Internet.
7:08:49
adlai
it has been quite interesting to see how the folks who make a name for themselves doing manually, what RavenPack does programmatically, end up moving in one of two directions once they have attracted their audience
7:17:25
adlai
let's go back to talking about garbage collection for reclamation, as opposed to filtering for noise... no-defun-allowed, I can never figure out if you are referring to "ANSI Standard Minecraft", your own client implementation, some de-facto standardized upstream client, etc
7:18:31
adlai
no-defun-allowed: I tripped up reading your previous message that "recent Minecraft... conses up a lot of point objects"
7:19:13
no-defun-allowed
Yes, I heard that Minecraft conses a lot of short-lived objects from the OptiFine developer, who was very pissy about it, and somehow didn't sound familiar with GCs at all despite what they make.
7:19:31
easye
no-defun-allowed's work on Minecraft <https://gitlab.com/cal-coop/minecraft-hacks/abcl-minecraft>
7:19:58
adlai
ACTION wonders whether there's already a name existing for the subalgorithm of hash-consing, in the context of ... for lack of a more general context, flat euclidean space.
7:20:11
no-defun-allowed
They said that you have to scan all the dead objects, which no sane GC does these days.
7:21:09
adlai
so a CL minecraft client could have points use a metaclass, where allocate-instance reuses the hash-consed point objects, and behind the scenes are a handful of multidimensional bit arrays
7:22:53
adlai
... this kind of hash-point-consing, as opposed to the algorithms where you cons up points and shapes explicitly, and then end up having to maintain heaps of them, sorted by various geometrical constraints
7:24:56
adlai
my guess is that most who are "familiar with GCs" are familiar with them in a manner similar to the guy who drives the truck, rather than the one who troubleshoots the compactor after it stops crushing
7:27:32
adlai
I guess my thinking of this as related to hash-consing might be a false positive, too; because, "hash" is almost certainly the wrong metaphor in contexts where the sparse data behaves contiguously
7:36:16
adlai
easye: that photo probably contains ... i dunno, strictly within (3,27) common lisp programmers; although, my semantic operational conclusion is that the bus factor evidenced by that photo is "only one backpack was important enough to not be out of sight for one second, ever?"
7:51:34
adlai
flip214: the big background image of view-source:https://www.ravenpack.com/about/ where you see dozens of people doing something outdoorsy, rather than mugshots of executives
7:54:28
adlai
easye: hmmm, there is still a bit of GIGO: localizing the pandemic dashboard causes display of headlines from the english-language sites of local newspapers, and the local newspapers are garbage :)
7:55:50
adlai
e.g., it appears that haaretz.com double-published an article with a mistake in one copy's headline; and both links appear in the dashboard.