=== keir [n=keir@206-248-179-111.dsl.teksavvy.com] has joined #upstart === keir [n=keir@206-248-179-111.dsl.teksavvy.com] has joined #upstart === keir [n=keir@206-248-179-111.dsl.teksavvy.com] has joined #upstart === Keybuk [n=scott@quest.netsplit.com] has joined #upstart === mbiebl [n=michael@e180071172.adsl.alicedsl.de] has joined #upstart === sadleder [n=sadleder@p50810F07.dip0.t-ipconnect.de] has joined #upstart === Md [i=md@freenode/staff/md] has joined #upstart === mbiebl [n=michael@e180071172.adsl.alicedsl.de] has joined #upstart === cortana [n=sam@62-31-146-25.cable.ubr12.azte.blueyonder.co.uk] has joined #upstart === juergbi [n=juerg@80-219-19-101.dclient.hispeed.ch] has joined #upstart === sadleder [n=sadleder@p50810F07.dip0.t-ipconnect.de] has left #upstart [] === tale [n=tale@207.235.54.1] has joined #upstart === phoenix24 [n=phoenix2@59.176.29.131] has joined #upstart === keir [n=keir@206-248-158-82.dsl.teksavvy.com] has joined #upstart === mbiebl [n=michael@e180072011.adsl.alicedsl.de] has joined #upstart === Amaranth [n=travis@ubuntu/member/Amaranth] has joined #upstart === __keybuk [n=scott@wing-commander.netsplit.com] has joined #upstart [07:59] <__keybuk> heh [07:59] <__keybuk> NM is broken today [07:59] nm being the program nm or NetworkManager? [08:01] <__keybuk> Network Manager [08:02] <__keybuk> it amuses me no end that X-Chat is failing to render Md's quit message correctly [08:03] it works for me, after much charset setting changing ;) [08:03] <__keybuk> heh [08:03] <__keybuk> it gets it right, as long as you don't highlight it [08:03] <__keybuk> I prefer the chinese, anyway [08:03] <__keybuk> [08:03] ah, i see what you mean, that's kinda weird :p [08:04] <__keybuk> it must be a bug in the X-Chat text view widget [08:04] <__keybuk> since the GTK+ standard one does it just fine if you paste it [08:04] yeah [08:04] It probably doesnt view combining characters correctly. vte has the same problem. [08:07] <__keybuk> oh well [08:07] <__keybuk> today I mostly trying to define the upstart state description machine/language === Md [i=md@freenode/staff/md] has joined #upstart [08:56] <__keybuk> * W - Weak until: has to hold until holds. The difference with U is that there is no guarantee that will ever be verified. The W operator is sometimes called "unless". === __keybuk goes cross-eyed at linear temporarl logic [09:01] <__keybuk> fundamentally I think we need the basic operators: [09:01] <__keybuk> a AND b - both a and b are true [09:01] <__keybuk> a OR b - either a or b are true [09:01] <__keybuk> NOT a - a is false [09:01] <__keybuk> and [09:02] <__keybuk> a UNTIL b - a is true and b is false; a resets b, b resets a [09:03] <__keybuk> it's the "reset" bit that's causing me headaches [09:03] yes, i think those will be the only needed ones. it'd be possible to double up some operators like AND and OR, right? so i could do "a AND b AND c", where all 3 are true, and "a OR b OR c" where either one is true [09:04] <__keybuk> sure [09:04] <__keybuk> so given a primitive Event operand ("has the event happened?"), UNTIL is easy [09:04] <__keybuk> since it can reset the value on either side [09:04] <__keybuk> so some-event UNTIL other-event [09:04] <__keybuk> when some-event happens, we "forget" other-event has happened, until it happens again [09:05] <__keybuk> at which point we "forget" that some-event happened [09:06] yes [09:06] <__keybuk> so what happens with [09:07] <__keybuk> NOT some-event UNTIL other-event [09:07] <__keybuk> (NOT some-event) UNTIL other-event [09:07] <__keybuk> to make that clearer [09:08] ick, that does cause headaches [09:08] hmm [09:08] so that's basically "run on any event that isn't 'some-event' until 'other-event' occurs"? [09:09] <__keybuk> "NOT event" would mean "event has not happened" [09:09] ah [09:09] <__keybuk> so it means "run from when 'some-event' has not happened until 'other-event' has happened" [09:10] <__keybuk> it doesn't make any logical sense, does it? :p [09:10] <__keybuk> likewise [09:10] absolutely non at all [09:10] <__keybuk> a UNTIL b UNTIL c [09:10] <__keybuk> makes no sense [09:10] *none [09:10] <__keybuk> "run from a until b, until c happens; at which point a must happen again" [09:11] <__keybuk> I think it's equivalent to "a UNTIL (b OR c)" === ion_ tries to concentrate but fails miserably. [09:13] Whats the difference to the current complex-event-config implementation? [09:19] <__keybuk> ion_: none, that's the problem I can't work out how to move on from [09:21] <__keybuk> the other option I can see would be to do something like: [09:21] <__keybuk> have "on" be Event and AND or OR [09:21] <__keybuk> and have an additional "from" operator that's Event UNTIL Event and AND/OR on until only [09:22] <__keybuk> on foo or bar [09:22] <__keybuk> from a until b [10:12] <__keybuk> I think it's definitely worth having the concepts partially seperate [10:12] <__keybuk> e.g. the following primitives [10:12] <__keybuk> Event - has this event been seen? yes/no [10:13] <__keybuk> EventCombination - have {both of, either of} two events been seen [10:13] Has this event been seen? true/false/filenotfound [10:13] <__keybuk> why filenotfound? [10:14] http://worsethanfailure.com/Articles/What_Is_Truth_0x3f_.aspx [10:15] <__keybuk> that's ternary logic [10:15] <__keybuk> databases tend to use it [10:15] <__keybuk> TRUE, FALSE and NULL [10:16] You do know the worsethanfailure website, dont you? :-) It used to be called the Daily WTF. [10:17] <__keybuk> no [10:18] http://worsethanfailure.com/Articles/Classics-Week-How-Not-to-Parse-Command-Line-Arguments.aspx [10:18] It contains real-life examples of code WTFs submitted by readers. :-) [10:18] <__keybuk> what's wrong with that? :p [10:19] <__keybuk> quite a cunning way to do it [10:19] <__keybuk> a lot of GTK+ uses that trick (though it wraps it with something called GQuark) [10:19] Hehe === AlexExtreme hates GQuark with a passion [10:20] <__keybuk> State - defines a period between two EventCombinations [10:20] For daily laughs, i recommend subscribing to the wtf feed. :-) [10:20] <__keybuk> and then [10:20] <__keybuk> StateCombination - are we in {both of, either of} two states [10:27] <__keybuk> this doesn't seem that elegant to me [10:46] http://en.opensuse.org/Boot_time << /me somehow thinks that that is completely unrealistic... [10:47] they want to get the boot time down to 5 seconds [10:47] i just don't see how that is possible [10:48] <__keybuk> heh, that seems to be getting reported a lot this week [10:49] <__keybuk> the page is over a year old! [10:49] it is? [10:49] hmm [10:49] it is [10:49] then i wonder why distrowatch are reporting it... [10:52] <__keybuk> *shrug*