#emc | Logs for 2008-02-28

[00:47:36] <BigJohnT> rather quiet without Gamma-X around
[00:59:06] <Unit41>
[01:00:49] <Unit41> draw me a plan using unlimited material you see there
[01:01:10] <BigJohnT> who me?
[01:01:18] <Unit41> and concrete
[01:01:21] <Unit41> i have 3 bags of it
[01:01:36] <Unit41> i need it to plasma cut
[01:02:21] <Unit41> if someone can help me build this I'll be able to build some turbines
[01:02:47] <BigJohnT> u can plasma cut any conductive material
[01:02:57] <BigJohnT> u don't ned a plan
[01:03:16] <Unit41> exactly, i need a lathe
[01:03:25] <Unit41> look at how broke ass that picture looks
[01:03:31] <BigJohnT> u can use mine
[01:03:59] <Unit41> will you build a tesla turbine ?
[01:04:12] <BigJohnT> but you have to clean up after yourself
[01:04:42] <BigJohnT> a coil maybe
[01:05:43] <BigJohnT> u do do windows yes?
[01:06:12] <BigJohnT> 81%
[01:07:27] <BigJohnT> 86%
[01:08:17] <BigJohnT> have you locked if Faulty, only slightly
[01:08:37] <BigJohnT> \92%
[01:09:49] <BigJohnT> 97%
[01:10:24] <BigJohnT> 99%
[01:11:16] <Unit41> 100%
[01:11:25] <Unit41> what are you building ?
[01:19:35] <cradek> g
[02:06:34] <dogfishguzzler> long time no see. Howdy emc!
[02:14:45] <dogfishguzzler> Much love to you guys too.
[02:15:12] <dogfishguzzler> Freakin' finicky bunch of part makers
[02:42:20] <cradek> how do I spell atoi and atof in c++ (std::string -> int/double)?
[02:42:40] <SWPLinux> hmmm, good question
[02:43:06] <cradek> no the good questions are surely much harder
[02:43:21] <SWPLinux> no, this one is good because it can probably be answered ;)
[02:43:28] <SWPLinux> more or less definitively
[02:44:13] <SWPLinux> you could try atoi
[02:44:16] <cradek> with c++ you can no longer actually program using only manpages can you
[02:44:30] <cradek> atoi(s.c_str())?
[02:44:33] <SWPLinux> if you install the extra docs, it may be possible
[02:44:42] <cradek> some c++ programmer will surely drive here to slap me if I write that
[02:44:49] <SWPLinux> either that or just try atoi(whatever_str)
[02:44:52] <SWPLinux> heh
[02:45:14] <cradek> you must be joking?
[02:45:19] <SWPLinux> there may be more or less automatic conversions when passing std::string to char* functions
[02:45:26] <cradek> realize.cpp:62: error: cannot convert 'std::string' to 'const char*' for argument '1' to 'int atoi(const char*)'
[02:45:41] <SWPLinux> ah, nevermind :)
[02:50:59] <cradek> do you use c++ much?
[02:51:09] <SWPLinux> not too much these days
[02:51:20] <SWPLinux> the atoi(blah.c_str()) method is fine
[02:51:35] <cradek> I've heard you talk about how nice it is, even over the sound of jeff's eyes furiously rolling around
[02:51:38] <SWPLinux> it looks like the objectified way to do it is to use stringstreams
[02:51:40] <SWPLinux> heh
[02:52:02] <cradek> followed by him quickly leaving the room
[02:52:06] <SWPLinux> my main beef with it is the same as most people - it seems bloaty
[02:52:09] <cradek> :-)
[02:52:28] <SWPLinux> but I've attended some classes and seen demos of very useful techniques for removing that bloat
[02:52:38] <cradek> well c++ got me a 16cpu box to play with at work
[02:52:41] <SWPLinux> and even for doign hardware drivers (memory-mapped)
[02:52:44] <SWPLinux> coolo
[02:52:48] <cradek> so I can't complain too much
[02:52:50] <SWPLinux> I guess it is good for something ;)
[02:53:37] <SWPLinux> the big thing the various instructors have pointed out is that it "turns run-time errors into compile-time errors"
[02:53:41] <SWPLinux> which I see as a good thing
[02:54:34] <cradek> turns everything into a compile-time battle of types
[02:54:45] <SWPLinux> there was one funny one though - the instructor said (and some of the folks in the class agreed wholeheartedly) that you should never ever use #defines, because they can't be type-checked
[02:55:04] <SWPLinux> so I asked him how you'd get make system information into a C++ program
[02:55:10] <SWPLinux> and he didn't have an answer
[02:55:16] <cradek> sounds to me like he's never actually programmed any real software
[02:55:22] <SWPLinux> (but he said he'd think about it)
[02:55:27] <SWPLinux> oh, I'm sure he has
[02:55:36] <cradek> doubt he's needed make for anything
[02:55:37] <SWPLinux> though this guy was more of a theoretician
[02:55:41] <SWPLinux> heh
[02:56:07] <SWPLinux> he had a very good talk about the actual implementation details of classes, which was quite interesting
[02:56:13] <cradek> * cradek <- also not a programmer
[02:56:43] <dogfishguzzler> I had a good question too
[02:56:47] <SWPLinux> what's in vtables, what happens with virtual classes, how multiple inheritance is implemented, at an assembly-language level
[02:58:04] <SWPLinux> this guy: http://www.aristeia.com/
[03:03:50] <SWPLinux> cradek: http://www.parashift.com/c++-faq-lite/misc-technical-issues.html
[03:04:17] <SWPLinux> it looks like c++-ites think that stringstream is the way to go
[03:05:45] <cradek> thanks
[03:05:58] <SWPLinux> sure. hopefully it's readable :)
[03:06:05] <cradek> well, it's 20 lines of stuff and I don't see the actual code
[03:06:18] <cradek> I think the actual code is ">>" but I'm not sure
[03:06:19] <SWPLinux> section 39.2 (?)
[03:06:23] <cradek> yeah
[03:06:23] <SWPLinux> yes
[03:06:36] <SWPLinux> they made a wrapper function that traps errors and throws exceptions
[03:06:56] <SWPLinux> the trick is to use a stringstream instead of a string
[03:07:05] <jmkasunich> there's probably an atoi call buried in the middle of all that crap
[03:07:29] <jmkasunich> * jmkasunich has only the vaguest idea of what you are talking about
[03:07:32] <SWPLinux> or use <cstdlib.h> and atoi(balh.c_str())
[03:07:49] <SWPLinux> that was supposed to be blah - balh isn't significant ;0
[03:08:51] <cradek> ha
[03:08:52] <cradek> *** glibc detected *** corrupted double-linked list: 0x08065038 ***
[03:08:52] <cradek> Aborted
[03:09:02] <cradek> compile-time errors my ass
[03:09:05] <SWPLinux> err - oops
[03:09:18] <jmkasunich> lol
[03:09:28] <jmkasunich> so why are you using C++ anyway?
[03:09:31] <SWPLinux> that qualifies as a run-time compile-time error - the best of both worlds!
[03:09:33] <jmkasunich> the dxf libs?
[03:09:36] <cradek> yes
[03:09:37] <SWPLinux> the dxf lib
[03:09:55] <cradek> I was just thinking: I've written surprisingly many lines of c++ without screwing anything up
[03:10:10] <cradek> of course, that was before I tried running the program (that compiled with no warnings)
[03:10:20] <SWPLinux> I think that's been mostly C compiled with a C++ compiler
[03:10:31] <SWPLinux> unless you're talking about realize :)
[03:10:52] <cradek> well I've typed "&" and "string" and "::" lots of times
[03:11:02] <cradek> and "virtual"
[03:11:11] <SWPLinux> cool!
[03:11:23] <cradek> but the thing is, I have no idea how to fix it
[03:11:46] <cradek> closed = d.flags & 1;
[03:11:47] <SWPLinux> are you using ccache?
[03:11:53] <cradek> does this mean what I mean?
[03:12:03] <cradek> those are two ints
[03:12:14] <SWPLinux> it should
[03:12:24] <cradek> that's the only suspicious thing I spot
[03:12:33] <SWPLinux> you should get 1 or 0, depending on the low bit of d.flags
[03:12:45] <cradek> commenting that line fixes it
[03:12:57] <SWPLinux> hmmm.
[03:13:00] <JymmmEMC> ug
[03:13:14] <SWPLinux> d.flags& would be a reference to d.flags, but - err - well, that sucks
[03:13:24] <JymmmEMC> what was wrong with the old one?
[03:13:30] <JymmmEMC> wrong window =)
[03:13:35] <SWPLinux> loads
[03:13:44] <cradek> are you saying I should try changing the whitespace?
[03:13:49] <SWPLinux> no
[03:14:17] <cradek> I just printed d.flags on the previous line... it was zero
[03:14:28] <SWPLinux> I meant that fred& is siginficant in a way other than fred & wilma
[03:14:55] <SWPLinux> but I think that's only in function declarations
[03:15:06] <JymmmEMC> fred& is a pointer or something aint it?
[03:15:12] <SWPLinux> and I didn't bring my c++ book with me ;)
[03:15:14] <jmkasunich> I thought that was &fred
[03:15:22] <SWPLinux> reference, but similar
[03:15:26] <JymmmEMC> what jmkasunich
[03:15:28] <jmkasunich> "address of fred" = &fred
[03:15:29] <JymmmEMC> what jmkasunich said
[03:15:33] <SWPLinux> yes, &fred is the address of fred
[03:15:34] <jmkasunich> what is "fred&"
[03:15:40] <cradek> fred& is a reference
[03:15:43] <SWPLinux> fred& is a reference to fred
[03:15:51] <jmkasunich> fred is a reference to fred
[03:15:53] <JymmmEMC> <rolls eyes> lol
[03:15:54] <SWPLinux> similar to a pointer, but you use a reference without a *
[03:15:54] <cradek> like a pointer but you don't have to dereference it
[03:16:06] <JymmmEMC> * JymmmEMC slithers back to anci c
[03:16:07] <cradek> and you can't do math on it
[03:16:15] <jmkasunich> so how is that different than just saying "fred"
[03:16:44] <cradek> jmkasunich: f(fred) = pass by value; f(fred&) = pass by reference
[03:16:47] <SWPLinux> if I have a function process(int fred&, int *wilma)
[03:17:03] <SWPLinux> then I can do things like fred = *wilma
[03:17:12] <SWPLinux> or *wilma = fred
[03:17:16] <SWPLinux> no asterisk
[03:17:26] <cradek> and affect fred in the caller
[03:17:32] <jmkasunich> there has to be some difference than simply not having an asterisk
[03:17:45] <cradek> not really
[03:17:55] <cradek> well like I said, you can't do math on them
[03:18:05] <jmkasunich> so they decided to add syntax for no good reason
[03:18:10] <jmkasunich> sounds like C++ to me
[03:18:17] <SWPLinux> I'm sure there is some esoteric difference, but the practical difference is that the code inside the function is identical regardless of whether the variable is passed by reference ofr by value
[03:18:22] <SWPLinux> no, there is a good reason
[03:18:37] <SWPLinux> I cahnge one character to change the function begtween pass by value and pass by reference
[03:18:45] <jmkasunich> thats not a good reason
[03:18:54] <cradek> heh
[03:19:02] <SWPLinux> rather than changing all variable accesses to *blah or blah->something
[03:19:25] <jmkasunich> completely changing the behavior of a function is not something to do lightly
[03:19:31] <cradek> g1 z0 f3.60766e-313
[03:19:51] <JymmmEMC> jmkasunich: s/changing/overloading/
[03:19:53] <jmkasunich> (changing it from using a local to using the caller's copy of the variable is "completely changing the behavior" IMO
[03:19:59] <SWPLinux> sure
[03:20:13] <cradek> I didn't mean to start this
[03:20:18] <jmkasunich> lol
[03:20:49] <jmkasunich> I was just thinking that I should shut up - I'll never like C++ and I'll never contribute constructively to any conversation about it....
[03:20:49] <SWPLinux> it's OK - I don't think we have any rabid pro- or anti- c++ people here tonight :)
[03:20:57] <SWPLinux> oh, maybe one
[03:21:01] <SWPLinux> :)
[03:21:06] <JymmmEMC> * JymmmEMC raises hand
[03:21:16] <SWPLinux> go back to school!
[03:21:27] <JymmmEMC> ANCI C FTW
[03:21:31] <JymmmEMC> ANSI C
[03:21:39] <SWPLinux> ISO, baby!
[03:21:49] <cradek> it might be a better C if you just use some of the containers, and strings, and NOT use all the ultracomplex template crap that OO wankers use
[03:22:00] <SWPLinux> heh
[03:22:04] <cradek> so I try that sometimes
[03:22:21] <cradek> C could use strings, surely we can all agree
[03:22:25] <SWPLinux> templates are really easy, but they can be a major cause of bloat
[03:22:37] <cradek> and lists
[03:22:48] <jmkasunich> and oo wankers
[03:22:51] <SWPLinux> and they can be very complex. there was talk about programs that run in the compiler
[03:23:04] <jmkasunich> thats just sick
[03:23:09] <SWPLinux> (ie, template programs that run during compilation)
[03:23:09] <cradek> that's the kind of crap I mean - it's just dumb
[03:23:12] <SWPLinux> yes, that is sick
[03:23:25] <cradek> but the compiler has to allow it because the language is too complicated
[03:23:25] <SWPLinux> most of the standard library is very useful though
[03:23:54] <SWPLinux> stuff like maps, containers of various types, lists, queues, FIFOs ...
[03:24:08] <cradek> bitwise and...
[03:24:13] <SWPLinux> also arrays of various types
[03:24:25] <SWPLinux> bit vectors are very powerful
[03:24:26] <cradek> corrupted double-linked lists...
[03:24:33] <SWPLinux> those are nice
[03:24:35] <cradek> I'm just being a troll, sorry
[03:24:35] <SWPLinux> oh wait
[03:24:54] <SWPLinux> oh, I thought that was a compile-time error (a compiler death)
[03:24:59] <cradek> no
[03:25:00] <JymmmEMC> * JymmmEMC hands cradek a spiffy troll hat (with sprinkles on it)
[03:25:07] <cradek> thanks JymmmEMC
[03:25:26] <jmkasunich> just make sure it doesn't have objects on it
[03:25:40] <cradek> complete output: http://pastebin.ca/921548
[03:25:48] <SWPLinux> class sprinkle : public atom() ;)
[03:26:12] <cradek> commenting out the a = b & 1; line fixes that error
[03:26:46] <jmkasunich> is it really a = b & 1 now, or is it still using some class/struct member?
[03:27:37] <cradek> it's some member thingies
[03:27:46] <cradek> I don't know the lingo to say exactly what they are
[03:27:53] <SWPLinux> out of curiosity, does the right thing happen if you do a = 1&b; ?
[03:28:08] <jmkasunich> what happens if you toss the thingie into an ordinary variable of the appropriate type, and then do the & on that?
[03:28:12] <cradek> SWPLinux: nope
[03:28:17] <SWPLinux> bummer
[03:28:38] <cradek> red herring: if I take out the 1& it still errors
[03:28:52] <cradek> a=b;
[03:29:15] <SWPLinux> ok, I was going to ask for a few lines of context
[03:29:20] <jmkasunich> where a and/or b is NOT just a variable, right?
[03:29:43] <cradek> you can have the whole code if you really care - wish it was in public cvs or similar
[03:30:09] <SWPLinux> oh, a few lines of pastebin would be fine, and maybe the variable declarations
[03:30:27] <jmkasunich> does the error occur when executing that line? or is that line just a neccessary condition to cause the error?
[03:30:52] <cradek> seems like it's when executing it; that printf is directly above
[03:31:08] <jmkasunich> what is directly below?
[03:31:12] <cradek> it's surely because I don't know what I'm doing
[03:31:18] <cradek> c=0;
[03:31:19] <cradek> }
[03:31:35] <cradek> c is another private int
[03:31:45] <SWPLinux> how big is the source file?
[03:31:52] <cradek> 100 lines
[03:31:58] <SWPLinux> could you pastebin>
[03:32:00] <SWPLinux> ?
[03:32:03] <jmkasunich> I mean, what is the next printf or other thing that tells you you did or didn't make it past that line
[03:32:25] <cradek> http://pastebin.ca/921552
[03:32:37] <cradek> jmkasunich: I think it aborts on that line
[03:32:56] <cradek> SWPLinux: there's stuff in other files that must be relevant
[03:32:57] <jmkasunich> what line is it?
[03:33:19] <cradek> 28
[03:33:21] <SWPLinux> 28
[03:33:29] <jmkasunich> duh, I can read
[03:33:33] <jmkasunich> (sometimes)
[03:33:53] <SWPLinux> where is closed declared?
[03:33:53] <cradek> closed and down are private: ints in the Realize class
[03:34:02] <SWPLinux> ah
[03:34:28] <SWPLinux> could you pastebin realize.h as well>
[03:34:29] <SWPLinux> ?
[03:34:40] <SWPLinux> damned laptop keyboards
[03:34:57] <cradek> http://pastebin.ca/921554
[03:36:13] <SWPLinux> http://sourceware.org/ml/libc-alpha/2006-06/msg00005.html
[03:36:17] <jmkasunich> just out of curiosity - add printf ("%d, %d\n", sizeof(closed), sizeof(d.flags) right before the bug
[03:36:58] <jmkasunich> closed is the last item in the class, if you drop something big on it it might overrun
[03:37:16] <jmkasunich> although you'd think C++'s vaunted errorchecking would detect that
[03:38:00] <cradek> 4 4
[03:38:01] <cradek> *** glibc detected *** corrupted double-linked list: 0x08065038 ***
[03:38:01] <cradek> Aborted
[03:38:11] <jmkasunich> so much for that theory
[03:38:24] <jmkasunich> lets try another - add a dummy after closed in the class definition and see if anything changes
[03:38:39] <cradek> I'm installing valgrind (which is huge)
[03:38:46] <SWPLinux> or change the down assignment to down=d.flags
[03:38:51] <cradek> to check for RUNTIME errors in my c++ program :-)
[03:39:00] <SWPLinux> see if it's the access to d that does it
[03:39:02] <SWPLinux> heh
[03:39:12] <cradek> changing it to down= makes the error go away
[03:39:19] <SWPLinux> ok
[03:39:22] <cradek> is closed some reserved word I don't know about?
[03:39:28] <SWPLinux> I don't think so
[03:39:43] <SWPLinux> this->closed (or similar) would take care of that
[03:40:05] <SWPLinux> are these functions supposed to eventually add those objects to some list?
[03:40:19] <cradek> valgrind calls that line an invalid write of size 4
[03:40:31] <SWPLinux> if so, you need a Realize& parameter
[03:40:43] <cradek> ?
[03:40:44] <SWPLinux> I think
[03:40:52] <cradek> oh 'this'
[03:40:56] <SWPLinux> yep
[03:40:58] <cradek> I tried 'self'
[03:41:07] <SWPLinux> heh - that's pascal I think ;)
[03:41:22] <cradek> python
[03:41:38] <jmkasunich> close - they both start with p
[03:41:38] <SWPLinux> oh right - I knew I had seen it somewhere
[03:42:00] <SWPLinux> pascal has the useful "with" keyword
[03:42:13] <SWPLinux> which would be very nice in C/C++
[03:42:24] <jmkasunich> did "this" help?
[03:42:38] <cradek> no
[03:42:53] <SWPLinux> if only I could remember all that esoterica
[03:43:13] <jmkasunich> did you try appending a dummy to the end of the class?
[03:43:22] <jmkasunich> or try renaming "closed" to "foo"?
[03:43:24] <SWPLinux> you could try to printf ("%X\n" &closed)
[03:43:28] <jmkasunich> (long shots, but easy)
[03:43:40] <SWPLinux> err - %(whatever a pointer is)
[03:43:42] <cradek> ==5388== Address 0x425F06C is 4 bytes before a block of size 20 free'd
[03:43:56] <cradek> that's the address of the invalid write (I guess)
[03:44:28] <jmkasunich> this is valgrind talking>
[03:44:29] <jmkasunich> ?
[03:44:34] <cradek> yes
[03:44:42] <cradek> I'm going to do something else, thanks guys
[03:44:54] <cradek> not that this isn't entertaining and all
[03:44:54] <jmkasunich> you CAN'T!!!
[03:44:55] <SWPLinux> can you try a full rebuild (if you haven't already)?
[03:45:11] <SWPLinux> or is it this one file?
[03:45:12] <jmkasunich> you've got us all interested and curious now
[03:45:15] <SWPLinux> heh
[03:45:27] <SWPLinux> too bad we're useless at debugging C++ code :)
[03:46:09] <jmkasunich> I'd stab at it, if I had everything and knew how to compile it
[03:46:19] <jmkasunich> just because I'm curious now
[03:46:52] <cradek> SWPLinux found it, I'm an idiot
[03:47:00] <jmkasunich> what is it?
[03:47:05] <SWPLinux> hmmm. I wonder if the virtual \keyword needs to go away
[03:47:05] <cradek> main.cpp didn't depend on the .h
[03:47:12] <SWPLinux> oh
[03:47:25] <cradek> so ... something got something about the class wrong ... or something
[03:47:42] <SWPLinux> linker problem ended up as a runtime problem
[03:47:46] <jmkasunich> no, not that
[03:47:50] <jmkasunich> something else
[03:47:54] <jmkasunich> the other something
[03:48:09] <SWPLinux> must have been something
[03:48:19] <jmkasunich> glad you found it - time to walk the slathering beast
[03:48:24] <SWPLinux> heh
[03:48:28] <SWPLinux> the cat?
[03:48:33] <jmkasunich> dog
[03:48:33] <cradek> well that was something
[03:48:39] <cradek> something else
[03:48:43] <eric_U> I miss all the fun
[03:48:50] <cradek> is that what it's called?
[03:48:51] <SWPLinux> "dogs have owners, cats have staff"
[03:49:07] <jmkasunich> the cat is too short - he wouldn't be able to see over the snow
[03:49:13] <SWPLinux> heh
[03:49:25] <SWPLinux> here either - a foot or two on the ground
[03:49:27] <eric_U> we've been getting ohio weather, ice all the time
[03:49:43] <eric_U> southern ohio weather
[03:49:44] <SWPLinux> I'm not happy that we had to park on the top floor at the airport
[03:49:45] <jmkasunich> we have about a foot
[03:49:55] <jmkasunich> bummer
[03:50:04] <SWPLinux> I'm sure there'll be some clearing to do when we get back
[03:50:07] <eric_U> I'm not happy in sympathy
[03:50:15] <SWPLinux> thank you
[03:50:36] <eric_U> have you ever rented a car and had to clean the ice off the windshield with a credit card?
[03:50:43] <SWPLinux> oh, it's up to a 70% chance of snow on Friday (when we're supposed to fly back)
[03:50:49] <SWPLinux> sort of :)
[03:50:55] <SWPLinux> freak ice storm in Austin, TX
[03:50:58] <jmkasunich> I can tell you one thing thats worse than getting home from a trip and having to clean snow off the car
[03:51:02] <SWPLinux> the morning before we arrived
[03:51:12] <SWPLinux> having to shovel the driveway to get home
[03:51:19] <cradek> huh, the damn thing works
[03:51:22] <eric_U> fortunately, the hotel in dayton used those credit card-like keys to the room
[03:51:23] <SWPLinux> I forgot to put a shovel in the Jeep
[03:51:25] <cradek> (on my autocad dxf)
[03:51:28] <jmkasunich> that is, getting home from a trip (late at night), having to clean snow off the car, and then seeing that there is a flat tire on said car
[03:51:30] <SWPLinux> cool
[03:51:34] <SWPLinux> oops
[03:51:44] <SWPLinux> and then having to shovel the driveway anyway ;)
[03:51:58] <jmkasunich> I have a snowblower
[03:52:12] <eric_U> but he has to walk through the snow to get to the house
[03:52:12] <SWPLinux> do you leave it in the street when you travel? ;)
[03:52:13] <jmkasunich> so as long as I can walk thru it to the garage, I can clear the driveway
[03:52:22] <cradek> never mind that the output program is 89293 inches across
[03:52:36] <SWPLinux> that's the problem in Vermont - there's sometimes a couple of feet of snowfall, plus what the plow throws in the way
[03:52:39] <eric_U> cradek, isn't that what you wanted?
[03:52:41] <jmkasunich> but at least your links are uncorrupted
[03:52:46] <SWPLinux> \n \n \n
[03:52:50] <cradek> I'm surprised AXIS doesn't freak out, but it's fine
[03:53:03] <SWPLinux> oh, heh
[03:53:16] <jmkasunich> "program exceeds limits, run anyway?"
[03:53:17] <eric_U> snowplows are the bane of my existence
[03:53:27] <SWPLinux> but only in winter
[03:55:36] <eric_U> after years of using linux, I just realized I should be using the 4 alternate desktops
[03:56:16] <eric_U> one for goofing around, one for job #1, one for job #2, and the last one for porn
[03:56:19] <SWPLinux> heh
[04:43:27] <Hugomatic> Hi, I'm wondering if I can set the 3D tool shape in AXIS without using the tooltable?
[04:48:00] <Hugomatic> I'll submit it as a feature request and see how it goes...
[04:48:39] <SWPLinux> I think you can set tool length and diameter using the appropriate g-codes (G41 and G43?)
[04:49:14] <SWPLinux> if you're talking about lathe-style X+Z offsets, I don't think that can be done in G-code
[04:49:27] <SWPLinux> without using the tool table
[04:49:44] <Hugomatic> SWPLinux: that's right, but it requires to have an up to date tool table. I prefer using dynamic codes in the gcode instead, because I have had too many tool table errors.
[04:50:33] <SWPLinux> there are forms of G41-G43 that allow you to specify the numbers (but I don't know them offhand)
[04:50:41] <Hugomatic> SWPLinux: I now use G42.1, G41.1 and G43.1... no more tool table worries, and my gcode files are more portable
[04:50:56] <SWPLinux> take a look at tool-length-probe.ngc in the nc_files dir to see how the length offsets are applied
[04:51:03] <SWPLinux> ok
[04:51:16] <SWPLinux> you can do that in AXIS in MDI mode
[04:51:20] <Hugomatic> It works great, but I miss the cylinders
[04:51:28] <SWPLinux> heh - oh
[04:51:43] <SWPLinux> so you're wondering if you can *see* the tool shape in AXIS ;)
[04:52:10] <Hugomatic> I'm a sucker for eye candy
[06:04:16] <toastydeath> blammo
[06:58:45] <SkinnypuppY34> ..
[06:59:49] <fenn> ahoy hoy
[10:32:05] <fenn> here is a python script that translates .dxf to gcode (and actually works) http://tinyurl.com/34wox8
[10:33:25] <fenn> i had to change all the %.3f to %.5f to get emc to like the arcs from a .dxf that was in inches
[13:06:59] <alex_jon1> alex_jon1 is now known as alex_joni
[14:28:05] <cradek> yeah .3f is not enough for inches (it is for mm)
[15:04:10] <alex_joni> bbl
[15:06:40] <tomp> that translator ( for fenn's posting ) is interesting, if you stay in the page ( dont open in new window or tab), and open links, the new pages are also translated
[15:07:18] <tomp> hey set emc docs up like that, let pages get created by google ;)
[15:31:21] <alex_joni> tomp: it's close to engrish
[15:32:51] <alex_joni> http://translate.google.com/translate?u=http%3A%2F%2Fwww.linuxcnc.org%2Fdocview%2F2.2%2Fhtml%2F&langpair=en%7Cde&hl=en&ie=UTF8
[15:32:55] <archivist> methinks fenn normally types far better engrish than google
[15:33:49] <alex_joni> archivist: ?
[15:34:18] <archivist> eg he could do a better translation
[15:34:29] <archivist> of his own page
[15:35:16] <alex_joni> it's not his page
[15:35:36] <archivist> oh I thought it was
[15:36:18] <alex_joni> why would he write it in something else than english?
[15:36:50] <archivist> I have no idea where fenn is from
[15:37:02] <alex_joni> /whois fenn
[15:37:10] <alex_joni> adsl-75-60-172-190.dsl.bltnin.sbcglobal.net
[15:38:49] <alex_joni> sbcglobal.net -> att.net ;)
[15:41:49] <alex_joni> archivist: http://visualiptrace.visualware.com/reports/report-20080228-1041-adsl_75_60_172_.html
[15:43:18] <archivist> heh then he did well to find a .de site!
[15:43:32] <alex_joni> nope, I sent him the link
[15:43:39] <alex_joni> bbl
[16:21:41] <tomp> fenn: it may be that Stuart used this http://assets.gateway.com/s/Profile/Profile3/Profile301.shtml , gleaned form todays user list mailings
[16:24:01] <cradek> I have one too. I don't recommend them - they get realtime warnings.
[16:24:19] <cradek> he uses them for servo machines so they're probably ok, but I don't trust them enough
[16:28:19] <tomp> good to know, thx! ( wont watch for 'em )
[16:43:36] <alex_joni> bbl
[18:44:35] <tomp> nice daughter boards for the jetway, but none are parallel port, so the pci slot becomes your i/o and motor/amp interface ( tho it does have firewire which can be realtime )
[18:47:35] <alex_joni> link?
[18:56:14] <tomp> for jetway daughterboards http://www.jetwaycomputer.com/Daughter_Board.html for firewire being deterministic... dunno
[18:58:07] <tomp> http://www.groupipc.com/Vpr/articles/firewire.htm firewire realtime
[18:58:38] <alex_joni> http://www.jetway.com.tw/jw/ipcboard_view.asp?productid=271&proname=J7F2WE1G5
[18:59:12] <alex_joni> 1 * 26-pin Parallel Connector
[19:00:25] <alex_joni> my bet is that a regular 26-pin cable + port would work
[19:00:36] <alex_joni> (the type you had on 286 and 386's)
[19:01:25] <tomp> oh, an on board header, i just didnt see a db25 doh!
[19:02:27] <alex_joni> http://www.dollarshops.eu/product_info.php/manufacturers_id/33/products_id/999
[19:03:52] <tomp> ooh a 24 month warranty too ;)
[19:26:30] <tomp> mini itx running gutsy gibbon and with xenomai http://www.koansoftware.com/koala/it/koala-pc.htm
[20:31:08] <BigJohnT> http://www.youtube.com/watch?v=knf3cPrZPrk
[20:35:52] <fenn> i'm from indiana, not texas
[20:36:39] <billy_kid2> hi all
[20:48:56] <tomp> vismach tube ( hollow cylinder )
[20:49:10] <tomp> http://imagebin.org/14414
[20:49:32] <tomp> the cylinder primitive already had an id and od, we just passed 0 id ;)
[20:49:43] <tomp> but the inner wall is not opaque :(
[20:51:51] <tomp> extra class for vismach http://pastebin.ca/922480
[20:55:35] <tomp> truncated cone tubes ok too, and inner taper opposite of external taper ok too
[20:56:19] <micges> I saw bad thing
[20:56:21] <tomp> but concentric only
[20:56:25] <tomp> micges?
[20:56:52] <micges> welll
[20:57:31] <micges> let be: extend of machine -2.0 to 1000 in x and y
[20:57:49] <micges> I jog to -2, -2
[20:58:21] <micges> load program (sqare with rounded corners)
[20:59:42] <micges> and on last line (horizontal on -2) emc shows "soft limit exceeded"
[21:00:02] <micges> thats no good for me ..
[21:00:53] <tomp> you cut last line right at edge of machine's extent... risky on any machine, some small math error maybe
[21:01:06] <tomp> move the program 1 unit inside, and re-test
[21:01:58] <micges> 1 unit inside working, I checked already
[21:02:08] <tomp> how about .001 unit?
[21:04:51] <tomp> re: tube, the stock cylinders might be re coded so there's only tubes, just most would have 0 id
[21:05:11] <micges> extents are set in emc, why running program I cant run right on edge ?
[21:05:12] <fenn> tomp: the backface culling is worng, that's why you can see through the rear inner wall
[21:05:19] <tomp> fenn: right
[21:05:58] <SkinnypuppY34> micges cutter comp will put you over the edge with the toolpath
[21:07:41] <tomp> off to library, bbl
[21:07:42] <fenn> tomp: you know about named parameters right? you could have r1inner and r2inner as defaulting to 0
[21:08:41] <tomp> fenn: cool, but i dont change code, if any dev is interested, i just paste the idea
[21:09:00] <fenn> heh
[21:16:12] <tomp> yes glucylinder was never intended to be viewed from inside, they should have allowed a 'viewedsurface' attribute so it worked either way
[21:18:45] <fenn> to fix it you would do someting like glDisable(GL_CULL_FACE);
[21:19:19] <fenn> i am trying to figure out what this CoordsBase stuff is about
[21:24:22] <tomp> would that make both surfaces visible?
[21:25:07] <fenn> if you're lucky ;)
[21:25:35] <fenn> i think that needs to be defined in minigl though
[21:27:11] <fenn> oh its already there, yay
[21:28:12] <tomp> minigl just wraps glucylinder
[21:28:25] <tomp> static PyObject *pygluCylinder(PyObject *s, PyObject *o) {
[21:28:25] <tomp> ...
[21:29:46] <tomp> thx tho, really gotta get to lib b4 fines kick in
[21:57:09] <alex_joni> g'night all
[21:57:51] <micges> night alex
[22:02:44] <BigJohnT> night Alex
[22:13:37] <fenn> apparently if you run out of video memory (too many openGL calls) it just kills your X server.
[22:17:08] <fenn> hmm no that wasn't it
[22:17:12] <fenn> AUDIT: Thu Feb 28 17:16:10 2008: 25841 X: client 4 rejected from local host (uid 1000)
[22:34:02] <fenn> running any of (scara, puma, hexapod-sim) configs crashes my x server, but running axis and scaragui at the same time doesn't
[22:37:01] <jymm> scaragui?! wth is that?
[22:37:19] <fenn> its a simulator that shows a robot arm moving around
[22:37:27] <jymm> ah
[22:41:06] <lewin1> lewin1 is now known as lewing
[22:57:24] <fenn> aha, if i run scaragui and pumagui at the same time, it will crash too
[23:02:01] <fenn> ok it crashes when running two glxgears, i will go wander in the wilderness of linux support forums
[23:02:48] <fenn> (btw i'm using vesa and libgl1-mesa-swx11)
[23:32:38] <tomp> i tried libgl1-mesa-swx11-i686, and didnt get an improvement in xvidcap.
[23:32:38] <tomp> wah! xorg.conf sez i'm running "NVIDIA Corporation NV18 [GeForce4 MX 440 AGP 8x]"
[23:33:14] <tomp> isnt nv a nono for realtime?
[23:33:20] <fenn> that's just the card identifier
[23:33:41] <tomp> driver "nv"
[23:34:14] <fenn> nv is the open source driver (good)
[23:34:30] <tomp> ok for rt?
[23:34:32] <fenn> driver "nvidia" is the proprietary one
[23:34:51] <fenn> i think so. are you getting realtime errors?
[23:35:08] <tomp> none, thought it might be behind the choppy xvidcap tho
[23:35:16] <fenn> hah no
[23:35:27] <tomp> choppy hell, it's dropout city
[23:35:32] <fenn> xvidcap is kinda lame :\
[23:36:03] <tomp> i got that encoder , kindalame ;)
[23:36:18] <fenn> libkindalame3?
[23:37:10] <fenn> i hate when i can't remember what i did to break something
[23:37:43] <tomp> need the history log of everything you type/click
[23:37:51] <tomp> 'wayback machine'
[23:37:55] <fenn> history only goes back so far
[23:38:16] <fenn> i should raise it (only 500 commands now)
[23:47:06] <fenn> lol HISTFILESIZE=1000000000 "that should square you away for about 10 years"