<johnjay>
lavaflow: every time i join a new lisp or scheme channel i see you around
<johnjay>
crazy!
<lavaflow>
lol, hey johnjay
<johnjay>
not much
<johnjay>
someone was telling me in racket that '[] and '() are the same thing
<johnjay>
wild man!
<lavaflow>
yeah, it's a pretty nice feature I think
jao- has quit [Ping timeout: 245 seconds]
<lavaflow>
some things just look better with square brackets, like (let ([foo ...]) ...)
<johnjay>
ah well i'm kinda used to that by now
<johnjay>
but then i always have highlight parens turned on
<johnjay>
neat trick if you use emacs: the variable selective-display can be set to n, then only lines with less than n columns of space are shown
<johnjay>
then letting n go 0,4,8,12,etc is a nice way to get a quick idea of how a function works
<lavaflow>
aye, I've been meaning to put that to use
<lavaflow>
I've got a comment in my config about it, but I need to give the whole config a cleanup
<johnjay>
how far along are you studying racket?
liberiga has joined #racket
<johnjay>
written any cool stuff yet
<johnjay>
i've been fiddling with elisp for a few months now and all i have is a silly calculator mode
<lavaflow>
I've been working on file tag management system written in racket
<johnjay>
ah ok. like etags or a different tags
<lavaflow>
not quite, it's for general purpose file management
<lavaflow>
e.g. "get me the intersection of all files tagged with 'jpg' and 'cat'"
<johnjay>
oh is ee
<johnjay>
yeah that's a good point, i wonder why linux doesn't have something like that
ketralnis has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<johnjay>
see ya around man, gtg
<lavaflow>
linux and most desktop linux users are locked into the tradition of the old hierarchical model
<lavaflow>
"put files into directories and put those into more directories"
<johnjay>
and bash doesn't even have an easy way to process them recursively without learning a bunch of syntax sugar
<johnjay>
but yeah i'll be around
<lavaflow>
it's simple to implement, simple to use, but hard to use effectively. does 'Aliens' go into my sci-fi movie folder, my action movie folder, or my horror movie folder? maybe I could put it in one and create symlinks to the others....
<johnjay>
nice seeing ya in another scheme channel
<lavaflow>
aye
_whitelogger has joined #racket
<lavaflow>
yeah, I've thought about making a fuse client for my system that would work in a similar manner
<lavaflow>
one of the issues is my system is designed to handle tens of thousands of unique tags, and tens of thousands of directories in a single directory is something a lot of programs choke on
<lavaflow>
I might implement it anyway. I'm not sure how useful/usable it will be though.
<jcowan>
hence the hierarchical relationships
<jcowan>
Probably a heterarchy will work too.
<lavaflow>
in my system, there are no explicit hierarchical relationships, but implied hierarchy can be derived from it with the right sort of queries
<lavaflow>
e.g I can detect if A is generally a subset of B, or vice versa, or if they have little to no overlap
ng0 has quit [Ping timeout: 260 seconds]
<lavaflow>
that could certainly be used to prune the number of subdirectories being exposed by the fuse system, although I think the root directory would probably still list every tag.
<lavaflow>
perhaps though the root directory could have only the minimum number of tags needed to cover the entire file set.. I think finding that minimum cover might be np hard though iirc?
<jcowan>
No idea. Complexity theory is too complex for me.
<jcowan>
Hmm, come to think of it, if you have all the tagged files you can do a topological sort and that should give you everything.
<jcowan>
There could also be a convention like adding /@all to mean 'every file below this point'
<lavaflow>
topological sort should be doable. I think the aforementioned problem is equivalent to minimum vertex cover, which is np-complete
<lavaflow>
then again, I have another sort that arranges files by topic, such that the topic of the listed files seems to flow naturally from one topic to another
<lavaflow>
doing that sort precisely is equivalent to TSP, so I just did a greedy approximation and it works fine
<lavaflow>
the distance metric I'm using there is levenshtein distance between the tag sets for each file. to order the files by topic, you find a short path through the files that minimized the edit distance between each successive file.
<lavaflow>
e.g. (cute cat gif) and (cute cat jpg) are closer to each other than either is to (cute dog mp4)
selimcan has joined #racket
ubLIX has joined #racket
lockywolf_ has joined #racket
lockywolf has quit [Ping timeout: 246 seconds]
_whitelogger has joined #racket
lockywolf_ has quit [Ping timeout: 258 seconds]
selimcan has quit [Ping timeout: 276 seconds]
lockywolf has joined #racket
ubLIX has quit [Quit: ubLIX]
lockywolf has quit [Ping timeout: 240 seconds]
lockywolf_ has joined #racket
lockywolf_ has quit [Remote host closed the connection]
liberiga has quit [Ping timeout: 260 seconds]
endformationage has quit [Ping timeout: 240 seconds]
sauvin has joined #racket
dddddd has quit [Remote host closed the connection]
selimcan has joined #racket
ziyourenxiang has quit [Remote host closed the connection]
ziyourenxiang has joined #racket
ng0_ is now known as ng0
selimcan has quit [Quit: Leaving]
q9929t1 has joined #racket
liberiga has joined #racket
q9929t has quit [Ping timeout: 245 seconds]
q9929t1 is now known as q9929t
q9929t1 has joined #racket
q9929t has quit [Ping timeout: 268 seconds]
q9929t1 is now known as q9929t
q9929t1 has joined #racket
q9929t has quit [Ping timeout: 276 seconds]
q9929t1 is now known as q9929t
_whitelogger has joined #racket
YuGiOhJCJ has joined #racket
telephil has joined #racket
FreeFull has joined #racket
aidalgol has quit [Ping timeout: 265 seconds]
libertyprime has quit [Quit: leaving]
orivej has quit [Ping timeout: 276 seconds]
Ven`` has joined #racket
ZombieChicken has quit [Quit: WeeChat 2.6]
YuGiOhJCJ has quit [Quit: YuGiOhJCJ]
jsomedon has joined #racket
q9929t has quit [Quit: q9929t]
jao has joined #racket
ubLIX has joined #racket
emacsomancer has quit [Read error: Connection reset by peer]
Fernando-Basso has joined #racket
jao has quit [Ping timeout: 276 seconds]
sagax has joined #racket
ubLIX has quit [Quit: ubLIX]
dddddd has joined #racket
Fernando-Basso has quit [Remote host closed the connection]
endformationage has joined #racket
q9929t has joined #racket
liberiga has quit [Remote host closed the connection]
mason has left #racket [#racket]
ng0 has quit [Quit: Alexa, when is the end of world?]
ng0 has joined #racket
ng0 has quit [Client Quit]
ng0 has joined #racket
jao has joined #racket
jao is now known as Guest90313
Guest90313 has quit [Remote host closed the connection]