Tuesday, 2014-10-21

*** amitgandhinz has joined #openstack-zaqar00:53
*** amitgandhinz has quit IRC00:56
*** amitgandhinz has joined #openstack-zaqar01:18
*** amitgandhinz has quit IRC02:30
*** exploreshaifali has joined #openstack-zaqar02:59
*** exploreshaifali has quit IRC03:12
*** amitgandhinz has joined #openstack-zaqar03:41
*** amitgandhinz has quit IRC03:45
*** jeffrey4l has joined #openstack-zaqar04:02
*** exploreshaifali has joined #openstack-zaqar04:05
*** bradjones has quit IRC04:05
*** bradjones has joined #openstack-zaqar04:07
*** vkmc has quit IRC04:21
*** exploreshaifali has quit IRC04:53
*** exploreshaifali has joined #openstack-zaqar05:37
*** sgotliv_ has joined #openstack-zaqar05:43
*** reed has quit IRC05:47
*** prashanthr_ has joined #openstack-zaqar05:48
*** flaper87|afk is now known as flaper8706:39
exploreshaifaliflaper87, goooood morning :)06:40
flaper87exploreshaifali: gooooooood morning06:42
flaper87exploreshaifali: I'm reading your last comments on that document06:42
exploreshaifaliflaper87, I am not clear how will we split planes without having two modules06:43
exploreshaifalias you said only to have management and keeping messages as it is06:43
flaper87exploreshaifali: so, first of all, I think you've a small confusion between modules and packages06:44
flaper87all `.py` files are modules, folders with `.py` files in it are packages06:44
exploreshaifaliok06:45
flaper87That said, we do need a management.py module06:45
flaper87not sure if that's the best name but anyway06:45
flaper87I don't think, however, that we need to rename the message.py module at all06:45
flaper87With regards to the config options, we just need to split them in 2 separate variables in options.py and then have them registered in their respective config groups06:46
flaper87see https://git.openstack.org/cgit/openstack/zaqar/tree/zaqar/queues/storage/mongodb/options.py#n9306:46
exploreshaifaliokay messages.py "module" is fine06:46
flaper87Does that help06:46
flaper87?06:46
exploreshaifaliflaper87, we will be having two packages?06:47
exploreshaifaliadding two packages inside mongodb?06:47
wpfflaper87:  would you please help to check https://review.openstack.org/#/c/128815/ again when you are free. thanks06:51
flaper87exploreshaifali: I don't think so, why do you think we need 2 packages?06:53
flaper87wpf: sure thing06:53
exploreshaifaliflaper87, to split both planes it will be better to keep them separate in diff packages06:58
exploreshaifalitotal modularity06:58
exploreshaifalielse how will we divide the code for both places separately06:59
exploreshaifaliflaper87, ^07:20
*** AAzza_afk is now known as AAzza07:20
exploreshaifali*planes07:21
flaper87exploreshaifali: wait, again, we are talking about modules here, not packages07:34
flaper87we just need 1 more module for the management code07:35
flaper87we don't need an extra package07:35
exploreshaifaliflaper87, then how will we divide drivers.py07:35
exploreshaifalithe same file contain drivers info for control and data planes07:36
exploreshaifaliI though we need to split it also07:36
exploreshaifalido we?07:36
flaper87yes, that's what the new management module in each storage backend is for, right?07:37
flaper87exploreshaifali: ^07:37
exploreshaifaliflaper87, if we look at https://github.com/openstack/zaqar/blob/master/zaqar/queues/storage/mongodb/driver.py07:39
exploreshaifalithere is one _connection function07:39
exploreshaifaliand two classes07:39
exploreshaifaliDataDriver and ControlDriver07:40
exploreshaifaliI thought we will be needed to split drivers.py such that DataDriver class will be in message package07:40
exploreshaifaliControlDriver will be in management package and _connection will be in the same package where it is07:41
flaper87exploreshaifali: package != module07:41
exploreshaifaliyes07:41
exploreshaifaliI thought for packages07:41
flaper87We don't need another package, we just need another module07:42
exploreshaifaliinside those package we will be having driver.py07:42
exploreshaifaliokay07:42
exploreshaifaliso just needed to create module and put whole management stuff indise it?07:42
exploreshaifaliand all messages inside the exisiting messages?07:43
flaper87yup07:44
exploreshaifaliflaper87, so there will be not much change in directory structure07:45
exploreshaifaliit will be just adding one more module07:45
exploreshaifaliflaper87, also need to discuss regarding database spliting07:46
exploreshaifali*splitting07:46
*** flwang1 has joined #openstack-zaqar07:46
flwang1flaper87: ping07:47
flaper87flwang1: pong07:51
flwang1flaper87: are you in a travel?07:51
flaper87exploreshaifali: what's up with the database splitting?07:51
flaper87flwang1: just got back07:51
flaper87flwang1: I mean, my head is definitely somewhere else07:51
flaper87but I'm used to that07:51
flwang1flaper87: let me grab your brain back07:52
*** jeffrey4l has quit IRC07:52
flwang1flaper87: I noticed the queue metadata was rever07:52
flwang1revert07:52
flwang1and I saw the commit message said we got some feedback said it's bad idea to remove queue07:53
flwang1flaper87: so i'd like to know what's the direction as for this?07:53
flaper87flwang1: I'm still not 100% convinced but we can keep it for v1.1 and then discuss that better07:54
flwang1I mean based on current feedback of zaqar, obviously we can't avoid being compared with SQS/SNS(and I believe that's the original goal of this project)07:54
flaper87That said, the current direction is: Queue's are lazily created and the metadata is part of the queue07:54
flaper87so, there's no separate endpoint for the metadata07:54
flwang1so should it be kept the queue in the long run to avoid confusion?07:55
flaper87Those are the 2 things I'm not convinced: 1. the existence of a queue, 2. the need of metadata07:55
flaper87I'd like to propose removing the queue entirely (as I've already done) and allow people to create metadata's for specific topic as part of the management API07:56
flaper87That is, you'd create per-topic configs07:56
flwang1but if we want to provide the queuing service, I think queue is a key resource from the user perspective07:56
flaper87instead of queues with metadata07:56
flaper87flwang1: Have you read this? http://blog.flaper87.com/post/people-dont-like-to-queue-up/07:57
flaper87flwang1: I sumed up my thoughts about 'queue' as a resource there07:57
flwang1flaper87: i think i have read it, but I may need revisit07:57
flaper87At the very end 'queue' is just a way to group messages together with a specific order and properties07:58
flwang1IMHO, queue is a like a container which is persistent, between two components07:58
flwang1so seems the term 'topic' we prefer is trying to do the similar thing like 'queue' in zaqar world, right?07:59
*** prashanthr_ has quit IRC08:00
flaper87flwang1: exactly, a queue is just a bucket. My ultimate wish would be to completely get rid of that and use topic as a tag for grouping messages together08:00
flaper87or you can call it queue name, if you wish08:00
flaper87Same properties, the only difference is we won't have a queue as a first citizen resource08:01
flaper87nor the need to have records for it in the storage08:01
flaper87(well, depending on the storage)08:01
flaper87flwang1: btw, as promissed, I published this last week: https://review.openstack.org/#/c/129192/08:01
flwang1flaper87: cool, I'm investigating SNS recently08:02
flwang1flaper87: btw, I'm going to create a spec about supporting policy for zaqar08:02
flaper87flwang1: great, I don't think that spec is "complete", any feedback is welcome. Also, feel free to take over if you want08:03
flaper87flwang1: oh, please do!08:03
flaper87I'd like to see that happening too08:03
flaper87brb08:03
flwang1flaper87: I don't understand why we miss that since it's a common requirement for a queue service, the worker can only write message, but the consumer can only read the message, make sense?08:04
*** jeffrey4l has joined #openstack-zaqar08:05
flaper87flwang1: we didn't miss it, we just didn't (don't?) have enough people in the team to do everything08:15
flwang1flaper87: good reason :)08:15
flaper87flwang1: https://blueprints.launchpad.net/zaqar/+spec/marconi-rbac-support08:16
flaper87That was created september last year08:16
flwang1flaper87: cool, then I think my blueprint is dup08:17
*** prashanthr_ has joined #openstack-zaqar08:23
exploreshaifaliflaper87, just to be clear,  we will add DataDriver class from drivers.py into messages.py to have all messags code at one place, right?08:24
*** AAzza is now known as AAzza_afk08:26
exploreshaifaliBut if we will do so don't you think we will be again a mess08:27
exploreshaifaliputting different purpose code inside same file08:28
*** AAzza_afk is now known as AAzza08:28
*** openstackgerrit has quit IRC08:34
flaper87exploreshaifali: no, DataDriver stays in drivers08:34
flaper87why do you think we need to move it?08:34
flaper87:D08:34
*** openstackgerrit has joined #openstack-zaqar08:34
exploreshaifaliflaper87, and ControlDriver?08:35
*** jeffrey4l has quit IRC08:35
exploreshaifaliit will aslo be there in drivers.py08:35
exploreshaifaliright08:35
flaper87yes, likely08:36
*** jeffrey4l has joined #openstack-zaqar08:36
jeffrey4lflaper87, flwang1 pls review the bp/bli patches https://review.openstack.org/#/q/status:open+project:openstack/python-zaqarclient+branch:master+topic:bp/cli,n,z  when you are free. It has been there for a long time.08:36
flaper87I mena, base drivers could stay in drivers but we could also split them08:36
flaper87jeffrey4l: sure, will do this week08:37
jeffrey4lthx a lot.08:37
exploreshaifaliflaper87, ok then what will we put in management.py?08:38
flaper87exploreshaifali: the implementations of those base classes that are part of the storage packages08:38
flaper87mongodb/management.py08:39
flaper87redis/management.py08:39
flaper87sqlalchemy/management.py08:39
flaper87etc08:39
exploreshaifaliflaper87, by implementation you mean creating instances of these base classes to get work?08:40
exploreshaifaliflaper87, ^08:44
flaper87exploreshaifali: yes08:49
exploreshaifaliflaper87, hmmm..... fine now :)08:49
exploreshaifaliflaper87, and now lets discuss for databases splitting08:50
exploreshaifaliqueues collection inside zaqar_queues is I think should be kept intact08:50
exploreshaifaliit just contain deatils of queue08:50
flaper87I don't think we need to change anything with regards to the database connection. What we need to do is make sure the right configs are loaded, the rest should just work08:52
*** bradjones has quit IRC08:53
exploreshaifaliflaper87, exactly I was also unable to think any change for databases08:53
*** bradjones has joined #openstack-zaqar08:53
flaper87exploreshaifali: ok08:53
exploreshaifaliflaper87, now about backward compatibility08:53
*** prashanthr_ has quit IRC09:37
*** jeffrey4l has quit IRC09:49
*** AAzza is now known as AAzza_afk10:00
*** jeffrey4l has joined #openstack-zaqar10:08
exploreshaifaliflaper87, have write down the steps in doc, please have a glance and tell me if any modification is needed10:13
exploreshaifalitimeline need to be changed once you approve the steps to follow10:13
*** prashanthr_ has joined #openstack-zaqar10:33
*** exploreshaifali has quit IRC10:34
*** bradjones has quit IRC10:45
*** bradjones has joined #openstack-zaqar10:46
*** prashanthr_ has quit IRC10:49
*** prashanthr_ has joined #openstack-zaqar10:49
*** prashanthr_ has quit IRC10:55
*** exploreshaifali has joined #openstack-zaqar11:02
*** malini|afk is now known as malini_znc11:08
*** prashanthr_ has joined #openstack-zaqar11:09
*** prashanthr_1 has joined #openstack-zaqar11:17
*** prashanthr_ has quit IRC11:21
*** prashanthr_1 has left #openstack-zaqar11:22
*** malini_znc has left #openstack-zaqar11:24
*** malini has joined #openstack-zaqar11:24
*** malini_znc has joined #openstack-zaqar11:24
*** flwang1 has quit IRC11:37
*** flwang1 has joined #openstack-zaqar11:37
*** flaper87 has quit IRC11:40
*** flaper87 has joined #openstack-zaqar11:40
*** AAzza_afk is now known as AAzza11:53
*** flwang1 has quit IRC12:03
*** flwang1 has joined #openstack-zaqar12:08
*** vkmc has joined #openstack-zaqar12:35
vkmcmorniiiiiiiiiiiiiiiiiiiiing12:42
*** exploreshaifali has quit IRC12:45
flaper87vkmc: gooooooooooooooooooooooooooooooood morning, girl!12:51
vkmcflaper87, good morning dud!12:52
*** jchai has joined #openstack-zaqar12:52
*** malini has quit IRC12:59
*** malini_znc is now known as malini|afk13:00
riveterflaper87, do you have a minute to talk about opw?13:11
*** sriram has joined #openstack-zaqar13:14
*** mpanetta has joined #openstack-zaqar13:15
vkmcriveter, hey there! are you interested in applying for the next round?13:18
riveteryup13:19
vkmcriveter, have you already did your initial contribution?13:19
riveterit's under review13:19
vkmcoh ok13:19
vkmcand now you are writting your application?13:19
riveteryeah, and I'm a little stumped on the schedule question13:20
riveterI haven't talked much with flaper about what needs to be done13:20
riveterthe task is to separate the data and control planes13:20
vkmcthats ok13:20
riveterwhere is this a problem?13:20
riveter(I've seen exploreshaifali's conversations about the config options and the storage drivers)13:21
riveterbut apart from splitting messages.py I'm not clear on what needs to be done13:21
vkmcwell, there is no summary of the changes needed to be done13:23
riveteryup :)13:23
riveterif there were I wouldn't be bugging flaper about it :D13:23
vkmcthat task will require a lot of work and digging into Zaqar's code13:23
vkmchaha13:23
vkmcsure thing13:23
riveterhm, so you figure it's ok to just say tbd on the application form?13:23
vkmcwell, you can abstract a bit about the task right now13:25
vkmcfor your internship you will need to learn about Zaqar's architecture13:25
vkmc(that's an item, probably you will need one week)13:25
riveterheh, good point13:25
riveterI have done a tutorial and poked through the codebase some13:26
vkmcmore related to your task... you will need to dig into the transport, check which controls are done there and if they belong to the plane they should belong13:26
vkmcthen do the same for the storage13:26
riveteryeah13:27
riveterI guess I was wondering if there was a list of problem points, but it sounds like determining that is part of the job13:27
vkmcyeah, the application doesn't need to be very precise about the changes you have to do13:29
riveterok13:29
riveterthanks, that's helpful13:29
riveteris flaper generally around?  I've been working on openstack since monday and have had very little contact with him13:29
vkmcnp, probably he will give you more pointers when he is back13:30
riveterI'm a little concerned about how a mentorship would work under those circumstances13:30
vkmcwell, he was on a conference last week13:30
vkmcgenerally he is around :)13:30
riveterah ok, that makes sense13:30
vkmceven though, this kind of internships expect you to be able to work by yourself and interact with the community (as we are doing now!)13:31
riveteryeah, totally :)13:32
vkmcyour mentor is important too of course13:32
vkmcbut is ok if he is not always around13:32
riveterspeaking of, if anyone's got time to look at my patch that'd be awesome13:32
vkmccan you provide a link for it?13:32
riveteryeah, hold on a sec13:32
riveterhttps://review.openstack.org/#/c/129109/13:33
riveterit does have a couple suggestions already that I'm going to do this afternoon13:33
riveterbut they are not complete reviews, so I don't know whether it'll be mergeable after I do them13:34
vkmccool thanks13:34
vkmcoh yes, I remember reviewing it last week13:35
vkmcI didn't add my comments though13:35
vkmcdon't worry if it doesn't get merged by tomorrow though13:35
riveterisn't that a requirement?13:35
vkmcnope13:35
riveterI've been kicking myself for leaving it so late13:35
vkmcyou already did your contribution13:35
riveteroh man13:36
riveterwow13:36
vkmcreviewing generally takes some time13:36
vkmcso we consider that13:36
riveterthat's a load off my mind13:36
vkmchaha13:36
vkmcyeah I though so! that's why I'm telling you this :)13:36
vkmcnow focus on your application13:36
riveterwell, I'd still like to get it in as soon as possible13:36
vkmcsure, it makes sense13:36
riveterI wanted to do a couple bugfixes before the internship starts13:36
vkmccool!13:36
vkmcthat would be great13:37
riveterok, thanks so much for your help, I feel much better now13:37
vkmcno problem riveter13:37
vkmcbtw, I'm a former OPW intern13:38
vkmcand current Zaqar dev13:38
riveteroh no kidding?13:38
riveterthis summer?13:38
vkmcso :) if something comes up about anything of those, don't hesitate on pinging me13:38
vkmcheh no, winter 201313:38
vkmcthis summer I participated in GSoC13:39
riveterfor zaqar again?13:39
vkmcfirst time for Horizon, second time for Zaqar13:39
riveternice13:39
riveteropenstack has a lot of interesting projects, I wasted some time dithering over which one to do13:40
vkmcit does yeah!13:40
vkmchaha well, the important thing is that you made up your mind for Zaqar ;p13:40
vkmchaha13:40
riveterok, I gotta go13:41
vkmcsure, ttfn!13:41
riveteryeah see you around :D13:41
flaper87o/13:42
*** ametts has joined #openstack-zaqar13:42
*** malini has joined #openstack-zaqar13:45
*** exploreshaifali has joined #openstack-zaqar13:58
*** cpallares has joined #openstack-zaqar14:02
*** amitgandhinz has joined #openstack-zaqar14:15
*** bradjones has quit IRC14:16
*** reed has joined #openstack-zaqar14:26
*** bradjones has joined #openstack-zaqar14:28
*** bradjones has joined #openstack-zaqar14:28
*** bradjones has quit IRC14:37
*** kgriffs|afk is now known as kgriffs14:42
*** mpanetta has quit IRC14:42
*** mpanetta has joined #openstack-zaqar14:42
*** reed has quit IRC14:43
*** reed has joined #openstack-zaqar14:43
vkmcflaper87, any reason you encapsulate messages in a list here? https://github.com/openstack/python-zaqarclient/blob/master/zaqarclient/queues/v1/queues.py#L108-L10915:06
vkmcif you remember15:06
flaper87LOL, remember,  yeah right!15:07
vkmcmaybe a gummy bear will help you to remember15:08
flaper87vkmc: damn, I do remember15:08
* vkmc slightly slides a red gummy bear15:08
vkmcit worked15:08
vkmclol15:08
flaper87That's because `messages` is overloaded there. You could either post 1 message or many15:08
vkmcok15:08
flaper87self.post(dict())15:08
flaper87or self.post([dict])15:08
vkmca change in the API broke that15:09
flaper87so, if it's not a list, we assume there's just 1 message15:09
flaper87o.O15:09
flaper87what change?15:09
vkmcFYI :p15:09
vkmchahaha15:09
flaper87damn, I need to fix this goddamn client gate15:09
vkmcthis one https://review.openstack.org/#/c/108795/15:10
vkmcnow you have to add the 'messages' in the json object15:10
flaper87I knew it was kgriffs fault, I knew it15:10
flaper87:P15:10
vkmcalways kgriffs!15:10
vkmchaha15:10
vkmcok, I'm fixing that15:10
flaper87wait, that's just for the response15:10
kgriffslol15:10
flaper87?15:10
vkmcwhat do you mean with that?15:11
vkmcthat is for the post request15:11
* kgriffs returns to reviewing Rose's patch15:11
flaper87vkmc: nvm, I should've read the commit message15:12
flaper87:P15:12
vkmchaha ok15:12
vkmcok so now we will have15:12
flaper87vkmc: make sure you keep compatibility with v1.0, please15:12
vkmc{'messages': {1..*}}15:12
vkmcflaper87, cannot guarantee that, I want my Rally benchmark to work only15:13
flaper87vkmc: yup15:13
vkmckidding15:13
flaper87vkmc: >o15:13
vkmcis that some kind of face?15:13
flaper87TBH, I've no idea15:13
flaper87:P15:13
flaper87a duck ?15:13
flaper87a duck looking to the left15:14
flaper87>O15:14
vkmcyup, I can see that now15:14
vkmcduck!15:14
vkmchahaha15:14
flaper87but I just made it up15:14
flaper87:D15:14
vkmcgood good, Zaqar is a creative place15:14
vkmcwe write code and draw ascii ducks15:15
flaper87damn, I think I'll be a bit late to our meeting today. I'm pretty sure you all hate me15:20
vkmcI'll be too now that you mention15:20
vkmcbut I was waiting for someone else to say that so the hate is not targeted :p15:21
flaper87vkmc: A-HA! I knew it!15:24
flaper87you just want me to take blames15:24
flaper87>.>15:24
vkmc>O15:24
flaper87worst case scenario, we'll do it tomorrow. We just need like 15/20 mins to agree on the topics15:24
flaper87stop ducking15:24
flaper87or I'll throw you a penguin15:25
vkmc:o15:25
vkmcI want a penguin15:25
vkmcIIRC you are the only one affected by the timezone15:26
flaper87you don't want the one I'll throw on you if you keep ducking15:26
vkmchaha15:26
*** exploreshaifali has quit IRC15:32
*** AAzza is now known as AAzza_afk15:43
*** jchai is now known as jchai_afk15:59
*** AAzza_afk is now known as AAzza16:01
*** jchai_afk is now known as jchai16:02
*** flwang1 has quit IRC16:15
*** exploreshaifali has joined #openstack-zaqar16:20
*** sgotliv_ has quit IRC16:46
*** AAzza is now known as AAzza_afk16:51
*** AAzza_afk is now known as AAzza16:52
*** sgotliv_ has joined #openstack-zaqar17:00
*** ametts has quit IRC17:01
*** sgotliv_ has quit IRC17:13
openstackgerritVictoria Martínez de la Cruz proposed a change to openstack/python-zaqarclient: Adds encapsulation control to the client  https://review.openstack.org/12998817:31
*** cpallares has quit IRC17:31
vkmcflaper87, ^^17:32
vkmcpleeeeeeeeease17:33
*** exploreshaifali has quit IRC17:41
riveterkgriffs, should error really be documented in the class docstring?  It's not meant to be used externally17:45
riveter(and thanks for the review :D )17:46
*** AAzza is now known as AAzza_afk17:51
*** cpallares has joined #openstack-zaqar18:01
*** AAzza_afk is now known as AAzza18:02
*** sgotliv_ has joined #openstack-zaqar18:16
*** exploreshaifali has joined #openstack-zaqar18:18
kgriffsriveter: oh, good point18:35
kgriffs(about the docstring)18:35
kgriffshmmm18:35
kgriffsso, couple things18:36
kgriffswe could just put it in a regular comment18:36
kgriffson the other hand, what does "external" mean?18:36
riveterits only use is to save me from typing the whole lambda expression 3 times in the dict immediately below it18:36
kgriffsthe audience for RoutingController is actually zaqar contributors/devs so in a way it makes sense to document that in the docstring18:37
riveteroh, that does kinda make sense18:37
riveterare _private methods usually included in the docstring?18:37
kgriffsthe class docstring usually doesn't mention methods - docstrings for those are attached directly to each method. By default, when generating docs via sphinx, methods starting with an underscore are not included in the RST18:39
riveterhm18:39
riveterwell, my inclination would be to just use a comment18:40
riveterbut I can do a docstring if you think it's better18:40
kgriffsgenerally speaking, the class docstring is used to document variables and the __init__18:40
riveterok, fair enough18:40
riveterit is kind of weird code :)18:40
riveterah, the other thing was lambdas for returning lists18:41
kgriffsI think it would be good to put the class variables in the docstring; that way you don't have to keep typing lots of #'s. And otherwise, I don't think it will cause harm.18:41
riveterok, will do18:42
riveterdo you have time to talk about the lambdas or should I respond on the review page?18:42
kgriffswe can chat now18:43
riveterok18:43
riveterso initially I had it as you suggested18:43
riveterbut I ran into errors with the iter()18:43
kgriffswhat kind of errors18:43
riveterand eventually realized that {"foo": iter()} creates a single iterator which is given to the first client who calls the method18:43
kgriffs?18:43
riveterso subsequent calls were throwing an exception18:44
kgriffsooooooooh18:44
riveteryou see what I mean?18:44
* kgriffs facepalm18:44
riveteryeah18:44
riveterthe lists didn't actually trigger any test errors but I figured they could have the same problem18:44
riveterif the client calls append or something18:44
kgriffsyeah, that's a good point18:45
riveterinstead of the lambdas I could copy the value in the dict & return that each time18:45
riveterit would make the code a little prettier but I'd be calling copy on all the return values, including the ones like None that don't need it18:45
riveterwasn't sure if that would be acceptable or not18:45
riveterI was already checking if the return value was callable so I just used moar lambdas18:47
riveterbecause most of life's problems can be solved with moar lambdas :D18:47
kgriffscalling the lambda is actually a little faster than copy.copy18:48
riveteryeah, I know18:48
riveterjust ugly18:48
kgriffsyou know?18:48
riveterI figured maybe speed was the priority here18:48
* kgriffs thinks riveter is pretty awesome18:48
riveter*I figured18:48
riveterwould not have bet my life savings on it18:48
kgriffsheh18:48
riveteryou can keep thinking I'm awesome though, that's fine18:49
* kgriffs does that18:49
riveter:D18:49
kgriffsok18:49
kgriffslet me check something18:49
kgriffsbrb18:49
rivetersure18:49
*** mpanetta has quit IRC18:49
kgriffsoh, interesting18:50
kgriffslambdas have gotten faster in recent versions of 2.7.x18:51
kgriffshmmm18:51
kgriffsOK, lambdas it is!18:52
rivetermoar lambdas!18:52
kgriffshowever18:52
kgriffsMOAR!!!!18:52
riveterhehe18:52
riveterwhat's the however?18:52
kgriffsoh, I was just going to suggest that you add a little note next to one of the times you use that pattern, explaining why it is necessary18:53
kgriffs(for posterity)18:53
riveteryeah fair enough18:53
riveterI did put a little note up in __attr__ but I will add notes in each of the subclasses, because the code is wtf enough to deserve a note18:54
kgriffs:D18:54
riveterI'll also maybe just wrap everything in a few more layers of lambdas18:54
riveterthey're fast, so that should improve performance significantly18:54
kgriffsyeah, someone else might be curious about it later and would appreciate the note18:55
kgriffsriveter: yeah, I think the more times you wrap, the faster it gets.18:55
kgriffspretty sure.18:55
riveterok, I should have v2 up by tonight18:55
riveterpossibly with a lambda that takes a lambda and wraps it in an infinite list of lambdas18:56
kgriffscool, sounds good. thanks for working on this! your solution is pretty impressive.18:56
* kgriffs continues thinking riveter is teh awesome18:56
kgriffsriveter: lambda-ception18:56
riveter:D thanks, I think it's pretty hacky, but I *do* like having my awesomeness acknowledged18:57
* kgriffs finds it interesting that one movie was able to better explain to the world what recursion is than could legions of CS professors over the years18:57
* riveter is looking forward to nolan's take on monads18:58
kgriffsriveter: well, sometimes you have to do something a little hacky. I'm not sure there is a better way to do it in this case.18:58
riveterI feel like maybe there's a way to just use inheritance18:59
riveterbut that would involve rearrangements that are above my current paygrade19:00
riveterI'm just going to put some comments on this one and call it a day for now :)19:00
riveterer, this evening, not right now19:00
riveterI gotta go, thanks for your help!19:01
*** exploreshaifali has quit IRC19:04
kgriffsttyl!19:06
*** kgriffs is now known as kgriffs|afk19:18
*** malini has quit IRC19:46
*** boris-42 has quit IRC19:59
*** sriram has quit IRC20:07
*** flwang1 has joined #openstack-zaqar20:11
*** kgriffs|afk is now known as kgriffs20:15
*** mpanetta has joined #openstack-zaqar20:23
*** mpanetta has quit IRC20:23
*** mpanetta has joined #openstack-zaqar20:24
*** sriram has joined #openstack-zaqar20:30
*** boris-42 has joined #openstack-zaqar20:32
kgriffsmeeting?21:00
flwangmeeting?21:01
flwang#openstack-meeting-3, right?21:01
flwangflaper87: ?21:02
*** sgotliv_ has quit IRC21:04
kgriffsit would seem our fearless leader is indisposed at the moment. :(21:05
flwangkgriffs: LOL21:06
flwangkgriffs: let's wait him 5 mins21:06
*** sriram has quit IRC21:13
*** mpanetta has quit IRC21:18
*** sgotliv_ has joined #openstack-zaqar21:21
ekarlsoflaper87: is hiding :D21:49
*** jchai has quit IRC21:53
*** AAzza is now known as AAzza_afk21:56
*** sgotliv_ has quit IRC22:25
*** kgriffs is now known as kgriffs|afk22:27
*** amitgandhinz has quit IRC22:31
*** X019 has quit IRC22:36
*** X019 has joined #openstack-zaqar22:48
*** kgriffs|afk is now known as kgriffs23:14
*** kgriffs is now known as kgriffs|afk23:24

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!