IRC log for #brlcad on 20100330

01:05.31 *** join/#brlcad ibot (ibot@rikers.org)
01:05.31 *** topic/#brlcad is BRL-CAD Open Source Solid Modeling || http://brlcad.org || http://sf.net/projects/brlcad || #brlcad logs: http://ibot.rikers.org/%23brlcad/ || BRL-CAD is now available on Gentoo! (20100225)
01:45.02 CIA-73 BRL-CAD: 03brlcad * r38223 10/rt^3/trunk/tests/GS/GeometryServiceTest.cxx: huh, I thought we changed this. fix braces, pulling them up to their statement line except for functions/classes.
01:47.57 brlcad d-lo: I assume you meant the sleep on GeometryServiceTest.cxx:778 .. that isn't important to the test, could just as well have it perform some blocking status call or a while loop that counts to some big number -- that said, a portable timing mechanism usually needs to be wrapped
01:48.20 brlcad to use whatever the native timing interface is, and depending on the needs of the timer (how high precision)
01:50.28 brlcad for that test, it was just to "let time pass" before we query for events so there didn't have to be any other logic .. the test itself is just assuming "I got an event" means the evaluation succeeded anywyas -- it's intentionally very minimal
01:51.08 brlcad d-lo: and more specific to answer your question: no
01:52.04 brlcad there's not really a "better" way, at least not a portable one -- at best you might end up assuming a recent *nix and win* environment in which case you might get away with just a #define or two for sleep/_sleep/usleep/etc
01:55.01 brlcad starseeker: I'm not sure what you're referring to exactly, but you could make either a windows-specific "fork" (see our existing fork code) or use tcl threading
01:55.40 brlcad depending on communication and what data needs to be shared with what, tcl threading might be more beneficial in the long run if isolated to libdm
01:55.58 starseeker libfb/libdm?
01:56.02 brlcad sure
01:56.21 brlcad they are two peas in a pod
01:56.43 starseeker Not sure how "isolated" they would be - mged at least might have to be aware of the threads...
01:57.00 starseeker probably needs a whiteboard discussion to figure out how it would all work
01:57.34 starseeker (for me, anyway... :-/)
01:59.46 brlcad from mged's perspective, it's "send this data to that dm/fb"
02:00.59 brlcad if it's a blocking call and/or there is a lot of data then you'd maybe need something more elaborate, but that's not been a problem
02:01.12 starseeker nods
02:01.41 starseeker I'd really like to try and do it "right", assuming I'm capable of that type/level of programming
02:02.10 brlcad what is "it" that you're trying to do exactly?
02:02.34 starseeker you recall when you implemented the fork based approach to tk framebuffer?
02:02.45 brlcad sure
02:03.14 brlcad more proof of concept
02:03.16 starseeker We had discussed the possibility of Tcl threads, and at some point later in the channel you mentioned that the threads approach looked as if it would take a fair bit of work (or something like that, don't recall exactly)
02:04.21 starseeker Given that the tk display manager fails in X11 Tk on the Mac (and especially how/when it fails) I'm guessing there are some similar issues with how the Tk code in libdm and MGED's Tk code are going to interact
02:05.29 ``Erik <PROTECTED>
02:05.49 brlcad er, I don't recall saying tcl threads would be a problem
02:06.09 brlcad looking through the logs, my exact words and what comes to mind:
02:06.12 brlcad "the next step you could take that would be even better than fork() and libpkg would probably be to use TclThread's and TclPipes ... should translate nearly 1-1"
02:06.24 ``Erik (and "just use aqua tk" ain't a viable solution from my point of view, I do remote X a lot)
02:07.01 brlcad so fix it
02:07.26 ``Erik nah, it's easier to bitch and wait :D
02:07.46 ``Erik mebbe when I'm not "prioritized" anymore
02:07.52 brlcad rather counterproductive and annoying :P
02:08.31 ``Erik bitch, I'll stab you O.o :D
02:08.54 brlcad you can try
02:09.29 ``Erik knock the last of wax off tomorrie morning, salt free, w00t
02:09.57 brlcad hey if you're going to make pointless bitchy statements, don't be all whiny when someone bitches back at you for bitching pointlessly
02:10.01 ``Erik washed, vaccuumed... didn't wash the glass on the inside
02:10.31 brlcad you're just now getting salt off your car?
02:10.36 ``Erik yup
02:10.43 brlcad shakes head
02:10.49 ``Erik there were crystals built up in the mirrors O.O
02:10.58 ``Erik but I gave her a bath today
02:11.39 starseeker brlcad: ok, sorry - my bad.
02:11.44 starseeker mis-remembered
02:12.20 brlcad not saying it'll be "easy", but it should be relatively straightforward
02:12.34 starseeker nods
02:12.40 brlcad maybe go through some simple tcl threading tutorials/code first to get a feel for it
02:12.52 brlcad how you pass data between threads is the main question you'll have to figure out
02:13.33 brlcad you either cheat and go with a tcl channel, which is similar to the hack it's doing now to pass the data back from child to parent
02:13.47 brlcad or you use some tcl data passing mechanism
02:13.59 starseeker brlcad: are we OK with requiring threaded tcl for gui stuff?
02:14.18 starseeker ``Erik: have you tried downgrading X11 on the Mac?
02:16.04 brlcad you know of a reason why we wouldn't be?
02:16.36 ``Erik no
02:17.41 ``Erik threading allows shared memory pools, so only locking is a concern... forking wtih threads requires fruitiness like shm to get that :/
02:18.04 ``Erik er, not with threads, heh
02:18.51 ``Erik <-- rolls his arse to bed before he says anything else stupid O:-)
02:19.48 starseeker brlcad: not unless one of the platforms we support can't handle Tcl threads
02:20.21 brlcad then answering that probably answers your question
02:20.26 starseeker nods
02:20.29 starseeker I'll check
02:23.45 starseeker Ah. Restrictions: On some UNIX systems the pthread-library does not contain the functionality to specify the stack size of a thread. The specified value for the stack size is ignored on these systems. Windows currently does not support joinable threads. This flag value is therefore ignored on this platform.
02:24.01 starseeker probably not a show-stopper
02:25.29 starseeker prepares to warp his brain some more...
03:04.08 brlcad starseeker: quite a productive day.. nice!
03:14.33 *** join/#brlcad jack (~jack@85.92.137.10)
03:19.39 CIA-73 BRL-CAD: 03brlcad * r38224 10/brlcad/trunk/NEWS: reword for clarity and tense. cliff made mged help menu list all commands that have docs; put_comb usage was improved. (broken state is not user-visible as it occurred between releases)
03:30.46 *** join/#brlcad Ralith (~ralith@69.90.48.97)
03:55.47 CIA-73 BRL-CAD: 03starseeker * r38225 10/brlcad/trunk/doc/docbook/system/mann/en/Makefile.am: whoops - missed a backslash.
05:04.21 CIA-73 BRL-CAD: 03brlcad * r38226 10/brlcad/trunk/NEWS: cliff improved put_comb usage statements and also added a new manual page for it.
05:17.58 CIA-73 BRL-CAD: 03starseeker * r38227 10/brlcad/trunk/src/tclscripts/mged/man.tcl: Er, yeah... might want to sort those results - glob doesn't necessarily supply sorted lists.
07:51.27 *** join/#brlcad jack (~jack@unaffiliated/jack)
08:55.24 *** join/#brlcad mafm (~mafm@83.50.132.58)
11:43.06 d-lo G'Mernin all!
11:45.25 d-lo SO I know its noobish, but I was able to get rt^3 to compile, on windows, via Eclipse using mingw, cmake and QT.
11:45.42 d-lo Probably nuthin fer you esssssperts, but its a big deal for me :P
11:47.24 d-lo starseeker: We need sync gym times :)
12:39.03 starseeker d-lo: heh - when I commit at 1am, usually early gym is beyond my resources
12:39.22 d-lo I figured :P
12:41.02 starseeker is kinda amazed to be awake now
13:31.23 CIA-73 BRL-CAD: 03bob1961 * r38228 10/brlcad/trunk/src/tclscripts/swidgets/scripts/tree.itk: Added the following methods: selectpath, selectpaths, selectitem, finditem, findheritagepath and _call_querycmd.
13:37.54 CIA-73 BRL-CAD: 03bob1961 * r38229 10/brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl: Added the sed command. Modified the mrayCallback_pick method to select the picked item in the tree.
13:45.41 *** join/#brlcad parigaudi (~quassel@pd95b7f5e.dip0.t-ipconnect.de)
14:20.34 CIA-73 BRL-CAD: 03starseeker * r38230 10/brlcad/trunk/BUGS: More comments on the result reporting bug.
14:20.36 starseeker d-lo: oh, getting Windows to do anything is a big deal ;-)
14:25.57 CIA-73 BRL-CAD: 03starseeker * r38231 10/brlcad/trunk/src/tclscripts/mged/man.tcl: Introduction isn't a command, filter it out of the list.
15:08.39 CIA-73 BRL-CAD: 03indianlarry * r38232 10/brlcad/branches/STABLE/configure.ac: synced single line change from truck revision 38177 which removes the -gstabs+ and replaces with the -ggdb3 option. Should allow the MUVES S2 folk to test successfully on host 'hera'.
15:31.33 starseeker eyes goblin... graph layout algorithms, lgpl, tcl/tk stuff...
15:40.24 starseeker more C++ though
15:56.20 CIA-73 BRL-CAD: 03brlcad * r38233 10/brlcad/trunk/src/mged/cmd.c: instead of creating and setting dynamic tcl strings, just append our ged result string. lines: 115 -> 45
16:23.51 *** join/#brlcad parigaudi_ (~quassel@pd95b7f5e.dip0.t-ipconnect.de)
17:03.04 *** join/#brlcad Stattrav (~Stattrav@202.3.77.161)
20:23.17 *** join/#brlcad R0b0t1 (~Enigma@unaffiliated/r0b0t1)
20:33.18 CIA-73 BRL-CAD: 03brlcad * r38234 10/brlcad/trunk/src/libcursor/Makefile.am: turn on strict flags (already compiles clean on 32-bit x86 mac os x)
20:49.55 CIA-73 BRL-CAD: 03brlcad * r38235 10/brlcad/trunk/src/libdm/axes.c:
20:49.55 CIA-73 BRL-CAD: viewSize is unused. looks like gdas_size is getting set very high up (tcl land)
20:49.55 CIA-73 BRL-CAD: to the viewsize in base coords. one of the two don't belong, either viewsize
20:49.55 CIA-73 BRL-CAD: shouldn't be passed or (more likely) gdas_size shouldn't exist.
21:11.49 CIA-73 BRL-CAD: 03brlcad * r38236 10/brlcad/trunk/src/libdm/ (dm-Null.c dm-generic.c):
21:11.49 CIA-73 BRL-CAD: move Nu_open over from dm-Null.c for the temporary. it's empty and only used in
21:11.50 CIA-73 BRL-CAD: dm-generic right now during a dm_open. keep until interp can be refactored out
21:11.50 CIA-73 BRL-CAD: and callback added to dm struct. clean up and reorganize dm-Null.c to avoid all
21:11.50 CIA-73 BRL-CAD: forward declarations and quell all verbose compilation warnings.
21:12.20 CIA-73 BRL-CAD: 03brlcad * r38237 10/brlcad/trunk/src/libdm/dm-X.c: quellage.
21:20.32 CIA-73 BRL-CAD: 03brlcad * r38238 10/brlcad/trunk/include/dm.h: shouldn't need to export Nu_open() now.
21:38.53 CIA-73 BRL-CAD: 03brlcad * r38239 10/brlcad/trunk/src/libdm/dm-generic.c: quell unused parameter warning by testing for null and leaving early (instead of potentially crashing)
21:43.31 CIA-73 BRL-CAD: 03brlcad * r38240 10/brlcad/trunk/src/libdm/dm-tk.c: more quellage, unused vars, param tests, cull out some of the X11 code from new tk interface, cleanup.
21:47.36 CIA-73 BRL-CAD: 03brlcad * r38241 10/brlcad/trunk/src/libdm/dm-Null.c: say null display
21:50.06 CIA-73 BRL-CAD: 03brlcad * r38242 10/brlcad/trunk/src/libdm/dm-plot.c: quellage, unused vars, param tests, style, cleanup.
22:03.58 CIA-73 BRL-CAD: 03r_weiss * r38243 10/brlcad/trunk/src/conv/obj-g_new.c: reworking for nmg
22:33.52 CIA-73 BRL-CAD: 03brlcad * r38244 10/brlcad/trunk/src/libdm/dm-ps.c: quellage, unused vars, param tests, style, cleanup.
22:35.12 CIA-73 BRL-CAD: 03brlcad * r38245 10/brlcad/trunk/src/libdm/dm_obj.c:
22:35.13 CIA-73 BRL-CAD: quellage, unused vars, param tests, style, cleanup. found a couple _function_
22:35.13 CIA-73 BRL-CAD: pointer addresses getting printed to a string. this is unacceptably worse than
22:35.13 CIA-73 BRL-CAD: printing data pointer values to strings, one that the standard explicitly
22:35.13 CIA-73 BRL-CAD: prohibits. will remove soon.
22:38.43 CIA-73 BRL-CAD: 03brlcad * r38246 10/brlcad/trunk/src/libdm/dm_obj.c: sigh.. and the reverse. cannot convert between function pointers and void* .. must be fixed or removed.
22:53.15 CIA-73 BRL-CAD: 03brlcad * r38247 10/brlcad/trunk/src/libdm/dm_obj.c: clientData in the struct isn't even a function pointer.
23:19.10 CIA-73 BRL-CAD: 03brlcad * r38248 10/brlcad/trunk/bench/Makefile.am: try harder to fault if benchmark testing fails.
23:20.04 CIA-73 BRL-CAD: 03brlcad * r38249 10/brlcad/trunk/include/raytrace.h: 'normal' shadows a Carbon header enum on MacOSX
23:22.27 CIA-73 BRL-CAD: 03brlcad * r38250 10/brlcad/trunk/TODO: fix archer/libged labels/axes pointer printing for 7.18 given they are security holes and ISO C standard violations.
23:34.06 CIA-73 BRL-CAD: 03brlcad * r38251 10/brlcad/trunk/src/libdm/labels.c: remove dead ifdef'0 code, quell warnings, remove unused parameters (related to lines), keep track of max plot so we don't overrun container and cause screwy display problems (possibly some observed in the wild)
23:35.20 CIA-73 BRL-CAD: 03brlcad * r38252 10/brlcad/trunk/src/libdm/labels.c: ws indent style cleanup
23:42.22 CIA-73 BRL-CAD: 03brlcad * r38253 10/brlcad/trunk/ (4 files in 3 dirs): remove third param, ged_view structure from dm_draw_rect (shouldn't be mixing libdm and libged, shouldn't be ged data structures in dm's public API)
23:43.39 CIA-73 BRL-CAD: 03brlcad * r38254 10/brlcad/trunk/src/libdm/Makefile.am: oops, not yet
23:45.44 CIA-73 BRL-CAD: 03brlcad * r38255 10/brlcad/trunk/src/libdm/scale.c: final quellage. y1 from mac's math.h gets shadowed, so use xy/pos instead.
23:49.52 CIA-73 BRL-CAD: 03brlcad * r38256 10/brlcad/trunk/src/libdm/axes.c: xyz-end-12 are potentially usued unitialized in this function, so set them up as zero for starters.
23:53.52 CIA-73 BRL-CAD: 03brlcad * r38257 10/brlcad/trunk/src/libdm/dm_obj.c: cast through uintptr_t first so we don't lose precision. uintptr_t is only conveniently not considered a pointer type by this rev of gcc, but we're still in violation and doing it wrong.
23:54.54 CIA-73 BRL-CAD: 03brlcad * r38258 10/brlcad/trunk/src/libdm/Makefile.am: passes verbose compilation on 32-bit mac and 64-bit linux. undoubtedly a few more warts to clear up, but good enough for strict.

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.