2008-05-29T02:50:55  <winkerbean> When developing, what debugger does Everyone use?
2008-05-29T04:58:41  *** irc.freenode.net sets mode: +o ChanServ
2008-05-29T08:19:00  <dreimark> moin
2008-05-29T08:50:27  <ThomasWaldmann> moin
2008-05-29T10:16:36  <zenhase> moin
2008-05-29T11:41:14  <zenhase> *cough* well, what a small kldload ipfw can do to a server reachable only over network
2008-05-29T11:43:27  <ThomasWaldmann> waldi: http://www.agapow.net/programming/python/the-etree-tail-quirk (article truncated at end?)
2008-05-29T11:45:30  <xorAxAx> johill: dont forget that http://en.wikipedia.org/wiki/Two_phase_locking is only deadlock free under certain conditions
2008-05-29T11:46:04  <waldi> ThomasWaldmann: yep
2008-05-29T11:46:12  <ThomasWaldmann> waldi: http://blog.ianbicking.org/my-first-bit-of-elementtree.html (more quirks)
2008-05-29T11:46:49  <ThomasWaldmann> "no way to serialize nodes to unicode" - still true?
2008-05-29T11:50:04  <waldi> from my tests: yes, serlization always returns byte strings
2008-05-29T11:52:38  <johill> xorAxAx: you have to explain to me what that applies to, but I don't really have time right now
2008-05-29T11:54:08  <johill> oh you mean wrt. using serializable. well it doesn't really matter to me in the api
2008-05-29T11:55:28  <ThomasWaldmann> waldi: the more i look at that ET stuff, the more tempting is to hack it all over :P
2008-05-29T11:57:17  <xorAxAx> johill: its only relevant to the api
2008-05-29T11:57:44  <xorAxAx> because the api shouldnt abstract certain dependencies away which would make it impossible to solve deadlock issues on the lower level
2008-05-29T11:57:45  <waldi> ThomasWaldmann: they define iter but not __iter__
2008-05-29T12:01:07  <ThomasWaldmann> waldi: any better name ideas yet?
2008-05-29T12:03:04  <waldi> xtree, centraltree
2008-05-29T12:03:32  <ThomasWaldmann> xmltree?
2008-05-29T12:04:08  * ThomasWaldmann .oO(good for googling :)
2008-05-29T12:04:31  <ThomasWaldmann> xtree is a file manager sw :)
2008-05-29T12:05:14  <waldi> hmm
2008-05-29T12:05:28  <ThomasWaldmann> xmltree also already exists
2008-05-29T12:06:53  <xorAxAx> moon: dont you want to commit and push your first state of the fckeditor importing?
2008-05-29T12:07:02  <ThomasWaldmann> there's a green tree python :P
2008-05-29T12:07:05  <xorAxAx> yes, xtree gold rocks
2008-05-29T12:07:41  <waldi> ThomasWaldmann: hihi
2008-05-29T12:07:43  <moon> xorAxAx: I'm try to push it. but It take too much time.
2008-05-29T12:08:10  <xorAxAx> moon: even from the university network?
2008-05-29T12:08:15  <xorAxAx> i dont believe that
2008-05-29T12:08:29  <moon> just wait I upload screenshot
2008-05-29T12:10:21  <ThomasWaldmann> moon: pushing should take far less time than the initial clone
2008-05-29T12:12:18  <waldi> if it really takes too long, a network dump (for tcpdump, wireshark or so) may provide more information where the problem is
2008-05-29T12:14:10  <waldi> s,for,generated by,
2008-05-29T12:14:35  <moon> is this normal process? http://study.jaram.org/pds/wait.gif
2008-05-29T12:15:30  <xorAxAx> moon: well, it asks you a question and you dont a way to answer
2008-05-29T12:15:50  <xorAxAx> moon: you need to connect to the server once with putty itself, then you can click the yes button
2008-05-29T12:16:32  <moon> oh, I think hg solve that problem.
2008-05-29T12:16:35  <moon> yes I will do that
2008-05-29T12:17:49  <waldi> ThomasWaldmann: hmm, http://www.greentree.com/
2008-05-29T12:21:53  <ThomasWaldmann> waldi: same field, no good
2008-05-29T12:22:58  <xorAxAx> moon: the backslashes look weird on korean windows :)
2008-05-29T12:23:39  <moon> xorAxAx: haha, It's normal in korea.
2008-05-29T12:23:45  <ThomasWaldmann> waldi: just TreePython? :)
2008-05-29T12:24:24  * ThomasWaldmann knows a logo to steal for that even :)
2008-05-29T12:25:17  <waldi> ThomasWaldmann: TreeBoa
2008-05-29T12:26:09  <ThomasWaldmann> treepython and xml has only 1 (rather accidental) hit
2008-05-29T12:26:57  <moon> xorAxAx: when I try to connect with ssh, server response "server refused to allocate pty"
2008-05-29T12:27:07  <moon> is it work fine?
2008-05-29T12:27:09  <waldi> this is correct
2008-05-29T12:27:17  <xorAxAx> moon: did you get the key question where you clicked yes?
2008-05-29T12:27:23  <moon> yes.
2008-05-29T12:27:27  <xorAxAx> good, then try push again
2008-05-29T12:29:48  <ThomasWaldmann> waldi: http://www.gnosis.cx/publish/programming/xml_matters_28.html see also conclusion there
2008-05-29T12:31:48  <moon> I'm count how many times take push source.
2008-05-29T12:33:52  <moon> xorAxAx: I have question.
2008-05-29T12:34:33  <xorAxAx> just ask :-)
2008-05-29T12:34:51  <moon> xorAxAx: I didn't input passpharase to push.
2008-05-29T12:35:08  <moon> xorAxAx: should I input it somewhere?
2008-05-29T12:35:43  <xorAxAx> moon: hmm
2008-05-29T12:36:23  <xorAxAx> moon: what does it show? you can also copy the contents of the windows console (see the "system menu" in the upper left corner) and paste it on http://paste.pocoo.org
2008-05-29T12:38:19  <moon> xorAxAx: what I ask is pushing to repository need passphrase?
2008-05-29T12:39:21  <moon> xorAxAx: my pushing job dosen't print out error message. but dosen't print any message.
2008-05-29T12:39:46  <moon> xorAxAx: after I execute that command(hg push), nothings change.
2008-05-29T12:39:56  <xorAxAx> moon: that depends on how your putty is configured (if you have the putty agent started, you dont need the passphrase, but normally you do)
2008-05-29T12:40:07  <xorAxAx> moon: and you see the prompt again?
2008-05-29T12:42:58  <moon> xorAxAx: yes. I can see prompt every time I try to connect. see : http://paste.pocoo.org/show/55710/
2008-05-29T12:43:25  <xorAxAx> moon: i mean after "hg push"
2008-05-29T12:44:00  <moon> xorAxAx: no. nothings print out
2008-05-29T12:46:31  <xorAxAx> not even the prompt? so its blocked?
2008-05-29T12:48:39  <moon> xorAxAx: yes, not even prompt.
2008-05-29T12:49:03  <xorAxAx> moon: hm, maybe #mercurial can help you
2008-05-29T12:50:25  <moon> xorAxAx: haha, yes. familiar with mercurial is more difficult than coding work.
2008-05-29T12:51:15  <ThomasWaldmann> moon: hg is easier on linux :)
2008-05-29T12:51:58  <ThomasWaldmann> moon: but I am glad you are developing on windows and doing IE tests :)
2008-05-29T12:53:43  <moon> ThomasWaldmann: I also think that. I installed safari(for window) previous week. now I can test with 4 kind of browser (safari, ff, ie, opera) :-0
2008-05-29T12:54:01  <ThomasWaldmann> great! :)
2008-05-29T12:58:15  <xorAxAx> moon: well, yes, its a bit puttys problem
2008-05-29T12:59:22  <waldi> ThomasWaldmann: EmeraldTree? (Boa)
2008-05-29T13:01:35  * johill is tempted to question the use of xml again
2008-05-29T13:02:01  <johill> or of a string-based tree representation, for that matter
2008-05-29T13:03:13  <johill> but I really have better things to do
2008-05-29T13:06:35  <waldi> you are free to comment my thoughts about that
2008-05-29T13:07:08  <ThomasWaldmann> waldi: nice name (but no python, right :)
2008-05-29T13:15:26  <ThomasWaldmann> gtg, bbl
2008-05-29T13:19:19  <waldi> its also a snake :)
2008-05-29T13:34:08  <zenhase> badger!
2008-05-29T13:34:10  <zenhase> scnr :)
2008-05-29T13:37:08  <CIA-50> Byeongweon [tasyblue@gmail.com] default * 3643:645324d706e2 1.8-guieditor-mbyeongweon/wiki/htdocs/applets/FCKeditor/ (251 files in 41 dirs): update current fckeditor(v2.0) to recent version of it(v2.6)
2008-05-29T13:37:20  <waldi> zenhase: nope, no badges
2008-05-29T13:38:41  <TheSheep> wasn't it a Korean band?
2008-05-29T13:39:44  <zenhase> who?
2008-05-29T13:39:52  <moon> xorAxAx: solve big problem. :-)
2008-05-29T14:10:42  <ThomasWaldmann> moinmo.in will be offline temporarily for maintenance
2008-05-29T16:37:37  <xorAxAx> johill: http://en.wikipedia.org/wiki/ACID#Implementation
2008-05-29T16:42:42  <johill> xorAxAx: really, I don't have to care at this point, if you don't want to use sql transactions in the db just implemnt locks in the backend
2008-05-29T17:21:05  <CIA-50> Florian Krupicka <florian.krupicka@googlemail.com> default * 3649:e3893c082fe5 1.8-wsgi-fkrupicka/MoinMoin/ (action/__init__.py request/__init__.py): Oops, some fixes. Was already wondering why i got no output.
2008-05-29T17:21:07  <CIA-50> Florian Krupicka <florian.krupicka@googlemail.com> default * 3650:5f4831ba630e 1.8-wsgi-fkrupicka/MoinMoin/web/contexts.py: Some enhancements for logging and removed unneeded methods.
2008-05-29T17:21:37  <zenhase> fine fine, with this inspect.stack magic i finally can see who is actually calling :o
2008-05-29T17:22:58  <zenhase> now let's see what is broken right now :o
2008-05-29T17:23:32  <zenhase> how long does a full py.test run take on your machines?
2008-05-29T17:23:52  <zenhase> (coarse machine spec included)
2008-05-29T17:32:10  <johill> couple of minutes on my powerbook
2008-05-29T17:34:18  <johill> zenhase: sourcecode tests take forever, run it on a filesystem that has extended attributes
2008-05-29T17:36:08  <johill> hahaha
2008-05-29T17:36:13  <johill> I was jsut going to run it to prove my point
2008-05-29T17:36:19  <johill> it ends with
2008-05-29T17:36:20  <johill> MoinMoin/formatter/_tests/test_html.py[2] Segmentation fault
2008-05-29T17:36:40  <zenhase> oO
2008-05-29T17:36:45  <zenhase> what happened there? :o
2008-05-29T17:36:53  <johill> no idea
2008-05-29T17:37:03  <johill> lets see if I can reproduce
2008-05-29T17:37:11  <johill> yep
2008-05-29T17:37:54  <johill> hm
2008-05-29T17:37:54  <johill> Program received signal SIGSEGV, Segmentation fault.
2008-05-29T17:37:55  <johill> [Switching to Thread 0x48021630 (LWP 10068)]
2008-05-29T17:37:55  <johill> 0x0f6dc3cc in _CallProc () from /usr/lib/python2.5/lib-dynload/_ctypes.so
2008-05-29T17:38:33  <johill> an event test fails
2008-05-29T17:38:56  <johill> I dunno, how do I debug this?
2008-05-29T17:39:49  <johill> works with python2.4
2008-05-29T17:41:57  <johill> zenhase: tests finished: 611 passed, 1 failed, 66 skipped in 102.89 seconds
2008-05-29T17:42:05  <johill> 1.7GHz powerpc
2008-05-29T17:44:25  <zenhase> ah, they finished here already too
2008-05-29T17:44:27  <zenhase> tests finished: 590 passed, 1 failed, 69 skipped in 84.04 seconds
2008-05-29T17:44:41  <johill> huh
2008-05-29T17:44:49  <zenhase> 2.2 GHz core2duo
2008-05-29T17:44:51  <johill> I wonder why you have a different number of tests :)
2008-05-29T17:45:00  <zenhase> hmm
2008-05-29T17:45:17  <zenhase> that is a good question :o
2008-05-29T17:46:53  <zenhase> nice going: 2008-05-29 17:13:30,249 WARNING MoinMoin.web.contexts:89 Function 'make_unique_id' called by 'make_id_unique' in line '418'
2008-05-29T17:47:02  <zenhase> this is almost funny ;)
2008-05-29T17:47:38  <johill> I wrote that ;)
2008-05-29T17:48:29  <johill> but where is it called from?
2008-05-29T17:48:39  <johill> seems wrong
2008-05-29T17:48:51  <johill> the line number I mean
2008-05-29T17:48:55  <zenhase> hmm
2008-05-29T17:49:02  <zenhase> i will extend my logging function a little bit
2008-05-29T17:49:26  <johill> and it's not calling itself either
2008-05-29T17:50:13  <johill> oh
2008-05-29T17:50:21  <johill> MoinMoin/formatter/__init__.py has make_unique_id too
2008-05-29T17:50:25  <johill> and t hat is calling it
2008-05-29T17:50:42  <johill> eh, make_id_unique
2008-05-29T17:50:52  <johill> anyway, yeah, you should print out the module name or something liek that :)
2008-05-29T17:53:01  <zenhase> hmm, some bug in werkzeug broke loose, when i installed py-lib
2008-05-29T17:53:13  <zenhase> right now my devel-server won't start :D
2008-05-29T17:53:35  <zenhase> mitsuhiko: you have support for greenlets in werkzeug, right?
2008-05-29T17:53:38  <johill> zenhase: ohh, I have some local tests
2008-05-29T17:53:51  <johill> zenhase: and that one is actually causing the segfault in libtidy
2008-05-29T17:54:25  <zenhase> nice .. 'malformed input can segfault tidy html'
2008-05-29T17:54:57  <zenhase> not a good headline for a project that intends to clean up malformed input in the first place ;)
2008-05-29T17:55:45  <johill> probably it's just the python wrapper
2008-05-29T17:55:46  <johill> dunno
2008-05-29T17:57:29  <zenhase> hmm, seems the problem is not in werkzeug, but pylib
2008-05-29T18:12:28  <johill> freenode going down ...
2008-05-29T18:12:33  <johill> chanserv already gone :)
2008-05-29T18:12:57  <zenhase> /o\
2008-05-29T18:13:31  <johill> don't get global notices?
2008-05-29T18:14:36  <zenhase> i do
2008-05-29T18:14:50  <zenhase> but still 'freenode going down ...' is like doomsday :D
2008-05-29T18:15:28  <johill> well maybe services are only going down and we get all netsplit
2008-05-29T18:15:31  <johill> or something
2008-05-29T18:16:42  <mitsuhiko> zenhase: what happened?
2008-05-29T18:17:00  <zenhase> mitsuhiko: nothing nothing :/
2008-05-29T18:17:04  <zenhase> i am stupid, that happend
2008-05-29T18:17:22  <zenhase>  i have this strange setup for installing python libs and eggs in my homedir
2008-05-29T18:17:29  <zenhase> with a custom .pydistutils.cfg
2008-05-29T18:17:41  <zenhase> well, seems it misses some stuff
2008-05-29T18:18:02  <zenhase> py.lib installed all non-python-files into the system-location :o
2008-05-29T18:18:43  <zenhase> you don't get an error on that in OSX, if your user has admin rights he can write several locations like site-packages dirs and stuff
2008-05-29T18:20:14  * dennda is back
2008-05-29T18:20:37  <CIA-50> Florian Krupicka <florian.krupicka@googlemail.com> default * 3651:049b9aaf3031 1.8-wsgi-fkrupicka/MoinMoin/ (4 files in 4 dirs): Whitespace fixes and extended logging of calls
2008-05-29T18:21:18  <zenhase> and i'll be gone, have to take a break from coding, working since 6hours straight o_O
2008-05-29T18:22:39  <dennda> I had ten hours of non stop lectures :)
2008-05-29T18:22:45  <dennda> (and excercises)
2008-05-29T18:22:58  <dennda> That was definitely the last time I did that
2008-05-29T18:53:48  <xorAxAx> johill: i am thinking about a file backend
2008-05-29T18:55:01  <ThomasWaldmann> dennda: btw, please use about 80 chars width before wrapping to next line
2008-05-29T18:55:22  <ThomasWaldmann> + If that Item already exists, raise an
2008-05-29T18:55:22  <ThomasWaldmann> + Exception.
2008-05-29T18:55:25  <ThomasWaldmann> e.g. there
2008-05-29T18:55:45  <dennda> ok
2008-05-29T18:55:50  <ThomasWaldmann> you are not paid by LOC :P
2008-05-29T18:56:03  <dennda> counting indentation?
2008-05-29T18:56:27  <ThomasWaldmann> including indentation
2008-05-29T18:57:08  <ThomasWaldmann> there is no fixed rule (we don't follow 80(?) chars width of pep8, but we try to stay in some sane range
2008-05-29T18:57:14  <ThomasWaldmann> )
2008-05-29T18:59:16  <dennda> ok
2008-05-29T18:59:21  <johill> xorAxAx: how about you stop dispending your knowledge piece-wise and just write a good counter-proposal on how to handle metadata updates?
2008-05-29T18:59:32  <johill> dispensing
2008-05-29T18:59:42  <xorAxAx> johill: i am not against anything
2008-05-29T18:59:47  <xorAxAx> currently
2008-05-29T19:00:04  <johill> s/counter-//
2008-05-29T19:00:46  <xorAxAx> no, i am busy
2008-05-29T19:01:05  <xorAxAx> but its your job to mentor him ... learning about the backgrounds shouldnt hurt
2008-05-29T19:01:38  <johill> you keep interfering with useless tidbits of information
2008-05-29T19:02:13  <johill> I wish you'd either just acknowledge that we're thinking about it, or actually think about it yourself
2008-05-29T19:02:24  <xorAxAx> why is it useless? it disagrees with your understanding of the property
2008-05-29T19:02:34  <johill> I don't see how it does
2008-05-29T19:02:43  <xorAxAx> you said acid was a buzzword :-p
2008-05-29T19:03:11  <johill> well yeah, imho it is, because it doesn't descroibe something useful, lanius's database had some sort of acid properties too as far as I can tell
2008-05-29T19:03:13  <xorAxAx> but even more, the above page lists distinct subproperties and technical requirements and implementation details to achieve these
2008-05-29T19:03:14  <johill> you just couldn't do anything with them
2008-05-29T19:03:33  <xorAxAx> no, lanius didnt have anything that agrees with that page
2008-05-29T19:03:45  <ThomasWaldmann> moon: btw, the only reason why we had a full tree of FCKeditor within the moin tree is to be able to update it with CVS. If you are not using CVS, then you don't need to keep the CVS control files and also not the FCKeditor sample files etc. in the moin repo.
2008-05-29T19:03:49  <xorAxAx> some of his operations supported atomicness, but thats something else
2008-05-29T19:04:41  <johill> seriously, I'm not going to bother any more; if you think you know better go prove it
2008-05-29T19:08:23  <xorAxAx> johill: i didnt claim aynthing about my knowledge
2008-05-29T19:08:53  <xorAxAx> i was just hoping that you clarify your knowledge about these concepts
2008-05-29T19:09:57  <ThomasWaldmann> zenhase: btw, the naming of cfg vs. config has a reason
2008-05-29T19:10:27  <ThomasWaldmann> cfg is usually the stuff from the wikiconfig that's related to the current request
2008-05-29T19:10:46  <ThomasWaldmann> config is the moin builtin MoinMoin.config stuff
2008-05-29T19:11:20  <ThomasWaldmann> so if you rename something cfg > config, you make it harder to grep (and to understand)
2008-05-29T19:11:54  <johill> no no
2008-05-29T19:12:06  <johill> my complaint about you just saying "ACID" is that in itself, it is useless
2008-05-29T19:12:21  <johill> you can have a database that stores only a single value and make it acid, but it'll still be useless
2008-05-29T19:13:01  <johill> on the other end of the spectrum, making moin's storage support arbitrary transactions etc. would be pretty much impossible to implement, although you could say ACID again
2008-05-29T19:13:12  <xorAxAx> johill: ?
2008-05-29T19:13:20  <xorAxAx> johill: you need to define transactions first ...
2008-05-29T19:13:21  <johill> and it wouldn't be useful either, we don't need to support a transaction that renames two pages at once
2008-05-29T19:13:30  <xorAxAx> and if you have done so, you want to aim for this property
2008-05-29T19:14:09  <xorAxAx> your first complaint comes from a misunderstanding about transactions (they are a sequence of operations, not a single store)
2008-05-29T19:14:24  <xorAxAx> and the latter is related to modelling - which transactions are relevant etc.
2008-05-29T19:14:30  <johill> no, a single value can still support multiple operations on it
2008-05-29T19:14:40  * xorAxAx sighs
2008-05-29T19:14:47  <johill> so if you have a single value and transactions, you can say you support them acid
2008-05-29T19:15:21  <xorAxAx> johill: acid is not for the imaginary marketing dept., its a formal property of a model that needs to be verified to claim that it is sound
2008-05-29T19:16:02  <ThomasWaldmann> zenhase: also you might shadow the real config with the other config
2008-05-29T19:16:03  <johill> yes, but it's not useful to scream acid before you've defined the database and what sorts of transactions it needs to support
2008-05-29T19:16:49  <johill> so just saying acid in itself is completely useless
2008-05-29T19:16:53  <xorAxAx> johill: also it doesnt make sense to talk about it until you have invested time to read about it
2008-05-29T19:18:45  <johill> I have, and I heard db classes too, and I still don't know what exactly you want to achieve by dumping ACID into the discussion
2008-05-29T19:19:17  <johill> maybe we're just misunderstanding each other because I'm still at the point of defining the db
2008-05-29T19:19:27  * ThomasWaldmann drinks some acid
2008-05-29T19:19:59  <johill> my point is merely that saying "oh my product is acid" doesn't tell you anything about the usefulness of such, except that what it does, it does good
2008-05-29T19:20:28  <xorAxAx> 19:15:20 < xorAxAx> johill: acid is not for the imaginary marketing dept., its a formal property of a model that needs to be verified to claim that it is sound
2008-05-29T19:21:01  <xorAxAx> johill: well, then you should be lucky and defer thinking about it until the model is semi-complete
2008-05-29T19:22:01  <johill> hence, if somebody just says "ACID" that *is* a buzzword to me when I can't evaluate what sort of things it supports that way
2008-05-29T19:24:22  <johill> xorAxAx: sure, and I should design my model in a way that it can support the transactions that I need with ACID guarantees
2008-05-29T19:24:43  <johill> but imo just syaing "ohh acid" up-front is counter-productive
2008-05-29T19:25:05  <xorAxAx> i dont understand "19:22:01 < johill> hence, if somebody just says "ACID" that *is* a buzzword to me when I can't evaluate what sort of things it supports that way
2008-05-29T19:25:08  <xorAxAx> "
2008-05-29T19:25:25  <xorAxAx> johill: i didnt say "oh acid", i just gave you an url
2008-05-29T19:25:50  <johill> where's the difference? anyway, back to your question
2008-05-29T19:26:17  <johill> saying "ACID" without the specification about the transactions is useless
2008-05-29T19:29:21  <johill> I suppose that's the "model" you speak of
2008-05-29T19:29:54  <zenhase> re
2008-05-29T19:30:36  <zenhase> ThomasWaldmann: ok, i never thought about it this way
2008-05-29T19:30:56  <xorAxAx> johill: yes, so? still you dislike the concept of learning the background in this case and i dont know why
2008-05-29T19:30:56  <zenhase> i thought it was a legacy name and it somehow stuck
2008-05-29T19:32:01  <ThomasWaldmann> config is very old, cfg is there since multiconfig
2008-05-29T19:32:44  <ThomasWaldmann> config has the stuff that is needed at places where we won't have (or don't need) a request object (otherwise some settings might be in cfg)
2008-05-29T19:32:46  <johill> xorAxAx: I don't dislike the concept of learning the background, in fact, I already learned about that a long time ago, I just don't think it's a useful thing to start from
2008-05-29T19:32:52  *** irc.freenode.net sets mode: +o ChanServ
2008-05-29T19:33:19  <ThomasWaldmann> the few minutes were a bit longer today :)
2008-05-29T19:33:24  <xorAxAx> johill: its something that should be thought about at the end of every design iteration IMHO
2008-05-29T19:33:57  <ThomasWaldmann> http://littletutorials.com/2008/05/28/13-reasons-java-die-old-age/
2008-05-29T19:34:20  <zenhase> hmm
2008-05-29T19:35:10  <ThomasWaldmann> looks like a /. link is too much for littletutorials :P
2008-05-29T19:36:15  <johill> xorAxAx: you should probably keep it in mind all the time, but thinking "oh I need ACID" still isn't useful before you've thought about the db operations you want
2008-05-29T19:36:29  <xorAxAx> johill: and how the transactions look like, sure
2008-05-29T19:36:42  <zenhase> haha, it gets even better
2008-05-29T19:36:55  <zenhase> first it was some 'Error establishing database connection'
2008-05-29T19:37:07  <zenhase> and now 'Maximum concurrency limit of 10 exceeded.Currently serving the following requests:
2008-05-29T19:37:13  <xorAxAx> :-)
2008-05-29T19:37:17  <zenhase> and a list of requests ;)
2008-05-29T19:37:20  <zenhase> nice ... very nice
2008-05-29T19:37:46  <zenhase> max. conc of 10 ... this is something for single person development of websoftware
2008-05-29T19:38:07  <zenhase> but ok, the site is already called _little_tutorials ;)
2008-05-29T19:38:24  <johill> xorAxAx: so I still think "ACID" by itself is just a buzzword, unless it comes with a description of the transactions the db supports
2008-05-29T19:39:57  <zenhase> actually it's 4 buzzwords :)
2008-05-29T19:40:00  <johill> zenhase: just use the google cache
2008-05-29T19:40:13  <zenhase> which have to be exactly defined for the application in question
2008-05-29T19:40:23  <zenhase> most people know how they are defined for databases
2008-05-29T19:40:54  <zenhase> but this does not necessarily apply to non-databases (regardless if it appears 'similar')
2008-05-29T19:41:13  <zenhase> so, what do those 4 words mean for a wiki storage engine
2008-05-29T19:41:15  <zenhase> ?
2008-05-29T19:45:28  <johill> that is a good question
2008-05-29T19:45:54  <johill> I think the transactions are just 'create a revision' and 'update page metadata'
2008-05-29T19:48:09  <johill> separately
2008-05-29T19:54:09  <zenhase> oh boy, weather is killing me here ... and summer did not even start properly
2008-05-29T19:54:20  <zenhase> http://www.wetteronline.de/Baden-Wuerttemb/Karlsruhe.htm
2008-05-29T19:54:29  <zenhase> nice going, 30 degress!
2008-05-29T19:55:03  <johill> same here, pretty much, I'd say
2008-05-29T19:55:37  <zenhase> if summer is going to be even wilder, i'll flip my awake/sleep rhythm
2008-05-29T19:56:01  <johill> heh
2008-05-29T19:57:15  <xorAxAx> johill: 26° according to my gnome panel :)
2008-05-29T19:58:30  <johill> now, yes, according to my thermometer 26.5
2008-05-29T19:58:42  <johill> outside
2008-05-29T19:58:49  <johill> "only" 24 here ;)
2008-05-29T20:03:54  <johill> dennda: did you want to talk? if not I'll go offline and do some other stuff now
2008-05-29T20:04:12  <dennda> johill: It's fine, do whatever you need to do
2008-05-29T20:04:19  <dennda> It's not urgent
2008-05-29T20:05:21  <johill> no it's fine, I just don't want to sit around
2008-05-29T20:07:20  <dennda> johill: do your stuff. I am currently reading on the DictMixin thing
2008-05-29T20:07:54  <johill> k
2008-05-29T20:42:21  <zenhase> now for some climbing :)
2008-05-29T20:48:59  <xorAxAx> dennda: and, do we still need the gobby stuff?
2008-05-29T20:49:13  <dennda> xorAxAx: havn't looked at it yet
2008-05-29T20:49:18  <xorAxAx> hmm
2008-05-29T20:49:19  <dennda> or
2008-05-29T20:49:20  <dennda> I did
2008-05-29T20:49:25  <dennda> but didn't apply my filter
2008-05-29T21:41:01  *** irc.freenode.net sets mode: +o ChanServ
2008-05-29T22:00:48  <johill> hmm. I converted moin's hg repo to git and it ended up at 144mb .git compared to 68 .hg. the man page says to repack, and then it was 44. funky, I wonder how it shaved off 100mb in that long repacking process :)
2008-05-29T22:01:28  <dennda> well obviously you lost important data :)
2008-05-29T22:01:35  <dennda> that's the best chop-off-algorithm
2008-05-29T22:02:01  <johill> heh
2008-05-29T22:02:11  <dennda> I just today discovered that an important file, settings.py, of a django project for a customer of mine was gone by magic
2008-05-29T22:02:20  <dennda> I didn't notice because the pyc file was still there
2008-05-29T22:02:47  <johill> no, I atually have all the history still
2008-05-29T22:03:15  <dennda> I still wonder what caused the disappearence of the file
2008-05-29T22:03:23  <dennda> it was just gone from revision 40
2008-05-29T22:03:26  <xorAxAx> johill: yeah, also a bit annoying that you have to do such things manually
2008-05-29T22:03:33  <dennda> history | grep settings didn't show anything useful :)
2008-05-29T22:03:50  <johill> xorAxAx: at least it /can/ repack optimised :)
2008-05-29T22:04:00  <xorAxAx> johill: hg is always optimal :)
2008-05-29T22:04:05  <dennda> johill: you know linus' git talk?
2008-05-29T22:04:22  <dennda> xorAxAx: obviously not
2008-05-29T22:04:26  <johill> xorAxAx: for some values of potimal, only 50% larger than git's optimal packing...
2008-05-29T22:04:28  <xorAxAx> johill: except if you want to store only - then you use bundle and it will compress with bz2
2008-05-29T22:04:38  <xorAxAx> dennda: why? git has different algorithms
2008-05-29T22:04:47  <johill> dennda: yeah, I've seen it
2008-05-29T22:04:52  <dennda> xorAxAx: yes, but then the storage of the data is not "optimal"
2008-05-29T22:05:00  <dennda> but only as good as hg can do
2008-05-29T22:05:06  <xorAxAx> it only means that hg cannot do better without losing its concepts and random access
2008-05-29T22:05:08  <dennda> which isn't too bad today
2008-05-29T22:05:15  <dennda> yes
2008-05-29T22:05:17  <dennda> we agree :)
2008-05-29T22:05:25  <johill> yeah, but that's not necessarily optimal
2008-05-29T22:05:38  <johill> I doubt my git repack is optimal now
2008-05-29T22:05:53  <johill> in fact, I'm sure it isn't
2008-05-29T22:05:57  <johill> anyhow
2008-05-29T22:06:33  <johill> the thing with hg is that it does things per file so it doesn't seem to share unless the history is exactly the same
2008-05-29T22:07:56  <johill> I cloned locally with -r and it copied quite a bit
2008-05-29T22:08:09  <johill> so it's not really fair to compare them anyway
2008-05-29T22:08:23  <dennda> git tracks by content, doesn't it?
2008-05-29T22:08:37  <johill> yeah it just sha1's the file and sticks it into a blob with that sha as the name
2008-05-29T22:08:39  <dennda> at least something like that
2008-05-29T22:09:02  <johill> and then it delta-compresses the blobs together to make it all smaller
2008-05-29T22:09:47  <johill> the nice thing is that you can point it to arbitrary other object dirs, and if then you already have the object somewhere you don't download/copy/... it again
2008-05-29T22:10:07  <dennda> so it uses hardlinks I assume?
2008-05-29T22:10:13  <johill> hg can't do that, as soon as a file's history changes in one checkout, you can't share it any more
2008-05-29T22:10:23  <johill> no it just has an 'alternates' list file
2008-05-29T22:10:41  <xorAxAx> alternates?
2008-05-29T22:10:42  <johill> so it can do that even when the objects are packed
2008-05-29T22:10:57  <johill> xorAxAx: alternative object dirs to look in when trying to find an object
2008-05-29T22:11:22  <xorAxAx> ah
2008-05-29T22:11:26  <johill> xorAxAx: hg will hardlink local clones, git will just reference the source
2008-05-29T22:11:39  <johill> (unless you ask it not to, say you want to blow away the old one, it can hardlink too)
2008-05-29T22:11:49  <xorAxAx> yeah
2008-05-29T22:11:54  <johill> actually, that seems to be the default
2008-05-29T22:12:02  <johill> only if you --reference
2008-05-29T22:12:08  <johill> it does the alternates stuff
2008-05-29T22:12:36  <johill> so the thing with hg is that once I commit a file in a second checkout, the whole history is copied over
2008-05-29T22:12:54  <johill> with breaking the hardlink too, obviously
2008-05-29T22:13:06  <johill> with git, you only get a new object
2008-05-29T22:13:33  <xorAxAx> johill: its only copied for the single file
2008-05-29T22:13:38  <johill> I'm sure otherwise git.kernel.org would have run out of disk space by now ;)
2008-05-29T22:13:51  <xorAxAx> why? does it have more than one repo
2008-05-29T22:13:53  <xorAxAx> ...?
2008-05-29T22:13:57  <johill> xorAxAx: yeah sure, I know, it still accounts for 16MiB on my direct clone done with -r...
2008-05-29T22:14:02  <xorAxAx> it keeps a hg version of the kernel btw as well
2008-05-29T22:14:19  <johill> xorAxAx: git.kernel.org has hg? but surely not of the 200 repositories or however many there are now
2008-05-29T22:14:22  <xorAxAx> http://www.kernel.org/hg/
2008-05-29T22:14:44  <xorAxAx> its commonly used for benchmarks
2008-05-29T22:14:45  <johill> 5, well, yeah
2008-05-29T22:14:52  <johill> look at git.kernel.org's front page
2008-05-29T22:15:16  <xorAxAx> all misled :)
2008-05-29T22:15:31  <johill> ?
2008-05-29T22:16:02  <xorAxAx> umm, i mean happy git users
2008-05-29T22:16:11  <johill> heh
2008-05-29T22:16:17  <johill> well seriously though, I don't think hg can do this
2008-05-29T22:16:33  <johill> in a decent amount of disk space
2008-05-29T22:16:43  <xorAxAx> you can always use deduplication on a lower layer :)
2008-05-29T22:16:53  <xorAxAx> (hmm, the diffs are compressed, wont work)
2008-05-29T22:17:22  <johill> that's a pretty backwards design either way
2008-05-29T22:17:22  <xorAxAx> johill: but if somebody attempted to go down that route, he would have enough resources to extend the storage structure
2008-05-29T22:17:43  <xorAxAx> because its not object oriented? <duck>
2008-05-29T22:18:22  <johill> because it "solves" a high-level problem with a low-level workaround instead of fixing it
2008-05-29T22:18:35  <johill> xorAxAx: yeah I suppose it would indeed be possible to extend the storage structure
2008-05-29T22:18:35  <xorAxAx> low-level == hardlink?
2008-05-29T22:18:44  <johill> well I just said it has to break hardlinks for file updates
2008-05-29T22:19:27  <johill> but yeah hardlinks definitely are low-level
2008-05-29T22:19:41  <johill> xorAxAx: yeah, I wonder if it wouldn't be simpler to write a git storage backend for hg ;)
2008-05-29T22:19:52  <johill> instead of extending the structure
2008-05-29T22:20:58  <dennda> let's first fix our own storage
2008-05-29T22:20:59  <dennda> :)
2008-05-29T22:21:01  <johill> :)
2008-05-29T22:24:00  <johill> it would probably indeed be trivial to make hg store things git-like, but git wouldn't be able to read that
2008-05-29T23:16:04  <dennda> johill: err you confused me :)
2008-05-29T23:16:23  <dennda> I was gonna implement the "dict-like access to revisions" on item-objects
2008-05-29T23:16:28  <dennda> so I read about dictmixins
2008-05-29T23:16:42  <dennda> and just realized I am looking for something else because it's list-like
2008-05-29T23:20:21  <dennda> johill: hm
2008-05-29T23:20:24  <dennda> just thinking
2008-05-29T23:20:51  <dennda> using a list here makes it impossible to add functionality to delete revisions afterwards
2008-05-29T23:21:08  <dennda> so I think I'll go with DictMixin that uses ints as keys
2008-05-29T23:27:35  <johill> why does it make deletion impossible?
2008-05-29T23:29:34  <dennda> johill: gosh it's too late
2008-05-29T23:29:37  <dennda> ignore that
2008-05-29T23:30:05  <dennda> johill: anyway, how would you go about using list semantics? I havn't found any ListMixin in stdlib
2008-05-29T23:31:07  <dennda> just subclass list? With dicts you aren't supposed to subclass dict if you aren't sure that that's exactly what you want
2008-05-29T23:31:22  <xorAxAx> dennda: dont subclass lists :-p
2008-05-29T23:31:34  <xorAxAx> probably you want UserList
2008-05-29T23:31:36  <dennda> xorAxAx: I won't
2008-05-29T23:31:58  <dennda> oh
2008-05-29T23:32:12  <dennda> I obviously can't concentrate this late
2008-05-29T23:32:14  <dennda> thanks
2008-05-29T23:34:10  <johill> nah userlist doesn't really work like DictMixin and there's no ListMixin
2008-05-29T23:34:26  <dennda> xorAxAx: Note
2008-05-29T23:34:26  <dennda> xorAxAx: This module is available for backward compatibility only. If you are writing code that does not need to work with versions of Python earlier than Python 2.2, please consider subclassing directly from the built-in list type.
2008-05-29T23:34:51  <johill> haha
2008-05-29T23:36:18  <xorAxAx> dennda: ouch
2008-05-29T23:36:32  <xorAxAx> well, ask the cookbook
2008-05-29T23:37:36  <johill> you don't trust the docs, do you? ;)
2008-05-29T23:37:42  <johill> anyway, UserList is useless
2008-05-29T23:37:51  <johill> it needs an internal 'data' member as the real list
2008-05-29T23:38:14  <xorAxAx> johill: hmm? i understood that my initial suggestion was a bit useless
2008-05-29T23:38:26  <xorAxAx> but i guess that the cookbook will have useful mixins
2008-05-29T23:39:00  <johill> oh ok
2008-05-29T23:39:48  <johill> I don't htink so though
2008-05-29T23:40:18  <johill> it's only contains, set/get/del, slices
2008-05-29T23:40:35  <johill> none of that you can really mix in with a few base methods
2008-05-29T23:40:58  <johill> maybe add with slicing, but..
2008-05-29T23:42:44  <CIA-50> Thomas Waldmann <tw AT waldmann-edv DOT de> default * 3645:b3747c0e81ae 1.7/MoinMoin/search/Xapian.py: Xapian search: improve analyzer to tokenize Foo42Bar23 into Foo, 42, Bar, 23
2008-05-29T23:51:14  <dennda> johill: did you find the according page in the docs? I don't seem to find it
2008-05-29T23:51:26  <dennda> (the page that covers the subclassing part)
2008-05-29T23:51:38  <johill> dennda: what page?
2008-05-29T23:51:53  <dennda> any page that covers how to subclass list correctly
2008-05-29T23:52:00  <dennda> I thought you may have found it
2008-05-29T23:54:20  <dennda> A Class that subclasses list and doesn't add any behaviour on its own has 45 methods. Too much to just guess by name what needs to be implemented how
2008-05-29T23:55:51  <johill> ah
2008-05-29T23:56:27  <johill> http://localhost/doc/python/html/ref/sequence-types.html
2008-05-29T23:59:05  <dennda> johill: which distro are you running?
2008-05-29T23:59:45  <johill> debian/unstable
2008-05-29T23:59:52  <dennda> ok

MoinMoin: MoinMoinChat/Logs/moin-dev/2008-05-29 (last edited 2008-05-29 01:00:02 by IrcLogImporter)