#emc-devel | Logs for 2010-12-06

[06:20:22] <SWPadnos_> SWPadnos_ is now known as SWPadnos
[07:52:11] <psha> mhaberler: hi
[07:52:20] <psha> i've pushed some cleanups in load_handlers code
[07:52:31] <mhaberler> psha: buon giorno - ah, great
[07:52:39] <psha> check that it's still working :)
[07:52:49] <mhaberler> will do
[07:53:07] <psha> why you need inspect.ismethod?
[07:53:19] <psha> is callable not enought?
[07:53:34] <psha> i seem that it's lost in transition :)
[07:53:48] <psha> ah, not lost
[07:53:52] <mhaberler> that' snot good enough to discern method from function - will send example
[07:54:39] <psha> what is method? it's function bound to class instance
[07:54:58] <mhaberler> psha: http://stackoverflow.com/questions/1259963/python-assert-that-variable-is-instance-method
[07:55:04] <psha> if you have class instance in your hands then getattr(obj, method) will return bound function
[07:55:42] <mhaberler> callable will give you a class object as well
[07:55:52] <psha> i know difference between methods and functions :)
[07:56:00] <psha> ah
[07:56:03] <psha> that's good point :)
[07:56:22] <psha> but do you really need class named as signal handler? :))
[07:56:33] <mhaberler> dont think so
[07:56:42] <psha> so no problems in class names
[07:56:54] <psha> also that only applies to nested classes
[07:57:31] <psha> so i think that inspect.ismethod is excessive check (won't change anything in current code)
[07:57:57] <mhaberler> it's clearly anally retentive
[07:58:45] <psha> also i've added 'dbg' functions to simplify debugging
[08:01:14] <psha> also do you really need adjustable 'window1' name?
[08:01:14] <mhaberler> whoa! example still works post-merge ;-)
[08:01:32] <mhaberler> no, I just hate replicating strings
[08:01:37] <psha> :)
[08:02:24] <mhaberler> we were fixing the debug flag in parallel ;-)
[08:02:31] <psha> :)
[08:02:50] <psha> merge one small patch
[08:03:12] <psha> i've moved hdl_functions into load_handlers
[08:03:22] <psha> no need to pollute module level namespace
[08:06:24] <mhaberler> all your changes are in
[08:06:26] <mhaberler> I started working on share/gladevcp/examples
[08:06:37] <mhaberler> repo is current
[08:06:51] <psha> nice
[13:53:00] <Jymmm> http://www.rockstarprogrammer.org/post/2008/apr/06/differences-between-mercurial-and-git/
[14:11:18] <cradek_> cradek_ is now known as cradek
[14:47:23] <jepler> well this is a crazy idea: http://repo.or.cz/h/mob.html
[14:53:27] <Jymmm> jepler: you know you like the idea =)
[14:54:43] <cradek> I like it
[14:55:19] <Jymmm> I kinda do too
[15:04:24] <jepler> fwiw this seems to be the implementation of the 'mob' branch concept: http://repo.or.cz/w/girocco.git/blob/768398d585b185d1ca5fae33d11d97fffcf00c87:/hooks/update
[15:37:54] <psha> jthornton: are you 'BigJonhT'@forum?
[15:39:01] <jepler> psha: yes he is
[15:42:26] <psha> he's forum admin?
[15:42:55] <psha> good morning )
[15:44:16] <JT-Hardinge> psha: yes I am
[16:11:10] <psha> jepler: i've replaced idle_add() with sleep with timeout and it's working fine
[16:11:14] <psha> in gremliln
[16:58:10] <psha> jepler: may you take a look on this patch
[16:58:11] <psha> http://psha.org.ru/cgit/psha/emc2.git/commit/?h=gremlin-fix&id=b5eb1f16181d7b673cc62f3efa34511367837f55
[16:59:25] <psha> it's all needed to add it as gladevcp widget
[17:02:45] <psha> and it's parent - which is simple splitting patch
[17:07:22] <mshaver> Are the .pdf versions of the documentation equal to the html version, but simply apportioned into "manuals" and delivered in PDF?
[17:08:44] <SWPadnos> pretty much. AFAIK
[17:09:03] <SWPadnos> I don't know if the manpages are in any PDF though
[17:09:10] <psha> mhaberler: any progress on examples/docs?
[17:09:11] <SWPadnos> (they are available in the HTML docs
[17:09:14] <SWPadnos> )
[17:10:34] <mhaberler> psha: some - http://git.mah.priv.at/gitweb/emc2-dev.git/tree/bf36f5a48e85d24c4cadf07b82b3602f32dd9d44:/share/gladevcp/examples
[17:10:36] <mhaberler> working on the mdi example now - not in there yet
[17:10:52] <psha> ok
[17:11:41] <mshaver> SWPadnos: Thanks! I'm looking at the build system now to see what I can tell from that.
[17:12:43] <psha> mhaberler: great
[17:13:11] <mhaberler> psha: what do you mean, they work for you or what ;-)
[17:13:13] <mhaberler> few things are still broken ingladevcp/util (former inifile), so patience leaze
[17:13:46] <psha> they looks fine :)
[17:14:08] <psha> i'm picking features for merge
[17:14:35] <psha> so let stage inifile for next merge
[17:14:43] <psha> and now userfuncs will go in
[17:15:06] <mhaberler> your merge, I assume... too early for a master merge request - hold on for an hour with inifile which is now named util(!)
[17:15:33] <psha> i think it's better to stage inifile for next merge
[17:15:54] <psha> while userfuncs are pretty stable now i think that inifile will introduce too much noise...
[17:16:24] <mhaberler> fair enough, gladevcp is good to go, yes
[17:16:59] <psha> btw maybe to move gladevcp-test to share?
[17:17:12] <jepler> psha: I'm having a look at the patch..
[17:17:19] <jepler> psha: I'll start by saying that I think that's cool
[17:17:22] <jepler> psha: and then pick some nits
[17:17:36] <psha> :)
[17:17:38] <mhaberler> psha: as the world blew up, you could hear an engineer say "this will never happen" ;-)
[17:18:41] <jepler> psha: I'd rather not have poll_file_change in the base class. AXIS has never automatically reloaded the preview, and if I ever get around to writing an axis-like gui in gtk I'll want the same
[17:18:52] <psha> ok
[17:18:57] <jepler> psha: is there a derived class of gremlin that gladevcp could use to add that?
[17:19:07] <psha> yes
[17:20:04] <psha> which implement hiding DRO strings for example
[17:20:09] <psha> and GProperties
[17:20:44] <psha> http://psha.org.ru/cgit/psha/emc2.git/commit/?h=gladevcp-gremlin&id=939d2c996bf090ceb9c71ce3eb8aa6339b2295a6
[17:20:51] <psha> it's in separate branch
[17:23:59] <psha> jepler: you prefer rewriting that patch or introducing new? :)
[17:25:34] <mshaver> Note: On the web site's documentation page, the reference to "Component and command reference (pdf)" points to http://linuxcnc.org/docs/2.2/EMC2_Manual_Pages.pdf. It should point to http://www.linuxcnc.org/docs/EMC2_Manual_Pages.pdf.
[17:33:46] <jepler> psha: I'd prefer you rewrite the patch to take out that part
[17:34:12] <psha> sure
[17:35:35] <jepler> I am not doubting this change, but can you explain to me in what way .queue_draw() will behave differently than .expose()?
[17:36:04] <psha> queue draw is not rewriting it immidiate
[17:36:07] <psha> i think :)
[17:36:37] <psha> i'll check it once again for sure
[17:37:32] <psha> http://www.pygtk.org/docs/pygtk/class-gtkwidget.html#method-gtkwidget--queue-draw
[17:37:56] <psha> queue_draw invalidates widget area and not redrawing
[17:38:03] <jepler> ok, thanks -- that explains it
[17:38:07] <jepler> it was my guess but I wasn't sure
[17:38:44] <psha> The advantage of adding to the invalidated region compared to simply drawing immediately is efficiency; using an invalid region ensures that you only have to redraw one time.
[17:39:17] <jepler> in the code you'll move to gladevcp for automatic loading, you may also want to check for modifications to the file (the st_mtime, for instance)
[17:40:25] <psha> yes, would be nice to handle file update
[17:40:25] <psha> s
[17:41:41] <psha> i'm testing patch with removed poll and then pushing it
[17:41:46] <jepler> OK
[17:42:44] <psha> besides that patch is ok?
[17:43:35] <jepler> yes, I think so
[17:43:49] <psha> nice
[17:44:24] <psha> i think it does not make sense to merge this branch since i think i'll request merge of gladevcp branch today
[17:44:40] <jepler> I think there will be some 'make install' and debian/emc2.files.in changes necessary if we want the runnable gremlin program to get all the way into the packages..
[17:45:12] <jepler> but I'm not sure whether the gremlin program is useful enough to bother
[17:45:36] <psha> there is usr/bin/* in emc2.files.in
[17:45:56] <jepler> is there?
[17:46:14] <psha> yes
[17:46:32] <psha> 8 usr/bin/*
[17:47:54] <jepler> that's fine then
[17:48:30] <jepler> my memory is obviously faulty. But now I am enlightened and remember commit af705da
[17:49:26] <psha> wow
[17:49:30] <psha> it was verbose :)
[17:50:31] <jepler> so gremlin is now stable for you, even when you have multiple of them in a panel? that is really cool.
[17:50:58] <psha> yes
[17:51:50] <psha> http://psha.org.ru/cgit/psha/emc2.git/commit/?h=gremlin-fix2&id=14ab3e5668dc92661d6eaf4043985243021c7fe2
[17:51:56] <psha> this how it's looks like now
[17:52:19] <psha> patch is pretty minimal
[17:53:01] <jepler> you can do what you need to in the derived class without the load/_load split?
[17:53:51] <psha> yes
[17:54:04] <psha> just wrap call in with_context
[17:54:47] <psha> also i may wrap load call in derived class
[17:57:57] <jepler> OK
[17:57:59] <jepler> lunchtime here
[18:52:55] <psha> mhaberler: here?
[18:53:04] <mhaberler> yessir!
[18:53:22] <psha> may you look into gladevcp-cleanup branch?
[18:53:43] <mhaberler> yes I can..
[18:53:48] <psha> just simple sanity checks
[18:53:52] <psha> that it starts
[18:54:14] <psha> there are no 'new' userfuncs still
[18:55:22] <psha> it's cleanup branch to base all subsequent work on it
[18:55:51] <mhaberler> good, will pull and come back shortly, but I dont see problems yet
[18:56:05] <psha> no need
[18:56:15] <psha> i'm on feature merging stage so you'll need just to wait a bit
[18:56:33] <mhaberler> ok, then go ahead, looks good to me
[18:57:23] <psha> btw do you need several debug levels?
[18:59:06] <mhaberler> its really just verbosity
[18:59:18] <mhaberler> so can be useful at times
[19:00:40] <psha> so let leave bool for a while until some tasks will raise
[19:01:16] <mhaberler> well, I have a few compares for debug > const, so..
[19:02:50] <psha> heh, you'd better write less nested code :))
[19:03:08] <mhaberler> my old pascal habit
[19:03:28] <mhaberler> universities really can ruin style;-)
[19:03:57] <psha> heh, habits when moving from one imperetive language to another are not that bad when jumping on something pure functional :)
[19:04:30] <psha> it takes a year for me to start writing real code in haskell when i've first found it
[19:05:35] <mhaberler> haskell.. duh. I heard it exists..
[19:05:47] <psha> pretty nice language :)
[19:06:21] <psha> i'm still using it for prototyping
[19:06:30] <psha> for some large stuff
[19:07:03] <psha> first writing sketch in haskell then translate it to something else
[19:07:12] <psha> i've tried to use erlang but without any success :(
[19:07:30] <mhaberler> I'll have a look at it .. after this is done
[19:12:42] <psha> mhaberler: update branch
[19:12:48] <psha> i've merged last handlers
[19:17:11] <mhaberler> got my first merge conflict :-/
[19:18:51] <psha> i've reverted gladevcp modularization
[19:19:05] <psha> too noisy...
[19:19:10] <mhaberler> dont worry, have to learn that anyway
[19:19:43] <psha> i usually abandod feature branches after merge
[19:19:58] <psha> for example i have 3 gremlin-fix and 2 gladevcp-gremlin branches :)
[19:20:08] <psha> needed for rewriting patches
[19:20:15] <psha> then merge and drop
[19:20:33] <mhaberler> ah ja
[19:20:35] <psha> surely for my local project i don't bother with this :)
[19:20:39] <mhaberler> good idea
[19:21:01] <psha> nothing bad in tons of oneliners
[19:21:18] <psha> but for public project i'd better do more rewriting and show only clean patches :)
[19:30:01] <mhaberler> ok, got it resolved
[19:30:41] <mhaberler> I'll push so you see where I am, but its WIP on probe example; several changes on util.py
[19:32:13] <SWPadnos> fast SSD on sale at NewEgg today (if they have any left)
[19:32:34] <SWPadnos> fast + (relatively) expensive though, $250/128GB
[19:32:37] <psha> util won't land in this merge so feel free to do what you need :)
[19:33:20] <mhaberler> ok
[19:33:33] <JT-Hardinge> I thought about putting a SSD in my D510MO box but don't you have to have a hard drive too for read write data?
[19:35:45] <psha> JT-Hardinge: recent versions of ssd are pretty resistant to rw
[19:36:20] <psha> as i recall they try to use whole area for writes - not exactly same block as HDD drives do
[19:36:40] <JT-Hardinge> ah, ok
[19:51:27] <SWPadnos> you need to enable TRIM support for the highest longevity
[19:51:41] <SWPadnos> that lets the OS tell the drive that an area is no longer in active use
[19:51:58] <SWPadnos> (which lets the drive use that area for wear leveling)
[20:12:01] <psha> jepler: if you have some time may i request gladevcp merge?
[20:13:33] <psha> today merge consists of improved userfuncs and Gremlin (also tons of cleanup in gladevcp and small fix for HAL Bar widgets)
[20:23:26] <jepler> psha: If I don't get to it today, please ask someone else -- I'm about to go on a trip for a week.
[20:23:49] <psha> ok :)
[20:24:28] <psha> if you'll find time -- it's 'gladevcp' branch in my repo
[20:24:36] <psha> if not - i'll ask someone else tomorrow
[21:52:16] <CIA-41> EMC: 03jepler 07master * rddca18e0e31e 10/ (6 files in 4 dirs): Merge branch 'gremlin-fix' into gladevcp-gremlin3
[21:52:17] <CIA-41> EMC: 03jepler 07master * rdc967ecc9011 10/lib/python/gladevcp/ (hal_gremlin.py hal_python.xml hal_pythonplugin.py): gladevcp: Add Gremlin widget
[21:52:19] <CIA-41> EMC: 03jepler 07master * r2c830d5ca166 10/lib/python/gladevcp/widget-gladevcp-hal_gremlin.png: gladevcp: Added icon for Gremlin widget
[21:52:21] <CIA-41> EMC: 03jepler 07master * r2da021370a21 10/src/hal/user_comps/gladevcp.py: gladevcp: Switch from getopt to optarse
[21:52:23] <CIA-41> EMC: 03jepler 07master * r748c935c2dd9 10/lib/python/gladevcp/hal_bar.py: gladevcp: Added template string to bar
[21:52:27] <CIA-41> EMC: 03jepler 07master * r5274f152c2db 10/lib/python/gladevcp/led.py: gladevcp: Backport HAL Led to work on Hardy
[21:52:28] <CIA-41> EMC: 03jepler 07master * re555a8747180 10/src/hal/user_comps/gladevcp.py: gladevcp: Remove global variables and buildertype
[21:52:29] <CIA-41> EMC: 03jepler 07master * r2f686f50d74e 10/ (8 files in 6 dirs): Merge remote branch 'origin/master' into gladevcp
[21:52:29] <CIA-41> EMC: 03jepler 07master * r5a130eebdeb9 10/src/ (4 files in 2 dirs): gremlin: Add make rules for gremlin
[21:52:31] <CIA-41> EMC: 03jepler 07master * ra0fe3c3f815f 10/src/emc/usr_intf/gremlin/gremlin.py: gremlin: Remove sleeps from idle functions and...
[21:52:33] <CIA-41> EMC: 03jepler 07master * rb44dfb136531 10/src/hal/user_comps/gladevcp.py: gladevcp: Add get_handlers function in userfuncs
[21:52:34] <CIA-41> EMC: 03jepler 07master * ra12d55803915 10/src/hal/user_comps/gladevcp.py: Merge branches 'gladevcp-gremlin' and 'gladevcp-cleanup' into gladevcp
[21:52:35] <CIA-41> EMC: 03jepler 07master * r6aac6a97f2e8 10/ (11 files in 4 dirs): Merge remote branch 'psha/gladevcp'
[21:52:41] <jepler> psha, mhaberler: thanks, merged.
[21:53:17] <mhaberler> great, thanks!
[22:05:27] <cradek> uh-oh, buildbot doesn't like you guys
[22:05:44] <mhaberler> what's the trouble?
[22:08:38] <cradek> found it: http://emc2-buildbot.colorado.edu/buildbot/builders/hardy-i386-trunkish-sim/builds/86/steps/compile/logs/stdio
[22:15:16] <jepler> I'll look into it
[22:15:29] <jepler> it looks like a "python too old" error
[22:15:41] <mhaberler> I dont get yet why.. why python version is this`?
[22:16:45] <mhaberler> I'm using Python 2.6.5 here
[22:16:46] <jepler> the 'except ... as' syntax was added to python2.6 and is not in python2.5.
[22:16:48] <jepler> http://docs.python.org/whatsnew/2.6.html#pep-3110-exception-handling-changes
[22:17:28] <mhaberler> I see.. my python is too young.. is it all to be 2.5 compat for now?
[22:18:09] <jepler> even though I don't think we're going to ship emc 2.5 packages on ubuntu hardy, we are still not making gratuitous breakage
[22:18:16] <jepler> so, yes, your code needs to work back to python2.5.2
[22:18:46] <mhaberler> ok, will get me one for testing, thanks
[22:24:01] <CIA-41> EMC: 03jepler 07master * r02abdee62aa9 10/src/hal/user_comps/gladevcp.py: gladevcp: python2.5 compatibility
[22:24:40] <jepler> .. of course, I didn't actually test that on hardy :-/
[22:25:22] <mhaberler> thanks!
[22:25:43] <jepler> of course
[22:28:31] <jepler> hi mozmck
[22:37:15] <jepler> bbl