The web in a box - a next generation web framework for the Perl programming language

IRC log for #mojo, 2016-09-29

| Channels | #mojo index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 vicash ccakes: i found the problem. i had to enable Google+ API for my developer account. thanks. now i get everything i need ! :)
00:04 ccakes aaahhh ok
00:04 ccakes good to hear it's working now
00:05 vicash ccakes: how do you implement logout ? right now i expire the session but is there a sign out URL that you invoke to sign out of google itself ?
00:05 ccakes i do the same, right now the module is doing online auth so the sessions are only pretty short-lived anyway
00:06 ccakes i've submitted a PR to add support for offline which gets a refresh_token allowing longer-lived sessions
00:07 vicash ccakes: yea the PRs have been hanging around since 2015
00:08 ccakes mines only about a month old !24
00:08 ccakes it got a reply but nothing substantial, was going to give it a week or so and chase again
00:09 vicash cool...
00:09 ccakes i'm using pinto as a private repo at work so i've got a local v0.13 with support for that
00:09 ccakes feels dirty but it works
00:09 vicash ccakes: if your PR works and I need it, i might use your github fork of the module myself
00:14 arcanez ccakes: you like pinto?
00:25 ccakes arcanez it's ok, not really doing anything complex with it though
00:29 arcanez I might take a look at App::Opan
00:29 arcanez or is that App::opan
00:59 cbd_ pink_mist: just updated my modules using cpan and the warning message went away
01:00 cbd_ thank you
01:07 noganex joined #mojo
02:06 noganex_ joined #mojo
02:12 ccakes joined #mojo
02:58 tchaves joined #mojo
03:08 kaare joined #mojo
04:09 asarch joined #mojo
04:18 polettix joined #mojo
05:14 dod joined #mojo
05:18 dod joined #mojo
05:27 inokenty-w joined #mojo
05:55 mishanti1 bpmedley: A post on Perl-Build is a good idea for a follow-up post I think.
05:57 dod joined #mojo
06:16 polettix joined #mojo
06:25 Vandal50506 joined #mojo
06:28 ladnaV joined #mojo
06:40 mbudde joined #mojo
07:25 ivi joined #mojo
07:25 ivi joined #mojo
07:26 polettix joined #mojo
07:28 trone joined #mojo
07:32 ccakes joined #mojo
08:03 Vandal50506 joined #mojo
08:05 rshadow joined #mojo
08:08 osfabibisi joined #mojo
09:09 polettix joined #mojo
09:51 bd i'd like to use mojo::template outside of a mojolicious project. can i still use multiple templates in __DATA__ and if yes how?
09:51 bd right now i use my $template = read_file(\*DATA); say $mt->render($template, $rows);
09:51 bd but that allows only for one template
09:53 sri http://mojolicious.org/perldoc/Mojo/Loader#data_section
09:54 bd sweet thanks
10:45 martin joined #mojo
10:54 bd bank statement => csv => perl => pdf == account.isHappy()
11:00 tchaves joined #mojo
11:07 tchaves joined #mojo
11:21 martin joined #mojo
12:00 polettix joined #mojo
12:23 asarch joined #mojo
12:38 ccakes joined #mojo
12:47 mbudde1 joined #mojo
12:51 gizmomathboy joined #mojo
13:07 itaipu joined #mojo
13:13 ramortegui joined #mojo
13:16 ptolemarch joined #mojo
14:28 sri postgresql 9.6 is out \o/ https://www.postgresql.org/about/news/1703/
14:36 disputin joined #mojo
14:55 ivi joined #mojo
15:01 jberger \o/
15:12 disputin joined #mojo
15:27 rshadow \o/
15:40 Janos joined #mojo
15:47 mad_hatter joined #mojo
15:51 caesura joined #mojo
15:51 caesura Hello
15:52 caesura Just started looking at mojo - and the perl syntax is taxing me ie : helper users => sub { state $users = MyApp::Model::Users->new };
15:52 caesura Anyone explain that? Ta!
15:53 jberger caesura: are you new to perl or to some of the newer features like "state"?
15:54 jberger if its perl generally then we have some recommended resources listed here: http://mojolicious.org/perldoc#BASICS
15:55 jberger if it is something more specific I can try to help you with that
15:55 jberger but obviously I can't take my $work hours and teach people perl itself :-P
15:56 jberger also, sidenote, if you haven't read the Guides (in the order listed there) I also HIGHLY suggest that
15:59 caesura O, yes, I've just learned about state (cw my, our, local) so that bit's fine - if I were to put parentheses around the above perl statement, where would they go? Too many barewords for me, boo
16:00 sri helpers is a function
16:00 sri umm helper
16:00 jberger yeah, I guess it would be: helper('users', sub { ... });
16:01 sri http://mojolicious.org/perldoc/Mojolicious/Lite#helper
16:01 caesura ok, ta, so it could look like this : my $return = Mojo::helper ( 'users', sub { state...}) ...?
16:02 sri depending on what the package Mojo contains
16:03 sri but generally, no
16:03 jberger caesura: Mojolicious::Lite provides functions which wrap Mojolicious into a set of keywords
16:04 jberger if that feels strange to you and you are more comfortable with OO you might just want to do a full app
16:04 jberger that said, the documentation uses lite apps a lot so it is good to be able to at least read them
16:04 caesura Yes it does feel strange - so Mojolicious::Lite generates perl keywords
16:05 jberger (under the hood light/full are exactly the same)
16:05 jberger caesura: there isn't a lot of difference in perl between a function and a keyword (at least at first glance)
16:06 caesura And users appears as a method further down the code so helper creates methods, I think
16:06 Grinnz caesura: it exports these subroutines to your current package
16:06 Grinnz so that you can call them without fully qualifying them
16:07 caesura I am reading all the tutorials for mojo - except there are no explanations as to what each line of code does - I can cut'n'paste, but that doesn't help me learn how/why it's done that way!
16:08 Grinnz the subroutines M::L exports to you and the helpers which you can call on controller or application objects are slightly different (methods take their invocant as their first argument; the exported subroutines assume you're operating on the global M::L "app")
16:08 caesura I've not seen perl so obfusticated to be honest
16:08 dod joined #mojo
16:10 jberger caesura: helpers are a little different because they inject methods in a few places, but that is by design for code sharing. that's what a helper is for
16:10 jberger the rest of this is just a style that it seems that you are unfamiliar with
16:10 jberger which is fine, it just takes a little getting used to
16:11 jberger again, it sounds like perhaps a full app is more what you are interested in
16:11 caesura I know, yes, unfamiliar - my first obstacle was the first line in the first tutorial : get '/' => { text => 'Hello World' };
16:11 jberger Lite tries to make writing an app very quick but it may seem a little magical if you aren't use to DSL style declarative styles
16:11 itaipu joined #mojo
16:12 caesura I found out that fat comma => was the same as a comma, didn't know that!
16:12 jberger that is fairly standard perl actually, can't help you there :-P
16:12 Grinnz the DSL style is used by a lot of web frameworks, like Dancer2 works exclusively that way
16:12 caesura Well something learned anway, what is " DSL style declarative styles" could I google it?
16:13 jberger https://en.wikipedia.org/wiki/Domain-specific_language
16:13 Grinnz it exports you a lot of functions to use as a "language" for that particular task
16:13 caesura Ah, right, yes, a Perl idiom possibly
16:13 Grinnz not perl at all
16:13 jberger https://en.wikipedia.org/wiki/Declarative_programming
16:14 jberger the idea is to make it so that you can just declare that something should happen
16:14 jberger I want to handle GET requests to / by rendering this text ....
16:14 jberger for example
16:14 sri caesura: the guides are definitely written for experienced perl and web programmers i'm afraid, we do not have a book yet that goes into more detail
16:17 sri mojolicious is very idiomatic perl
16:17 caesura Ah, glad you said that!  i'll have to stop going back to first principles, and just accept and learn the style, which isn't too bad a thing to do, I guess
16:18 tianon joined #mojo
16:22 sri you might like this book for learning perl idioms http://shop.oreilly.com/product/9780596001735.do
16:23 sri a few small things the community doesn't agree with (anymore), but it's still mostly good
16:23 caesura Interesting - the pbp book would frown on most of the thing's I've seen in mojo, I think!
16:24 caesura (and i must have left my copy at may last workplace, perhaps as a parting shot, can't find it)
16:24 caesura my
16:25 jberger caesura: I'm curious what you hope to achieve in saying that Mojo is very obfuscated and imply that it doesn't follow best practices
16:26 caesura Oh nothing, just found that the example lines of code aren't explained in the first set of Mojo beginners tutorials, that's all, I think I have a better idea now of what I have to do
16:28 jberger a web framework is going to have to have tons going on behind the scenes, the goal of a good framework (especially in early tutorials) is to hide most of that from you
16:28 caesura on first glance, though, I do think that "get '/' => { text => 'Hello World' };" looks odd to most Perl programmers - do you not think so?
16:28 jberger it may look odd, but is its meaning unclear?
16:28 caesura Well, yes, that's true
16:28 jberger don't worry, you can learn all about what is going on under the hood
16:28 jberger but that comes later
16:28 caesura No, indeed, the meaning is very clear!  Just the syntax is not what I'm used to.
16:28 jberger :P
16:28 jberger sure
16:29 jberger but you'll get used to that
16:29 jberger or, as I've said before (and actually as I do most times) a full app is less declarative and might not seem quite as foreign
16:29 jberger but try this for a bit, you might end up liking it, you never know
16:30 sri i think most perl programmers are actually familiar with using fat commas to highlight a relationship between two elements in a list
16:30 jberger in the meantime, just think of the Mojolicious Lite keywords as proper keywords
16:30 caesura A yes, ok, I'll have a look at that - I want to convert my CGI.pm code to mojo/dance/something-modern
16:31 jberger as Grinnz said before, a DSL is the only style Dancer has, so ...
16:31 jberger Mojo at least has both DSL and OO depending on your tastes
16:31 jberger (and size of your app)
16:32 sri and i don't believe this to be true -> "the pbp book would frown on most of the thing's I've seen in mojo"
16:32 Grinnz also note that the PBP book suggests many things which are no longer considered best practices (even the author has said so for some things)
16:33 caesura Yes, I do like its simplicity - the fat comma thing was interesting to me - it deffo showed a relationship, but in reality it is just a list separator (i tried it without use Mojo...)
16:34 jberger it is a list separator that also quotes the left hand side if it is a single bare word
16:34 jberger which is kinda handy in a hash context
16:35 Grinnz it sort of meshes with hash key access, which allows you to leave out the quotes if it's a valid identifier too
16:35 caesura Ideal in a hash context, but in a subroutine parameter list it's just a comma
16:35 Grinnz i.e. $foo{bar}
16:35 Grinnz it's always just a comma
16:35 caesura :)
16:35 Grinnz don't be fooled, it imposes no special semantics even when assigning to a hash
16:36 Grinnz my %stuff = (foo => 'bar', 'baz') # this is still going to throw a warning and assign baz as another key with an undefined value
16:36 caesura No, true, just getting back to doing Perl after a while of not using it, bit rusty, but it's the only programming language I know well (so I thought), and like a lot.
16:37 jberger like riding a bike
16:37 caesura Same as %stuff = (foo, 'bar', 'baz'), then
16:37 Grinnz you'd have to quote 'foo' there, but yes
16:38 caesura Yes, sorry, it's a Thing (re)Learned today which is all good
16:38 Grinnz the 'gotcha' came when doing something like: my %stuff = (foo => get_things(), bar => 'baz'); where get_things returned a list, that will get expanded and throw your whole hash off and in the case of Bugzilla it was a security flaw
16:39 marty_ joined #mojo
16:39 sri i suppose things get more murky when theres more than two arguments
16:39 marty joined #mojo
16:39 caesura Golly
16:40 Grinnz the "solution" is to make sure that functions only return either scalar or list context, and to be explicit about that
16:40 Grinnz which Mojolicious does in general
16:40 sri get '/:test' => [test => qr/./] => {foo => 'bar'};
16:41 sri not sure i would like it with thin commas though
16:41 caesura Would you say that the use of => in Mojo is 'syntactic sugar' - it looks nice?
16:41 sri get '/:test', [test => qr/./], {foo => 'bar'};
16:41 sri in some cases yes
16:42 Grinnz sri: seems ok to me, if i try to ignroe that i'm just used to the fat commas in that line
16:42 caesura Ok, I think I'm getting the idea!
16:42 sri there's also stuff like $t->get_ok('/foo' => {Accept => '*/*'} => form => {a => 'b'});
16:43 caesura I tend to put things in parenthesis as a default, so it'll take some getting used to
16:43 sri $t->get_ok('/foo', {Accept => '*/*'}, form => {a => 'b'});
16:43 caesura parentheses
16:43 sri in those cases i'm actually not sure what to use in the docs
16:44 Grinnz caesura: the DSL functions can be used with parentheses, just as a point of style, they usually aren't
16:44 Grinnz method calls on the other hand require parentheses so you'll see them a lot in the full app style (like sri just showed)
16:44 caesura Fair enough, onwards and upwards
16:45 sri jberger: i'm wondering, should we maybe switch to thin commas in the docs if there is no clear key/value pair relationship?
16:46 Grinnz it could be more comfortable for newcomers
16:46 jberger personally, I'm ok leaving that as is, but I guess I can see the point of that change
16:48 jberger I do remember how confused I was when I first tried to read this: https://metacpan.org/pod/distribution/Inline-C/lib/Inline/C.pod#C-CONFIGURATION-OPTIONS
16:48 jberger but we rarely chain the =>
16:49 jberger I guess in that get_ok example a few less => wouldn't hurt
16:49 jberger but keep it where there IS a pair relationship
16:49 caesura In general, as a newcomer to Mojo, I'm finding I'm just cutting/pasting code without really understanding what (or how) it does it, that's all, perhaps I'm too impatient!
16:49 jberger (oh like you showed later, I missed that line)
16:50 jberger caesura: you will learn, gotta keep reading the guides
16:50 caesura Ok, will do!
16:50 jberger there is a tricky balance in writing documentation for large scale apps, if you don't get to working code quickly many people skip forward and miss things
16:50 jberger so you have to walk a fine line there
16:50 caesura Yes, indeed there is
16:51 jberger its nearly impossible to set up all the concepts in a fully pedagogical way
16:51 jberger at least without boring everyone to death
16:52 jberger (I have a science degree so believe me, pedagogy would be my default way to document, but it doesn't work well in practice)
16:52 caesura Yes, that's true, the code examples do work remarkably well, it is very simple to get Mojo up and working
16:52 Grinnz and if there's anything else specific that's confusing, just ask about it, if it's something that the guides can explain better it can be updated and help all future guide readers
16:53 mad_hatter jberger, http://fpaste.scsys.co.uk/534588 for some reason this code is giving me the warning: (in cleanup) Can't call method "remove" on an undefined value and doesn't execute the second "step" beginning on the second recursion. Any idea? I think it may have something to do with the ->wait() never being called
16:56 disputin joined #mojo
16:58 jberger mad_hatter: that sounds more like something is going out of scope, which I can't see because you've only posted part of the code
16:58 jberger but honestly I can't dive into that right now
16:58 jberger sorry, I've already spent probably too much time chatting and not enough time $working
16:58 jberger (doesn't help when your $boss is in the channel too ;-P)
16:59 caesura thanks for your help everyone, much appreciated!
16:59 sri hmm
16:59 sri counter point
16:59 sri get '/foo' => sub {...};
16:59 sri get '/foo', sub {...};
17:00 sri second looks weird
17:00 romel joined #mojo
17:00 mad_hatter jberger, no worries i think i fixed it (albeit with some errors, but at least it's working)
17:00 jberger sri: good point, that does look weird to me too
17:01 caesura my $Return = Mojo::get ('/foo', \@mySub); - that looks better to me :)
17:01 caesura \&
17:02 sri uppercase letters in variable names is frowned upon
17:02 jberger getting people to follow perlstyle is harder than getting them to follow pep8
17:02 caesura ah, right, yes, as I said, I've lost my PBP book
17:03 sri (unless it's all uppercase letters, to highlight variables with a very wide scope for example)
17:06 jberger http://perldoc.perl.org/perlstyle.html
17:09 sri picking a style is hard
17:10 sri there is also a problem with $t->get_ok(...) and friends
17:10 sri those of course have a direct relation to Mojo::UserAgent::get, which also takes a callback as last argument
17:10 sri $ua->get('/foo' => sub {...})
17:10 sri with comma it looks awkward again
17:11 sri and it's also the same for tag helpers ;p
17:12 sri arguably even worse with the begin/end keywords ;)
17:12 sri guess i'm calling fat comma as a style choice reasonable
17:13 jberger agreed
17:13 sri (not just for key/value relationships)
17:13 jberger once you understand what it is, the meaning isn't incorrect
17:14 sri re perlstyle.. only barbarians would intent with 4 spaces!!!1
17:17 * pink_mist is a proud barbarian :P
17:19 jberger sri: true, true
17:20 jberger like all good zealots, I steadfastly believe in the parts of my founding documents that I like and shrug off parts I don't like as antiquated
17:20 jberger \o-
17:20 jberger -o/
17:21 caesura I can't do anything other than 3-space indents, I have to write a post-processor to add the extra one if They want it like that
17:23 caesura goto doesn't seem to appear on that perlstyle doc, oddly
17:50 caesura joined #mojo
18:11 blonewolfs joined #mojo
18:11 blonewolfs joined #mojo
18:13 PryMar56 joined #mojo
18:13 blonewolfs i'm writing an app with multiple controllers to separate logic but, there are some tasks that are common across multiple controllers.  how can i put those routines in a generic location and then call them from anywhere in my app?
18:15 perlpilot Hmm ... if only perl had some sort of module system you could use  ;)
18:16 blonewolfs :)
18:16 Grinnz you can add them as helpers in your startup method, then they are accessible from any controller object
18:17 Grinnz or you can just put them in a module that you can load from anywhere as perlpilot said
18:17 jberger also an application specific plugin library, if only to separate it out
18:17 Grinnz which approach is better mostly depends if the routine needs access to the controller object
18:17 Grinnz but you can still use either approach regardless
18:19 blonewolfs okay.  both ways makes sense, for the moment.  thanks for the help.
18:20 sri http://mojolicious.org/perldoc/Mojolicious/Guides/Cookbook#Adding-a-plugin-to-your-application
18:33 blonewolfs thank you.
18:40 itaipu joined #mojo
19:14 perlpilot joined #mojo
19:17 zivester joined #mojo
19:29 polettix joined #mojo
20:00 disputin joined #mojo
20:13 arcanez jberger: regarding your "$boss is in the channel too" comment, I don't think I've ever had employ where a coworker, let alone boss, was on IRC :(
20:16 sri that reminds me
20:17 sri Phil21:  consider yourself poked regarding the server ;p
20:18 sri at SUSE i think pretty much everyone is on irc
20:20 jberger sri: can confirm, working on the OSS server stack atm
20:20 sri \o/
20:20 jberger arcanez: its not very surprising, I got the job via this channel :-P
20:21 blonewolfs i have created the plugin and registered it per http://mojolicious.org/perldoc/Mojolicious/Guides/Cookbook#Adding-a-plugin-to-your-application.  in my startup sub i have registered it per http://mojolicious.org/perldoc/Mojolicious/Plugins#SYNOPSIS and i call it using the namespace name ($self->linux_portal->common->uri_call($self, $uri);).  The name space is: Linux_Portal::Plugin::Common.  i'm getting a Can't locate object method
20:21 blonewolfs "linux_portal" error.  any ideas?
20:21 arcanez I replaced 'groditi' a few jobs ago.. and done contract work for some places via connections I made via IRC
20:22 arcanez (he vouced for me)
20:23 arcanez *vouched
20:23 arcanez and I still get cpantester emails about his modules I took over, mostly https://metacpan.org/pod/POE::Component::DirWatch
20:51 mad_hatter joined #mojo
21:13 mishanti1 arcanez: I pretend to be a "$boss", and I'm on IRC. Hard to leave IRC when large parts of your early days was spent here.
21:19 itaipu joined #mojo
21:32 ccakes joined #mojo
21:43 Phil21 sri: the guys started on servers in that cab today
21:43 Phil21 poking acknowledged
22:12 arcanez mishanti1: I got my start in Perl otherwise, but I got my start in OSS (DBIx::Class, to start) via IRC. downhill from there
22:16 sri same here, started in #maypole if i remember correctly
22:17 arcanez and in came another infamous 3 letter nick
22:18 sri then marcus started #catalyst and we all went there
22:20 arcanez when did you start mojo?
22:22 sri 2008
22:23 sri a lot of the ideas for it are from when i was still working on catalyst though
22:24 arcanez I was admining a Reaction install in 2009 :X
22:24 sri things got delayed a year or so after the whole catalyst meltdown
22:25 sri the mojolicious we know today only really became a thing in 2010
22:26 ccakes joined #mojo
22:27 sri it had to go through the transition from web toolkit other frameworks can use, to full-stack framework itself
22:28 sri since we couldn't get other frameworks to use the toolkit (*cough* catalyst *cough*)
22:29 stryx` joined #mojo
22:30 sri things were very competitive and hostile back then
22:31 sri parts of it persist to this day, like how i'm pretty much outlawed from plack development
22:32 arcanez coming from the non-mojo side of the fence, things seem to have lightened up *shrug* but yes, for whatever reason, it did not go over well
22:32 arcanez and I'd prefer to use Dancer over Catalyst at this point..
22:33 sri yea, it's much less competitive now
22:33 arcanez big fan of DSLs.. Web::Simple seems to help with that to a point, but it isn't the dispatcher in Catalyst (yet)
22:34 arcanez I deal with an HTML::Mason monolith and small Plack scripts with bootstrap.. and I have Mojo backing a websocket test
22:34 sri well, if you like hacking dispatchers, i'm looking for a better solution to the problem conditions currently solve http://mojolicious.org/perldoc/Mojolicious/Guides/Routing#Condition-plugins
22:35 arcanez I want to get better with event loops so I can utilize them more often ;)
22:35 stryx`_ joined #mojo
22:35 arcanez a lot of my new job is metrics/analytics, at scale
22:35 sri that's a worthy goal too :)
22:35 arcanez so a fair amount of numbers to crunch in a short period of time
22:36 arcanez influxdb + grafana make part of the decision easy, but I still have to feed them
22:36 sri what helped me to feel like i truly understand event loops was writing Mojo::Reactor::Poll
22:37 sri it embodies pretty much everything that's significant about event loops
22:37 sri with little code
22:40 arcanez like, I want to understand how Mojo::SNMP is written
22:42 stryx` joined #mojo
22:47 sri there's pretty much always a file descriptor that gets added to the event loop
22:48 sri the event loop then just watches for readable and or writable status and does stuff for the 3rd party module
22:48 sri or rather, calls code in the 3rd party module
22:50 sri you give Net::SNMP some data, it writes the data to a file descriptor, you get a file descriptor, add it to the event loop, wait for it to become readable, and call some method in Net::SNMP that checks if the whole response has arrived yet
22:52 sri exactly the same for Mojo::Pg
22:52 stryx` joined #mojo
22:54 jberger reading Mojo::Reactor::Poll was what taught me about event loops
22:54 jberger it used to be a little bit easier before a few optimizations IIRC, but it still is a very good example
22:54 sri yea, was about to say
22:54 sri it got some heavy optimizations
22:55 pink_mist so if one goes back to, say Mojo 3.0 or so? and checks what it looked like then? =)
22:56 sri https://github.com/kraih/mojo/blob/v4.0/lib/Mojo/Reactor/Poll.pm
22:56 sri 4.0 seems pretty reasonable
22:56 pink_mist nice =) thanks =)
22:58 stryx`_ joined #mojo
22:59 sri https://github.com/kraih/mojo/blob/v3.0/lib/Mojo/Reactor/Poll.pm
23:00 sri 3.0 is good too actually
23:00 sri between 3.0 and 4.0 we added the ->again method as an optimization for timers used for timeouts
23:00 sri since it's way cheaper to restart a timer than to set a new one
23:01 sri not really an essential feature
23:01 Grinnz arcanez: influxdb looks interesting, how is it to use?
23:02 Grinnz i'm sort of trying to decide on what technology could help us at $job with our scalability which currently isn't great for some thing
23:02 Grinnz things
23:03 Phil21 influxdb doesn't scale
23:03 sri 3.0 also has a bonus simpsons quote :)
23:03 Phil21 graphite with bucky tools is better imo
23:03 Phil21 influxdb works great, but doesn't have clustering which is kinda what everything is missing
23:03 Phil21 and by clustering I mean things like "we had a node down for 4 hours, it rejoined and now it's missing data" type of stuff
23:03 ccakes i'm currently pushing everything into a big cassandra cluster at work, i've been meaning to look at influx as an alternative
23:04 ccakes seems better suited but haven't looked into how it handles situations like that
23:04 Phil21 the biggest time series deployment I know of uses opentsdb and hdfs
23:04 Grinnz time-series data is one of our biggest bottlenecks right now but i'd essentially have to convince the other team to use it to begin with, our app is only the consumer
23:06 sri Phil21: wait, but with hdfs you have a single point of failure too
23:06 Phil21 hmm?
23:06 Phil21 hdfs is a cluster filesystem
23:07 Grinnz cassandra was something we've considered for more general use, but havent looked into it much
23:07 sri it's been some time since i looked into hadoop, but i studied the design a bit a few years back when i was thinking about porting some of it to perl
23:07 sri as far as i remember the metadata was kept on a central node
23:08 sri namenode?
23:08 stryx` joined #mojo
23:08 Phil21 sri: yeah, it was "fixed" in 2.0
23:08 sri ah
23:10 Phil21 afaik it's still not great, but I haven't messed with it much
23:10 sri http://hadoop.apache.org/docs/r3.0.0-alpha1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#NameNode_and_DataNodes
23:10 sri still only mentions a single namenode
23:11 Phil21 yeah, you HA the namenode
23:11 Phil21 https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html
23:11 sri eww
23:12 Phil21 it's not great, but as far as clustered file systems go that's kinda up there on the wants list vs. needs :)
23:12 sri man, i liked riak so much more, too bad it never went anywhere
23:12 Phil21 it all sucks, just differently
23:12 arcanez Grinnz: it's dead simple to use.. once you get used to tagsets and fieldsets
23:14 arcanez mmm, grafana supports OpenTSDB.. that was another I wanted to look at, but haven't yet
23:15 Phil21 it's been a while since I messed with distributed filesystems, wonder how much ceph still sucks :)
23:15 sri and i'm still upset with apple for buying foundationdb and keeping it to themselves
23:15 stryx` joined #mojo
23:16 sri the one database that aced the jepsen tests
23:17 arcanez DO uses Prometheus.. guy giving the presentation doesn't seem to like OpenTSDB
23:19 Phil21 yeah premetheus is the new one I haven't spent much time on
23:20 Phil21 but when I looked at it a couple months ago - still the same problem :) everyone ignores the whole cluster requirement
23:20 Phil21 we're pretty happy so far with graphite using buckytools to balance clusters
23:20 Phil21 but we only do about 450k/sec ingest
23:24 jberger sri: we haven't added quotes to newer classes, we might need to add a few more sometime, when we're bored
23:25 sri we might
23:25 sri some classes deserve it
23:27 sri look at that, riak does time series now http://basho.com/products/riak-ts/
23:28 jberger and yes, that's the reactor I remember, which makes sense since I showed up early 3.x and was added to the core team late 3.x
23:28 jberger starting to actually feel like a while ago
23:37 itaipu joined #mojo
23:48 arcanez haven't seen much mention of riak-ts

| Channels | #mojo index | Today | | Search | Google Search | Plain-Text | summary