IRC Logs for #circuits-dev Wednesday, 2013-01-23

*** Osso has joined #circuits-dev00:02
*** Osso has quit IRC00:13
*** Osso has joined #circuits-dev00:42
*** marky1991 has quit IRC00:43
*** marky1991 has joined #circuits-dev00:44
prologicmarky1991, where's your dev brnahc?00:53
prologicare you wrking on wundows unit tests?00:53
prologicor python3 compat?00:53
prologicI created a sotry for python 3compat btw00:53
Ossoeven with the sleep01:07
Ossothe test still fails01:07
Ossooh ofc it fails it is the one that requires circuits to be in the python path01:15
prologicdid you not python develop?01:16
prologicis that why? :)01:16
Ossoyeah my circuits by default is not there01:17
prologicyeah that's going to cause some problems if it's not installed in any way :)01:17
*** marky1991 has quit IRC01:18
prologicso all tests pass now?01:18
prologicwhat do you think about my multi-app Gateway improvement(s) ?01:18
Ossonot playing nicely still01:29
Ossorunning the wrong python I thnk or something01:29
Ossooh right my fault01:30
Ossothis is what I get
prologicwhich test is failing there?01:33
prologicand I don't see how it's failing either01:33
Ossostill the same one01:33
prologic<Read[] ('Traceback (most recent call last):\n  File "/Users/osso/envs/circuits-dev/circuits-dev/tests/io/", line 3, in <module>\n    from circuits import Component, Event\nImportError: No module named circuits\n' )>01:37
prologicthis is still your problem I believe01:37
Ossolet me look why01:48
*** Osso_ has joined #circuits-dev02:07
Ossoactually it does not need to import circuits at all02:15
Ossowhy not just running echo "Hello World!" ?02:15
Ossoit passed once and now it is failing again!02:31
Ossowill check after eating02:47
*** Osso_ has quit IRC03:07
*** Osso_ has joined #circuits-dev03:28
prologicOsso, happy for that test to do something different03:44
prologicit's just the subprocess and communication that's being tested03:44
Ossoyeah I updated to use echo03:44
OssoI am just done eating03:44
OssoI am checking why it is failing03:44
prologicI'm building python 3.1 3.2 and 3.3 here03:48
prologicgoing to invest some time into pythonh 3 compat03:48
Ossothe _on_read of File() is never called04:19
*** Osso_ has quit IRC04:28
prologicOsso, really?04:40
prologicthen why does it pass here?04:40
OssoI am still tracking the problem04:40
Ossoit's adding the file to the pooler04:41
Ossothen removing it04:41
Ossobefore any polling is ever done04:41
Ossowhat is generating the Close() events ?04:44
Ossook stopped is called before even opening the File() objects04:45
prologicClose if fired once EOF is reached I think04:46
Ossoor maybe not04:52
Ossowell my process exits with return code 004:53
Ossowhich makes sense04:53
Ossobut the open happens later04:53
Ossobefore firing stop we need to wait for the fd to be checked for reading05:03
OssoI made this
Ossonow the test passes05:24
Ossobut it is a bit ugly05:24
Ossoit gives a way to know that the File() was open then closed05:25
prologicand it works ok?05:32
Ossoit works yes05:37
Ossobut I think we can bind some handlers to Close()05:37
Ossoand store the state in our process object05:38
Ossomaybe ?05:38
Ossothe channel is dynamic though05:39
prologicI wonder whether any of this matter05:40
prologicbecause it makes sense for a process to terminate before it's pipes are closed05:40
prologicI guess05:40
prologiccan we write a better test instead?05:41
OssoI don't think it makes sense05:44
Ossoour test is a typical use05:44
Ossoyou run your program and you want its output05:44
prologicthen your extra flag idea is fine I think05:45
Ossoyou don't want to loose any05:45
prologicsorry I think I'm getting too tird05:45
prologicI'm coming down with a cold or something :/05:45
prologicmight go to bed instead of staying up late tonight to feed Alice05:45
Ossooh no!05:48
Ossooh the test passes but there's some closed close loop05:49
Ossolet me fix that05:49
Ossohere we go05:52
Ossooh prologic I realised how I wanted the .handlers()06:08
OssoI don't want the strings, I want the actual function objects themselves06:08
Ossodoesn't that make more sense ?06:08
prologicI don't konw06:09
prologicwhat would you do with them?06:09
Ossoright I want to check the handlers bound to read06:10
OssoI am getting a key error while trying to do06:10
Ossobut the handler is not removed anywhere else06:10
prologicI've pushed a bunch of Python 3.1 fixes06:12
prologicyou need to store the reference .addHandler returns06:13
prologicand use that to pass to .removeHandler06:13
Ossonow I remember you saying that06:13
OssoI found a memory leak!06:15
prologicoh wow06:15
prologicwell done!06:15
prologicwhat is it?06:15
Ossowe were not calling removeHandler06:17
Ossoin process06:17
Ossothat's my 2nd take on making the test pass06:17
Ossothe take with a handler binding06:18
OssoI think it is looks better06:18
Ossoand does not touch file.py06:18
prologicpush it :)06:18
prologicso far so good with Python 3.1 and 3.206:19
prologicjust have to start running the test suite06:19
Osso(circuits-dev)aso circuits-dev $ hg pull --rebase06:24
Ossohg pull: option --rebase not recognized06:24
Ossomm it's an add-on ?06:24
prologicit is I believe06:26
prologicthe rebase extension06:27
prologicjust has to be enabled in ~/.hgrc06:27
prologichgext.rebase =06:27
Ossook pushed06:29
prologicsweet :)06:29
prologicand I now have Python 3.1/3.2/3.3 installed06:30
prologicjust about have my 3 python 3 envs setup07:03
prologichaha funny way of saying that07:03
mehereI use pythonbrew07:27
prologicsame on my macbook air07:29
mehereWhat do you think about adding a default error handler? When we build the handler list for Error, we could check whether there is no handler and, in that case, add a default hanldler? I have by now often run into some weird behaviour without getting any hint because the anything that raises an exception is converted to an error event which ins't displayed unless I explicitly define a handler07:32
mehereAfter half an houor I remember and restart with debugger and breakpointg on except in _dispatcher().07:33
prologicI see your point07:33
prologicalthough Debugger() can always be added regardless07:33
prologicbut configured like:07:33
prologicwhich would only watch for errors07:34
prologicand also configured to go to stderr or a logger07:34
mehereYeah, but point is: the user would have to do it.07:34
mehereI'd prefer to have messages as default and add an error if I don't want them to be displayed.07:35
prologiccan we just simply print the exception to stderr/?07:35
mehere"add an error handler"07:35
prologicor add Debugger() by default to any system07:35
mehereWe could, but what's bad about my proposal?07:36
prologicI suppose we could do what you suggested07:36
prologicadding a lower priority error handler07:36
mehereWould be like the FallbackGenerator07:36
prologiclower in priority then the Debugger one07:36
prologicok done :)07:36
prologicFallbackDebugger then?07:37
mehereI wouldn't add it to the hierarchy07:37
prologicoh okay07:37
prologicjust a single handler?07:37
prologicok nps07:37
prologicbut lower in priority then the Debugger() ?07:37
prologicso if the user did add in the Debugger it would take precedence and filter out the default?07:37
mehereDon't care about priority. It would be added only07:37
mehereif there is no other handler. So07:37
mehereeven having the Debugger would07:38
prologicsorry yes07:38
mehereprevent it from being added07:38
prologiccompletely with you now :)07:38
prologicyup yup07:38
prologicgo for it!07:38
prologicthat would also add in my Python 3 efforts07:38
*** Osso has quit IRC11:43
*** Osso has joined #circuits-dev14:05
*** Osso has quit IRC15:05
*** Osso has joined #circuits-dev15:06
*** marky1991 has joined #circuits-dev15:50
marky1991oh, am I supposed to create a public branch?15:51
marky1991That makes sense on second thought.15:51
marky1991I've currently postponed efforts to make windows tests pass.15:51
marky1991For now I'm just working on making the tests pass on python3 on linux.15:52
marky1991Then once those failures are handled, I'll handle making python3 pass on windows.15:52
marky1991trying to do both at once just makes for a confusing mess.15:52
marky1991I'll try and post my branch publicly either tonight or tomorrow.15:52
marky1991oh wow15:56
marky1991python develop is so much ,more convenient than doing install every time I make a modification15:56
marky1991i didn't know that mode existed15:56
*** Osso has quit IRC16:06
prologicmarky1991, hey17:47
prologicI've been working on Python 3 compat last night17:47
prologicgot most of circuits working with Python 3 now17:47
prologic3.1 3.2 and 3.317:47
prologichaven't run any tests yet - have had problem getting virtualenv to setup an environment properly17:47
prologicbut so far so good17:47
prologicand yes17:48
prologicit would be useful if you could get an account on bitbucket17:48
prologicand fork circuits-dev from me17:48
prologicand push/pull regularly :)17:48
prologicI've also decided it would be a good idea to incorporate the six module for Python 2/3 compat17:49
prologicjust to a) makes things easier and b) so we don't have to write too much extra code17:50
marky1991what does that one hadnle exactly?17:50
marky1991I've never used it17:50
marky1991looking at the docs now17:50
marky1991oh, that looks convenient17:52
prologicmeans (hopefully) we don't have to chnage or add much code17:52
marky1991and i suppose slightly faster17:52
marky1991not that it really mattters17:52
prologicso you're using mercurial right?17:53
marky1991have you posted pushed the python 3 work you've done thus far17:53
prologicdo you have a bitbucket account?17:53
prologickk good17:53
prologiccloned circuits-dev yet?17:53
prologicand yes I have17:53
prologicoh sweet17:53
prologicwhat's your branch url?17:53
marky1991i'll pull it and wstop what i'm doing now17:53
prologicoh no17:53
prologicdon't stop :)17:53
prologicjust commit everything you've done17:53
prologicthat's worth committing17:53
marky1991i at least need to merge it with your new version17:53
prologicand pull from me17:54
prologicmercurial should merge and take care of the rest17:54
marky1991i can try17:54
marky1991let me just do a little bit of cleaning though17:54
marky1991did you see my comment about the logger test?17:54
prologicin case you haven't done much work with teams using mercurial17:54
prologicit's best to follow these small steps17:54
prologiccommit often17:54
marky1991Now I just have it check for localhost instead of getting hostname17:54
prologicpull often17:54
prologicand commit in small hunks of work17:55
marky1991supposed to do it every morning or something17:55
prologicie: not big commits if you can help it17:55
prologicmakes merging easier17:55
prologicyeah saw your comment on the web logger test17:55
marky1991I'm not sure it's the right thing to do, but I think it is17:56
prologicthat's fine17:56
prologicwe'll soon find out :)17:56
marky1991I eventually hit the sockets_are_oimplemented_in_c17:56
marky1991so i couln't look further down the rabbit hole17:56
prologicyes Python wraps the c library for sockets17:56
marky1991but at the very least, it works for both of our platforms17:57
prologica lot of things are in fact written in C17:57
prologicwell you kind of fact to at some point/level17:57
marky1991re my experieince with team-coding: I'm not experienced enough witht hat17:58
marky1991I've only used them a couple of times, and for class projects, where we didn't commit all that often anyway17:58
marky1991so I know how to use them, just not how to best use them17:59
marky1991best practices and junk17:59
prologicthat's ok18:58
prologicget your fork in order18:58
prologicclean up your branch18:58
marky1991almost done wit that now18:59
prologicand commit to it and pull from me often18:59
prologiclet me know when your branch is ready-ish18:59
marky1991i'll do that much more aggressively from now on18:59
prologicI'll grab the url and pull it down and see what youv'e done18:59
prologicand obviously run the unit tests as frequently as you can18:59
prologicuntil I set some kind of CI server up :)19:00
marky1991i run the unit tests all the time19:00
marky1991that's how i debug19:00
prologicyeah :)19:04
prologicit's a good way to know you haven't broken anything19:04
prologicand as much as I try to19:04
prologicI always write the test first19:04
prologicbefore I change something19:04
prologicor add a new feature19:04
prologic"Test Driven Development"19:04
marky1991that's the part of TDD I always tend to ignore...19:05
marky1991I know I'm supposed to, but it's sooo boring19:05
marky1991I always write them after the fact19:05
prologicactually you find the more you do it the less boring19:05
prologicsometimes though you do have to play and experiment before you know what you're doing19:05
prologicthat's unavoidable19:05
prologicbut writing the test first (when you know what you want) forces you to realize the API, Design and thus the Implementation19:06
marky1991yeah,yeah, I know the speil : )19:06
prologicso you're off the Windows Unit Tests cases for the moment?19:08
prologicCan you unassign yourself from that story and set it's state appropriately?19:08
marky1991I wanted to get rid of python-related bugs before I messed with the woidows ones19:08
marky1991Oll do that tonight19:08
prologicta :)19:09
prologicwe're getting ready for release too19:09
prologicso we need to put effort towards that19:09
marky1991be riht bacvk19:09
marky1991There we go. My changes are pretty minor at this point.19:55
marky1991Oh wait. I forgot to change something.19:55
marky1991There we go. Everything is submitted.19:59
marky1991Like I said, at this point, my contributions are pretty underwhelming20:00
marky1991Hopefully I'll become more productive as I get more comfortable with the code base20:00
prologicof course :)20:00
prologiclet me pull from you then20:00
marky1991PS: I think the circuits IRC message can stop talking about christmas20:00
prologicoh yes!20:01
*** mehere has quit IRC20:16
*** mehere has joined #circuits-dev20:18
marky1991i need to go to bed now20:19
marky1991good night20:19
*** marky1991 has quit IRC20:19

Generated by 2.11.0 by Marius Gedminas - find it at!