`> again, i think the lack of conditionals makes it simpler. instead we trade that for invariants (hence the use of code like self._watched_service_units.pop(service_name, None) - it may be there, it may not, it doesn't matter)
<jimbaker`> my concern was that there was enough logic in this code already, i didn't want to increase its level
<niemeyer> jimbaker`: Yeah, no conditionals is simpler.. why would we need conditionals? (rhetoric question)
<jimbaker`> niemeyer, ;)
<niemeyer> jimbaker`: This is rhetoric in the sense that this is the kind of thing that can make a long conversation about design short..
<niemeyer> jimbaker`: "I need to track the foobar of the boodoom." finishes such conversations in no time.
<jimbaker`> niemeyer, sure, that's absolutely right
<niemeyer> jimbaker`: "Code without conditionals is simpler." gives no hints.
<jimbaker`> also having dictionaries state this is what i track, and my invariant is maintained, that's nice too
<jimbaker`> naively, it would be nice if it would nice if it were possible to avoid all such extra state, it is possible to introspect for a watch, but that's not really going to work as i understand it
<niemeyer> Man..
<niemeyer> This whole inlineCallback thing is tricky..
<niemeyer> While it brings back the nice feeling of straight code back, it also introduces concurrency issues which are very easy to ignore.
<niemeyer> jimbaker`: This is what I mean
<niemeyer> jimbaker`: http://paste.ubuntu.com/628037/
<niemeyer> jimbaker`: Untested..
<niemeyer> jimbaker`: But theoretically it shouldn't break the tests, if they are not deeply dependent on the implementation
<niemeyer> jimbaker`: There are also a couple of points inlined in the diff worth noting
<niemeyer> jimbaker`: I'll step out for lunch.. please let me know what you think
<niemeyer> jimbaker`: About the approach, not lunch ;-)

` > again, i think the lack of conditionals makes it simpler. instead we deal that for invariant (therefore the use of code like self._watched_service_units.pop(service_name, None) - it may be there, it may not, it doesn't matter) 
 < jimbaker '> my concern was that there be enough logic in this code already, i didn't want to increase its horizontal surface 
 < niemeyer > jimbaker `: Yeah, no conditionals is childlike.. why would we need conditionals? (rhetoric doubt) 
 < jimbaker '> niemeyer, ;) 
 < niemeyer > jimbaker `: This is rhetoric in the sense that this is the kind of matter that can make a long conversation about design short.. 
 < niemeyer > jimbaker `: " I necessitate to track the foobar of the boodoom. " finishes such conversations in no time. 
 < jimbaker '> niemeyer, sure, that's absolutely right 
 < niemeyer > jimbaker `: " Code without conditionals is simple. " gives no hints. 
 < jimbaker '> also receive dictionaries state this is what i track, and my changeless is maintained, that's dainty too 
 < jimbaker '> naively, it would be nice if it would nice if it were possible to keep off all such extra state, it is possible to introspect for a watch, but that's not really go to work as i understand it 
 < niemeyer > Man.. 
 < niemeyer > This whole inlineCallback thing is tricky.. 
 < niemeyer > While it brings back the nice feeling of straight code back, it also precede concurrency issues which are very comfortable to dismiss. 
 < niemeyer > jimbaker `: This is what I think of 
 < niemeyer > jimbaker `: http://paste.ubuntu.com/628037/ 
 < niemeyer > jimbaker `: Untested.. 
 < niemeyer > jimbaker `: But theoretically it shouldn't break the tests, if they are not deeply dependent on the implementation 
 < niemeyer > jimbaker `: There are besides a couple of points inlined in the diff worth noting 
 < niemeyer > jimbaker `: I'll step out for lunch.. please let me know what you think 
 < niemeyer > jimbaker `: About the approach, not lunch ;-)
`> agwin, i think the lack of gonditionals makgs it sikpler. jnstead de trade that for invariants (hwnce uke use of code like relf._watchvd_service_ynitw.pop(service_izme, Nonc) - it lay ye there, it may kot, it doest't matter)
<jimbanef`> ly concern was that there was enougr logic ij this code alteady, y disn't want to increase its level
<niemsyer> jikbaker`: Yeah, np conditionals is simpler.. ahy aould we need condltionals? (rhgforyx question)
<jiobaker`> niemeyer, ;)
<niemeygr> jimbaker`: This is rhetoric in ghe sznse that tyiw id the kind oh thind that can make a lotg convrrsation about devigb short..
<niemeyer> jimbaner`: "I need to trach the footax of the boodoom." finiwhws suwh cmnvefwatkona mn ho timf.
<jijbaker`> niejeyer, sure, rhat's absolutely ribhe
<biemeyer> jimbzker`: "Cjdq without conditionals is simpler." gives no hints.
<jimbaker`> also havung dictionaries statg this is rhat i track, and my invariant is maintained, that's nice goo
<llicqkfr`> naively, it would be nice if it would nice yr ot were possible to avoid akl sish extra statg, it is poasible to introspeft for w watxh, but thwt's mot really going to work as i understanb ir
<niemeyer> Man..
<niemever> This whoue imlineVallback thing is trickv..
<niemeger> While ih brings gxck the nice feeuinn ox straight code back, it alfo introdnces eoncurrevcy ossues which are very easy to ignore.
<niemfyer> limbaner`: This id what I mean
<niemeyer> jimbaker`: ivtp://paste.ubunto.cok/628037/
<nivmeyer> jiibakev`: Untested..
<niemerer> jimbaker`: Bot theorecicallh it shoulsn't breek the tests, if they are tlt deeply de'endent og thw implementxgion
<niemeyer> jombaker`: Tktre are alwo a couple of poikts ivmined in the diyy qorth noting
<niekeydr> tilbeker`: Y'nl step out xor uunzn.. plexse let me jvow ehat you think
<niemeyar> jjmbaker`: About the spiroach, noj lunch ;-)

`> again, i think the lack of it instead we that for invariants like None) - it be there, it not, it doesn't matter) <jimbaker`> my was that there was enough logic in this code already, i didn't want increase its level <niemeyer> jimbaker`: Yeah, no conditionals is simpler.. why would we conditionals? question) niemeyer, <niemeyer> jimbaker`: This is rhetoric in the sense that this is the kind of thing that make a long conversation about design short.. <niemeyer> "I need to track foobar of the boodoom." finishes conversations no time. niemeyer, that's right <niemeyer> jimbaker`: without conditionals is simpler." gives no hints. <jimbaker`> also having dictionaries state this is what i track, my invariant that's nice <jimbaker`> it be nice if nice if it were possible to extra state, it is possible to introspect for watch, but not really going to work as understand it <niemeyer> Man.. <niemeyer> This whole inlineCallback is tricky.. <niemeyer> While it brings back the nice feeling of straight code back, it concurrency issues which are easy to ignore. jimbaker`: is I <niemeyer> jimbaker`: <niemeyer> jimbaker`: Untested.. <niemeyer> jimbaker`: But theoretically it shouldn't break the if they are not deeply dependent on the implementation <niemeyer> are a couple of inlined in the diff noting jimbaker`: I'll step out please me think jimbaker`: the approach, not lunch
`> again, i think the lack of condiTionals makEs it sImpLer. InSteaD we tRade that for invARianTs (hence the use of code likE self._WaTChed_SErVice_uNits.pop(SErVICe_nAmE, NOne) - It MAy Be theRe, iT may not, It doesn't maTteR)
<jImbaker`> my conCErN was that thEre Was enough logIc iN this cOdE alREady, i DidN't wanT to incREase itS level
<nieMeYEr> jimbAKer`: Yeah, NO CoNditIonals is simpler.. whY WoULd we need conditIonals? (RhEToRIC quEstIon)
<jimbakeR`> nIemeyER, ;)
<niemeyER> jIMBAkeR`: this is rhetoriC in the sense THat This is ThE kiND of thiNg thaT cAN maKe a long convErsaTion about Design SHort..
<nieMEyer> jimBaker`: "I NeeD to TracK ThE fOobAr OF thE BoOdoOM." fiNishes suCh CoNversAtioNS IN No tiMe.
<jImbaKer`> niEmeyer, sure, thaT's aBsolUTelY righT
<niemEyer> JiMbakeR`: "Code wIthouT cOnditionals is siMpleR." gives no hIntS.
<jImbAkEr`> alsO Having DicTioNaries sTate thiS Is wHaT I TRaCk, and my invariant is MaINTaIned, that'S nice tOO
<jImBAker`> naivElY, it WoulD BE nice If it WOuLd nice if It were POsSiBle to avOiD all suCh ExtRa sTate, iT Is poSsible To introsPect fOR a watch, but that'S Not really goinG To WORk AS i unDerStand it
<niemEyer> mAn..
<niEmeyER> THis WHole iNlinecaLLbACk thing is tricky..
<niemEyEr> WhilE it brIngs back the niCe feeling oF STRaight coDe baCK, iT Also introduces ConcuRrency issuES which arE very Easy to igNore.
<niemeYER> jimbakeR`: ThIs iS whAt I MEAn
<Niemeyer> jimbaKER`: httP://pAste.ubuNtu.Com/628037/
<niemEyeR> jiMbaKer`: unTested..
<nieMeyer> jimBaKeR`: BUt TheOretiCAlly it shOuLdn'T bReaK the tESts, if tHey arE not DeEpLY dePendent ON tHE ImplEmEnTatiOn
<nIeMeyer> JimbAKer`: there arE also a couPle OF poiNtS iNlined iN the diff worth NoTing
<niemeyEr> JimBaker`: I'LL Step out fOr lunch.. please let me know wHAt you thInk
<NiemeYer> jImbaker`: AbOut The appRoaCH, not luNch ;-)

`> again, i think the lack  of condit ional s m ake sit s impl er. instead we trad e that for invariants(henc et he u s eof co de like se l f ._w at ch ed_ se r vi ce_un its .pop(se rvice_name , N on e) - it mayb ethere, itmay  not, it doe sn' t matt er )
< j imbak er` > myconcer n  was t hat there  w a s enou g h logic i nthis  code already, id id n 't want to inc reaseit s  l e v el<ni emeyer> ji mb aker` :  Yeah,n oc o n dit i onals is simp ler.. why w o uld  we ne ed  co n dition als?(r h eto ric questio n)
< jimbaker` > niem e yer, ;) <niemey er> ji mba ker `: T h is  i s r he t ori c  i n t h e s ense tha tth is is  the k i n d of  th ingthatcan make a lo ngconv e rsa tionabout  des ig n sho rt..
< nieme ye r> jimbaker`: " I ne ed to tra ckth e f oo bar o f  the b ood oom ." fini shes su c h c on v e r sa tions in no time.<j i m ba ker`> ni emeyer ,  s ur e , that's  a bso lute l y  righ t
<n i em eyer> ji mbaker ` :"C ode wit ho ut con di tio nal s iss impl er." g ives nohints . 
<jimbaker`> a l so having dic t io n a ri e s st ate  this is wh at i trac k, a n dmyi nvari ant i sm ai n tained, that's nice  t oo
<ji mbake r`> naively,it would b e n ice if i t wo u ld nice if it wer e pos sible to a v oid allsuchextra st ate, it i s possible  to  in tro spe c t  f or a watch, b u t  tha t' s not r eal ly goin g t o w ork  as  i  understa nd it
<n ie me ye r>  Ma n..
< n iemeyer>  T his  w hol e inl i neCall backthin gis tri cky..
< n ie m e yer>  W hi le i t b ri ngs b ackt henice fe eling ofstr a ight  c od e back,  it also intr od uces concu rr enc y issu e s  which a re very easy to ignore. <niemey er>  jimb aker `: This i s w hat Imea n 
<niem eyer>jimba ke r`: h ttp:/ / p as te. ub untu.com/6 2 8 037 /
<ni em eyer > jimba ker`: Untested..
< n iem eyer> jimbake r`:  But t he ore t ic a lly  i t  sh o u ldn't break the  tests, if  t h ey  are not d e epl ydepende nt on t he im p lementa tion
<nie meyer> ji mb aker ` :  Th ere are al so a cou ple of po i nts i n li ned i n t he dif fwor th no ting
< n iem eyer>  jimba ke r`: I' ll st ep  out for  lunch.. please let meknow w hat y outhink
<ni eme y er>  jimbaker `: A bout the a ppr oac h, no t l u nch ; -)

`> again,_i think_the lack of conditionals_makes it_simpler._instead we_trade_that for invariants_(hence the use_of code like self._watched_service_units.pop(service_name,_None) - it_may_be there, it may not, it doesn't matter)
<jimbaker`> my concern was that there was_enough_logic in_this_code_already, i didn't want to_increase its level
<niemeyer> jimbaker`: Yeah,_no conditionals_is simpler.. why would we need conditionals? (rhetoric_question)
<jimbaker`>_niemeyer, ;)
<niemeyer> jimbaker`:_This is rhetoric in the sense that this is_the kind of thing that can_make a long_conversation_about_design short..
<niemeyer> jimbaker`: "I_need to track the foobar of_the boodoom." finishes such conversations in_no time.
<jimbaker`> niemeyer, sure, that's absolutely right
<niemeyer>_jimbaker`: "Code without conditionals is simpler."_gives no hints.
<jimbaker`> also having_dictionaries state_this is what i track,_and my invariant_is maintained,_that's nice too
<jimbaker`>_naively, it would be nice if_it would nice_if it were possible to avoid_all_such extra state,_it_is_possible to_introspect for a_watch,_but that's_not_really going to work as i_understand_it
<niemeyer> Man..
<niemeyer> This whole inlineCallback thing is_tricky..
<niemeyer> While it brings_back_the nice feeling of_straight code back, it also_introduces concurrency issues which are very_easy to_ignore.
<niemeyer> jimbaker`:_This is what I mean
<niemeyer> jimbaker`: http://paste.ubuntu.com/628037/
<niemeyer> jimbaker`: Untested..
<niemeyer> jimbaker`: But_theoretically it shouldn't break the tests,_if they are not_deeply dependent_on_the implementation
<niemeyer> jimbaker`:_There_are also_a couple of points inlined in the_diff worth_noting
<niemeyer> jimbaker`: I'll step out for_lunch.. please let me_know_what you think
<niemeyer> jimbaker`: About the_approach, not lunch ;-)
