IRC channel logs

2015-08-11.log

back to list of logs

<nalaginrut>morning guilers~
***michel_mno_afk is now known as michel_mno
***michel_mno is now known as michel_mno_afk
***michel_mno_afk is now known as michel_mno
<amz3>héllo nalaginrut
<amz3>I have silly question :)
<amz3>is it possible to use git artanis with a custom database?
<nalaginrut>amz3: well, you revealed one of important secrete feature of Artanis
<nalaginrut>amz3: of course it will be, since I want to port my blog to Artanis from Tekuti, I do need git plugin
<nalaginrut>amz3: but I haven't gotten time for that
<nalaginrut>am
<nalaginrut>anyway, I'll do it with plugin, not add it into Artanis core
<amz3>the best thing I have to do right now is to build some kind of multi-thread facility for my database... but... I'm too lazy
<amz3>I will experiment with the API instead
<amz3>atomspace of opencog looks so intersting, it is some kind of graph (an hypergraph) where the algorithm to modify the database can be expressed
<amz3>in atomspace itself!
<amz3>it's a programming+programmable database
<adhoc>amz3: what kind of data base work are you doing ?
<amz3>I'm writing a small database
<amz3>adhoc: ^
<amz3>in guile
<amz3>adhoc: Did I answer your question?
<amz3>this sounds crazy?
<amz3>this sounds like I am doing a database to do a database. but it's not. My idea is to improve productivity while keeping strong guarantees in terms of durability/consistency
<amz3>I would not be doing that if datomic was opensource
<amz3>s/opensource/free software/
<davexunit>bummer that one of the biggest uses of clojure is a proprietary database ;?
<davexunit>:/ is the emoticon I mean
<davexunit>transposed the shift key
<amz3>it is the biggest use of clojure?
<amz3>wow
<davexunit>well, it's rich hickey's product
<amz3>I look up wikipedia for rich hickey
<davexunit>so maybe it's not the biggest, but the creator of Clojure developed it.
<amz3>Hickey seems to be nobody outside clojure. His wikipedia page redirect to Clojure page
<amz3>one of the wonderful thing of datomic, is that he succeed at leveraging existing product (other databases) to build its own database
<davexunit>datomic uses other databases?
<amz3>also a thing I like, the way datomic works seems to foster Single Source of Truth
<davexunit>too bad those databases aren't AGPL ;)
<amz3>héhé
<amz3>It has several backends
<amz3>cassandra I think and postgresql maybe memcached is in the mix
<amz3>AGPL doesn't work. It over the network
<amz3>right?
<davexunit>AGPL handles network applications
<amz3>I read that if an application access another AGPL appllication over the network it doesn't have to be AGPL
<davexunit>perhaps that is true
<davexunit>I'm not sure
<amz3>I can implement an improved version of atomspace using datomic schema
<amz3>which will embed VC
<amz3>I still need to get a better understanding of atomspace, I'll probably try that at some point
<amz3>datomic people have a program to load git repo into datomic to do software analysis
<amz3>software analysis is I think something of the future
<amz3>I mean, I never heard of it during Uni except proofs
<nalaginrut>ACTION tried a tiny Actor-model to mimic Erlang https://gist.github.com/NalaGinrut/7fdf328fc4c856145ab5
<nalaginrut>ACTION is planing a new blog post for it...
<amz3>cool
***michel_mno is now known as michel_mno_afk
<paroneayea>hey davexunit
<paroneayea>what's this parser thing!
<paroneayea>I'd love to know
<paroneayea>it sounds interesting
<paroneayea>davexunit: also! I had a funny thought last night.
<paroneayea>davexunit: so Haunt, presumably it crawls a directory tree for content right? but it's configurable through scheme.
<paroneayea>davexunit: which means, could the function for crawling content be changed?
<davexunit>paroneayea: yes.
<davexunit>it could, yeah.
<davexunit>if I added an extension point.
<paroneayea>davexunit: and hilariously, could we then allow a procedure to pull stuff out of a database with squee? ;)
<paroneayea>davexunit: because you could very hilariously turn haunt into a CMS
<davexunit>hehehe
<davexunit>although haunt doesn't serve pages on-demand
<davexunit>it builds everything up front
<paroneayea>davexunit: right... though I worked at a company which had a CMS that did just that
<amz3>actually it's my plan ^^
<paroneayea>it published everything to "static content", but in reality static content *could* contain SSIs and php if needed for something semi-dynamic
<amz3>not a cms though
<davexunit>I'd like haunt to eventually have the ability to only rebuild parts of a site
<paroneayea>but for the most part, it was jsut static though.
<davexunit>instead of building from scratch each time
<paroneayea>would need a DAG
<davexunit>but that requires some additional work.
<paroneayea>something make-like
<davexunit>yeah, without going into full make territory.
<amz3>I was going to say that I've put in git guile-wiredtiger
<amz3> https://git.framasoft.org/a-guile-mind/guile-wiredtiger
<amz3>if you already had a look at the ML file, look at the commits to know what's new
<davexunit>amz3: cool
<davexunit>I don't really understand what it does yet, though :)
<davexunit>I'm a bit ignorant here.
<amz3>basically packing/unpacking is done by guile-wiredtiger via introspection
<amz3>it's database ^^
<davexunit>from the readme, I can see that you can "build your own database"
<amz3>low level though
<davexunit>why would I use wiredtiger over say, redis?
<amz3>(there is also examples: graphdb, tuple db and fixed the haystack to order results
<amz3>it's persistent
<amz3>for real
<amz3>*and* I doesn't require to have all the database in memory
<davexunit>okay. thanks for explaining.
<davexunit>what do you see as use-cases for this?
<amz3>it's supposed to be slower for the usecase of redis
<amz3>building databases :)
<davexunit>I'm interested, but I just don't get what niche this fits into
<davexunit>amz3: purely academic, or are there practical applications?
<amz3>like datomic, except I don't need to fire postgresql, memecached or cassandra
<davexunit>okay, I guess I need to understand the reason for using datomic.
<amz3>no it's not academic
<amz3>datomic is an example
<paroneayea>davexunit: so this parser thing!
<paroneayea>davexunit: you publishing it somewhere?
<amz3>for instance, well mysql and mongodb have bad reputation, but wiredtiger is the backend of mongodb and there is an engine for mysql too
<davexunit>paroneayea: here: https://git.dthompson.us/guile-parser-combinators.git/blob/HEAD:/parser-combinators.scm
<davexunit>I'm basically waiting for someone that actually understands parsers to come by and say "what are you doing, you fool?"
<amz3>the use case in the industry is to build super-hight speed database for expert system
<davexunit>but so far it's working out well for me
<paroneayea>davexunit: :)
<amz3>for instance, LDAP use a similar database
<davexunit>amz3: yeah, mongodb is awful. :)
<amz3>wiredtiger is similar to LevelDB but with more features
<amz3>davexunit: it *was* aweful. I'm waiting for the feedback of new versions
<amz3>the guys that built wiredtiger, built Oracle Berkeley DB which is Oracle (and made AGPL by Oracle)
<amz3>it's easier and faster that bsddb ^
<amz3>well on the paper it's very good.
<davexunit>wiredtiger is AGPL? cool
<amz3>LGPLv2 or 3
<amz3>The problem is that people using it, don't say it. Oil or Finance don't share much...
<davexunit>GPLv2+ according to https://github.com/wiredtiger/wiredtiger/blob/master/LICENSE
<amz3>amazon use it too
<davexunit>this looks interesting
<amz3>yes
<amz3>same x)
<amz3>the problem is that it doesn't work on 32bit
<davexunit>that's a bummer
<davexunit>but not the end of the world
<amz3>yes
<amz3>you know that you can time travel in datomic ?
<davexunit>no, that's cool.
<amz3>yeah so cool. I will use that feature to implement a wiki like for my blog
<amz3>actually wiki like "rows" is native in datomic
<amz3>obviously you can gc
<amz3>you are right it's a niche software; hopefully I will try document/build enough patterns so that it's easy to create fine tuned database for application
<amz3>yeah, in the end it's a performance tweak
<amz3>(plus the expressivness of scheme ;)
<amz3>this is make me think that a @orcale.com mail got lost in my inbox once x)
<davexunit>amz3: interested to see what you come up with
<paroneayea>berkley db is AGPL
<paroneayea>but they're doing the kind of unfortunate thing of giving copyleft a bad name
<paroneayea>or at least, I'd assume if they're doing the same thing that's hapened with mysql
<paroneayea>but hey, mike linksvayer says even the "scare tactic" copyleft enforcement might help, "think of it as a 'sin tax'"
<paroneayea>but I think that people might approach copyleft enforcement differently depending on the motives of the enforcer
<paroneayea>ACTION shrugs
<amz3>people from sleepycat that created BerkeleyDB left for wiredtiger ^^
<amz3>they all left I think
<amz3>they left Oracle
<amz3>bad thing but also good thing. More software will rise because of this copyleft I hope
<amz3>davexunit: I hope other people find it useful, even if I pursue my own lullaby
<daviid>mark_weaver: you can close #18570, it seems it's still active
<davexunit>amz3: I'd like to better understand when it would be useful. "a-ha! wiredtiger will be perfect for this!"
<amz3>it's never obvious, it's really for expert/complex systems. But IMHO it's useful for quick dirty stuff when you don't master sql
<amz3>and obviously for everything SQL doesn't handle well like recursive queries or flexible schemas
<davexunit>I'm very comfortable with SQL
<amz3>you won't see the interest, if you don't have performance issues
<davexunit>but I like the idea of having a low level database building tool
<amz3>ah also, it's embedded like sqlite
<amz3>you have to build networking and query language yourself
<gnusosa>Hi, I have another dumb question, anybody know any way to get alphabetical order correctly in Guile?
<davexunit>amz3: ah, so I could use it serverless?
<davexunit>cool
<amz3>davexunit: yes
<gnusosa>If I try: (sort '("opt" "opst") string<?)
<gnusosa>I get "opst" "opt"
<gnusosa>instead of the reverse.
<gnusosa>am I doing something wrong?
<davexunit>that's the correct sorting
<davexunit>s comes before t
<gnusosa>umm according to programming pearls, it should be opt opst ...
<gnusosa>I do understand, that should be the correct sorting given the position of ops before t
<davexunit>using string<? as the predicate sorts lexicographically
<amz3>davexunit: also it's sorted, it an important feature to be able to build indexes. AFAIK leveldb is not sorted
<amz3>gnusosa: I think you are right the short comes before the big
<amz3>no
<amz3>python gives the same result as guile
<davexunit>gnusosa: you'd have to write your own operator
<davexunit>the sort is correct given the predicate you are using.
<daviid>gnusosa: you wish to have a specific collating sequence engine here, hence you have to write yours....
<gnusosa>oh ok fair enough
<gnusosa>thanks for the help
<amz3>gnusosa: thx for asking I discovered someting :)
<gnusosa>:)
<gnusosa>I'm going through programming pearls with Guile
<amz3>so "abc" is before "abca"
<amz3>(and whatever string that has the same prefix)
<amz3>gnusosa: looks like there is seom bugs
<daviid>woh, kernel 4.1.3
<gnusosa>amz3: https://en.wikipedia.org/wiki/Collation
<daviid>paroneayea: which postgres version did you start your binding with? just curious at this point
<paroneayea>daviid: 9.4
<paroneayea>though should work as far back as 8.X I think
<mark_weaver>daviid: you can close the bug yourself by sending email to 18570-done@debbugs.gnu.org. ideally, the body of the message should mention that you're closing the bug and why.
<daviid>paroneayea: tx
<paroneayea>np!
<daviid>mark_weaver: oh really? did know i just sent an email to savannah [relted to guile-clutter] asking for a tutorial about how to handle debbugs ...
<daviid>how to raise/lower priority ... these things
<daviid>i thought we needed admin priviledges fir these things... will close later today [have to go afk for a bit]
<daviid>in a .pc file, [for example my 'grip' project] should the module_directory be [something like] 'module_directory=@GUILE_GLOBAL_SITE@' or 'module_directory=@GUILE_GLOBAL_SITE@/grip ? what is usually recommended here?
<daviid>opted for the later, let's see, no really important