clojure-hk

onetom 2015-11-20T15:38:55.000002Z

@macropolo: hello! do u live in hong kong or just curious about whats going on here?

2015-11-20T15:56:21.000004Z

@onetom: hi unfortunately not, however I do visit every once in a while, so I was interested in seeing what is going on wrt clojure in hk

2015-11-20T15:58:37.000005Z

@onetom: great city btw, first came in 2011 and fell in love :simple_smile:

onetom 2015-11-20T15:59:08.000006Z

most people u see here are from https://exiconglobal.com and we are developing our platform in clojure http://hoplon.io and datomic

2015-11-20T16:04:18.000007Z

@onetom: interesting

2015-11-20T16:04:46.000008Z

datomic is great, I have the pleasure of using it in one of my projects

onetom 2015-11-20T16:05:14.000009Z

hey everyone, it would be great if you could introduce yourself

onetom 2015-11-20T16:06:20.000010Z

we should have a meetup too. my ex-colleague has created this months ago: http://www.meetup.com/clojure-hk/ but we never had a meeting yet

onetom 2015-11-20T16:07:40.000012Z

macropolo: what kind of data do u store in datomic? we just started using it actively recently and we store mobile app and app store data in it, besides our user and org data

2015-11-20T16:11:20.000013Z

@onetom: the project is concerned with geocoding and address processing, so, naturally, most of the data are hierarchical address information plus some request logging/job control/etc.

2015-11-20T16:13:06.000014Z

datasets are smallish, tens to hundreds of millions of datoms

onetom 2015-11-20T16:15:53.000015Z

that sounds like a gigabyte range db already

onetom 2015-11-20T16:17:15.000016Z

also it's an interesting type of data. why did u choose datomic? r u using its time travelling functionality? are u annotating your transactions with the user's or software subsystem's id for audit purposes?

2015-11-20T16:18:47.000017Z

gigabytes don't seem so big these days :simple_smile:

onetom 2015-11-20T16:20:03.000018Z

well... i was just dealing with a datomic db which occupied 4.6GB on dynamodb (by accident really, because we left of some uniqueness constraints and over a few months it has accumlated a lot of duplicate datoms :simple_smile:

onetom 2015-11-20T16:21:03.000019Z

it deleted that db the other day and ran bin/datomic gc-deleted-dbs on it and it took 70minutes to complete it

onetom 2015-11-20T16:21:24.000020Z

and even after that there was ~1.8GB garbage left over

2015-11-20T16:21:50.000021Z

there are no reqirements for time travel/strong audit capabilities per se, however datomic is quite suited for hierarchical data (vs say sql which will work but would look rather ugly) and read/write asymmetry

onetom 2015-11-20T16:22:42.000022Z

then i tried to rename the latest backup of it on s3 by aws s3 mv <s3://backup/orig-name> <s3://backup/archived-name> and that took 2.5hours and ~700'000 aws api operations.

2015-11-20T16:22:58.000023Z

we don't use dynamo, so disk space/iops are almost free

onetom 2015-11-20T16:23:14.000024Z

i should have run that from an EC2 machine probably, but still...

onetom 2015-11-20T16:23:36.000025Z

what storage do u use then?

2015-11-20T16:24:15.000026Z

local one since we currently can get away with it

onetom 2015-11-20T16:24:28.000027Z

yeah, hierarchical data is definitely a sweet spot for datoimc

onetom 2015-11-20T16:24:51.000028Z

u mean the built-in h2 datomic:dev:// protocol?

2015-11-20T16:25:08.000029Z

yes

2015-11-20T16:25:37.000030Z

on an unrelated note, bulk-load performance was somewhat of a problem (required index tuning), however I think it improved in recent releases

onetom 2015-11-20T16:26:01.000031Z

i was entertaining that idea too for a while but since we run on aws im not sure how much can i trust EBS to store it and even than the uptime might be not so nice

onetom 2015-11-20T16:26:33.000032Z

which version are u using?

2015-11-20T16:27:09.000033Z

i agree, if using aws dynamodb is a better idea

onetom 2015-11-20T16:28:37.000034Z

we just bumped up to the latest 0.9.5327 because the .5132 one had some disconnect error when we were creating and dropping in-memory dbs too quickly or something like that

2015-11-20T16:28:53.000035Z

0.9.5302 currently

onetom 2015-11-20T16:30:13.000036Z

otherwise ror/nodejs/angular/meteor is still the mainstream requirement in most jobs

onetom 2015-11-20T16:30:34.000037Z

there are quite a few companies who are experimenting with go and react too

2015-11-20T16:38:48.000039Z

the hesitation about developer availability is quite understandable, however i think currently there are more clojure developers than clojure jobs and also at least some of them are prepared to take a pay cut or compromise on other concerns just to use it in their workplace instead of whatever they are allowed now

2015-11-20T16:40:28.000040Z

as for go among other recently popular languages it is pretty much the anti-clojure :simple_smile:

2015-11-20T16:42:49.000041Z

some speculate it was google's elaborate attempt to ensure none of its competitors ever get ahead sorry if that offended anyone :simple_smile:

onetom 2015-11-20T17:03:28.000042Z

"anti-clojure" :simple_smile: my 1st association was anti-christ

onetom 2015-11-20T17:04:57.000043Z

so if u say there is a clojure dev surplus, what do u think how can i find them?

onetom 2015-11-20T17:05:40.000044Z

hmmm... i see there are some job channels on clojurians...

onetom 2015-11-20T17:07:35.000045Z

regarding paycut, i also made that compromise, but i dont really regret it (yet :simple_smile: it's really rewarding to work in clojure after node, ruby, etc...

2015-11-20T17:14:10.000046Z

i think the usual suspects (channels here, other communities and various job sites) would produce some results my statement is mostly based on "i like/learn/use clojure for my projects but my job doesn't let me do the same" i heard more than once :simple_smile: not tried to hire anyone yet however if you want clojure devs in a specific location and don't allow remote people, this it of course is more complicated since mean clojure developer density is obviously much lower

2015-11-20T17:17:40.000047Z

anyway, being able to give people cool toys (clojure in this case) may be an useful advantage when competing for developers with other organizations

onetom 2015-11-20T17:22:30.000048Z

that's what i thought too, but failed twice already in the past 9 months... in those cases ppl valued salary more 😞

2015-11-20T17:27:59.000049Z

did you look in hk only or for remote devs too?