00:00:15 <Vorpal> olsner, you could check contributor list?
00:00:32 <HackEgo> 89) <Ami> Discrimination fields ACTIVATE.
00:00:41 <HackEgo> 704) <ais523> Vorpal: I was paying too much attention to elliott and not enough to my HP
00:00:59 <elliott> `run echo "99) x" | cut -d') ' -f2-
00:01:00 <HackEgo> cut: the delimiter must be a single character \ Try `cut --help' for more information.
00:01:05 <elliott> `run echo "99) x" | cut -d')' -f2-
00:01:05 <olsner> In constructor 'connectivity::OConnectionPool::OConnectionPool(const com::sun::star::uno::Reference<com::sun::star::sdbc::XDriver>&, const com::sun::star::uno::Reference<com::sun::star::uno::XInterface>&, const com::sun::star::uno::Reference<com::sun::star::reflection::XProxyFactory>&)':
00:01:18 <Vorpal> olsner, ouch, wtf is that crap?
00:01:19 <elliott> `run echo -n A; echo "99) x" | cut -d')' -f2- | tail -c +1; echo -n B
00:01:30 <elliott> `run echo -n A; echo "99) x" | cut -d')' -f2- | tail -c +2; echo -n B
00:01:48 <olsner> Vorpal: as you already know, libreoffice
00:01:53 <elliott> `fetch http://sprunge.us/QDQC
00:01:55 <HackEgo> 2011-11-03 00:01:54 URL:http://sprunge.us/QDQC [241] -> "QDQC" [1]
00:01:56 <Vorpal> olsner, is someone applying java style com.sun.whatever to C++ code?
00:02:00 <elliott> `run mv QDQC bin/delquote; chmod +x bin/delquote
00:02:08 <elliott> `addquote haha moron mountain
00:02:15 <HackEgo> *poof* haha moron mountain
00:02:20 <HackEgo> 401) <fizzie> [...] So it'll be a while before the boob will touch you back.
00:02:23 <HackEgo> 140) * Phantom_Hoover wonders where the size of the compiled Linux kernel comes from. <cpressey> To comply with the GFDL, there's a copy of Wikipedia in there.
00:02:28 <HackEgo> 31) <zzo38> I am not on the moon.
00:02:29 <HackEgo> 320) <olsner> it is from 2002 though, I was younger then
00:02:42 <HackEgo> 550) <itidus20> like i could ask how many "petals" are there on each of the "flowers" on this coffee mug i just made a drink with <itidus20> but that would be NP hard I think
00:02:42 <HackEgo> *poof* <zzo38> I am not on the moon.
00:03:02 <elliott> Vorpal: `quote as i `unquote
00:03:08 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: undo...that: not found
00:03:11 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
00:03:13 <Vorpal> elliott, mine came after
00:03:18 <Vorpal> <HackEgo> 31) <zzo38> I am not on the moon.
00:03:18 <Vorpal> <HackEgo> 320) <olsner> it is from 2002 though, I was younger then
00:03:22 <elliott> Gregor: pls make `revert go to last revision, thanks
00:04:07 <HackEgo> 31) <zzo38> I am not on the moon.
00:04:24 -!- MSleep has joined.
00:05:13 <HackEgo> 268) <ais523> gah, why does lose keep winning?
00:05:30 <HackEgo> 254) <nddrylliog> are you always careful to have a small enough margin so that it can't contain the proof? <oklofok> nddrylliog: i usually use latex, and make sure my hd is almost full
00:05:44 <HackEgo> 83) <Sgeo> I'd imagine that it already has, and no one noticed
00:05:52 <Vorpal> that what already has?
00:06:02 <HackEgo> *poof* <Sgeo> I'd imagine that it already has, and no one noticed
00:06:06 <elliott> `log <Sgeo> I'd imagine that it already has, and no one noticed
00:06:07 <HackEgo> 82) <coppro> hmm... does anyone know a nonsense game designed for the mentally handicapped involving yelling
00:06:22 <HackEgo> 697) <zzo38> Can you file for univorce if you are unmarried and don't like yourself anymore?
00:06:27 <elliott> `log <Sgeo> I'd imagine that it already has, and no one noticed
00:06:35 <HackEgo> 358) <crystal-cola> what telnets are there [...] <crystal-cola> where are a list of telnets?
00:06:38 <HackEgo> 63) <oklopol> if a girl is that cute, i don't care how many penises she has
00:06:42 <elliott> `log <Sgeo> I'd imagine that it already has, and no one noticed
00:07:08 <HackEgo> 2011-08-13.txt:01:49:52: <HackEgo> 2) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 8) <SimonRC> TODO: sex life \ 66) <Sgeo> What else is there to vim besides editing commands? \ 90) <Sgeo> I'd imagine that it already has, and no one noticed \ 92) <Sgeo|web> Where's the link to the log? <lament>
00:07:08 <HackEgo> 99) <fax> oklopol geez what are you doing here <oklokok> ...i don't know :< <oklokok> i actually ate until now, although i guess i also did other things...
00:07:32 <Vorpal> it said no output then gave you the lock entry?
00:07:41 <elliott> "The most risky part of the intensional model is the use of hash
00:07:41 <elliott> rewriting. It comes as a shock to some that this even works, i.e.,
00:07:41 <elliott> doesn’t produce broken binaries. In [2], we even wrote that “patch-
00:07:41 <elliott> ing files [by rewriting hashes] is unlikely to work in general, e.g.,
00:07:41 <elliott> due to internal checksums on files being invalidated in the process.”
00:07:42 <elliott> It turns out that this assessment was too pessimistic."
00:08:33 <Vorpal> only installers and unpackers and such really check internal checksums
00:08:39 <Vorpal> at least in my experience
00:09:06 <elliott> but you can just trash META-INF
00:09:21 <Vorpal> elliott, well, the .jars don't need ELF patching
00:09:28 <Vorpal> that wouldn't even make sense
00:09:47 <elliott> Vorpal: this isn't talking about ELF patching, what makes you think it is
00:10:05 <elliott> this is about rewriting references to a fake prefix after the fact
00:10:08 <elliott> because the prefix depends on the output
00:10:15 -!- ive has joined.
00:10:29 <Vorpal> elliott, what if it the length ends up wrong or such for the embedded string
00:10:38 <elliott> Vorpal: the part being replaced is a hash
00:11:03 <Vorpal> elliott, what is the use of it?
00:11:30 <elliott> Vorpal: content-based addressing for safe sharing of binary builds between multiple users from possibly-untrusted sources in Nix
00:12:49 <elliott> Vorpal: (without mutual trust between users)
00:14:51 -!- sllide has quit (Read error: Connection reset by peer).
00:15:52 -!- CakeProphet has joined.
00:16:23 <HackEgo> 2011-11-03.txt:00:16:17: <CakeProphet> `log sincere idle thought
00:16:37 <HackEgo> 2006-08-20.txt:01:09:41: <pikhq> Just idle thought.
00:18:42 <elliott> 07:32:55: <Sgeo|web> ...you haven't seen Cascade yet?
00:18:43 <elliott> 07:33:08: <Sgeo|web> Go watch that, then the first [S] of the intermission
00:18:43 <elliott> 07:33:35: <CakeProphet> ....I'm watching it right now, obviously.
00:18:43 <elliott> 07:33:38: <CakeProphet> as I just talked about it loading...
00:18:53 <CakeProphet> elliott: ugh read the logs sheesh you'll totally understand why I just did that.
00:18:57 <elliott> CakeProphet: Sgeo was surprised because Cascade has been out since the 25th and everyone has seen it by now.
00:19:50 <CakeProphet> I got tired of waiting for updates so I took a break from homestuck.
00:20:02 <CakeProphet> but then finally decided since cool new stuff is happening I should check it out.
00:20:24 <CakeProphet> fortunately none of this makes any difference in the outcome of, well, anything.
00:20:26 <elliott> CakeProphet: You realise the hiatus was announced ahead of time?
00:20:49 <CakeProphet> I was referring more to waiting in general.
00:21:01 <CakeProphet> I was just going to forget about Homestuck and then revisit once a new mass of updates had surfaced.
00:21:48 <CakeProphet> as a way to short circuit my impatience. :D
00:22:35 <elliott> http://www.flickr.com/photos/eelcovisser/367433201/
00:22:40 -!- tiffany has quit (Quit: Leaving).
00:23:08 <CakeProphet> http://3.bp.blogspot.com/_0-b7ADnCqWs/S8JVH96_M1I/AAAAAAAAAG0/Eb1T9FutITM/s1600/rims.jpg
00:24:09 <zzo38> Could the feature of Swiss Ephemeris to make fictitious planets be used to calculate the Ecclesiastical moon or the positions of where artificial satellites are supposed to be?
00:24:20 <CakeProphet> I imagine you need a step ladder to get in that thing.
00:24:37 <CakeProphet> though maybe somewhere in that blurry pixelation is a step-up bar.
00:24:49 <Vorpal> <elliott> http://www.flickr.com/photos/eelcovisser/367433201/ <-- is that a 4-power cord PSU?
00:25:05 <Vorpal> I wasn't aware more than 2 power cords for a PSU existed
00:25:18 <CakeProphet> I wasn't aware rims could be quite this dope.
00:25:21 <elliott> I think it's just four PSUs.
00:26:02 <Vorpal> CakeProphet, is that a weird no-air tyre?
00:26:22 <CakeProphet> I'm not sure. They may just be really thin.
00:26:54 <CakeProphet> again, too many pixels and not enough tire to discern.
00:26:58 <Vorpal> hot-swappable PSUs are infinitely cool btw
00:27:21 <Vorpal> CakeProphet, don't you agree?
00:27:29 <elliott> Vorpal: Do you have a spare computer.
00:27:39 <elliott> Vorpal: I need a build farm.
00:27:57 <Vorpal> elliott, not anything that would be useful to you. A pentium 3 with a dead hdd.
00:28:06 <Vorpal> and I don't have any other IDE disk
00:28:19 <elliott> It can just netboot and run from RAM.
00:28:27 <elliott> It's a server, don't need a display!
00:28:28 <Vorpal> elliott, 256 MB RAM iirc
00:28:35 <elliott> It can compile very small packages.
00:29:01 <Vorpal> elliott, you have that imac iirc
00:29:26 <Vorpal> elliott, anyway this is a non-issue until you actually have a working distro
00:29:29 <CakeProphet> this is what a typical American drives. http://aofg.blogs.com/photos/uncategorized/2008/08/08/rims.jpg
00:29:30 <Vorpal> elliott, oh and it can't boot from usb iirc.
00:30:12 <elliott> CakeProphet: I doubt they drive something with tyres like that.
00:30:12 <Vorpal> elliott, I have a first model ibook with 64 MB RAM too
00:31:10 <CakeProphet> I am an eyewitness to native American (read: not the amerind kind) practices.
00:32:34 <pikhq> CakeProphet: That is more accurate than I want to admit.
00:32:44 <pikhq> elliott: Some morons actually drive with tires like that.
00:32:56 <pikhq> I don't think I've seen it on an SUV, but hey.
00:37:22 <elliott> CakeProphet: You realise there are about two countries on the globe that say "tire", right?
00:37:23 -!- calamari has quit (Quit: Leaving).
00:38:14 <CakeProphet> elliott: well we both say "tire" I'm pretty sure.
00:39:00 <elliott> I really need ops so I can kick CakeProphet.
00:39:31 <pikhq> CakeProphet: Which country are you from, anyways?
00:40:40 <CakeProphet> elliott: I think it's probably bettre that you don't have ops.
00:40:43 <pikhq> elliott: "Tire" is the more etymologically correct spelling. It derives from Middle English "tire". :)
00:40:58 <elliott> pikhq: You're the more etymologically correct poop.
00:41:29 <elliott> Hey guys should I move on to the loooong thesis I'm so lazy.
00:44:31 <elliott> CakeProphet: You've convinced me, phd-thesis.pdf is oooopened.
00:44:36 <elliott> monqy: Read this thesis for me?
00:44:57 <CakeProphet> I'm wondering how you could handle regular expressions like:
00:45:24 <elliott> What, is Eelco a common name in some country? This guy is called Eelco and so is his supervisor.
00:45:52 <CakeProphet> where if the first choice in the first group is picked the first choice in the second group is forced.
00:46:05 <elliott> You can't even do ".* .* is lo+ng".
00:46:13 <CakeProphet> without resorting to the usual Perl hacks.
00:46:15 <elliott> You can but it probably doesn't mean what you want.
00:46:45 <elliott> "The results of the present thesis
00:46:45 <elliott> are probably not what any of us had expected at the start; but then again, the nice thing
00:46:46 <elliott> about a term like “variability” is that it can take you in so many directions."
00:48:25 <elliott> "The #klaplopers provided a nice work environment in virtual space—though whether IRC
00:48:25 <elliott> is a medium that increases productivity remains an unanswered empirical question."
00:50:01 <CakeProphet> I suppose one way to do it would be to have a way to tag lists of alternate choices. lists with like tags must match on the choice with the same index in their respective lists (requesting better wording)
00:50:06 <elliott> Oh my God, this is the longest thing.
00:50:19 <elliott> CakeProphet: Are you sure that regexp doesn't actually work in Perl already?
00:50:30 <CakeProphet> this is probably better than using conditional patterns or state stuff.
00:50:31 <elliott> i.e. /(long|\S+) .* is (lo+ng|\1)/
00:52:35 <elliott> CakeProphet: /(\S+) \S+ is \1|long \S+ is lo+ng/
00:53:02 <CakeProphet> that quickly becomes unreasonable if the pattern becomes more complex but requires the same logic.
00:54:00 <CakeProphet> I am pretty sure Perl has some special variable for specifically such construct.
00:54:07 <elliott> "This thesis is about getting computer programs from one machine to another—and having
00:54:08 <elliott> them still work when they get there."
00:55:29 <elliott> pikhq: Did you see my bps question btw?
00:55:35 <elliott> CakeProphet: No, it's nothing to do with portability at all.
00:57:59 <CakeProphet> ah yes they already have a tagging thing sort of. you can use (*MARK:NAME) and the (*SKIP:NAME) or something
01:00:07 -!- MSleep has changed nick to MDude.
01:01:19 -!- yorick has quit (Ping timeout: 260 seconds).
01:15:32 -!- yorick has joined.
01:33:04 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
01:39:13 <pikhq> http://j-lyric.net/artist/a0006c3/l00d951.html Engrish song lyrics are so very strange.
01:48:58 -!- copumpkin has changed nick to gourd.
01:50:15 -!- gourd has changed nick to copumpkin.
01:54:22 <pikhq> It's even better/worse if you hear it.
01:56:20 <pikhq> https://www.youtube.com/watch?v=h2-d2zHMJho Yeaaah.
02:02:42 <pikhq> And this is a band that tours in the US.
02:04:24 -!- Vorpal has quit (Ping timeout: 240 seconds).
02:28:29 -!- elliott_ has joined.
02:28:30 -!- elliott has quit (Read error: Connection reset by peer).
03:10:36 -!- centrinia has quit (Quit: Leaving).
03:21:01 <zzo38> Is there any such thing as ComonadPlus?
03:34:04 <zzo38> I do not have Control.Monad.Zip
03:43:31 <elliott_> it's in base, I guess you have too old a ghc
03:43:41 <elliott_> oh, it's for monad comrephensions
03:51:30 -!- pikhq has quit (Ping timeout: 256 seconds).
03:51:33 -!- pikhq_ has joined.
04:09:46 -!- sxfil has joined.
04:26:54 -!- zzo38 has quit (Ping timeout: 252 seconds).
04:29:09 -!- sxfil has quit (Quit: begone).
04:33:40 <monqy> elliott_: what thesis
04:34:33 <monqy> phd-thesis.pdf good name
04:38:48 -!- Sgeo|web has joined.
04:58:18 -!- zzo38 has joined.
04:59:10 <zzo38> When are more evening school assignments will be posted?
04:59:38 <coppro> zzo38: you aren't running a Markov bot, are you?
04:59:56 <zzo38> I am not running a Markov bot.
05:02:22 -!- Patashu has joined.
05:03:26 <monqy> zzo38: you aren't the Markov bot, are you?
05:04:04 <coppro> zzo38: I ask because your previous question was not grammatically correct, and this is often caused by running a Markov bot.
05:06:05 <elliott_> coppro: like half the things said in here are grammatically incorrect
05:06:20 <coppro> elliott_: yeah but most of them make sense all the same
05:06:29 <monqy> did zzo38 not make sense
05:06:36 <elliott_> you clearly don't read the channel enough when me and monqy are around
05:06:41 <elliott_> what zzo said made perfect sense
05:07:07 <coppro> especially since he's asking this channel
05:07:12 <elliott_> those are the current evening school assignments
05:07:18 <elliott_> he is asking when more will be posted
05:07:26 <coppro> dammit do I have to do them?
05:07:26 <zzo38> Maybe it make sense to elliott_ but it doesn't make sense to coppro.
05:07:28 <elliott_> if you paid attention more, you would understand things said in the channel more!
05:09:58 <coppro> elliott_: you didn't answer my question
05:10:01 <coppro> also attention is for losers
05:10:18 <coppro> < coopro> dammit do I have to do them?
05:10:34 <elliott_> that was addressed at me? anyway, yes
05:10:41 <elliott_> it's funny because coppro means poop4
05:11:22 <elliott_> they're easy; the underload ones at least
05:14:52 <coppro> xor is trivial since you have nand
05:15:50 <coppro> trying to think on the wire-crossing problem
05:16:31 <elliott_> coppro: haven't done the circuite ones :)
05:16:40 <elliott_> underload is my one true love :')
05:20:27 <coppro> elliott_: also the NOT gate there is overcomplicated
05:20:39 <coppro> just link a cell up to a constant 1
05:23:03 <coppro> oh, did atehwa write these?
05:23:46 <elliott_> coppro: he's the one doing the school
05:24:04 <elliott_> you might find it helpful to swim to helsinki
05:24:45 <coppro> I should give a talk on esolangs
05:25:07 <coppro> elliott_: also you went idle in BN
05:25:19 <coppro> but you haven't done anything in 5
05:25:34 <elliott_> probably for the best for now, I'm a bit busy
05:25:39 <elliott_> hopefully I'll return before the end of the dynasty
05:30:17 <coppro> pretty sure you can't cross wires in circuite
05:30:23 <coppro> but I'm off to read more about combinatorial designs
05:48:14 <elliott_> coppro: "Circute is a cellular automaton (and quite arguably an esoteric programming language) developed by Chris Pressey in 2005 as a test of the wire-crossing problem."
05:48:39 <elliott_> coppro: ^^^ HEY DON'T READ THE ABOVE ^^^
05:55:52 -!- Darth_Cliche has quit (Quit: You are now graced with my absence.).
05:56:36 <monqy> "You are now graced with my absence." isn't that an evincar thing?
06:04:41 * Sgeo|web is currently reading about: Agda
06:05:52 <elliott_> monqy: oh maybe it client default
06:06:17 <elliott_> < 1320127749 343527 :evincar!~evincar@daffa.student.rit.edu QUIT :Quit: I give you the gift of lack of me.
06:16:01 -!- quintopia has quit (Ping timeout: 276 seconds).
06:22:20 -!- oerjan has joined.
06:23:48 -!- quintopia has joined.
06:23:49 -!- quintopia has quit (Changing host).
06:23:49 -!- quintopia has joined.
06:43:51 -!- hagb4rd has joined.
06:48:20 -!- MDude has changed nick to MSleep.
06:54:33 -!- monqy has quit (Quit: hello).
06:59:31 -!- Ngevd has joined.
07:01:49 <Ngevd> It is my birthday today
07:02:43 <Ngevd> I'm in the prime of my life
07:03:00 <Ngevd> And have been for quarter of an hour
07:03:15 <Ngevd> elliott_, stop being so young.
07:03:22 <Ngevd> You think you know everything!
07:03:26 <oerjan> elliott_: 16 is a very powerful age too
07:03:31 <Ngevd> But when you get to my age...
07:03:46 <elliott_> oerjan: I need ops so I can kick you
07:04:24 <oerjan> unfulfilled needs, the bane of 16-year olds everywhere
07:04:42 <elliott_> oerjan: Wow you're 41 already?
07:05:04 <elliott_> copumpkin: I'm a ghost you can't murder me that makes no sense.
07:05:21 <copumpkin> I bought me a special ghost-murdering knife
07:05:32 <copumpkin> "works on ghosts or your money back"
07:06:19 <elliott_> copumpkin: You might want to get your money back. Also ghosts can't appear on TV, they're ghosts.
07:06:24 <elliott_> Contractual stuff, you wouldn't understand.
07:06:38 <oerjan> copumpkin: they're depending on you not being able to prove no ghosts were killed, since they're invisible
07:07:09 * copumpkin commits suicide to murder elliott_ in the afterlife
07:07:35 <elliott_> copumpkin: You'd make a good nomic player. Well, if you didn't commit suicide.
07:07:46 <elliott_> (Has anyone ever committed suicide for a nomic scam? oerjan?)
07:09:45 <oerjan> i should get some of that ethereal vision philter i just read about in yafgc
07:10:21 <oerjan> (btw it became swiftly clear during my current binge that it is not what you call nsfw)
07:10:27 <oerjan> fortunately i'm not working
07:10:57 <elliott_> NOOOOOooooooooo oerjan got me fired from dead lawyering.
07:11:03 <elliott_> oerjan: are you reading the IWC rerun :P
07:11:21 <oerjan> yes, especially when i realized he's adding new annotations
07:11:22 -!- Taneb has joined.
07:11:30 <elliott_> I'm terribly afraid I'm going to end up following the whole thing to its completion
07:11:50 <oerjan> elliott_: that will take > 10 years i think
07:11:59 <elliott_> oerjan: um IWC didn't run for ten years...
07:12:14 <Taneb> Well, just short of
07:12:24 <oerjan> > (7/6) * 3198 / 365.25
07:12:25 <elliott_> http://irregularwebcomic.net/archive.html
07:12:38 <Taneb> Memory is playing tricks on me
07:12:45 <oerjan> elliott_: it becomes just > 10 when you adjust for the 7 to 6 days per week shift
07:12:58 <elliott_> oerjan: well, I gotta lot of time.
07:13:00 -!- Ngevd has quit (Ping timeout: 244 seconds).
07:13:11 <elliott_> oerjan: (does this mean he's going to be writing blog posts for /ten years/?0
07:13:39 <oerjan> there will probably be readjustments.
07:14:13 <oerjan> but then, in 3-4 years d&d may end
07:15:47 <elliott_> oerjan: and then Mezzacotta :P
07:16:52 <elliott_> oerjan: omg today's mezzacotta :D
07:17:07 <oerjan> what was that again ->
07:17:40 <oerjan> mad sci guy always gets my vote
07:20:33 -!- ive has quit (Ping timeout: 245 seconds).
07:21:24 <elliott_> oerjan: hmm, I think Mezzacotta's random date thing is strongly biased against ridiculously old dates...
07:21:29 -!- SgeoN1 has quit (Quit: Bye).
07:21:47 <oerjan> elliott_: i think that's called "uniform distribution"
07:22:13 <elliott_> oerjan: but seriously, the vast majority of results are before 10000 BC
07:22:16 -!- Taneb has quit (Ping timeout: 240 seconds).
07:22:41 <oerjan> er, that's what you'd expect if there were _no_ weighting
07:23:28 <elliott_> there's more of the past than the present
07:23:43 * elliott_ is not an idiot, but cannot type :P
07:24:19 <oerjan> i read your "against" as "towards"
07:24:27 <oerjan> (same word in norwegian)
07:24:44 <elliott_> http://www.mezzacotta.net/archive.php?date=random
07:24:48 <elliott_> http://www.mezzacotta.net/archive.php?date=1614-12-27
07:25:21 <elliott_> http://www.mezzacotta.net/archive.php?date=1693-05-03 :D
07:25:54 <elliott_> http://www.mezzacotta.net/archive.php?date=1506-01-04
07:26:00 <Sgeo|web> Clicking random makes me feel weird
07:26:05 <Sgeo|web> http://www.mezzacotta.net/archive.php?date=193-08-23 is a random one I clicked on
07:26:58 <elliott_> <Sgeo|web> Clicking random makes me feel weird
07:27:38 <Sgeo|web> elliott_: if I don't bookmark it or something, in all likelihood, it will never be seen again
07:28:00 * Sgeo|web remembers when he was young, he wanted to record all die rolls etc. for Monopoly games
07:28:01 <elliott_> Sgeo|web: Other comics that will never be seen again: ones you don't see at all.
07:28:12 <elliott_> Thus, you must archive binge Mezzacotta to avoid the same weirdness.
07:28:57 * Sgeo|web will archive binge Mezzacotta, and won't eat or sleep until he's done
07:29:10 <elliott_> Well, that solves that problem.
07:29:18 <Sgeo|web> Does being dead count as being done?
07:29:30 <Sgeo|web> Wait, even then, I still won't eat or sleep, so it's all good
07:30:32 <elliott_> "Obayashi recalled that his producer told him that Toho was tired of losing money on comprehensible films and were ready to let Obayashi direct the House script, which they felt was incomprehensible."
07:35:18 -!- elliott_ has quit (Read error: Operation timed out).
08:15:06 -!- ive has joined.
09:05:30 <zzo38> I think I could make instance Alternative IO now, allowing you to use many, some, optional. empty = fail []; x <|> y = catch x $ \e -> modifyIOError (\z -> if z == userError [] then e else z) y;
09:22:30 -!- ive has quit (Quit: leaving).
09:38:45 <zzo38> I don't like the way of pure code exceptions in GHC. But I do have another idea: mkPure :: Q Exp -> Q Exp; instance Applicative Pure; runPure :: Pure t -> Either SomeException t;
09:40:27 <zzo38> runPureIO :: Pure t -> IO t;
09:43:48 -!- Sgeo|web has quit (Ping timeout: 265 seconds).
09:43:59 -!- zzo38 has quit (Remote host closed the connection).
09:55:38 <atehwa> coppro: true, but I thought it would give more hints as to how to make a XOR gate.
10:02:39 -!- oerjan has quit (Quit: leaving).
10:27:34 -!- GreaseMonkey has quit (Quit: The Other Game).
11:18:50 -!- ais523 has joined.
11:22:29 -!- Jafet has joined.
11:31:21 <CakeProphet> so today I learned that when you have a red parent and a black uncle, you rotate right around your grandparent.
11:31:49 <CakeProphet> well left or right, depending on where you are.
11:35:43 <CakeProphet> also your grandparent magically becomes red and your parent becomes black
11:48:29 <fizzie> And that's how communism propagates.
11:50:53 <CakeProphet> interestingly, in my data structures class we often devolved to race-related humor.
11:52:11 <CakeProphet> for example, the professor said that the parent node "goes black" to which a student commented, "once you go black, you never go back."
11:52:45 <fizzie> Did they play you the red-black tree song in class?
11:55:49 <fizzie> "I see a brand new node / I want to paint it black."
11:56:14 <fizzie> http://www.cs.washington.edu/orgs/student-affairs/cseband/ "Red Black Tree Song"
11:56:28 <fizzie> (I am assuming it's the one I know of, didn't listen.)
11:57:08 <fizzie> (I mean, how many people have done songs about red-black trees?)
11:57:45 <CakeProphet> rotating subtrees has never sounded so beautiful.
12:05:16 <CakeProphet> I find it sad that I know AT LEAST 4 CS majors in real life
12:05:24 <CakeProphet> and none of them would appreciate this song.
12:07:55 <CakeProphet> so, if you don't ignore constant factors, red-black is O(2log(n)) and AVL is O(log(n))
12:08:11 <CakeProphet> so, technicall speaking, AVL trees /are/ more efficient, it's just that no one cares about constant factors.
12:09:14 <CakeProphet> AVL trees are often compared with red-black trees because they support the same set of operations and because red-black trees also take O(log n) time for the basic operations. Because AVL trees are more rigidly balanced, they are faster than red-black trees for lookup intensive applications.[3] However, red-black trees are faster for insertion and removal.[citation needed].
12:21:16 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
12:46:43 -!- ais523 has quit (Ping timeout: 248 seconds).
12:56:48 -!- ais523 has joined.
13:01:29 -!- ais523_ has joined.
13:01:33 -!- ais523 has quit (Disconnected by services).
13:01:34 -!- ais523_ has changed nick to ais523.
13:30:57 -!- Ngevd has joined.
13:36:52 -!- Ngevd has quit (Ping timeout: 256 seconds).
13:37:04 -!- MSleep has quit (Read error: Connection reset by peer).
13:37:18 -!- MSleep has joined.
13:37:39 -!- Ngevd has joined.
13:37:55 <CakeProphet> "You can meet people over the Internet (oh God, can you), but something in our monkey brains makes in-the-flesh meeting a bigger thing."
13:38:05 <CakeProphet> http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/
13:38:15 <Ngevd> I'll agree with that
13:38:35 <CakeProphet> alternative title: how to hate programming for a living but make a lot of money.
13:39:59 <CakeProphet> granted the goal of this article seems to be not getting stuck in a dead-end job, but moving forward until you get to the interesting things.
13:41:41 <CakeProphet> the "focus on how you can make revenue or reduce costs" bit seems to make a lot of sense. But what if you the employer is more interested in the challenging technical problems you've solved?
13:44:26 <Ngevd> Whoa, it's my birthday, isn't it?
13:45:11 <Ngevd> Yes, but they make bad HTML
13:45:32 <CakeProphet> actually I want to write Django templates.
13:46:07 <CakeProphet> looks like a normal text editor. Could I just use emacs with some bitchin' HTML mode instead.
13:47:27 <Ngevd> I'm not all too familiar with emacs
13:47:27 <CakeProphet> http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html
13:48:07 <CakeProphet> actually emacs html-mode itself has some convenience things.
13:48:12 <Ngevd> I tried one of them fancy text editors once, couldn't stay focused enough to get the hang of it
13:48:22 <CakeProphet> Interactively insert attribute values for the current tag (sgml-attributes).
13:48:44 -!- DH____ has joined.
13:49:00 <CakeProphet> Skip across a balanced tag group (which extends from an opening tag through its corresponding closing tag) (sgml-skip-tag-forward). A numeric argument acts as a repeat count.
13:49:36 <CakeProphet> Delete the tag at or after point, and delete the matching tag too (sgml-delete-tag). If the tag at or after point is an opening tag, delete the closing tag too; if it is a closing tag, delete the opening tag too.
13:50:22 <CakeProphet> I wonder what I did before I started using emacs..
13:51:15 <CakeProphet> oh dude it even has like docs. C-c ? tagname
13:51:33 <Ngevd> Should I try to use Emacs?
13:51:55 <CakeProphet> it's not terribly complicated. Though I'm sure I don't use every single feature available.
13:51:59 <Ngevd> Which emacs package do I want!
13:52:05 <Ngevd> * emacs-snapshot-nox
13:53:04 <CakeProphet> C-v for example is page down, M-v is page up. C-a is beginning of line, C-e is end of line. C-k deletes (actually cuts) everything on the after the cursor
13:53:17 <Ngevd> A couple of months ago I realised that I could touchtype pretty accurately without looking at the keyboard
13:53:21 <Ngevd> Pretty quickly too
13:53:35 <CakeProphet> C-y is paste, M-y after C-y starts going through old pastes.
13:54:13 <CakeProphet> you just go to it. then C-a, C-k, move to where you want it to go, C-y
13:55:00 <CakeProphet> meanwhile your counterpart in another universe is reaching for the mouse or doing weird awkward key combinations.
13:55:19 <CakeProphet> oh right. yeah I don't know anything about vi.
13:55:31 <Ngevd> I think that was the one I tried...?
13:56:07 <CakeProphet> one thing that's been kind of awkward is that Django repeats a lot of file names in different directories
13:56:10 <Ngevd> No wait, this emacs tutorial looks familiar
13:56:18 <CakeProphet> so switching around to other files has been somewhat more annoying than usual.
13:57:02 <CakeProphet> sometimes I even use C-x C-b which I normally don't use.
13:57:45 <Ngevd> I think I have a friend who uses emacs
13:57:51 <Ngevd> Primarily for that purpouse
13:58:03 <CakeProphet> to play tetris instead of doing actual work?
13:58:42 <CakeProphet> also having multiple windows (what would normally be called panes or whatever) is awesome.
13:59:35 <CakeProphet> as usually you end wanting to browse two or three source files at a time, or two source files and some docs, etc, etc
14:00:07 <CakeProphet> three source files, two docs, a shell, and tetris
14:02:50 <CakeProphet> Insert a close tag for the innermost unterminated tag (sgml-close-tag). If called from within a tag or a comment, close this element instead of inserting a close tag.
14:03:49 <CakeProphet> the guys who made html-mode hate the same things that I hate about HTML.
14:04:01 -!- copumpkin has quit (Ping timeout: 240 seconds).
14:04:11 <Ngevd> Maybe you wrote it?
14:04:25 -!- copumpkin has joined.
14:05:17 <CakeProphet> Interactively specify a special character and insert the SGML ‘&’-command for that character (sgml-name-char).
14:06:01 <CakeProphet> though < is fewer keys than C-c C-n < :P
14:06:19 -!- ais523 has quit (Read error: Connection reset by peer).
14:06:29 <Ngevd> Harder to memorise, though
14:08:33 <Ngevd> I mean, it's easier to memorise C-c C-n [char] than a list of thingies
14:09:13 <CakeProphet> C-c C-n " is equivalent to " though honestly I tend to think of key combinations as the same amount of work as typing a single key.
14:09:34 <CakeProphet> as my left hand is pretty much always hovering over shift, ctrl, and alt.
14:10:22 <CakeProphet> though typing weird is beneficial when programming.
14:11:27 <CakeProphet> though I can't really touch type very well. It's very easy for me to start jioyy the weron ley
14:14:26 <CakeProphet> http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html
14:14:40 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:17:38 <Ngevd> I fear for the state of the world's sanity
14:17:56 <Ngevd> I could write a FizzBuzz thing in what... 30 seconds?
14:19:32 <CakeProphet> > map (\x -> if x `mod` 15 == 0 then "FizzBuzz" else (if x `mod` 3 == 0 then "Fizz" else (if x `mod` 5 == 0 then "Buzz" else show x))) [1..100]
14:19:34 <lambdabot> ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","1...
14:20:24 <Ngevd> I would have used guards personally, but that's because Haskell's if statement confuses me for some strange reason
14:20:48 <Ngevd> And I wasn't writing it for IRC
14:21:53 -!- DH____ has quit (Ping timeout: 240 seconds).
14:21:54 <Ngevd> Which is weird, because I get that Banach-Tarski thing
14:22:04 <Ngevd> And that should be much more confusing
14:22:11 <CakeProphet> also I believe those parens are unecessary.
14:22:22 <CakeProphet> > map (\x -> if x `mod` 15 == 0 then "FizzBuzz" else if x `mod` 3 == 0 then "Fizz" else if x `mod` 5 == 0 then "Buzz" else show x) [1..100]
14:22:23 <lambdabot> ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","1...
14:23:21 -!- tiffany has joined.
14:24:14 <CakeProphet> import System.IO; import Data.List; main = putStrLn . intercalate "\n" . map (\x -> if x `mod` 15 == 0 then "FizzBuzz" else if x `mod` 3 == 0 then "Fizz" else if x `mod` 5 == 0 then "Buzz" else show x) $ [1..100]
14:24:50 <CakeProphet> @pl map (\x -> if x `mod` 15 == 0 then "FizzBuzz" else if x `mod` 3 == 0 then "Fizz" else if x `mod` 5 == 0 then "Buzz" else show x) [1..100]
14:24:51 <lambdabot> map (ap (flip if' "FizzBuzz" . (0 ==) . (`mod` 15)) (ap (flip if' "Fizz" . (0 ==) . (`mod` 3)) (ap (flip if' "Buzz" . (0 ==) . (`mod` 5)) show))) [1..100]
14:25:01 <Ngevd> Who the hell calls themselves a programmer and struggles with this
14:25:26 <CakeProphet> Ngevd: note that the majority of enterprisey things require no knowledge of multiples or well anything...
14:25:56 <CakeProphet> also in a job application situation no google, etc. People rely on google heavily when programming.
14:25:58 <Ngevd> The article said Computer Science graduates!?
14:26:31 -!- tiffany has quit (Remote host closed the connection).
14:26:48 <CakeProphet> a CS graduate who's been out of school for several years may have forgotten that "multiple of x and y" means "multiple of x*y"
14:26:56 <CakeProphet> but that's not a big deal as you can just use && instead.
14:27:01 -!- tiffany has joined.
14:27:36 <CakeProphet> also I imagine people get thrown off by off-by-one errors or implementing the conditional in the wrong order so that the multiple of 15 case never occurs. This is just a simple mistake under time pressure.
14:29:17 <Ngevd> I've got a new phone
14:31:11 <tiffany> > people get thrown off by off-by-one errors
14:31:13 <lambdabot> Not in scope: `people'Not in scope: `thrown'Not in scope: `off'Not in scope...
14:31:59 <tiffany> http://www.scp-wiki.net/scp-866
14:35:11 <Ngevd> Okay, my phone just guessed my postcode
14:35:57 <CakeProphet> !perl for (1..100) { $x=0; $x++,print "Fizz" unless ($_ % 3); $x++,print "Buzz" unless $_ % 5; print unless $x; print " " }
14:36:24 <CakeProphet> when it would be easier just to not do horrible hacks.
14:36:40 <CakeProphet> `runperl for (1..100) { $x=0; $x++,print "Fizz" unless ($_ % 3); $x++,print "Buzz" unless $_ % 5; print unless $x; print " " }
14:36:47 <HackEgo> 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz
14:37:54 <Ngevd> My phone is loading the wiki
14:38:07 <CakeProphet> `runperl for(1..100){my$x;$x++,print"Fizz"unless$_%3;$x++,print"Buzz"unless$_%5;print unless$x;print" "}
14:38:09 <HackEgo> 1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32 Fizz 34 Buzz Fizz 37 38 Fizz Buzz 41 Fizz 43 44 FizzBuzz 46 47 Fizz 49 Buzz Fizz 52 53 Fizz Buzz 56 Fizz 58 59 FizzBuzz 61 62 Fizz 64 Buzz Fizz 67 68 Fizz Buzz 71 Fizz 73 74 FizzBuzz 76 77 Fizz 79 Buzz
14:42:52 -!- copumpkin has joined.
14:44:37 -!- Taneb has joined.
14:46:37 <Taneb> Now I don't need to lug around a Kindle to talk on the move
14:46:57 <CakeProphet> I don't think blackberries have much in the way of IRC clients.
14:47:37 <Taneb> This is an Android
14:48:12 -!- Taneb has quit (Client Quit).
14:48:38 <Ngevd> Yeah, it's hard to type on that Galaxy Mini keyboard
14:49:08 <Ngevd> And tomorrow I have to be out the house by 4:30
14:50:18 <Ngevd> So, early night for me
14:54:57 <CakeProphet> ”What is your previous salary?” is employer-speak for “Please give me reasons to pay you less money.” Answer appropriately.
15:16:20 -!- augur has quit (Remote host closed the connection).
15:40:37 -!- Vorpal has joined.
15:42:50 -!- augur has joined.
15:43:02 <Ngevd> Hey, it's almost celebrate-that-time-when-somebody-messed-up-killing-the-king day!
15:44:14 <Vorpal> Ngevd, tomorrow isn't it?
15:44:48 <Vorpal> Ngevd, why exactly is that celebrated?
15:45:05 <Ngevd> Because we don't have anything cool to celebrate
15:45:34 <Vorpal> brb, ipv6 tunnel is fucked up, I suspect I will lose connection
15:48:22 -!- Vorpal_ has joined.
15:49:07 <Ngevd> Hey, I can listen to the radio on my phone
15:49:42 -!- Vorpal has quit (Disconnected by services).
15:49:44 -!- Vorpal_ has changed nick to Vorpal.
15:49:49 <Vorpal> Ngevd, how is that surprising?
15:50:02 <Ngevd> I've never been able to do that before
15:55:37 -!- ais523 has joined.
15:59:22 -!- zzo38 has joined.
16:01:24 -!- copumpkin has quit (Ping timeout: 245 seconds).
16:03:31 -!- copumpkin has joined.
16:05:19 <zzo38> Americans don't understand humour, they only understand humor.
16:05:40 -!- MSleep has changed nick to MDude.
16:05:43 <ais523> zzo38: what about Canadians?
16:06:12 <zzo38> Well, I am Canadian.
16:06:28 <Ngevd> And Australians may use "humor"?
16:06:38 <zzo38> Yes that is the Canadian spelling "humour" but I don't know Australians
16:06:51 <Ngevd> I know they use "labor"
16:09:02 <CakeProphet> I abhour strange spellings of things that should end with -our
16:10:04 <Ngevd> As my user page on the wiki probably doesn't say, I flick between -ize and -ise
16:10:21 <Ngevd> Depending on the word, I think
16:10:25 <zzo38> I think since both spellings are in use you can use whatever you want but when you type a command into a computer you have to use the spelling that the computer accepts (some programs might accept both ways)
16:10:26 <CakeProphet> American usage of -or and -our is totally consist-- oh wait
16:11:17 <CakeProphet> though maybe it's a bit more consistent...? no...
16:12:36 <CakeProphet> I guess -our is etymologically correct for words with French origin, I think?
16:12:41 * CakeProphet doesn't actually know anything about French.
16:15:09 <CakeProphet> because all of our conventions are different from everyone elses.
16:15:18 <CakeProphet> but EVERYONE LIKES OUR MOVIES HAHAHAHAHA SUCKERS.
16:16:45 <Ngevd> Bah, most of the actors in Star Wars were British
16:17:29 <Ngevd> The body of Darth Vader, for example
16:17:31 <CakeProphet> you've defeated me with your one specific example.
16:17:54 <Ngevd> And the British version of the Italian Job was so much better than the remake
16:18:17 <CakeProphet> but that's true for many remakes regardless of nation.
16:18:28 <Ngevd> And Shaun of the Dead was very good
16:19:10 <Ngevd> Technically it should be Nge "hey, we make good movies too!" vd
16:19:31 <zzo38> Which Discordian calendar do you prefer, the literal or standard?
16:20:05 <CakeProphet> zzo38: I was only familiar with one calendar. I presume the standard one
16:22:41 <CakeProphet> of course I always use THE OFFICIAL DISCORDIAN DOCUMENT NUMBERING SYSTEM.
16:26:31 -!- ais523_ has joined.
16:26:45 -!- ais523 has quit (Disconnected by services).
16:26:46 -!- ais523_ has changed nick to ais523.
16:27:08 <zzo38> With the standard calendar, 1 Chaos is always Jan 1 of the Gregorian calendar, while the literal calendar has 1 Chaos 3136 on Jan 1, 1970 and has St. Tib's day exactly once every four years (as the Julian calendar does), which is what the document says. This contradicts the heading but follows the instructions precisely.
16:31:06 -!- monqy has joined.
16:40:29 -!- Jafet has quit (Quit: Leaving.).
16:43:54 <ais523> hmm, hilarious thing happening on the Internet: Nintendo are releasing a new Dream World Pokémon and asking people to vote on what it should be; the competitive community have found a loophole in the voting system allowing it to be manipulated, but their attempts to manipulate it are breaking down into arguments as to what exactly they should manipulate /for/
16:45:30 <ais523> the argument is mostly between Pokémon-that-is-already-good-and-this-would-make-it-even-better, and Pokémon-that-currently-sucks-and-this-would-make-excellent
16:46:04 <Ngevd> I would go for the latter
16:46:22 <ais523> it wouldn't make Luvdisc good
16:46:27 <ais523> the latter Pokémon is Ditto
16:46:46 <Ngevd> I don't really know what Dream World Pokemon are
16:47:16 <Ngevd> I haven't really kept track of it since Platinum was released
16:47:34 <ais523> the only competitive difference is that they have a different ability to usual, and that if they're male, you can't breed egg moves onto them
16:47:44 <zzo38> I really don't care. I don't like the Dream World mode anyways
16:48:11 <ais523> but there are only finitely many possibilities for each ability (small finite, it caps out at 4), and Ditto is a choice of 1 of 2
16:48:26 <zzo38> Nintendo adds everything they keep mixing it up. No! They should only change it when releasing a new game.
16:48:28 <ais523> people are assuming it'd get the ability currently unavailable on it, as otherwise it'd just be a normal Ditto
16:48:53 <ais523> and Imposter Ditto is already known to be top-tier (if you aren't playing with banned Pokémon), and possibly even strong enough to ban
16:51:32 <Vorpal> why ban? Wouldn't it make more sense to rebalance?
16:51:56 <ais523> Vorpal: you can't, umm, modify the game's idea of what a Pokémon's stats are without hacking?
16:52:13 <Vorpal> ais523, I meant for Nintendo to release a balance patch
16:52:21 <ais523> Vorpal: on a DS cartridge game?
16:52:25 -!- sllide has joined.
16:52:27 <zzo38> They should make the random game? Everyone start random during each match
16:52:46 <ais523> it's not as fun as the intended way of playing, though
16:53:03 <ais523> as it's mostly a case of hoping that you have an attacking move that actually does decent damage
16:53:51 -!- Guest63524 has joined.
16:54:20 <Vorpal> interesting, Windows 7 fails to detect the PS/2 keyboard except after a warm reboot.
16:54:27 -!- oerjan has joined.
16:54:53 <Vorpal> I mean, it works fine in linux. And it works fine after warm reboot from either windows login screen or from linux
16:54:59 -!- Slereah_ has quit (Ping timeout: 276 seconds).
16:55:27 <ais523> how are you warm rebooting it without a working keyboard?
17:00:06 <CakeProphet> Vorpal: this is because Windows code relies on the magical properties of its reboot to function properly
17:00:21 <CakeProphet> the code itself is shit, but after a reboot everything works fine. always.
17:02:08 <Gregor> ITYM "* CakeProphet nods sagely." you lazy 'sagenodding' non-sage.
17:02:10 <oerjan> <CakeProphet> > map (\x -> if x `mod` 15 == 0 then "FizzBuzz" else (if x `mod` 3 == 0 then "Fizz" else (if x `mod` 5 == 0 then "Buzz" else show x))) [1..100]
17:03:28 <oerjan> > [case gcd x 15 of 1 -> show x; 3 -> "Fizz"; 5 -> "Buzz"; 15 -> "FizzBuzz" | x <- [1..100]]
17:03:29 <lambdabot> ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","1...
17:05:54 -!- Siddiq has joined.
17:06:58 <CakeProphet> I should try those list comprehension things, one of these days.
17:07:03 <oerjan> for efficiency, you could also do a case match on x `mod` 15
17:07:07 -!- Siddiq has left.
17:07:09 <oerjan> but that would be longer
17:07:25 -!- elliott has joined.
17:08:13 <Vorpal> <ais523> how are you warm rebooting it without a working keyboard? <-- by clicking "shutdown" with the mouse on the login screen and then selecting reboot from the menu that pops up
17:08:45 <oerjan> was siddiq someone you actually knew?
17:08:46 <CakeProphet> Vorpal: mouse? I am enthralled. Show me your ways.
17:08:51 <ais523> Vorpal: how do you get past the press control-alt-delete thing?
17:08:58 <Vorpal> ais523, windows 7 doesn't do that?
17:09:28 <ais523> as its purpose is to prevent people spoofing the login screen (the userland can't react to control-alt-delete)
17:09:33 <Vorpal> ais523, the ctrl-alt-del thing is for domain logins only these days I think. Ever seen the XP welcome screen?
17:09:40 <Vorpal> it didn't use that ctrl-alt-del either
17:09:44 <zzo38> I know XP doesn't ask for CTRL+ALT+DEL by default but it can be configured to do so.
17:09:56 <Vorpal> and xp didn't ask by default indeed
17:10:07 <Vorpal> ais523, anyway what I see is the windows 7 take on the xp welcome screen.
17:10:08 <elliott> <ais523> Vorpal: how do you get past the press control-alt-delete thing?
17:10:08 <lambdabot> elliott: You have 2 new messages. '/msg lambdabot @messages' to read them.
17:10:13 <elliott> only networked machines do that
17:10:19 <elliott> it's a non-default setting
17:10:34 <Vorpal> elliott, or ones configured to it anyway. It was fairly easy to make an xp machine do it iirc.
17:10:35 <zzo38> I configured my computer to ask CTRL+ALT+DEL
17:10:51 <Vorpal> select non-welcome screen mode, then a group policy or something
17:10:59 <ais523> hmm, computers don't even /boot/ without a working keyboard, so presumably the BIOS recognised it
17:11:03 <Vorpal> anyway the warm reboot issue is mysterious
17:11:09 <zzo38> And to forget the last username, requiring its entry every time.
17:11:11 <Vorpal> ais523, certainly, it works fine in grub too
17:11:19 <Vorpal> ais523, and under linux
17:12:07 <Vorpal> ais523, and as I said, with warm reboot from either OS it works fine.
17:12:19 <Vorpal> I can't think of a way to cause that sort of behaviour
17:12:37 <elliott> 13:37:55: <CakeProphet> "You can meet people over the Internet (oh God, can you), but something in our monkey brains makes in-the-flesh meeting a bigger thing."
17:12:47 <Vorpal> ais523, btw did I mention the game on windows that only worked if 5 minutes or more passed since login and another XNA based game had already run?
17:12:55 <elliott> ais523: I think they do boot nowadays
17:12:58 <Vorpal> (very strange that one)
17:12:59 <elliott> everyone emulates the controller
17:13:22 <oerjan> <CakeProphet> import System.IO; import Data.List; main = putStrLn . intercalate "\n" [...] <-- that's putStr . unlines
17:13:32 <Vorpal> well, I have a single shared PS/2 port that can either take a keyboard or a mouse
17:13:40 <Vorpal> so I use an usb mouse and a PS/2 keyboard
17:13:41 <elliott> 13:51:33: <Ngevd> Should I try to use Emacs?
17:13:41 <elliott> 13:51:38: <CakeProphet> Ngevd: I recommend it.
17:13:50 <monqy> i'm imagining an onscreen game controller, like an onscreen keyboard
17:13:53 <monqy> and now an onscreen mouse
17:14:12 <CakeProphet> oerjan: ah yes I always forget about those things.
17:14:28 <monqy> drag the onscreen mouse around and click with it, and then it will move another cursor that clicks on things for you
17:14:42 <oerjan> (they're slightly different, unlines appends a final \n)
17:15:07 <oerjan> (well apart from one being \n's and the other being spaces)
17:15:20 <CakeProphet> elliott: for some reason I thought you used emacs as well.
17:15:44 <elliott> I also use vim for editing config files.
17:15:47 <CakeProphet> why would you use it and not recommend it then?
17:15:53 <Vorpal> I use emacs, kate and nano
17:16:06 <elliott> Because learning emacs is a waste of time for almost everyone.
17:16:22 <oerjan> CakeProphet: another option is mapM_ putStrLn
17:16:27 <elliott> I'm just used to it, and it has a few things that the lack of bug me in other editors, so I use it.
17:17:02 <CakeProphet> elliott: it was not a waste of time for me to learn it.
17:17:12 <oerjan> i sometimes like to do mapM_ print in ghci, to not get as many nested brackets
17:17:17 * elliott does not expect continuing this conversation to be productive.
17:17:35 <elliott> oerjan: I do that a lot too. Mostly I wish that GHCi reformatted prints by default.
17:17:58 -!- CakeProphet has set topic: productivity | EPL evening school assignments! http://tinyurl.com/5stnu5n | It's the end of an era | RIP John McCarthy) | TO SHREDS!) | http://codu.org/logs/_esoteric/.
17:19:02 <Vorpal> I think the _ in mapM_ is quite ugly, surely there is a better way to tell it apart from mapM
17:19:42 <lambdabot> forall (m :: * -> *) a. (Monad m) => [m a] -> m ()
17:19:49 <Vorpal> elliott, you can't tell me it isn't ugly
17:19:55 <elliott> I don't find it ugly at all.
17:21:27 <Vorpal> that is strange, why does :t in ghci give a much more compact form than :t in lambdabot for sequence_? Or rather, why would lambdabot print that forall stuff that is implicit in ghci's :t
17:21:55 <oerjan> Vorpal: there's an option whether to include foralls
17:22:10 <Vorpal> okay, why would lambdabot have that turned on then?
17:22:34 <oerjan> for pedagogical reasons?
17:23:54 <elliott> at least nobody ever does anything but tell newbies to ignore them
17:24:31 <oerjan> :t (.) -- this. is. caleskell.
17:24:32 <lambdabot> forall a b (f :: * -> *). (Functor f) => (a -> b) -> f a -> f b
17:24:48 <lambdabot> forall (f :: * -> *) a b. (Functor f) => f (a -> b) -> a -> f b
17:25:07 <Vorpal> yeah that is not the usual flip signature
17:25:16 <elliott> but it is the usual (.) signature of course.
17:25:22 <oerjan> > (0$0$) -- hm i wonder...
17:25:23 <lambdabot> The operator `GHC.Base.$' [infixr 0] of a section
17:25:29 <Vorpal> elliott, not that either
17:25:39 <oerjan> for some reason he hasn't changed $ to infixl though :P
17:25:49 <Vorpal> well to me that doesn't really explain what caleskell is
17:25:58 <monqy> caleskell is caleskell
17:26:03 <Vorpal> ah google was more helpful than DDG there
17:26:29 <CakeProphet> > func "caleskell is " (var "your mom") :: Expr
17:26:29 <Vorpal> still no explanations as to what it is
17:26:34 <CakeProphet> > fun "caleskell is " (var "your mom") :: Expr
17:26:50 <elliott> oerjan: i like how siddiq stealthily avoided actually pinging anyone
17:27:33 <CakeProphet> > var "siddiq more like siddick huh huh huh huh"
17:27:34 <lambdabot> siddiq more like siddick huh huh huh huh
17:28:00 <CakeProphet> look guys, I can make lambdabot obnoxious.
17:28:58 -!- naggg has joined.
17:29:18 <CakeProphet> https://www.google.com/search?gcx=w&sourceid=chrome&ie=UTF-8&q=do+a+barrel+roll
17:30:12 <oerjan> Vorpal: cale is a #haskell regular who added some of his haskell ideas to lambdabot. i think.
17:30:52 <elliott> oerjan: he is the maintainer of lambdabot.
17:31:05 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
17:31:21 <oerjan> i wasn't quite sure about that, thus "i think"
17:31:25 <HackEgo> ?: ERROR: cannot open `?' (No such file or directory)
17:31:30 <HackEgo> bin/?: POSIX shell script text executable
17:31:51 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pasteurl: not found
17:31:52 <elliott> Vorpal: try not to fail horribly at the bots in front of the newbies
17:32:01 <Vorpal> elliott, I forgot what the command was
17:32:01 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.3471 \ cat: 'bin/?': No such file or directory
17:32:08 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/?
17:32:16 <Vorpal> wait, that is going to break
17:32:18 <elliott> Oh, that actually doesn't work because Gregor is lazy.
17:32:24 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.11685
17:32:52 <HackEgo> ais523 \ augur \ c \ elliott \ everyone \ finland \ fizzie \ flower \ friendship \ gregor \ hackego \ haskell \ ievan \ intercal \ itidus20 \ monad \ monads \ monqy \ oerjan \ oklopol \ qdb \ qdbformat \ sgeo \ shachaf \ u \ vorpal \ welcome \ wiki
17:33:00 <elliott> <oerjan> i wasn't quite sure about that, thus "i think"
17:33:08 <elliott> oerjan: and i was giving you the gift of correction :P
17:34:02 <HackEgo> Monads are just monoids in the category of endofunctors.
17:34:03 <elliott> Vorpal: crawl's learndb has a single entry with 3494 definitions
17:34:50 <HackEgo> Monads are just monoids in the category of endofunctors.
17:35:04 <monqy> elliott: good thing that entry sucks
17:35:18 <elliott> monqy: it's crawl, what did you expect
17:35:52 <monqy> some crawl learndb entries are good in a bad way but most of them are awful
17:35:57 <HackEgo> INTERCAL has excellent features for modular program for the enterprise market.
17:36:15 <elliott> Vorpal: I refuse to believe you don't know what Crawl is.
17:36:25 <Vorpal> elliott, oh, stone soup?
17:36:59 <Vorpal> elliott, would you believe me if I said I never actually played it?
17:37:05 -!- Ngevd has quit (Ping timeout: 252 seconds).
17:37:12 <HackEgo> Finland is a European country. There are two people in Finland, and at least five of them are in this channel. Corun drives the bus.
17:37:20 <elliott> Vorpal: No, I would die from shock.
17:37:20 <HackEgo> Monads are just monoids in the category of endofunctors.
17:37:22 <fizzie> Rodney's learndb has 6653 definitions, but the entry with most definitions (stealing_from_shops) only has 17 of them. (Assuming I grepped right.)
17:37:43 <HackEgo> elliott wrote this learn DB, and wrote or improved many of the other commands in this bot. He probably has done other things?
17:38:12 -!- zzo38 has quit (Remote host closed the connection).
17:38:16 <HackEgo> Your future evil overlord oerjan is an expert in lazy computation.
17:38:25 <HackEgo> The friendship monqy is an ancient Chinese mystery; ask itidus21 for details.
17:38:38 <oerjan> `run echo '"Banach-Tarski" is an anagram of "Banach-Tarski Banach-Tarski".' >wisdom/banach-tarski
17:38:49 <elliott> oerjan: i am not sure i approve of the hyphen
17:39:08 <Vorpal> elliott, rougelikes I played: nethack, slashem, a bit of angband. Yeah I think that is it.
17:39:17 <HackEgo> fizzie is rumoured to be written in Funge-98.
17:39:18 <Vorpal> maybe I should play stone soup now
17:39:38 <HackEgo> Gregor took forty cakes. He took 40 cakes. That's as many as four tens. And that's terrible.
17:39:48 <elliott> monqy: ais523: back me up here
17:39:55 <Vorpal> elliott, does it suck because you are bad at it? Or some other reason?
17:40:08 <monqy> it sucks because it's bad
17:40:11 <Vorpal> elliott, in what way is it bad
17:40:12 <elliott> you can trust monqy, he has like _three_ entries in that learndb.
17:40:18 <monqy> i have way more than three
17:40:18 <Gregor> Maybe you should MAKE stone soup.
17:40:18 <Vorpal> and stop echoing monqy
17:40:26 <elliott> monqy echoed me you blithering moron.
17:40:32 <monqy> and i've won a lot of games!!
17:40:37 <monqy> so I have experience, am probably good
17:40:42 <Vorpal> elliott, no that was "and stop echoing, monqy!"
17:40:42 <oerjan> elliott: it occurs to me that `? welcome is atypical: it's information is actually true.
17:40:44 <elliott> monqy: how many games... is it 2
17:40:52 <elliott> oerjan: fix the ' so i can addquote that
17:41:03 <oerjan> elliott: it occurs to me that `? welcome is atypical: its information is actually true.
17:41:09 <monqy> elliott: i think it's like 17 :( i used to play it a lot before i got really frustrated with how bad it was
17:41:11 <elliott> `addquote <oerjan> elliott: it occurs to me that `? welcome is atypical: its information is actually true.
17:41:13 <HackEgo> 704) <oerjan> elliott: it occurs to me that `? welcome is atypical: its information is actually true.
17:41:31 <HackEgo> Haskell is preferred by 9 out of 10 esoteric programmers. Ask your GP today! http://learnyouahaskell.com/
17:41:34 <elliott> Vorpal: anyway, the reasons are (a) it sucks (b) the balance is awful (c) the fact that you're always in the centre tile gives you a headache
17:41:37 <elliott> Vorpal: ask ais523 if you want more detail :P
17:41:41 <Vorpal> elliott, the only person I would trust about rougelikes would be ais523. You need him to back you up.
17:41:51 <HackEgo> itidus20 is horny 60 year olds having cybersex in minecraft
17:41:52 <Vorpal> well, only person in this channel
17:42:02 <HackEgo> ais523 is ais523. This topic may retroactively become more informative if or when Feather is invented.
17:42:02 <monqy> I don't care about (c) but I'd add (d) it's boring
17:42:14 <Vorpal> elliott, err, I seen plenty of games like (c), they don't annoy me
17:42:32 <HackEgo> Sgeo invented Metaplace sex.
17:42:32 <monqy> and (e) it's tedious
17:42:45 <monqy> maybe other games are boring and tedious too; I prefer not to play them either
17:43:04 <Gregor> ? who owns lines starting with a ? again?
17:43:14 <Gregor> ?somebody owns lines starting with a ?
17:43:21 <Gregor> Yeah, lambdabot, that jerk.
17:43:24 <oerjan> `run echo 'Vorpal is a swede so normal that this information is actually true.' >wisdom/vorpal
17:43:42 <elliott> `run echo 'Vorpal sucks.' >wisdom/vorpal
17:43:51 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: rollback: not found
17:43:51 <elliott> Gregor: BTW `quote modifies the FS on every invocation now is that ok.
17:43:52 <HackEgo> #!/bin/sh \ topic=$(echo "$1" | sed 's/ .*//' | tr A-Z a-z) \ info=$(echo "$1" | sed 's/[^ ]* //') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." \
17:43:54 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
17:44:04 <oerjan> elliott: see what you did
17:44:05 <HackEgo> 620) <monqy> in the past few minutes I tried remembering what my dream last night was, but instead remembered I didn't sleep
17:44:15 -!- naggg has quit (Quit: begone).
17:44:19 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/unquote
17:44:48 * elliott waits for Vorpal to break the bot with idiocy.
17:44:49 <CakeProphet> there was already a wisdom entry on vorpal...
17:44:50 -!- boily has joined.
17:44:53 <Gregor> elliott: OK, but why does `quote need to modify ...
17:45:00 <elliott> Gregor: So that `unquote knows what to delete.
17:45:27 <monqy> <other person> i loved that quote
17:45:31 <Gregor> You should have it report which one it removed just in case of SYNCHRONIZATION.
17:45:33 <Vorpal> Gregor, what does `revert take as parameter exactly?
17:45:39 <elliott> Gregor: `delquote does now.
17:45:42 <Gregor> Vorpal: The revision to revert to.
17:45:58 <Vorpal> Gregor, for some reason I can't find the revision number on http://codu.org/projects/hackbot/fshg/
17:46:30 <Vorpal> I seem to remember seeing said revision number there before.... Strange
17:46:44 <elliott> You must be at least this smart to ride the bot -->
17:47:04 <Gregor> Is everyone `learn-incompetent or what?
17:47:06 <elliott> http://codu.org/projects/hackbot/fshg/index.cgi/rev/6fd8b41fdb37
17:47:43 <Vorpal> elliott, ah there, I tried the hash, but that didn't work
17:47:58 <Vorpal> elliott, it would make sense if the hash worked
17:47:59 <elliott> CakeProphet: You must learn how to use `learn before I'll not be a dick about working around it :P
17:48:10 <elliott> Vorpal: I'm the maintainer of HackEgo. That's why you should complain to me and not Gregor.
17:48:32 <Vorpal> elliott, you are? I thought it ran on codu
17:48:34 <Gregor> HackEgo has no maintainer, it is anarchy.
17:49:21 <elliott> Gregor: P.S. You should make `revert rollback to the last revision :P
17:49:22 <HackEgo> #!/bin/sh \ topic=$(echo "$1" | sed 's/ .*//' | tr A-Z a-z) \ info=$(echo "$1" | sed 's/[^ ]* //') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." \
17:49:26 <elliott> Gregor: I'm 99% sure hg lets you specify that.
17:49:53 <Gregor> elliott: I'm 99% sure that I'm too lazy to implement that and also that I don't want it to be QUITE that easy to revert.
17:50:12 <elliott> Gregor: (a) But it's like one line since hg lets you specify it :'( (b) Point.
17:50:21 <elliott> It's annoying for me though, how about you make it just work for me :P
17:50:35 <Gregor> I accept reasonable patches to HackBot.
17:50:44 <Gregor> CakeProphet: But it's a good way to say "not a space"
17:50:46 <elliott> Gregor: Got a link again? :P
17:51:03 <Vorpal> elliott, there are race conditions that way
17:51:04 <Gregor> elliott: hg for filesystem, minus "fs"
17:51:06 <CakeProphet> Gregor: therefore, "is" is not transitive.
17:51:11 <elliott> Vorpal: HackEgo is one gigantic race condition.
17:52:39 <elliott> Gregor: Writing a patch now :P
17:52:49 <Gregor> elliott: Submit in bundle format kthx
17:53:04 <Gregor> (And/or export format)
17:53:33 <elliott> Gregor: Y'know, I'm pretty sure you don't want "hg revert".
17:53:40 <elliott> You want the revert to become a revision itself, after all.
17:54:07 <Gregor> elliott: I commit post-hg-revert. hg backout would be similar but I didn't use it because this way the hg revert is just like any other command.
17:54:24 <Gregor> CakeProphet: Impressive.
17:54:28 <elliott> Gregor: Why /don;t/ hashes work, btw?
17:54:34 <Gregor> elliott: Don't ask me :)
17:54:44 <Gregor> elliott: I probably just only accept numerics.
17:55:04 <CakeProphet> revert should just be an alias for find . -delete
17:55:58 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/?
17:56:00 <Vorpal> Gregor, that url is broken
17:56:09 <Vorpal> Gregor, I think you need to properly url encode stuff
17:56:15 <HackEgo> #!/bin/bash \ if [ "$1" ] \ then \ echo 'http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/'"$1" \ else \ echo 'http://codu.org/projects/hackbot/fshg/' \ fi
17:56:19 <Gregor> Vorpal: That script is part of the FS, anybody can fix it.
17:56:44 <Gregor> Only `fetch, `revert, and (maybe?) `help are privileged.
17:56:45 <Vorpal> fuck url encoding in bash
17:56:47 <HackEgo> cat: `which revert`: No such file or directory
17:57:09 <elliott> Gregor: It doesn't work because you explicitly require the revision to be a number... :P
17:57:11 * elliott just removes that constraint
17:57:14 <Vorpal> Gregor, which protocols does `fetch support?
17:57:16 <elliott> It'll fail harmlessly if you try and do something stupid.
17:57:28 <Gregor> Vorpal: Whatever wget supports *shrugs*
17:57:38 <shachaf> `run perl -MURI::Escape -e 'print uri_escape($ARGV[0]);' 'blah/?'
17:57:41 <HackEgo> Can't locate URI/Escape.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .). \ BEGIN failed--compilation aborted.
17:57:57 <Vorpal> elliott, Surely you want to check for it being [0-9a-f]+
17:58:07 <elliott> You can say things like -3
17:58:30 <elliott> >& is like redirecting both 1 and 2, right?
17:58:36 <Vorpal> elliott, just as long as you handle escaping and quoting properly (might be a non-issue, depending on which language it is written in)
17:58:56 <Gregor> `fetch file:///etc/passwd
17:58:57 <HackEgo> file:///etc/passwd: Unsupported scheme `file'.
17:59:22 <Gregor> Vorpal: Tragic I know.
17:59:38 <CakeProphet> Gregor: I don't understand. why is revert not part of the filesystem? :>
17:59:43 -!- Phantom_Hoover has joined.
17:59:58 <HackEgo> ls: cannot access .hg: No such file or directory
18:00:48 <HackEgo> . \ .. \ bin \ canary \ karma \ lastquote \ lib \ paste \ quotes \ share \ wisdom
18:01:13 <HackEgo> ? \ ais523 \ augur \ banach-tarski \ c \ cakeprophet \ elliott \ everyone \ finland \ fizzie \ flower \ friendship \ gregor \ hackego \ haskell \ ievan \ intercal \ itidus20 \ monad \ monads \ monqy \ oerjan \ oklopol \ qdb \ qdbformat \ sgeo \ shachaf \ u \ vorpal \ welcome \ wiki
18:02:11 <HackEgo> ievan is basically http://www.youtube.com/watch?v=4om1rQKPijI
18:02:13 <shachaf> One might say the same thing about birds.
18:02:16 <HackEgo> INTERCAL has excellent features for modular program for the enterprise market.
18:03:25 <HackEgo> Monads are just monoids in the category of endofunctors.
18:03:28 <HackEgo> Monads are just monoids in the category of endofunctors.
18:04:03 <elliott> Gregor: curl http://sprunge.us/jSEE | uudecode
18:05:29 <HackEgo> C is the language of��V�>WIד�.��Segmentation fault
18:05:48 <elliott> CakeProphet: Also, stop spamming.
18:07:48 <fungot> \o| |o| |o/ \m/ \m/ |o/ \o/ \o| \m/ \m/ \o| |o| |o/
18:07:49 <myndzi\> | | | `\o/´ | | | `\o/´ | | |
18:07:49 <myndzi\> |\ |\ |\ | /´\ /< |\ | /< /´\ |\
18:08:35 <CakeProphet> but how can that be spam if it brings so much joy?
18:10:58 -!- Ngevd has joined.
18:11:00 <monqy> only if they're good bots
18:11:44 <CakeProphet> and have as many bots as regular spamm^H^H^H^H^Hhumans
18:14:24 <monqy> I wouldn't like a channel full of bad bots...but good bots are good
18:16:21 <CakeProphet> I'm considering writing one in some esolang, but I don't know what purpose it would serve.
18:17:08 <CakeProphet> it could hold arbitrary state and not ignore bot commands.
18:17:57 <Gregor> elliott: abort: no diffs found
18:18:00 <elliott> fungot holds arbitrary state too
18:18:00 <fungot> elliott: its been said that atlanta is better than bfbot!) :p. i think i get it completely now that i'm already there.
18:18:04 <CakeProphet> and also have a dice roller, or some kind of esolang interpreter.
18:18:11 <elliott> Gregor: Uhh, I did "hg bundle" and it said 1 changeset found.
18:18:17 <elliott> Gregor: What'd I do wrong?
18:18:24 <Gregor> Nothing by the sounds of it :P
18:18:26 <elliott> [elliott@dinky PRIVMSG]$ hg bundle bundle.hg
18:18:48 <elliott> Gregor: http://sprunge.us/jGde ;; well this doesn't look any longer.
18:18:59 <Gregor> Uhh, hg export then? :P
18:19:10 <Gregor> Never seen bundle just lie >_>
18:19:31 <elliott> Gregor: http://sprunge.us/fcjP
18:20:02 <CakeProphet> monqy: the problem is that every utility I can think of is pretty much made capable by hackego. :P
18:20:26 <Gregor> `echo this crap is useless lol > bullshitfile
18:20:28 <HackEgo> this crap is useless lol > bullshitfile
18:20:35 <Gregor> `run echo this crap is useless lol > bullshitfile
18:22:28 <HackEgo> abort: repository /tmp/hackenv.hg.19659 not found!
18:24:13 <Vorpal> Gregor, tell me what caused that when you find out
18:25:29 <HackEgo> abort: repository /tmp/hackenv.hg.19878 not found!
18:25:53 <HackEgo> cat: bullshitfile: No such file or directory
18:26:34 <Gregor> There's no semilogical reason why elliott should have failed, but it did >_>
18:26:51 <elliott> Gregor: Yo, ping me when you apply my changes so I can test them :P
18:27:05 <elliott> <HackEgo> abort: repository /tmp/hackenv.hg.19878 not found!
18:27:07 <Gregor> elliott: That's what I was just testing.
18:27:13 <elliott> Gregor: Why does mv blah .hg work
18:27:20 <Gregor> elliott: Excellent question.
18:27:26 <Gregor> elliott: One I didn't bother to answer, I just mv'd :P
18:27:37 <elliott> Gregor: Oh, did you have the same problem previously?
18:28:01 <elliott> Gregor: Right, well, make the same modification to mine :P
18:28:04 <olsner> elliott: what does hg blah do?
18:28:05 <elliott> Or I can if you really want
18:28:09 <Gregor> elliott: Already have.
18:28:15 <Vorpal> isn't -R supposed to point to foo as in foo/.hg
18:28:18 <HackEgo> hg: unknown command 'blah' \ Mercurial Distributed SCM \ \ basic commands: \ \ add add the specified files on the next commit \ annotate show changeset information by line for each file \ clone make a copy of an existing repository \ commit commit the specified files or all outstanding changes \ diff
18:28:22 <Vorpal> rather than to foo/.hg directly
18:28:30 <elliott> Vorpal: I dunno, you can give it a bundle file
18:28:35 <elliott> `run echo shitfuck >fuckshit
18:28:46 <HackEgo> cat: fuckshit: No such file or directory
18:28:49 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
18:29:11 <Gregor> lololol there's clock sync issues, fshg reported that those happened "28 seconds from now"
18:29:27 <HackEgo> abort: unknown revision '!#$'!
18:29:52 <HackEgo> hg revert: option -r requires argument hg revert [OPTION]... [-r REV] [NAME]... restore individual files or directories to an earlier state NOTE: This command is most likely not what you are looking for. revert will partially overwrite content in the working directory without changing the working directory parents. Use "hg update -r rev" to check out earlier revisions, or "hg update --clean ." to undo a merge which has added another parent. With no revision spec
18:30:15 <Vorpal> `revert --; cat /etc/passwd
18:30:16 <HackEgo> abort: unknown revision '--; cat /etc/passwd'!
18:30:29 <HackEgo> cat: /etc/passwd: No such file or directory
18:30:57 <elliott> Gregor: Except that the hg command is run on the host :P
18:31:05 <elliott> Gregor: So `revert is TECHNICALLY the most viable exploit vector at this point :P
18:31:13 <Gregor> elliott: True, but /etc/passwd is still useless *shrugs*
18:31:19 <elliott> Gregor: (Can't you run the hg stuff from inside the repo?)
18:31:29 <elliott> I guess that's vulnerable to breakage unless you have some `restorerepo command.
18:31:38 <HackEgo> bin \ canary \ karma \ lastquote \ lib \ paste \ quotes \ share \ wisdom
18:31:42 <Vorpal> Gregor, yes I know, but it was more a proof of concept. If I had been evil I would have used rm -rf ~ instead
18:31:54 <Gregor> <elliott> Gregor: (Can't you run the hg stuff from inside the repo?) // in principle, but I wanted to maintain the invariant that one command = one commit
18:32:06 <elliott> Gregor: You don't have that invariant
18:32:09 <elliott> It's one command = zero or one commits :P
18:32:14 <HackEgo> bin \ canary \ karma \ lastquote \ lib \ paste \ quotes \ share \ wisdom
18:32:19 <elliott> CakeProphet: You're never gonna figure out how that works.
18:32:20 <HackEgo> ? \ addquote \ allquotes \ calc \ define \ delquote \ etymology \ forget \ fortune \ frink \ google \ json \ k \ karma \ karma+ \ karma- \ learn \ log \ logurl \ macro \ marco \ paste \ pastekarma \ pastelog \ pastelogs \ pastenquotes \ pastequotes \ pastewisdom \ ping \ prefixes \ qc \ quote \ quotes \ roll \ runperl \ toutf8
18:32:36 <CakeProphet> elliott: how does it work (or not work, actually)
18:33:16 <elliott> Gregor: Yo, there's a hole in http://sprunge.us/fcjP
18:33:33 <Gregor> elliott: There's a hole in my bucket, my bucket, my bucket.
18:33:39 <elliott> Gregor: s{'PRIVMSG '$CHANNEL' :'$MSG}{"PRIVMSG $CHANNEL :$MSG"} pls
18:36:57 -!- Siddiq has joined.
18:37:19 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
18:37:53 -!- Zwaarddijk has quit (Ping timeout: 240 seconds).
18:38:40 <shachaf> elliott: I never got a welcome like that!
18:39:47 <Gregor> shachaf: Blah blah blah welcome blah blah blah hub blah blah blah exoteric voodoo programming blah blah blah
18:40:05 <Gregor> shachaf: Blah blah blah matrix of solidity blah blah blah
18:40:42 <quintopia> i would like to reiterate and expound upon what gregor just said
18:40:52 <quintopia> but i am too locked into my matrix of solidity
18:40:57 <shachaf> "blah blah blah spoons blah blah blah swordfish blah blah blah"
18:41:10 <olsner> shachaf: nope nope nope, there is no spoon
18:41:28 -!- Siddiq has left.
18:41:35 <Gregor> Well that was expected :P
18:41:46 <shachaf> olsner: I see that it goes unappreciated. :-(
18:45:32 -!- ais523 has changed nick to ais523\unfoog.
18:45:39 <Vorpal> there should be an esolang based on the other sort of esotericness
18:46:07 <Vorpal> wait, lets make a bf clone with renamed command, like [ = matrix of solidity
18:46:18 <elliott> ais523\unfoog: unfoog? I heard one of those guys lost their game because they were too busy chatting on IRC!
18:46:20 <olsner> how about an ... esoteric programming esolang?
18:46:33 <Vorpal> olsner, that is what I suggested
18:46:46 <quintopia> was the matrix of solidity thing once said by a parting visitor to this channel?
18:46:51 <Vorpal> ais523\unfoog, hi there, is crawl: stone soup any good?
18:46:53 <HackEgo> 303) <treederwright> enjoy being locked in your matrix of solidity
18:47:06 <elliott> ais523\unfoog: Oh yeah, me and monqy are trying to tell Vorpal not to play Crawl because it sucks; he won't listen
18:47:07 <Vorpal> ais523\unfoog, ah okay, why?
18:47:12 <ais523\unfoog> to the extent that I've been kicked from ##crawl-dev for trolling at least twice
18:47:15 <Vorpal> elliott, monqy was just echoing you
18:47:21 <quintopia> elliott: was it followed by a ragepart?
18:47:22 <ais523\unfoog> Vorpal: because on paper it sounds like the sort of roguelike I'd like, but in practice it's awful
18:47:23 <elliott> Vorpal: No, he said a bunch of things of his own accord
18:47:28 <elliott> And is actually an experienced Crawl player
18:47:45 <ais523\unfoog> which the Crawl devs keep insisting is better than NetHack's
18:47:46 <Vorpal> aha, that sort of issues
18:48:20 <ais523\unfoog> the best strategy is, to, whenever you come across something you're not certain you can handle, run away and go somewhere else
18:49:00 <Vorpal> ais523\unfoog, well I have to say that nethack's interface is not exactly perfect though.
18:49:32 <ais523\unfoog> did you not notice that I was making a NetHack variant specifically for the purpose of having a better interface?
18:49:33 <elliott> ais523 "AceHack" \unfoog must surely think NetHack's interface is the best.
18:49:44 <olsner> what if fungot could invent esolangs based on trawling the wiki or something
18:49:45 <fungot> olsner: eek. ppt :( emacs as my windowing system... fresco/ berlin has some *really* nice ideas, but also quite a few haskell papers already
18:49:54 <elliott> olsner: Oooh, that'd be a good grammar.
18:50:01 <Vorpal> ais523\unfoog, I thought it fixed a number of other issues, as well as some interface issues
18:50:30 <Vorpal> ais523\unfoog, quite a few bug fixes iir
18:50:31 <ais523\unfoog> a few marginal balance changes, but only when the original is mad enough to count as a bug
18:50:39 <elliott> ais523\unfoog: BTW, is there a way to make AceHack /not/ put everything in a single acehackdir?
18:50:54 <Vorpal> ais523\unfoog, where was the acehack changelog now agai
18:50:57 <ais523\unfoog> elliott: not a supported way yet; however, I acknowledge that what it does at the moment is obviously mad
18:51:12 <elliott> ais523\unfoog: What's the unsupported way?
18:51:14 <ais523\unfoog> there is a define somewhere called VAR_PLAYGROUND or something like that
18:51:22 <ais523\unfoog> I don't know what it does, but believe it's relevant
18:51:43 <elliott> ais523\unfoog: If I write a patch to make it do something vaguely FHSy or Kitten, will you accept it? :p
18:52:15 <olsner> "<fungot> eek. ppt :(", looks like fungot didn't appreciate my idea though
18:52:15 <fungot> olsner: my home network is down for me
18:52:16 <ais523\unfoog> elliott: I won't reject patches that are obvious improvements; you might have to clear it with the server admins and whatever insane method they're using to get it working on servers, though
18:52:32 <elliott> ais523\unfoog: I could provde a --disable-sanity option for them :)
18:52:37 <Vorpal> ais523\unfoog, well, from the nethack wiki... "The vibrating square is visible from a distance.", I'm not sure that counts as a bug in the original.
18:52:55 <Vorpal> ais523\unfoog, after all, unless it has quite a large amplitude you can't really spot it from far away
18:53:00 <elliott> ais523\unfoog: (I realise --disable-bugfix is never a good option to add)
18:53:06 <ais523\unfoog> elliott: the AceHack server admins are kerio and rawrmage; kerio reminds me of you, except more annoying and with worse taste in languages
18:53:19 <elliott> ais523\unfoog: oh dear; I don't think I'll like kerio
18:53:46 * elliott manages to /just/ narrowly avoid being too annoying to not hate himself
18:53:49 <ais523\unfoog> Vorpal: it's flavoured as the air above the vibrating square glowing
18:54:02 <elliott> ais523\unfoog: wait, what kind of language taste are we talking about here?
18:54:16 <elliott> C++? PHP? VB? SpectateSwamp Desktop Search?
18:54:23 <elliott> (I'm sure you could program /something/ with the last one)
18:54:31 <olsner> ais523\unfoog: I sent it an IRC message, not a powerpoint... I think ppt is just fungot's way of saying pfft
18:54:32 <fungot> olsner: can you handle it? generally :) unless it's boring enough to now allow writing to code area...
18:54:37 <elliott> ais523\unfoog: It's worse than I ever could have imagined :'(
18:55:08 <Vorpal> ais523\unfoog, "Swapping your wielded and readied weapons no longer costs a turn. (Readying a weapon directly, something not possible in vanilla NetHack but possible in AceHack, does.) " hm, why would switching weapon not take time?
18:55:10 <elliott> ais523\unfoog: If I had vagrant's source I'd tell you to show em vagrant :P
18:55:16 <olsner> hmm, the fun got is amazingly intelligible today, have you changed the mode or something?
18:55:22 <ais523\unfoog> elliott: to get an idea of kerio, you could check the QDB; it submits by POST so I can't link to it, but http://qdb.rawrnix.com/?search and search for "kerio"
18:55:23 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc* jargon lovecraft nethack pa sms speeches ss wp youtube
18:55:26 <fungot> Selected style: fungot (What I've said myself)
18:55:41 <elliott> ais523\unfoog: I think I already read all the quotes in that qdb :) I only vaguely remember anything to do with kerio, but maybe I'm forgetful
18:55:44 <ais523\unfoog> Vorpal: because you're just switching items from one hand to the other
18:56:01 <elliott> ais523\unfoog: wow, it jumps you to the bottom of the page after you submit, too
18:56:08 <Vorpal> ais523\unfoog, that still takes some time in real life
18:56:14 <ais523\unfoog> I am partial to "angband is checkers on a 6400x6400 board", though
18:56:43 -!- quintopia has quit (Ping timeout: 244 seconds).
18:57:34 <elliott> ais523\unfoog: do you have any experience with the wikidumps?
18:57:35 -!- Zuu_ has joined.
18:57:59 * elliott is wondering if they might work with sqlite
18:58:05 <elliott> yes, esolang's to be exact
18:58:09 <ais523\unfoog> not really; I know that they're pretty much just a sequence of SQL commands
18:58:18 <elliott> (1,'Gravity/w/','','Hi, you\'re scum',89,'Oerjan','20090727114914',1,'',14965,14942)
18:58:25 <elliott> ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
18:58:30 <elliott> ais523\unfoog: a worryingly non-portable-looking sequence
18:58:49 <olsner> mysql dumps don't work out of the box with sqlite at least :)
18:59:10 <elliott> Error: near line 711: near "DELAYED": syntax error
18:59:10 <elliott> Error: near line 719: near "unsigned": syntax error
18:59:10 <elliott> Error: near line 743: near "DELAYED": syntax error
18:59:39 <elliott> Shell script that converts a mysqldump file into Sqlite3 compatible SQL file. It uses awk for speed and portability. Runs on Windows with the Cygwin tool for Windows.
18:59:45 <elliott> https://gist.github.com/943776
18:59:46 <olsner> I think I wrote a sed script to partially convert sql files one time, but noticed that other parts of that system used mysql features and couldn't use sqlite anyway
19:00:07 <elliott> mysqldump --compatible=ansi --skip-extended-insert --compact "$@" | \
19:00:12 <elliott> oh c'mon, let me specify my own file :)
19:00:36 <Vorpal> ais523\unfoog, "A new "solo mode" prevents bones files from being loaded, and makes startscumming visible (normally, AceHack allows players to view and reroll their stats and inventory before starting the game). " <-- sure I can see the reason for all of these points, but why is the "don't load bone files" under the same option as "make startscumming visible"?
19:01:08 <elliott> sigh, still a fuckton of syntax errors
19:01:21 <Vorpal> elliott, why are you using mysql!?
19:01:31 <elliott> Vorpal: read context or shut up
19:01:42 <ais523\unfoog> Vorpal: because they're both pretty much a case of showing that streaks are real
19:01:43 <elliott> i'm trying /not/ to use mysql
19:02:06 <ais523\unfoog> Vorpal: he's got a mysql-specific DB dump, and is trying to convert it to something non-mysql, I guess by importing it into mysql and exporting it again
19:02:16 <elliott> ais523\unfoog: nope, by running an awk script over it
19:02:21 <elliott> i'm trying to avoid installing mysql :)
19:03:07 <Vorpal> ais523\unfoog, well, bone files are pretty much hit and miss, I wouldn't call it unreal just because you got a lucky bone. Same as I wouldn't call it unreal if the PRNG happened to favour you when fighting Rodney
19:03:08 -!- Zwaarddijk has joined.
19:04:00 * elliott runs a vi command over 100 megs of data
19:04:13 <Vorpal> ais523\unfoog, how, unless you have write access to the files in question?
19:04:38 <Vorpal> well sure, but anyone could get that bone
19:04:48 <ais523\unfoog> do it with your other character waiting on the level above
19:05:05 <ais523\unfoog> if you don't get it, do it all again on the level below
19:05:10 <ais523\unfoog> then the level below that if it still doesn't work
19:05:21 <Vorpal> quite a lot of work, but sure
19:05:31 <Vorpal> what are the chances for bones?
19:05:49 <ais523\unfoog> leaving it's depth-dependent; loading is a fixed probability IIRC, although I don't remember whether it's 1/3 or 1/2
19:06:11 -!- quintopia has joined.
19:06:11 -!- quintopia has quit (Changing host).
19:06:11 -!- quintopia has joined.
19:06:25 <ais523\unfoog> Vorpal: well, normally a bones file doesn't exist for any given level
19:06:54 <elliott> ais523\unfoog: quick, what table are all the /newest/ revisions of articles stored in, in MW?
19:06:58 <ais523\unfoog> Vorpal: because levels are visited much more often than they are died in
19:07:11 <ais523\unfoog> it may be "page" or "pages" or something like that
19:07:11 <Vorpal> <ais523\unfoog> ais523\unfoog: wiki spam <-- what
19:07:23 <elliott> ais523\unfoog: i'll grep :P
19:07:25 <Vorpal> ais523\unfoog, ah right
19:07:54 <elliott> ais523\unfoog: why the hell does MW prefix fields with a shortened version of the table name?,..
19:07:56 <Vorpal> ais523\unfoog, you could just fix it without reporting
19:08:05 -!- Zuu_ has quit (Ping timeout: 244 seconds).
19:08:17 <ais523\unfoog> elliott: presumably so it doesn't need to alias them in joins?
19:08:22 <Vorpal> elliott, I guess it might make joins easier, avoiding some ...
19:11:23 <elliott> ais523\unfoog: hmm, mw_page seems to contain everything /but/ the text
19:11:39 <elliott> `page_latest` int(8) unsigned NOT NULL default '0',
19:11:39 <elliott> worryingly, no foreign key here...
19:11:52 <elliott> ais523\unfoog: there's an mw_archive
19:11:58 <elliott> but the name of that seems to suggest it's all /old/ revisions
19:12:11 <elliott> those are included in the dump??
19:12:27 <elliott> ais523\unfoog: well, they are
19:12:31 <elliott> INSERT DELAYED INTO `mw_archive` (`ar_namespace`, `ar_title`, `ar_text`, `ar_comment`, `ar_user`, `ar_user_text`, `ar_timestamp`, `ar_minor_edit`, `ar_flags`, `ar_rev_id`, `ar_text_id`) VALUES (1,'Turing_tarpit','','wDMfMOGCFBaes',0,'202.99.29.27','20090721214654',0,'',14920,14897),(1,'Fractran_plus_plus/','','Bad Credit Debt Consolidation Personal Loan',0,'218.23.143.125','20090724082501',0,'',14937,14914),(1,'W/','','Hi, I`m new',0,'212.235.107
19:12:31 <elliott> .87','20090724154130',0,'',14940,14917),(2,'508_buy_zyvox','','New page: [http://www.mcgillcorp.industrialguard.com/invboard/index.php?showuser=910 Metformin] He send somebody instead of going hisself? Bad for business all that noise. Well sport have you figure...',422,'508 buy zyvox','20090725145129',0,'',14948,14925),(2,'508_buy_zyvox','','rm spam',139,'Smjg','20090725150733',0,'',14949,14926),(1,'Gravity/w/','','Hi, I`m new',0,'212.235.107.87',
19:12:31 <elliott> '20090727090915',0,'',14964,14941),(1,'Gravity/w/','','Hi, you\'re scum',89,'Oerjan','20090727114914',1,'',14965,14942),(1,'W/','','Hi! New member here :)',0,'91.121.12.73','20090727235547',0,'',14977,14954),(1,'Gravity/w/','','Hi! New member here :)',0,'91.121.12.73','20090801083818',0,'',15004,14981),(1,'W/','','Hi! New member here :)',0,'91.121.12.73','20090815065357',0,'',15154,15131),(1,'Gravity/w/','','Hi! New member here :)',0,'91.121.12.73
19:12:36 <elliott> ','20090816162120',0,'',15178,15155),(1,'Befunge/index.php','','NYC Photo Studio 917 484 6430',0,'212.235.107.27','20090820031732',0,'',15318,15293),(2,'5k63ded6ttcyf67','','New page: easf57ase7fske99898ffhhfh So. \'D\' -- that should be a guide. \" \"The man was a Spaniard. I suggest that \'D\' stands for Dolores a common female name in Spain. \" \"Good Watson very good -- b...',436,'5k63ded6ttcyf67','20090824085757',0,'',15364,15339),(1,'Befu
19:12:41 <elliott> nge/index.php','','Registration and Hosting Godaddy Promo Codes',0,'212.235.107.215','20090828053353',0,'',15451,15425),(1,'Main_Page/index.php','','Анекдоты',0,'82.193.114.92','20090627120826',0,'',14747,14723),(1,'Main_Page/index.php','','</b
19:12:44 <Vorpal> elliott, try a pastebin
19:13:16 <elliott> and it was only five lines :)
19:13:22 <Vorpal> elliott, five huge lines
19:13:27 <elliott> (0,'AAAAAAAAAAAAAA','','AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',0,'66.210.7.66','20091008222055',0,'',16169,16139)
19:13:31 <elliott> a page too beautiful for this world
19:13:37 <Vorpal> elliott, I have this thing we call line wrapping.
19:13:40 <elliott> ais523\unfoog: aha, there's mw_revision
19:14:12 <elliott> all the columns but one start with "old_"
19:14:19 <elliott> the one that doesn't is "inverse_timestamp"
19:14:34 <elliott> it /does/ contain text though
19:14:40 <ais523\unfoog> elliott: "oldid" is actually the name for a revision's ID number, for historical reasons
19:14:55 <elliott> ais523\unfoog: no, mw_text :P
19:15:05 <elliott> ais523\unfoog: and ok, but there's even like
19:15:09 <elliott> `old_comment` tinyblob NOT NULL,
19:15:09 <elliott> `old_user` int(5) unsigned NOT NULL default '0',
19:15:16 <Vorpal> what is an inverse time stamp?
19:15:26 <Vorpal> does the concept of the inverse of the timestamp even make sense
19:16:40 <elliott> INSERT DELAYED INTO `mw_text` (`old_id`, `old_namespace`, `old_title`, `old_text`, `old_comment`, `old_user`, `old_user_text`, `old_timestamp`, `old_minor_edit`, `old_flags`, `inverse_timestamp`) VALUES (1,0,'Main_Page','Wiki software successfully installed.\n\nPlease see [http://meta.wikipedia.org/wiki/MediaWiki_i18n documentation on customizing the interface]\nand the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User\'s Guide] for u
19:16:41 <elliott> sage and configuration help.','',0,'MediaWiki default','20050406083246',0,'utf-8','79949593916753'),(15,0,'PATH','\'\'\'PATH\'\'\', invented by Francis Rogers in August 2003, is a two-dimensional language inspired by [[Brainfuck]] and [[Befunge]]. PATH\'s environment, like Brainfuck\'s, consists of an array of memory cells all initialized to zero and character-based standard input and output. PATH understands the following commands:\n\n $ - Start
19:16:41 <elliott> the program here, heading right.\n # - End the program.\n + - Increment the current memory cell.\n - - Decrement the current memory cell.\n } - Move to the next memory cell.\n
19:16:49 <elliott> ais523\unfoog: ah, mw_text looks like the text of /all/ revisions
19:16:53 <elliott> going by that main page thing
19:17:10 <elliott> [[PATH]] is our earliest non-deleted page, looks like
19:17:17 <Vorpal> elliott, but what is an inverse time stamp
19:18:19 <elliott> http://www.mediawiki.org/wiki/Help:Tables
19:18:21 <elliott> that's not what I want, MW
19:18:30 <elliott> I want help on the /other/ kind of table
19:18:40 <elliott> http://www.mediawiki.org/wiki/Manual:Database_layout yay
19:19:11 <Vorpal> http://esolangs.org/wiki/Special:Version <-- seriously?
19:19:11 <elliott> http://www.mediawiki.org/wiki/Manual:Text_table ;; gah, it must have changed since Esolang's version
19:19:30 <elliott> Vorpal: hey, we're on PHP 5, that's impressively modern for Esolang
19:19:43 <Vorpal> what is the current php version?
19:21:24 <elliott> "Version 5.1 contained 20 known crashing and wrong result bugs in addition to the 35 present in version 5.0 (almost all fixed as of release 5.1.51)."
19:21:33 <elliott> "Version 5.0: beta from March 2005, production release October 2005 (cursors, stored procedures, triggers, views, XA transactions)
19:21:33 <elliott> The developer of the Federated Storage Engine states that "The Federated Storage Engine is a proof-of-concept storage engine",[31] but the main distributions of MySQL version 5.0 included it and turned it on by default. Documentation of some of the short-comings appears in "MySQL Federated Tables: The Missing Manual".[32]"
19:21:38 <elliott> Vorpal: can't say i'm unhappy we're on mysql 4!
19:22:49 <elliott> [elliott@dinky tmp]$ grep 'INSERT DELAYED INTO `mw_text`' latest.sql | wc -l
19:22:56 <elliott> oh great, I have to parse multiple records per line
19:22:59 <Vorpal> what is an delayed insert ?
19:23:11 <elliott> [elliott@dinky tmp]$ grep 'INSERT DELAYED INTO `mw_text`' latest.sql | head -n 1 | wc -c
19:23:15 <Vorpal> oh wait, related to foreign keys I guess?
19:23:16 <elliott> LINES SHOULD NOT BE THAT LONG
19:23:21 <Vorpal> why just not do it in a transaction
19:23:29 <elliott> does mysql even have transactions :)
19:23:37 <Vorpal> elliott, only with innodb iirc?
19:24:18 <Vorpal> elliott, not for all tasks
19:24:41 <elliott> ok, at least this format looks relatively simple
19:24:43 <Vorpal> the relational model isn't always wrong
19:24:49 <elliott> time to bust out the ghci guns
19:24:54 <elliott> Vorpal: sql violates the relational model's fundamental principles
19:25:08 <Vorpal> elliott, oh? which principles ?
19:25:42 <elliott> Vorpal: http://en.wikipedia.org/wiki/Codd's_12_rules
19:25:53 <elliott> there's a list of the ones that SQL breaks somewhere
19:25:56 <elliott> tl;dr "almost all of them"
19:26:28 <elliott> ISTR SQL has problems with ACID too, like by default the I part is relaxed or something
19:27:22 <Vorpal> well rule 3 is implemented at least
19:27:59 <elliott> http://en.wikipedia.org/wiki/Relational_model#SQL_and_the_relational_model
19:28:06 <Vorpal> rule 4 too, at least for postgre
19:28:17 <elliott> "SQL's NULL construct was intended to be part of a three-valued logic system, but fell short of that due to logical errors in the standard and in its implementations."
19:33:53 <ais523\unfoog> oh, recently discovered; part of Amazon's load balancing stuff relies on ISPs respecting the DNS standard
19:34:02 <ais523\unfoog> they don't, and as a result it often sends loads of data to the wrong person
19:36:05 <elliott> [elliott@dinky mw-text]$ ./extract latest.sql
19:38:00 <elliott> syslog is just syslog-ng bragging about it starting up and shutting down
19:38:08 <elliott> [ 8960.559879] Out of memory: Kill process 3630 (extract) score 692 or sacrifice child
19:38:08 <elliott> [ 8960.559885] Killed process 3630 (extract) total-vm:2712256kB, anon-rss:2691632kB, file-rss:0kB
19:38:10 -!- Zuu_ has joined.
19:38:27 <elliott> not really, it just used too much memory :P
19:38:39 <Vorpal> elliott, you need more ram then
19:38:48 <Vorpal> elliott, or not read the whole file at once
19:38:49 <elliott> no, I need a program that isn't broken
19:38:58 <elliott> the file is not the problem
19:39:20 <elliott> ais523\unfoog: that's the name of the process
19:39:50 <ais523\unfoog> I got an actual out of memory error a while back, I think because I turned the OOM killer off
19:40:06 <Vorpal> ais523\unfoog, what happened then? oops?
19:40:09 <ais523\unfoog> but it hit the right process (I was trying to do a brute-force A* search on a variant of the travelling salesman problem)
19:40:50 <ais523\unfoog> come to think of it, though, the malloc failure's going to hit a process at random based on how often they request memory
19:41:18 <ais523\unfoog> which is like an OOM killer, except it decides just before memory gets actually maxed which process/processes are going to get malloc failures first
19:41:50 <ais523\unfoog> presumably each process has a memory full percentage
19:42:06 <ais523\unfoog> which might be 95% for a really greedy killable process, 98% for something more normal, and 100% for init
19:42:29 <elliott> maybe I'm just confused as to what breakSubstring does...
19:42:53 <Vorpal> ais523\unfoog, oh btw, oom killer is going to introduce some non-determinism in secret project. Example: fork() a few times, and start mallocing in all child processes, then from the parent process report which child is killed first
19:43:04 <Vorpal> it might even be that the parent is killed first
19:43:11 <elliott> ais523\unfoog: we just need a system that has ~a hundred times the heap, and performs gracefully under conditions usually referred to as "swapping"
19:43:21 <ais523\unfoog> Vorpal: right, indeed; one of the assumptions I make on processes is that they don't cap the memory, just like another is no infinite busyloops
19:43:22 <elliott> ais523\unfoog: you could call it... orthogonal persistence!
19:43:34 -!- GreaseMonkey has joined.
19:43:40 <ais523\unfoog> (the Secret Project rewrites processes to use cooperative multitasking, effectively, to make them deterministic)
19:43:42 <elliott> ais523\unfoog: btw, I wrote a proof-of-concept of my busyloop exploiter
19:43:48 <elliott> ais523\unfoog: and thought of a way to partially fix the problem in doing so
19:44:19 <elliott> no, I mean fix the problem in the Secret Project
19:44:28 <elliott> ais523\unfoog: Implement alarm/ualarm in term of context switches
19:44:31 <elliott> rather than real time or whatever
19:44:56 <elliott> the program can't observe how much time passes
19:44:58 <ais523\unfoog> if you set alarm(1) to 100 context switches not 1 second, say
19:45:08 <elliott> like i said, the program can't observe how much time passes
19:45:09 <ais523\unfoog> elliott: sure it can, it can use gettimeofday or whatever
19:45:17 <elliott> ais523\unfoog: that gives nondeterminism...
19:45:22 <elliott> surely you're overriding the clock
19:45:34 <ais523\unfoog> but secret project's calculation of what the time should be
19:45:35 <elliott> ais523\unfoog: why not just set the time at 0 always?
19:45:52 <Vorpal> elliott, that would break something like cfunge running mycology
19:46:03 <ais523\unfoog> here, have a clue: setting the time at 0 always is fundamentally incompatible with the Secret Project's purpose
19:46:12 <Vorpal> elliott, since it checks what granularity HRTI provides
19:46:17 <ais523\unfoog> that's a clue as to what it's for that hasn't been given before, I think
19:46:33 <ais523\unfoog> as a bonus clue, the [CENSORED]s in the scheduling description were all related to simulated real time
19:46:34 <elliott> ais523\unfoog: btw, will there be a way to override the scheduler stuff?
19:46:46 <elliott> I'd like to avoid it, as I don't need that level of nondeterminism, and I'd like to be able to use -j3
19:46:49 <elliott> ais523\unfoog: just use the normal scheduler
19:47:20 <ais523\unfoog> that again is defeating the point of reproducibility; actually, you'd have to comment out large swathes of the Secret Project to do that
19:47:29 <ais523\unfoog> because most of the complicated stuff is the scheduler
19:47:40 <elliott> ais523\unfoog: oh, stop it, you /don't/ get perfect reproducibility
19:47:51 <elliott> so you can't act like wanting "as much reproducibility as possible without sacrificing X" is an insane desire
19:48:05 <ais523\unfoog> elliott: I want perfect reproducibility on a subset of programs
19:48:20 <ais523\unfoog> as large as is reasonable, but it's more important for a single program to be reproducible, than it is for all programs to be mostly reproducible
19:48:21 <elliott> int main(){exec(argv)} # secret project
19:48:21 <Vorpal> ais523\unfoog, oh I know of the use now.
19:48:38 <Vorpal> ais523\unfoog, well, a possible one that would fit rather well at least
19:48:48 <Vorpal> ais523\unfoog, it involves TAS.
19:48:56 <elliott> I already proposed that, methinks
19:48:59 <elliott> also, this is meant to be for work, isn't it?
19:49:05 <elliott> I doubt ais523\unfoog is paid to do TASes
19:49:08 <ais523\unfoog> I have something for work which is vaguely similar
19:49:17 <elliott> ais523\unfoog: oh, okay. /is/ it TASes, then?
19:49:20 <Vorpal> ais523\unfoog, well, is it related to doing TAS?
19:49:33 <elliott> ais523\unfoog: Is it related to the NetHack TAS?
19:49:50 <Vorpal> like the whole channel knows it now
19:50:12 <elliott> it took like a year for everyone to get the knowledge of my age
19:50:19 <elliott> even after it was repeatedly publicly stated
19:50:20 <Vorpal> ais523\unfoog, well, no need to hide anything now. Unless there is more to it
19:50:34 <ais523\unfoog> elliott: I'm really bad at remembering ages, they change too much
19:50:43 <ais523\unfoog> approximately half the time, I'm not even sure what my own is
19:50:48 <Vorpal> elliott, I believe you would be 14 or 15 now?
19:50:50 <elliott> ais523\unfoog: don't worry, mine won't change for approx. another year
19:51:09 <Vorpal> elliott, oh really, well, retroactive happy bday then
19:51:13 <elliott> soon, they'll be letting me drive cars :(
19:51:22 <elliott> or, well, letting me attempt to prove I can drive a car
19:51:22 <Vorpal> elliott, isn't that at 18?
19:51:32 <ais523\unfoog> you become legal to do different things at different ages
19:51:50 <Vorpal> surprising EU hasn't standardised that
19:52:07 <Vorpal> it is definitely 18 in Sweden
19:52:10 <elliott> Vorpal: the EU has standardised tons of things, doesn't mean the UK listens :)
19:52:39 <Vorpal> anyway, our way of opting out is more amusing
19:53:01 <elliott> Vorpal: Don't you guys just claim your economy is smaller on the inside?
19:53:18 <Vorpal> elliott, I think something like that yes. I don't have any reliable source on it though
19:53:21 <elliott> Is the inside of Globen the size of a cupboard?
19:54:06 <elliott> ais523\unfoog: anyway, re: having to comment out huge parts of the secret project, I'll probably just turn everything into an option when I get my grubby paws on it
19:54:32 <ais523\unfoog> I'm just annoyed at having to implement BSD sockets
19:54:44 <elliott> ais523\unfoog: anyway, if you're already doing alarm/ualarm with simulated time, my program /might/ not work
19:54:46 <ais523\unfoog> and I don't even know how socketcall(2) works, as it's not properly documented
19:54:53 <elliott> ais523\unfoog: I can send a copy if you want to try it out, it's trivial to tset
19:55:22 <elliott> ais523\unfoog: wget http://sprunge.us/FfMA -O nondet.c; gcc nondet.c
19:55:53 <elliott> ais523\unfoog: I doubt I could crash your system with a gcc call
19:55:58 <elliott> you could run gcc in the secret project to be sure :)
19:56:06 <elliott> ais523\unfoog: anyway, testing:
19:56:12 <elliott> $ ./a.out | head -c 100 >a
19:56:13 <ais523\unfoog> elliott: the secret project is not designed for security, and in particular, doesn't sandbox several syscalls yet
19:56:13 <Vorpal> ais523\unfoog, anyway, no need for secretness around the secret project any more now that we know what it is for. So what is the actual name of it (if it has any?)
19:56:14 <elliott> $ ./a.out | head -c 100 >b
19:56:37 <elliott> I think I'm going to keep calling it the Secret Project
19:56:50 <Vorpal> ais523\unfoog, okay, that would definitely not have told us anything really beyond what we know, I assume it is a reference to that it lies to the program?
19:57:15 <Vorpal> ais523\unfoog, what would the executable name be? wol?
19:57:20 <elliott> ais523\unfoog: yeah, but I can sound credible if I call it the TSP Isolation System
19:57:22 <ais523\unfoog> elliott: I'm not even convinced I've implemented ualarm yet
19:57:34 <elliott> ais523\unfoog: you can use alarm(1) instead, and put alarm(1) at the end of handle
19:57:39 <ais523\unfoog> and it's not like it's the sort of thing you run constantly
19:57:43 <elliott> ais523\unfoog: use head -c 10 if you do, it'll be much slower
19:58:04 <elliott> Vorpal: congrats on getting it, btw
19:58:12 <Vorpal> elliott, it was obvious
19:58:24 <elliott> Vorpal: that's not what you said all the previous times
19:58:31 <elliott> <elliott> ais523\unfoog: you can use alarm(1) instead, and put alarm(1) at the end of handle
19:58:34 <Vorpal> elliott, because it wasn't obvious in those cases
19:58:34 <elliott> I wonder if this is actually allowed :)
19:58:36 <elliott> it'll probably work though
19:58:50 <Vorpal> elliott, man 7 signal says it is allowed
19:59:05 -!- Ngevd has quit (Ping timeout: 240 seconds).
19:59:49 <ais523\unfoog> "for (;;) i++;" always wedges the Secret Project, the way it works
19:59:50 <Vorpal> implemented the same way?
20:00:05 <ais523\unfoog> Vorpal: I'd probably implement it the same way I implemented alarm, indeed
20:00:15 <Vorpal> ais523\unfoog, oh you implement alarm
20:00:29 <ais523\unfoog> Vorpal: well, what else can I do? I can't pass through the syscall
20:01:01 <ais523\unfoog> and returning ENOSYS would break too many programs
20:01:08 <elliott> <ais523\unfoog> "for (;;) i++;" always wedges the Secret Project, the way it works
20:01:11 <Vorpal> ais523\unfoog, so what do you implement alarm() as?
20:01:12 <elliott> ais523\unfoog: do you support pthreads?
20:01:15 <ais523\unfoog> (getting random ENOSYSes is an occupational hazard of running under the Secret Project)
20:01:25 <ais523\unfoog> elliott: sort-of; it seems to work but I don't know why
20:01:37 <Vorpal> ais523\unfoog, and I thought alarm would be implemented with setitimer as well
20:01:48 <elliott> ais523\unfoog: but yeah, afaict certain parts of the secret project are useful to me and the rest aren't
20:01:49 <ais523\unfoog> I /have/ special-cased futex(2), which is involved
20:01:55 <elliott> so I'll probably just hack up my own thing based on it :P
20:02:59 <elliott> wow, it's hard to get this ualarm-free version working
20:03:04 <elliott> the increment loops keep syncing up
20:03:10 <Vorpal> ais523\unfoog, any plans for TAS other than of nethack?
20:03:25 <ais523\unfoog> in fact, I can TAS NetHack even without this, so it would be fun to use it on other games
20:03:51 <elliott> ais523\unfoog: Will SDL work in it? :P
20:04:05 <Vorpal> ais523\unfoog, against what? X?
20:04:06 <elliott> ais523\unfoog: how fast do SDL games go?
20:04:17 <elliott> ais523\unfoog: what about opengl?
20:04:26 <Vorpal> now that would be hard
20:04:30 <ais523\unfoog> and many programs (e.g. Battle for Wesnoth) don't handle SDL framebuffer properly
20:04:39 <Vorpal> ais523\unfoog, report bugs?
20:04:47 <ais523\unfoog> elliott: remember when I was in here asking questions about Mesa's software emulation?
20:04:58 <Vorpal> ais523\unfoog, so... it works?
20:04:58 <elliott> ais523\unfoog: I'm, umm, not sure Minecraft will run at acceptable speeds
20:05:23 <elliott> I'm trying to think of what a Minecraft TAS would look like now
20:05:45 <Vorpal> ais523\unfoog, how much of a FPS drop do you get from weboflies typically with opengl stuff?
20:05:56 -!- nooga has joined.
20:06:16 <ais523\unfoog> the joyous thing is, that weboflies only has a performance penalty on syscalls
20:06:30 <ais523\unfoog> so heavy computation – like, say, emulating a GPU in software – isn't slowed down at all
20:07:02 <nooga> anyone experienced in Cocoa?
20:07:09 <elliott> I wish SQLite used something other than SQL
20:07:12 <ais523\unfoog> nooga: I assume at least one person is, but possibly nobody here
20:07:37 <nooga> I have a design problem
20:08:13 <Vorpal> ais523\unfoog, so, when are we going to be able to get our hands on it? When it is complete? Or before that?
20:08:57 <ais523\unfoog> I suppose there's no real reason not to PM you/elliott the source now; although note that a) it needs to run as root, and b) it /will/ do insane things, so run it at your own risk
20:09:07 <ais523\unfoog> I'm pretty sure it's triggered multiple kernel bugs so far
20:09:13 <elliott> ais523\unfoog: what license is it going to be under when it's "done", btw?
20:09:28 <Vorpal> ais523\unfoog, btw thanks for using that nick. Otherwise I wouldn't have thought of nethack at the point crucial to making the discovery
20:09:50 -!- augur has quit (Remote host closed the connection).
20:10:14 <Vorpal> fair enough, I don't have any actual use of it right away, unlike elliott
20:10:15 <ais523\unfoog> do you have a good argument for using something else?
20:10:30 <Vorpal> nah, GPLv3 is fine with me.
20:10:35 <elliott> i doubt he was asking you :P
20:10:40 <ais523\unfoog> I was asking elliott, I knew /you/ wouldn't mind GPLv3
20:10:42 <elliott> ais523\unfoog: no, I just don't like modifying GPLv3 software :)
20:10:51 <elliott> ais523\unfoog: (or GPLv2 software)
20:10:54 <elliott> or GPLv1 software, for that matter
20:11:00 <ais523\unfoog> elliott: some odious legal requirement that makes it hard to do correctly?
20:11:01 <Vorpal> I only do BSD or MIT when a significant part of the program I'm writing already consists of such code
20:11:11 <elliott> ais523\unfoog: yes, it's called not liking the GPL
20:11:16 <ais523\unfoog> modifying GPLv0 is a real pain, as it requires you to keep last-modified dates in the files itself
20:11:44 <ais523\unfoog> I don't think anyone actually /enforces/ that requirement, but you know me…
20:12:49 <elliott> ais523\unfoog: if you don't have anywhere to put the tarball I can get you an nc port
20:13:18 <elliott> ais523\unfoog: oh no, it's all in one file?
20:13:30 <elliott> ais523\unfoog: are you sure that maintained the ^Ls?
20:13:42 <ais523\unfoog> it probably didn't, but they're not all that important
20:14:08 <elliott> ais523\unfoog: tell that to the person wading through an almost whitespaceless block of source :)
20:14:21 <Vorpal> elliott, please explain modules to ais523\unfoog
20:14:29 <Vorpal> I don't think I can face it
20:14:35 <elliott> I doubt something like this can be made truly modular
20:14:58 <elliott> ais523\unfoog: Could I convince you to sprunge a uuencoded version? :p
20:15:20 <ais523\unfoog> Vorpal: around half the program is just one long switch statement
20:15:37 <Vorpal> ais523\unfoog, #include is done at a text level
20:15:57 <elliott> each syscall in its own implementation file is certainly modular
20:16:00 <Vorpal> ais523\unfoog, well okay you can do like switch 5123: foo(); break;
20:16:05 <elliott> modules are allowed to have outside dependencies
20:16:23 <ais523\unfoog> elliott: I'm feeling evil, so I just PMed you a cat -v version
20:16:41 <elliott> ais523\unfoog: cat -v isn't even reversible, dude
20:17:05 <elliott> ais523\unfoog: oh, yikes, I forgot this thing is x86-specific :(
20:17:06 <ais523\unfoog> however, the two versions should be enough /between/ them to recover the original
20:17:21 <ais523\unfoog> and yes; luckily, adding x86_64 support wouldn't be all that insanely hard
20:17:33 <elliott> ais523\unfoog: I care about other architectures than just that :) but x86-64 is a must for me
20:17:51 <elliott> ais523\unfoog: would incrementing the kernel version break anything?
20:18:08 <ais523\unfoog> elliott: you mean, what real kernel is being used? or what kernel it claims to be?
20:18:29 <elliott> I'd like to pin it to the real kernel version, for compiling things like modules that might care
20:18:48 <Vorpal> yes I can see parts of this would be extremely useful to elliott, but merging improvements from either side is going to be a pain due to the one-file system
20:18:51 <ais523\unfoog> note that it will /run/ on x86_64, just it runs 32-bit apps
20:19:02 <elliott> ais523\unfoog: why disapproval at that?
20:19:07 <elliott> i was talking about kernel modules
20:19:16 <elliott> sounds like you're insecure about your bad code organisation :)
20:19:23 <elliott> ais523\unfoog: bug report:
20:19:42 <Vorpal> elliott, modules shouldn't care, they should take their kernel module version from the kernel source tree they are building against
20:19:58 <elliott> maybe I'll just split this into multiple files myself
20:20:05 <Vorpal> elliott, have fun merging updates then
20:20:32 <Vorpal> elliott, you obviously just need to throw in a few #ifdef
20:20:44 <elliott> (S_ISREG(fdstats.st_mode) ||
20:20:44 <elliott> S_ISDIR(fdstats.st_mode) ||
20:20:44 <elliott> S_ISBLK(fdstats.st_mode) ||
20:20:44 <elliott> makedev(136, shared_memory->pty_number)) ||
20:20:46 <elliott> (fdstats.st_rdev == makedev(5, 0))) &&
20:20:48 <elliott> ((ar0.orig_eax == SYS_write ||
20:20:50 <elliott> ar0.orig_eax == SYS_writev ||
20:20:52 <elliott> ar0.orig_eax == SYS_pwritev))))) {
20:20:54 <elliott> ais523\unfoog: [look of disapproval]
20:21:00 <elliott> Vorpal: everyone needs to see what ais has done :)
20:21:11 <Vorpal> elliott, well, be happy it wasn't all on one line
20:21:16 <Vorpal> it could have been worse
20:21:27 <Vorpal> elliott, anyway you should have done it in PM
20:21:31 <ais523\unfoog> elliott: what would you /want/ me to do? split the condition?
20:21:47 <ais523\unfoog> hmm, I think a comment is needed to explain the 136, at least
20:21:48 <elliott> ais523\unfoog: that thing has /multiple side-effects/!
20:22:23 <Vorpal> ais523\unfoog, what does the 136 mean?
20:22:56 <elliott> ais523\unfoog: whatever RSTATBW is, you should have a version specialised to an empty fisrt argument
20:23:09 <elliott> #define RSTATBW(x,y) (is32bit ? (x rstat y) : (x rstat64 y))
20:23:11 <ais523\unfoog> at least there's a comment explaining it /somewhere/
20:23:28 <Vorpal> elliott, is that about large file support?
20:23:29 <elliott> bug report: /* We need to turn off ASLR even if a proces explicitly
20:23:30 <ais523\unfoog> elliott: OK, that's quite an abuse of the preproc, I admit
20:23:48 <Vorpal> ais523\unfoog, you can turn off ASLR?
20:23:55 <Vorpal> without changing kernel config I mean
20:24:21 <Vorpal> is that the thing used for linux32 and so on?
20:24:26 <ais523\unfoog> it only works for the one exec, unless you debug-hook the process you create with the exec and inject calls to personality in it
20:24:40 <elliott> ais523\unfoog: Do you accept file-splitting patches? :p
20:24:54 <Vorpal> ais523\unfoog, so how does that linux32 command work then, it seems to work recursively
20:25:09 <elliott> ais523\unfoog: also, what compile command?
20:25:13 <Vorpal> it is a symlink to setarch
20:25:19 <Vorpal> which is: setarch - change reported architecture in new program environment and set personality flags
20:25:25 <ais523\unfoog> gcc -o weboflies -O2 -g --std=gnu99 -Wall -Wextra -Wno-missing-field-initializers -Wno-missing-braces weboflies.c ktt.c -lrt -lpng
20:25:28 <Vorpal> looks like reported arch is NOT a personality thingy
20:26:01 <Vorpal> ais523\unfoog, wait, you mean this won't work on anything but the US keyboard layout?
20:26:28 <ais523\unfoog> Vorpal: I don't know, I don't understand the numbers
20:26:35 <ais523\unfoog> but the keyboard isn't connected to the program under test anyway
20:26:40 <Vorpal> ais523\unfoog, well, link ktt.c please :)
20:27:28 <Vorpal> ais523\unfoog, you know, this would be really useful for automated test benches for that nethack bot too
20:28:03 <ais523\unfoog> nethack-tas-tools would be good enough for that, I think
20:28:22 <ais523\unfoog> this isn't /really/ about NetHack, as I can TAS that anyway
20:28:33 <elliott> ais523\unfoog: doesn't build on x86-64
20:28:55 <Vorpal> elliott, at least on ubuntu
20:28:56 <elliott> weboflies.c:1910:70: error: ‘struct user_regs_struct’ has no member named ‘ebx’
20:28:56 <elliott> weboflies.c:1913:70: error: ‘struct user_regs_struct’ has no member named ‘ebx’
20:28:56 <elliott> weboflies.c:1928:21: error: ‘struct user_regs_struct’ has no member named ‘ecx’
20:28:56 <elliott> weboflies.c:1931:22: error: ‘struct user_regs_struct’ has no member named ‘esi’
20:28:56 <elliott> weboflies.c:1932:44: error: ‘struct user_regs_struct’ has no member named ‘esi’
20:28:56 <elliott> weboflies.c:1934:22: error: ‘struct user_regs_struct’ has no member named ‘orig_eax’
20:28:58 <elliott> weboflies.c:1940:22: error: ‘struct user_regs_struct’ has no member named ‘esi’
20:29:00 <elliott> weboflies.c:1944:70: error: ‘struct user_regs_struct’ has no member named ‘esi’
20:29:02 <elliott> weboflies.c:1950:20: error: ‘struct user_regs_struct’ has no member named ‘esi’
20:29:04 <elliott> weboflies.c:1978:16: error: ‘struct user_regs_struct’ has no member named ‘orig_eax’
20:29:06 <ais523\unfoog> elliott: yep, missing headers, or rather the wrong header
20:29:06 <elliott> weboflies.c:2002:20: error: ‘struct user_regs_struct’ has no member named ‘orig_eax’
20:29:07 <Vorpal> elliott, works with -m32 on my ubuntu laptop
20:29:14 <elliott> but anyway, no missing header errors
20:29:15 <ais523\unfoog> it's clearly looking at the 64-bit version of user.h
20:29:18 <elliott> you said it would work on 64-bit though :)
20:29:37 <elliott> ais523\unfoog: is this png stuff really necessary?
20:29:52 <Vorpal> what is the png stuff for?
20:30:38 <Vorpal> if (mount("tmpfs", "/tmp", "tmpfs", 0, 0)) {
20:30:44 <Vorpal> is that before or after chroot?
20:31:03 <elliott> ais523\unfoog: do you accept patches that turn it into something useful for more than just TASing a game on ais523's computer? :p
20:31:13 <Vorpal> ais523\unfoog, so you replace the system /tmp, possibly breaking lots of stuff?
20:31:24 <Vorpal> ais523\unfoog, then how?
20:31:45 <ais523\unfoog> (hint: it affects the meaning of the mount syscall)
20:31:48 <Vorpal> wow, this reminds me of plan9
20:31:56 <elliott> it's like plan 9 but stupid
20:32:40 <ais523\unfoog> this is how weboflies has genuinely caused filesystem leaks in the past
20:33:00 <ais523\unfoog> unfortunately, it turns out that the emulated filesystem is slightly visible from the outside; you can access it via /proc
20:33:21 <Vorpal> ais523\unfoog, uh... wait, wouldn't they be unmounted if no longer mounted by any process?
20:33:48 <ais523\unfoog> but weboflies' processes are often quite hard to get rid of
20:34:10 <ais523\unfoog> because init (the real init, AFAICT) was catching the SIGKILL
20:34:12 -!- boily has quit (Ping timeout: 260 seconds).
20:34:13 <Vorpal> ais523\unfoog, D state?
20:34:33 <Vorpal> ais523\unfoog, how did you manage init to catch the SIGKILL for you?
20:34:46 <ais523\unfoog> investigation showed that init was currently ptracing the process in question, though
20:34:59 <Vorpal> init doesn't do that....
20:35:15 <ais523\unfoog> because init didn't tell it to just continue with the sigkill
20:35:23 <Vorpal> ais523\unfoog, did you manage to reproduce it?
20:35:41 <ais523\unfoog> I /did/ manage to reproduce the bug where a process had two stack segments simultaneously
20:35:50 <ais523\unfoog> but haven't submitted a bug as the situation is reasonably insane
20:36:01 -!- pumpkin has joined.
20:36:09 -!- pumpkin has quit (Changing host).
20:36:09 -!- pumpkin has joined.
20:36:11 <Vorpal> well, how does that happen. Isn't there a single segment selector?
20:37:42 <ais523\unfoog> conclusion: Linux doesn't like it when you mmap the stack guard page with MAP_FIXED
20:38:08 <ais523\unfoog> the bug occurred after doing it exactly twice, IIRC
20:38:09 -!- copumpkin has quit (Ping timeout: 260 seconds).
20:38:17 <ais523\unfoog> (it shrinks the stack to make room for a new guard page in response)
20:39:34 -!- pumpkin has changed nick to copumpkin.
20:39:35 <Vorpal> ais523\unfoog, btw why did you want to keep it secret, before you said that the reason for being secret was also a secret
20:39:43 <Vorpal> (or something to that effect)
20:40:33 <Vorpal> ais523\unfoog, oh and there are some debian specific things in there.
20:40:47 <Vorpal> ais523\unfoog, the whole /lib/i686/cmov thing and so on
20:41:08 <Vorpal> (never mind that it is lib32 for me on ubuntu, and just /lib32 on arch)
20:41:30 <elliott> ais523\unfoog doesn';t use debian
20:41:41 <ais523\unfoog> it'll use its own ideas of the libraries eventually
20:41:53 <Vorpal> elliott, so same thing when it comes to this
20:41:58 <elliott> you said it was different on ubuntu
20:42:11 <Vorpal> elliott, because I'm on 64-bit yet
20:43:04 <Vorpal> elliott, you might need to change around line 488-499 if you want to get it running on a x86-64 distro, so it searches /lib32 and /usr/lib32 instead
20:43:17 <Vorpal> I haven't tried, I'm kind of scared of running it
20:43:48 <Vorpal> ais523\unfoog, how do you deal with CPUID?
20:44:03 <Vorpal> can't find anything on that
20:44:23 <Vorpal> do you have any plans for how to deal with it?
20:44:40 <Vorpal> ais523\unfoog, anyway: why was it secret before?
20:45:12 <elliott> i suspect he's doing a secret tas of a game
20:45:46 <Vorpal> elliott, could be, not sure what game apart from nethack ais523 would play though...
20:46:03 <Vorpal> eh, probably just tired
20:46:08 <elliott> he's talked about many games in here
20:46:24 <Vorpal> none that stood out really
20:46:30 <elliott> including e.g. the humble bundle 3 ones
20:46:31 <Vorpal> and that was for linux
20:46:49 <Vorpal> ais523\unfoog, did you get the current humble bundle btw?
20:47:07 <Vorpal> ais523\unfoog, and you are avoiding answering the question about why it was secret :P
20:47:11 <ais523\unfoog> I paid £5 for bundle 3, and that's about what it was worth
20:47:25 <ais523\unfoog> Vorpal: oh, because I have plans to submit a run on a secret emulator
20:47:32 <Vorpal> ais523\unfoog, ah okay
20:47:38 <ais523\unfoog> and if the emulator isn't secret, I'll have to write another one which is
20:48:27 <Vorpal> oh no... is this the kind of "highlight yourself about wiki spam" madness?
20:48:52 <Vorpal> ais523\unfoog, anyway I presume you didn't develop the emulator in question?
20:49:09 <ais523\unfoog> elliott: can you trap Vorpal in a recursive facepalm for me please?
20:49:11 <Vorpal> because then you could just have added the code to support doing a TAS right into it
20:49:49 <Vorpal> ais523\unfoog, oh you mean SP is the secret emulator. Right. We will keep quiet about it.
20:50:22 <Vorpal> I didn't think of it as a emulator really. Really not an emulator in the same sense that wine isn't to my mind.
20:50:26 <elliott> ais523\unfoog: because vorpal is dumb
20:50:26 <ais523\unfoog> actually, before I make a TAS I want to see what games are supported
20:50:48 <ais523\unfoog> Vorpal: it isn't an emulator, but it has all the required requirements to be a TAS emulator apart from being an emulator
20:51:03 <Vorpal> Phantom_Hoover, read the log, I figured out what it was and confronted ais523\unfoog with it
20:51:09 <elliott> Phantom_Hoover: we've known what it was for ages
20:51:17 <elliott> just not what ais523\unfoog wanted it for
20:51:40 <Vorpal> I found that out. So yeah
20:51:48 <Vorpal> should have done it in /msg to annoy elliott a bit though
20:53:02 <Vorpal> elliott, I would have told you after a few minutes anyway :P
20:53:41 <Vorpal> ais523\unfoog, well yeah
20:54:08 <Vorpal> ais523\unfoog, not me. I looked at the code and.... well I would need to find a suitable system that I didn't mind if it exploded
20:54:26 <Vorpal> elliott, why rip out libpng
20:54:27 <ais523\unfoog> elliott: without libpng you can't see what's happening at all
20:54:35 <Vorpal> elliott, oh come on, this is like inception then
20:54:38 <ais523\unfoog> as it's the only way to get at the contents of the graphics buffer, currently
20:54:56 <ais523\unfoog> I think making the framebuffer a regular file was inspired
20:55:04 <Vorpal> ais523\unfoog, what about terminal only programs?
20:55:10 <ais523\unfoog> (hmm, I wonder if I could put a PNG header/footer around it, and not even have to transmit the bytes in it)
20:55:26 <ais523\unfoog> Vorpal: those work without the PNG stuff, if you're happy with processing the VT100 codes yourself
20:55:42 <ais523\unfoog> regardless of whether it does anything useful or not
20:56:05 <Vorpal> ais523\unfoog, so you render nethack to a png?
20:56:20 <Vorpal> which terminal font do you use then
20:56:55 <ais523\unfoog> the weboflies core, which I'm writing at the moment, would need to be connected to some sort of interface to actually read it
20:58:15 <Vorpal> ais523\unfoog, the core being what part of it?
20:58:26 <Vorpal> or whatever you call it
20:58:33 <ais523\unfoog> what the part that's been written will be when it's finished
20:58:58 <ais523\unfoog> where you have a command-line core, and a GUI that communicates with it
21:00:28 <Vorpal> ais523\unfoog, so what is the point of doing a TAS with a secret emulator. I don't quite get it. Some sort of bragging rights? But I don't quite see how that would work
21:01:06 <ais523\unfoog> Vorpal: because it's always hilarious when people submit runs on emulators that people don't realise the submission system supports
21:01:18 <ais523\unfoog> submitting a run on an emulator that people don't even know exists is the obvious next step up
21:02:04 <Vorpal> ais523\unfoog, well, wouldn't the submission system support pretty much any emulator that could output some sort of format that could be handled by the submission system?
21:02:22 <Vorpal> $ pacman -Qo /lib/libmemusage.so
21:02:22 <Vorpal> /lib/libmemusage.so is owned by glibc 2.14.1-1
21:02:30 <Vorpal> what is that for I wonder
21:02:45 <ais523\unfoog> so it's not surprising that they're in the same package
21:02:57 <Vorpal> oh is it some debugging tool?
21:03:24 -!- oerjan has quit (Quit: Good night).
21:03:30 <Vorpal> but yeah it exports mmap, calloc and so on
21:03:40 <Vorpal> so probably something that is meant to be LD_PRELOADed
21:13:33 <Vorpal> Phantom_Hoover, I agree
21:14:00 <Vorpal> Phantom_Hoover, blocks that matter is fun and reasonably hard though. Though the plot feels a bit... meh
21:14:14 <Vorpal> not that the plot really matters much in a game like that
21:17:10 -!- nask has joined.
21:17:18 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
21:17:51 <Vorpal> ais523\unfoog, hm, you bind mount /lib and such, but not /usr/share?
21:17:55 <elliott> ais523\unfoog: grr, i need 32-bit libgcc too
21:18:07 <ais523\unfoog> Vorpal: that's temporary; eventually, none of that will be bind-mounted
21:18:16 <elliott> /* Timestamps. This stores the initial timestamp, in Web of Lies'
21:18:16 <elliott> internal format: a 64-bit number giving nanoseconds since the
21:18:16 <elliott> epoch (i.e. date +%s%N format). The value given here is
21:18:16 <elliott> 1 September 1993, the start of the Eternal September. */
21:18:20 <Vorpal> elliott, that is the one major downside of arch... multilib failure
21:18:36 <elliott> Vorpal: have I mentioned Kitten gets multilib for free???
21:18:47 <Vorpal> elliott, and so does nixos
21:19:07 <elliott> i'm not sure it actually works with nixos
21:19:41 <elliott> you can't have bin/foo and bin/foo
21:19:45 <elliott> there's no segregation in the profile
21:19:52 <elliott> i guess libraries are more common than executables, but still
21:20:04 <elliott> and i don't know if they do automatic cross-compilation stuff at all
21:20:45 <Vorpal> not much point of having multilib executables. Compilers that can't be built as cross-compilers maybe?
21:21:22 <elliott> there's no such thing as "multilib executables"
21:21:26 <elliott> just executables of a different arch
21:21:59 <elliott> it's just that the magic prefix for executing a x86 executable on x86-64 happens to be the null string
21:22:05 <Vorpal> elliott, yeah what I meant was "there is not much point in having more than one version of a given program installed at the same time"
21:22:23 <Vorpal> elliott, you don't need both 32-bit and 64-bit ls
21:22:29 <Vorpal> that is what I'm trying to say
21:22:54 <elliott> well, I could think of uses. but yes, I believe nixos cheats by not having <profile>/lib
21:23:25 <elliott> ais523\unfoog: btw, I'm unconvinced qemu wouldn't work for your tas needs...
21:23:33 <elliott> ais523\unfoog: you just need a slightly faster system :P
21:23:51 <Vorpal> elliott, okay I can think of one case, valgrind, but that is covered already for valgrind (except arch breaks that)
21:23:57 <ais523\unfoog> but it doesn't do stable enough input determinising
21:24:27 <elliott> ais523\unfoog: you could layer that on top
21:24:34 <elliott> by feeding input events through a wrapper
21:26:25 <elliott> ais523\unfoog: anyway, I think for Kitten I'll just steal the calls to turn things off
21:26:33 <elliott> like the clock thing Vorpal mentioned
21:26:53 <elliott> and then do with a chroot + clock fixed at @0 + fixed hostname
21:27:06 <elliott> ais523\unfoog: well, like I said I'll probably just take parts of it
21:27:10 <Vorpal> elliott, clock fixed at @0 will break stuff, trust me
21:27:12 <ais523\unfoog> note that /all/ SDL programs get stuck in an infinite loop with a stuck clock
21:27:22 <elliott> ais523\unfoog: since I want something portable, and I don't care about the scheduler
21:27:23 <ais523\unfoog> as their main loop is basically gettimeofday and nanosleep
21:27:36 <elliott> Vorpal: it won't break a C compiler
21:27:40 <Vorpal> elliott, you know that uname -a will end up fucked btw
21:27:44 <elliott> a C compiler shouldn't even require a clock
21:28:01 <ais523\unfoog> disabling any syscall requires hooking the registers directly (orig_eax in the case of x86)
21:28:04 <Vorpal> elliott, your kernel, it was compiled in 1970
21:28:09 <Vorpal> elliott, oh and make, timestamps
21:28:20 <Vorpal> elliott, if you don't backdate the timestamps on files make will go crazy
21:28:20 <elliott> Vorpal: I don't have to say the kernel was compiled in 1970...
21:28:27 <elliott> and yes, I will backdate the timestamps
21:28:30 <ais523\unfoog> although, the secret project breaks make atm anyway
21:28:36 <ais523\unfoog> unless there are explicit sleeps in the build process
21:28:43 <elliott> doesn't matter if make won't handle updates
21:28:48 <elliott> since it'll be run from scratch
21:29:57 <Vorpal> elliott, I doubt much user space code uses RDTSC. It isn't useful given multi-core and changing clock frequency (except some modern CPUs compensate for that one, like core 2 or newer iirc)...
21:30:07 <Vorpal> I used it once, on an embedded x86 system
21:30:09 <elliott> I suspect uname -a to look something like: Linux kitten 3.0 #1 x86_64 unknown unknown GNU/Linux
21:30:26 <elliott> the version is just a string, so making it #1 should be fine
21:30:29 <elliott> nothing should try and /parse/ that
21:30:44 <Vorpal> elliott, don't be so sure of that heh
21:30:53 <elliott> Vorpal: I'd rather patch anything that tries to parse it
21:31:02 <Vorpal> elliott, binary packages ?
21:31:11 <elliott> Vorpal: those won't run inside the build jail...
21:31:22 <Vorpal> elliott, their installers might?
21:31:23 <elliott> Vorpal: unless you mean a binary package with, like, a closed-source install script
21:31:38 <elliott> I'd either LD_PRELOAD in a fake uname just for it
21:31:43 <elliott> or just tell everybody not to use it :)
21:32:11 <elliott> I think GNU coreutils adds the "GNU/Linux" bit to uname
21:32:16 <elliott> the uname syscall doesn't have a field for that
21:32:27 <elliott> so the gnu people must have added the --operating-system field just so they could get GNU in there
21:33:09 <elliott> does anyone know /how/ to override uname without doing ais523\unfoog's crazy stuff?
21:33:24 <elliott> I mean, the kernel can't just return a string constant, can it :p
21:33:25 <ais523\unfoog> elliott: actually, my uname override is mostly sane
21:33:29 <Vorpal> elliott, setarch does it
21:33:40 <elliott> Vorpal: it does exactly one field of it
21:33:47 <Vorpal> elliott, I think personality stuff is related
21:33:51 <elliott> Causes the program to see a kernel version number beginning with
21:34:08 <Vorpal> elliott, I think parts of these things are special cased, not general solutions
21:34:11 <ais523\unfoog> I suspect setarch does it the same way as me, anyway
21:34:11 <elliott> ais523\unfoog: how's it done?
21:34:29 <elliott> wow, man 2 personality is totally unhelpful
21:34:29 <Vorpal> elliott, the one you pasted does 2.6.40 + the .x component in 3.x iirc
21:34:33 <ais523\unfoog> elliott: debugger hooks, like everything else; if the process calls uname, it lets the call happen, then overwrites its return value in the process's memory
21:34:51 <Vorpal> ais523\unfoog, I don't think setarch does all that
21:35:12 <elliott> I doubt anything in util-linux-ng does that
21:35:16 <ais523\unfoog> elliott: that's how it handles pretty much every syscall that can't be translated directly, except that sometimes it translates the arguments not returns, and sometimes it doesn't make a syscall at all (it does, but with an invalid syscall number then it changes the ENOSYS)
21:35:17 <elliott> they have common decency, I would expect
21:35:22 <elliott> well, they use a lot of glibc-only apis
21:35:22 <Vorpal> ais523\unfoog, it doesn't even use ptrace says nm -D
21:35:47 <Vorpal> http://sprunge.us/dMVA
21:36:07 <Vorpal> there is NO way that can invoke ptrace, I refuse to believe it would avoid going through libc for it
21:36:19 <elliott> https://raw.github.com/gist/701791/4c6ebe0ee052575d49464b6f5d56730d5f48a471/setarch.c
21:36:20 <ais523\unfoog> Vorpal: sure there is, see "syscall" in that list?
21:36:36 <elliott> #define set_pers(pers) syscall(SYS_personality, pers)
21:36:36 <Vorpal> ais523\unfoog, but for ptrace? nah
21:36:50 <elliott> so wait, where are the personalities /defined/?
21:36:54 <elliott> where do i get a list ofthem
21:37:09 <elliott> Vorpal: actually, this setarch isn't the one I have
21:37:19 <Vorpal> elliott, maybe a different version?
21:37:31 <elliott> https://github.com/karelzak/util-linux/blob/master/sys-utils/setarch.c
21:37:39 <elliott> that's the official util-linux-ng source
21:37:40 <ais523\unfoog> elliott: quite a lot of the Secret Project is based on header files, or failing that kernel source
21:37:49 <ais523\unfoog> and failing even /that/, a bunch of experimentation with strace
21:38:08 <elliott> ais523\unfoog: you know, I don't like people who say this, but you have way too much time on your hands
21:38:11 <Vorpal> ais523\unfoog, which kernel versions have you tested it on?
21:38:21 <elliott> I mean that quite literally; ask someone to give you more work so you don't have time for this crap
21:38:34 -!- derdon has joined.
21:39:55 <elliott> Vorpal: don't look at /usr/include/linux/personality.h
21:40:25 <Vorpal> elliott, mine looks quite okay, just a lot of bitmasks as is usually done in these sort of headers
21:40:30 <ais523\unfoog> heh, I love the way that one of the flags I use is marked as "bug emulatino"
21:40:45 <Phantom_Hoover> elliott, GIVE ME ONE GOOD REASON NOT TO THROW AN ICBB AT HEXHAM THIS MINUTE
21:40:47 <Vorpal> elliott, what did you expect
21:40:54 <elliott> ais523\unfoog: Sounds like Drepperish newspeak.
21:40:57 <elliott> Phantom_Hoover: Hey, that was for a /purpose/.
21:41:26 <Vorpal> ais523\unfoog, I think that support for turning of ASLR might be an option in the kernel. At least I saw something related.
21:41:36 <Vorpal> ais523\unfoog, btw did you use cgroups? I don't remember
21:41:42 <elliott> ais523\unfoog: How should I know? :)
21:42:06 <elliott> ais523\unfoog: you never mentioned any header
21:42:40 <Phantom_Hoover> ais523\unfoog, it's an implementation of group theory in C, duh.
21:43:23 <ais523\unfoog> ais523\unfoog: I'm talking about personality.h, which you mentioned
21:43:42 <elliott> oh, I see the bug emulation comment now; and stop talking to yourself
21:46:44 <elliott> ais523\unfoog: anyway, yeah, the Secret Project is cool but I only need about 5% of it, so I'll just take that 5% :P
21:47:14 <elliott> I might want to ask you to license me the calls I use under something more lenient if I can convince you making me GPL3 the entirety of my package manager for ten lines is unreasonable :P
21:48:15 <Vorpal> case -1: /* return half of a sigreturn */
21:48:39 <Vorpal> When the Linux kernel creates the stack frame for a signal handler, a call to sigreturn() is inserted into
21:48:39 <Vorpal> the stack frame so that upon return from the signal handler, sigreturn() will be called.
21:48:46 <Vorpal> that is one ugly solution
21:48:56 <elliott> `addquote <Vorpal> oh my god <Vorpal> that is one ugly solution <elliott> beautiful
21:48:58 <HackEgo> 705) <Vorpal> oh my god <Vorpal> that is one ugly solution <elliott> beautiful
21:49:09 <ais523\unfoog> and the syscall number ends up as -1 on the return half, for whatever reason
21:49:26 <elliott> anyway, I doubt make breaks with the clock set to 0
21:49:37 <Vorpal> elliott, do you even know how make works
21:49:46 <elliott> Vorpal: yes, but you're using a stupid definition of "break"
21:49:47 <Vorpal> elliott, object files must be newer than source files
21:49:59 <elliott> I unpack all the source with *time=0 on every file
21:50:05 <Vorpal> elliott, it is impossible to have a date before t=0
21:50:14 <Vorpal> thus you get the "equals" case
21:50:20 <Vorpal> ais523\unfoog, oh right, it is signed
21:50:24 -!- nask has quit (Quit: begone).
21:50:27 <elliott> Vorpal: let me get this straight: you think make will create the files, check their mtime, and then retroactively fail to build them?
21:50:28 <Vorpal> does it work properly for negative values
21:50:47 <Vorpal> elliott, no but I think there are many cases where the build system will end up checking the same file twice
21:51:04 <Vorpal> because of automess and so on
21:51:11 <ais523\unfoog> elliott: a case like "check if the file is newer than its source, if not rebuild it" could easily lead to a loop
21:51:20 <elliott> Vorpal: I could get make to print all the commands it /would/ execute, then execute them all myself :)
21:51:23 <ais523\unfoog> actually, IIRC configure errors on timestamps making no sense
21:51:46 <elliott> sigh; if I can't fix the clock at 0, I'll have to use the Secret Project
21:52:00 <elliott> why the fuck do timestamps end up in object files, anyway?
21:52:09 <Vorpal> elliott, only really for the kernel
21:52:22 <Vorpal> don't remember that happening elsewhere
21:52:31 <elliott> the nix guys say it's their #1 cause of impurity
21:52:52 <Vorpal> well, the other ones must be even more uncommon
21:52:53 <ais523\unfoog> elliott: quite a lot of files have a "last build" date sohwn
21:53:03 <elliott> Vorpal: no, it's very common
21:53:06 <ais523\unfoog> e.g. you can press some key in NetHack (probably v) to see the date at which it was compiled
21:54:58 <ais523\unfoog> elliott: wouldn't it be more plausible to set the timestamps to values increasing in the order that the files are actually created (complete with scheduler determinism), starting on the date that that version of the software was released?
21:55:13 <elliott> ais523\unfoog: I'm trying to /avoid/ having to rip out the entire scheduler
21:55:29 <elliott> (portability is also nice)
21:56:34 <ais523\unfoog> elliott: actually, the scheduling stuff in Secret Project would be portable, if only it knew which syscalls were blocking and which were nonblocking
21:56:55 <elliott> ais523\unfoog: so, it's portable except not being portable
21:57:01 <ais523\unfoog> oh, and injecting calls to fcntl in cases like read which might be blocking and might be nonblocking depending on what it's reading from
21:57:28 <Vorpal> ais523\unfoog, and various other 32-bit x86 assumptions in the init code and so on
21:57:36 <Vorpal> sure, not in the scheduler
21:57:53 -!- Patashu has joined.
21:58:40 <Vorpal> elliott, anyway it is pure with real timestmaps, the current time is part of the input you see
21:58:48 <Vorpal> just change the system clock to reproduce it
21:59:09 <elliott> Vorpal: that's bullshit even if you're stupid enough to believe that
21:59:13 <elliott> repeat after me: scheduler nondeterminism
21:59:18 <Vorpal> elliott, ... I was joking
21:59:41 <elliott> it wasn't (a) interesting (b) funny or (c) accurate in any sense
21:59:59 <Vorpal> elliott, what about using a counter and incrementing for each file touched, in the current process?
22:00:15 <Vorpal> that runs into other issuesx
22:01:10 <Vorpal> elliott, oh btw I can imagine nondeterminism might be introduced by order of iterating through files. What order does readdir return entries in?
22:01:22 <Vorpal> is that even well defined?
22:01:54 <elliott> i doubt it'll depend on an rng or the clock or anything.
22:02:34 <Vorpal> elliott, no but probably on the inode, which file system is used, where in the btree the inodes ended up and so on
22:03:11 <elliott> does anyone actually copy out readdir results without sorting
22:03:21 <elliott> if it's just a mapM_ doSomething dirContents then it doesn't matter
22:03:26 <elliott> since doSomething is probably not order-dependent.
22:03:32 <Vorpal> elliott, why would find for example need to do it
22:03:35 <Vorpal> it doesn't need to sort
22:03:41 <Vorpal> it just needs to check if it matches or not
22:03:49 <elliott> [elliott@dinky weboflies]$ find .
22:04:28 <Vorpal> elliott, maybe it depends on fs then
22:04:31 <Vorpal> which one are you using
22:04:51 <Vorpal> elliott, you see, it isn't deterministic across file systems
22:04:52 <elliott> anyway, what kind of build process does find . >foo
22:05:03 <elliott> Vorpal: pedantic complaints about determinism should be directed at ais523\unfoog
22:05:08 <elliott> he's the one trying to do that
22:05:46 <Vorpal> elliott, well a build system might enumerate files in a directory if you do a wild card on sources, as might be done in cmake.
22:06:03 <elliott> build rules should be independent of one another
22:06:08 <ais523\unfoog> directories get sorted into alphabetical order before returning them
22:06:10 <elliott> any build that depends on ordering is broken
22:06:25 <Vorpal> elliott, I meant for an incrementing timestamp
22:06:27 <elliott> Vorpal: what you're saying is, "I bet people use build rules that only work if you use the right filesystem"
22:06:29 <Vorpal> elliott, there it would matter
22:06:47 <elliott> ais523\unfoog: Nix does something similar, incidentally
22:06:49 <elliott> ais523\unfoog: at package-creation time
22:06:55 <elliott> it has its own archiving format
22:06:58 <Vorpal> elliott, anyway something that *might* work: unpack files and date them 0. Then use a later date for actually running at
22:07:03 <ais523\unfoog> I'm not entirely sure what happens if a process asks for half a directory
22:07:20 <elliott> Vorpal: I could run it at @1, I suppose, even if that's ugly
22:07:27 <ais523\unfoog> I think it might fail if the buffer given isn't large enough to hold the whole directory
22:07:27 <elliott> can you unpack files as @-1? :)
22:07:37 <Vorpal> elliott, I don't think that is going to be reliable
22:07:55 <elliott> quick, how do I set an mtime?
22:08:20 <elliott> ais523\unfoog: http://www.gnu.org/s/automake/manual/tar/Date-input-formats.html
22:08:30 <ais523\unfoog> it also changes the ctime, though, because you can't change a file's timestamps without changing the ctime
22:08:37 <Vorpal> elliott, anyway, you have a lot of syscall stuff to do for 64-bit. some syscalls differ substantially in number and order of arguments, and even if they exist or not
22:08:51 <elliott> [elliott@dinky ~]$ touch -m @-1 foo
22:08:51 <elliott> [elliott@dinky ~]$ ls -lh foo
22:08:51 <elliott> -rw-r--r-- 1 elliott users 0 Nov 3 22:08 foo
22:08:59 <elliott> [elliott@dinky ~]$ touch -m @0 foo
22:08:59 <elliott> [elliott@dinky ~]$ ls -lh foo
22:08:59 <elliott> -rw-r--r-- 1 elliott users 0 Nov 3 22:08 foo
22:09:07 <elliott> <Vorpal> elliott, anyway, you have a lot of syscall stuff to do for 64-bit. some syscalls differ substantially in number and order of arguments, and even if they exist or not
22:09:16 <elliott> Vorpal: you're deliberately trying to annoy me by pretending I'm ais523\unfoog, right?
22:09:26 <elliott> ais523\unfoog: I'm trying to set the absolute timestamp
22:09:34 <Vorpal> elliott, no, you are the one interested in this on 64-bit?
22:09:51 <ais523\unfoog> Vorpal: elliott isn't interested in doing the syscall manipulation, even though that's the whole /point/
22:10:07 <Vorpal> he needs to if he wants the time to work as advertised
22:10:11 <elliott> ais523\unfoog: stop acting offended like I'm misunderstanding some magic point of the secret project :)
22:10:20 <elliott> some parts of it are helpful, some aren't
22:10:34 <ais523\unfoog> I'm just trying to figure out which part you think is helpful
22:10:42 <ais523\unfoog> given that you don't want the scheduler, or the syscall rewrite
22:10:47 <Vorpal> ais523\unfoog, btw I think you might possibly run into issues with gettimeofday on 64-bit linux. IIRC that doesn't actually go to kernel there, but just reads a page with a timer mapped into the process by the kernel
22:10:53 <Vorpal> I'm surprised this isn't done on 32-bit
22:11:08 <Vorpal> ais523\unfoog, it is in the vdso iirc
22:11:11 <elliott> ais523\unfoog: disabling some nasty easy sources of nondeterminism, and overriding the clock/uname/some other things
22:11:43 <Vorpal> I think clock_whatever is done the same way btw
22:11:53 * ais523\unfoog wonders why touch has a -f flag that's documented to do nothing
22:12:09 <Vorpal> hm it isn't even in 1p
22:12:29 <elliott> ais523\unfoog: sigh, what made you think touch -m let me specify a timestamp?
22:12:37 <elliott> I have two files called @0 and @-1 now
22:12:49 <ais523\unfoog> elliott: oh, -d specifies the timestamp; -m tells it to change just the modificatoin time
22:13:07 <Vorpal> ais523\unfoog, http://sprunge.us/SBHU
22:13:22 <Vorpal> ais523\unfoog, that is how it is done. glibc call those
22:13:32 <Vorpal> or they are weak symbols in there, not sure which
22:13:35 <ais523\unfoog> Vorpal: hmm, and I can't unmap just part of the vdso
22:13:36 <elliott> [elliott@dinky ~]$ touch -d @-1 foo
22:13:36 <elliott> [elliott@dinky ~]$ ls -lh foo
22:13:37 <elliott> -rw-r--r-- 1 elliott users 0 Jan 1 1970 foo
22:13:41 <elliott> I bet it's special-casing that
22:13:56 <elliott> [elliott@dinky ~]$ touch -d @-9999 foo
22:13:56 <elliott> [elliott@dinky ~]$ ls -lh foo
22:13:56 <elliott> -rw-r--r-- 1 elliott users 0 Dec 31 1969 foo
22:14:33 <elliott> [elliott@dinky ~]$ touch -d @-9223372036854775808 foo
22:14:33 <elliott> [elliott@dinky ~]$ ls -lh foo
22:14:33 <elliott> -rw-r--r-- 1 elliott users 0 -9223372036854775808 foo
22:14:40 <elliott> UNPACKED AT THE BEGINNING OF TIME
22:14:50 <Vorpal> elliott, what date is that technically?
22:14:55 <elliott> [elliott@dinky ~]$ touch -d @-9223372036854775 foo
22:14:55 <elliott> [elliott@dinky ~]$ ls -lh foo
22:14:55 <elliott> -rw-r--r-- 1 elliott users 0 May 16 -292275055 foo
22:15:06 <elliott> ais523\unfoog: I must have confused it :)
22:15:30 <elliott> [elliott@dinky ~]$ date -d"Jan 1 0" +%s
22:15:38 <ais523\unfoog> drwxr-xr-x 2 ais523 ais523 4096 1993-09-6547 18:24 bin
22:15:53 <elliott> [elliott@dinky ~]$ touch -d @-62167219125 foo
22:15:53 <elliott> [elliott@dinky ~]$ ls -lh foo
22:15:53 <elliott> -rw-r--r-- 1 elliott users 0 Jan 1 0000 foo
22:16:08 <Vorpal> ais523\unfoog, x86-64 has another even stranger thing than the vdso, called vsyscall
22:16:12 <ais523\unfoog> in other news, why did I never think of doing sdate ls before now?
22:16:13 <elliott> ais523\unfoog: year 0 is 1 BC, I think
22:16:18 <elliott> ais523\unfoog: since it's just using negative numebrs
22:16:24 <Vorpal> ais523\unfoog, that is not even a full dynamic object, just a weird page
22:16:30 <Vorpal> 7fff8b1ff000-7fff8b200000 r-xp 00000000 00:00 0 [vdso]
22:16:30 <Vorpal> ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
22:16:36 <Vorpal> that is used for some stuff
22:17:02 <Vorpal> ais523\unfoog, it is in the kernel half of the address space (the negative half)
22:17:17 <ais523\unfoog> you can't insist to me that addresses are signed, I won't believe you
22:17:29 <Vorpal> ais523\unfoog, well, the ISA manuals claims they are signed
22:19:04 <CakeProphet> yeah I live at -4224 Hood Rd. Anywhere, USA
22:19:18 <Vorpal> ais523\unfoog, anyway vsyscall contains gettimeofday, time, getcpu and possibly set_cpu, I'm not quite sure, it is confusing
22:19:24 <Vorpal> and iirc the mechanism predates vdso
22:19:26 <elliott> Vorpal: so, wait, how do I fix the clock on x86-64?
22:19:30 <Vorpal> and is deprecated, but can't be removed
22:19:38 <ais523\unfoog> Vorpal: I guess vdso and vsyscall will have to be made unreadable
22:19:40 <Vorpal> elliott, I'm not sure the kernel will allow that
22:19:51 <elliott> Vorpal: what am I meant to do, then?
22:20:00 <Vorpal> elliott, Why do you think I will know
22:20:04 <Vorpal> and good luck with THAT
22:20:33 * elliott considers trolling them with it
22:20:37 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:20:40 <Vorpal> ais523\unfoog, doesn't 32-bit linux have vdso?
22:20:46 <ais523\unfoog> there's a reason I ask secret project questions here
22:20:51 <ais523\unfoog> Vorpal: yes, but so far I haven't caught anything using it
22:21:02 <Vorpal> nm -D vdso32-syscall.so
22:21:02 <Vorpal> 00000410 T __kernel_rt_sigreturn
22:21:02 <Vorpal> 00000400 T __kernel_sigreturn
22:21:02 <Vorpal> 00000420 T __kernel_vsyscall
22:21:06 <elliott> ais523\unfoog: I'm doing something perfectly respectable!
22:21:24 <Vorpal> ais523\unfoog, there is an int80 and a sysenter version too
22:21:25 <ais523\unfoog> yep, rt_sigreturn, sigreturn and vsyscall are all handlable
22:21:32 <elliott> ais523\unfoog: tbh, what I need is basically chroot + unprivileged user + forced clock + empty environment + forced hostname
22:21:40 <elliott> ais523\unfoog: the rest is just feelgood :)
22:21:52 <ais523\unfoog> the host/name/ can easily be set, too; it's namespaced
22:21:52 <CakeProphet> ais523\unfoog: you're bad at secret projects because I FIGURED OUT YOUR SECRET PROJECT HAHAHAHA
22:22:01 <ais523\unfoog> CakeProphet: by reading other people discussing it?
22:22:16 <elliott> ais523\unfoog: hmm, do I really need namespace support to do that?
22:22:30 <Vorpal> elliott, pretty sure yes
22:22:56 <ais523\unfoog> elliott: no, but you don't want to set the hostname for every other process on the system too, do you?
22:23:07 <elliott> What Nix does is: Unprivileged user (nixbld[1-9] usually), empty environment
22:23:13 <elliott> and only one build runs as one of the users at a time
22:23:16 <elliott> that's for a multi-user thing
22:23:17 <Vorpal> ais523\unfoog, anyway it might happen that ptrace catches those system calls, but I would suspect it won't
22:23:18 <elliott> it's a stupid hole they have
22:23:37 <elliott> but yes, any ideas wrt me overriding the clock would be helpful
22:23:39 <CakeProphet> ais523\unfoog: your secret is to bother people with questions about a secret project. The reason secrecy is integral to the project is that if people knew why you were asking questions they'd just stop caring.
22:23:45 <elliott> couldn't I just increment it by one second every time it's called?
22:23:49 <elliott> CakeProphet: we already know, you moron
22:24:08 <Vorpal> elliott, sure, but what about scheduling then
22:24:24 <elliott> Vorpal: fair enough, I guess make might race-condition it
22:24:33 <Vorpal> elliott, lets say you are building the kernel at -j3, when is the actual "embed for uname" done
22:24:37 <elliott> I still don't think unpacking files at -1 and running the build at 0 will break anything unfixably.
22:24:42 <CakeProphet> elliott: is that some kind of subatomic particle?
22:24:53 <Vorpal> elliott, I think if you add 2 to those then you will be safe
22:25:00 <Vorpal> unless configure errors out
22:25:11 <elliott> Vorpal: no thanks, I'd prefer the file-embedded timestamps to be the epoch
22:25:17 <Vorpal> elliott, anyway the date ais523\unfoog selected is a good one
22:25:26 <elliott> it is, but it's not as elegant as all-zeroes
22:25:57 <Vorpal> elliott, well all 1 except signbit
22:26:17 <Vorpal> CakeProphet, did you mean: not elephant
22:26:20 <elliott> Vorpal: that'll break in a couple of decades. maybe. :p
22:26:33 <Vorpal> elliott, 64-bit linux uses 64-bit time_t
22:26:41 <Vorpal> CakeProphet, elephant definitely
22:27:05 <elliott> Vorpal: what about dwarf fortress???
22:27:31 <Vorpal> elliott, will it still be 32-bit in a couple of decades?
22:27:40 <Vorpal> elliott, I bet it will need more than 4 GB RAM by then
22:28:36 <Vorpal> ldd: exited with unknown exit code (139)
22:28:40 <Vorpal> that is quite impressive
22:28:44 <elliott> ldd is a massive security hole
22:28:51 <elliott> it just runs the binary with an environment var :P
22:28:57 <Vorpal> elliott, that is why I was wondering what it would do
22:29:04 <Vorpal> on something not using glibc even
22:29:19 <elliott> Vorpal: something that doesn't support it would just run normally
22:29:32 <elliott> consider the sysadmin who runs as root and a malicious statically-linked program that a user is complaining about... :)
22:29:34 <ais523\unfoog> elliott: is ldd restricted to running executables?
22:30:06 -!- augur has joined.
22:30:14 <elliott> [elliott@dinky ~]$ ldd ./2011-10-30.txt
22:30:14 <elliott> ldd: ./2011-10-30.txt: No such file or directory
22:30:15 <elliott> [elliott@dinky ~]$ ldd ~/Code/weboflies/build.sh
22:30:39 <elliott> [elliott@dinky ~]$ ldd ~/Code/weboflies/build.sh
22:30:39 <elliott> ldd: warning: you do not have execution permission for `/home/elliott/Code/weboflies/build.sh'
22:30:52 <Vorpal> heh, it doesn't mention any ld.so
22:31:30 <Vorpal> I think it will continue if you have mulitple files on the line
22:31:44 <elliott> does anyone use calibre on linux? if so, uninstall it
22:31:57 <elliott> a popular ebook manager thing
22:32:07 <elliott> https://bugs.launchpad.net/calibre/+bug/885027
22:32:11 <elliott> severely buggy suid helper
22:32:41 <elliott> "Ability to execute any program as root."
22:32:59 <Vorpal> why does it have a suid bit at all
22:33:00 <elliott> "I dont see how 1-3 are security vulnerabilities. 4 is a vulnerability only if
22:33:00 <elliott> mount itself is vulnerable to command line injection. 5 is indeed a
22:33:00 <elliott> vulnerability, but is neccesitated by the non uniformity of linux filesystems
22:33:00 <elliott> (mount, eject can be located anywhere). 5 can be mitigated by first checking
22:33:00 <elliott> for mount and eject in "standard" locations and only then trying all of PATH,
22:33:01 <elliott> changes for that will be in the next release."
22:33:07 <elliott> ^^ criminally irresponsible maintainer
22:33:18 <elliott> Vorpal: mounting ebook devices, presumably
22:33:34 <elliott> i think that's what policykit is for nowadays...
22:33:44 <elliott> ais523\unfoog: all of them are serious bugs
22:34:06 <elliott> "6. An unprivileged user an mount/unmount/eject whatever he wants, with
22:34:06 <elliott> root permissions. Danger."
22:34:08 <ais523\unfoog> creating empty dirs as root isn't obviously exploitable, for instance
22:34:10 <elliott> ok, this is the worst setuid executable in history
22:34:23 <elliott> ais523\unfoog: e.g. if something looks for a lock there
22:34:52 <elliott> "You mean that a program designed to let an unprivileged user
22:34:52 <elliott> mount/unmount/eject anything he wants has a security flaw because it allows
22:34:52 <elliott> him to mount/unmount/eject anything he wants? I'm shocked.
22:34:52 <elliott> Implement a system that allows an appilcation to mount/unmount/eject USB
22:34:52 <elliott> devices connected to the system securely, then make sure that system is
22:34:53 <elliott> universally adopted on every linux install in the universe. Once you've done that, feel free to
22:35:00 <elliott> wow, remind me to avoid this person's code, forever
22:35:39 <ais523\unfoog> the reply is funny; "Unfortunately, sarcasm does not make you right."
22:36:03 <elliott> ais523\unfoog: more people need to listen to that advice, I think...
22:36:23 <ais523\unfoog> he replied "Sarcasm doesn't make me right, being right makes me right."
22:36:34 <Vorpal> heh, they generate a linker script for the vdso. As in, you aren't supposed to edit the .lds, but rather edit the generator
22:36:37 <elliott> may seem, I am actually aware of the dangers"
22:36:40 <ais523\unfoog> then he submitted a fix, and someone broke that one too
22:36:41 <elliott> just not competent enough to avoid them
22:37:11 <Vorpal> * Align the actual code well away from the non-instruction data.
22:37:11 <Vorpal> * This is the best thing for the I-cache.
22:37:22 <ais523\unfoog> heh, by creating a filesystem file with some suid executables on it and loopback-mounting it with calibre
22:37:23 <Vorpal> ais523\unfoog, from the vdso *linker script*
22:37:33 <Vorpal> the alignment is 0x100
22:37:53 <Vorpal> I guess it is because it will end up updating the data page a lot from the kernel
22:38:31 <Vorpal> ais523\unfoog, wait, what is the point of that?
22:38:38 <ais523\unfoog> then he fixed it again, to only mount files in /dev
22:38:48 <Vorpal> ais523\unfoog, this can't be real?
22:38:53 <elliott> Vorpal: this is an exploit
22:39:30 <ais523\unfoog> exploits exploit incorrect assumptions, so typically involve doing something crazy
22:39:43 <elliott> you should have to pass some kind of exam to ship setuid executables to users
22:39:51 <elliott> probably that exam should be "you can convince a package maintainer to package it"...
22:40:25 <ais523\unfoog> heh, it's just been pointed out that unprivileged users /can/ create symlinks in /dev
22:40:41 <ais523\unfoog> anyone here know how? or shall I just give the solution?
22:40:49 <hagb4rd> wow gregor. i'm pretty impressed. opus 13 is a nice piece of art.
22:40:53 <Vorpal> ais523\unfoog, /dev/shm
22:40:57 <elliott> ais523\unfoog: good god, this guy just keeps patching his piece of shit
22:41:12 <ais523\unfoog> elliott: and Dan Rosenberg comes up with a new exploit every time
22:41:25 <elliott> ais523\unfoog: isn't it Jason A. Donenfield doing the exploits?
22:41:35 <elliott> How not to respond to vulnerabilities in your code (bugs.launchpad.net)
22:41:40 <elliott> (http://www.reddit.com/r/programming/comments/lzb5h/how_not_to_respond_to_vulnerabilities_in_your_code/)
22:42:05 <elliott> "2) It may not even be installed on some distros, for example, it isn't installed by default on gentoo."
22:42:12 <elliott> he can't depend on pmount, gentoo doesn't install it by default :DDD
22:42:22 <Vorpal> ais523\unfoog, this code is quite pretty btw: http://sprunge.us/cHgf (from the vdso)
22:42:27 <Gregor> THE MEME THAT TIME FORGOT: "BRB I can be doll"
22:42:51 <Vorpal> ais523\unfoog, it uses a sequence counter to ensure a consistent reading of the time
22:42:55 <elliott> "@Rosenberg: Yes, I have. And you were warned, this is the last response you
22:43:06 <elliott> WHAT WILL YOU DO ABOUT MY SECURITY HOLES NOW THAT I CANNOT HEAR YOU??? MWAHAHAHAHA
22:43:31 <Gregor> ais523\unfoog: It's actually what the receipt from Mattel says if you order a Barbie I Can Be™ Doll
22:43:39 <Vorpal> elliott, did they open a CVE?
22:43:44 <elliott> hmm, he's a Gentoo user... I'm going to try really hard to be shocked
22:44:16 <ais523\unfoog> haha, someone pointed out a security hole in the exploit
22:44:21 <ais523\unfoog> I'm trying to figure out if that's clever or missing the point
22:44:34 <Vorpal> ais523\unfoog, which comment
22:44:44 <ais523\unfoog> Vorpal: running the exploit code lets arbitrary people run executables with your perms
22:45:30 <elliott> "I'm not sure this is actually exploitable...the posted exploit fails on my GNU/kFreeBSD box:
22:45:30 <elliott> $ gcc 70calibrerassaultmount.sh -o full-nelson"
22:45:34 <Vorpal> ais523\unfoog, I do think it is clever, rather than missing the point
22:45:34 <elliott> ais523\unfoog: facepalm with me
22:45:46 <elliott> "Is there different compiler (icc?) or architecture (maybe needs a RISC arch?) requirement?"
22:46:05 <elliott> "Until this comment, I was on the side of fixing with the exploits. Now, as far as I am concerned you should go play frisbee on a freeway." ;; that was a different person you moron
22:46:13 * elliott replies to people where they can hear it, in #esoteric
22:46:46 <elliott> "I would like ubuntu for not including this obviously exploitable test case in the face of an arrogant security researcher."
22:46:53 <elliott> ais523\unfoog: I think missing the point, for sure
22:47:14 <Vorpal> elliott, I'm pretty sure someone is trying to be cleaver there.
22:47:25 <elliott> it's from the same comment that points out the "exploit"
22:47:56 <Vorpal> spelling is for amateurs
22:48:03 <elliott> http://www.reddit.com/r/programming/comments/lzb5h/how_not_to_respond_to_vulnerabilities_in_your_code/c2wuix0
22:48:26 <elliott> programmers are way too touchy :P
22:49:11 <pikhq_> Vorpal, speling iz foar amacherz
22:51:05 <elliott> "The thing is, there's not much out there that supports so many formats. It's incredibly extensive. The devs have just put tons of time into adding feature after feature after feature. They even do their own IPC and lots of other little things that remind me of my first gigantic project where I crammed everything I could think of into one program to learn about everything."
22:51:14 <elliott> hagb4rd: that's not what a linguist is
22:51:36 <hagb4rd> what exactly do you mean elliott?
22:51:37 <augur> elliott is correct
22:51:51 <elliott> hagb4rd: a linguist is not someone who likes languages/knows a lot of languages/enjoys using language
22:52:04 <elliott> (well, they might do any or all of those, but that's not what a linguist /is/)
22:52:11 <elliott> ais523\unfoog: reddit wisdom: http://www.reddit.com/r/programming/comments/lzb5h/how_not_to_respond_to_vulnerabilities_in_your_code/c2wu5qx
22:52:43 <elliott> I don't see the relevance of being a linguist to spelling properly :P
22:53:10 <pikhq_> Linguistics is the formal study of language. That's all.
22:53:45 <hagb4rd> however didnt mean to insult our linguists here :P
22:54:28 <oklopol> you're lucky so few of us like languages.-
22:54:37 <elliott> i think augur is the only linguist here :P
22:54:55 <pikhq_> I think augur's the only linguist here. Though if you include dilettantes you can make that plural.
22:58:01 <oklopol> i'm pretty sure most of the regulars have some sort of language fetish here
22:58:12 <oklopol> perhaps not a very regular one
22:59:42 <Phantom_Hoover> But what man cannot say he has not fallen to the subtle allure of Swedish?
22:59:52 <pikhq_> Phantom_Hoover: Bork bork bork.
23:00:13 <elliott> Does anyone actually use /sys nowadays? ais523\unfoog? Vorpal?
23:00:35 <oklopol> even the swedes have learned swedish
23:00:49 <elliott> ais523\unfoog: /proc/sys, except for when you're in the past
23:01:27 <ais523\unfoog> elliott: it exists in this system, and is not identical to /proc/sys
23:01:37 <elliott> ais523\unfoog: I know that.
23:02:01 <pikhq_> I seem to recall it being essential for udev.
23:02:13 <Phantom_Hoover> Punctuation is an evil from which we may never be free.
23:02:14 <ais523\unfoog> none on /sys/fs/fuse/connections type fusectl (rw)
23:05:58 -!- copumpkin has joined.
23:07:51 -!- GreaseMonkey has quit (Quit: The Other Game).
23:17:48 <Vorpal> <elliott> Does anyone actually use /sys nowadays? ais523\unfoog? Vorpal? <-- uh yes?
23:18:06 <Vorpal> elliott, it provides info about devices and so on
23:18:17 <elliott> What is the semantic difference between /proc and /sys
23:18:33 -!- Phantom_Hoover has quit (Quit: Leaving).
23:18:37 <Vorpal> elliott, /proc is for pids + some other stuff
23:18:52 <Vorpal> elliott, some stuff is being moved or has been moved from /proc to /sys I know
23:18:53 <elliott> [elliott@dinky ~]$ ls /proc/sys
23:18:53 <elliott> abi debug dev fs kernel net vm
23:18:53 <elliott> [elliott@dinky ~]$ ls /sys
23:18:53 <elliott> block bus class dev devices firmware fs hypervisor kernel module power
23:18:53 <elliott> What is the semantic distinction between these two
23:19:07 <Vorpal> elliott, /proc/sys is basically sysctl
23:19:17 <elliott> I thought sysfs was basically sysctl too.
23:19:21 <Vorpal> elliott, /sys is for device discovery and so on
23:19:34 <elliott> "It is similar to the sysctl mechanism found in BSD systems" --wp
23:19:53 <Vorpal> well, it is used to discover things, like what devices exist
23:19:56 <elliott> It sucks to have two directories for "misc. kernel shit".
23:20:17 <Vorpal> /proc is really over-populated
23:20:32 <shachaf> elliott: On the contrary, we should have more.
23:20:43 <Vorpal> lrwxrwxrwx 1 root root 0 2011-11-04 00:19 dm-0 -> ../devices/virtual/block/dm-0
23:21:04 <Vorpal> elliott, sv_SE I think
23:21:48 <Vorpal> elliott, anyway a few files in /sys are for setting stuff, mostly stuff related to a particular instance of a driver for a specific hardware
23:21:54 <Vorpal> rather than system-global settings
23:22:33 <pikhq_> elliott: /proc started as a "information about processes" filesystem, became a "generic kernel shit" filesystem. Now they're trying to make /sys the generic kernel shit filesystem, and /proc the information about processes filesystem.
23:22:35 <Vorpal> elliott, say, if you want to add a foo-switch to every block device, chances is it goes into /sys, if you want a global foo-switch for the entire system, it becomes a sysctl and goes into /proc/sys
23:22:59 <pikhq_> If they could do things from scratch they'd probably make it /sys/proc
23:24:30 <Vorpal> anyway I think udev mainly uses /sys/{block,bus,dev,devices}
23:24:58 <elliott> Shouldn't proc be ... yeah, /sys/proc.
23:25:12 <elliott> Can you tell stuff proc is in a different place? :p
23:25:22 <Vorpal> pikhq_, where is /sys documented btw? Like /sys/firmware/memmap/0/{end,start,type}, I have no idea what that is for
23:25:43 <pikhq_> Vorpal: Probably somewhere in linux-x.y.z/Documentation/
23:25:46 <Vorpal> elliott, anyway I doubt mkdir /sys/proc would work
23:26:09 <Vorpal> ldd: exited with unknown exit code (139)
23:26:30 <Vorpal> $ ls /sys/firmware/memmap/
23:26:30 <Vorpal> 0 1 10 11 12 13 14 15 16 17 18 19 2 20 21 22 23 24 25 26 27 28 3 4 5 6 7 8 9
23:26:39 <Vorpal> someone needs to fix the copy-paste bug for synergy btw
23:26:55 <elliott> have you tried the maintained fork
23:27:05 <Vorpal> elliott, that is what I'm using
23:27:26 <Vorpal> elliott, anyway only some programs exhibit it, and it starts randomly a while after connecting
23:32:10 -!- sllide has quit (Read error: Connection reset by peer).
23:34:38 <pikhq_> 私のホバークラフトはうなぎでいっぱいです! <- The only phrase in Japanese anyone ever needs to know.
23:35:04 <Vorpal> pikhq_, what does it mean?
23:35:42 <pikhq_> (watashi no hobākurafuto wa unagi de ippai desu!) [watasi no hohầkurahuto ha unagì tè i'håi tèsu]
23:35:49 <pikhq_> Vorpal: "My hovercraft is full of eels."
23:42:55 -!- kwertii has joined.
23:45:05 <HackEgo> ls: cannot access /sys/firmware/memmap: No such file or directory
23:45:38 <HackEgo> block \ bus \ class \ dev \ devices \ firmware \ fs \ kernel \ module
23:55:33 -!- Vorpal has quit (Ping timeout: 276 seconds).