#linuxcnc-devel | Logs for 2013-03-29

Back
[00:00:07] <andypugh> Some sample code checks for ==0 or ==NULL for an error-return, and some checks for <0. As it is an int I suspect the <0 is correct. It is certainly returning <0 for me.
[00:00:59] <andypugh> I can modprobe uinput, but I don't see /dev/input/uinput appear. SHould I expect it to?
[00:01:47] -!- stsydow has quit [Remote host closed the connection]
[00:04:22] <andypugh> Ah, Ubuntu puts it in /dev/uinput not /dev/input/uinput..
[00:14:10] <andypugh> And I need to change permissions.
[00:28:53] -!- asdfasd has quit [Ping timeout: 256 seconds]
[00:58:24] -!- adb has quit [Ping timeout: 260 seconds]
[01:01:01] -!- stsydow has quit [Client Quit]
[01:04:20] -!- mephux has quit [Excess Flood]
[01:24:06] -!- erictheise has quit [Quit: erictheise]
[01:29:57] -!- Tom_L has quit []
[01:34:53] -!- rob_h has quit [Quit: Leaving]
[01:35:58] gimpswork is now known as gimpspace
[01:38:31] -!- gimpspace has quit [Client Quit]
[01:42:40] -!- Nick001 has quit [Client Quit]
[01:44:38] <jepler> andypugh: the return value of open() is <0 for failure and >= 0 for success
[01:44:51] <jepler> and probably yes on the latter two things you said
[01:45:09] <andypugh> Yes, I have it working now.
[01:45:12] -!- ravenlock has quit [Ping timeout: 264 seconds]
[01:45:24] <jepler> great
[01:45:31] <andypugh> I am just doing the fpenultimate test before
[01:45:43] <andypugh> before pushing.
[01:46:25] <andypugh> The ultimate test is.. jepler, can you have a quick look? http://pastebin.com/sVpzLwg9
[01:46:35] <jepler> both systems I checked have /dev/uinput, though on one I needed to (sudo) modprobe uinput before it was available
[01:46:50] <jepler> and on both systems they're not available to "regular users"
[01:47:06] <jepler> so .. documentation issue I suppose
[01:50:18] -!- Tom_itx has quit []
[01:52:26] -!- JT-Shop has quit [Read error: Connection reset by peer]
[01:53:03] -!- JT-Shop [JT-Shop!~John@162.72.171.228] has joined #linuxcnc-devel
[01:53:32] <andypugh> jepler: Any comments about this approach to the puzzle? (with syntax highlighting in this version) http://pastebin.com/FakrPpSx
[01:53:55] -!- zlog has quit [Ping timeout: 256 seconds]
[01:54:20] -!- zlog_ has quit [Remote host closed the connection]
[01:54:41] -!- JT-Shop has quit [Read error: Connection reset by peer]
[01:55:40] -!- JT-Shop [JT-Shop!~John@162.72.171.228] has joined #linuxcnc-devel
[01:57:10] -!- JT-Shop-2 [JT-Shop-2!~John@162.72.171.228] has joined #linuxcnc-devel
[01:57:11] -!- JT-Shop has quit [Read error: Connection reset by peer]
[01:59:43] -!- Nick001 has quit [Client Quit]
[02:01:09] -!- sumpfralle has quit [Ping timeout: 248 seconds]
[02:16:01] <jepler> I am taking a look...
[02:16:04] <jepler> when you have macros like this:
[02:16:05] <jepler> #define NAME_KB(kb, n) snprintf(uidev.name, UINPUT_MAX_NAME_SIZE, "%s", n); \
[02:16:08] <jepler> uidev.id.bustype = BUS_VIRTUAL; \
[02:16:10] <jepler> if(write(kb, &uidev, sizeof(uidev)))
[02:16:44] <jepler> remember that they are just substuted at the use site
[02:17:04] <jepler> so when they consist of more than one statement, the result can be surprising
[02:17:34] <jepler> for instance, imagine you wrote if(foo) NAME_KB(...)
[02:17:48] <jepler> *only the first statement* (the snprintf) would be conditioned on foo
[02:18:07] <jepler> there are at least two solutions to this: use functions instead of macros OR use a special macro trick
[02:18:18] <jepler> #define LONG_MULTISTATEMENT_MACRO do { body of the macro } while(0)
[02:18:21] <andypugh> Yes. I have been doing a bit of reading about the pitfalls.
[02:18:37] <jepler> this curious construction will act much more like a single statement than the original
[02:18:53] <andypugh> Ah, yes, I read an example like that too.
[02:19:19] <jepler> (gcc provides another way as an extension to the C language but it's not worth getting into)
[02:19:20] <andypugh> Though in this particular case, there are no such constructions.
[02:19:31] <jepler> anyway, this specific macro is concerning me for another reason
[02:19:40] <jepler> have a look at the last line of it
[02:20:04] <jepler> if it was used without a following semicolon, it would have the weird effect of making the following statement conditioned on the result of that "if"
[02:20:37] <andypugh> Yes, but I failed to find another way to stop the compiler winging.
[02:21:28] <andypugh> Is adding a semicolon in the macro a solution? I have noticed that macros don't tend to have them.
[02:22:15] <jepler> write a function which checks the return value of write
[02:22:17] <jepler> void checked_write(int fd, const void *buf, size_t count) {
[02:22:17] <jepler> if(write(fd, buf, count) != count) {
[02:22:17] <jepler> perror("write");
[02:22:17] <jepler> }
[02:22:19] <jepler> }
[02:22:24] <jepler> and then use checked_write instead of bare write
[02:23:46] <jepler> and use the do-while-0 trick (without trailing semicolon after '(0)') to fix all the concerns I raise about accidental incorrect use of the macros that expand to multiple statements
[02:23:57] <andypugh> Then macro-substitute the checked-write function?
[02:24:46] <jepler> personally I'd probably just write 'checked_write' everywhere since now it's necessary to remove the if()s too
[02:25:35] <andypugh> How big a concern is it that the macros might be misused, if they are local to that file, and used only twice?
[02:26:33] <jepler> if you've ever tried to debug a problem and at the end it's because of where there was or wasn't a semicolon, then you'll understand you may be doing future-you a huge favor by using this style of macro that makes more of those mistakes into compile-time errors
[02:26:55] <andypugh> OK.
[02:28:39] <andypugh> The problem with the empty-if might be better solved by persuading the kernel-mode version to return something.
[02:30:45] <jepler> well actually there's a huge problem with this code that I haven't raised up until now
[02:31:06] <jepler> you give up realtime as soon as you call non-realtime APIs
[02:31:24] <jepler> whether it's a kernel API like input_report_key or a userspace API like write
[02:31:49] <jepler> of course in sim we don't care but in userland rt we will
[02:31:52] <jepler> and in kernel we definitely care
[02:32:34] <andypugh> Ah.
[02:32:52] <jepler> so .. I suppose that's sort of like raining on someone's parade
[02:32:53] <andypugh> So it's an almost complete waste of time then?
[02:33:10] <andypugh> It's been instructive at least.
[02:34:23] <jepler> at least a different approach is required
[02:34:38] <jepler> something like halstreamer with a realtime part and a userspace part
[02:34:49] <andypugh> How is "giving up realtime" manifested? I haven't noticed any problems.
[02:34:54] <jepler> the realtime part writes zero or more key events into the fifo, and the userspace part reads them out
[02:35:10] -!- tjb1 has quit [Quit: tjb1]
[02:35:59] -!- micges has quit [Quit: Leaving]
[02:37:28] <jepler> anyway, imagine that instead of write() or input_report_key(), what your code says is read(), and what it's reading from is the disk
[02:37:39] <jepler> read() won't finish until the data is read
[02:38:33] <jepler> so first any other read or write to that disk that is in progress has to finish, then the head has to move to the location to be read from, blah blah blah -- 1 to 5ms by your stopwatch, ballpark figure
[02:38:45] <jepler> in read() it is easy to make a story that will crash your machine or at least ferror you
[02:39:38] <jepler> but no matter what the call, if it's not on the list of RTAPI calls that are OK to make from a realtime function and not a basic operation like x = y * z, or not a call to functions that themselves only do those things .. you have to assume it's not OK
[02:40:27] <andypugh> Who (and how) puts calls into the "OK" list?
[02:43:30] <jepler> so for instance taking the example of input_report_key, it goes down about two levels and then calls an API spin_lock_irqsave
[02:43:43] <jepler> this is a function which can block, waiting for something else that already holds that lock to release it
[02:44:22] <andypugh> It does generally expect to be called by an IRQ.
[02:44:29] <jepler> so to prove that it's OK to call input_report_key your first challenge would be to show that spin_lock_irqsave will never actually block
[02:44:46] <jepler> and then you'd have to look at what happens after that which is a lot more stuff...
[02:45:17] <jepler> anyway, back in the day jmk studied what facilities were needed by the current and anticipated realtime stuff and figured out how to provide it
[02:45:33] <jepler> in some cases, like inb/outb we know that they look like functions but compile to single instructions that takes ~1us to execute
[02:45:48] <jepler> in other cases, he would have referred to the manuals for the realtime systems he was targeting, rtlinux and rtai
[02:46:49] <jepler> sometimes we've been wrong, like about an API we used to try to get the time in nanoseconds: it killed realtime performance on some substantial chunk of systems. when we found that out, we changed much of our timekeeping to CPU cycles instead, because we knew that rdtsc is a single instruction which just takes a few dozen (?) cycles to execute
[02:47:01] <jepler> even though *that* API was provided by rtai
[02:47:20] <andypugh> There is a much simpler solution then. The existing realtime component creates a HAL pin for each key. Those could simply connect to input pins on a variable-size userspace component to create keystrokes. No need for shared-memory FIFOs or similar.
[02:48:53] <jepler> you can't use "1 for keydown" then, because there's no guarantee the userspace part runs as often as the realtime part
[02:49:01] <jepler> so basically a very quick keypress might not register
[02:49:37] <andypugh> Isn't that a problem with any keyboard though?
[02:50:18] <jepler> at some level, yes
[02:50:49] <andypugh> We already have userspace input components, presumably hal_input could miss a button press on a joypad for the same reason.
[02:52:15] <jepler> hal_input is reading from a linux input device. it's up to linux to make sure the events are not lost
[02:52:56] <jepler> if you consider the story of a usb input device, it's up to the device (which is probably a microcontroller) to register all keypresses; we'll assume none of the keypresses are so brief that they're lost here
[02:53:44] <andypugh> OK, so perhaps there is handshaking there. But I think we have HAL buttons wired directly to userspace, polling code elsewhere?
[02:53:55] <jepler> usb is a buffered protocol which the kernel reads when it can
[02:54:13] <jepler> as long as it reads frequently enough that the buffer isn't overflowed, all those key events make it to the kernel
[02:54:23] <jepler> similarly, there's a buffer between kernel and userspace
[02:55:05] <andypugh> Hardwired buttons into HAL into GUI? (is halui realtime?)
[02:55:22] <jepler> no buffers, so short button presses can get lost
[02:55:29] <jepler> no halui is not realtime
[02:55:59] <andypugh> So any hardwired buttons into that suffer, in theory, from the possibility of losing input?
[02:56:27] <andypugh> In practice you are much more likely to press a button until you see a response than you are a keyboard.
[02:56:38] <jepler> that is probably true
[02:56:43] <andypugh> But I don't really envisage folk touch-typing through this interface.
[02:57:02] <jepler> but yes, any HAL value that is "1 for do something, 0 for don't do something" is not going to be read reliably by userspace
[02:58:29] <andypugh> Anyway, it's 3am. I will come back tomorrow to strip out all this code.
[02:58:59] <jepler> yeah it's my bedtime here
[02:59:57] <andypugh> I think my problem has been mistaking "kernel" for "realtime".
[03:00:03] -!- RangerRick has quit [Remote host closed the connection]
[03:00:20] <jepler> anyway, see you
[03:00:56] <andypugh> Just in summary, if you don't get it with bare C, or rtapi, you can't use it?
[03:02:11] -!- andypugh has quit [Quit: andypugh]
[03:02:18] -!- skorasaurus has quit [Quit: left the building.]
[03:06:54] -!- cmorley1 [cmorley1!~chris@S010600c09fc019c2.no.shawcable.net] has joined #linuxcnc-devel
[03:08:59] -!- cmorley has quit [Ping timeout: 252 seconds]
[03:09:27] -!- cmorley [cmorley!~chris@S010600c09fc019c2.no.shawcable.net] has joined #linuxcnc-devel
[03:12:47] -!- cmorley1 has quit [Ping timeout: 260 seconds]
[03:18:29] -!- paideia has quit [Ping timeout: 248 seconds]
[03:25:48] -!- theorbtwo has quit [Read error: Connection reset by peer]
[03:26:25] -!- tjb1 has quit [Quit: tjb1]
[03:28:52] -!- cmorley1 [cmorley1!~chris@S010600c09fc019c2.no.shawcable.net] has joined #linuxcnc-devel
[03:31:49] -!- cmorley has quit [Ping timeout: 248 seconds]
[03:42:11] -!- mourner has quit [Ping timeout: 255 seconds]
[03:51:11] -!- phantoxeD has quit [Ping timeout: 255 seconds]
[03:56:11] -!- cmorley [cmorley!~chris@S010600c09fc019c2.no.shawcable.net] has joined #linuxcnc-devel
[03:57:23] -!- cevad has quit [Quit: Leaving]
[03:58:29] -!- cmorley1 has quit [Ping timeout: 248 seconds]
[04:05:32] -!- cmorley1 [cmorley1!~chris@S010600c09fc019c2.no.shawcable.net] has joined #linuxcnc-devel
[04:08:36] -!- cmorley has quit [Ping timeout: 264 seconds]
[04:17:44] -!- paideia has quit [Ping timeout: 255 seconds]
[04:22:03] -!- deedubs has quit [Ping timeout: 256 seconds]
[04:22:24] -!- Keknom has quit [Quit: Leaving.]
[04:28:39] -!- jfire has quit [Quit: Leaving.]
[04:40:09] -!- cmorley [cmorley!~chris@S010600c09fc019c2.no.shawcable.net] has joined #linuxcnc-devel
[04:41:20] -!- cmorley1 has quit [Ping timeout: 258 seconds]
[04:51:19] -!- ve7it has quit [Remote host closed the connection]
[04:57:09] -!- AR_ has quit [Ping timeout: 248 seconds]
[04:59:00] -!- jfire has quit [Quit: Leaving.]
[05:21:10] -!- jepler has quit [Ping timeout: 252 seconds]
[05:36:49] -!- Aero-Tec has quit [Read error: Connection reset by peer]
[05:39:13] -!- cevad has quit [Ping timeout: 240 seconds]
[05:46:15] -!- cmorley1 [cmorley1!~chris@S010600c09fc019c2.no.shawcable.net] has joined #linuxcnc-devel
[05:47:31] -!- kwallace1 [kwallace1!~kwallace@tmb-212.sonnet.com] has parted #linuxcnc-devel
[05:49:11] -!- cmorley2 [cmorley2!~chris@S010600c09fc019c2.no.shawcable.net] has joined #linuxcnc-devel
[05:49:36] -!- cmorley has quit [Ping timeout: 260 seconds]
[05:50:26] -!- cmorley1 has quit [Ping timeout: 255 seconds]
[05:58:52] -!- jepler [jepler!~jepler@emc/developer/pdpc.professional.jepler] has joined #linuxcnc-devel
[06:02:59] -!- Fox_Muldr has quit [Ping timeout: 258 seconds]
[06:03:17] -!- kwallace [kwallace!~kwallace@smb-243.sonnet.com] has joined #linuxcnc-devel
[06:03:29] -!- kwallace [kwallace!~kwallace@smb-243.sonnet.com] has parted #linuxcnc-devel
[06:11:16] -!- cmorley2 has quit [Ping timeout: 246 seconds]
[06:11:20] -!- JT-Shop-2 has quit [Read error: Connection reset by peer]
[06:11:45] -!- JT-Shop-2 [JT-Shop-2!~John@162.72.171.228] has joined #linuxcnc-devel
[06:30:26] -!- Valen has quit [Quit: Leaving.]
[06:33:28] s1dev is now known as s1dev|away
[06:35:07] s1dev|away is now known as s1dev
[06:55:54] -!- mourner has quit [Quit: mourner]
[06:56:22] -!- emel has quit [Excess Flood]
[06:59:36] -!- krusty_ar_ has quit [Ping timeout: 264 seconds]
[07:05:17] -!- vladimirek [vladimirek!~vladimire@95.105.250.72] has joined #linuxcnc-devel
[07:19:04] -!- schoebyu_ has quit [Read error: Connection reset by peer]
[07:53:07] -!- tomate_ [tomate_!~quassel@2a01:e34:ee61:a5f0:c882:950e:2573:1908] has joined #linuxcnc-devel
[08:00:14] -!- cmorley [cmorley!~chris@S010600c09fc019c2.no.shawcable.net] has joined #linuxcnc-devel
[08:17:37] -!- Aero-Tec has quit [Ping timeout: 246 seconds]
[08:34:15] -!- vladimirek has quit [Remote host closed the connection]
[09:02:44] -!- mourner has quit [Quit: mourner]
[09:03:05] -!- b_b has quit [Changing host]
[09:47:02] -!- emel has quit [Excess Flood]
[09:55:46] -!- stsydow has quit [Remote host closed the connection]
[10:00:10] -!- tomate_ has quit [Ping timeout: 246 seconds]
[10:01:14] -!- skunkworks has quit [Remote host closed the connection]
[10:05:17] -!- tomate_ [tomate_!~quassel@2a01:e34:ee61:a5f0:c882:950e:2573:1908] has joined #linuxcnc-devel
[10:09:37] -!- tomate_ has quit [Ping timeout: 246 seconds]
[10:09:57] -!- tomate_ [tomate_!~quassel@2a01:e34:ee61:a5f0:c882:950e:2573:1908] has joined #linuxcnc-devel
[10:17:00] -!- rob_h [rob_h!~rob_h@027c16a0.bb.sky.com] has joined #linuxcnc-devel
[10:20:30] -!- Valen has quit [Quit: Leaving.]
[10:31:07] -!- andypugh [andypugh!~andy2@cpc16-basl9-2-0-cust685.20-1.cable.virginmedia.com] has joined #linuxcnc-devel
[10:54:07] -!- skunkworks [skunkworks!~skunkwork@68-115-41-210.static.eucl.wi.charter.com] has joined #linuxcnc-devel
[10:56:23] -!- ktchk has quit [Ping timeout: 256 seconds]
[11:00:12] -!- davec_ has quit [Ping timeout: 264 seconds]
[11:52:09] -!- Valen has quit [Read error: No route to host]
[11:57:34] -!- zlog has quit [Remote host closed the connection]
[11:57:37] -!- Tom_itx has quit []
[11:59:18] -!- claris has quit [Quit: Page closed]
[12:02:57] -!- Thetawaves_ has quit [Quit: This computer has gone to sleep]
[12:06:52] -!- Valen has quit [Quit: Leaving.]
[12:19:30] -!- cncbasher [cncbasher!~quassel@cpc15-hart9-2-0-cust101.11-3.cable.virginmedia.com] has joined #linuxcnc-devel
[12:48:42] -!- laserman has quit [Quit: Leaving]
[12:50:27] -!- b_b has quit [Changing host]
[13:18:03] -!- syyl has quit [Ping timeout: 240 seconds]
[13:23:28] -!- i_tarzan_ has quit [Ping timeout: 245 seconds]
[13:23:48] -!- laserman [laserman!~laserman@cpc15-hart9-2-0-cust101.11-3.cable.virginmedia.com] has joined #linuxcnc-devel
[13:24:21] -!- i_tarzan has quit [Ping timeout: 256 seconds]
[13:32:37] -!- V0idExp has quit [Read error: Connection reset by peer]
[13:42:43] -!- kwallace [kwallace!~kwallace@smb-112.sonnet.com] has joined #linuxcnc-devel
[13:48:33] -!- ProxDem has quit [Ping timeout: 240 seconds]
[13:55:15] JT-Shop-2 is now known as JT-Shop
[14:03:38] -!- wboykinm has quit [Ping timeout: 255 seconds]
[14:14:36] -!- smithrobs has quit [Ping timeout: 264 seconds]
[14:21:54] b_b is now known as redmine
[14:22:13] redmine is now known as b_b
[14:32:16] smithrobs_ is now known as smithrobs
[14:34:29] -!- adb [adb!~IonMoldom@178.211.237.94] has joined #linuxcnc-devel
[14:34:44] -!- mhaberler has quit [Read error: Operation timed out]
[14:43:06] -!- stsydow has quit [Ping timeout: 256 seconds]
[14:44:03] -!- mhaberler [mhaberler!~mhaberler@macbook.stiwoll.mah.priv.at] has joined #linuxcnc-devel
[15:08:49] -!- stsydow has quit [Ping timeout: 258 seconds]
[15:10:40] -!- b_b has quit [Changing host]
[15:20:56] -!- IchGuckLive has quit [Quit: ChatZilla 0.9.87 [Firefox 18.0/20130108033621]]
[15:27:32] -!- jpk has quit [Quit: Leaving.]
[15:35:23] -!- Zoli has quit [Quit: Page closed]
[15:37:23] -!- adb has quit [Remote host closed the connection]
[15:44:36] -!- smithrobs has quit [Ping timeout: 264 seconds]
[15:48:01] -!- jfire has quit [Quit: Leaving.]
[15:57:50] -!- joe9 has quit [Read error: Connection reset by peer]
[15:59:33] -!- stsydow has quit [Remote host closed the connection]
[16:00:44] smithrobs_ is now known as smithrobs
[16:01:18] -!- mhaberler_ [mhaberler_!~mhaberler@macbook.stiwoll.mah.priv.at] has joined #linuxcnc-devel
[16:02:36] -!- mhaberler has quit [Ping timeout: 264 seconds]
[16:02:37] mhaberler_ is now known as mhaberler
[16:15:53] -!- ve7it [ve7it!~LawrenceG@S01060014d19d0b68.pk.shawcable.net] has joined #linuxcnc-devel
[16:22:16] -!- jfire has quit [Quit: Leaving.]
[16:36:28] -!- erictheise has quit [Quit: erictheise]
[16:40:27] -!- TheLarch [TheLarch!~Larch@adsl-75-49-209-91.dsl.emhril.sbcglobal.net] has joined #linuxcnc-devel
[16:40:28] -!- TheLarch has quit [Changing host]
[16:40:28] -!- TheLarch [TheLarch!~Larch@unaffiliated/l84supper] has joined #linuxcnc-devel
[16:41:09] -!- TheLarch has quit [Client Quit]
[16:41:50] -!- L84Supper has quit [Ping timeout: 256 seconds]
[16:45:25] -!- smithrobs has quit [Ping timeout: 258 seconds]
[16:46:05] smithrobs_ is now known as smithrobs
[16:46:16] -!- wboykinm has quit [Remote host closed the connection]
[16:46:21] -!- L84Supper [L84Supper!~Larch@unaffiliated/l84supper] has joined #linuxcnc-devel
[16:53:30] -!- stsydow has quit [Remote host closed the connection]
[16:53:49] -!- mhaberler has quit [Quit: mhaberler]
[16:54:36] -!- Vq has quit [Ping timeout: 245 seconds]
[16:55:43] -!- Oo_BIGeye has quit [Ping timeout: 264 seconds]
[16:57:40] -!- mhaberler [mhaberler!~mhaberler@macbook.stiwoll.mah.priv.at] has joined #linuxcnc-devel
[17:11:54] -!- mourner has quit [Quit: mourner]
[17:27:02] -!- dway has quit [Quit: NOOOOOOooooooooo……]
[17:27:51] -!- andypugh_ [andypugh_!~andy2@cpc16-basl9-2-0-cust685.20-1.cable.virginmedia.com] has joined #linuxcnc-devel
[17:28:24] -!- andypugh has quit [Ping timeout: 264 seconds]
[17:28:25] andypugh_ is now known as andypugh
[17:41:23] -!- sumpfralle has quit [Ping timeout: 258 seconds]
[17:43:34] -!- JT-Shop has quit [Read error: Connection reset by peer]
[17:43:57] -!- JT-Shop [JT-Shop!~John@162.72.171.228] has joined #linuxcnc-devel
[17:44:58] -!- smithrobs has quit [Ping timeout: 246 seconds]
[17:45:00] smithrobs_ is now known as smithrobs
[17:47:46] -!- tomate_ has quit [Remote host closed the connection]
[17:48:14] -!- V0idExp has quit [Quit: Leaving.]
[17:48:24] -!- BHSPiMonkey has quit [Read error: Operation timed out]
[18:06:13] Cylly is now known as Loetmichel
[18:11:58] -!- laserman has quit [Quit: Leaving]
[18:12:23] -!- cncbasher_ [cncbasher_!~quassel@cpc15-hart9-2-0-cust101.11-3.cable.virginmedia.com] has joined #linuxcnc-devel
[18:12:37] -!- gmag has quit [Ping timeout: 246 seconds]
[18:14:09] -!- holgi has quit [Quit: Bye]
[18:15:55] -!- cncbasher_ has quit [Client Quit]
[18:18:43] -!- erictheise has quit [Quit: erictheise]
[18:21:22] -!- erictheise has quit [Client Quit]
[18:37:26] -!- pcw_home has quit [Ping timeout: 256 seconds]
[18:50:45] -!- pcw_home [pcw_home!~chatzilla@ip-66-80-167-54.sjc.megapath.net] has joined #linuxcnc-devel
[19:01:32] -!- krusty_ar has quit [Ping timeout: 255 seconds]
[19:03:35] -!- IchGuckLive has quit [Quit: ChatZilla 0.9.87 [Firefox 18.0/20130108033621]]
[19:46:43] -!- smithrobs has quit [Ping timeout: 264 seconds]
[19:46:43] smithrobs_ is now known as smithrobs
[19:55:16] -!- skunkworks has quit [Quit: Leaving]
[20:03:09] -!- chopper79 has quit [Quit: Leaving.]
[20:25:09] -!- pcw_home has quit [Ping timeout: 248 seconds]
[20:25:20] -!- tjb1 has quit [Quit: tjb1]
[20:38:47] -!- pcw_home [pcw_home!~chatzilla@ip-66-80-167-54.sjc.megapath.net] has joined #linuxcnc-devel
[20:54:12] -!- mhaberler has quit [Ping timeout: 264 seconds]
[21:14:05] -!- smithrobs_ has quit [Client Quit]
[21:14:19] -!- jpk has quit [Ping timeout: 264 seconds]
[21:16:20] -!- smithrobs has quit [Ping timeout: 252 seconds]
[21:27:30] -!- paideia has quit [Quit: Leaving]
[21:29:30] -!- tmcw has quit [Remote host closed the connection]
[21:36:21] -!- erictheise has quit [Quit: erictheise]
[21:40:40] -!- mhaberler [mhaberler!~mhaberler@extern-186.stiwoll.mah.priv.at] has joined #linuxcnc-devel
[21:53:09] -!- neuling has quit [Remote host closed the connection]
[21:53:34] -!- FinboySlick has quit [Quit: Leaving.]
[22:04:12] -!- ve7it has quit [Remote host closed the connection]
[22:04:31] -!- DJ9DJ has quit [Quit: bye]
[22:09:36] -!- Loetmichel has quit [Ping timeout: 260 seconds]
[22:17:34] -!- skunkworks [skunkworks!~chatzilla@str-broadband-ccmts-ws-26.dsl.airstreamcomm.net] has joined #linuxcnc-devel
[22:21:14] -!- mhaberler has quit [Quit: mhaberler]
[22:22:14] -!- Wildhoney has quit [Ping timeout: 255 seconds]
[22:24:13] -!- lsu has quit [Quit: Ex-Chat]
[22:26:16] -!- jerryitt has quit [Quit: Leaving.]
[22:35:32] -!- stsydow has quit [Remote host closed the connection]
[22:41:36] -!- ravenlock has quit [Ping timeout: 264 seconds]
[22:52:42] -!- phantoneD has quit []
[22:56:13] -!- vladimirek [vladimirek!~vladimire@95.105.250.72] has joined #linuxcnc-devel
[22:58:06] -!- syyl_ws has quit [Quit: Verlassend]
[22:58:49] -!- zzolo has quit [Quit: zzolo]
[23:07:26] -!- stsydow has quit [Ping timeout: 252 seconds]
[23:08:09] zenek is now known as micges
[23:08:16] -!- micges [micges!~zenek@exd87.neoplus.adsl.tpnet.pl] has joined #linuxcnc-devel
[23:16:59] -!- mozmck1 [mozmck1!~moses@client-204.235.45.161.wcfltx.partnershipbroadband.com] has joined #linuxcnc-devel
[23:18:06] -!- hdokes has quit [Ping timeout: 256 seconds]
[23:24:57] -!- paideia has quit [Read error: Connection reset by peer]
[23:28:04] -!- mozmck1 has quit [Quit: Leaving.]
[23:28:45] -!- mozmck1 [mozmck1!~moses@client-204.235.45.161.wcfltx.partnershipbroadband.com] has joined #linuxcnc-devel
[23:29:05] mozmck1 is now known as mozmck_lp
[23:30:33] -!- servos4ever has quit [Quit: ChatZilla 0.9.85 [SeaMonkey 2.0.11/20101206162726]]
[23:38:35] -!- mozmck_lp has quit [Quit: Leaving.]
[23:39:59] <micges> cradek: hi, if I merge master into ja3, there will be email flood?
[23:42:40] <cradek> a million times yes
[23:43:24] -!- chopper79 has quit [Quit: Leaving.]
[23:43:35] <cradek> oops I'm wrong
[23:43:43] <cradek> no email flood, but probably irc flood
[23:44:26] <micges> this is acceptable :)
[23:44:36] <cradek> I disabled kgb-client, go ahead when you are ready
[23:44:56] <micges> in 15 min
[23:45:26] <cradek> that is optimism!
[23:46:03] <micges> I've started yesterday :)
[23:46:13] <cradek> haha that explains it
[23:47:21] -!- vladimirek has quit [Remote host closed the connection]
[23:47:31] -!- mozmck1 [mozmck1!~mozmck_lp@client-204.235.45.161.wcfltx.partnershipbroadband.com] has joined #linuxcnc-devel
[23:47:32] <micges> ja3 is prepared to merge to master, last additions was made 1.5 year ago, after that only merges
[23:47:36] -!- mozmck1 has quit [Client Quit]
[23:47:46] <micges> but note that it will broke ALL configs
[23:48:20] <cradek> understood
[23:48:24] <cradek> that is very good news
[23:48:30] <cradek> I hope to find time to try it out
[23:48:54] <micges> and most important - ja3 works on quite few machines for some time
[23:49:07] <cradek> we really ought to all test it and consider merging it at fest in june
[23:49:34] <cradek> do I understand right that it has incremental and wheel jogging in world mode?
[23:49:43] <micges> yes
[23:49:46] -!- Tom_L has quit []
[23:49:59] <cradek> but not joint vel/acc constraints yet, right?
[23:50:07] <micges> exactly
[23:50:12] <andypugh> As I mentioned the other day, I think we need an INI file tag (and that could usefully be a version number) that prompts to run a script to convert.
[23:50:44] <cradek> yeah we probably oughta look into (semi-)auto ini converts
[23:51:06] <micges> also hal
[23:51:07] <cradek> as a requirement of releasing off master, not necessarily as a requirement of merging
[23:51:07] -!- bill1123 has quit [Quit: ChatZilla 0.9.90 [Firefox 19.0.2/20130307023931]]
[23:51:12] <micges> axis.0 -> joint.0
[23:51:17] <cradek> right
[23:51:42] <andypugh> I am a real fan of JA3 even though I have never used it. You only have to get deep enough into the non-ja3 stuff to see how necessary it is.
[23:51:43] <cradek> frankly good documentation in the style of the traditional UPDATING wikipage might be adequate
[23:51:53] <cradek> yes I'm really excited too
[23:52:05] <cradek> the jogging improvement alone is wonderful
[23:52:19] <cradek> jmk and I started on that so many years ago
[23:52:58] <cradek> it was in cvs for ages (that's why it's ja3: 3 is the number of times I painstakingly unstaleified the branch)
[23:53:19] <cradek> also, yay git
[23:53:43] <cradek> bb (much) l
[23:53:48] <cradek> thanks micges
[23:54:01] <micges> welcome
[23:54:10] <andypugh> A curious thing. When I first started with LinuxCNC the more impressed I got. At some point there was a point is inflection where I started seeing the things that were wring.
[23:55:04] <andypugh> And now I have to keep reminding myself that it does actually work well, despite the stuff that is wrong.
[23:55:18] <cradek> yeah I know just what you mean
[23:55:46] <micges> me too
[23:55:47] <cradek> the only good thing about the code is how it works for thousands (?) of people doing really useful work with it
[23:56:09] <andypugh> My first sentence would make a lot more sense with the missing phrase inserted, and swapping an "is" for an "of" and a "wring" for a "wrong"
[23:56:15] <cradek> you can't lose sight of that (and how important continuity is)
[23:57:15] <micges> we should try deal with 'wrongs'
[23:57:19] <andypugh> I am planning on coming to the fest.
[23:57:24] <cradek> andypugh: after more years, you'll find that all code bases that make up useful nontrivial programs suck, and eventually make peace with it
[23:57:26] <micges> in some planned manner
[23:57:33] <cradek> andypugh: yay!! that's wonderful
[23:57:40] <cradek> andypugh: yell if you need a ride or anything.
[23:58:19] <cradek> micges: mhaberler is working on a lot of that, and it's terrific. ja3 is a big part of that too.
[23:59:20] <cradek> now I really have to go! bbl.
[23:59:30] <micges> yeah but imo we should insert some kind of plan around that
[23:59:34] <micges> see yuo
[23:59:51] <andypugh> yeah, my Excel Macro that saves Ford $2,000,000 a year by running our dyno tests in lieu of a $20k per year package wouldn't be an Excel macro had I known what it would become (it would be a VB program importing Excel objects)