Fork me on GitHub

how many 😺 in your non-😺-free office tho @seancorfield ?


morning indeed, Mr. van der Veen


(= "must" )


@agile_geek wow that's scary stuff


anyone here travel to London regularly? We've got some people who will need to do that so just wondering what good options are compared to hotels (for something like 2-3 nights per week 1-4 weeks/mo)


@otfrom - My experience is that the way to do this as cost-effectively as possible is to do “Private Room” on AirBnB Failing that, booking far in advance with Ibis or Travellodge can work out very reasonable…


I am actively considering purchasing a modest studio / one bed and AirBnB-ing it when I am not in it, but we will have to see how things go…


@maleghast that last bit doesn't sound unreasonable. Side bets for startups?


PoO - A while back someone on here (I think that it was @mccraigmccraig or @seancorfield but I am not 100% certain that it was either of them) recommended a Clojure library to me for the purpose of talking to ElasticSearch… Is that person here? Was it Spandex? The examples only seem to be for making searches - does anyone know if it’s feature complete / capable of shoving data into ElasticSearch, or if I need to do that should I go for Elastich instead?


@maleghast i haven't used spandex personally ( my project is using a hacked version of older ES client, also by @mpenet ), but my recollection is that it doesn't care what the queries you send are - it just deals with the transport and generic response handling


Ok… So I can POST and it will add documents to the Index in question..?


there is an example of a delete request on the README tho - which would support my supposition


(or is it PUT?)


Yeah, I saw that… OK, that’s pretty much decided me then


haha, it's been too long since i looked at ES, i couldn't tell you any api details anymore 🙂


you should be able to play with it in a repl and confirm that it will do the requests you are wanting to do


ES requests are all just plain json data structures though, so i don't think there is any fundamental reason why it shouldn't be able to


(I have only had very limited access to / exposure to ES in the past, but I need to store reasonably large amounts of document based data and be able to perform fast searches on the stored data, so it appears to be a good fit for my use-case 😉 )


@maleghast ES is brilliant for surprisingly fast queries over medium to large data... a useful tip is to remember to set mappings and to use doc_values wherever you can ( ) unless you are fully intending all of your dataset to fit into cluster memory


with doc_values ES will use memory-mapped off-heap storage which can lead to very modest RAM usage


This is particularly interesting information - thanks 🙂


oh, huh - looks like they made doc_values the default now 🙂


so you don't need to remember!


Yeah, you only need to remember to turn them off, if you are sure you don’t need them, which is really rather excellent.


are you storing time-series data @maleghast ?


Nope, well not in those terms… I have access to the data for a sliding window and I want to have access to it after the sliding window, so I am going to store it after accessing it (the proprietor of the data in question is aware and has given permission), so time is a factor, but it’s not a time series in truth.


ok, doesn't matter then - but if you were it makes sense to split your data across different indexes, bucketed by time period - because ES query allows you to query multiple indexes and combine results, and it's much easier to remove an index than it is to remove data from an index


I had some inkling of this - I have a feeling it’s a recommended approach on ELK stack stuff that I did a couple of years ago - makes queries more efficient too IIRC?


yes - kibana has index-pattern stuff built in iirc so you can define index patterns like events-{YYMMDD} or something


*nods* that is definitely ringing bells in my head


maybe not helping @maleghast 😬, but i've got lots of async code composed with a promise-monad, and i wanted to have the chains of async operations carry around some side-channel log-data to aid traceability - a writer monad would be ideal for this, so a promise-writer-monad-transformer would be great, but refactoring without the help of static-checks doesn't bear thinking about


I see, in that at a high-level I mostly grok what you are saying. 😉


@mccraigmccraig I think all major refactoring is more difficult/dangerous without static checks even with good test coverage. If I follow u, from what I know about monads, I agree.