ChanServ changed the topic of #picolisp to: PicoLisp language | Channel Log: https://irclog.whitequark.org/picolisp/ | Picolisp latest found at http://www.software-lab.de/down.html | check also http://www.picolisp.com for more information
alexshendi has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
alexshendi has quit [Ping timeout: 256 seconds]
jibanes has quit [Ping timeout: 240 seconds]
jibanes has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
pierpal has quit [Quit: Poof]
orivej has joined #picolisp
pierpal has joined #picolisp
orivej has quit [Ping timeout: 260 seconds]
<cess11> Never done billions of datapoints but some one or two digit millions on an aging laptop is fine if the model is appropriate.
<Regenaxer> Same here
<tankf33der> morning
<tankf33der> i want store data as is
<Regenaxer> Good morning tankf33der
<tankf33der> i'm creating simpler model for training
<Regenaxer> ok
rob_w has joined #picolisp
<tankf33der> so
<tankf33der> data is flat, no relations
<tankf33der> in one request i will scan all data base and one will use range
<tankf33der> if check date and time
<tankf33der> 2017-01-09 11:13:28
<tankf33der> this is one field or two?
<cess11> I would import it as one and then split in a subsequent step if I wanted to index on either of those two.
<tankf33der> doing simpler example, lets see
<tankf33der> just on several records
<cess11> Usually it is a good idea to have a statistics object when handling large imports, a simple class with a couple of fields that get increased at every finished operation, like a row imported or changed object.
<cess11> That way you can check in another REPL how far it has come.
<tankf33der> not a proble for now
<tankf33der> problem is date, time, total_amount :)
<Regenaxer> If there are no relations, you don't need a DB. A flat file would do
<tankf33der> and this is my first attempt
<Regenaxer> good
<cess11> I would start with a model covering the entire row and then copy over to another class of objects what I particularly want.
<tankf33der> and how handle if i want sum dolars in jul 2017?
<Regenaxer> or did you mean, that just the *data* have no relations between them?
<cess11> Using '(match '(@FirstField "," @SecondField ... allows for easy validation during import if that is needed.
<Regenaxer> But in pil you make indexes?
<tankf33der> i meant no relations between them
<Regenaxer> ok, good
<tankf33der> only ranges of something
<Regenaxer> I would (split (line) " " ",")
<Regenaxer> and make index on date and time etc
<tankf33der> maybe i want sum amount in jul 2017 where was pickup in airport
<tankf33der> ok
<Regenaxer> yes, good example
<beneroth> Good morning Regenaxer, tankf33der, cess11
<Regenaxer> Good morning beneroth
<cess11> Good morning.
<Regenaxer> (sum '((This) (: amount)) (collect 'dat '+Cls (date ...) (date ...]
<Regenaxer> For larger data sets pilog is better than 'collect'
<Regenaxer> using select for more involved filtering
<tankf33der> ha
<tankf33der> i found +Time, perfect
<tankf33der> i thought only +Date exists
<beneroth> :)
xificurC has joined #picolisp
<beneroth> often it is useful to index them together using +Aux, e.g. (rel date (+Aux +Ref +Date) (time)) (rel time (+Time))
<beneroth> querying is a bit tricky, using (aux) instead of (db)
<beneroth> but allows date time ranges then
<tankf33der> ok, i will try to remember all this, but here i want split date and time
<tankf33der> will be different queries
<tankf33der> so
<tankf33der> (rel date (+Ref +Date))
<tankf33der> i found i want non uniq index
<tankf33der> right
<beneroth> it's still two properties, and you could also index them separately
<tankf33der> ?
<beneroth> yeah
<beneroth> sounds good
<tankf33der> ok
<beneroth> with separate indexing, you can also make queries to see e.g. which time of the day most rides happen (independent of date, only working with time)
<beneroth> I mean when you have (+Ref +Date) and (+Ref +Time)
<tankf33der> i will do it like this, yes
<tankf33der> i could draw a histogram :)
<tankf33der> what about amount of dollars ?
<Regenaxer> To extract the date for example, you can use ($dat "2017-01-09" "-")
<tankf33der> (rel amount (+Number) 2)
<tankf33der> ?
<Regenaxer> yes
<tankf33der> ok then
<tankf33der> i ready to import then
<cess11> Converting to cents might be a good idea.
<tankf33der> tankf33der: dont forget to (commit) !
<tankf33der> o
<tankf33der> one more thing about pool and size
<Regenaxer> In the beginning you can use the default (single file with size 2)
<Regenaxer> ie no args to 'pool'
<tankf33der> and when i will import all years ?
<Regenaxer> Later you can more easily estimate the sizes
<tankf33der> ok
<tankf33der> i will ask
<Regenaxer> yes
<tankf33der> when import a year
<tankf33der> 1 month ~9M records
<Regenaxer> yes, then sizes get important
<Regenaxer> And import best done in single-user standalone
<tankf33der> ok
<Regenaxer> I can tell optimizations then
<beneroth> bbl
<Regenaxer> cu :)
xificurC has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
xificurC has joined #picolisp
pierpal has quit [Read error: Connection reset by peer]
pierpal has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
<singa> Hi all!
<singa> I have a noob question ^)
<singa> what is the purpose of using string instead of symbol for binding?
<singa> for example, this piece of code in picolisp web framework:
<singa> (for H "*Headers" (prinl (car H) ": " (glue ", " (cdr H)) "^M") )
<singa> why "*Headers", not *Headers?
<cess11> It evaluates to itself unless it has been assigned a value.
<Regenaxer> The main reason here is to have it file-local
<Regenaxer> Transient symbols have file-local scope, not visible outside
<singa> got it, thanks!
<Regenaxer> In pil64 you could use namespaces instead
orivej has joined #picolisp
rob_w has quit [Quit: Leaving]
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
rob_w has joined #picolisp
rob_w has quit [Remote host closed the connection]
grp has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
jibanes has quit [Ping timeout: 265 seconds]
jibanes has joined #picolisp
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #picolisp
orivej_ has joined #picolisp
orivej has quit [Ping timeout: 260 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
orivej_ has quit [Ping timeout: 256 seconds]
alexshendi has joined #picolisp
alexshendi has quit [Ping timeout: 256 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
orivej has joined #picolisp
groovy2shoes has quit [Quit: moritura te salutat]
groovy2shoes has joined #picolisp
styx has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
<beneroth> For 10k, Fujitsu tells your company that blockchain is bullshit for your use case :D
<beneroth> and hopes to land a business application project then from this
<beneroth> maybe I should offer this too "blockchain business case audit"
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
styx has quit [Quit: styx]
_whitelogger has joined #picolisp
alexshendi has joined #picolisp
pierpal has quit [Quit: Poof]
pierpal has joined #picolisp
pierpal has quit [Remote host closed the connection]
grp has quit [Quit: box shutting down...]
alexshendi has quit [Read error: Connection reset by peer]