[15:53] <sadmac2> Keybuk: how was the flight back?
[15:57] <Keybuk> hellish
[15:57] <Keybuk> I can never sleep on planes
[15:58] <sadmac2> unfortunate
[16:03] <sadmac2> Keybuk: I've been pondering the idea of transitions in the state machine
[16:03] <sadmac2> basically, right now if we have state A set, and we say when A on q B, we get state A and B true
[16:03] <sadmac2> this is good, we want this
[16:04] <sadmac2> but we might also want this:
[16:04] <sadmac2> on q transition A to B
[16:04] <sadmac2> so when q happens, A becomes false, and B becomes true
[16:04] <Keybuk> it depends whether you reuse your A object for "A and C"
[16:04] <Keybuk> otherwise it's just two different ways to look at the same effect?
[16:05] <sadmac2> you'd want to reuse
[16:05] <sadmac2> that'd be expected behavior for the user
[16:05] <Keybuk> so
[16:05] <Keybuk> when A on q B
[16:05] <Keybuk> when A on r C
[16:05] <Keybuk> ?
[16:06] <Keybuk> I don't think you can express that if A transitions to B on q
[16:06] <Keybuk> since you lost your A tracking for C
[16:06] <sadmac2> yes, its not appropriate there
[16:06] <Keybuk> so which you pick depends on the implementation I think
[16:06] <sadmac2> some cases you want one behavior, some the other
[16:06] <sadmac2> we can support both
[16:07] <sadmac2> with different keywords
[16:07] <sadmac2> when A on q B means if you have A and q happens you keep A and get B
[16:07] <sadmac2> when A on q goto B means if you have A and q happens you lose A and get B
[16:08] <Keybuk> would you want the latter behaviour if you have the former?
[16:08] <sadmac2> runlevels
[16:08] <Keybuk> sometimes it helps to have a use case for a feature before you worry about it
[16:08] <sadmac2> think runlevels
[16:08] <Keybuk> runlevels right now are just different values of A
[16:08] <sadmac2> but we can view them as independent states
[16:09] <Keybuk> we can, indeed
[16:09] <Keybuk> here's an interesting thought
[16:09] <Keybuk> if A is "runlevel 2"
[16:09] <Keybuk> and B is "runlevel 3"
[16:09] <Keybuk> if you transition from 2 to 3, you may not kill all the processes started by 2
[16:10] <Keybuk> so would those still hold a reference on 2?
[16:10] <sadmac2> right
[16:10] <Keybuk> if A transitioned to B, would those suddenly have null references or reference a different state to what started them?
[16:10] <sadmac2> hmm
[16:10] <Keybuk> and if A just went away from the list of active states, and B got added, would that be bad?
[16:10] <sadmac2> the processes in runlevels right now are outside of our management
[16:10] <sadmac2> could we fix that? maybe.
[16:11] <Keybuk> sure
[16:12] <sadmac2> and can we fix it while the people using them remain oblivious to them?
[16:12] <Keybuk> we could
[16:12] <Keybuk> we may only fix it if they have LSB headers
[16:13] <sadmac2> the thing we're missing is the references go the other way
[16:13] <sadmac2> the services don't depend on the runlevel
[16:13] <sadmac2> the runlevel depends on the services
[16:13] <sadmac2> bringing up a runlevel brings up all the services.
[16:14] <sadmac2> bringing up all the services doesn't necessarily change the runlevel (in fact the people wanting sysv compat would freak if that happened)
[16:16] <Keybuk> it'd be interesting if it did :p
[16:16] <sadmac2> interesting
[16:16] <sadmac2> and I think we can do it
[16:16] <Keybuk>   lamp = (apache, mysql) + auto
[16:16] <Keybuk> start lamp
[16:16] <Keybuk> will start apache and mysql
[16:16] <sadmac2> but its not right for runlevels
[16:16] <Keybuk> but
[16:16] <Keybuk> start apache
[16:16] <Keybuk> start mysql
[16:16] <Keybuk> will also inherently say lamp is running
[16:16] <Keybuk> why not? :P
[16:16] <Keybuk> take the Fedora model
[16:16] <Keybuk> if I boot into runlevel 3
[16:16] <Keybuk> and I start X
[16:16] <Keybuk> shouldn't it now say I'm in runlevel 5? :p
[16:16] <Keybuk> because I am
[16:16] <sadmac2> not according to sysv
[16:17] <sadmac2> this is a compat mode. we can't do as much cool stuff here
[16:17] <Keybuk> show me the line that says that cannot be true :p
[16:17] <sadmac2> if it ain't broke, it ain't fixed
[16:17] <sadmac2> I'll show you the mailing list that says it cannot be true :D
[16:17] <Keybuk> sure
[16:17] <Keybuk> url to the thread?
[16:20]  * sadmac2 goes digging archives
[16:33] <sadmac2> not a specific example, but:
[16:34] <sadmac2> > Are you seriously suggesting that less than 50% of Fedora systems have
[16:34] <sadmac2> > yum installed?
[16:34] <sadmac2> yes; at least on my machines there is yum only on the host while
[16:34] <sadmac2> guestsystems don't need it. Ratio of physical hosts to virtual
[16:34] <sadmac2> ^^guy purporting not to have python on 3/4 of his fedora boxes
[16:34] <sadmac2> point being: the people who care most about sysv compat are batshit insane
[16:55] <Keybuk> http://cvs.fedoraproject.org/viewvc/rpms/upstart/devel/upstart-telinit-u.patch?revision=1.1&view=markup
[16:55] <Keybuk> sorry to change the subject
[16:55] <Keybuk> but about the patch
[16:55] <sadmac2> yeah
[16:55] <sadmac2> we'll need a new one won't we?
[16:56] <sadmac2> ugh, regression.
[16:56] <Keybuk> actually, it was more the implementation that interested me
[16:56] <Keybuk> you added a control message
[16:56] <Keybuk> initctl sends that control message to upstart
[16:56] <Keybuk> which handles that control message
[16:56] <Keybuk> by ...
[16:56] <Keybuk> sending itself the TERM signal
[16:56] <Keybuk> couldn't you have just made initctl send the term signal? :p
[16:56] <Keybuk> case 'u':
[16:57] <Keybuk>   kill (1, SIGTERM);
[16:57] <Keybuk>   break;
[16:57] <sadmac2> I think we figured there would be a better way than self-terming to handle that case down the road
[16:57] <Keybuk> so you figured it'd be better to add API without knowing what you wanted? :p
[16:58] <Keybuk> giving yourself the interesting "socket goes away during a call" problem <g>
[16:58] <Keybuk> I'm amused, rather than anything else, btw :)
[16:58] <sadmac2> meh
[16:58] <Keybuk> "I would not have done it that way" <g>
[16:58] <sadmac2> I learned the control system
[16:58] <sadmac2> ultimately I think its a product of not looking at both ends
[16:58] <sadmac2> I wrote the telinit bit
[16:59] <sadmac2> then realized that once I got the message in init there wasn't much interesting to do with it
[16:59] <Keybuk> :D
[17:07] <Keybuk> that sounds like my one attempt to sleep with a woman
[17:07] <Keybuk> once I got it in, there was nothing else useful to do
[18:26] <sadmac2> ...wow...
[18:26] <sadmac2> I should write that down somewhere
[18:35] <suihkulokki> http://www.internettablettalk.com/2008/09/18/osim-maemo-developer-session/
[18:35] <suihkulokki> something familiar on the slide :)
[18:44] <sadmac2> HEE
[18:44] <sadmac2> *hee
[18:44] <sadmac2> capslock makes everything awkward!
[19:57] <keesj> indeed 
[19:57] <keesj> As I understand they will try to go for the native upstart mode
[19:58] <ion_> capslock makes everything awesome!
[19:58] <Keybuk> bah, there was a bonus available for replying "INDEED" there ;)
[19:58] <ion_> I didn’t dare to type that in caps, though. :-)
[19:58]  * keesj was at the maemo summit