=== 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 | ||
__keybuk | heh | 07:59 |
---|---|---|
__keybuk | NM is broken today | 07:59 |
AlexExtreme | nm being the program nm or NetworkManager? | 07:59 |
__keybuk | Network Manager | 08:01 |
__keybuk | it amuses me no end that X-Chat is failing to render Md's quit message correctly | 08:02 |
AlexExtreme | 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 | |
AlexExtreme | ah, i see what you mean, that's kinda weird :p | 08:03 |
__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 |
AlexExtreme | yeah | 08:04 |
ion_ | It probably doesnt view combining characters correctly. vte has the same problem. | 08:04 |
__keybuk | oh well | 08:07 |
__keybuk | today I mostly trying to define the upstart state description machine/language | 08:07 |
=== Md [i=md@freenode/staff/md] has joined #upstart | ||
__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". | 08:56 |
=== __keybuk goes cross-eyed at linear temporarl logic | ||
__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:01 |
__keybuk | a UNTIL b - a is true and b is false; a resets b, b resets a | 09:02 |
__keybuk | it's the "reset" bit that's causing me headaches | 09:03 |
AlexExtreme | 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:03 |
__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:04 |
__keybuk | at which point we "forget" that some-event happened | 09:05 |
AlexExtreme | yes | 09:06 |
__keybuk | so what happens with | 09:06 |
__keybuk | NOT some-event UNTIL other-event | 09:07 |
__keybuk | (NOT some-event) UNTIL other-event | 09:07 |
__keybuk | to make that clearer | 09:07 |
AlexExtreme | ick, that does cause headaches | 09:08 |
AlexExtreme | hmm | 09:08 |
AlexExtreme | so that's basically "run on any event that isn't 'some-event' until 'other-event' occurs"? | 09:08 |
__keybuk | "NOT event" would mean "event has not happened" | 09:09 |
AlexExtreme | ah | 09:09 |
__keybuk | so it means "run from when 'some-event' has not happened until 'other-event' has happened" | 09:09 |
__keybuk | it doesn't make any logical sense, does it? :p | 09:10 |
__keybuk | likewise | 09:10 |
AlexExtreme | absolutely non at all | 09:10 |
__keybuk | a UNTIL b UNTIL c | 09:10 |
__keybuk | makes no sense | 09:10 |
AlexExtreme | *none | 09:10 |
__keybuk | "run from a until b, until c happens; at which point a must happen again" | 09:10 |
__keybuk | I think it's equivalent to "a UNTIL (b OR c)" | 09:11 |
=== ion_ tries to concentrate but fails miserably. | ||
ion_ | Whats the difference to the current complex-event-config implementation? | 09:13 |
__keybuk | ion_: none, that's the problem I can't work out how to move on from | 09:19 |
__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:21 |
__keybuk | on foo or bar | 09:22 |
__keybuk | from a until b | 09:22 |
__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:12 |
__keybuk | EventCombination - have {both of, either of} two events been seen | 10:13 |
ion_ | Has this event been seen? true/false/filenotfound | 10:13 |
__keybuk | why filenotfound? | 10:13 |
ion_ | http://worsethanfailure.com/Articles/What_Is_Truth_0x3f_.aspx | 10:14 |
__keybuk | that's ternary logic | 10:15 |
__keybuk | databases tend to use it | 10:15 |
__keybuk | TRUE, FALSE and NULL | 10:15 |
ion_ | You do know the worsethanfailure website, dont you? :-) It used to be called the Daily WTF. | 10:16 |
__keybuk | no | 10:17 |
ion_ | http://worsethanfailure.com/Articles/Classics-Week-How-Not-to-Parse-Command-Line-Arguments.aspx | 10:18 |
ion_ | It contains real-life examples of code WTFs submitted by readers. :-) | 10:18 |
__keybuk | what's wrong with that? :p | 10:18 |
__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 |
ion_ | Hehe | 10:19 |
=== AlexExtreme hates GQuark with a passion | ||
__keybuk | State - defines a period between two EventCombinations | 10:20 |
ion_ | 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:20 |
__keybuk | this doesn't seem that elegant to me | 10:27 |
AlexExtreme | http://en.opensuse.org/Boot_time << /me somehow thinks that that is completely unrealistic... | 10:46 |
AlexExtreme | they want to get the boot time down to 5 seconds | 10:47 |
AlexExtreme | i just don't see how that is possible | 10:47 |
__keybuk | heh, that seems to be getting reported a lot this week | 10:48 |
__keybuk | the page is over a year old! | 10:49 |
AlexExtreme | it is? | 10:49 |
AlexExtreme | hmm | 10:49 |
AlexExtreme | it is | 10:49 |
AlexExtreme | then i wonder why distrowatch are reporting it... | 10:49 |
__keybuk | *shrug* | 10:52 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!