#emc | Logs for 2006-01-29

[00:00:07] <skunkworks> (how are you creating them)
[00:01:05] <Jacky^> emacs :D
[00:01:34] <skunkworks> emacs? apple?
[00:01:39] <Jacky^> yeah :)
[00:02:14] <skunkworks> really - would you mind explaining? (you don't have to)
[00:02:17] <Jacky^> oh .. youre not identified to the server ? :/
[00:02:30] <Jacky^> why ?
[00:03:05] <Jacky^> yes, I used some gcode file a friend gave me
[00:03:17] <skunkworks> no I am not. I can see what you are typing but can't respond
[00:03:27] <Jacky^> oh.. ok
[00:04:16] <Jacky^> I seen some job you done in frappr photos
[00:04:26] <Jacky^> its nice :)
[00:05:02] <skunkworks> the ball? that was done with lermans interp and a little right angle trig ;)
[00:05:07] <Jacky^> yeah
[00:05:41] <skunkworks> one of these days I will make finish one so that the ball is trapped
[00:05:51] <Jacky^> cool
[00:06:02] <Jacky^> its very nice
[00:06:27] <skunkworks> It was our first full 3 axis machine - had to play a litte ;)
[00:07:18] <Jacky^> I'm thinking to add a tilt to Z axis of mine cnc
[00:07:29] <Jacky^> but its a toy ..
[00:07:44] <Jacky^> I dont wnat to spend much time on it
[00:08:16] <skunkworks> we need to get a rotory axis on ours to play.
[00:08:18] <k4ts> night
[00:08:46] <skunkworks> that software looks neet
[00:08:53] <Jacky^> could be funny :)
[00:11:40] <Jacky^> btw, my first machine gave me a lots of satisfactions, im going to write a small doc about it to help peoples who do not have to much money to start with an expensive machine
[00:12:31] <Jacky^> to be honest, it was really funny
[00:14:07] <skunkworks> I guessing you mean 'really fun'. as in it was a good time?
[00:14:47] <Jacky^> yeah, too
[00:15:17] <Jacky^> I forced it a bit ..
[00:16:00] <Jacky^> starting with a dremel and changing it with 1kw router
[00:16:27] <Jacky^> all depend on what peoples want to do
[00:16:38] <CIA-17> 03alex_joni * 10emc2/src/ (configure configure.in): checking for sudo, also allows overrides like this: --with-sudo=/usr/bin/gksudo
[00:16:47] <skunkworks> I just think computer controlled multi axis machine is fun - we might just be odd
[00:18:19] <CIA-17> 03alex_joni * 10emc2/scripts/emc.in: changed sudo with found by configure
[00:20:17] <cradek> http://timeguy.com/cradek-files/emc/control
[00:20:24] <cradek> oops
[00:20:29] <Jacky^> :)
[00:20:39] <skunkworks> done that before ;)
[00:27:37] <cradek> haha, three people immediately loaded that url
[00:30:49] <alex_joni> lol.. it's yummy
[00:30:50] <alex_joni> :D
[00:32:14] <Jacky^> cradek: im too :(���
[00:32:27] <Jacky^> did you logged my IP ? O:O
[00:32:37] <cradek> probably
[00:32:43] <Jacky^> aarrggh
[00:32:46] <Jacky^> :(
[00:33:06] <skunkworks> I admit I did it also ;)
[00:33:27] <Jacky^> oh.. ok, at least im not the only one
[00:34:11] <cradek> - - [28/Jan/2006:18:20:47 -0600] "GET /cradek-files/emc/control HTTP/1.1" 200 634 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8) Gecko/20060110 Debian/1.5.dfsg-4 Firefox/1.5"
[00:35:10] <Jacky^> ERC Version 3.0 $Revision:
[00:35:11] <Jacky^> 1.477 $ (IRC client for Emacs)
[00:35:17] <Jacky^> :D
[00:35:24] <Jacky^> a bit of spam :P
[00:36:36] <Jacky^> cradek: what is apache ?
[00:36:44] <Jacky^> I like Boa
[00:37:07] <Jacky^> for embedded systems.. its incredible, fassst
[00:37:25] <Jacky^> and neat
[00:59:38] <Jacky^> hey Jymmm
[00:59:45] <Jymmm> hi
[01:00:04] <Jacky^> is cold there ?
[01:00:49] <Jymmm> http://weather.noaa.gov/weather/current/KSJC.html
[01:01:13] <Jacky^> oh
[01:01:17] <Jacky^> lax :)
[01:01:32] <Jymmm> Jymmm is now known as Red70sShow
[01:01:32] <Red70sShow> Red70sShow is now known as Jymmm
[01:01:34] <Jacky^> oh.. no
[01:01:53] <Jacky^> Humid
[01:01:59] <Jacky^> but not cold
[01:02:19] <Jacky^> I was expecting the snow there
[01:04:14] <Jacky^> latest photo I did: 5 min ago http://digilander.libero.it/jackydgl0/chelin.jpg
[01:04:41] <Jacky^> damn kats.. eat eat .. E. 5 at day
[01:04:45] <Jacky^> :/
[01:15:19] <Jymmm> Jacky^ : http://www.ooze.com/ooze13/cats.html
[01:16:03] <Jacky^> aaarrrghh
[01:16:11] <Jacky^> no :(��
[01:44:40] <alex_joni> night all
[01:44:47] <SWP_Away> see ya
[01:45:07] <Jacky^> night alex_joni
[01:45:38] <Jacky^> im going to
[01:45:43] <SWP_Away> see ya
[01:45:46] <Jacky^> night
[01:46:01] <Jacky^> Jacky^ is now known as Jacky^afk
[03:49:16] <NickServ> This nickname is owned by someone else
[03:49:16] <NickServ> If this is your nickname, type /msg NickServ IDENTIFY <password>
[04:01:35] <CIA-17> 03cradek * 10emc2/scripts/emc.in: ugh, looks like we need this one too
[11:01:31] <Jacky^afk> Jacky^afk is now known as Jacky^
[11:05:21] <Jacky^> some engineer forgot the snow planning a building in Poland ..
[11:06:01] <Jacky^> as some other forgot the rain planning the Olympic Stadium - Montreal
[11:06:58] <Jacky^> we are in good hands
[11:07:22] <Jacky^> morning ..
[11:25:32] <CIA-17> 03alex_joni * 10emc2/docs/AUTHORS: added jepler to the list of authors
[11:26:22] <CIA-17> 03alex_joni * 10emc2/docs/NEWS: added latest bugfix
[11:26:52] <CIA-17> 03alex_joni * 10emc2/debian/changelog: added latest bugfix
[11:46:35] <CIA-17> 03alex_joni * 10emc2/directory.map: fixed typos, added some more information
[11:56:11] <fenn> something's borked in the makefile.. got 187 levels of recursion before i killed it..
[11:57:39] <robin_sz> meep?
[11:57:46] <Jacky^> hi robin_sz :)
[11:58:02] <robin_sz> eveny
[11:58:07] <fenn> er, i was doing make tgz btw
[11:58:16] <Jacky^> seen the latest news from Poland ?
[11:58:17] <fenn> * fenn talks to nobody in particular
[11:58:34] <Jacky^> robin_sz: the engineer forgot the snow ..
[11:58:40] <robin_sz> oopsy
[11:58:49] <Jacky^> he sayd: damn it ! the snow .. I forgot it :/
[11:59:13] <robin_sz> I presume this is yet another flat building?
[11:59:41] <Jacky^> it seems square on the top
[12:00:05] <robin_sz> have you noticed how swiss chalets have very sloping roofs?
[12:00:26] <Jacky^> nope
[12:00:33] <robin_sz> they do
[12:00:42] <robin_sz> prevents snow build up
[12:01:55] <alex_joni> hello
[12:01:58] <alex_joni> hi robin
[12:02:01] <Jacky^> hi alex_joni
[12:02:05] <robin_sz> gday
[12:02:26] <robin_sz> * robin_sz prepares to do a debian install on his laptop
[12:02:39] <Jacky^> wow
[12:02:50] <Jacky^> robin_sz: using sarge installer ?
[12:02:55] <robin_sz> I hope it leaves my redhat and windows installs alone
[12:02:57] <robin_sz> yeah
[12:03:00] <Jacky^> good
[12:03:01] <robin_sz> net install
[12:03:04] <Jacky^> yeah
[12:03:44] <fenn> "A catastrophe on this scale has never happened in Poland." ??? poland has been blasted to hell and back more than any other country
[12:05:18] <Jacky^> the problem is when an engineer plan without knowledge ..
[12:05:33] <Jacky^> and forgot some important 'thing'
[12:05:47] <Jacky^> as the rain, snow, wind
[12:05:59] <Jacky^> later ..
[12:06:08] <Jacky^> Jacky^ is now known as Jacky^lunch
[12:06:32] <fenn> * fenn wonders when people will learn to use geodesic domes..
[12:07:02] <alex_joni> fenn: still ahving problems with make tgz?
[12:07:18] <alex_joni> I had the same issue, because CVS didn't checkout the latest sourcecode
[12:07:25] <alex_joni> and a hal/ dir was missing
[12:07:36] <alex_joni> hal/user_comps
[12:08:03] <alex_joni> robin_sz: I installed a sarge on a machine lately, works great
[12:08:24] <alex_joni> robin_sz: use xfce4, I love that..
[12:09:35] <robin_sz> ok rebooting ... :)
[12:09:41] <fenn> alex_joni: thanks that was the problem.. needed a -dP
[12:09:51] <fenn> weird symptom
[12:10:15] <alex_joni> yup
[12:10:46] <fenn> i think it tries to do (cd user_comps; make clean) but then its still in the same directory
[12:11:04] <alex_joni> yup
[12:11:16] <alex_joni> well.. at least it cleans up thoroughly
[12:11:24] <alex_joni> lol
[12:11:40] <fenn> heh maybe it should shred the disk after its done
[12:11:54] <alex_joni> I think my cron script doesn't do cvs up -dP properly
[12:11:55] <alex_joni> :(
[12:13:07] <fenn> pserver has been screwy for a long time
[12:13:44] <fenn> hrm.. i forget which method can accept a password
[12:13:54] <alex_joni> I don't use pserver
[12:14:03] <fenn> maybe its ext then
[12:14:11] <alex_joni> anyways, I didn't have -dP there ;)
[12:14:15] <fenn> ah
[13:12:19] <Jacky^lunch> Jacky^lunch is now known as Jacky^
[13:24:26] <Jacky^> alex_joni: already tried Ion3 ?
[13:24:44] <Jacky^> the window manager
[13:25:13] <Jacky^> I suggest to use it especially in laptop ..
[13:25:59] <Jacky^> just spending few days to remember keys combinations, youll be happy Forever ! :D
[13:26:57] <Jacky^> I was using kde in my 10" laptop, I was tired to resize windows and use the mouse ..
[13:27:12] <Jacky^> my right hand was tired :P
[13:27:31] <Jacky^> floating workspace is coool, try it
[13:28:01] <Jacky^> and tell me if you like it
[13:29:04] <Jacky^> for developers its the best wm
[13:30:22] <Jacky^> I had same difficult as in emacs starting with it, to remember sequence keys
[13:30:39] <Jacky^> but after a bit .. :D
[13:31:19] <Jacky^> right hand stay on keyboard
[13:42:22] <alex_joni> Jacky^: remember I don't have a mouse on my laptop
[13:42:34] <alex_joni> so I don't need to worry about moving my right hand
[13:42:34] <Jacky^> :D
[13:43:11] <Jacky^> http://digilander.libero.it/jackydgl0/desktop.png
[13:44:49] <Jacky^> thats an Intelligent window manager ! :P
[13:50:01] <Jacky^> i'm a ion fanatic
[13:50:03] <Jacky^> heh
[13:57:46] <alex_joni> can't see anything inteligent there..
[13:58:21] <Jacky^> why you should resize a window ?
[14:00:14] <alex_joni> because I want sometimes to see how text output looks over a smaller terminal?
[14:00:20] <alex_joni> or the other way around?
[14:02:57] <alex_joni> I usually ahev a few windows open
[14:03:15] <alex_joni> say I have one for editing, and one for compiling, and one for halcmd commands
[14:03:27] <alex_joni> the compile and the halcmd commands, need to be small usually
[14:03:38] <alex_joni> and the editing window needs to be as large as possible
[14:03:50] <alex_joni> but once in a while, there might be a compile problem,
[14:03:58] <alex_joni> then I need the compile window to be large
[14:04:13] <alex_joni> but only so long as to read what's wrong
[14:05:03] <fenn> * fenn has 22 windows open on this desktop (out of 4 desktops)
[14:05:07] <Jacky^> you can always switch to full screnn with a simple meta+key
[14:05:15] <Jacky^> screen
[14:05:54] <Jacky^> for the rest, you no need to worry about resize and positioning anything
[14:05:59] <Jacky^> try it ..
[14:06:27] <Jacky^> going out with a friend to take a drink :P
[14:06:28] <alex_joni> can't say I'm a fan of software with a small userbase
[14:06:31] <Jacky^> later
[14:06:36] <alex_joni> later
[14:06:43] <Jacky^> Jacky^ is now known as Jacky^afk
[14:09:01] <fenn> wish my keyboard had a scroll wheel
[14:11:51] <fenn> right in that little empty space between the enter and up arrow
[14:12:02] <fenn> oh well
[14:42:45] <alex_joni> add one
[14:44:25] <fenn> thinking about it.. been reading about avr microcontrollers a lot lately
[14:44:38] <fenn> seems that adding a usb scroll wheel and some blinkenlights would be easy
[14:51:04] <SWP_Away> har har
[14:51:10] <SWP_Away> SWP_Away is now known as SWPadnos
[15:00:11] <fenn> no?
[15:00:34] <fenn> well at worst i could chop up a mouse
[15:06:16] <SWPadnos> it's probably not that bad, if you find a library for the keyboard serial protocol
[15:07:35] <fenn> you mean mouse protocol?
[15:08:56] <SWPadnos> either
[15:09:35] <SWPadnos> I misse dthe "usb" in your previous statement though
[15:09:38] <SWPadnos> missed the
[15:10:02] <SWPadnos> you'd want one of the USB microcontrollers for that (AT42xxx, I think)
[15:10:27] <SWPadnos> Hi Ray - just in time for breakfast
[15:10:51] <SWPadnos> oops - AT43xx
[15:11:48] <SWPadnos> ok - bavk in a bit
[15:11:51] <SWPadnos> back
[15:11:53] <SWPadnos> that is
[15:11:59] <SWPadnos> SWPadnos is now known as SWP_Away
[15:12:00] <rayh> Hi Steven, guys
[15:12:15] <fenn> morning
[15:12:29] <rayh> You get any snow fenn
[15:13:30] <fenn> no just lots of rain
[15:15:15] <rayh> logger_aj: bookmark
[15:15:16] <rayh> See http://solaris.cs.utt.ro/irc/irc.freenode.net:6667/emc/2006-01-29#T15-15-15
[15:25:33] <rayh> I'd like some comment on using halconfig. If you've got a working emc2 and time.
[15:34:09] <fenn> halconfig says couldn't execute "bin/halcmd": no such file or directory
[15:34:14] <fenn> when i click show all
[15:34:55] <fenn> i've seen it work before though..
[15:35:22] <rayh> Are you starting halconfig from emc2
[15:35:53] <fenn> from tkemc scripts -> hal_show
[15:36:34] <rayh> That shouldn't be there at all.
[15:37:35] <rayh> It means that you've got a file named emc2/scripts/hal_show.tcl
[15:37:47] <rayh> Is this a recent emc2?
[15:38:38] <fenn> i just updated.. it had a bunch of crap still in there it didnt expect
[15:39:10] <fenn> er, hal_show isn't halconfig then huh..
[15:40:12] <rayh> no. I don't remember much about halshow but it was a very early effort.
[15:40:47] <rayh> Is this Debian?
[15:41:16] <fenn> no it's a well-hacked fedora 2
[15:43:34] <rayh> Ah. You have the axis interface running?
[15:43:47] <rayh> or laying around?
[15:44:03] <fenn> sure.. recompiling a fresh checkout of emc2.. hang on
[15:45:07] <rayh> k
[15:46:31] <rayh> You will need to link the bwidget directory from the axis source to /usr/lib/bwidget
[15:46:44] <rayh> or find a bwidget.rpm
[15:46:53] <fenn> eh, what?
[15:50:28] <rayh> bwidget is a tool library extension to tk widgets.
[15:55:41] <fenn> so i need to use axis to be able to use halconfig? (have some axis compilation errors)
[15:56:47] <rayh> No you just need to find the bwidget tools in the axis source
[15:58:36] <rayh> here it is axis-20051120/thirdparty/bwidget
[15:59:12] <rayh> link or drag that directory into /usr/lib
[16:05:37] <jepler_> fenn: What problems are you having building axis?
[16:05:39] <jepler_> jepler_ is now known as jepler
[16:06:12] <jepler> fenn: 1.1.1 or snapshots?
[16:06:48] <cradek> hi all
[16:07:11] <fenn> cd axis-20051120/; sudo env EMC2ROOT=/home/blipkowi/emc2/ python setup.py install
[16:07:32] <fenn> extensions/emcmodule.cc:395: error: 'class EMC_STAT' has no member named 'logFile'
[16:07:41] <fenn> and so on for all the member of EMC_STAT
[16:08:12] <fenn> i havent tried anything yet
[16:09:09] <jepler> fenn: The environment variable is EMCROOT even for emc2
[16:09:26] <jepler> fenn: Is that error on line 395 the first error?
[16:09:32] <fenn> same thing with EMCROOT
[16:10:32] <SWP_Away> SWP_Away is now known as SWPadnos
[16:10:47] <fenn> jepler: yep, have a look: http://pastebin.com/528851
[16:11:28] <fenn> uf that chopped up the word wrapping pretty bad
[16:11:43] <SWPadnos> have you done a full make clean / make for emc2?
[16:12:05] <fenn> yeah this is a fresh checkout
[16:12:10] <SWPadnos> o
[16:12:12] <SWPadnos> ok
[16:12:51] <jepler> fenn: why axis-20051120? That's pretty old.
[16:13:17] <jepler> fenn: you'd be much better off with axis-1.1.1
[16:13:27] <SWPadnos> right - and the emc status struct has changed since then, I think
[16:13:28] <fenn> hrm i thought i just downloaded axis-latest
[16:13:41] <fenn> it's way past my bedtime but i'm up anyway
[16:13:58] <jepler> these log variables were removed in emc2
[16:14:03] <jepler> we fixed axis on 11/17
[16:14:05] <fenn> right
[16:14:11] <jepler> er, 11/27
[16:14:15] <jepler> http://unpy.net/cgi-bin/viewcvs.cgi/axis/extensions/emcmodule.cc.diff?r1=1.12;r2=1.13;f=h
[16:14:19] <fenn> axis changed the numbering scheme it seems
[16:14:33] <fenn> so axis-2 (tab complete) went to the wrong directory
[16:14:42] <jepler> oh
[16:15:03] <jepler> just delete that old tree
[16:15:39] <jepler> the "release of the minute" is numbered by patchset (-psNNN)
[16:16:58] <fenn> rayh: fyi axis now installs bwidget in /usr/share/axis/tcl/bwidget/
[16:17:25] <rayh> Okay.
[16:19:07] <jepler> it looks like there's still no fedora bwidget package even for fedore core 4
[16:19:36] <jepler> too bad, I'd like to stop shipping bwidget with axis but it seems only debian has a package available.
[16:20:34] <rayh> So the quick answer for halconfig is to test for it's existence in /usr/share/axis/tcl/bwidget/
[16:21:11] <fenn> check for /usr/lib/bwidget (the package version) first, then check /usr/share/axis
[16:21:33] <fenn> so if the user has their own bwidget installed it should use that one, right?
[16:22:25] <jepler> the details are fuzzy but cncuser had some problem on his puppy distribution. It has a version of bwidget installed, but it's not incompatible to the one in axis.
[16:22:45] <rayh> Yep.
[16:22:53] <jepler> er, not compatible
[16:23:09] <SWPadnos> heh - damn, you cut off my sarcastic question ;)
[16:23:10] <rayh> ouch.
[16:23:13] <jepler> I fixed it in axis by using the version number in 'package require'
[16:23:34] <rayh> Hi Dan.
[16:23:38] <jepler> r.tk.call("package", "require", "BWidget", "1.7")
[16:23:43] <dan_falck> hi ray
[16:24:46] <jepler> adding the directory where AXIS' copy of bwidget would reside, then using 'package require BWidget 1.7' should be safe
[16:28:16] <SWPadnos> hiya jmk - long time no see
[16:28:59] <jmkasunich> only a week-ish
[16:29:17] <SWPadnos> I've had a cold, so it seems like longer, I guess ;)
[16:34:33] <fenn> rayh: what happens if you do "scripts/realtime start" and then tcl/bin/halconfig.tcl ?
[16:35:21] <fenn> it bombs here
[16:35:30] <rayh> you'll see halconfig with 5 nodes in the tree.
[16:35:45] <rayh> If realtime is not running it asks if you want to do that.
[16:35:50] <fenn> adeos isn't a module on my system so i guess scripts/realtime status fails?
[16:36:14] <rayh> I would issue "sudo tcl/bin/halconfig.tcl"
[16:36:14] <fenn> but it works if you start halconfig with realtime stopped
[16:36:38] <SWPadnos> it works here ...
[16:36:44] <rayh> It should see that no hal is running and ask
[16:36:48] <SWPadnos> I just see nothing in the tree
[16:37:31] <SWPadnos> (except of course a couple of halcmd comps)
[16:40:21] <SWPadnos> interesting - double-click now works for selecting a config in setupconfig
[16:40:36] <rayh> I just started with nothing HAL ish running and got a popup.
[16:42:15] <fenn> wish is hogging 90% of the cpu
[16:43:59] <fenn> is there an easy way to debug tcl?
[16:45:04] <SWPadnos> odd - wish isn't even on the list in top, unless I do something in halconfig
[16:45:39] <jmkasunich> does halconfig poll halcmd for screen updates? that might make it hog cpu
[16:45:48] <SWPadnos> but it goes back to 0 when I'm done
[16:45:58] <SWPadnos> it does, but on a scale of seconds
[16:46:39] <fenn> it worked before, now there's a blank window that appears until i kill it
[16:47:21] <fenn> but now it's not hogging cpu..
[16:47:47] <SWPadnos> so, this dovetails nicely (relatively) into a discussion Ray and I had this week - how to make a program that's more efficient for variable watches than halcmd ...
[16:48:07] <fenn> er, nevermind that last comment about it not hogging cpu
[16:56:36] <fenn> since it looks like ray has some more victims to toy with now, i'm going to get some sleep
[16:56:44] <SWPadnos> night
[16:56:45] <fenn> * fenn goes to bed
[17:02:22] <rayh> * rayh reads back
[17:04:21] <SWPadnos> * SWPadnos waits quietly
[17:08:58] <rayh> okay.
[17:09:28] <SWPadnos> not sure what's happening with fenn - things seem sane here
[17:09:34] <SWPadnos> (the computers, at least)
[17:09:53] <rayh> Yea I can't understand his problem either.
[17:58:32] <jmkasunich> jepler: are you here?
[17:58:42] <jepler> jmkasunich: yeah, what's up?
[17:58:55] <jmkasunich> I just ran the revised setupconfig.tcl
[17:58:59] <jmkasunich> very nice!
[17:59:02] <jepler> oh
[17:59:04] <jmkasunich> I noticed something tho
[17:59:18] <jepler> what's that?
[17:59:37] <jmkasunich> when you get to the screen in the "new config" sequence where you enter a name, there are some messages echoed to the shell window
[17:59:50] <jmkasunich> button_entry_change {.main.f1.f2.next >} new_name . . op
[17:59:56] <jepler> oh yeah those are probably just junk
[18:00:10] <jepler> are they going to stderr?
[18:00:20] <jmkasunich> maybe, how can I tell?
[18:00:48] <jmkasunich> I suppose I could redirect stdout to /dev/null and see if they still happen
[18:00:52] <jepler> did you start setupconfig by running emc without an arguemnt?
[18:01:17] <jepler> if they're going to stderr they're harmless, but if they're going to stdout they could cause problems
[18:01:20] <jmkasunich> no, I started it directly from a prompt
[18:01:22] <jmkasunich> right
[18:01:41] <jmkasunich> apparently stderr
[18:01:56] <jmkasunich> I restarted with >/dev/null, and they still appear
[18:02:00] <jmkasunich> are they real errors?
[18:02:05] <jepler> no, those are debug messages for me
[18:02:18] <jepler> for when I was trying to make sure the "Next >" button was greyed out when no new config file name had been entered
[18:02:29] <jmkasunich> so they will go away eventually, good
[18:03:07] <jmkasunich> btw, what do you think about merging the first two screens of the "new" process
[18:03:49] <jmkasunich> "you have chosen" "the next few screens will walk you thru" blank line "enter a name"
[18:04:02] <jepler> sounds fine to me
[18:04:53] <CIA-17> 03jepler * 10emc2/tcl/bin/setupconfig.tcl: remove debugging message
[18:05:21] <jmkasunich> another question
[18:05:39] <jmkasunich> what about the first screen "config/quit/run"
[18:06:07] <jmkasunich> should run simply be added as a choice to the config menu screen
[18:06:18] <jmkasunich> and cancel on that screen be changed to quit?
[18:07:19] <jmkasunich> there are two levels of "main menu" right now, and perhaps it should only be one
[18:07:40] <jepler> the "choose a config and run it" behavior makes sense when the user just runs the emc2 script without an argument
[18:07:55] <jepler> having a "back" or "cancel" from the first screen the user sees is a bit odd
[18:09:12] <jmkasunich> true
[18:09:48] <jmkasunich> when it is invoked from the emc script, it is passed '--get-config', and that causes it to go to the screen that has only cancel/run as options
[18:10:15] <jmkasunich> cancel in that case should exit the program and cause the emc script to exit
[18:10:19] <SWPadnos> yes - one "main menu"
[18:10:19] <jmkasunich> instead it moves to the main menu
[18:10:35] <jmkasunich> in the --get-config case, the "edit" "backup
[18:10:48] <SWPadnos> it's confusing that you have to cancel first, before being able to mke a new config
[18:10:49] <jmkasunich> "restore", "new", etc options should not exist
[18:11:01] <SWPadnos> (and then you need to cancel again, before you can run your new config)
[18:11:44] <jmkasunich> hmmm. maybe I should reconsider my last statement
[18:12:24] <jmkasunich> I was thinking if you invoke the emc script (and thus the --get-config behavior of setupconfig) that running an existing config would be the only option
[18:12:31] <jmkasunich> (to avoid confusion)
[18:12:53] <jmkasunich> if you want a new config, you would invoke setupconfig by itself without --get-config
[18:13:01] <SWPadnos> ok
[18:13:07] <jmkasunich> but newbies won't even know setupconfig exists, so....
[18:13:17] <alex_joni> and probably we need to add setupconfig to the menu aswell
[18:13:22] <SWPadnos> isn't it supposed to make a default config, so I don't get the menu the second time?
[18:13:24] <alex_joni> emc2 (for running)
[18:13:31] <alex_joni> emc2-config (for chosing)
[18:13:57] <jmkasunich> SWPadnos: we never really decided about defaults
[18:14:12] <SWPadnos> can we please please please put the run script in the emc2 dir instead of the scripts dir?
[18:14:34] <jmkasunich> so the naive user can find it?
[18:14:38] <alex_joni> SWPadnos: why?
[18:14:51] <SWPadnos> ok - I thought the original idea was to have you choose, then it would use that setup by default from then on
[18:15:09] <jmkasunich> that was discussed
[18:15:16] <SWPadnos> because it's not obvious where to look for "emc" - there's a scripts dri, a bin dir, a tcl dir (with its own scripts and bin dirs) ...
[18:15:22] <jmkasunich> right
[18:15:28] <alex_joni> SWPadnos: after compile you get a message
[18:15:31] <jepler> cradek suggested a "use this configuration next time" checkbutton on the run page.
[18:15:33] <alex_joni> and the README is prety clear
[18:15:39] <SWPadnos> and if I install a .deb?
[18:15:45] <alex_joni> jepler: that sounds like a nice idea
[18:15:49] <jepler> SWPadnos: cradek's .debs have /usr/bin/emc
[18:16:00] <alex_joni> SWPadnos: no, after you install a deb you have to type 'emc'
[18:16:06] <alex_joni> or use the menu
[18:16:07] <SWPadnos> there's no executable in the emc2 dir, so it's not obvious wher eto go
[18:16:11] <SWPadnos> ok - that's fine
[18:16:18] <alex_joni> there is no emc2 dir for installed deb's
[18:16:25] <SWPadnos> it's not "discoverable"
[18:16:26] <jmkasunich> too many conversations at once
[18:16:28] <SWPadnos> heh
[18:16:32] <alex_joni> configs are in /etc/ , run script in /usr/bin, etc
[18:16:49] <jmkasunich> installed, there should be no problem, everything is in the right place
[18:16:49] <alex_joni> ok, back to setupconfig.tcl
[18:16:58] <jmkasunich> run-in-place, read the README
[18:16:58] <SWPadnos> why should it be in the scripts dir though? is there a good reason (not "because it's there")
[18:17:02] <alex_joni> run-in-place is for developers
[18:17:08] <alex_joni> SWPadnos: just that
[18:17:18] <alex_joni> and because you'd have to change some things to move it
[18:17:30] <SWPadnos> ok
[18:17:38] <alex_joni> and because I see no advantage in having it in emc2/
[18:17:46] <jmkasunich> minimizing clutter in the top level dir... but arguably the main executable isn't clutter
[18:17:58] <SWPadnos> it then becomes painfully obvious how to run the program
[18:18:17] <alex_joni> jmkasunich: remember you'll have to have 2
[18:18:18] <jmkasunich> can we go back to setupconfig.tcl?
[18:18:19] <alex_joni> emc.in and emc
[18:18:19] <jepler> SWPadnos: "type the name of the executable, no matter where you are in the filesystem"? That's the unix way.
[18:18:29] <jepler> afaict, cradek's deb delivers on that
[18:18:38] <alex_joni> jepler: installed systems work ok
[18:18:43] <SWPadnos> sure - the .deb install would be OK - that's good
[18:18:51] <jmkasunich> can we go back to setupconfig.tcl?
[18:18:52] <jmkasunich> ;-)
[18:18:57] <alex_joni> SWP & I will go to emc-devel for further talk on run-in-place
[18:18:58] <jepler> I really don't want to talk about setupconfig.tcl
[18:19:10] <jmkasunich> darn
[18:19:11] <jepler> a guy puts in a jpeg and suddenly everybody's asking him to bless their babies
[18:19:14] <SWPadnos> anyway - I't just a thought. people trying it out, or trying a new version (without installing over their old, working version) might have an easier time
[18:19:43] <jmkasunich> jepler: like it or not, you know more about usability than I do
[18:20:15] <jmkasunich> even I think there is something wonky about the top levels of menus tho
[18:20:30] <jmkasunich> it sounded good when I wrote it, but when I use it, wonky
[18:20:35] <alex_joni> jepler: we're not asking for you to change the code..
[18:20:50] <alex_joni> we're asking for your not so humble oppinion on it ;)
[18:21:38] <jepler> I agree, there's something fishy about it
[18:22:00] <alex_joni> ok, I think basicly we have 2 tools in one piece of code
[18:22:00] <jmkasunich> so I'm trying to brainstorm how to make it better
[18:22:12] <alex_joni> 1. configchooser, 2. config-helper
[18:22:31] <jmkasunich> yes - and that first menu is vasically a tool-chooser
[18:22:44] <jmkasunich> basically even
[18:23:24] <jepler> I think the part for choosing the configuration works great
[18:23:29] <SWPadnos> how about having these buttons on the main screen: "Quit", "Advanced", "Run Selected" (or "Start EMC")
[18:23:46] <alex_joni> SWPadnos: main screen of what?
[18:23:54] <SWPadnos> setupconfig.tcl
[18:24:09] <Jymmm> jepler: Can you bless these 45,000 babies on Saturday?
[18:24:13] <jmkasunich> there are three "main screens" (kinda)
[18:24:19] <SWPadnos> I think the main wonkiness comes from there being only two buttons on the main screen - run and quit
[18:24:19] <jepler> If creating a new configuration is what every user needs to do the first time they run setupconfig, you can't call it 'Advanced'
[18:24:43] <SWPadnos> you don't have to create a new config - you can use "sim" for example
[18:24:44] <alex_joni> I think I kinda liked the initial idea
[18:24:54] <alex_joni> 1. have the users create a new config the first time
[18:25:00] <jmkasunich> the one that says "config/quit/run", the one that says "pick a config and hit run" and the one that says "pick a config and hit one of edit/backup/restore/delete/new/quit"
[18:25:13] <alex_joni> 2. start with that config already selected, and only one button away from running emc2
[18:25:23] <alex_joni> 2.a. but also allow to go back and create a new config
[18:25:59] <alex_joni> how's that as a plan?
[18:26:22] <jmkasunich> what if we had only one "main screen" that says "pick a config and click run/edit/backup/restore/delete/new/quit"
[18:26:36] <jepler> run/edit/backup/restore/delete/new/quit is a *lot* of buttons
[18:26:36] <jmkasunich> if called with a config name, that config would be pre-selected
[18:26:48] <alex_joni> the very first time tell the user a bit about emc (where to get help & all), and assist him in setting up the config?
[18:26:54] <SWPadnos> that would work, but hiding the less frequently used functions would be better
[18:27:18] <jepler> most frequently used: run. least frequently used: delete? new?
[18:27:22] <alex_joni> after that is taken care, it would start up with his config already selected, and 2 buttons (RUN & OTHER)
[18:27:32] <alex_joni> jepler: quit ;)
[18:27:41] <SWPadnos> quit should be there, for sure ;)
[18:28:12] <jmkasunich> quit will be infrequently used tho, once emc starts, when you exit emc itself you don't go back to the menu
[18:28:22] <jepler> why not let the user use the file browser to backup, restore, and delete configs?
[18:28:38] <alex_joni> jepler: because it involves files from various folders
[18:28:44] <SWPadnos> what file browser?
[18:28:50] <jmkasunich> a naive user doesn't know that a "config" is a directory
[18:28:52] <jepler> SWPadnos: whichever one
[18:28:56] <SWPadnos> it also rewrites parts of the files
[18:29:09] <jepler> OK, maybe I don't understand all that backup/restore do
[18:29:15] <SWPadnos> (or was that taken out?)
[18:29:21] <jmkasunich> time out
[18:29:26] <alex_joni> jepler: backup/restore takes a folder and tgz'es it
[18:29:31] <jmkasunich> right
[18:29:54] <SWPadnos> copy actually copies stuff from common/ into the new config dir, and rewrites the ini to use it from there instead of ../common/
[18:29:56] <jmkasunich> new is the only one that does really weird stuff - gets files from multiple directories, modifies the ini file to change paths, etc
[18:30:03] <SWPadnos> what he said
[18:30:25] <alex_joni> so maybe save/restore is really not that necessary
[18:30:36] <alex_joni> although it can help users
[18:30:42] <SWPadnos> it would be helpful for support
[18:30:44] <jmkasunich> backup/restore/delete could be done with a file browser or cmd line, if the user understands that a config is a dir
[18:31:04] <jmkasunich> backup and restore are very much intended for support
[18:31:12] <SWPadnos> you backup and email that to someone, they fix it and mail back to you, then you restore the fixed config
[18:31:21] <jmkasunich> I've had enough of asking folks to send their config info and getting only part of it
[18:31:41] <alex_joni> jmkasunich: yeah, but I often asked people to send their ini file, and got only part of it..
[18:31:47] <jmkasunich> heh
[18:31:48] <alex_joni> so not sure if this will work either
[18:32:11] <alex_joni> ok, back to the big picture
[18:32:11] <jmkasunich> for some folks, nothing will work
[18:32:21] <rayh> Thousands of times I've gotten only the unessential part of a config.
[18:32:22] <alex_joni> I still think we need 2 distinctive things
[18:32:29] <jmkasunich> but if you tell them "click on backup, and mail me the file it generates"
[18:32:30] <alex_joni> one for running (choosing a config)
[18:32:45] <alex_joni> one for admin stuff (new config, backup/restore, etc..)
[18:32:58] <jepler> alex_joni: that's the division that exists now
[18:33:02] <alex_joni> they can be one file..
[18:33:14] <jmkasunich> except that the first time you try to run, you probably actually want to do a "new" first
[18:33:15] <SWPadnos> but it's clunky now - having to cancel to get to the config management is weird
[18:33:17] <alex_joni> jepler: right, but the first one is always run
[18:33:34] <SWPadnos> then having to cancel again to get a run option is even weirder
[18:33:46] <alex_joni> if I were a user I'D want this: 1. apt-get install emc2
[18:33:51] <alex_joni> 2. run it for the first time
[18:34:07] <alex_joni> 3. some screens appear with basic information, and where to get more info, support, etc
[18:34:08] <jepler> SWPadnos: So instead of 'Cancel', have 'Maint' and 'Quit' buttons (at the run page)
[18:34:30] <SWPadnos> right - "Quit", "Advanced / Maint", "Run"
[18:34:35] <alex_joni> 4. a screen that allows me to make a new config (after I've learned that's the way I should do this)
[18:34:38] <jepler> or whatever word we can come up with for 'new, backup, restore, delete'
[18:34:52] <SWPadnos> "manage Configs"
[18:34:55] <jepler> SWPadnos: you can't call it "advanced" if every user has to go into that section on the first run
[18:34:59] <alex_joni> 5. after I've done that, that's remembered as a default config
[18:35:13] <alex_joni> 6. a run-page appears with my default config selected
[18:35:15] <SWPadnos> as alex is saying, it should go there the first time by default
[18:35:32] <alex_joni> 7. any further runs will start at 6, but allow to go back to 4
[18:35:54] <jmkasunich> also, there should probably be a "Help" button somewhere ;-)
[18:36:05] <alex_joni> now that I think of it, the run-page should also have a make default button
[18:36:18] <alex_joni> in case I want to change the default without going back to 4
[18:37:09] <jepler> or, have several menu items "Start EMC" (starts with last configuration or setupconfig if no last configuration is known), "Start EMC (safe mode)" (starts setupconfig with config chooser and run button), "Configure EMC" (starts with new/delete/backup/restore)
[18:37:15] <jmkasunich> a brand new user doesn't neccessarily want to make a new config as the first thing they do
[18:37:21] <jmkasunich> they might want to run the sim config
[18:37:25] <jepler> It's true, not a user of a turnkey system either
[18:38:06] <alex_joni> jepler: I like that
[18:38:10] <jmkasunich> in the turnkey case, the default should be preset, so it would go straight to the run screen with that config pre-selected
[18:38:46] <alex_joni> maybe : Start EMC (default config), Start EMC (choose config), Configure EMC
[18:39:18] <jmkasunich> I like alex's suggestion
[18:39:25] <jepler> the real world calls. you guys can finish hashing this out
[18:39:42] <jmkasunich> if no default is present, the first choice would be greyed out
[18:40:05] <jepler> when I said "menu", I meant something like the gnome Application menu
[18:40:08] <jepler> not a part of setupconfig
[18:40:08] <alex_joni> jmkasunich: I was talking about 3 gnome menu items
[18:40:11] <alex_joni> and jepler too
[18:40:19] <alex_joni> or maybe KDE menu
[18:40:33] <jmkasunich> huh?
[18:40:49] <jmkasunich> then everything you are talking about applies only to installed versions
[18:40:50] <alex_joni> point & click
[18:40:57] <alex_joni> jmkasunich: mostly yes
[18:41:05] <jmkasunich> bah humbug
[18:41:41] <alex_joni> we need to worry about installed versions, primarily
[18:42:01] <alex_joni> users that can run CVS stuff, can probably figure out the current layout
[18:42:22] <alex_joni> but the current layout is not friendly enough for installed systems
[18:42:23] <jmkasunich> I know, but how are those buttons gonna actually do their thing? by invoking either the run script or setupconfig, and passing a param
[18:42:30] <alex_joni> yes
[18:42:42] <alex_joni> so you can do that from the command prompt for run-in-place too
[18:42:44] <jmkasunich> so the actual behavior is still driven by setupconfig
[18:42:49] <alex_joni> right
[18:43:21] <jmkasunich> so setupconfig has to be able to do the things we want anyway
[18:43:52] <alex_joni> right
[18:44:01] <alex_joni> but it mostly does them right now
[18:44:37] <jmkasunich> if they click the GNOME button Config EMC, it will invoke setupconfig, and they can make a new config. IMHO, they should NOT have to exit setupconfig and click another GNOME button "Run EMC" to run the new config
[18:44:48] <jmkasunich> they should be able to do that within setupconfig
[18:44:52] <alex_joni> right
[18:45:28] <jmkasunich> in that case, we're back to the three "main menus" in setupconfig. and the talk of GNOME buttons is irrlevant
[18:45:43] <SWPadnos> incidentally, this brings up an interesting problem I see when running emc2 from a KDE desktop icon
[18:46:01] <jmkasunich> I agree that we should support three gnome buttons - its behavior should depend on the args it is passed
[18:46:14] <SWPadnos> the bouncy icon "starting program" indicator stays there for like 10-15 seconds, even after the UI comes up
[18:46:27] <alex_joni> so?
[18:46:46] <SWPadnos> or if no args, then the defaults found / not found in a file
[18:46:56] <SWPadnos> alex_joni, was that for me?
[18:47:00] <alex_joni> SWPadnos: yes
[18:47:09] <SWPadnos> oh - well, it doesn't look right ;)
[18:47:14] <jmkasunich> lol\
[18:47:34] <SWPadnos> I have the axis display up, loading 3d_chips, and the cursor still has a bouncing icon
[18:47:47] <alex_joni> SWPadnos: complain to KDE people
[18:47:55] <alex_joni> and send them my regards for such a shitty job
[18:48:00] <jmkasunich> how about when you are using mini, and the splash screen disappears, it looks like the startup failed, then 10 seconds later mini finally explodes onto the screen (fscking huge that "mini" is)
[18:48:03] <SWPadnos> I can do that, but it doesn't happen with all desktop icons
[18:48:22] <SWPadnos> especially when spread across 3840x1024 triple screens ;)
[18:48:44] <SWPadnos> hardly mini in that case
[18:49:20] <jmkasunich> I wonder how the bouncy kde icon knows when to stop bouncing?
[18:49:44] <SWPadnos> I don't know - I just noticed it, and figure I'd mention it to you guys, so it's in the back of more than just my mind
[18:49:55] <jmkasunich> thanks a bunch
[18:50:06] <SWPadnos> heh - not like it's cluttered or anything ;)
[18:50:09] <rayh> First thing I configure to off
[18:51:02] <jmkasunich> the splash screen is a similar issue - it should pop up asap, and say up until the GUI appears. Staying after the GUI appears is annoying, disappearing before the GUI appears is worse.
[18:51:17] <jmkasunich> right now it's a fixed time period, with no conenction to anything else
[18:51:42] <alex_joni> jmkasunich: that might be done with cradek's idea
[18:51:53] <alex_joni> jmkasunich: not running emc components with & at the end
[18:52:09] <alex_joni> jmkasunich: but wait for them to fork and end when init finished
[18:52:10] <jmkasunich> how else can you run them?
[18:52:24] <alex_joni> that way just before the interface you can kill the splash
[18:52:54] <alex_joni> or maybe just add a killall popimage
[18:52:59] <alex_joni> before the interface
[18:53:06] <alex_joni> and increase the splash time to 20 secs or so
[18:53:14] <jmkasunich> before the interface doesn't help the mini problem
[18:53:20] <SWPadnos> the UI doesn't come up immediately when it's run though
[18:53:22] <alex_joni> then after ;)
[18:53:35] <alex_joni> after it returned.. if it would
[18:53:36] <jmkasunich> the GUI's don't have an "after"
[18:53:48] <alex_joni> it might.. given the same idea above
[18:54:02] <jmkasunich> they return when you kill them, and that begins the shutdown/cleanup of emc
[18:54:21] <alex_joni> oh, right ;)
[18:54:24] <alex_joni> slipped my mind
[18:54:28] <jmkasunich> lol
[18:54:48] <alex_joni> then maybe they should send a SIGTERM to popimage
[18:54:55] <jmkasunich> anyway, we've digressed a lot
[18:54:55] <alex_joni> but that's nasty
[18:54:58] <alex_joni> right
[18:55:05] <alex_joni> like always
[18:55:32] <jmkasunich> I dunno why mini takes so much longer, maybe to solve that problem we look inside mini
[18:55:44] <alex_joni> no, it's building a list for the backplot
[18:55:53] <jmkasunich> oh
[18:55:53] <alex_joni> * alex_joni doesn't want to look there..
[18:56:08] <jmkasunich> waitaminit, list of what?
[18:56:17] <alex_joni> * alex_joni hides, and points to rayh
[18:56:24] <jmkasunich> you haven't loaded any g-code yet, what is there to build?
[18:56:48] <SWPadnos> err - a big list of null points?
[18:57:21] <alex_joni> SWPadnos: maybe assigning space?
[18:57:28] <alex_joni> tcl_very_slow_alloc()
[18:57:37] <SWPadnos> I have no idea, really
[18:57:50] <SWPadnos> tcl_very_slow_alloc_by_name()
[18:58:13] <SWPadnos> maybe the UI programs should just pop up the splash image themselves
[18:58:32] <SWPadnos> that would also help if anyone wants to use e.g. keystick, without X
[18:58:56] <alex_joni> well.. then there's no reason to use the splash at all.. is it?
[18:59:02] <SWPadnos> exactly
[18:59:09] <SWPadnos> and keystick wouldn't ;)
[18:59:09] <alex_joni> I thought it's supposed to be displayed till emc loads
[18:59:22] <SWPadnos> unless there's no graphic display available
[18:59:23] <alex_joni> to give the user a feeling something is happening
[18:59:32] <jmkasunich> emc takes a long time to load, even without mini... the splash lets people know it isn't busted
[18:59:33] <SWPadnos> which is a problem with setupconfig as well
[19:00:01] <alex_joni> SWPadnos: I see no problem
[19:00:14] <alex_joni> people setting up no-X emc setups will know how to run 'emc config.ini'
[19:00:16] <SWPadnos> well - you can't run emc2 without X, at this point
[19:00:17] <jmkasunich> heh, a GUI program to select the config, and only once you know the config will you know that it is an X'less config
[19:00:23] <SWPadnos> heh
[19:01:17] <SWPadnos> it looks like keystick is missing from emc2 anyway
[19:01:25] <jmkasunich> yeah
[19:01:26] <alex_joni> yup, it's not moved in there
[19:01:36] <alex_joni> so we don't need to worry about that now
[19:01:42] <SWPadnos> ok - then we can ignore that
[19:02:06] <jmkasunich> heh, I found the autosize stuff that makes mini so uge
[19:02:09] <jmkasunich> huge
[19:02:30] <alex_joni> ok, back to setupconfig people
[19:02:32] <SWPadnos> XSize = min(huge_size, 1000)
[19:02:35] <SWPadnos> ;)
[19:02:39] <jmkasunich> perhaps we need a --size <with> <height> option
[19:02:48] <jmkasunich> s/with/width/
[19:02:49] <SWPadnos> like --geometry?
[19:03:40] <SWPadnos> wish has that, so it should be pretty easy
[19:04:34] <jmkasunich> I wonder if an "update" command somewhere in mini could draw the main window, before the rest of the time consuming stuff
[19:04:54] <jmkasunich> it would be blank since all the sub-windows and such aren't packed yet, but at least something would appear
[19:05:19] <SWPadnos> how about the popimage, which gets replaced with the real stuff later? ;)
[19:05:51] <SWPadnos> I thikn the splash screen needs to be controlled bu the GUI program
[19:05:55] <SWPadnos> s/bu/by/
[19:06:01] <SWPadnos> and think, of course
[19:06:03] <jmkasunich> so if no X gui, no splash
[19:06:06] <SWPadnos> right
[19:06:13] <SWPadnos> and also the splash goes away at the right time
[19:06:18] <SWPadnos> autoamgically
[19:06:22] <SWPadnos> garr
[19:06:25] <jmkasunich> not a bad idea
[19:06:38] <jepler> but popimage seems to appear rather quickly
[19:06:45] <jmkasunich> but there is a significant delay while non-GUI stuff is getting started
[19:06:46] <SWPadnos> also simplifies the run script a little
[19:06:50] <SWPadnos> true
[19:06:56] <jmkasunich> right now, popimage is before all that
[19:06:59] <jepler> on my fedora system, the time to get the "%" prompt by typing wish can be 20 seconds from a cold disk. I'm not sure what they did wrong, but it's terrible.
[19:07:21] <jmkasunich> cold disk as in "spun down"?
[19:07:35] <jepler> no, as in "the right stuff isn't in cache"
[19:07:37] <SWPadnos> even on my "primed' machine, it was 3 seconds or more
[19:07:41] <jepler> but I guess I'm exaggerating, it's more like 5 seconds
[19:08:00] <jepler> primed, it's fast on my system:
[19:08:01] <jepler> $ echo destroy . | time wish
[19:08:01] <jepler> 0.23user 0.02system 0:00.26elapsed 95%CPU
[19:08:18] <jepler> the "cold cache" case is harder to test
[19:09:03] <SWPadnos> 0.71user 0.13system 0:01.27elapsed 66PU (0avgtext+0avgdata 0maxresident)k
[19:09:05] <SWPadnos> 0inputs+0outputs (0major+1032minor)pagefaults 0swaps
[19:09:48] <alex_joni> jepler: I don't think wish is the problem
[19:09:58] <alex_joni> tkemc uses the same interface, and runs a lot faster
[19:10:02] <SWPadnos> since popimage also uses that
[19:10:06] <jmkasunich> tkemc uses the same wish
[19:10:10] <SWPadnos> popimage is a tcl program
[19:10:12] <jepler> oh, popimage is wish too?
[19:10:14] <alex_joni> popimage uses wish
[19:10:16] <SWPadnos> yep
[19:10:16] <jepler> I didn't realize
[19:10:23] <alex_joni> tkemc & mini use emcsh
[19:10:25] <SWPadnos> that's why it takes so long ;)
[19:10:28] <alex_joni> wish+emc bindings
[19:10:40] <jepler> then it would be easy to "send" a command to popimage, from any Tk-based front end. that covers tkemc, mini, and axis
[19:11:07] <alex_joni> jepler: if you know how, everything is easy
[19:11:07] <jepler> something like: catch { send Popimage destroy . }
[19:11:17] <jepler> I'll look into it later when I'm booted into ubuntu
[19:11:29] <SWPadnos> are they in a global namespace?
[19:13:03] <rayh> You can find running wish shells from any other wish shell.
[19:13:11] <SWPadnos> ok - cool
[19:15:05] <jmkasunich> heh, it works
[19:15:29] <jmkasunich> (an update in the right place means the mini window pops up right away, and fills in later)
[19:24:51] <rayh> rayh is now known as rayh_away
[19:26:54] <CIA-17> 03jmkasunich * 10emc2/tcl/mini.tcl: added some calls to 'update' throughout the initialization of mini, reduces the long delay before the user sees anything.
[19:27:27] <jmkasunich> * jmkasunich has lots of errands to do today
[19:27:30] <jmkasunich> jmkasunich is now known as jmk_away
[19:58:20] <Imperator_> Hi all
[20:01:05] <SWPadnos> Hi Martin - how are you?
[20:01:40] <alex_joni> hey Martin
[20:01:45] <alex_joni> long time no see
[20:16:50] <alex_joni> * alex_joni goes to bed
[20:16:52] <alex_joni> night all
[20:23:59] <SWPadnos> SWPadnos is now known as SWP_Away
[20:25:35] <Imperator_> night Alex
[20:26:01] <Imperator_> SWP_Away: good, thanks and you
[20:47:31] <Jymmm> sleep yight alex_joni
[20:49:11] <Jacky^> hey Jymmm :)
[20:49:16] <Jymmm> hi
[20:50:28] <Jacky^> I tried to cook the cat, but he disagree :(
[20:51:33] <Jymmm> Jacky^ Did you boil it first?
[20:51:50] <Jacky^> nope ..
[20:51:53] <Jacky^> :D
[20:52:13] <Jymmm> try that first.... you can use the tub if you dont have a big enough pot.
[20:52:20] <Jacky^> haha
[20:54:50] <Jacky^> http://www.gospelcenterchurch.org/catspill.html
[20:57:21] <Jacky^> Im having some problem convincing the cat to enter in the pot
[20:58:28] <Jymmm> Jacky^ 1) Get Gloves 2) Get BandAids 3) Get Cat and toss in pot.
[20:58:48] <Jacky^> :>
[21:00:04] <Jacky^> /\-/\
[21:00:05] <Jacky^> /a a \ _
[21:00:05] <Jacky^> =\ Y =/-~~~~~~-,_____/ )
[21:00:05] <Jacky^> '^--' ______/
[21:00:05] <Jacky^> \ /
[21:00:07] <Jacky^> || |---'\ \
[21:00:09] <Jacky^> (_(__| ((__|
[21:07:37] <CIA-17> 03jepler * 10emc2/tcl/bin/popimage:
[21:07:37] <CIA-17> get rid of title bar and extra padding, so that the splash screen is just the image.
[21:07:37] <CIA-17> compute the window size in a way that doesn't use "after"
[21:10:27] <staggerlytom> afternoon all
[21:11:02] <Jacky^> _____ __ __ ____
[21:11:03] <Jacky^> | ____|| \/ | / ___|
[21:11:03] <Jacky^> | _| | |\/| || |
[21:11:03] <Jacky^> | |___ | | | || |___
[21:11:03] <Jacky^> |_____||_| |_| \____|
[21:11:07] <Jacky^> hi :D
[21:11:25] <staggerlytom> is that macro?
[21:11:38] <Jacky^> is figlet :)
[21:12:01] <staggerlytom> requires mono spaced font (i didnt)
[21:12:12] <Jacky^> :(
[21:12:24] <Jacky^> ;P
[21:12:27] <staggerlytom> fixed now
[21:21:31] <rayh_away> Hi tom
[21:24:29] <rayh_away> rayh_away is now known as rayh
[21:25:24] <CIA-17> 03cradek * 10emc2/ (13 files in 8 dirs): first shot at eliminating sudo and being smarter about root privs
[21:27:34] <staggerlytom> Hi Ray, you tried the halvcp?
[21:27:55] <rayh> Nope. Got enough problems of my own making right now.
[21:28:01] <rayh> What you find?
[21:28:41] <staggerlytom> :), it works, the led widget didnt, but i made a text file thatcreated a gui that made real hdwr work
[21:29:41] <staggerlytom> seems that it uses the std gtk widgetset and can have more widgets&combos, uses a packer like tcltk
[21:31:40] <staggerlytom> you link widgets to halsignals and buttons can make linked hdwr work
[21:32:29] <staggerlytom> btw, I got 2 8255 type boards coming in from thailand, 72 io lines each and 64bucks a piece
[21:32:41] <jepler> staggerlytom: pci?
[21:32:48] <staggerlytom> yep
[21:32:58] <staggerlytom> (lookin up the info )
[21:34:01] <cradek> jepler: if you feel like it, I'd be happy if you would audit module_helper.c
[21:34:19] <jepler> cradek: is it in cvs? if not, where?
[21:34:23] <cradek> yes
[21:34:34] <cradek> I just checked all those changes
[21:34:46] <cradek> emc2/src/module_helper
[21:34:53] <staggerlytom> jepler: http://www.futurlec.com/PCI8255.shtml
[21:35:52] <cradek> jepler: I think aside from module_helper and some ioperm() calls in hal, we don't need root; this will be a nice cleanup.
[21:36:25] <CIA-17> 03rayhenry * 10emc2/tcl/bin/halconfig.tcl: Watch mode cleanup.
[21:38:09] <jepler> cradek: at first glance, it looks like I can create ~/rtapi.ko with anything in it I like, and have module_helper insert it.
[21:38:21] <jepler> oh, wait, path_whitelist
[21:38:22] <jepler> forget it
[21:38:59] <cradek> oh, duh
[21:39:09] <k4ts> hello
[21:39:18] <cradek> /whitelist/directory/../../../../home/jepler/rtapi.ko
[21:39:18] <rayh> staggerlytom: 24 signals on 34 pins?
[21:39:25] <cradek> grrr
[21:40:35] <cradek> jepler: is "only one dot in the path" a valid test for that (strchr() == strrchr())
[21:40:43] <cradek> ?
[21:40:56] <staggerlytom> ray: uses dip headers, pix on website listed above, 3x8255=3xheader & power cnx looks isolated (external anyway )
[21:41:23] <staggerlytom> ray: a bit too small for me to count in picture
[21:41:46] <rayh> They look like dual row 17 pin headers.
[21:42:01] <rayh> Is there a wiring diagram for it?
[21:42:08] <staggerlytom> ray: yep 34 pins, the zoom lemme count em
[21:42:40] <staggerlytom> yep, a manual someplace, also for the chip 'jet' that is the pci interface to the 8255s
[21:43:04] <jepler> cradek: !strstr(.., "..") ?
[21:44:35] <staggerlytom> ray: www.ett.co.th is manufacture and themanual is in thai :-(
[21:46:35] <CIA-17> 03cradek * 10emc2/src/module_helper/module_helper.c: forbid /whitelist/path/../../ etc
[21:47:13] <rayh> * rayh reaches for my thai-en technical translator;
[21:47:32] <rayh> price is just right.
[21:49:03] <rayh> wow dedicated 82c55 chips.
[21:49:26] <rayh> so the tiger 320 is just a pci connector
[21:50:20] <jepler> rayh: yeah, tiger 320 presents a 4-bit address, 8-bit data bus .. I have been skimming the datasheet
[21:50:45] <jepler> cradek: I can't find any documentation about whether environment variables affect the behavior of insmod
[21:51:02] <rayh> Okay. That sounds like it shouldn't be to difficult to setup a driver for.
[21:51:16] <rayh> HAL of course.
[21:51:41] <rayh> That price even beats a mesa 5i20
[21:51:44] <cradek> jepler: good question. It does get passed along I guess.
[21:52:06] <jepler> cradek: use execve?
[21:52:19] <jepler> I wonder what environment insmod/rmmod need
[21:52:22] <jepler> maybe none
[21:53:38] <cradek> jepler: did you check the malloc and the NULL termination of the argv array in the insert case?
[21:53:44] <staggerlytom> ray: the xilink chip on the mesa is more flixble, if u learn the free ide/sdk
[21:54:08] <jepler> cradek: no; it puzzled me a bit
[21:54:20] <cradek> jepler: then it's probably written badly and should be changed
[21:54:33] <jepler> is mod ever changed from argv[1]?
[21:54:39] <cradek> no
[21:54:47] <cradek> argv[2] iirc
[21:54:48] <jepler> exec_argv = argv + 1; exec_argv[0] = "/sbin/insmod"
[21:54:51] <jepler> er, right, argv[2]
[21:55:53] <rayh> staggerlytom: I really like the loadable ability of the mesa.
[21:55:55] <jepler> I don't know if unix guarantees that main()'s argv is NULL-terminated though
[21:56:12] <cradek> no I bet it's not
[21:56:22] <cradek> obviously, that's what argc is for
[21:56:30] <staggerlytom> ray: your thai-en is ChatChai or the prof who asked for emc help late last year for his students & emc
[21:57:10] <staggerlytom> ray: loadability? is it flash ( wanna move to dev to unclutter for cradex & jepler?)
[21:59:34] <cradek> jepler: seems to work with no env, so I'll commit that
[22:00:13] <CIA-17> 03cradek * 10emc2/src/module_helper/module_helper.c: in case the environment can influence insmod, clear it
[22:01:14] <jepler> cradek: this all assumes that the user cannot control /lib/modules*, /usr/realtime/*, and that the modules themselves are not security risks
[22:01:24] <cradek> of course
[22:01:36] <cradek> there is no way to avoid that assumption
[22:02:16] <cradek> unless I'm missing something...
[22:03:01] <cradek> if the user can control /lib/modules he can already have his way with the system
[22:03:18] <jepler> It was the final assumption I found hardest to believe
[22:03:34] <cradek> true
[22:03:46] <cradek> but that's beyond the scope here I think
[22:05:17] <k4ts> night
[22:06:41] <jepler> cradek: I'm wonder if something weird happens when the last dot is before the last slash
[22:06:55] <rayh> You really can't protect the emc user's system from her/him.
[22:07:42] <cradek> rayh: when you play with root privs, being as sure as possible your program only does what you intend is wise.
[22:08:10] <Jacky^> Night
[22:08:12] <rayh> There's always m101.
[22:08:14] <cradek> rayh: also, dropping root privs when you don't need them is wise.
[22:08:18] <Jacky^> Jacky^ is now known as Jacky^afk
[22:08:26] <cradek> m101 is entirely safe now.
[22:08:46] <cradek> that's an obvious case where "sudo emc" was bad.
[22:08:55] <rayh> Not if you write the referenced file as sudo cd /
[22:09:16] <cradek> I don't understand
[22:09:23] <jepler> $ ./emc_module_helper insert /usr/realtime-2.6.12-magma/./rtapi
[22:09:23] <jepler> module_basename_len = -2
[22:09:51] <rayh> You write m101 as an executable and give it root access.
[22:09:59] <cradek> jepler: you're right, that's bad isn't it
[22:10:18] <jepler> cradek: I'm not sure exactly what it leads to, but ..
[22:10:33] <cradek> rayh: there's a huge difference between a setuid program installed by some deb (ours) and a stupid setuid program written by a user
[22:11:10] <rayh> Yep. we can use as much protection as possible.
[22:11:20] <rayh> as long as that protection doesn't get in the way
[22:11:30] <rayh> like disallowing root login to kde.
[22:11:34] <jepler> aha
[22:11:35] <jepler> $ ./emc_module_helper insert /usr/realtime-2.6.12-magma/.cheese
[22:11:35] <jepler> module_basename_len = 0
[22:11:35] <jepler> insmod: can't read '/usr/realtime-2.6.12-magma/.cheese': No such file or directory
[22:11:45] <jepler> that's certainly not intended
[22:12:53] <cradek> that bug is strncmp(..., ..., 0) right?
[22:13:14] <jepler> right
[22:13:22] <cradek> good spot
[22:13:26] <cradek> if(module_basename_len < 1) error(argc, argv);
[22:14:38] <CIA-17> 03cradek * 10emc2/src/module_helper/module_helper.c: disallow /trusted/path/.module (which bypassed the module whitelist)
[22:21:44] <cradek> insmod: can't read '/usr/realtime-2.6.12-magma/modules/a.ko': No such file or directory
[22:21:55] <cradek> one of the whitelisted modules starts with "a"
[22:22:57] <cradek> so I should strncmp(..., ..., strlen(module_whitelist[i])) instead
[22:25:15] <CIA-17> 03cradek * 10emc2/src/module_helper/module_helper.c:
[22:25:15] <CIA-17> allowed /trusted/path/a.ko if one of the whitelist modules started with a
[22:25:15] <CIA-17> (wrong strncmp length was used)
[22:25:17] <cradek> good grief
[22:25:25] <cradek> how many bugs can I write in 100 lines?
[22:25:32] <cradek> this is why all programs suck, isn't it
[22:30:06] <jepler> cradek: bbl
[23:21:45] <Jymmm> cradek at least it isn't web based then you'ld have to worry about secruity too.
[23:23:52] <CIA-17> 03cradek * 10emc2/ (src/Makefile src/emc/iotask/Makefile debian/rules): I guess io doesn't need root privs; it doesn't call iopl/ioperm anymore
[23:24:13] <CIA-17> 03cradek * 10emc2/src/module_helper/module_helper.c: whitelist all the drivers
[23:27:49] <CIA-17> 03cradek * 10emc2/src/hal/utils/halcmd.c: (log message trimmed)
[23:27:50] <CIA-17> Drop root privs immediately when started, but reclaim them in order
[23:27:50] <CIA-17> to add or remove modules. An alternative scheme would be to use
[23:27:50] <CIA-17> the module helper and not have halcmd be setuid at all. I think
[23:27:50] <CIA-17> that would be superior but a more invasive change.
[23:27:50] <CIA-17> I don't understand what hal lock/unlock does, and it was written
[23:27:52] <CIA-17> to require root, but doesn't actually appear to? This may need
[23:28:53] <Jymmm> Jymmm is now known as Red70sShow
[23:28:53] <Red70sShow> Red70sShow is now known as Jymmm
[23:42:39] <paelscrit> hey
[23:43:31] <paelscrit> anyone know any cnc irc channels?
[23:43:42] <cradek> #emc
[23:44:12] <Jymmm> cradek the ppl in there are mean though.
[23:45:50] <paelscrit> cad cam software sucks
[23:45:59] <paelscrit> :(
[23:49:18] <jmk_away> cradek: still here?
[23:53:54] <cradek> yes
[23:54:04] <jmk_away> saw your comment about hal lock
[23:54:14] <cradek> I thought you might :-)
[23:54:38] <jmk_away> the premise behind lock is that you can prevent folks from adding new modules, removing modules, changing HAL config, etc
[23:54:52] <jmk_away> probably something you want to do once the machine is running
[23:55:19] <jmk_away> HAL lets you do anything anytime, which is a feature IMO, but it also lets you remove the PID loop while the machine is enables, which is not
[23:55:21] <jmk_away> hence the lock
[23:55:51] <jmk_away> requiring you to be root to set or release the lock was the simplest way we could think of to protect it
[23:55:56] <cradek> is this meant to prevent accidental changes or sabotage-type changes?
[23:56:05] <jmk_away> yes, I guess
[23:56:14] <jmk_away> a user placed lock could prevent the former
[23:56:45] <jmk_away> there is a gray area in between accident and sabatoge
[23:57:14] <cradek> so there's no technical reason to require root for that part of hal, only an administrative reason
[23:57:22] <jmk_away> if you are a machine integrator, you sell a machine to a shop, and a bored 3rd shift operators starts messing around with the config, is that accident or sabatoge? ;-)
[23:57:37] <jmk_away> I can't spell sabotage
[23:57:55] <jmk_away> agreed, no tech reason
[23:58:06] <cradek> I'm bad at making administrative policies, so I don't know how to handle this.
[23:58:15] <jmk_away> same here
[23:58:22] <cradek> The technical parts are all done now, until bug reports, I think.
[23:58:32] <jmk_away> the lock commands were added to halcmd (and the hal core where the locking is actually implemented)
[23:58:50] <jmk_away> but none of the sample configs use them, and I doubt anybody knows how
[23:58:53] <cradek> a lock, even if it doesn't require root, is still a preventive measure
[23:59:07] <cradek> in order to screw something up, you'd have to do two delibrate steps, starting with unlock
[23:59:11] <cradek> maybe that's all we need
[23:59:20] <jmk_away> could be
[23:59:50] <cradek> it might prevent accidents still; it won't prevent sabotage but I doubt it ever really did