←2010-11-29 2010-11-30 2010-12-01→ ↑2010 ↑all
00:00:01 <Sasha> German
00:00:03 <Sasha> Chinese
00:00:04 <elliott> oh, the useless kind
00:00:05 <Sasha> Russian
00:00:09 <Sasha> Esperanto
00:00:10 <elliott> that barely anybody speaks
00:00:10 <elliott> right
00:00:17 <Sasha> English
00:00:24 <elliott> well that's useful but ugly.
00:00:27 <Sasha> Arabic
00:00:28 <elliott> we should just talk in haskell.
00:00:32 <Sasha> Hebrew
00:00:45 <Phantom_Hoover> English: the C++ of the language world.
00:00:51 <quintopia> elliott: sure. you go first.
00:01:07 <Goosey> I knw 3 languages that are real
00:01:09 <elliott> quintopia: sure. you go first.
00:01:20 <quintopia> Phantom_Hoover: C++ is fine as the C++ of the language world.
00:01:22 <elliott> quintopia: (an illustration of what happens if you have two mutually recursive functions outputting infinite lists with no starter elements in either)
00:01:23 <Goosey> English, Spanish, Japanese, but I'm not so good at spanish :D
00:01:25 <Phantom_Hoover> It's bloated, it sucks, and everyone uses it through sheer force of weirdness.
00:01:29 <elliott> <quintopia> Phantom_Hoover: C++ is fine as the C++ of the language world.
00:01:33 <elliott> sort of like the moron of the people world?
00:01:35 <elliott> well, the uh
00:01:40 <elliott> psychopathic rapist moron
00:01:58 <quintopia> with a gun
00:01:58 <elliott> great, last message is about C++
00:02:01 <elliott> what a high note -->
00:02:02 -!- elliott has quit (Quit: Leaving).
00:02:06 <Vorpal> Phantom_Hoover, so: what are you going to do?
00:02:10 <Sasha> What's the Esperanto of the computer world?
00:02:13 <Vorpal> personally I will sleep
00:02:17 <quintopia> java, i guess
00:02:24 <Phantom_Hoover> Vorpal, now? I shall sleep.
00:02:24 <Sasha> Heh
00:02:29 <Vorpal> Phantom_Hoover, same
00:02:51 <quintopia> and the opposite of esperanto, whatever that is, is INTERCAL
00:03:22 <Phantom_Hoover> OO.o actually does have one use: twiddling with weird fonds.
00:03:25 <Phantom_Hoover> *fonts
00:03:44 <quintopia> wait
00:03:45 <quintopia> what?
00:03:49 <Vorpal> Phantom_Hoover, abiword could do that?
00:04:04 <quintopia> you just implied that twiddling with weird fonts was somehow useful.
00:04:14 <Phantom_Hoover> Vorpal, they suck in the same way, really.
00:04:41 <Vorpal> Phantom_Hoover, indeed
00:04:50 <Vorpal> quintopia, and isn't it?
00:05:06 <quintopia> um, hmm...nope.
00:05:07 <Vorpal> quintopia, I use Computer Modern and that is it
00:05:30 <Vorpal> if it worked for Knuth it works for me
00:05:50 <quintopia> i forget what i'm using here, but for most stuff i'm using droid sans because it is very legible at small sizes
00:06:04 <quintopia> (droid sans mono, i mean)
00:06:10 <Phantom_Hoover> Use that subpixel text renderer thing.
00:06:24 <quintopia> also known as anti-aliasing
00:07:01 <quintopia> and droid sans looks pretty okay anti-aliased too.
00:07:02 <Phantom_Hoover> No, it actually had letters that were 5x1 pixels.
00:07:09 <quintopia> what
00:07:17 <quintopia> show me
00:07:24 <Phantom_Hoover> elliott linked to it a while ago, but I've lost it.
00:07:38 <quintopia> it uses the colors as separate components?
00:07:44 <Phantom_Hoover> Ah, here we go:
00:07:45 <Phantom_Hoover> http://distractionware.com/blog/?p=193
00:07:52 <Vorpal> quintopia, oh for *on screen*?
00:07:59 <Vorpal> dejavu sans mono or dejavu sans then
00:08:23 <quintopia> i think that's what i may be using in the terminal. maybe.
00:08:48 <quintopia> in all other apps, droid sans (i switched *from* deja vu sans)
00:09:27 -!- FireFly|n900 has joined.
00:09:33 <quintopia> also, that link is neat. i can actually read that!
00:09:34 <Phantom_Hoover> quintopia, it works by using the 3 subpixels to get the horizontal resolution.
00:09:39 <Phantom_Hoover> Obviously.
00:10:21 <Vorpal> Phantom_Hoover, I can't read it. Too high res on this monitor
00:10:34 <Vorpal> (114 dpi or something such)
00:10:40 <Vorpal> let me try it on my desktop
00:10:46 <Vorpal> (which is 96 dpi or such)
00:10:53 <Vorpal> hm, some letters on that
00:10:57 <Vorpal> but not most
00:12:09 <FireFly|n900> There was a tech demo for the Nintendo DS rendering a font with subpixels a few years ago
00:12:16 <FireFly|n900> I like the idea behind it
00:13:07 <Vorpal> heh
00:13:34 <FireFly|n900> That's definitely unreadable on this display
00:15:13 <Vorpal> I can imagine
00:15:22 -!- Sgeo has joined.
00:15:23 <Vorpal> FireFly|n900, you have one too?
00:15:35 <Vorpal> (n900 I mean)
00:17:26 <FireFly|n900> Yep
00:18:44 <FireFly|n900> time to sleep now, though
00:19:42 -!- GreaseMonkey has joined.
00:19:45 -!- GreaseMonkey has quit (Changing host).
00:19:45 -!- GreaseMonkey has joined.
00:20:55 <Goosey> I can barely read that font
00:21:06 <Goosey> but then again, I'm blind in one eye
00:25:51 <Phantom_Hoover> Which one?
00:48:24 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:53:47 <augur> http://www.allvoices.com/contributed-news/7473206-anticipation-builds-for-dec-2-nasa-news-conference-on-astrobiology-finding-related-to-extraterrestrial-life
00:53:49 <augur> aliens!
00:54:20 <Goosey> hm
00:54:43 <Goosey> What do you think is a good way to manipulate a java irc bot that supports a form of bytecode
00:55:42 <Sgeo> How would blindness in one eye affect ability to see that?
00:56:25 -!- Sasha has quit (Ping timeout: 245 seconds).
00:56:36 -!- Sasha has joined.
00:56:38 <Goosey> Makes it harder to see :/
01:11:01 <pikhq> http://www.level3.com/index.cfm?pageID=491&PR=962
01:11:24 <pikhq> Dammit Level 3, you should've just cut them off.
01:11:40 <pikhq> Let them be completely disconnected from the Internet.
01:14:33 -!- augur has quit (Remote host closed the connection).
01:56:38 -!- augur has joined.
02:22:21 -!- Sasha2 has joined.
02:22:42 -!- Sasha has quit (Ping timeout: 240 seconds).
02:46:26 -!- augur has quit (Remote host closed the connection).
03:38:25 <Sgeo> <3 fooplot.com
03:38:50 -!- Sasha has joined.
03:41:03 -!- Sasha2 has quit (Ping timeout: 276 seconds).
03:45:52 -!- GreaseMonkey has quit (Ping timeout: 240 seconds).
04:05:28 -!- GreaseMonkey has joined.
04:40:48 <Goosey> Guys, I have a good recommendation for you.
04:40:54 <Goosey> Don't joke about having sex...
04:41:15 <Goosey> Sometimes they will say yes when you don't expect it, and all other times you will feel pain...
04:41:23 <Goosey> Loss-Loss situation...
04:41:41 <myndzi> will your mom forgive you?
04:42:53 <pikhq> Goosey: Some wouldn't call the first case a loss.
04:43:38 <Goosey> Yeah, well I'm all for doing it, but not if I hardly know them
04:44:10 <pikhq> Again. Some people beg to differ.
04:45:36 <Gregor> ...
04:45:55 <Goosey> Some people have aids too, but that isn't my problem/
04:46:31 -!- GreaseMonkey has quit (Ping timeout: 265 seconds).
04:46:37 <Sgeo> Some people use condoms. (Not that that's perfect, meh)
04:48:51 -!- GreaseMonkey has joined.
05:04:51 <Goosey> Fuck
05:04:52 <Goosey> tell me
05:05:00 <Goosey> is this a cool quote or what
05:05:21 <pikhq> Fairly mundane statement regarding copulation, seems to me.
05:05:30 <Goosey> :/
05:05:41 <Goosey> "No matter the outcome, reaching it is always the best one can hope for."
05:05:46 <Goosey> somethign along the lines
05:05:50 <Goosey> I just said it at random
05:07:32 <Goosey> it's cool right? :(
05:16:42 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101026210630]).
05:25:31 <Sgeo> That... sounds wrong, but as though it's similar to a more inspirational statement.
05:42:34 <oklofok> you wouldn't have sex with someone you know?
05:43:01 <oklofok> that's very weird
05:44:10 <oklofok> Goosey: it has that profound feel to it
05:44:28 <oklofok> but it's possible it's actually stupid, have to think about it!
05:44:40 * oklofok thinks
05:45:04 <oklofok> so what, like a hot girl comes and is like hey goosebumps wanna pump my goose
05:45:07 <oklofok> and you're like
05:45:16 <oklofok> nah you could have like aids and shit
05:46:17 <Goosey> lol
05:46:39 <Goosey> while I would like a girl to be pretty(and to be honest probably would need one)
05:46:44 <Goosey> a pretty girl is attractive
05:47:34 <oklofok> hmm how old are you?
05:49:15 <oklofok> just trying to figure you out
05:49:35 <Goosey> but a pretty girl I know = instant ecsasy
05:49:37 <Goosey> 15
05:49:50 <oklofok> hmm alright
05:51:01 <oklofok> maybe sex is still a big deal to you?
05:51:05 <oklofok> that would definitely explain it
05:51:13 <oklofok> i mean
05:51:16 <Goosey> Well, probably as I have only done it once
05:51:21 <oklofok> it's not something you just happen to like to have every day
05:51:24 <oklofok> right
05:51:28 <Goosey> I still feel like its important to choose
05:51:29 <oklofok> okay then i have no quarrel with you
05:51:58 <oklofok> talk to me when you're 20, same drive, no rules
05:52:00 -!- Wamanuz3 has quit (Ping timeout: 260 seconds).
05:52:15 <oklofok> a girl tells you they wanna fuck you still manage to rape here
05:52:17 <oklofok> *her
05:52:41 <Sgeo> oklofok, uh?
05:53:01 <oklofok> well you know
05:53:05 <oklofok> they actually want to have sex
05:53:14 <oklofok> but you sex them up more than they wanted
05:53:33 <Sgeo> ?
05:53:36 <oklofok> i thought that was clear enough
05:53:36 -!- augur has joined.
05:53:50 <oklofok> also it was a rape joke, in case you missed that
05:54:05 <Goosey> wha....
05:54:19 <oklofok> elliott is going to love this slowfest
05:55:56 <Sgeo> I don't think I can relate well to any sexual situations
05:56:02 <Sgeo> Except, of course, not having
05:57:28 <oklofok> obviously you have to have raped ppl to get that joke
05:57:40 <oklofok> (another rape joke btw)
05:58:05 <Sgeo> I'm just in a less than perfectly pleasant mood today
05:58:11 <Sgeo> Hopefully tomorrow I'll be giddy again
05:59:51 <oklofok> well if you don't find rape funny, there must be something wrong with you, yes
06:00:08 <oklofok> why not pleasant mood
06:00:11 <oklofok> today is an awesome day
06:00:52 <oklofok> i just woke up, the world doesn't seem to have woken up yet but i like watching her sleep
06:00:56 <oklofok> it's all dark outside
06:01:25 <Sgeo> oklofok, I think I offended the girl I like this past Saturday
06:01:55 <oklofok> and were you all Sgeo like "did i offend you in some way?"
06:01:59 <Sgeo> I'm going to see her tomorrow (unless she was so disturbed that she decides to go someplace else)
06:02:00 <oklofok> :P
06:02:08 <Sgeo> oklofok, I said Sorry
06:02:09 <oklofok> "disturbed"?
06:02:15 <oklofok> what did you do? :D
06:02:34 <Sgeo> Tried to point out that some information that she implied was private was visible on her profile
06:02:41 <Goosey> Anyways, being a guy and having had sex before, I'm deprived and in need
06:02:46 <Sgeo> (private from me, at least)
06:02:59 <Sgeo> don't know if it's supposed to be world-private
06:03:08 <oklofok> Goosey: there are websites full of women
06:03:21 <Goosey> No, porn doesn't do it...
06:03:35 <oklofok> i meant "dating" sites
06:03:45 <Goosey> I'm 15....
06:03:49 <Goosey> And I don't need that.
06:04:02 <Goosey> I just need to coax this one girl into letting me in :P
06:04:28 * Sgeo alarums
06:04:32 <oklofok> yeah i hear the chase is fun too
06:04:42 <Sgeo> (Yes, I know that the similarity with "alarm" is completely superficial)
06:04:55 * Sgeo googles
06:04:57 <Sgeo> Or not...
06:05:40 <oklofok> Sgeo: if you can see her profile, that's a valid comment
06:06:17 <Sgeo> When she tried to get clarification on what I meant, I tried to get clarification of her clarification request (not in these words)
06:06:27 <oklofok> :D
06:06:52 <oklofok> maybe information sharing isn't exactly something she thinks about daily
06:07:18 <oklofok> so you were talking about a concept she's unfamiliar with, and you were being a total nerd about it and that was annoying
06:08:46 <oklofok> "LET US MODEL THE WORLD AS THIS LITTLE THING I CALL THE INFORMATION SHARING GRAPH (PATENT PENDING NAH I'M TOTALLY OPEN SOURCE DON'T WORRY), ..."
06:08:52 <oklofok> etc
06:09:13 <oklofok> it would probably not be a graph actually
06:09:14 <oklofok> erm
06:09:19 <oklofok> my bus leaves in two minutes
06:09:26 <oklofok> you have cheated me into missing it
06:09:27 <oklofok> maybe
06:09:33 <oklofok> yes, definitely
06:10:29 <oklofok> i've heard there's another bus, but i never had to use it without supervision
06:10:40 <Sgeo> Sorry :(
06:14:46 <oklofok> i had a dream that i was in a train, and the tracks went through an ocean
06:15:00 <oklofok> and people surviving the trip was guaranteed as follows
06:15:06 <oklofok> (since the train didn't have a roof)
06:15:20 <oklofok> when they died, they respawned back on their seats
06:16:23 <oklofok> hmm there was another drowning dream that's not interesting enough to share, what's the meaning of drowning in dreams
06:16:43 <Sgeo> I had a dream about a dimension-travelling elevator
06:16:52 <oklofok> i also had lesbian sex in a dream
06:16:55 <Sgeo> And a library that it took you to that described all the dimensions
06:17:16 <Sgeo> Suddenly, my dream seems less interesting
06:17:19 <oklofok> :D
06:17:35 <Sgeo> Also, don't miss your next bus
06:18:17 <oklofok> i thought the train thing was more interesting than the being a woman thing, also i think i was a man disguised as a woman
06:18:24 <oklofok> but i don't remember the details
06:18:30 <oklofok> and oh god i was ugly
06:18:33 <oklofok> good point
06:18:36 <oklofok> i'll run now ->
06:32:39 <Goosey> Well
06:32:44 <Goosey> That chase was short
06:32:51 <Goosey> moves this weekend, then her house
06:32:55 <Goosey> then lets see what happens :D
06:54:08 <Goosey> <Scythe`> What's the worst thing about being a redneck ?
06:54:09 <Goosey> <Scythe`> Tasting your dad's semen when you're eating out your sister
06:54:11 <Goosey> <Galdor> iim thinking.... how would you recognise it as your dads?
07:18:26 -!- Sgeo has quit (Read error: Connection reset by peer).
07:18:53 -!- Goosey has quit (Read error: Operation timed out).
07:21:44 -!- FireFly has joined.
07:30:41 -!- Wamanuz has joined.
07:46:07 -!- GreaseMonkey has quit (Ping timeout: 272 seconds).
07:54:49 -!- GreaseMonkey has joined.
07:57:10 -!- MigoMipo has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:38 -!- wareya has quit (Read error: Connection reset by peer).
08:11:15 -!- wareya has joined.
08:13:57 -!- FireFly has quit (Quit: swatted to death).
08:24:05 -!- FireFly|n900 has quit (Ping timeout: 245 seconds).
08:37:29 -!- FireFly|n900 has joined.
08:53:25 -!- oerjan has joined.
09:20:17 -!- MigoMipo has quit (Remote host closed the connection).
09:37:47 -!- cheater00 has quit (Quit: Leaving).
09:45:55 -!- GreaseMonkey has quit (Ping timeout: 260 seconds).
09:46:24 -!- GreaseMonkey has joined.
09:46:25 -!- GreaseMonkey has quit (Changing host).
09:46:25 -!- GreaseMonkey has joined.
10:31:05 -!- GreaseMonkey has quit (Quit: ilua).
10:34:41 -!- cheater99 has joined.
10:45:51 -!- oerjan has quit (Quit: Lost terminal).
10:51:15 <Ilari> Ah, Houston prediction of IPv4 depletion has added note that "run on the bank" scenario may have begun...
10:58:36 <fizzie> Hey, the Piet sqrt(-garfield) I did came out: http://www.mezzacotta.net/garfield/?comic=559
10:59:12 <Ilari> Of course, using more uncertain terms about deployiment schedules accelerating...
11:04:42 -!- wareya has quit (Ping timeout: 240 seconds).
11:28:37 -!- Phantom_Hoover has joined.
11:46:36 -!- ais523 has joined.
12:34:45 -!- elliott has joined.
12:37:10 <elliott> 18:42:34 <Goosey> Dislike....
12:37:11 <elliott> 18:42:35 <Goosey> D:
12:37:11 <elliott> 18:43:00 <Goosey> How sad
12:37:14 <elliott> well, xkcd /is/ terrible.
12:37:29 <elliott> computational_linguists far predates the terrible though
12:37:44 <Phantom_Hoover> I have finally managed to expunge it from my RSS feed, and I feel like a great weight has lifted.
12:43:27 <Phantom_Hoover> In other news, I think esolang development has stagnated into eternal Brainfuck derivatives.
12:43:50 <Phantom_Hoover> Suggested solution: expunge all notions of Brainfuck from the collective psyche.
12:44:41 <elliott> 22:15:14 <oerjan> interestingly, if you had a library of all possible text files arranged alphabetically, _finding_ anything interesting in it would be as hard as inventing it yourself
12:44:46 <elliott> library of babble
12:44:58 <elliott> Phantom_Hoover: *brainfuck
12:45:01 <elliott> Phantom_Hoover: please capitalise it correctly
12:45:06 <Phantom_Hoover> Huh?
12:45:33 <elliott> Phantom_Hoover: "The brainfuck compiler knows the following instructions:" --Urban Müller, README, brainfuck
12:45:43 <Phantom_Hoover> 22:15:14 <oerjan> interestingly, if you had a library of all possible text files arranged alphabetically, _finding_ anything interesting in it would be as hard as inventing it yourself ← surely the set of all possible text files is uncountably infinite?
12:45:49 <elliott> Phantom_Hoover: (It is probably "Brainfuck" at the start of the sentence; i.e. normal noun rules.)
12:45:59 <Phantom_Hoover> Wait, no it isn't.
12:46:02 <Phantom_Hoover> Forget that remark.
12:46:25 <elliott> Phantom_Hoover: no, but the set of all possible infinite text files is, ofc
12:46:31 <Phantom_Hoover> Yes.
12:46:34 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
12:49:17 -!- oerjan has joined.
12:49:24 <oerjan> <Phantom_Hoover> 22:15:14 <oerjan> interestingly, if you had a library of all possible text files arranged alphabetically, _finding_ anything interesting in it would be as hard as inventing it yourself ← surely the set of all possible text files is uncountably infinite?
12:49:38 <Phantom_Hoover> I know, it isn't.
12:49:43 <oerjan> elliott deviously did not paste my correction to that statement
12:50:10 <elliott> 22:15:52 <oerjan> *text files of a certain length
12:50:11 <elliott> right
12:50:14 <elliott> i didn't notice :P
12:57:40 <Phantom_Hoover> Anyway, brainfuck no longer officially exists is what I'm getting at.
12:57:58 <oerjan> O_o
12:58:23 <Phantom_Hoover> oerjan, it is for the good of esolangs everywhere.
12:58:33 <oerjan> true, true
12:59:55 <Phantom_Hoover> So, I suggest that its page on the wiki be deleted and anyone mentioning it in the channel be kickbanned.
13:00:11 <elliott> "Self-hosting Lisp-to-C compiler in 384 lines of Lisp"
13:00:17 <elliott> Wow! A programming language LANGUAGE!
13:00:22 <elliott> ...erm
13:00:26 <elliott> "Mozilla is Designing a New Programming Language Language Called Rust"
13:00:27 <elliott> Wow! A programming language LANGUAGE!
13:00:45 <elliott> Phantom_Hoover: i agree; wait, what no longer officially exists?
13:00:52 <Phantom_Hoover> Dunno.
13:00:54 <oerjan> Phantom_Hoover: i'll get to it right after i kickban you for stalking me on Godel's Letter
13:00:58 <Phantom_Hoover> I don't think it exists.
13:01:09 <elliott> Phantom_Hoover: damn you should have said brainfuck and got oerjan to kickban you
13:01:16 <elliott> oerjan: did he do anything other than post one comment
13:01:17 * oerjan whistles innocently
13:01:34 <oerjan> elliott: no but it was still a bit embarassing
13:01:38 <Phantom_Hoover> elliott, what's that weird word you just said?
13:01:49 <elliott> oerjan: yeah i wouldn't want to be associated with all the morons in here either in good company
13:02:11 <oerjan> *+r
13:02:22 <elliott> oerjan: to be fair, oklofok was considering visiting you. :P
13:03:16 <oerjan> eek
13:03:18 <Phantom_Hoover> oerjan, so wait, what actually happened?
13:03:26 <elliott> oerjan got eaten by a bear.
13:03:39 <elliott> but he got better
13:03:55 <elliott> oerjan: apparently he was going to be perfectly nice right after he forced you to let him in
13:04:08 <elliott> oerjan: you missed a life experience dude, should have stayed off irc for a couple more weeks
13:04:25 <Phantom_Hoover> elliott, they have bears in Norway?
13:04:31 <oerjan> indeed we do
13:04:32 <elliott> Phantom_Hoover: no, that's the interesting thing
13:04:50 <oerjan> the farmers keep complaining about mauled sheep
13:05:11 <Phantom_Hoover> oerjan, you have sheep in Norway?
13:05:12 <oerjan> although the blame for that also includes wolves
13:05:15 <elliott> oerjan: that's just to cover up their unsavoury pastime, isn't it?
13:05:21 <oerjan> elliott: _possibly_
13:05:56 <oerjan> the wolves were relatively recently deliberately reintroduced after having been extinct in norway, iirc
13:06:28 <elliott> oerjan: "you know what his town needs?" "what?" "wolves."
13:08:58 <oerjan> they usually try to keep them out of towns i think. norway _is_ rather sparsely populated compared to most of europe
13:09:10 <elliott> oerjan: if i come to norway will everyone welcome me
13:09:14 <elliott> or run away in fear
13:09:26 <oerjan> ...i didn't know you were a wolf
13:09:40 <elliott> oerjan: i'm not
13:10:16 <oerjan> some farmers are _very_ angry at the wolf project, there have been poachings
13:10:40 <elliott> insert implication that farmers have intercourse with the wolves
13:10:59 <oerjan> so if you were a wolf you should probably stay away
13:11:25 <elliott> oerjan: but i amn't
13:11:44 <oerjan> norwegians are relatively introverted so most will probably ignore you if you don't talk directly to them
13:12:13 <oerjan> talking to strangers on a bus is not generally done, here, for example, unlike some countries
13:12:22 <elliott> oerjan: unlike finland, where they actually have an in-built person sensor that treats other people like anti-gravity
13:12:30 <elliott> *a built-in
13:14:51 <oerjan> i don't know how it is in england, you're still a northwestern european country...
13:15:27 <oerjan> so i'd assume you're not terribly high on the extroversion scale either
13:34:21 -!- wareya has joined.
13:39:30 -!- FireFly|n900 has quit (Ping timeout: 245 seconds).
13:43:38 -!- Quadrescence has quit (Ping timeout: 250 seconds).
13:44:51 -!- oerjan has quit (Quit: Lost terminal).
13:49:24 <elliott> pikhq: So, I solved the fakeroot problem ("you need --prefix=/ for libraries and bad programs and stuff, but then make install won't go into the nice happy temporarily build root").
13:49:41 <elliott> Technically, I solved it by STEALING someone else's solution cunningly, by way of reading a man page.
13:54:21 <elliott> "They could just use the standard ISO code for gender: http://en.wikipedia.org/wiki/ISO_5218" <-- standard is actually the ISO code for sex
13:55:46 <elliott> "Scientifically speaking there are only two possible genders; xx and xy corresponding to male or female." What is it with people who have no idea what the difference between "gender" and "sex" is X_X (and even "chromosomes" in this case, see: intersex)
14:00:18 <elliott> http://three.sentenc.es/ "In which we try and make email as useless as we can"
14:04:40 -!- Quadrescence has joined.
14:04:42 -!- Quadrescence has quit (Changing host).
14:04:43 -!- Quadrescence has joined.
14:05:11 -!- FireFly|n900 has joined.
14:09:00 -!- FireFly has joined.
14:11:06 <Phantom_Hoover> elliott, I assume that the frigid northlands of England are still snowy, then?
14:11:30 <elliott> Phantom_Hoover: Indeed. May the snow never end, for it brings luscious late wakeups and long fruitful days.
14:11:57 <Phantom_Hoover> Playing in the snow is presumably decadent and capitalist?
14:12:46 <elliott> Well, yes, that, but mostly cold.
14:13:06 <elliott> Also less fun than programming.
14:14:10 <Phantom_Hoover> Programming in the snow!
14:15:20 <elliott> brr
14:16:40 <Phantom_Hoover> No, I mean programming with a snowputer.
14:18:39 <elliott> data Term = Name String
14:18:39 <elliott> | Var String
14:18:39 <elliott> | Conj [Term]
14:18:39 <elliott> simp :: Term -> Term
14:18:39 <elliott> simp (Conj [x]) = x
14:18:40 <elliott> simp (Conj xs) = Conj (map simp xs)
14:18:42 <elliott> simp x = x
14:18:47 <elliott> quick, someone make the data-type Term have simp embedded into it
14:18:54 <elliott> I don't feel like calling simp all the time
14:19:39 <elliott> oh, wait, i don't need that
14:23:37 <Phantom_Hoover> What are you writing this time?
14:25:21 <elliott> Phantom_Hoover: Implementing Anemone in Haskell to write a self-interpreter.
14:25:28 <elliott> Phantom_Hoover: (It is already implemented, but the implementation is hideous.)
14:25:36 <Phantom_Hoover> Anemone?
14:26:51 <elliott> Phantom_Hoover: http://esolangs.org/wiki/Anemone
14:26:58 <elliott> Phantom_Hoover: Basically the purest expression of term rewriting.
14:29:24 <Phantom_Hoover> Incidentally, in such a language could you write a program for any arbitrary syntax?
14:29:38 <elliott> Phantom_Hoover: Umm, not really.
14:29:40 <elliott> Phantom_Hoover: Well, sort of...
14:29:50 <elliott> Phantom_Hoover: But not in the way you're thinking of. Try Thue. :p
14:30:21 <elliott> Constant Variable LAMBDA-PARAMETERS-LIMIT
14:30:22 <elliott> Constant Value:
14:30:22 <elliott> implementation-dependent, but not smaller than 50.
14:30:22 <elliott> Description:
14:30:22 <elliott> A positive integer that is the upper exclusive bound on the number of parameter names that can appear in a single lambda list.
14:30:23 <elliott> --CLHS
14:30:27 <Phantom_Hoover> Ah, yes.
14:30:41 <Phantom_Hoover> elliott, what's that about?
14:30:52 <elliott> Phantom_Hoover: Of course with Thue your "syntax" has to be hideous because all you can do is replace constant strings with constant strings.
14:30:57 <elliott> Phantom_Hoover: Also, define that.
14:31:04 <Phantom_Hoover> The CLHS thing.
14:31:08 <Phantom_Hoover> Why did you mention it?
14:31:13 <elliott> Phantom_Hoover: I am not sure.
14:38:03 <Phantom_Hoover> I still have this yearning to prove something meaningful in Coq...
14:39:22 <elliott> Phantom_Hoover: specificity :: VTerm -> CTerm -> Maybe Integer
14:39:23 <elliott> oh lawd.
14:39:40 <Phantom_Hoover> What are VTerms and CTerms?
14:39:52 <elliott> Phantom_Hoover: Do some nice purely-functional data structure in it and prove your operations correct, then extract them to Haskell, write a small wrapper library around them in Haskell to make the interface slightly more Haskelly, and put it on Hackage.
14:39:55 <elliott> Instant prophet.
14:40:07 <elliott> VTerms are terms that can have placeholders in them, like Foo and Bar. CTerms can't.
14:40:36 <elliott> VTerms are the left hand side of rules, basically.
14:41:35 <Phantom_Hoover> Wait, it's St. Andrew's Day now?
14:41:37 <Phantom_Hoover> Since when?
14:41:44 <Phantom_Hoover> I thought it was in January!
14:45:40 <elliott> Phantom_Hoover: Wanna extend my function to have an extra result?!?!
14:45:56 <elliott> specificityAndBindings :: VTerm -> CTerm -> Maybe (Integer, [Rule])
14:45:57 <elliott> Oh yeah, baby.
14:52:14 <oklofok> "<Goosey> then lets see what happens :D" <<< remember to share all the details
14:52:29 <oklofok> you can do it in pm if you don't want all the nosy people on this channel to know
14:52:58 <elliott> *Main Data.Maybe> idR
14:52:58 <elliott> id X = X
14:52:58 <elliott> *Main Data.Maybe> foo
14:52:58 <elliott> id (id x)
14:52:58 <elliott> *Main Data.Maybe> sab (lhs idR) foo
14:52:59 <elliott> Just (2,[X = id x])
14:53:01 <elliott> score
14:53:06 <elliott> oklofok: wut
14:56:35 <Phantom_Hoover> haskell.org is down.
14:56:37 <Phantom_Hoover> what
15:02:39 -!- sftp has joined.
15:07:26 <oklofok> elliott: if i want to reference multiple lines, i usually just take the last one if there's no good representative, and the lines are too long for copying all of them
15:07:55 <elliott> oklofok: we need a way to refer to lines without including them, and then we can set up all our clients to turn them into links to the logs
15:08:54 <oklofok> yes, that would be a nice feature, although preferably it wouldn't just be a link, but just a handle to the object representing that point of the logs; then you could just use the standard object viewer to look at what's being referenced
15:09:17 <oklofok> did i mention there's an os around this feature
15:09:55 <elliott> I propose >>[days:]lineno[-lineno]{"," lineno[-lineno]}, where if omitted, the days part is "0:"; daysago is either a negative number e.g. "-3" meaning "N days ago" i.e. 3 days ago there, or a date in the "YY.MM.DD" syntax clog uses; lineno is the line number of the first message referenced, and the second lineno is the last message referenced; only one line is referenced if this is omitted
15:09:58 <Phantom_Hoover> elliott, while we're at it we should at LaTeX renderers to all of our clients.
15:10:00 <elliott> multiple ranges can be separated by ,
15:10:01 <elliott> therefore
15:10:06 <oklofok> \o/ i can finally officially "apply" for a bachelor's degree! fucking paperwork
15:10:06 <myndzi> |
15:10:06 <myndzi> |\
15:10:34 <elliott> >>-3:13-42,192-197 references the lines 13 42 and lines 192 to 197 (inclusive) in the clog log three days behind the current log
15:10:44 <elliott> the current log is 10.11.30, therefore it references 10.11.27
15:11:01 <elliott> the client just has to link each range separately, and go to a page which has the lines in question highlighted
15:11:04 -!- Sasha2 has joined.
15:11:11 <elliott> <oklofok> yes, that would be a nice feature, although preferably it wouldn't just be a link, but just a handle to the object representing that point of the logs; then you could just use the standard object viewer to look at what's being referenced
15:11:12 <elliott> <oklofok> did i mention there's an os around this feature
15:11:15 <elliott> oklofok: is it called oklOS
15:11:27 <oklofok> yes
15:11:38 <elliott> oklofok: funny, 'cuz it looks like elliottos too :P
15:11:43 <elliott> i guess i just steal your ideas constantly huh
15:12:16 -!- Sasha has quit (Ping timeout: 240 seconds).
15:13:03 <elliott> bestsab :: [Rule] -> CTerm -> (CTerm, [Rule])
15:13:03 <elliott> bestsab rs t =
15:13:03 <elliott> (\(_,bs,x) -> (x, bs)) .
15:13:03 <elliott> maximumBy (\(i,_,_) (j,_,_) -> compare i j) .
15:13:03 <elliott> catMaybes .
15:13:04 <elliott> map (\r -> sab (lhs r) t >>= \(i,bs) -> Just (i,bs,rhs r)) $ rs
15:13:07 <elliott> TODO: make this function not hideously ugly
15:14:00 <oklofok> elliott: well were the people who wrote the bible stealing?
15:14:10 <elliott> oklofok: stealing my heart, yes
15:14:14 <oklofok> :D
15:14:30 <fizzie> elliott: Are you related to this "Elliott Associates" who financed Attachmate's buyout of Novell? Is this a hint of conspiraracy I smell?
15:14:30 * elliott sniffs
15:14:32 <elliott> it's not funny!
15:14:36 <elliott> fizzie: Yes; I am also Conal Elliott.
15:14:43 <elliott> fizzie: Also, you.
15:14:52 <elliott> In fact, I am everyone in #esoteric apart from oklofok, and I'm working on that one.
15:14:55 <elliott> (I am oklopol, however.)
15:15:02 <fizzie> I just saw the two t's, you see.
15:15:31 <elliott> one day i'll be rich and famous and you guys will be going on about my Ts and I'll kill you all to death
15:15:34 <elliott> then what bitches THEN WHAT
15:16:12 <elliott> so does anyone want to hear about how i solved a very boring problem
15:16:25 <oklofok> butt elliott: ttoillet tub
15:16:37 <oklofok> i solved two interesting problems today
15:16:39 -!- MigoMipo has joined.
15:16:42 <elliott> oklofok: *ellio turd
15:16:51 <oklofok> but you wouldn't understand the problem statement
15:17:01 <elliott> is that addressed to everyone or just me specifically :D
15:17:05 <fizzie> Incidentally, I heard a rumour that some researcher that-a-way <-- had done some experiments on unsupervised IRC conversation topic disentanglements; i.e. you take a pile of chatlogs and it separates overlapping conversations. (Probably not very well.)
15:17:18 <oklofok> maybe i shouldn't say *i* solved them, it was a joint effort, i just talk a lot
15:17:42 <oklofok> elliott: i think mostly you
15:17:48 <elliott> oklofok: i hate you <3
15:18:00 -!- Sasha has joined.
15:18:04 <oklofok> even oerjan couldn't understand the problem statement as it is stated
15:18:17 <elliott> fizzie: dude i said we needed like, a client that did that!
15:18:23 <oklofok> but if i define the concepts, not really that complicated
15:18:31 <fizzie> Oh, I didn't notice you said that.
15:18:32 <elliott> fizzie: except it was more manual and probably a pain to use because i don't believe an algo could do that very well without strong ai :P
15:18:36 -!- Sasha2 has quit (Read error: Connection reset by peer).
15:19:06 <fizzie> I think it was mostly topic-keywordy sort of thing, so it probably wouldn't indeed do very well.
15:19:27 <oklofok> a maximal family of pairwise orthogonal latin squares exists iff a (n^2, n, 1) design exists iff a (n^2 + n + 1, n + 1, 1) design exists
15:19:45 <oklofok> *squares of size nxn
15:19:51 <fizzie> This was Long Ago(tm) -- like, a year -- it just came up in the context of speech separation (of overlapping audio signals with multiple speakers), which is somewhat more feasible.
15:20:46 <elliott> oklofok: you're a latin square
15:20:47 <elliott> haha
15:22:21 <oklofok> no i'm not
15:22:30 <elliott> oklofok: you are bitches
15:22:56 <oklofok> anyway that problem is a lot of fun, i can define the concepts if anyone wants to try it
15:23:31 <elliott> pikhq: i am so tempted to get rid of dependencies entirely :D
15:23:32 <elliott> maybe not
15:24:50 <oklofok> an (v, k, l) design is: (S, (B_i)), where |S| = v, |B_i| = k, and for every x != y \in S, {x, y} \subset B_i for exactly l different B_i
15:25:35 <oklofok> latin square = sudoku grid except you don't look at the 3x3 squares
15:25:44 <oklofok> so every row has one copy of each number
15:25:48 <oklofok> and same for columns
15:25:58 -!- Sasha2 has joined.
15:27:02 <oklofok> two latin squares L_1 and L_2 are orthogonal, if for every (x, y) \in A^2, where A are the numbers used to fill the squares, there is exactly one (i, j) such that L_1[i, j] = x, L_2[i, j] = y
15:27:17 -!- Sasha has quit (Read error: Connection reset by peer).
15:27:28 <oklofok> (afaik this is not orthogonality w.r.t. any dot product)
15:27:41 <oklofok> (i don't even know how to make lats a vector space)
15:29:07 <oklofok> anyway also you need to know this, not that hard to prove: a (n^2, n, 1) design is always "resolvable", that is, you can partition the set ofe B_i into "parallel classes" D_j such that the union of D_j is S and all B_i \in D_j are disjoint
15:30:14 <oklofok> so for instance that classic problem of having teams and having each one compete with one other team each day, and just once a day etc, is the problem of "finding a resolvable (n, 2, 1) design"
15:30:33 <oklofok> although obviously there's a unique (n, 2, 1) design, so basically you just need to show those are always resolvable
15:30:49 <oklofok> or are they always? hmm
15:32:08 <oklofok> if n is even then it's possible
15:32:11 <oklofok> otherwise obviously not
15:32:23 <oklofok> because you can't make a parallel class
15:32:26 -!- atrapado has joined.
15:32:49 <oklofok> *set of
15:36:10 <elliott> <Jafet> elliott: (snd *** snd.fst) . maximumBy (compare `on` fst `on` fst) . catMaybes . map (ap ((>>=) . flip sab t . lhs) ((Just .) . flip (,) . rhs) $ rs
15:38:40 <elliott> pikhq: :( busybox lacks a useful feature
15:39:21 <pikhq> :(
15:40:00 <pikhq> Which feature?
15:41:29 <elliott> pikhq: GNU tar lets you do "--numeric-owner --owner=root --group=root" to produce a tarball, as an unprivileged user, that has all its files owned by root.
15:41:35 <elliott> pikhq: This is, of course, very useful when creating packages.
15:41:43 <elliott> pikhq: busybox tar is considerably cleaner, and does not have this at all.
15:41:56 <elliott> pikhq: The alternative is chmodding everything to 0:0 beforehand, which, of course, requires you to be root.
15:42:24 <pikhq> Ah, right. That's a genuinely useful feature of GNU tar.
15:42:44 <elliott> pikhq: [[Note that zsync only (currently) supports single-file downloads. I am currently of the opinion that this is sufficient: it is a file distribution method, and, like .tar.gz, it is up to the downloader to worry about extraction, permisions, etc. zsync is not competing with rsync for synchronising directory trees between machines and over shell accounts.]]
15:42:46 <elliott> pikhq: Bah.
15:42:52 <pikhq> Unlike, say, its ability to handle tarballs split across multiple discs/tapes.
15:42:57 <elliott> I USE THAT ALL THE TIME DUDE :P
15:43:10 <pikhq> (this *would* actually be useful if it WORKED)
15:43:34 <pikhq> (not very, but hey. It would at least have valid hysterical raisins.)
15:43:43 <elliott> pikhq: In other news, I solved the fakeroot problem ("I need to compile this package with --prefix=/, because of libraries and bad programs and stuff which change compilation result depending on the prefix. However, I can't install to /, because I have to install to a temporary build root to slurp all the files into a package.").
15:43:49 <pikhq> How?
15:43:51 <elliott> pikhq: By "solved" I mean "stole a solution of".
15:43:53 <elliott> pikhq: Simple!
15:44:03 <elliott> pikhq: ./configure --prefix=/ && make && make install prefix=/temporary/build/root
15:44:24 <pikhq> Yeah, works perfectly well for well-behaved packages.
15:44:35 <elliott> Credits due to Bennett Todd, author of bpm and maintainer of Bent Linux, whose bpmbuild(1) man page includes the following:
15:44:37 <elliott> build \
15:44:37 <elliott> tar xzvf bash-2.05b.tar.gz && cd bash-2.05b &&
15:44:37 <elliott> ./configure --enable-static-link --prefix=/usr --with-curses &&
15:44:37 <elliott> make && make prefix=$BPM_ROOT/usr install
15:44:46 <pikhq> The existence of non-well-behaved packages fucks things up, though.
15:44:56 <elliott> pikhq: Yeah, well, fuck them :P
15:45:12 <pikhq> (this is, believe it or not, one of the things preventing GNU System from having even an alpha release)
15:45:12 <oklofok> so erm S = {0, ..., n-2, :D}, and D_i (i = 1, ..., n - 1) is just {x, i - x} for all x except if x = i-x then have the pair {x, :D} for the special element :D, then D_i is a parallel class for all i, and {x, y} \in D_i \cap D_j => well clearly i = j
15:45:34 <pikhq> (though they're crazy folks who insist on GNU software, which isn't all well-behaved. So.)
15:45:35 <elliott> oklofok: :D
15:45:39 <oklofok> so yeah they are always resolvable
15:45:52 <elliott> pikhq: "GNU System"?
15:46:02 <oklofok> by clearly.
15:46:04 <elliott> pikhq: is that like, HURD + gnu coreutils + gnu inetutils + ...?
15:46:11 <elliott> and is that an actual project?
15:46:23 <elliott> pikhq: I mean, HURD's official OS is Debian.
15:46:36 <pikhq> elliott: An actual project by a handful of people to get a GNU OS working.
15:46:41 <pikhq> elliott: Maintainer is ams.
15:46:48 <elliott> pikhq: oh, sounds lovely. got any links?
15:47:17 <pikhq> http://www.gnu.org/software/packaging/
15:47:25 <elliott> pikhq: also, doesn't Debian GNU/Hurd with a custom package set constitute a GNU System?
15:47:54 <pikhq> elliott: Meh, who cares.
15:47:57 <pikhq> rms doesn't.
15:48:20 <elliott> pikhq: yes, but their project is stillborn!
15:48:22 <elliott> it already exists! sorta
15:48:53 <elliott> pikhq: anyway ams is the worst person ever.
15:49:00 <pikhq> Debian GNU/Hurd at least works. I wasn't able to build elinks on the last GNU System snapshot...
15:49:17 <elliott> elinks isn;t a gnu project its fucking EIVL!L!P!!
15:49:29 <elliott> is it even gpl?
15:49:46 <pikhq> elliott: The worst part is, he is reasonably skilled. He just should not ever be allowed to talk to anyone other than a project maintainer with thick skin...
15:49:49 <pikhq> It is GPL.
15:50:00 <elliott> pikhq: Don't say that, I count as a project maintainer. Sorta.
15:50:04 <oklofok> now that i have your undivided attention, let's prove that (n^2, n, 1) designs are resolvable: consider an arbitrary B_i, and x \not\in B_i, then for each y \in B_i there's a unique B_j that contains {x, y}, and for y, z \in B_i these are different. so there are exactly n B_j containing x obtained like this, and n+1 altogether (by a simple calculation), so in fact we can define B_i ~ B_j iff B_i = B_j, or B_i \cap B_j = \empty, and tur
15:50:16 <elliott> pikhq: who does the superunprivileged livecd?
15:50:19 <pikhq> elliott: Regarding the project in question, of course.
15:50:23 <pikhq> Uh, I don't know.
15:50:33 <oklofok> so by taking the equivalence classes, we actually get parallel classes
15:50:48 <elliott> pikhq: Yeah, but I am uninterested in anything ams has to say about my program, even if it's a bug report :P
15:51:01 -!- Wamanuz has quit (Ping timeout: 245 seconds).
15:51:10 <elliott> pikhq: he actually told #nixos they should become a gnu project by stopping advertising proprietary software (i.e. having nixpkgs for things)
15:51:19 <elliott> everyone just lol'd at him and he brought out the /ignore
15:51:43 <elliott> pikhq: when someone said "sure that'd be cool, only for hosting :P" in reply to ftp.gnu.org, he went on about how it should be about RESPECTING YOUR USERS
15:51:52 <elliott> pikhq: by pretending proprietary software doesn't exist and refusing to help the user use it!
15:51:59 <elliott> Condescending control is RESPECT.
15:52:07 <elliott> oklofok: i'm totally paying attention*
15:52:08 <elliott> *lies
15:52:11 <pikhq> I'm one of the few people that he's managed to have a long conversation with online...
15:52:27 <pikhq> The man is such an amazing zealot.
15:52:53 <oklofok> why is it an equivalence relation? glad i asked, the reason for transitivity is: let B_i \cap B_j empty, B_j \cap B_k empty (this is the only nontrivial part), then if B_i \cap B_k is nonempty, but B_i != B_k, then any x \in B_i \cap B_k contradicts the property we proved earlier, since x \not\in B_j and therefore a unique B_m contains x but doesn't intersect B_j
15:53:14 <oklofok> i don't really care if anyone's listening, i just enjoy flooding
15:53:23 <pikhq> (the trick, BTW, is to admit that proprietary software is FUNDAMENTALLY HORRIFYING, and you really truly dislike the PAIN AND AGONY of using it.)
15:53:32 <elliott> pikhq: what on earth did you talk about?
15:53:34 <oklofok> none of this actually makes sense
15:53:41 <pikhq> elliott: At the time, I gave a shit about Hurd.
15:53:48 <elliott> pikhq: ...why, and how long ago was this
15:53:53 <elliott> and can i go back and murder you at that point
15:53:53 <pikhq> elliott: Few years ago.
15:53:56 -!- Sasha has joined.
15:53:57 <pikhq> elliott: I was curious.
15:54:15 <elliott> pikhq: if you were curious about the composition of feces would you engage in a conversation with it? :D
15:54:28 <pikhq> elliott: At this time, I still believed that GNU wrote absolutely wonderful software.
15:54:54 <pikhq> Now, I just get depressed at how GNU's software is often better than their competition.
15:55:09 <elliott> pikhq: Was this around the time when you told me about how wonderful autotools were and I was a horrible person for writing a one-line makefile because it didn't use $(CC) and $(CFLAGS)?
15:55:12 <elliott> I believe it went something like
15:55:13 <elliott> foo: foo.c
15:55:17 <pikhq> elliott: No.
15:55:22 <elliott> cc -O2 $< -o $@
15:55:28 <oklofok> Hurd sounds a bit like Hird
15:55:31 <elliott> which apparently was an affront against portability :P
15:55:37 <pikhq> elliott: It is.
15:55:48 -!- Sasha2 has quit (Ping timeout: 250 seconds).
15:55:51 <pikhq> elliott: Make it this: "foo: foo.c"
15:55:51 <elliott> pikhq: because you'd have to run the command manually if your cc doesn't do -O2?
15:56:03 <elliott> no, make's implicit rules have ugly extra spaces in their output
15:56:07 <elliott> and i'd have to set CFLAGS anyway ;P
15:56:08 <elliott> *:P
15:56:22 <pikhq> Let the builder set the CFLAGS.
15:56:27 <oklofok> can Hird herd Hurd
15:56:46 <elliott> oklofok: yes
15:56:57 <elliott> pikhq: no, because as a distro maintainer i don't feel like figuring out good cflags for every package
15:57:09 <oklofok> it's like there's an oklo channel and another channel you ppl are on, and occasionally we exchange pleasantries briefly
15:57:19 <elliott> pikhq: (OTOH i do want to force -Os in my distro but i'll figure that out later)
15:57:21 <elliott> oklofok: it's great!
15:57:23 <pikhq> elliott: That's why you choose a sane default.
15:57:24 <oklofok> reference each other's stuff without actually even trying to understand what it's about
15:57:36 <oklofok> elliott: yes :D
15:57:39 <elliott> pikhq: cfunge existing is a pretty convincing argument against letting people set CFLAGS :P
15:57:57 <pikhq> elliott: And if the package really could use a specific feature it should *append* the flag for that feature to its CFLAGS.
15:58:22 <pikhq> elliott: This behavior, incidentally, is what Gentoo damned well relies on.
15:59:07 <elliott> pikhq: really? 'cuz every package ever breaks it
15:59:35 <pikhq> Small handful of them actually break it, and Gentoo submits patches upstream to fix that.
16:00:09 -!- Sasha2 has joined.
16:00:17 <pikhq> (just about everything using autotools or cmake already handles it)
16:01:17 <elliott> pikhq: Actually, "CFLAGS='foo' ./configure" not replacing CFLAGS PISSES ME OFF.
16:01:33 <pikhq> Okay, yeah, configure is still retarded about it.
16:01:48 <pikhq> But only sometimes.
16:01:56 -!- Sasha has quit (Read error: Connection reset by peer).
16:01:59 <elliott> pikhq: Yet that is what Gentoo relies on!
16:01:59 <pikhq> (the rest of the time, it replaces the CFLAGS *and* sets that in the makefile)
16:02:01 <elliott> Thankfully I hate Gentoo.
16:02:22 -!- nopseudoidea has joined.
16:03:03 <elliott> pikhq: so um inferior-haskell has an INSANELY USEFUL FEATURE i have NEVER noticed before
16:03:12 <elliott> pikhq: get an error sometime, then middle-click the filename in the error
16:03:16 <elliott> watch the file buffer highlight the invalid expression
16:03:17 <elliott> swoon
16:05:55 <Phantom_Hoover> elliott, what does cfunge do with CFLAGS?
16:07:08 <elliott> Phantom_Hoover: Horribly long things.
16:07:20 <Phantom_Hoover> ...Why?
16:07:33 <elliott> Phantom_Hoover: We're talking -O3 -funsafe-math -fomit-function-pointer -funroll-loops -fadvanced-maths -fcrazy-maths -fyour-mother-and-a-horse -fit-never-happened -flanguid-squids ...
16:07:57 <elliott> Phantom_Hoover: And because Vorpal thinks that writing a Befunge-98 implementation that focuses on crazy and mostly pointless micro-optimisation instead of useful macro-optimisation constitutes "esoteric".
16:08:13 <nopseudoidea> Hi, I'm new and I'd like to learn LOLCODE, is there any good tutorial ?
16:08:22 <Phantom_Hoover> nopseudoidea, LOLCODE is the suck.
16:08:47 <nopseudoidea> Just for fun.
16:08:55 <Phantom_Hoover> It cannot be called esoteric in even the vaguest sense of the word.
16:09:07 <nopseudoidea> Oh, ok.
16:09:12 <Phantom_Hoover> It's just a bland scripting language with stupid syntax.
16:09:12 -!- Sasha2 has quit (Read error: Connection reset by peer).
16:09:16 <elliott> haha the RAGE
16:09:25 <elliott> nopseudoidea: you don't want to learn lolcode, learn Underload!
16:09:58 <nopseudoidea> elliott: Thanks, I'll see that
16:12:06 -!- yourpseudo has joined.
16:12:12 -!- yourpseudo has quit (Client Quit).
16:13:13 -!- wareya has quit (Read error: Connection reset by peer).
16:13:55 -!- wareya has joined.
16:18:00 -!- augur has quit (Remote host closed the connection).
16:23:49 -!- oerjan has joined.
16:26:32 <oklofok> hello oerjan, did you read my log ramblings?
16:26:41 <oerjan> er not really
16:26:47 <oklofok> they were a bit more specific than usually
16:27:04 <elliott> bestsab rs t =
16:27:04 <elliott> second snd .
16:27:04 <elliott> maximumBy (compare `on` fst `on` snd) .
16:27:04 <elliott> catMaybes .
16:27:04 <elliott> map (\(Rule lhs rhs) -> (rhs,) `fmap` sab lhs t) $ rs
16:27:05 <elliott> much better!
16:28:19 <oerjan> ... if you swap the arguments and drop rs you don't need the $ rs at the end
16:29:03 <elliott> oerjan: oh, indeed
16:29:08 <elliott> :P
16:29:19 <oklofok> what's sab
16:29:24 <elliott> Hey, if I match on VTerms too I can do SPECIALISATION
16:29:28 <elliott> oklofok:sab :: VTerm -> CTerm -> Maybe (Integer, [Rule])
16:29:29 <elliott> sab (VT (Name s)) (CT (Name t))
16:29:29 <elliott> | s == t = Just (1, [])
16:29:29 <elliott> | otherwise = Nothing
16:29:29 <elliott> sab (VT (App a b)) (CT (App c d)) =
16:29:29 <elliott> do (ac, bs1) <- sab a c
16:29:31 <elliott> (bd, bs2) <- sab b d
16:29:33 <elliott> return (1 + ac + bd, bs1 ++ bs2)
16:29:35 <elliott> sab (Var s) x = Just (0, [Rule (name s) x])
16:29:37 <elliott> oklofok: *oklofok: sab
16:29:39 <elliott> oklofok: sab = specificity and bindings
16:29:44 <elliott> specificity = "how closely does this pattern match this expression"
16:29:49 <elliott> (we rewrite according to the most specific match)
16:29:51 <oklofok> okay
16:29:55 <elliott> bindings = variable bindings caused by placeholders in the pattern
16:30:10 <elliott> hey, if I do all this on VTerms too I can do specialisation :)
16:30:36 <elliott> oh dear, my thing fails on an empty list
16:31:12 <oerjan> a trivial error!
16:32:20 <oerjan> <oklofok> reference each other's stuff without actually even trying to understand what it's about
16:32:27 <oerjan> wait are you on to me or something?
16:32:36 <oklofok> yeah you do that too
16:33:49 <oklofok> but i tend not to make jokes, i just... say something for the heck of it
16:34:37 <oerjan> just to heckle
16:39:44 <Vorpal> elliott, there?
16:39:51 <elliott> Vorpal: no
16:40:08 <oerjan> no, somewhere _completely_ different
16:40:11 <Vorpal> elliott, I thought about orthogonal persistence and I have a question.
16:40:30 <elliott> Vorpal: uh oh. uh, i mean, go on./
16:41:45 <Vorpal> elliott, assume for the discussion that the operating system with orthogonal persistence isn't completely bug free. This is probably a reasonable assumption. Further assume that there is a bug that in some way locks the computer up or crashes it, say a logic error in the code to talk to some hardware causing a system freeze.
16:41:58 <elliott> go on
16:42:33 <Vorpal> elliott, then a normal system can just be rebooted basically (some file system cleanup needed, journaling helps there). But wouldn't orthogonal persistence bring you back to the state just before the crash? Which might cause it to trigger again
16:43:03 <Vorpal> making recovery from it somewhat harder.
16:43:34 <Vorpal> elliott, how do you deal with such a situation?
16:43:49 <elliott> Vorpal: Sure, that's a possibility. In that case you'd either want to boot it in such a way that it kills whatever's about to make it crash before anything else, or tell a versioned system to roll back to whatever ago.
16:43:53 <elliott> There are various ways one would solve it.
16:44:11 <Vorpal> indeed there are ways to solve it, which method would you plan
16:44:16 <Vorpal> to use
16:44:17 <Vorpal> that is
16:44:27 <elliott> Vorpal: i dunno, i'd have to see. :p
16:44:38 <elliott> if i knew how to do it all, it'd be done a lot quicker.
16:45:46 <oklofok> '
16:45:47 <Vorpal> elliott, the ability to clean out a fucked up state by rebooting is after all a strength of the current paradigm. And even if you can ensure the software is bug free, the hardware might not be
16:45:51 <elliott> Vorpal: But hey, if we're talking about crash recovery, then anything that doesn't involve a deterministic system crash -- losing power, hardware glitch, etc. -- is instantly recovered to a very recent state, UNLIKE existing systems :P
16:45:52 <oklofok> whoopsies
16:45:54 <elliott> So I get points!
16:46:04 <Vorpal> elliott, that is a good point yes
16:46:36 <elliott> Vorpal: Really though, when an OS gets mature enough, bugs that cause a deterministic crash without strange configuration become especially rare. Especially if your kernel is a lot simpler than, say, Linux.
16:46:43 <Vorpal> elliott, but I think I had more crashes linked to software than I had due to power failures or hardware errors.
16:46:49 <elliott> (When was the last system-crashing bug in Mach found? Typical implementations of L4?)
16:46:50 <Vorpal> very often graphics drivers.
16:47:03 <elliott> Hell, there's a formally verified implementation of L4.
16:47:57 <Vorpal> elliott, anyway you still need to do boot in some sense. Bringing network up, asking for IP over dhcp and so on
16:48:34 <elliott> sure, and?
16:48:37 <Vorpal> hm how will you deal with networking there. That you can't persist as easily
16:48:41 <elliott> Vorpal: technically that isn't booting at all...
16:48:53 <Vorpal> elliott, well, you would also be setting video mode and so on
16:49:03 <elliott> that's just the network controller noticing that the network is down and that it's set to keep the network connected
16:49:06 <elliott> it would, therefore, connect it
16:49:11 <Vorpal> true
16:49:42 <Phantom_Hoover> elliott, what about the stage where things are loaded into RAM?
16:49:58 -!- augur has joined.
16:50:07 <elliott> Phantom_Hoover: that's part of the low-level code and can be as dirty and impure as it likes
16:50:31 <elliott> Vorpal: also note that most kernels and drivers are written in C which is a colossally unreliable language :)
16:50:38 <Vorpal> elliott, in any case, you need to initialise hardware. Set up video modes, DMA mappings, load things into RAM, lots of things like that.
16:50:44 <Vorpal> elliott, yes very true
16:50:54 <elliott> Vorpal: whereas everything's in a pure functional language here, and there's strong separation of privileges, so one bad driver is unlikely to be able to take the system down
16:51:05 <elliott> it's just the very low-level OS code and the compiler you have to trust, both written in x86-64 assembly
16:51:25 <Phantom_Hoover> elliott, well, you can actually rely on C itself.
16:51:36 <elliott> Phantom_Hoover: well, you can rely on any language
16:51:38 <Phantom_Hoover> What you can't rely on is that the programmer will have been sane with it.
16:51:47 <elliott> by "rely on [language]" I of course mean "you can't rely on a typical program in [language]"
16:51:52 <elliott> in C, s/typical/almost any/
16:52:18 <Vorpal> elliott, also what about hardware changes. How would you deal with that?
16:52:30 <Phantom_Hoover> i.e. "you can't rely on almost anyone to write a decent program in C".
16:52:30 <elliott> Vorpal: what do you mean, how would I handle it?
16:52:56 <Phantom_Hoover> elliott, you change {graphics card, sound card, network magic, whatever}
16:52:57 <Vorpal> as in, shut down, replace some component, boot up. Something that would change stuff. Such as replacing the monitor with a smaller one. Or replacing the GPU with a completely different one
16:53:50 <Vorpal> bbl phone
16:54:00 <elliott> Vorpal: The system will notice -- as it would if you hotplugged a device when the computer is running -- that the hardware configuration state has changed, and act accordingly.
16:54:10 <elliott> For instance, it will likely unload the existing graphics driver and load a more appropriate one.
16:54:26 <elliott> Presumably the hardware configuration state monitor and act-upon-er would be configurable.
16:54:38 <elliott> (Plugging in a USB stick would cause it to notice and act on it, too.)
16:55:28 <Phantom_Hoover> elliott, would you be able to make a USB stick orthogonal persistable too?
16:55:57 <elliott> Phantom_Hoover: Um, maybe. You'd have to tell it what objects you want to persist to it.
16:56:09 <Phantom_Hoover> i.e. you make a namespace corresponding to the device, then anything within that namespace is persisted to it rather than the main hard drive.
16:56:22 <elliott> BTW, I think I might do versioning simply by having everything be immutable; therefore, when you copy a value but change some part of it, that new value gets copied too. :P
16:56:27 <elliott> (Except OPTOMIZED.)
16:58:14 <Phantom_Hoover> elliott, are you dead set on making this impossible to implement without kidnapping everyone with an IQ of more than 100 and setting them to work on it?
16:58:27 <Phantom_Hoover> And getting the rest of the population to support that half?
16:58:32 <Vorpal> back
16:58:39 <elliott> Phantom_Hoover: none of this is difficult really
16:58:40 <Vorpal> elliott, right
16:58:43 <elliott> it's mostly working around x86-64 being stupid
16:58:56 <Vorpal> elliott, does that mean you support hot-plugged CPUs too?
16:59:01 <elliott> Phantom_Hoover: The most difficult thing is the language at this point.
16:59:04 <elliott> Specialiser, etc.
16:59:08 <oerjan> Phantom_Hoover: i don't you'd want anyone below 130 touching this ;D
16:59:12 <oerjan> *don't think
16:59:28 <elliott> Vorpal: Well, obviously you couldn't *actually* hot-plug the graphics card; it's just that it'd be treated as *if* it was hotplugged, because that's what the system sees.
16:59:41 <elliott> Hotplugged CPUs would probably require support at the lower level -- scheduler, etc.
16:59:55 <Vorpal> elliott, there are systems that support hot plugging CPU and PCI
17:00:12 <elliott> Vorpal: i know
17:00:18 <elliott> i'm not overly concerned with implementing them :)
17:01:01 <Vorpal> elliott, indeed. those capabilities are not very common
17:01:12 <Vorpal> elliott, hot plugging SATA is more likely to be supported
17:01:14 <Vorpal> than those
17:01:18 <Vorpal> and even that is rare
17:01:34 <elliott> Vorpal: that would probably work if you did it to things you're not persisting to
17:01:41 <elliott> since the low-level code doesn't need to know about such drives
17:01:45 <Vorpal> (even though iirc all SATA should in theory be hot-pluggable, but manufactures prefer cutting costs than following standards)
17:01:56 <elliott> of course, you'd still have to add code to listen to the "hey, SATA changed!" events.
17:02:00 <elliott> or just rescan manually or something :)
17:02:17 <elliott> <oerjan> Phantom_Hoover: i don't you'd want anyone below 130 touching this ;D
17:02:17 <elliott> <oerjan> *don't think
17:02:33 <elliott> oerjan: I either thank you for your compliment or shake my fists at you for not wanting me to try and implement it :)
17:02:49 <Vorpal> elliott, your IQ being?
17:03:01 <oerjan> elliott: why can't it be both? :D
17:03:21 <elliott> oerjan: *or shake my fists at you for not wanting me to try and implement it on account of my below-130 IQ :)
17:03:28 <oerjan> ah.
17:03:28 <Vorpal> ah
17:03:33 <Vorpal> elliott, relative what year?
17:03:51 <elliott> Vorpal: how the heck should I know, tests are ridiculously unreliable and moreso for people with more than slightly above-average which I am *fairly* sure I do not come off as sounding egotistical by saying I am.
17:03:56 <Vorpal> indeed
17:03:58 <elliott> (re: your IQ being?)
17:04:07 <elliott> *above-average intelligence
17:04:54 <elliott> hmph this code needs prettifying the shit out of it
17:04:56 <elliott> (technical term)
17:04:57 <Vorpal> elliott, btw ultimate answer to a question along the lines of "so you think you are better than me?": "My modesty prevent me from confirming it, but my honesty prevent me from denying it"
17:05:09 <elliott> Vorpal: I prefer "Yes."
17:05:14 <Vorpal> elliott, :P
17:05:42 <oklofok> i did the iq test on mensa's page, every question was trivial and apparently the test only measures up to like 16X
17:08:49 <elliott> oerjan:
17:08:49 <elliott> case catMaybes . map (\(Rule lhs rhs) -> (rhs,) `fmap` sab lhs t) $ rs of
17:08:50 <elliott> [] -> Nothing
17:08:50 <elliott> rws -> second snd . maximumBy (compare `on` fst `on` snd) $ rws
17:08:52 <elliott> oerjan: why type error
17:08:55 <elliott> Couldn't match expected type `Maybe (CTerm, [Rule])'
17:08:55 <elliott> against inferred type `(CTerm, [Rule])'
17:08:55 <elliott> In the expression:
17:08:55 <elliott> second snd . maximumBy (compare `on` fst `on` snd) $ rws
17:09:01 <elliott> oerjan is my ghc-explain(1)
17:09:30 -!- Wamanuz has joined.
17:10:12 <oerjan> in any case i picked 130 sort of out of thin air, it's just i doubt any regulars here are anywhere near as low as 100
17:11:29 <elliott> oerjan: of course IQ doesn't exactly denote intelligence...
17:11:37 <Phantom_Hoover> oerjan, I meant everyone in the world, not just here.
17:11:47 <Phantom_Hoover> This is a pathetic development team for @.
17:11:50 <oerjan> elliott: second whatever always returns a tuple, not a Maybe?
17:12:02 <oerjan> well unless you use a different Arrow
17:12:09 <elliott> oerjan: OH DUH YES I need Just $
17:12:09 <elliott> thx
17:12:12 <elliott> well Just .
17:12:24 <elliott> oerjan: wanna rewrite that function to not be hideous? :P
17:13:16 -!- nooga has joined.
17:13:19 <nooga> ho ho ho
17:13:28 <elliott> oh oh oh
17:13:38 <oerjan> nooga is secretly santa
17:13:47 <oklofok> that's not very secret of him
17:13:54 <elliott> and that's two swaps away from satan!
17:13:58 <oerjan> well he certainly blew it there
17:14:05 <elliott> flip nooga around twice and he becomes satan
17:14:29 <nooga> nooga in the land of puns
17:14:46 <elliott> well i guess we could call oerjan raPUNzel...
17:14:49 * elliott runs madly away from the swatter
17:15:11 <oerjan> Phantom_Hoover: well indeed, and my _real_ point was that an average person (100) wouldn't be able to understand a thing of this
17:15:23 <elliott> oerjan: i don't think that's *necessarily* true
17:15:33 <elliott> oerjan: it depends how much you correlate IQ with this kind of abstract reasoning
17:15:35 <Phantom_Hoover> oerjan, yes, but they'd be able to do the menial work!
17:15:41 * oerjan throws his swatter after elliott, mjolner style -----###
17:15:56 <elliott> oerjan: would you correlate being able to fill in the box in http://upload.wikimedia.org/wikipedia/commons/7/73/RavenMatrix.gif with any kind of abstract reasoning capability?
17:16:09 <elliott> well
17:16:10 <elliott> not with any kind
17:16:11 <elliott> but with this kind
17:16:18 <elliott> oerjan: ignoring the fact that that one is REALLY trivial :)
17:16:30 <oerjan> i'm not even bothering to click that link
17:16:43 <nooga> hmmm
17:16:44 <elliott> oerjan: why not
17:16:50 <nooga> what a hard puzzle
17:17:02 <oerjan> oh well then
17:17:14 <nooga> finally i've got something to do in the evening
17:17:41 <oklofok> oerjan: i can give you a hint
17:18:07 <oerjan> well rotating 90 degrees isn't exactly hard, no
17:18:23 <Vorpal> <oerjan> well he certainly blew it there <-- except that was a red herring
17:18:27 <Vorpal> very clever such
17:18:27 <elliott> funny, i saw it as the dot making it way clockwise around the shape
17:18:29 <elliott> not the shape rotating
17:18:47 <oerjan> Vorpal: i thought santa had a red-nosed reindeer, not a herring
17:19:08 <nooga> elliott: same
17:19:19 <elliott> SANTA THE RED NOSED REINDEER HAD A VERY SHINY BLAH
17:19:21 <oerjan> elliott: of course there are alternative ways of seeing it.
17:19:22 <elliott> what
17:19:32 <elliott> ugh my rewrite function is gonna be pain
17:19:34 <elliott> pain and anguish
17:19:35 <elliott> like my life
17:19:46 <oerjan> and if you're really lucky you see an alternative that the test maker didn't think of
17:19:59 <elliott> I HATE THIS PROGRAM oerjan can you write a term rewriter for me
17:20:07 * nooga just obtained 12 SPARC IIe blade workstations
17:20:14 <nooga> for 500 eur
17:20:24 <elliott> nooga: can i have one
17:20:27 <nooga> no!
17:20:45 <elliott> nooga: pretty please?
17:21:13 -!- kar8nga has joined.
17:24:07 <elliott> Phantom_Hoover: so do you want to help write the SPECIALISER
17:24:27 <Phantom_Hoover> elliott, that's currying + optimisation in this context, yes?
17:24:51 <oklofok> term rewriters are trivial to write
17:24:58 <oklofok> stop being silly
17:25:05 -!- zeotrope has joined.
17:25:09 <elliott> oklofok: they are but i'm doing it in haskell
17:25:13 <elliott> oklofok: and it has become amazingly ugly :D
17:25:16 <elliott> Phantom_Hoover: uhh. sort of.
17:25:20 <elliott> Phantom_Hoover: it's a LOT more involved than that :)
17:25:31 <elliott> Phantom_Hoover: but yes, essentially.
17:25:38 <elliott> Phantom_Hoover: except don't call it currying
17:25:40 <elliott> it's partial application
17:25:41 <elliott> not. the same. thing.
17:25:45 <oklofok> elliott: it happens
17:25:55 <Phantom_Hoover> Well, yes. First-class code, for one thing. And not really currying.
17:26:05 <Phantom_Hoover> Wait, what's the difference
17:26:18 <elliott> curry : ((a, b) -> c) -> (a -> b -> c)
17:26:34 <elliott> turning an N (say N=2) parameter function into a 1 parameter function returning a 1 parameter function, etc.
17:26:42 <Phantom_Hoover> Yes...
17:26:46 <elliott> partially applying f (an N-argument function) to x is (curry f) x
17:26:55 <elliott> assuming you don't usually curry all functions, which you do in haskell :)
17:27:13 <Phantom_Hoover> So it's just currying and applying, then?
17:28:14 <nooga> elliott: no, they're ALL MINE!
17:29:14 <Vorpal> <oerjan> Vorpal: i thought santa had a red-nosed reindeer, not a herring <-- that is an urban myth
17:29:19 <oklofok> you're saying term rewriting is "just currying"?
17:29:28 <oklofok> term rewriting is much simpler than currying
17:29:37 <elliott> oklofok: no
17:29:38 <Vorpal> * nooga just obtained 12 SPARC IIe blade workstations <-- why?
17:29:40 <elliott> oklofok: we're takling about specialisers
17:29:40 <nooga> eh
17:29:43 <oklofok> oh
17:30:02 <Vorpal> elliott, use an existing one as a base?
17:30:02 <oklofok> yeah i haven't looked that word up yet, but you've been talking about that stuff for quite a while now
17:30:04 <nooga> Vorpal: for fun, never did anything on SPARC
17:30:08 <oklofok> that much i've notived
17:30:10 <oklofok> *noticed
17:30:10 <nooga> besides
17:30:19 <Vorpal> elliott, iirc there is one that works on yhc core
17:30:22 <elliott> Vorpal: there's something like *one* actually-existing specialiser that does something useful when applied to itself that i know of
17:30:28 <nooga> who wouldn't like a cluster at home
17:30:32 <Vorpal> elliott, oh? which one?
17:30:34 <elliott> Vorpal: well, yhc is rather experimental. that may be good. ideally you do it at a higher-level
17:30:39 <elliott> Vorpal: also, one in some thesis or book or something, I forget
17:30:40 <elliott> a whole group worked on it
17:30:47 <Vorpal> heh
17:30:53 <elliott> anyway, if it isn't written in MyMagicLanguage I can't use it for obvious reasosn
17:30:54 <Vorpal> elliott, not the yhc one then?
17:30:55 <elliott> *reasons
17:30:59 <elliott> even if I implemented that language
17:31:04 <elliott> since it has to apply to MyMagicLanguage programs
17:31:06 <elliott> Vorpal: not that i know of
17:31:06 -!- nopseudoidea has quit (Quit: Quitte).
17:31:12 <Vorpal> right
17:31:25 <elliott> hmm, the environment variable PKGROOT points to, say, /var/pkg, where all package information is stored
17:31:29 <elliott> what environment variable should point to /?
17:31:31 * nooga notes: terminus font is too small to read at 9pt
17:31:33 <elliott> i.e. the path to install packages to#
17:31:35 <elliott> s/#$//
17:31:41 <Vorpal> elliott, ROOT?
17:31:56 <elliott> Vorpal: not specific enough, it's only for the package manager
17:32:01 <elliott> so it should probably start with PKG
17:32:06 <nooga> MyMagicLanguage?
17:32:16 <elliott> nooga: it will have a name, it just doesn't yet.
17:32:21 <Vorpal> elliott, ah well. SYSTEM_INSTALL_ROOT_FOR_PACKAGE_MANAGER_PURPOSES_WHY_ALL_CAPS?
17:32:26 <elliott> Vorpal: this will be used to install the core system too, so WHATEVERITSCALLED=/mnt/sys
17:32:47 <Vorpal> elliott, see my suggestion
17:32:57 <Vorpal> brb
17:33:06 <elliott> Gregor: http://www.youtube.com/watch?v=nsCWiBMcJlk this will help codu.js or whatever :P
17:33:08 <elliott> maybe not
17:33:12 <elliott> Vorpal: no :P
17:34:27 <elliott> Vorpal: maybe I should rename PKGROOT and make PKGROOT=/
17:34:37 <elliott> PKGDIR? no, that should be the directory of a single package
17:34:48 <elliott> PKGINSTALL? seems more like an action than a variable
17:36:55 <Vorpal> elliott, hm what are the valid char set of an env var name?
17:37:04 <Vorpal> elliott, is it anything except \0 and = ?
17:37:26 <elliott> Vorpal: whatever your suggestion would be, I reject it :P
17:38:27 <elliott> Vorpal: = appears to be valid
17:38:35 <elliott> $ env ==x | tail -n 1
17:38:35 <elliott> ==x
17:38:41 <elliott> $ env ===x | tail -n 1
17:38:41 <elliott> ===x
17:38:42 <elliott> presumably that's
17:38:43 <elliott> = = x
17:38:44 <elliott> and
17:38:47 <elliott> = = =x
17:38:52 <elliott> or even
17:38:53 <elliott> '' = x
17:38:57 <elliott> erm
17:38:58 <elliott> '' = =x
17:39:01 <elliott> inded
17:39:02 <elliott> *indeed
17:39:03 <elliott> you can do =x
17:39:13 <elliott> $ env ==x =x | grep ^=
17:39:14 <elliott> =x
17:39:15 <elliott> so yeah
17:39:21 <elliott> it's empty string equals x there
17:39:24 <elliott> who knows then
17:39:25 <elliott> Vorpal: anyway what
17:39:35 <Gregor> elliott: That video is spectacularly unclear about what StackedVM actually /is/
17:40:23 <elliott> Gregor: That's because it's in another blog post :P
17:40:34 <elliott> Gregor: tl;dr it runs VMs on server-side and presents them to the web-browser client via unicorns.
17:41:00 <Gregor> Mmmmm.
17:41:03 <Gregor> So it's boring.
17:41:07 <Gregor> Boringly boring.
17:42:14 <elliott> Gregor: I said "perhaps maybe sort of useful", not "interesting".
17:42:59 <Gregor> elliott: If it doesn't revolutionize computing as we know it even as it reinvents it, I just don't care *shrugs*
17:43:28 <elliott> Gregor: I did say in the context of js.codu.org
17:43:32 <elliott> Gregor: Since you talked about using browsershots
17:43:33 <elliott> So stfu :P
17:43:41 <elliott> Gregor: Also, SOUNDS LIKE YOU'D LIKE @
17:45:21 <oerjan> @ is perfect in every way, the only downside is this universe does not have room for enough intelligence to actually develop it.
17:45:40 <oerjan> to sum up the gist of our recent discussion.
17:45:51 <Gregor> NOOOOOOOOOSE
17:46:34 <elliott> Gregor: Do you like purely functional programming languages?! No, I mean, do you REALLY like purely functional programming languages?! Do you like orthogonal persistence?! In a very SPECIAL way?!?! DO YOU LIKE DISTRIBUTED OBJECT SPACES?????
17:48:35 <elliott> Gregor: Do...do you like warm, fluffy blankets?
17:50:06 <Vorpal> <elliott> Vorpal: anyway what
17:50:07 <Vorpal> eh?
17:50:35 <oerjan> megawhats
17:50:46 <elliott> Vorpal: jiggawhat
17:51:35 <Vorpal> whatever. Have to leave now.
17:51:35 <Vorpal> cya
17:52:58 <oerjan> once again Vorpal leaves, thinking "why do i hang around with these maniacs?"
17:54:13 <elliott> oerjan: so so name my environment variable!
17:54:32 <oerjan> $EDWIN
17:55:03 <elliott> oerjan: you're such a schemer.
17:57:18 <oerjan> i didn't know Edwin was a scheme name
17:59:07 <elliott> oerjan: it's MIT Scheme's Emacs clone
17:59:13 <oerjan> ah
17:59:23 <elliott> but i was joking
17:59:53 <oerjan> WELL BY A REMARKABLE COINCIDENCE...
18:00:45 * elliott dies in Minecraft
18:01:25 <ais523> happy Australian mailman reminders day!
18:01:48 * oerjan wonders if he'll get a reminder this time
18:01:58 <elliott> ais523: you too! happy tell me what to name my environment variable day!
18:02:10 <ais523> PKGINSTALLROOT
18:02:15 <elliott> ais523: ew
18:02:26 <ais523> my sense of aesthetics is different from yours
18:02:33 <elliott> ais523: ok then, rename the variable that points to /var/pkg, assuming PKGROOT is the one that usually points to /
18:02:34 <elliott> :P
18:02:54 <oerjan> PKGLASLAMUJTDEC
18:03:48 -!- oklopol has joined.
18:05:25 <elliott> ais523 refuses to take my delectable bait
18:05:27 <elliott> *bait!
18:07:26 <oerjan> width baited bread
18:08:03 -!- oklofok has quit (Ping timeout: 272 seconds).
18:10:45 <elliott> ais523: so what would YOU call an environment variable pointing to the package "database"
18:10:47 <elliott> not database really
18:10:48 <elliott> hierarchy
18:12:15 <elliott> ais523 is either away or refuses to succumb to my INTERESTING QUESTIONS
18:17:08 <oerjan> PKGPKG
18:19:16 <elliott> ais523: PKGDIR? PKGDB? PKG...what?
18:19:47 <oerjan> PKGYODAWG
18:19:58 <elliott> PKGFURBALLS
18:20:10 <elliott> I'm not actually sure what constitutes a furball yet, since my system is so strange. :p
18:21:36 <oerjan> as long as you're on the ball
18:21:55 <elliott> Oh, balls.
18:22:53 <oerjan> obols
18:23:04 <Phantom_Hoover> Oballisk.
18:23:35 <elliott> Phantom_Hoover: Okay, YOU name my variable.
18:23:47 <Phantom_Hoover> What is it for?
18:23:54 <elliott> Phantom_Hoover: Either: Given PKGROOT=/var/pkg being typical, i.e. the package files and the like, name a variable usually set to / -- where packages get installed.
18:23:56 <elliott> Phantom_Hoover: Or:
18:24:13 <elliott> Phantom_Hoover: Given PKGROOT=/ being typical, i.e. where packages get installed, name a variable usually set to /var/pkg -- where the package information files are.
18:24:15 <elliott> I'm open to either.
18:24:17 <Phantom_Hoover> PKGINSTALL?
18:24:33 <elliott> Possibly, but that seems more like an action than something you'd set.
18:24:35 <elliott> Any other ideas?
18:25:14 <Phantom_Hoover> PKGINSTLOC?
18:25:28 <elliott> Phantom_Hoover: Ew./
18:25:30 <elliott> s/\/$//
18:25:31 <Phantom_Hoover> I know.
18:25:57 <elliott> Any non-ews? :P
18:26:11 <Phantom_Hoover> PKGINF for the second suggestion?
18:28:14 <elliott> Phantom_Hoover: Ew.
18:28:24 <elliott> Phantom_Hoover: Also, it's not just info; the actual .tars and stuff are there too.
18:29:00 -!- atrapado has quit (Quit: Abandonando).
18:30:38 <Phantom_Hoover> I still think "PKGINSTALL" is best; it makes clear that this is where stuff is installed.
18:31:00 <elliott> Phantom_Hoover: true, but on the other hand, PKGROOT sounds like it points to the *root* directory
18:31:19 <elliott> Phantom_Hoover: I am willing to consider PKGROOT=/ and PKGDIR=/var/pkg
18:32:02 <Phantom_Hoover> That also works.
18:32:24 <elliott> Phantom_Hoover: WELL DON'T LEAVE ME HANGIN' HEAR WHICH
18:32:35 <elliott> PKGINSTALL=/ and PKGROOT=/var/pkg
18:32:35 <elliott> or
18:32:39 <elliott> PKGROOT=/ and PKGDIR=/var/pkg
18:32:49 <Phantom_Hoover> The latter.
18:33:13 <elliott> Phantom_Hoover: Now tell me what to call my local pkgdir variable, which denotes a path like /var/pkg/emacs.
18:33:53 <Phantom_Hoover> The directory corresponding to a given package?
18:34:18 <elliott> Phantom_Hoover: Yes.
18:34:49 <Phantom_Hoover> OK then, the former suggestion with PKGDIR=/var/pkg/foo
18:35:12 <elliott> Phantom_Hoover: *pkgdir=
18:35:16 <elliott> Phantom_Hoover: It is *only* used in my script.
18:35:21 <elliott> A user would never set it; it is a local variable.
18:35:25 <elliott> It's just that having pkgdir=$PKGDIR/emacs is STUPID.
18:35:40 <Phantom_Hoover> Oh, that makes it simpler. Make it "package".
18:35:55 <Phantom_Hoover> And preserve the latter system.
18:36:09 <elliott> Phantom_Hoover: But $pkg is the name of the package!
18:36:17 <elliott> I could say pkgname, sure... but ew.
18:36:28 <elliott> I guess pkgname=$PKGROOT/$pkg makes sense.
18:36:30 <elliott> erm
18:36:32 <elliott> I guess
18:36:36 <elliott> pkg=$PKGROOT/$pkgname makes sense.
18:36:37 <Phantom_Hoover> pkgpath?
18:36:38 <elliott> But arguably,
18:36:41 <nooga> http://theendisnear.no-ip.info/
18:36:44 <nooga> QED2.0
18:36:45 <elliott> pkg=$PKGDIR/$pkgname makes even more sense :P
18:37:13 <elliott> nooga: does it explode? is it quantum?
18:37:15 <elliott> is it a dynamo?
18:37:25 <nooga> it's just a name
18:37:27 <nooga> duh
18:37:53 <elliott> `addquote Thanks to nooga for constructive criticism, his ideas and being a constant annoyance. --http://theendisnear.no-ip.info/
18:38:07 <elliott> Gregor: lol HackEgo
18:38:09 <nooga> ;D
18:38:29 <HackEgo> 265|Thanks to nooga for constructive criticism, his ideas and being a constant annoyance. --http://theendisnear.no-ip.info/
18:39:33 <nooga> i'm trying to make minicom to work in some kind of non-interactive mode
18:39:53 <nooga> because minicom is soooo not KISS compliant
18:41:42 <elliott> nooga: yeah i can't get it to send a file with this silly interface
18:41:59 <fizzie> It has that run-a-script option, I think that's as far as it goes re non-interactive.
18:45:27 <fizzie> If you only want to send a file, maybe the sz program (or rather, sx, but I think sz is how you find it) would be more appropriate; possibly with some small wrapper for the "l" command or whatevur.
18:46:28 <elliott> fizzie: Wanna VOTE??
18:47:07 <elliott> fizzie: PKGINSTALL=/ and PKGROOT=/var/pkg and pkgdir=$PKGROOT/$pkg
18:47:08 <elliott> fizzie: -or-
18:47:08 <elliott> fizzie: PKGROOT=/ and PKGDIR=/var/pkg and pkg=$PKGROOT/$pkgname
18:47:14 <elliott> I am so terrible at this.
18:48:58 <fizzie> I am unsure. Maybe I'd vote for the first opinion, but can't be sure.
18:49:14 <elliott> fizzie: Your indecision is palatable.
18:50:47 <elliott> fizzie: You know, democracy is not voluntary in my world!
18:50:57 <elliott> (Okay, it is. But only if you really, really want it to be.
18:51:00 <elliott> And that would make me sad.)
18:51:20 -!- nooga has quit (Ping timeout: 260 seconds).
18:51:25 <oerjan> any attempt to force us to make decisions will just lead to a revolution
18:51:54 <Vorpal> <oerjan> once again Vorpal leaves, thinking "why do i hang around with these maniacs?" <-- that too. but in this case it wasn't that. It was just I had a piano lesson
18:51:59 <Vorpal> just that*
18:52:08 <elliott> read as pano lesson, decided Vorpal's panorama crap had gone TOO FAR
18:52:16 <Vorpal> elliott, hah :P
18:52:54 <Vorpal> elliott, actually panoramas are not crap. They are fun to make. And that is the important thing for a hobby
18:53:10 -!- nooga has joined.
18:53:16 <Vorpal> elliott, so any info on the minecraft update of today?
18:54:11 <elliott> it's made of puppies and they kill you if you don't exist*
18:54:12 <elliott> *factual
18:54:41 <Vorpal> "[edit] Server 0.2.6_01 no longer gives everyone 64 snowballs on connecting"
18:54:42 <Vorpal> XD
18:54:46 <Vorpal> how the fuck did that happen
18:55:10 <Vorpal> I mean, doesn't java have some way to do #ifdef DEBUG
18:55:15 <Vorpal> if he isn't testing release builds
18:55:18 <fizzie> fi:pano is approximately en:fuck, in the "sex act" sense. (Simplified a bit here; and it also means the act that's the opposite of withdrawal to a bank account, can't quite catch the word for that.)
18:55:26 <elliott> <Vorpal> I mean, doesn't java have some way to do #ifdef DEBUG
18:55:30 <elliott> yes, it's called if (app.debug)
18:55:34 <elliott> where debug is static final constant, IIRC
18:55:38 <elliott> that's guaranteed to be optimised out
18:55:42 <Vorpal> fizzie, wtf :P
18:55:44 <Deewiant> fizzie: Deposit
18:55:50 <nooga> sorry
18:55:52 <fizzie> Deewiant: Thank you.
18:55:52 <nooga> i was AFK
18:55:54 <Vorpal> elliott, heh
18:55:57 <elliott> fizzie: Please tell me the deposit usage is common.
18:56:06 <nooga> fizzie: sz you say?
18:56:07 <elliott> "And then I made a [fi:pano] in her account, if you know what I mean."
18:56:08 <Deewiant> It's also "to put" in general.
18:56:18 <Vorpal> huh
18:56:25 <elliott> Vorpal: [[Server 0.2.6_02 and client 1.2.4_01 now spawn other monsters than ONLY CREEPERS EVERYWHERE]]
18:56:32 <elliott> notch is the worst programmer ever.
18:56:41 <Vorpal> elliott, sadly there are way worse
18:56:46 <fizzie> nooga: Part of lrzsz. It just speaks zmodem/xmodem/ymodem to stdout, so it'd need some wrapping-around.
18:56:54 <Vorpal> elliott, he is sure better than quite a few on dailywtf
18:56:58 <Vorpal> probably
18:57:01 <nooga> uhm
18:57:05 <elliott> Vorpal: [[* Fixed minecarts (and pigs!) moving twice as fast as they should when ridden.]]
18:57:06 <nooga> reading man
18:57:07 <elliott> Vorpal: :-(
18:57:25 <Vorpal> elliott, hm. Might need to add boosters then. You provide track. for that if needed
18:57:30 * elliott updates sadly
18:57:32 <Vorpal> elliott, anyway have ineiros updated or not?
18:57:33 <elliott> Vorpal: what? why?!
18:57:37 <elliott> Vorpal: why do i have to provide track
18:57:50 <Vorpal> elliott, I'm low on iron :P
18:57:55 <elliott> so am i
18:58:25 <Vorpal> elliott, anyway: server must be upgraded too. Protocol changes.
18:58:34 <elliott> 2010-11-30 13:52:29 [SEVERE] Unexpected exception
18:58:34 <elliott> java.lang.NullPointerException
18:58:35 <elliott> --server, apparently
18:58:37 <elliott> as of 3 minutes ago
18:58:38 <oerjan> iron deficiency is no laughing matter
18:58:40 <elliott> (as in the new server)
18:58:43 <fizzie> From what I heard, the good old "duplicate items end up in the last inventory slot" was a buffer overflow type of bug, which is not too shabby in Java.
18:59:25 <fizzie> Also, I can donate another dozen iron blocks later, I guess. Can't quite recall how much I have left.
18:59:31 <elliott> Vorpal: Oh gawd, he re-obfuscated the code.
18:59:35 <elliott> STOP BEING SUCH A DICKWAD NOTCH
18:59:49 <elliott> Either (1) start coding properly or (2) stop forcing updates and constantly obfuscating the code.
19:00:00 <Vorpal> fizzie, heh
19:00:24 <fizzie> elliott: Y'see, he FROWNS on unauthorized modcraftery.
19:00:46 <elliott> fizzie: I frown on getting a buffer overflow in fucking Java.
19:00:52 <elliott> And somehow spawning only creepers.
19:00:58 <elliott> And... and every damn bug, they're all so trivial and stupid.
19:01:22 <Vorpal> bbl
19:02:11 <fizzie> I guess it might've been something like the hand-inventory and inventory being different parts of the same array and then getting confused about indices.
19:02:37 <elliott> Ugh, why can't I decide on these names.
19:03:13 <nooga> Java < *
19:04:26 <nooga> who's notch?
19:04:51 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:05:25 <Phantom_Hoover> nooga, Minecraft's developer.
19:05:47 <nooga> the main guy?
19:06:46 <Phantom_Hoover> The only guy, really.
19:06:59 <nooga> I TOLD YOU HE'S A MORON
19:07:24 <Phantom_Hoover> 'twould appear that computer hacker from Glasgow being extradited was a complete nutcase.
19:07:41 <Phantom_Hoover> One of those UFO, free energy idiots.
19:08:15 <nooga> hm
19:08:24 <nooga> i love free energy enthusiasts
19:08:28 <elliott> Phantom_Hoover: why extradited?
19:08:38 <elliott> nooga: he's not a moron, he's just a bad coder.
19:08:47 <nooga> I told you
19:08:53 <Phantom_Hoover> And he seems to have thought the most logical course of action under these circumstances was to hack into NASA and military computers looking for evidence of UFOs.
19:08:55 <nooga> let me grep the logs
19:08:58 <elliott> nooga: oh, fuck off with your stupid crap about minecraft.
19:09:00 <Phantom_Hoover> Actually, it's a bit hazy.
19:09:01 <elliott> i fully recall what you said.
19:09:21 <elliott> Phantom_Hoover: :D awesome
19:09:22 <Phantom_Hoover> The US claim he destroyed several systems; he denies this thoroughly.
19:10:27 <nooga> elliott: it's not stupid crap, it's just that the author can't design and code properly and he dares to sell it
19:10:43 <elliott> "dares"
19:10:47 <elliott> nooga: people can sell WHATEVER THE FUCK THEY WANT.
19:10:52 <nooga> okay
19:10:58 <nooga> but why ppl buy that?!
19:10:59 <elliott> as far as "design" goes, his game is certainly well-designed and the graphics are lovely.
19:11:07 <nooga> uh
19:11:10 <elliott> as far as code goes, yes he does a lot of stupid things, but it's still a fucking good game.
19:11:13 <nooga> it's so called coder
19:11:17 <nooga> coder's graphics
19:11:19 <elliott> no it isn't
19:11:30 <elliott> nooga: you *really* have not grasped the difference between retro and bad
19:11:43 <elliott> nooga: do you hear a chiptune and think "oh, not skilled enough to make proper electronic music"?
19:11:59 <nooga> "i can't draw and model basic shapes in 3d so i will build my game out of f*## bricks and noise"
19:12:11 <elliott> nooga: IT WAS A CONSCIOUS DESIGN DECISION YOU MORON
19:12:14 <nooga> it's not retro
19:12:17 <nooga> it's just bad
19:12:21 <elliott> no.
19:12:22 <elliott> it's retro.
19:12:23 <elliott> fuck off.
19:12:24 <nooga> check out few retro games
19:12:34 <nooga> from amiga system
19:12:41 <nooga> it's goddamn ART
19:12:45 <elliott> seriously, just shut the hell up.
19:12:49 <nooga> ;D
19:12:53 <elliott> the game would *not* be better with a different art style.
19:12:55 <elliott> i would like it less.
19:12:57 <nooga> <- constant annoyance
19:12:59 <elliott> so would everyone else who plays it.
19:13:46 <elliott> nooga: coder art would be solid colours in place of blocks.
19:13:49 <elliott> the blocks have actual design.
19:13:56 <nooga> made of noise
19:14:39 <elliott> have you ever actually seen or played minecraft
19:14:54 <nooga> sure
19:15:10 <elliott> i doubt it.
19:17:21 -!- SgeoN1 has joined.
19:18:03 -!- cheater99 has joined.
19:19:12 <Vorpal> ineiros, when will you update the server?
19:20:07 <Vorpal> elliott, did it ask you for upgrade on login or?
19:20:24 <elliott> Vorpal: no, it didn't
19:20:29 <elliott> Vorpal: server is now inaccessible, deal with it
19:20:41 <Vorpal> elliott, yeah I don't have time for it today anyway
19:20:44 <elliott> Vorpal: also how on earth do I fill in "Authors:" for the original vi
19:21:03 <elliott> Bill Joy, ................................decades of history................................, Gunnar Ritter (modernised it)
19:21:09 <Vorpal> elliott, what?
19:21:14 <Vorpal> err
19:21:16 <Vorpal> who knows
19:21:16 <elliott> Vorpal: i'm packaging the original vi
19:21:21 <elliott> i need to have an authors file
19:21:23 <elliott> this is problematic :D
19:21:37 <elliott> I might omit the authors file ... but who knows how that is, license-wise
19:21:38 <Vorpal> elliott, what does debian do?
19:21:54 <elliott> Vorpal: i don't think it packages it, but I also don't think it has authors
19:21:58 <elliott> the vim package doesn't
19:22:05 <Vorpal> hm okay
19:22:25 <Vorpal> elliott, if debian doesn't have it then it probably is legally okay for at least some of those packages
19:22:33 <elliott> Vorpal: I think I'm already violating licenses; I'm pretty sure that even with BSD, I have to include the license with the author names on any system that installs the program :/
19:22:53 <elliott> Oh, I don't care about legal, for crediting the authors.
19:23:01 <Vorpal> hm
19:23:14 <elliott> In this case I just want the most "respectful" way, which I think is to omit the authors altogether.
19:23:22 <Vorpal> elliott, yeah AUTHORS probably needs to go in doc
19:23:59 <elliott> In the description I can say "Bill Joy's editor of infamy. Updated for modern Unix systems by Gunnar Ritter, based on Caldera's release of the code."
19:27:34 <elliott> # Some historic comments:
19:27:34 <elliott> #
19:27:34 <elliott> # Ex is very large - this version will not fit on PDP-11's without overlay
19:27:34 <elliott> # software. Things that can be turned off to save
19:27:34 <elliott> # space include LISPCODE (-l flag, showmatch and lisp options), CHDIR (the
19:27:35 <elliott> # previously undocumented chdir command.)
19:27:38 <elliott> X-D
19:28:38 <elliott> #!/bin/sh
19:28:38 <elliott> set -e
19:28:38 <elliott> cd ex-050325
19:28:38 <elliott> make install PREFIX=/ DESTDIR="$1"
19:28:40 <elliott> Not a bad build script!
19:28:46 <elliott> I hate how set -e isn't default for non-interactive shells...
19:30:23 <nooga> he
19:32:08 <elliott> nooga: what
19:35:56 <elliott> Vorpal: you're a shell guy - after {cd foo; ...}, with {}s, is the dir back to normal?
19:36:01 <elliott> i.e. does a block scope directory changes too?
19:36:05 <elliott> if not, () will work, right?
19:36:08 <elliott> since it's a subshell
19:37:00 <Vorpal> elliott, () will work, {} will not
19:37:04 <elliott> i'll just use () then
19:37:10 <elliott> can't use pushd/popd, I'm being all portable :)
19:37:23 <Vorpal> elliott, it would have taken 1/3 of the time to test this :P
19:37:32 <elliott> yes, but 1000% of the effort
19:37:36 <Vorpal> elliott, no
19:37:39 <elliott> yes.
19:37:43 <elliott> i am extremely lazy, and typing is very easy.
19:37:47 <Vorpal> elliott, you had to write the same thing here on IRC
19:37:50 <Vorpal> elliott, even more
19:37:57 <elliott> yes, but i'd have had to start sh
19:38:01 <elliott> which is IMPOSSIBLE.
19:38:12 <elliott> make: /usr/ucb/install: Command not found
19:38:12 <elliott> make: *** [install-man] Error 127
19:38:12 <elliott> tar: Removing leading `/' from member names
19:38:16 <elliott> you're meant to stop after that, stupid
19:38:16 <elliott> oh
19:38:20 <elliott> subshell exit != shell exit :D
19:38:24 * elliott adds || exit $? after the )
19:39:48 <elliott> Vorpal: in a shell, to do atexit I should use trap, right?
19:40:54 <elliott> LOL
19:41:02 <elliott> tar actually created a "." directory in my resulting archive
19:41:03 <elliott> because i did
19:41:08 <elliott> tar cf blah.tar .
19:41:41 <Vorpal> elliott, trap yes but don't depend on it being very reliable. ctrl-c twice fast can mess it up iirc
19:41:50 <elliott> Vorpal: well it's just to clean up a temporary dir
19:41:52 <elliott> nothing important
19:41:54 <Vorpal> elliott, also it is on signal
19:41:58 <Vorpal> elliott, not on normal exit iirc
19:42:11 <Vorpal> elliott, what are you writing in shell script?
19:42:14 <elliott> Vorpal: hmm right I do "exit 1" a lot
19:42:22 <elliott> Vorpal: my package manager, out of sheer laziness :) it doesn't do much, so that's okay
19:42:28 <Vorpal> ugh
19:42:30 <elliott> in this case, it's pkgbuild(1), which takes the name of a package and builds the source
19:42:43 <elliott> Vorpal: I'd prefer to be using rc, but shipping rc with every system sounds a bit silly.
19:43:00 <elliott> These are things you could do by yourself really anyway. My package management system is stupidly simple.
19:43:12 <Vorpal> elliott, what about a high level language that gives small binaries?
19:43:32 <elliott> Vorpal: go on
19:43:42 <elliott> Vorpal: I'm waiiiitiiiiing
19:43:47 <Vorpal> elliott, surely that exists?
19:43:53 <elliott> Vorpal: I started writing these tools in C, but they were REALLY HUGE AND TEDIOUS.
19:44:06 <Vorpal> elliott, C isn't very high level
19:44:15 <elliott> My C pkginfo was like 100 lines and it barely did anything; my nice, featured pkginfo in shell is 75 lines.
19:44:29 <Vorpal> elliott, didn't you refuse interpreted languages?
19:44:34 <Vorpal> elliott, and shell script is interpreted
19:44:42 <elliott> Vorpal: yes, but no system is without /bin/sh.
19:44:46 <elliott> plenty of systems are without python :P
19:44:50 <Vorpal> elliott, what if sh breaks?
19:45:01 <elliott> Vorpal: then you're fucked. grab a livecd and fix it.
19:45:07 <elliott> note: if sh breaks you are always fucked.
19:45:24 <elliott> Vorpal: (if sh is broken, what are you typing into?)
19:45:26 <Vorpal> elliott, same for <your language of choice>. Probably not perl or such. awk sounds like a better choice
19:45:29 <elliott> Vorpal: (if it's anything like a shell, use it to fix sh.)
19:45:45 <elliott> awk? awk is horrible for actual programming tasks
19:45:51 <elliott> i have never read a file with it and i doubt i ever will
19:45:54 <Vorpal> elliott, I was joking
19:45:57 <elliott> i don't know if it's even possible portably :P
19:46:53 <Vorpal> elliott, writing a nice scripting language, presumably a DSL. Then use that
19:47:14 <elliott> Vorpal: i don't *know* of any nice languages for unix apart from c, rc and haskell
19:47:19 <elliott> i've rejected C for good reasons
19:47:34 <elliott> rc is lovely but a bit awkward outside of plan 9 and its toolset, and I don't want to ship it on every system
19:47:36 <Vorpal> elliott, go?
19:47:42 <elliott> ghc's executables are large when linked statically
19:47:56 <elliott> Vorpal: we've had this conversation before. go doesn't really make simple file options and the like convenient, which is what I'm doing
19:48:02 <elliott> also, I need to shell out to use tar and everything *already*
19:48:22 <elliott> pkginstall is literally:
19:48:31 <elliott> - install every runtime dependency
19:48:37 <elliott> - unpack tar to /
19:48:41 <elliott> - touch (pkg)/installed
19:49:08 <Vorpal> elliott, so not ghc yeah
19:49:25 <elliott> Vorpal: non-ghc haskell implementations are always behind ghc :P
19:51:06 <elliott> hmm
19:51:15 <elliott> is "set -e" equivalent to passing -e to sh?
19:51:16 <elliott> is that standard?
19:51:33 <pikhq> elliott: It's Bourne.
19:51:55 <elliott> good enough for me
19:51:59 <elliott> #!/bin/sh -e
19:51:59 <elliott> cd ex-050325
19:51:59 <elliott> make install INSTALL=install PREFIX=/ DESTDIR="$1"
19:52:02 <elliott> how's that for a build script
19:52:03 <elliott> :P
19:53:11 -!- zeotrope has quit (Ping timeout: 272 seconds).
19:53:56 <elliott> pikhq: So how does one do "tar cf foo.tar ." without getting a directory called . in the tar?
19:54:01 <elliott> TELL ME WISE MAN
19:55:49 <pikhq> elliott: DON'T DO TARBOMBS
19:56:50 <fizzie> "tar cf foo.tar *" assuming sensible names in the directory?
19:56:57 <elliott> pikhq: THEY'RE PACKAGES, THEY EXTRACT TO THE ROOT DIRECTORY, STOOPID
19:57:03 <Vorpal> elliott, do you need every single feature ghc provides?
19:57:09 <Vorpal> elliott, in your package manager
19:57:35 <pikhq> "tar cf foo.tar -- *" if you dislike that assumption.
19:57:42 <elliott> Vorpal: I only know ghc, I don't feel like working out the differences between ghc and $other in my programs, and nobody really uses non-ghc so they're stagnating.
19:57:47 <fizzie> pikhq: Still, dotfiles.
19:57:53 <fizzie> (Dotfiles at / are a bit... though.)
19:57:56 <Vorpal> elliott, presumably it is mostly missing features?
19:58:12 <elliott> fizzie: pikhq: How about "tar cf foo.tar -- $(ls -A)", you sillys :P
19:58:31 <elliott> (Although that fails with FILENAMES WITH SPACES IN /)
19:59:02 <elliott> Vorpal: Sure, but surely bugs too.
19:59:18 <elliott> Anyway I don't want to write them in Haskell because they're the closest thing to obvious shell scripts you can get.
19:59:19 <Vorpal> elliott, if they are packages that extract to / where do you put post-install scripts or metadata?
19:59:27 <elliott> Vorpal: In the package directory.
19:59:36 <elliott> Vorpal:
19:59:37 <elliott> $ ls
19:59:37 <elliott> build description source.tar version website
19:59:39 -!- ais523 has quit (Remote host closed the connection).
19:59:40 <elliott> build is the build script.
19:59:44 <elliott> Other such scripts would go in there too.
19:59:45 <Vorpal> elliott, yes but what about binary packages?
19:59:49 <elliott> If you have a binary package, it's root.tar.
19:59:51 <elliott> Vorpal: Every system has this.
19:59:54 <elliott> It's like apt's information database.
20:00:12 <elliott> Vorpal: Just not every system will have source.tar.
20:00:16 <elliott> Or want to.
20:00:18 <Vorpal> elliott, sure but how can you be sure that is in sync with the binary package?
20:00:47 <elliott> Vorpal: Because the installation program gets the binary package by (1) noting in a package manager file that the file pkgname/root.tar is to be downloaded and (2) synchronising the database.
20:01:05 <elliott> This will pull down the new binary package from the server and also update the information and binary packages of the other software.
20:01:12 <elliott> It will then install the new updates.
20:01:30 -!- nooga has quit (Ping timeout: 240 seconds).
20:01:34 <elliott> (I can't be arsed to do advanced versioned dependencies, so I just don't bother; there's no real reason to hold back a package. You can't even really do this on Debian because everything fucks up when you try and hold an upgrade back.)
20:01:36 <Vorpal> elliott, what about offline package sources?
20:01:42 <Vorpal> elliott, such as offline install cd
20:01:49 <Vorpal> (if you have issues getting network to work or such)
20:01:52 <elliott> Vorpal: It's probably just going to be rsync.
20:01:52 <pikhq> elliott: tar --null -T <(find . -maxdepth 0 -name '*' -print0) -cf foo.tar
20:01:55 <elliott> Vorpal: So, uh, you know what to do.
20:02:10 <Vorpal> elliott, hm?
20:02:11 <pikhq> (so very GNU, but uses one of the less objectionable features)
20:02:13 <elliott> pikhq: I don't believe in filenames with newlines in them, so I find -print0 pointless.
20:02:24 <fizzie> Does "-name '*'" actually do anything?
20:02:28 <elliott> Vorpal: Just tell it to use /mnt/cd as a source. It does, after all, just use rsync.
20:02:40 <pikhq> fizzie: Matches any file.
20:02:47 <elliott> Vorpal: If you write your own package, you just include source.tar in the package directory and it all works.
20:02:54 <elliott> pikhq: So does "".
20:02:56 <fizzie> pikhq: Yes, but does it *do* anything.
20:03:01 <Vorpal> elliott, personally I find binary packages should be self-contained. More robust against mismatches.
20:03:02 <pikhq> ... Wait, yeah, you don't need that test.
20:03:10 <elliott> Vorpal: Define self-contained.
20:03:11 <pikhq> find . -maxdepth 0 -print0
20:03:13 <pikhq> Whoo.
20:03:20 <elliott> pikhq: *-print; I don't believe in filenames with newlines in them.
20:03:23 <elliott> They are a bug.
20:03:42 <elliott> pikhq: And . is redundant.
20:03:42 <pikhq> elliott: I believe in filenames containing any valid Unicode string.
20:03:46 <elliott> pikhq: Thus "find -maxdepth 0".
20:03:50 <Vorpal> elliott, "given this one file it contains everything needed to install the package in a safe way, such as dependency information and so on.
20:04:03 <elliott> pikhq: I don't; Unix sucks, let's not ruin it by ending the line-based tradition.
20:04:03 <Vorpal> "
20:04:12 <elliott> That is one of the few useful things about Unix, and it's what lets grep(1) work.
20:04:16 <pikhq> elliott: NULL TERMINATE EVERYTHING
20:04:19 <elliott> Vorpal: Ah... so you like static linking.
20:04:19 <Vorpal> elliott, .deb, are self-contained like that. So are .rpm. And all the other formats I know of
20:04:24 <pikhq> EV RY THING
20:04:30 <elliott> pikhq: What about filenames with zeroes in them?
20:04:32 <Vorpal> elliott, yes sure. But there are other deps than .so
20:04:35 <elliott> Vorpal: And you want every dependency included too.
20:04:36 <fizzie> Uh, "find -maxdepth 0" just prints out ".".
20:04:40 <pikhq> elliott: Actually not valid.
20:04:40 <elliott> Vorpal: So a .deb should include all its dependencies.
20:04:41 <Vorpal> elliott, data, running app
20:04:43 <elliott> fizzie: -maxdepth 1
20:04:45 <fizzie> And anyway, it sounds to me like you'd get the ./ with find there.
20:04:54 <pikhq> elliott: U+0 and / are reserved.
20:05:01 <Vorpal> elliott, it is enough to include information on *what it needs* so you can't mess up by installing conflicting versions.
20:05:13 <Vorpal> elliott, if you read my line I said "dependency information"
20:05:18 <Vorpal> not "dependencies"
20:05:22 <fizzie> (Also "find -maxdepth 1" will print out both the "." and it's files as "./foo".)
20:05:32 <elliott> Vorpal: Well, it is completely impossible to install a binary package without the package information.
20:05:37 -!- SgeoN1 has quit (Quit: Bye).
20:05:44 <elliott> Vorpal: A "binary package" consists, then, of the directory in /var/pkg.
20:05:44 -!- zeotrope has joined.
20:05:48 <elliott> Vorpal: You just include root.tar in there.
20:05:50 <elliott> Which is the contents of /.
20:05:56 <elliott> That includes dependency information and all.
20:05:59 <Vorpal> elliott, if foo is installed and depends on bar-1.0 and you downloaded bar-2.0 by hand to install it *something should complain*
20:06:02 <Vorpal> elliott, that is my point
20:06:10 -!- zeotrope has changed nick to Guest20753.
20:06:18 <elliott> Vorpal: That's your own stupid fault.
20:06:45 <elliott> I do more for you than Slackware; I don't treat you like an idiot.
20:06:55 <elliott> If you do stupid things your system will break. That applies to Debian too.
20:07:09 <elliott> Note that I said stupid, as in wilfully stupid.
20:07:16 <Vorpal> elliott, how so? it is a perfectly valid action. I had to download a .deb a few days ago on a windows computer then copy it to my laptop when the wlan at university was down.
20:07:48 <elliott> Besides, that is not a problem... almost every dependency of that type is a library.
20:07:52 <Vorpal> elliott, I got the url on my laptop, put it in a file on a usb stick, downloaded it on a public computer there to the usb stick, then copied it back.
20:08:01 <elliott> 99% of packages will have absolutely zero runtime dependencies.
20:08:02 <pikhq> Vorpal: The same issue can easily happen on Debian.
20:08:07 <elliott> Vorpal: You are very confused about how my system works.
20:08:08 <Vorpal> elliott, not all. "I'm a script and I need python"
20:08:15 <pikhq> Remember, dpkg is completely dumb.
20:08:25 <elliott> Vorpal: so you installed Python 3 over Python 2?
20:08:25 <elliott> clever
20:08:30 <Vorpal> pikhq, that is why I copied to /var/cache/apt/archive :P
20:08:50 <Vorpal> elliott, no :P But just saying that there are *lots of deps that aren't library ones*
20:09:02 <elliott> Vorpal: Not "*lots*"; some.
20:09:05 <elliott> Maybe even quite a lot.
20:09:08 <elliott> But not "*lots*".
20:09:21 <elliott> Beyond the basic script interpreters, there's not many at all.
20:09:24 <Vorpal> true, there are more library ones
20:09:48 <Vorpal> elliott, oh? "I'm this fancy daemon and I need dbus"?
20:10:21 <elliott> Vorpal: Let me put it another way: there may be many packages that depend on a non-library. But there are not many non-library packages that are depended on at all.
20:10:28 <elliott> Interpreters, dbus, a few others.
20:10:49 <fizzie> "I'm this plugin for foo, I need foo." (Admittedly only for rather large foos.)
20:11:12 <elliott> fizzie: There's not really very many of those.
20:11:15 <fizzie> (Disclaimer: I don't follow the discussion.)
20:11:16 <Vorpal> elliott, stuff will depend on X too.
20:11:24 <elliott> Vorpal: Yes, it will depend on libX11.
20:11:33 <elliott> Vorpal: Protip: Try and install an X package sometime. Note how it does not try and install an X server.
20:11:43 <elliott> There are some files in /etc and /share and stuff, but that can all go in one package.
20:11:53 <Vorpal> elliott, I admit that the non-library deps will be reduced if you don't do crazy package-splitting like debian and ubuntu
20:12:02 <fizzie> Well, I'm this firefox, I depend on lsb-release, psmisc, debianutils, fontconfig; which aren't strictly speaking libraries. (Disclaimer: I still haven't bothered to find out the context, and won't.)
20:12:23 -!- aliaroush has joined.
20:12:29 <Vorpal> lsb-release? why
20:12:41 <fizzie> I have no clue at all.
20:12:42 <Vorpal> psmisc I don't remember what that is
20:12:47 -!- Guest20753 has quit (Ping timeout: 265 seconds).
20:12:52 <fizzie> That's fuser, killall, peekfd, pstree, prtstat.
20:12:59 <elliott> fizzie: lsb-release is... not going to be included because I very much doubt I comply with LSB anyway.
20:12:59 <Vorpal> ah
20:13:08 <elliott> fizzie: psmisc, sure. debianutils, I'm not Debian.
20:13:10 <elliott> fontconfig, sure.
20:13:15 <elliott> So basically, {psmisc, fontconfig}.
20:13:17 <fizzie> Probably related to some of the startup scripts there.
20:13:26 <elliott> also isn't fontconfig a library? I forget
20:13:27 <Vorpal> I wonder why it wants debianutils?
20:13:36 <elliott> Vorpal: because debian patch everything :P
20:13:46 <Vorpal> elliott, I seem to remember having debianutils on gentoo, got installed shortly before I switched away
20:14:08 <fizzie> I'm rxvt-unicode and I need base-passwd, I'd like ttf-dejavu. (I guess "font" might be considered a "library".)
20:14:09 <Vorpal> iirc just one or two things from it
20:14:15 -!- zeotrope_ has joined.
20:14:28 <elliott> fizzie: Library in this case is an .a, that is not a dependency because it gets statically linked in.
20:14:41 <Vorpal> fizzie, base-passwd? uh. Isn't that just /etc/passwd?
20:14:44 <elliott> No way am I going to have recommended packages, that's just stupid. And rxvt-unicode hardly depends on ttf-dejavu in the slightest.
20:14:57 <elliott> base-passwd, if it really is that, isn't a package; you can just assume that exists because it sure better :P
20:15:12 <fizzie> Yes, it's a bit of a weird package.
20:15:13 <Vorpal> elliott, what about ldap-based login?
20:15:19 <fizzie> "These are the canonical master copies of the user database files (/etc/passwd and /etc/group), containing the Debian-allocated user and group IDs."
20:15:24 <Vorpal> elliott, or kerberos?
20:15:41 <elliott> Vorpal: At that point, I crush your skull and burn the remains.
20:15:51 -!- aliaroush has left (?).
20:16:03 <Vorpal> elliott, I'll surely package it then
20:16:14 <elliott> Vorpal: Have fun with that!
20:16:29 <Vorpal> elliott, note: I'm too lazy to actually it
20:16:31 <elliott> Does anyone know if you can get old channels dropped, like names?
20:16:33 <Vorpal> actually do it*
20:16:35 <elliott> Vorpal: You accidentally the verb.
20:16:49 <Vorpal> elliott, I corrected it before you replied
20:17:22 <elliott> Doesn't change the fact that you accidentally it.
20:17:28 <fizzie> I'm cron and I depend on adduser, debianutils (again), lsb-base (well, no LSB) and upstart-job. I'm cryptsetup and I need dmsetup, initramfs-tools, plymouth (what *is* that? some splash thing?) and yet again upstart-job. (Sorry, sorry, I just got sidetracked looking at these.)
20:18:39 <elliott> plymouth is... yes, some splash screen. What.
20:18:54 <elliott> fizzie: I see your insane cron and raise you a http://www.pell.portland.or.us/~orc/Code/cron/
20:19:17 <pikhq> elliott: The libraries ought to be a bit more than just the .a.
20:19:24 <pikhq> elliott: Pkgconfig file too. :P
20:19:29 <Vorpal> elliott, cryptsetup depends on device mapper yes
20:19:40 <elliott> pikhq: I'm going to play a game. It's called "how long can I avoid pkg-config?".
20:19:44 <fizzie> But why does cryptsetup depend on a boot-up splash screen?
20:19:49 <Vorpal> elliott, why do you hate pkg-config?
20:19:50 <elliott> pikhq: (Besides, even then you only need it if you're building something that depends on it.)
20:19:53 <pikhq> elliott: The alternative is libtool.
20:19:56 <elliott> Vorpal: I don't, I can just do without it :P
20:20:12 <Vorpal> elliott, so you prefer /usr/bin/<foo>-config?
20:20:13 <elliott> pikhq: The length of time I can avoid it is probably something like 3 minutes, but I'm sure as hell gonna try anyway.
20:20:24 <Vorpal> elliott, which just clutter tab-completing namespace
20:20:28 <elliott> Vorpal: No, I just actively hate software developers and everything they create for making my life horrible.
20:20:30 <pikhq> With static linking, you *need need need* pkgconfig.
20:20:32 <elliott> Vorpal: Also, /dev/bin :P
20:20:44 <Vorpal> elliott, also how is pkg-config horrible?
20:20:48 <elliott> GIVE ME A FUCKING BREAK ABOUT PKG-CONFIG
20:20:55 <elliott> I NEVER ONCE SAID IT WAS HORRIBLE JUST SHUT UP >_<
20:21:09 <fizzie> "Packages which depend on plymouth: cryptsetup, mountall". That's a bit on the strange side.
20:21:17 -!- poiuy_qwert has joined.
20:21:34 <Phantom_Hoover> OK, I've asked this before, but I'm still hazy on the answer: if I torrent something with (say) transmission, what is the chance of my ISP descending upon me like a tonne of bricks?
20:21:40 <elliott> Phantom_Hoover: 0.
20:21:52 <elliott> Phantom_Hoover: -1 if you're torrenting something legal.
20:21:54 <elliott> 0 if you're not.
20:22:01 <elliott> Phantom_Hoover: Make sure to forward yer ports.
20:22:04 -!- nooga has joined.
20:22:12 <Phantom_Hoover> elliott, my... ports?
20:22:13 * nooga moved to other room :F
20:22:17 <elliott> Phantom_Hoover: x_x
20:22:20 <elliott> Phantom_Hoover: You have a router. Yes?
20:22:32 <elliott> If you say "I don't know" you have to kill yourself. Just a heads up.
20:22:53 <Vorpal> Phantom_Hoover, he is tricking you. That is a sexual joke
20:23:30 <elliott> Yes, clearly.
20:23:31 <Phantom_Hoover> I don't expect Vorpal to actually do something as interesting as attempt to deceive, so I'll believe him.
20:23:36 <elliott> Forward your ports all over the place.
20:23:45 <elliott> Phantom_Hoover: Um... it won't work if you don't forward your ports.
20:23:48 <elliott> So good luck with that
20:23:55 <elliott> Or rather, it might, but it'll go at 3 KiB/s.
20:24:01 <pikhq> Phantom_Hoover: 0 or 1, depending on whether or not your ISP is run by assholes.
20:24:02 <Vorpal> Phantom_Hoover, hah :P I think you got double-tricked or something
20:24:07 <elliott> pikhq: Er, no, 0.
20:24:16 <Phantom_Hoover> pikhq, my ISP is definitely run by assholes.
20:24:16 <pikhq> If it's run by assholes, you basically can't get onto BitTorrent.
20:24:22 <elliott> Phantom_Hoover: pikhq is wrong.
20:24:25 <elliott> pikhq is talking like he's in 2004.
20:24:26 <Phantom_Hoover> OTOH I can torrent anyway, so...
20:24:29 <elliott> pikhq thinks traffic shaping still works.
20:24:36 <elliott> (against encryption)
20:24:43 <elliott> Phantom_Hoover: It will go faster if you forward the ports.
20:24:44 <pikhq> elliott: Comcast somehow does it still.
20:24:51 <Phantom_Hoover> elliott, which ports, then?
20:24:51 <elliott> pikhq: Please do not assume the world = US
20:25:00 <elliott> Phantom_Hoover: It depends. Go into Transmission preferences, Network, click Test port.
20:25:06 <elliott> If it says it's open, never mind; everything's working.
20:25:07 <elliott> If not, say so.
20:25:08 <pikhq> Though they actually *block it* entirely.
20:25:25 <elliott> pikhq: Good luck doing that with encryption.
20:25:29 <fizzie> >0 is a distinct possibility for "borderline ISPs" like some student-housing places or something. They can go all like "ooh I see you have lots of connections to different places that smells like illegal peer-to-beer".
20:25:31 <pikhq> elliott: Still do it!
20:25:37 <Phantom_Hoover> pikhq, it's not blocked, since I've successfully torrented several times before.
20:25:54 <pikhq> Phantom_Hoover: Then an entirely 0 chance of your ISP giving a shit.
20:25:57 <elliott> fizzie: Fairly sure Phantom_Hoover isn't in student housing.
20:26:08 <Vorpal> elliott, hm I wonder what a non-geek overhearing fractions from a lecture on genetic algorithms would think
20:26:24 <Vorpal> elliott, "killing off unfit offspring in each generation"
20:26:27 <Vorpal> and so on
20:26:58 <Phantom_Hoover> elliott, the port is open, which just piques my curiosity further.
20:27:15 <Phantom_Hoover> Since I do have a router, and I haven't configured it.
20:27:21 <elliott> Vorpal: What if ADOLF HITLER travelled forwards in time and heard that.
20:27:28 <elliott> He would enslave us all to implement COMPUTATIONAL EUGENICS
20:27:35 <elliott> Phantom_Hoover: Then it does UPnP properly, be happy.
20:27:41 <fizzie> Phantom_Hoover: Do you have the UPnP or NAT-PMP checkboxes checked in the same page as the test-port thing?
20:27:46 <Vorpal> elliott, ...
20:28:02 <Phantom_Hoover> fizzie, ah, that makes sense.
20:28:21 <quintopia> what would hitler do when his algorithm told him to kill himself?
20:28:24 <quintopia> oh wait, stupid question
20:28:28 <fizzie> UPnP working for someone just like that; this clearly must be the 2010s.
20:28:34 <elliott> quintopia: fun fact, that's actually what happened
20:28:39 <elliott> he didn't give a shit about losing the war.
20:28:55 <quintopia> elliott: i know. hence the "stupid question" comment.
20:29:03 <Vorpal> <fizzie> Phantom_Hoover: Do you have the UPnP or NAT-PMP checkboxes checked in the same page as the test-port thing? <-- on the same page? Wait what?
20:29:12 <Vorpal> is that a router?
20:29:13 <elliott> quintopia: that's what hitler said
20:29:17 <Vorpal> with logical pages?
20:29:21 <elliott> Vorpal: no, transmission preferences.
20:29:22 <elliott> :p
20:29:34 <Vorpal> elliott, ah. The world isn't breaking down yet then
20:29:42 <quintopia> elliott: it's because i have so much in common with hitler. i'm white. i have a mustache. i have a german name. etc. etc.
20:29:49 <elliott> i should buy a box to be a router sometime, it sounds fun
20:29:52 <elliott> quintopia: also, you are hitler
20:29:58 <elliott> quite a similarity
20:30:08 <Vorpal> <elliott> i should buy a box to be a router sometime, it sounds fun <-- ?
20:30:14 <quintopia> elliott: are you a jew?
20:30:17 <fizzie> elliott: You can buy a cardboard box and then pretend to be a router like in Warriors of the Net.
20:30:19 * quintopia graps the jew-smiting hammer
20:30:24 <elliott> Vorpal: as opposed to my consumer router i have
20:30:26 <elliott> box = computer.
20:30:38 <Vorpal> elliott, ah. It would use a shitload more power
20:30:42 <elliott> quintopia: yes, i'm a filthy kike.
20:30:46 * elliott killed by Hitler for being a jew
20:30:48 * elliott killed by jews for saying that
20:30:58 * elliott killed by everyone because it seems popular
20:31:09 <quintopia> i wonder what hitler would do when his algorithm told him that most jews were more fit than him?
20:31:12 <elliott> Vorpal: maybe i'll make it ARM
20:31:12 <fizzie> Vorpal: I don't think my Atom mini-ITX box eats very many orders of magnitude more power than someone's embedded-linux router.
20:31:19 <elliott> quintopia: he exercised more
20:31:32 <quintopia> oh
20:31:40 <quintopia> i thought he drank more whiskey
20:32:30 <quintopia> wasn't he working against himself sending jews to labor camps then, forcing them to workout every single day? it's hard to keep up with that sort of exercise regimen.
20:32:50 <elliott> quintopia: he was a strong believer in giving yourself motive and competition to improve
20:33:10 <elliott> oerjan: http://esolangs.org/w/index.php?title=Language_list&curid=960&diff=20300&oldid=20299 whoops :D
20:33:16 <Phantom_Hoover> Now, to the matter of working out which torrent to use for a given thing.
20:33:16 <Vorpal> fizzie, hm
20:33:21 <quintopia> hitler was secretly a time traveller. that's he avoided all the time travellers trying to kill him.
20:33:30 <quintopia> *how he
20:33:32 <Vorpal> fizzie, that couldn't perform very well
20:33:47 <Phantom_Hoover> pikhq, you're a format nerd. What should I look for?
20:33:49 <Vorpal> fizzie, I was thinking 10 gbit ethernet router :P
20:33:55 <elliott> Phantom_Hoover: Well, what is it?
20:33:57 <fizzie> Vorpal: It performs perfectly well to saturate the sort of ADSL you can get here.
20:34:02 <Vorpal> fizzie, true
20:34:40 <Phantom_Hoover> elliott, I meant "in general, which format is the best for me to choose?"
20:34:53 <elliott> Phantom_Hoover: ...is it music? video? what?
20:34:54 <fizzie> I should sometimes benchmark how well it does on passing data between the network HD and the LAN, though; those are connected to different gige-ports on it.
20:34:56 <elliott> How the hell do you answer that question?
20:35:06 <Phantom_Hoover> elliott, video.
20:35:20 <elliott> Phantom_Hoover: btw, use http://torrentz.com/ to search and use the tracker list files it has.
20:35:30 <fizzie> LinITX ("UK's biggest small form factor specialist" to quote themselves) sells all kinds of funky router-optimized boxes.
20:35:31 <Phantom_Hoover> As indeed I plan to do.
20:35:33 <elliott> click the uTorrent compatible link, copy, go into torrent properties, trackers, Edit, paste it in.
20:35:41 <elliott> fizzie: It's not fun unless I do it myself without help!
20:35:50 <pikhq> Phantom_Hoover: DVD or Bluray ISO.
20:35:52 <elliott> Phantom_Hoover: Well, it depends!
20:35:56 <pikhq> (only half-joking)
20:36:01 <elliott> Phantom_Hoover: If it's a movie, look for a Blu-ray rip.
20:36:06 <elliott> Phantom_Hoover: If it looks too big, get a compressed version of that.
20:36:16 <elliott> Failing that, uh, order by file size and pick the largest one you feel like downloading.
20:36:39 <elliott> If it's a TV show, look for anything .mkv and it's probably decently done :P
20:36:50 <elliott> If it's anything else, I'm pretty sure pornography doesn't generally come in too many bitrate options.
20:36:57 <pikhq> I look for either the best-encoded h264 rip in .mkv or an actual ISO and encode it myself.
20:37:06 <fizzie> elliott: Well, they sell quasi-suitable parts too, if you don't want something that comes with an operating system. (I wouldn't buy their m0n0wall nonsense anyway, really. And MikroTik RouterOS, well...)
20:37:37 <fizzie> Quasi-suitable for when you want something that goes in a metal box and looks more routery than computery. :p
20:37:41 <elliott> Phantom_Hoover: you will appreciate google's logo today.
20:37:48 <elliott> fizzie: It will run Kitten, of course.
20:37:51 <elliott> fizzie: Or maybe NetBSD.
20:38:10 <Phantom_Hoover> elliott, I honestly didn't realise it was St. Andrew's day until I saw it stated explicitly.
20:38:16 <Phantom_Hoover> I thought it was in January.
20:38:24 <elliott> Phantom_Hoover: Welshman.
20:38:54 <Phantom_Hoover> Pretty sure I'm not /that/.
20:39:01 <fizzie> That seems to be some sort of .co.uk Google special.
20:39:03 <Phantom_Hoover> I have never felt any attraction towards sheep.
20:39:30 <elliott> Not even ... deep in your heart?
20:40:39 <Phantom_Hoover> No.
20:42:24 <pikhq> elliott: Well, I don't see it.
20:42:32 <pikhq> Ah, it's .co.uk only.
20:42:52 <pikhq> Suppose Americans would be confused by St. Andrew or something?
20:45:14 <Phantom_Hoover> Yes, given that they're idiots who can't even deal with a flag on a logo.
20:45:21 <nooga> :D:D:
20:46:35 <elliott> thats like a taliban falg
20:46:58 <elliott> pikhq: Okay, seriously, do I have to do $(ls -A) as an argument to tar?
20:46:59 <elliott> Really?
20:48:03 <pikhq> elliott: ... Yes.
20:48:36 <elliott> pikhq: Why is tar badly-designed.
20:48:57 <fizzie> Why does the "./" annoy you there?
20:49:12 <elliott> fizzie: Try using file-roller on such a tar; you get "." as an actual directory there.
20:49:18 <elliott> OK, so that's probably file-roller's fault, but still.
20:49:18 <pikhq> elliott: This would be astoundingly easy to do with cpio.
20:49:23 <elliott> It does put the actual ./ in the tar.
20:49:43 <elliott> pikhq: Don't you usually pipe find to cpio?
20:49:50 <pikhq> Yuh.
20:49:52 <pikhq> See, easy!
20:49:54 <elliott> pikhq: In which case presumably it strips the ./?
20:49:56 <elliott> Are you sure?
20:50:08 <pikhq> Not 100% sure.
20:51:59 <elliott> pikhq: Can I do --owner= and --group= with cpio? :p
20:52:11 <fizzie> Well, .deb's have the "./" inside them too, and it doesn't seem to bother anyone.
20:52:15 <pikhq> --owner=user:group
20:52:46 <pikhq> Or -R for the short option.
20:54:28 <elliott> pikhq: Is that POSIX-before-they-dropped-cpio?
20:54:41 <elliott> pikhq: Well, it's not busybox, just checked. >_<
20:54:48 <elliott> fizzie: .debs are ars...
20:55:14 <pikhq> Well, it is in BSD...
20:56:12 <fizzie> I mean the data-containing tar part.
20:56:59 <fizzie> (dpkg-deb -c blah.deb => files are like "./usr/share/foo"; I assume ./ is in the tar already.)
20:58:06 <elliott> Er, how does one list the contents of a tar file?
20:58:12 <elliott> oh, t.
20:58:14 <elliott> *Oh,
20:58:27 <elliott> fizzie: ls -A does work though.
20:59:42 <elliott> pikhq: If I use sh -e, and depend on
20:59:44 <elliott> [ -x $pkg/build ]
20:59:49 <elliott> exiting if it's not true, am I silly and/or hideous?
20:59:54 <elliott> As opposed to adding || exit 1.
21:04:54 <elliott> Ha, it's buil't.
21:04:57 <elliott> The first Kitten package.
21:05:13 <elliott> -rw-r--r-- 1 elliott elliott 370K Nov 30 21:04 vi.tar
21:05:26 <elliott> Admittedly it's not a real Kitten package; it's compiled with gcc, and dynamically linked with glibc.
21:05:29 <elliott> But 'tis a start.
21:06:14 <elliott> pikhq: Now I'm wondering how to do uninstallation.
21:06:34 <elliott> pikhq: I'm thinking: Each package has a manifest, which is a bunch of lines with "<sha128 hash or whatever> filename".
21:06:47 <elliott> pikhq: The uninstall script removes every file that hashes right, and prints out the ones that don't (presumably configuration files you've modified).
21:06:51 <elliott> You can then remove them yourself if you want to.
21:07:09 <elliott> Er, sha128 means sha1 doesn't it.
21:07:11 <pikhq> Probably the best simple way of doing it.
21:07:12 <elliott> You know what I mean.
21:07:22 <elliott> pikhq: You'd better test Kitten when it's ready :P
21:07:29 <pikhq> Sure.
21:07:36 <pikhq> In a VM, mind, but sure. :P
21:07:51 <elliott> pikhq: And then if it's decent on disk? I think being the only user would crush my soul. :p
21:08:01 <elliott> (When I declare it stable enough, of course.)
21:08:10 <pikhq> Quite possibly.
21:08:10 -!- kar8nga has quit (Read error: Connection reset by peer).
21:08:39 <elliott> pikhq: BTW, I'm still not sure how to do multilib, but I'm erring on the side of "keep it simple and if you want multilib you get to have the packages built on your machine".
21:08:47 <elliott> i.e. automated, but no binary packages.
21:09:00 <elliott> pikhq: Hmm, wait a second.
21:09:23 <elliott> pikhq: If I do static linking exclusively, then putting a package in /arch/foo even when it thinks it's meant to be in / shouldn't cause problems, right?
21:09:33 <elliott> pikhq: Stuff that puts its prefix in executables, sure.
21:09:36 <elliott> But those are rare.
21:09:41 <pikhq> elliott: In most cases, it shouldn't cause problems.
21:09:55 <elliott> pikhq: I'll just do that then. If it doesn't work you can build the package yourself.
21:10:32 <elliott> pikhq: Of course, as for actually supporting more than one platform and thus making this relevant, that will have to wait. Exclusively x86-64 to start with. :p
21:11:17 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
21:11:43 <Vorpal> elliott, I started a new single player game. Mostly to build a underwater fort in it as my main base. Found a HUGE underground cave with lots of lava lakes and waterfalls.
21:11:56 <elliott> Vorpal: heh
21:12:04 <Vorpal> elliott, below the sea too
21:12:11 <elliott> Vorpal: building it out of glass i hope
21:12:16 <Vorpal> elliott, a lot of stone pillars in the middle so you can't actually see from end to end
21:12:29 <Vorpal> elliott, that should pose no problem. I spawned on a desert next to the sea :P
21:12:59 <elliott> pikhq: Here's the incredibly complicated pkgbuild script: http://sprunge.us/GdVR
21:13:00 <elliott> pikhq: :P
21:13:09 <elliott> pikhq: Although I think $(ls -A) breaks for filenames with spaces in them; patches welcome. :p
21:14:08 <Vorpal> elliott, estimated size from map for the huge cavern part: 200x50. And some way away there is one even larger , 100x100 or so. Which seems to be a lot more open and have one huge lava lake covering more than 2/3
21:14:40 <pikhq> ls -A | cpio!
21:14:41 <pikhq> :P
21:14:43 -!- augur has quit (Remote host closed the connection).
21:14:52 <elliott> pikhq: Really tempting.
21:15:06 <elliott> pikhq: But how can I call packages furballs if they're not tarballs? :p
21:15:07 <elliott> cpioballs?
21:15:14 <pikhq> elliott: cpio can make tarballs.
21:15:19 <elliott> Operation modifiers:
21:15:19 <elliott> -[0-7][lmh]
21:15:19 <elliott> specify drive and density
21:15:24 <elliott> pikhq: Only GNU cpio.
21:15:32 -!- augur has joined.
21:15:34 <elliott> BusyBox cpio can't.
21:15:51 <pikhq> Damned BusyBox cpio.
21:16:17 <pikhq> *pax*!
21:16:19 <elliott> pikhq: Hey now, no insulting BusyBox.
21:16:21 <elliott> Yes, I know of pax.
21:16:23 <elliott> No, I will not use pax.
21:16:26 <pikhq> ls -A | pax
21:16:28 <elliott> No, BusyBox doesn't have pax afaik.
21:16:34 <elliott> pikhq: Umm .. wrong.
21:16:43 <elliott> That will try and list the contents of the archive (directory list).
21:17:01 <elliott> pikhq: You mean "find . -depth -print | pax -wd >foo.tar", apparently.
21:17:08 <pikhq> ... That.
21:17:08 <elliott> Not sure what that argument-less depth is all about.
21:17:23 <elliott> s/\.\./.../
21:17:32 <elliott> pikhq: Also:
21:17:37 <elliott> $ pax -wf /dev/fd0 .
21:17:37 <elliott> ATTENTION! pax archive volume change required.
21:17:37 <elliott> /dev/fd0 ready for archive volume: 2
21:17:37 <elliott> Load the NEXT STORAGE MEDIA (if required) and make sure it is WRITE ENABLED.
21:17:37 <elliott> Type "y" to continue, "." to quit pax, or "s" to switch to new device.
21:17:37 <elliott> If you cannot change storage media, type "s"
21:17:39 <elliott> Is the device ready and online? >
21:18:04 <elliott> pikhq: Holy shit.
21:18:05 <elliott> pikhq: http://www.opengroup.org/onlinepubs/009695399/utilities/pax.html
21:18:09 <elliott> pikhq: Look at that fucking man page.
21:18:17 <elliott> (Is it still a man page if it has tables and diagrams?)
21:18:21 <elliott> pikhq: Most bloated tool EVAR
21:18:28 <elliott> -o options
21:18:28 <elliott> Provide information to the implementation to modify the algorithm for extracting or writing files. The value of options shall consist of one or more comma-separated keywords of the form:
21:18:28 <elliott> keyword[[:]=value][,keyword[[:]=value], ...]
21:18:31 -!- nooga has quit (Ping timeout: 265 seconds).
21:18:38 <pikhq> elliott: Well, it *is* meant to replace cpio/tar/etc.
21:18:43 <elliott> pikhq: Yes, but just LOOK at it.
21:18:59 <pikhq> ... Holy crap you can *change the algorithm*?
21:19:01 <elliott> Bleh, I'll just make tars with a . directory.
21:19:48 <elliott> pikhq: http://sprunge.us/bRhM
21:19:51 <elliott> pikhq: Package building!
21:20:10 -!- nooga has joined.
21:22:02 <elliott> elliott@dinky:~/code/pkg$ make -n install
21:22:02 <elliott> mkdir -p //bin
21:22:02 <elliott> mkdir -p //var/pkg
21:22:06 <elliott> Hmph, those duplicate /s really irk me.
21:22:28 <elliott> -p, --preserve-permissions, --same-permissions
21:22:28 <elliott> extract information about file permissions (default for superuser)
21:22:34 <elliott> ... tar lets this mode *not* be default?
21:22:38 <elliott> Ever?
21:22:48 <elliott> pikhq: Know what I love? CPIO.
21:25:26 <elliott> pikhq: Odd. -depth seems to put directories after their files when given no argument.
21:25:38 <elliott> Wait, it takes no argument.
21:25:46 <elliott> -depth Process each directory's contents before the directory itself.
21:25:46 <elliott> The -delete action also implies -depth.
21:25:47 <elliott> Huh.
21:26:54 -!- BeholdMyGlory has joined.
21:27:38 <elliott> pikhq: So whaddya think. tar or cpio? :p
21:28:02 <elliott> pikhq: Ugh it is so *irritating* that cpio has no arguments to set owner/group.
21:29:12 <pikhq> elliott: -R owner:group
21:29:48 <elliott> pikhq: http://sprunge.us/SVSB
21:32:04 <elliott> pikhq: So no :P
21:32:28 <pikhq> That is annoying.
21:32:41 <pikhq> ddsh cpio? :P
21:35:09 <elliott> pikhq: AHA
21:35:13 <elliott> pikhq: I will just use dd/shars
21:38:20 -!- GreaseMonkey has joined.
21:45:59 <elliott> pikhq: find -depth ! -name .
21:46:02 <elliott> pikhq: This is actually valid.
21:46:04 <elliott> pikhq: (and is implicit)
21:54:05 <Ilari> WHAT??? IPv4 unallocated block count is down to 7 (Confirmed from IANA allocation records).
21:58:09 <Ilari> One final allocation and it will be finished.
21:59:35 -!- Sgeo has joined.
21:59:50 <elliott> Ilari: LOLZ
22:00:21 <Sgeo> Is there likely to be a Newspeak3 in the near future or have things settled down a little
22:00:25 <Ilari> The models seem to be quite optimistic w.r.t. reality...
22:00:32 * Sgeo wants to look at Newspeak more closely
22:01:02 <Sgeo> Forth helped me not go insane at Factor, Factor's listener might help me not go insane at Newspeak's... tools
22:02:44 <Ilari> The models have APNIC last, so this doesn't nominally change the depletion day...
22:06:30 <elliott> pikhq: Hey, I just realised.
22:06:38 <elliott> pikhq: The code section is shared between all instances of the busybox process.
22:06:41 <elliott> Cool.
22:06:46 <pikhq> So it is.
22:07:02 <pikhq> Ilari: Wait, seriously?
22:07:45 <pikhq> RIPE allocated those.
22:08:04 <pikhq> And ARIN is allocating soon.
22:08:04 <Ilari> http://www.iana.org/assignments/ipv4-address-space/
22:08:16 <pikhq> Erm.
22:08:26 <pikhq> APNIC should be allocating soon...
22:08:57 <Ilari> And when that happens, it will end it.
22:09:13 <pikhq> Yup.
22:10:09 <elliott> brb
22:10:10 <Ilari> BTW: Anyone got the reference in "One final allocation and it will be finished." and "And when that happens, it will end it."? :-)
22:12:23 <Sgeo> elliott, what is your opinion of Newspeak?
22:14:48 <pikhq> Wasn't this an insanely early allocation for RIPE?
22:15:00 <Sgeo> "So if you need to add a member to a module definition, you should be able check who is mixing it in and what names they have added."
22:15:04 <pikhq> I.e. possibly indicative of a run on the bank?
22:15:06 <Sgeo> Um... fuck you
22:15:23 <Sgeo> I'm just going to pretend I didn't read that.
22:15:49 <Vorpal> elliott, dug through to the huger open one
22:15:52 <Vorpal> impressive
22:16:12 <Vorpal> elliott, maybe that mine seed thing would be nice
22:16:34 <elliott> Sgeo: why fuck you
22:17:17 <Sgeo> Because I, module author, shouldn't have to check that no dumbasses anywhere in the world subclassed my module and added some name
22:17:24 <elliott> ...
22:17:30 <elliott> moron
22:20:45 <Vorpal> <Ilari> BTW: Anyone got the reference in "One final allocation and it will be finished." and "And when that happens, it will end it."? :-) <-- sounds familiar
22:20:47 <Vorpal> Ilari, can't place it
22:20:51 <Vorpal> Ilari, some webcomic?
22:21:09 <Sgeo> elliott, ?
22:21:33 <Ilari> Hint: The original forms were "Today, it will be finished!" and "This will end it!".
22:21:53 <Vorpal> Ilari, ah then I guess that webcomic referenced the same thing, whatever it was
22:22:14 <Ilari> (and it is a game).
22:22:16 <Vorpal> I have a vague memory of a web comic panel, no clue what webcomic
22:22:23 <Vorpal> Ilari, then I don't know
22:24:03 <ineiros> Graa.
22:24:16 <Vorpal> ineiros, you have to update
22:24:44 <Vorpal> ineiros, tell me when it is done
22:24:51 <Vorpal> ineiros, not that I have much this this late
22:25:02 -!- MigoMipo has quit (Quit: Quit).
22:25:57 <ineiros> I think I'll still do it now.
22:26:18 <ineiros> I might be slightly intoxicated, though.
22:26:35 <fizzie> ineiros: Are you enjoying the glamorous life of a Minecraft server administrator, with demanding customers and SLAs to fulfill?
22:26:39 <Vorpal> ineiros, huh
22:26:53 <fizzie> Also try not to wipe out the world.
22:28:40 <fizzie> Oh, and get yourself a pager we can bother you with for server updates. Possibly with some sort of electric-shock compliance enforcement option.
22:28:49 <elliott> +1
22:32:55 <ineiros> Graa, what am I doing?
22:33:14 <elliott> upgrading
22:33:15 -!- oklofok has joined.
22:33:24 <Vorpal> huh googling for IW LED I can't find much. But this flashlight states it uses IW LED at 30-60 lumen.
22:33:31 <fizzie> Hopefully not downgrading.
22:33:35 <Vorpal> it sure is extremely bright
22:33:56 <Vorpal> ineiros, you have a backup I hope?
22:34:24 <Vorpal> fizzie, shouldn't it simply be: backup, download new .jar and run it?
22:34:38 <ineiros> I think I managed to do it.
22:34:41 <ineiros> :P
22:34:49 <ineiros> Try logging in now.
22:34:58 <Phantom_Hoover> Have you guys actually done anything new today/
22:35:04 <fizzie> I don't think I've ever actually ran the servur.
22:35:59 <Vorpal> ineiros, I can login. But this is a wasteland I see
22:36:14 <Vorpal> ineiros, post-third worldway
22:36:16 <Vorpal> war*
22:36:17 -!- oklopol has quit (Ping timeout: 240 seconds).
22:36:25 <ineiros> Why?
22:36:27 <Vorpal> oh wait, it was just a vision ;P
22:36:41 <elliott> ...
22:36:48 <Phantom_Hoover> So has any development occurred?
22:37:23 <fizzie> Hey, the client remembered the server name (but not port).
22:37:43 <fizzie> Maybe some day he'll actually add that server list thing.
22:41:07 -!- Sasha has joined.
22:41:41 <Sgeo> elliott, you still haven't told me your opinion
22:46:19 <elliott> Galois, Inc. is pleased to announce the immediate release of the Haskell Lightweight Virtual Machine (or HaLVM), version 1.0. The HaLVM is a port of the GHC runtime system to the Xen hypervisor, allowing programmers to create Haskell programs that run directly on Xen’s “bare metal.” Internally, Galois has used this system in several projects with much success, and we hope y’all will have an equally great time with it.
22:46:21 <elliott> HAWT.
22:47:32 <oerjan> virtual bare metal
22:48:00 <oerjan> an actually useful oxymoron
22:49:14 <elliott> Phantom_Hoover: haskell.org got redesigned.
22:49:16 <elliott> oerjan: too I guess
22:49:17 <elliott> http://haskell.org/haskellwiki/Haskell
22:49:19 <elliott> It's nice.
22:51:56 * oerjan notes some broken images
22:52:36 <elliott> indeed :P
22:54:11 -!- mutt_d has joined.
22:55:45 <Sgeo> There was an old woman who lived in a proxy
22:56:03 <Sgeo> "Linguistic Reflection via Mirrors" lecture spoiler
22:56:05 <Sgeo> >.>
22:56:37 <elliott> lecture...spoiler.
22:56:41 <elliott> i hate you
22:57:24 <Sgeo> =P
22:57:49 <elliott> pikhq: So, uh... any ideas other than having pkgbuild run as root?
22:57:53 <elliott> (Not going to setuid it root. Just no.)
22:58:29 <Phantom_Hoover> I wish I understood the newtype State s a = State { runState :: s -> (s,a) } thing
22:58:36 <Phantom_Hoover> What is runState?
22:58:37 <elliott> Phantom_Hoover: It's easy.
22:58:39 <elliott> Phantom_Hoover: Ignore runState.
22:58:48 <Phantom_Hoover> What does it do in general terms?
22:58:50 <elliott> newtype State s a = State (s -> (s, a))
22:58:52 <elliott> Phantom_Hoover: Do you understand that?
22:59:06 <elliott> Phantom_Hoover: It takes a state and returns the modified state and the actual value.
22:59:19 <Sgeo> http://newspeaklanguage.org/newspeak-videos/
22:59:23 <elliott> Phantom_Hoover: Yes/no? :p
22:59:49 <Phantom_Hoover> Ah, so runState is basically just an elaborate version of \x -> case x of State f -> f
23:00:01 <Phantom_Hoover> Well, s/elaborate/shortened/
23:00:12 <elliott> Phantom_Hoover: Can you give yes/no answers to yes/no questions rather than trying to think ahead?
23:00:28 <Phantom_Hoover> I understand that.
23:00:29 <elliott> It is /really/ irritating trying to explain things to people in simple, obvious chunks and having them often completely misinterpret things because they're skipping ahead.
23:00:59 <elliott> Phantom_Hoover: Okay, then:
23:01:04 <elliott> runstate :: State s a -> s -> (s, a)
23:01:14 <Phantom_Hoover> Yes, I get it now.
23:01:15 <elliott> i.e., given a stateful computation, and an initial state, return the final state and the final result.
23:01:16 <elliott> *runState
23:01:25 <elliott> runState (State f) s x = f s x
23:01:32 <oerjan> elliott: you are assuming he actually wants the explanation of the monad, while he is just asking for the syntax
23:01:35 <elliott> Phantom_Hoover: But since you can do record accessors with that syntax, you don't need this wrapper function.
23:01:41 <elliott> oerjan: actually, I was assuming he knew both
23:01:48 <elliott> oerjan: I was just explaining /why/ runState is done as an accessor (simplicity)
23:01:52 <elliott> which is non-intuitive
23:02:01 <oerjan> hm
23:02:10 <elliott> or rather /how/
23:02:11 <elliott> but whatever
23:02:30 -!- mutt_d has left (?).
23:03:58 * Sgeo falls in love with mirrors
23:04:06 <oerjan> technically runState is a field name, you can put those in data definitions as well
23:04:36 <oerjan> *declarations
23:04:50 <elliott> yes, indeed
23:05:42 <oerjan> and in that case they are also useful for pattern matching and modifying
23:07:13 <elliott> oerjan: well, arguably :P
23:07:44 <oerjan> if you have many fields especially, since you only need to mention the fields you actually use
23:09:32 <elliott> oerjan: sign of a bad data structure usually
23:10:08 -!- sshc has joined.
23:10:27 <oerjan> oh well
23:10:52 <elliott> [[This is a neat idea, but if the gov't wanted to stop us from communicating, they could just cut the cables and down the satellites.]]
23:11:00 <elliott> I would love to see someone cut an undersea internet cable.
23:11:09 <elliott> "...and I have a really big saw to do it with, too!"
23:11:29 <oerjan> ...it has happened before
23:12:02 <elliott> oerjan: the cutting of an *undersea* cable?
23:12:10 <elliott> if so, impressive! how big was the saw?
23:12:42 <oerjan> well cables getting cut, at least. i'm not sure they found the culprit
23:13:02 <elliott> oerjan: are you sure you don't just mean, like, regular cables?
23:13:07 <elliott> rather than the gigantic ones going across the ocean?
23:13:57 <oerjan> http://news.softpedia.com/news/Severed-Undersea-Internet-Cable-to-Disrupt-Service-in-India-140641.shtml
23:15:06 -!- perdito has joined.
23:15:12 <elliott> awesome :D
23:15:28 <perdito> hi folks
23:15:30 <elliott> http://en.wikipedia.org/wiki/SEA-ME-WE_4
23:15:33 <elliott> look at how fucking long it is!
23:16:38 -!- Sasha2 has joined.
23:17:13 -!- Sasha has quit (Ping timeout: 255 seconds).
23:17:39 <Phantom_Hoover> elliott, I often wonder how long it will be until the terrorists wise up and get some thermite and diving gear.
23:17:58 <elliott> the combination of thermite and diving gear has to be the most awesome thing ever
23:18:11 <elliott> Phantom_Hoover: also, OH NO THE INTERNET WENT OUT FOR A WHILE
23:18:17 <elliott> not quite apocalyptic yet.
23:18:38 <Phantom_Hoover> elliott, "OH NO THE BACKBONE OF OUR COMMUNICATIONS AND HENCE ECONOMY WENT OUT"
23:18:56 <elliott> Phantom_Hoover: Of our *intra-continent* communiactions.
23:18:59 <elliott> Erm.
23:19:00 <elliott> *inter-
23:19:30 <elliott> pikhq: So! Should I use cpio or tar?
23:19:38 <Phantom_Hoover> Also, there's the transatlantic cable off the coast of Ireland.
23:22:35 <elliott> pikhq: Also, SHA-1 or SHA-224 or other for hashes in the manifest? I'm thinkin' just SHA-1 and make it SHA-3 whenever (as if that will ever be a problem).
23:24:20 -!- oklofok has quit (Ping timeout: 260 seconds).
23:25:08 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:28:19 -!- oklopol has joined.
23:29:11 -!- Goosey has joined.
23:31:33 -!- augur has quit (Remote host closed the connection).
23:46:06 <elliott> pikhq: Hey, can one su to nobody? Nobody has no password, so...
23:46:53 <elliott> pikhq: Actually -- can one become nobody in a shell script, without the terminal seeing anything?
23:47:08 <elliott> I'd rather not depend on sudo, but I guess I could.
23:56:20 <Vorpal> haha
23:56:25 <Vorpal> yellow text
23:56:31 <Vorpal> "jag känner en bot"
23:56:32 <Vorpal> XD
23:56:36 <Vorpal> elliott, ^
23:56:48 <oklopol> didn't you read the list
23:56:53 <Vorpal> oklopol, nop
23:56:59 <oklopol> those were much funnier when you saw them in a huge list
23:57:00 <elliott> Vorpal: Reference to http://www.youtube.com/watch?v=6oTsB-u-iPI.
23:57:09 <oklopol> even Vorpal knows what it's a reference to
23:57:10 <Vorpal> elliott, I know what it is a reference to....
23:57:11 <elliott> Which was meme-y a few years back.
23:57:18 <oklopol> he's swedish you know
23:57:19 <Vorpal> elliott, why else would I laugh at it
23:57:26 <elliott> oklopol: iirc he mentioned one of those in the list and someone had to point it out to him
23:57:30 <elliott> but anyway you can never be sure with Vorpal :D
23:57:38 <Vorpal> I haven't listened to it though
23:57:44 <Vorpal> but of course I know about it
23:57:46 <elliott> that thing got re-dubbed in english with completely unrelated lyrics, weirded me out when i heard it
23:57:47 <elliott> like
23:57:48 <elliott> "wait"
23:57:51 <ineiros> GRAA!
23:57:52 <elliott> "he hasn't said 'bot' once yet"
23:58:10 <Vorpal> ineiros, ?
23:58:14 <ineiros> GRAA!
23:58:39 <oklopol> i know a boat
23:58:45 <Vorpal> ineiros, Is it because of GRAA! that you feel insecure?
23:58:54 <Vorpal> </eliza>
23:59:02 <ineiros> I don't feel insecure.
23:59:16 <Vorpal> ineiros, I was joking about ELIZA
23:59:17 <oklopol> his name is andy, andy is his name
23:59:26 <oklopol> and i guess this rhyme is kinda lame
23:59:40 <nooga> fffuuuuuuuuuuu C++
23:59:41 <Vorpal> hm is 60 lumen bright?
23:59:49 <Vorpal> very directed light
23:59:55 <nooga> i hate object types and references
←2010-11-29 2010-11-30 2010-12-01→ ↑2010 ↑all