←2010-11-28 2010-11-29 2010-11-30→ ↑2010 ↑all
00:00:53 -!- poiuy_qwert has quit (Ping timeout: 255 seconds).
00:04:12 <elliott> what's REDPROGRAM
00:05:40 -!- GreaseMonkey has joined.
00:05:40 -!- GreaseMonkey has quit (Changing host).
00:05:40 -!- GreaseMonkey has joined.
00:05:55 <Sgeo> One and one still is one
00:06:03 -!- poiuy_qwert has joined.
00:08:23 <elliott> oklopol: can i just say that sevenfold.mid is the best thing ever
00:09:16 <zzo38> elliott: REDPROGRAM is a function taking two parameters, one is the index number to a FlooP program and the other is its parameter. An ordering is applied to FlooP programs (a turing-complete programming language).
00:10:17 <elliott> http://i.imgur.com/dpGbh.png MY EYES
00:10:22 <zzo38> Each program takes one natural number as input and its output is one natural number. That is the GREENPROGRAM command. Remove all programs from the list that do not halt for all values of input, and then make the numbering consecutive again, that is REDPROGRAM.
00:10:57 <Sgeo> elliott, linky?
00:11:03 <zzo38> elliott: Now do you understand what REDPROGRAM is?
00:11:06 <elliott> Sgeo: http://www.vjn.fi/oklopol/music/sevenfold.mid. it gets better
00:11:08 <elliott> zzo38: yes, thanks
00:11:52 <Sgeo> my browser is being a bitch
00:11:57 <elliott> Sgeo: wget
00:12:41 <Sgeo> elliott, is that Clojure?
00:12:47 <elliott> Sgeo: what
00:12:50 <elliott> oh the screenshot
00:12:50 <elliott> yes
00:12:53 <elliott> but ow my eys
00:12:54 <elliott> eyes
00:13:00 <Sgeo> Why ow your eyes?
00:13:53 <elliott> the colours
00:13:54 <elliott> duh
00:14:01 * Sgeo goes to a data: URI rather than bothering with wget
00:14:16 <Sgeo> Or, my browser just downloads the file anyway, so nevermind
00:15:52 <Sgeo> Ow, my ears
00:15:58 <elliott> loser
00:15:59 <elliott> also it gets better
00:16:05 <elliott> * Sgeo goes to a data: URI rather than bothering with wget <-- what?
00:16:10 <elliott> oh with a link
00:17:07 <Sgeo> There were maybe a few seconds of pleasant sound
00:17:18 <elliott> you suck
00:17:38 <Sgeo> I mean, there are good parts
00:17:43 <Sgeo> And then EAR HORROR
00:17:45 <Sgeo> Another good part
00:17:47 <Sgeo> EAR HORROR
00:18:25 <elliott> your ears are broken
00:18:26 <elliott> it's all great
00:18:53 <Sgeo> I think this is oklopol's answer to my singing
00:19:27 <elliott> your singing is terrible.
00:19:30 <elliott> sevenfold is amazing.
00:19:57 <elliott> try http://www.vjn.fi/oklopol/music/etudes/All-as-midi.rar then :P
00:20:26 -!- augur has quit (Remote host closed the connection).
00:34:02 <elliott> pikhq: can you develop @ for me please thanks bye
00:34:50 <elliott> pikhq: or at least half of it
00:36:31 <zzo38> Can you make a DVI driver to control a old-fashion printing press?
00:43:50 <elliott> gah, where did ais523 go
00:47:58 * Sgeo would love to develop @
00:48:12 <Sgeo> Except I don't even have an idea of what it's supposed to be like
00:48:14 <Gregor> zzo38: Doesn't DVI have font embedding and such? If so, no.
00:48:21 <elliott> Sgeo: have you ever coded actual haskell
00:48:23 <elliott> Gregor: no, it doesn't
00:48:26 <elliott> Gregor: one of it's many flaws
00:48:30 <Sgeo> elliott, "actual"?
00:48:37 <Sgeo> I made a BF interpreter once
00:48:39 <elliott> Sgeo: as in not just a goldilock's joke
00:48:40 <zzo38> Gregor: DVI has no font embedding.
00:48:46 <elliott> *everything is aid, fix the grammar and all
00:48:47 <elliott> *i said
00:50:20 <elliott> Sgeo: have you ever coded in any non-haskell functional language
00:50:36 <Sgeo> Hmm
00:50:41 <Sgeo> I don't think so
00:50:51 <Sgeo> I read about Erlang a while ago, but never coded in it
00:50:55 <zzo38> But it is possible to include fonts in separate files, but you should compile the fonts separately for each printer because they have different resolutions and so on.
00:51:27 <zzo38> One font format is GF format; you can see my program GF-Magick for an example of parsing GF files.
00:51:47 <Sgeo> elliott, what language is @ in?
00:52:11 <elliott> Sgeo: (new)
00:52:19 <Sgeo> Fun!
00:52:26 <zzo38> I think it is in @
00:52:32 <elliott> Sgeo: it is heavy in type theory.
00:52:59 <Sgeo> Erm, hm
00:53:02 <Sgeo> :/
00:53:05 <elliott> Sgeo: try http://en.wikipedia.org/wiki/Intuitionistic_type_theory. except it's not quite like that. but that's basically a prerequisite to being able to understand any of this.
00:54:03 <elliott> Sgeo: also good to have an understanding of: type systems, specialisers, FRP, HCI, x86-64
00:54:28 <Sgeo> So maybe I'll stay away then
00:54:35 <Sgeo> I would love to learn all that stuff though
00:54:55 <elliott> it's not that hard, dunno why i said type systems there since that S type theory
00:55:08 <elliott> type theory is just functional programming one level higher. and a bit of logic.
00:55:14 <elliott> specialisers are not complicated at all, just hard to implement
00:55:18 <elliott> FRP is simpler than imperative IO
00:55:24 <elliott> HCI is not really necessary to know
00:55:29 <Sgeo> " whose result type may vary on their input"
00:55:36 <elliott> x86-64 is just some wiki pages to understand.
00:56:04 <Sgeo> So you could have division that's Integer if the result is an integer, Double if the result isn't?
00:56:15 <Sgeo> Or am I totally misunderstanding?
00:56:16 <elliott> Sgeo: um. sort of. doing that would get you a slap and i'd never talk to you again.
00:56:23 <elliott> Sgeo: it's all compile-time
00:56:26 <elliott> or rather
00:56:28 <elliott> typecheck time
00:56:30 <elliott> which is the same as
00:56:33 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
00:56:33 <elliott> theorem verification time
00:56:48 <Sgeo> So what does the result type vary on?
00:57:14 <Sgeo> The types of the input? That doesn't make much sense
00:57:40 <Sgeo> Well, more sense than the division thing, ad
00:57:43 * Sgeo confuses
00:58:47 <elliott> Sgeo: the functional type (A -> B) is replaced by a type (x:A) -> B, where B can include mention of x.
00:58:48 <elliott> that's all.
00:59:04 <elliott> also, types become values in the value language, too, so you can do "foo = Integer"
00:59:17 <elliott> ((x:A) -> B) happens to be the same as (forall x in A : B) in intuitionistic logic.
00:59:20 <Sgeo> So no data Hey = Hey | What
00:59:23 <elliott> thus the theorems
00:59:25 <elliott> Sgeo: who said that
00:59:39 <Sgeo> Me, seeing a consequence of what you just said... or not
00:59:39 -!- poiuy_qwert has joined.
00:59:39 -!- augur has joined.
00:59:53 <elliott> Sgeo: how is that a consequence
01:00:18 <Sgeo> foo = Hey is foo of type Hey or whatever type can hold types?
01:00:23 <Sgeo> Two different Heys
01:00:45 <elliott> well, yes.
01:00:56 <elliott> in Coq one would call the constructors "hey" and "what" instead, the uppercase constructor names make little sense
01:00:58 <elliott> in such a language.
01:02:02 <elliott> learn Coq, that's the easiest way to learn most of htis stuff.
01:02:03 <elliott> *this
01:02:21 <Sgeo> A
01:02:22 <Sgeo> Ah
01:02:47 <Sgeo> I'm almost reluctant to learn a non-general-purposeish language
01:02:51 <Sgeo> I don't know why
01:03:03 <Sgeo> I think it's because if I can't imagine it ruling the world one day...
01:03:11 <Sgeo> I think I'll force myself
01:03:16 <elliott> coq is sort of general purpose
01:03:26 <elliott> Sgeo: also, you care way too much about ego, status, authority, popularity.
01:03:37 <Sgeo> I object to "authority"!
01:03:47 <elliott> Sgeo: indeed you do.
01:04:27 <Sgeo> And I care about popularity not in "It's only worthwhile if it's popular" but as in "This is an awesome language. It deserves to be more popular"
01:04:49 <elliott> Sgeo: mhm. yet you went on about debian not being "usable"
01:04:52 <elliott> anyway, i have to leave.
01:04:57 <Sgeo> Bye
01:05:12 <elliott> Sgeo: http://adam.chlipala.net/cpdt/ is an online book on coq.
01:05:24 <elliott> just google anything you don't understand
01:05:35 <elliott> it's not the best book on coq since it's meant for a specific use of it, but it's close enough
01:05:45 <elliott> bye
01:05:46 -!- elliott has quit (Quit: Leaving).
01:06:01 <Sgeo> So why would elliott link me to something that's not the best book?
01:06:17 * Sgeo tries it anyway
01:06:28 <Sgeo> I always love multiple viewpoints and tutorials
01:12:50 -!- quintopia has joined.
01:13:16 -!- quintopia has changed nick to Guest67632.
01:18:02 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
01:19:42 -!- poiuy_qwert has joined.
01:20:37 -!- FireFly has quit (Quit: swatted to death).
01:23:11 -!- Goosey has quit (Read error: Connection reset by peer).
01:25:26 -!- Guest67632 has changed nick to quintopia.
01:27:05 -!- Mathnerd314 has joined.
01:38:03 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
01:39:28 -!- poiuy_qwert has joined.
02:15:35 -!- pikhq has quit (Ping timeout: 265 seconds).
02:17:05 -!- pikhq has joined.
02:23:19 -!- poiuy_qwert has quit (Ping timeout: 265 seconds).
02:28:00 -!- poiuy_qwert has joined.
02:36:04 -!- Goosey has joined.
02:36:09 <Goosey> http://imgs.xkcd.com/comics/computational_linguists.png
02:36:16 <Goosey> I love that guy :D
02:36:46 -!- zzo38 has left (?).
02:37:39 -!- Slereah has quit (Ping timeout: 252 seconds).
02:40:23 <Sgeo> Goosey, a number of people here dislike XKCD
02:40:27 <Sgeo> I am not one of them, but
02:42:34 <Goosey> Dislike....
02:42:35 <Goosey> D:
02:43:00 <Goosey> How sad
02:54:54 -!- Slereah has joined.
03:03:33 -!- Sasha2 has joined.
03:05:10 -!- Sasha2_ has quit (Ping timeout: 245 seconds).
03:11:35 <oklopol> Gregor: you haven't done anything that awesome recently, why is that?
03:13:07 <Sgeo> When was the last time I did anything awesome?
03:15:45 <Gregor> oklopol: I have two papers submitted for review, one coming up to be submitted for review in a month, and one Super-Sekrit™ project I can't tell you about. Also there's http://js.codu.org/ and WebSplat.
03:16:29 <Sgeo> Will the Super-Sekrit project ever cease to be Super-Sekrit?
03:16:50 <Gregor> Sgeo: Iff the first of the papers submitted for review is accepted.
03:17:06 <Sgeo> Also: Is it larger than a breadbox?
03:17:15 <Gregor> It is more abstract than a breadbox.
03:18:30 <Sgeo> So basically, it's not larger than a breadbox, smaller than a breadbox, the same size as a breadbox, or a breadbox.
03:18:36 <Sgeo> It must be an anti-breadbox.
03:18:48 <oklopol> "<elliott> oklopol: can i just say that sevenfold.mid is the best thing ever" <<< at this gathering, i actually tried to make something as horrible as possible, but failed because it turned out awesome
03:19:04 <Sgeo> oklopol, I compared it with my singing
03:19:11 <Sgeo> But there were good parts
03:19:26 <Sgeo> (to sevenfold.mid, not my singing)
03:21:06 <oklopol> "<Sgeo> When was the last time I did anything awesome?" <<< i don't remember
03:21:35 <oklopol> Gregor: well those are all somewhat awesome things, but what have you done for ME?
03:21:50 <oklopol> what were the papers about, or were they so stupid you don't wanna tell?
03:21:56 <Gregor> oklopol: All that porn I scp you on a crontab every night :P
03:22:32 <oklopol> yeah but you set that up ages ago, spending a couple hours a day to search that stuff manually is just part of that awesomeness of the past.
03:22:45 <Gregor> oklopol: And the papers are being anonymously reviewed, so I shouldn't mention them in a publicly-logged channel.
03:22:51 <oklopol> ah
03:22:56 <Gregor> For that matter I shouldn't make jokes about producing tons of porn every night, but *eh*
03:23:05 <oklopol> so topic?
03:23:20 <Gregor> PL :P
03:23:26 <oklopol> oh!
03:23:33 <oklopol> THANKS
03:24:12 <oklopol> Sgeo: your singing was interesting to listen to
03:24:28 <Gregor> oklopol: The paper submitted to PLDI is about programming language design and/or implementation, and the paper submitted to S&P is about security and/or privacy.
03:24:35 <oklopol> if you actually know how to sing, that was impressive, at least
03:24:57 <oklopol> okay
03:25:14 <oklopol> i look forward to reading everything you ever publish
03:26:10 <Gregor> oklopol: Have you read the 2.5 papers I've already published? :P
03:26:11 <oklopol> i try to do that with everyone i know even a little bit, i make the exception of professors with more than 200 publications tho
03:26:18 <oklopol> no!
03:26:33 <oklopol> so actually i should read oerjan's phd at some point
03:26:34 <Gregor> WELL THEN THAT IS WHY YOU WILL FAIL.
03:26:56 <oklopol> well you know i'll life for quite a while after you're gone so i'm not in a hurry
03:27:01 <oklopol> *live
03:27:26 <Gregor> oklopol: But I'm already an eternal energy being no the Higher Level.
03:27:28 <Gregor> *on the
03:28:13 <oklopol> also i didn't even realize the 0.5, what could that possibly mean?
03:28:29 <Gregor> It's a workshop paper, plus it's subsumed into a later conference paper.
03:28:34 <Gregor> So, y'know, half a publication.
03:28:57 <oklopol> what was your current degree and age?
03:29:13 <Gregor> Bachelors+masters-equivalent and 24
03:29:27 <oklopol> alright
03:31:30 <oklopol> what's dynamic behavior? :)
03:31:47 <oklopol> maybe i can guess
03:32:24 -!- zzo38 has joined.
03:33:16 <Gregor> oklopol: By example: If I go running around my apartment naked at 2AM while screaming communist propaganda, that would be dynamic behavior.
03:35:06 <oklopol> i'm not sure i get it
03:36:25 <Gregor> Well, just take that example, abstract away me and the apartment, and consider it in the context of JavaScript.
03:36:35 <oklopol> oh i'm trying!
03:36:59 <oklopol> so like just... what happens when a program is run? :P
03:37:14 <oklopol> or was 2am / communist propaganda also meaninful
03:37:29 <Gregor> Those are both relevant.
03:37:53 <oklopol> 2am would probably just be what happens when, but communist propaganda...
03:38:32 <oklopol> hints?
03:39:12 <Gregor> You'll just have to read the paper.
03:39:24 <oklopol> :P
03:39:36 <oklopol> now i can't wait
03:39:54 <Gregor> Can't wait ... to read the paper that's already published?
03:40:03 <oklopol> yes, i can't read it now
03:40:10 <oklopol> because i should be reading ergodic theory
03:40:16 <zzo38> Did you know? I have once written a program similar to WEB, but it was GWBASIC instead of Pascal, and ESC/P instead of TeX; there were a few other differences as well. I no longer have that program.
03:40:30 -!- Sasha2 has quit (Read error: Connection reset by peer).
03:44:17 <oklopol> i did read the abstract, and i have to say it sounds pretty mundane, compared to all my... wait nm
04:02:32 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
04:03:32 -!- poiuy_qwert has joined.
04:13:06 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
04:31:37 -!- wxl has quit (Remote host closed the connection).
04:35:19 <zzo38> Hofstadter made many kinds of wordplays working together. The Dialogue titled "Contracrostipunctus", the lines alternate between Achilles and the Tortoise, but the first letter or punctuation in each line spells out "Hofstadter's Contracrostipunctus Acrostically Backwards Spells J.s.bach"
04:35:44 <zzo38> (All letters are actually capitalized; I put the capitalized letters corresponding to the ones typed in a larger font in the book.)
04:37:17 <zzo38> "In the unlikely event that a dialogician should write a contrapuntal acrostic in homage to J. S. Bach, do you suppose it would be more proper for him to acrostically embed his own name-- or that of Bach?" The answer is, embed both names.
04:42:29 -!- sftp_ has quit (Remote host closed the connection).
04:43:32 <Goosey> hm
04:43:40 <Goosey> I had an idea for memfuck
04:44:51 <Goosey> [ ] can be a while, if, and other types of flow directors based on the second value in the current cell's stack.
04:46:50 <zzo38> Goosey: You can then add that idea to the article?
04:46:56 <Goosey> Yeah
04:47:03 <Goosey> I'm reformatting it too
04:47:11 <zzo38> OK
04:47:15 <Goosey> And I'll start on an interpreter some time this week
04:48:23 <zzo38> OK.
04:50:40 <Goosey> I don't think I should do it with a value
04:50:46 <Goosey> In the cell stack
04:50:57 <Goosey> maybe I should have some sort of flags that can be set :/
04:52:01 <zzo38> Do it in any way you prefer to design it; in esoteric programming it does not matter that much.
04:52:08 <Goosey> Yeah :D
04:53:48 <Goosey> fuck it, new commands for definable flow directors
04:53:52 <Goosey> no...
04:53:58 <Goosey> just gonna make these ones more complex
04:54:00 <Goosey> :D
04:54:46 <zzo38> What are you going to write the interpreter with? Java? Forth? C? Enhanced CWEB? Or maybe even with other esolangs?
04:55:03 <Gregor> English?
04:55:08 <Goosey> C probably
04:55:13 <Goosey> Maybe haskell
04:55:36 <Goosey> but probably C
04:55:48 <zzo38> It doesn't matter too much, because you can write it using what you want to write it with. And then possibly someone else can write another interpreter (which is also sometimes done with esolang).
04:58:46 <zzo38> But I like to use Enhanced CWEB to write programs (which should work with any C compiler supporting #line)
04:58:52 <Goosey> damn
04:58:59 <Goosey> its amazing how much more crazy it got
04:59:50 <Goosey> I'll have it check the memory stack
05:00:46 <zzo38> Goosey: You can design memfuck to be the amount of crazy you prefer. There are many different esolangs, including some which are not computable, even.
05:01:00 <Goosey> :D
05:03:40 <Goosey> currently +[+++\++>\+] will leave 4 in [0], 2 in [1], 1 in [M]. the ] will be discounted while [M] contains 1.
05:04:19 <zzo38> Well, just see which way works best for you according to whatever goals you want, such as turing-complete, and so on.
05:04:24 <Goosey> scratch, it should be +\[
05:04:54 <Goosey> Oh I'm getting more confused than in brainfuck xD
05:08:38 -!- poiuy_qwert has joined.
05:23:35 -!- oerjan has joined.
05:26:01 <oerjan> <zzo38> Is the longest day of the year, when we have to switch off daylight saving time?
05:27:56 <oerjan> i was going to say something about amount of daylight varying by much more than 1 hour in norway, then i realized that's not what you meant
05:28:43 <oerjan> so you're presumably right
05:29:09 <pikhq> DST is such bullshit.
05:29:25 <pikhq> Not to mention *completely and utterly backwards* even for its intended goals.
05:29:32 <Goosey> Holy shit
05:29:39 <Goosey> I almost confused the hell out of myself xD
05:29:56 <pikhq> If it wanted to give people more suntime in the evening, it should be DST during the *winter*, not the summer.
05:30:02 <pikhq> There's plenty of sun to go around in the summer!
05:30:40 <pikhq> Of course, even then it'd be pretty stupid.
05:31:06 <coppro> I don't quite understand it myself
05:31:13 <coppro> but I am led to believe it has a rationale
05:31:13 <Goosey> Shit
05:31:18 <Goosey> who edited my text D:
05:31:57 <pikhq> coppro: An ignorant one, based around the idea that it's better to have more suntime in the evening during the summer.
05:32:01 <oerjan> well i think how well it works depends on both work hours and latitude. at least in norway the difference is quite noticable when we change.
05:33:33 <oerjan> i'd expect it to make most difference around the time it changes (spring and autumn). as you imply in the winter it's dark anyhow, and in the summer light.
05:33:42 <oerjan> at least here.
05:34:52 <pikhq> I'd imagine the effects would be a bit more noticable depending on how far off from solar time your de jure time zone is.
05:35:09 <oerjan> of course the time is _not_ really adapted to latitude, afaik both the usa and europe change at a common day (different between them though)
05:35:25 <coppro> pikhq: I think I need to find papers on it
05:35:40 <coppro> but I thought it was rooted out of agricultural tradition?
05:35:46 <pikhq> (poor bastards in western China, living in ideal UTC+5 but de jure UTC+8)
05:36:00 <pikhq> coppro: No, it was invented in 1895.
05:36:20 <oerjan> i vaguely recall some of the rationale had to do with energy saving. and also that agriculture is utterly irrelevant because farmers have to follow actual daylight regardless
05:36:38 <pikhq> coppro: It's actually contrary to agricultural tradition — the chickens and cows don't care what time it is, they care when the sun rises.
05:36:49 <zzo38> I do not like daylight saving time at all, either.
05:37:24 <coppro> I do recall energy saving stuff
05:37:38 <pikhq> oerjan: It's been shown to be a negligible electric saving nowadays.
05:39:06 <zzo38> Even if DST does save energy, I think DST is not the correct way to do it. The way I think it should be done, is, whatever time is sunrise is called the first hour of the day, which might be eight o'clock on one day and nine o'clock on another day, and so on.
05:39:38 <pikhq> Also, I really hate having sunset at 21:00.
05:40:04 <oerjan> zzo38: except our clocks would need a redesign for that
05:40:14 <pikhq> oerjan: Sundial.
05:40:16 <pikhq> >:D
05:40:35 <Goosey> http://esoteric.voxelperfect.net/wiki/Memfuck
05:40:41 <Goosey> So far so good :D
05:41:13 <oerjan> yeah i'm not saying it would be impossible, just that we'd have to change clocks to something that adapts to time of year (and latitude too)
05:41:36 <oerjan> reasonably easy with an electronic clock
05:41:48 <pikhq> Alternately, we could just make time sane.
05:41:54 <zzo38> oerjan: No, no need to change the clock.
05:42:02 <pikhq> No DST.
05:42:25 <pikhq> Time zones are an integer UTC offset, derived from which meridian you're closest to.
05:42:26 <zzo38> In the idea I said, you would still have eight o'clock and nine o'clock and everything else like you have now. However, there would also be a secondary measurement of time that starts at sunrise each day.
05:42:28 <pikhq> Voila.
05:42:32 <pikhq> Sane civil time.
05:43:19 <Sgeo> Why don't we just use http://en.wikipedia.org/wiki/Swatch_Internet_Time
05:43:33 <pikhq> And no more fucking UTC+9.5
05:43:42 <oerjan> zzo38: um it would be wholly impractical in a modern day if people didn't have clocks that could keep track of it. as well as that it would be impractical to keep track of two different measurements, although i think some religious people (monks, maybe jews?) do that anyway.
05:44:09 -!- Goosey has quit (Read error: Operation timed out).
05:44:30 <zzo38> So, you can say "half past seven" and "the first hour of the day" and so on.
05:44:45 <pikhq> Oh, and the international date line is to be on the 180° meridian. Period.
05:44:59 <zzo38> pikhq: Are there any banks on the date line?
05:45:12 <pikhq> zzo38: Hmm?
05:45:16 <oerjan> pikhq: so ignoring political boundaries? yeah that sounds _really_ practical >:D
05:45:36 <pikhq> oerjan: Yes, ignore political boundaries entirely!
05:46:05 <pikhq> oerjan: If we don't, we get insanity like de jure UTC+8 in UTC+5!
05:46:22 <oerjan> i think only china is _quite_ that extreme, no?
05:46:43 <pikhq> True. But there's a lot of places with silly time zones regardless.
05:47:17 <pikhq> For instance, Russia's UTC+8, UTC+9, UTC+10, and UTC+11 do not contain the meridians for each.
05:47:21 <zzo38> I have idea different notations. For twelve-hour clocks, use roman numerals as in "IV::30" and for twenty-four-hour clocks, use digits as in "16:30" and for time counted from sunrise, use notations such as "1st /" and "3rd 1/4" and so on.
05:47:28 <oerjan> and i'm not sure it's actually a problem in china, they could still have slightly different work hours in different parts of the country if they wanted, in fact it's only a one-time adjustment unlike DST...
05:47:29 <pikhq> Oh, nor does their UTC+4.
05:47:45 <coppro> pikhq: What if the divide runs directly through a city?
05:47:54 <oerjan> assuming without evidence that they would be sane about that, though
05:47:54 <pikhq> coppro: Fuck 'em.
05:47:59 <pikhq> coppro: :P
05:48:59 <oklopol> zzo38: do you like seconds? i always thought they were WAY too short
05:49:08 <zzo38> (Where "1st /" means the start of the first hour of the day, and "3rd 1/4" means one quarter hour after the beginning of the third hour of the day.)
05:49:37 <zzo38> oklopol: Whether or not you use seconds depends what you are doing. I do like to use clocks with the second hand.
05:49:43 <oerjan> pikhq: i read recently that turkey is planning to change to a +1/2 time zone. on the bright side they would simultaneously abolish DST.
05:50:05 <pikhq> Oh, yeah, and the US's UTC-9 doesn't have the UTC-9 meridian either. Though it does have the UTC-10 and UTC-11 meridians.
05:50:45 <zzo38> Do you like my three kind of notations? Do you have other opininions of differences you think of?
05:50:48 <pikhq> And US UTC-10 has the UTC-10, UTC-11, UTC-12/UTC+12 meridians.
05:51:57 <oklopol> zzo38: minutes are way too long for the "short tick"
05:52:14 <oerjan> oklopol: a second is somewhat around the length of a heartbeat i think, isn't that nice?
05:52:42 <zzo38> oklopol: I don't think so. I think you can use seconds as well if you need it.
05:52:43 <oklopol> hrm
05:53:31 <oklopol> oerjan: yes, that's nice.
05:53:45 <zzo38> (The double colon is delibate.)
05:53:57 <zzo38> s/delibate/deliberate/
05:54:22 <oklopol> i have to end this deberate now, since my bus leaves in 15 min
05:54:51 <oklopol> but there's this one application of the martingale convergence theorem which i didn't really get, but the lecturer thought was really cool and sexy :(
05:55:21 * oerjan thought oklopol was saying the lecturer was really cool and sexy
05:55:38 <oerjan> which could indeed be distracting
05:55:43 <oklopol> i'm not sure he's either
05:56:14 <Sgeo> WTF?
05:56:22 <Sgeo> Why do fractional time zones exist?
05:57:00 <pikhq> Sgeo: Because somebody hates libc developers.
05:57:03 <oklopol> the theorem: stationary measure on shift space, then -1/n * p(x_0, ..., x_(n-1)) ---> entropy almost everywhere
05:57:13 <oklopol> *p stationary measure
05:57:35 <oklopol> if p is just a product measure, then you can apply birkhoff directly
05:57:46 <pikhq> Or, indeed, sanity.
05:57:56 <oklopol> because obviously
05:58:02 * oerjan assumes he knew that theorem at one time
05:58:21 <oklopol> but in the general case, you will have something of the birkhoff form, but the function slightly changes each time n increases
05:58:30 <oklopol> and turns out it's a martingale
05:58:39 <oklopol> (what is? well erm)
05:58:42 <zzo38> Fractional timezone exist because the sun and Earth is exist, and there is many more countries in the world.
05:58:55 <pikhq> The +x.75 ones are the most cruel.
05:59:15 <oklopol> zzo38: good point! :D
05:59:16 <pikhq> Though there were ones with crazier offsets in the past.
05:59:26 <pikhq> For instance, UTC+4:51 once existed.
06:00:05 <pikhq> As did UTC-0:44...
06:00:07 <oklopol> oerjan: martingale convergence is just that if you have an increasing sequence of sigma algebras converging to S, and you integrate a function on each of those algebras, the integrals converge to the integral of f over S
06:00:52 <oerjan> oklopol: i certainly used to know that :) in fact i think i've mentioned it in one of our discussions.
06:01:27 <oklopol> birkhoff is, as you probably know, in the most useful case, that we can define the time average function f* for each f, which simply takes the orbit of a point and averages f(T^j x)'s, and it turns out it has all kinds of fun properties and is shift invariant ofc
06:01:33 <oklopol> *T-invariant
06:01:39 <oerjan> oklopol: you (mathematically) grow up so fast :(
06:01:53 <Sgeo> Ugh
06:01:59 <zzo38> Do you know how I can make a code in Gforth doing something in between each line of the source file?
06:02:01 <oklopol> nah i don't actually understand any of this, i just memorize a bunch of shit
06:02:11 <Sgeo> It's 1AM, I have to be up at 7AM, and I have a play I was supposed to read over the break that I didn't
06:02:42 <oerjan> my memory of birkhoff is exceedingly vague
06:02:57 <oklopol> anyway the martingale theorem is pretty easy to prove, birkhoff on the other hand takes quite a lot of paper
06:02:58 <oklopol> oh
06:03:06 <oklopol> i'll rant about it later today
06:03:09 <oklopol> now i have to go ->
06:03:11 <oerjan> bye
06:03:44 <oerjan> Sgeo: it's hard being the pope i guess
06:04:13 <Sgeo> Maybe I should RTFR
06:04:37 <Sgeo> Not before I RTFP though
06:06:17 <zzo38> O, I found it, I found the LINE-END-HOOK
06:07:01 <Vorpal> oerjan, already up?
06:07:10 * Vorpal yawsn
06:07:13 <Vorpal> yawns*
06:07:21 <oerjan> yep
06:07:37 <Vorpal> oerjan, not like you :P
06:08:14 <oerjan> i have an appointment today, so i had to make an effort to wake up at an approximately normal time
06:08:55 <oerjan> also that _does_ happen occasionally purely by chance
06:09:20 <Vorpal> oerjan, so does everything with an element of randomness
06:09:34 <oerjan> probably
06:10:47 <Vorpal> oerjan, I mean, if you cat /dev/random, sooner or later you will get the complete works of Shakespeare
06:11:45 <oerjan> if you manage to avoid the heat death of the universe
06:12:04 <Vorpal> oerjan, indeed
06:13:23 <Vorpal> oerjan,
06:13:25 <Vorpal> $ grep "To be" /dev/urandom
06:13:29 <Vorpal> Binary file /dev/urandom matches
06:13:36 <Vorpal> (this took about a minute)
06:14:32 <Sgeo> HELPU MIN
06:14:40 <Vorpal> ?
06:14:53 <Vorpal> oerjan, anyway getting the set of letters in those same works should be way quicker
06: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
06:15:52 <oerjan> *text files of a certain length
06:16:14 <Vorpal> hah true
06:16:26 <oerjan> and catting /dev/random is even worse, since you cannot even do binary search
06:17:17 <Sgeo> What about a library of all text files that contain only grammatical, sensical statements?
06:17:22 <Vorpal> oerjan, the work "b" would be infinitely far away unless you sort by length first
06:17:34 <Vorpal> oerjan, since every work starting with a would come before that
06:17:41 <Vorpal> and there would be infinitely many
06:17:54 <oerjan> Sgeo: unless "sensical" involves a good AI you would still have to do the main part of the work yourself
06:18:07 <Vorpal> and what does sensical mean here?
06:18:25 <Sgeo> I was trying to avoid "Colorless green ideas sleep furiously" I think
06:18:29 <Vorpal> this spell checker doesn't accept "sensical"
06:18:39 <Sgeo> As opposed to nonsensical
06:18:42 <oerjan> and also if only single statements were sensical it would still be hard to find a coherent whole
06:18:51 <Vorpal> Sgeo, you know that there *are* works like that right?
06:19:13 <Vorpal> bbl
06:19:16 <Vorpal> (university)
06:19:42 <oerjan> Vorpal: i corrected to "of a certain length", also i was sort of assuming travel time wasn't an issue
06:21:21 <oerjan> Sgeo: i tried to think of a sensical meaning for that sentence once, my interpretation was of a particular boring politician from an environmental party falling asleep in parliament
06:21:44 <oerjan> boring and bored, presumably
06:21:57 <Sgeo> So why was he sleeping furiously?
06:22:01 -!- Mathnerd314 has quit (Ping timeout: 255 seconds).
06:22:08 <oerjan> presumably he was very tired
06:22:29 <oerjan> probably snoring loudly
06:22:37 <oerjan> wait a minute
06:23:18 <oerjan> having bad dreams maybe
06:24:10 <Sgeo> I'm not going to be coherent tomorrow. Fortunatly, my plans for this week don't consider tomorrow to be particularly significant
06:37:10 -!- occamsrzr has joined.
06:47:00 -!- occamsrzr has quit (Ping timeout: 245 seconds).
06:48:20 <Sgeo> Ok, need to put the compter down now
06:49:08 -!- occamsrzr has joined.
06:49:15 -!- occamsrzr has quit (Client Quit).
06:49:17 <Sgeo> It suddenly occurs to me that I will have plenty of time on my way to school to read
06:49:38 <oerjan> long commute?
06:50:32 <Sgeo> Yeah
06:50:48 <Sgeo> And even when I arrive, there's still about an hour before my first class
06:50:59 <Sgeo> And my first class is Perl, so I'll have some time then
06:51:07 <Sgeo> Class right after that is the one
06:52:16 <oerjan> procrastinate early, procrastinate often
06:52:37 <Sgeo> I'm even procrastinating sleep!
06:54:21 * oerjan found a poem googling that http://theblogofjen.blogspot.com/2005/12/you-and-me-and-monkey-makes-three-dont.html
06:54:32 <oerjan> and that was in fact the _only_ hit
06:55:35 <Sgeo> When my mom used to sing to me before I went to bed, there was one song that I'd try to delay
06:55:43 <Sgeo> So that I had more time before I had to go to sleep
06:55:54 <Sgeo> I think this is weird to be talking about
06:57:18 <oerjan> this is a weird channel
06:57:29 <oerjan> or so i think, given that i'm not on any others
07:12:40 -!- MigoMipo has joined.
07:17:39 -!- FireFly has joined.
07:31:05 -!- MigoMipo has quit (Read error: Connection reset by peer).
07:49:48 -!- zzo38 has quit (Remote host closed the connection).
07:54:12 -!- Phantom_Hoover has joined.
07:56:58 -!- FireFly has quit (Quit: swatted to death).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:27:44 -!- TLUL has joined.
08:56:42 -!- atrapado has joined.
09:05:59 -!- oerjan has quit (Quit: Off I go...).
09:43:32 -!- GreaseMonkey has quit (Quit: ilua).
11:02:19 -!- TLUL has quit (Quit: *disappears in a puff of orange smoke*).
11:25:33 -!- ais523 has joined.
11:30:59 <Phantom_Hoover> ais523!
11:31:09 <Phantom_Hoover> What /was/ that thing elliott did to Agora?
11:31:29 <ais523> he did quite a lot to Agora
11:31:44 <ais523> I'm not sure what in particular you're referring to
11:31:59 <Phantom_Hoover> The one about noöne knowing what any of the rules meant.
11:32:13 <ais523> hmm, that seems unusual
11:32:19 <ais523> most of the time, most of the players know what most of the rules mean
11:32:28 <ais523> oh, I remember
11:32:44 <ais523> recently, he managed to send a message that was ambiguous in a rather 50-50 way
11:33:43 <ais523> and it took ages to decide whether it worked or not
11:33:55 <Phantom_Hoover> Ah.
11:58:49 -!- elliott has joined.
12:02:32 <elliott> 00:00:12 <Gregor> I don't think I have one, but I think I have a picture sufficiently revealing of the relevant characteristic.
12:02:35 <elliott> quoted without context
12:03:20 <elliott> 00:09:04 <Gregor> We should transcend beyond these physical shackles of bodies and exist as beings of pure energy.
12:03:21 <elliott> yes
12:03:24 <elliott> 00:09:37 <oklopol> when's the first mass suicide meeting of #esoteric
12:03:24 <elliott> now
12:03:59 <elliott> 00:24:01 <Sgeo> Why am I a pope?
12:03:59 <elliott> 00:33:29 <augur> Sgeo: because some cardinals got together in a room and voted.
12:04:15 <elliott> everyone was there, from aleph null to beth null (although they /might/ have been the same person, we're not sure)
12:05:24 <elliott> 04:52:43 <Phantom_Hoover> I'm going to assume that Fine Structure either isn't finished or that it ends rather abruptly.
12:05:32 <elliott> Phantom_Hoover: it is finished, but that was before you realised you missed stuff :)
12:05:55 <elliott> 17:06:01 <Sgeo> So why would elliott link me to something that's not the best book?
12:05:56 <Phantom_Hoover> elliott, actually, \aleph_0 and \beth_0 are equal IIRC.
12:06:03 <elliott> Sgeo: there is no best book -- well, not at your experience level at least
12:06:18 <Phantom_Hoover> It's aleph and beth 1 upwards that are the subject of the continuum hypothesis.
12:06:22 <elliott> Sgeo: but that book is both free and a good introduction, it's just focused on formally proving programs rather than the other stuff coq can do, but it covers that as part of its path
12:06:28 <elliott> Phantom_Hoover: oh,r ight
12:06:38 <elliott> Phantom_Hoover: because \beth_0 = \aleph_0 by definition
12:06:39 <elliott> *oh, right
12:06:48 <Phantom_Hoover> Yep.
12:06:48 <elliott> and then \beth_{n+1} = 2^{\beth_n}
12:07:18 -!- huang has joined.
12:07:24 -!- huang has quit (Client Quit).
12:07:33 <Phantom_Hoover> Not entirely sure about what the succession rule for the aleph numbers is, though.
12:08:20 <Phantom_Hoover> I /think/ \aleph_{n+1} is just the next largest cardinal from \aleph_n, and there's no definition on what that actually /is/.
12:08:37 <elliott> Heh, 4chan's source code has supposedly been leaked.
12:08:39 <elliott> http://pastebin.com/4JVjS02b
12:08:46 <elliott> Hideous php ftw
12:08:54 <elliott> Phantom_Hoover: Indeed.
12:09:01 <elliott> Phantom_Hoover: That is correct.
12:09:49 <elliott> #
12:09:49 <elliott> $cmd = "nohup /usr/local/bin/suid_run_global bin/appendban $board $ip >/dev/null 2>&1 &";
12:09:54 <elliott> /usr/local/bin/suid_run_global
12:09:55 <elliott> WORST
12:09:56 <elliott> COMMAND
12:09:56 <elliott> EVER
12:10:11 <Phantom_Hoover> What does it do?
12:10:37 <Phantom_Hoover> Also, it was started by a 15-year-old; what did you expect?
12:10:46 <elliott> Phantom_Hoover: *13-year-old
12:11:08 <elliott> Besides, he didn't code the software AFAIK; I forget who did.
12:11:14 <elliott> Phantom_Hoover: suid = setuid; "run this program as its owner whoever executes it", usually root, used for commands that access root-only files but that anyone can use.
12:11:25 <elliott> Phantom_Hoover: In this case, it's probably coded to allow any shell script or whatever in the bin/ directory to execute as root.
12:11:35 <elliott> Phantom_Hoover: Now imagine if someone manages to replace the contents of bin/appendban to do rm -rf /.
12:11:47 <Phantom_Hoover> Well, they were willing to work for a 13-year-old, so they can't have been very competent.
12:11:47 <elliott> Phantom_Hoover: And runs /usr/local/bin/suid_run_global bin/appendban
12:12:00 <elliott> Phantom_Hoover: "Work"? Dude, it was just a thread on the Something Awful forums and a domain name.
12:12:19 <elliott> They started off with a hack translation of the 2chan board software IIRC.
12:12:21 <Phantom_Hoover> OK. "Put effort into a project started by"
12:12:29 <elliott> Indeed: "It's based on the old Japanese futaba.php, which was a rotten mess to start with, and has mostly been tweaked and patched up from that, I understand. It's no wonder it's still a mess."
12:12:34 <elliott> Phantom_Hoover: Nobody knew he was 13 either...
12:12:59 <Phantom_Hoover> "Knew PHP."
12:13:00 <elliott> http://www.2chan.net/script/
12:13:04 <elliott> google result pointing tot he actual script: http://www.2chan.net/h/futaba.php.txt
12:13:14 <elliott> so 4chan is basically an extended hack of an old version of that :P
12:13:28 <elliott> echo "<META HTTP-EQUIV=\"refresh\" content=\"0;URL=".PHP_SELF2."\">";
12:13:35 <elliott> gotta love how those \s show as the yen sign
12:13:39 <elliott> due to the encoding
12:25:11 <Phantom_Hoover> elliott, incidentally, come and see the work on the ROU!
12:25:40 <elliott> Oh, fine.
12:25:42 -!- ais523 has quit (Remote host closed the connection).
12:26:17 <elliott> Phantom_Hoover: Wanna help me diagnose a VGA MEMORY PROBLEM?!
12:26:32 <Phantom_Hoover> I don't know how VGA works, so no.
12:47:16 -!- Mathnerd314 has joined.
12:55:59 -!- Sgeo has quit (Quit: Leaving).
13:16:00 <elliott> Phantom_Hoover: But it's BIOS
13:16:04 <elliott> BIOS shouted there
13:23:41 <Phantom_Hoover> Did I mention that I don't know how the BIOS works either?
13:50:41 <elliott> Phantom_Hoover: yo.
13:50:48 <Phantom_Hoover> Yo?
13:52:15 -!- ttm_ has quit (Ping timeout: 240 seconds).
13:52:26 <elliott> Phantom_Hoover: You disconnected momentarily :P
13:54:30 -!- dbc has quit (Ping timeout: 250 seconds).
13:54:44 -!- Sasha has joined.
13:55:14 <Phantom_Hoover> I suspect my diamond pickaxe is deep under the sea...
13:56:04 <elliott> Phantom_Hoover: You can make one.
13:56:16 <Phantom_Hoover> Yes, but the SENTIMENT¬!
13:56:21 <elliott> Phantom_Hoover: Go to our mine. Look in my chest. There is some diamond in the rightmost column.
13:56:31 <Phantom_Hoover> I have some dupes anyway/
13:56:40 <elliott> (The diamond left of that is mine, don't touch it. But the rightmost you can take whatever, it's my non-coal mining spoils. I gather you have enough coal.)
13:57:00 <elliott> Phantom_Hoover: How did it get there?
13:57:15 <Phantom_Hoover> The normal MP duplication bug.
13:57:51 <elliott> Phantom_Hoover: I mean at the bottom of the sea.
13:57:52 <elliott> 4
13:57:53 <elliott> s/4//
13:58:16 <Phantom_Hoover> Fell from the ROU, died, stuff was scattered to the 4 winds.
13:59:25 <elliott> Phantom_Hoover: *7 winds
13:59:26 <elliott> There's 7.
13:59:37 <Phantom_Hoover> Which 7?
14:00:39 <elliott> Phantom_Hoover: the 7
14:00:55 -!- dbc has joined.
14:00:55 <Phantom_Hoover> 7 seas, 4 winds, surely?
14:01:21 <elliott> Phantom_Hoover: 4 winds, 7 seas.
14:01:26 <elliott> Common misconception.
14:01:42 <Phantom_Hoover> ...That's what I just said.
14:01:47 <fizzie> "7 seas, 4 winds" is not all *that* different from your "4 winds, 7 seas".
14:02:31 <Phantom_Hoover> fizzie, come see the ROU!
14:02:38 <elliott> <Phantom_Hoover> 7 seas, 4 winds, surely?
14:02:38 <elliott> <elliott> Phantom_Hoover: 4 winds, 7 seas.
14:02:41 <elliott> <Phantom_Hoover> ...That's what I just said.
14:02:42 <Phantom_Hoover> Satisfaction guaranteed or your money back.
14:02:44 <elliott> Phantom_Hoover: wat.
14:02:53 <elliott> also what is it with everyone wanting fizzie to look at stuff
14:03:04 <Phantom_Hoover> I wanted you to look at stuff too.
14:03:13 <fizzie> I'm at work, I can't be all aROUnd the ROU right now.
14:04:09 <Phantom_Hoover> oerjan should be here to swat you for that.
14:15:54 -!- ais523\unfoog has joined.
14:18:26 -!- FireFly has joined.
14:22:47 <elliott> Ah, it's ais523\funoog! I mean ais523\unfoog.
14:35:53 -!- augur has quit (Remote host closed the connection).
14:36:48 <elliott> "Phobos anomaly!" --yellow
14:41:09 <ais523\unfoog> elliott: I'm marking again
14:41:43 <elliott> ais523\unfoog: yes, the clan name was rather a hint. also the \.
14:52:26 <elliott> "The timeout is fixed but arbitrary. It was a quick hack to remove cars which "get stuck" without dropping their load. It has the side-effect of making this program extremely frustrating to watch."
14:53:28 <ais523\unfoog> elliott: ESR coming back to INTERCAL has done /some/ good; he seems to have connections amongst many of the relevant people, and it unearthed details about the Atari implementation
14:53:57 <elliott> ais523\unfoog: so basically, esr is useful only in that he knows other people :)
14:54:05 <elliott> i wonder if they groan whenever he appears in their inbox
14:54:08 <elliott> "not again..."
14:54:17 <ais523\unfoog> it turns out that it never existed; the person who first made the electronic copy of the manual was planning to write it, so they documented it in an appendix/tonsil, but neve really started
14:54:23 <elliott> man, i'm nasty :D
14:54:23 <ais523\unfoog> somehow, this seems appropriate
14:54:26 <elliott> ais523\unfoog: ...wow.
14:54:30 <ais523\unfoog> also, it was meant to run on arbitrary 6502-based systems
14:54:32 <elliott> ais523\unfoog: *That* I would *not* have guessed.
14:54:42 <elliott> ais523\unfoog: It seemed so... obviously real.
14:55:02 <elliott> ais523\unfoog: (Although I couldn't quite imagine anyone typing in INTERCAL code on an 8-bit ATARI...)
14:55:03 <ais523\unfoog> it was intended to be
14:55:19 <elliott> ais523\unfoog: hmm, clearly we need to implement Atari INTERCAL, then
14:55:23 <ais523\unfoog> and it was never ported to the Atari, despite being intended to be ported there, because it was never finished
14:55:34 <elliott> ais523\unfoog: otherwise, the compatibility features of modern INTERCAL systems are useless
14:55:40 <elliott> so clearly, we must make them useful by implementing it
14:56:02 <ais523\unfoog> we still have compatibility to the Princeton impl, which definitely did exist
14:56:26 <ais523\unfoog> also, C-INTERCAL was designed to emulate the Atari impl by default, it needs options to implement others
14:57:58 <elliott> ais523\unfoog: right, what I'm saying is, that choice as a compatibility decision now makes no sense at all, you've effectively implemented a never-used-before dialect of INTERCAL
14:58:08 <ais523\unfoog> yep
14:58:09 <elliott> ais523\unfoog: so, clearly, we need to implement Atari INTERCAL, so that the choice has relevance and justification
14:58:14 <ais523\unfoog> oh, I see
14:58:29 <ais523\unfoog> surely, emulating an existing implementation would be rather similar to most other compilers, though?
14:58:40 <ais523\unfoog> emulating a nonexistent implementation is so much better
14:59:05 <elliott> ais523\unfoog: isn't emulating an implementation *before it even exists* even better?
14:59:31 <ais523\unfoog> elliott: hmm
14:59:40 <ais523\unfoog> also, http://gitorious.org/intercal/intercal/commit/e4f30b9803b2f2911147cc7746fc2e8315387baa is esr's explanation (in the manual) of what happened
15:00:03 <elliott> oh dear, he's even got into the documentation?
15:00:17 <elliott> example programs printing out anti-gun-control messages to be in the next release's manual
15:00:30 <ais523\unfoog> I don't think so, I am looking at his commits, after all
15:00:38 <ais523\unfoog> and it makes sense for him to document his changes, rather than making me do it
15:00:55 <elliott> ais523\unfoog: I'm not sure he'd let you remove anything he added :P
15:00:59 <elliott> (I don't think he will, just sayin'.)
15:01:07 <elliott> He's probably still thinking of it as "his" program.
15:01:30 <ais523\unfoog> well, the only time I ever rejected a proposed feature was that Perl and PHP did it already
15:01:38 <elliott> ais523\unfoog: haha
15:01:42 <elliott> ais523\unfoog: variable variables?
15:01:44 <elliott> i.e. ${$x}
15:01:46 <ais523\unfoog> indeed
15:02:01 <elliott> ais523\unfoog: hmm, obviously you need variable constants... or variable invariables...
15:02:11 <elliott> ais523\unfoog: no, variable constants is definitely best
15:02:11 * ais523\unfoog wonders if elliott was thinking "what unusual-seeming feature is done by both Perl and PHP?"
15:02:16 <elliott> yes
15:02:18 <elliott> :)
15:02:18 <ais523\unfoog> elliott: they exist already, -v option on command line
15:02:23 <ais523\unfoog> DO #1 <- #2
15:02:29 <elliott> ais523\unfoog: heh, what does -v mean?
15:02:34 -!- Sasha has quit (Ping timeout: 240 seconds).
15:02:41 <ais523\unfoog> it means "don't error out on attempts to change the value of a constant"
15:02:53 <ais523\unfoog> I felt that having that behaviour by default might make things a bit hard to debug
15:03:18 <elliott> ais523\unfoog: oh yeah, INTERCAL, so easy to debug
15:03:30 -!- Sasha has joined.
15:03:46 <ais523\unfoog> (note, normally to assign to constants in INTERCAL you have to do something like DO .1 <- '.1/#1'$#0, but C-INTERCAL allows the abbreviation)
15:04:03 <elliott> so helpful
15:04:19 <ais523\unfoog> actually, C-INTERCAL and CLC-INTERCAL both let you assign to arbitrary expressions, but they're both buggy in that respect
15:05:03 <elliott> ais523\unfoog: so does writing a specialiser for a pure functional language in x86-64 assembly without a libc or a kernel sound like fun to you?
15:05:11 <elliott> 'cause i sorta need someone to do that, and it doesn't sound like fun to me.
15:05:15 <ais523\unfoog> what's a specialiser, again?
15:05:25 <ais523\unfoog> also, I don't actually know x86_64 asm
15:05:42 <ais523\unfoog> I know 8086 asm, but never bothered to see how it had changed when it went 32-bit
15:07:20 -!- oerjan has joined.
15:08:15 <ais523\unfoog> elliott: anyway, being well-connected is a surprisingly useful skill
15:08:23 <ais523\unfoog> although I feel vaguely well-connected just being in this channel
15:08:46 <elliott> ais523\unfoog: a specialiser takes a function (F_big : X * Y -> Z), and an argument x, and returns (F_small : Y -> Z), where the first argument is filled in
15:09:05 <elliott> ais523\unfoog: of course, you could just do this with partial application, but the trick is partial *evaluation*: you actually evaluate all the stuff you can, knowing the first parameter's value
15:09:13 <ais523\unfoog> oh, it's how you implement a curried function?
15:09:16 <elliott> no
15:09:18 <elliott> <elliott> ais523\unfoog: of course, you could just do this with partial application, but the trick is partial *evaluation*: you actually evaluate all the stuff you can, knowing the first parameter's value
15:09:35 <elliott> ais523\unfoog: this lets you, say, convert an interpreter into an efficient compiler. (and this "actually works")
15:09:37 <ais523\unfoog> crossed messages
15:09:48 <oerjan> <Phantom_Hoover> I /think/ \aleph_{n+1} is just the next largest cardinal from \aleph_n, and there's no definition on what that actually /is/.
15:09:53 <ais523\unfoog> it still looks like a way of implementing a curried function, just an optimised way
15:09:58 <elliott> it is, basically
15:10:09 <oerjan> if you don't assume the axiom of choice, it's the next largest _well-orderable_ cardinal
15:10:24 -!- augur has joined.
15:10:29 <elliott> ais523\unfoog: say the specialiser is S, and you have an interpreter (I : Program * Input -> Result). then S(I, P) where P is a program is a function (Input -> Result).
15:10:29 <oerjan> and well if you assume AoC, then all cardinals are well-orderable
15:10:41 <elliott> ais523\unfoog: if the specialiser is sufficiently advanced, then the result of S(I, P) is an efficient compilation of P.
15:10:42 <ais523\unfoog> oerjan: you can't say things like "assume the axiom of choice" to me without clarifying contexts
15:10:52 <elliott> ais523\unfoog: (it *is* possible to write specialisers this advanced, just very difficult)
15:10:58 <elliott> ais523\unfoog: (it has been done)
15:11:01 <oerjan> ais523\unfoog: huh? i was quoting Phantom_Hoover
15:11:03 <ais523\unfoog> in this CS lab, people do things like assume it on booleans but not integers
15:11:15 <elliott> erm, Axiom of Choice is provable for finite sets...
15:11:16 <ais523\unfoog> or on integers but not reals
15:11:20 <elliott> or rather, the AoC only applies to infinite sets
15:11:21 <ais523\unfoog> elliott: there are two sets involved
15:11:46 <ais523\unfoog> one of them obviously has to be infinite for it to be interesting, but the other one has quite a few possibilities
15:11:48 <elliott> ais523\unfoog: -- oh, and of course, S(S, S) is a function that takes an interpreter and returns a compiler.
15:12:25 <elliott> ais523\unfoog: now the specialiser can be in language A, take programs in language B, and output programs in language C, but doing interpreter-to-compiler tricks requires A=B, or at least two specialisers, one taking B and written in A, and one taking B and written in B.
15:12:45 <oerjan> ais523\unfoog: well in any case the _general_ axiom of choice is equivalent to all cardinals being well-orderable
15:12:57 <elliott> ais523\unfoog: if you know of PyPy, their conversion of interpreters to JITs is basically specialised (:P) specialisation, with some annotations to make it easier
15:13:27 * oklopol wishes he knew even a tiny bit of logic
15:13:32 <elliott> oerjan: and who can tell about Zorn's lemma?
15:13:38 -!- MigoMipo has joined.
15:13:42 <oerjan> elliott: that is equivalent too
15:13:42 <elliott> oklopol: i *refuse* to believe i know more logic than you
15:13:49 <elliott> oklopol: and i know a tiny bit
15:13:54 <elliott> oerjan: i was making reference.
15:14:01 <oklopol> you probably know more logics than me, at least :D
15:14:09 <elliott> oerjan: "The Axiom of Choice is obviously true, the well-ordering principle obviously false, and who can tell about Zorn's lemma?" --Jerry Bona
15:14:22 <oerjan> ah.
15:14:48 <elliott> ("Tarski tried to publish his theorem [the equivalence between AC and 'every infinite set A has the same cardinality as AxA', see above] in Comptes Rendus, but Fréchet and Lebesgue refused to present it. Fréchet wrote that an implication between two well known [true] propositions is not a new result, and Lebesgue wrote that an implication between two false propositions is of no interest".)
15:14:50 <elliott> (but you probably know that one)
15:14:59 <oerjan> yeah :D
15:15:22 <elliott> oerjan: oh and it is actually possible to get the "useful" part of the Axiom of Choice without the well-ordering theorem, in an intuitionistic logic
15:15:24 <elliott> oerjan: see http://r6.ca/blog/20050604T143800Z.html
15:15:26 <oerjan> one would have hoped the editor would have noticed the discrepancy
15:15:40 <elliott> oerjan: (and the "useful" part is actually provable in type theory, which you probably know)
15:15:49 <elliott> *as you probably
15:16:49 <oerjan> elliott: yeah well intuitionistic logic is afaik more or less restricting the concept of existence to constructable existence, which makes AoC sort of trivial
15:17:06 <ais523\unfoog> ah, intuitionistic logic
15:17:13 <elliott> oerjan: well, yes. but it's interesting that it doesn't imply the well-ordering theorem
15:17:16 <elliott> since it's just intensional choice
15:17:17 <ais523\unfoog> it comes up all the time in computer science, because it makes a good model of certain things
15:17:30 <elliott> ais523\unfoog: it comes up all the time in computer science because it's how you do (sane) theorem provers :)
15:17:36 <elliott> well
15:17:39 <elliott> as realised in type theory
15:17:44 <ais523\unfoog> elliott: not just that, that's a special case
15:17:48 <elliott> ais523\unfoog: well, yes
15:18:02 <ais523\unfoog> f(not not a) = not not(f a)
15:18:12 <elliott> intuitionistic logic is lovely, too bad it's not all that useful for actual mathematics :)
15:18:29 <elliott> <ais523\unfoog> f(not not a) = not not(f a)
15:18:32 <elliott> not if f is impure! :p
15:23:47 <oerjan> 06:58:29 <ais523\unfoog> surely, emulating an existing implementation would be rather similar to most other compilers, though?
15:23:51 <oerjan> 06:58:40 <ais523\unfoog> emulating a nonexistent implementation is so much better
15:23:55 <oerjan> i'm with ais523\unfoog here :D
15:24:35 <elliott> oerjan: what, emulating a nonexistent implementation is better than emulating an implementation before it even exists?
15:24:42 <elliott> that's forwards-back-compatibility
15:25:24 <oerjan> hm
15:26:13 <elliott> oerjan: "in 1990 we implemented the compiler, selecting compatiblity with Atari INTERCAL, written in 2010, as the default mode."
15:29:25 -!- ineiros has joined.
15:30:00 -!- augur has quit (Remote host closed the connection).
15:30:11 -!- Wamanuz2 has quit (Ping timeout: 265 seconds).
15:32:06 -!- sftp has joined.
15:32:37 <oerjan> http://www.mezzacotta.net/garfield/ is topical today
15:33:18 -!- ineiros_ has quit (Ping timeout: 250 seconds).
15:33:52 -!- augur has joined.
15:35:26 <elliott> oerjan: it's fizzie's, in case you don't recognise the name
15:35:41 <elliott> oerjan: he showed it to us quite a while ago, so we can now measure the length in weeks of the submission queue!
15:36:22 <oerjan> i _thought_ it was something familiar
15:36:59 <oerjan> but i was a bit confused because i know there's a guy on the mezzacotta forums who uses a piet avatar (Taneb)
15:38:01 <oerjan> i saw that nick briefly in this channel once
15:38:13 <elliott> oerjan: i probably shouldn't know fizzie's real name without even checking, should i
15:38:31 <oklopol> even I remember it
15:38:44 <elliott> indeed oklopol omniovorol or whatever
15:38:54 <oklopol> ominovorol
15:38:54 <elliott> oklopol: btw i have hatched a plan to get your real name! but i've forgotten it
15:38:58 <elliott> *i hatched
15:39:00 <oklopol> :D
15:39:06 <oklopol> my real name which i've mentioned multiple time
15:39:07 <oklopol> s
15:39:17 <elliott> oklopol: WELL GREP CAN'T SEARCH FOR NAMES
15:39:19 <oerjan> well fizzie isn't trying to hide his real name, it's right there in the whois
15:39:25 <oklopol> my name is Jaska Jantunen
15:39:26 <elliott> maybe i'll try and find like
15:39:29 <elliott> University of Turku
15:39:30 <elliott> The Student List
15:39:34 <elliott> oklopol: wait really?
15:39:36 <oklopol> yes
15:39:45 <elliott> oklopol: ...no man, you're not a J kind of person
15:39:47 <elliott> you have Is in your name
15:39:49 <oerjan> elliott: he's either lying now or has lied before
15:39:50 <elliott> and like
15:39:52 <elliott> äs
15:39:58 <elliott> oerjan: ah :P
15:40:03 <elliott> oerjan: what's jaska juntunen
15:40:12 <oklopol> okay okay, it's Pivi Liimatainen
15:40:32 <elliott> oklopol: i have a feeling you constructed that name to fit my expectations :P
15:40:34 <oerjan> wait why isn't irssi showing that properly
15:40:38 <oklopol> no
15:40:45 <elliott> but no, you're no Päivi. especially since that ä looks ugly next to the P
15:40:47 <oklopol> i didn't choose my name
15:40:53 <elliott> oerjan: prolly mirc is too dumb to show his encoding
15:40:55 <elliott> erm
15:40:57 <elliott> oerjan: prolly mirc is too dumb to send the right encoding
15:41:03 <elliott> oerjan: äääääää
15:41:09 <ais523\unfoog> personally, I like oklopol omniovorol as a pseudo-real-name for oklopol
15:41:14 <oklopol> okay, okay, if you really need to know, my name is Vill Sl
15:41:21 <ais523\unfoog> who cares what the real real name is if you have something that sounds plausible?
15:41:36 <oerjan> elliott: yes but irssi used to show both correctly when my terminal was set to iso-8859-1
15:41:52 <elliott> oerjan: set your terminal to utf-8, set irssi to convert everything else to utf-8
15:41:56 <elliott> or is that what you did
15:42:01 <elliott> oklopol: hey i remember hearing that
15:42:05 <elliott> oklopol: but wasn't that another lie
15:42:12 <oklopol> no, that one was real
15:42:14 <Phantom_Hoover> You can construct a name orthogonal to my real one with <weirdly spelt Irish name> <uncommon Irish name beginning with "Mc">
15:42:20 <Phantom_Hoover> Try it sometime!
15:42:23 <elliott> "No results found for "Villä Sälö"."
15:42:27 <elliott> i find that vaguely implausible
15:42:30 <elliott> unless it's a rare name or sth
15:42:31 -!- ineiros has quit (Ping timeout: 264 seconds).
15:42:33 <oklopol> it's very rare
15:42:40 <elliott> Phantom_Hoover: Marvin McHamster
15:42:41 <elliott> oerjan: is he lying
15:42:57 <Phantom_Hoover> elliott, not weirdly spelt enough.
15:43:16 <elliott> Phantom_Hoover: Phantom McHoover
15:43:19 <oerjan> elliott: erm it may be that irssi only can convert from utf-8 and that the fact it showed iso-8859-1 properly before was because i had my terminal set to that so it got through when irssi didn't convert...
15:43:31 <oerjan> elliott: he has tweaked the vowels
15:43:34 <Phantom_Hoover> elliott, also not weirdly spelt enough. Think silent consonant clusters.
15:43:39 <elliott> oerjan: "irssi only can convert from utf-8" um, that would be rather silly
15:43:54 <elliott> ok googling "villa salo" makse me doubt oklopol :P
15:43:57 <oerjan> on incoming from chaneel...
15:44:03 <elliott> Phantom_Hoover: Mcwnm Yyyrtk
15:44:11 <oerjan> elliott: one of the vowels wasn't just adding an accent
15:44:15 <elliott> oerjan: most clients can convert from whatever -> utf-8 before pooping it to the terminal (technical term)
15:44:17 <Phantom_Hoover> Swap the order and that's close enough.
15:44:42 <elliott> i think if i met oklopol in real life i'd just call him oklopol
15:44:53 <elliott> except that i'd pronounce it oh / kloh / pohl because that's how i pronounce it
15:45:01 <elliott> not owh / klow / powl
15:45:03 <oklopol> many of my friends call me oklopol
15:45:09 <elliott> which is correct :P
15:45:15 <oklopol> irl
15:45:24 <elliott> which is correct :P question mark
15:45:37 <oklopol> some also call me brother lasol
15:46:18 <elliott> yet others call you malcom mchamster
15:46:19 -!- augur has quit (Remote host closed the connection).
15:46:21 <Phantom_Hoover> fizzie, plundering your dirt supplies since I've run out.
15:46:30 <oerjan> *channel
15:47:35 <elliott> Phantom_Hoover: run out of dirt. wow.
15:47:58 <Phantom_Hoover> I'm using it as scaffolding.
15:48:09 <Phantom_Hoover> And I need a *lot* of scaffolding.
15:48:46 -!- augur has joined.
15:48:56 <elliott> oklopol: are you sure you actually exist in real life
15:49:05 <oklopol> not really
15:49:28 <elliott> oklopol: you don't, you're a figment of your own imagination
15:49:28 <oklopol> i think, but i have no idea what that implies
15:49:53 <elliott> how the fuck did i get to reading vjn comics
15:49:58 <oklopol> :D
15:49:58 <elliott> these are terrible, yet i can't stop
15:50:09 <oerjan> oklopol: write me something accented characters
15:50:12 <oklopol> what language are they in?
15:50:13 <oerjan> *with
15:50:31 <Phantom_Hoover> elliott, VJN?
15:50:39 <elliott> oklopol: um, i suppose you *could* call it english, if you were feeling generous
15:50:43 <elliott> Phantom_Hoover: it's this thing
15:50:56 <elliott> oklopol: you made some of them, you should know :|
15:50:58 <oerjan> oklopol: PLEASE i'm trying to test my setting change here
15:50:59 <elliott> admittedly that was 5 years ago in 2008
15:51:04 <elliott> oerjan: äüöïë
15:51:10 <oerjan> elliott: no only he can do it
15:51:29 <oerjan> it's for detecting non-utf-8 incoming
15:51:33 <elliott> oerjan: verdã! êxcellentè! ẅimäsẗurkã!
15:51:37 <elliott> (ẅ)
15:51:48 <oklopol> it's not suitable to say bad in school, little uli
15:51:57 <elliott> oklopol: http://www.vjn.fi/c/greenone.png what is this even
15:52:02 <oklopol>
15:52:05 <oklopol>
15:52:08 <elliott> oklopol: WHAT IS IT
15:52:09 <oerjan> oklopol: thank you!
15:52:32 <ais523\unfoog> I don't think I've ever been called ais523 in RL
15:52:45 <oklopol> elliott: it's a racist joke
15:52:50 <elliott> oklopol: http://www.vjn.fi/c/bladeofhell.png is the phallic imagery intentional
15:52:51 <oklopol> ulis are very racist
15:52:57 <elliott> ais523\unfoog: i totally would
15:53:09 <elliott> ais523\unfoog: although it's a cumbersome name, you have to pronounce every single bit separately
15:53:10 <ais523\unfoog> indeed, and I'd likely call you ehird without thinking
15:53:12 <oerjan> and it appears recode_fallback was the right setting. i foolishly changed it to utf-8 when changing the other things, but it's supposed to be the name of a non-utf-8 encoding to try to convert from
15:53:13 <oklopol> elliott: probably
15:53:15 <elliott> ais523\unfoog: well you could say five hundred and twenty-three but that would be weird
15:53:23 <elliott> yeah i'd probably respond to ehird irl without thinking
15:53:27 <ais523\unfoog> yep, I spell it out when I say my own name mentally
15:53:34 <elliott> ais523\unfoog: also, we prefer "away from keyboard". we believe the internet is real.
15:53:37 <ais523\unfoog> it's strange that I think of you as ehird whatever your actual nick
15:53:38 <elliott> </meme>
15:53:41 <ais523\unfoog> elliott: it's real, but not alive
15:53:50 <elliott> ais523\unfoog: whoosh (or intentional ignorance)
15:53:52 <oklopol> "ais f'tuthr"
15:54:24 <ais523\unfoog> oklopol: you just made me try to pronounce ais523 in one syllable
15:54:27 <ais523\unfoog> it's almost doable
15:54:34 <ais523\unfoog> but not particularly intelligible
15:54:44 <elliott> ais fhtagn
15:54:52 <oklopol> ia, ia, cthulhu f'tuthr
15:56:03 <elliott> ais523\unfoog: if you missed the meme reference: http://www.zubon.org/log/wp-content/uploads/2010/11/01-10-1115.jpg
15:56:06 <elliott> (took me ages to track that down)
15:56:07 <elliott> from the pirate bay trial
15:56:18 <ais523\unfoog> I guessed it might be a meme, but wasn't aware of what it was
15:56:24 <ais523\unfoog> oh, right
15:56:31 <ais523\unfoog> now I remember the quote
15:56:47 <ais523\unfoog> "away from keyboard" doesn't really work either, though
15:57:09 <ais523\unfoog> as typically, saying afk in IRC means you physically have to leave contact with the computer, perhaps in an emergency
15:58:31 <oklopol> http://www.vjn.fi/index.php?c=17 i have absolutely no recollection of making this
16:00:18 <elliott> ais523\unfoog: "away from [the] keyboard, i blah'd"
16:00:26 <elliott> true, "afk" makes no sense like that
16:00:30 <elliott> oklopol: XD
16:01:32 <elliott> oklopol: "As a rule number one, please remember that beguiling your time on this channel is never meant to be an enjoyable experience *for you*."
16:01:35 <elliott> oklopol: i'm not sure theyk now what beguiling means
16:01:37 -!- pikhq has quit (Ping timeout: 255 seconds).
16:01:38 <elliott> *they know
16:02:48 <oklopol> "4.To pass (time) pleasantly." but yeah i don't recall seeing this outside a dictionary
16:03:17 <elliott> right :P
16:03:41 <elliott> "Please note that to join a Finnish association like ours, you don't have to hold the citizenship of Finland or reside in Finland."
16:03:48 <elliott> awesome, i could waste money to absolutely no avail without even moving!
16:03:51 <oklopol> :D
16:04:02 <elliott> i love the benefits!
16:04:05 <oklopol> yeah you could join, but we're thinking of making a new association soon so
16:04:14 <oklopol> change the name a bit and such
16:04:18 <Phantom_Hoover> Yay, Phase 2 of ROU construction complete!
16:04:29 <elliott> oklopol: what, but vjn is the perfect ordering of the three perfect letters
16:04:36 <oklopol> i'm not a j person
16:04:46 <elliott> oklopol: but i thought you liked that language :|
16:04:50 <elliott> oh, oerjan will now swat me
16:04:56 <elliott> and i'm talking wronglyest
16:05:00 <oklopol> it's an exception
16:05:16 <elliott> oklopol: vwn then
16:05:18 <elliott> vun?
16:05:19 <elliott> vtn?
16:05:20 <elliott> vrn?
16:05:21 <elliott> vzn?
16:05:22 <elliott> vxn?
16:05:24 <elliott> vcn?
16:05:24 <oklopol> i'm not telling ya
16:05:24 <elliott> vvn?
16:05:26 <elliott> vnn?
16:05:28 <elliott> v?n?
16:05:32 <oklopol> you'd register the name!
16:05:50 <elliott> absolutely, i'm that evil
16:05:54 <elliott> is that irc channel still existing
16:06:05 <elliott> "However, it might be a good idea to stick to English, Finnish, German or ZX3 to avoid getting banned." ZX3 wat
16:06:14 <oklopol> it's a language of volimo's
16:06:50 <elliott> http://www.vjn.fi/index.php?a=361 ha my name will always be famous
16:06:53 <oklopol> looks a lot like tok pisin
16:07:06 <oklopol> yes
16:07:11 <elliott> i still think oklotalk--'s way of setting vars by reusing the name as a parameter was fucked up :D
16:07:37 <oklopol> it's very fucked up, and i should actually change it a bit
16:07:49 <oklopol> you need a better handle of names
16:07:58 <oklopol> there's some things you can't do now
16:07:59 <elliott> <-- the map here is so output makes sense, implementation defect really -->
16:08:00 <elliott> (map {(get _)} (qs list))
16:08:02 <elliott> i don't get it
16:08:06 <oklopol> me neither.
16:08:18 <elliott> oklopol: so is oklotalk permanently abandoned :p
16:08:22 <oklopol> :D
16:08:23 <oklopol> nah
16:08:46 <oklopol> it's just it's much crazier than it used to be
16:09:31 <oklopol> things get pretty fucked up, cooking up there in my headplace
16:10:16 <elliott> oklopol: what about your os, does it now run solely on badgers
16:11:55 <oerjan> i hear mushrooms are required for proper fucking up
16:12:00 <oklopol> :D
16:12:11 <oklopol> have you heard about MaOS?
16:12:26 <oklopol> the majava operating system
16:12:29 <oklopol> majava = beaver
16:12:37 -!- Wamanuz has joined.
16:12:41 <oklopol> where everything is a beaver
16:13:58 -!- Sgeo has joined.
16:14:08 <Sgeo> I agree with my professor on something!
16:14:23 <elliott> oklopol: well you can install linux on a dead badger
16:14:26 <Sgeo> She said that the textbook doesn't talk about making your own modules, but she feels it's important
16:14:31 <elliott> oklopol: http://www.strangehorizons.com/2004/20040405/badger.shtml
16:14:43 <Sgeo> So she took examples from a different book
16:15:14 <elliott> Sgeo: wow, like sum kinda scientist or sth
16:16:16 <elliott> oklopol: i just can't see you writing assembly really
16:16:19 <elliott> oklopol: bios calls and all
16:17:59 <oklopol> sounds kind of unlikely, yeas
16:18:11 <Sgeo> I'm just glad she didn't blindly follow the textbook
16:18:25 <elliott> oklopol: BUT IT MUST BE DONE
16:18:32 <oklopol> Sgeo: we don't use textbooks here
16:18:46 <oklopol> the profs just write stuff
16:19:09 <Sgeo> Have I mentioned I dislike this school
16:19:24 <oklopol> yes
16:20:05 <oklopol> i like mine
16:20:08 <oklopol> <3
16:20:20 <ais523\unfoog> elliott: oh, the C module today was a disaster
16:20:30 <elliott> ais523\unfoog: oh joy
16:20:36 <ais523\unfoog> the students have started on exercise 3, which is writing a keylogger as a kernel module
16:20:45 <elliott> ais523\unfoog: :D
16:20:54 <elliott> ais523\unfoog: best module ever, can i include it in the kitten kernel?
16:21:11 <elliott> ais523\unfoog: wait are these guys actually using "make menuconfig" and the like? are you sure they know how to do that?
16:21:14 <elliott> guys/gals/whatever
16:21:16 <ais523\unfoog> part of the reason it was a disaster is that the kernel doesn't actually let you hook the interrupt in question, so it was being done on a kernel modified to allow modules to hook the keyboard interrupt
16:21:29 <ais523\unfoog> elliott: /module/, those don't require recompiling the kernel
16:21:47 <elliott> ais523\unfoog: oh, they do when you don't use modules and just compile everything in ... like kitten ... but i digress
16:21:56 <elliott> ais523\unfoog: also, lol @ that
16:22:04 <elliott> ais523\unfoog: it'd be easier to patch X.Org to do it :)
16:22:12 <elliott> or, well
16:22:13 <elliott> the pty layer
16:22:15 <ais523\unfoog> indeed, that's how all sane Linux keyloggers work
16:22:16 <elliott> that'd get ttys too
16:22:20 <elliott> although you'd need to do X.Org too
16:22:21 <elliott> whatever
16:22:34 <elliott> in fact, you could just log VCs separately to X.Org
16:22:35 <elliott> job done
16:22:46 <ais523\unfoog> so, obviously it would be crazy to give the students root perms on the normal lab machines so they could try to get this to work
16:23:08 <ais523\unfoog> thus, they were sent to an unusual lab which has some sacrifical machines that are going to be wiped after the exercise
16:23:21 <elliott> ais523\unfoog: haha
16:23:28 <elliott> ais523\unfoog: should have told them to install linux on their own machine and try it there
16:23:33 <elliott> ais523\unfoog: intellectual darwinism
16:23:49 <ais523\unfoog> which, among other things, have no public internet connection, and do not have the modified kernel needed to do the exercise
16:24:06 <ais523\unfoog> also, the exercise itself was available from the course website
16:24:11 <ais523\unfoog> I think you can see where this is going...
16:24:50 <elliott> <ais523\unfoog> also, the exercise itself was available from the course website
16:24:53 <elliott> wait, as in the solution?
16:24:57 <ais523\unfoog> no, the question
16:25:07 <elliott> ais523\unfoog: i can't see where it's going, but i'm not good at predicting trainwrecks
16:25:09 <ais523\unfoog> but they couldn't access it from inside the lab, because no Internet
16:25:16 <elliott> also it's possible that i've predicted it and not real- ah :)
16:25:36 <elliott> ais523\unfoog: so did anyone manage to get it done? any intrepid people compile the patched kernel and install it to make it work?
16:25:38 <elliott> :P
16:30:48 <elliott> go, little intrepid car! go go go!
16:30:50 <elliott> you can make it!
16:30:59 <elliott> i know you'll live to the next generation!
16:32:50 <elliott> oklopol: http://www.vjn.fi/c/isocsshit.jpg why did you make this
16:34:05 <elliott> oklopol: congratulations, "Quimbox" is the worst comic I have ever read
16:34:10 <elliott> there's 20 of them?!
16:34:25 <elliott> no, there isn't :D
16:37:40 -!- Wamanuz has quit (Ping timeout: 245 seconds).
16:37:54 <oklopol> yeah sorry not yet
16:37:59 <oklopol> couple more exist than are online
16:38:09 <oklopol> should probably complete the series
16:38:53 <oklopol> nothing wrong with http://www.vjn.fi/c/isocsshit.jpg
16:39:30 -!- Sasha has quit (Ping timeout: 245 seconds).
16:39:31 <oklopol> the reader needs to learn what isocs are
16:39:45 <oklopol> so that they can fully enjoy watching them be massacred
16:40:02 <elliott> oklopol: do you recall making http://www.vjn.fi/c/003.jpg
16:40:04 <oklopol> (about 0.1% of all uli comics are online)
16:40:04 -!- Sasha has joined.
16:40:31 <oklopol> i think i do, yes
16:40:39 <oklopol> also i now remember making the other one as well
16:40:58 <elliott> oklopol: so there's like... 700 uli comics?
16:41:02 <elliott> approximating through sheer guesswork
16:41:41 <oklopol> well okay much more
16:42:00 <oklopol> we've spend weekends just watching volimo draw those
16:42:40 <elliott> xD
16:47:13 -!- ineiros has joined.
16:47:50 <elliott> oklopol: "Not permit<b>ted: hereby said so. Your violation of access rights has been reported unto our staff.</b>"
16:48:13 <oklopol> yeah that's the oficial mesages
16:48:39 <Vorpal> hi
16:48:45 <oklopol> hies
16:51:48 <Sgeo> Maybe I should try newspeak again
16:53:04 <Sgeo> Wawait, newspeak is mostly functional?
16:53:13 <elliott> Sgeo: Define mostly...
16:53:16 <oklopol> news peak
16:53:23 <Sgeo> "There is one exactly one construct in the entire language that makes it imperative; the rest depends on the libraries you use. So its very easy to restrict oneself to coding in a pure functional style in Newspeak."
16:54:19 <Vorpal> Phantom_Hoover, down
16:54:20 <Vorpal> ?
16:54:32 <ais523\unfoog> elliott: back; sorry, I was just doing a bunch of marking
16:54:44 <Sgeo> Who marks the markers?
16:54:48 <elliott> <elliott> ais523\unfoog: so did anyone manage to get it done? any intrepid people compile the patched kernel and install it to make it work?
16:54:48 <elliott> <elliott> :P
16:55:02 <ais523\unfoog> anyway, they were given an RPM with the kernel on
16:55:26 <ais523\unfoog> but, of course, it was only accessible via scp/sftp from a location that nobody knew, eventually the lecturer came by and told us what it was
16:55:54 <ais523\unfoog> but people who were unused to Linux had to figure out how to copy an RPM from a fileserver on the local network, install it, and then run the new kernel
16:56:09 <ais523\unfoog> in fact, I spent most of the two-hour session running around explaining it to people
16:56:23 <ais523\unfoog> and even once that was done, they had to find the example code they were meant to work from
16:56:34 <ais523\unfoog> in the end, we copied it out of the lecturer's home directory
16:56:47 <ais523\unfoog> (you know, it was a+r, and accessible from that machine via ssh...)
16:57:34 <oklopol> so this friend of mine is teaching java at uni, he usually spends the two hour sessions telling people what the difference between returning values and mutating the parameter is
16:57:53 <oklopol> oh and of course about how a function can actually be called multiple times, with different parameters
16:59:03 <ais523\unfoog> oklopol: strangely, most of the students here grasped that pretty well
16:59:53 -!- Wamanuz has joined.
16:59:53 * Sgeo gibbers
17:00:01 <Sgeo> oklopol, does your friend happen to work here?
17:00:04 <oerjan> gibber gibber
17:00:06 <elliott> oklopol: are they masters students
17:00:13 <elliott> Sgeo: YOU DID NOT GIBBER AT ALL THERE STOP IT
17:00:20 <elliott> TWO-YEAR-OLDS GIBBER
17:00:59 <oerjan> gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber gibber
17:01:14 <elliott> giblets
17:02:09 -!- oklofok has joined.
17:02:37 -!- oklopol has quit (Ping timeout: 272 seconds).
17:02:42 <elliott> oklopop
17:04:16 <oklofok> elliott: no, they are not master's students, not in cs at least
17:04:19 <Sgeo> The Newspeak browser needs tabbed browsing.
17:04:26 <elliott> oklofok: well ais523\unfoog's students are.
17:04:35 <elliott> well
17:04:41 <elliott> not his students i guess they're not his property technically
17:04:43 <elliott> but let's just call them that
17:04:44 <elliott> because they are
17:04:46 <elliott> um
17:04:49 <elliott> ever start writing a sentence and it's stupid
17:04:53 <elliott> just happened to me, funniest thing
17:04:58 <oklofok> :D
17:05:00 <oklofok> yes all the time
17:05:04 <oklofok> you know what i do
17:05:16 <oklofok> i proudly present it to the world, and go on with my life
17:06:16 <elliott> oklofok: i did that, it's the lines above that line.
17:06:36 <oklofok> i know
17:07:27 -!- ais523\unfoog has quit (Quit: Page closed).
17:19:28 -!- Sgeo has quit (Ping timeout: 255 seconds).
17:27:00 -!- Sasha has quit (Ping timeout: 245 seconds).
17:28:52 -!- Sasha has joined.
17:37:11 -!- oklopol has joined.
17:39:20 -!- oklofok has quit (Ping timeout: 260 seconds).
17:42:30 <Vorpal> <Sgeo> The Newspeak browser needs tabbed browsing. <-- a double plus good idea?
17:59:11 -!- Wamanuz2 has joined.
17:59:14 -!- Wamanuz has quit (Ping timeout: 240 seconds).
18:00:09 -!- atrapado has quit (Quit: Abandonando).
18:03:16 -!- ais523 has joined.
18:04:36 <elliott> hi ais523
18:19:38 -!- ais523_ has joined.
18:19:42 -!- ais523_ has quit (Changing host).
18:19:43 -!- ais523_ has joined.
18:20:02 <ais523_> ugh, fan got stuck, computer shut down to avoid overheating
18:20:08 <ais523_> and I didn't notice in time
18:20:11 <ais523_> it's working now
18:21:05 <elliott> ais523_: cramming the components into 11" sure didn't work so well for toshiba, huh
18:21:50 -!- ais523 has quit (Ping timeout: 245 seconds).
18:24:05 -!- ais523_ has changed nick to ais523.
18:24:15 <ais523> indeed
18:27:33 -!- Wamanuz3 has joined.
18:27:54 -!- Wamanuz2 has quit (Ping timeout: 276 seconds).
18:30:57 <elliott> ais523: is it bad when 99% of the thoughts i have about project X are utterly unrelated to the direct point of project X and are instead about my insane implementation choices?
18:32:55 <oklopol> yes
18:33:22 <elliott> oklopol: how can you say that, you're a mathematician :)
18:33:53 <elliott> "Mark Zukerberg’s Zionist FB which took YEARS to develop and ran as a prototype for years. Than was registered in 1997 and it wasn’t until a YEAR LATER in 1998 that they could formally launch it." what
18:34:03 <elliott> yeah facebook, launched in 1998
18:34:04 <oklopol> why couldn't i
18:34:11 <oerjan> elliott: hey that sounds like the reason why most of my programs stay vaporware :D
18:34:24 <oerjan> well one of the reasons
18:34:37 <elliott> oklopol: because mathematics is about abstracting your problems away to such a degree that you can't possibly be lonely any more!
18:34:59 <oklopol> that's the opposite of implementation choices
18:36:06 <oerjan> oklopol: actually there is an intersection there, when you fall into the trap of making a whole general framework just to write part of your program
18:37:33 <elliott> oklopol: well in my case it's that my implementation choices are *abstractions*
18:37:35 <elliott> what oerjan said basically
18:37:48 <elliott> i'm not thinking about my wonderful OS, I'm thinking about lazy specialisers and type theory :)
18:40:08 -!- Sasha2 has joined.
18:40:08 -!- Sasha has quit (Read error: Connection reset by peer).
18:40:53 <oerjan> ...my vague attempts at writing a Reaper implementation in Haskell tended to get stuck on me trying to invent Enumerators before oleg did, i suspect...
18:41:09 <oerjan> maybe i should try again soon
18:43:00 <elliott> oerjan: is Reaper that hard? :P
18:43:17 <elliott> hm it is uncategorised!
18:43:19 * elliott wikignomes
18:43:48 <oerjan> the syntax is intended to be more insane than what the description so far may indicate
18:43:55 <elliott> say, why don't we delete [[Language list]] and point it to [[Category:Languages]]?
18:44:03 <elliott> IIRC admins can edit the sidebar
18:44:17 <elliott> well, with a script to put language list articles into the category
18:44:24 <elliott> if there are any missing
18:44:47 <elliott> why does Redivider get very little attention?
18:45:18 <oerjan> there is the issue of article names that are incorrect for technical reasons, and also something about formatting for categories being awful with great length variation
18:45:50 <elliott> hmm, okay
18:45:56 <elliott> why are we on mediawiki anyway :D
18:46:19 <oerjan> and also the Language list article could be expanded with short descriptions. anyway i recall there was a discussion of this on the talk page.
18:47:00 <oerjan> which may have been started by me asking the same question, at least i was involved i think
18:47:55 -!- Sgeo has joined.
18:48:42 <Phantom_Hoover> ineiros, do you copy?
18:56:41 <ineiros> What?
18:57:16 <Phantom_Hoover> Any chance of a map update?
18:58:38 -!- myndzi has joined.
18:59:14 -!- Sgeo has quit (Ping timeout: 240 seconds).
18:59:37 <ineiros> Ah, yes. I'll do it now.
19:01:43 -!- oklofok has joined.
19:02:10 -!- myndzi\ has quit (Ping timeout: 255 seconds).
19:03:05 -!- cheater00 has quit (Ping timeout: 245 seconds).
19:05:29 -!- oklopol has quit (Ping timeout: 272 seconds).
19:16:45 -!- cheater00 has joined.
19:16:52 <elliott> oerjan: wait, what about [[Category:Foo|bar]]
19:16:56 <elliott> oerjan: doesn't that make it show as bar in the category?
19:17:24 <oerjan> oh maybe
19:17:31 <oerjan> i'm not sure
19:20:29 <elliott> oerjan: i'll test it by vandalising [[brainfuck]]
19:21:01 <elliott> oerjan: oh, it just changes the sort order
19:21:05 <elliott> w
19:21:05 <elliott> * Brainfuck
19:21:07 <elliott> --http://esolangs.org/wiki/Category:Brainfuck
19:21:19 * elliott fixes
19:21:29 <oerjan> ok i seem to vaguely recall that
19:22:18 <Vorpal> fizzie, seems random lag
19:22:31 <elliott> oerjan: ok then we need a bot that uses [[Category:Languages|foo]] to determine the name of every language, and automatically maintains the language list :D
19:27:29 <ais523> elliott: it changes sort order, yes
19:28:03 <Phantom_Hoover> oerjan, the beth numbers are ordinal-indexed, yes?
19:28:08 <oerjan> Phantom_Hoover: yes
19:28:41 <Phantom_Hoover> Hmm. What's the smallest ordinal that's equal to 1 plus itself?
19:28:50 <oerjan> omega
19:28:52 <elliott> Phantom_Hoover: \omega, presumably...
19:28:58 <elliott> haha im smart as oerjan
19:29:25 <Phantom_Hoover> oerjan, \omega + 1 \neq \omega.
19:29:36 <oerjan> ordinal addition isn't commutative
19:29:43 <Phantom_Hoover> Although 1 + \omega is.
19:29:46 <oerjan> it _is_ equal to 1 + \omega
19:30:00 <Phantom_Hoover> Ah, I see the pitfalls of using language to describe maths.
19:30:16 <Phantom_Hoover> OK, so which way round is it for beth numbers?
19:30:20 <elliott> omegamega
19:30:31 <elliott> Phantom_Hoover: erm it's defined as \beth_{n+1} = ...
19:30:34 <elliott> so the wrong way :)
19:30:44 <oerjan> naturally
19:31:15 <Phantom_Hoover> So is there any ordinal n such that n = n + 1?
19:31:20 <oerjan> 1 + a = a for all infinite ordinals a
19:31:21 <oerjan> no
19:31:37 <oerjan> n + 1 is by definition the next larger ordinal
19:31:59 <Phantom_Hoover> Right, so there's no set equal to its own powerset.
19:32:12 <oerjan> of course not, that's Cantor's theorem
19:32:14 <elliott> Phantom_Hoover: that... was obvious
19:32:15 <elliott> yeah
19:32:19 <elliott> i was just about to type "Cantor's"
19:32:19 <elliott> :D
19:32:31 <elliott> i was thinking you had some Higher Evil Purpose in mind than *that*
19:32:37 <oklofok> i just proved that here a few days ago
19:32:41 <elliott> oerjan: WAIT but what if X is strictly larger than X
19:32:42 <oklofok> i though Phantom_Hoover was near
19:32:48 <elliott> oerjan: WHAT NOW CANTOR, YOU DON'T DISPROVE IT ANY MORE
19:32:55 <elliott> q.e.motherfuckin'.d. bitches
19:32:59 <Phantom_Hoover> Well, I was wondering if there was some weird, esoteric set which didn't work with Cantor.
19:33:16 <oklofok> i proved it for every set
19:33:23 -!- kar8nga has joined.
19:33:27 <oerjan> not in ZF set theory
19:34:09 <elliott> Phantom_Hoover: yeah cuz theorems saying "for all X" usually mean
19:34:12 <elliott> "for all but esoteric X"
19:34:20 <elliott> and that's why they're useful results, because we can invalidate them with esoteric edge-cases
19:34:39 <oerjan> also the ordinals are also never-ending, they do not form a set
19:35:02 <elliott> oerjan: what about the ESOTERIC ordinals
19:35:04 <elliott> man i'm a jerk
19:35:05 <oerjan> (Burali-Forti paradox)
19:35:12 <elliott> sorry Phantom_Hoover! just lying, you're the stupidest person ever
19:35:14 <elliott> apart from vorpal
19:35:15 <elliott> and everyone
19:35:32 <elliott> hey the car stopped evolving and froze :(
19:35:47 <Phantom_Hoover> Ah, see? If I'm not stupider than everyone I must be strictly smarter than myself.
19:36:07 <Phantom_Hoover> Sorrt, *not as stupid.
19:36:22 <oklofok> is there a logic in which the exception makes the theorem
19:36:24 <elliott> take that cantor
19:36:36 <elliott> oklofok: there should be
19:36:40 <oerjan> oklofok: english spelling logic
19:37:18 <elliott> oklofok: (exists x. ~P(x) & (forall y. y =/= x -> P(y)))
19:37:23 <elliott> oklofok: (interpreting exists/forall as normaly)
19:37:26 <elliott> as the way to prove (forall x. P(x))
19:37:28 <elliott> i approve of this insanity
19:38:20 <oklofok> yeah
19:40:32 <elliott> oklofok: or maybe you should just make forall mean foralmostall
19:40:41 <elliott> oklofok: as long as there's finite counterexamples you're good to go
19:42:11 <oklofok> finite?
19:43:19 <elliott> oklofok: ""Almost all" is sometimes used synonymously with "all but finitely many" (formally, a cofinite set) or "all but a countable set" (formally, a cocountable set); see almost." --proved by wikipedia
19:44:03 <oklofok> the measure theoretic meaning basically never means all but finitely many
19:44:26 <elliott> oklofok: i know, but it's nicer this way
19:44:38 <elliott> oklofok: (for this specific, stupid case)
19:44:44 <oklofok> that would only happen if there are a finite set A with measure zero, and all other points are atoms
19:44:52 <oklofok> that is, have nonzero measure as singletons
19:45:03 <oklofok> *is
19:46:12 <oklofok> so for instance if it's a probability space, you'll have a countable number of points, and sets are never that small
19:46:46 -!- pikhq has joined.
19:47:38 <elliott> oklofok: all sets are visible under microscope
19:52:38 <Slereah> What about the empty set? D:
19:54:29 <elliott> Slereah: that is EVERYWHERE
19:54:42 <elliott> Slereah: also fun fact i literally thought yesterday that you should talk more in #esoteric; do so
19:54:52 <elliott> (and just remembered now :P)
19:56:35 <Slereah> But I am a terrible programmer D:
19:56:41 <elliott> Slereah: don't worry, so's oerjan
19:56:43 * elliott runs madly
19:56:47 <Slereah> Do you want to cyber, maybe
19:56:56 <elliott> and Phantom_Hoover has made like 3 programs in his life!
19:57:01 <elliott> that's 4 more than oerjan
19:57:49 <Phantom_Hoover> oerjan wrote a code generator for /// once.
19:59:20 <elliott> Phantom_Hoover: his programs are so bad that they constitute negative fractions of programs, duh
19:59:41 <Phantom_Hoover> Ah.
19:59:45 <oerjan> almost as lousy as elliott's insults
20:00:02 <Phantom_Hoover> The 3 programs I wrote weren't exactly shining examples of code either...
20:00:18 <elliott> oerjan: is it not true that you took part in the haskell 98 standards process to deliberately sabotage its usefulness in your crusade against good programs?
20:00:34 <Slereah> Also
20:00:40 <Slereah> Nobody uses my languages ;_;
20:00:49 <Slereah> Sure, they are neither original nor well made
20:00:52 <Slereah> But still!
20:01:04 <elliott> Slereah: you REJECTED my lazy bird logo
20:01:13 <Phantom_Hoover> elliott, what did he do to the standard?
20:01:14 <oklofok> was that logo a... lazy bird?
20:01:15 <elliott> it was even better than ratpoison's logo
20:01:22 <Slereah> oklofok : Indeed it was
20:01:24 <elliott> oklofok: yes, it was fat and had a crossed-out lambda on it
20:01:25 <oklofok> is ratpoison's logo... rat poison?
20:01:31 <Slereah> Also
20:01:35 <elliott> ratpoison's logo is a cross thing like stop sign, over a badly-drawn rat
20:01:35 <Slereah> IT WAS STUPID
20:01:37 <elliott> ms paint style
20:01:38 <oerjan> elliott: hah it was sabotaged before i'd ever heard of it (see: monad comprehensions)
20:01:38 <elliott> Slereah: :'(
20:01:41 <Slereah> Because lazy bird HAS LAMBDA CALCULUS
20:01:55 <elliott> oerjan: those weren't in h98 right?
20:02:08 <oerjan> indeed they were _removed_ in h98
20:02:16 <elliott> oerjan: right, pretty stupid
20:02:26 <elliott> oerjan: i read someone's blog, they're coding them as a ghc extension
20:02:33 <elliott> oerjan: looks like we're set for a full circle on that issue :)
20:02:47 <elliott> oerjan: what did you even do anyway? typo fixing? :p
20:03:15 <oerjan> yeah
20:03:23 <elliott> Phantom_Hoover: he fixed typos
20:03:49 <oklofok> semantical typos
20:03:58 <oklofok> (al?)
20:04:11 <elliott> semanticianary typocalypse
20:04:36 <oerjan> the typocalypse its up on us
20:05:41 <elliott> oklofok: write my lazy specialiser for me
20:11:34 <Vorpal> Phantom_Hoover, down?
20:11:45 <Phantom_Hoover> Vorpal, not sure.
20:12:16 <Phantom_Hoover> It had bloody well not be, or else there will be blood unless my items are returned to me.
20:12:20 <Vorpal> ineiros, badly broken
20:12:29 <elliott> Phantom_Hoover: whine whine moan
20:12:42 <Vorpal> elliott, ... stop being silly
20:13:20 <elliott> i wasn't
20:13:28 <elliott> people shouldn't whine about items disappearing
20:13:31 <elliott> it's happened to all of us
20:13:32 <oerjan> whimper whimper
20:13:49 <Vorpal> elliott, yes you were
20:14:07 <elliott> Vorpal: i don't think you understand the meaning of "silly"
20:14:19 <elliott> "I disagree with what you say" would be reasonable, "that's a stupid response", yes, but "ha ha you are being silly" is not.
20:14:20 <oerjan> of course not, he's swedish
20:14:33 <elliott> oerjan: i think those jokes have something to them
20:15:11 <Phantom_Hoover> elliott, this isn't single items disappearing I'm whining about.
20:15:24 <Vorpal> Phantom_Hoover, ineiros found your blimp
20:15:27 <elliott> Phantom_Hoover: Vorpal whined when his inventory disappeared too
20:15:32 <elliott> my own inventory has disappeared four, five, six times
20:15:36 <elliott> i just recreate it, it's not hard
20:15:41 <Vorpal> elliott, yes your are the abnormal one
20:15:42 <elliott> store everything you don't need right now in chests
20:15:51 <Phantom_Hoover> I have quite a few nearly-irreplacable things in it.
20:15:51 <elliott> Vorpal: when has fizzie or ineiros whined about losing their inventory
20:15:51 <elliott> never
20:15:57 <elliott> Phantom_Hoover: nearly-irreplacable? Like what?
20:16:17 <Phantom_Hoover> The bow, for one thing.
20:16:25 <Vorpal> indeed
20:16:28 <elliott> Phantom_Hoover: Erm... craft one?
20:16:28 -!- Wamanuz3 has quit (Remote host closed the connection).
20:16:34 <Phantom_Hoover> Unless you want to scour for dungeons to get some string.
20:16:51 <elliott> Phantom_Hoover: ITT: server willing to use /give
20:16:59 -!- Wamanuz3 has joined.
20:17:57 <Phantom_Hoover> elliott, i.e. exactly what you were complaining about me asking for.
20:18:20 <elliott> Phantom_Hoover: that's not quite "give me back my items"
20:21:33 -!- comex has left (?).
20:21:47 <Vorpal> elliott, it is very very very close
20:22:08 <elliott> what's so rare about string
20:22:16 <elliott> oh, spiders
20:23:39 <Vorpal> I lost a bow two. Fizzie can confirm this
20:24:00 <elliott> *too
20:24:05 <elliott> and since bows are useless, who cares
20:24:06 <Vorpal> too indeed
20:24:11 <Vorpal> elliott, they will be fixed tomorrow
20:24:18 <elliott> oh great, MORE updates
20:24:25 <Vorpal> ineiros, hey: update tomorrow that requires both client and server to be updated in sync
20:24:34 <elliott> i thought updates were voluntary now.
20:24:43 <Vorpal> elliott, I think they are going to be very soon
20:24:46 <elliott> of course the server probably still checks minecraft just to punish anyone actually taking advantage of that
20:24:50 <elliott> *minecraft.net
20:28:16 -!- ais523 has quit (Remote host closed the connection).
20:51:33 -!- Sasha2 has quit (Ping timeout: 240 seconds).
20:51:43 -!- wareya has quit (Read error: Connection reset by peer).
20:52:15 -!- Sasha has joined.
20:52:42 -!- wareya has joined.
20:56:43 <elliott> hmm, let's start a moneyless betting pool on who will become SHA-3 once the final round contestants are announced
20:58:55 <elliott> i'd guess either Skein or CubeHash due to the big names behind them :P
20:59:06 <elliott> seems that skein has attacks published and cubehash doesn't
20:59:15 <elliott> [[In October 2010, an attack that combines rotational cryptanalysis with the rebound attack was published. The attack breaks collision resistance of up to 53 of 72 rounds in Skein-256, and 57 of 72 rounds in Skein-512. It also affects the Threefish cipher.[2] This is a follow-up to the earlier attack published in February, which breaks 39 and 42 rounds respectively.[5]]
20:59:17 <elliott> *]]]
20:59:25 <Vorpal> ineiros, bad lag
20:59:56 <pikhq> elliott: Clearly, SHA-3 will only exist when someone manages to make a perfect mapping from a larger set to a smaller set.
21:00:12 <pikhq> elliott: Obviously, in order to compute this function you need a magic wand and a spellcaster.
21:00:16 <Vorpal> fizzie, up again
21:00:20 <elliott> pikhq: considering they're announcing final round contestants soon, i doubt it :)
21:00:33 <pikhq> MAGIC
21:00:42 <pikhq> (MAHÔ)
21:00:42 <elliott> http://cubehash.cr.yp.to/prizes.html typical bernstein!
21:01:30 <elliott> we should just put bernstein in charge of security of the entire world.
21:01:59 <pikhq> Awesome.
21:02:50 <elliott> pikhq: heh, i didn't realise he was the one who got US crypto export restrictions eliminated!
21:02:53 <elliott> The case was first brought in 1995, when Bernstein was a student at University of California, Berkeley, and wanted to publish a paper and associated source code on his Snuffle encryption system. Bernstein was represented by the Electronic Frontier Foundation, who hired outside lawyer Cindy Cohn. After four years and one regulatory change, the court case won a landmark decision from the Ninth Circuit Court of Appeals, that software source code was
21:02:53 <elliott> speech protected by the First Amendment and that the government's regulations preventing its publication were unconstitutional.[1]
21:03:05 <elliott> [[Often lost in the discussion of Bernstein v. United States, the court case that overturned and eventually eliminated US export restrictions on cryptography, is that the subject of the case, Snuffle, was itself an attempt to bypass the regulations.
21:03:06 <elliott> Snuffle showed how to use a cryptographic hash function, which was legal to export, as a strong encryption system, which was illegal to export. The irony of the case was that it was not the hash that was illegal, but the software that showed how to use it.]]
21:03:07 <elliott> :D
21:03:42 <elliott> but [[The government modified the regulations again, substantially loosening them, and Bernstein, now a professor at the University of Illinois at Chicago, challenged them again. This time, he chose to represent himself, although he had no formal legal training. On October 15, 2003, almost nine years after Bernstein first brought the case, the judge dismissed it and asked Bernstein to come back when the government made a "concrete threat".[2]]]
21:03:51 <pikhq> Cubehash is actually quite a simple hash algorithm. ♥ Bernstein.
21:04:12 <pikhq> elliott: :D
21:07:39 <elliott> brb
21:12:04 -!- kar8nga has quit (Remote host closed the connection).
21:16:33 -!- oerjan has quit (Quit: Good night).
21:35:45 <elliott> pikhq: Why did tar win out over cpio? isn't cpio more advanced and with a more unixy interface?
21:35:57 <elliott> as well as the fact that it was in SysV
21:36:17 <elliott> also: why does initramfs use cpio? why rpm?
21:36:20 <elliott> rathe than tar
21:36:44 <elliott> ("The cpio utility was standardized in POSIX.1-1988. It was dropped from later revisions, starting with POSIX.1-2001 due to its 8 GB filesize limit." heh)
21:36:56 <elliott> pax can do cpio though :P
21:37:02 <pikhq> cpio's a bit easier to parse, I bet.
21:37:38 <elliott> pikhq: I'm sure RPM just uses a library or calls out to cpio...
21:37:55 <elliott> pikhq: But yeah, why did tar win?
21:38:28 <elliott> Oh, Bent Linux's bpm uses cpio.bz2. I'm not sure why; it just calls out to cpio(1). Perhaps the author used rpm a lot.
21:39:37 <elliott> pikhq: Ha! pax can be used to do cp(1).
21:39:39 <elliott> find . -depth -print | pax -rwd target_dirfind . -depth -print | pax -rwd target_dir
21:39:54 <elliott> Well; cp with -R, that is.
21:40:30 <pikhq> Seems that tar's a bit older. And network effects took over.
21:42:17 <elliott> pikhq: Have you *seen* how useless pre-2001 POSIX tar is?
21:42:31 <pikhq> Yeah.
21:42:40 <pikhq> Tar is such a bad format.
21:42:45 <elliott> pikhq: Which makes me suspect: lol, GNU did it.
21:42:55 <elliott> Because GNU had their own tar extensions that made it useful.
21:43:11 <elliott> pikhq: Despite all this, GNU cpio is actually the GNU Operating System's official archiver, and can read and write tarballs.
21:43:26 <elliott> pikhq: Perhaps rms uses it, or something.
21:43:41 <elliott> [[GNU cpio supports the following archive formats: binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, and POSIX.1 tar. The tar format is provided for compatability with the tar program. By default, cpio creates binary format archives, for compatibility with older cpio programs. When extracting from archives, cpio automatically recognizes which kind of archive it is reading and can read archives created on machines with a dif
21:43:42 <elliott> ferent byte-order.]]
21:43:44 <elliott> pikhq: A...ASCII cpio? wat
21:43:51 <elliott> LOL!
21:44:00 <elliott> pikhq: look at the list of downloads on http://www.gnu.org/software/cpio/
21:44:05 <elliott> cpio-2.11.tar.gz and its signature
21:44:06 <elliott> cpio-2.11.tar.bz2 and its signature
21:44:06 <elliott> cpio-2.11.shar.gz and its signature
21:44:12 <elliott> before that, not even shars, just tars
21:44:13 <elliott> :D
21:50:21 <elliott> shars aren't nearly portable enough anyway, we demand dd/sh archives
21:51:11 <elliott> http://dd-sh.intercal.org.uk/regex/ wow.
22:07:46 -!- GreaseMonkey has joined.
22:09:54 <elliott> dd of="CLC-INTERCAL$DTYPE-$VERSION/Makefile.PL" bs=6468 count=1 <&3 2>&1 | grep -v '[0-9] record' | grep -v 'bytes.*copied'
22:10:06 <elliott> The CLC-INTERCAL dd/sh packages are LIES! That's GREP I spot!
22:12:58 <pikhq> If only that grep were a sh function.
22:13:25 <elliott> pikhq: Is "$@" standard Bourne shell? I don't think so...
22:14:57 <pikhq> Appears not to be in Bourne's shell documentation.
22:15:04 <pikhq> Could be in POSIX though.\
22:15:28 <pikhq> I'm going to guess it's a Korn addition.
22:15:31 <elliott> pikhq: But "exec 3<blah" is, yes?
22:15:36 <elliott> (Bourne, that is.)
22:15:41 <pikhq> Totally Bourne.
22:15:56 <elliott> Woot.
22:16:07 <elliott> pikhq: (I'm trying to implement a dd/sharchiver in dd/sh.)
22:16:20 <elliott> pikhq: (This involves keeping track of state, and also parsing dd's diagnostic output. Ho ho...)
22:16:40 <elliott> Let's see if I can't wrangle a predictable way to read the number of bytes from dd in a way I can parse using only dd and sh!
22:17:54 <pikhq> Yeah, @ is definitely in POSIX sh.
22:18:07 <elliott> dd/sh is specified to be Bourne sh.
22:19:13 <pikhq> OH MY GOD THE SOURCE TO BOURNE SH IS TERRIBLE
22:19:23 <elliott> Aha! If I store dd's diagnostic output in a variable, pipe "echo $diag" to dd, using bs=1 count=1 and skip=0 then skip=1 etc., I can increment a counter every time it's 0 to 9 (with switch/case) and break when it's +, the end; then I can just do
22:19:36 <elliott> echo $diag | dd bs=1 count=$howevermany 2>/dev/null
22:19:38 <elliott> And voila!
22:19:45 <elliott> pikhq: HAHA PASCAL
22:19:45 <pikhq> http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h
22:19:51 <elliott> pikhq: Old :P
22:20:07 <pikhq> AND IT USES TRUE=-1
22:21:03 <elliott> pikhq: You need `...` for Bourne sh, right? Not $(...).
22:21:08 <pikhq> Right.
22:21:12 <pikhq> $() is a POSIXism.
22:21:20 <elliott> Does `echo $1 | ...` work if $1 exists in the parent scope?
22:21:40 <pikhq> Pretty sure.
22:22:20 <pikhq> o.O
22:22:20 <pikhq> tksh
22:22:23 <elliott> pikhq: Hmm. How does one increment a variable by one when one is only in possession of dd and Bourne sh?
22:22:25 <pikhq> It's Korn shell with Tk.
22:22:59 <elliott> WAIT I missed the easiest solution to this.
22:23:11 <elliott> out=$out$c
22:23:13 <elliott> mwahaha
22:23:39 <pikhq> elliott: I am *horribly* afraid the only way to do increment is a lookup table.
22:23:46 <elliott> pikhq: Good thing I don't have to, then.
22:23:53 <elliott> pikhq: Although I, uh, will need addition soon.
22:23:58 <elliott> pikhq: Hmmmmmmmmmmmmmmmmmmmmmmmmm.
22:24:13 <elliott> pikhq: And I have to use decimal to pass to dd, so I can't just use unary and concatenate.
22:24:29 <elliott> Dammit, doesn't even work either.
22:24:44 <elliott> wtf
22:25:02 <elliott> oh
22:25:28 <elliott> wait, that doesn't even work.
22:26:08 <elliott> pikhq: can you say "replace first instance of this with that in this string" in bourne sh?
22:26:11 <elliott> you definitely can in bash, easily
22:26:19 <elliott> the ${foo#blah%whatever} kind of stuff
22:27:33 <pikhq> Wait, wait, $@ *is* Bourne.
22:27:46 <pikhq> Anyways. The replacement thing... Looking.
22:29:11 <elliott> pikhq: But is "$@" somehow magically expanding to multiple things Bourne?
22:29:14 <pikhq> No, you can't do the replacement thing.
22:29:15 <elliott> for x in "$@"; do ... done
22:29:25 <pikhq> elliott: Yes.
22:29:29 <elliott> pikhq: WAIT that's okay I can use dd to do the replacement thing!
22:29:34 <elliott> Yay dd
22:31:16 <elliott> pikhq: Ha, it works.
22:31:34 <elliott> pikhq: http://sprunge.us/fVLX
22:31:41 <elliott> pikhq: parsenum 123xyzblah -> 123
22:31:58 <fizzie> elliott: If you want easy arithmetics, you can use a file as a unary variable. To convert the value to a decimal integer, extract the file size from dd diagnostics. To add a decimal integer N to one file, do "dd if=inputvar of=outputvar bs=1 seek=N".
22:32:36 <elliott> fizzie: (1) <3 (2) Any way to do that without using a temporary file? I suppose not, but...
22:32:42 <elliott> fizzie: Wait, I can just use a variable, duh.
22:32:45 <elliott> x=`dd ...`
22:32:48 <elliott> And the like.
22:33:26 <fizzie> I wanted to do something that would do `dd if=/dev/zero count=...` and so on, but it appears zero bytes are too scary.
22:34:29 <elliott> fizzie: Define too scary.
22:34:59 <fizzie> They go away; "echo `dd if=/dev/zero bs=1 count=5` | hexdump -C" just prints a single newline.
22:35:23 <fizzie> Or rather, hexdumps a single newline.
22:35:43 <elliott> fizzie: Wouldn't /dev/urandom work?
22:35:48 <elliott> fizzie: I mean, hypothetically...
22:36:19 <elliott> fizzie: Wait, you can implement the equivalent of "yes ''" as a shell function.
22:36:48 <elliott> fizzie: yesnewline >&3 | dd <&3 bs=1 count=5
22:36:52 <elliott> fizzie: No?
22:37:01 <elliott> fizzie: And echo whatever else on a non-&3 pipe.
22:38:06 <fizzie> Something like that sounds at least plausible.
22:38:33 <elliott> fizzie: Now you have to tell me how to tell dd not to bother actually copying the file, just to display stats as if it would have. :p
22:39:06 <elliott> wait, that isn't the problem
22:39:59 <fizzie> Hum, actually.
22:40:21 <fizzie> fis@eris:~$ dd if=/dev/zero bs=1 count=42 seek=69 > t 2> /dev/null; dd if=t bs=1
22:40:22 <fizzie> 111+0 records in
22:40:26 <fizzie> That's 42+69 in decimal.
22:40:55 <fizzie> Couldn't quite yet figure out how to do that without the temporary, since you can't seek=N a pipe.
22:41:18 <elliott> fizzie: >/dev/null, duh.
22:41:42 <fizzie> But you need to be able to read the resulting output file to get the result.
22:41:56 <fizzie> The diagnostics from the original dd ignore seek/skip amounts.
22:42:22 <elliott> fizzie: Use skip instead of seek?
22:42:44 <elliott> Doubt that would work, but...
22:42:50 <fizzie> That won't really help, then it just silently skips N bytes out of /dev/zero, which has no discernable effect.
22:43:32 <elliott> fizzie: Wait, duh.
22:43:45 <elliott> fizzie: x=`dd if=/dev/zero bs=1 count=42 seek=69 2>/dev/null`
22:43:52 <elliott> fizzie: Wait, no.
22:43:55 <elliott> You said that didn't work.
22:44:24 <fizzie> That won't do anything; both the "`` won't save zeroes" problem, and the "seek won't work if of= doesn't name a file" problem.
22:44:36 <elliott> fizzie: dd can do conversions, can't it?
22:44:42 <elliott> So you can change the zeroes to... something else?
22:45:03 <fizzie> Just ebcdic/ascii and such, couldn't yet figure out anything that'd do anything to zeroes.
22:45:50 <fizzie> But at least you can compute N*M without a temporary file: "dd if=/dev/zero bs=6 count=7 2>/dev/null | dd bs=1" and read the diagnostics.
22:46:08 <elliott> fizzie: Heh.
22:46:17 <elliott> fizzie: Unfortunately I don't need multiplication.
22:46:46 <fizzie> Well, this works in bash:
22:46:49 <fizzie> $ (dd if=/dev/zero bs=1 count=42 2>/dev/null; dd if=/dev/zero bs=1 count=69 2>/dev/null) | dd bs=1
22:46:50 <fizzie> 111+0 records in
22:47:01 <fizzie> I don't know how complicated (...) subshellery you can do in sh.
22:47:05 <elliott> fizzie: What's so bash about that?
22:47:09 <elliott> Calling all pikhqs.
22:47:19 <elliott> If not, {} might work, perhaps?
22:47:47 <fizzie> I am really not a sh guy. But as long as you get something to run two commands and get their outputs into the same pipe.
22:48:50 <elliott> fizzie: erm, define a function and use that?
22:49:36 <fizzie> Well, y'see, I don't know how primitive sh is, so I tend to assume the worst. Chances are that stuff will work.
22:49:41 <fizzie> If nothing else, at least sh -c 'dd if=/dev/zero bs=1 count=42 2>/dev/null; dd if=/dev/zero bs=1 count=69 2>/dev/null' | dd bs=1
22:50:04 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:50:05 <fizzie> (The so-called manual subshelling.)
22:51:43 <elliott> pikhq: bourne sh had functions right?
22:51:51 <pikhq> Yeah.
22:52:00 <elliott> add () {
22:52:01 <elliott> parsenum `(
22:52:01 <elliott> dd if=/dev/zero bs=1 count="$1" 2>/dev/null
22:52:01 <elliott> dd if=/dev/zero bs=1 count="$2" 2>/dev/null
22:52:01 <elliott> ) | dd bs=1 of=/dev/null 2>&1`
22:52:01 <elliott> }
22:52:05 <elliott> slowest way to add two numbers EVER
22:52:12 <pikhq> fizzie: What you named there would work in Thompson shell.
22:52:12 <elliott> apart from intercal's snobol implementation
22:52:23 <elliott> pikhq: So (x; y) | z is kosher in Bourne?
22:52:27 <elliott> If so, good.
22:52:28 <pikhq> (the predecessor to Bourne, written by Ken Thompson.)
22:52:29 <pikhq> elliott: Entirely.
22:52:55 <pikhq> elliott: http://steve-parker.org/sh/bourne.shtml Here.
22:53:01 * elliott replaces /dev/zero with his own infinite-output function; relying on non-/dev/null files here seems wrong.
22:53:07 <pikhq> It's the Bourne shell documentation. Written by Bourne.
22:53:19 <elliott> pikhq: he's crazy enough to code C like that, why should i trust him :D
22:53:33 <pikhq> Fair enough.
22:54:37 <elliott> pikhq: What about ":"? :p
22:54:40 <elliott> I can use (exit 0) instead.
22:56:10 <elliott> yesnl | dd bs=1 count="$1" 2>/dev/null
22:56:10 <elliott> yesnl | dd bs=1 count="$2" 2>/dev/null
22:56:15 <elliott> This doesn't work... yesnl is:
22:56:17 <elliott> while :; do
22:56:17 <elliott> Echo
22:56:18 <elliott> done
22:56:29 <elliott> Just hangs forever.
22:56:35 <elliott> Works with if=/dev/zero...
22:56:50 <Vorpal> Phantom_Hoover, no longer on?
22:57:36 <elliott> How odd, Echo appears to be the problem.
22:57:43 -!- augur has quit (Remote host closed the connection).
22:58:14 <elliott> Hmm.
22:58:40 <elliott> dd seems to not bother quitting...
22:58:53 <elliott> Fixed.
22:58:56 <elliott> while :; do
22:58:56 <elliott> Echo || return
22:58:57 <elliott> done
22:59:01 <elliott> pikhq: return kosher Bourne?
22:59:20 <elliott> *while Echo; do :; done
22:59:21 <elliott> :D
22:59:35 <pikhq> elliott: Try building Bourne shell and testing. :P
22:59:44 <elliott> pikhq: sounds scary
23:03:09 <fizzie> Just for the record, if you need to handle negative quantities, subtraction is really easy: dd if=/dev/zero bs=1 count=123 2>/dev/null | dd bs=1 skip=45 of=/dev/null 2>&1 will compute 123-45.
23:03:56 <elliott> fizzie: You are awesome.
23:04:58 <fizzie> People should use more unary number systems, they're the bee's knees.
23:06:40 <elliott> block pad newline-terminated records with spaces to cbs-size
23:06:41 <elliott> hmm
23:06:41 <Mathnerd314> fizzie: what about negative numbers?
23:07:01 <elliott> $ echo | dd cbs=1G count=1 conv=block
23:07:02 <elliott> score
23:07:03 <elliott> yes for free
23:07:30 <elliott> sped up my addition algorithm immensely!
23:08:21 <fizzie> You can just test for the - sign and then subtract instead of add, and so on. It's a bit of messy, but none of those dd parameters can be negative. :/
23:08:32 <elliott> fizzie: Man, your algorithm is unbelievably slow.
23:08:43 <elliott> maybe it's yesnl...
23:08:59 <Mathnerd314> fizzie: IMO it's just no comparison to balanced ternary
23:09:21 <fizzie> Oh, you meant the unary bit, not just dd/sh math in general.
23:09:34 <fizzie> Sure, if you want to be *practical* about it...
23:12:08 <elliott> fizzie: got any ideas? :P
23:13:50 <Phantom_Hoover> Oh, dear.
23:14:02 <Phantom_Hoover> GIMP's pixeliser has betrayed me.
23:14:14 <elliott> "I can CLEARLY see those genitals!"
23:15:21 <Phantom_Hoover> No, I mean the ellipse → pixel thing.
23:15:35 <elliott> Suure.
23:16:10 <fizzie> With cbs=1G, I wouldn't be surprised if dd were allocating a gigabyte and doing something to it in memory before starting to write.
23:16:29 <elliott> fizzie: Unlikely, it goes quickly for me. Anyway even with /dev/zero it's TOO SLOW.
23:16:45 <elliott> fizzie: File sizes in bytes are regularly added to it.
23:17:43 <fizzie> Well, it's O(n) single-byte write/read pair where n is your sum value.
23:20:23 <fizzie> You might be able to speed it up a tiny bit by converting those two "output" dd's from "dd bs=1 count=N" to "dd bs=N count=1", but the reading "input" dd does need bs=1 for the diagnostics. (Maybe ibs=1M obs=1 could work too.)
23:20:23 <elliott> fizzie: Right, but I have to numparse it, which invokes dd a lot and is O(n) where n is length of the resulting number.
23:20:25 <elliott> It slow.
23:20:30 <Vorpal> Phantom_Hoover, hm? it is up
23:21:09 <fizzie> I don't think I saw your numparse.
23:21:25 <Phantom_Hoover> Vorpal, I'm despairing at the fact that I may have completely messed up the ROU's hull in places.
23:22:29 <elliott> fizzie: That goes INSANELY faster. (Well, faster enough.)
23:22:50 <elliott> fizzie: parsenum is "interesting"; http://sprunge.us/fVLX
23:23:38 -!- Goosey has joined.
23:23:48 <elliott> fizzie: "ibs=1M obs=1" fails horribly.
23:24:14 <elliott> fizzie: Anyway, parsenum optimisations welcome :P
23:24:30 <elliott> fizzie: Those echoes are *Echo in the new version
23:24:35 <elliott> which is actually dding to dd
23:24:36 <fizzie> Ah, a "read up one byte at a time with dd" sort of thing.
23:24:38 * elliott inlines the Echos
23:24:54 <elliott> c=`dd bs=1 count=1 2>/dev/null <<EOF
23:24:54 <elliott> $in
23:24:54 <elliott> EOF`
23:24:58 <elliott> could not be more hideous
23:25:32 <elliott> fizzie: It really is irritating having to dd every file twice, though.
23:25:35 <elliott> Especially if the file is big.
23:25:53 <elliott> fizzie: Hey, um, I think it's broken.
23:25:56 <elliott> dd of='/home/elliott/code/inst/wget-1.12/tests/Test-idn-headers.px' skip=15774 count=1719 <&3 2>/dev/null || exit 1
23:25:56 <elliott> dd of='/home/elliott/code/inst/wget-1.12/tests/Test-ftp-iri.px' skip=3255 count=1080 <&3 2>/dev/null || exit 1
23:27:03 <Vorpal> Phantom_Hoover, oh?
23:27:14 <Vorpal> Phantom_Hoover, how so?
23:27:26 -!- Goosey has quit (Remote host closed the connection).
23:27:27 <fizzie> It might well be broken; it's not very well-tested.
23:27:28 <Vorpal> Phantom_Hoover, my cobblestone factory works. It is larger than that though
23:27:36 <Phantom_Hoover> Vorpal, GIMP's pixelisation of ellipses is borken.
23:27:38 -!- Goosey has joined.
23:27:51 <Goosey> I'm back from school. :)
23:27:52 <Vorpal> Phantom_Hoover, I see. Is it visibly wrong?
23:28:28 <elliott> fizzie: More efficient ways to implement
23:28:29 <elliott> yesnl () {
23:28:29 <elliott> Echo | dd cbs=1G conv=block
23:28:29 <elliott> }
23:28:30 <Phantom_Hoover> Vorpal, the difference is about 1 pixel off-centre. It's still niggling, though.
23:28:32 <elliott> are also appreciated.
23:28:37 <Vorpal> Phantom_Hoover, I see.
23:28:38 <elliott> Also that "nl" is totally wrong, /me renames it to inf.
23:28:46 <fizzie> The ibs=1M obs=1 failure is probably because you're reading the first line of diagnostics, not the second. (But if you can easily get the N'th line, you can actually use bs=1M in general and read the third, "bytes copied" bit.)
23:29:43 <elliott> fizzie: Get the second line? With *dd*?
23:29:53 <elliott> fizzie: Maybe with another parsenum-style monstrosity...
23:30:48 <Goosey> :/
23:31:06 <Goosey> :|
23:31:08 <Goosey> :[
23:31:21 <elliott> Goosey: sorry i'm too busy implementing a dd/sharchiver.
23:31:34 <Goosey> I WAS ACKNOWLEDGED!
23:31:38 <elliott> fizzie: Also, less slow ways to do: size=`parsenum \`dd bs=1 if="$file" of=/dev/null 2>&1\``
23:31:39 <Goosey> Lol, it's good.
23:31:53 <elliott> fizzie: For instance ways that don't involve copying the file.
23:32:04 <Vorpal> Phantom_Hoover, you said "may"
23:32:07 <Vorpal> Phantom_Hoover, did you however do it?
23:32:28 <Phantom_Hoover> Vorpal, depends on how easily I can ignore it.
23:32:32 <fizzie> Isn't that just reading the file instead of actually copying? Still.
23:32:35 <Phantom_Hoover> The actual error is very small.
23:32:48 <Vorpal> Phantom_Hoover, there you go then
23:32:56 <Vorpal> Phantom_Hoover, in which direction is the error?
23:32:58 <elliott> fizzie: Copying it to NOWHERE.
23:33:07 <Phantom_Hoover> Vorpal, major axis.
23:33:19 <Vorpal> Phantom_Hoover, that is in the length?
23:33:36 <Vorpal> Phantom_Hoover, well since you can't easily see from side to side that isn't much of an issue
23:34:28 <elliott> fizzie: Oh lawd.
23:34:37 <elliott> fizzie: All the dds have "skip=foo", and read from the program file itself.
23:34:52 <elliott> fizzie: So basically I have to know the size of the ddshar script, including the skips, before I can write it...
23:35:28 <elliott> How does CLC-INTERCAL do it...
23:35:33 <elliott> dd of=/dev/null bs=2825 count=1 <&3 2>/dev/null
23:35:36 <elliott> Gah, cheatingly.
23:35:43 <fizzie> elliott: Well, um, for the earlier thing, there's again the bs=1 issue that usually slows that down. You can try ibs=1 obs=1M but that probably won't help much; or bs=1M if you can be bothered to read the third line.
23:35:44 <elliott> fizzie: Wait, I don't need addition after all; there is that.
23:36:28 <elliott> fizzie: Patches accepted wrt reading the first line :P
23:37:17 <elliott> dd of=/dev/null bs=2825 count=1 <&3 2>/dev/null
23:37:22 <elliott> i love how the padding imposes a maximum file length
23:38:57 <elliott> fizzie: HAHAHA how do you do subtraction again?
23:39:06 <fizzie> "dd of=/dev/null bs=1234 count=1 <&3 2>/dev/null" sounds like it's better written as "dd bs=1234 skip=1 count=0 <&3 2>/dev/null" to get a seek instead of a throwaway read, but I can't be sure that'd work.
23:39:17 <elliott> fizzie: Or rather: How do I fill in, say, 20 spaces with a number, left-aligned?
23:39:19 <elliott> And leave the rest free?
23:39:37 <elliott> skip would work, yes; thanks.
23:40:05 <elliott> fizzie: I'm actually planning to get rid of the /dev/null dependency. >&4 should work, for unallocated fourth descriptor.
23:40:20 <elliott> nobody said dd/sh implies unix!
23:42:35 <fizzie> Here's how to get the third line:
23:42:37 <fizzie> $ echo xxx | dd bs=1M of=/dev/null 2>&1 | dd cbs=80 conv=block 2>/dev/null | dd cbs=80 bs=80 skip=2 conv=unblock 2>/dev/null
23:42:40 <fizzie> 4 bytes (4 B) copied, 0.000917496 s, 4.4 kB/s
23:42:59 <fizzie> The first dd is the one producing the diagnostics.
23:43:02 <elliott> fizzie: Now now, dd could always print a line longer than 80 chars.
23:43:15 -!- sftp has quit (Remote host closed the connection).
23:43:17 <fizzie> Well, make it a bit longer.
23:43:28 <elliott> fizzie: Arbitrary limits are bad for your HEALTH!
23:43:54 <fizzie> Says the "20 spaces with a number" guy.
23:44:35 <elliott> fizzie: You do realise the number going in those 20 spaces depends on the length of the line they're in? :P
23:44:43 <elliott> Patches WELCOME!
23:45:53 -!- GreaseMonkey has quit (Ping timeout: 240 seconds).
23:49:23 -!- FireFly has quit (Quit: swatted to death).
23:49:29 -!- augur has joined.
23:52:22 <elliott> fizzie: Funny how similar this is to quining...
23:52:47 <Sasha> Anyone use OpenOffice 3?
23:53:04 <elliott> Sasha: i have used it
23:53:10 <elliott> i do not like using it, nor want to use it
23:53:18 <Sasha> oh
23:53:21 <elliott> i would prefer it and its Microsoft brother would just go shoot themselves forever or something.
23:53:24 <elliott> Sasha: also, it's LibreOffice now.
23:53:25 <Sasha> how do i do doublespacing?
23:53:35 <elliott> Sasha: with the formatting menu.
23:54:01 <Sasha> Ooh, duh
23:54:05 <Sasha> now I feel stupid
23:54:07 <Sasha> thanks, elliott
23:54:18 <quintopia> elliott: what is your editing-for-print solution of choice?
23:54:25 * Sasha derp a derp a derp
23:54:35 <elliott> quintopia: i don't believe in paper. i am fairly sure it does not exist.
23:54:51 <elliott> but probably latex, because i'm a masochist.
23:55:00 <elliott> interpret /that/ sentence as you will
23:55:07 <Sasha> elliott: What about paper monies?
23:55:12 <quintopia> okay, fine. editing for publishing-in-pdf-form-in-print-like-formats-for-an-online-journal then
23:55:21 <elliott> Sasha: not real, the only real money i have is electronics
23:55:25 <quintopia> just plain straight latex?
23:55:29 <Phantom_Hoover> elliott, what about paper aeroplanes?
23:55:32 <Sasha> and what about books?
23:55:34 <Sasha> and yeah
23:55:35 <elliott> quintopia: yes. well, with the memoir class probably. and other packages. but yes, i just use latex.
23:55:37 <elliott> lyx is terrible.
23:55:37 <Sasha> and origami
23:55:41 <elliott> definitely latex for books
23:55:43 <Sasha> and napkins?
23:55:47 <elliott> origami is based on a false assumption (that paper exists)
23:55:54 <elliott> napkins aren't made out of paper where i come from.
23:55:56 <Goosey> Hm
23:56:01 <elliott> they're made out of soft wood.
23:56:02 <Goosey> Including the languages I'm learning
23:56:06 <Sasha> I have never seen a nonpaper napkin
23:56:07 <quintopia> i tried folding a kindle once. the results were quite satisfying
23:56:17 <Goosey> I almost know 17 languages :D
23:56:24 <Sasha> Goosey: Which?
23:56:27 <quintopia> i can't believe sahsa has never seen a cloth napkin. he must be poor.
23:56:37 <Goosey> Prolog, Common Lisp, Haskell, C, C++, C#, Java, Python, Assembly, Brainfuck, Perl, Befunge, Scheme, Forth, Bash and Batch, and a bit of HTML/CSS
23:56:47 <Phantom_Hoover> elliott, how can you not like origami?
23:56:48 <Sasha> quintopia: No, just don't go out often
23:56:52 <Phantom_Hoover> It's so cool!
23:57:02 <Goosey> I'm learning Haskell, Forth, Perl and Befunge
23:57:02 <elliott> Phantom_Hoover: well i "like" it like i like tesseracts
23:57:04 <elliott> purely hypothetical
23:57:07 <Phantom_Hoover> Well, the fun sort of origami with regular solids and things.
23:57:16 <Phantom_Hoover> None of that boat crap.
23:57:18 <elliott> Goosey: is batch actually turing complete. also, which assembly
23:57:49 <Sasha> quintopia: Seeing things involves looking at them
23:57:50 <Phantom_Hoover> Goosey, neither HTML nor CSS are programming languages.
23:58:03 <Sasha> and none of those are real languages
23:58:09 <quintopia> Phantom_Hoover: there's this guy who made a full-size cuckoo clock out of single giant piece of paper without cutting. i wish i could find that website again.
23:58:12 <Goosey> NASM assembly
23:58:20 <Phantom_Hoover> quintopia, O.o
23:58:21 <Goosey> for linux :P
23:58:23 <Phantom_Hoover> Did it work?
23:58:26 <Goosey> besides in 15, give me a break :D
23:58:58 <quintopia> Phantom_Hoover: uh, no. it's paper. contiguous paper. ...i don't even know how you could ask that.
23:59:03 <Sasha> quintopia: I would reverse-engineer the shit out of that fucker
23:59:15 <Phantom_Hoover> quintopia, well, that's boring.
23:59:17 <elliott> <Sasha> and none of those are real languages
23:59:24 <elliott> what, prolog? haskell? forth?
23:59:27 <elliott> C?
23:59:30 <elliott> Assembly?
23:59:33 <elliott> Brainfuck?
23:59:36 <Goosey> Perl
23:59:37 <elliott> which of these are not real languages
23:59:45 <Sasha> all of them
23:59:45 <elliott> Goosey: no perl is an elaborate prank >:)
23:59:50 <Goosey> ^ LOL
23:59:51 <elliott> Sasha: i see; name a real language
23:59:57 <Sasha> French
←2010-11-28 2010-11-29 2010-11-30→ ↑2010 ↑all