←2010-11 2010-12 2011-01→ ↑2010 ↑all
2010-12-01
00:00:02 <nooga> avarything should be a pointer
00:00:13 <nooga> like in a goddamn C# or something
00:01:03 -!- augur has joined.
00:01:05 <Sgeo> Why is Factor more popular than Newspeak?
00:01:15 <Sgeo> Why am I comparing apples and oranges?
00:01:17 <elliott> Sgeo: SHUT
00:01:19 <elliott> Sgeo: UP
00:01:23 <Sgeo> <insert Gregor reference here>
00:01:28 <elliott> what
00:01:33 <elliott> ... so anyway, ok seriously, what's the easiest way to become nobody in a shell script
00:01:46 <Vorpal> elliott, su nobody <command>?
00:01:48 <Vorpal> or such
00:01:59 <Sgeo> Wouldn't that require root access?
00:02:03 <elliott> Vorpal: require's nobody's password. it, of course, has none.
00:02:13 <Vorpal> elliott, root shouldn't need it
00:02:15 <elliott> Vorpal: sudo works for any user, of course, but requires the user's password
00:02:18 <elliott> Vorpal: indeed, i'm not root
00:02:26 <Vorpal> elliott, then you can't change user
00:02:29 <elliott> Vorpal: yes you can
00:02:35 <Vorpal> elliott, and you can use sudo
00:02:37 <elliott> $ sudo -u nobody whoami
00:02:38 <elliott> [sudo] password for elliott:
00:02:38 <elliott> nobody
00:02:40 <Vorpal> elliott, to do it without password
00:02:43 <elliott> as i said, pointlessly requires the user's password
00:02:52 <elliott> also, i'd rather not depend on sudo
00:02:53 <Vorpal> elliott, yes indeed sudo is suid root
00:02:56 <Vorpal> that is why it can do it
00:02:59 <elliott> yes...
00:02:59 <Vorpal> su is suid root too
00:03:03 <elliott> you still haven't answered my question
00:03:24 <Sgeo> Stop trying to hack into nobody's account! nobody runs web servers!
00:03:24 <Vorpal> elliott, but you can't do it without having root or *effectively having root thanks to being suid root*
00:03:33 <Sgeo> (Or, well, should. Regular users shouldn't)
00:03:42 <elliott> Vorpal: the latter is slightly acceptable.
00:03:45 <elliott> Vorpal: the former is not
00:03:45 <Vorpal> Sgeo, no it shouldn't. A special www user should
00:03:52 <Sgeo> Vorpal, ah.
00:03:52 <elliott> Vorpal: any user on a system should be able to build a package
00:03:56 <Vorpal> elliott, the latter wouldn't work on the shell script
00:04:08 <elliott> Vorpal: i could just write an asnobody.c
00:04:16 <elliott> but...
00:04:16 <Vorpal> elliott, sure
00:04:25 <Vorpal> elliott, that is what you would have to do
00:04:26 <elliott> i don't really like strictly more setuid programs than necessary :)
00:04:34 <Vorpal> elliott, or use sudo with NOPASSWD
00:04:40 <elliott> Vorpal: i'm tempted to
00:04:54 <Vorpal> I think is is a bad idea though in general
00:04:56 <elliott> Vorpal: (I wonder why there isn't an asnobody already, all it can do is reduce privileges...)
00:04:58 <elliott> why?
00:05:16 <Vorpal> elliott, it feels insecure. Could they mess up for other users also building packages?
00:05:39 <Vorpal> elliott, what else on the system uses nobody?
00:05:39 <elliott> Vorpal: not really
00:05:49 <elliott> well
00:05:56 <elliott> i guess they could rm -rf it
00:06:05 <elliott> what we really need is asnewtemporaryuser :)
00:06:15 <Vorpal> elliott, plash?
00:06:28 <elliott> Vorpal: debian-specific, and WAY overblown for this
00:06:35 <elliott> Vorpal: it's as simple as setuid(rand()) :P
00:06:37 <elliott> well
00:06:44 <elliott> Vorpal: it's as simple as setuid(max_uid_in_etc_passwd+rand()) :P
00:07:05 <Vorpal> indeed
00:07:43 <elliott> Vorpal: i might actually just use su here, it may end up that you need to run it as root anyway
00:07:48 <elliott> Vorpal: due to busybox tar not having --owner=
00:08:37 <Vorpal> elliott, why do you use busybox?
00:08:47 <elliott> Vorpal: as opposed to?
00:08:53 <Vorpal> elliott, also if you are packaging projects what about stuff that needs to install as separate uses
00:08:54 <Vorpal> users*
00:09:00 <Vorpal> elliott, just look at qmail for example
00:09:05 <Vorpal> several different users
00:09:20 <Vorpal> qmailq, qmails and so on iirc
00:09:21 <elliott> Vorpal: --owner just changes the owners of the files
00:09:47 <Vorpal> elliott, yes and they need to be different owners. Not all should be changed to root
00:09:54 <elliott> Vorpal: postinstall script :P
00:09:58 <Vorpal> ah
00:10:01 <elliott> Vorpal: it's because packages aren't built as root for obvious reasons
00:10:05 <elliott> i mean there's little other option really
00:10:17 <Vorpal> night →
00:10:18 <elliott> postinstall script for the rare such package is probably the easiest way
00:12:04 <Ilari> APNIC: 3.67 /8s in RIR Pool... And APNIC is extremely likely to get the last 2x/8s.
00:14:24 <Sgeo> There's apparently work on NS3
00:14:35 -!- oerjan has quit (Quit: Good night).
00:20:34 <elliott> pikhq: Question. Should I bother including cc in the build dependencies for any package?
00:20:38 <elliott> Or libc?
00:20:40 <elliott> I'm lazy, you see.
00:20:51 <fizzie> fakeroot is always an option. :p
00:20:53 <pikhq> elliott: I say "yes".
00:21:02 <elliott> fizzie: requires dynamic linker.
00:21:07 <elliott> fizzie: so no, in fact
00:21:16 <elliott> pikhq: Yeah, but... who tries to compile a package without them? :P
00:21:24 <pikhq> Though most distros just say "If it's in the base system, it's not marked as a dependency of anything."
00:21:24 <elliott> (Fine, fine...)
00:21:30 <elliott> pikhq: No they don't!
00:21:36 <elliott> Well. Debian doesn't.
00:22:22 <pikhq> Yeah, that's because Debian doesn't fuck around.
00:23:50 <elliott> pikhq: I most definitely fuck around!
00:23:52 -!- Mathnerd314 has joined.
00:23:56 <fizzie> Well, fakeroot with some sort of ptrace-hooked syscalls, then. The elegant choice!
00:23:58 <elliott> My package manager is like a piece of string!
00:24:00 <Ilari> Then there's less known problem of ASN depletion.
00:24:07 <elliott> pikhq: The string is FLIMSY!
00:24:16 <elliott> pikhq: Hey, an Actual Runtime Dependency for vi.
00:24:18 <elliott> pikhq: (termcap)
00:24:24 <elliott> pikhq: Well. termcap-db.
00:24:28 <elliott> (Got a better name for that?)
00:24:53 <elliott> # The preferred choice for ex on Linux distributions, other systems that
00:24:53 <elliott> # provide a good termcap file, or when setting the TERMCAP environment
00:24:53 <elliott> # variable is deemed sufficient, is the included 2.11BSD termcap library.
00:24:53 <elliott> #
00:24:53 <elliott> TERMLIB= termlib
00:25:07 <pikhq> Ilari: ... ASN depletion.
00:25:11 <pikhq> Ilari: Oh fuck.
00:25:33 <elliott> pikhq: Oi oi oi we're naming packages here! Focus on the important stuff!
00:26:30 <Ilari> There's of course an upgraded spec that solves it. But you need upgraded systems to peer with AS with extended ASN...
00:26:31 <pikhq> Oh, it was extended to 32 bits a few years ago. I hope that the BGP routers actually have been updated.
00:26:53 <elliott> pikhq: So what should I call the termcap db. :p
00:27:06 <elliott> (Or is it all terminfo these days? As quoted, vi uses 2.11BSD termcap.)
00:27:06 <pikhq> elliott: termcap-db
00:27:09 <elliott> (Are the files the same?)
00:27:50 <elliott> pikhq: Not termdb?
00:27:58 <elliott> Is there any other kind of terminal database other than termcap, really?
00:28:31 <pikhq> Terminfo.
00:28:54 <elliott> pikhq: Can't that read termcap files?
00:29:03 <Ilari> At least ASN upgrade should be less of a hassle than IP upgrade, since only systems that peer with extended ASNs need to be upgraded.
00:29:39 <elliott> pikhq: I mean, I really don't want to fuck around with terminfo because it uses binary files and crap.
00:30:06 <elliott> pikhq: Please validate me :P
00:30:08 <fizzie> You can convert to/fro termcap file / terminfo database, at least up to some extent.
00:30:09 <pikhq> elliott: Pretty sure they're incompatible.
00:30:12 <elliott> Bleh.
00:30:18 <elliott> I'll just build everything with termcap and hope for the best.
00:30:22 <elliott> Or, in fact.
00:30:28 <elliott> pikhq: I'll offer both termcap and terminfo in the same package.
00:30:33 <elliott> So, termdb.
00:30:54 <pikhq> There you go.
00:31:07 <elliott> Yep. :P
00:31:20 <elliott> Goodnight.
00:31:24 <pikhq> Hmm. Seems that some programs explicitly call out to termcap or terminfo...
00:31:34 -!- elliott has quit (Quit: Leaving).
00:31:35 <pikhq> Gag.
00:32:10 <fizzie> I don't seem to have termcap files anywhere any more.
00:36:14 -!- sftp has quit (Remote host closed the connection).
00:37:33 <fizzie> Debian seems to have thrown out their old "termcap-compat" package. (They just ship a ncurses "libtermcap" that actually reads terminfo; termcap-compat was for old code you couldn't for some reason or another recompile. And/or those people with custom termcap reading code.)
00:40:38 <fizzie> Already five years ago, in fact.
00:43:28 -!- Mathnerd314 has quit (Disconnected by services).
00:43:32 -!- Sasha has joined.
00:43:50 -!- Mathnerd314_ has joined.
00:44:26 -!- Mathnerd314_ has changed nick to Mathnerd314.
00:44:27 -!- oklofok has joined.
00:44:51 -!- Sasha2 has quit (Ping timeout: 245 seconds).
00:47:25 -!- oklopol has quit (Ping timeout: 245 seconds).
00:48:46 <Sgeo> "Files are extremely important in current computing experience. Much too important. Files should be put in their place; they should be put away."
00:50:10 <Sgeo> "Ultimately, it is about control: If you dont have a file system, it becomes harder for you to download content from unauthorized sources. This is also good for security, and in a perverse way, for the user experience. And its also good for software service providers." suddenly, I feel ill
00:51:19 <Sgeo> I don't think this person actually supports that as a reason to get rid of file systems
00:53:17 <oklofok> everything implies a true proposition
00:54:21 <oklofok> (that file systems should be gotten rid of)
00:55:08 <oklofok> i don't really understand what he's saying
00:55:32 <Sgeo> http://gbracha.blogspot.com/2010/02/nail-files.html
00:57:15 <Gregor> Spamusers fails at sodomy.
00:57:25 <oklofok> he's correct
00:57:30 <oklofok> the nail guy
01:00:08 <oklofok> i still don't see what the security thing was
01:00:36 <oklofok> does he assume that with objects comes some sort of not being able to download arbitrary objects and do whatever the fuck you want with them
01:00:52 -!- madbr has joined.
01:19:09 -!- Sasha2 has joined.
01:19:10 -!- Sasha has quit (Read error: Connection reset by peer).
01:21:12 -!- augur has quit (Remote host closed the connection).
01:22:14 -!- Sasha has joined.
01:23:22 -!- Sasha2 has quit (Ping timeout: 240 seconds).
01:34:36 -!- FireFly has quit (Quit: swatted to death).
01:46:23 <Ilari> "This proposal should be considered an emergency proposal. IANA
01:46:36 <Ilari> exhaustion is likely to occur prior to the next ARIN meeting."
01:46:37 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:47:04 <Ilari> ... Looks like the depletion is expected to occur very soon...
01:47:10 <pikhq> Ilari: Hmm?
01:47:13 -!- GreaseMonkey has quit (Ping timeout: 272 seconds).
01:48:53 <Ilari> Looking at when APNIC could justify allocation, depleting the pool completely... The IANA depletion could occur at any moment.
01:49:04 <pikhq> The next ARIN meeting is apparently early April.
01:49:13 <pikhq> Wait, the IANA depletion could occur *any moment*?
01:49:23 <pikhq> Dang.
01:50:04 -!- GreaseMonkey has joined.
01:50:37 <Ilari> Formally, the depletion estimates have not changed because APNIC allocates last, but in practice, the date may have changed...
01:52:17 <Ilari> An that "at any moment" comes from global policies. APNIC probably could justify allocation even now.
01:52:19 <pikhq> So. D-day is basically any time in the next 5 months or so.
01:54:18 <Ilari> I think it is in next 3 and half months...
01:54:56 <pikhq> I'm allowing for *extreme* optimism.
01:57:26 <pikhq> Some bastard is going around suggesting that companies think about IPv6 migration "in the next 2-5 years".
01:57:40 <pikhq> By which time the Internet will have been full for several years.
01:57:42 <Sgeo> o.O
01:58:02 <Ilari> Even Houston model, which seems optimistic predicts 04-Mar-2011 ... That's sightly over 3 months away...
01:58:25 <pikhq> Yeaaah.
01:59:19 <Ilari> Now there's new predictions about X-day this year.
01:59:34 <pikhq> Link?
02:00:25 <Sgeo> So, celebrations in 3 months?
02:00:26 <Sgeo> >:D
02:00:40 <Sgeo> AFK SGU
02:01:00 * Gregor laughs maniacally
02:01:30 <Ilari> Prepare for having to do it sooner... A lot sooner...
02:03:05 <Ilari> Well, no official model predictions... But informal ones...
02:10:01 -!- Mathnerd314 has quit (Ping timeout: 255 seconds).
02:12:05 <Ilari> Wonder when next IPv6 allocation will occur (bringing the pool down to 505 blocks, which is under 99%)...
02:13:20 <pikhq> It amazes me that even 1% has been used. IPv6 is just so very, very large...
02:14:30 <Ilari> 1 various block and 5 RIR blocks... IIRC, the actual amount of delegations is 0.027% or so...
02:14:57 <pikhq> *Ah*.
02:15:06 <Ilari> That is, those allocations are at about 2.7 or so...
02:15:10 <Ilari> *2.7%
02:15:10 <pikhq> It's being pieced up from the IANA in ridiculously large blocks, then.
02:15:35 <Ilari> /12s ... 1M * 2^32 networks.
02:15:58 <pikhq> Yeah, that's a pretty gigantic block.
02:21:53 <Ilari> Oh, and then there are 3456 blocks in undefined address ranges...
02:22:23 <Ilari> IPv6 address space is just gigantic.
02:24:20 <pikhq> Oh, right. Currently the IPv6 space is *only defined* in 2000::/3
02:27:50 <Ilari> Global unicast space, that is. There are also some other blocks, such as ULA space and broadcast space.
02:28:17 <pikhq> Wow. The "NFL International Series". A scheme whereby the NFL plays a regular season game in London.
02:28:37 <pikhq> ... I didn't know American football had any fans at all outside of North America.
02:31:29 -!- Zuu has quit (Read error: Connection reset by peer).
02:34:06 <Ilari> Heh... The "realtime" IPv4 depletion counter that uses the Houston model is down.
02:34:13 <pikhq> Hmm. There's an American football World Cup. The US didn't play in the first two. XD
02:37:04 -!- madbr has left (?).
02:38:29 <Sgeo> <3 SGU
02:38:38 -!- Zuu has joined.
02:38:44 <Sgeo> Although I almost thought... meh, no spoilers here
02:39:18 <Ilari> Ah, it works now.
02:47:20 <Sgeo> To a character: "In case you forgot, [spoiler]"
02:47:33 <Sgeo> I think the audience forgot
03:00:40 -!- augur has joined.
03:47:51 -!- guny has joined.
03:48:07 <guny> hi watch my music video!!! http://www.youtube.com/watch?v=A_Q6U2O-qx4
03:48:09 <guny> hi watch my music video!!! http://www.youtube.com/watch?v=A_Q6U2O-qx4
03:48:10 <guny> hi watch my music video!!! http://www.youtube.com/watch?v=A_Q6U2O-qx4
03:48:12 <guny> hi watch my music video!!! http://www.youtube.com/watch?v=A_Q6U2O-qx4
03:48:14 -!- guny has quit (Client Quit).
03:49:20 -!- zeotrope_ has quit (Ping timeout: 265 seconds).
03:51:10 -!- zeotrope has joined.
03:51:36 -!- zeotrope has changed nick to Guest75069.
04:08:39 -!- augur has quit (Remote host closed the connection).
04:11:16 -!- wareya has quit (Read error: Connection reset by peer).
04:12:35 -!- wareya has joined.
04:47:03 -!- GreaseMonkey has quit (Quit: ilua).
04:59:37 <Goosey> I hate being a polite programmer
04:59:44 <Goosey> Why do I have to say please :(
05:20:14 -!- yorick has quit (Read error: Operation timed out).
05:27:00 <pikhq> INTERCAL, I presume?
05:37:30 -!- augur has joined.
05:51:25 -!- wareya has quit (Ping timeout: 255 seconds).
05:52:08 -!- wareya has joined.
05:53:06 -!- yorick has joined.
06:02:30 -!- adu has joined.
06:02:53 -!- wareya has quit (Read error: Connection reset by peer).
06:03:28 -!- wareya has joined.
06:08:19 -!- wareya has quit (Ping timeout: 264 seconds).
06:09:17 <Sgeo> "And when Simon Peyton Jones, one of the designers of Haskell, was asked why Haskell has only such a basic module system, he said that they didn't feel they were smart enough to design a real one. Let that sink in ... The designers of Haskell. Not smart."
06:09:21 <Sgeo> http://stackoverflow.com/questions/4057973/osgi-like-modularity-in-other-programming-languages
06:09:25 <Sgeo> Is... that a real thing?
06:14:32 <adu> lol
06:15:22 <adu> Sgeo: i've heard something similar
06:15:38 <adu> but SPJ didn't use the word "smart" in the version i read
06:16:01 <adu> he made it sound as tho it was "sufficient" the way it was
06:19:30 <Sgeo> "The fact that one rarely needs more than one window is one of the things I really like about Hopscotch. Theres no need for a docking bar, or tabs for that matter. Tabs are popular these days, but they dont scale: they occupy valuable screen real estate, and beyond half a dozen or so become disorienting and unmanageable."
06:19:37 <Sgeo> http://gbracha.blogspot.com/2008/07/debugging-visual-metaphors.html
06:19:44 <Sgeo> So much for a tabbed Newspeak browser
06:24:51 <adu> wow OSGi sounds interesting
06:28:07 * Sgeo attempts to redirect adu to Newspeak
06:28:33 <adu> what's Newspeak
06:28:58 <Sgeo> http://newspeaklanguage.org/
06:29:10 <Sgeo> It's the language fawned over in the answer to that SO question
06:30:30 <adu> SO?
06:31:17 -!- Goosey has quit (Remote host closed the connection).
06:32:44 <Sgeo> StackOverflow
06:35:25 -!- Guest75069 has quit (Ping timeout: 260 seconds).
06:38:22 -!- yorick has quit (Read error: Operation timed out).
06:46:20 <adu> Sgeo: Newspeak sounds a lot like io
06:46:37 * Sgeo has only heard of IO and knows nothing about it
06:47:15 <adu> There are several languages I wish could have babies
06:47:34 <adu> Go + Io + Prolog + Haskell
06:47:55 <adu> that would be a cute kid
06:55:57 -!- yorick has joined.
07:02:41 -!- FireFly has joined.
07:10:16 -!- Sgeo has quit (Ping timeout: 245 seconds).
07:16:56 -!- wareya has joined.
07:18:08 <Vorpal> <adu> Go + Io + Prolog + Haskell <-- how would that work?
07:18:37 <adu> well
07:19:02 <Vorpal> adu, oh? you think so?
07:19:06 <adu> yes
07:19:23 -!- Sgeo has joined.
07:19:28 <Vorpal> adu, I can't see how you could reconcile the imperative and purely functional aspects there
07:20:04 <Vorpal> adu, and if you think it would work so well, why not implement it!
07:20:28 <adu> everything Go does would be of type IO () and everything Prolog does would be at the typeclass level
07:20:34 <adu> Io doesn't really fit
07:20:51 <Vorpal> I don't know much about Io so I can't say anything about that
07:21:55 <Vorpal> have to leave now, cya
07:22:02 <adu> There's pretty much a 1-to-1 mapping between (almost) anything imperative and Haskell's IO ()
07:56:56 -!- perdito has quit (Ping timeout: 245 seconds).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:30 -!- adu has quit (Quit: adu).
08:14:26 -!- Sgeo has quit (Read error: Connection reset by peer).
08:28:45 -!- nooga has quit (Ping timeout: 272 seconds).
08:28:49 -!- nooga has joined.
08:38:36 <ineiros> fizzie: http://open.spotify.com/album/29dWA4uMn07qxfEAGO3wSh
09:06:01 -!- MigoMipo has joined.
09:08:18 -!- FireFly has quit (Quit: swatted to death).
09:18:15 -!- FireFly|n900 has quit (Ping timeout: 245 seconds).
09:20:18 -!- augur_ has joined.
09:20:19 -!- augur has quit (Read error: Connection reset by peer).
09:23:19 -!- atrapado has joined.
09:32:37 -!- FireFly|n900 has joined.
09:36:51 -!- MigoMipo has quit (Ping timeout: 265 seconds).
09:37:25 -!- FireFly|n900 has quit (Ping timeout: 245 seconds).
09:47:53 <fizzie> ineiros: "Uh." (Incidentally, I've never heard any of the in-game music.)
09:51:21 -!- FireFly|n900 has joined.
09:56:10 -!- FireFly|n900 has quit (Ping timeout: 245 seconds).
10:05:53 -!- perdito has joined.
10:10:36 -!- FireFly has joined.
10:20:34 -!- FireFly|n900 has joined.
10:24:47 <nooga> uh
10:25:01 <nooga> it appears that UK is paralyzed because of some minor snow
10:43:44 -!- MigoMipo has joined.
11:19:44 -!- myndzi has quit (Ping timeout: 250 seconds).
11:24:01 -!- nopseudoidea has joined.
11:40:28 -!- rodgort has quit (Quit: Coyote finally caught me).
11:40:39 -!- rodgort has joined.
11:41:54 -!- nopseudoidea has quit (Quit: Quitte).
11:52:54 -!- MigoMipo has quit (Quit: Quit).
11:55:45 -!- FireFly|n900 has quit (Ping timeout: 245 seconds).
12:10:02 -!- FireFly|n900 has joined.
12:20:55 -!- myndzi has joined.
12:22:59 -!- Sasha2 has joined.
12:24:59 -!- Sasha has quit (Ping timeout: 272 seconds).
12:42:44 -!- FireFly|n900 has quit (Ping timeout: 255 seconds).
12:42:44 -!- myndzi has quit (Read error: Connection reset by peer).
12:43:11 -!- myndzi has joined.
12:50:47 -!- FireFly|n900 has joined.
12:54:31 -!- myndzi has quit (Ping timeout: 264 seconds).
12:55:50 <nooga> great
12:55:59 <nooga> my raytracer now generates modern art
13:04:21 -!- myndzi has joined.
13:20:51 -!- elliott has joined.
13:22:32 -!- Phantom_Hoover has joined.
13:24:21 -!- Leonidas has quit (Ping timeout: 240 seconds).
13:24:25 -!- Leonidas has joined.
13:25:52 -!- sftp has joined.
13:38:11 -!- Phantom_Hoover_ has joined.
13:41:05 -!- oerjan has joined.
13:41:06 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
13:45:29 <elliott> augur_: I find your recent statements about INTERCAL highly offensive
13:56:58 <Phantom_Hoover_> What were they?
13:58:03 <elliott> http://www.reddit.com/r/programming/comments/eecvm/a_compiler_language_which_has_nothing_at_all_in/c17hc7w
13:58:22 <elliott> I think ais523 and oerjan, accomplished INTERCAL programmers, would take great objection to this slight.
14:00:52 <Phantom_Hoover_> Appalling!
14:02:50 -!- FireFly|n900 has quit (Ping timeout: 255 seconds).
14:08:09 <nooga> elliott: is your school closed?
14:08:20 <elliott> yes.
14:08:25 <nooga> hahhaha
14:08:34 <elliott> i am unsure why you are laughing
14:08:38 <nooga> like what... snow is toxic or what?
14:08:53 <elliott> yes, yes it is.
14:09:20 <elliott> more seriously, i don't suppose you comprehend the idea of driving in heavy snow that continues to fall being perhaps /dangerous/?
14:09:41 <nooga> i do this during whole winter
14:10:18 <elliott> nooga: i think we have firmly established that Poland has not quite come to grips with the concept of safety yet
14:10:26 <nooga> it's not safety
14:10:42 <nooga> ask some secure swedes
14:10:48 <nooga> tehy've got shitloads of snow too
14:10:49 <elliott> guess what, we don't all drive Volvos.
14:11:22 <nooga> duh
14:11:54 <elliott> hmm is it known which s gives SHA-1(s) = 0?
14:11:56 <elliott> is there such an s?
14:12:12 -!- MigoMipo has joined.
14:12:14 <nooga> http://img.wiadomosci24.pl/g2/4b/cd/83/11082_1162885840_b968_p.jpeg
14:12:19 <nooga> + winter tires
14:12:29 <nooga> + modern cars with ASR, BAS and whatever
14:12:33 <nooga> and you're safe
14:13:08 <elliott> nooga: yes, we do indeed remove snow from roads. guess what! we have rural areas.
14:13:15 <elliott> guess what! it takes time to clear the snow from everywhere.
14:14:43 <nooga> AWKWARDNESS
14:16:26 <Phantom_Hoover_> elliott, well, the schools reopened here today.
14:16:39 <Phantom_Hoover_> Even though the snow is considerably worse than yesterday.
14:16:55 <elliott> Phantom_Hoover_: They decided they were open, and upon looking out the window immediately decided that no, they're not open.
14:17:20 <elliott> But yeah, jesus christ, this snow.
14:17:27 <Phantom_Hoover_> elliott, nope, I went. Although we all went home at lunch.
14:17:37 <elliott> Phantom_Hoover_: I meant here.
14:17:52 <elliott> In the frigid southlands.
14:18:03 <Phantom_Hoover_> It's because our cretin of a First Minister said that the schools should reopen and they did, in spite of the police saying the opposite.
14:19:38 <nooga> :F
14:19:52 <nooga> ppl could just walk to school
14:20:05 <Phantom_Hoover_> That's what we mostly did.
14:20:09 <elliott> nooga: i don't think you realise the kind of distances present in britain...
14:20:15 <nooga> oh come on
14:20:22 <Phantom_Hoover_> It's still stupid, especially since the previous two days were both snow days.
14:20:37 <nooga> even in poor Poland we've got schools max 3-4km from home
14:20:44 <Phantom_Hoover_> So apparently once the snow goes over a certain critical depth it ceases to matter.
14:20:47 <nooga> in towns
14:20:50 <elliott> nooga: do you delight in being really fucking stupid?
14:21:02 <nooga> i delight annoying you :D
14:21:04 -!- nopseudoidea has joined.
14:23:14 <elliott> Phantom_Hoover_: Quick! What's the SHA-1 hash of a directory?
14:23:43 <Phantom_Hoover_> A carrot!
14:23:58 <Phantom_Hoover_> Also, what's the SHA-1 algorithm?
14:24:20 <elliott> Complicated.
14:27:51 <Phantom_Hoover_> Hash algorithms always are...
14:29:59 -!- FireFly|n900 has joined.
14:32:41 <elliott> Phantom_Hoover_: Not so!
14:32:48 <elliott> Phantom_Hoover_: http://en.wikipedia.org/wiki/CubeHash
14:32:56 <elliott> Phantom_Hoover_: The SHA-3 competitor I'm rooting for, thanks djb.
14:33:04 <elliott> (It's not "rooting" is it?)
14:34:27 -!- BeholdMyGlory has joined.
14:35:01 <fizzie> I don't think CubeHash is all *that* simpler; the wikipedia doesn't bother listing the round transformation, which is he usual add-rotate-swap-style mess, just like the SHA-1 compression function.
14:35:19 <fizzie> It *is* nice to see something that's not the usual Merkle–Damgård construction though.
14:37:31 <elliott> fizzie: djb instantly simplifies everything he touches. duh.
14:37:57 <elliott> schneier's function has been cryptanalysed a bit cuz he's a luzr
14:38:02 <elliott> I should make "djb facts"
14:38:11 <elliott> although I can't think of any :P
14:38:27 <elliott> Merkle–Damgård construction
14:38:28 <elliott> (Redirected from Merkle-Damgård construction)
14:38:29 <elliott> what
14:38:55 <fizzie> It's a different sort of hyphen.
14:39:17 <elliott> heh
14:39:27 <elliott> the thing in the wikibox links to one that's redirected
14:39:28 <elliott> someone fix that
14:39:41 <fizzie> And that someone could be you!
14:40:05 <elliott> "Although no proof has been constructed, Oozlybub and Murphy is thought to be Turing-complete if and only if Goldbach's Conjecture is true." --cpressey
14:40:24 <elliott> "Oozlybub and Murphy is a programming language. Despite appearances, this name refers to a single language.
14:40:24 <elliott> The majority of the language is named Oozlybub. The fact that the language is not entirely named Oozlybub is named Murphy.
14:40:24 <elliott>
14:40:24 <elliott> For the sake of providing an "olde tyme esoterickal de-sign", the language combines several unusual features,
14:40:26 <elliott> including multiple interleaved parse streams, infinitely long variable names, gratuitously strong typing, and only-conjectural Turing completeness."
14:40:28 <elliott> http://catseye.tc/projects/oozlybub-and-murphy/doc/website_oozlybub-and-murphy.html
14:41:18 <elliott> It even has Unicode support!
14:44:10 <nooga> cpressey is a monster
14:48:16 <Phantom_Hoover_> A monster!
14:51:40 <nooga> BEAST!
14:53:38 -!- Sasha2 has quit (Read error: Connection reset by peer).
14:53:45 -!- Sasha has joined.
14:53:55 <elliott> "That's true though. I invented DNA. I also invented the invention itself." --Peter Sunde, Pirate Bay co-founder
14:55:27 -!- augur_ has quit (Remote host closed the connection).
14:55:46 <elliott> Hahaha! Huckabee wants to execute Assange.
14:55:53 -!- augur has joined.
14:56:30 -!- augur has quit (Read error: Connection reset by peer).
14:56:36 -!- augur has joined.
14:56:46 <Phantom_Hoover_> Weird, apparently the Lego MMO is extremely good.
14:56:54 <Phantom_Hoover_> That is not what I would expect at all.
14:57:01 <elliott> "Finally, Julian Assange is no hero. He is a twit. He should not be made into a liberal icon. He gives hackers a bad name. He and his organization are indeed enemies of the U.S. government and the people represented by that government; they should be stopped, and they richly deserve to be punished for this latest leak. And that goes double for the person or people in the U.S. government who leaked the documents in the first place. None of t
14:57:01 <elliott> hese people deserve your support any longer."
14:57:09 <elliott> -- Larry Sanger, solidifying his reputation as... a twit.
14:57:43 <elliott> (The rest of this "essay", if you can call it that -- http://www.larrysanger.org/wikileaks.html -- constitutes basically saying "Well, you see, they're MEANT to be private, because the government decided releasing them to the public would be a bad idea. Therefore it's dangerous to do so, and no government would ever abuse this! DUH.")
14:58:19 <Phantom_Hoover_> I have certain reservations about Wikileaks due to the whole "names of informants" thing, but I wouldn't go that far..
14:58:29 <elliott> Phantom_Hoover_: Um, they've been redacting names.
14:58:50 <Phantom_Hoover_> elliott, yes, but they didn't for that earlier military leak.
14:59:03 <elliott> IIRC, they did.
14:59:03 <elliott> Phantom_Hoover_: (They also asked the US government for *help* redacting information that could endanger people to minimise any risk. The US refused.)
14:59:09 <elliott> (for the most recent leak)
15:00:57 -!- Sasha2 has joined.
15:01:10 -!- augur has quit (Ping timeout: 260 seconds).
15:01:32 -!- ais523 has joined.
15:01:33 <Phantom_Hoover_> elliott, oh, well. I approve, then.
15:01:59 <elliott> I just love the chain of events there --
15:02:26 <elliott> Wikileaks: Hello, you know those documents we're going to release. We don't want anyone to get hurt; it's in your best interests to help us redact any information that could put people's lives at risk.
15:02:28 <elliott> US: No.
15:02:30 <elliott> [later]
15:02:37 <elliott> Wikileaks: [releases documents]
15:02:52 <elliott> US govt., mass media: That's IRRESPONSIBLE TERRORISM! Think of the LIVES at risk!
15:02:58 <elliott> Hi ais523.
15:03:18 -!- Sasha has quit (Ping timeout: 265 seconds).
15:04:15 <nooga> Wikileaks does good work
15:05:45 <Phantom_Hoover_> Even if its founder looks like a bit of a prat.
15:06:56 <elliott> Phantom_Hoover_: Really? How?
15:07:12 <Phantom_Hoover_> The hair is... silly.
15:07:19 <elliott> His... hair? Seriously?
15:07:36 <elliott> Julian Assange is more a lightning rod than anything else, anyway -- you never hear about anyone but him and just about all you ever hear about him is negative; nobody else gets any shit. That's definitely intentional.
15:08:25 <elliott> Phantom_Hoover_: Semi-relatedly, have you seen his old blahhg? http://web.archive.org/web/20071020051936/http://iq.org/
15:08:26 <Phantom_Hoover_> Indeed. But his hair is still stupid.
15:08:29 <elliott> It was on reddit a while ago.
15:09:31 -!- nopseudoidea has quit (Quit: Quitte).
15:10:35 <elliott> ais523: in a file of "<sha1hash> <filename>", how would you denote a directory?
15:10:49 <elliott> I've been using an sha-1 length of zeroes, but it's conceivable that some string could actually hash to 0.
15:11:24 <Phantom_Hoover_> "<sha1hash> <directoryname>"?
15:11:25 <Phantom_Hoover_> With a / appended?
15:11:36 <elliott> Phantom_Hoover_: Umm... what the hell is the SHA-1 hash of a directory?
15:18:10 <Phantom_Hoover_> Oh, right.
15:18:37 <Phantom_Hoover_> Make it "0", then append the / to the name so there's no chance of confusion,
15:19:53 <elliott> Phantom_Hoover_: Just 0? Not 40 0s?
15:20:18 <Phantom_Hoover_> Fine.
15:20:44 <elliott> Phantom_Hoover_: Hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm.
15:22:34 <Phantom_Hoover_> Alternately: make it "<directoryname>", no hash.
15:23:14 <fizzie> Make it a random 40-digit hex string, and then change a single, random digit in there to a "g".
15:24:37 <Phantom_Hoover_> Forget my suggestions, use fizzie's.
15:24:52 <elliott> fizzie: :D
15:25:21 <fizzie> It was optimized for confusion, of course.
15:26:06 <Phantom_Hoover_> fizzie, better: change a random 0 into an O. Or 1 into l.
15:26:38 <elliott> No, I think the g is best.
15:26:45 <elliott> Ooh!
15:26:53 <elliott> Change one "a" into the identical, Cryllic "a".
15:27:00 <elliott> (If there is no a in the string, regenerate it.)
15:27:13 <oerjan> those pesky crylls
15:28:12 <fizzie> Aren't crylls just palette-swapped trolls?
15:28:25 <oerjan> _possibly_
15:28:57 <Phantom_Hoover_> fizzie, zuh?
15:29:37 <elliott> You got 15 out of 19 Programming Language if You Know Their Creators.
15:30:01 <ais523> elliott: I'd just leave the hash out
15:30:09 <elliott> One mistake was really embarrassing... one or two of them I'm proud of... and the last one I just feel meh about.
15:30:13 <elliott> ais523: But that's ugly!
15:30:18 <ais523> or hash the directory itself, they are technically speaking files, just you can't read them via normal methods
15:30:36 <elliott> LOL
15:30:38 <elliott> http://www.sporcle.com/games/supreddit/prog_lang_wirth
15:30:39 <elliott> "Can you name the Programming Language if You Know Their Creators? (Niklaus Wirth Edition)?"
15:30:45 <elliott> best quiz ever
15:30:54 <elliott> ais523: yeah, no :P
15:31:06 <elliott> ais523: "cat" will cat a directory on NetBSD :)
15:31:09 <elliott> as on plan9, but :)
15:31:16 <ais523> hmm, is it decidable whether two regular expressions (actual regular expressions, without backreferences etc.) match the same set of strings?
15:31:32 <elliott> Differences between Oberon-07 and Oberon
15:31:32 <elliott> Niklaus Wirth, 8.8.2007 / 17.12.2007
15:31:32 <elliott> Oberon-07 is a revision of the original language Oberon as defined in 1988/1990.
15:31:35 <elliott> How is the man still alive...
15:31:38 <elliott> ais523: I don't /think/ so
15:31:48 <ais523> really? I was guessing yes
15:31:56 <elliott> ais523: I know that you can't minimise a regexp to its provably shortest form, IIRC
15:31:58 <ais523> oh, obviously yes
15:32:03 <elliott> how?
15:32:10 <ais523> for ordinary regular expressions, you can compile them into state machines
15:32:20 <ais523> then because there's a finite number of states, you can bruteforce
15:32:38 <elliott> oh, obviously
15:32:44 <elliott> I feel silly now
15:32:55 <oerjan> ais523: yes it is decidable
15:33:07 <ais523> yep, I feel a bit silly that I had to ask rather than figuring it out
15:33:16 <oerjan> you can do set difference and union
15:33:17 <ais523> it's a lot less obvious with backreferences involved
15:33:23 <elliott> "- Applied to values of type SET, the unary minus denotes the set complement, and the function
15:33:23 <elliott> ABS yields the number of elements of a set. The relations <= and >= denote set inclusion."
15:33:42 <oerjan> from which you can construct xor of two languages
15:33:42 <ais523> elliott: so you can do - on the empty set, and get a set of everything?
15:33:43 <Phantom_Hoover_> Zuh?
15:33:55 <elliott> ais523: I sure hope so!
15:34:01 <ais523> oerjan: hmm, that's a different proof from the one I gave, and requires assumptions I didn't know
15:34:15 <elliott> I wonder why there is not more literature on I\Xi.
15:34:42 -!- MigoMipo has quit (Remote host closed the connection).
15:35:24 <elliott> ais523: can I have permission to troll the esolangs wiki with a language
15:37:04 <ais523> would the language be at all interesting in its own right?
15:37:14 <ais523> I suppose being created for the purpose of trolling makes a language an esolang
15:37:16 <elliott> ais523: a Turing-complete-and-no-greater language in which all programs nonetheless halt
15:37:18 <ais523> (/me coughs at LOLCODE)
15:37:21 <fizzie> ais523: A regular expression is a DFA, you can construct the minimal equivalent DFA pretty easily, and the minimal DFA (up to state naming) accepting a particular regular language is unique; so just construct the DFA (might have an exponential number of states, though) and minimize it for both regexps; if they are the same, they match the same set of strings.
15:37:35 <ais523> elliott: is that even theoretically possible?
15:37:37 <elliott> ais523: of course, such a language is only implementable on a machine with a Turing machine halting oracle; I will, therefore, provide an implementation. In Banana Scheme.
15:37:52 <ais523> fizzie: that was pretty close to my proof
15:37:54 <ais523> elliott: go for it
15:37:56 <elliott> ais523: it's theoretically possible on a super-Turing machine; if halts(X) then run(X) else done
15:38:22 <elliott> hey, http://esolangs.org/wiki/Banana_Scheme has a serious error!
15:38:48 <elliott> fixed
15:39:24 <ais523> elliott: I'm not entirely sure that such a language would technically be TC
15:39:42 <oerjan> plot plot plot plot plot plot plot plot banana scheme
15:39:44 <ais523> in fact, by the typical mathematical definition, it definitely wouldn't be
15:39:53 <elliott> ais523: that's why it's trolling!
15:39:56 -!- Sgeo has joined.
15:40:15 <elliott> ais523: you can run any Turing-complete-requiring computation you want to; even if it doesn't halt, you can run N steps for arbitrary finite N
15:40:18 <elliott> you just can't loop forever
15:40:26 <oerjan> *-plot
15:40:41 <Sgeo> elliott, my new obsession is Newspeak
15:40:53 <elliott> ais523: ooh, now I want to make it so that you can write a Brainfuck program which halts if you put in "blah" and doesn't if you put in "bluh"
15:41:02 <elliott> ais523: and then make sure my implementation doesn't stop the program until you put in "bluh"
15:41:25 <elliott> hmm, so I have to do (H 0 `(assuming-we-get-the-character ,n)) for all 255 ns
15:41:28 <elliott> at every read
15:41:31 <elliott> or something
15:41:39 <elliott> no, wait, much before every read
15:41:40 <elliott> hmmmm
15:41:44 <elliott> nah, too much of a pain
15:41:47 <elliott> I'll do it dbfi-style
15:42:00 <nooga> how does Newspeak look? samples?
15:42:13 <elliott> nooga: like Smalltalk.
15:42:35 <Sgeo> Except a bit more syntax
15:42:47 <Sgeo> And slightly different conventions
15:42:57 <elliott> nooga: http://newspeaklanguage.org/. just ignore Sgeo, he has never known a language he didn't fall in love with and then reject for really stupid fucking reasons before ever using it
15:44:25 <Phantom_Hoover_> So he did that to Factor and Smalltalk as well?
15:44:32 <Phantom_Hoover_> And Scala, I remember that one as well.
15:45:03 <ais523> hmm, 4 of the last 11 /8s were just allocated
15:45:20 * Sgeo would love to see Slava and Bracha collide
15:45:28 -!- augur has joined.
15:45:36 <ais523> when the next two are assigned, the RIRs get one each, so it's not long before there are no free /8s left
15:45:52 <elliott> 00:01:18 <fizzie> It's just that udev's better. :p
15:46:20 <fizzie> I don't remember the context at all.
15:46:57 <elliott> Nor do I! Let's FIND it!
15:48:16 <fizzie> Better than devfs, it seems.
15:48:36 <pikhq> ais523: Yeah, but people were calling it "2 of the last 9" because 2 of those went to ARIN, which was absolutely *going* to allocate yesterday.
15:48:40 <elliott> You're better than devfs. So there.
15:48:43 <pikhq> It's just RIPE's allocation is a surprise.
15:49:35 <fizzie> Well, you know us Europeans, we like to be surprising.
15:50:15 <pikhq> And APNIC could allocate any time in the next few months, thereby causing IPv4 depletion.
15:52:06 * oerjan swats fizzie -----###
15:52:21 <fizzie> I didn't expect that.
15:52:32 <oerjan> just a bit of friendly european surprise
15:52:52 <fizzie> Nobody expects the Norwegian swatquisition.
15:53:13 <fizzie> "Showing results for sw acquisition. Search instead for swatquisition"
15:57:07 <nooga> that should be a quote
15:58:11 <oklofok> "<ais523> hmm, is it decidable whether two regular expressions (actual regular expressions, without backreferences etc.) match the same set of strings?" <<< yes, obviously
15:58:44 <oklofok> "<ais523> for ordinary regular expressions, you can compile them into state machines" "<ais523> then because there's a finite number of states, you can bruteforce" <<< just be sure it's an algorithm and not a semialgorithm tho
16:00:37 <oklofok> "<elliott> ais523: a Turing-complete-and-no-greater language in which all programs nonetheless halt" <<< enumerate turing machines that halt, the program 1 runs the first one, 2 runs the second one etc
16:01:03 <elliott> oklofok: I'm trolling, remember? It's going to be brainfuck.
16:01:18 -!- augur has quit (Remote host closed the connection).
16:01:35 -!- pikhq has quit (Ping timeout: 265 seconds).
16:01:42 <Phantom_Hoover_> oklofok, while you're at it, biject to the computable reals.
16:02:37 <Sgeo> The thing that has an interpreter that's just a BF interpreter but those interpreters don't correctly report invalid programs
16:02:40 <Sgeo> ?
16:03:00 <elliott> Sgeo: what
16:03:05 -!- pikhq has joined.
16:03:11 <Sgeo> elliott, your language that you're discussing
16:03:20 <elliott> <Phantom_Hoover_> oklofok, while you're at it, biject to the computable reals.
16:03:34 <elliott> difficult, since you'd have to consider programs under the equivalence relation of "same result as"
16:03:48 <elliott> otherwise you'd have countably infinite programs for each computable real
16:03:54 <elliott> Sgeo: no, the interpreter is written in banana scheme.
16:04:21 <Sgeo> ... so will the language count as implemented or unimplemented?
16:04:30 <oklofok> i heard today that if you assume the negation of aoc, you can prove there is a subset of R that doesn't have a countable subset, and i was surprised
16:04:37 <elliott> 18:28:17 <pikhq> Wow. The "NFL International Series". A scheme whereby the NFL plays a regular season game in London.
16:04:37 <elliott> 18:28:37 <pikhq> ... I didn't know American football had any fans at all outside of North America.
16:04:37 <oklofok> is that common knowledge?
16:04:38 <elliott> It doesn't!
16:04:42 <elliott> Sgeo: implemented, just not compuatbly
16:04:46 <elliott> *computably
16:04:50 <elliott> oklofok: i remember hearing that once... from wikipedia :P
16:05:08 <elliott> oklofok: http://en.wikipedia.org/wiki/Axiom_of_choice#Statements_consistent_with_the_negation_of_AC
16:05:11 <elliott> oklofok: fun section
16:05:15 -!- augur has joined.
16:05:17 <oklofok> cool
16:05:44 <elliott> # There exists a model of ZF¬C in which real numbers are a countable union of countable sets.[11]
16:05:47 <elliott> that's my favourite one
16:06:09 * Sgeo <baby noise that irritates elliott>
16:06:14 -!- Vorpal has quit (Read error: Operation timed out).
16:06:14 <elliott> Sgeo: die.
16:06:37 <oklofok> coolness
16:07:02 <elliott> 19:48:07 <guny> hi watch my music video!!! http://www.youtube.com/watch?v=A_Q6U2O-qx4
16:07:04 <elliott> this is terrible
16:07:07 <oerjan> pikhq: i think there's even an american football team in Oslo
16:07:19 <oklofok> that was pretty trivial yeah
16:07:28 <Sgeo> She's going over bitwise operators
16:07:44 <Sgeo> She asked the class if anyone's classes delt with bitwise operators. Of course not
16:07:48 <Sgeo> I hate this school
16:08:02 <oklofok> well obviously they are too trivial to teach
16:09:01 <oklofok> a friend of mine used to play american football so it's here too i guess
16:09:02 <elliott> 22:47:34 <adu> Go + Io + Prolog + Haskell
16:09:03 <elliott> 22:47:55 <adu> that would be a cute kid
16:09:04 <elliott> with tentacles
16:09:30 <oerjan> http://en.wikipedia.org/wiki/Norway_American_Football_Federation
16:09:35 <elliott> 01:47:53 <fizzie> ineiros: "Uh." (Incidentally, I've never heard any of the in-game music.)
16:09:36 <elliott> fizzie: but it's nice!
16:09:44 <elliott> 00:38:36 <ineiros> fizzie: http://open.spotify.com/album/29dWA4uMn07qxfEAGO3wSh
16:09:45 <elliott> lolwat
16:11:57 -!- Vorpal has joined.
16:12:29 <Sgeo> Ooh
16:12:48 <Sgeo> Newspeak comes with late night wisdom
16:13:34 <Sgeo> http://ideone.com/mf4Lm
16:15:14 <Phantom_Hoover_> Sgeo, do you actually /program/, or do you just get incessant and short-lived obsessions with languages?
16:15:33 <Sgeo> The latter
16:15:45 <Phantom_Hoover_> I actually think you've written less programs I know of than me.
16:16:02 <Phantom_Hoover_> I have written about 3 programs.
16:16:04 <Phantom_Hoover_> None of them anywhere near complete.
16:16:20 <elliott> Phantom_Hoover_: HE WROTE PSOX
16:16:38 <Sgeo> I have a bunch of Python scripts to do random things on my old HD
16:16:53 <elliott> Aww, #exoteric is taken.
16:17:15 <Sgeo> Including scraping a news site's sports section for photos from my home HS
16:17:17 <Sgeo> >.>
16:17:24 <Sgeo> (This was when I was in HS. Don't get ideas)
16:17:28 <elliott> you are crazy.
16:18:41 <Phantom_Hoover_> elliott, that's a negative program!
16:18:51 <Sgeo> I have a few Haver clients lying around
16:19:10 <elliott> oops haver sucks
16:19:22 <Sgeo> That's not my fault, is it?
16:19:28 <elliott> yes
16:20:42 <elliott> 09:23:05 <ihope> Hmm, what about a language where the dimensions are finite, but the number of them is infinite?
16:20:43 <elliott> 09:23:18 <ihope> You know: a 2x2x2x2x2x2x2x2x2x... universe.
16:20:44 <elliott> approve
16:21:00 <elliott> 09:27:27 <SimonRC> And, assuming integral coordinates in each case, is it clear by the diagonal argument that there is more space in that kind of universe than in an infinite univers with a finite number of dimensions
16:21:01 <elliott> :D
16:21:04 <elliott> (obvious, but :D)
16:22:20 <Phantom_Hoover_> A 2^\infty universe is obviously real-indexed.
16:22:42 * Sgeo had a bit of trouble visualizing that diagonalization, but figured it out
16:22:58 <Phantom_Hoover_> Sgeo, the Cantor diagonalisation?
16:23:00 <Sgeo> Actually, I may be visualizing it wrong still
16:23:19 <Sgeo> Phantom_Hoover_, I know what it looks like for decimals and... I was visualizing it for the 2x2x2x.... wrong
16:23:52 <oerjan> http://www.reddit.com/r/AskReddit/comments/ee95j/whats_the_most_internet_famous_thing_youve_done/c17guwl
16:23:53 <Sgeo> I was visualizing 2 rows, and only 0 and 1 were digits in both numbers
16:25:16 <Phantom_Hoover_> Sgeo, why do it like that?
16:25:24 <Sgeo> Because I'm tired
16:25:34 <Sgeo> And wasn't thinking properly
16:25:59 <Sgeo> It still holds though
16:26:09 <Phantom_Hoover_> Moreover, the set of programs is logically equivalent to the set of subsets of the reals.
16:26:33 <Sgeo> Only need to swing down to the second number once in fact to make the nonstored num... it occurs to me that that is a bit overkill
16:26:42 <Sgeo> For the situation that I was envisioning
16:27:36 <elliott> 15:12:27 <fizzie> Mathematica is like unto a God:
16:27:36 <elliott> 15:12:28 <fizzie> In[1]:= Sum[1/(2^i), {i, 1, Infinity}]
16:27:36 <elliott> 15:12:28 <fizzie> Out[1]= 1
16:27:36 <elliott> 15:13:12 <SimonRC> yeah, but God got the answer by summing thw whole lot
16:27:36 <elliott> 15:13:37 <SimonRC> F*ck knows how Chuck Norris got his answer.
16:27:37 <elliott> 15:14:03 <fizzie> Who knows how Mathematica did it; might be magic!
16:27:39 <elliott> fizzie wolfram
16:28:34 <Phantom_Hoover_> Hmm, ihope's suggestion is intriguing.
16:29:05 <Phantom_Hoover_> For instance, are the accessible cells restricted to those indexed by a CR?
16:30:45 <elliott> Phantom_Hoover_: No.
16:30:49 <elliott> Not that I know of.
16:30:55 <Sgeo> http://ideone.com/to8J2
16:31:22 <elliott> 16:11:02 * SimonRC has worked out the definitive difference between scripting languages and "real" programming languages: in scripting languages, a simple string can be like 'foo' or "foo", but "real" languages only accept one of these (usually the former).
16:31:22 <elliott> 16:11:30 <lament> usually the altter
16:31:22 <elliott> 16:11:32 <lament> latter
16:31:22 <elliott> 16:11:43 <SimonRC> erm, *latter
16:31:22 <elliott> 16:11:50 <SimonRC> yeah, thanks
16:31:25 <elliott> 16:11:54 <kipple> bah, real languages doesn't have strings...
16:31:28 <Phantom_Hoover_> elliott, so it's unimplementable?
16:31:33 <elliott> Phantom_Hoover_: It's not a language.
16:32:06 <Phantom_Hoover_> <elliott> 09:23:05 <ihope> Hmm, what about a language where the dimensions are finite, but the number of them is infinite?
16:32:19 <elliott> Oh.
16:32:23 <elliott> Phantom_Hoover_: Why not ask him?
16:32:51 <Phantom_Hoover_> When was he last seen?
16:33:30 <oerjan> he's on freenode as tswett
16:34:20 <oerjan> doesn't come here much
16:34:33 <Phantom_Hoover_> But not at the moment, and not that I can remember recently.
16:35:01 <oerjan> ...he's on the network now, says whois
16:35:11 <oerjan> he just doesn't come to this channel
16:35:34 <elliott> Gregor: OH MY GOD I HATE GHEXTRIS
16:36:14 <Vorpal> hum. I wonder what made my computer crash the moment I plugged in my mouse.
16:36:36 <Vorpal> works perfectly now, worked perfectly in my laptop today
16:37:00 <Phantom_Hoover_> elliott, what's GHEXTRIS?
16:37:11 <elliott> Phantom_Hoover_: sudo aptitude install ghextris
16:37:13 <Sgeo> "It's 3:00:00 am. Go get some rest!"
16:37:17 -!- perdito has quit (Ping timeout: 240 seconds).
16:37:25 <ais523> Vorpal: brownout, I wonder? it could be there's an intermittent short circuit in the mouse and it browned out your computer when you plugged it in
16:37:32 <Sgeo> ^^What Newspeak's IDE will tell you at the bottom if it's open at that time
16:38:13 <ais523> elliott: hmm, tetris on a hex grid?
16:38:32 <elliott> ais523: yes. and oh dear god it is impossible
16:38:59 * oerjan recalls playing hextris back in the day
16:39:07 <elliott> HEXAGONAL GEOMETRY MAKES NO SENSE
16:40:50 <Sgeo> She's now teaching the class hexadecimal
16:41:15 <Phantom_Hoover_> Sgeo, ...you didn't already know that?
16:41:19 <Phantom_Hoover_> AT TWENTY-ONE.
16:41:27 <Phantom_Hoover_> ("You" in the plural form)
16:45:07 <elliott> 23:19:08 * _wildhalcyon_ blames linux for Kevin Federline's career.
16:49:14 <ais523> Phantom_Hoover_: being taught hex doesn't mean you don't know it already
16:49:20 <ais523> just that someone wanted to teach it to you
16:49:29 <ais523> there are some subjects I ended up learning over and over again
16:49:48 <ais523> boolean algebra is one I remember, I was taught it at least twice and new it already before then
16:49:52 <ais523> *knew it already
16:49:52 <elliott> *knew
16:49:54 <elliott> :D
16:50:00 <elliott> hmm... I want to revive ESO OS, now
16:50:04 <elliott> after reading this log
16:50:23 <elliott> I will feel accomplished if I can get enough of an interpreter into a bootsector that there's enough space left to write the actual bootloader in the esolang
16:50:25 <ais523> I pretty much type by sound, for some reason, rather than by spelling
16:50:33 <ais523> so I often have to go back and correct a word into one of its homophones
16:50:37 <elliott> ais523: hooked on phonics eh
16:50:56 <ais523> elliott: some interps would fit into a bootsector just fine
16:51:02 <ais523> MiniMAX, for instance, or many other OISCs
16:51:23 <elliott> 23:36:47 <fizzie> (Of course there's _always_ a workaround: perhaps adding an evil library (to mangle the stdout in an __attribute__((constructor)) routine) to LD_PRELOAD might work, if stdout exists already when those are called.)
16:51:24 <elliott> aiee
16:51:38 <elliott> ais523: yes, but you need to have enough space left in the boot sector to put the bootloader program in, written in the esolang
16:51:47 <elliott> ais523: can MiniMAX programs do "int 10h"?
16:52:10 <Sgeo> I should google that, so I will
16:52:21 <ais523> elliott: I wrote a couple of extensions for that
16:52:36 <elliott> ais523: are they on the wiki?
16:52:45 <ais523> there was a 32-byte interp that could not only do arbitrary DOS system calls, but also return values from them to a jump table
16:52:51 <ais523> but I never ran it and am not entirely sure if it works
16:52:53 <elliott> also, I hereby proclaim the OS to be the ESO OS, edition E
16:53:01 <elliott> wait, that isn't quite a palindrome
16:53:05 * Sgeo videos elliott
16:53:11 <elliott> also, I hereby proclaim the OS to be the ESOS (ESO OS), edition E
16:53:12 <elliott> ESOSE
16:53:31 <Vorpal> <ais523> Vorpal: brownout, I wonder? it could be there's an intermittent short circuit in the mouse and it browned out your computer when you plugged it in <-- maybe
16:53:42 <Vorpal> ais523, how could I check this?
16:53:50 <oerjan> OS ed. ESO
16:53:59 <elliott> ais523: hmm... the problem is, I don't even fail vaguely like writing a minimax program :)
16:54:05 <ais523> elliott: I haven't put the extensions on the wiki, mostly because I'm not sure whether they work, and can no longer remember how they work
16:54:16 <elliott> ais523: maybe I'll base it on Underload
16:54:16 <ais523> Vorpal: intermittent shorts aren't at all easy to check
16:54:26 <elliott> somehow, extending Underload seems less awful than extending brainfuck
16:54:26 <ais523> and some methods of checking for them have a tendency to set things on fire
16:54:31 <elliott> although I'm not sure how I'd do mutating a register
16:54:40 <Vorpal> ais523, I wouldn't want that
16:54:43 <ais523> indeed
16:54:46 <Sgeo> She's now talking about swapping variables with tempoary variables
16:54:49 <Sgeo> This is Perl...
16:54:50 <ais523> it's what happened to my shorting power supply, though
16:54:57 <elliott> Sgeo: ($a, $b) = ($b, $a)
16:55:01 <ais523> Sgeo: ($a, $b) = ($b, $a)
16:55:06 <ais523> elliott: how did you type that so quickly?
16:55:09 <elliott> ais523: *hi5*
16:55:12 <ais523> also, we both missed the semicolon
16:55:14 <elliott> ais523: because I type really quickly
16:55:19 <ais523> indeed
16:55:21 <elliott> also, don't need it if it's in {} :)
16:55:23 <Sgeo> Her response: "It depends on the language"
16:55:24 <Vorpal> ais523, anyway it could be the computer. I very rarely hotplug anything except the mouse to my desktop
16:55:29 <Sgeo> Which is correct, obviously
16:55:31 <Phantom_Hoover_> elliott, is there any nice way to handle reals in Coq?
16:55:36 <ais523> Vorpal: I take it this is a USB mouse?
16:55:41 <Vorpal> ais523, of course
16:55:41 <elliott> Phantom_Hoover_: The non-computable reals?
16:55:50 <ais523> PS/2 mice aren't hotpluggable, and have been known to break motherboards when people try
16:55:56 <ais523> but that's a rather old technology
16:56:03 <ais523> by now
16:56:10 <Vorpal> ais523, I'm aware. Which is why I would never hotplug this keyboard
16:56:13 <Vorpal> (which is PS/2)
16:56:18 <elliott> Phantom_Hoover_: For any constructivist Coq work, including the computable reals, use http://c-corn.cs.ru.nl/.
16:56:18 <ais523> (serial mice are hotpluggable, but you have to be someone like me to ever have used one)
16:56:28 * oerjan read that as the hotpluggable reals
16:56:29 <Vorpal> ais523, I have *heard* of them that is all
16:56:38 <ais523> I own one
16:56:43 <Vorpal> hah
16:56:43 <ais523> haven't used it in a while, though
16:56:51 <elliott> Phantom_Hoover_: I *think* the Reals section in http://coq.inria.fr/stdlib/ is non-constructive, by using axioms instead of constructions.
16:56:56 <Vorpal> ais523, anyway this mouse is technically serial when you expand the abbrev. USB
16:56:56 <elliott> Phantom_Hoover_: But C-CoRN is awesome.
16:57:03 <ais523> actually, I think I technically own three, but only one works nowadays
16:57:04 <elliott> Phantom_Hoover_: Russell O'Connor runs it.
16:57:17 <elliott> ais523: any suggestions to someone feeling like extending underload? apart from "don't"?
16:57:31 <ais523> elliott: remove the S statement and replace it with something more appropriate
16:57:39 <ais523> then you can compile it without having to keep the source around as well
16:57:43 <elliott> ais523: i wasn't planning to support S anyway
16:57:47 <ais523> Underload's actually pretty extensible
16:58:04 <ais523> hmm, now I'm wondering what an Underload interp in Forth would look like
16:58:09 <elliott> ais523: I was thinking about adding a command % which takes one value off the stack and "interpcalls" it
16:58:10 <Vorpal> so some other way of output? Or just having the final program state as output?
16:58:17 <elliott> Vorpal: no output
16:58:22 <ais523> I was just wondering how to do a minimal Underload interp, and what I thought up was very like the way Forth works
16:58:23 <elliott> ais523: the value would be expected to be an underload church numeral
16:58:30 <Vorpal> elliott, hm okay
16:58:50 <elliott> ais523: so e.g. (::**)% would be "syscall 3", and the remaining things on the stack could be arguments
16:58:50 <ais523> elliott: church numerals aren't massively space-efficient
16:58:59 <elliott> ais523: well, no, and this is also a rather boring extension
16:59:01 <Vorpal> elliott, ah so a system call like mechanism?
16:59:05 <elliott> Vorpal: yes
16:59:09 <ais523> more or less the best you could do would be along the lines of (:*:*:*:*:*)% for a high-numbered syscall
16:59:17 <elliott> ais523: I just want to be able to read a floppy using the BIOS in an extended esolang :)
16:59:27 <elliott> that I can write an interpreter/compiler for short enough to fit in a bootsector with enough space left to have the program there
16:59:30 <Vorpal> no more efficient representation of numbers in underlambda?
16:59:32 <Vorpal> err
16:59:35 <Vorpal> underload
16:59:37 <Vorpal> I'm tired
16:59:41 <ais523> Vorpal: they both represent numbers the same way
16:59:45 <Vorpal> yeah
17:00:02 <ais523> and in underlambda, at least, where you don't have S to worry out, I'm assuming that most decent interps will recognise numbers and optimise them internally
17:00:04 <Sgeo> unload
17:00:08 <ais523> *worry about
17:00:19 <Vorpal> ais523, but can there not be any general number representation that is more space efficient in underload?
17:00:23 <Sgeo> Wait, there's really an underlambda?
17:00:38 <ais523> you can't recognise /all/ numbers as that's an uncomputable issue, but you can identify most common ways to construct them
17:00:38 <Vorpal> with general I mean "not special cased to a finite range"
17:00:44 <ais523> Sgeo: yes, it's semi-vaporware
17:01:00 <Sgeo> http://eurekamag.com/keyword/u/026/underlambda.php
17:01:21 <ais523> Sgeo: hmm, I somehow doubt that's the meaning I use the word for
17:01:23 * ais523 checks the link
17:01:32 <elliott> To differentiate their respective functions, oligonucleotide-directed site-specific mutagenesis was used to change the ATG start codon of the.vphi.X174 A* gene, previously cloned into pCQV2 under.lambda. Repressor control, into a TAG stop codon. The altered A* gene was then inserted back into.vphi.X replicative form DNA to produce an amber mutant,.vphi.XamA*. Two different Escherichia coli amber suppressor strains infected with this mutant produc
17:01:32 <elliott> ed viable progeny phage with only a slight reduction in yield. In Su+ cells infected with.vphi.XamA*,.vphi.X gene A protein, altered at one amino acid, was synthesized at normal levels; A* protein was not detectable. Prophage integration occurs at different chromosomal sites, including lacY and malB, but not at attB All.lambda.cam112 prophages are excised from the chromosome after induction but with various efficiencies for different locations. H
17:01:33 <elliott> eteroduplex analysis of.lambda.placZ transducing phages isolated from a lacY::.lambda.cam112 prophage reveals an insertion sequence 1 element at the joint of viral and chromosomal DNA Two lines of evidence indicate that.lambda
17:01:37 <elliott> lolspam
17:01:56 <Vorpal> ais523, hm what about compression? On very large church numerals you could presumably apply a compression algorithm to get a smaller one. (The usual caveats of compression applying here of course. You will get larger values sometimes)
17:01:58 <ais523> the word doesn't appear anywhere there but the title
17:02:19 <Sgeo> ais523, under.lambda
17:02:22 <ais523> Vorpal: :*:*:*:*-style compression isn't /that/ bad, really, it's O(log n)
17:02:34 <oerjan> Vorpal: you could obviously convert a church numeral to some binary representation
17:02:48 <Phantom_Hoover_> ais523, Underlambda was the proof-by-isomorphism language, wasn't it?
17:02:56 <ais523> Phantom_Hoover_: yep
17:03:31 -!- tswett has joined.
17:03:37 <elliott> Uh oh, what did Phantom_Hoover_ do.
17:03:43 <elliott> (Or maybe tswett reads logs compulsively.)
17:04:00 <tswett> I receive an SMS every time someone says something in this channel.
17:04:02 * Phantom_Hoover_ whistles innocently.
17:04:06 <Vorpal> <oerjan> Vorpal: you could obviously convert a church numeral to some binary representation <-- well yes
17:04:14 <tswett> They cost me 25 cents apiece, so you'd better not say anything unless it's important.
17:04:20 <Vorpal> oerjan, but I meant in underload as the source is written
17:04:21 <oerjan> tswett: O KAY
17:04:30 <ais523> tswett: that is probably a bad idea
17:04:59 <elliott> i think ais523 has a broken joke lobe
17:05:03 <Vorpal> <elliott> Uh oh, what did Phantom_Hoover_ do. <elliott> (Or maybe tswett reads logs compulsively.) <-- there is some context missing here?
17:05:13 <elliott> Vorpal: yes, it's called read your damn scrollback :)
17:05:30 <Vorpal> elliott, my scrollback goes back to when I joined after the crash half an hour ago
17:05:38 <ais523> elliott: my typical reaction to identifying jokes is to act like they're serious and try to drive the conversation into the absurd
17:05:47 <ais523> unfortunately, this means I act much the same way whether I miss a joke or not
17:05:49 <elliott> ais523: you could do it more interestingly :)
17:06:03 <oerjan> Vorpal: well that :*:*:* style _is_ essentially binary, adding :* multiplies a number by 2
17:06:10 <Vorpal> ais523, hm I actually do the same sometimes.
17:06:16 <elliott> tswett: you're lucky, this is the first time we've talked about esolangs in months
17:06:16 <Vorpal> it is fun
17:06:27 <Vorpal> oerjan, hm okay
17:06:37 <elliott> 23:49:05 <GregorR> I love how devfs survived for like a year :-P
17:06:37 <elliott> 23:49:34 <calamari> yeah, what was wrong with it? worked for me
17:06:37 <elliott> 23:50:04 <GregorR> I really don't know.
17:06:37 <elliott> 23:50:08 <GregorR> Always worked great for me.
17:06:39 <elliott> It's not object XML enough.
17:06:44 <ais523> oerjan: that's what I was thinking; it has *2 and +1 operations
17:06:46 <elliott> (Is devfs in the newest kernels?)
17:06:50 <elliott> Ugh, no, it isn't.
17:06:52 <ais523> so it's a sort of generalised binary that allows arbitrary digits
17:06:57 <elliott> Removed in 2.6.13; glorious ...
17:06:57 <Vorpal> elliott, I don't think udev uses XML?
17:07:04 <elliott> Vorpal: No, but it might as well. :)
17:07:06 <oerjan> oh and adding 1 is putting : and * _around_ the number, isn't it?
17:07:28 <Vorpal> elliott, no xml would be worse
17:07:49 <elliott> Vorpal: I'm saying that it's so overcomplex that making it use XML would hardly change a thing.
17:07:49 <Sgeo> She wants us to install MySQL Query Browser
17:07:58 <elliott> Maybe I will see if devfs works on current kernels.
17:08:07 <elliott> Or just use static /dev like I was planning to.
17:08:15 <Vorpal> elliott, there is that other one there was some talk about. Don't remember details
17:08:32 <elliott> I wonder if devtmpfs can work without udev.
17:08:58 <Vorpal> elliott, anyway, why do you want to move stuff into a monolithic kernel?
17:09:15 <elliott> Vorpal: udev would be no better if it was in the kernel
17:09:28 <elliott> have you seen /etc/udev?
17:09:32 <Vorpal> elliott, I have
17:09:41 <Vorpal> elliott, it is overcomplicated yes to some degree.
17:09:43 <elliott> yeah. when was the last time you were using devfs and thought --
17:09:48 <elliott> "I wish I could rename my hard drive device file."
17:10:04 <Vorpal> elliott, but then I doubt devfs allowed you to run a script that loaded joystick calibration values when it was connected
17:10:10 <elliott> I'm all for flexibility, it's just that when you add too much flexibility and try and modularise *Unix*, everything fucks up.
17:10:20 <Vorpal> elliott, fair point
17:10:31 <elliott> See Hurd for the extreme of this.
17:10:37 <Vorpal> indeed
17:11:05 <elliott> http://lwn.net/Articles/330985/ Yay -- devtmpfs looks like a proper devfs.
17:11:10 <elliott> "/dev will be fully populated and dynamic, and always reflect the current
17:11:10 <elliott> device state of the kernel."
17:11:22 <elliott> And apparently it makes init=/bin/sh work perfectly.
17:11:32 <Phantom_Hoover_> THINGS THAT ANNOY ME: people who equate "real" with "floating point".
17:11:42 <Phantom_Hoover_> See: Fortran, Pascal.
17:12:09 <Vorpal> elliott, hm that is nice
17:13:13 <Vorpal> Phantom_Hoover_, things that annoy me: people who seem to take fortran or pascal seriously today.
17:13:16 <Vorpal> ;P
17:13:40 <Phantom_Hoover_> Vorpal, it's a symptom of a greater evil!
17:13:42 <fizzie> "Removed /home (sorry!)" -- now that's interesting.
17:13:48 <Vorpal> fizzie, what?
17:13:53 <Vorpal> fizzie, from where?
17:13:58 <Phantom_Hoover_> That of putting a stupid amount of store with floating point!
17:13:59 <fizzie> That's what it says on the latest blog post.
17:14:05 <Vorpal> fizzie, blog post of?
17:14:07 <elliott> fizzie: Blog post of?
17:14:09 <fizzie> http://notch.tumblr.com/
17:14:10 <Vorpal> elliott, echo
17:14:14 <elliott> Oh god.
17:14:20 <elliott> I refuse to update.
17:14:25 <Vorpal> what? it removed /home?
17:14:26 <Vorpal> where?
17:14:27 <elliott> Yes.
17:14:30 <elliott> Newest update.
17:14:36 <elliott> Back up .minecraft now, y'allz.
17:14:47 <elliott> $ cp -R .minecraft .minecraft_has_home_for_fucks_sake
17:14:58 -!- Sgeo has quit (Ping timeout: 255 seconds).
17:14:59 <elliott> Let's see if it's going to force me to upgrade!
17:15:00 <Vorpal> oh not /home on the fs
17:15:03 <fizzie> It might be a server-side change, though. I don't quite know how commands work.
17:15:18 <elliott> HAHAHAHA FORCED UPGRADE
17:15:25 <elliott> FUCK YOU NOTCH
17:15:27 <Vorpal> why would it remove /home
17:15:32 <elliott> because notch sucks
17:15:39 <Vorpal> elliott, also it says server upgrade is not mandatory
17:15:43 <Vorpal> bbl food
17:15:55 <fizzie> Yes, but also that there is a "rather bad memory leak bug in the server".
17:16:10 <elliott> ineiros: Instead of updating, why not try restarting the server every now and then?
17:16:13 <elliott> Oh, look, I died before quitting.
17:16:15 <Phantom_Hoover_> What does rm -rf / actually do?
17:16:23 <Phantom_Hoover_> Remove the inode for /?
17:19:14 <elliott> Phantom_Hoover_: Recursively remove everything in /, duh.
17:19:19 <elliott> Or refuse to, if it's GNU rm.
17:19:27 <elliott> fizzie: http://imgur.com/gseyK.png http://imgur.com/ZZWCa.png http://imgur.com/xqBXT.png
17:19:30 <elliott> fizzie: Stop that, it's silley.
17:20:03 <Phantom_Hoover_> elliott, what happens after it finishes?
17:20:06 <fizzie> A daily stone-bath does wonders for your textures.
17:20:10 <elliott> Phantom_Hoover_: Um, bad things.
17:22:47 <elliott> fizzie: http://imgur.com/tzQ07.png http://imgur.com/1wqWD.png
17:23:18 <fizzie> Are my feet sticking out through the bridge?
17:23:22 <elliott> fizzie: Yes.
17:25:07 <oklofok> http://esolangs.org/wiki/Banana_Scheme <<< erm, so, what's banana scheme?
17:25:45 <oklofok> "hey i invented a new language called X, the language called Y is defined as follows"
17:26:00 <elliott> oklofok: they are the Banana Schemes, collectively
17:26:04 <elliott> it's terminology from some irc log, see talk page
17:26:06 <oklofok> okay
17:26:30 <Slereah> TIME TRAVEL
17:31:43 <elliott> Phantom_Hoover_: You breakin'?
17:32:02 <Phantom_Hoover_> Breakin' what?
17:32:08 <elliott> Phantom_Hoover_: Minecrafty.
17:32:46 <elliott> Phantom_Hoover_: Have you been putting those extra steps on the skyway?
17:32:57 <Phantom_Hoover_> I think I need a break. Also, this torrent is doing awful things to my connection.
17:33:02 <Phantom_Hoover_> And that was Vorpal.
17:33:11 <elliott> Phantom_Hoover_: Has he realised that you need three, not one?
17:33:13 <elliott> Also that it's ugly?
17:33:44 <Phantom_Hoover_> Three what's?
17:33:47 <elliott> Steps.
17:33:52 <elliott> To make a barrier.
17:35:12 <oerjan> http://politics.usnews.com/usnews/php/galleries/image.php/162/46/46.jpg
17:35:13 <fizzie> I did some of the widening too.
17:35:35 <elliott> oerjan: that was /almost/ funny
17:35:42 <fizzie> Anyway, it's already easier to walk like that, I don't really see why you'd need an actual barrier around.
17:37:42 <Phantom_Hoover_> *whats
17:38:01 <elliott> fizzie: Nobody ever told me you could ascend water without drowning!
17:38:24 <fizzie> Well, you can.
17:38:31 <fizzie> There, now you've been told.
17:38:44 <Vorpal> <Phantom_Hoover_> And that was Vorpal.
17:38:46 <Vorpal> uh
17:38:51 <Vorpal> fizze
17:39:07 <elliott> "My home is like a 20 minute walk from spawn!!!!!!!!" "Isn't that what portals help you with." yeah cuz portals work in MP
17:40:02 <elliott> Hey.
17:40:03 <elliott> I just realised.
17:40:07 <elliott> Getting stuck in stone is now unfixable.
17:40:13 <elliott> You are stuck there. Forever. Until the server /tps you out.
17:40:32 <elliott> "You guys are missing the point. /home was not a feature implemented by Notch. Therefor he doesn't want it implemented. Like bureau.nic says, Perhaps it causes a huge bug in the code. Either way, notch has been coding and developing for a VERY long time. If he removes a feature that he knows people love (obvious he does or he wouldn't have said sorry) I'm sure he knows best and has a damn good reason for it. It IS his code game after all. So, why
17:40:32 <elliott> don't you sit down like a good alpha tester, and play the game like it's meant to be played."
17:40:34 <fizzie> Mostly you're supposed to suffocate, but I guess you still could easily get stuck.
17:40:40 <elliott> ...
17:40:43 <elliott> "Notch KNOWS BEST"
17:40:56 <elliott> fizzie: He added code to suffocate rather than fixing the bug? Srsly?
17:41:06 <elliott> Also, you have to lose your inventory because of a bug? Niice.
17:41:28 <fizzie> No, I think you've always supposed to have been suffocated if you ended up inside a non-air block somehow.
17:41:33 <elliott> Also, what's all these comments talking about /spawn? Our server seems not to have that.
17:41:47 <elliott> "the key is to not get stuck in a mine. thats the point of the game."
17:41:50 <elliott> Well, thanks for that!
17:42:57 <fizzie> I like the "play the game like it's meant to be played" comment. I suppose same sort of reasoning could be used to logicalize why any sort of unauthorized modding is ethically worng.
17:43:25 <elliott> "How could a player teleportation command cause bugs or issues? If it did, why weren't the others removed?"
17:43:28 <elliott> "idk ibm. Are you a programmer? Maybe learn a bit about that before you ask ignorant questions."
17:43:32 <elliott> As a programmer, #2 is full of shit.
17:43:57 <elliott> fizzie: why is everyone acting like /spawn does something, it doesn't for me
17:44:14 <fizzie> I don't really know, I've been wondering about spawn-point-setting too.
17:44:35 <fizzie> Oh, incidentally.
17:44:44 <fizzie> It seems that hMod already has a "enable-health" server option.
17:44:59 -!- nopseudoidea has joined.
17:45:32 <elliott> fizzie: Yes, but does disabling it work?
17:45:37 <elliott> If so: ineiros: HMOD LOL
17:45:41 <fizzie> Well, according to some comments, yes.
17:45:45 <fizzie> I don't really know.
17:46:10 <elliott> fizzie: Now tell me what the heck /spawn is meant to do >_<
17:46:12 <elliott> It does nothing!
17:47:16 <fizzie> http://wiki.hey0.net/index.php/Commands#.2Fspawn maybe?
17:47:20 <fizzie> (That's the hMod command list.)
17:47:24 <elliott> "We are not implementing anything crazy here like devfs did, including the later versions - there is no modprobe behind your back, no lookup hooks, no stupid new naming scheme, no new filesystem type to register."
17:47:44 <elliott> fizzie: Nice... so people are saying "just use /spawn!" when mods are meant to be BADHORRIBLE according to Notch.
17:47:53 <elliott> hMod does seem rather nice.
17:48:03 <elliott> Hey, it has support for "kits".
17:48:04 <fizzie> On "paper", anyway.
17:48:06 <elliott> /kit diamondtools
17:48:16 <elliott> Cool, you can set your own /home.
17:48:21 <elliott> ineiros: Totally requestin' hMod
17:49:02 <elliott> "Sievers outlines the differences between devtmpfs and Adam Richter's proposal from 2003. It mostly boils down to complexity; devtmpfs is a much simpler scheme, which really adds very little to the kernel. The implementation is around 300 lines of code, in comparison to roughly 3600 for devfs and 600 for an early version of Richter's mini-devfs."
17:49:03 <Phantom_Hoover_> Wait WHAT
17:49:08 <Phantom_Hoover_> Notch removed /home?
17:49:13 <Phantom_Hoover_> Bastard!
17:49:36 <fizzie> So the patch notes say; we haven't actually tried out the new server version yet.
17:49:54 <elliott> And we're not going to! Well, not without hMod yet. On pain of ineiros being murdered.
17:50:16 <elliott> fizzie: Also, I love the idea that there can be a "proper" way to play a sandbox game.
17:51:30 <Vorpal> <elliott> Phantom_Hoover_: Has he realised that you need three, not one? <-- first it was fizzie who made it like that. Second 3 is wide enough to walk on without barrier with minimal risk of falling off
17:52:38 <Phantom_Hoover_> fizzie, link??
17:52:49 <fizzie> Phantom_Hoover_: http://notch.tumblr.com/
17:52:54 <fizzie> Phantom_Hoover_: Shouldn't you know that address already?
17:54:33 <Vorpal> <elliott> fizzie: Nice... so people are saying "just use /spawn!" when mods are meant to be BADHORRIBLE according to Notch.
17:54:34 <Vorpal> uh
17:54:41 <Vorpal> that only applies to client mods iirc
17:54:54 <elliott> I doubt he approves of deobfuscating, modifying, reobfuscating and then distributing the server code.
17:55:01 <Vorpal> from what I remember he said that since you don't need to pay for server anyway he minds much less for server mods
17:55:29 <elliott> "Forge seems to be working in SMP now, aside from the animation. Also, is health supposed to regenerate? If so, is there a setting?"
17:55:30 <elliott> "turning off monsters currently sets the server to peaceful mode. It will be an option."
17:55:32 <Vorpal> elliott, iirc he said that quite a bit of the code is shared between client and server (which seems sensible)
17:55:36 <elliott> How about making it an option before breaking it...
17:55:46 <elliott> Vorpal: Yes, but he's still too stupid to make singleplayer = connect to local server.
17:56:08 <elliott> fizzie: @notch Why did you remove the /home command? Bugs?
17:56:09 <elliott> @PHLAK it's not supposed to be there!
17:56:11 <elliott> tl;dr it's not coming back
17:56:19 <Vorpal> elliott, I wouldn't be able to play single player then since then it would be far above the memory available on here
17:56:23 <fizzie> Pretty impressive if two lines is tl;dr.
17:56:32 <elliott> fizzie: Indeed.
17:56:42 <elliott> Vorpal: That's just because the server code sucks.
17:56:59 <Vorpal> elliott, possibly. Go implement your own one?
17:57:09 <elliott> Vorpal: Others already are.
17:57:13 <elliott> Anyway I don't feel like figuring out the protocol.
17:57:16 <elliott> It's probably braindead.
17:57:21 <Vorpal> I mean, complaining here doesn't really give any result :P
17:57:35 <Phantom_Hoover_> The damn comment page won't load for me...
17:57:49 <fizzie> It's not just figuring it out, it seems to be a moving target.
17:57:55 <elliott> LOL: http://www.pcgamer.com/2010/12/01/the-minecraft-experiment-day-7-when-you-are-engulfed-in-flames/
17:58:02 <elliott> Hilarious.
17:58:27 <fizzie> "/home was basically a way to get yourself out of impossible places, but now that you can kill yourself more easily, it's purpose has been fulfilled. Maybe he'll bring it back in another way."
17:58:38 <fizzie> (From the comments.)
17:58:52 <elliott> fizzie: Yeah, but he clearly won't since it seems it wasn't "meant" to be in there.
17:58:55 <elliott> Maybe he only noticed now.
17:59:12 <elliott> "I ignored the game entirely when it was a purely creative toy – yeah, yeah, people made amazing stuff. I’m amazed. I’ve been amazed so often now that I’m in a permanent state of maze, and it would take someone building a working time machine in Zuma Deluxe to un- and subsequently re-maze me. But when it added a health bar, suddenly I was interested. I can die? I love to die! I’m there."
17:59:41 <ais523> elliott: I think the idea is that it's basically doing an end-run around the "difficulty" of the game
17:59:51 <ais523> imagine adding a /home command to a typical roguelike
17:59:54 <ais523> instant escape item!
18:00:10 <Phantom_Hoover_> That guy's Galactic Civilisation II playthroughs have to be seen to be believed.
18:00:17 <Vorpal> ais523, indeed
18:00:22 <elliott> ais523: yes, but we don't play it as survival
18:00:24 -!- atrapado has quit (Quit: Abandonando).
18:00:26 <elliott> apart from maybe Vorpal but nobody cares about him
18:00:37 <elliott> ais523: we're essentially playing it as creative, but with minecarts and circuits and all that fun modern stuff
18:00:46 <Vorpal> elliott, I don't really either indeed
18:00:51 <fizzie> elliott: You're playing it wrong!
18:00:56 <elliott> ais523: which worked, right up until notch decided that making it into survival like it's meant to be without even adding switches to turn it back into peaceful was a good idea
18:01:00 <elliott> ais523: which is, of course, rather insulting.
18:01:00 <Phantom_Hoover_> elliott, well, Creative mode will be implemented for the current version at /some/ point.
18:01:10 <elliott> ais523: (it would not be as bad if updates weren't automatic and involuntary, and you couldn't connect to old servers)
18:01:19 <elliott> Phantom_Hoover_: Yeah... at /some/ point. Just like adventure mode.
18:01:22 <elliott> /home isn't coming back though.
18:01:30 <elliott> And /home is damn useful if you're not playing to survive and just want to explore and create.
18:01:34 <Vorpal> elliott, we can survive without /home
18:01:42 <elliott> Vorpal: I can survive without Minecraft too.
18:01:46 <elliott> It's not can, it's want.
18:01:51 <Vorpal> indeed
18:02:02 <elliott> hMod seems nice anyway.
18:02:07 <elliott> It has those kits, which are like automated multi-/gives.
18:02:18 <elliott> And you can set a personal home that you can teleport to.
18:02:20 <elliott> As well as spawn point.
18:02:32 <elliott> And ops can set arbitrary predefined teleportation points.
18:02:38 <elliott> And you can disable health. :p
18:02:53 <Vorpal> seems nice yes
18:03:07 <Vorpal> wait, connection refused?
18:03:18 <Vorpal> It said on the blog it was an optional server upgrade
18:03:47 <fizzie> Maybe it crashed because of all the memory leaks. :p
18:03:55 <elliott> It's been down for a lil' while.
18:03:57 <elliott> It was up earlier though.
18:04:09 <Vorpal> hm
18:04:20 <fizzie> Doesn't seem that hMod has yet been updated to 0.2.7, but it's probably just a matter of (short) time.
18:04:37 <Vorpal> the remember server bit fails
18:04:42 <elliott> And you can write plugins for it!
18:04:43 <elliott> Endless fun!
18:04:45 <Vorpal> since it doesn't remember port number
18:04:46 <fizzie> Yes, it drops the port number.
18:04:55 <Vorpal> fizzie, it doesn't in the config
18:04:56 <elliott> ineiros can finally have his /donateacreeperto.
18:05:01 <elliott> Vorpal: Protip:
18:05:04 <elliott> Put the server in, click cancel.
18:05:07 <elliott> It will remember the port forevermore.
18:05:11 <elliott> At least it did for me...
18:05:16 <Vorpal> elliott, no it won't after restarting the client
18:05:23 <elliott> What, Minecraft just updated again I think. (Did it?)
18:05:25 <elliott> Vorpal: Oh.
18:05:29 <Vorpal> the config is: key:<value> which means key:value:port
18:05:37 <Vorpal> which I guess is why it fails to parse it properly
18:05:37 <elliott> ...fail.
18:05:40 <Vorpal> it writes the right thing
18:05:53 <ineiros> Hmm?
18:06:06 <Vorpal> elliott, it is a sane config format. But with xml it wouldn't have failed :P
18:06:16 <elliott> "When dawn finally does break, I climb out of my awkward hole and look around. There’s something different about this mountain today. I don’t know if it’s the grass, the earth, the rocks, the walking pillars of flame – hm, were there walking pillars of flame yesterday?"
18:06:16 <Vorpal> ineiros, connection failure to your server
18:06:32 <Vorpal> ineiros, it simply times out
18:07:05 <elliott> ineiros: Hi. Please install hMod at your earliest convenience. Not only can we set a "home" point to teleport to as well as teleporting to spawn point -- the newest server update just removed /home -- but you can create "kits" like diamondtools that people can award themselves willynilly; you can also disable health.
18:07:09 <ineiros> Ah, apparently not a voluntary update, this.
18:07:10 <ineiros> 2010-12-01 19:52:39 [SEVERE] Unexpected exception
18:07:12 <elliott> ineiros: Oh, and you can set arbitrary named spawn points as an op.
18:07:14 <elliott> It is voluntary.
18:07:17 <elliott> But the old server has a memory leak.
18:07:21 <elliott> I think you ran out of memory.
18:07:24 <elliott> ineiros: Anyway, see above :P
18:07:32 <Vorpal> elliott, what was the name of that blog again?
18:07:34 <elliott> hMod doesn't run on the newest server yet, but "only a matter of time".
18:07:43 <elliott> Vorpal: towardsdawns.blogspot.com; but I'm not quoting from that.
18:07:51 <Vorpal> elliott, oh where was it from then?
18:08:05 <elliott> Vorpal: http://www.pcgamer.com/2010/11/20/the-minecraft-experiment-day-1-chasing-waterfalls/
18:08:05 <Phantom_Hoover_> Vorpal, it's Tom Francis' playthrough.
18:08:09 <elliott> Vorpal: In which he deletes his world whenever he dies.
18:08:11 <elliott> Vorpal: Hilarious.
18:08:11 <Phantom_Hoover_> Well, account of playing.
18:08:36 <Phantom_Hoover_> Also worth reading: both his Galactic Civilisations II playthroughs.
18:08:44 <Phantom_Hoover_> Even *more* hilarious, and epic.
18:09:12 <elliott> "In landscape gardening – bear with me here – this is called a ha-ha. A drop that acts like a wall in one direction, but is almost invisible to the fops and dandies sipping tea on their manicured lawn above. I mention this in part to explain why I thought it would be a good idea to stand on top of it, laughing at the creatures and punching them in the face."
18:09:14 <elliott> (They're creepers.)
18:09:34 <Vorpal> elliott, ah
18:09:34 <elliott> http://media.pcgamer.com/files/2010/11/Minecraft-Diary-Creeper-Tail-Closest.jpg AAAAAAAAAAAAAAH
18:10:28 <elliott> "I know this seems slow to you, but I’m pretty sure it took the human race longer than this to invent tools, and I’m probably going to discover fire before teatime."
18:10:44 <Phantom_Hoover_> http://www.computerandvideogames.com/article.php?id=161570&site=pcg
18:11:00 <Phantom_Hoover_> [[ I couldn't do it. The Spectres bow to no-one, plea for no quarter. Engraved on the seal at the base of a mile-high statue of their leader, Paul Davies Mutilator of Worldsblood, are the words "Bring it the fuck on." In Latin.]]
18:11:02 <fizzie> elliott: The "Painterly" texpack's default moon has three crater-looking creeper faces on it.
18:11:10 <elliott> fizzie: ;_;
18:11:27 <Phantom_Hoover_> elliott, mossy cobblestones have creeper larvae on them.
18:11:34 <elliott> Phantom_Hoover_: STOP IT STOP IT STOP IT STOP IT
18:11:52 <Phantom_Hoover_> elliott, read the GCII playthroughs!
18:11:57 <elliott> No this is better.
18:12:08 <elliott> "At some point my staircase hits an earthy patch, and I can hear running water. An underground river! The best thing possible!"
18:12:11 <Phantom_Hoover_> Read that, then those!
18:12:47 <elliott> "It turns out I already have metal, about 16 blocks of it – it’s those lumps of Caramac I’ve been finding in the stone. I thought it might be, but I couldn’t figure out a way to turn them into something I can craft with."
18:12:52 <elliott> Interesting way to describe Caramac.
18:13:34 <elliott> "As soon as I do, I strike legs. A rich vein of purest legs. I wasn’t mining for legs, I am not trained in leg extraction, but legs I have found. In quantity."
18:13:55 <Vorpal> elliott, "legs"?
18:14:13 <elliott> Vorpal: RTFLog :P
18:14:18 <elliott> (Zombies)
18:14:22 <Vorpal> elliott, oh
18:14:29 <Vorpal> ineiros, still down?
18:14:36 <elliott> ineiros: HOLY SHIT IS THE SERVER ODWON;
18:14:42 <elliott> odwon, the purest state of being.
18:14:57 <elliott> "I don’t know if reaching through zombie legs to loot treasure chests is dangerous, but it feels dangerous."
18:15:03 <Vorpal> hm "I will start looking at server-side inventory soon in an attempt to reach beta soon."
18:15:05 <Vorpal> that scares me
18:15:05 <ineiros> 2010-12-01 20:14:29 [INFO] Connected players: fizzief, ehird
18:15:09 <Vorpal> where are the inventories now
18:15:19 <elliott> "Eggs! For that souffle I’ve always dreamed of!
18:15:20 <elliott> Gunpowder! For that gunpowder souffle I’ve always dreamed of!"
18:15:24 <elliott> Vorpal: IN YOUR MIND
18:15:27 <Vorpal> ineiros, it fails to connect to it still.
18:15:34 <ineiros> Yes. I'll restart.
18:15:42 <elliott> "When I stop dancing, I get back to digging my tunnel. And before long, I hit another type of block I’ve never seen before. I have a split second to identify it as ‘lava’ before it floods into my face."
18:15:53 <elliott> ineiros: SO WILL YOU USE HMOD :|
18:15:54 <elliott> With capitals.
18:16:18 <Vorpal> elliott, hmod hasn't been upgraded yet (at least fizzie said that above)
18:16:27 <elliott> Yes, but *will* he.
18:16:29 <elliott> As in, the future.
18:16:30 <Vorpal> elliott, and I doubt he would want the mem leak
18:16:33 <elliott> Yes, but *will* he.
18:16:34 <elliott> As in, the future.
18:16:41 <Vorpal> indeed that is the question
18:17:40 <elliott> http://kerneltrap.org/node/4893
18:17:44 <elliott> "I make a single boot+root floppy disk in minix file format and lilo boot loader." --2005
18:18:15 <Vorpal> heh
18:18:25 <Vorpal> ineiros, restarting it sure is slow
18:18:38 <fizzie> Vorpal: You should've paid for a better SLA.
18:18:57 <Vorpal> fizzie, indeed :P
18:19:04 -!- poiuy_qwert has joined.
18:19:13 <Vorpal> fizzie, I blame notch not ineiros for this though
18:19:31 <elliott> ais523: So, have you ever written an actual minimax program?
18:20:04 <Vorpal> elliott, you mean as in the minmax algorithm for game solving?
18:20:13 <elliott> No. No I do not.
18:20:17 <ineiros> Vorpal: Sorry, I'm rebooting the whole server, since I've avoided that for a few kernel updates already.
18:20:22 <Vorpal> ineiros, ah
18:20:30 <elliott> ineiros: Is it running on Kitten?
18:20:31 <Vorpal> elliott, then what?
18:20:36 <elliott> Vorpal: JFEsolangsI
18:20:39 <Vorpal> elliott, ah
18:20:52 <Vorpal> elliott: where would he have downloaded kitten?
18:20:54 <elliott> ineiros: So yay or nay for hMod? :p
18:20:56 <elliott> Vorpal: My mind.
18:21:06 <Vorpal> elliott, interesting
18:22:21 <ineiros> elliott: I'll look into it when I have time. Definite maybe. :)
18:22:42 <elliott> ineiros: You do realise it's just a few .classes to replace? :p
18:22:43 <elliott> But yay.
18:22:53 <Vorpal> I like this flashlight. LED, 60 lumen, made of Aluminium. Feels very solid and durable. And still compact (just two AAA batteries)
18:23:17 <elliott> ineiros: Hmm, in fact, it's a batch file that downloads the server and does its magic. Hmmmmmmmmmmmm.
18:23:28 <Vorpal> elliott, not ported yet
18:23:28 <elliott> ineiros: Oh, there's an .sh too.
18:23:32 <elliott> Vorpal: I KNOW GOD DAMMIT
18:23:39 <elliott> ineiros: And it supports MYSQL! Note: Don't use MySQL.
18:24:00 <Vorpal> elliott, out of morbid curiosity: what does it use mysql for?
18:24:12 <elliott> Vorpal: You can make it use MySQL as opposed to flatfiles.
18:24:15 <elliott> Presumably that's quicker.
18:24:27 <Vorpal> elliott, for the game world?
18:24:43 <elliott> Prseumably.
18:24:45 <elliott> *Presumably.
18:24:45 <Vorpal> hm
18:24:46 <elliott> Perhaps not.
18:24:55 <fizzie> I would guess just the hMod-specific warp-points and kits and such.
18:25:02 <Vorpal> ah
18:25:18 <Phantom_Hoover_> elliott, MySQL is A Bad Thing, then?
18:25:20 <fizzie> Ban lists, whatevers.
18:25:27 <elliott> Phantom_Hoover_: Yes.
18:25:33 <Vorpal> Phantom_Hoover_, well duh
18:25:33 <elliott> This is not an uncommon position :P
18:25:43 <Vorpal> also oracle now. Even worse
18:25:57 <Phantom_Hoover_> elliott, Vorpal, I never knew...
18:25:59 <Vorpal> ineiros, rebooting atm?
18:26:04 <Vorpal> ineiros, or what point is it at
18:26:05 <elliott> Vorpal: oh shut up
18:26:13 <elliott> IT'S DONE WHEN HE SAYS IT'S DONE
18:26:14 <Vorpal> elliott, just wondering how far it got
18:26:28 <ineiros> Try now.
18:26:47 <fizzie> "IRC <--> Minecraft chat relay and advanced administration bot". The most sensible thing evar. (Perusing the hMod plugin list.)
18:27:55 <elliott> fizzie: I would like that, just to annoy people who are playing.
18:28:22 <Vorpal> ineiros, are you logged in atm? Or do we get ghosts of logged in people now?
18:28:37 <Vorpal> since dwarf in there just stands around doing nothing
18:30:37 <Phantom_Hoover_> [[All other secondary schools (23 in total) will be open for 4th-6th year pupils tomorrow]]
18:30:47 <Phantom_Hoover_> The Forth Road Bridge closed due to snow today.
18:30:52 <Phantom_Hoover_> It has never done this before.
18:30:58 <Phantom_Hoover_> This is as stupid as hell.
18:31:12 <elliott> IT'S FOR YOUR EDUMCACAITNO
18:33:19 <Phantom_Hoover_> No, it's because we have a poseur and idiot for a First Minister.
18:33:27 <elliott> fizzie: ineiros: Vorpal: I am on fire near the spawnpoint. I refuse to stop being on fire.
18:33:45 <Vorpal> elliott, okay?
18:33:59 <elliott> Aww, Connection lost
18:34:01 <elliott> End of stream
18:37:35 <elliott> Vorpal: I suicide-fired.
18:37:37 <elliott> Thus the ALLAH.
18:37:43 * elliott tasteful
18:37:43 <Vorpal> ah
18:38:14 <elliott> Gregor: 14:53:14 * GregorR-W doesn't even know what tldr means :P
18:38:14 <elliott> 14:53:51 <kipple> heh, I had to look that one up too
18:38:14 <elliott> 14:54:36 <GregorR-W> Too Long Didn't Read?
18:38:14 <elliott> 14:54:38 <GregorR-W> XD
18:40:32 <oklofok> okay destroying the world whenever you die sounds like an awesome idea
18:41:32 <oklofok> i mean say in a mmorpg, there could be an infinite amount of worlds, and when you die in one, you're forever blocked from reentering it
18:41:53 <oklofok> your friends could all kill themselves to join you in the new world, but
18:42:27 -!- poiuy_qwert has quit (Ping timeout: 272 seconds).
18:42:30 <elliott> fizzie: Vorpal: Phantom_Hoover_: http://imgur.com/IwLKB.png
18:43:08 -!- poiuy_qwert has joined.
18:43:13 -!- cal153 has quit (Ping timeout: 265 seconds).
18:43:46 <Vorpal> elliott, everyone seen that
18:43:50 <Vorpal> elliott, not as foggy though
18:43:56 <Vorpal> elliott, do you use tiny or short distance?
18:44:02 <elliott> Short.
18:44:09 <elliott> Vorpal: I have more impressive ones:
18:44:11 <Vorpal> ah
18:44:17 <Vorpal> elliott, I seen such on far before
18:44:22 <Vorpal> elliott, it is nothing new
18:44:29 <elliott> Vorpal: That was looking *downwards on top of the sea*.
18:44:47 <Vorpal> elliott, I been on top of holes with seeing caverns below too
18:44:50 <elliott> http://imgur.com/L6ouQ.png http://imgur.com/WZqgE.png http://imgur.com/vkQoS.png These are really nice.
18:46:01 <Phantom_Hoover_> <Vorpal> elliott, I been on top of holes with seeing caverns below too
18:47:07 -!- Sgeo has joined.
18:47:37 <Phantom_Hoover_> Say that in a deep Southern accent for great hilarity.
18:48:08 <elliott> :D
18:49:44 <Phantom_Hoover_> Ah, Sgeo. Have any liaisons with Newspeak planned for tonight?
18:50:34 <Sgeo> I plan on actually trying to write something
18:50:48 <elliott> Saucy.
18:51:03 <Phantom_Hoover_> Isn't it a little early in your relationship?
18:51:06 <oklofok> think about it, really the only thing mankind is lacking in games is true fear of death
18:51:31 <Phantom_Hoover_> You'll probably abandon it in 3 days like you did with Smalltalk, Factor, Scala, ...
18:51:45 <Sgeo> Did I abandon Factor in 3 days?
18:51:49 <oklofok> yeah Sgeo you're a real fuckface and everyone hates you
18:51:49 <Sgeo> Or Smalltalk?
18:52:12 * oklofok is just trying to be popular
18:53:08 <Sgeo> Now, let's see if I can avoid doing the same with real relationships
18:53:26 <oklofok> abandoning people in 3 days that is
18:53:27 <oklofok> ?
18:53:37 <Sgeo> I don't... think I would
18:54:04 <elliott> Suuuuure.
18:54:14 <oklofok> you haven't abandoned me yet
18:54:21 <elliott> oklofok: he never truly loved you
18:54:23 <oklofok> and we've been in an ircual relationship for years
18:54:30 <elliott> ineiros: http://wiki.nexua.org/Plugin:iStick wat
18:54:40 <elliott> oklofok: well it's well known that Sgeo is extremely gay of course
18:54:42 <elliott> and loves Finns
18:54:44 <elliott> but i didn't expect this
18:54:59 <oklofok> there's nothing gay about true online friendship
18:55:33 <elliott> oklofok: indeed; there's nothing faggy about a deep loving relationship with another man!
18:56:13 <Sgeo> <insert opposite of typical Sgeo joke here>
18:56:20 <Vorpal> ineiros, gah
18:56:34 <oklofok> i just realized newborns would probably be rather homicidal
18:56:41 <elliott> `addquote <oklofok> i just realized newborns would probably be rather homicidal
18:56:57 <oklofok> context being the mmorph with death
18:56:57 <Vorpal> fizzie, ended up in stone thanks to the issue, had to /home
18:57:00 <Vorpal> oh well
18:57:06 <oklofok> *mmorpg
18:57:06 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
18:57:09 <Vorpal> fizzie, and just after I saw spawn I timed out
18:57:33 <HackEgo> No output.
18:57:56 <Vorpal> ineiros, I noticed a pattern in your connection issues: off peak hours there are fewer drops. If fewer are playing there are fewer drops
18:57:58 <fizzie> Ended up somewhere underground too.
18:58:01 <elliott> "@notch instead of being an ass why don't you downgrade the server so we can play on smp you jeesh we're not your fing beta testers"
18:58:03 <Sgeo> Minecraft is buggier than AW. [Yes, I know that that's not saying anything at all]
18:58:04 <elliott> "@warlordv1 actually, you're alpha testers.."
18:58:08 <Vorpal> ineiros, maybe it is related to traffic?
18:58:13 -!- poiuy_qwert has joined.
18:58:43 <Phantom_Hoover_> Sgeo, PLEASE tell me that was self-irony.
18:58:58 <Vorpal> fizzie, down for quite some time now
18:59:16 <Phantom_Hoover_> (Note the subtle mockery of Vorpal)
18:59:36 <Vorpal> Phantom_Hoover_, I never said anything like that
18:59:37 <elliott> Even more subtle when you point it out.
19:00:22 <Phantom_Hoover_> elliott, I remembered too late that Vorpal is about as subtle as a brick.
19:00:40 <Phantom_Hoover_> And has the memory of a BBC Micro.
19:00:56 <elliott> ais523: aren't you going to stand up for the Micro?!
19:00:57 <Vorpal> Phantom_Hoover_, I don't believe in subtlety
19:01:40 <Phantom_Hoover_> elliott, come now, it was hardly the Memory Man.
19:01:52 <elliott> But ais523 grew up on it!
19:01:54 <elliott> He's actually a BASIC program.
19:02:41 <tswett> I've seen photos of ais523.
19:02:50 <elliott> Yeah -- he's quite the pixel painter.
19:03:03 <Phantom_Hoover_> He has a BEARD.
19:03:07 * tswett looks on his Wikipedia page.
19:03:09 <Phantom_Hoover_> It is RIDICULOUS.
19:03:18 <tswett> Oh, he no longer has a Wikipedia page.
19:03:30 <tswett> ais523 is now a redirect to "Wolfram's 2-state 3-symbol Turing machine".
19:03:35 <elliott> So it is.
19:03:36 <elliott> How sad.
19:03:36 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:03:40 <Vorpal> Phantom_Hoover_, why is it ridiculous?
19:03:53 <Phantom_Hoover_> Wikisnubbed.
19:04:02 <Vorpal> Phantom_Hoover_, why is the beard insane?
19:04:07 <Vorpal> or ridiculous
19:04:22 -!- cal153 has joined.
19:04:46 <Vorpal> Phantom_Hoover_, I mean, who doesn't have a beard...
19:04:54 -!- oerjan has quit (Remote host closed the connection).
19:04:54 <Phantom_Hoover_> http://www.wolframscience.com/prizes/tm23/images/alex_smith_wolfram_turing.jpg
19:04:55 <Phantom_Hoover_> ais523, in all his beardy ridiculousness.
19:05:10 <Phantom_Hoover_> Vorpal, most women, I hear.
19:05:20 <tswett> Whoa, he has a beard.
19:05:21 <Vorpal> Phantom_Hoover_, okay in the subset men
19:05:29 <Vorpal> Phantom_Hoover_, I don't see why it is strange that he has a beard
19:05:35 <Vorpal> or why it is ridiculous
19:05:40 <tswett> I'm going to refer to ais523 as Wolfram's 2-state 3-symbol Turing machine today.
19:05:46 <elliott> :D
19:05:46 <fizzie> I don't know, for some reason the photo reminds me of a soccer player.
19:05:47 -!- oerjan has joined.
19:05:49 <tswett> s/today/from now on/
19:05:55 <Vorpal> Phantom_Hoover_, could you please enlighten me why the beard is ridiculous?
19:06:32 <ineiros> elliott, Vorpal, fizzie, Phantom_Hoover_: Are you able to log in now?
19:06:36 <tswett> But I'm going to have to wait for wolfram's 2-state 3-symbol Turing machine to return before the fun begins.
19:06:47 <Vorpal> ineiros, trying again
19:06:51 <Vorpal> ineiros, no
19:06:55 <Phantom_Hoover_> Vorpal, look at it and use your goddamn in-built ridiculousness sensor.
19:06:59 <Vorpal> ineiros, just times out
19:07:01 <Phantom_Hoover_> You know, the one you get from being human.
19:07:09 <elliott> he's not human
19:07:12 <tswett> (Since "wolfram's 3-state 3-symbol Turing machine" is so long, every time I type "wolfram's 3state 3-sombol Turing machine" incorrectly, I'm going to replicate the typo from then on so that it will get shorter.)
19:07:18 <Vorpal> Phantom_Hoover_, I have a beard too. Not the same model
19:07:31 * tswett stops saying stuff that doesn't contribute to the conversation at all.
19:07:33 <Vorpal> still it looks perfectly normal
19:08:05 <elliott> tswett: Flark.
19:08:21 <tswett> Greem zob?
19:08:52 <Phantom_Hoover_> Vorpal, I don't really want to think about how ridiculous you look full stop.
19:09:15 <Vorpal> Phantom_Hoover_, there is NOTHING silly or ridiculous with how ais523 looks on that photo
19:09:39 <Phantom_Hoover_> LEAVE AIS ALONE!
19:09:59 <oerjan> tswett: i note you already introduced a typo
19:10:23 <oerjan> or two, even
19:10:29 <tswett> Three.
19:10:44 <Vorpal> Phantom_Hoover_, well it was you who criticised him in the first place so that seems a bit hypocritical to say.
19:10:52 <Vorpal> ineiros, still timeout
19:10:52 <tswett> I typo "wolfram's 3state 3-sombol Turing machine" every time I type "wolfram's 3state 30-sombol Turing machine". Except not one of those times.
19:11:03 <tswett> It got longer. I'm going to throw out typos that make it longer.
19:11:20 <elliott> tswett is hill-climbing towards the empty string.
19:11:24 <Vorpal> tswett, sombol?
19:12:26 <Vorpal> ineiros, downess is still a property exhibted by the server
19:13:12 <oerjan> that poor, dow server
19:13:34 <fizzie> Department of What?
19:13:46 -!- Sgeo has quit (Ping timeout: 255 seconds).
19:14:14 <elliott> tswett: By the way, Vorpal is AnMaster if you've been gone long enough not to know that.
19:14:29 <elliott> tswett: I'm not going to tell you who I am because it's bloody obvious.
19:14:59 <Vorpal> elliott, I don't know him from before
19:15:07 <Vorpal> oh wait
19:15:17 <oerjan> very forgettable guy, Vorpal
19:15:18 <Vorpal> right
19:15:19 <elliott> Yes, you do.
19:15:26 <Vorpal> elliott, yes I checked whois after
19:15:28 <oerjan> wait what
19:15:30 <Vorpal> elliott, before that I didn't
19:15:40 <Vorpal> oerjan, reading failure
19:16:00 <elliott> yeah unfortunately nobody can ever forget Vorpal.
19:16:18 <oerjan> he vorps into your mind
19:16:39 <Vorpal> oerjan, haha
19:17:57 <Vorpal> ineiros, anyway: very much down
19:18:01 -!- cheater99 has joined.
19:24:11 -!- Sasha2_ has joined.
19:24:13 -!- nopseudoidea has quit (Quit: Quitte).
19:24:45 <tswett> Vorpal is AnMaster. You're Mr. Hird.
19:24:56 <tswett> Or do you have a different title now?
19:25:48 <oerjan> Supreme Dictator Hird
19:26:06 -!- Sasha2 has quit (Ping timeout: 245 seconds).
19:26:20 <tswett> wolmfra's 3state 3-synmob Turing machine. womfra's 3state 3-symbon Turing machine. womfra's 2state 30synbom Truing machine. womfra's 3state 20symobn Truing machine.
19:27:43 <fizzie> Wombat's 3-stack 20-sylph Turning machete.
19:29:00 <Vorpal> tswett, what about "W.'s 2,3-TM"? or such
19:30:18 <elliott> tswett: Mrs. Hird
19:32:12 <tswett> womfra's 3state 29synb Truying macihemn. womfra's 3state 29smb Truing maicne. womfr'as 3state 29mws Truign amicne. womfr'as 2state 29mws Truign amicne. womfra's 2state 29mwd Truign acmien.
19:32:28 <elliott> I need to make an esolang called "womfra's 2state 29mwd Truign acmien".
19:33:14 <tswett> womfra's state 29mswd Trign amcien. womfra's state 29mws Tirng amcien. womfr'as state 29mws Tirng amcien. womfra's state 29sms Tirng amcien. womra's state 29sms Ting amcien. wom's state 29sms Ting amcien. woms' state 219sms Ting amcien.
19:33:15 <oerjan> it will be a fncutonal language
19:33:22 <tswett> It's getting there.
19:34:18 <tswett> woms' state 2s9sms Ting amcien. wom's state 29sms Ting amcien. woms' state 29sms Ting amcien. woms' state 29sms Ting amcien. woms' state 29sms Ting amcien. woms's tate 29sms Ting amcien. woms' tate 29sms Ting amcien. woms' tate 29sms Ting amcien. woms' tate 29sms ting amcine.
19:34:42 <Vorpal> elliott, also I don't think it is hill climbing. It seems more like simulated annealing.
19:35:11 <elliott> Vorpal: T' = mutate(T); if (fit(T') > fit(T)) T = T'; repeat
19:35:21 <tswett> wome' state 29sms ting amcine. wome' tate 29sms ting amcine. wome' stst 29sms ting amcine. wome stst 29sms ting amcine. wome stst 29sms ting amcine. wome stt 29sms ting ancine. wome stt 29sms ting ancine. wome stt 29mss ting ancine. wome stt 29mdd ting ancine. wome stt 29mdd ting ancine.
19:35:27 <elliott> In this case, fit(s) = -length(s) and mutate(s) = try and write s carelessly.
19:35:27 <Vorpal> elliott, yes but does he check all the neighbours in each step?
19:35:27 <elliott> No?
19:35:33 <elliott> Vorpal: Oh shaddup. :p
19:36:23 <Vorpal> elliott, thus the closer fit to simulated annealing. With a slow temperature change
19:36:27 <oerjan> when in wome, do as the womans
19:36:34 <fizzie> I don't think hill-climbing in general means you'd check all neighbours.
19:36:47 <fizzie> "In simple hill climbing, the first closer node is chosen, whereas in steepest ascent hill climbing all successors are compared and the closest to the solution is chosen."
19:36:54 <fizzie> See, it's the first alternative there.
19:37:12 <tswett> wome stt 29mdd ting ancine. wome stt 29mdmd ting ancine. wome stt 29emje ting ancine. wome stt 29mdd ting ancine. wome xstt 29mdd ting ancine. wome stt 29mdd ting ancine. wome stt 29mdd ting ancine. wome stt 29mdd ting ancine. wome stff 29dndd ting ancine. wome stt 29mdd ting ancine.
19:37:17 <Vorpal> fizzie, oh I didn't know about "simple hill climbing" I only heard about the second one
19:37:19 <tswett> Yeah, it's pretty much stabilized now.
19:37:31 <elliott> wome stt 29 mdd thing machine.
19:37:36 <elliott> wome stt 2w9mdd ting acine.
19:37:37 <Vorpal> wome stt 28tingachine
19:37:43 <elliott> woms tt 2wm89dnd ting acin
19:37:48 <elliott> woms tt w2mws989dnd ting aicn
19:37:51 <elliott> wms tti 2m89dnd ting acni
19:37:54 <Vorpal> wome tt 28 thingachine
19:37:57 <elliott> wms tti 28jndmndnd ting acin]#
19:38:03 <elliott> wms tti28m89dns tninag gnc
19:38:04 <Vorpal> wome th2 thingachine
19:38:16 <Vorpal> wom th 2 thinaghine
19:38:19 <elliott> tswett: Try "wms tti 2m89dnd ting acni"; that's the shortest I've got so far.
19:38:24 <Vorpal> wom th2 thinachine
19:38:25 <elliott> tswett: Shortening that middle block will be hard.
19:38:29 <Vorpal> wom th2 thingachine
19:38:40 <Vorpal> wom th2 thingchine
19:38:46 <Vorpal> wom th2 thingchine
19:38:48 -!- Phantom_Hoover_ has changed nick to Phantom_Hoover.
19:38:50 <Vorpal> yeah stabilised
19:39:07 <tswett> wome stt 29mdd ting ancine. wome stt 29mdd tinvg acine. wome stt 29mdd ting acine. wome stt 29mdd ting acine. wome stt 2mdd ting acine. wome stt 29mdd ting acine. wome stt 2mdd ting acine. wome stt 2mdsd ting acine. wome stt 32mm ting acine. wome stt 3mm ting acine. wome stt 3mm ting acine. wome stt 3mm ting aicne. wome stt 3mm ting aicne. wome stt 3mm ting aicne. wome stt 3mm ting aicne. wome stt 3mm ting aicne.
19:39:18 <Vorpal> tswett, still longer than the one I got to
19:39:33 <Vorpal> well lets implement a genetic algorithm on this
19:39:41 <fizzie> Conclusion => he types better.
19:39:55 <Vorpal> fizzie, who does "he" refer to here
19:39:59 <fizzie> tswett.
19:40:00 <tswett> wome stt 3mm ting aicne. wome stt 3mm ting aicne. wome stt 3mm ting aicne. wome stt 3mm ting aicne. wome st 3mm tine acine. wome sst 3mm tine acine. some st 3mm tine acine. some st 3mm tine acine. some tt 3mm tine acine. some tt 3mm tine acine. some ttt 3mm tine acine.
19:40:01 <elliott> tswett.
19:40:03 <Vorpal> hm
19:40:05 <cheater99> ais523: you there?
19:40:05 <elliott> somet tt3 m m tine ianc
19:40:09 <elliott> somet 3t3t n m tine aicn
19:40:13 <elliott> somet t3jio nm tiainc
19:40:14 <Vorpal> somet tt3 m m tine inac
19:40:17 <elliott> somet tjio nm itnac
19:40:21 <elliott> somet tinj oj nm ainta
19:40:22 <Vorpal> some tt3 m m timtatn
19:40:24 <elliott> somet tjinco nm itacn
19:40:28 <elliott> somet tjio nm itanc
19:40:31 <fizzie> Some thingie oh-my titanic.
19:40:32 <elliott> somet itoj nm tiacn
19:40:32 <Vorpal> som tjio nm oitia
19:40:37 <Vorpal> (what?)
19:40:37 <elliott> smet itoj nm itan
19:40:42 <Vorpal> smet itjo nm itan
19:40:43 <elliott> mset iot nmi tn
19:40:47 <elliott> mset iot nmi tn
19:40:50 <elliott> mset niot n
19:40:55 <elliott> msetnio tn
19:40:57 <elliott> msetn iot n
19:40:57 <Vorpal> mset nio tn
19:40:59 <elliott> mseit not
19:41:03 <elliott> tswett: mseit not.
19:41:03 <Vorpal> mset no
19:41:06 <elliott> msetn ot
19:41:07 <elliott> smetno t
19:41:08 <tswett> some tt 3mm tine acine. some tt 2m3m tine acine. some tt 3mm tine acine. some tt 3mm tine acine. some tt 2mm tine acine. some ti 3mm tine acine. some ti 3mm tine caine. some ti 3mm tine caine. some ti 3mm tine caine. some ti 3mm tine caine. some ti 3mm tine caine. some ti 3mm tine ciane.
19:41:08 <elliott> mseton
19:41:08 <fizzie> Multiset, NMI not.
19:41:12 <elliott> mston
19:41:14 <elliott> tswett: mston.
19:41:18 <Vorpal> mstn
19:41:20 <elliott> tswett: Try mston.
19:41:24 <elliott> mstn
19:41:25 <Vorpal> elliott, I got shorter :P
19:41:26 <elliott> tswett: There. mstn.
19:41:26 <tswett> Mastodon.
19:41:34 <tswett> Mess-ton.
19:41:36 <elliott> tswett: http://www.mastodon.biz/
19:41:37 <Vorpal> XD
19:41:41 <elliott> ais523: /nick mstn
19:41:43 <Vorpal> messton
19:41:47 <Vorpal> meston
19:41:51 <Vorpal> meston
19:41:53 <elliott> wait
19:41:53 <Vorpal> mston
19:41:55 <elliott> let's go back the other way
19:41:57 <Vorpal> mston
19:41:58 <elliott> let's try and typo it larger
19:42:00 <Vorpal> mstn
19:42:01 <elliott> to get back to the original
19:42:05 <Vorpal> elliott, hah :P
19:42:14 <elliott> I'M SURE THIS PROCESS IS REVERSIBLE YOU GUYS
19:42:14 <Vorpal> elliott, THIS TIME! a genetic algorithim
19:42:18 <Vorpal> algorithm*
19:42:18 <tswett> some ti 3mm tine caine. some ti 3mm tine caine. some ti emm tine caine. some ti emm tine caine. some ti emm tine caine. some ti emm tine caine. some ti emm tine caine.
19:42:35 <tswett> Now that it contains "ti emm", I'm going to replace those sounds with the letters they name.
19:42:48 <elliott> mstn
19:42:49 <elliott> stmrio
19:42:50 <elliott> smtoni
19:42:50 <elliott> sermnotin
19:42:52 <elliott> mn soertn
19:42:53 <elliott> msoinert
19:42:54 <elliott> mseortni ertoin
19:42:55 <elliott> mseorit
19:42:56 <elliott> moseitn soertn
19:42:58 <elliott> soemn tooi i
19:43:00 <elliott> somet irtm oem
19:43:02 <elliott> someti reiom tine nc
19:43:05 <elliott> osmetie cireom ncein
19:43:05 <Vorpal> elliott, you can do multiple on same line like tswett does
19:43:09 <elliott> sotmeime ceion ncein
19:43:11 <elliott> Vorpal: this is to keep my honset
19:43:13 <elliott> somteime cein ceni
19:43:17 <elliott> sometime tji 3m jioct
19:43:21 <Vorpal> elliott, huh
19:43:24 <elliott> som etiem im 3ioj
19:43:28 <elliott> this will never work :D
19:43:39 <tswett> some TM tine caine. some TM tine caine. some tM tine caine. some tM tine caine. some tM tine caine. some tM tine caine. some tM tine caine. some Tm tine caine. some Tm tine caine. some Tm cint caine. some Tm cint caine. some Tm cint caine. some Tm cint caine. some Tm cint caine. some Tm cint caine. some Tm cint caint. some Tm cint taine. some Tm cint taine. some Tm cint taine. some Tm tcint taint. some Tm cint taint. some Tm cin
19:44:00 <Vorpal> ineiros, still very very down
19:44:04 <Vorpal> ineiros, just checked again
19:44:23 <fizzie> It's not just down, or very down; it is in fact very very down.
19:44:37 <fizzie> You'll need to start it thrice to get it all the way back up.
19:44:46 <tswett> some Tm cint taint. some tm cint that. some tm cint that. some tm cint that. some tm cint that. some tm cint that. some tm cint that. some t cnt that. some t cnt that. some t cnt that. some t cnt that. some t cnt that. some t cnt that. some t cnt that. some t cnt that. some t cnt that. some t cnt that. some t cnt that. some t cnt that. some t cnt that. some t cnt that. some t cnt that.
19:45:14 <elliott> somet mi cent hat
19:45:15 <tswett> Eh, I've gone far enough for my taste.
19:45:17 <elliott> sometiei mcetahti
19:45:17 <elliott> sdojitgsdiogj
19:45:19 <elliott> oijsdfoi
19:45:20 <elliott> sdjf
19:45:21 <elliott> djf
19:45:22 <elliott> djf
19:45:22 <elliott> df
19:45:23 <elliott> d
19:45:24 <elliott>
19:45:31 <tswett> ais523: your name is now "some Tm cint taint".
19:46:29 <Vorpal> fizzie, port is still open says nmap
19:47:00 <fizzie> Yes, it wouldn't stay in the "logging in" mode if it wasn't, I guess.
19:50:34 <elliott> "You may have thought the latest Postoffice beta release was a fairly trivial one. But no, that honor is reserved for discount, which has been pushed up to version 2.0.3 by simply updating the markdown(1) and markdown(3) manpages to correctly describe the thicket of MKD_flags available in the 2.x version of the published interface."
19:50:57 <Phantom_Hoover> Wha?
19:51:28 <elliott> Phantom_Hoover: Just David Parsons' insane software ramblings.
19:53:54 <elliott> I wonder whether postoffice is less pain than qmail.
19:53:57 <elliott> (To set up.)
19:55:26 <elliott> Vorpal: ls -A | xargs -d'\n' find \
19:55:33 <elliott> Vorpal: I'm bugging you today --
19:55:44 <elliott> Vorpal: How could one write this in a way that works? As it is, it gives the path last to find, which Does Not Work.
19:55:50 <elliott> (No, I can't use GNU xargs's -I.)
19:57:23 <Vorpal> uh
19:57:32 <Vorpal> elliott, waiting for rest of command :P
19:57:37 <Vorpal> elliott, there is a \ on the end
19:57:42 <Vorpal> >
19:57:43 <elliott> Vorpal: The rest is irrelevant (just find expressions).
19:57:48 <elliott> The issue is that you can't give find paths after expressions.
19:57:57 <Vorpal> elliott, indeed you can't
19:58:06 <elliott> Vorpal: So my xargs doesn't work there.
19:58:08 <Vorpal> elliott, if you use ls -A I guess no space
19:58:15 <elliott> Vorpal: What?
19:58:30 <Vorpal> elliott, the paths obviously are sanely delimited?
19:58:33 <Vorpal> oh wait newline
19:58:34 <Vorpal> right
19:58:35 <elliott> Vorpal: Yes.
19:58:41 <elliott> Vorpal: So the issue is, how can I do this?
19:58:42 <Vorpal> elliott, MAAAYBE mess with IFS
19:58:46 <elliott> Vorpal: Ugh.
19:58:48 <Vorpal> elliott, but I don't know
19:58:55 <elliott> Vorpal: All I want to do is have find not put "./" before everything.
19:58:58 <Vorpal> elliott, use a saner language than shell script
19:59:19 <Vorpal> elliott, find ... | sed 's/^\.\///' ?
19:59:22 <elliott> find is the Right Thing here.
19:59:23 <fizzie> Can't you just postprocess the find output to sensib...
19:59:32 <elliott> \( -type l -printf '0000000000000000000000000000000000000000 %p\n' \) -o \
19:59:32 <elliott> \( -type d -printf '0000000000000000000000000000000000000000 %p/\n' \) -o \
19:59:32 <elliott> \( -type f -exec sha1sum '{}' \; \)
19:59:36 <elliott> "Maybe, but not with that script."
19:59:54 <Vorpal> elliott, I suggest that you post process it indeed
19:59:56 <elliott> Oh, wait; BusyBox find doesn't even have printf.
19:59:58 <elliott> Hooray post-processing.
20:00:03 <elliott> Or just not using find.
20:00:17 <Vorpal> elliott, why are you limiting yourself to busybox here?
20:00:56 <elliott> Vorpal: because Kitten uses BusyBox.
20:01:03 <elliott> BusyBox isn't exactly lacking in features.
20:01:09 <elliott> (Take a look at "busybox ls --help" sometime.)
20:01:30 <elliott> Vorpal: If you know of any coreutils replacement that's even vaguely as complete, I'd love to hear about it...
20:01:41 <Vorpal> elliott, whatever *BSD uses?
20:01:50 <Vorpal> elliott, well freebsd mostly
20:01:59 <elliott> Vorpal: *BSD have coreutils in their source tree. They are not portable.
20:02:01 <Vorpal> openbsd is quite a lot worse
20:02:12 <Vorpal> elliott, oh? what sort of BSD specific functions?
20:02:16 <elliott> They do not compile on anything other than BSD; perhaps not even anything other than *that* BSD.
20:02:20 <elliott> Vorpal: Mostly headers, actually.
20:02:30 <elliott> Vorpal: But the Makefiles also only work with BSD make and require the BSD make includes (bsd.prog.mk and the like).
20:02:34 <elliott> So I pretty much just gave up at that point.
20:03:01 <elliott> I tried Minix but their Makefile system is similarly tangly.
20:03:10 <ineiros> I think I have to apply the update.
20:03:45 <Vorpal> ineiros, right.
20:03:47 <ineiros> The server seems to keep doing those unexpected exceptions.
20:03:59 <ineiros> Apparently it doesn't work well with the updated client.
20:04:21 <Vorpal> yay, how reliable
20:04:45 <Vorpal> I wonder what sending it specially crafted (no pun intended) packets would do?
20:04:57 <Vorpal> presumably easy to crash it
20:05:42 <elliott> Hmph. Maybe I'll store the type of the file before the hash.
20:05:52 <elliott> Writing a useful manifest is irritating...
20:06:21 -!- mtve has quit (Ping timeout: 265 seconds).
20:06:29 <Vorpal> elliott, why not sha2?
20:06:33 <Vorpal> sha1 is meh
20:06:50 <elliott> Vorpal: Because the sole thing this is used for is for checking whether the user has changed a given file.
20:06:55 <elliott> Vorpal: I could even get away with CRC32.
20:07:01 <Vorpal> elliott, ah not for download integrity then
20:07:04 <Vorpal> right
20:07:11 <elliott> Vorpal: Yeah, rsync will handle that.
20:07:38 <elliott> Vorpal: Basically, when you uninstall, it'll remove all the files whose hashes match, and print out the names of all the files that don't.
20:07:43 <elliott> So you can remove configuration files manually if you want.
20:07:49 <Vorpal> elliott, ah interesting
20:07:59 <elliott> This means I don't have to keep track of what's a package file and what's a user file. :p
20:08:15 <ineiros> Updated.
20:08:26 <Vorpal> elliott, btw I thought about the owner thing. Pretty much every daemon that installs files into /var and that can get away with not running as root will have files that shouldn't be owned by root
20:09:09 <elliott> Vorpal: Well, I could write something that goes and chmods every file owned by the user building the package.
20:09:15 <elliott> But it seems easier just to use a postinst script.
20:09:21 <Vorpal> elliott, mhm
20:09:44 <Vorpal> elliott, also stuff like nethack that is sgid games
20:09:56 <elliott> Vorpal: Some distros run NetHack as root. :-)
20:09:59 <elliott> (Of course, I'm not that stupid.)
20:10:02 <Vorpal> whaaat
20:10:09 <Vorpal> elliott, that way there can only be one player?
20:10:13 <elliott> ...no.
20:10:17 <elliott> Why would you think that?
20:10:25 <Vorpal> elliott, uh. if you run as root you are root?
20:10:31 <Vorpal> the player you are I meant
20:10:42 <elliott> Vorpal: Um, I think it checks the different UID.
20:10:44 <elliott> The one that doesn't change.
20:10:51 <elliott> (But there *was* a security flaw in NetHack that left such distros vulnerable.)
20:10:51 <Vorpal> ah
20:11:00 * elliott make menuconfigs uClibc
20:11:08 <elliott> Yes, utilise the MMU. :p
20:11:17 <elliott> And the FPU, too!
20:11:36 <elliott> │ If you want the uClibc math library to contain the full set C99 │
20:11:36 <elliott> │ math library features, then answer Y. If you leave this set to │
20:11:36 <elliott> │ N the math library will contain only the math functions that were │
20:11:36 <elliott> │ listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard. │
20:11:36 <elliott> │ Leaving this option set to N will save around 35k on an x86 system. │
20:11:41 <elliott> I love how specific some of these options are.
20:12:00 <elliott> │ j0, j1, jn - Bessel functions of the first kind │
20:12:00 <elliott> │ y0, y1, yn - Bessel functions of the second kind │
20:12:03 <elliott> I... don't think I need those.
20:13:11 <elliott> │ The kernel source you use to compile with should be the same │
20:13:11 <elliott> │ as the Linux kernel you run your apps on.
20:13:12 <elliott> Sheesh.
20:13:22 <elliott> That's... really irritating.
20:14:27 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
20:15:23 <elliott> In fact, I'm not even sure how to solve that.
20:15:28 <elliott> Upgrade my kernel manually on Debian?
20:16:18 -!- poiuy_qwert has joined.
20:16:50 <Vorpal> fizzie, there?
20:17:03 <Phantom_Hoover> elliott, what if you need to compute Bessel functions!
20:17:19 <elliott> PIC doesn't work with static libraries, right? :p
20:17:35 <Vorpal> elliott, I'd assume PIE would
20:17:50 <Vorpal> elliott, doubtful on 32-bit x86 though
20:17:54 <elliott> Vorpal: x86-64
20:17:56 <fizzie> Mmmm, PIE.
20:18:05 <elliott> Vorpal: i.e. should I bother telling uClibc to use -fPIC if I'm doing all static linking
20:18:11 <elliott> fizzie: (oblig. http://www.weebls-stuff.com/wab/pie/)
20:18:16 <elliott> fizzie: Saved you the effort of Vorpal's questioning!
20:18:21 <Vorpal> elliott, yes probably
20:18:25 <Vorpal> fizzie, know of a 3x3 shaft with spiral stair next to your house?
20:18:26 <elliott> <Vorpal> But I don't HAVE Flash!
20:18:33 <elliott> Vorpal: Yes, tell it to use -fPIC? Really?
20:18:33 <Vorpal> fizzie, does all the way down and all the way up
20:18:50 <Vorpal> elliott, sure you can't do ASLR without it
20:19:16 <elliott> Vorpal: Which doesn't work with static linking...
20:19:19 <elliott> Duh.
20:19:43 <Vorpal> elliott, sure? I thought it did
20:19:51 <Vorpal> elliott, since it could move around heap and stack and such
20:19:58 <Vorpal> elliott, and also where the binary is loaded
20:22:26 <elliott> Vorpal: "#
20:22:26 <elliott> Security measures like load address randomization cannot be used. With statically linked applications, only the stack and heap address can be randomized. All text has a fixed address in all invocations. With dynamically linked applications, the kernel has the ability to load all DSOs at arbitrary addresses, independent from each other. In case the application is built as a position independent executable (PIE) even this code can be loaded at rand
20:22:26 <elliott> om addresses. Fixed addresses (or even only fixed offsets) are the dreams of attackers. And no, it is not possible in general to generate PIEs with static linking. On IA-32 it is possible to use code compiled without -fpic and -fpie in PIEs (although with a cost) but this is not true for other architectures, including x86-64."
20:22:28 <elliott> Vorpal: --Drepper
20:22:38 <elliott> So: no.
20:22:52 <elliott> (ASLR is really not that useful, though; it's a bit of a niche exploit to cover for.)
20:23:37 <Phantom_Hoover> In other news, I read all of the Ed stories.
20:25:09 <elliott> Phantom_Hoover: They are rather good.
20:25:27 <Phantom_Hoover> Yes, although the depressingness rises exponentially.
20:26:17 <elliott> Phantom_Hoover: The ending is quite happy, really... apart from that one thing.
20:26:43 <Phantom_Hoover> Well, except for the "how little we deserved it" bit.
20:26:49 <Phantom_Hoover> And that one thing.
20:27:36 -!- Quadrescence has quit (Quit: omghaahhahaohwow).
20:27:40 <elliott> Phantom_Hoover: I have lost my PDF copy of it!
20:27:42 <elliott> It was nice. LaTeX'd.
20:28:14 <Phantom_Hoover> :O
20:28:29 <elliott> Phantom_Hoover: Have you read the epilogue? http://qntm.org/free
20:28:40 <elliott> I included it in the PDF after a few blank pages.
20:30:26 <Phantom_Hoover> Hmm. Ambiguous.
20:30:30 <Phantom_Hoover> Could be... you know...
20:32:01 <elliott> Phantom_Hoover: I think it's sort of meant to take place outside of any actual timeline.
20:32:30 <Phantom_Hoover> I suppose.
20:33:49 <elliott> │ bcmp, bcopy, bzero, index, rindex, ftime, │
20:33:49 <elliott> │ bsd_signal, (ecvt), (fcvt), gcvt, (getcontext), │
20:33:49 <elliott> │ (getwd), (makecontext), │
20:33:49 <elliott> │ mktemp, (pthread_attr_getstackaddr), (pthread_attr_setstackaddr), │
20:33:49 <elliott> │ scalb, (setcontext), (swapcontext), ualarm, usleep, │
20:33:50 <elliott> │ wcswcs. │
20:33:52 <elliott> Hmmmmmmmmmmmm.
20:33:54 <elliott> Do I need these, I wonder.
20:34:20 <elliott> Ha! There's an option not to include gets solely because it's obsolete.
20:34:21 <elliott> I think not.
20:34:31 -!- ais523 has quit (Remote host closed the connection).
20:34:35 <pikhq> elliott: Ulrich Drepper there is blatantly lying.
20:34:39 <elliott> pikhq: Oh?
20:35:20 <pikhq> elliott: Position independent executables are entirely feasible with static linking. However, you get fixed offsets in the binaries.
20:35:21 <Vorpal> ineiros, are you torrenting or something? it is very laggy
20:35:24 <Vorpal> ineiros, but not timing out
20:35:33 <elliott> ineiros: You must feel so scrutinised.
20:35:37 <elliott> Torrent away; Vorpal needs a break.
20:35:48 <elliott> pikhq: Mm. I think I won't bother though.
20:35:49 <pikhq> elliott: Making it much less *useful* than with dynamic linking, where each library can be loaded at a random address.
20:35:57 <elliott> pikhq: Address space randomisation is... well... fairly pointless.
20:37:09 <elliott> │ Answer Y to enable repeated reading of the '/etc/TZ' file even after │
20:37:09 <elliott> │ a valid value has been read. This incurs the overhead of an │
20:37:09 <elliott> │ open/read/close for each tzset() call (explicit or implied). However, │
20:37:09 <elliott> │ setting this will allow applications to update their timezone │
20:37:09 <elliott> │ information if the contents of the file change. │
20:37:10 <elliott> Hmm.
20:37:12 <pikhq> It makes a certain class of attacks somewhat harder, but in that class of attacks you're already pretty well fucked.
20:37:13 <elliott> Eh, it's not much overhead.
20:37:22 <elliott> /etc/TZ is not a nice name for the file though.
20:37:26 <elliott> Any suggestions?
20:38:59 <elliott> pikhq: Is it evil to have a file named /etc/timezone with completely different syntax to glibc's?
20:41:59 <Phantom_Hoover> elliott, FWIW, I had a little niggle at the back of my head when the energy virus was introduced by analogy with Life.
20:44:38 <elliott> Phantom_Hoover: What was it this time. :p
20:44:39 <Vorpal> fizzie, down?
20:45:01 <Phantom_Hoover> elliott, the niggle?
20:45:08 <fizzie> Seems that way.
20:45:19 <elliott> Phantom_Hoover: Yes.
20:45:23 <elliott> pikhq: Am I baaaaaaaaad?
20:45:32 <Vorpal> fizzie, looked like an optimised design
20:45:38 <Vorpal> fizzie, what is the obsidian risk in it?
20:45:40 <elliott> Vorpal: *OPTOMIZED
20:45:45 <Vorpal> fizzie, and how much goes back into the lava?
20:45:51 <Phantom_Hoover> elliott, there's no such pattern known in Life, and I'd put large quantities of money on it not existing.
20:45:55 <Vorpal> elliott, that z is so american
20:46:05 <Vorpal> fizzie, back up
20:46:27 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
20:46:43 <oklofok> what kind of pattern doesn't exist in life?
20:46:44 <elliott> Phantom_Hoover: What, something that can eat everything?
20:46:54 <Phantom_Hoover> elliott, indeed.
20:46:59 <oklofok> oh
20:47:05 <elliott> Phantom_Hoover: I'm not so sure...
20:47:22 <elliott> Phantom_Hoover: Well, "almost" anything anyway.
20:47:26 <Phantom_Hoover> elliott, show me a spaceship that can survive a collision with a blinker.
20:47:29 <oklofok> i have to think about this
20:47:40 <elliott> Phantom_Hoover: who says it's necessarily a spaceship
20:48:02 <elliott> Phantom_Hoover: have some eaty things on the end, and have a special kind of spacefiller in the middle that, when it collides with the eaty things from *behind*, "pushes" them further forward
20:48:07 <Phantom_Hoover> elliott, the principle is identicle.
20:48:14 <quintopia> | <-- how does one type this character?
20:48:15 <elliott> i'm not so sure
20:48:18 <elliott> although I think it's unlikely
20:48:18 -!- poiuy_qwert has joined.
20:48:24 <elliott> quintopia: |
20:48:25 <quintopia> ||
20:48:27 <elliott> quintopia: altgr-` on uk keyboards
20:48:28 <quintopia> huh
20:48:37 <Phantom_Hoover> Spaceship: self-propagating pattern into vacuum.
20:48:51 <Phantom_Hoover> Energy virus: self-propagating pattern into *everything*.
20:48:53 <oklofok> so basically, we're asking, for a given CA, if there exists a finite pattern such that given any configuration with that pattern in the middle, the orbit converges to 0
20:48:53 <quintopia> i didn't output the character i meant to because apparently it is unicode
20:49:05 <oklofok> orbit of the configuration i mean
20:49:24 -!- augur has quit (Remote host closed the connection).
20:49:25 <Phantom_Hoover> oklofok, such patterns exist in several CAs, and some unconventional formulations of Life.
20:49:26 <oklofok> in english, bigger and bigger balls are filled with 0
20:49:36 <quintopia> elliott: the vertical bar in you messages at 15:33 and 15:36. what unicode value is it?
20:49:51 <elliott> quintopia: i don't know, ask python
20:50:01 <elliott> >>> ord(u'|')
20:50:01 <elliott> 124
20:50:03 <oklofok> Phantom_Hoover: well yes, obviously you can make a CA with such a pattern
20:50:10 <elliott> seems it's just |
20:50:16 <elliott> on windows it's a broken |
20:50:17 <Phantom_Hoover> oklofok, also, for this purpose I'll go for chaos for some value of "chaos".
20:50:17 <oklofok> you can even make it nilpotent, in which case every pattern has that property
20:50:49 -!- kar8nga has joined.
20:51:14 <pikhq> elliott: If you ever want to run a glibc program, absolutely TERRIBLE.
20:51:19 <Phantom_Hoover> I mean, almost all dense agars have that problem.
20:51:23 <pikhq> elliott: Otherwise, not at all.
20:51:40 <elliott> pikhq: doesn't glibc look at $TZ before /etc/timezone
20:51:53 <Phantom_Hoover> And the blank universe isn't really distinguished from the infinitely striped universe.
20:51:54 <oklofok> Phantom_Hoover: i don't get your chaos comment
20:51:59 <elliott> pikhq: i do want to be able to run quake ii, which is circa-1997 gcc/glibc static linking :)
20:52:07 <pikhq> elliott: You're asking about how brain-damaged Glibc is.
20:52:12 <pikhq> elliott: The answer is "very:".
20:52:16 <pikhq> Any further questions?
20:52:29 <elliott> pikhq: No! Okay, name it then. Basically, writing to this file is the same as setting $TZ to the contents.
20:52:34 <elliott> pikhq: /etc/TZ is the default but that is *ugly*.
20:52:37 <elliott> pikhq: Maybe /etc/tz?
20:52:53 <Phantom_Hoover> oklofok, it needn't be 0 within the bubble, just that the bubble overwrites all preëxisting structures and is almost impossible to stop.
20:53:06 <oklofok> and yes obviously we can define identicles w.r.t. every configuration (i liked your typo so much i'd like to name this concept that, even though it probably has a name already, and identicle doesn't make any sense)
20:53:23 <oklofok> almost impossible?
20:53:24 <pikhq> elliott: /etc/org.sun.xml.config.time.zone.xml
20:53:25 <pikhq> :P
20:53:26 <Phantom_Hoover> I said identicles?
20:53:37 <Phantom_Hoover> GYAAAAA
20:53:38 <oklofok> well you just typoed identical "identicle"
20:54:00 <oklofok> but so erm what does almost impossible mean
20:54:02 * Phantom_Hoover commits sepukku.
20:54:23 <oklofok> i guess measure theoretical or topological duh
20:54:48 <Phantom_Hoover> oklofok, it's hard to define formally, but that almost all possible patterns will be destroyed would do.
20:55:36 <oklofok> we could just take the topological denseness and measure theoretical full measureness, and hope they make sense in this context too
20:55:41 <Phantom_Hoover> elliott, incidentally, engineering isn't a very good solution to durability in Life.
20:55:47 <pikhq> Phantom_Hoover: Perhaps you should commit sehų'ku instead.
20:56:02 <pikhq> Erm, sorry. se'hųku
20:56:10 <Phantom_Hoover> pikhq, MY GUTS ARE SPILLING OUT YOUR ROMANISATION IS NOT IMPORTANT
20:56:22 <pikhq> Phantom_Hoover: Your romanisation was spelled wrong anyways.
20:56:27 <pikhq> Phantom_Hoover: "Seppuku".
20:56:49 <Phantom_Hoover> pikhq, I COMMIT SUICIDE AND YOU CRITICISE MY SPELLING
20:56:51 <elliott> fizzie: This is just wrong: http://imgur.com/yMEWy.png
20:56:53 <Phantom_Hoover> WHAt
20:56:55 <elliott> Phantom_Hoover too
20:56:59 <pikhq> "Sepukku" comes out as something like "back poo phrase"
20:57:12 <oerjan> Phantom_Hoover: hey if pikhq hadn't, i would
20:57:26 <Phantom_Hoover> fizzie facewalls at his duplication.
20:58:25 <fizzie> Speaking of the sparkles, http://zem.fi/~fis/current-hird.png
20:58:28 <oklofok> oerjan: is there an identicle for gol?
20:59:39 -!- augur has joined.
20:59:59 <oerjan> well what if you have two of them colliding?
21:00:13 <oklofok> good point
21:00:30 <oklofok> what's problematic about that
21:00:57 <Phantom_Hoover> oklofok, what have you defined an identicle as?
21:00:58 <pikhq> http://cablegate.wikileaks.org/cable/2008/01/08OTTAWA136.html
21:01:00 <oklofok> you have two growing balls of zeroes, those would just both have to keep growing
21:01:14 <oerjan> hm
21:01:28 <pikhq> The US... Actively monitors Canadian TV for unAmerican things on prime time‽
21:01:38 <oklofok> Phantom_Hoover: a finite pattern P such that, given any configuration C with P in the middle, T^n C --> 0 where T is the CA rule
21:01:45 <oklofok> and 0 is the all zero configuration
21:01:56 <oklofok> and limits are taken w.r.t. product topology
21:02:21 <elliott> pikhq: RR RUEHAG RUEHAST RUEHDA RUEHDF RUEHFL RUEHGA RUEHHA RUEHIK RUEHKW
21:02:21 <elliott> RUEHLA RUEHLN RUEHLZ RUEHPOD RUEHQU RUEHROV RUEHSR RUEHVC RUEHVK
21:02:21 <elliott> RUEHYG
21:02:21 <elliott> DE RUEHOT #0136/01 0252315
21:02:21 <elliott> ZNR UUUUU ZZH
21:02:22 <elliott> lol
21:02:24 <Phantom_Hoover> oklofok, there does have to be a wavefront made of live cells at the edge of the identicle.
21:02:43 <Phantom_Hoover> Moreover, there are rules about propagation into vacuum.
21:02:48 <Phantom_Hoover> Bounding boxes and things.
21:02:51 <elliott> pikhq: [["THE BORDER" -CANADA'S ANSWER TO 24, W/O THAT SUTHERLAND GUY]] LOL
21:03:04 <pikhq> "We need to do everything we can to make it more difficult for Canadians to fall into the trap of seeing all U.S. policies as the result of nefarious faceless U.S. bureaucrats anxious to squeeze their northern neighbor."
21:03:14 <pikhq> Hmm. How's about you stop doing stupid shit. I think that'd do it.
21:03:27 <oklofok> surely there is a wavefront, yes
21:03:57 <oklofok> "rules about propagation into vacuum, bounding boxes and things"?
21:04:09 <elliott> [[GIVE US YOUR WATER; OH WHAT THE HECK WE'LL TAKE YOUR COUNTRY TOO]]
21:04:11 <elliott> pikhq: these headlines are amazing
21:04:36 <pikhq> And this was *never once classified*.
21:04:38 <oklofok> oh you meant
21:04:38 <Phantom_Hoover> oklofok, OK, and the absolute, unbreakable rule about propagation into the vacuum is that it must stay within a diagonal box expanding at less than c/2.
21:04:40 <oklofok> in the definition
21:04:43 <oklofok> there should be a wavefront?
21:04:47 <oklofok> or maybe not
21:04:48 <oerjan> limits in product topology is a pretty lenient requirement, the zero region can expand as slowly as it wants
21:05:11 <oklofok> oerjan: imo that's the correct definition
21:05:18 <elliott> fizzie: Now watch as I fail to disappear.
21:05:25 <Phantom_Hoover> That's restricted further to less than c/4, but I'm not sure.
21:05:26 <Phantom_Hoover> oklofok, if there's one in Life it *must* have a wavefront.
21:05:34 <oerjan> well i'm just pointing out that it doesn't conflict with slow propagation
21:05:35 <Phantom_Hoover> If any bubble of empty space expanded [tab complete].
21:05:59 <oklofok> c/2 is rather arbitrary, if you halve a rule, make it slower that is, it can suddenly have no identicle, even though it's essentially the same rule
21:06:03 <oklofok> which is crazy
21:06:04 <oklofok> oh
21:06:09 <oklofok> c/2 changes too tho
21:06:41 <oklofok> Phantom_Hoover: what must stay within a diagonal box exp...?
21:06:46 <oklofok> the wavefront?
21:07:10 <Phantom_Hoover> Any configuration of live cells cannot expand beyond the box.
21:07:19 <oklofok> "<Phantom_Hoover> oklofok, if there's one in Life it *must* have a wavefront." <<< yes and i'm sure we can prove the existence of a kind of wavefront in general, in non-nilpotent rules
21:07:53 <Phantom_Hoover> Also, movement at >= c/2 diagonally basically writes "THIS RULE EXPLODES" on the starting grid.
21:07:56 <oklofok> what is propagation into vacuum even?
21:09:05 <oklofok> Phantom_Hoover: i find that a less beautiful definition than mine though, i would prefer say calling certain identicles explosive, or even better, defining their explosion speeds
21:09:27 <Phantom_Hoover> oklofok, turning on of live cells into an area filled with state 9.
21:09:34 <Phantom_Hoover> *0.
21:10:39 -!- Sgeo has joined.
21:12:01 <Phantom_Hoover> oklofok, incidentally, is your T^n thing indicating that T is a transition function operating n times?
21:12:20 <oklofok> so erm, can you reiterate, what are the things you'd like in the definition?
21:12:37 <oklofok> yes
21:12:57 * Sgeo wants a Truing machine
21:13:09 <Sgeo> Makes false statements true by changing reality
21:13:33 <Sgeo> ^^would have been funnier without those last three words, I think
21:13:44 <oklofok> maybe
21:13:46 <oklofok> we'll never know
21:13:49 <Phantom_Hoover> oklofok, well, the T^n C → 0 thing was pretty good.
21:13:58 <Phantom_Hoover> I'm just poorly expressing why I think no such configuration exists.
21:13:59 <oklofok> i think it's nice and pure
21:14:30 <oklofok> oh you were? i'm not really interested in gol in particular, i just thought there might be some neat properties you could prove for identicles in general
21:15:27 <oklofok> erm...
21:15:47 <oklofok> actually
21:16:06 <Phantom_Hoover> Hmm. "In general" is pretty boring in CAs, since there's very little common ground other than the discreteness.
21:16:14 <oklofok> basically what an identicle is a neighborhood such that all points of it converge to zero
21:16:31 <oklofok> so in fact there is a very natural way to express this concept for a general dynamical system
21:17:20 <oklofok> Phantom_Hoover: in general is not boring in ca's, and when it happens to be, you assume a property from the ca's, you don't take one particular one, that's ugly
21:18:04 <oklofok> that's like talking about the properties of the number 8, who gives a shit
21:18:12 <oklofok> well
21:18:24 <oklofok> maybe not exactly, but close :D
21:19:30 <Phantom_Hoover> This *started* with Life-related pedantry.
21:19:43 <Phantom_Hoover> Although where it will end up is anyone's guess.
21:20:00 <oklofok> so basically, given a point in a CA, an identicle is an open set such that blah blah, this concept is probably very much connected with attracting sets or something
21:20:31 <oklofok> Phantom_Hoover: i usually hope it ends in a theorem/-y
21:21:06 <Phantom_Hoover> oklofok, stop knowing more maths than me.
21:21:08 <Phantom_Hoover> I find it mocking.
21:21:14 <oklofok> where did i know maths you don't
21:21:25 <oklofok> if you're talking about attracting sets, i basically just said i don't know anything about those :D
21:21:30 <oklofok> erm
21:21:34 <Phantom_Hoover> What open sets are!
21:21:39 <oklofok> actually i didn't say the part where i know nothing about them
21:21:40 <oklofok> erm
21:21:44 <oklofok> you don't know what open sets are?
21:22:06 <oklofok> in this case or in no case?
21:22:15 <Phantom_Hoover> Depends on whether it's in terms of intervals or topology and stuff.
21:22:31 <oklofok> it's the same thing, except w.r.t. the metric on the space of all configurations
21:22:58 <oklofok> and not intervals but balls
21:23:09 <oklofok> an open set is a set U such that for each x \in U, there is an open ball B(x, r) \subset U
21:23:09 <Phantom_Hoover> Also know it there.
21:23:31 <Deewiant> Intervals are one-dimensional balls
21:24:25 <Phantom_Hoover> Incidentally, if you're considering lifeoid CAs there are some laws you can work out in terms of speed limits in some configurations.
21:24:31 <oklofok> and the metric says roughly that if you take the ball B(x, r), given a configuration x, you actually take the pattern P in x in the ball around origin, of size 2^(-r), and you take all configurations y that have that pattern in the middle
21:24:56 <oklofok> so basically, two points are close if they are the same around the origin
21:25:06 <oklofok> pretty much anyway you define that formally gives you the same topology
21:25:24 <Phantom_Hoover> For instance, for anything to move diagonally at c/2 or greater through an area with no live cells, the rule basically has to be explosive.
21:25:41 <oklofok> oh there's a definition for explosiveness?
21:26:26 <oklofok> because i thought that was your definition of explosiveness
21:26:52 <oerjan> of course gol is particularly interesting for this question precisely because that CA apparently makes it impossible to create a structure that can survive contact with arbitrary chaos
21:29:40 <oklofok> "<Phantom_Hoover> Depends on whether it's in terms of intervals or topology and stuff." <<< i don't think open sets refer to anything but the topology kind
21:29:40 <oklofok> but i contain an open ball around all of my points for corrections ofc
21:29:41 <Phantom_Hoover> Indeed, but intervals \subset topology stuff.
21:29:41 <Phantom_Hoover> And I only knew that subset.
21:29:42 <elliott> Phantom_Hoover: Care to hear about my INSANE MINECRAFT FORT PLANS?
21:29:42 <oklofok> erm right, i actually slightly misparsed you
21:29:42 <elliott> >_>
21:29:42 <oklofok> or misunderstood more like
21:29:42 <Phantom_Hoover> elliott, I do.
21:29:43 <oklofok> elliott: let's talk about identicles instead
21:29:43 <Phantom_Hoover> I like insane plans!
21:29:43 <Phantom_Hoover> oklofok, explosive rules are those in which patterns which expand without bound are very common.
21:29:44 <Phantom_Hoover> For a given value of "very common".
21:30:08 <oklofok> oerjan: i didn't know it was known for it's ability to that
21:30:57 <oerjan> well i mean, i've never heard of anyone inventing a gol structure that can survive such contact
21:33:07 <Phantom_Hoover> oklofok, that's basically why Conway settled on it.
21:33:09 <oklofok> i would certainly like to know what given value
21:33:10 <oklofok> okay
21:33:11 <oklofok> good to know, i thought he just thought hey this is neat.
21:33:11 <oklofok> :P
21:33:13 <oklofok> "lol this glider is cute"
21:33:32 <Phantom_Hoover> I think he tried multiple Lifelike CAs and went for the one he found that supported long-term dynamic behaviour without everything filling the board with chaos.
21:34:27 <Phantom_Hoover> There is a most resilient known structure, and it's not very resilient.
21:34:39 <Phantom_Hoover> And static.
21:34:53 <oerjan> the eater?
21:35:03 <elliott> Phantom_Hoover: hm but can you build a spacefiller that works by replicating itself?
21:35:04 <elliott> as in, sure, tons of them may die
21:35:13 -!- Sasha2_ has quit (*.net *.split).
21:35:14 -!- Leonidas has quit (*.net *.split).
21:35:14 -!- nooga has quit (*.net *.split).
21:35:14 -!- sshc has quit (*.net *.split).
21:35:14 <elliott> but they're replicating fast enough that eventually, they will end up destroying the debris
21:35:47 <Phantom_Hoover> elliott, all complex structures in life are *really really fragile*.
21:36:06 <Phantom_Hoover> As in, "whoops I hit it with a glider and it's dead" fragile.
21:36:21 -!- sshc has joined.
21:36:21 <elliott> Phantom_Hoover: So make the structure simple.
21:36:33 <elliott> Phantom_Hoover: Rather than trying to fill space, just make a simple thing that makes little baby space-fillers.
21:36:37 <Phantom_Hoover> The Gemini replicator would completely fail if a single glider in its instruction tape was changed.
21:36:41 <elliott> Basically, instead of trying to grow to fill the space...
21:36:46 <elliott> Just try and fill the universe with paperclips.
21:36:46 <Phantom_Hoover> elliott, a spacefilling replicator with simple structure?
21:36:47 <elliott> Constantly.
21:36:57 <Phantom_Hoover> How would that even *work*?
21:37:01 <elliott> Phantom_Hoover: Well, OK, I would try it in a Life-like rule with simple replicators first.
21:37:12 <elliott> But the basic idea is: Keep replicating further away from yourself, constantly.
21:37:19 <Phantom_Hoover> Spacefillers leave no room; they expand outwards at maximum speed in all directions.
21:37:29 <elliott> Phantom_Hoover: I didn't mean a regular kind of spacefiller.
21:37:39 <elliott> I just meant something that eventually gets rid of everything else on the plane.
21:37:45 <Phantom_Hoover> elliott, so a breeder, then?
21:37:55 -!- Sasha2_ has joined.
21:37:55 -!- Leonidas has joined.
21:37:55 -!- nooga has joined.
21:38:00 <elliott> Phantom_Hoover: Sure. Except that instead of one breeder, each unit is a breeder in itself.
21:38:16 <Phantom_Hoover> "Spacefiller" is actually fairly well defined.
21:38:17 <elliott> If one of them gets sucked up by some debris, no problem; another will end up being bred to fill its space.
21:39:03 <Phantom_Hoover> elliott, that is just a replicator, surely?
21:39:03 <Phantom_Hoover> And all of them will die when they attempt to replicate over each other.
21:41:14 <elliott> Phantom_Hoover: Well, the trick is to make two colliding replicators result in one replicator. :p
21:41:33 <Vorpal> elliott, I'm next to a deeep pit
21:41:46 <Vorpal> elliott, from 20 below surface to lava lake
21:41:50 <Vorpal> elliott, or so
21:42:06 <elliott> Vorpal: Phantom_Hoover knows a deeper pit.
21:42:06 <Vorpal> elliott, 1x1 wide almost all the way
21:42:15 <Vorpal> elliott, you mean the one you fell in?
21:42:20 <elliott> Vorpal: No.
21:42:35 <elliott> Vorpal: I mean a *really* deep pit.
21:42:39 <Vorpal> elliott, argh an even deeper one over here
21:42:54 <elliott> Vorpal: Not as deep as Phantom_Hoover's.
21:43:02 <Phantom_Hoover> Vorpal, I'm assuming he means the hole in the bedrock I found under the Mt. Hoover tunnel.
21:43:06 <Vorpal> elliott, this one goes down to the minecart tracks
21:43:07 <elliott> DON'T TELL HIM
21:43:10 <Vorpal> Phantom_Hoover, ah right
21:43:15 <Vorpal> elliott, I saw him mention that
21:43:20 <Vorpal> I didn't consider it a pit
21:43:21 <Vorpal> it is the void
21:43:22 <oklofok> so without any assumptions on the rule, is it true that, for each patterns P and block Q, where P is an identicle, there exists a constant k such that for all configurations C with P in the middle, Q is filled with 0 from T^k onwards? i don't think the function from configurations to "first everzeroings" is continuous, but it still seems like this should be true
21:43:40 <oklofok> *is necessarily continuous
21:43:43 <Vorpal> Phantom_Hoover, this pit ends up above the cobble-water barrier next to the minecart tracks
21:44:01 <oklofok> *pattern
21:44:29 <elliott> pikhq: How to set a timezone in kitten: "echo CST6CDT >/etc/tz".
21:44:58 <elliott> pikhq: Although you should probably also add "export TZ=CST6DT" to /etc/profile to avoid file accesses.
21:45:07 <elliott> pikhq: In fact, I'll probably add "export TZ=$(cat /etc/tz)" to /etc/profile.
21:45:09 <Vorpal> heh it goes up to surface too
21:45:18 -!- Mathnerd314 has joined.
21:45:39 <oklofok> hmm i guess there's still a direct compactness argument
21:45:48 <oklofok> erm
21:47:17 <oklofok> or not, i'm too tired
21:49:05 <elliott> Vorpal: BTW, cfunge will get bug reports if it doesn't run on Kitten.
21:49:15 -!- oerjan has quit (Quit: Good night).
21:49:19 <Vorpal> elliott, okay?
21:49:22 * elliott removes xattr support.
21:49:31 <elliott> Vorpal: So be prepared to support Linux/x86-64/pcc/uClibc :)
21:49:50 <Vorpal> elliott, I depend on POSIX 2001
21:49:53 <Vorpal> elliott, + XSI
21:49:58 <Vorpal> if you don't do that then fuck you
21:50:07 <elliott> Vorpal: I do include XSI functions.
21:50:13 <elliott> I don't know how 2001y uClibc is but it should be good.
21:50:22 <elliott> Vorpal: Math functions are slightly lacking but I doubt you use the full extent of POSIX math.
21:50:48 <Vorpal> elliott, I use sinl and such
21:50:54 <elliott> Vorpal: Those are of course included.
21:51:04 <elliott> Vorpal: I somehow doubt cfunge will work with pcc, though.
21:51:14 <Vorpal> elliott, also mmap extension
21:51:22 -!- poiuy_qwert has left (?).
21:51:31 <Vorpal> elliott, it works with gcc, icc and clang. tcc except that tcc had somewhat limited C99
21:51:36 <Vorpal> pcc I never tried
21:51:37 <elliott> http://www.noradsanta.org/js/data.js NORAD have leaked Santa Clause's Christmas flight path!! Somebody submit this to Wikileaks!
21:52:51 <Vorpal> elliott, whaat?
21:52:53 <Vorpal> are you
21:52:54 <Vorpal> talking
21:52:56 <Vorpal> about
21:53:23 <elliott> Vorpal: http://en.wikipedia.org/wiki/NORAD_Tracks_Santa
21:53:51 <elliott> [[According to NORAD's official web page on the NORAD Tracks Santa program, the service began on December 24, 1955. A Sears department store placed an advertisement in a Colorado Springs newspaper. The advertisement told children that they could telephone Santa Claus and included a number for them to call. However, the telephone number printed was incorrect and calls instead came through to Colorado Spring's Continental Air Defense Command (CONAD
21:53:51 <elliott> ) Center. Colonel Shoup, who was on duty that night, told his staff to give all children that called in a "current location" for Santa Claus. A tradition began which continued when the North American Aerospace Defence Command (NORAD) replaced CONAD in 1958]]
21:53:57 <elliott> MOST AWESOME ORIGIN STORY *EVER*
21:54:11 <elliott> Hey! "Many volunteers are employees at Cheyenne Mountain and Peterson Air Force Base."
21:54:20 <elliott> I wonder if Daniel Jackson is there, or has he gone and ascended again?
21:55:17 <elliott> pikhq: Should I bother supporting locales? I know, I know, I'm a bad person if I don't...
21:56:08 <pikhq> elliott: 他の言語があるぜ。
21:56:24 <elliott> pikhq: Supporting locales != supporting other languages
21:56:42 <elliott> pikhq: Supporting locales == supporting output and UI text in other languages even though there are a ton of untranslated programs /anyway/
21:56:50 <elliott> I doubt, for instance, BusyBox has many transaltions.
21:56:53 <elliott> *translations.
21:57:08 <Mathnerd314> elliott: I did that last year... stayed up until midnight answering phone calls :-)
21:57:18 <pikhq> Support locales so that it's possible and/or easy to actually *do* translations.
21:57:25 <elliott> Mathnerd314: awesome :)
21:57:38 <elliott> pikhq: But, but, it bloats things up!
21:57:39 <pikhq> Without locale support you literally have no choice in the matter.
21:57:55 <elliott> pikhq: Also, not true; pretty sure you can statically select a gettext translation at compile-time to be the default.
21:58:17 <pikhq> elliott: Your precious metric system is only supported via locales.
21:58:42 <elliott> pikhq: Either what you're saying is true but irrelevant or trivially false...
21:59:23 <pikhq> Programs that display units will look at the locale for which units to use.
21:59:23 <fizzie> Date formatting! Different decimal point separators! Proper sorting order for alphabets! It's not just translations.
21:59:42 <pikhq> And, like most everything else, default to US standard.
22:00:52 <elliott> fizzie: You'd say that; you're a Finn.
22:00:52 <Vorpal> PH: why quit?
22:00:55 <elliott> Fine, fine, locales.
22:01:03 <elliott> pikhq: BUT I WARN YOU THAT THE CTYPE.H FUNCTIONS WON'T USE TABLES
22:01:06 <Mathnerd314> pikhq: but how does it work if it's distributed? you don't want some Chinese server giving you results in Chinese if you live in France
22:01:21 <elliott> Be aware that enabling │
22:01:21 <elliott> │ this option will make uClibc much larger.
22:01:25 <elliott> Ughhh... locales.
22:01:28 <elliott> │ Enabling UCLIBC_HAS_LOCALE with the default set of supported locales │
22:01:28 <elliott> │ (169 UTF-8 locales, and 144 locales for other codesets) will enlarge │
22:01:28 <elliott> │ uClibc by around 300k. You can reduce this size by building your own │
22:01:28 <elliott> │ custom set of locate data (see extra/locale/LOCALES for details). │
22:01:28 <Vorpal> elliott, then it will not be locale-aware
22:01:33 <elliott> pikhq: 300k!!!
22:01:35 <Vorpal> elliott, no locales: I won't use kitten ever
22:01:46 <elliott> Vorpal: Don't worry, I really don't care if you use it or not. But I probably am including locales.
22:01:47 <pikhq> Mathnerd314: It's based on the locale environment variables.
22:01:57 <elliott> pikhq: I wonder how much of that 300k is included in a typical program?
22:02:06 <pikhq> elliott: Oh, and it'll default to USD for currency!
22:02:18 <elliott> pikhq: If you can't write a simple program and get a 10K executable or less it's broken.
22:02:19 <pikhq> elliott: And our MM/DD/YY date display!
22:02:23 <elliott> <elliott> pikhq: I wonder how much of that 300k is included in a typical program?
22:02:57 <pikhq> Very little of that should be included...
22:03:30 <Mathnerd314> pikhq: but what happens if it's a long-running daemon? changing the environment variables will have no effect.
22:03:52 <pikhq> Mathnerd314: And?
22:04:07 <Mathnerd314> so you'll still get results in Chinese
22:04:57 <pikhq> Mathnerd314: ... Yes...
22:05:07 <elliott> Mathnerd314 does not quite understand, methinks.
22:07:28 <elliott> pikhq: Ugh. I don't really want to include every single locale; list all the languages that matter. :p
22:07:40 <elliott> pikhq: (The one advantage of dynamic linking: I could just build a uClibc based on whatever locales the user wants.)
22:07:42 <Mathnerd314> pikhq: so... there seems to be no way for pain-free locale support
22:08:01 <elliott> Mathnerd314: you do realise it's implemented in just about every existing linux system?
22:08:05 <pikhq> Mathnerd314: You seem not to understand what locales do.
22:08:07 <elliott> Mathnerd314: and your complaint about servers makes no sense?
22:08:42 <Mathnerd314> ok... my complaint is that you can't change the locale while a program is running
22:09:13 <elliott> Mathnerd314: why is that an issue?
22:09:29 <pikhq> Mathnerd314: Better than Windows, which doesn't allow changing the locales without *rebooting*.
22:09:32 <pikhq> (to this day)
22:09:43 <elliott> Mathnerd314: Servers shouldn't care what locale you're using.
22:09:49 <elliott> It only matters for normal programs and client programs.
22:09:56 <Mathnerd314> elliott: it's an issue because programs never stop
22:10:02 <elliott> Mathnerd314: Servers shouldn't care what locale you're using.
22:10:34 <Sgeo> The only bad thing about Newspeak that I see is its lack of libraries at the moment
22:10:49 <elliott> Mathnerd314: Anyway, if somehow you really want to change, say, the language that server logs are written in, and it is ABSOLUTELY VITAL that the server NEVER, EVER go down, not even for a second, then just support setting the locale as part of the server's control console.
22:10:51 <elliott> But that's very rare.
22:10:54 <Sgeo> And all the features still not implemented or fully designed
22:10:55 <Mathnerd314> elliott: on my home PC, I have had uptimes of months
22:11:11 <elliott> Mathnerd314: Which, of course, you do not need, being that it is a home PC.
22:11:29 <pikhq> Mathnerd314: And how often do you want your program to switch from French to Chinese UI and back?
22:11:31 <elliott> pikhq: Will you hate me if I only build in a subset of locales?
22:11:34 <elliott> <pikhq> Mathnerd314: And how often do you want your program to switch from French to Chinese UI and back?
22:11:37 <elliott> not even relevant, we're talking servers here
22:11:54 <pikhq> elliott: Test the effects of having all the locales first?
22:11:58 -!- kar8nga has quit (Remote host closed the connection).
22:12:02 <Mathnerd314> pikhq: fairly often; I try to learn new languages
22:12:11 <elliott> Mathnerd314: We're talking about servers.
22:12:12 -!- mtve has joined.
22:12:22 <elliott> Mathnerd314: Please tell me why you would want to change a server's language while it's running.
22:12:26 <elliott> hi mtve! haven't seen you for... ages
22:14:06 <Mathnerd314> elliott: because I do, OK?
22:14:20 <elliott> Mathnerd314: that is not a valid complaint
22:14:32 <elliott> Mathnerd314: you have yet to show why that is even vaguely desirable; i suspect you do not understand what locales are used for
22:14:49 <elliott> in what use-case would you want to change the locale of a server process? what would you hope to accomplish by doing so?
22:15:00 <Mathnerd314> elliott: programs should support features, and this is a feature. it doesn't matter if nobody uses it.
22:15:18 <elliott> Mathnerd314: wait, let me check --
22:15:29 <elliott> Mathnerd314: do you think every program should support every feature possible, regardless of whether it is even vaguely useful?
22:15:32 <Phantom_Hoover> Mathnerd314, zuh?
22:15:39 <elliott> Mathnerd314: If so, you're a complete and utter moron, stop wasting my time.
22:15:56 <Vorpal> Phantom_Hoover, want some more cobble?
22:16:01 <Vorpal> Phantom_Hoover, I can put some in that chest
22:16:08 <Mathnerd314> elliott: I think that it should be able to.
22:16:20 <elliott> <elliott> Mathnerd314: do you think every program should support every feature possible, regardless of whether it is even vaguely useful?
22:16:23 <elliott> Mathnerd314: please answer this question
22:16:25 <Phantom_Hoover> Vorpal, I have plenty.
22:16:35 <Vorpal> Phantom_Hoover, ah okay
22:17:13 <Vorpal> Phantom_Hoover, if you want a cobblestone generator I can build one, but I need your help since /home no longer works
22:17:19 <elliott> Mathnerd314: Yes or no?
22:17:27 <Vorpal> Phantom_Hoover, so one person must keep door to castle of doom open while the other fetch lava
22:17:33 <Mathnerd314> elliott: at any given time, a program will not support all possible features. but somebody should be able to support it in an extensible manner.
22:17:46 <Mathnerd314> s/it/a given feature/
22:17:47 <elliott> Mathnerd314: OK, but that is not an actual yes or no answer to my question.
22:17:50 <elliott> I said should, not will.
22:18:37 <Mathnerd314> I'd have to say yes. but one particular feature it should support is removing features.
22:18:50 <elliott> Mathnerd314: You sound suspiciously like zzo38.
22:18:59 <elliott> Mathnerd314: But hey, take heart -- you could, one day, be a GNU coreutils maintainer.
22:19:09 <elliott> They like your sort, and this is evidenced by the man page for ls(1).
22:20:37 <Vorpal> elliott, does busybox ls colour code the output?
22:20:44 <Vorpal> elliott, if not: oh well, won't use it
22:20:47 <Mathnerd314> elliott: but once it supports enough features, it might as well be an operating system
22:21:16 <elliott> Vorpal: yes with --color=auto, presumably some env variable could make this default
22:21:46 <Vorpal> elliott, alias ls='ls --color=auto'
22:21:49 <elliott> Vorpal: anyway you have to realise that I *really* don't give a shit whether you use Kitten or not; I will provide support if you do and mock you mercilessly if you run into problems Kitten doesn't have, but fundamentally you can use whatever you like, and if one of your requirements conflicts with one of my requirements, mine take priority.
22:21:52 <Vorpal> or a function wrapper
22:23:16 <Vorpal> elliott, that mocking would be annoying. I assume you can turn that off
22:23:41 <elliott> Vorpal: It's the risk everyone takes by not using Kitten.
22:24:18 <elliott> Vorpal: Oh, and anyone who tells me that they'd "use Kitten, if only it had a proper installer rather than a guide to partitioning and installing the basic packages using a host Linux system" will get, I don't know, IP-banned from the package repository or something.
22:24:22 <elliott> (Or just mocked. Mercilessly.)
22:24:40 <elliott> (Note: I totally will make an installation program, I just don't want to be bugged about making one.)
22:25:01 <Vorpal> elliott, well I done gentoo. And LFS. I'm no stranger to lack of installers
22:25:12 <Vorpal> elliott, heck I even done cross-lfs
22:25:21 <Vorpal> elliott, not canadian-cross lfs though
22:25:24 <Vorpal> I would hate that
22:25:38 <elliott> It shouldn't be very painful, anyway; due to static linking, all you really have to do is manually unpack the package manager and its dependencies, tell the package manager to install everything, and edit a few config files.
22:25:46 <elliott> Vorpal: Canadian-cross LFS. Oh man. Has anyone done that?
22:25:49 <elliott> That sounds amazing.
22:26:07 <Vorpal> elliott, I don't know if it CAN be done even
22:27:16 <elliott> Hey, I just realised that there's probably no TZ value that uClibc supports that handles automatic DST. Heh.
22:27:21 <elliott> "Oh well; file under solve later."
22:27:22 <Vorpal> elliott, I assume it will support software RAID?
22:27:36 <Vorpal> elliott, it can't read zoneinfo files?
22:28:01 <pikhq> elliott: So, should be only about as hard as installing Debian via debootstrap.
22:28:42 <pikhq> (which I have totally done before.)
22:29:45 <Vorpal> Phantom_Hoover, I figured out a way to get lava without going into temple of doom
22:30:12 <Phantom_Hoover> Vorpal, yaaaaay.
22:30:42 <Vorpal> I refuse to tell anyone since the admin would fix it
22:30:47 <Vorpal> if he knew what I was doing
22:30:56 <elliott> No he wouldn't.
22:31:12 <elliott> What is it?
22:31:18 <elliott> <Vorpal> elliott, I assume it will support software RAID?
22:31:24 <elliott> Uh, if it works then yes. Otherwise no.
22:31:27 <elliott> <Vorpal> elliott, it can't read zoneinfo files?
22:31:33 <elliott> No; it has no /etc/timezone.
22:31:52 <elliott> You put a string like CST6CDT in /etc/tz and /etc/profile sets TZ to that.
22:32:33 <Vorpal> Phantom_Hoover, where do you want the generator?
22:32:50 <Phantom_Hoover> Hmm. Bottom of the hull.
22:32:55 <Vorpal> Phantom_Hoover, where in it
22:32:59 <Vorpal> Phantom_Hoover, and which model?
22:33:04 <Vorpal> Phantom_Hoover, fizzie made another one
22:33:25 <Phantom_Hoover> Vorpal, whichever has the greatest output.
22:33:44 <pikhq> elliott: You'll have to recompile the distro next time some country decides to fuck with their time zones.
22:33:59 <pikhq> elliott: And countries are positively in *love* with the idea. Fuckers.
22:34:06 <Vorpal> Phantom_Hoover, unknown as of currently
22:34:26 <elliott> Phantom_Hoover: fizzie's leaves you with ghosts of yourself in the pool.
22:34:30 <elliott> Vorpal's is safer too.
22:34:39 <elliott> pikhq: Well, it's not even something I can configure. Anyway, "CST6CDT" implies to me that you can put offsets there.
22:34:41 <Phantom_Hoover> Vorpal's then.
22:34:54 <pikhq> (yet another reason that the time zone EVERYWHERE should be a rounded-to-the-hour approximation of the offset from GMT!)
22:35:01 <Vorpal> Phantom_Hoover, mine is the largest one
22:35:12 <Vorpal> Phantom_Hoover, I doubt that ghost was related to the issue in any way
22:35:16 <Vorpal> err
22:35:21 <Vorpal> to the generator that was
22:35:23 <Phantom_Hoover> Vorpal, hardly a shortage of space in the ROU,
22:35:33 <pikhq> (NOBODY gets to fuck with their time zones!)
22:35:46 <Phantom_Hoover> Build it in the air if it's somehow too large for the bottom of the hull.
22:35:47 <Vorpal> Phantom_Hoover, where in the bottom of the hull?
22:36:06 <Phantom_Hoover> Vorpal, near the column at the centre.
22:36:35 <Vorpal> Phantom_Hoover, it will almost the whole width
22:36:41 <Vorpal> Phantom_Hoover, of the base layer
22:36:51 <Vorpal> Phantom_Hoover, all but two colums if you put it along a side
22:36:52 <Phantom_Hoover> Vorpal, that's OK.
22:36:56 <Phantom_Hoover> Seriously.
22:36:56 <Vorpal> in the middle just one column
22:37:21 <Vorpal> Phantom_Hoover, lag atm...
22:37:24 <Vorpal> can't do a thing
22:37:44 <Vorpal> timed out
22:37:47 <elliott> I just jumped down the Temple of Doom's lava and survived all the way. :p
22:37:58 <Vorpal> elliott, did you crash the server or something?
22:38:06 <elliott> No.
22:38:07 <Vorpal> oh no it is just lagged to hell
22:38:53 -!- Sasha2 has joined.
22:39:11 <Vorpal> Phantom_Hoover, it needs to go down 1 into the floor, I have to raise the thing I realised
22:39:12 <elliott> │ Set this to compile all sources at once into an object (IMA). │
22:39:12 <elliott> │ This mode of compilation uses alot of memory but may produce │
22:39:12 <elliott> │ smaller binaries. │
22:39:15 <elliott> pikhq: Am I crazy enough?
22:40:06 -!- Sasha2_ has quit (Ping timeout: 240 seconds).
22:40:36 <Phantom_Hoover> Vorpal, even better, build it in the air somewhere and connect it to the axes.
22:40:54 <Vorpal> Phantom_Hoover, gah already got quite far
22:41:02 <pikhq> elliott: Awesomeness.
22:41:16 <elliott> │ Note that you need a very recent GCC for this to work, like │
22:41:17 <elliott> │ gcc >= 4.3 plus eventually some patches. │
22:41:18 <elliott> pikhq: I'm scared.
22:41:20 <Phantom_Hoover> Vorpal, OK, put it there.
22:41:21 <pikhq> elliott: You want that option. It is awesomeness.
22:41:29 <elliott> pikhq: But I want to build this with pcc eventually! :-)
22:41:36 <elliott> But FINE.
22:41:53 <elliott> make: *** [extra/locale/c8tables.h] Error 1
22:41:54 <elliott> What.
22:41:58 <elliott> GEN extra/locale/c8tables.h
22:41:58 <elliott> make: *** [extra/locale/c8tables.h] Error 1
22:42:08 <elliott> could not find a UTF8 locale ... please enable en_US.UTF-8
22:42:09 <elliott> What.
22:43:46 -!- oklopol has joined.
22:44:44 -!- Sasha2_ has joined.
22:45:41 -!- oklofok has quit (Ping timeout: 245 seconds).
22:46:34 -!- Sasha2 has quit (Ping timeout: 250 seconds).
22:49:33 <Phantom_Hoover> elliott, so wait, you've still not moved past The Story So Far in Fine Structure?
22:49:41 <elliott> Phantom_Hoover: indeed
22:49:59 <Phantom_Hoover> DO SO
22:50:11 <Sasha2_> augh
22:50:18 <Sasha2_> quit using the cordless phone, parents
22:50:25 <Sasha2_> it knocks out the wireless signal
22:52:50 <oklopol> what's a cordless phone
22:52:54 <oklopol> is it a cellphone
22:53:01 <Sasha2_> no
22:53:08 <Sasha2_> it's a phone without a cord
22:53:10 <Sasha2_> landline
22:53:11 <oklopol> yeah yeah i know what it yes
22:53:30 <oklopol> *is
22:53:46 <Phantom_Hoover> Sasha2_, what idiot designed that?
22:54:39 <Sasha2_> Phantom_Hoover: No idea
22:54:54 -!- Sasha2_ has changed nick to SashaPrime.
22:55:02 <Phantom_Hoover> Find them and screw with their wifi.
22:55:18 <SashaPrime> hah
22:55:27 <SashaPrime> they use 2.4 GHz
22:55:27 <Phantom_Hoover> elliott, ARE YOU READING IT NOW
22:55:30 <elliott> no
22:56:54 <Vorpal> Phantom_Hoover, it is done
22:57:16 <Phantom_Hoover> elliott, YOU SHOULD BE
22:57:31 -!- SashaPrime has quit (Read error: Connection reset by peer).
22:57:51 -!- Sasha2 has joined.
22:58:38 <pikhq> It takes an astounding moron to make a cordless phone that hogs the 2.4 GHz space like that.
22:58:51 <Sasha2> yeah
22:58:51 <pikhq> "But what person would ever want two cordless phones?"
22:58:59 <Sasha2> spams the spectrum with noise
22:59:05 <Sasha2> We've got like 6
22:59:29 <Sasha2> one for each room
22:59:41 <Sasha2> even though they haven't got a cord to keep them in that room
22:59:48 <Sasha2> they gravitate towards the sofa
23:00:54 <pikhq> ... One for each room?
23:00:57 <pikhq> Your parents are morons.
23:01:13 <Sasha2> yep
23:01:28 <Sasha2> well, my phone, the one by this computer, is corded
23:01:30 <Sasha2> I built ot
23:01:33 <Sasha2> it*
23:01:57 <Sasha2> and then modified it
23:02:18 <Sasha2> it flashes instead of rings, no screen, uses tone-dialing, and has a mute switch.
23:02:39 <pikhq> *sigh*
23:02:54 <pikhq> The entire POTS is such a freaking archaic joke.
23:02:58 <pikhq> As is the cell network.
23:03:04 <pikhq> And the cable system.
23:03:09 <Sasha2> yep
23:03:10 <pikhq> And analog radio.
23:03:23 <Sasha2> totally keeping this phone though
23:03:36 <Sasha2> it plugs into the phone jack and sits there
23:03:45 <pikhq> In fact, every single telecom system that's not an Internet link is just awful.
23:03:53 <Sasha2> I don't really want a cell phone
23:03:59 <Sasha2> they're annoying
23:04:28 <pikhq> Maintain several completely distinct high-bandwidth telecommunication systems? Such a stupid idea.
23:08:27 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:11:29 * pikhq imagines a world where the entire radio spectrum is in use for Internet. And is ecstatic.
23:13:34 <elliott> brb.
23:14:44 * Sasha2 imagines an alien race that sees that spectrum wiping us out because of light pollution
23:15:08 <pikhq> Sasha2: Eh, we'd already be fucked.
23:15:17 <pikhq> Pretty much every chunk of spectrum that can be used, is used.
23:15:21 <Sasha2> exactly
23:25:24 <quintopia> thank goodness for dark sky communities...and eventually orbital telescope arrays
23:27:53 <Vorpal> ineiros, gah
23:29:11 -!- perdito has joined.
23:29:58 -!- kresnicka has joined.
23:30:25 -!- Goosey has joined.
23:37:22 -!- kresnicka has quit (Quit: Leaving).
23:44:11 <elliott> <quintopia> thank goodness for dark sky communities...and eventually orbital telescope arrays
23:44:14 <elliott> i value internet more than the former
23:44:24 <elliott> even though that barely makes any sense
23:44:27 <elliott> your message didn't anyway
23:48:57 <elliott> [[The worldwide Haskell community met up over beers today to celebrate their unprecedented discovery of an industry programmer who gives a shit about Haskell.
23:48:57 <elliott> On Wednesday, researchers issued a press release revealing that 27-year-old Seth Briars of North Carolina, a Java programmer at Blackwater accounting firm Ross and Fordham, actually gives a shit about Haskell.]]
23:48:58 <elliott> --http://steve-yegge.blogspot.com/2010/12/haskell-researchers-announce-discovery.html
23:51:11 <Sgeo> It is, of course, physically impossible to Google for criticism of Newspeak
23:51:22 <elliott> [["I'm kind of surprised I'm the only person on earth who gives a shit about it," Briars continued. "I'd have thought there would be more people following the press releases closely and then not using Haskell. But they all just skip the press releases and go straight to the not using it part."]]
23:54:23 -!- Quadrescence has joined.
23:56:48 <Deewiant> [[I'm really disappointed that more programmers don't get actively involved in reading endless threads about how to subvert Haskell's type system to accomplish basic shit you can do in other languages.]]
23:57:15 * Sgeo learns of Ioke
23:58:56 -!- wareya has quit (Read error: Connection reset by peer).
23:59:24 -!- wareya has joined.
2010-12-02
00:01:18 <quintopia> elliott: Sasha2 was implying that the light pollution from our spectral wipe-out would prevent us from spotting incoming aliens. dark sky communities allow us to at least spot them on the visible spectrum at night.
00:01:34 <elliott> i don't think he was implying that we couldn't see them
00:01:36 <elliott> * Sasha2 imagines an alien race that sees that spectrum wiping us out because of light pollution
00:01:39 <elliott> just that they'd wipe us out.
00:02:42 <Sasha2> no, I was implying that if an alien race could see them
00:02:49 <Sasha2> they may attempt to explode us
00:02:53 <Sasha2> for light pollution
00:06:53 <elliott> right.
00:06:57 <elliott> so not that we couldn't see them.
00:08:17 * Sgeo likes the thought of GTK+ or Qt being an option in a program
00:08:27 <Sgeo> Just set this preference, the program switches
00:09:31 -!- augur has quit (Remote host closed the connection).
00:12:33 <Vorpal> elliott, down?
00:12:39 <elliott> Vorpal: Seems so.
00:12:48 <elliott> Sgeo: that is the stupidest thing ever
00:12:50 <Vorpal> elliott, I was falling in a boat while it happened
00:12:54 <elliott> Vorpal: "Well, I won't rent whole layers, most likely. Do you have any idea how big 128x128 is?"
00:13:01 <Vorpal> elliott, result: flying dutchman
00:13:03 <elliott> :D
00:13:18 <Vorpal> elliott, I have no fucking clue what will happen when I reconnect
00:13:26 <Vorpal> elliott, probably loss of boat at the very least
00:13:31 <elliott> Vorpal: The bottom few floors will be obsidian-bordered (eventually) and be for a post-apocalyptic scenario; supplies and such to build the world outside. After all, where is more secure than in the sea, bordered by obsidian, at the very bottom of the map, with bedrock?
00:13:36 <Vorpal> elliott, and I answered "yes"
00:13:56 <elliott> Vorpal: The top floor will be... I don't know, something snazzy. Indeed, though, floor 0 will be fun.
00:14:10 <Vorpal> elliott, also my mines cover more than 128x128x2 considering amount of cobblestone
00:14:25 <elliott> Although you'll enter it from the regular sea-level ground at floor -(small); there'll be a tunnel with stairs going just below sea level, and then a short walk to a hole in a low-numbered below-sea floor.
00:14:28 <elliott> Then you can go up if you wish.
00:14:39 <elliott> There will also be a lower-down minecart startion, and a skyway connection higher up.
00:15:31 <Vorpal> elliott, I'll probably establish an embassy there if it ever gets done
00:15:40 <Vorpal> elliott, also up again
00:16:03 <elliott> Vorpal: Do you know how big the grid of large chests are?
00:16:10 <elliott> Is it 2x the grid of small chests? (And what's that?)
00:16:16 <elliott> You see, I need to store 81 thousand pieces of something...
00:16:17 <Vorpal> elliott, 2x yes
00:16:19 <Vorpal> elliott, and not sure
00:16:53 <Vorpal> elliott, you need a boatlevator in that thing from top to bottom
00:17:18 <Vorpal> elliott, measurements: 2x3 shaft, and 5 spaces away a 2x2 shaft
00:17:23 <elliott> Vorpal: I was planning on just having a straight staircase that makes you turn around whenever it reaches a wall, and a multi-width ladder all the way.
00:17:25 <Vorpal> elliott, some extra space needed at bottom
00:17:29 <elliott> Boatlevators seem... unreliable.
00:17:37 <Vorpal> elliott, they are faster, and quite reliable for me.
00:17:47 <Vorpal> elliott, it is just everyone else that can't ride mine
00:18:00 <elliott> So they're hard to use. :p
00:18:02 <Vorpal> elliott, I guess they are trying to stear the boat or something
00:18:06 <Vorpal> which is just very very wrong
00:18:09 <Vorpal> never stear the boat
00:18:13 <Vorpal> and exit behind it
00:18:25 <elliott> It's hard to avoid steering it...
00:18:34 <Vorpal> elliott, do not touch arrow keys
00:18:36 <Vorpal> while in the boat
00:18:42 <Vorpal> elliott, that way you don't stear it
00:18:45 <Vorpal> steer*
00:18:55 <Vorpal> err
00:18:57 <Vorpal> wasd
00:18:58 <Vorpal> not arrows
00:20:19 -!- mtve has quit (Ping timeout: 255 seconds).
00:23:06 <elliott> ineiros: Can I have a /tp ehird BCxVAhxWQxi?
00:26:05 -!- FireFly has quit (Quit: swatted to death).
00:26:23 <nooga> i'm weird
00:38:07 -!- augur has joined.
00:47:25 <Sgeo> Oh look, I just fixed a broken test case in Newspeak
00:47:34 <Sgeo> This is fun!
00:48:46 * Sgeo hits whoever wrote these tests for using ~=
00:53:06 -!- Leonidas has quit (Ping timeout: 240 seconds).
00:54:33 <elliott> Vorpal: "Additionally, when Water is placed inside a "+" shaped pillar, the player can still interact with the water through the northwest indent of the "+". This allows a pillar of water to act as an elevator much quicker than a descending waterfall, as the downward motion of the water inside the pillar has no effect. The ascension rate is comparable to ladders at a lower cost, as one only needs a bucket and some building material. It is interes
00:54:33 <elliott> ting to note that if a block is removed from the pillar, exposing the water, the downward pull will slow the player's ascent for the next few blocks."
00:55:01 <Vorpal> elliott, huh
00:55:24 <elliott> Vorpal: I'm still not sure where to place The Cube.
00:55:29 <Vorpal> elliott, issue with that however is that you will be inside the water
00:55:35 <Vorpal> elliott, not partly inside it
00:57:21 <Vorpal> elliott, down?
00:58:13 <elliott> seems so
00:58:23 <pikhq> http://www.youtube.com/watch?v=MXW0bx_Ooq4
01:00:20 <elliott> pikhq: I love that video.
01:00:55 <pikhq> I love that Chrysler actually made that video.
01:01:31 <Vorpal> elliott, up but I disconnected
01:03:14 <Vorpal> <pikhq> http://www.youtube.com/watch?v=MXW0bx_Ooq4 <-- what, that is so much jargon I have no clue about
01:03:29 <Vorpal> pikhq, is it technobabel?
01:03:30 <Sgeo> There are four languages in the current Newspeak prototype
01:03:34 <Vorpal> technobable*
01:03:43 <elliott> Vorpal: No, it's technology.
01:03:44 <elliott> Duh.
01:03:45 <elliott> Simple stuff.
01:03:49 <elliott> It's a turbo encabulator.
01:04:02 <Vorpal> elliott, I never heard of that :P
01:04:42 <pikhq> Vorpal: Yeah, it's a turboëncabulator. It supplies inverse reactive current for use in unilateral phase detractors, and automatically synchronises cardinal grammeters.
01:04:49 <Sgeo> Subclasses of Language:
01:05:03 <Vorpal> pikhq, indeed pure technobabel
01:05:11 <Sgeo> NewsqueakLanguage0 NewsqueakLanguage1 NewsqueakLanguage2 SmalltalkLanguage
01:05:44 <elliott> Sgeo: Stop looking at Newspeak right now; close every relevant window.
01:05:45 <elliott> Thank you.
01:05:50 <Sgeo> elliott, why?
01:06:22 <elliott> Sgeo: Because I said so.
01:06:41 <Sgeo> elliott, besides the youngness, is there a good reason not to like Newspeak?
01:06:57 <elliott> Because I said so.
01:07:06 <Vorpal> pikhq, anyway it became blatantly apparent during the diagnosis part that it was a joke
01:07:50 -!- Leonidas_ has joined.
01:07:59 <pikhq> Vorpal: The bit about running additional tests that serve to increase billable hours is a dead giveaway, isn't it?
01:07:59 -!- Leonidas_ has changed nick to Leonidas.
01:09:20 <Vorpal> pikhq, that and some other things
01:09:45 <Vorpal> pikhq, such as "for the purposes of obscurity we have removed the casing"
01:10:43 <Vorpal> pikhq, or the bit that any systems faults would be displayed in secret code
01:11:15 <Vorpal> pikhq, also "manual and songbook"
01:11:38 <Vorpal> also that a Geiger scale would be involved :P
01:12:33 <Vorpal> pikhq, and further the bit about what would be covered in the next month :P
01:13:14 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:13:18 <Vorpal> pikhq, but the first part I could only catch because I realised that was too much jargon :P
01:13:23 * Sgeo ponders a possible fix for a certain annoyance
01:16:00 -!- Mathnerd314 has quit (Ping timeout: 260 seconds).
01:17:20 <pikhq> Vorpal: Hint: the jargon is meaningless.
01:17:53 <Vorpal> pikhq, indeed I realise that
01:18:08 <pikhq> Also, "dingle arm" is an inherently hilarious phrase.
01:18:21 <Vorpal> pikhq, but I'm no car expert so it took me a a few tens of of seconds to figure out what was going on :P
01:21:01 <elliott> i know nothing about cars but it's obvious
01:21:02 <elliott> bye
01:21:03 -!- elliott has quit (Quit: Leaving).
01:26:51 -!- sftp has quit (Remote host closed the connection).
01:28:23 <Vorpal> pikhq, I remember reading about a Swedish company that manufactured screws got strange results on a 1 April joke ad
01:28:31 * Sgeo wikiwalks in Newspeak
01:29:07 <Vorpal> pikhq, basically they made an ad for stuff like T-shaped screws and dual-head screws for extra torque. On 1 April one year during the 1970s or so
01:29:22 <Vorpal> pikhq, they actually got phoned by people who tried to seriously order these "products"
01:29:43 <Vorpal> for a few days after
01:30:03 <Vorpal> pikhq, fun eh?
01:30:22 <Gregor> Both T-shaped and double-headed screws have legitimate uses, and the former most certainly exists.
01:32:11 <Vorpal> Gregor, not the way these were done :P
01:32:32 <Vorpal> Gregor, it was like a screw that split into two part way up like an actual T
01:32:43 <Gregor> Okidoke :P
01:32:54 -!- cal153 has quit (Ping timeout: 240 seconds).
01:32:55 <Gregor> Ah :P
01:33:05 <Vorpal> Gregor, and the dual head one looked like:
01:33:06 <Vorpal> - -
01:33:07 <Vorpal> | |
01:33:07 <Vorpal> -+-
01:33:07 <Vorpal> |
01:33:14 <Vorpal> (best viewed with mono-space)
01:33:26 <Vorpal> and I don't think that would work
01:34:02 <Vorpal> Gregor, also I believe they had a flexible screw. and a few more that I don't remember
01:34:08 <Gregor> Hyuk
01:34:14 <Vorpal> Gregor, "hyuk"?
01:34:19 <Gregor> Yup.
01:34:24 <Vorpal> what does that mean
01:34:30 <Gregor> It means "hyuk"
01:34:34 <Vorpal> uh
01:34:43 <Vorpal> Gregor, and can you explain what "hyuk" means
01:35:01 <Gregor> "Hyuk" is a folksy laugh :P
01:35:02 <Vorpal> Gregor, or was "yup" the translation?
01:35:05 <Vorpal> ah
01:35:06 <Vorpal> okay
01:35:45 <Vorpal> Gregor, anyway what would a "real" t-shaped screw be?
01:36:03 <Gregor> Just a screw with a T-shaped end opposite the screw proper.
01:36:22 <Vorpal> Gregor, oh you mean the shape that the screwdriver fits into?
01:36:23 <Vorpal> right
01:36:41 <Vorpal> Gregor, well this was indeed... More literal
02:04:19 -!- cal153 has joined.
02:08:30 -!- poiuy_qwert has joined.
02:14:26 -!- poiuy_qwert has quit (Ping timeout: 245 seconds).
02:15:02 -!- poiuy_qwert has joined.
02:27:37 -!- mtve has joined.
02:36:41 <Goosey> Is it bad to have fun with trolling?
02:49:27 -!- elliott has joined.
02:49:56 <elliott> Insomnia...
02:50:53 <elliott> Vorpal: how did nailor do his underwater thing?
02:53:44 <elliott> coppro: "On behalf of Google and the University of Waterloo Computer Science Club, we would like to thank everybody who took part in the Google AI Challenge."
02:53:54 <elliott> oh wait, it's your challenge
02:53:54 <elliott> heh
03:00:29 -!- perdito has quit (Quit: perdito).
03:09:06 -!- perdito has joined.
03:09:36 * Sgeo submits a bug report
03:22:24 <elliott> http://iphone-chieftain.blogspot.com/2009/04/tweetsheet-10-released.html twitter client implemented in excel
03:29:31 <Gregor> elliott: Welp, time to kill myself.
03:29:41 <elliott> Gregor: what
03:29:59 <Gregor> elliott: Twitter in excel = time to end it all
03:30:09 <elliott> Gregor: no this is like a new age in human existence
03:30:26 <elliott> 10:38:14 <elliott> Gregor: 14:53:14 * GregorR-W doesn't even know what tldr means :P
03:30:26 <elliott> 10:38:14 <elliott> 14:53:51 <kipple> heh, I had to look that one up too
03:30:26 <elliott> 10:38:14 <elliott> 14:54:36 <GregorR-W> Too Long Didn't Read?
03:30:26 <elliott> 10:38:14 <elliott> 14:54:38 <GregorR-W> XD
03:30:27 <Gregor> elliott: Yes. The time without me.
03:30:33 <elliott> Gregor: are you ashamed of 2006 you
03:30:34 <elliott> i would be
03:30:40 <elliott> bet he didn't even like dinosaur comics
03:31:11 <Gregor> Clearly he liked reading.
03:31:20 <Gregor> Since he didn't understand what it was for something to be too long to read.
03:31:26 <Gregor> Therefore, he probably liked Dinosaur Comics.
03:31:33 <Gregor> But then, we'll never know; he's dead now.
03:31:36 <elliott> Gregor: dude you blew my mind.
03:31:43 <elliott> Gregor: well um, you recommended hextris in 2006
03:31:47 <elliott> and that's why my brain exploded
03:31:47 <elliott> so
03:31:49 <elliott> i blame you
03:31:55 <elliott> 09:06:37 <elliott> 23:49:05 <GregorR> I love how devfs survived for like a year :-P
03:31:55 <elliott> 09:06:37 <elliott> 23:49:34 <calamari> yeah, what was wrong with it? worked for me
03:31:55 <elliott> 09:06:37 <elliott> 23:50:04 <GregorR> I really don't know.
03:31:55 <elliott> 09:06:37 <elliott> 23:50:08 <GregorR> Always worked great for me.
03:32:10 <elliott> Gregor: we can clearly see here your ignorance of linux kernel maintenance practices
03:32:23 <Gregor> I'm still ignorant of Linux kernel maintenance practices.
03:32:25 <elliott> Gregor: namely, that any system replacing another system is accepted IFF it is more pointlessly flexible and complex
03:32:27 <Gregor> Quite intentionally.
03:32:38 <elliott> Gregor: and that putting XML into the kernel is never a bad thing (see HAL)
03:32:48 <elliott> Gregor: those are the entire set of rules, actually
03:32:50 <elliott> Gregor: wait, there's one more
03:32:56 <Gregor> elliott: IIRC, there was a time between devfs and udev when it was back to flat /dev.
03:32:58 <elliott> Gregor: nobody must do *anything* to make the experience nicer for desktop users
03:33:15 <elliott> because... because fuck you, we don't want the day of the linux desktop
03:33:21 <elliott> Gregor: heh, static dev?
03:33:26 <elliott> oldskoooool
03:33:45 <Gregor> Thereby invalidating your point ...
03:33:56 <elliott> Gregor: no, a mere historical anomaly
03:34:01 <elliott> just average the slope out, man
03:34:02 <elliott> Gregor: devfs is back in the kernel now, it's called devtmpfs, it runs on tmpfs, and they snuck it in by saying it provides an environment for an initramfs before udev is loaded
03:34:10 <elliott> Gregor: i fully intend to use it and nothing else in Kitten :)
03:34:18 <Gregor> lollercopters
03:34:34 <elliott> Gregor: the reactions were varied
03:34:36 <elliott> "Lol, devfs." --Andrew Morton
03:34:41 <elliott> and uh
03:34:44 <elliott> "Lol, devfs." --Andrew Morton again
03:34:50 <elliott> (actual direct quote, although he only said it once)
03:35:10 <elliott> Gregor: have you ever looked at /etc/udev
03:35:11 <elliott> it is quite a sight
03:35:46 <elliott> Gregor: Found a non-GNU binutils yet? :P
03:36:26 <Gregor> elliott: Haven't even looked :P
03:36:51 <elliott> Gregor: looks like i will be using uClibc anyway, so that's a vaguely gnu-infested (some code copied from glibc) component
03:37:08 <elliott> Gregor: and, well, i do have to use gcc to compile kernel and uClibc itself
03:37:15 <elliott> but i should be able to use pcc for most other things
03:37:16 <Gregor> elliott: Yeahyeah, I get it, you lurve blowing the Gnu.
03:37:24 <elliott> Gregor: i dont man its a hard fuckin life
03:37:31 <Gregor> X-D
03:37:42 <elliott> Gregor: i did get a pcc/dietlibc toolchain fully self-bootstrapped, but dietlibc is probably too opinionated with anything :P
03:37:56 <elliott> erm
03:37:58 <elliott> Gregor: i did get a pcc/dietlibc toolchain fully self-bootstrapped, but dietlibc is probably too opinionated to use with with anything :P
03:38:00 <elliott> *with
03:39:07 <elliott> Gregor: i mean... patches welcome y'all
03:39:23 <elliott> Gregor: I seem to have found a coreutils in busybox, even if busybox has bits of lameness
03:40:35 <elliott> Gregor: man if you want a non-gnu linux you're gonna have to work for it that involves TALKIN man
03:40:54 <Gregor> I don't want one, I just want to see one :P
03:40:55 <elliott> or do you want to let linux distros fellate rms UNTIL THE END OF TIME????
03:40:59 <elliott> Gregor: see one, yes, but
03:41:03 <elliott> Gregor: YOU HAVE TO WORK TOWARDS IT
03:42:11 <elliott> Gregor: ur motivation reaches all-time lowz
03:42:56 <Sgeo> If I click a button and stupidly don't change the stupid default, deleting the result should not cause a crash
03:43:41 <elliott> SHUT UP I'M TIRED ENOGUH WITHUOUT YOU
03:43:45 <elliott> Gregor is dead to me now
03:44:15 <elliott> fizzie: this could be you http://i.imgur.com/iCDrN.png
03:44:38 <Gregor> And the Gnu just rolls over and grumbles when he's done with elliott; they never /talk/ any more.
03:44:52 <elliott> i know its like our relationship has reached a plateau of hate
03:45:05 <elliott> and i fear that every move will only send me down a slippery slope
03:45:09 <elliott> its why im tryin to get out man
03:45:12 <elliott> its why im tryin to break free
03:45:40 <Gregor> The persistent interspecies pedophilic rape isn't part of it?
03:46:30 <elliott> Gregor: no, i blame 4chan for that
03:47:38 -!- elliott has left (?).
03:47:40 -!- elliott has joined.
03:47:55 <elliott> Gregor: does xorg build with non-gcc i wonder
03:48:15 <Gregor> elliott: It certainly did in the 7.0 days
03:48:27 <elliott> Gregor: what compiler?
03:48:36 <Gregor> SunPRO
03:48:42 <elliott> pcc is kind of old and crusty and it's nice and it's learning these C99 ways, but sometimes it falls down and can't get up and what why would you even do that
03:48:43 <Gregor> Or whatever bizarre name that compiler has/had.
03:48:45 <elliott> what would possess you to do that
03:48:47 <elliott> you monster
03:48:53 <Gregor> Intel :P
03:49:08 <elliott> Gregor: even if i didn't have a handy checklist of reasons not to buy intel
03:49:09 <elliott> Gregor: that
03:49:11 <elliott> Gregor: that would convince me.
03:49:18 <Gregor> X-D
03:49:27 <elliott> Gregor: how many babies did they rape and then grind up to use in chips, i mean in an average day
03:49:27 <elliott> just
03:49:30 <elliott> rough estimate here
03:50:35 <elliott> Gregor: oh and i kinda need gcc for C++
03:50:39 <Gregor> Well, judging by the trucks, assuming maybe 250 per truck (average weight, stacked) I'd say about 1,250/day. Assuming they were in cages in the trucks, they could have really only fit maybe 80, making a much more conservative ~400/day
03:50:46 <elliott> Gregor: getting llvm/clang working with static linking is like on my list of things that are "not" fun, as in not fun
03:51:06 <elliott> Gregor: however the only C++ thing i want to ship is like, webkit :)
03:51:11 <elliott> and openjdk or whatever, to run minecraft.
03:51:29 <elliott> Gregor: they didn't use cages in fact they dehydrated the babies furst, what's the term
03:51:39 <elliott> like when you get tried fruit or, what they make concentrate juice from
03:51:40 <elliott> taking out all the water
03:51:42 <elliott> they did that to babies.
03:51:46 <elliott> and packed them
03:51:51 <Gregor> Concentrated.
03:51:56 <Gregor> But I don't think so.
03:51:57 <elliott> yes
03:52:00 <Gregor> At least, not judging by the screams.
03:52:09 <elliott> Gregor: they rehydrated them before the process moron
03:52:18 <elliott> wikileaks confirms it
03:52:28 <elliott> (wikileaks and netcraft merged )
03:52:43 <elliott> "IAmA former smoker, quit one year ago today, and YOU SHOULD QUIT SMOKING TODAY!"
03:52:44 <elliott> i don't smoke
03:52:45 <elliott> idiot
03:53:12 <Gregor> elliott: Then you'll have to start, so you can QUIT TODAY.
03:53:24 <elliott> i approve of this idea
03:53:29 <elliott> what do severe chain smokers get through
03:53:30 <elliott> 40 a day?
03:53:32 <elliott> i'll work towards it
03:53:39 <elliott> quit on the 39th
03:53:46 <Gregor> s/40/40 packs/
03:53:54 <elliott> Gregor: really??
03:53:58 <Gregor> No :P
03:54:02 <Gregor> But I wouldn't be surprised by 10.
03:54:10 <elliott> Gregor: see i believed you there you destroyed my trust
03:54:18 <elliott> Gregor: i think ill break up with you too
03:54:31 <elliott> "Boy, 2, Smokes Two Packs a Day"
03:54:38 <elliott> hardcore mfer
03:54:53 <elliott> "He cries and throws tantrums when we don't let him smoke. He's addicted," his father, Mohammad Rizal, says.
03:54:55 <elliott> i think
03:55:01 <elliott> i think there is a clear sourec of blame going on here
03:55:05 <elliott> like i mean
03:55:09 -!- Mathnerd314 has joined.
03:55:12 <elliott> i think its hard for your baby to go out on the streets and smoke cigarettes
03:55:15 <elliott> you sort of have to give him one i think
03:55:17 <elliott> Gregor: can you confirm this
03:55:39 <Gregor> In the US, Barney advertises for Marlboro.
03:56:14 <elliott> Gregor: <3 you have to make that now
03:56:16 <elliott> that would be amazing
03:56:19 <augur> BUT IN SOVIETY RUSSIA
03:56:27 <augur> MARLBORO ADVERTISES FOR BAAAARNEY
03:56:44 <elliott> soviety russia
03:56:46 <elliott> is that kind of
03:56:47 <Gregor> In Soviet Russia, Object Verb Subject!
03:56:48 <elliott> not soviet russia
03:56:50 <elliott> just soviet..y
03:56:51 <elliott> similar to soviets
03:56:53 <elliott> sovietesque
03:56:56 <elliott> but not soviet in and of itself
03:56:57 <Sgeo> Mohammed Rizal seemed unconcerned.
03:56:57 <Sgeo> "He looks pretty healthy to me. I don't see the problem," he said.
03:56:57 <Sgeo> Read more: http://www.nydailynews.com/lifestyle/health/2010/05/26/2010-05-26_video_tragic_toddler_ardi_rizal_has_twopackaday_cigarette_habit.html#ixzz16vIwvOyv
03:56:59 <elliott> confirm/deny augur
03:57:04 <Sgeo> FUCK YOU WEIRD JAVASCRIPT
03:58:24 <augur> elliott: deny
03:58:32 <elliott> augur: what why
03:58:37 <augur> soviety is a type because t and y are close together
03:58:38 <augur> OR
03:58:46 <augur> its indicative of palatalization on the t
03:58:48 <augur> TAKE YOUR PICK
03:59:11 <elliott> augur: yur a horrible erpson
03:59:41 <elliott> DONKEY
03:59:42 <elliott> MOTHERFUCKING
03:59:43 <elliott> KONG
04:01:42 <elliott> pikhq: http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html look at the end, the specification of TZ; looks like you can define DST and stuff in $TZ itself
04:01:47 <elliott> so all I need is like
04:01:56 <elliott> /share/timezones/uk
04:01:57 <elliott> to have the right thing
04:01:59 <elliott> and you can just do
04:02:03 <elliott> ln -s /share/timezones/uk /etc/tz
04:02:54 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
04:03:52 <Sgeo> What happens if I want to do implicit logarithmic differentiation of, say, y = -4x
04:04:13 <Sgeo> ln y = ln -4x = (ln -4) + (ln x)
04:04:29 <Sgeo> 1/y dy/dx = 1/x
04:04:36 <Sgeo> dy/dx = y/x = x/x = 1
04:04:53 <Sgeo> I'm too tired aren't I
04:05:22 <Sgeo> ... it's not a problem with the negatives
04:05:27 <Sgeo> It's a problem with my thinking
04:05:42 <Sgeo> Where's the problem with my thinking?''
04:06:13 * Sgeo facepalms
04:06:23 <Sgeo> y/x = -4x/x
04:07:36 <elliott> note to self: look into doing something like inbetween anarchy golf and all those project euler, sphere online judge things except realtime'd. because why go outside to BATTLE PROGRAM
04:11:13 <pikhq> elliott: Sooo. TZ is much more flexible than tzdata.
04:11:38 <elliott> pikhq: Yes, just more manual. I have a feeling tzdata might be an extremely old, pre-TZ way of mapping names to things like this. :p
04:11:51 <elliott> pikhq: So basically I can just maintain a set of common timezones and everyone else can just write their own fucking string.
04:12:12 <elliott> pikhq: (I could also see about extracting them from the typical tz database if I decide to be crazy.)
04:12:34 <pikhq> elliott: You could just parse it from the file they compile *into* the tz database.
04:12:46 <elliott> pikhq: Right.
04:13:06 <pikhq> Also, not "the typical" one. It's *the* tz database. http://www.twinsun.com/tz/tz-link.htm
04:14:15 <elliott> pikhq: I just said "the typical" to avoid ambiguity with the "TZ" name of the environment variable.
04:14:30 <elliott> [[To use the database on an extended POSIX implementation set the TZ environment variable to the location's full name, e.g., TZ="America/New_York".]]
04:14:33 <elliott> Hey, that violates POSIX.
04:14:40 <pikhq> Why yes, yes it does.
04:14:42 <elliott> TZ has to start with a : to be treated in an implementation-dependent way rather than the TZ specification.
04:15:10 <pikhq> Moral of the story: nothing is POSIXly correct.
04:16:06 <elliott> pikhq: POSIX is kind of a useless standard, based on a status quo that doesn't exist, specifying nothing.
04:16:13 <elliott> It's only useful as a reference manual.
04:16:31 <pikhq> It would at least be useful if everyone tried to follow it.
04:16:46 <elliott> pikhq: Oh man, these files are painfully complex.
04:16:48 <elliott> ftp://elsie.nci.nih.gov/pub/tzdata2010o.tar.gz
04:16:57 <elliott> RuleUruguay2005only-Oct 9 2:001:00S
04:16:57 <elliott> RuleUruguay2006only-Mar12 2:000-
04:16:58 <pikhq> As it is, it specifies the "platonic ideal UNIX".
04:17:01 <elliott> RuleUruguay2006max-OctSun>=1 2:001:00S
04:17:01 <elliott> RuleUruguay2007max-MarSun>=8 2:000-
04:17:03 <elliott> Zone America/Montevideo-3:44:44 -LMT1898 Jun 28
04:17:03 <elliott> -3:44:44 -MMT1920 May 1# Montevideo MT
04:17:04 <elliott> -3:30UruguayUY%sT1942 Dec 14# Uruguay Time
04:17:04 <elliott> -3:00UruguayUY%sT
04:17:09 <elliott> I don't want to parse that, dude.
04:17:16 * pikhq vomits
04:17:35 <elliott> pikhq: [[Numeric time zone abbreviations typically count hours east of UTC, e.g., +09 for Japan and -10 for Hawaii. However, the POSIX TZ environment variable uses the opposite convention. For example, one might use TZ="JST-9" and TZ="HST10" for Japan and Hawaii, respectively.]]
04:17:51 <elliott> pikhq: POSIX: Oh, we know of your world standard. We decided it wasn't logical enough and replaced it.
04:17:51 <pikhq> Yeah, that's just oldschool brain damage.
04:22:11 <elliott> Well, let's try this sleep thing again.
04:22:23 <elliott> pikhq: If I can get uClibc compiled, maybe this Kitten thing will actually happen soon. :p
04:22:32 <elliott> Perhaps it shall be a Christmas present of pain, suffering and difficult installation.
04:22:34 -!- elliott has quit (Quit: Leaving).
04:23:54 * pikhq makes a prediction: elliott wins the world record for failure to sleep, and then passes out of exhaustion.
04:24:08 <pikhq> Oh, and by the end of it RAINBOW PONIES
05:02:40 * Sgeo randomly modifies the Newspeak IDE
05:03:06 <Sgeo> Hmm
05:03:10 <Sgeo> Works as expected
05:03:18 <Sgeo> But as expected is not as useful as I want
05:06:54 <Goosey> Hm
05:07:05 <Goosey> I just found out this kid I hit the other day brought a gun to school
05:07:14 <Goosey> He had cocaine on him too.
05:08:02 * Sgeo makes it more useful
05:08:53 <Sgeo> My IDE modification, not the cocaine
05:10:03 <Sgeo> elliott: In some fashion, remind me that I have simple but awesome changes in SelectorPresenter
05:12:12 <Sgeo> I just need to pretty it up a bit
05:15:43 <Sgeo> "Did you know? It's 12:14:55 am. Go get some rest!"
05:17:57 -!- poiuy_qwert has joined.
05:50:17 -!- Goosey has quit (Remote host closed the connection).
05:51:48 -!- sftp has joined.
05:59:25 <pikhq> Poor, poor Kingdom of the Netherlands.
05:59:32 <pikhq> It has 3 distinct currencies.
06:01:05 <Sgeo> It occurs to me that with Smalltalk, Factor, and now Newspeak, I have attempted to make a contribution to the language
06:01:20 <pikhq> Euro in the Netherlands, Netherlands Antillean guilder in the BES Islands, Curaçao and Sint Maarten, and Aruban florin in Aruba.
06:01:28 <Sgeo> (Um, "language" is the wrong word)
06:01:37 <pikhq> Yes, the nation's currency is dependent on *which part of it you're in*.
06:02:57 <pikhq> Granted, everything but the Netherlands itself is one of several small islands, not physically contiguous at all, but hey. It's still crazy.
06:04:07 <pikhq> (for those confused: the Kingdom of the Netherlands has a similar setup to the UK, in that it's a monarchy over several constituent countries which form a single nation.)
06:16:23 -!- sftp has quit (Remote host closed the connection).
06:37:03 <pikhq> ... Huh. Apparently Linux's filesystem handling is such that processes can have a private set of mount points.
06:37:16 <pikhq> That is to say, much like Plan 9, Linux offers per-process namespaces.
06:37:23 <pikhq> I know of nothing that actually uses this *at all*.
06:42:08 <Gregor> MIDI breath controllers: Too - damned - expensive.
06:44:32 <pikhq> My God. One could actually pretty much *have* Plan 9 just by replacing the Linux userspace.
06:46:48 <augur> eggnog is so delicious
06:46:49 <Sgeo> Gregor, coming from you, that's saying something. I think.
06:47:46 <Gregor> Sgeo: ... I'm cheap.
06:49:06 <pikhq> Hmm. That'd take a bit of doing for some of the really nice bits of Plan 9.
06:49:26 <pikhq> (making a cluster by union mounting the /proc of a few different systems together, for instance)
06:50:44 <Sgeo> Installing Mercurial apparently causes Newspeak to automatically use it
06:50:52 * Sgeo should bother at some point
06:59:01 -!- perdito has quit (Ping timeout: 245 seconds).
07:01:54 -!- FireFly|n900 has quit (Ping timeout: 240 seconds).
07:20:31 -!- FireFly|n900 has joined.
07:31:20 -!- Sasha2 has quit (Ping timeout: 250 seconds).
07:53:15 -!- Sgeo has quit (Read error: Connection reset by peer).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:49 -!- MigoMipo has joined.
08:19:30 -!- MigoMipo has quit (Ping timeout: 260 seconds).
08:40:23 -!- perdito has joined.
08:48:21 -!- perdito has quit (Ping timeout: 240 seconds).
09:07:37 -!- FireFly|n900 has quit (Ping timeout: 255 seconds).
09:07:56 -!- nopseudoidea has joined.
09:08:24 -!- MigoMipo has joined.
09:09:13 -!- ais523 has joined.
09:12:23 -!- ais523 has quit (Remote host closed the connection).
09:12:39 -!- ais523 has joined.
09:13:31 <ais523> gah, the hard part of adminning #esoteric is occasionally I have to check twice whether something's spam or not
09:13:51 <ais523> I mean, someone adds a random sequence of letters and punctuation to the hello world list, is that spam or an esoprogram?
09:14:12 <ais523> (it's easy to tell, generally, but requires concious thought, I can't let spamfighting go on mental automatic)
09:14:46 -!- MigoMipo has quit (Ping timeout: 240 seconds).
09:19:27 <oklopol> i dreamt i was playing minecraft on the esoserver
09:19:48 <oklopol> and dying meant being banned forever
09:21:45 <oklopol> anyway there were these areas that were apparently "close to hell" where destroying a block might start a chain reaction that opened up this huge hole on the ground, and you had to run for your lives
09:21:46 -!- FireFly|n900 has joined.
09:22:07 <oklopol> and then the elf in my party had a lesbian relationship with her twin or clone or whatever
09:26:56 <oklopol> also in the world, islands weren't separated by water, but by emptiness, with only a bridge of sparsely distributed single blocks you could jump on to get across, i was sent to build a proper bridge across of these, alone, and my father told me i shouldn't go into the cave without torches because of all the foxes.
09:27:19 <oklopol> and because it's particularly hard to use electricity in that particular cave... i had no idea what he was talking about
09:48:03 <Vorpal> <oklopol> and then the elf in my party had a lesbian relationship with her twin or clone or whatever <-- err
09:48:40 <Vorpal> oklopol, weird dream
09:52:36 <Vorpal> <elliott> Vorpal: how did nailor do his underwater thing? <-- before health
09:53:06 <Vorpal> elliott: also iirc he first did top down and got horrible streams, I helped fix those. then the rest he built top down
09:53:24 <Vorpal> elliott: but since you don't plan to have water above the thingy you will build, that shouldn't be a problem
09:54:02 <Vorpal> err the rest he built bottom up I meant
09:54:07 <Vorpal> elliott: also I believe he kept moving a dirt barrier forward when he built it bottom-uå
09:54:09 <Vorpal> up*
09:54:32 <oklopol> generally everything has sex with everything in my dreams
09:54:40 <Vorpal> oklopol, weird
09:55:21 <oklopol> i make things have sex whenever i have lucid moments, and my dreams are usually half-lucid
09:55:34 <oklopol> that i "kinda" know they are dreams
10:14:25 -!- atrapado has joined.
10:35:26 -!- MigoMipo has joined.
10:40:52 -!- nopseudoidea has quit (Quit: Quitte).
10:45:30 -!- oerjan has joined.
10:52:31 -!- perdito has joined.
11:09:52 <ais523> `addquote <oklopol> i make things have sex whenever i have lucid moments, and my dreams are usually half-lucid
11:10:20 <ais523> also, a bridge of sparsely distributed single blocks sounds like every platform game ever
11:10:26 <ais523> especially over emptiness
11:10:30 <ais523> what color was the emptiness?
11:10:51 <ais523> (or was color not a property it had? I find in my dreams, at least, many objects don't have properties you'd naturally expect them to have)
11:11:17 <oklopol> ais523: blueish.
11:11:22 <oklopol> bright blueish
11:11:53 <HackEgo> 266|<oklopol> i make things have sex whenever i have lucid moments, and my dreams are usually half-lucid
11:12:44 <perdito> i luv this chan
11:12:49 <perdito> :)
11:13:07 <ais523> oklopol: hmm, likely one of the Mario games then
11:13:36 <oklopol> i don't recall objects not having properties, but they certainly have properties they usually couldn't have, like being really scary, or "proving something", a property normal objects can't have, if they actually prove something, it's on an intellectual level, not emotional, although in tv series it does happen, since you sometimes aren't really following the technobabble, but you get that "oh my god that table has a *scratch* on it!"
11:14:41 <ais523> I know while I'm dreaming I don't notice all sorts of logical inconsistencies, I just assume that's the way the world works
11:14:59 <ais523> in fact, I'm remarkably unsuspicious while asleep, it helps to stop me noticing I'm asleep and waking up
11:16:11 <oklopol> i tend to check i'm awake every now and then, when i'm awake, it's something they tell you should do if you want to get lucid dreams, i do it partly because of that, and partly because i occasionally confuse reality and my dreams
11:17:39 <oklopol> which is basically schizophrenia, luckily it's rather rare
11:18:38 <oklopol> at least i've understood you should always know, when you're awake, whether things have happened or not, if you have a clear memory of them
11:18:54 <perdito> objects need properties to be identified, or even instanced as objets.. regarding to them as objects is the intellectual job, i think.. it's focussing on certain aspects of beeing.. and there is and infinite number of them out there
11:19:17 <perdito> so its hard work
11:19:24 <perdito> done while you're awake
11:20:00 <perdito> we are better artist,then we have thought, as master eckhard says
11:20:19 <perdito> we construct the world.. on the fly
11:21:56 <oklopol> i find it interesting that i can come up with awesome objects and worlds, compose okay songs, and come up with plots that make at least a little bit of sense, but math... i do it every day, but in my dreams, all the math parts seem like a 1st grader wrote them :\
11:22:00 <perdito> in our dreams, the doors of perception seem to open a little more
11:23:38 <oklopol> perdito: dunno about that, the way you think in dreams is the way you think when you're not really concentrated, except that you can send yourself sensory input, methinks.
11:23:50 <perdito> indeed!
11:24:23 <perdito> concentration = closing the doors of perception.. focusing.. filter the rest.. or even just identify and matter no more!
11:25:54 <oklopol> i can construct the same worlds in my head i do when i'm dreaming, i just explore them in a different, more pleasing way; the fact you can actually look at the world, as if through your eyes, doesn't really aid the process, it's just nice.
11:26:38 <oklopol> perdito: i find it a bit hard to follow your train of thought, and my meaningless poetry sensor starts beeping, no offense, i'm really trying :D
11:26:53 <oklopol> i guess i may be a bit hard to follow as well
11:27:04 <oklopol> hmm
11:27:11 <oklopol> yeah maybe i get your doors of perception
11:28:02 <oklopol> "or even just identify and matter no more!"
11:28:02 <perdito> sry.. my english prevents me to express myself clearer
11:28:13 <perdito> yes!!
11:28:16 <oklopol> that part is a bit hard to
11:28:23 <perdito> you got it :)
11:28:59 <oklopol> i did?
11:29:01 <oklopol> :D
11:29:18 <oklopol> i copy pasted that from yours to ask "what?"
11:29:58 <oklopol> if by "mattering" you mean "making a difference", in some deep philosophical sense, then i don't think we're talking about the same subject
11:30:53 <oklopol> i'm mostly interested in the fact the dreaming brain seems to shut off certain functions, for instance obviously the part responsible for math
11:30:57 <perdito> concentration is not required to percept the world around us! ..even worse! it makes us filter out all the "useless" information out there.. the infinity
11:31:06 <oklopol> which i find intuitive, but definititely not obvious
11:31:21 <oklopol> because certain parts of the brain are just as alive as they are awake
11:31:40 <oklopol> like the part that processes human relationships, that's on crack when you're dreaming
11:32:14 <oklopol> i'd like to mention, once again, the countless times i've fallen asleep reading math, and had the mathematical concepts turn into human relationships in a millisecond
11:32:45 <oklopol> in silly and intuitive ways, like a pair might be a marriage
11:32:50 <oklopol> and a list might be a queue
11:32:54 <oklopol> of people
11:34:02 <perdito> amazing
11:34:03 <perdito> :)
11:34:17 <oklopol> "<perdito> concentration is not required to percept the world around us! ..even worse! it makes us filter out all the "useless" information out there.. the infinity" <<< i don't know what the infinity is, but yeah, this may be true, although i think it's a side-effect, not in any way inherently necessary for concentration
11:34:52 <perdito> as huxley said, we need both:
11:34:53 <perdito> work
11:34:56 <perdito> & love
11:34:58 <oklopol> usually when i concentrate, i fall into a trance and don't really have any idea what i'm doing or what people are doing around me, but i think that's mostly "my thing"
11:35:09 <oklopol> work and love huh
11:35:19 <perdito> another analogy
11:35:25 <oklopol> yeah maybe we need both, and maybe that's relevant here in some sense
11:35:28 <oklopol> hmm
11:35:33 <oklopol> right
11:35:34 <oklopol> analogy
11:35:35 <perdito> body & soul
11:35:42 <perdito> function & percept
11:35:53 <oklopol> sure sure, wing and wang, black and white.
11:36:43 <oklopol> listing analogies is fun and all, but it's the stuff the part of the brain does that lives when you're asleep. not the part that thinks, and i like to think when i'm awake.
11:37:12 <perdito> http://en.wikipedia.org/wiki/Henri_Bergson#Creativity <-- interesting article
11:37:18 <oklopol> i'm sure it is
11:37:24 <oklopol> i'll open it just in case
11:38:00 <ais523> hmm, esoidea: a lang that looks very like an existing lang, but has subtly different semantics
11:38:06 <ais523> C might be a good one to base it on
11:38:28 <oklopol> exactly same syntax
11:38:29 <ais523> my first idea is that instead of using break; to break out of a switch at the end of a case, instead you use continue; to /not/ break out
11:38:34 <oklopol> but nothing is what it seems
11:38:36 <ais523> oklopol: yep, identical syntax
11:38:56 <ais523> and ideally, it'd be similar enough that a program sort-of works like what you'd expect it to if you know the existing language
11:39:00 <oklopol> ah
11:39:10 <ais523> for instance, you could make C call-by-name rather than call-by-value
11:39:15 <oklopol> okay i was thinking something completely insane that could never be realized, but yeah i like the sort-of-works thing
11:39:16 <ais523> and people wouldn't realise something was wrong until much later
11:40:10 <oklopol> so i actually decided to stay home today and do my master's thesis, so if i'm not gone in an hour, you're all welcome to tell me to fuck off
11:42:06 <oklopol> anyway to continue the dream thing, wouldn't it be awesome, if there really is a way to "switch off math" from the brain (which is my conjecture, although you may disagree with my rather pseudo-scientific evidence of this), to learn to do math without it
11:42:14 <oklopol> i love the idea of sucking at something, and learning to do it
11:42:52 <ais523> oklopol: esolangs are my way to do that, in a way
11:43:02 <ais523> you write an esolang which doesn't have maths in, you figure out how to implement it in that
11:44:21 <oklopol> yeah but it's different when you're programming your own brain, and especially when it's something that you are, at first, just inherently incapable of understanding
11:45:28 <oklopol> ...that you're implementing
11:47:59 <oklopol> i just have a serious brain fetish, that's all
11:48:24 <perdito> remember good ol' operation mindfuck?
11:48:42 <oklopol> what was that
11:48:43 <perdito> wilsons theories on metaprogramming our minds
11:48:51 <oklopol> i haven't read
11:49:38 <perdito> cosmic trigger.. illuminatus.. schroedingers cat and so on.. a lotta beatiful and funny books to read
11:50:08 <oklopol> i can't really stand pop sci
11:50:23 <oklopol> and i don't particularly enjoy fiction
11:50:47 <oklopol> not that i know what those books are about
11:51:54 <perdito> dunn wheter there ever will be a way to create sth like artficial intuition, but im sure we wont without channels as this
11:52:19 <perdito> and lucid dreaming programmers like you oklopol :)
11:55:17 <oklopol> would be fun if it turns out it's actually pretty easy to program a fully conscious program, it's just intuition is impossible to implement, these programs can play chess, and *know they're alive*, but they *still* can't love / realize a proof is essentially just an application of lagrange's theorem
11:55:21 <perdito> but first i really need to do sth bout this english-leaks
11:56:02 <oklopol> i'm not a programmer, i'm a mathematician! they call me "the computer scientist" at work, i work in the math dep :P
11:56:54 <ais523> oklopol: well, I was a mathematician first, then an engineer, then a computer scientist
11:56:56 <ais523> programming's just a hobby
11:57:19 <ais523> well, and I teach programming part-time
11:57:26 -!- nooga has quit (Ping timeout: 240 seconds).
11:58:26 <oklopol> "hey X, you're a computer scientist, wanna program this script for me?"
11:59:50 <perdito> softwaredev. needs it all.. maths, physics, pschycholgy, philosphy ..and ..uh..even martial arts *g
12:00:16 <oklopol> not seeing it, but easy to believe
12:00:45 <perdito> thanks 2 walls u can at least smash things on themt if they do not work as intended
12:00:50 <perdito> -->love
12:00:56 <perdito> remember
12:01:12 <oklopol> ah and if you know your martial arts, you might still be able to type
12:03:43 <oerjan> <oklopol> usually when i concentrate, i fall into a trance [...] but i think that's mostly "my thing" <-- sounds like what they call "flow" to me
12:04:07 <oklopol> hmm? like you follow people and eat food etc but you're not really there
12:08:42 <oerjan> also i have this matrix-like idea that when we dream we are actually connected to a different universe in which mathematical logic _does not exist_
12:08:52 <oklopol> :D
12:08:58 <oklopol> luv it!
12:16:32 <oerjan> hm today's iwc ... i guess the universe really _is_ doomed (again)
12:19:30 <ais523> oerjan: that arguably makes sense
12:19:30 -!- oklofok has joined.
12:19:54 -!- MigoMipo has quit (Read error: Connection reset by peer).
12:20:27 <oerjan> yeah doom at new years is becoming a tradition
12:20:42 <ais523> oerjan: oh, I was referring to dreaming connected to a universe without mathematical logic
12:20:55 <ais523> while dreaming, you're in a universe made of disconnected parts of your own thoughts
12:21:01 <oerjan> XD
12:21:01 <ais523> and mathematical logic tends not to be among them
12:21:34 <ais523> sometimes, when you wake up, you can reconstruct what parts of your dream-universe were made from
12:22:18 <oklofok> i often directly get something i've thought about during the day in my dream
12:22:23 -!- oklopol has quit (Ping timeout: 240 seconds).
12:22:31 <ais523> indeed, that's common
12:22:33 <oklofok> for instance that game where you can really die
12:22:56 <oklofok> it wasn't common for me, before one day i told someone that's never happened to me, and then i had a dream i told her that
12:22:58 <ais523> as in, if you die in the game, it kills the player not just the character?
12:23:00 <oklofok> which was... weird
12:23:03 <oerjan> oklofok: i vaguely recall in the logs _someone_ telling us to shout if he wasn't gone in an hour, about an hour ago
12:23:08 <oklofok> :D
12:23:09 <ais523> oklofok: that's beautiful
12:23:43 <oklofok> ais523: also happened with that thing where your eye muscle starts repeatedly contracting, what's its name
12:23:44 <perdito> awareness
12:23:48 <oklofok> i never had that
12:23:58 <oklofok> then a girl said she'd been having that all day
12:24:09 <oklofok> i told her i'd never even heard about that kind of thing
12:24:11 <oklofok> and i go home
12:24:14 <oklofok> and it happens
12:24:40 <oklofok> after that it was quite common for a while, nowadays i can stop that kind of thing
12:25:08 <oklofok> btw i don't really believe my own stories even though i know they are true
12:25:24 <oklofok> they sound too unlikely
12:26:24 <oklofok> and by i don't believe them i mean i find it hard to believe them
12:27:03 <oerjan> http://en.wikipedia.org/wiki/Fasciculation
12:28:29 <oklofok> "hearing about this concept" is not listed as a cause
12:29:14 <oerjan> or possibly http://en.wikipedia.org/wiki/Myokymia
12:29:50 -!- FireFly|n900 has quit (Read error: Connection reset by peer).
12:30:11 <oklofok> yeah so okay i'm leaving after this ep
12:30:18 <oklofok> 6 minutes
12:30:36 <oklofok> so if you need my expertise, ask now
12:31:39 <oerjan> oklofok: How much wood would a woodchuck chuck if a woodchuck would chuck wood?
12:32:07 <oklofok> depends on how it's changed to give it that ability
12:32:34 <oerjan> hm, imagine it being bitten by a radioactive beaver
12:32:38 <oklofok> hmm
12:34:00 <oklofok> it could chuck whole trees in a matter of hours
12:34:06 <perdito> rofl
12:34:12 -!- perdito has changed nick to perdito|afk.
12:34:27 <Vorpal> <oklofok> ais523: also happened with that thing where your eye muscle starts repeatedly contracting, what's its name <-- blinking?
12:34:34 <oklofok> :D
12:34:47 <oklofok> that was actually pretty funny
12:35:54 <oerjan> oklofok never blinked before
12:38:02 <oklofok> erm so
12:38:04 <oklofok> i'm going now
12:38:13 <oklofok> will close irc and everything
12:38:15 <oklofok> wish me luck
12:38:16 <Vorpal> okay
12:38:21 <oklofok> WISH
12:38:21 <Vorpal> oklofok, going to what?
12:38:27 <oklofok> i'm going to write stuff
12:38:30 <Vorpal> ah
12:38:31 <oerjan> BYE
12:38:32 <Vorpal> cya
12:38:42 <oklofok> ->
12:38:43 <Vorpal> and good luck
12:38:47 <oklofok> yay
12:38:51 -!- oklofok has quit.
12:40:27 -!- FireFly has joined.
12:41:56 -!- ais523 has quit (Read error: Connection reset by peer).
12:43:41 -!- perdito|afk has quit (Quit: perdito|afk).
12:44:38 -!- ais523 has joined.
12:44:45 -!- ais523 has quit (Changing host).
12:44:45 -!- ais523 has joined.
12:51:06 -!- FireFly|n900 has joined.
12:52:48 -!- ais523 has quit (Read error: Connection reset by peer).
12:53:29 -!- ais523 has joined.
13:11:20 -!- nopseudoidea has joined.
13:11:27 -!- elliott has joined.
13:14:44 <elliott> 22:44:32 <pikhq> My God. One could actually pretty much *have* Plan 9 just by replacing the Linux userspace.
13:14:46 <elliott> pikhq: glendix
13:15:06 <elliott> 01:13:31 <ais523> gah, the hard part of adminning #esoteric is occasionally I have to check twice whether something's spam or not
13:15:06 <elliott> 01:13:51 <ais523> I mean, someone adds a random sequence of letters and punctuation to the hello world list, is that spam or an esoprogram?
13:15:06 <elliott> 01:14:12 <ais523> (it's easy to tell, generally, but requires concious thought, I can't let spamfighting go on mental automatic)
13:15:10 <elliott> ais523: fail (first linem, #)
13:15:45 <elliott> 01:26:56 <oklopol> also in the world, islands weren't separated by water, but by emptiness, with only a bridge of sparsely distributed single blocks you could jump on to get across, i was sent to build a proper bridge across of these, alone, and my father told me i shouldn't go into the cave without torches because of all the foxes.
13:15:50 <elliott> this is better than minecraft
13:16:40 <elliott> 03:13:07 <ais523> oklopol: hmm, likely one of the Mario games then
13:16:43 <elliott> ais523: it was Minecraft
13:19:22 <elliott> 03:59:50 <perdito> softwaredev. needs it all.. maths, physics, pschycholgy, philosphy ..and ..uh..even martial arts *g
13:19:29 <elliott> what, software development is trivial and involves none of those
13:20:31 <Vorpal> elliott, surely you know kung-fu is invaluable when dealing with java?
13:20:50 <elliott> true.
13:21:02 <elliott> i have used physics to debug a complex tangle of gnu makefiles once
13:21:15 <elliott> (i dropped the hard drive from the top of a tall building)
13:21:19 <Vorpal> ah
13:21:26 <elliott> (note: story is fiction)
13:21:46 <elliott> :(, DMM licenses his comics non-freely.
13:21:47 <Vorpal> elliott, for being gnu, gnu make is quite decent
13:21:54 <Vorpal> elliott, since when?
13:21:59 <elliott> Vorpal: -nc-
13:22:03 <elliott> is nonfree
13:22:09 <Vorpal> elliott, depends on your definition
13:22:12 <elliott> discrimination against fields of endeavour
13:22:13 <elliott> no, it doesn't
13:22:26 <Vorpal> elliott, it is freer than "all rights reserved"
13:22:27 <oerjan> elliott: shush, clearly perdito intends to start a new and glorious age of software development
13:22:30 <elliott> it's against the DFSG, the OSI definition
13:22:39 <oerjan> there may even be giant robots involved
13:22:46 <elliott> won't even bother looking up the FSF's opinion, i think it's obvious :)
13:22:55 <elliott> Vorpal: freer -- "i'm slightly pregnant"
13:22:57 <Vorpal> elliott, nd I would have considered non-free
13:23:09 <Vorpal> elliott, that reply made no sense...
13:23:15 <elliott> no, it made perfect sense
13:23:23 <elliott> "my software is slightly unfree" -- "i'm slightly pregnant"
13:23:25 <elliott> no such thing.
13:23:31 <elliott> Vorpal: if you consider -nc- free you also have to consider -njews- free
13:23:37 <Vorpal> elliott, law of excluded middle?
13:23:40 <elliott> i.e., anybody but jews can redistribute this software
13:24:48 <Vorpal> elliott, free is a gradual scale. GPL is free. BSD is more free. that "do wtf you want" license is in some sense even more free
13:25:05 <elliott> you do realise i'm using free in the Free sense?
13:25:16 <oerjan> <elliott> Vorpal: freer -- "i'm slightly pregnant" <-- this is ridiculous since nothing in our current world can be truly free, there are always limitations
13:25:19 <Vorpal> elliott, as for njews, sure it is freer than all rights reserved. That isn't saying it is a good idea though
13:25:28 <elliott> http://www.debian.org/social_contract#guidelines, something is either entirely free or not free at all
13:25:31 <Vorpal> oerjan, indeed
13:25:33 <elliott> oerjan: um i don't see how that is true at all
13:25:37 <elliott> oerjan: please back that up
13:25:54 <Vorpal> elliott, you aren't free if you need to include info on who originally made it.
13:26:00 <Vorpal> thus *BSD is non-free
13:26:08 <elliott> not according to the definition of http://www.debian.org/social_contract#guidelines
13:26:11 <Vorpal> (see, this makes no sense)
13:26:15 <elliott> I'm saying Free here, not free, you're stupid
13:26:32 <elliott> "Free" means one of a few well-defined set of conditions
13:26:34 <elliott> for instance, http://www.debian.org/social_contract#guidelines
13:26:38 <Vorpal> elliott, you didn't use upper case above
13:26:43 <Vorpal> <elliott> :(, DMM licenses his comics non-freely.
13:26:48 <Vorpal> non-Freely surely?
13:26:50 <elliott> because the /other/ meaning of free is "costs no money"
13:26:55 <elliott> and it was damn obvious
13:27:01 <elliott> and i'm not about to start saying "libre"
13:27:02 <Vorpal> elliott, no it wasn't
13:27:09 <elliott> yes. indeed not to you
13:27:22 -!- Wamanuz2 has joined.
13:27:30 -!- Wamanuz has quit (Ping timeout: 265 seconds).
13:28:13 <Vorpal> elliott, sure it isn't DFSG compliant. But it is somewhat free.
13:28:26 <elliott> it is not Free(TM)(C)(R) at all
13:29:00 <Vorpal> perhaps. it is a lot more free than, for example, dillbert though.
13:29:08 <Vorpal> s/e,/e/
13:29:16 <Vorpal> hm
13:29:32 <Vorpal> (insert other grammar fixes here)
13:29:49 <elliott> Vorpal: define free
13:29:55 <elliott> if you mean Free, then no, no it's not
13:30:33 <Vorpal> elliott, I don't mean the DFSG sense. It should be obvious
13:30:54 <Vorpal> elliott, since that is a boolean sense. While I clearly refer to a gradual sense
13:30:58 <elliott> Vorpal: if you mean libre, well, good luck defining a scale of libre
13:31:04 <elliott> because there isn't really one
13:31:06 <Vorpal> elliott, I never said that either
13:31:13 <Vorpal> elliott, I'm pretty sure you know what I mean
13:31:21 <elliott> what, then?
13:31:22 <elliott> free of cost?
13:31:55 <elliott> Vorpal: ? I cannot think of any more definitions of free.
13:32:03 <elliott> Free, libre, and free as in beer
13:32:04 <elliott> what else
13:32:50 <Vorpal> elliott, the everyday sense that is a gradual scale from "all rights reserved, full DRM, costs a shitload" to "do what the fuck you want with this"
13:32:59 <elliott> Vorpal: so, libre.
13:33:15 <elliott> remind me to avoid using confusing french around you in future
13:33:17 <Vorpal> elliott, libre is not actually a gradual scale as commonly defined afaik
13:33:55 <Vorpal> or not at least in the sense most commonly used in relation to software
13:35:18 <elliott> i wonder if booting without an initramfs/initrd actually works these days
13:35:49 <ais523> now I have to read scrollback to see what the argument was about
13:36:11 <elliott> ais523: me saying that no, an -nc- license is *not* Free, Vorpal misinterpreting this and saying "but it's MORE FREE!!"
13:36:21 <ais523> <elliott> ais523: it was Minecraft <--- the dream was clearly a modified Minecraft, I was trying to figure out what it was modified /by/
13:36:31 <elliott> repeat until Vorpal reveals that he's not able to infer "Free" from "free" by obvious context
13:36:33 <coppro> /win 2
13:36:45 <elliott> ais523: 01:22:07 <oklopol> and then the elf in my party had a lesbian relationship with her twin or clone or whatever
13:36:51 <elliott> ais523: what the heck is that from then :P
13:37:04 <ais523> elliott: he explained a bit later
13:37:26 <coppro> elliott: what time is it right now?
13:37:33 <elliott> coppro: what?
13:37:41 <coppro> elliott: what time is it right now
13:37:45 <ais523> coppro: 08:37:05 when I asked your client what time it was
13:37:46 <elliott> 01:22:07 <oklopol> and then the elf in my party had a lesbian relationship with her twin or clone or whatever
13:37:46 <elliott> 01:26:56 <oklopol> also in the world, islands weren't separated by water, but by emptiness, with only a bridge of sparsely distributed single blocks you could jump on to get across, i was sent to build a proper bridge across of these, alone, and my father told me i shouldn't go into the cave without torches because of all the foxes.
13:37:46 <elliott> 01:27:19 <oklopol> and because it's particularly hard to use electricity in that particular cave... i had no idea what he was talking about
13:37:47 <elliott> 01:54:32 <oklopol> generally everything has sex with everything in my dreams
13:37:49 <elliott> 01:55:21 <oklopol> i make things have sex whenever i have lucid moments, and my dreams are usually half-lucid
13:37:51 <coppro> ais523: thanks
13:37:52 <elliott> 01:55:34 <oklopol> that i "kinda" know they are dreams
13:37:57 <elliott> ais523: i don't think that counts as explanation
13:38:11 <ais523> it's 13:37 in my timezone
13:38:19 <ais523> elliott: does to me
13:38:20 <coppro> double thanks
13:39:03 <elliott> ais523: well, I doubt he'd go out of his way to indicate a particular relationship if by his own admission he made /everyone/ had a relationship-by-some-definition
13:39:13 <elliott> therefore i consider his dream an unexplained phenomenon.
13:39:17 <elliott> we may never know.
13:39:21 <coppro> meh, dreams
13:39:25 <coppro> I don't have them often
13:39:31 <coppro> at least, I don't recall having them often
13:39:35 <coppro> probably I have them all the time
13:39:41 <ais523> you only remember a dream if you wake up during it
13:39:46 <ais523> that's why dreams never seem to get to the end
13:40:16 <elliott> ais523: do you have proof of that or a cite or whatever
13:40:19 <elliott> never heard that
13:40:24 <coppro> brains to seem to have this thing of not committing dreams to memory
13:40:28 <coppro> elliott: sounds about right
13:40:38 <oerjan> well sometimes you wake up because the dream does end, horribly
13:40:39 <ais523> elliott: no, it's something like third-hand info that I can't remember where I've read it
13:40:46 <ais523> but it's consistent with my experiences
13:40:50 <ais523> oerjan: arguably, that would be waking up during
13:40:52 <elliott> coppro: that doesn't count as evidence, though, especially because remembering what happens at the end of dreams just before you wake up is near-impossible
13:40:59 <elliott> oerjan is right though
13:41:00 <coppro> elliott: It's all hear-say anyways
13:41:05 <elliott> i've woken up right when i died in dreams
13:41:10 <elliott> coppro: there is actual dream research.
13:41:15 <ais523> I'd say it's because you died in the dream and the dream was still continuing
13:41:22 <ais523> but the death was a really obvious sign you were dreaming
13:41:26 <ais523> and thus, a prompt to wake up
13:41:33 <coppro> yes, but we can't empirically measure dream retention
13:41:49 <ais523> I wonder if, if you were lucid dreaming, you could die in your dream and then keep lucid control over the afterlife
13:42:12 <elliott> coppro: pi don't think that's necessarily true
13:42:13 <elliott> *i
13:42:20 <elliott> ais523: i doubt it :p
13:42:23 <coppro> I have to agree with ais523 on one thing, though
13:42:31 <ais523> I don't think it's obvious either way
13:42:38 <coppro> I only remember a dream if when I wake, I was dreaming right before
13:42:47 <coppro> (there. now we've avoided the "end of a dream" issue)
13:43:16 <oerjan> CLEVER
13:43:50 <elliott> but not clever enough for oerjan
13:43:57 <elliott> he will come and rip your soul out of your body
13:44:15 <elliott> Vorpal: btw, you said i shouldn't clobber owners on dirs etc. that have to be owned by a specific special-purpose user
13:44:31 <elliott> Vorpal: well, I'd have to chmod them in postinst anyway. because of course the target machine won't have the user, so the postinst script has to add it, and the UID might not be the same
13:45:48 <ais523> elliott: Debian actually has some sort of crazy systematic solution for that
13:45:54 <ais523> I can't remember what it is, but it's likely in debhelper somewhere
13:46:01 <elliott> ais523: and I have postinst scripts!!
13:46:08 <elliott> joy!
13:46:23 <elliott> $ ls
13:46:23 <elliott> description needs scripts source.tar version website
13:46:27 <elliott> this package manager is comin' together
13:46:58 <elliott> ais523: I *think* I've avoided the problem of understanding yours and CLC-INTERCAL's versioning systems altogether (for upgrades)
13:47:00 <ais523> hmm, gitorious is down
13:47:03 -!- MigoMipo has joined.
13:47:48 <elliott> ais523: I was considering bug-hunting C-INTERCAL to pass time, but then I realised I'd be entering the Realm of the ESR, and decided not to. you traitor :p
13:47:59 <elliott> (ok so i also decided it sounded like not much fun at all)
13:48:19 <ais523> you could try running the fuzz-tester, that's a) easy, and b) entirely written by me
13:48:41 <ais523> in fact, esr tried to stop me doing it (on the basis he thought I'd be wasting my time, admittedly, rather htan thinking it was necessarily a bad idea)
13:49:02 <elliott> ais523: the cathedral and the bazaar and the fascist dictatorial state
13:49:11 -!- perdito|afk has joined.
13:49:17 <elliott> ais523:and -- oh, I meant actually analysing and modifying the code by hand
13:49:20 <elliott> *ais523: and
13:49:24 <elliott> (preferably avoiding running it)
13:49:36 <elliott> ais523: you need to re-fork it :p
13:51:04 <elliott> ais523: (or maybe I'll just write ITRALCEN!)
13:51:43 <elliott> ais523: apropos nothing at all, have you seen http://steve-yegge.blogspot.com/2010/12/haskell-researchers-announce-discovery.html?
13:51:45 -!- nopseudoidea has quit (Quit: Quitte).
13:52:09 <elliott> [["I'm kind of surprised I'm the only person on earth who gives a shit about it," Briars continued. "I'd have thought there would be more people following the press releases closely and then not using Haskell. But they all just skip the press releases and go straight to the not using it part."]]
13:57:46 -!- perdito|afk has quit (Ping timeout: 245 seconds).
14:00:17 <elliott> "Would you please do me the kindness of adding a second "l" and a second "t" to my last name ("Elliott") in your link?" --Conal Elliott
14:00:19 <elliott> HE FEELS MY PAIN
14:03:18 <oerjan> you'll have to start a secret society of elliotts
14:04:49 -!- Sasha has joined.
14:04:52 -!- Sasha has quit (Client Quit).
14:05:30 -!- Sasha has joined.
14:07:59 <oerjan> elliott: i think someone's been reading a bit of onion
14:08:17 <oerjan> *the onion
14:08:36 <elliott> oerjan: also http://steve-yegge.blogspot.com/2010/07/wikileaks-to-leak-5000-open-source-java.html
14:08:47 <elliott> oerjan: it's funnier than the onion though, with the onion you can usually just read the headline and skip the rest
14:09:41 -!- perdito|afk has joined.
14:16:03 <elliott> ais523: would you appreciate the effort if I wrote something to convert every CPAN package to a Kitten package in the repos? :-P
14:16:10 -!- perdito|afk has quit (Quit: perdito|afk).
14:24:41 -!- perdito|afk has joined.
14:26:35 -!- perdito|afk has changed nick to perdito.
14:26:59 <Vorpal> elliott, do you know if python allows you to have values such as NaN and +/-inf for floating point without throwing exceptions?
14:27:10 <Vorpal> it seems to throw exceptions all the time when I try
14:27:39 <elliott> >>> float('nan')
14:27:39 <elliott> nan
14:27:43 <Vorpal> hm
14:27:44 <Vorpal> weird
14:27:46 <elliott> >>> float('inf')
14:27:46 <elliott> inf
14:27:46 <elliott> >>> float('-inf')
14:27:46 <elliott> -inf
14:27:54 <elliott> >>> float('asdf')
14:27:54 <elliott> ValueError: invalid literal for float(): asdf
14:27:58 <elliott> Vorpal: but 1./0. is not allowed.
14:28:04 <Vorpal> elliott, ah that explains it.
14:28:08 <elliott> it raises a ZeroDivisionError
14:28:18 <elliott> Vorpal: also math.isnan
14:28:21 <Vorpal> elliott, indeed, I would have expected it to act as IEEE prescribes
14:28:26 <elliott> and math.isinf
14:28:29 <Vorpal> indee
14:28:29 -!- perdito has changed nick to perdito|afk.
14:28:34 <Vorpal> indeed*
14:28:55 <Vorpal> elliott, wait, is float single or double?
14:29:00 <Vorpal> in python that is
14:29:13 <elliott> double i think
14:29:17 <Vorpal> ah good
14:29:22 <elliott> how can i check
14:29:29 -!- sftp has joined.
14:29:42 * elliott looks into postoffice
14:29:45 <Vorpal> well, I could do it as easily
14:29:53 <Vorpal> (which is the say, it involves some work)
14:30:10 <Vorpal> elliott, I wish the python REPL had tab complete
14:30:44 <elliott> Vorpal: put in ~/.pythonstartup
14:30:47 <elliott> import readline
14:30:51 <elliott> import rlcompleter
14:30:53 <elliott> readline.parse_and_bind('tab: complete')
14:30:59 <elliott> or whatever
14:31:05 <elliott> Vorpal: (and yes that works)
14:31:15 <Vorpal> why on earth is that not default then
14:31:19 <elliott> Vorpal: or try ipython
14:31:35 <elliott> Vorpal: which is the python REPL so bloated, it's basically a shell
14:31:41 <elliott> but it syntax-highlights :P
14:31:45 <Vorpal> haha
14:31:57 <elliott> probably in $your_distro
14:32:03 <Vorpal> elliott, so wait, this will tab complete stuff like myintvar.<tab here> to list possible members?
14:32:09 <Vorpal> that is the rlcompleter thingy
14:32:12 <elliott> Vorpal: maybe. it certainly works with modules
14:32:20 <elliott> Vorpal: oh there's also bpython, which also has integrated docs: http://bpython-interpreter.org/screenshots/
14:32:41 <Vorpal> elliott, hm are you sure about ~/.pythonstartup ?
14:32:47 -!- perdito|afk has quit (Ping timeout: 245 seconds).
14:32:47 <Vorpal> it seems to do absolutely nothing
14:32:50 <elliott> no i just googled :D
14:32:53 * Vorpal tries it directly in the shell
14:33:04 <elliott> PYTHONSTARTUP¶
14:33:04 <elliott> If this is the name of a readable file, the Python commands in that file are executed before the first prompt is displayed in interactive mode. The file is executed in the same namespace where interactive commands are executed so that objects defined or imported in it can be used without qualification in the interactive session. You can also change the prompts sys.ps1 and sys.ps2 in this file.
14:33:10 <elliott> Vorpal: set PYTHONSTARTUP=$HOME/.pythonstartup
14:33:13 <elliott> or .pythonrc or whatever
14:33:13 <Vorpal> elliott, heh
14:33:27 <elliott> http://bpython-interpreter.org/screenshots/ is actually really cool
14:33:42 <elliott> Vorpal: http://geoffford.wordpress.com/2009/01/20/python-repl-enhancement/ also saves history to a file
14:34:01 <elliott> haha, "/etc/postoffice.cf" oldschool
14:34:18 <Vorpal> elliott, other feature I would like: reloading a file into the shell without a pain calling sys.whatever(). (alternatively you could just restart python but then you lose that scrollback)
14:34:41 <elliott> Vorpal: try help(reload)
14:34:50 <elliott> e.g.
14:34:52 <elliott> >>> import sys
14:34:54 <elliott> >>> reload(sys)
14:34:59 <elliott> <module 'sys' (built-in)>
14:35:00 <Vorpal> elliott, I seem to remember it managed to crash python for me
14:35:06 <elliott> well, it shouldn't.
14:35:11 <elliott> also that only works if you import it as a module
14:35:22 <elliott> e.g. "from sys import * \n reload(sys)" won't change the in-scope definitions
14:35:32 <elliott> "from sys import * \n reload(sys) \n from sys import *" will though
14:35:39 <elliott> (but the old definitions will still be there, if any values got removed)
14:35:42 <Vorpal> hm
14:36:35 <Vorpal> elliott, the rlcompleter thing seems to do the job. :)
14:36:46 <elliott> Vorpal: you may want to nab the history-saving from that blog post too
14:36:51 <elliott> ok postoffice looks pretty cool
14:37:01 <Vorpal> elliott, is it an MTA?
14:37:01 <elliott> but still more configuration than i'd like
14:37:16 <Vorpal> elliott, also isn't .cf something to do with m4?
14:37:17 <elliott> Vorpal: well, it's an SMTP server/client
14:37:30 <Vorpal> at least I seem to remember that sendmail used .cf and also m4
14:37:37 <elliott> .cf is what sendmail used for configuration files, it's just that this guy was used to sendmail when he wrote postoffice
14:37:39 <elliott> so he stole the extension :)
14:37:42 <elliott> http://www.pell.portland.or.us/~orc/Code/postoffice/
14:37:46 <Vorpal> ah
14:38:03 <elliott> on the one hand, it looks like i'd have to do quite a bit of configuration. on the other hand, it looks like a lot less of a bitch to package than qmail!
14:38:31 <Vorpal> elliott, postfix is actually quite decent iirc. Qmail is better of course.
14:38:53 <elliott> Vorpal: I tried to use postfix once, and then I looked at the configuration files and my process tree.
14:38:55 <elliott> No thanks...
14:39:08 <Vorpal> hm
14:39:13 <Vorpal> elliott, what about the process tree?
14:39:39 <elliott> Vorpal: postfix likes to spawn a new process to do every single thing it can think of, because that way it can reduce their privileges
14:39:50 <elliott> so you end up with 1,000,000 processes each with their own postfix-specific user :)
14:39:51 <Vorpal> elliott, you do realise qmail is kind of like that too?
14:39:58 <elliott> Vorpal: yes, but postfix takes it to THE XTREME
14:40:06 <Vorpal> huh
14:40:28 <Vorpal> elliott, and I seem to remember qmail having far more users
14:40:34 <elliott> than postfix?
14:40:36 <Vorpal> yes
14:40:39 <elliott> postfix is very popular.
14:40:42 <elliott> qemu is quite niche. :P
14:40:50 <Vorpal> elliott, I meant user account
14:40:53 <Vorpal> accounts*
14:40:53 <elliott> ah
14:40:58 <elliott> but does it use them all at once?
14:41:36 <Vorpal> elliott, well, I believe it tends to start stuff as it needs for many things, just a handful running all the time, supervised by daemontools
14:41:48 <elliott> All I want is to route user@domain to ~user by default, define a few aliases/wildcards e.g. *@domain -> elliott@domain, and also if ~user/.filtermail exists, execute it for every incoming message with stdin being the headers and message body, then stop processing further if it exits 0 (if it exits 1) keep going
14:42:04 <elliott> and just put it in a maildir
14:42:05 <Vorpal> elliott, hm I can ssh to a computer with postfix and check user count
14:42:13 <Vorpal> one user, called postfix
14:42:28 <Vorpal> maybe different distros package it differently?
14:42:35 <elliott> or i'm misremembering...
14:42:38 <elliott> anyway it had a ton of processes
14:42:39 <elliott> that's all i remember
14:42:53 <elliott> Vorpal: anyway, if I packaged qemu, I'd have to replace the daemontools scripts with svmg scripts
14:42:55 <Vorpal> elliott, yes it does have 4 processes atm. But qmail is the account-insane one
14:43:03 <Vorpal> elliott, qemu?
14:43:03 <elliott> since svmg is almost a direct clone of daemontools/runit, that wouldn't be too hard, but still
14:43:06 <elliott> erm
14:43:06 <Vorpal> what has it got to do with it
14:43:07 <elliott> qmail
14:43:09 <Vorpal> ah
14:43:23 <elliott> also, that /package and /command crap
14:43:39 <elliott> i think only daemontools is packaged like *that* though
14:44:36 <elliott> <elliott> All I want is to route user@domain to ~user by default, define a few aliases/wildcards e.g. *@domain -> elliott@domain, and also if ~user/.filtermail exists, execute it for every incoming message with stdin being the headers and message body, then stop processing further if it exits 0 (if it exits 1) keep going
14:44:36 <elliott> <elliott> and just put it in a maildir
14:44:40 <elliott> i'm almost tempted to write it ;)
14:45:42 -!- Wamanuz2 has quit (Remote host closed the connection).
14:50:13 -!- nopseudoidea has joined.
14:51:26 <elliott> ok why isn't locale support working in uClibc
14:53:03 <elliott> /* Silly foreigners disabling en_US locales */
14:53:08 <elliott> --gen_wc8bit.c
14:55:51 <elliott> Yay, it's working now.
14:55:58 <elliott> Uh, sort of.
14:56:04 <elliott> TODO: look into locales some more.
15:00:33 <elliott> -rw-r--r-- 1 elliott elliott 1.7M Dec 2 14:56 lib/libc.a
15:00:36 <elliott> Eh, that's not bad.
15:00:54 <elliott> Ha! It's bigger than glibc on my system. I wonder why.
15:01:09 <elliott> Of course glibc is a .so.
15:01:33 <elliott> -rw-r--r-- 1 root root 4.3M Oct 31 00:34 /usr/lib/libc.a
15:01:33 <elliott> There.
15:01:41 <elliott> And of course there are dlopen'd parts of glibc...
15:01:47 -!- perdito|afk has joined.
15:03:57 -!- Wamanuz has joined.
15:04:56 <elliott> $ cat /proc/cpuinfo | awk '/^processor/ { print $3 }' | tail -1
15:05:01 <elliott> The ugliest way to get the number of cores possible.
15:05:06 <elliott> Wait, that actually needs +1.
15:05:13 <elliott> $ cat /proc/cpuinfo | awk '/^processor/ { print $3+1 }' | tail -1
15:05:40 -!- nopseudoidea has quit (Quit: Quitte).
15:06:34 <elliott> Oh, this is cleaner:
15:06:35 <elliott> cat /proc/cpuinfo | grep processor | awk '{a++} END {print a}'
15:08:01 -!- Phantom_Hoover has joined.
15:10:09 -!- ais523 has quit (Remote host closed the connection).
15:10:57 -!- oerjan has quit (Quit: leaving).
15:11:40 <elliott> /var/pkg/vi/scripts/build
15:11:42 <elliott> Mwahahaha, paths.
15:13:18 -!- jcp has quit (Read error: Operation timed out).
15:14:39 <elliott> pikhq: ugh! i need to put two filenames on a line. rapidly losing hope :)
15:15:01 <Phantom_Hoover> Why?
15:17:20 -!- jcp has joined.
15:17:27 <elliott> Phantom_Hoover: symlinks
15:17:48 <Phantom_Hoover> Go on.
15:18:36 <elliott> Phantom_Hoover: x -> y
15:19:02 <Phantom_Hoover> And this stops you putting two filenames on a line?
15:19:29 <elliott> Phantom_Hoover: every character but \0 is a valid component of a path
15:19:44 <Phantom_Hoover> Ah.
15:19:59 <elliott> googling "manifest file" is impossible thanks to java :(
15:29:01 <elliott> Phantom_Hoover: In fact I'm 90% of the way to not even bothering with a manifest...
15:32:57 <Phantom_Hoover> http://news.bbcimg.co.uk/media/images/50260000/jpg/_50260127_searchingforporn,bbc.jpg
15:33:07 <Phantom_Hoover> I can't even think of anything to say about that.
15:33:31 <elliott> That is now my favourite image.
15:33:32 -!- sshc has quit (Ping timeout: 264 seconds).
15:33:43 <elliott> Phantom_Hoover: Oh man, imagine the steps taken to create that image.
15:33:52 <elliott> Load up google, type in porn, get the camera out, tripod, zoom...
15:34:08 <Phantom_Hoover> Words fail me.
15:34:17 <elliott> "That angle's not the standard BBC Angle To Show Zoomed In Computer Screens At! (pretty sure they have one, just about every photo they do of that sort has an angle like that)"
15:34:19 <elliott> And, redo!
15:34:33 -!- sshc has joined.
15:38:06 -!- oerjan has joined.
15:39:47 <elliott> oerjan is a bath tub
15:42:41 <oerjan> that's just bubble, er babble
15:43:03 <Phantom_Hoover> oerjan, http://news.bbcimg.co.uk/media/images/50260000/jpg/_50260127_searchingforporn,bbc.jpg
15:43:05 <Phantom_Hoover> Comment.
15:44:08 <oerjan> {- porn -}
15:47:40 <elliott> Phantom_Hoover: Wanna help me build THE GLASS CUBE?
15:47:52 <Phantom_Hoover> Mining now, I assume?
15:48:11 <elliott> Phantom_Hoover: No! I'm getting the glass from the server, because you see, it involves 81 thousand pieces of sand.
15:48:24 <elliott> Phantom_Hoover: And while I *could* obtain that without difficulty, I would sooner kill myself than face that kind of tedium.
15:48:33 <Phantom_Hoover> Ah.
15:48:37 <elliott> Phantom_Hoover: Fun fact! When it goes underwater, I will have to use a bucket 128x128x64 = 1,048,576 times. This is because of the sea
15:48:50 <elliott> Phantom_Hoover: I do not like the sea
15:49:20 <Phantom_Hoover> i blame the sea gets in the way of construction
15:49:59 <elliott> indeed
15:51:18 <elliott> Phantom_Hoover: Is chat broken or something?
15:51:32 <Phantom_Hoover> No.
15:52:01 <elliott> Phantom_Hoover: it
15:52:03 <elliott> Phantom_Hoover: it is down
15:52:10 <elliott> NO LONGER
15:52:10 <Phantom_Hoover> Fair point.
15:52:13 <elliott> It is back up.
15:52:20 <elliott> Why do I have two pigs in my inventory.
15:52:20 <Phantom_Hoover> How will you deal with the bedrock?
15:52:46 <Phantom_Hoover> Finding a 128x128 block of it that's naturally smooth is an exercise in futility.
15:52:50 <elliott> Phantom_Hoover: help help help i'm stuck
15:52:53 <elliott> Phantom_Hoover: And, I just won't.
15:53:00 <elliott> Phantom_Hoover: It's okay for the very bottom floor to be a bit uneven.
15:53:07 <elliott> Phantom_Hoover: This thing *is* going to have something like 20 floors.
15:53:14 <elliott> Or more.
15:53:31 <elliott> Phantom_Hoover: The last three floors or so will be lined with obsidian on the walls and floors/ceilings, anyway (apart from the final bedrock floor).
15:53:38 <oerjan> !haskell 20^3
15:53:39 <elliott> Phantom_Hoover: They are intended for the post-apocalyptic scenarios.
15:54:08 <Phantom_Hoover> Perhaps I ought to do something about that...
15:54:13 <elliott> Phantom_Hoover: About what?
15:54:19 <Phantom_Hoover> The apocalypse.
15:54:21 <elliott> Ah.
15:54:31 <Phantom_Hoover> Wait, I have a 200-metre long warship under construction.
15:54:34 <Phantom_Hoover> Ostensibly.
15:54:37 <elliott> Indeed :P
15:55:16 <elliott> Phantom_Hoover: FUN FACT! My cube will be 2,097,152 m^3 (and thus blocks).
15:55:37 <elliott> Phantom_Hoover: I am going to rent out sections of it for free because let's face it, I can't even fill a 128x128 floor with my stuff.
15:55:48 <oerjan> !help
15:55:57 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
15:56:03 <oerjan> !haskell 20^3
15:56:05 <EgoBot> 8000
15:57:06 <oerjan> !haskell 2097152**(1/3)
15:57:10 <EgoBot> 127.99999999999997
15:57:45 <elliott> Phantom_Hoover: Oh, and I'm also going to need TONS OF LAVA.
15:57:57 <Phantom_Hoover> elliott, bug ineiros?
15:57:59 <elliott> Phantom_Hoover: I'd like the lighting layers to be just one tall, so I can't use a bunch of falls.
15:58:10 <elliott> Phantom_Hoover: So I'm going to need 128 * 128 * floors pieces of lava.
15:58:21 <elliott> Yeah, I'm gonna ask ineiros to put some readily-accessible lava near the spawnpoint. :p
16:04:25 <elliott> Phantom_Hoover: Taking a break already?
16:04:42 <oerjan> I love lava, red and hot
16:04:55 <Phantom_Hoover> Yes.
16:06:31 -!- perdito|afk has quit (Ping timeout: 245 seconds).
16:12:40 <yorick> meh minecraft
16:13:44 <elliott> We like it, shut up.
16:13:49 <oerjan> alas, poor yorick, stepping into a minefield
16:14:30 -!- ais523 has joined.
16:15:16 <oerjan> http://www.maumae.net/yorick/doc/index.php
16:15:26 -!- nopseudoidea has joined.
16:17:07 -!- perdito|afk has joined.
16:17:30 <elliott> ais523: does C-INTERCAL work with -jN?
16:17:36 <elliott> ais523: its makefile, that is
16:38:11 * yorick stabs the Yorick namers
16:38:46 <yorick> they're making those annoying "AI" bots say "yorick: you are an interpreted programming language"
16:52:54 <elliott> ais523: hmm, can I have your esoteric opinion on something?
16:53:01 <elliott> or oerjan's :P
17:08:52 <elliott> (fn P P) A = A.
17:08:52 <elliott> (fn P (F X)) A = (fn P F A) (fn P X A).
17:08:53 <elliott> (fn P X) A = X.
17:08:54 <elliott> Behold! Lambdas!
17:12:11 <oerjan> doesn't work if X is of the form (fn ... ...) with A inside somewhere
17:12:41 <elliott> oerjan: hm? howso?
17:12:47 <oerjan> er i mean P inside
17:13:01 <elliott> oerjan: don't quite see how that applies (although it certainly is failing in my tests :D
17:13:03 <elliott> *:D)
17:13:17 <elliott> also it seems to be non-lazy, Y foo is always diverging :p
17:13:20 <oerjan> ...you have no rule for that case
17:13:42 <oerjan> (fn P (fn Q P)) A
17:14:00 <elliott> oerjan: = (fn P ((fn Q) P)) A
17:14:07 <oerjan> and that's the case which requires all the alpha machinery
17:14:08 <elliott> oerjan: so F = fn Q, X = P
17:14:16 <elliott> but yeah fucking alpha conversion
17:14:20 <elliott> oerjan: i hereby invite you to fix it! ^_^
17:14:27 <oerjan> i hereby decline
17:15:54 <elliott> oerjan: a cool thing about this though
17:15:55 <elliott> >>> (fn x (fn y x)) hello
17:15:56 <elliott> ...
17:15:58 <elliott> fn y hello
17:16:02 <elliott> is that it SPECIALISES :P
17:17:42 <oerjan> mhm
17:17:56 <elliott> i'll try it with de bruijn indexes...
17:18:46 -!- augur has quit (Remote host closed the connection).
17:20:23 <elliott> meh :
17:20:24 <elliott> :p
17:21:11 <ais523> elliott: yep, it works with -jN for all positive integer N (that are small enough for make to parse correctly); and you can try to have my opinion, but I may not be paying attention
17:21:45 <elliott> ais523: alas, my problem was another entirely and your opinion is thus not useful
17:21:59 <elliott> ais523: but cool, let's see if i can get C-INTERCAL's latest release into Kitten 0.1
17:22:06 <elliott> ais523: is there a convenient list of dependencies?
17:22:45 <ais523> to what degree of granularity?
17:22:46 <ais523> there are several
17:22:57 <ais523> hmm, the list for DOS is probably best, as none of the software you need is installed on DOS by default
17:24:45 <ais523> binutils, gcc, make, bash, diffutils, fileutils, findutils, awk, sed, shellutils, textutils; bison and flex are needed to recompile all the way from sources, texinfo and asciidoc (ugh esr) for the documentation
17:25:55 <ais523> most are only needed for the build system to work
17:27:24 -!- nopseudoidea has quit (Quit: Quitte).
17:29:11 -!- Zuu has quit (Ping timeout: 272 seconds).
17:29:28 <elliott> ais523: asciidoc is nicer than texinfo, but why the fuck use two??
17:29:44 <elliott> ais523: also, I doubt the latest release requires AsciiDoc, only the git, right?
17:31:30 <elliott> ais523: in which case it doesn't matter
17:34:06 <elliott> "SonicBlue was sued over the commercial-skipping feature of ReplayTV on similar grounds. "Your contract when you get the show is you're going to watch the spots [advertisements]. … Any time you skip a commercial … you're actually stealing the programming," asserts Turner Broadcasting CEO Jamie Kellner. He admits that "there's a certain amount of tolerance" for going to the bathroom during commercials."
17:41:22 <elliott> ais523: ping?
17:42:25 <ais523> pong
17:42:35 <ais523> elliott: esr converted the README to asciidoc
17:42:41 <ais523> with the result that it has random backslashes in now
17:42:54 <elliott> ais523: so, only a problem in git. right.
17:42:58 <ais523> as soon as you introduce escaping, everything goes wrong with that sort of format
17:42:59 <ais523> and yes
17:43:42 <elliott> ais523: I'll probably be wholly unreasonable and maintain my own constantly-out-of-date C-INTERCAL that has all the non-stupid things merged back in. Should I call it something else? :p
17:44:28 <ais523> nah, just change what it stands for
17:44:38 <elliott> ais523: Anyway, so there are no library dependencies?
17:45:27 <ais523> no, apart from libc and the libraries it builds itself
17:45:30 <ais523> well, cfunge, but that's optional
17:47:09 <elliott> ais523: yeah i am *not* planning to build an iffi build :)
17:50:17 -!- augur has joined.
17:50:29 <elliott> ais523: Does this look kosher to you?
17:50:35 <elliott> ./configure --prefix=
17:50:47 <elliott> make install -j$(NPROCS) DESTDIR=$1
17:50:58 <elliott> To build C-INTERCAL.
17:51:02 <elliott> s/$(NPROCS)/$NPROCS/
17:53:05 -!- iamcal has joined.
17:54:00 -!- Zuu has joined.
17:54:02 -!- cal153 has quit (Ping timeout: 240 seconds).
17:55:52 <elliott> ais523: please tell me if I've misrepresented your compiler :P:
17:55:53 <elliott> C-INTERCAL is an implementation of Compiler Language With No
17:55:53 <elliott> Pronounceable Acronym, abbreviated INTERCAL; it acts as a deobfuscator
17:55:53 <elliott> by translating incomprehensible INTERCAL source code into vastly more
17:55:53 <elliott> readable machine code, going through a C compiler on the way. It
17:55:53 <elliott> supports all the common INTERCAL extensions, and has good
17:55:55 <elliott> compatibility with CLC-INTERCAL.
17:56:23 <elliott> (yes, yes, I stole the deobfuscator idea from the Debian packge description)
17:56:24 <elliott> *package
17:58:24 -!- atrapado has quit (Quit: Abandonando).
18:06:10 <oerjan> it's not kosher, it has shrimps in it
18:07:19 <elliott> ais523: i would like to express my complaint with c-intercal's default installation directories
18:07:24 <elliott> *express a complaint
18:08:38 <elliott> ais523: specifically, /share/ick-0.29/ should in fact be called /lib/ick-0.29/ or /libexec/ick-0.29/
18:08:47 <elliott> ais523: also, you shouldn't put the version name in the dirs like that
18:10:47 -!- nooga has joined.
18:11:08 <elliott> ais523: ok i may be wrong about the share thing. but ick-0.29 is still wrong
18:11:32 <elliott> especially for include/
18:14:29 -!- jcp has quit (Ping timeout: 245 seconds).
18:20:51 -!- jcp has joined.
18:27:44 <elliott> ais523: I fixed your bug :)
18:34:26 -!- jcp has quit (Ping timeout: 240 seconds).
18:39:51 -!- jcp has joined.
18:45:29 <Vorpal> elliott, ever used cython?
18:45:42 <elliott> Vorpal: i don't think i've *used* it but i know of it, yes
18:47:03 <Vorpal> elliott, I had a reversi-playing thing to write as an assignment, using alpha-beta pruning. Course uses Python. It was kind of slow. I optimised it as much as I could to be able to increase search depth from 3 ply to something greater. So 3 ply = about 19 seconds in pure python when playing against itself.
18:47:12 <Vorpal> elliott, with cython + some type annotation = 3 seconds
18:47:13 <Vorpal> :D
18:47:19 <Vorpal> python really really sucks
18:47:36 <Vorpal> very computation heavy though
18:48:04 <Vorpal> elliott, and well, lets see what adding further type annotation will do
18:48:24 <Vorpal> 2.3 seconds now
18:50:14 <elliott> Vorpal: are you sure they'll accept Cython...
18:50:23 <elliott> Vorpal: also, Did You Try Psyco First
18:50:34 <elliott> (TM)
18:50:40 <Vorpal> elliott, no, but I'll mention it in the report to hope to make them realise how silly python is for this task :P
18:50:46 <Vorpal> elliott, also down to 1.7 seconds
18:50:58 <elliott> Vorpal: try psyco (need 32-bit python)
18:51:01 <elliott> without any cython
18:51:09 <Vorpal> elliott, yeah I would need to setup a 32-bit python somewhere
18:51:13 <Vorpal> probably needs a chroot
18:52:04 <elliott> Vorpal:
18:52:05 <elliott> # pkgcross x86 python
18:52:10 <elliott> $ /arch/x86/bin/python foo.py
18:52:12 <Vorpal> elliott, on what system?
18:52:13 <Vorpal> ....
18:52:13 <elliott> oh wait sorry you don't use kitten NEVER MIND
18:52:21 <Vorpal> elliott, I can't use it yet
18:52:25 <Vorpal> so that is pointless
18:52:35 <elliott> yeah you can you just have to implement all the bits that aren't done or that i haven't released!
18:52:41 <elliott> which is ALL of them!
18:53:48 <elliott> CFLAGS=-Os ./configure --prefix=
18:53:48 <elliott> make install -j$NPROCS ICK_SPECIFIC_SUBDIR=ick DESTDIR="$1"
18:53:53 <elliott> Vorpal: look what horrible things ick makes me do!
18:53:57 <elliott> yes indeed, I have to set a whole ONE variable!
18:54:11 <elliott> (and only then because I think it should be that way anyway :P)
18:54:16 <elliott> Also, yes, the lack of / after --prefix= is intentional.
18:54:22 <elliott> because stuff does $(prefix)/foo
18:54:24 <elliott> which would become //foo
18:56:16 <Vorpal> elliott, hah
18:56:47 <elliott> Vorpal: (ICK_SPECIFIC_SUBDIR usually includes the version, which is stupid because this way it goes into /share/ick and /include/ick like it should, not /share/ick-<version> and /include/ick-<version>)
18:57:06 <Vorpal> elliott, also down to 0.6 seconds now. cython has a nice mode where it renders to html and colour codes lines (white to yellow) to indicate how much conversion between python and C data types is going on
18:57:08 <Vorpal> rather useful
18:57:44 -!- jcp has quit (Ping timeout: 250 seconds).
18:58:12 <elliott> is nobody on minecraft? :(
18:58:33 <Vorpal> elliott, no time today
18:59:30 <elliott> I'm at a bit of a loss as to where to build the Cube...
19:00:51 -!- jcp has joined.
19:02:42 -!- cheater99 has quit (Read error: Connection reset by peer).
19:09:57 <Vorpal> elliott, actually I have to say cython is quite a nice language to use. On one hand when you need speed it isn't sluggish. On the other hand you can still use "high level" stuff when you need (such as non-painful dynamically growing lists)
19:10:01 <Vorpal> and easily mix those
19:10:33 <nooga> the Cube? what?
19:13:09 <elliott> nooga: minecraft.
19:15:20 <elliott> falses = cons false falses.
19:15:20 <elliott> bch = bch1 nil falses.
19:15:20 <elliott> bch1 (state (L : Ls) Rs) (left : Ps) = bch1 (state Ls (L : Rs)) Ps.
19:15:20 <elliott> bch1 (state Ls (R : Rs)) (moustache : Ps) = bch1 (state ((not R) : Ls) Rs) Ps.
19:15:20 <elliott> bch1 (state Ls (R : Rs)) ((loop LPs) : Ps) = if R then bch1 (bch1 (bch1 Ls Rs LPs)) ((loop LPs) : Ps) else (bch1 (state Ls (R : Rs)) Ps).
19:15:22 <elliott> this better work
19:18:09 <elliott> it does not! but it is close
19:18:36 -!- cheater99 has joined.
19:29:06 <elliott> oerjan: ais523: could you delete [[Image:P''.png]]? thanks
19:31:05 <oerjan> i'm not an admin
19:33:06 <elliott> oerjan: well
19:33:07 <elliott> why not :P
19:33:34 <Slereah> Why are you programming in moustaches
19:34:32 <elliott> Slereah: it's what i call }
19:34:34 <elliott> i'm trying to do bitchanger
19:34:42 <elliott> in anemone
19:35:12 <Slereah> What's anemone?
19:35:15 <Slereah> State machine?
19:36:16 <Slereah> Oh
19:36:20 <Slereah> Just a...
19:36:22 <Slereah> What's the name
19:36:26 <Slereah> Like BNF
19:36:40 <oerjan> elliott: um you are still linking to that image from Prehistory. also that messes up the table of contents.
19:37:02 <elliott> oerjan: ' != &prime;
19:37:05 <elliott> Slereah: it's a term rewriter.
19:37:11 <elliott> not like bnf
19:37:24 <elliott> oerjan: good point about ToC, i'll fix
19:49:14 <oerjan> also presumably i'm not admin because no one has made me one
19:49:39 * oerjan now off to discover new and impressive tautologies
19:49:44 -!- Sgeo has joined.
19:49:54 <ais523> elliott: you know your advice about using IE when Firefox wouldn't download executables?
19:50:15 <ais523> it seems that something had really really locked the system down, IE wouldn't download them either but at least it gave a vaguely useful error message
19:50:25 <elliott> ah
19:50:46 <elliott> ais523: I asked you a few things when you were gone; can I re-paste them?
19:50:46 <Sgeo> Hey, elliott didn't respond to anything I said in the log
19:50:49 <Sgeo> That's unusual
19:50:51 <ais523> in the end, I had to identify Microsoft's download domains and set them to trusted status in IE, and also set the security settings for trusted sites (which atm is /only/ three microsoft.com subdomains) to the lowest settings
19:50:52 <ais523> elliott: go for it
19:51:00 <elliott> <elliott> ais523: Does this look kosher to you?
19:51:00 <elliott> <elliott> ./configure --prefix=
19:51:00 <elliott> <elliott> make install -j$(NPROCS) DESTDIR=$1
19:51:00 <elliott> <elliott> To build C-INTERCAL.
19:51:00 <elliott> <elliott> s/$(NPROCS)/$NPROCS/
19:51:03 <oerjan> ais523: like, the virus you wanted to download anti-virus for? >:D
19:51:04 <elliott> <elliott> ais523: please tell me if I've misrepresented your compiler :P:
19:51:05 <elliott> <elliott> C-INTERCAL is an implementation of Compiler Language With No
19:51:05 <elliott> <elliott> Pronounceable Acronym, abbreviated INTERCAL; it acts as a deobfuscator
19:51:07 <elliott> <elliott> by translating incomprehensible INTERCAL source code into vastly more
19:51:09 <elliott> <elliott> readable machine code, going through a C compiler on the way. It
19:51:11 <elliott> <elliott> supports all the common INTERCAL extensions, and has good
19:51:13 <elliott> <elliott> compatibility with CLC-INTERCAL.
19:51:15 <elliott> <elliott> (yes, yes, I stole the deobfuscator idea from the Debian packge description)
19:51:17 <elliott> <elliott> *package
19:51:19 <elliott> <elliott> ais523: i would like to express my complaint with c-intercal's default installation directories
19:51:21 <elliott> <elliott> *express a complaint
19:51:22 <elliott> <elliott> ais523: specifically, /share/ick-0.29/ should in fact be called /lib/ick-0.29/ or /libexec/ick-0.29/
19:51:26 <elliott> <elliott> ais523: also, you shouldn't put the version name in the dirs like that
19:51:28 <elliott> <elliott> ais523: ok i may be wrong about the share thing. but ick-0.29 is still wrong
19:51:30 <elliott> <elliott> especially for include/
19:51:32 <elliott> (the last one I've managed to fix without patching the code)
19:51:34 <elliott> make install -j$NPROCS ICK_SPECIFIC_SUBDIR=ick DESTDIR="$1"
19:51:37 <ais523> elliott: the versioned dirs are a historical thing, which cause all sorts of issues
19:51:39 <elliott> ais523: and finally, the non-question that is "please delete http://esolangs.org/wiki/Image:P''.png" :P
19:51:41 -!- HackEgo has quit (Ping timeout: 240 seconds).
19:51:48 <elliott> ais523: hmm
19:51:48 <ais523> there's a single line in the Makefile that can be changed to patch them back out
19:51:52 <ais523> also, what caused the image?
19:51:52 <elliott> ais523: you don't need to do that
19:51:55 <elliott> make install -j$NPROCS ICK_SPECIFIC_SUBDIR=ick DESTDIR="$1"
19:52:00 <elliott> ais523: I caused the image
19:52:06 <ais523> elliott: yep, but Debian prefer patching makefiles for some reason
19:52:09 <ais523> elliott: what were you trying to do?
19:52:11 <oerjan> elliott: i was just about to get ops now ;|
19:52:18 <elliott> oerjan: what, for flooding?
19:52:21 <elliott> ais523 gave me permission!
19:52:22 <elliott> ais523: get the P'' logo
19:52:27 <elliott> ais523: I've uploaded it under another name
19:52:30 <elliott> (with the prime characters)
19:52:33 <elliott> which is also easier to embed
19:52:37 <elliott> [[Image:]] doesn't like quoets
19:52:39 <elliott> *quotes
19:52:49 -!- Gregor has quit (Ping timeout: 245 seconds).
19:52:52 <elliott> ais523: anyway, are there any plans to set ICK_SPECIFIC_SUBDIR=ick by default in a future version?
19:52:53 <ais523> OK, done
19:52:57 -!- HackEgo has joined.
19:53:00 <ais523> elliott: no, not at the moment
19:53:10 <elliott> ais523: (btw, ick 0.-2.0.29 identifies as ick 0.29, but presumably that's intentional)
19:54:07 <ais523> elliott: indeed, alphas identify as the version they'll eventually be released as
19:54:15 -!- Gregor has joined.
19:54:38 <elliott> ais523: I'll probably stick with 0.-2.0.29 for a while, since it doesn't depend on asciidoc >:)
19:54:44 -!- Gregor has changed nick to Guest37696.
19:54:52 <oerjan> elliott: well it was damn hard to _notice_ the permission with all that flooding ;D
19:54:56 <elliott> ais523: btw, I should probably leave out the yacc build dependency and just use the prebuilt ones, right?
19:55:09 <ais523> elliott: I'm not sure
19:55:26 <ais523> oerjan: since when did I have permission to tell people to flood in this channel?
19:55:31 <ais523> also, are you an op? I keep losing track
19:55:33 <elliott> he's ais523
19:55:35 <oerjan> i am
19:55:36 <elliott> he has permission to do anything
19:55:44 <elliott> ais523: well, if the results would be identical whether I do or I don't, then I'll leave out the dependency to avoid wasting space
19:55:55 <ais523> also, Oozlybub and Murphy has the second best reason for its name ever, after INTERCAL
19:56:12 <ais523> elliott: they might not be if bison is upgraded to produce compatible but better output
19:56:21 <elliott> ais523: who said I'm using bison?
19:56:33 <ais523> ah
19:56:35 <elliott> ais523: heck, I'm not even using gcc :)
19:56:50 <ais523> I know SunOS lex has issues with lexer.l
19:56:50 <elliott> ais523: although I haven't yet tested C-INTERCAL with pcc
19:57:00 <ais523> because it uses hardcoded maximums, and they're too low
19:57:07 <elliott> ais523: here, I have a pcc/dietlibc toolchain here, let's see if it'll compile c-intercal
19:57:09 <ais523> you can increase the maximums with options, but seriously?
19:57:16 <ais523> elliott: I know it compiles cleanly with clang
19:57:37 <ais523> also, I had a go at getting it working with bcc (a 16-bit K&R C compiler), I can't remember whether I managed it or not
19:57:45 <elliott> ais523: by the way, I gunzipped the pax and then renamed it to .tar; am I a bad person?
19:57:51 <elliott> every package has to be /var/pkg/NAME/source.tar
19:57:55 <elliott> and I didn't feel like re-packing
19:59:29 <elliott> $ CC="$K/stage2/bin/diet -Os $K/stage2/bin/pcc" CFLAGS="" ./configure
19:59:31 <elliott> ais523: this better work!
20:00:02 <elliott> ais523: wow, that was a fast build
20:00:08 <elliott> $ time make -j3
20:00:08 <elliott> ...
20:00:09 <elliott> real0m4.847s
20:00:18 <elliott> slowest part was all that oilout stuff
20:00:19 <ais523> does it run?
20:00:28 <elliott> $ ./ick
20:00:28 <ais523> also, that's the slowest part of the build in gcc, too
20:00:28 <elliott> ICL999INO SKELETON IN MY CLOSET, WOE IS ME!
20:00:29 <elliott> ON THE WAY TO 1
20:00:29 <elliott> CORRECT SOURCE AND RESUBNIT
20:00:31 <elliott> ais523: close enough!
20:00:42 <elliott> ais523: -rwxr-xr-x 1 elliott elliott 384K Dec 2 19:59 ick
20:00:44 <ais523> elliott: hmm, I hate skeleton errors
20:00:45 <elliott> ais523: (statically linked)
20:00:54 <ais523> what if you try installing it?
20:01:00 -!- kar8nga has joined.
20:01:03 <ais523> or try ./ick -u to see where it's looking
20:01:05 <elliott> yeah, I'll just do it again with another prefix
20:01:18 <elliott> yeah, it looked in the totally wrong places
20:01:40 <elliott> ais523: anyway, 384K isn't bad, methinks
20:01:53 <oerjan> with skeleton errors you don't even have the bare bones of a solution
20:01:59 <elliott> ais523: especially considering that the dietlibc printf functions are very half-assed because felix thinks people shouldn't use them :)
20:02:07 <elliott> (they add like 7-8K to the binary)
20:02:15 <elliott> elliott@dinky:~/ick-0.29$ $K/cint/bin/ick
20:02:15 <elliott> elliott@dinky:~/ick-0.29$
20:02:18 <elliott> ais523: great success
20:02:30 <elliott> ais523: now, uh oh, does it know to use the CC it was compiled with?
20:03:50 <elliott> (did you ever respond to my package description? misrepresenting C-INTERCAL is incredibly shameful!)
20:04:11 <ais523> elliott: I'm not sure; it will respect the CC environment variable
20:04:24 <ais523> and it doesn't look that misrepresented, except that I find INTERCAL easier to read than the machinecode it compiles to
20:04:33 <elliott> any flag to ask it what it thinks CC is? :p
20:04:43 <elliott> ais523: what good would an *accurate* description of an INTERCAL compiler be?
20:05:16 -!- Sgeo has quit (Read error: Connection reset by peer).
20:07:10 <elliott> -rwxr-xr-x 1 elliott elliott 104K Dec 2 20:06 pi
20:07:22 <elliott> but it matches "GCC"
20:07:26 <elliott> indeed
20:07:41 <elliott> ais523: does it respect CFLAGS?
20:09:14 <ais523> elliott: I can't remember
20:09:16 <ais523> I don't think so
20:09:42 <ais523> elliott: if you use -c, the command to compile it will be dumped in the Emacs local variables header in the output
20:09:51 <elliott> yeah, I'm looking now
20:09:53 <elliott> it puts -O2 in there
20:09:55 <elliott> very irritating
20:10:19 <ais523> if you use -g, it doesn't optimise
20:10:27 <ais523> if you use -F, it goes up to -O3
20:10:48 <elliott> ais523: hmm... would you accept a patch that (1) modularised libick, so that each relevant block of code goes in its own .o, so that statically-linked INTERCAL program are smaller; (2) made it so that ick generates C programs that do not call printf and friends, directly or indirectly (instead using either fwrite or write, depending on what you'll let me get away with :)), and (3) respects CFLAGS?
20:10:55 <elliott> I could split those up, but I'm very lazy.
20:11:21 <elliott> ais523: the end result would be much smaller statically-linked programs, basically (and leaner dynamically-linked programs too, although you wouldn't really notice it)
20:11:30 <elliott> and also perhaps slightly faster, since printf is quite big
20:11:33 <elliott> emphasis on slightly
20:13:21 <ais523> elliott: splitting it up would help; I'd almost certainly accept (3), (2) and (1) are more contentious
20:13:37 <ais523> what do we use printf for in the generated C at the moment anyway?
20:13:47 <elliott> ais523: I have no idea; probably error reporting or something silly like that.
20:14:08 <elliott> ais523: I don't see why (1) should be contentious; it *only* affects libick.a, not any shared version (are there any?)
20:14:13 <ais523> what about replacing it with puts and putchar
20:14:34 <elliott> ais523: hmm... well, I wouldn't bother writing such a patch
20:14:55 <elliott> ais523: really, the improvements are: going from printf -> anything else; and going from stdio -> write(2)/read(2)
20:14:55 <ais523> elliott: changing which files exist require a) working out how they fit in with all the various permutations of build systems, b) working out which go in which version of libick.a, c) thinking up witty names for them
20:15:04 <elliott> both have a rather dramatic impact
20:15:10 <ais523> elliott: do you not have a libc that lets you set stdio as a thin wrapper?
20:15:18 <elliott> ais523: a thin wrapper? haha
20:15:24 <ais523> write(2) and read(2) aren't portable, they don't exist on Windows
20:15:32 <elliott> ais523: with the amount of stuff stdio is required to do, you can't make a thin wrapper
20:15:40 -!- EgoBot has quit (Ping timeout: 265 seconds).
20:15:46 <elliott> ais523: also, you use autoconf right?
20:15:52 <elliott> easy enough to condition on read/write being present
20:15:53 -!- HackEgo has quit (Ping timeout: 255 seconds).
20:16:07 <Phantom_Hoover> Hmm, mplayer is desyncing audio...
20:16:41 <Phantom_Hoover> -autosync 30 doesn't seem to help...
20:17:00 <elliott> ais523: I mean, 116K is really rather dismal, considering that useful dietlibc-based programs can be on the order of 7K.
20:17:02 -!- Guest37696 has quit (Ping timeout: 250 seconds).
20:17:14 <elliott> I'd say that these changes together could lead to, say, a 30K pi, as a first estimate.
20:17:26 <elliott> Perhaps a bit bigger.
20:18:43 <pikhq> elliott: I like how you don't have /usr.
20:19:02 <elliott> pikhq: I like that too! It's yet another reason for Vorpal to say he'll never use it ever.
20:19:10 <elliott> And lord knows I don't have nearly enough of those.
20:20:09 <elliott> pikhq: Maybe I'll be all old-school Unix and make /usr the home directory. :)
20:20:24 <pikhq> Hah.
20:20:48 <elliott> pikhq: Fun fact: /usr/bin originates from the fact there was, in research unix 4 or 5 or something, a user/group named bin, whose home directory -- /usr/bin -- had a bunch of tools.
20:20:53 <elliott> pikhq: I have seen this personally on an emulator.
20:21:04 <pikhq> That's amazing.
20:22:03 <elliott> pikhq: Then some luser decided that usr didn't mean usr because there was a single directory in there with binaries, and broke up everything.
20:22:22 <elliott> And now, kids, even today, it is used to justify silly partitioning schemes where nothing has any leg room.
20:22:25 <elliott> ~th end~
20:22:26 <elliott> *the end
20:22:49 <elliott> ais523: "Berkeley Yacc (byacc) is generally conceded to be the best yacc variant available. In contrast to bison, it is written to avoid dependencies upon a particular compiler."
20:22:56 <elliott> ais523: challenge: write a less objectively-agreed-upon statement than that
20:22:58 <elliott> well, than the first sentence
20:23:12 <Vorpal> wtf: running this reversi-algorithm against itself gave a pretty pattern looking like an arrow. A symmetrical one in colours
20:23:14 <elliott> "The Holocaust is generally conceded to have been a wonderful event full of puppies and unicorns."
20:23:24 * Vorpal goes to take a screenshot
20:23:30 <elliott> (not insulting byacc, just loling at the sentence)
20:24:07 <elliott> ais523: btw, according to my understanding of BSD/MIT/GPL, I have to include the license, with copyright notice, on every system that installs the package. is this true?
20:24:11 <pikhq> elliott: "Berkeley Yacc (byacc) is the One True Yacc."
20:24:33 <elliott> pikhq: "This is not the yacc you are looking for."
20:24:50 <elliott> pikhq: "OS/2 is widely regarded to be the best and most widely-used server operating system."
20:24:52 <oerjan> berkeley yacc is best yacc
20:25:10 -!- kar8nga has quit (Remote host closed the connection).
20:25:17 <pikhq> Just like North Korea is best Korea.
20:25:36 <elliott> pikhq: That is simply a factual statement.
20:25:40 <oerjan> THANK YOU, COMRADE OBVIOUS
20:26:04 <elliott> `addquote <oerjan> berkeley yacc is best yacc <pikhq> Just like North Korea is best Korea. <oerjan> THANK YOU, COMRADE OBVIOUS
20:26:20 <oerjan> alas, hackego just pinged out
20:26:36 <Phantom_Hoover> pikhq, I hear South... no, wait, they have professional StarCraft players.
20:26:45 <pikhq> oerjan: You're welcome, Comrade.
20:26:47 <elliott> oerjan: hackego totally needs to read the clog logs when it reconnects and perform all the actions there
20:26:47 <Phantom_Hoover> North is clearly superior.
20:26:50 <Vorpal> elliott, very strange result: http://sporksirc.net/~anmaster/tmp/reversi-ab_prune_against_self.png
20:26:51 <elliott> (after quoting them, naturally)
20:27:01 <elliott> Vorpal: <Vorpal> wtf: running this reversi-algorithm against itself gave a pretty pattern looking like an arrow. A symmetrical one in colours
20:27:05 <elliott> Vorpal: "in colours" made me think "colourful"
20:27:07 <elliott> i am disappointed
20:27:07 <pikhq> Phantom_Hoover: Televised and popular, no less.
20:27:13 <pikhq> Phantom_Hoover: They even make product endorsements.
20:27:15 <Vorpal> elliott, err what?
20:27:24 <Vorpal> elliott, how would that work?
20:27:29 <elliott> Vorpal: like N-colour reversi!
20:27:30 <elliott> somehow
20:27:33 <Vorpal> elliott, that would be nice
20:27:41 <Vorpal> elliott, but anyway, the pattern is strange
20:27:45 <Phantom_Hoover> pikhq, I am tempted to join the DPRK Appreciation Society.
20:28:09 <elliott> [[The My World Tour is an upcoming concert tour by Justin Bieber. It is his first official headlining tour, and is promoted by AEG Live, and Live Nation. The tour is anticipated to have multiple legs, and the supporting acts for the first will be Sean Kingston and Jessica Jarrell. Pop girl group The Stunners will also serve as an opening act for the first twenty dates. The tour is set to support his first release, My World, and its follow-up, My
20:28:10 <elliott> World 2.0. Who wants Justin the most? Decide now...
20:28:10 <elliott> CONTEST IS CLOSED. THE WINNER IS NORTH KOREA WITH 659141 VOTES]]
20:28:15 <elliott> I really hope he goes to North Korea.
20:28:17 <pikhq> "Democratic People's Republic of Korea" is such a mistranslation.
20:28:30 <elliott> pikhq: But the BEST mistranslation!
20:28:31 <pikhq> "Democratic People's Republic of Choson".
20:28:53 <elliott> pikhq: Oppressed Starver's Republic of Korea doesn't have the same ring to it.
20:29:16 <pikhq> elliott: They actually call the country Choson. For... No reason at all.
20:29:28 <elliott> corea
20:30:09 <elliott> oh, that poll isn't official
20:30:11 <elliott> LAME
20:30:45 <oerjan> http://en.wikipedia.org/wiki/Joseon_Dynasty
20:31:28 <pikhq> oerjan: Okay, okay, so it has historical relevance.
20:31:44 <pikhq> But still: the North and South can't even agree on what to call the country.
20:32:08 <pikhq> The ROK is Han, DPRK is Choson...
20:32:47 * oerjan thought Han referred to ethnic chinese
20:32:49 <elliott> pikhq: I went to put #kitten on freenode but it's REGISTERED so I'm going to make it on OFTC^WBest Free Software Network.
20:32:59 <elliott> Be there or be oblong.
20:33:08 <elliott> obloid.
20:36:06 <Ilari> Heh... There's apparently second cause of IPv6 making things "slow" besides the "computer thinks it has IPv6 but doesn't"-problem: IPv6 routing is a lot more unstable than IPv4 routing...
20:37:58 <elliott> ais523: so can I get the green-light to use write(2)/read(2) if they're present?
20:41:57 <pikhq> Ilari: Probably something to do with *significantly* fewer routers being IPv6.
20:42:00 <elliott> pikhq is just not cool enough for OFTC.
20:45:15 <Ilari> Or actually it is "computer doesn't have a route to destination via IPv6" problem.
20:45:37 <elliott> OFTC once declared war on pikhq.
20:46:28 * Phantom_Hoover declares war on pikhq.
20:47:31 * pikhq declares pikhq on war
20:48:07 <elliott> pikhq: OFTC! #KITTEN! SQUARENESS DONATED TO ALL NOT PRESENT!
20:48:32 <Ilari> Or the great IPv6 routing split...
20:51:12 <pikhq> Ilari: ?
20:51:45 <Ilari> Some IPv6 upstreams have seriously incomplete routing table...
20:51:53 <pikhq> *facepalm*
20:53:05 -!- Gregor has joined.
20:53:10 -!- Gregor has changed nick to Guest24183.
20:53:18 <Ilari> Fun issues ensue if are trying to reach host that is unroutable over IPv6 but reachable over IPv4.
20:53:39 -!- Guest24183 has changed nick to Gregor.
20:54:16 <oerjan> http://en.wikipedia.org/wiki/Han_(trilobite)
20:55:04 <oerjan> Gregor: yon bots are dead
20:55:19 <elliott> bon mots are dead
20:55:20 -!- wareya_ has joined.
20:57:11 <Gregor> oerjan: My friggin' everything was dead, patience :P
20:58:22 -!- HackEgo has joined.
20:58:22 -!- EgoBot has joined.
20:58:25 -!- wareya has quit (Ping timeout: 260 seconds).
20:59:00 <elliott> Gregor: PRGMR RELIABLE UPTIME
21:04:16 <pikhq> *pfft*
21:04:29 <pikhq> NASA discovers life form that uses arsenic instead of phosphorous.
21:04:52 <Phantom_Hoover> pikhq, hmm.
21:04:54 -!- fungot has quit (Ping timeout: 245 seconds).
21:05:00 <pikhq> That's... Woah.
21:05:09 <Phantom_Hoover> Wait, yes, yes it is.
21:05:18 <Phantom_Hoover> They _don't have DNA or RNA_.
21:05:39 <pikhq> Yes, they have completely different nucleic acids.
21:06:01 <elliott> Yes.
21:06:07 <elliott> Arse-nic.
21:06:26 -!- fizzie has quit (Ping timeout: 250 seconds).
21:08:28 <Ilari> Actually, apparetly only the PO4 linking groups have been replaced by AsO4 groups...
21:10:39 <pikhq> That's still pretty astounding.
21:12:13 -!- fizzie has joined.
21:19:07 -!- sjn has joined.
21:19:24 -!- sjn has left (?).
21:22:02 <elliott> brb
21:29:33 <Phantom_Hoover> How do I get this bloody computer to tell me my CPU model?
21:30:12 <oerjan> PRAY
21:32:08 <Phantom_Hoover> O god, tell me in thine infinite wisdom the model of mine unworthy CPU.
21:33:11 -!- MigoMipo_ has joined.
21:34:21 -!- MigoMipo has quit (Ping timeout: 240 seconds).
21:47:05 -!- kar8nga has joined.
21:51:43 -!- Zuu has quit (Read error: Connection reset by peer).
21:58:21 -!- Zuu has joined.
22:03:36 -!- perdito|afk has quit (Ping timeout: 245 seconds).
22:03:46 <pikhq> x264 is officially ridiculous.
22:03:52 <pikhq> http://x264.nl/developers/Dark_Shikari/Flash/UltraLowBitrateAnime.mp4 67 kbps encode.
22:04:02 <pikhq> I did not omit a digit there.
22:04:09 <pikhq> Sixty-seven kilobits per second.
22:06:00 <elliott> ha
22:08:13 <pikhq> And Dark Shikari claims he should redo that encode, because x264 has gotten better since.
22:12:59 -!- kar8nga has quit (Remote host closed the connection).
22:22:12 -!- Sgeo has joined.
22:29:52 <elliott> fog
22:32:29 <elliott> Phantom_Hoover: MC
22:32:36 <Phantom_Hoover> Nooooooooooooooooooooooo
22:32:43 <Phantom_Hoover> You: addicted.
22:32:52 <Phantom_Hoover> YOU HAVE BECOME AS UNTO VORPAL
22:34:47 <elliott> Phantom_Hoover: Actually, I'm just bored and MC without anyone else there is boring.
22:34:56 <Vorpal> Phantom_Hoover, what? don't insult me. I had other stuff to to today. I haven't been on
22:35:17 <Phantom_Hoover> Vorpal, I was actually mocking elliott there.
22:35:30 <Vorpal> Phantom_Hoover, and insulting me at the same time
22:35:39 <Phantom_Hoover> Since he went on about you being addicted whenever the server died and you asked ineiros why.
22:35:47 <Vorpal> Phantom_Hoover, indeed :P
22:35:56 <Vorpal> he is way more addicted than me
22:36:15 <elliott> Vorpal: Seriously?
22:36:20 <elliott> I don't actually play often at all.
22:36:22 <Vorpal> I just hated being interrupted in a task.
22:36:25 <Vorpal> in any task
22:36:25 <elliott> I haven't mined in days.
22:36:32 <elliott> In fact I've done nothing in days.
22:36:35 <Vorpal> elliott, you been on doing other stuff though
22:36:40 <elliott> Vorpal: Like?
22:36:42 <Vorpal> elliott, I saw you jumping that water fall
22:36:56 <elliott> Which waterfall? The one you made yesterday?
22:37:02 <Vorpal> elliott, the one I made yes
22:37:15 <elliott> You did that and *also* made it, so that does not demonstrate that I am "way more" addicted in any way.
22:37:19 <elliott> It just demonstrates that I do in fact play it.
22:37:40 <Vorpal> elliott, indeed but you have been complaining about no one being on today
22:37:48 <Vorpal> elliott, I almost never complained about the place being empty
22:38:01 <elliott> Because I've been rather bored today. Also I think I've complained twice.
22:38:16 <Vorpal> okay, I haven't counted
22:38:21 <elliott> 10:58:12 <elliott> is nobody on minecraft? :(
22:38:24 <elliott> <elliott> Phantom_Hoover: MC
22:38:27 <elliott> that's all
22:38:36 <Vorpal> elliott, anyway then you don't have to chat with people, instead you can get on building stuff!
22:38:39 <elliott> ok, I also bugged Phantom_Hoover about it in #kitten :P
22:38:49 <elliott> Vorpal: The only thing I want to build is the Cube and that needs the Server.
22:39:05 <Vorpal> elliott, you could locate an area, and start marking out the boundaries
22:39:21 <Vorpal> elliott, stuff like that just need a handful of dirt or cobblestone blocks
22:39:22 <Phantom_Hoover> elliott, you bugged me because you couldn't deal with the fact that a photo of a kitten is not in fact a very good logo.
22:39:38 <Vorpal> Phantom_Hoover, photos are almost never good logos
22:39:47 <Phantom_Hoover> Vorpal, as I told him!
22:39:49 <elliott> Vorpal: Not only was it a kitten, it was *on a computer*.
22:39:57 <Vorpal> logos need to be more... symbolic, line art
22:40:00 <elliott> Are you suggesting that there is something better than a kitten on a computer for ANY PURPOSE WHATSOEVER?
22:40:07 <Vorpal> elliott, it would work if it was lineart of a kitten on a computer
22:40:10 <Vorpal> but a photo: no
22:40:12 <elliott> <Vorpal> elliott, you could locate an area, and start marking out the boundaries
22:40:12 <elliott> <Vorpal> elliott, stuff like that just need a handful of dirt or cobblestone blocks
22:40:17 <elliott> i'm fairly sure I need to make my own sea.
22:40:20 <Phantom_Hoover> elliott, but it was a photo! And a jpeg! With a detailed and necessary background!
22:40:22 <Vorpal> elliott, hm
22:40:35 <pikhq> http://filebin.ca/tvzvtn/sintel_trailer-240-pass3.mkv
22:40:41 <pikhq> It's a 768k video.
22:40:42 <Phantom_Hoover> <Vorpal> make your own sea with cobblestone blocks
22:40:44 <pikhq> And it doesn't look bad.
22:40:50 <pikhq> (aside from being 240p)
22:40:54 <Vorpal> elliott, I suggest to the east because it will be closer to spawn than any other suitably large area
22:41:12 <Vorpal> elliott, and minecarts will be close. Skyway will need a bit more
22:41:15 <elliott> Vorpal: I don't care about proximity to spawn, only civilisation.
22:41:22 <Phantom_Hoover> "The Blender Foundation".
22:41:23 <elliott> Also Server said that he probably doesn't want it within 500 metres of spawn.
22:41:26 <Vorpal> elliott, well, it is close to civilisation too
22:41:34 <Vorpal> elliott, hm
22:41:39 <Vorpal> elliott, north-west then?
22:41:53 <Phantom_Hoover> pikhq, if that isn't related with the Society for the Advancement of Blenders I will be sorely disappointed.
22:41:57 <elliott> Vorpal: Perhaps. Or I could just flood a large area on the path of the skyway from Vorpal to Hoover.
22:42:02 <pikhq> I ♥ x264.
22:42:02 <elliott> Phantom_Hoover: Blender as in the 3D tool.
22:42:10 <Phantom_Hoover> elliott, sssshhhhh!
22:42:11 <Vorpal> elliott, that would work too
22:42:19 <elliott> Vorpal: I'd also need TNT to get rid of some of the bigger mountains, probably.
22:42:35 <Vorpal> elliott, as long as it is out of sight from my extruding glass room
22:42:39 <Vorpal> elliott, (on far)
22:42:47 <Phantom_Hoover> pikhq, how many opinions do you have about multimedia encoding?
22:42:57 <Vorpal> elliott, or if visible on far, at least some distance away
22:42:59 <pikhq> Phantom_Hoover: Many!
22:43:09 <elliott> Vorpal: If it isn't, that's not my fault; you don't own a huge radius around your mountain.
22:43:12 <pikhq> Phantom_Hoover: Rule #1: x264 is the best. Period.
22:43:14 <elliott> Anyway, it's made out of glass, dammit, it's transparent.
22:43:19 <Vorpal> elliott, I want a nature view, not looking up the side of an industrial building :P
22:43:41 <elliott> Vorpal: Yeah... you do realise this thing is gonna be darn pretty, right?
22:43:50 <elliott> It's ENTIRELY MADE OUT OF GLASS. With nice LAVA making it shine.
22:43:53 <Vorpal> elliott, and yes sure but not completely, anyway that valley below the skyway entrance I have built stuff like a lava fall in
22:43:59 <Vorpal> elliott, sure it is, but so is the nature
22:43:59 <Phantom_Hoover> pikhq, why?
22:44:02 <elliott> Well I'm not building /there/.
22:44:07 <Vorpal> elliott, :)
22:44:10 <elliott> Probably 1/3 of the way to Hoover or whatever.
22:44:14 <elliott> Wherever is flattest.
22:44:16 <Vorpal> elliott, that should be fine
22:44:22 <Vorpal> probably
22:44:51 <pikhq> Phantom_Hoover: It is literally the best encoder. To match its quality with an encoder for any *other* compression scheme, you need to *at least double* the bit rate.
22:44:54 <Vorpal> checking on map atm
22:45:16 <elliott> pikhq: Such a shame that H.264 is so proprietary.
22:45:43 <pikhq> Phantom_Hoover: And for h.264, it is similar in quality but slightly higher than the highest-quality proprietary encoder, and it beats all the others about as badly as it beats, say, MPEG-2 encoders.
22:45:56 -!- MigoMipo_ has quit (Quit: Quit).
22:46:08 <pikhq> elliott: It is a shame, indeed.
22:46:58 <Vorpal> elliott, you see that kind of rectangular mountain on http://a322.org/mc/topo-2010-11-29.png between me and PH? Just above the skyway. Quite close to my place. There is a blue area below it (lake). Beyond that mountain is quite flat. Why not there (and save the mountain as it is, it is pretty)
22:47:09 <Vorpal> elliott, it seems to be a solution that fits everyone
22:47:29 <Phantom_Hoover> The UK doesn't acknowledge software patents, does it?
22:47:32 <elliott> <pikhq> http://x264.nl/developers/Dark_Shikari/Flash/UltraLowBitrateAnime.mp4 67 kbps encode.
22:47:34 <elliott> just actually played this
22:47:43 <elliott> w.t.f. pikhq i was expecting lameish quality
22:47:47 <pikhq> elliott: And that's an *old* demonstration.
22:47:48 <elliott> it's better than youtube!
22:47:58 <elliott> Vorpal: Maybe. I'll see about it.
22:48:13 <elliott> Vorpal: I would prefer to use an existing sea. (Are there any known seas that are 128x128 big?)
22:48:19 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:48:19 <elliott> 128x128 is pretty big.
22:48:29 <elliott> In fact, how far does Far see?
22:49:05 <pikhq> elliott: If you reduce the resolution to about what Youtube uses for its lowest-quality videos, but keep the bit rate, you end up having an almost transparent encode.
22:49:12 -!- Sasha2 has joined.
22:49:13 <pikhq> See my filebin post.
22:49:37 <elliott> pikhq: Hmm... I just had a stupid thought that maybe might sorta work.
22:49:53 <Vorpal> elliott, hm
22:50:05 <Vorpal> <elliott> In fact, how far does Far see? <-- not sure, pretty far
22:50:10 <elliott> pikhq: Have lossy x264 encoding. For each frame, store a compressed -- PNG or whatever -- image diff of the lossy encoding to the lossless (i.e. lossless - lossy or whatever)
22:50:19 <elliott> Vorpal: 128 blocks far?
22:50:28 <Vorpal> elliott, more than that I think
22:50:34 <elliott> Vorpal: Aww.
22:50:37 <Vorpal> elliott, I can see from me to fizzie
22:50:44 <Vorpal> elliott, a bit more than that
22:50:45 <pikhq> I'm not sure that would be an *astounding* lossless compression scheme, but it would certainly work decently.
22:50:47 <elliott> That's not 128, I don't think.
22:51:00 <elliott> pikhq: Would it beat your zero-quantisation encodes?
22:51:10 <fizzie> Far sees a bit less than 200 blocks, but I'd say it's over 128.
22:51:20 <elliott> pikhq: I can't imagine the diffs being *too* big, even on a relatively low bitrate...
22:51:24 <fizzie> You can almost see the other end of PH's ship from one end.
22:51:28 <Vorpal> elliott, I'll measure on the map
22:51:31 <pikhq> elliott: I don't *think* so.
22:51:32 <elliott> pikhq: Then again, it is every single frame...
22:51:33 <Vorpal> fizzie, indeed
22:51:42 -!- Sasha has quit (Ping timeout: 276 seconds).
22:51:51 <pikhq> elliott: Though it would probably beat everything not x264 anyways. :P
22:52:00 <elliott> "You Must Learn JavaScript" ;; no I mustn't, you webfag.
22:52:23 <elliott> "It’s my belief that every single programmer should learn JavaScript." ;; one day you will discover that people write programs that don't get shown in Safari
22:52:43 <elliott> "Knowing JavaScript well is probably one of the most challenging and rewarding things you can do as a programmer."
22:52:44 <elliott> what?
22:52:48 <elliott> how is learning javascript challenging at all
22:52:50 <Vorpal> elliott, about 190 I'd say
22:53:06 <fizzie> Could even be 192. :p
22:53:12 <elliott> Probably 192, yeah.
22:53:12 <Vorpal> something like that
22:53:13 <elliott> :p
22:53:20 <Vorpal> it is approx, I measured on map
22:53:31 <elliott> Yeah, but there's no power of two near 192 other than... 192.
22:53:37 <Vorpal> indeed
22:53:44 <elliott> erm
22:53:46 <elliott> Yeah, but there's no power of two near 190 other than... 192.
22:53:55 <fizzie> 192 is not a power of two either, but still.
22:54:14 <Vorpal> elliott, and I believe it might be inexact. As in: a chunk is either visible or not
22:54:29 <Vorpal> the distance I measured was diagonal
22:54:33 <Vorpal> so that would be relevant
22:54:46 <elliott> fizzie: Close enough!
22:55:14 <fizzie> elliott: As for existing seas, a 128x128 block would fit to the big sea that's to east of spawn (not immediately east, but further; it starts about as far from spawn than Mt. Vorpal is, euclidinially speaking.
22:55:23 <pikhq> elliott: BTW: Youtube's video bitrates start at 250kbps and go up from there.
22:55:51 <Vorpal> elliott, I can see a distance that is at least 194 (near upper door entrance to end of huge stairs
22:55:57 <elliott> pikhq: Is it just me, or do YouTube videos load painfully slowly?
22:55:59 <Vorpal> elliott, which indicates it is probably per chunk
22:56:02 <pikhq> That's 250kbps for the 240p videos they had at the very start of the site.
22:56:02 <Vorpal> not per block
22:56:20 <elliott> fizzie: Yeah, but Server doesn't really want it within 500 blocks of spawn.
22:56:30 <elliott> fizzie: So I'm better off starting at civilisation and going from there.
22:56:45 <Vorpal> elliott, it would be 300 blocks away
22:56:49 <fizzie> Well, you could fit two 128x128 blocks in the big seas to the west, but those are pretty far.
22:56:50 <Vorpal> definitely not visible from spawn
22:57:14 <Vorpal> fizzie, not in one of them any more
22:57:27 <elliott> fizzie: I do not plan to make *two* 128x128x128 cubes. :p
22:57:46 <fizzie> Vorpal: Hm?
22:57:49 <Vorpal> fizzie, presumably you mean the one with a reed-lined shore?
22:58:01 <Vorpal> fizzie, near that "easter egg"?
22:58:03 <fizzie> No, I meant the other one.
22:58:20 <fizzie> To north of the reed-lined-shore one.
22:58:24 <Vorpal> fizzie, ah because I built a free-standing waterfall over ther
22:58:28 <Vorpal> right
22:58:29 <fizzie> Yes, I saw it.
22:58:33 <Vorpal> ah
22:58:38 <Vorpal> fizzie, tried it with a boat?
22:58:49 <fizzie> Yes. (I borrowed your boat.)
22:59:03 <Vorpal> fizzie, right
22:59:59 <elliott> fizzie: Are *you* too boring to Minecraft today, too?
23:00:21 <fizzie> Yes, I'm just about to go to sleep, actually.
23:00:29 <elliott> fizzie: So boering.
23:05:31 <elliott> test
23:06:35 -!- ais523 has quit (Read error: Connection reset by peer).
23:06:51 <Vorpal> elliott, I'll make a map with some suggestions for possible placements within existing oceans
23:06:54 <pikhq> Also fun: the source video, at 480p lossless x264, hits DVD target bitrates...
23:08:21 <fizzie> Incidentally, I head-estimated some numbers earlier. If you intend to empty 128x128x16 (a very low-end estimate assuming depth of 16) blocks of water one by one, and assuming one operation per second (I'm not sure what sort of overall throughput you'd get, but it's in the ballpark) that's take 262144 seconds = about 72 solid hours.
23:09:14 <elliott> fizzie: Yes, yes; I'm trying to think of *other* ways to drain the water other than doing it block-by-block.
23:09:30 <elliott> fizzie: Suggestions welcome :P
23:09:32 <elliott> Does TNT work in water?
23:12:01 <Vorpal> elliott, no
23:12:03 <elliott> fizzie's silence is not reassuring.
23:12:21 <fizzie> I've read something about safely removing TNT by detonating it underwater, so I'd guess no.
23:12:28 <Vorpal> elliott, TNT still generate shockwave in water. But it does not destroy blocks
23:12:33 <Vorpal> this is used to build TNT cannons
23:13:13 <fizzie> The wiki-page says "TNT can clear water and lava. -- However, if the TNT falls in water, the explosion will not destroy any blocks at all but still cause damage." -- which is quite unclear.
23:13:20 <fizzie> Also, smelting 128*128*16 (cube walls and ten interior levels, again a rather low estimate) blocks of sand into glass will take 728 hours (30 days). (And burn 32768 blocks of coal, or 2622 buckets of lava.)
23:13:54 <elliott> fizzie: Um, I was going to get the sand delivered to me in glass form.
23:14:01 <Vorpal> fizzie, what about placing the blocks assuming he had the glass?
23:14:20 <elliott> I think skipping the many-months-long process of gathering 81 thousand blocks of sand and smelting them all, which is trivially feasible, just really boring, is acceptable.
23:15:00 <fizzie> Vorpal: Well, it's the same amount of blocks than in the water estimate earlier, so assuming block/second throughput, another 72 hours.
23:15:23 <Vorpal> elliott, fizzie: http://sporksirc.net/~anmaster/tmp/placement.png
23:15:26 -!- GreaseMonkey has joined.
23:15:26 -!- GreaseMonkey has quit (Changing host).
23:15:26 -!- GreaseMonkey has joined.
23:15:55 <Vorpal> elliott, alt 3 which would be best is within 500 blocks
23:15:55 <elliott> fizzie: Anyway, I'd actually have to empty 128*128*64 blocks of water.
23:16:13 <elliott> I think 500 blocks was... not entirely serious.
23:16:14 <Vorpal> elliott, no. Since water only goes down to about 50
23:16:15 <Vorpal> so
23:16:22 <Vorpal> 64-50 for height
23:16:28 <elliott> Well, okay, but definitely not 16.
23:16:36 <elliott> fizzie: Anyway I'd build the actual levels over a long period of time.
23:16:39 <fizzie> 64-50 is 14.
23:16:39 <Vorpal> elliott, indeed. that is 14
23:16:40 <Vorpal> :P
23:16:54 <fizzie> The seas aren't very deep.
23:17:15 <Vorpal> indeed. And going down to 50 is rare. 52-53 is much more common
23:17:23 <Vorpal> with a few smaller pits of 50 or so
23:17:24 <elliott> True.
23:17:28 <fizzie> Still, you'd need to empty up that much space in general, so there.
23:17:41 <Vorpal> and you only get 52 out near the middle
23:17:42 <Vorpal> so yeah
23:17:49 <elliott> Anyway, I never said it'd be easy. :p
23:17:57 <Vorpal> elliott, still you need to mine a shitload of stuff below the sea
23:18:14 <elliott> Vorpal: Or just use TNT...
23:18:21 <fizzie> If you can conjure up sand/grovel, I think the fastest way of getting rid of water is to just keep placing those blocks to fill it all up (they fall, so you can do a whole column without moving), then shovel/blow-up them away.
23:18:49 <Vorpal> fizzie, you could do the torch trick
23:18:51 <elliott> fizzie: Problem is, I'd have to have walls in place already... meaning TNT would be unwise.
23:19:05 <fizzie> You could TNT in the middle, though.
23:19:16 <elliott> True.
23:19:17 <Vorpal> still a shitload of TNT to do it
23:19:20 <fizzie> And anyway, shovels are fast, faster than "take a bucket, dump it down".
23:19:22 <Vorpal> not sure I'd trust you with that
23:19:30 <Vorpal> (if I was that admin that is)
23:19:46 <elliott> fizzie: I would do 9 buckets at a time, obviously.
23:19:48 <elliott> But yeah.
23:19:59 <Vorpal> elliott, how would 9 buckets help?
23:20:01 -!- Sasha has joined.
23:20:03 -!- Sasha2 has quit (Ping timeout: 272 seconds).
23:20:07 <Vorpal> elliott, elliott you can just empty it into another source
23:20:11 <elliott> Vorpal: Larger period of monotony.
23:20:14 <Vorpal> elliott, next to the one you are removing
23:20:19 <Vorpal> elliott, which is probably faster
23:20:22 <elliott> Oh, you can? Compress two sources?
23:20:23 <elliott> Weird.
23:20:41 <Vorpal> elliott, it's minecraft, what did you expect?
23:20:52 <elliott> fizzie: Anyway, conjuring up sand is not the issue here, as I've established. :p
23:21:21 <elliott> Anyway, those who help construct it get bigger free-rented spaces.
23:21:26 <Vorpal> elliott, anyway since you don't plan water on top of the thing, getting rid of currents at the end should be ni issues
23:21:28 <Vorpal> issue*
23:22:00 <Vorpal> elliott, I can provide a shitload of cobblestone to help you with it certainly. For scaffolding and such
23:22:06 <Vorpal> also a shitload of dirt
23:22:27 <elliott> Vorpal: Work is more valuable than materials. :p
23:22:27 <Vorpal> elliott, I have at least one large chest full of cobble + several partly filled ones
23:22:43 <Vorpal> elliott, dirt: almost one filled
23:22:45 <Vorpal> (not completely)
23:22:47 <fizzie> Incidentally, in order to give you 128*128*16 blocks of time, ineiros will have to repeat the /give command 4096 times, and it'd be 152 inventories worth. So I'd think you'd perhaps better wait until hMod time before the building in order for not to have to ask for glass all the time.
23:22:55 <elliott> fizzie: He said he was going to automate it.
23:23:09 <elliott> fizzie: He *can* just create a file with a huge number of commands, you know, and paste it in.
23:23:19 <Vorpal> elliott, still you can decide on a place and put out markers there
23:23:24 <Vorpal> elliott, that you can do today
23:23:32 <Vorpal> elliott, so which of those places do you think is best?
23:23:35 <elliott> Vorpal: I'm not going to be awake for long enough to research all the places today.
23:23:47 <fizzie> Yes, but you can't really get more than one inventory full of glass at a time, the rest will probably go and disappear before you have time to get them.
23:23:49 <Vorpal> elliott, you saw the map I linked?
23:24:10 <Vorpal> elliott, it is basically one of them if you don't want to be WAAY off from civilisation or have to build your own sea
23:24:18 <Vorpal> and building your own sea is probably more work
23:24:33 <elliott> Vorpal: Yes, but more impressive. :p
23:24:50 <elliott> Vorpal: (And I wouldn't have to empty anything, if I built the underwater bit of the cube first.
23:24:51 <Vorpal> elliott, you know that the water-source duplication thing only happens on a flat surface right?
23:24:56 <Vorpal> elliott, up to altitude 1
23:24:59 <Vorpal> as in
23:25:02 <fizzie> You could've crop-to-selection'd the map a bit. :p
23:25:10 <Vorpal> you will have to build layer by layer down
23:25:17 <elliott> Vorpal: Yeah...
23:25:18 <Vorpal> fizzie, there are other sites further away
23:25:22 <elliott> Vorpal: But I can get walls in before that.
23:25:23 -!- oerjan has quit (Quit: Good night).
23:25:29 <Vorpal> elliott, so I think emptying it will be less work
23:25:37 <elliott> Vorpal: What I really need to do is get a bitmap image 128x128, side view, zoom in, and start planning.
23:25:38 <Vorpal> elliott, unless you want like a 2x wide channel around it
23:25:48 <elliott> I need to figure out how many floors there'll be, how to make sure level 0 has a floor there, etc.
23:25:49 <Vorpal> elliott, besides it won't look natural without a LOT of work
23:26:04 <elliott> I also need to do experiments to determine how often I need lava lighting.
23:26:11 <Vorpal> elliott, gimp: create new image, size 128x128
23:26:14 <elliott> Hopefully only once every two floors, where a floor is about 5 blocks high.
23:26:23 <elliott> I just hope that's enough.
23:26:29 -!- perdito|afk has joined.
23:26:40 <elliott> (Since I want lighting to seem even throughout the whole building, even a 1/3rd diminishing would probably be bad)
23:26:42 <Vorpal> elliott, you will certainly get lighting from below
23:26:50 <elliott> Vorpal: true
23:26:51 <Vorpal> hm
23:27:03 -!- Goosey has joined.
23:27:07 <elliott> I know there's a formula or whatever but experimenting is easier.
23:27:11 <Vorpal> elliott, also you *will* misplace blocks sometimes when building it
23:27:13 <elliott> (Ha, how practical of me.)
23:27:15 <elliott> Vorpal: I know!
23:27:21 -!- perdito|afk has changed nick to perdito.
23:27:23 <fizzie> You can experiment with torches; that's only one level less bright than lava.
23:27:23 <Vorpal> elliott, which means you might need a few hundred blocks more
23:27:41 <Vorpal> since they will be destroyed when you break them
23:28:02 <elliott> Vorpal: And I also need more glass for *other* things, which is why I'm just going to ask for 131,072 pieces of glass, because that's a nice round number.
23:28:06 <elliott> (2^17)
23:28:10 <elliott> Or thereabouts.
23:28:11 <elliott> Something like that.
23:28:13 <Vorpal> hah
23:28:17 <Vorpal> elliott, the other things being?
23:28:21 <Vorpal> elliott, interior walls?
23:28:35 <elliott> Vorpal: I need to build an underground tunnel to one of the first underground floors (the entrance; entering at ground level is fugly. So there'll just be a hole down to a glass, underwater tunnel connected to the cube.)
23:28:40 <elliott> And yes, interior walls.
23:28:43 <Vorpal> elliott, you realise that if you rent out space you need something that isn't glass to put things on
23:28:50 <elliott> And also the fact that I need two floors for some floors to sandwich the lava.
23:28:54 <elliott> Vorpal: I know that.
23:28:58 <Vorpal> elliott, and minecart tracks I believe won't go on glass
23:28:59 <elliott> Vorpal: Probably cloth, since it's nice and white.
23:29:07 <Vorpal> elliott, and burns :P
23:29:16 <elliott> Vorpal: Yeah, well, don't let the lava out. :P
23:29:19 <Vorpal> indeed
23:29:32 <elliott> Vorpal: And the bottom three levels will be completely obsidian-plated and lit with torches.
23:29:32 <Vorpal> elliott, you know those jumping embers from lava
23:29:33 <Vorpal> ?
23:29:35 <elliott> Yes.
23:29:49 <Vorpal> elliott, they don't hurt players but they *can* set fire to burnable blocks and burnable items
23:30:00 <fizzie> But you can't sensibly *get* 131072 blocks of glass at one time; even if ineiros generates that much by pasting in /give's, after your inventory is full, they'll just end up floating in the air where you were and disappear in 5-10 minutes. So you need some sort of glass-getting automation, and then you can just request as much as you actually need in sensibly-sized batches.
23:30:09 <elliott> Vorpal: You do realise the lava has glass on either side?
23:30:11 <Vorpal> elliott, not sure if they will jump through glass
23:30:18 <Vorpal> elliott, I mean, considering how they are coded in general
23:30:25 <elliott> fizzie: I'm going to make like 50 large chests, durr. :P
23:30:28 <Vorpal> elliott, I have seen them jump through stone
23:30:41 <elliott> Vorpal: Well, I've never been hurt inside the Glass Room of Hoover's.
23:30:50 <elliott> or rather
23:30:53 <elliott> never seen any embers at all
23:31:00 <Vorpal> elliott, hm
23:31:10 <Vorpal> I believe they jump up
23:31:12 <Vorpal> not down
23:31:23 <Vorpal> elliott, requesting in batches is probably better since that way you don't need to load from the chest
23:31:39 <elliott> Vorpal: Well, to hit anything other than glass, they'd have to get through glass *and* whatever floor is being used in that part.
23:31:51 <elliott> Also, yeah, I probably will. But a batch should fill 3 large chests are so.
23:31:52 <elliott> *or so.
23:31:55 <elliott> Because I need a lot. :p
23:32:04 <Vorpal> hm
23:32:31 <Vorpal> elliott, you might want to build a cobblestone 130x130 container and empty the water in it. Maybe
23:32:38 <Vorpal> then build the thing inside
23:32:41 <Vorpal> then remove the cobble
23:32:52 <elliott> Vorpal: Yes, most likely.
23:33:12 <Vorpal> elliott, also it needs a boatlevator.
23:33:17 <Vorpal> elliott, do you know how far mine goes?
23:33:18 <elliott> Yeah, you can build that. :p
23:33:23 <Vorpal> elliott, in altitude
23:33:29 <elliott> Down near bedrock, yes. I successfully rode it today.
23:33:35 <elliott> I don't see how it'd work with 20 or so stops, though.
23:33:45 <Vorpal> elliott, 5 above bedrock to 15 or so below max alt
23:33:46 <elliott> Vorpal: At least I'll be able to proudly say that without the laws of physics changing, nobody will ever make a bigger cube than this.
23:33:55 <Vorpal> elliott, hm stops would be an issue yeah
23:34:06 <Vorpal> elliott, but maybe one to get to ground floor and then one to get to near max
23:34:20 <Vorpal> elliott, remember it needs like 7 blocks at the top due to jumping up quite a bit
23:34:29 <elliott> Vorpal: I was just going to use regular stairs; I mean, it wouldn't be that big a deal.
23:34:38 <elliott> Although stairs are ugley.
23:34:45 <elliott> (I'd use wood.)
23:34:59 <Vorpal> hm
23:35:08 <Vorpal> elliott, that would take forever to go up
23:35:20 <elliott> Vorpal: Not *really*; have you ever walked up the bedrock-to-max Stairs?
23:35:27 <Vorpal> elliott, sure I have
23:35:28 <elliott> It only takes a minute or two, and that's for all the way.
23:35:40 <Vorpal> elliott, and boatlevator takes.... 8 seconds or so?
23:35:48 <Vorpal> plus maybe up to 20 to wait for the boat
23:35:50 <elliott> Vorpal: Yes, but there needs to be a second or two at every single stop.
23:35:57 <elliott> Let's say there's 20 floors; that's about right.
23:35:58 <elliott> 1.5 * 20 = 30.
23:36:03 <Vorpal> hm
23:36:04 <Vorpal> okay
23:36:04 <elliott> So it has to take more than 30 seconds.
23:36:12 <Vorpal> well
23:36:17 <Vorpal> it won't be 20 if it is that short
23:36:18 <elliott> And it's also, well, not that reliable if someone turns.
23:36:27 <elliott> Vorpal: Eh?
23:36:37 <Vorpal> oh right
23:36:45 <Vorpal> I thought 20 was the delay
23:36:46 <elliott> Let's say a floor's 6 high on average, taking into account that some of them will have 3-thick floors (extra lava layer, and ceiling); that's 21 floors.
23:36:48 <Vorpal> floors
23:36:50 <elliott> Right.
23:37:09 <Vorpal> elliott, anyway boatlevator is not practical for anything less than, say, 60 blocks at a time
23:37:14 <Vorpal> elliott, hm I seen another design
23:37:18 <Vorpal> that allowed entry on side
23:37:24 <Vorpal> and used a drop shaft to get down
23:37:29 <Vorpal> elliott, I haven't tried it
23:37:41 <elliott> Vorpal: Still; if anyone presses A or D there's a complete transport blackout in the Cube. :p
23:37:45 <elliott> At least stairs never die.
23:37:49 <Vorpal> but it might work if we only want to go up to one place from a lot of different ones
23:37:56 <elliott> Gregor: http://src.chromium.org/viewvc/chrome/trunk/src/build/whitespace_file.txt?r1=67679&r2=67678&pathrev=67679
23:37:58 <elliott> Gregor: Chrome: Somewhat sparta.
23:37:59 <Vorpal> elliott, true
23:38:00 <elliott> *Sparta.
23:38:36 <elliott> Vorpal: Anyway I'm up for just about anything; the current plan is to just get it built, with lighting and completely empty floors.
23:38:45 <elliott> Vorpal: Then we can smash a hole in it for an entrance, and go from there.
23:39:16 <Vorpal> elliott, making holes in the lava levels would be annoying
23:39:22 <elliott> Vorpal: What would be cool is having people's homes that are multi-storey; i.e. the regular floors aren't there, just an entrance and then whatever they want inside that block.
23:39:37 <elliott> Vorpal: Yes, it would. I might figure out where to poke holes in the ceilings first.
23:39:37 <Vorpal> elliott, I don't think you can place ladders on glass anyway so they are out of question I guess
23:39:49 <elliott> Vorpal: I can always put some cloth against a wall...
23:39:53 <Vorpal> true
23:40:01 <elliott> Vorpal: Hell, I'd be fine lining every floor with cloth too.
23:40:11 <Vorpal> elliott, I don't think you need that
23:40:13 <elliott> As long as the whole thing is transparent from a distance. :p
23:40:17 <elliott> Vorpal: Carpet!
23:40:25 <Vorpal> elliott, just that you can't place "those not really blocks" on there
23:40:36 <Vorpal> such as torches, tracks, and what not
23:40:41 <elliott> That's so a flaw in Minecraft, though; why can't they go on glass. :p
23:41:02 <elliott> The roof will be fun, you'll be able to climb up there and jump off into the sea.
23:41:18 <Vorpal> elliott, it's a feature I bet. A feature to not need to make a texture for the back of a torch mounted against a wall or something
23:41:21 <Vorpal> MAYBE
23:41:29 <Vorpal> who knows
23:41:46 <Vorpal> elliott, also minecart on glass: that would never work
23:41:51 <elliott> Vorpal: why not!
23:42:06 <Vorpal> elliott, I mean, it is completely unrealistic. Consider the load. Oh wait, this is minecraft.
23:42:12 <elliott> Vorpal: Precisely :P
23:42:26 <elliott> If it was realistic, you could fall from a distance onto glass and it'd shatter.
23:42:36 <Vorpal> indeed
23:42:51 <Vorpal> and you wouldn't get cubical cloth from sheep
23:43:01 <Vorpal> and it wouldn't last as an outdoor road anyway
23:43:46 <fizzie> A cubic metre of cloth from a single sheep is a bit dubious too, even assuming you skip some steps there.
23:44:03 <elliott> fizzie: More than that; you get two or three blocks.
23:44:40 <Vorpal> and also obsidian a volcanic glass says wikipedia
23:44:41 <Vorpal> huh
23:44:47 <elliott> Well, lava.
23:45:04 <Vorpal> "Obsidian has been used for blades in surgery, as well-crafted obsidian blades have a cutting edge many times sharper than high-quality steel surgical scalpels, the cutting edge of the blade being only about 3 nanometres thick."
23:45:08 <Vorpal> wow that is cool
23:45:14 <elliott> Heh, nice.
23:45:18 <elliott> See, in Minecraft, it's just a bitch to mine. :P
23:45:32 <Vorpal> elliott, and diamond should be harder actually
23:45:33 <elliott> But it will be good for the last three levels, for when the world goes to shit!
23:45:50 <Vorpal> "Even the sharpest metal knife has a jagged, irregular blade when viewed under a strong enough microscope; when examined even under an electron microscope an obsidian blade is still smooth and even. One study found that obsidian incisions produced narrower scars, fewer inflammatory cells, and less granulation tissue in a group of rats."
23:45:53 -!- sftp has quit (Remote host closed the connection).
23:45:57 <elliott> All the supplies and tools you need to rebuild the world, obsidian-lined for extra protection, and with indestructible bedrock base.
23:46:06 <elliott> Nothing could be safer -- and by god don't fuck it up this time around.
23:46:10 <Vorpal> "Obsidian is also used for ornamental purposes and as a gemstone. It possesses the property of presenting a different appearance according to the manner in which it is cut: when cut in one direction it is jet black; in another it is glistening gray. "Apache tears" are small rounded obsidian nuggets embedded within a grayish-white perlite matrix."
23:46:19 <elliott> It is very pretty.
23:46:50 <Vorpal> elliott, will you mine that obsidian?
23:46:54 <elliott> "Apparently this removal of comprehension notation was due to the fact that generalising comprehensions to monads made errors arising from comprehensions difficult for novices to understand."
23:46:57 <Vorpal> elliott, I mean seriously that will be a pain
23:46:58 <elliott> hahahaha
23:47:05 <elliott> Like that's the most of the problem with GHC's errors!
23:47:12 <elliott> Vorpal: No, I'll probably just make it lava and wet it. :p
23:47:18 <elliott> (TODO: figure out how to do vertical lava.)
23:47:21 <Vorpal> elliott, they removed comprehension?
23:47:25 <Vorpal> for what?
23:47:28 <Vorpal> lists?
23:47:28 <elliott> Vorpal: Monad comprehension.
23:47:30 <elliott> In 1998.
23:47:31 <Vorpal> ah
23:47:40 <Vorpal> right
23:47:47 <elliott> But lol @ removing it because it makes errors hard to understand; GHC mocks this pitiful attempt.
23:47:59 <Vorpal> elliott, I can't figure out what monad comprehension is exactly
23:48:09 <Vorpal> I mean, I can't imagine what the concept would be
23:48:11 <elliott> Vorpal: List comprehension, but for monads.
23:48:29 <Vorpal> hm
23:48:30 -!- FireFly has quit (Quit: swatted to death).
23:48:34 <Vorpal> elliott, that makes my head spin
23:48:36 <elliott> Vorpal: See http://blog.n-sch.de/2010/11/27/fun-with-monad-comprehensions/.
23:48:42 <elliott> It explains it nicely.
23:48:44 <Vorpal> "Plinths for audio turntables have been made of obsidian since the 1970s; e.g. the greyish-black SH-10B3 plinth by Technics."
23:49:13 <elliott> Hrmm...
23:49:19 <elliott> pikhq: You, Only Person Who Will Use Kitten Who Isn't Me!
23:49:40 <elliott> pikhq: Should the main libc be dietlibc or uClibc? uClibc executables aren't as small as dietlibc in my experience -- like 17K vs 7K.
23:49:50 <elliott> pikhq: And they have a lot of "why is that in there?" symbols.
23:49:56 <Vorpal> wow
23:50:09 <elliott> Vorpal: ?
23:50:18 <Vorpal> read part of that link
23:50:32 <elliott> Ah.
23:50:38 <elliott> pikhq: Oh, and I'm not quite sure dietlibc does locales... but anyway.
23:51:50 <Vorpal> elliott, ugh if it doesn't
23:52:18 <elliott> Vorpal: Yeah, yeah, it's all experimental, let me figure things out first.
23:52:26 -!- augur has quit (Remote host closed the connection).
23:52:32 <elliott> Vorpal: I just don't want to settle for the second-best libc. :p
23:52:47 <elliott> Vorpal: (And I put a lot of effort into getting dietlibc to compile with pcc, let me tell you! I doubt uClibc will compile with non-gcc any time soon...)
23:52:55 <Vorpal> elliott, well one lacking locales surely can't be the best :P
23:53:06 -!- augur has joined.
23:53:29 <Vorpal> elliott, on MC?
23:53:41 <elliott> Not this second, but I can be in two seconds; are you going on?
23:53:43 -!- augur has quit (Remote host closed the connection).
23:54:02 <Vorpal> elliott, I just logged on
23:54:08 <Vorpal> will be on for a few minutes at least
23:55:43 <elliott> Coming on.
23:56:32 <pikhq> elliott: Okay, maybe a US English-only system would be tolerable.
23:56:45 <pikhq> elliott: Because dietlibc is just so insanely small.
23:58:37 <elliott> pikhq: It might support locales, I don't know. I might be able to patch in locale support./
23:58:47 <pikhq> Probably doesn't.
23:58:48 <elliott> pikhq: But really I'm just not sure; uClibc definitely has wider support.
23:58:50 <pikhq> That would be code size.
23:59:28 <pikhq> elliott: Downside to trying to have uclibc and dietlibc both: you will need a seperate lib dir for each.
23:59:49 <pikhq> As they are entirely seperate ABIs.
2010-12-03
00:00:23 <pikhq> (see, this sort of thing is what makes the multiple-ABI directory layout thing not a terrible idea!)
00:00:45 <elliott> pikhq: /lib/{libc.a,crt*.o} is main libc; /lib/otherlibname/* is the other one. :p
00:01:42 <pikhq> elliott: Well, that actually does work for static linking... *shrug*
00:01:50 <elliott> pikhq: (I suppose I don't want to build every lib twice, though, against a different libc...)
00:02:09 <pikhq> Only the libraries that'll actually work against dietlibc.
00:02:17 <pikhq> Which is *not* going to be universal.
00:02:33 <pikhq> Or even incredibly common.
00:03:02 <elliott> pikhq: That's what makes me want to use uClibc.
00:03:13 <elliott> pikhq: But man, nm -a a uClibc'd executable some time. Bloooooat.
00:32:25 <Vorpal> elliott, down?
00:32:39 <elliott> Perhaps. :P
00:32:39 <Vorpal> elliott, the next torch is close to me, there is a chest a bit further along
00:32:50 <elliott> Ah.
00:33:58 <Vorpal> elliott, up
00:38:24 -!- Sasha2 has joined.
00:39:01 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
00:39:55 -!- augur has joined.
00:40:03 -!- Sasha has quit (Ping timeout: 265 seconds).
00:40:56 <elliott> pikhq: ping
00:41:19 <pikhq> elliott: Gnip
00:41:36 <pikhq> elliott: I'm sad that live-action doesn't compress as well as animation.
00:41:54 <elliott> pikhq: Clearly we should all become animated.
00:41:57 <pikhq> Clearly.
00:44:03 <pikhq> Why, I have to resort to 256 kbps to get tolerable 240p!
00:44:06 <elliott> pikhq: Wait, how do typical C compilers know what start files to link? Do they just go by whatever's at /lib/crt1.o and the like?
00:44:16 <elliott> i.e. filename based?
00:44:58 <pikhq> The path is builtin to the compiler.
00:45:09 <elliott> pikhq: So, path-based.
00:45:10 <pikhq> GCC at least has the courtesy to stick it in the spec file.
00:45:26 <elliott> pikhq: How would one go about making a typical (non-gcc) compiler assume it's statically compiling always?
00:45:28 <elliott> i.e. implicit -static.
00:45:37 <pikhq> Uuuuh. I dunno.
00:45:44 <pikhq> Really easy to do with GCC, though.
00:45:44 -!- GreaseMonkey has quit (Ping timeout: 245 seconds).
00:46:26 -!- GreaseMonkey has joined.
00:47:40 <elliott> pikhq: pcc, so it's probably not configurable without patching :P
00:48:20 <elliott> * Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
00:48:25 <elliott> pikhq: Gotta love any piece of code that starts with that.
00:48:32 <elliott> * This file should be rewritten readable.
00:48:34 <elliott> And then has that.
00:48:41 <pikhq> ... Whaaa?
00:48:47 <elliott> pikhq: It's pcc.
00:48:51 <elliott> pikhq: pcc has... a LOT of authors.
00:49:05 <elliott> pikhq: Caldera happens to be one of them and they stuck that copyright there :P
00:49:28 <elliott> pikhq: ...come to think of it thought, pcc wasn't being maintained then. Whut?
00:49:30 <pikhq> Well, yes. It's got a shaggy dog story about as crazy as your typical genetic UNIX.
00:49:40 <elliott> if (strcmp(argv[i], "-static") == 0) {
00:49:40 <elliott> Bstatic = 1;
00:50:02 <elliott> #ifdef DYNLINKER
00:50:07 <elliott> Nice, I can theoretically disable that :P
00:50:20 <elliott> TODO: figure all that out.
00:50:26 <elliott> pikhq: So, what's your vote for main libc. uClibc or dietlibc?
00:52:09 <pikhq> uClibc, I guess.
00:52:40 <elliott> pikhq: Okay! The people have spoken, and they choose MEDIOCRITY!
00:53:58 <pikhq> XD
00:59:46 <elliott> pikhq: The worst thing about all of this is the kernel configuration.
00:59:59 <elliott> pikhq: It is *so hard* to know what you need to get stuff working, and no matter how much you disable it always seems to end up huge.
01:00:09 <elliott> (At least starting from the stock kernel.)
01:04:20 <pikhq> Hmm. I didn't need to scale that Sintel trailer down to 240p; it turns out fine at 480p.
01:05:02 <pikhq> SD VIDEO STREAMING VIA ISDN.
01:11:10 <elliott> pikhq: I eagerly await "NES live game streaming over telegraph"
01:12:04 <pikhq> elliott: XD
01:17:43 <Vorpal> night
01:19:26 -!- Sasha2 has quit (Ping timeout: 245 seconds).
01:24:32 -!- Sasha has joined.
01:29:32 <elliott> There should be a digital-composey-MIDI-ish-tracker-y thing with a decent interface.
01:30:15 -!- augur has quit (Remote host closed the connection).
01:45:41 <pikhq> Huh. Microsoft has started funding Hercules.
01:45:47 <pikhq> The IBM mainframe emulator.
01:45:58 <pikhq> Why? Beats me.
01:48:07 <Sgeo> Newspeak makes me feel like I can contribute to it
01:48:13 <Sgeo> I like that feeling
01:50:46 <Gregor> pikhq: If it runs on Windows and they suspect people will want it, that's customers.
01:54:05 <pikhq> Well, it does run on Windows.
01:59:54 <Sgeo> Why is newspeaklanguage.org down? :(:(
02:07:22 <elliott> Sgeo: You know what's a good language...?
02:07:24 <elliott> Sgeo: newLISP.
02:11:20 <Sgeo> I like dynamic scoping.. but dynamic scoping by default?
02:11:59 <elliott> Sgeo: Hey, original LISP had it that way!
02:15:25 <elliott> pikhq: More kitten work tomorrow; let's see if I can bootstrap a usable if bare system with X11 by Christmas.
02:15:26 -!- elliott has quit (Quit: Leaving).
02:24:20 <pikhq> elliot: Needs more cowbell.
02:24:40 <Sgeo> Can someone please tell me WHY elliott is trying to push me from Newspeak?
02:25:31 <pikhq> Sgeo: Because all is koneko.
02:25:43 <Sgeo> ???
02:26:00 <pikhq> Kitten.
02:27:34 -!- aloril has quit (Read error: Connection reset by peer).
02:28:09 * pikhq is amused by how extensive the Japanese article on cats is.
02:35:29 -!- aloril has joined.
02:53:47 <Ilari> Sigh... IPv4 addresses are running out and the replacement is quite a Charlie Foxtrot... :-/
02:54:45 <Ilari> Well, at least it has major "last mile" issues, and major routing issues.
03:03:06 <Sgeo> last mile issues?
03:04:19 <pikhq> Both of them are not inherent faults in IPv6, but rather faults in meatware.
03:04:35 -!- Mathnerd314 has joined.
03:04:46 <pikhq> You fucking *idiots*, IPv4 is *basically over*. Get that through your fucking skulls.
03:06:14 <pikhq> Don't "get a transition plan in the coming years". Get a motherfucking time machine and be THROUGH YOUR TRANSITION as of last year. Or else you will HAVE NO INTERNET you fucking apes.
03:06:40 <pikhq> This has been cursing-filled rants from pikhq.
03:06:50 <Quadrescence> you fucking apes.
03:12:56 <Sgeo> How bad can it be to live with not getting IP addresses for a few years? Hurt a few consumers, businesses, etc, not the end of the world, right/
03:13:02 <Sgeo> ?
03:18:39 <pikhq> Sgeo: Try "critically injure all businesses".
03:19:14 <Sgeo> New ones? How often do current businesses need new IPs?
03:19:44 <pikhq> Uh, every time they get new computers that should be publicly accessible.
03:19:56 <pikhq> Imagine a world in which all Internet services cannot grow.
03:20:19 <Sgeo> o.O
03:21:00 <Sgeo> It's still temporary. Unless the economic impact causes irreversible damage to society or something
03:21:12 <pikhq> It's still pretty bad shit.
03:21:33 <pikhq> Because everyone is absolutely, positively *unprepared*.
03:21:53 <pikhq> This is going to sneak up and surprise everyone.
03:22:13 <Sgeo> We should get the media involved somehow
03:22:20 <pikhq> "We can't add that new server." "Why not?" "The Internet is full."
03:23:19 <Sgeo> I don't know if we could do something ourselves, or motivate the people tracking this sort of thing to speak to the media, but
03:23:41 <pikhq> Sgeo: The only way to get the media aware is for IANA to announce the end of allocations.
03:24:04 <pikhq> Which is when the shit hits the fan.
03:24:14 <Sgeo> You don't think the media is interested in "In all liklihood, the Internet fills up around this time"?
03:24:55 <pikhq> I don't think you realise just how soon IPv4 depletion is.
03:25:19 <pikhq> Pessimistic estimates give us until March.
03:26:26 <Sgeo> I'm sure the media would love to hear about it, at the very least. Put pressure on ISPs to start IPv6 adoption now, as opposed to waiting untii, say, March
03:26:27 <pikhq> Even if there was a gigantic push to switch to IPv6 rivaling the space race in effort, we couldn't switch in time.
03:26:37 <Sgeo> pikhq, but surely, the sooner the better?
03:26:50 -!- augur has joined.
03:26:59 <Sgeo> Less time of economic turmoil?
03:27:13 <pikhq> People still have their heads in the sand.
03:27:30 <Sgeo> Again: The media might help fix that
03:27:43 <pikhq> The media?
03:28:05 <pikhq> Those morons are too focused on Justin Beiber to report on anything of merit.
03:29:00 <Sgeo> I thought they love doom and gloom predictions... or make fun of them blah
03:29:34 <pikhq> They also have the intelligence of a gold fish.
03:29:52 <pikhq> Remember: Glenn Beck is taken seriously.
03:29:52 <Sgeo> If IPv4 was a household object that can cause 1 in 6 billion people to die, then they'd care
03:30:00 <pikhq> Remember: Glenn Beck is taken seriously.
03:30:12 * Sgeo has never seen Glenn Beck
03:39:22 <pikhq> Take a completely crazy right-wing conspiracy theorist.
03:39:31 <pikhq> Now give him a radio program and a TV show.
03:39:35 <pikhq> That's Glenn Beck.
03:40:29 <pikhq> By "crazy" I don't mean "has some really bizarrely fascist opinions". I mean "is literally schizophrenic".
03:42:54 <Gregor> Why are people so ridiculously short-sighted w.r.t. what constitutes "life"?
03:43:33 <Gregor> The only reason we're even looking for carbon-rich planets is that we can't formulate a way that life could exist without carbon; this is almost assuredly because we're stupid, not because it's impossible.
03:44:05 <Gregor> So when we find something really exotic, we just expand our search from Space Earth to Space Almost-Earth. Yeehaw.
03:45:29 <pikhq> Gregor: To be fair, we're only searching for carbon-rich planets because it's literally the only selection criteria we have.
03:45:48 <pikhq> Aside from "happens to be sending us a treatise on classical mechanics".
03:45:55 <pikhq> Sadly, no planets meet *that* criteria.
03:46:15 <pikhq> Criterion.
03:46:57 <Gregor> Right now we're so limited, we should be more focused on "things we can get to" than "things that might have life by our narrow definition"
03:49:13 <pikhq> I note that the only planet that was "things that might have life by our narrow definition" so far is just a few light years away.
03:49:14 <pikhq> That is, it's "things we can get to" if you opt for a generation ship.
03:49:15 <pikhq> (which is, of course, the only way we're getting anywhere right now)
03:50:10 -!- augur has quit (Remote host closed the connection).
03:54:03 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
04:03:22 -!- augur has joined.
04:06:59 <Ilari> Pessimistic estimates of IANA depletion are *this year*.
04:09:18 <Ilari> And those "March" estimates are of optimistic category.
04:10:55 <Ilari> And one of those pessimistic (2010) estimates is by some (I don't recall which exactly) RIPE (the euro RIR) executive (who is expected to know this stuff pretty well)...
04:11:33 <Ilari> (but then, RIRs don't know much what each other is doing... Granted, there's NRO, but still...)
04:13:38 -!- augur has quit (Remote host closed the connection).
04:21:27 -!- poiuy_qwert has joined.
04:24:42 -!- augur has joined.
04:24:47 <Sgeo> #esoteric: Home of those watching the IPv4 apocalypse helplessly
04:25:46 <Gregor> I got my Dinosaur Comics neckties! 8-D
04:26:18 <Gregor> #esoteric: Home of those who have not yet realized that humans have an impressive ability to adapt to imperfect situations, albeit reactively.
04:30:58 <Sgeo> http://www.youtube.com/watch?v=_y36fG2Oba0
04:31:20 <Sgeo> I think that's assuming that people actually got to IPv6 in a sensible way :/
04:31:49 <Sgeo> Oh, no it isn't
04:32:22 <Sgeo> It incorrectly talks about TCP thugh
04:32:37 <Sgeo> Er, wait no
04:33:14 -!- augur has quit (Remote host closed the connection).
04:42:33 <Sgeo> If we couldn't respond sensibly to IPv4 depletion, despite having a perfect solution in hand for years
04:42:38 <Sgeo> We knew the problem was solvable
04:42:47 <Sgeo> What hope do we have for Global Warming?
04:42:51 * Sgeo depresses
05:02:55 -!- augur has joined.
05:03:11 -!- Mathnerd314 has quit (Ping timeout: 245 seconds).
05:14:45 <pikhq> Gregor: It's still depressing that humans only adapt in reaction to shit that's already *happened*, rather than being proäctive.
05:15:28 <Ilari> Oh, there are the "converging catastrophes" and Global Warming is just one of them...
05:15:43 <Gregor> pikhq: Hence "reactively" :P
05:15:59 <Gregor> (Pronounced "reek-tively")
05:16:47 <Ilari> And the worst is when predictors of disaster (that will later come to pass) are ridiculed for forecasting ridiculous things...
05:17:38 <pikhq> I'm genuinely surprised that we actually bothered to handle Y2K ahead of time.
05:18:09 <pikhq> And that took spelunking into some of the nastiest code bases out there.
05:20:07 <Sgeo> Maybe the media helped a bit? =P
05:20:24 <Ilari> Perhaps because media took upon really drumming on it?
05:20:36 <Ilari> (Doom... Doom... Doom...)
05:21:21 <Sgeo> Doom interests the media. I still want to get the media to pay attention to IPv4 depletion
05:22:12 <Sgeo> Even if it doesn't help stop the crisis, at least the situation will be helped at least a little
05:22:29 <Sgeo> It might go a bit faster, businesses might be more prepared to withstand it
05:24:43 <Ilari> IIRC, current growth rate of IPv6 is about 70% per year. Not enough, we need at least 700% per year to make it... :-)
05:25:42 <Sgeo> Can we, #esoteric, speak to the media?
05:25:43 -!- Sgeo has left (?).
05:25:48 -!- Sgeo has joined.
05:25:55 <Sgeo> Or pressure some group into doing so?
05:27:41 <Ilari> Best case would be avoiding RIR depletions entierely (because of insufficient demand to deplete RIRs)...
05:28:17 <Ilari> But that's incredibly optimistic...
05:29:12 <Ilari> IANA would still be depleted (essentially nothing can stop that now).
05:30:58 <Ilari> Remember, APNIC could justify allocation at any momemnt. And they might have to in just couple weeks...
05:33:35 <Ilari> And now there's talk about RIR depletion estimates being too optimistic by several months...
05:34:27 <Sgeo> You know what?
05:34:44 <Sgeo> Soonish, I'm going to write something, ask #esoteric to proof it, then send it somewhere
05:36:10 <Ilari> It gets terrifying when the most pessimistic model is the reality...
05:37:04 <Ilari> Okay, lagerholm depletion model was the more pessimistic one... But now it seems hopelessly optimistic...
05:37:18 <Sgeo> What can businesses do to prepare themselves?
06:28:28 -!- Goosey has quit (Ping timeout: 250 seconds).
06:31:38 -!- sebbu2 has joined.
06:33:12 -!- sebbu has quit (Ping timeout: 276 seconds).
07:00:17 -!- perdito has changed nick to perdito|afk.
07:03:02 -!- kar8nga has joined.
07:22:53 -!- wareya has joined.
07:25:09 -!- wareya_ has quit (Ping timeout: 240 seconds).
07:50:41 -!- FireFly has joined.
07:54:46 -!- kar8nga has quit (Remote host closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:16:05 -!- MigoMipo has joined.
08:19:47 -!- MigoMipo_ has joined.
08:20:19 -!- MigoMipo has quit (Ping timeout: 245 seconds).
08:49:51 -!- FireFly|n900 has quit (Ping timeout: 245 seconds).
09:10:23 -!- FireFly|n900 has joined.
09:35:14 -!- Sgeo has quit (Read error: Connection reset by peer).
09:53:20 -!- GreaseMonkey has quit (Quit: ilua).
10:13:09 -!- nopseudoidea has joined.
10:20:56 -!- evincar has joined.
10:21:03 <evincar> Hey all.
10:21:28 -!- MigoMipo_ has quit (Read error: Connection reset by peer).
10:24:58 -!- evincar has quit (Client Quit).
10:32:14 -!- FireFly|n900 has quit (Ping timeout: 255 seconds).
10:32:55 -!- oerjan has joined.
10:33:01 -!- oerjan has quit (Client Quit).
10:33:24 -!- oerjan has joined.
10:33:39 <oerjan> /quit
10:33:49 -!- oerjan has quit (Remote host closed the connection).
10:38:03 -!- oerjan has joined.
10:38:03 -!- oerjan has quit (Client Quit).
10:39:15 -!- oerjan has joined.
10:39:43 <oerjan> æøå
10:40:54 <oerjan> !haskell "æ"
10:41:13 <Deewiant> æ
10:42:29 -!- FireFly|n900 has joined.
10:42:32 <oerjan> i discovered that my locale setup that got irssi to work with utf8 last time actually works by having an illegal locale which is reset to C, so some more tweaking is needed :D
10:42:49 <oerjan> !help
10:42:50 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
10:42:55 <oerjan> !haskell "æ"
10:42:58 <EgoBot> "\195\166"
10:43:31 <Deewiant> æ
10:43:36 <oerjan> !haskell putStrLn "\195"
10:43:39 <EgoBot>
10:43:47 <oerjan> good, seems it's still working
11:00:17 -!- nopseudoidea has quit (Quit: Quitte).
11:02:46 -!- perdito|afk has quit (Ping timeout: 245 seconds).
11:08:10 <oerjan> xkcd XD
11:17:00 <Vorpal> oerjan, heh
11:20:29 <Vorpal> oerjan, and I noticed the pirate theme of IWC is getting extremely absurd
11:20:34 <Vorpal> more than average for iwc that is
11:24:26 <oerjan> today's square root of minus garfield is rather swedish
11:35:14 -!- perdito|afk has joined.
12:12:40 -!- sebbu has joined.
12:13:05 -!- sebbu2 has quit (Read error: Connection reset by peer).
12:40:22 -!- perdito|afk has quit (Quit: perdito|afk).
12:40:42 -!- perdito|afk has joined.
12:47:40 <nooga> time to buy minecraft
12:47:40 -!- FireFly|n900 has quit (Ping timeout: 255 seconds).
12:49:10 <Slereah> I read that as Microsoft
12:49:14 <Slereah> Let's go buy Microsoft
12:53:00 <nooga> why not
13:10:02 -!- FireFly|n900 has joined.
13:10:02 -!- nopseudoidea has joined.
13:10:02 -!- FireFly|n900 has quit (Changing host).
13:10:02 -!- FireFly|n900 has joined.
13:18:31 -!- perdito|afk has changed nick to perdito.
13:27:03 -!- Phantom_Hoover has joined.
13:29:19 -!- Sasha2 has joined.
13:30:58 -!- Sasha has quit (Ping timeout: 265 seconds).
13:33:38 -!- elliott_ has joined.
13:33:53 <elliott_> Gregor: gcc just ate up your least favourite language.
13:38:28 -!- elliott_ has quit (Ping timeout: 265 seconds).
13:46:43 <Phantom_Hoover> Gregor, what's your least favourite language?
13:48:29 <Deewiant> Presumably Go
13:50:50 -!- elliott_ has joined.
14:04:58 -!- elliott_ has changed nick to elliott.
14:05:01 -!- elliott has quit (Changing host).
14:05:01 -!- elliott has joined.
14:11:52 -!- nopseudoidea has quit (Quit: Quitte).
14:18:30 <elliott> http://esolangs.org/wiki/Talk:INTERCAL#INTERCAL_is_not_Compiler_Language_With_No_Pronouncable_Acronym
14:20:55 <oerjan> ____ ___ __ ___ _ _ _____
14:20:55 <oerjan> ___| / _ \ \ \ / / | | | / \|_ _|
14:20:55 <oerjan> \___ \| | | | \ \ /\ / /| |_| | / _ \ | |
14:20:55 <oerjan> ___) | |_| | \ V V / | _ |/ ___ \| |
14:20:55 <oerjan> |____/ \___/ \_/\_/ |_| |_/_/ \_\_|
14:21:44 <oerjan> wtf happened to the two first lines
14:22:20 <oerjan> oh duh the second line starts with / :D
14:23:28 <quintopia> do better next time
14:24:12 <quintopia> your second "O" in WHOOSH could be better too
14:24:17 <oerjan> ____ ___ __ ___ _ _ _____
14:24:17 <oerjan> / ___| / _ \ \ \ / / | | | / \|_ _|
14:24:17 <oerjan> \___ \| | | | \ \ / /\ / /| |_| | / _ \ | |
14:24:17 <oerjan> ___) | |_| | \ V V / / | _ |/ ___ \| |
14:24:17 <oerjan> |____/ / \___/ \_/\_/ |_| |_/_/ \_\_|
14:24:24 <oerjan> GAH!
14:24:40 <oerjan> sed failure. oh missing the ^ :D
14:24:57 <oerjan> ____ ___ __ ___ _ _ _____
14:24:57 <oerjan> / ___| / _ \ \ \ / / | | | / \|_ _|
14:24:57 <oerjan> \___ \| | | | \ \ /\ / /| |_| | / _ \ | |
14:24:57 <oerjan> ___) | |_| | \ V V / | _ |/ ___ \| |
14:24:57 <oerjan> |____/ \___/ \_/\_/ |_| |_/_/ \_\_|
14:25:29 <quintopia> you should have saved it for when it made sense to the conversation at hand
14:25:34 <oerjan> quintopia: it's just figlet generated
14:25:53 <quintopia> fix the figlet
14:27:57 <oerjan> the second O is just kerned with the S
14:28:27 <quintopia> yes
14:28:33 <quintopia> and it shouldn't be
14:28:38 <quintopia> because it makes it look bad
14:28:55 <oerjan> ____ ___ __ ___ _ _ _____
14:28:55 <oerjan> / ___| / _ \ \ \ / / | | | / \|_ _|
14:28:55 <oerjan> \___ \| | | | \ \ /\ / /| |_| | / _ \ | |
14:28:55 <oerjan> ___) | |_| | \ V V / | _ |/ ___ \| |
14:28:55 <oerjan> |____/ \___/ \_/\_/ |_| |_/_/ \_\_|
14:29:47 <quintopia> i don't understand how i can read the sup-pixel message generator just fine, but i can't see the sub-pixels in your nick when you highlight me
14:31:09 <elliott> because the subpixel message generator is ridiculously hyper-saturated on purpose...
14:31:10 <elliott> duh
14:31:29 <elliott> compare http://www.grc.com/image/cttech2.gif
14:31:45 <quintopia> ah yes
14:31:53 <quintopia> i can see the subpixels quite easily inn that message
14:32:18 <quintopia> say something in magenta
14:32:38 <oerjan> magenta delenda est
14:32:39 <elliott> there's no colours in this channel.
14:32:52 <quintopia> oh right
14:33:06 <elliott> but okay
14:33:07 -!- nopseudoidea has joined.
14:33:10 <elliott> function feedthebear (enum[bear] whichone, enum[food] bearfood)
14:33:10 <elliott> begin
14:33:10 <elliott> bool fed;//if all goes well...
14:33:10 <elliott> whichone[call] ();
14:33:10 <elliott> try{
14:33:11 <elliott> whichone[eat] (bearfood);
14:33:13 <elliott> throw (whichone[eat](armp));//armp is a global indicating
14:33:15 <elliott> }//zookeeper's arm
14:33:17 <elliott>
14:33:19 <elliott> return (fed=TRUE);
14:33:21 <elliott> end;
14:33:23 <elliott> (Am I part of the curse now too?)
14:33:35 <quintopia> what's a magenter?
14:34:18 <oerjan> zook the eeper
14:35:06 <elliott> pikhq: please tell me why xorg is split into 3489573457839445 tarballs
14:35:42 <quintopia> i can see the subpixels a little bit in normal magenta text. i feel better.
14:37:02 <elliott> aargh, not all of Magenta is on reocities
14:41:34 -!- FireFly has quit (Quit: swatted to death).
14:42:55 <elliott> pikhq: Will you have me if I just package xorg as one gigantic package containing everything?
14:42:56 <elliott> *hate
14:43:38 -!- FireFly has joined.
14:44:27 <elliott> # Re-run the last command until a build succeeds.
14:44:30 <elliott> that is so, so reassuring
14:45:45 <elliott> "xserver ... requires ncurses"
14:46:54 -!- MigoMipo has joined.
14:59:20 -!- augur has quit (Remote host closed the connection).
14:59:43 -!- augur has joined.
15:04:21 -!- augur has quit (Ping timeout: 272 seconds).
15:09:45 -!- ais523 has joined.
15:09:46 -!- ais523 has quit (Changing host).
15:09:46 -!- ais523 has joined.
15:15:04 <elliott> Gregor: http://codu.org/imgs/dinosaurComic.php?panels=0,1,5&comics=1544,911,527&strip i made a terrible
15:15:05 <elliott> hi ais523
15:15:43 <elliott> Gregor: http://codu.org/imgs/dinosaurComic.php?panels=0,1,5&comics=1544,911,1252&strip t-rex imagines the upcoming discussion, badly
15:18:49 -!- ais523 has quit (Read error: Connection reset by peer).
15:19:17 -!- ais523 has joined.
15:19:20 <ais523> hi
15:19:35 <oerjan> ho
15:19:45 <pikhq> elliott: Because they decided to split it into multiple packages, and did it *far* too fine-grained.
15:20:04 <elliott> pikhq: yeah and now i am discovering the joy of their build system
15:20:11 <pikhq> (seriously, a package for a *subdirectory* of headers‽)
15:20:20 <elliott> pikhq: it depends on programs written in c++
15:20:22 <elliott> yaaaaaaay.
15:20:39 <elliott> pikhq: anyway there's only going to be one single xorg package in Kitten because to hell with splitting this up
15:20:59 <elliott> pikhq: but um this is kind of painful you should do the xorg package :P
15:21:18 <elliott> oh no, it is disregard my cflags and -O2 instead of -Os, this is the sad
15:21:26 <elliott> sad day
15:21:26 -!- sftp has joined.
15:21:31 <elliott> and it may in fact be building git xorg instead of 7.5
15:21:33 <elliott> which would be bad
15:24:12 <pikhq> elliott: Look at what Gentoo does for the xorg package for inspiration.
15:24:34 <pikhq> (should be fairly easy to grok; Portage runs on simple shell scripts.)
15:25:18 <elliott> pikhq: So, um, I have a Dilemma. This patch: http://marc.info/?l=linux-kernel&m=128978361700898&w=2 is pretty much agreed by everyone to be on the order of, say, sliced bread in AWESOMENESS. There are videos showing before/afters where Linux is being compiled with -j64, 1080p video is playing, webpages are being scrolled and -- LIKE SOME KINDA MAGIC OS FROM THE FUTURE LIKE EVERY COMMERCIAL OS EVER -- everything just goes smoothly. (The before video
15:25:18 <elliott> uh, less astonishing). Apparently -j128 is even more dramatic but makes for a bad demonstration because the "before" video is a static image of frozenness.
15:25:36 <elliott> pikhq: BUT BUT BUT not only is this patch CFS-specific, but it uses cgroups! BFS explicitly does not have cgroups!
15:25:50 <elliott> Thus a DILEMMA! Enhanced desktop performance OR-- enhanced desktop performance??
15:25:54 <elliott> ;____;
15:27:32 <ais523> elliott: do you know what the patch does, specifically?
15:27:53 -!- sftp_ has joined.
15:27:58 -!- sftp has quit (Ping timeout: 255 seconds).
15:27:58 <elliott> ais523: it's summarised in http://marc.info/?l=linux-kernel&m=128978361700898&w=2
15:28:04 <ais523> it improves performance in the case where you run a lot of background processes in a terminal and do something interactive on the GUI or a different terminal
15:28:09 <elliott> ais523: basically it automatically creates cgroups -- not very smartly at the moment, but --
15:28:09 <elliott> right
15:28:17 <elliott> but "supposedly" it's going to be enhanced further
15:28:32 <elliott> ais523: I suppose it does seem a bit niche, but -- I mean -- I do often get sluggishness when compiling stuff.
15:28:34 <elliott> And that's rather irritating.
15:28:50 <elliott> OTOH, it means using CFS, whereas BFS improves desktop performance in, like, every other case.
15:28:54 <ais523> well, I compile at -j1
15:29:33 <elliott> ais523: Mind you, I am going to be compiling stuff a *lot*, thanks to all the Kitten packages :)
15:29:42 <elliott> But yeah, BFS is probably better overall.
15:29:59 <ais523> hmm, according to Slashdot, there's now a mobile phone plan with a 21Mbps speed and a 5GB per month cap
15:30:12 <ais523> conclusion: you can only use it for around half an hour per month
15:30:53 <elliott> ha
15:31:09 -!- yorick has quit (Remote host closed the connection).
15:31:13 <elliott> pikhq: Does such a thing as NON-modular Xorg still exist?
15:31:41 <ais523> elliott: Wayland!
15:31:42 * ais523 runs
15:32:08 <pikhq> elliott: Not any more.
15:32:22 <elliott> ais523: I'm pretty sure the only way to get X running on Wayland is to use Xorg :P
15:32:25 <elliott> or something
15:32:28 <elliott> pikhq: ;_;
15:32:40 <elliott> pikhq: How old is the last non-modular version? How long will I be able to use it before it rots to death? :P
15:32:41 * pikhq should get coffee
15:33:23 <pikhq> elliott: 5 years.
15:33:29 <pikhq> (X11R6.9)
15:33:41 <elliott> pikhq: i think that is totally practical and i should use it, don't you totally agree???
15:33:53 <elliott> :P
15:34:04 <pikhq> elliott: How do you feel about autoconfiguration?
15:34:28 <elliott> pikhq: well since I don't have udev or HAL I don't think I can have that anyway
15:34:36 <elliott> driver support is a rather bigger issue :P
15:34:39 <pikhq> Mdev?
15:35:14 <pikhq> Anyways, it should have 2D acceleration about as good as right now.
15:35:40 <ais523> annoying Firefox feature I just figured out how to turn off: sending what you typed to Google if it isn't a URL
15:35:54 <elliott> pikhq: mdev is vaguely compelling, but it's still udev. But you know what? devfs is back in the kernel. Seriously.
15:36:10 <elliott> pikhq: They snuck it in -- newly-implemented -- under the pretence of being a temporary devfs for initramfses before udev is started.
15:36:18 <elliott> pikhq: It's called devtmpfs, it runs on a tmpfs, and it's fully-featured.
15:36:20 -!- Sasha has joined.
15:36:20 -!- sftp has joined.
15:36:36 -!- sftp_ has quit (Ping timeout: 276 seconds).
15:36:45 -!- Sasha2 has quit (Read error: Connection reset by peer).
15:37:21 -!- augur has joined.
15:37:53 <elliott> pikhq: ...so yeah, I was pretty much just going to use that.
15:38:39 <elliott> wrt mdev, there's also http://code.google.com/p/hotplug2/
15:39:13 <elliott> pikhq: All these things aren't very useful when you don't have modules in your kernel, of course.
15:39:30 <Phantom_Hoover> So devfs is A Bad Thing?
15:39:55 <elliott> Phantom_Hoover: No, devfs is A Good Thing.
15:40:10 <Phantom_Hoover> Is udev A Bad Thing, then?
15:40:37 <elliott> It had some implementation problems, and the kernel idiots decided that rather integrating a proposed new implementation, they should add pointless flexibility (you can make /dev/sda1 be called /dev/frobni1cator instead! USEFUL!) and move everything to userspace (because Linux is a microkernel amirite guyz?).
15:40:46 <elliott> udev isn't necessarily terrible. It has some valid usecases.
15:40:48 <elliott> But it's really overblown.
15:45:45 <coppro> elliott: What was the 08:33 < elliott_> Gregor: gcc just ate up your least favourite language.
15:45:50 <elliott> coppro: Go.
15:45:54 <coppro> elliott: ate up?
15:45:55 <elliott> coppro: gccgo is being merged into gcc.
15:46:00 <coppro> elliott: oh
15:46:01 <coppro> :(
15:46:14 <elliott> coppro: Dude, it also has Fortran and Objective-C.
15:46:17 <elliott> It's not exactly an endorsement.
15:46:19 <elliott> And Ada.
15:46:29 <Gregor> And Java
15:46:32 <Gregor> And C++
15:46:33 <Gregor> And C :P
15:46:59 <elliott> Anyway Go is a perfectly competent language in a certain niche that EVERYONE IS DETERMINED TO PRETEND IT DOES NOT EXIST IN.
15:47:05 <elliott> And with rather bad marketing materials.
15:47:36 <elliott> Nobody uses gccgo anyway, the Plan 9-style compilers are far better :P
15:47:37 <coppro> elliott: what's this about a niche?
15:47:59 <elliott> coppro: systems server programming. nothing else.
15:48:06 <elliott> more or less
15:51:04 <ais523> elliott: *Issue 9
15:51:16 <elliott> ais523: no, that issue was the stupidest thing ever
15:51:33 <ais523> indeed
15:51:45 <ais523> can't you call it Issue 9 just because the name "Go" is stupid. though?
15:51:48 <ais523> s/./,/
15:51:57 <ais523> umm, s/,/c/
15:52:00 <ais523> s/\./,/
15:52:00 <elliott> ais523: (1) yes, you can totally own the name "go", that's not one of the most common words ever; (2) your language is called "Go!" on all your publications, with an exclamation mark, so you can't even claim identicality
15:52:13 <elliott> (3) lol internet bandwagon "because it was done in google 20% time it's google's projects now let's lynch evil google"
15:52:16 <ais523> elliott: I don't think there was trademark infringement
15:52:26 <elliott> ais523: how's the name Go stupid, it's just... not an interesting name
15:52:43 <ais523> too easily confused with the typical word without context
15:52:47 -!- Gregor has set topic: WE ARE SOMEWHAT SPARTA | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
15:53:22 <Gregor> ais523: Even WITH context; it's too general of a word.
15:54:06 <elliott> Gregor: isn't it THIS IS SOMEWHAT SPARTA
15:54:06 <oerjan> s/go/face/
15:54:18 <elliott> s/word/face/
15:54:23 <elliott> Your face is way too general.
15:54:41 <Gregor> elliott: Yes, but WE are somewhat sparta.
15:54:50 <Gregor> elliott: Also, no.
15:54:52 <elliott> Your face is somewhat sparta.
15:54:54 <Gregor> elliott: It's "I AM SOMEWHAT SPARTA"
15:55:02 <elliott> Ah.
15:57:01 <elliott> pikhq: ouch, i just realised something about busybox
15:57:19 <Gregor> Somebody needs to invent descenders; like suspenders, but worn under your pants and keeps your shirt perfectly tucked.
15:57:40 <elliott> No they don't.
15:59:00 <ais523> Gregor: I love that concept
15:59:59 <Gregor> I'm not QUITE sure how they'd work just yet, but suffice it to say I'm tired of having to resort to the Picard Maneuver :P
16:00:34 -!- ais523 has quit (Remote host closed the connection).
16:00:45 <elliott> Picard... Maneuver.
16:01:20 <pikhq> elliott: ?
16:01:35 <elliott> <Gregor> I'm not QUITE sure how they'd work just yet, but suffice it to say I'm tired of having to resort to the Picard Maneuver :P
16:02:57 <pikhq> But, yeah, udev's only failing is that it's a bit overkill.
16:03:14 <pikhq> Which compared to some of the other odd shit done with /dev, makes it genuinely nice. :P
16:03:41 <pikhq> (devfs's organization scheme is, well, WTF.)
16:04:14 <elliott> pikhq: Yeah, but fuck them for not accepting mini-devfs before udev came along.
16:04:20 <Gregor> elliott: In TNG, Patrick Stewart adjusted his shirt whenever he stood up; that adjusting is the Picard Maneuver :P
16:04:45 <elliott> Gregor: So is http://memory-alpha.org/wiki/Picard_Maneuver the spaceship analogue to adjusting your shirt?
16:04:49 <elliott> Say yes.
16:04:54 <Gregor> elliott: Let's go with yes.
16:04:58 <elliott> And oh god why hasn't Memory Alpha switched from Wikia.
16:05:01 <oerjan> very fast adjustment
16:05:01 <Gregor> elliott: However, that name is actually just the source of the JOKE :P
16:05:07 <elliott> Whyyyyyyyyyyyyyyyyy.
16:05:13 <elliott> Gregor: THERE IS NO JOKE ONLY FACTUALS
16:05:24 <elliott> "However, because the release of Star Trek took place nearly simultaneously across the world, the community has taken the decision to lock the English edition of Memory Alpha to editing from 2000 UTC on May 6th until 0400 UTC on May 9th, in order to allow the users of Memory Alpha time to see the film without having to worry about being spoiled before it was (technically) released."
16:06:30 <elliott> This is why TOS sucked: "...that the original version of the script for Star Trek: The Next Generation's "Conspiracy" did not feature alien parasites? The 'conspiracy' in question was simply a military coup within Starfleet, but Gene Roddenberry vehemently opposed such an idea, since he believed Starfleet would never stoop to such methods; thus the alien angle was introduced at his insistence."
16:06:45 <elliott> STARFLEET IS A PARAGON OF PERFECT EXCELLENCY IN OUR FUTURE UTOPIA WHERE NOTHING EVER GOES WRONG EVER
16:07:33 <elliott> pikhq: Some parts of BusyBox require suid, like su, passwd, ping, traceroute. Apparently you're meant to make BUSYBOX ITSELF suid. That includes "ls" and "mv".
16:07:40 <elliott> It says it drops permissions if it doesn't need them, but uh.......
16:08:04 <elliott> Selected by: LOGIN || PASSWD || SU || VLOCK || IPCRM || IPCS && PLATFORM_LINUX || CRONTAB
16:08:12 <elliott> TODO: Disable those, disable suid/sgid handling, build separate "busybox-suid".
16:10:37 <elliott> │ │(1024) Maximum length of input (NEW) │ │
16:10:38 <elliott> lol
16:15:58 <Phantom_Hoover> Gregor, soo, is Go your most hated language?
16:17:05 -!- nopseudoidea has quit (Quit: Quitte).
16:18:45 <elliott> pikhq: BusyBox doesn't compile with dietlibc, using pcc or gcc. For fuck's sake.
16:39:44 <Slereah> http://abstrusegoose.com/323
16:41:22 <elliott> lawl
16:45:14 <Phantom_Hoover> Sgeo will still be useful in the 24th century.
16:45:20 <Phantom_Hoover> What a terrifying thought.
16:52:47 -!- nopseudoidea has joined.
17:07:27 <Phantom_Hoover> elliott, when will I get my specs???
17:07:37 <elliott> Phantom_Hoover: wut? oh right
17:07:46 <elliott> Phantom_Hoover: uh, what was your budget again :P
17:07:48 <Phantom_Hoover> Punctuation is a poor replacement for the full range of intonation.
17:07:56 <elliott> also i refuse to do it unless the first os you install on it is kitten
17:08:00 <Phantom_Hoover> elliott, £800 was the absolute upper bound.
17:08:24 <Phantom_Hoover> OK, I'll be the flagship Kitten user.
17:09:38 <elliott> Phantom_Hoover: You crazy.
17:09:54 <Phantom_Hoover> elliott, of course!
17:10:04 <elliott> Phantom_Hoover: (Note that the installation procedure involves an Ubuntu CD and a lot of manual installation :P)
17:10:23 <Phantom_Hoover> elliott, can I install Debian first?
17:10:41 <elliott> Phantom_Hoover: I said first OS! My demands are NON-NEGOTIABLE except under EXTREME circumstances.
17:10:52 <elliott> Phantom_Hoover: (If you only use Debian to install Kitten that is okay.)
17:10:57 <Phantom_Hoover> OK.
17:11:02 <Phantom_Hoover> I shall do that.
17:11:29 <elliott> Phantom_Hoover: I don't actually intend to force you to use Kitten :P
17:11:41 <Phantom_Hoover> elliott, suuuuuure.
17:12:18 <Phantom_Hoover> You know, the suffix "-matic" is underused in hardware names.
17:13:03 <Phantom_Hoover> It would give everything a nice Wallace and Gromit-y feel.
17:13:13 <oerjan> crunchomatic
17:13:40 <Phantom_Hoover> Processomatic.
17:13:49 <Phantom_Hoover> Memory-o-mat.
17:15:12 <Phantom_Hoover> Diskifier.
17:17:05 <fizzie> "Added /kill command. Does 1000 points damage to the player". Well, that's certainly a novel way to solve the lack of /home.
17:17:26 <fizzie> "The join server page now remembers the port as well as the ip", so it's not all bad.
17:18:35 <elliott> fizzie: Yeah, he said he'd add that but seriously fuck that.
17:18:41 <elliott> fizzie: Got lost? HAHA FUCK YOU YOU GET TO LOSE ALL YOUR ITEMS
17:19:11 <fizzie> "Fixed a bug where joining a server on a specific port caused the client to forget all keybindings". This has to be among the most random things ever.
17:19:41 <elliott> fizzie: I think Notch actively tries to intertwine EVERY SINGLE CODE PATH.
17:21:11 -!- nopseudoidea has quit (Quit: Quitte).
17:24:19 -!- Zuu has quit (Ping timeout: 272 seconds).
17:24:58 -!- Zuu has joined.
17:25:54 <elliott> Phantom_Hoover: Athlon II X4, quad core, 3 GHz, £74.78 y/n
17:26:22 <Phantom_Hoover> elliott, I'm not employing you to give me decisions to make!
17:26:36 <elliott> Phantom_Hoover: Oh yes you are!
17:26:58 <Phantom_Hoover> elliott, I can't make decisions! I'm the president!
17:27:02 * oerjan vehemently agrees with Phantom_Hoover on principle
17:27:12 <elliott> 20:21:42 <elliott> /home/elliott/kitten/stage3/include/dietref.h:-21: error: __PCC__ redefined
17:27:12 <elliott> 20:21:43 <elliott> previous define: x.c:-21
17:27:16 <elliott> having this problem again :DDD
17:28:42 <Phantom_Hoover> elliott, more serious reason: for all I know, an Athlon II [...
17:28:51 <Phantom_Hoover> *] could be a block of cheese.
17:29:10 <elliott> Phantom_Hoover: It is.
17:29:37 <Phantom_Hoover> elliott, Is it a good block of cheese for processing?
17:30:23 <elliott> Yes.
17:30:40 <Phantom_Hoover> Then it can go on the list.
17:32:24 <Phantom_Hoover> elliott, also, what kind of cheese?
17:32:53 <elliott> Phantom_Hoover: Athlon.
17:33:07 <Phantom_Hoover> Not one I've heard of.
17:33:22 <elliott> Phantom_Hoover: By the way, I'm not going to help you assemble this thing; don't forget the jumpers and if you fry stuff, you get to buy it again.
17:33:57 <Phantom_Hoover> Yes, this pushes it into thought experiment, but I don't really care.
17:34:12 -!- oerjan has quit (Quit: leaving).
17:34:36 <elliott> Phantom_Hoover: Eh?
17:34:50 <Phantom_Hoover> elliott, CRAZY, REMEMBER
17:35:09 <elliott> Phantom_Hoover: I am experiencing rapidly increasing doubts that I am using my time in a worthwhile manner :P
17:35:18 <Phantom_Hoover> SO AM I
17:37:28 <Phantom_Hoover> PERHAPS THIS IDEA WAS NOT THE BEST
17:39:27 <Phantom_Hoover> That is because the best idea is objectively making a ladder to the moon out of sausages.
17:42:17 <Vorpal> elliott, hm what are you doing then?
17:42:24 <Vorpal> (kitten or mc?)
17:43:03 <elliott> Vorpal: Neither!
17:43:08 <Vorpal> elliott, oh?
17:43:31 <Vorpal> elliott, so what is it that you doubt is a worthwhile use of your time?
17:43:43 <elliott> Long story :P
17:43:49 <elliott> Hey, renicing Xorg to -8 is great.
17:43:58 <Vorpal> elliott, uh uh
17:44:08 <elliott> It totally is.
17:44:29 <Vorpal> elliott, your system must be very heavily loaded with something else then?
17:44:42 <elliott> I just tried this -j64 thing, since it's so popular. :p
17:44:59 <Vorpal> elliott, ah. well that sounds silly
17:45:11 <elliott> Absolutely.
17:45:32 <Vorpal> elliott, also depending on what compiler you use: it will probably be swap trashing
17:45:38 <Vorpal> in which case nice -8 won't help that much
17:46:02 <elliott> It wasn't.
17:46:10 <elliott> I have 4 GiB of RAM and BusyBox probably doesn't require *that* much RAM to build.
17:46:51 -!- oerjan has joined.
17:51:32 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
17:58:11 <Vorpal> hah, this miscompiles on gcc on lucid at -O2 or higher. Works fine on later gcc versions.
17:58:35 <Vorpal> and yes, I need -O2 or higher, the difference is about 3x speedup
17:58:36 <elliott> Vorpal: define this
17:58:46 <elliott> Vorpal: also, tried -Os? :p
17:58:47 <Vorpal> elliott, cython program
17:58:55 <Vorpal> elliott, and no I haven't, willl
17:58:58 <Vorpal> will*
17:59:25 <Vorpal> elliott, -Os also broken
17:59:28 <elliott> Vorpal: (tried statically linking with dietlibc at -Os? that'll be even smaller)
17:59:32 <elliott> I meant as far as speed goes
17:59:38 -!- ais523 has joined.
17:59:38 <Vorpal> elliott, doesn't help since it miscompiles :P
17:59:44 <elliott> so use a newer gcc
17:59:45 <elliott> :p
17:59:52 <Vorpal> elliott, also I go for speed here, not size
18:00:04 <ais523> Vorpal: -Os is often fastest
18:00:06 <ais523> due to fitting in cache better
18:00:19 <elliott> what ais523 said
18:00:24 <ais523> not always, though
18:00:25 <Vorpal> ais523, I tried that now. But this is numerical-intensive and seems to benefit from loop unrolling
18:00:34 <elliott> Vorpal: that's also why i said dietlibc; it doesn't help if glibc is huge
18:00:35 <elliott> erm
18:00:37 <elliott> Vorpal: that's also why i said dietlibc; it doesn't help if your libc is huge
18:01:09 <Vorpal> elliott, also it is long running, so loading time for libc is not important, if large parts are unused: so what
18:01:30 <elliott> Vorpal: i don't think you understand cache
18:01:37 <Vorpal> elliott, anyway -O3 is about 2x faster than -Os
18:01:40 <elliott> also, *individual routines* in glibc are huge
18:01:41 <Vorpal> elliott, I just checked
18:01:42 <elliott> Vorpal: on glibc, perhaps.
18:01:53 <elliott> Currently defined functions:
18:01:54 <elliott> passwd, ping, ping6, su
18:01:55 <elliott> smallest busybox evar
18:02:37 <Vorpal> elliott, also python doesn't support static linking. I checked. At least if you use tkinter.
18:02:47 <elliott> you use tkinter?
18:02:56 <Vorpal> elliott, in one mode yes
18:02:59 <Vorpal> elliott, since it is a game AI
18:03:15 <Vorpal> I need to visualise that.
18:03:18 <elliott> Vorpal: another reason you can't use kitten, then!
18:03:42 <Vorpal> elliott, in fact it doesn't work if you use any sort of extension module in C
18:04:01 <Vorpal> elliott, you are restricted to core python + pure python extensions
18:04:04 <Vorpal> have fun
18:04:09 <Vorpal> no numpy I think for example
18:04:43 -!- Phantom_Hoover has joined.
18:04:43 <elliott> Vorpal: um, or i could just build those in.
18:04:53 <elliott> duh
18:05:07 <Vorpal> elliott, and do you know what I had to add to fix unresolved symbols when linking against libpython2.7.a?
18:05:35 <elliott> no, i'm not psychic
18:05:44 <elliott> -rwxr-xr-x 1 elliott elliott 1.6M Dec 3 17:54 busybox
18:05:44 <elliott> -rwxr-xr-x 1 elliott elliott 770K Dec 3 18:03 busybox-suid
18:05:48 <elliott> now if only they built against non-gcc/glibc
18:05:52 <elliott> well, also /uClibc
18:05:59 <Vorpal> elliott, -lm -lz -lssl -lcrypto -ldl (!) -lutil -lpthreads
18:06:11 <elliott> Vorpal: i can patch, you know.
18:06:25 <Vorpal> elliott, sure. But it will be a lot of work
18:06:30 <elliott> not really
18:06:34 <elliott> most things aren't as stupid as python
18:06:46 <Vorpal> elliott, well for python, perl and other similar languages
18:06:58 <Vorpal> true, not for most C programs
18:07:00 <elliott> and ruby, say
18:07:01 <elliott> ok, 3 programs
18:07:04 <elliott> think i can handle that.
18:07:08 <Vorpal> elliott, yeah probably ruby too
18:07:29 <quintopia> what is the goal of kitten again?
18:08:00 <Vorpal> elliott, lua is probably somewhat "saner" (for some values of "saner") due to it's more limited scope
18:08:13 <elliott> quintopia: to not irritate the fuck out of me
18:08:16 <elliott> that's about it
18:08:35 <quintopia> elliott: and you're doing that by avoiding glibc?
18:08:47 <Vorpal> erlang I know can load native modules, and it is used for some stuff in the standard distribution, but I don't think it is quite as prolific as with python and so on
18:08:56 <Vorpal> hm
18:08:59 <elliott> quintopia: avoiding gcc, glibc, dynamic linking, gnu coreutils
18:09:11 <elliott> and a few other things too, like initramfs.
18:09:15 <elliott> and kernel modules.
18:09:16 <elliott> and /usr.
18:09:34 <Vorpal> elliott, you know that the kernel uses an initramfs always? But the default one doesn't do very much
18:09:49 <Vorpal> it has one that basically does next to nothing by default built in iirc
18:09:56 <elliott> Vorpal: well, you can disable the initramfs code outright
18:10:01 <elliott> and it tries the olde-style "let's find a root partition!" boot.
18:10:08 <Vorpal> hm
18:10:19 <quintopia> elliott: is kitten somewhat sparta?
18:10:41 <elliott> quintopia: it is so sparta that anyone who types sparta into it gets instantly decapitated.
18:12:59 <quintopia> elliott: i am convinced. it is clearly the best distro ever invented.
18:13:35 <elliott> also, everyone who bugs me about it gets a fake package server filled with rootkits
18:13:44 <elliott> be afraid. be very afraid
18:14:01 <oerjan> <elliott> quintopia: to not irritate the fuck out of me <-- i sense someone fighting windmills...
18:14:43 <elliott> oerjan: hey, on the off-chance that they are giants...
18:15:00 <Vorpal> oerjan++
18:15:12 <Vorpal> elliott, any good at reversi?
18:15:35 <quintopia> ah well, in elliott's world there are far more giants than actual windmills. better to just destroy them all than waste time analyzing.
18:15:41 <elliott> Vorpal: no good at it, but i like it
18:16:10 <elliott> quintopia: do you object to someone making their own fortress without a single windmill in it if they like it better?
18:16:19 <quintopia> i do not
18:16:22 <Vorpal> elliott, ah. Could you beet a greedy AI (one that just checks score after one move and goes for the best)
18:16:25 <Vorpal> beat*
18:16:47 <quintopia> especially if the fortress contains a bottomless pit
18:16:50 <elliott> at least i'm in good company, what with the plan 9 team decrying the same things, and among their membership are the people who created Unix...
18:16:58 <quintopia> and is surrounded by barbed wire and magical curses
18:16:59 <elliott> Vorpal: no, but I can sure as hell try and fail to
18:17:12 <elliott> quintopia: actually it's 128x128x128 and made out of glass.
18:17:22 <elliott> LIKE MY HEART
18:17:24 <quintopia> ah yes
18:17:29 <Vorpal> elliott, hm, but it is trivial to beat that, just think one move ahead and make sure it don't get corners.
18:17:36 <quintopia> i will tunnel into your glass heart
18:17:42 <quintopia> and fill it with water
18:17:43 <Vorpal> then you have a decent chance of beating such an AI
18:17:45 <quintopia> mwahahahaha
18:17:47 <elliott> Vorpal: i have been beaten by a moron playing for the first time.
18:17:51 <Vorpal> elliott, heh
18:18:25 <quintopia> elliott: try the positional heuristic. i hear it's surprisingly good for how simple it is.
18:18:58 <elliott> Vorpal: i'm lost in the north!
18:19:09 <Vorpal> elliott, okay. So an alpha-beta-pruning with corner-favouring heuristics with a ply depth of 7 you wouldn't manage to beat I presume? Oh and it also uses number of possible moves in the heuristics. This seems to help quite a bit.
18:20:00 <Vorpal> note: ply = 7 needs cython. With pure python you are stuck at ply = 4 or so
18:20:23 <quintopia> and then add on a neural-net-based action-state heuristic learned by playing the AI against itself 150,000 times and you've got a real winner :P
18:20:36 <Vorpal> quintopia, that would be cool
18:20:51 <Vorpal> quintopia, but I think it is outside the scope of the assignment I wrote this for :P
18:21:05 <quintopia> Vorpal: it beats the positional heuristic 76% of the time!
18:21:14 <quintopia> and that's at 1-ply!
18:22:11 <Vorpal> quintopia, someone made such an AI?
18:22:12 <Vorpal> hm
18:22:28 <Vorpal> quintopia, and I wonder how large the ANN is
18:22:42 <Vorpal> (and how long it takes to evaluate)
18:23:44 <quintopia> Vorpal: 3 layers. the input layer is large enough to accomodate a board and a set of possible actions, and the output is a real value indicating confidence that that is the correct move. one hidden layer.
18:24:12 <fizzie> Reversi/othello is a perennial... well, maybe not quite a favourite, but at least a recurring topic on the AI course.
18:24:25 <quintopia> so, once you've trained it (which would take a very long time since we're using boosting with straight victory-condition-backpropagation) it's essentially instantaneous.
18:25:20 <quintopia> fizzie: my school does a new variation on Isolation every time the course is taught. they make up a new one each year so you can't cheat :P
18:25:41 <quintopia> and it's always in Lisp. the proper AI language.
18:27:00 <fizzie> We used to have a Scheme-based framework for the "if you don't have your own topic" game, for which there is also a tournament between the participants' programs.
18:27:39 <quintopia> yeah that's what isolation was for. mine got second place in the tournament.
18:27:58 <fizzie> Sadly it's Java -- well, JVM, anyway -- now, due to all the complaints after our introduction-to-programming courses switched from Scheme to Java.
18:28:12 <quintopia> lame
18:29:30 <fizzie> The Java version lets the participants do quite a lot more computation, though. (The Scheme one was built on top of the SICP metacircular interpreter for instruction-limits and sandboxing.)
18:30:11 <elliott> <quintopia> and it's always in Lisp. the proper AI language.
18:30:19 <elliott> lisp was never designed for ai and its association with ai is largely accidental
18:30:32 <quintopia> but real
18:30:46 <elliott> perhaps, but largely baseless.
18:30:48 <Vorpal> <fizzie> Reversi/othello is a perennial... well, maybe not quite a favourite, but at least a recurring topic on the AI course. <- yeah it is easier to work on than chess but not as trivial as tic-tac-toe
18:31:05 <quintopia> lisp-likes (and other functional languages i suppose) have some nice properties for AI implementation
18:32:29 <fizzie> Chess is an even more frequent topic, I believe. Of course there's the code-stealing-from-the-webs problem, but on the other hand we don't so much care about the implementations (it's not a programming course), we just grade the reports.
18:33:00 <Vorpal> quintopia, "Isolation"?
18:34:21 <Vorpal> fizzie, at least python is somewhat less painful than java
18:34:29 <elliott> quintopia: lisp was rarely used functionally in ai
18:35:17 <quintopia> elliott: i used it functionally. what's wrong with other people?
18:35:29 <elliott> quintopia: you're talking about people in the 50s, 60s, 70s here
18:35:32 <elliott> LABELS was very common.
18:35:42 <quintopia> elliott: is there a language that doesn't suck but compiles to run as fast as C or fortran?
18:35:43 <elliott> i doubt you would have been significantly more "enlightened" than them at the time
18:35:48 <elliott> quintopia: um, haskell?
18:35:49 <fizzie> Vorpal: Isn't there some sort of Jython? We allow any JVM languages (though we only support Java), after all.
18:36:04 <elliott> Yes, there's Jython.
18:37:27 <fizzie> Our competition runs on http://www.niksula.hut.fi/~svirpioj/hierarkia/ partly due to the moderately higher-than-chess branching factor, partly because it's so unknown.
18:37:42 <Vorpal> fizzie, hm
18:38:14 <Vorpal> fizzie, is that the usual one you show each year?
18:38:17 <fizzie> Not many have done !Java; I think two in the three or so years the Java framework's been there.
18:38:24 <fizzie> Yes, the same.
18:38:41 <Vorpal> fizzie, also no Swedish version? Strange for .fi
18:38:53 <Deewiant> Probably hasn't been requested
18:38:56 <Vorpal> ah
18:39:03 <Deewiant> They're legally obligated to provide one if somebody does request it
18:39:05 <quintopia> Vorpal: http://boardgamegeek.com/boardgame/1875/isolation this is the original
18:39:11 <Vorpal> Deewiant, ah I see.
18:39:23 <fizzie> We're not that serious about the whole "second official language" business. :p
18:39:57 <Deewiant> If you want, I can cause trouble by demanding it in Swedish
18:40:04 <Vorpal> quintopia, that looks like it has a high branching factor
18:40:28 <Deewiant> Although I'm not sure if that implies that I want everything in Swedish, which might screw me over in the exam
18:40:34 <Vorpal> Deewiant, well, I don't see the point of doing that
18:40:39 <fizzie> Deewiant: I'm not sure whose problem it would become. Possible the responsible teacher.
18:40:57 <Deewiant> Who'd delegate it to you, presumably
18:41:13 <quintopia> Vorpal: it's basically a solved game in its original form. probably second player win. branching factor is at most 8.
18:41:14 <Vorpal> fizzie, what is your role in that course btw?
18:41:25 <Vorpal> quintopia, oh? No worse. Hm
18:41:35 <fizzie> Do we even guarantee Swedish on all courses? I don't really think so.
18:42:27 <Deewiant> I think you're supposed to, but nobody really cares
18:42:52 <quintopia> Vorpal: but the tournament gives each player a limited total time for all moves combined, so there's still not enough time for more than five or six plies on your longest turns.
18:43:05 <Vorpal> quintopia, hm reversi has something like 10 as the branching factor right?
18:43:20 <quintopia> max or average?
18:43:24 <Vorpal> quintopia, average
18:43:35 <Vorpal> quintopia, max must be quite a bit higher than that
18:43:36 <fizzie> I think my course-title is "course assistant"; I basically run the tournament and grade the programming assignments (both tournament-participating and custom-topics).
18:44:15 <quintopia> i don't know for sure, but i would guess it's somewhere in the 4-8 range based on the games i've played.
18:45:03 <Vorpal> hm I wonder if memoising would help for reversi. Could speed up the computation at the next turn if it turns out we were right. And possibly during the same turn if we get the same board state down multiple paths. I guess I'll have to test.
18:45:20 <quintopia> Vorpal: the "queen motion" version of isolation has a huge branching factor though. like...more than 10 on average i think.
18:45:41 <Vorpal> quintopia, how does queen motion apply to that game?
18:46:18 <Vorpal> oh wait
18:46:22 <quintopia> the standard isolation uses king motion: move to an adjacent square. queen motion allows you to move as far as you want along a straight unobstructed path.
18:46:34 <Vorpal> you don't refer to the "fit queens on a board" problem
18:46:41 <Vorpal> now it makes sense
18:46:53 -!- myndzi has quit (Read error: Connection reset by peer).
18:47:23 -!- myndzi has joined.
18:47:48 <fizzie> Hierarchy has on average somewhere around 50 valid moves, based on tournament statistics.
18:49:12 <Vorpal> ah
18:50:11 <quintopia> niiiice
18:50:21 <quintopia> what is Go's branching factor?
18:51:05 <Vorpal> quintopia, more than chess iirc
18:51:06 <fizzie> A lot more, I think.
18:51:13 <quintopia> indeed
18:51:30 <Vorpal> hm how painful would a multi-core alpha-beta pruning algorithm be?
18:51:39 <Vorpal> presumably you could just split it at the top node
18:51:40 -!- benuphoenix has joined.
18:51:42 <benuphoenix> hi
18:52:01 <Vorpal> and to n child node at the same time (n being the number of CPU cores)
18:52:22 <benuphoenix> i accidently ordered something online and want to talk about it
18:52:32 <benuphoenix> http://www.amazon.com/Serve-Man-Cookbook-People/dp/1880448823
18:52:45 <benuphoenix> trying to cancel the order
18:53:00 <Vorpal> are you sure you are in the right channel?
18:53:22 <benuphoenix> is this #complain
18:53:24 -!- Vorpal has set topic: WE ARE SOMEWHAT SPARTA no| http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
18:53:27 <fizzie> Arimaa is said to have a branching factor of 17281 on average, but I guess that was one of their deign goals.
18:53:27 <Vorpal> err
18:53:30 -!- Vorpal has set topic: WE ARE SOMEWHAT SPARTA | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
18:53:33 <Vorpal> no it isn't :P
18:53:35 <benuphoenix> sorry
18:53:49 <Vorpal> fizzie, arimaa? never heard of that one
18:54:08 <Vorpal> fizzie, but I guess 2 ply is max there
18:54:12 <Vorpal> or even 1 ply
18:54:14 <fizzie> Uh, it's been talked on this channel several times.
18:54:21 <fizzie> Due to the patentedness.
18:54:27 <fizzie> And weirdo license.
18:55:34 <Vorpal> hm
18:56:34 <benuphoenix> i'm trying to figure out the speed equations for starburst. do you know where i should go?
18:58:23 -!- benuphoenix has quit (Quit: leaving).
19:03:11 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:10:36 -!- Phantom_Hoover has set topic: WE ARE SOMEWHAT SPARTA AND SOMEWHAT ATHENS | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
19:10:48 <oerjan> that's weird, i thought i'd seen the nick benuphoenix here before
19:12:00 <elliott> you have
19:12:04 <elliott> he's a regular offtopicker
19:12:16 <oerjan> oh
19:13:05 <elliott> pikhq: stop me from writing my own coreutils
19:13:53 <oerjan> i guess he'll just have to keep the book then. which means, of course, he'll have to try out the recipes.
19:14:00 * oerjan cackles evilly
19:16:07 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
19:16:18 -!- kar8nga has joined.
19:16:33 <elliott> argv is guaranteed to be null-terminated, right?
19:17:28 <Deewiant> argv[argc] is guaranteed to be a null pointer
19:17:54 <elliott> Right.
19:18:08 -!- cheater99 has joined.
19:18:11 <elliott> Deewiant: And saying argv[argc] = ...; would be an abomination, yes? ;)
19:18:15 <elliott> Oh god I'm horrible.
19:18:18 <elliott> No, elliott, don't do that.
19:18:32 <Deewiant> Why would you? :-P
19:18:39 <elliott> Deewiant: To implement yes(1)!
19:18:48 <elliott> argv[argc] || argv[argc] = "y";
19:18:52 <elliott> Erm.
19:18:54 <elliott> *argv[1]
19:20:02 <Deewiant> That or const char *s = argc ? argv[1] : "y"
19:20:12 <elliott> Deewiant: That's whole BYTES more.
19:20:21 <Deewiant> How many?
19:20:46 <fizzie> One woulf think it just ends up in a register.
19:20:58 <elliott> *argv++||*argv="y";
19:20:58 <elliott> char*s=argc?argv[1]:"y";
19:20:59 <elliott> SEE???
19:21:08 <elliott> A whole FIVE bytes shorter!!!!!!!!!!
19:21:11 <Deewiant> elliott: You have to use it later on
19:21:22 <Deewiant> *argv versus s
19:21:22 -!- evincar has joined.
19:21:32 <elliott> Deewiant: Well then, let's GOLF.
19:21:36 <Deewiant> :-P
19:21:39 <elliott> (You must use write(2), not stdio.)
19:21:56 <fizzie> It doesn't have to be called argv, at least.
19:22:01 <evincar> Hay guaiẓ.
19:22:07 <elliott> z with a dot
19:22:23 <evincar> I fail at typing.
19:22:25 <elliott> Deewiant: int main(int c,char**v){*v++||*v="y";while(write(1,v,strlen(v))+write(1,"\n",1));return 0;}
19:22:27 <elliott> Deewiant: Bring it on.
19:22:47 <elliott> Deewiant: BTW, you don't need "char*s", you can reuse v.
19:23:00 <elliott> (Assuming that sizeof(char *) == sizeof(char **).)
19:23:27 <elliott> *v++||*v="y"
19:23:27 <elliott> v=c?v[1]:"y";
19:23:29 <elliott> Same length :P
19:23:59 <evincar> elliott: char* and char** are guaranteed to be the same length because they're both pointers to POD, I think.
19:24:01 <fizzie> I'd think the *v++ part there is always true, since it tests for argv[0]. Maybe *++v?
19:24:13 <elliott> fizzie: Right, yes, that.
19:24:14 <elliott> Same length.
19:24:15 <Deewiant> main(c,v){while(1)write(1,c>1?v[1]:"y",c>1?strlen(v):1),write(1,"\n",1);}
19:24:24 <fizzie> And pointers to data certainly don't need to have same size.
19:24:28 <elliott> Deewiant: Not valid C89.
19:24:46 <elliott> I think implicit int arguments are OK in C89 though.
19:24:46 <Deewiant> main(c,v)char**v;{while(1)write(1,c>1?v[1]:"y",c>1?strlen(v):1),write(1,"\n",1);}
19:24:54 <elliott> You forgot int at the start.
19:24:57 <Deewiant> No need
19:24:58 <elliott> That's not implicit in C89.
19:25:02 <elliott> No, no need only in C99.
19:25:02 <Deewiant> You sure?
19:25:05 <elliott> Yes.
19:25:08 <elliott> 100%
19:25:15 <elliott> You also need return 0 at the end, of course.
19:25:16 <Deewiant> I'll check anyway
19:25:22 <Deewiant> return 0 is incorrect, you know
19:25:26 <Deewiant> write can fail
19:25:37 <fizzie> At least on some Crays sizeof(char *) > sizeof(int *).
19:25:38 <elliott> Deewiant: Who says that programs have to return error exit status on failure?
19:25:43 <Deewiant> I do :-P
19:25:48 <elliott> Deewiant: Anyway, yours is wrong. You have to stop writing when the writes return 0.
19:25:58 -!- EgoBot has quit (Ping timeout: 240 seconds).
19:26:00 <elliott> Deewiant: yes has to stop writing when it can't write no' mo', and exit successfully.
19:26:05 <Deewiant> Oh, of course
19:26:12 -!- EgoBot has joined.
19:26:14 <elliott> So, in fact, yes should always return 0.
19:27:14 <elliott> Deewiant: int main(c,v)char**v;{v=c>1?v[1]:"y";while(write(1,v,strlen(v))+write(1,"\n",1));return 0;}
19:27:17 <elliott> Good luck beating that :P
19:27:29 <Deewiant> int main(c,char**v){v=c>1?v[1]:"y";while(write(1,v,strlen(v))+write(1,"\n",1));return 0;}
19:27:34 <Deewiant> Two bytes, I think
19:27:40 <elliott> Is "(c,char**v)" kosher?
19:27:43 <Deewiant> Not sure
19:27:58 <elliott> Darn, I almost considered exit(0) but that leaves main trailing off the end
19:28:01 <elliott> Is that valid C89?
19:28:03 <Deewiant> v= isn't
19:28:08 <elliott> Why not?
19:28:20 <fizzie> Anyhow, "for(;;);" is one char shorter than "while(1);".
19:28:21 <elliott> What about c=? :P
19:28:24 <Deewiant> With char**v you can't assign char* to it
19:28:28 <elliott> fizzie: We've abandoned while(1).
19:28:35 <elliott> Deewiant: Can you assign (char *) to int?
19:28:41 <fizzie> I see. I was up in the backscroll.
19:28:46 <elliott> If so,
19:28:47 <elliott> int main(c,char**v){c=c>1?v[1]:"y";while(write(1,c,strlen(c))+write(1,"\n",1));return 0;}
19:28:56 <Deewiant> I'm not sure
19:29:06 <Deewiant> You also have to have int -> char* for that to work
19:29:09 <Gregor> !c int main(c,char**v){v=c>1?v[1]:"y";while(write(1,v,strlen(v))+write(1,"\n",1));return 0;}
19:29:10 <EgoBot> Does not compile.
19:29:16 <Deewiant> Useful error, that
19:29:17 <fizzie> Not portably, int might not be big enough.
19:29:20 <Gregor> !c int main(int c,char**v){v=c>1?v[1]:"y";while(write(1,v,strlen(v))+write(1,"\n",1));return 0;}
19:29:24 <fizzie> In any case it needs a cast.
19:29:28 <Deewiant> fizzie: write(2) isn't portable anyway
19:29:43 <Gregor> Deewiant: Probably running, but you'd only get the response when it (doesn't) finish or in 30 seconds :P
19:29:56 <fizzie> Yes, but stuffing pointers into ints is less portable than write(2).
19:30:01 <elliott> Deewiant: int main(c,char**v){return execv("yes",v);}
19:30:02 <elliott> Deewiant: I win.
19:30:03 <Deewiant> Arguable
19:30:11 <Deewiant> elliott: Even less portable :-P
19:30:21 <elliott> Deewiant: It's portable to all POSIX systems. :p
19:30:26 <evincar> Why are we not omitting "int" before "main"?
19:30:29 <elliott> Deewiant: Good enough for cfunge!
19:30:32 <Deewiant> And I'm more sure that c,char**v isn't portable
19:30:33 <elliott> evincar: Not valid C89, only C99.
19:30:45 <Deewiant> elliott: cfunge isn't portable, it doesn't even run on Windows :-P
19:30:50 <evincar> elliott: I thought implicit int return type was older.
19:30:56 <Deewiant> It is older
19:31:20 <evincar> Well, I'm getting owned in this conversation.
19:31:28 <evincar> Why are we golfing a "yes" implementation, anyway?
19:31:30 <Deewiant> elliott: Implicit int is invalid C99
19:32:06 <elliott> Deewiant: Not for main
19:32:10 <elliott> Deewiant: Main is a special case.
19:32:12 <elliott> (Not joking.)
19:32:20 <elliott> evincar: BECAUSE
19:32:20 <Deewiant> Where does it say that
19:32:35 -!- Phantom_Hoover has joined.
19:32:42 <Deewiant> elliott: Implicit return 0 is a special case, you sure you're not confusing it with that?
19:32:49 <elliott> Deewiant: Oh, seemingly.
19:33:15 <elliott> Deewiant: Anywho, int main(c,v)char**v;{return execv("yes",v);} is both POSIXly correct and perfect :P
19:33:30 <evincar> So I need a name for my most recent language design.
19:34:05 <evincar> I was thinking something to do with light, like Enlight or similar, but I'm uncertain. My roommate suggested Spectrum.
19:34:06 <Gregor> !c printf("Forbleborble")
19:34:26 <Gregor> Gee, it was so responsive five minutes ago >_>
19:34:28 <Deewiant> elliott: Is it guaranteed in POSIX that that stuff is in PATH or just that it exists?
19:34:33 <EgoBot> Forbleborble
19:35:35 <elliott> Deewiant: Good point.
19:35:51 <elliott> int main(c,v)char**v;{return execvp("/usr/bin/yes",v);}
19:35:55 <elliott> I think the locations are specified... maybe.
19:36:02 <elliott> evincar: ZX
19:36:13 <evincar> elliott: Haw haw haw.
19:36:33 <elliott> YOU MOCK ME
19:36:41 <evincar> Alternatively, "Spectre", though I think that's already taken.
19:36:49 <evincar> And I wanted light, not ghosts.
19:38:15 <evincar> And yes, I am just waltzing in here and changing the topic, 'cause I have nothing better to do right now, at least nothing that I want to be doing.
19:39:43 <Gregor> WHY is trac taking up 100% CPU.
19:39:48 <Gregor> If I could figure that out, I would be a happier person.
19:39:58 <fizzie> I sure hope you have, you know, tested those yes-codes of yours, instead of just speculating. At least the plain execv("yes",v) is not likely to work since yes doesn't path-search. (And the commands, I think, are specified to be executable from the shell, and execvp is defined to "duplicate the actions of the shell", so I think execvp("yes",v) would be okay.)
19:40:27 <fizzie> Since execv doesn't path-search, I mean.
19:40:53 <fizzie> Well, I doubt yes looks for any paths either, but that's not very relevant.
19:47:23 <elliott> http://landley.net/code/toybox/ hmm
19:49:16 <Gregor> elliott: Totally GNU-free?
19:49:28 <elliott> Gregor: Presumably.
19:49:41 <elliott> Gregor: But not nearly complete enough. I consider mount quite a useful command.
19:50:02 <elliott> Gregor: busybox mocks me by not being buildable with anything more minimal than gcc/uClibc.
19:52:07 <elliott> Gregor: Sweet, and the pcc/dietlibc toolchain mocks me by making programs segfault if I strip them in any way, even though this halves their size :P
19:52:31 <elliott> It seems it's stripping the something or other.
19:55:17 <elliott> Oh, the segfault may be my mistake.
19:58:36 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
20:03:12 -!- perdito has quit (Quit: perdito).
20:14:32 -!- Phantom_Hoover has joined.
20:15:04 <oerjan> the seg was your fault
20:17:35 <Vorpal> elliott, am I insane if I start manually unrolling fixed python loops in order to speed up the AI by avoiding to construct python tuples (note: it helps. By an order of magnitude)
20:18:04 <elliott> 1975 false/false
20:18:04 <elliott> 1971 true/true
20:18:06 <elliott> How is this possible :P
20:18:09 <elliott> Vorpal: Suuuuuure :P
20:18:19 <Vorpal> like this:
20:18:20 <Vorpal> # Unrolled to avoid constructing a python list.
20:18:20 <Vorpal> voidcnt += self.validate_pos_pair(state, x, y, 0, 1)
20:18:20 <Vorpal> voidcnt += self.validate_pos_pair(state, x, y, 1, 0)
20:18:20 <Vorpal> voidcnt += self.validate_pos_pair(state, x, y, 1, 1)
20:18:20 <Vorpal> voidcnt += self.validate_pos_pair(state, x, y, -1, 1)
20:18:29 <elliott> Vorpal: dude just write the whole thing in cython
20:18:34 <Vorpal> elliott, I am
20:18:39 <elliott> Vorpal: in fact, write the whole thing in C
20:18:43 <elliott> Vorpal: as a python extension
20:18:45 <elliott> Vorpal: and just do
20:18:46 <elliott> import foo
20:18:47 <elliott> foo.run()
20:18:55 <Vorpal> elliott, but for (x,y) in [...] will construct a list even in cython
20:19:20 <Vorpal> elliott, and yeah writing it as C would be nice except the annoying variable length arrays for "possible moves"
20:19:29 <Vorpal> which would mean manual memory management
20:20:07 <pikhq> Just write the whole thing in Haskell as a Python extension.
20:20:09 <pikhq> :)
20:20:34 <elliott> Vorpal: Not really.
20:20:44 <elliott> Vorpal: Is there a maximum you've hit so far?
20:21:05 <elliott> Vorpal: You can basically just allocate as global or local and in the worst cases use mmap(), malloc is totally avoidable.
20:21:16 <elliott> (I know this because I usually refuse to use malloc.)
20:21:33 <elliott> pikhq: So I'm writing my own coreutils because I'm a stupid idiot.
20:21:36 <Vorpal> elliott, well no, it varies of course
20:21:57 <pikhq> elliott: Awesome.
20:22:09 <Vorpal> elliott, theoretically it is probably a few less than the board size
20:22:15 <elliott> 2227 bin/echo
20:22:15 <elliott> 1975 bin/false
20:22:15 <elliott> 1971 bin/true
20:22:18 <elliott> pikhq: Sizes in bytes.
20:22:22 <pikhq> elliott: Would you like a copy of the small portion of coreutils I've already written? It could save you a whole two hours.
20:22:27 <elliott> (No, I have no idea how false is bigger. Perhaps true relies on something being initialised to 0.)
20:22:30 <elliott> pikhq: What portion?
20:22:36 <elliott> pikhq: Bear in mind that I'm not using stdio at all.
20:22:38 <pikhq> base64 basename cal cat chgrp cksum
20:22:47 <Vorpal> elliott, why are you surprised that true is smaller than false?
20:22:50 <pikhq> ... Oh, it uses stdio. Well, never mind!
20:22:54 <elliott> pikhq: Well, I could port them.
20:22:55 <Deewiant> elliott: Those are approximately 2K too large
20:23:04 <Vorpal> elliott, generating a 0 takes fewer bytes than generating a 1
20:23:08 <Vorpal> on x86
20:23:10 <elliott> Vorpal: lawl :P
20:23:14 <elliott> Deewiant: Yes, they can be shell scripts. But /bin/sh is pretty big.
20:23:18 <Vorpal> elliott, and true is 0 in the shell
20:23:21 <pikhq> elliott: My cat is POSIX compliant!
20:23:25 <Vorpal> thus true is smaller
20:23:31 <Vorpal> elliott, it is pretty obvious
20:23:33 <pikhq> elliott: It supports the only option cat is required to have. ;)
20:23:38 <Deewiant> elliott: They can be binaries that are approximately 2K smaller :-P
20:23:43 <elliott> pikhq: But -u is utterly unused :P
20:23:55 <Vorpal> pikhq, what exactly does -u actually do?
20:23:59 <elliott> Deewiant: Well, yes, but I'm not Brian Raiter.
20:24:08 <elliott> Vorpal: Use unbuffered IO!
20:24:23 <Deewiant> Vorpal: It shouldn't be 4 bytes bigger, more like one or two
20:24:24 <elliott> Deewiant: I do use his sstrip, though :P
20:24:29 <elliott> pikhq: BTW, I'm compiling this with pcc.
20:24:34 <elliott> gcc produces larger executables.
20:24:52 <elliott> pikhq: Anyway, I'd appreciate a tarball of your code, since I can port or refer to it.
20:25:09 <elliott> pikhq: What license? Or rather, how permissive can I convince you to make the terms you give it to me under? :P
20:25:27 <Deewiant> If I can write a dobela interpreter in something like 4K, /bin/{false,true} should definitely be around 200 bytes at most :-P
20:25:31 <elliott> I plan on using the WTFPL.
20:25:42 <elliott> Deewiant: Patches written in C welcome :P
20:25:55 <Deewiant> If you're writing in C your compiler limits you
20:25:56 <elliott> Deewiant: Hmm, I could define _start and do _exit(0), couldn't I?
20:25:57 <pikhq> elliott: ISC license.
20:26:02 <elliott> Deewiant: And tell it -nostartfiles.
20:26:05 <elliott> pikhq: But, but, WTFPL.
20:26:12 <elliott> pikhq: The ISC has more restrictions!
20:26:22 <elliott> (It requires including the license with redistributed copies.)
20:26:27 <Deewiant> The ELF headers emitted by most standard compilers are at least a few dozen bytes bigger than necessary
20:26:34 <elliott> pikhq: By using restrictions you are SUPPORTING COPYRIGHT LAW.
20:26:39 <elliott> Deewiant: sstrip strips 'em.
20:26:48 <elliott> * sstrip is a small utility that removes the contents at the end of an
20:26:48 <elliott> * ELF file that are not part of the program's memory image.
20:26:48 <elliott> *
20:26:48 <elliott> * Most ELF executables are built with both a program header table and a
20:26:48 <elliott> * section header table. However, only the former is required in order
20:26:48 <elliott> * for the OS to load, link and execute a program. sstrip attempts to
20:26:50 <elliott> * extract the ELF header, the program header table, and its contents,
20:26:52 <elliott> * leaving everything else in the bit bucket. It can only remove parts of
20:26:54 <elliott> * the file that occur at the end, after the parts to be saved. However,
20:26:56 <elliott> * this almost always includes the section header table, and occasionally
20:26:58 <elliott> * a few random sections that are not used when running a program.
20:27:00 <elliott> Oh, flood.
20:27:02 <elliott> Whatever.
20:27:09 <Deewiant> elliott: Does it rename the sections to something shorter? Presumably not.
20:27:12 <elliott> This, incidentally, makes it impossible to decompile these with objdump.
20:27:30 <elliott> $ strings bin/false
20:27:31 <elliott> t5M9
20:27:31 <elliott> /dev/urandom
20:27:31 <elliott> LD_PRELOAD
20:27:31 <elliott> valgrind
20:27:41 <elliott> Deewiant: It eliminates the names altogether.
20:27:47 <elliott> (Why is LD_PRELOAD in there? There's no dynamic linking going on.)
20:27:57 <Deewiant> (Guess it didn't eliminate that then.)
20:28:12 <Ilari> It should be possible to make true and false good bit less than 200 bytes, without mangling ELF headers...
20:28:14 <Deewiant> At most that first string should be in there :-P
20:28:23 <elliott> NO! t5M9 is the SYMBOL OF BLOAT.
20:28:24 <Deewiant> I can't remember how long the ELF headers are
20:29:39 <elliott> 248 bin/false
20:29:40 <elliott> Deewiant: Happy?
20:29:45 <elliott> void _start(void)
20:29:45 <elliott> {
20:29:45 <elliott> _exit(1);
20:29:45 <elliott> }
20:29:51 <Deewiant> Heh
20:30:01 <elliott> If I made that noreturn, presumably it'd be EVEN SHORTER
20:30:11 <pikhq> elliott: But but true.asm is 45 bytes!
20:30:26 <Deewiant> .asm is easily longer than the exe :-P
20:30:33 <Deewiant> Erm, shorter
20:30:53 <pikhq> Deewiant: Erm, when assembled it's 45 bytes.
20:30:58 <elliott> Deewiant: You're fucking up my build system here :P
20:31:01 <Vorpal> the thing that annoy me with heuristics is that they are basically one huge fudge factor
20:31:08 <Vorpal> (yes yes, they are by definition)
20:31:19 <pikhq> It's the smallest possible Linux-loadable ELF.
20:31:29 <Deewiant> Linux-version-specific, too :-P
20:31:54 <elliott> Deewiant: Gah, I can't even use diet(1), because it sticks start.o in there :P
20:32:12 <Vorpal> elliott, um why do you care if it is less than 2 KB?
20:32:15 <Deewiant> What's diet(1)
20:32:21 <elliott> Vorpal: Because Deewiant cares.
20:32:30 <Ilari> Only in Linux 2.4... AFAIK, those 45-byte executables don't work in 2.6
20:32:39 <elliott> Deewiant: "diet cc foo.c -o foo" handles all the -nostdwhatever stuff and appends the path to libc.a and start.o for dietlibc.
20:32:53 <elliott> Deewiant: dietlibc being the reason these things are this small in the first place, as opposed to 17K or whatever with uClibc :P
20:33:09 <Deewiant> libc.a? start.o? What are these unnecessarities
20:33:23 <pikhq> elliott: If you're using _start, you should probably just manually write the system call function. Thereby needing no libc.
20:33:28 <pikhq> elliott: http://filebin.ca/cemkzt/pikhq-coreutils-0.1.tar.xz
20:33:28 <Vorpal> elliott, after all page size is 4096 bytes. There is no way you will allocate less than 4 KB thus. Also usually the file system block size is larger than a sector. 2 or 4 KB are common. Thus I think you are optimising pointlessly
20:33:48 <Vorpal> seriously, you are microoptimising into the silliness now
20:34:01 <elliott> Vorpal: Yes I am.
20:34:18 <elliott> pikhq: What syscall number is exit again?
20:34:19 <Vorpal> elliott, stop it. Or you will have to maintain cfunge in the afterlife
20:34:19 <Ilari> Make utilities detect argv[0] and work accordingly (sticking couple utilities together)? :-)
20:34:23 <Ilari> elliott: 1
20:34:26 <elliott> Ilari: That's the loser's way out.
20:34:39 <pikhq> elliott: It's __NR_exit from asm/unistd.h
20:35:14 <Vorpal> elliott, actually doing what Ilari said probably is better. It means you just need one entry in the page cache for true and false, and probably they will both fit into the same binary
20:35:21 <pikhq> Ilari: See pikhqbox.c in pikhq-coreutils. :)
20:35:22 <elliott> pikhq: How about I just use <linux/unistd.h> :P
20:35:29 <Vorpal> just check if argv[0][0] is 't' or 'f'
20:35:30 <elliott> Does pikhqbox.c do
20:35:32 <Vorpal> then use that
20:35:33 <elliott> #define main progname_main
20:35:34 <Vorpal> elliott, ^
20:35:36 <elliott> #include "progname.c"
20:35:36 <elliott> ?
20:35:38 <elliott> If so, you win.
20:35:38 <pikhq> elliott: Baaah.
20:35:43 <elliott> Vorpal: Hardy har. :P
20:35:43 <Deewiant> Vorpal: What if argv[0][0] is '/'
20:35:50 <pikhq> elliott: Also, yes.
20:35:52 <Vorpal> Deewiant, hm good point
20:35:54 <elliott> pikhq: So can I have assurance that that tarball is WTFPL'd? :P
20:35:56 <elliott> Otherwise I can't use it.
20:36:03 <evincar> Update: I've come back to "Enlight" as a name. I can't really come up with anything better, but I'm not sure it even fits now.
20:36:16 <pikhq> elliott: I hereby dual-license it under ISC and WTFPL.
20:36:24 <pikhq> elliott: Use at your discretion.
20:36:26 <elliott> pikhq: Thank thee kindly.
20:36:31 <elliott> pikhq: Hey, WTFPL doesn't require discretion!
20:36:39 <elliott> I can go CERAAAAAAAAAAAAAAZY with it, so long as I WANT TO.
20:36:41 <pikhq> elliott: That was just a suggestion.
20:36:57 <elliott> (Thought experiment: is it a license violation to do something you don't want to to a WTFPL program?)
20:37:00 <Vorpal> Deewiant, check from the end for true/false (the second to last letter should be good. You need a strlen call probably though
20:37:07 <elliott> I suggest the following fix:
20:37:10 <pikhq> elliott: But, yeah. pikhqbox.c does in fact do #define main progname_main and #include "progname.c".
20:37:12 <elliott> 1. You just DO WHAT THE FUCK YOU WANT TO.
20:37:17 <elliott> 2. Or you just DO WHAT THE FUCK YOU DON'T WANT TO.
20:37:23 <elliott> 3. Or you just DO WHAT THE FUCK YOU'RE NOT SURE WHETHER YOU WANT TO OR NOT.
20:37:32 <Vorpal> elliott, this is too long and verbose
20:37:37 <Deewiant> Vorpal: What if you're exec'd by something that gives you argv[0] = "hoody hoo"
20:37:40 <Vorpal> elliott, what about "do whatever"
20:37:41 <Vorpal> or such
20:37:49 <elliott> 1. You just DO WHAT THE FUCK.
20:38:03 <Vorpal> elliott, better but perhaps a bit unclear
20:38:10 <elliott> pikhq: I may require your assistance for commands such as mount. :P
20:38:18 <pikhq> elliott: Okay.
20:38:22 <Vorpal> Deewiant, then you are fucked
20:38:28 <Deewiant> Vorpal: Hence you don't do that.
20:38:31 <Vorpal> Deewiant, but maybe default to one behaviour
20:38:43 <elliott> pikhq: Dude, pikhqbox doesn't even use a hash table :P
20:38:49 <Vorpal> Deewiant, but there are tools, such as busybox and grep iirc. which check argv[0]
20:39:03 <pikhq> elliott: I optimised for code simplicity. :)
20:39:03 <Vorpal> well some grep implementations at least
20:39:04 <elliott> pikhq: And even though every command starts with either b or c, you check the first character 5 times in the worst case.
20:39:11 <Vorpal> for grep/fgrep/egrep
20:39:16 <elliott> pikhq: So did I! main is more complex than _start because main has a return value.
20:39:46 <Vorpal> elliott, what is pikhqbox?
20:39:49 <pikhq> elliott: If something was more work and harder to understand, I decided not to do it.
20:39:52 <elliott> _syscall1(void, _exit, int, status)
20:39:54 <Vorpal> I must have missed the code in it
20:39:57 <elliott> Why does this not work...
20:39:57 <Vorpal> for it*
20:40:03 <elliott> Vorpal: busybox, but for pikhqutils.
20:40:10 <Vorpal> elliott, huh
20:40:15 <pikhq> http://filebin.ca/cemkzt/pikhq-coreutils-0.1.tar.xz
20:40:32 <elliott> pikhq: I remember ripping the hell out of your cat implementation at one point. :P
20:40:38 <Vorpal> elliott, you never find that coloured ls output is nice?
20:40:39 <elliott> *cal
20:40:40 <elliott> not cat.
20:40:46 <Vorpal> considering the current style
20:40:49 <pikhq> elliott: I changed it in response.
20:40:49 <elliott> Vorpal: Sure I do. Who says I'm not going to implement that?
20:41:01 <elliott> pikhq: Indeed. Now to rip the hell out of it with fresh new eyes!
20:41:01 <Vorpal> elliott, because termcap is a pain?
20:41:06 <pikhq> elliott: :P
20:41:06 <elliott> (I replaced my eyeballs recently.)
20:41:14 <Vorpal> elliott, (and surely you will not hard code it)
20:41:15 <elliott> Vorpal: Why the hell would I support anything that isn't ANSI-compatible...?
20:41:24 <elliott> I mean, go on: name one terminal.
20:41:31 <Vorpal> elliott, because how else could you hook it up to that DEC terminal!?
20:41:36 <elliott> pikhq: static const int lengths_of_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
20:41:37 <elliott> pikhq: omg bloat
20:41:40 <elliott> pikhq: :P
20:41:47 <pikhq> elliott: Clarity, not binary size. Sorry.
20:41:49 <Vorpal> yes indeed.
20:41:54 <Vorpal> pikhq, you should have used char
20:41:55 <Vorpal> not int
20:42:01 <elliott> No. BITMASK!
20:42:01 <Vorpal> very much bloat
20:42:02 <pikhq> Vorpal: BAAAH
20:42:04 <elliott> pikhq: Yeah, it is actually a pretty nice cal.
20:42:16 <Vorpal> pikhq, 12*3 bytes wasted!
20:42:18 <Vorpal> think of that
20:42:27 <pikhq> elliott: It beats just about every other cal I could find.
20:42:28 <elliott> pikhq: However you do sin heavily by using stdio. :p
20:42:39 <pikhq> elliott: Which are pretty much all genetic UNIX, and are therefore horrifying.
20:42:47 <Vorpal> pikhq, also it is incorrect for the second month every 4th year unless you have that logic elsewhere
20:42:54 <elliott> He does.
20:42:56 <Vorpal> well, almost every 4th year
20:43:00 <elliott> pikhq: Does it handle september 1752?
20:43:07 <elliott> *September
20:43:09 <pikhq> elliott: No.
20:43:09 <Vorpal> elliott, is that when UK switched over?
20:43:22 <pikhq> elliott: That is the one bug.
20:43:37 <Vorpal> elliott, if it doesn't handle the Swedish switchover (I told you about THAT mess before) it is broken :P
20:43:43 <elliott> Vorpal: The British Calendar Act of 1751 / Declared the day after Wednesday / September 2nd / 1752 / Would be Thursday / September 14 / 1752
20:43:46 <Deewiant> Vorpal: You only need 1 bit for each o f the eleven non-february months (february needs leap year checking anyway so might as well handle it completely separately)
20:43:51 <Deewiant> s/o f/of/
20:43:54 <elliott> It is Unix tradition to support "cal sep 1752".
20:43:55 <Vorpal> Deewiant, true
20:44:13 <elliott> (Source for above clarification on the UK switchover time: http://www.youtube.com/watch?v=l4Zf1eyWYFs)
20:44:20 <Vorpal> $ cal sep 1752
20:44:20 <Vorpal> cal: illegal month value: use 1-12
20:44:21 <pikhq> Vorpal: Sorry, but I only wrote for C locale.
20:44:22 <Vorpal> elliott, what ^
20:44:32 <elliott> Vorpal: Yeah, because Linux follows Unix tradition ...
20:44:35 <pikhq> Vorpal: Try 9
20:44:39 <Vorpal> pikhq, indeed
20:44:43 <Vorpal> pikhq, it works then
20:44:52 <Vorpal> elliott, it just doesn't do named months
20:44:55 <Deewiant> sep implies locales
20:45:02 <elliott> Deewiant: Oh fuck off :P
20:45:10 <Vorpal> Deewiant, oh so it does
20:45:15 <Deewiant> elliott: What? :-P
20:45:16 <elliott> Measurements and currencies and time: yes, locale-relevant.
20:45:26 <elliott> Input and output messages: Fuck you, English-only :P
20:45:34 * pikhq loves that month.
20:45:50 <elliott> _syscall1(void, _exit, int, status)
20:45:52 <elliott> pikhq: srsly, why doesn't that work.
20:46:02 <Vorpal> elliott, Why English only? That is discrimination.
20:46:04 <Deewiant> elliott: Is "time" not an "input message" in this case
20:46:06 <pikhq> elliott: 2.6 removed that macro.
20:46:10 <elliott> Vorpal: Yes it is!
20:46:14 <Vorpal> Deewiant, indeed it is!
20:46:17 <pikhq> IIRC
20:46:37 <elliott> pikhq: Well, I still have man _syscall...
20:46:41 <elliott> Or do you mean just the "1" variant?
20:46:44 <elliott> Deewiant: It would be, if I hadn't decided it wasn't.
20:46:56 <Deewiant> Your decision is poor
20:46:57 <elliott> Starting around kernel 2.6.18, the _syscall macros were removed from
20:46:57 <elliott> header files supplied to user space. Use syscall(2) instead. (Some
20:46:57 <elliott> architectures, notably ia64, never provided the _syscall macros; on
20:46:57 <elliott> those architectures, syscall(2) was always required.)
20:46:58 <elliott> Ugh.
20:47:21 <pikhq> elliott: You have to actually write the system call handler manually.
20:47:22 <Vorpal> elliott, nothing wrong with syscall()
20:47:24 <elliott> pikhq: I refuse to be unportable across architectures, how can I avoid using syscall(2) :P
20:47:40 <pikhq> elliott: Write _syscall for each architecture.
20:47:44 <pikhq> Vorpal: It goes through libc.
20:47:46 <Vorpal> elliott, well _syscall would have been unportable too
20:47:48 <Vorpal> pikhq, and?
20:47:49 <pikhq> Vorpal: And does a *lot* of stuff.
20:48:05 <Vorpal> hm it sets errno
20:48:06 <Vorpal> okay
20:48:08 <Vorpal> that is annoying
20:49:59 <elliott> <Vorpal> elliott, well _syscall would have been unportable too
20:50:00 <elliott> how?
20:50:03 <elliott> not across architectures
20:50:11 <elliott> apart from linux's failure to implement it
20:50:26 -!- Sasha has quit (Ping timeout: 240 seconds).
20:50:35 <Vorpal> gah. This fudge factor is chaotic
20:50:53 <Vorpal> elliott, <elliott> not across architectures <elliott> apart from linux's failure to implement it <-- uh... what
20:51:22 <elliott> Vorpal: _syscall isn't unportable
20:51:32 <elliott> linux just didn't implement it on every arch, for no real reason
20:51:49 <elliott> pikhq: You know what, fuck this. _exit(0) is fine :P
20:52:22 <Vorpal> elliott, also linux specific of course (but that is a different kind of unportable)
20:52:24 <pikhq> elliott: Then you're getting symbol collision for start; sorry.
20:52:34 <elliott> pikhq: No I'm not.
20:52:37 <elliott> pikhq: I link in libc.a but not start.o.
20:52:45 <pikhq> Oh, you're doing that manually.
20:52:53 <elliott> pikhq: Yes. Because I'm a crazy goddamn fucker.
20:52:59 <elliott> bin/true bin/false: \
20:53:00 <elliott> CC=~/kitten/stage2/bin/pcc -Os -nostdlib -nostdinc -nostartfiles \
20:53:00 <elliott> ~/kitten/stage2/lib-x86_64/libc.a
20:53:52 * elliott looks at pikhq's cat.c, decides that it's so stdioy that it's easiest to rewrite.
20:53:55 <evincar> elliott: You sure are.
20:53:58 <elliott> (Also, that handling -u is pointless binary bloat.)
20:54:07 <Vorpal> elliott, as long as it is smaller than file system block size and page size you don't gain anything by making it smaller
20:54:24 <Vorpal> stdio in cat?
20:54:25 <Vorpal> ugh
20:54:26 <elliott> Vorpal: Apart from e-penis length.
20:54:38 <elliott> Vorpal: What, I would have expected you to be an stdio-lover.
20:54:50 <Vorpal> elliott, why on earth
20:54:53 <elliott> pikhq: Other things I won't support: "-" as an argument name! /dev/stdin exists for a reason!
20:54:55 <elliott> Vorpal: Um, fopen?
20:55:18 <Vorpal> elliott, stdio is nice when you work with textual in-data. But fwrite is no better than write when you deal with non-textual data
20:55:31 <elliott> fwrite is no better than write ever :P
20:55:37 <Vorpal> elliott, indeed
20:55:43 <elliott> (Okay, if someone implemented an stdio that didn't suck, I might change my opinion.)
20:55:48 <elliott> But 99% of the time it's just useless abstraction that you don't need.
20:55:50 <Vorpal> elliott, but you wouldn't use either if working with textual data
20:55:56 <elliott> printf is convenient but almost always severely-bloating, and error-prone too.
20:56:05 <elliott> A nice formatting API would be, well, nice; I think libowfat has one.
20:56:07 <Vorpal> elliott, you can make printf that is small
20:56:17 <elliott> Vorpal: Yeah, but the API still sucks. :p
20:56:31 <elliott> Haha! I just pioneered a NEW CONTROL STRUCTURE.
20:56:32 <elliott> "else for"
20:56:34 <Vorpal> elliott, what do you prefer? cout << setw(4) << i << endl; ?
20:56:56 <elliott> Vorpal: It depends!
20:57:02 <Vorpal> elliott, and what does else for do?
20:57:10 <elliott> else for is for, except in an else clause.
20:57:21 <elliott> Vorpal: Probably write_int_width(i, 4);
20:57:21 <Vorpal> elliott, uh how is that new?
20:57:22 <elliott> Or something.
20:57:26 <elliott> I think libowfat has something like that.
20:57:29 <elliott> Vorpal: Because it isn't else { for ... }.
20:57:31 <elliott> It's "else for!"
20:57:33 <elliott> *for"!
20:57:36 <elliott> One whole indentation less!
20:57:42 <Vorpal> elliott, you know format strings are nice because translation works with them
20:57:46 <Vorpal> unlike most other solutions
20:57:53 <Vorpal> remember you need to reorder stuff between languages
20:57:55 <elliott> Vorpal: Sure, that's a language deficiency :P
20:58:05 <elliott> As far as I'm concerned we should all struggle with English until somebody makes an OS that doesn't suck.
20:58:14 <elliott> Vorpal: Also, printf SO FAILS AT THAT.
20:58:20 <elliott> "The %s is %d years old."
20:58:23 <Vorpal> and you often need the whole sentence to translate it (the same word will translate to different words in different contexts)
20:58:24 <elliott> You can't swap the %d and the %s there.
20:58:25 <elliott> If it was
20:58:30 <Vorpal> elliott, you can
20:58:31 <elliott> "The %{0}s is %{1}d years old."
20:58:35 <elliott> and you could reorder them, sure.
20:58:59 <Vorpal> elliott, you can reorder them like that when you translate the format string
20:59:06 <Vorpal> using numbers like that
20:59:14 <Vorpal> check man snprintf some day
20:59:17 <Gregor> elliott: If your language isn't flexible enough to adjust the phrasing such that that's in the right order, then you don't deserve i18n :P
20:59:28 * elliott writes lib.c!
20:59:32 <elliott> The most libraryiffic C file ever!
20:59:41 <elliott> Vorpal: Noooon-poooortableeeeee.
20:59:49 <Vorpal> elliott, it is SUS iirc
20:59:50 <elliott> (Pronounced "porta-blee".)
20:59:51 <Vorpal> elliott, not C99 sure
20:59:53 <Vorpal> but SUS
21:00:06 <elliott> Vorpal: So it's useless on Windows. Deewiant! Yell at him!
21:00:15 * Deewiant yells
21:00:34 <elliott> pikhq: Name my error-reporting function: oops, crap, damn, fuck, barf.
21:00:37 <Vorpal> elliott, as if you would care about that. Your code is very linux specific it seems
21:00:46 <elliott> Vorpal: Hey, I UNDID THAT MISTAKE
21:00:47 -!- yorick has joined.
21:00:51 <elliott> Now I only depend on _start.
21:00:52 <elliott> And _exit.
21:00:53 <pikhq> elliott: 糞
21:01:01 <elliott> pikhq: æe@ł
21:01:04 <Vorpal> elliott, the time to start worrying about windows support is the point you use stdio instead of read and write
21:01:05 <Vorpal> and so on
21:01:22 <pikhq> Vorpal: He is unlikely to ever want to run this on Windows.
21:02:22 <Vorpal> hm this seems to work, now I don't dare touch this heuristic. A tiny change, such as 0.26 to 0.25 for one constant completely changes the outcome.
21:02:30 <Vorpal> pikhq, indeed my point
21:03:00 <Vorpal> pikhq, so complaining about format string argument reordering for translation being unportable is... utterly stupid
21:03:24 <Ilari> Heh... Figured out why connections to one hostname were slow: It has two IPv6 addresses. The first one is unreachable (timeouts) but the second is reachable. So the first address has to timeout and then it falls back into second address, resulting connection being established.
21:04:03 <Vorpal> Ilari, use sctp with the multi-homed stuff
21:04:17 <Vorpal> then establish to both at once and use whatever works
21:04:18 <Vorpal> or something
21:05:08 <Phantom_Hoover> http://www.poemhunter.com/poem/a-problem-in-dynamics/
21:05:20 <Phantom_Hoover> By Maxwell himself.
21:05:23 <Phantom_Hoover> I am in awe.
21:05:31 <Ilari> I don't know if those two are the same host...
21:05:39 <elliott> void cat(int fd)
21:05:40 <elliott> {
21:05:40 <elliott> char c;
21:05:40 <elliott> while (read(0, &c, 1) > 0)
21:05:40 <elliott> write(1, &c, 1);
21:05:40 <elliott> }
21:05:45 <elliott> pikhq: Spot the unfortunately ugly-to-fix bug.
21:06:36 <Phantom_Hoover> http://www.haverford.edu/physics/songs/rigid.htm
21:06:41 <Phantom_Hoover> There's a song, too.
21:06:43 <elliott> pikhq: Erm, apart from read's first argument.
21:07:08 <elliott> pikhq: bin/cat is annoyingly big because of strerror :(
21:07:14 -!- evincar has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.12/20101026210630]).
21:07:30 <elliott> EFBIG See EOVERFLOW.
21:07:35 <elliott> Please tell me this stands for Fucking Big.
21:08:22 <pikhq> elliott: You know you want the system call for read and write!
21:08:24 <Deewiant> It's probably File
21:08:24 <Vorpal> <Ilari> I don't know if those two are the same host... <-- hm true
21:09:26 * pikhq suspects that stupid NATs don't handle sctp.
21:10:06 <elliott> pikhq: It occurs to me that not supporting - as an argument may ... break some things... slightly.
21:10:07 <elliott> SO NOW I AM
21:12:24 <elliott> pikhq: Feel like de-uglying my code? :P
21:12:37 <elliott> pikhq: (Or just telling me what's really ugly.)
21:12:47 <elliott> Hey, YOU don't handle read errors either.
21:12:49 <pikhq> Sure, why not.
21:12:50 <elliott> Right then, I won't!
21:13:06 <elliott> pikhq: http://sprunge.us/PWFX
21:13:20 <elliott> pikhq: The main ugliness is handling errors nicely, a thing that Unix has built up a wonderful reputation of NOT doing and making it extremely difficult to do.
21:13:30 <elliott> So I'm just going to rip out the part of cat() that handles errors because really what kind of thing fails at that point.
21:13:52 <elliott> pikhq: Still. main() is a bit ew.
21:14:07 <elliott> pikhq: Hey, yours is NOT compliant.
21:14:11 <elliott> pikhq: It gives up after the first error.
21:14:15 <pikhq> elliott: Baaah.
21:14:25 <elliott> pikhq: Ha ha! You fail at cat!
21:14:42 <pikhq> ,[.,] is enough
21:15:00 -!- Sgeo has joined.
21:15:20 <elliott> pikhq: Wait, you're right.
21:15:26 <elliott> It's okay to give up after the first error.
21:15:28 <elliott> Yay.
21:15:35 <elliott> pikhq: (Although slightly more irritating to use...)
21:15:47 <elliott> Yeah, in fact, that's so irritating that I'm not going to do it.
21:15:55 <elliott> (Isn't it? Oh the dilemma.)
21:17:06 <Sgeo> Phantom_Hoover, I'm still COBOL Guy?
21:17:20 <Phantom_Hoover> Sgeo, yes.
21:18:25 <elliott> pikhq: I think I'll do date(1) next, it's vaguely meaty.
21:18:26 <Vorpal> oh duh, I just increased speed quite a bit from realising I did the top node in alpha-beta wrong.
21:18:31 <elliott> Does anyone use date -u?
21:19:30 <Vorpal> elliott, yes
21:19:47 <Sgeo> I'm going to go watch the only SG-1 episode I haven't seen
21:19:48 <Vorpal> elliott, very useful to get UTC
21:20:37 <Sgeo> It's pretty easy to fake methods returning classes in Newspeak
21:20:44 <Sgeo> Still, might be a bit annoying
21:21:03 <Vorpal> elliott, also if you don't support the gnu extension %s in the string, then there is no way to get UNIX timestamp from shell script
21:21:14 <Vorpal> elliott, so it might be a GOOD extension to support
21:21:25 <Vorpal> I think FreeBSD has it too
21:21:29 <Vorpal> and a handful of other ones
21:21:32 <Vorpal> but not POSIX
21:22:35 <elliott> #define isflag(s, c) ((s)[0] == '-' && (s)[1] == c && !(s)[2])
21:22:36 <elliott> ^ useful.
21:23:18 <Vorpal> elliott, getopt?
21:23:30 <elliott> Vorpal: Pointless when you only have one single flag.
21:23:35 <Vorpal> elliott, true
21:23:51 <elliott> Vorpal: A better question would be "strcmp?", to which I reply: inflated the binary for no real gain.
21:24:16 <Vorpal> elliott, will you support %s in date's format string?
21:25:40 <elliott> Vorpal: I'm using strftime. :P
21:25:56 <elliott> -rwxr-xr-x 1 root root 59K Apr 28 2010 /bin/date
21:25:56 <elliott> -rwxr-xr-x 1 elliott elliott 6.4K Dec 3 21:25 bin/date
21:26:06 <elliott> Ha, wait, I forgot to actually PRINT the date.
21:27:10 <Vorpal> elliott, idea: multi-core to make the AI n times as fast (n depending on number of cores)
21:27:22 <elliott> $ bin/date -u
21:27:22 <elliott> Segmentation fault
21:27:29 <Vorpal> elliott, gdb on that then
21:27:39 <elliott> Vorpal: Or just look at the code.
21:27:43 <elliott> if (isflag(argv[1], 'u')) {
21:27:43 <elliott> utc = 1;
21:27:43 <elliott> argv++;
21:27:43 <elliott> }
21:27:43 <elliott> if (argv[1][0] == '+') fmt = argv[1] + 1;
21:27:45 <elliott> Mistake is obvious.
21:27:50 <elliott> Fix trivial.
21:28:13 <Vorpal> yes indeed it is obvious
21:28:21 <elliott> if (argv[1] && argv[1][0] == '+') fmt = argv[1] + 1;
21:28:21 <elliott> Tada.
21:28:27 <Vorpal> elliott, actually there are two mistakes there
21:28:47 <elliott> Vorpal: That argc is left out-of-sync?
21:28:53 <elliott> Deliberate; I don't use argc anywhere after that.
21:28:55 <Vorpal> elliott, where does it say argv will have a NULL pointer after the last element?
21:29:02 <elliott> Vorpal: That is guaranteed.
21:29:04 <Vorpal> ah okay
21:29:25 <elliott> Vorpal: So what's mistake #2?
21:29:43 <Vorpal> none then
21:29:54 <Vorpal> elliott, or do you check that argv[1] exists above the isflag check?
21:29:59 <Vorpal> if not that is another mistake
21:30:53 <elliott> if (argc > 1) {
21:30:55 <elliott> Yes, I do.
21:31:02 <Vorpal> good
21:31:03 <elliott> Actually I can avoid that outer conditional trivially...
21:31:31 <Vorpal> elliott, what if someone passes you argv[0] = NULL?
21:31:37 -!- Mathnerd314 has joined.
21:32:01 <Vorpal> elliott, by execv or such
21:32:04 <elliott> Vorpal: Then argv is {NULL, NULL, whatever}
21:32:07 <elliott> Well.
21:32:09 <elliott> I suppose that
21:32:20 <Vorpal> elliott, it could be {NULL, whatever} I think
21:32:28 <Vorpal> not sure though
21:32:38 <elliott> Vorpal: Yes, true. (But if you deny something an argv[0], you're just a monster.)
21:32:42 <elliott> And everything will break on that :P
21:32:53 <Vorpal> elliott, not stuff which checks for it
21:33:03 <elliott> Hmm, why is $TZ not doing anything...
21:33:15 <Vorpal> elliott, presumably your libc doesn't use it
21:33:20 <elliott> Presumably :P
21:33:33 <elliott> Vorpal: You're on a non-GMT timezone, presumably. Can you test bin/date for me?
21:33:41 <Vorpal> elliott, does it do zones like Europe/London or Europe/Stockholm?
21:33:47 <elliott> Vorpal: Let's find out!
21:34:13 <elliott> Vorpal: http://filebin.ca/gwobyk/date
21:34:26 <elliott> Vorpal: (I know that could be malicious, but if I managed to fit a virus into 6K of ELF, well, that would be impressive.)
21:34:26 <Vorpal> elliott, I don't have TZ set, I have the normal /etc/localtime
21:34:29 <elliott> Vorpal: Right.
21:34:32 <elliott> Vorpal: So that should work!
21:34:40 <elliott> Also, /etc/timezone and the like.
21:34:46 <Vorpal> no such file
21:34:49 <elliott> Vorpal: But yeah, just check that "date" prints the right thing and "date -u" prints the right thing too :P
21:34:50 <Vorpal> just /etc/localtime
21:35:15 <Vorpal> $ objdump -d date
21:35:15 <Vorpal> date: file format elf64-x86-64
21:35:16 <Vorpal> what
21:35:19 <Vorpal> same for -D
21:35:23 <elliott> Vorpal: It's sstrip'd.
21:35:31 <Vorpal> elliott, what is sstrip?
21:35:33 <elliott> Vorpal: objdump can't look at stuff without pointless crap in the ELF file.
21:35:39 <Vorpal> elliott, I refuse to run it
21:35:41 <Vorpal> then
21:35:41 <elliott> Vorpal: sstrip is Brain Raiter of INTERCAL fame's strip tool.
21:35:47 <elliott> Vorpal: Use a different disassembler?
21:35:57 <Vorpal> elliott, rm-ed the file. Get me one that works with objdump :P
21:36:00 <elliott> Fine, I'll upload a non-sstrip'd one.
21:36:13 <elliott> This one's almost 10K.
21:36:17 <Vorpal> no issue
21:36:26 <elliott> Vorpal: http://filebin.ca/ktvtue/date
21:36:29 <Vorpal> I have more than 2000 baud :P
21:36:54 <Vorpal> huh there is a __valgrind symbol
21:37:03 <elliott> Vorpal: Yeah, and LD_PRELOAD too.
21:37:06 <elliott> I can't seem to get rid of those.
21:37:12 <elliott> Much as I would dearly like to.
21:37:16 <Vorpal> well what is __valgrind used for exactly
21:37:20 <elliott> No idea.
21:37:24 <Vorpal> I mean, for valgrind obviously
21:37:28 <Vorpal> (but why does it need it)
21:37:47 <Vorpal> __unified_syscall_16bit ?
21:37:58 <elliott> Vorpal: Oh just run the damn thing :P
21:38:04 <Vorpal> 4001e4:76 0f jbe 4001f5 <__you_tried_to_link_a_dietlibc_object_against_glibc>
21:38:05 <Vorpal> :D
21:38:11 <elliott> Indeed :P
21:38:30 <Vorpal> elliott, how does that bit work?
21:38:43 <elliott> Vorpal: Not sure. It's some crazy asm hack that makes an error appear with that if you try to do that.
21:38:55 <elliott> Presumably a careful clash with something glibc does.
21:38:58 <elliott> Under that name.
21:39:14 <elliott> Vorpal: So does it work? :P
21:39:15 <Vorpal> write(1, "Fri Dec 3 22:38:33 CET 2010", 28Fri Dec 3 22:38:33 CET 2010) = 28
21:39:17 <Vorpal> seems to work
21:39:21 <Vorpal> elliott, but it ignores my locales
21:39:23 <elliott> Vorpal: What about with -u?
21:39:29 <elliott> And yes, it does; dietlibc has no locale support.
21:39:33 <Vorpal> $ LC_ALL=sv_SE ./date
21:39:33 <Vorpal> Fri Dec 3 22:39:02 CET 2010
21:39:34 <Vorpal> fuck it
21:39:42 <elliott> Vorpal: Excuse me, try -u please.
21:39:44 <Vorpal> elliott, completely fucked up date format for sweden
21:39:47 <elliott> I know it won't work with locales.
21:39:51 <elliott> SHUT THE FUCK UP ABOUT LOCALES
21:39:52 <elliott> Just try -u.
21:40:06 <Vorpal> elliott, doesn't work
21:40:08 <Vorpal> Fri Dec 3 21:39:35 CET 2010
21:40:11 <Vorpal> wrong timezone
21:40:13 <Vorpal> in output
21:40:14 <elliott> Ah.
21:40:19 <Vorpal> elliott, correct time I think
21:40:19 <elliott> So gmtime() isn't sufficient for this.
21:40:28 <elliott> tm = utc ? gmtime(&now) : localtime(&now);
21:40:29 <Vorpal> elliott, yes the hour change
21:40:30 <elliott> is what I do.
21:40:35 <Vorpal> but the timezone does not
21:40:43 <Vorpal> $ date
21:40:43 <Vorpal> fre dec 3 22:40:10 CET 2010
21:40:46 <Vorpal> $ date -u
21:40:46 <Vorpal> fre dec 3 21:40:12 UTC 2010
21:40:56 <Vorpal> $ ./date
21:40:56 <Vorpal> Fri Dec 3 22:40:24 CET 2010
21:40:59 <Vorpal> $ ./date -u
21:40:59 <Vorpal> Fri Dec 3 21:40:25 CET 2010
21:41:40 <elliott> Vorpal: http://filebin.ca/vkhbbe/date
21:41:42 <elliott> Vorpal: This might work.
21:41:48 <elliott> It does setenv("TZ", "UTC", 1).
21:41:57 -!- Mathnerd314 has quit (Ping timeout: 245 seconds).
21:42:11 <Vorpal> elliott, no
21:42:12 <Vorpal> it doesn't
21:42:18 <elliott> Hmph.
21:42:21 <elliott> I'll have to think then.
21:42:32 <Vorpal> elliott, also strace show nothing about the setenv
21:42:32 <elliott> Vorpal: BTW, you will easily be able to link these against a libc that *does* do locales.
21:42:37 <elliott> ...?
21:42:41 <elliott> Weird.
21:42:43 <elliott> Oh well.
21:42:44 <Vorpal> elliott, surely env is in kernel
21:42:52 <elliott> Vorpal: What?
21:43:04 <Vorpal> elliott, I mean, it has to be. Otherwise env wouldn't work with exec
21:43:13 <elliott> I don't get the relevance.
21:43:15 <Vorpal> so thus it should show up in strace
21:43:18 <Vorpal> when I run
21:43:22 <Vorpal> strace ./date -u
21:43:22 <elliott> I don't know why it doesn't.
21:43:34 <Vorpal> which means you either uploaded the wrong version or it doesn't work
21:43:42 <Vorpal> or env is done in a screwy way
21:43:46 <Vorpal> which might well be the case
21:48:08 <Vorpal> elliott, how horrible is the multiprocessing module in python?
21:49:12 <elliott> Vorpal: Global Interpreter Lock.
21:49:20 <Vorpal> elliott, no it is the forking one
21:49:21 <elliott> Vorpal: You have to use subprocess instead for any kind of concurrency at all.
21:49:23 <elliott> Oh.
21:49:25 <elliott> Acceptable.
21:49:35 <Vorpal> elliott, but how bad is it to use
21:49:58 <elliott> Acceptable, I guess. I never have.
21:50:05 <Vorpal> elliott, I also expect I need 16 bytes of shared memory (two floats) that I can update atomically.
21:50:08 <Vorpal> err
21:50:10 <Vorpal> two doubles
21:51:47 <Vorpal> gah only lock sync. No sane sync
21:51:50 <elliott> pikhq: This makes nooooo sense at all :P
21:51:53 <Vorpal> (sane = compare and swap)
21:53:40 <pikhq> Vorpal: env is *definitely* not in the kernel.
21:54:16 <Vorpal> pikhq, but then how does the exec*() family of functions propagate the enviornment?
21:54:21 <Vorpal> environment*
21:54:30 <pikhq> Vorpal: The system call takes an environment argument.
21:54:36 <elliott> %D Equivalent to %m/%d/%y. (Yecch — for Americans only. Americans
21:54:36 <elliott> should note that in other countries %d/%m/%y is rather common.
21:54:36 <elliott> This means that in international context this format is ambigu‐
21:54:36 <elliott> ous and should not be used.) (SU)
21:54:46 <elliott> "Americans, you are ignorant and backwards. In this manual page, I will enlighten you. Dumbfucks."
21:54:48 <pikhq> The libc maintains the actual environment.
21:55:12 <Vorpal> elliott, i prefer yyyy-mm-dd
21:55:57 <Vorpal> elliott, is your strftime() long-now compliant?
21:56:07 <pikhq> I prefer ISO 8601.
21:56:08 <elliott> Vorpal: nope!
21:56:15 <Vorpal> elliott, should fix that
21:56:17 <elliott> pikhq: that /is/ iso 8601
21:56:23 <elliott> pikhq: iso 8601 has the stupid flaw of using T as a separator
21:56:25 <elliott> rather than a space
21:56:28 <elliott> making it harder to read
21:56:31 <elliott> Vorpal: no :P
21:56:39 <Vorpal> elliott, I don't use a T there
21:56:41 <pikhq> elliott: Shame, that.
21:56:42 <Vorpal> I use a space
21:56:43 <elliott> Vorpal: If anyone is using Unix in the year 10,000... I pity them.
21:56:52 <elliott> And laugh at their misfortunes, for they will be endless.
21:57:05 <Vorpal> elliott, true but they could use the data files printed on current unix
21:57:10 <elliott> HERE, ARCHAEOLOGISTS FROM THE FAR FAR FUTURE!!!!!!
21:57:11 <elliott> Vorpal: If anyone is using Unix in the year 10,000... I pity them.
21:57:16 <Vorpal> elliott, indeed
21:57:16 <elliott> THAT WAS SAID BY ME, A PROMINENT CULTURAL FIGURE OF THIS AGE
21:57:22 <elliott> I AM CONSIDERED TO BE INCREDIBLY WISE AND CHARISMATIC.
21:57:23 <elliott> BY ALL.
21:57:26 <elliott> THAT IS ALL, STOP READING NOW
21:57:28 <Vorpal> no you aren't
21:57:33 <elliott> (MY ENEMIES ARE ABOUT TO INTERCEPT THIS STREAM WITH MISINFORMATION)
21:57:36 <elliott> OH LOOK IT ALREADY HAPPENED
21:57:40 <Vorpal> :P
21:57:57 <Vorpal> elliott, anyway. they could use data files created in the next few years
21:57:59 <Vorpal> over then
21:58:04 <Vorpal> on a non-unix system
21:58:15 <elliott> Vorpal: Then they'll have their own strftime.
21:58:45 <Vorpal> elliott, yes then in the future. But if they want to read a textual file created in the year 2011, it might have 4 digit dates
21:58:49 <Vorpal> which would be annoying
21:59:03 * elliott reads busybox date.c, and BREAKS THE LAW!
21:59:12 <Vorpal> elliott, what law?
21:59:13 <elliott> (Reading GPL'd code for information on how to write a non-GPL'd program is ILLEGAL.)
21:59:20 <elliott> I'll be COPYRIGHT INFRINGING with my MIND.
21:59:25 <Vorpal> mhm
21:59:26 <elliott> If only I hadn't told anyone...
21:59:41 <elliott> if (opt & OPT_UTC)
21:59:41 <elliott> putenv((char*)"TZ=UTC0");
21:59:41 <elliott> LOLZ
21:59:58 <Vorpal> elliott, what is so funny with that
22:00:11 <Vorpal> elliott, except for them casting a string to char
22:00:15 <Vorpal> char*
22:00:17 <Vorpal> oh wait
22:00:21 <Vorpal> from const char*
22:00:23 <Vorpal> to char*
22:00:24 <Vorpal> right
22:00:29 <elliott> Vorpal: Just that that's what I've been doing
22:00:31 <elliott> except with setenv
22:00:33 <elliott> and it isn't working
22:00:39 <Vorpal> elliott, different libc?
22:00:46 <elliott> #if ENABLE_FEATURE_DATE_NANO
22:00:46 <elliott> /* libc has incredibly messy way of doing this,
22:00:46 <elliott> * typically requiring -lrt. We just skip all this mess */
22:00:46 <elliott> syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts);
22:00:46 <elliott> #else
22:00:46 <elliott> time(&ts.tv_sec);
22:00:48 <elliott> #endif
22:00:50 <elliott> Y'all crazy.
22:00:54 <elliott> Vorpal: Yes, indeed.
22:01:04 <elliott> Vorpal: It may be one of those dietlibc bugs that they won't fix because it'd increase the size. :p
22:01:17 <Vorpal> elliott, also clock_gettime is -lrt on linux, it is -lc on *bsd
22:01:25 <Vorpal> just to complicate the thing
22:01:34 <Vorpal> elliott, clock_gettime is *nice* though
22:01:36 <elliott> Vorpal: That's nice! I'm using time()!
22:01:41 <elliott> Because it's goddamn date(1)!
22:01:58 <Vorpal> elliott, what about %N ?
22:02:06 <elliott> What about it?
22:02:16 <Vorpal> oh wait, not POSIX
22:02:19 <elliott> Right.
22:02:20 <Vorpal> elliott, nano seconds :P
22:02:30 <elliott> $ date +%N
22:02:31 <elliott> 212106062
22:02:31 <elliott> Orn ot?
22:02:33 <elliott> *Or not?
22:02:33 <Vorpal> s/o //
22:02:38 <elliott> That's smaller than +%s, even.
22:02:40 <Vorpal> elliott, yes nanoseconds in current second
22:02:41 <Vorpal> :P
22:02:43 <elliott> Ah.
22:02:43 <elliott> lawl
22:02:47 <elliott> I think not :P
22:03:06 <Vorpal> elliott, nanoseconds since 1970 would be absurd
22:03:08 <Deewiant> % date +%N
22:03:08 <Deewiant> %N
22:03:23 <Vorpal> Deewiant, what system?
22:03:28 <elliott> Vorpal: My date is so evil, it doesn't even let you set the current time with it.
22:03:30 <elliott> That's right!
22:03:30 <Vorpal> *BSD I presume
22:03:33 <elliott> That's NON-XSI-COMPLIANT.
22:03:36 <Deewiant> Solaris 11 Express
22:03:40 <Vorpal> Deewiant, heh!
22:03:43 <elliott> Deewiant: ...I love you.
22:03:46 <Vorpal> Deewiant, Express?
22:03:48 <elliott> Please tell me you installed it JUST FOR THAT
22:03:50 <elliott> In like 3 seconds.
22:03:57 <Deewiant> Nope
22:04:02 <elliott> I should get a DS9K just to irritate people.
22:04:07 <Deewiant> % uptime
22:04:08 <Deewiant> 12:03am up 11 day(s), 7:13
22:04:10 <Vorpal> elliott, he installed it to run oracle mysql on it I guess :P
22:04:16 <elliott> Deewiant: The first time a Sun has ever been up 11 days!
22:04:17 * Vorpal ducks
22:04:25 <elliott> Vorpal: *Oracle'sSQL
22:04:32 <Vorpal> elliott, they named it that?
22:04:33 <Deewiant> elliott: Ah, but it's not Sun anymore is it
22:04:36 <elliott> Vorpal: No, but I just did :P
22:04:47 <Deewiant> (Although before the update it was up for a few months)
22:04:59 <elliott> "No, you see, MySQL isn't YOUR SQL. It's MY SQL. It serves MY corporate interests, see?"
22:05:25 <Vorpal> elliott, yes that was obvious when you said it wasn't the actual name
22:05:26 <Deewiant> Vorpal: And yes, Express. I don't know why it's called that.
22:06:11 <elliott> Deewiant: Because it's FAST!
22:06:20 <Deewiant> Maybe.
22:06:23 <Vorpal> gah, I conclude that it is impossible to do anything with compare and swap from within python
22:08:55 <Vorpal> openmp doesn't support CAS?
22:10:19 <elliott> pikhq: Alas, I cannot do all program that don't parse args as _start.
22:10:22 <elliott> pikhq: /home/elliott/kitten/stage2/lib-x86_64/libc.a(stackgap.o): In function `stackgap':
22:10:28 <elliott> So that's for syscall-only programs.
22:10:43 <elliott> Wait. Is getcwd a syscall?
22:10:55 <elliott> Eh, whatever.
22:14:17 <elliott> pikhq: Dynamically-linked glibc versions of what I have so far total to 210K. My statically-linked dietlibc versions: 18K.
22:14:24 <elliott> (That's in decimal Ks.)
22:14:27 <elliott> (Just going from wc -c.)
22:18:23 <Vorpal> elliott, hm cython allows you to release the GIL
22:18:29 <Vorpal> but with lots and lots of warnings
22:18:31 <elliott> Vorpal: Good luck with that.
22:18:38 <Vorpal> elliott, no I'm not quite that insane
22:18:48 <pikhq> elliott: Nice.
22:18:53 <Vorpal> elliott, since the "generate valid moves" code still uses a python list
22:19:31 <Vorpal> elliott, all of the tight loop code except for that compiles to pure C now though
22:19:37 <elliott> pikhq: Should I bother supporting [:upper:] and all that crap in tr?
22:19:54 <elliott> Oh fuck it, tr can wait.
22:22:42 <elliott> pikhq: I feel like I'm doing the easy stuff and avoiding the harder stuff. Any suggestions for what to do next?
22:22:45 -!- Sasha has joined.
22:22:49 <elliott> kill, maybe?
22:22:59 -!- perdito has joined.
22:25:54 <elliott> pikhq: If I go through sys_siglist to convert a signal name into a number, am I a bad person?
22:26:31 <elliott> Wait, that won't work.
22:32:08 <elliott> _<PID>_GNU_nonoption_argv_flags_
22:32:09 <elliott> This variable was used by bash(1) 2.0 to communicate to glibc
22:32:09 <elliott> which arguments are the results of wildcard expansion and so
22:32:09 <elliott> should not be considered as options. This behavior was removed
22:32:09 <elliott> in bash(1) version 2.01, but the support remains in glibc.
22:32:12 <elliott> pikhq: dear god.
22:33:33 * Sgeo nostalgias at http://www.ccs3.lanl.gov/mega-math/workbk/infinity/inhotel.html
22:34:17 <pikhq> ... That's *revolting*.
22:35:27 <Sgeo> gcc was in bed with bash?
22:35:46 <Sgeo> Wait, not gcc
22:36:02 <Sgeo> ...all programs?
22:36:04 <elliott> pikhq: Yeah. It totally is.
22:36:07 <elliott> Sgeo: glibc.
22:36:11 <elliott> And by extension every program that used getopt.
22:36:25 <elliott> pikhq: I love how it took them exactly 0.01 version to remove that hideous abomination.
22:36:31 <elliott> Maybe *a single person noticed*. :P
22:37:01 <elliott> pikhq: Ha! kill can't use getopt.
22:37:07 <elliott> Because kill takes -FOO for every signal FOO.
22:41:31 -!- ais523 has quit (Read error: Connection reset by peer).
22:44:59 <Phantom_Hoover> elliott, hmm, the version is a unit?
22:45:05 <Phantom_Hoover> What does it measure?
22:46:14 <elliott> Phantom_Hoover: ?
22:46:30 <elliott> pikhq: What the fuck. Apparently "kill -l $?" has to print out what signal killed the relevant process.
22:46:32 <elliott> pikhq: Does anyone use that?
22:46:37 <Phantom_Hoover> It's an esoteric concept!
22:50:07 <Vorpal> elliott, I'm going to try pypy
22:50:48 <pikhq> elliott: *What the fuck*?
22:52:03 <Deewiant> I'm pretty sure I've used that, but I can't remember if I had any good reason to
22:53:02 <elliott> pikhq: Yeah... wut.
22:54:26 <Phantom_Hoover> elliott, zuh?
22:54:53 <elliott> Binary size just inflated after separating out barf.h. TODO: diagnose. (I think it's strlen calls.)
22:54:58 <elliott> Phantom_Hoover: ?
22:55:06 <Phantom_Hoover> So kill -l <pid> prints what pid was killed by?
22:55:16 <elliott> Phantom_Hoover: No... $? is the exit status.
22:55:41 -!- Sasha has quit (Ping timeout: 245 seconds).
22:55:59 <Phantom_Hoover> elliott, aaaaaaaah.
22:56:16 <oerjan> die agnostic
22:56:31 -!- Gregor has set topic: HELP COMPUTER | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:56:42 -!- Sasha has joined.
22:56:47 <elliott> pikhq: For some reason, kill keeps giving me "Invalid argument" back.
22:57:36 <elliott> brb
22:58:44 * Vorpal watches pypy compile itself
22:59:48 <oerjan> http://www.wikipl.com/index.php/Main_Page
23:00:14 <Vorpal> elliott, minecraft bug update (fixes the forgetting port bit and other stuff)
23:00:16 <Vorpal> but also uh
23:00:18 <Vorpal> "* Added lakes and rare lava pools, both on the surface and randomly in caves."
23:00:22 <Vorpal> how is that a bug update
23:00:26 <elliott> lol
23:00:43 <Phantom_Hoover> oerjan, highly esoteric.
23:01:08 <oerjan> indeed
23:02:14 <Sgeo> http://www.youtube.com/watch?v=lobeX6ft6PA "This sounds absurd, therefore it couldn't possibly be physical reality" (Note: I'm pretty sure everyone is aware that no one these days says that the universe is infinitely old, but still)
23:02:55 <Phantom_Hoover> oerjan, let's make it something awesomely crazy!
23:03:14 <oerjan> you go ahead
23:03:21 <Phantom_Hoover> Sgeo, Hoyle went to his grave swearing by a modified Steady State theory.
23:04:38 <Phantom_Hoover> And Hoyle was not a nutcase.
23:05:33 <Sgeo> My browser froze. Unfortunatly, I was in the middle of playing a YouTube video
23:05:43 <Sgeo> There is now an annoying sound emmenating from my speakers
23:05:46 <Sgeo> *emminating?
23:06:09 <Phantom_Hoover> Sgeo, was it another video by that idiot?
23:07:16 <Phantom_Hoover> Also, it's "emanating".
23:07:19 <Vorpal> elliott, I don't know what it means but pypy compiling itself draws pretty colour coded output
23:07:23 <Vorpal> like ASCII art
23:07:33 <elliott> Vorpal: mandelbro6 iirc
23:07:36 <elliott> brot
23:07:40 <Vorpal> elliott, why
23:07:56 <elliott> fun
23:07:57 <Vorpal> elliott, why compute that while it compiles itself?
23:08:05 <Vorpal> I mean, it would slow down the thing
23:08:28 <elliott> its prolly hardcoded. also instant anyway...
23:08:54 <Vorpal> not very pretty when interrupted by warning messages
23:09:06 <Vorpal> though it does line up properly below the warning
23:10:06 -!- MigoMipo_ has joined.
23:10:16 -!- Sgeo has quit (Ping timeout: 245 seconds).
23:11:09 -!- MigoMipo has quit (Ping timeout: 240 seconds).
23:11:39 <Phantom_Hoover> oerjan, how does WikiPL work right now?
23:11:49 <Phantom_Hoover> And is it headed towards being WikiFalcon?
23:12:14 <oerjan> http://www.wikipl.com/index.php/WPL_Documentation
23:12:29 <oerjan> i just found this on reddit so i don't know much more than you :D
23:12:56 <oerjan> apparently you cannot currently register automatically for security reasons
23:13:10 <Phantom_Hoover> oerjan, how are we meant to make it AWESOME
23:13:25 <oerjan> afaiu each article contains python code for part of the language implementation
23:14:31 -!- Sgeo has joined.
23:15:21 <Phantom_Hoover> Hmm...
23:15:28 <Sgeo> PH, I was listening to some music
23:16:28 <Phantom_Hoover> Sgeo, was it music from the late 90s or early 2000s?
23:16:35 <Sgeo> lol
23:17:01 * Sgeo suddenly thinks of some music that he likes for nostalgic reasons
23:17:12 <Sgeo> This song isn't one of those though
23:17:20 <Sgeo> http://www.youtube.com/watch?v=GE_FhAGYy8w
23:19:37 -!- zzo38 has joined.
23:20:11 <oerjan> btw the reddit post is http://www.reddit.com/r/programming/comments/efuve/wikipl_the_free_programming_language_that_anyone/
23:21:20 <Sgeo> http://www.wikipl.com/index.php?title=Main_Page&action=edit
23:21:24 <Sgeo> That's no Python!
23:21:55 <oerjan> there are obviously a few exception pages :D
23:22:41 <elliott> oerjan: it should be haskell
23:22:44 <elliott> less sandboxing needed too
23:23:22 <Sgeo> It should be Newspeak. Less sandboxing needed too
23:23:26 <Sgeo> (Well, not atm)
23:24:04 <elliott> But not functional.
23:24:24 <elliott> Non-functional languages are really just relics of the past, making new ones is basically laughable.
23:24:51 <Sgeo> Haskell, and (in the future) Newspeak. What other nicely sandboxed languages are there? [Although I must point out that in Haskell, code either has full access to the outside world or no access to the outside world]
23:25:34 <Phantom_Hoover> Sgeo, in the future all languages will be @!
23:25:43 <elliott> Sgeo: the latter is not true
23:25:52 <elliott> you can build more access control on top of IO
23:26:30 -!- MigoMipo_ has quit (Read error: Connection reset by peer).
23:27:09 <elliott> "Justin Bieber Wikipedia Page Hacked With Homosexual Remark" --spam link on reddit
23:27:18 <elliott> Translation: Someone vandalised Wikipedia for WHOLE SECONDS (probably the article author)
23:27:33 <elliott> "Wikipedia (The Free Encyclopedia) is usually a reliable source of info so we aren’t sure how this one got by them. This is the first time we have seen someone sabotage a celebrity’s Wiki page. At the time it is unknown who is responsible for hacking Justin Bieber’s bio."
23:27:46 <Sgeo> elliott, The Onion?
23:27:50 <zzo38> Chris Pressey made some new ideas for esoteric programming language. I like this
23:27:52 <elliott> No.
23:27:52 <elliott> Spam.
23:28:55 <elliott> # (cur | prev) 04:08, 2 December 2010 ClueBot NG (talk | contribs) m (45,439 bytes) (Reverting possible vandalism by Tom191 to version by Silvergoat. Questions, comments, complaints -> BRFA Thanks, ClueBot NG. (84172) (Bot))
23:28:55 <elliott> # (cur | prev) 04:08, 2 December 2010 Tom191 (talk | contribs) (51 bytes) (←Replaced content with 'Justin Bieber is squirrel in a blender. He is gay.')
23:28:59 <elliott> It stayed there for a whole ZERO MINUTES.
23:31:49 <elliott> pikhq: Wanna DEBUG MY KILL??
23:34:22 * Sgeo desperately wants to know why scrolling via trackpad isn't the same as scrolling via mouse wheel
23:36:01 <Phantom_Hoover> Hey, we should totally do an esoteric version of wikiPL on the esolangs wiki.
23:36:14 <elliott> Phantom_Hoover: We couldn't do it there, if it's automated at all.
23:36:22 <elliott> On a separate wiki, sure.
23:36:27 <Phantom_Hoover> elliott, why?
23:36:34 <elliott> Phantom_Hoover: Because the wiki doesn't have any patches?
23:36:40 <oerjan> maybe on that hackiki thing?
23:36:58 <Phantom_Hoover> elliott, what patches do you need for "pull page source from site, extract code"?
23:37:26 <elliott> Phantom_Hoover: It'd need protecting anyway.
23:37:31 <elliott> oerjan: Yeah, you could hack it into hackiki.
23:37:49 <zzo38> Phantom_Hoover: DottyWeb does pull page source from site and extract code but it is not built-in to the wiki program, you need to downloadit separately.
23:37:56 <elliott> http://www.wikipl.com/index.php/HelloWorld Wow, way overengineered.
23:38:02 <elliott> XML! Unit tests!
23:38:11 <elliott> Camel-case thus failure at PEP-8!
23:38:16 <elliott> http://www.wikipl.com/index.php/Test001 wtf web interface
23:38:20 <elliott> I thought this was a collaborative programming language
23:38:52 <Phantom_Hoover> elliott, my hatred for it shot up when you said "XML".
23:39:24 <Vorpal> elliott, also underground lakes from now on hm
23:39:53 <Sgeo> It should all be written in Smallnewfactor obviously
23:40:05 <Sgeo> Smallnewfalctor
23:40:26 <elliott> pikhq: I have a feature that busybox doesn't! BLOAT!
23:45:05 -!- augur has quit (Remote host closed the connection).
23:47:47 <Phantom_Hoover> Sgeo, *Smallnewfalctorscala
23:47:57 -!- FireFly has quit (Quit: swatted to death).
23:47:59 <Sgeo> Scalamallnewfalctor
23:50:55 <elliott> http://sprunge.us/IgWe
23:50:56 <elliott> Handy!
23:51:33 <elliott> It still can't kill processes though.
23:51:40 <elliott> Probably because pikhq won't look at the code.
23:52:25 <zzo38> Why doesn't Creative Commons have a "no attribution required" option?
23:53:57 <Sgeo> Because somewhere out there is the Anti-Sgeo
23:56:07 <elliott> zzo38: it does
23:56:14 <elliott> Sgeo: doesn't, not does.
23:56:21 <elliott> zzo38: oh you mean
23:56:25 <elliott> it requires people to *not* attribute you?
23:56:26 <elliott> that's non-Free
23:56:30 <elliott> i think
23:56:31 <elliott> and uh, stupid
23:56:34 <elliott> just release it anonymously
23:57:55 -!- kar8nga has quit (Remote host closed the connection).
23:58:09 <zzo38> No. I don't mean it should require people to *not* attribute me. I mean it should provide the option that they can attribute me or not depending on their choice
23:58:36 <Phantom_Hoover> CC PD?
23:59:24 <zzo38> But I do want share-alike to be the condition
23:59:38 <zzo38> That share-alike is require but attribute is optional
2010-12-04
00:01:22 <zzo38> That is, instead of being forced to use CC-BY-SA, I would like to use CC-SA.
00:01:51 <Sgeo> People who want to contribute might not if they know their contributions might not get credited.
00:01:55 <elliott> zzo38: Well, uh, nobody really wants that except you, so I guess nobody really bothered.
00:01:58 <elliott> Sgeo: Stop talking crap.
00:02:11 <elliott> pikhq: Ping.
00:02:59 <Vorpal> elliott, gah downloading binary pypy since it started swap trashing on my 4 GB RAM thinkpad
00:03:06 <elliott> Vorpal: lawl
00:03:18 <Sgeo> Then again, my Newspeak IDE tweak is so little code I don't think I'd get credit for it
00:03:19 <elliott> Vorpal: Do YOU want to look at my kill and tell me what's wrong with it? :p
00:03:26 <Sgeo> I still need to figure out how to submit a patch
00:03:47 <Vorpal> elliott, not really no, everything is sluggish on both systems atm. minecraft on one, and 90% of userland in swap on the other
00:03:56 <elliott> /* actually send the signal */
00:03:56 <elliott> pid = strtol(argv[i], &endptr, 10);
00:03:56 <elliott> if (!argv[i][0] || *endptr) badusage();
00:03:56 <elliott> if (kill(pid, sig) < 0) {
00:03:56 <elliott> barf("kill");
00:03:57 <elliott> ret = 1;
00:03:59 <elliott> }
00:04:07 <elliott> Vorpal: Pop quiz: Why does this always give "invalid argument"/
00:04:17 <Vorpal> elliott, which point in the code gives that
00:04:21 <elliott> Wait, now it doesn't.
00:04:23 <elliott> Now it just does nothing.
00:04:24 <Vorpal> elliott, try gdb
00:04:28 <Vorpal> elliott, gdb and step
00:04:32 <elliott> Vorpal: No, I hate gdb. I've figured out what the problem is.
00:04:39 <Vorpal> elliott, why do you hate gdb?
00:04:42 <Vorpal> gdb is awesome
00:04:44 <elliott> Vorpal: It irritates me.
00:04:49 <Vorpal> elliott, WHY?
00:05:08 <elliott> Vorpal: Because I don't have much connection with the code's execution path; I prefer reasoning about the code.
00:05:26 <elliott> Vorpal: The most effective debugging tool is still careful thought, coupled with judiciously placed print statements. -- Brian W. Kernighan
00:05:32 <Vorpal> gah binary pypy (built 2010-11-25) uses cpython 2.5.2
00:05:33 <Vorpal> wtf
00:05:33 <elliott> At least I am in good company.
00:05:35 <zzo38> Well, I want you to know, that any programs or other works I have written that the license requires attribution, that I give everyone permission to make attribution optional. (The exception is stuff related to things I do commercially; these things will have their own permission)
00:08:51 -!- Mathnerd314 has joined.
00:09:30 <Vorpal> elliott, nailor has been *really* busy I see
00:09:39 <elliott> Vorpal: Seen.
00:10:02 <Vorpal> elliott, I can't find the mystery cave though
00:10:09 <elliott> Vorpal: Down the stairs.
00:10:11 <elliott> There's a sign.
00:10:19 <Vorpal> elliott, yes I seen the sign
00:10:24 <Vorpal> then just a normal but well lit cavern
00:10:25 <elliott> So follow the arrow.
00:10:27 <Vorpal> is that it?
00:10:29 <elliott> Vorpal: That's the mystery cave.
00:10:39 <Vorpal> I'm a bit disappointed it is no more mysterious
00:10:39 <elliott> Whether you consider if mysterious or not is entirely dependent on you.
00:10:56 * elliott decides to move most of kill into a new program, signal(1).
00:12:48 <Vorpal> elliott, that is a shitload of glass around that lava
00:13:45 <elliott> Vorpal: Hm? What lava?
00:14:42 <Sgeo> Grrr
00:14:43 <Vorpal> elliott, the deep lava cavern, the lava fall starting next to the library
00:14:49 <Vorpal> elliott, and going to bedrock or such
00:14:57 <Sgeo> Someone vandalized an UnNews article I wrote in 2007
00:15:08 <Sgeo> They vandalized it in 2010
00:15:15 <Sgeo> That's a bit of a WTF and a Grr
00:15:26 <Sgeo> http://uncyclopedia.wikia.com/index.php?title=UnNews:All_atheists_proven_to_be_Muslims&action=history
00:16:20 <elliott> thats gay
00:16:22 <elliott> yeah it is
00:16:25 -!- perdito has changed nick to hagb4rd.
00:16:27 <elliott> (To quote the esteemed vandal of 2007.)
00:17:43 <elliott> OK, seriously: Why would the barf() code path end up always executing in http://sprunge.us/TYib (unless signal=0 or whatever), with the "Invalid argument" error?
00:17:51 <elliott> EINVAL An invalid signal was specified.
00:17:51 <elliott> wtf.
00:17:58 <elliott> Oh, wait, it's not doing that any more.
00:18:01 <elliott> It's just... not doing anything.
00:18:10 <elliott> elliott@dinky:~/code/tools$ bin/kill 1087
00:18:10 <elliott> elliott@dinky:~/code/tools$
00:18:10 <Vorpal> elliott, didn't you see the lavafall?
00:18:11 -!- augur has joined.
00:18:13 <Vorpal> elliott, go do it then
00:18:16 <elliott> And printing a blank line in-between those for no apparent reason.
00:18:17 <elliott> Vorpal: no thanks
00:18:26 <Vorpal> elliott, it is inside a 3x3 glass pillar
00:18:34 <Vorpal> very impressive
00:18:34 <elliott> cool
00:18:36 <Vorpal> and very long
00:18:44 <Vorpal> elliott, why not log on and check and then log off?
00:18:57 <elliott> Okay... apparently a bunch of }s and a return ret; cause an additional newline to be printed.
00:19:13 <Vorpal> elliott, the server was there a moment ago, if you are far from spawn he could tp you to me
00:19:35 <elliott> Vorpal: Not right now. Later, okay?
00:19:37 <elliott> I'm here all night.
00:19:39 <Phantom_Hoover> elliott, did you make the function "barf"?
00:19:41 <elliott> Phantom_Hoover: Yes.
00:19:44 <elliott> Aha! Sleep can't kill its parent.
00:19:47 <Vorpal> elliott, well then I will log off
00:19:53 <Vorpal> elliott, I'm going to sleep very soon
00:19:57 <elliott> I clearly have to use setsid.
00:19:59 <elliott> Vorpal: Soon, okay?
00:20:19 <Sgeo> http://uncyclopedia.wikia.com/wiki/UnNews_talk:All_atheists_proven_to_be_Muslims
00:20:39 -!- oerjan has quit (Quit: ZZZ).
00:21:19 -!- Phantom_Hoover has quit (Quit: YYY).
00:23:52 <elliott> aha!
00:23:57 <elliott> Vorpal: I was parsing "-9", not "9"
00:23:59 <elliott> so the signal was negative :D
00:24:06 <elliott> that's one bug at least
00:24:34 <elliott> ok, it now mostly works
00:25:59 <elliott> Yay, it all works.
00:27:24 -!- hagb4rd has quit (Quit: hagb4rd).
00:27:42 -!- hagb4rd has joined.
00:30:17 <zzo38> My brother's character in D&D game is afflicted lycanthropy
00:30:57 <elliott> pikhq: So, I currently have cat, date, echo, false, kill, pwd, signal (kill -l, basically), sleep and true in 34K.
00:33:49 <pikhq> Totally awesome.
00:34:29 <elliott> pikhq: Want a tarball of what I've got so far? Feel free to tell me some programs are utterly hideous; I need advice in that area. :) Also, bin/signals.h is a horrible hack that doesn't do the Right Thing for a few architectures.
00:36:20 <elliott> pikhq: I'm crazy, so here, have a .cpio.Z: http://filebin.ca/rghto/tools.cpio.Z
00:36:40 <elliott> pikhq: The Makefile is very me-specific at the moment. If you actually want to compile them, uh, I can get you the relevant toolchain (bootstrapped pcc/dietlibc)
00:37:12 <elliott> :)
00:37:36 <elliott> TODO: man pages, all the other useful things out there, testing testing testing.
00:39:57 <Vorpal> elliott, in a proper language that parser bug would have been detected at compile time
00:40:15 <elliott> Vorpal: Not any language where argv is an array of strings. :P
00:40:25 <Vorpal> elliott, well what about coq?
00:40:30 <elliott> Vorpal: "Just use an option parser!" Yeah, I would, except that I'd have to do -n.
00:40:47 <elliott> Vorpal: It's perfectly possible to write programs in Coq just like Haskell. It's just that usually you have the entire library of rich types working against you.
00:40:53 <elliott> You can easily define "dumb" non-dependent types in Coq.
00:40:58 <Vorpal> hm
00:41:01 <elliott> And they would readily accept the bug I made.
00:41:19 <elliott> Vorpal: Of course if this wasn't Unix and tools took proper objects instead of an array of strings... yes, there would be no bug.
00:41:26 <elliott> You can't be too much smarter than your environment.
00:42:02 <elliott> Vorpal: Also, when you start using gotos rather than creating a new function, you're crazy!
00:42:21 <elliott> The code in question: http://sprunge.us/GcNO
00:43:43 <Vorpal> elliott, server is on atm.
00:43:56 <elliott> Eh, I'll come on.
00:45:51 -!- Sasha2 has joined.
00:46:21 -!- Sasha has quit (Read error: Connection reset by peer).
00:47:50 <zzo38> http://zzo38computer.cjb.net/music_storage/seasonstacker.ogg (Please note I did not write this music; I think Purple Motion did. I do not know what format it was originally made in.)
01:02:52 <elliott> pikhq: Looked at the code?
01:03:14 <pikhq> NEIN
01:04:12 <elliott> pikhq: The only thing to fear is fear itself and avoiding startup code so that true and false can be 200 bytes!!
01:15:34 <elliott> pikhq: Psht!
01:16:23 <elliott> "Plan 9 is a programmable debugger that understands multiple-process programs, and except at its own console, it doesn't run as an exercise in understanding the principles and mechanisms useful in designing operating systems, and not as a product as such. In this way it is analogous to the Unix operating system. In the most general configuration, it uses three kinds of networks, including Ethernet, Datakit, specially-built fiber networks, ordinary
01:16:23 <elliott> connections, and ISDN. In Plan 9, each network presents itself as a product as such."
01:36:02 <elliott> pikhq: Ugh. Just realised pcc doesn't have warnings.
01:36:03 * elliott fixes up code
01:48:44 <elliott> pikhq: Woo, I almost have a vis where "vis ..." = "cat -v ...".
01:48:49 <elliott> (More or less.)
01:57:48 <elliott> wtf...
01:59:08 <Vorpal> elliott, painterly sure have a nice cobble texture
01:59:14 <Vorpal> but why turn the torches into candles
01:59:23 <elliott> Vorpal: you can select what parts you want, I think
01:59:33 <Vorpal> true
01:59:37 <Vorpal> elliott, but that is work
01:59:44 <elliott> Vorpal: Doesn't it have a web interface?
01:59:56 <elliott> Vorpal: http://painterlypack.net/customizer.php
01:59:57 <elliott> Vorpal: Yes it does.
02:00:20 <elliott> Vorpal: I thought you were going to bed "very soon"? :P
02:00:23 <Vorpal> also biome grass
02:00:24 <Vorpal> hm
02:00:29 <Vorpal> that seems lacking
02:00:31 <Vorpal> or broken
02:00:47 <elliott> Largest program so far: kill, at 8775 bytes.
02:01:02 <elliott> And most of that is all the errno and signal text. :p
02:02:29 <elliott> huh
02:02:37 <elliott> Vorpal: if you do "continue" in a for loop, is the i++ part meant to be skipped?
02:04:50 <pikhq> elliott: I like how you do the sane thing with cat's options. :)
02:05:12 <pikhq> (i.e. make a seperate program from them, LIKE IT SHOULD BE.)
02:05:25 <elliott> pikhq: Yep! And this program actually existed in 8th Edition Unix, although it printed out octal instead.
02:05:39 <elliott> pikhq: BusyBox also does this, but it calls its program catv, and why name a program after a mistake?
02:05:48 <elliott> http://man.cat-v.org/unix_8th/1/vis btw
02:06:28 <elliott> <elliott> Vorpal: if you do "continue" in a for loop, is the i++ part meant to be skipped?
02:06:31 <elliott> pikhq: Do you know the answer to that?
02:06:35 <elliott> It seems to be acting that way.
02:06:35 <Vorpal> elliott, which language?
02:06:37 <elliott> But that seems strange to me.
02:06:38 <elliott> Vorpal: C.
02:06:48 <Vorpal> I believe it shouldn't
02:06:54 <Vorpal> very strange
02:06:59 <elliott> hahahaha WOW
02:07:00 <elliott> http://www.wikipl.com/index.php/WPL_Code_Guidelines
02:07:04 <elliott> Good name: CompareTwoTextFilesAndGetTheDifferentLines
02:07:06 <elliott> Bad names: CompareTwoTextFiles, CompareTextFiles
02:07:11 <elliott> this MUST have been written on crack
02:07:17 <elliott> that table is beyond unbelievable
02:07:58 -!- Sasha2 has quit (Ping timeout: 240 seconds).
02:08:28 <elliott> Vorpal: ok it isn't doing that, my program is just KERRAAAZY :)
02:08:39 -!- Sasha2 has joined.
02:09:05 <elliott> ok, wtf @ this
02:09:06 <elliott> makes no sense
02:09:44 <elliott> pikhq: http://sprunge.us/XRRA PLZ2BE TELLING ME WHY THE CONVERSION LOOP RUNS FOREVER ON /DEV/URANDOM
02:09:54 <elliott> oh wait
02:09:54 <elliott> "c"
02:09:55 <elliott> lol
02:10:24 <Vorpal> elliott, what "CompareTwoTextFilesAndGetTheDifferentLines"
02:10:24 <elliott> still doesn't work though
02:10:25 <Vorpal> XD
02:10:29 <elliott> Vorpal: yeah :D
02:10:56 <elliott> Vorpal: CompareTheseTwoTextFilesSpecifiedAsUtfEightFileNamesAndGetEveryLineInOneButNotBothAsAListOfUnicodeStrings
02:11:10 <elliott> Vorpal: CompareTheseTwoTextFilesSpecifiedAsUtfEightFileNamesAndGetEveryLineInOneButNotBothAsAListOfUnicodeStringsAndRaiseAnExceptionIfAnythingGoesWrongDuringTheProcessOfDoingThis
02:11:19 <Vorpal> elliott, int loop_counter_variable_used_in_for_loop_to_count_up_from_0_to_100 ?
02:11:25 <elliott> Vorpal: Yes!
02:11:33 <elliott> char *string_entered_by_the_user_that_is_dynamically_allocated;
02:11:53 <elliott> long i_like_muffins_and_also_this_variable_is_a_long_integer_and_it_stores_the_users_current_happiness_level;
02:12:40 <Vorpal> night →
02:12:50 <elliott> wtf is up with this code
02:14:24 <elliott> Vorpal: wait i have an important question
02:14:36 <elliott> Vorpal: if your code starts spewing out bits of the environment when outputting /dev/urandom
02:14:42 <elliott> you probably have a buffer overflow somewhere right :D
02:15:44 <elliott> what the FUCK
02:16:03 <elliott> pikhq: Yo. Can you write vis(1) for me? :P
02:16:14 <pikhq> Not ATM. Perhaps later this weekend.
02:18:35 <elliott> pikhq: I'll just keep hacking at the code then.
02:18:46 <elliott> pikhq: pikhq cal should make its way in basically intact, as writing cal sounds boring.
02:18:58 <elliott> pikhq: Hey, Tcl is in good historical company; Multics used [...] to do what Unix does with `...`.
02:19:03 <elliott> (Source: http://www.multicians.org/unix.html.)
02:19:43 <pikhq> Huh.
02:22:35 <elliott> pikhq: BTW, I did the same split-option-out-into-separate-command thing with kill.
02:22:49 <elliott> pikhq: -l is meant to print a list of available signals, and also -l $? is meant to print what signal a process with that exit code was killed by.
02:23:03 <elliott> pikhq: But GNU kill has something better: -l TERM prints out the number for TERM, and -l 15 prints out TERM.
02:23:20 <elliott> So I made a signal(1) which can list available signals, and translates signal names/numbers.
02:23:27 <elliott> And got rid of -l from kill.
02:23:31 <pikhq> Beautiful.
02:23:53 <pikhq> And if you want POSIXly correct, well, screw you. :P
02:24:04 <elliott> Oh, bin/signal has a bug ...
02:24:05 * elliott fxies
02:24:06 <elliott> *fixes
02:24:52 <elliott> hmm what's up with that
02:25:04 <elliott> pikhq: I'm going to WhatStuffActuallyUsesly correct. :P
02:25:20 <pikhq> Ah, the GNU way without the stupid.
02:26:09 <elliott> GNUpid
02:29:08 <elliott> pikhq: [[The precision used may be less than the default six digits of %f, but shall be sufficiently precise to accommodate the size of the clock tick on the system (for example, if there were 60 clock ticks per second, at least two digits shall follow the radix character).]]
02:29:18 <elliott> pikhq: Does that mean... CPU clock?
02:29:23 <elliott> Or scheduler clock?
02:30:41 <elliott> TODO: fix signal, vis
02:31:03 <pikhq> Clearly it means a grandfather clock attached to the computer.
02:31:24 -!- wareya has quit (Read error: Connection reset by peer).
02:32:24 -!- wareya has joined.
02:39:16 <elliott> Now why is env broken...
02:39:39 <elliott> pikhq: BTW, I'm going to have probably a separate project moretools that has things like wget, ping, etc.
02:39:44 <elliott> i.e. the bigger, auxiliary stuff.
02:40:53 <zzo38> Does it have netcat?
02:42:10 <elliott> pikhq: env(1) done.
02:42:17 <elliott> zzo38: No; use Hobbit's original netcat.
02:42:22 <elliott> That's the best anyway.
02:42:32 <elliott> Whereas things like wget are rather big and could do with shrinking.
02:43:22 <zzo38> The full system, if it is intended to have a connection to the internet, should require netcat.
02:43:34 <elliott> zzo38: Yes, but moretools is my implementations of things.
02:43:39 <elliott> For netcat, I'll use Hobbit's netcat.
02:43:47 <zzo38> elliott: OK. You can do that, then.
02:44:10 <elliott> pikhq: 50K for cat, date, echo, env, false, kill, pwd, signal, sleep, true, vis. signal has some bug that I don't know what it is right now, vis is amusingly broken.
02:44:22 <elliott> date has one bug (-u shows the correct time, but doesn't say "UTC")
02:45:07 <Gregor> Hey kid!
02:45:09 <Gregor> I'm a computer!
02:45:24 -!- baojian has joined.
02:45:26 <elliott> Gregor: Hi!
02:45:27 <zzo38> Use short options (I do not like GNU long options)
02:45:37 <Gregor> elliott: Stop all the downloadin'!
02:45:47 <elliott> zzo38: I do. Well, not for most things, but wget, sure
02:45:48 <elliott> *sure.
02:45:53 <elliott> Gregor: Nope!
02:46:00 <Gregor> elliott: Help computer.
02:46:11 <elliott> Gregor: What is wrong.
02:46:31 <Gregor> elliott: You're doing your part all wrong :P
02:46:43 <zzo38> Use long options if you want to, but in my implementation there will be no long options.
02:46:45 <elliott> Gregor: I have no idea what you are referencing :P
02:47:08 <Gregor> D-8
02:47:16 <Gregor> elliott: You don't know of the Fenslerfilm GI Joe PSAs?
02:48:46 <elliott> Well, I googled a minute ago and found http://www.fenslerfilm.com/PSAS.htm.
02:48:56 <Gregor> elliott: Watch them FOREVER
02:49:30 <elliott> Gregor: What :P
02:49:37 <Gregor> elliott: Watch them once? :P
02:49:39 <elliott> Does this make any more sense when intoxicated?
02:49:43 <elliott> *these
02:49:44 <elliott> *Do
02:49:53 <Gregor> Idonno, but they grow on you like Charlie the Unicorn :P
02:50:11 <elliott> I liked Charlie the Unicorn first time around.
02:51:54 <Gregor> How 'bout I list the particularly-funny ones? :P
02:52:55 <zzo38> Have you found all of the secrets yet in Godel, Escher, Bach?
02:53:12 <zzo38> (Yes; this book does, in fact, have secret pages.)
02:53:38 <Sgeo> secret pages?
02:53:40 <elliott> pikhq: -rwxr-xr-x 1 elliott elliott 26K Dec 4 02:52 box
02:53:40 <Gregor> elliott: 5, 6, 7, 8, 13, 15, 16, 17, 20, 22 and 24 are the funny ones :P
02:53:49 <elliott> pikhq: Just sayin'.
02:54:15 <zzo38> Sgeo: Yes. There are secret pages, as well as secret things and obscure things found on the non-secret pages.
02:54:28 <elliott> pikhq: But I don't like the changes I had to make to the codebase to do that.
02:54:32 <Sgeo> How do secret pages work in a physical medium?
02:54:41 <elliott> pikhq: (I could avoid it if I did each program as an object.)
02:55:06 <zzo38> Sgeo: Figure it out!
02:55:12 <Sgeo> Gregor, wtf?
02:55:24 <Gregor> Sgeo: Porkchop sandwiches!
02:56:01 <zzo38> (Hint: Some of the things the dialogues discuss are somewhat related to the way the secret pages work in a physical medium.)
02:56:51 <Sgeo> Gregor, those... those can't be derived from the actual cartoon, with stuff dubbed over, can they?
02:57:04 <Sgeo> That's what they LOOK like, but the content of the visuals makes no sense in that context
02:57:39 <Gregor> Sgeo: The cartoon had stupid PSAs in it.
02:58:15 <Sgeo> How TF does some guy vaporizing people in a burning building...
02:58:21 * Sgeo goes insane
02:58:32 <Sgeo> What was the original PSA. I have to know?
02:59:44 <Gregor> Sgeo: They sometimes modified the video slightly :P
02:59:50 <Sgeo> Ah, ok
03:01:28 * pikhq giggles
03:01:44 <zzo38> As part of the CGA Collection, I made a variant of the Wumpus game. One difference is there is nine levels on top of each other. You have only one arrow (non-crooked), once used it can never be retrieved. You are usually not told the room number or the direction of the exits. There are other differences, too.
03:02:08 <zzo38> And there is five wumpus instead of just one.
03:02:15 <pikhq> gettimeofday() provides enough bits to accurately measure time from 1970 to 292277026596.
03:02:18 <zzo38> There is also various colored potions.
03:02:25 <pikhq> So very much overkill.
03:04:31 <Sgeo> Y29227702.6597K
03:04:55 <Sgeo> Wait, I put the decimal in the wrong spot
03:05:02 <Sgeo> Meh, correcting jokes ruins them I think
03:08:33 <elliott> pikhq: -rwxr-xr-x 1 elliott elliott 22K Dec 4 03:07 box
03:08:39 <elliott> pikhq: This time with separate object files and no code changes.
03:08:43 <zzo38> I am trying to make a Semi-literate Gforth this is what I have so far: http://sprunge.us/KaMH
03:09:18 <zzo38> Please tell me if it is wrong or any other suggestion and so on.
03:09:46 <pikhq> elliott: Hmm.
03:09:50 <elliott> pikhq: Hmm?
03:09:54 <pikhq> Hmm.
03:10:02 <elliott> pikhq: Is this the "evil idea" kind of hmm?
03:10:07 <pikhq> No.
03:10:13 <elliott> pikhq: Aww.
03:10:14 <pikhq> Nice work though.
03:10:34 <elliott> The box isn't my focus though; the individual programs are.
03:10:37 <pikhq> Perhaps you'd like a shell in there.
03:11:40 <zzo38> Please tell me an opinino of what I have so far this program!!?!. !
03:12:07 <elliott> pikhq: If there is a "shell" it will be one optimised to run init scripts and the like. For an interactive shell just use a ksh.
03:12:19 <elliott> zzo38: Cool.
03:13:30 <elliott> http://uncyclopedia.wikia.com/wiki/UnPoetia:Walking_in_a_Klingon_Wonderland
03:14:33 <zzo38> I will have to add some things, such as explanation section (I can have a TeX macro switching the category codes between both modes), and then make a variant of Computer Modern for typesetting Forth codes, and then add some things for formatting each word.....
03:14:49 <zzo38> I have not quite figure out yet how to make it format each word.
03:15:28 <zzo38> (The only thing this program does so far is indexing! I do need to add the other things in, too.)
03:17:06 <zzo38> This is because I want to make the "Secrets of SoS" roguelike game to be four books in one book (with tabs sticking out of the pages to beginning of each one).
03:18:29 <zzo38> There is a problem with this program the way it works so far; the words NEXT-ARG REQUIRED BYE are indexed, even though they should not be indexed.
03:19:41 <elliott> pikhq: Barf.
03:19:42 <elliott> pikhq: uname.
03:19:49 <elliott> pikhq: Irritating because I have to join things up with spaces.
03:25:30 <elliott> pikhq: uname done!
03:28:57 <elliott> pikhq: I wish pcc had nicer warnings.
03:29:06 <elliott> (It has very few, and seemingly none if you don't use system headers.)
03:43:15 <elliott> pikhq: I'm going to tackle test; seems like fun.
03:43:39 <pikhq> Mmm.
03:44:06 <elliott> Although actually no, not right now, it has some corner cases that look annoying.
03:44:14 <elliott> Head! Everyone loves getting head in their coreutils.
03:44:34 <Sgeo> o.O
03:45:03 <elliott> Sgeo: What.
03:45:13 <elliott> http://www.opengroup.org/onlinepubs/009695399/utilities/head.html
03:45:14 <elliott> Head!
03:45:23 <Sgeo> Ok
03:51:13 <elliott> pikhq: Man, have you seen how laughably minimalist POSIX head is?
03:51:17 <elliott> pikhq: http://www.opengroup.org/onlinepubs/009695399/utilities/head.html
03:51:22 <elliott> pikhq: No negative argument, no bytes...
03:54:23 <elliott> Man, to hell with head for now.
03:58:16 -!- baojian has quit (Read error: Connection reset by peer).
04:12:41 <pikhq> elliott: It's... Just head.
04:12:42 <pikhq> Wow.
04:12:53 <pikhq> This from the same people that brought us pax.
04:13:08 <elliott> pikhq: I like how their head(1) is useless and yet they've bloated everything else.
04:13:11 <elliott> Literally useless; I use -c all the time.
04:13:25 <pikhq> Yeah, -c is definitely a useful option.
04:13:52 <elliott> 2399 bin/basename
04:15:16 <elliott> -rwxr-xr-x 1 elliott elliott 23K Dec 4 04:14 box
04:15:52 <elliott> if (suffix) {
04:15:53 <elliott> pathlen = strlen(path);
04:15:53 <elliott> suffixlen = strlen(suffix);
04:15:53 <elliott> if (!strcmp(path + strlen(path) - suffixlen, suffix))
04:15:53 <elliott> path[pathlen - suffixlen] = 0;
04:15:53 <elliott> }
04:15:55 <elliott> Deuglification welcome.
04:16:01 <elliott> *pathlen, duh.
04:18:35 <elliott> pikhq: Hey, you did basename too.
04:18:52 <elliott> pikhq: Um, how did it take you 87 lines and various functions? I've done it in 36 lines of main...
04:20:03 -!- Goosey has joined.
04:21:52 -!- augur has quit (Remote host closed the connection).
04:22:01 <pikhq> elliott: I implemented the precise algorithm POSIX specifies.
04:22:37 <elliott> pikhq: So did I.
04:22:59 <pikhq> I must have made it more complicated than necessary.
04:23:05 <elliott> Indeed :P
04:24:16 <elliott> pikhq: I think I'm going to start replacing uses of strtol with atoi i the codebase, because I don't have to check errors and the like and if you pass a stupid non-number that's your problem ...
04:30:45 -!- Wamanuz has quit (Ping timeout: 276 seconds).
04:31:45 <elliott> pikhq: Now I'm doing strings.
04:31:51 <elliott> As in strings(1).
04:31:56 -!- Wamanuz has joined.
04:35:00 <elliott> pikhq: strings done!
04:35:32 <elliott> pikhq: Remind me to make these program use mmap sometime.
04:35:33 <elliott> *programs
04:37:56 -!- augur has joined.
04:44:24 <pikhq> elliott: That's not my job, that's AnMaster's job.
04:44:42 <elliott> pikhq: Actually, mmap is just plain nice.
04:44:47 <elliott> pikhq: Think about it: It's orthogonal persistence.
04:44:58 <elliott> "I want this bit of memory to happen to correspond to this bit of disk."
04:45:03 <elliott> Let the OS handle the rest.
04:46:01 <pikhq> mmap is definitely a nice function.
04:48:59 <zzo38> Do you know how to make Where Is My Keys Soup?
04:57:16 <elliott> pikhq: Lol, Wikipedia power abusers: http://en.wikipedia.org/wiki/User_talk:The_last_username_left_was_taken
04:57:23 <elliott> log-reading ais523: http://en.wikipedia.org/wiki/User_talk:The_last_username_left_was_taken
05:03:20 <Sgeo> If the computers were, say, set up by a person who set up the machines identically, and none of the users installed anything...
05:04:56 <Ilari> At least that seemingly isn't case of wikipedia admins abusing their position for advancing agenda (yup, seen that too).
05:08:08 <elliott> Ilari: Who hasn't.
05:08:35 <Sgeo> Me, who doesn't pay attention to Wikipedia politics
05:08:41 <elliott> Ilari: I love how they go from "same IP address and headers" ========> "STOP QUESTIONING ME IT'S YOUR COMPUTER BECAUSE Q.E.D., NEVER QUESTION MY AUTHORITY"
05:08:53 <elliott> They must get a real kick out of it.
05:09:09 <Sgeo> Does XFF even reveal anything beyond IP?
05:10:10 <elliott> Shouldn't think so.
05:10:52 <Sgeo> You know what might work somewhat? Using cookies
05:10:58 <elliott> No.
05:11:05 <Sgeo> Shouldn't get any false positives from that, I th..
05:11:10 <Sgeo> Actually, n/m
05:14:07 -!- yorick has quit (Read error: Operation timed out).
05:14:24 <elliott> pikhq: Yeah, I have ABSOLUTELY NO IDEA why vis is failing. I've even made it basically identical with the BusyBox logic.
05:14:28 <elliott> I'll look into it tomorrow. For now, sleep.
05:14:31 -!- elliott has quit (Quit: Leaving).
05:17:22 -!- yorick has joined.
05:30:50 <Sgeo> There is Paranoia RPGness that focuses on High Programmers?!
05:39:11 <zzo38> Now, how do I make the formatting work with this literate Forth system I did, do you know anything about this?
05:42:37 * Sgeo has a DreamWriter 500
05:42:43 * Sgeo wonders how hackable it is
05:45:43 -!- Sasha has joined.
05:46:35 -!- Sasha2 has quit (Ping timeout: 272 seconds).
05:49:26 -!- hagb4rd has quit (Ping timeout: 245 seconds).
05:56:12 -!- evincar has joined.
05:56:23 <evincar> Hello world.
06:04:46 <zzo38> Sgeo: I have dealt with the DreamWriter before. I do not have one, but I have been able to support copying files to another computer by the serial port and printing them. (Someone else who had it asked me to do that, and having never seen it before, I had to figure it out, so I did.)
06:06:55 <evincar> So...I have a bit of a problem.
06:07:05 <evincar> Good language idea, no idea what to name it.
06:07:53 <zzo38> evincar: What is the idea?
06:09:00 <evincar> zzo38: The language is purely functional in the same sense that Haskell is purely functional (that is, kinda), but instead of abstracting sequential operations using monads, it uses a set of timelines, which may be asynchronous.
06:09:48 <zzo38> evincar: Can you call it "Timehaskell"?
06:09:52 <zzo38> Or, something similar
06:10:21 <evincar> zzo38: Nah, it's not really like Haskell design-wise. I was just drawing a parallel.
06:10:33 <evincar> I was thinking of something related to time, light, a timeline, or speed.
06:10:36 <evincar> Or parallelism.
06:11:33 <zzo38> Maybe you can mix up the letters of some words to make a anagram.
06:12:12 <evincar> Bit of a cheap trick.
06:12:23 <zzo38> Yes, it is bit of a cheap trick.
06:12:29 <evincar> I've looked around in other languages, finding nothing really satisfying.
06:15:03 <evincar> How does Enlight sound?
06:17:13 <zzo38> OK.
06:24:47 <evincar> That's how I feel about it...it's not thrilling.
06:30:50 <zzo38> But I think it will do.
06:31:21 <zzo38> If you are unsure, make it as a subpage of your user page just with a title numbered, and then move it when you have a proper title.
06:33:56 <evincar> Oh, it's not an esolang...
06:34:04 <evincar> ...at least, it's not supposed to be.
06:34:14 <evincar> I think "Momentum" is better.
06:35:09 <zzo38> OK.
06:37:06 <evincar> Blah, boring topic. It is an interesting language, though.
06:40:34 -!- evincar has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.12/20101026210630]).
06:40:59 <Sgeo> Haskell is not "kindof" functional
06:41:10 * Sgeo growls at everyone who thinks that IO introduces an impurity
07:15:14 <zzo38> Do you know if there is any way in Gforth to override the prior use of a non-deferred word?
07:36:53 -!- Wamanuz2 has joined.
07:36:54 -!- Wamanuz has quit (Read error: Connection reset by peer).
07:43:17 -!- Sgeo has quit (Read error: Connection reset by peer).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:43 <zzo38> I made a override that I almost got it to work.
08:19:15 -!- zzo38 has left (?).
08:53:44 -!- Phantom_Hoover has joined.
09:17:55 -!- Goosey has quit (Ping timeout: 264 seconds).
09:29:27 -!- sebbu2 has joined.
09:31:42 -!- sebbu has quit (Ping timeout: 276 seconds).
09:35:24 -!- oerjan has joined.
09:41:37 -!- MigoMipo has joined.
10:24:17 -!- sebbu2 has changed nick to sebbu.
10:27:46 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
10:29:20 -!- nopseudoidea has joined.
10:37:05 -!- kar8nga has joined.
10:41:09 -!- Phantom_Hoover has joined.
10:46:58 -!- nopseudoidea has quit (Quit: Quitte).
10:50:56 -!- aloril has quit (Ping timeout: 264 seconds).
11:04:18 -!- aloril has joined.
11:07:52 -!- FireFly has joined.
11:46:34 -!- FireFly|n900 has quit (Ping timeout: 245 seconds).
12:19:46 -!- MigoMipo has quit (Ping timeout: 240 seconds).
13:16:29 -!- elliott has joined.
13:17:12 <elliott> 04:47:40 <nooga> time to buy minecraft
13:17:14 <elliott> nooga: l o l
13:18:22 <elliott> 22:40:59 <Sgeo> Haskell is not "kindof" functional
13:18:23 <elliott> 22:41:10 * Sgeo growls at everyone who thinks that IO introduces an impurity
13:18:28 <elliott> Sgeo: the IO monad is impure.
13:42:29 -!- nopseudoidea has joined.
13:48:55 -!- nopseudoidea has quit (Quit: Quitte).
14:15:50 -!- geo has joined.
14:17:33 <elliott> pikhq: I made true and false smaller but they don't work now. :p
14:25:10 -!- geo has left (?).
14:31:55 <elliott> 77861 bytes for false, true, yes, sleep, pwd, echo, basename, uname, signal, link, cat, date, chroot, env, strings, vis and kill, in ascending order of size.
14:32:41 <elliott> TODO: Figure out some sort of way to only include the subset of error strings that the calls in the program can produce.
14:32:50 <elliott> Probably by manual specification.
14:35:48 -!- aloril has quit (Remote host closed the connection).
14:42:46 -!- aloril has joined.
14:48:20 -!- yorick has quit (Remote host closed the connection).
15:07:02 <elliott> Vorpal: HA!
15:07:08 <elliott> pikhq: And HA!
15:07:25 <elliott> Vorpal: pikhq: cal(1)'s behaviour is not specified to be locale-dependent (POSIX 2004).
15:07:27 <elliott> " The cal utility shall write a calendar to standard output using the Julian calendar for dates from January 1, 1 through September 2, 1752 and the Gregorian calendar for dates from September 14, 1752 through December 31, 9999 as though the Gregorian calendar had been adopted on September 14, 1752."
15:07:36 <elliott> That is all.
15:10:03 <elliott> char *shortmonths = "janfebmaraprmayjunjulaugsepoctnovdec";
15:10:06 <elliott> saves me 11 nul bytes
15:10:08 -!- jcp has quit (Quit: Later).
15:13:02 -!- jcp has joined.
15:14:18 <oerjan> you could probably save the nul byte at the end of that too :D
15:14:38 <oerjan> somehow
15:16:51 -!- Sasha2 has joined.
15:18:39 -!- Sasha has quit (Ping timeout: 245 seconds).
15:19:59 <elliott> oerjan: wait, yes i could, just a matter of convincing the C compiler :D
15:26:03 -!- Sasha has joined.
15:26:04 -!- Sasha2 has quit (Read error: Connection reset by peer).
15:29:35 <elliott> oerjan: but hey, I'm not crazy!
15:29:38 <elliott> sorta!
15:29:50 <oerjan> >_>
15:31:25 <elliott> oerjan: just because I have false, true, yes, sleep, pwd, echo, dirname, basename, uname, signal, link, cat, date, chroot, env, strings, vis and kill in 80204 bytes doesn't make me crazy! nor that I manually call the linker and use Brian "INTERCAL Style Guidelines" "41 byte ELF executable" Raiter's sstrip utility, which renders the file unreadable by the GNU objdump disassembler!
15:31:47 <elliott> oerjan: just because I can link them into one executable of 23231 bytes doesn't make me crazy either! It makes me a genius!
15:31:48 <elliott> yes!
15:31:49 <elliott> that is what I am!
15:31:52 <elliott> hahahahahaha!
15:32:30 <oerjan> as long as that's settled then
15:32:42 <elliott> WHY ARE YOU LAUGHING AT ME
15:32:51 <elliott> hey WAIT
15:32:54 <elliott> char *months[] = {
15:32:54 <elliott> "January", "February", "March", "April", "May", "June", "July", "August",
15:32:55 <elliott> "September", "October", "November", "December", NULL
15:32:55 <elliott> };
15:32:55 <elliott> char *shortmonths =
15:32:57 <elliott> "jan" "feb" "mar" "apr" "may" "jun" "jul" "aug" "sep" "oct" "nov" "dec";
15:33:05 <elliott> i could just use the first three characters of the months array!
15:33:25 <oerjan> quite so
15:33:53 <oerjan> why do you need null termination on months?
15:35:08 -!- nopseudoidea has joined.
15:35:30 <elliott> oerjan: good point :P
15:35:43 <elliott> oerjan: alas the code-based solution does *not* seem to help things. well, using tolower().
15:35:45 <elliott> i'll write my own tolower
15:36:47 <elliott> wait what...
15:36:54 <elliott> oh
15:37:23 <Vorpal> <elliott> That is all.
15:37:39 <Vorpal> elliott, I believe all utils should have that
15:37:44 <Vorpal> according to the spec
15:37:59 <elliott> Vorpal: no, see http://www.opengroup.org/onlinepubs/009695399/utilities/cal.html
15:38:14 <elliott> Vorpal: it is *expressly* defined, without any mention of locales, to use the 1752-switchover calendar
15:38:24 <oerjan> elliott: apropos locale and cal, if i set it to nb_NO.utf8 the month and day names do become norwegian, although the julian/gregorian jump is still sep 1752
15:38:30 <elliott> oerjan: that's just what GNU does
15:38:38 <elliott> oerjan: which is usually completely uncorrelated with what posix wants :)
15:38:47 <oerjan> heh
15:38:51 <Vorpal> elliott, I believe POSIX has a blanket statement about locales for output months
15:39:00 <elliott> oerjan: but in that case, yes, it is correct
15:39:05 <elliott> Vorpal: [[ The cal utility shall write a calendar to standard output using the Julian calendar for dates from January 1, 1 through September 2, 1752 and the Gregorian calendar for dates from September 14, 1752 through December 31, 9999 as though the Gregorian calendar had been adopted on September 14, 1752.]]
15:39:09 <elliott> Vorpal: it is hard to get more precise than that
15:39:09 <Vorpal> elliott, correct
15:39:14 <elliott> everything else starts "In the POSIX locale" or the like
15:39:21 <oerjan> but then i'd hazard a guess that most norwegians, just like me, have no f idea when norway switched :D
15:39:26 <Vorpal> elliott, but it doesn't say anything about what the output month names should be
15:39:28 <elliott> Vorpal: ok, find the blanket statement; otherwise I contend you want me to violate POSIX
15:39:34 <elliott> Vorpal: duh, I know *that*
15:39:51 <elliott> Vorpal: but the point is that regardless of what locale you're in, the switchover is in sep 1752 and no other date
15:39:53 <Vorpal> elliott, and that bit is afaik covered by the blanket statement
15:39:55 <Vorpal> elliott, indeed
15:39:56 <elliott> *no other month
15:40:03 <Vorpal> that seems correct
15:40:17 <elliott> anyway if you want locale support, link these with uClibc or glibc :P
15:40:30 <elliott> although right now date's default formatting string is hardcoded because I can't figure out how to get it from the locale without Pain(TM)
15:41:11 <Vorpal> elliott, gettext?
15:41:38 <elliott> Vorpal: um posix specifies that each locale should define its own date(1) formatting string
15:41:48 <Vorpal> ah
15:41:50 <Vorpal> okay
15:41:53 <elliott> so I would *expect* it to be a standard call or something, but knowing Linux ...
15:42:05 <Vorpal> elliott, it is probably by catgets
15:42:09 <Vorpal> maybe
15:42:09 <elliott> Vorpal: anyway gettext is *huge* especially for just one string...
15:42:17 <elliott> i could just use an env var or something :P
15:42:18 <Vorpal> elliott, more than that
15:42:27 <elliott> Vorpal: not for date
15:42:32 <elliott> char *fmt = "%a %b %e %H:%M:%S %Z %Y";
15:42:33 <Vorpal> $ date
15:42:34 <Vorpal> lör dec 4 16:41:54 CET 2010
15:42:37 <elliott> Vorpal: the actual month names etc. are done by strftime.
15:42:37 <Vorpal> $ LC_ALL=C date
15:42:37 <Vorpal> Sat Dec 4 16:42:00 CET 2010
15:42:41 <elliott> Vorpal: and so are Not My Problem.
15:42:44 <Vorpal> elliott, so they are localised?
15:42:52 <elliott> Vorpal: in whateverlibc with locales,y es.
15:42:53 <Vorpal> elliott, you still need to make one library call to make that happen
15:42:53 <elliott> not with dietlibc.
15:42:56 <elliott> Vorpal: it's just the default formatting string that's different.
15:43:00 <elliott> Vorpal: no i don't
15:43:03 <elliott> strftime looks at the locale
15:43:05 <elliott> it's specified to
15:43:22 <Vorpal> elliott, yes but the locale won't be used without that one library call
15:43:27 <Vorpal> trying to remember the name of it
15:43:39 <elliott> Vorpal:
15:43:40 <elliott> ENVIRONMENT
15:43:40 <elliott> The environment variables TZ and LC_TIME are used.
15:43:42 <elliott> --strftime(3)
15:43:56 <Vorpal> setlocale(LC_ALL, "");
15:44:04 <Vorpal> "On startup of the main program, the portable "C" locale is selected as default. A program may be made portable to all locales by calling:"
15:44:09 <Vorpal> and then that call
15:44:09 <elliott> Vorpal: heh
15:44:13 <elliott> well fuck that, i'll add that later
15:44:43 <Vorpal> elliott, I mean it is one call :P
15:44:53 <elliott> Vorpal: yes, but i have a lot of prorgams.
15:44:55 <elliott> *programs
15:45:04 <elliott> Vorpal: I'll do locale support after I implement, say, mount.
15:45:14 <oerjan> porngames
15:45:15 <elliott> i want to get it useful first
15:45:24 <elliott> oerjan: patches to add those welcome
15:45:31 <oerjan> O KAY
15:45:32 <Vorpal> elliott, mount is not POSIX iirc
15:45:37 <Vorpal> :P
15:45:39 <elliott> oerjan: EVERY PATCH WELCOME
15:45:51 <elliott> Vorpal: yes, it's useful; usefulness is in fact prohibited by POSIX
15:46:01 <elliott> Vorpal: this is why POSIX still specifies SCCS commands (and in the same list as normal commands, at that)
15:46:13 <Vorpal> hah
15:47:33 * elliott eliminates a division
15:48:29 <oerjan> poor soldiers
15:48:29 * elliott decides to steal most of the cal logic from pikhq
15:48:32 <elliott> cal is a very ugly command
15:48:41 <elliott> all the alignment, side-by-side, etc.
15:48:57 <elliott> Vorpal: oh joy, another MC update
15:49:26 <Vorpal> elliott, oh?
15:49:42 <Vorpal> elliott, today?
15:49:48 <elliott> hmm, maybe not
15:49:51 <elliott> something just came through supposedly
15:49:52 <Vorpal> elliott, nothing on his blog about it
15:49:59 <elliott> "Now supports !"
15:50:03 * elliott dearly hopes that's a legitimate bug in the yellow
15:50:16 <Vorpal> elliott, I think it is intentional
15:50:38 <elliott> shush
15:50:46 <Vorpal> elliott, it has been there for ages
15:51:59 <elliott> Vorpal: http://en.wikipedia.org/wiki/Charles_Bukowski
15:52:16 <elliott> HAHAHA CROSS-MEDIUM CONVERSATIONS
15:52:23 <Vorpal> indeed
15:53:44 <oerjan> AAAAA jimmy wales
15:54:17 <oerjan> wait nothing about crossing mediums in that article
15:55:01 <elliott> oerjan: no, I mean my conversation with Vorpal
15:55:27 <oerjan> you mean that link wasn't supposed to be on #esoteric?
15:55:42 <elliott> oerjan: you can't Ctrl+V into minecraft.
15:55:49 <elliott> so i said "IRC" on minecraft and linked it here
15:55:51 <oerjan> oh
15:56:08 <elliott> clearly we need EmacsCraftTalk
15:57:00 <elliott> Why does cal(1) start months with Sunday?
15:57:00 <fizzie> One cannot simply ctrl-V into Mord^H^H^Hinecraft.
15:57:08 <elliott> Is it perhaps because it is an evil instrument of capitalism?
15:57:13 <Vorpal> fizzie, ?
15:57:23 <Vorpal> elliott, what would emacscrafttalk be?
15:57:42 <elliott> Vorpal: Rip out Minecraft's chat input line and replace it with Emacs.
15:57:44 <elliott> I mean full-blown Emacs.
15:57:46 <elliott> Modelines and all.
15:58:04 <oerjan> elliott: i think that's locale dependent too
15:58:18 <elliott> oerjan: yeah but fuck you i'm not implementing locales in cal to start with :D
15:58:23 <elliott> it's enough of a mess to begin with
15:59:32 <oerjan> huh wait it's not
15:59:51 <oerjan> starts with sunday in norwegian locale too
16:02:02 <elliott> oerjan: yeah that's just silly
16:02:05 <elliott> only morons start the day with sunday!
16:02:30 <oerjan> "A future version of IEEE Std 1003.1-2001 may support locale-specific recognition of the date of adoption of the Gregorian calendar.
16:02:39 <elliott> static const int months_offset[] = {0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5};
16:02:39 <oerjan> from man cal
16:02:40 <elliott> what
16:02:41 <elliott> pikhq: what
16:02:53 <elliott> oerjan: well, i'm quoting from the 2004 standard
16:03:02 <elliott> or at least an indistinguishable draft
16:03:16 <oerjan> well they didn't say how far in the future :D
16:03:18 <elliott> wait oerjan uses unix now?
16:03:23 <elliott> or just googled manpages :P
16:03:38 <oerjan> i _do_ have an nvg shell account you know
16:03:57 <elliott> oerjan: no you use windows on EVERYTHING
16:04:03 <elliott> including your watch
16:04:06 <elliott> even if you don't haveone.
16:04:08 <oerjan> IF YOU SAY SO
16:04:09 <elliott> *have one.
16:04:15 <oerjan> my watch has only one window
16:04:18 <oerjan> it is round
16:08:08 <Vorpal> <oerjan> starts with sunday in norwegian locale too
16:08:13 <Vorpal> it starts with monday for me
16:08:17 <Vorpal> in Swedish locale
16:11:43 <oerjan> sheesh
16:11:48 <oerjan> oh well
16:14:35 -!- wareya has quit (Read error: Connection reset by peer).
16:15:30 -!- wareya has joined.
16:17:26 <fizzie> If you're speaking of cal's first-day-of-week, using a fi locale does Sun → Mon too: http://p.zem.fi/cal-fi
16:18:03 <elliott> fizzie: I think I'll just make it always Monday to Sunday because that's how everyone worth considering to exist thinks about the week.
16:18:24 <elliott> (Of course, if I bloat this stuff up with locales (probably behind an ifdef), I'll see what I can do about getting the information from there.)
16:18:46 <oerjan> huh, apparently the cal here is BSD ncal
16:19:16 <elliott> oerjan: is it linux?
16:19:24 <oerjan> the machine is linux
16:19:29 <oerjan> says uname -a
16:19:40 <fizzie> Ubuntu's cal is from bsdmainutils.
16:19:48 <oerjan> ok
16:19:51 <elliott> Mine too, it seems.
16:19:52 <elliott> (Debian.)
16:20:04 <elliott> oerjan: try "dpkg" then "rpm" to determine approx. distro :P
16:20:24 <fizzie> Or "lsb_release -a" instead.
16:20:35 <elliott> fizzie: Here, cal does the rather irritating thing of inverse-videoing the current day. I blamed it on GNU, but no! Nobody is safe from the crazy!
16:20:36 <fizzie> It's S as in Standard!
16:20:46 <elliott> fizzie: Hey, Kitten is non-LSB-compliant. :P
16:20:51 <elliott> And proud!
16:21:10 <oerjan> dpkg exists, rpm doesn't (at least in PATH)
16:21:12 <Vorpal> elliott, are you on MC?
16:21:17 <fizzie> Kitten is angry, kitten is offended.
16:21:32 <fizzie> oerjan: And lsb_release?
16:21:35 <elliott> fizzie: How did I get that reference without even double-taking...
16:21:42 <oerjan> fizzie: no such thing
16:21:51 <elliott> My brain's random access times are AWESOME.
16:21:56 <elliott> Vorpal: No; should I be?
16:22:02 <Vorpal> elliott, maybe
16:22:05 <Vorpal> do you want to?
16:22:13 <elliott> Vorpal: I don't know. Are you doing something interesting?
16:22:21 <Vorpal> elliott, fishing
16:22:29 <elliott> Vorpal: what.
16:22:45 <Vorpal> elliott, catching fish
16:22:50 <Vorpal> utilising a fishing implemenat
16:22:54 <Vorpal> implement*
16:23:10 <elliott> Vorpal: there are no fish.
16:23:21 <Vorpal> there are
16:23:26 <Vorpal> elliott, they got fixed in MP
16:23:35 <elliott> Vorpal: what, they exist in SP?
16:23:42 <Vorpal> elliott, you don't see any swimming of course
16:23:47 <elliott> Vorpal: wat.
16:23:48 <Vorpal> but you can still catch them
16:24:00 <Vorpal> elliott, 3 sticks + 2 strings = fishing rod
16:24:18 <fizzie> The fishing rod generates fish from otherwise plain water, as in real life.
16:24:49 <elliott> fizzie: Do you always catch a fish -- * this big * -- and then mysteriously lose it seconds later?
16:24:58 <elliott> You know, like in real life.
16:25:22 <fizzie> Well, there is a timing-related catchery you need to perform, I think. I've never really fished.
16:26:35 <elliott> TODO: Make basename and dirname call strlen() only once and then work out the new length from the modifications made.
16:26:54 <oerjan> ah /proc/version has:
16:26:56 <oerjan> Linux version 2.6.26-2-486 (Debian 2.6.26-25lenny1) (dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)) #1 Thu Sep 16 18:43:30 UTC 2010
16:27:47 <Vorpal> elliott, going to check? Also I want to try something
16:28:02 <Vorpal> you can hit animals and drag them to you with the fishing rod
16:28:07 <Vorpal> I wonder if it works on other players
16:28:14 <elliott> oerjan: I suggest deleting [[WikiPL]] and [[Talk:WikiPL]] to avoid immense confusion
16:28:26 <elliott> Vorpal: unlikely, I'm doing other things right now
16:28:37 <oerjan> elliott: i already made a request to the admins in the article
16:29:54 <elliott> oerjan: oh you're not an admin :D
16:30:30 <oerjan> so it is
16:31:37 <elliott> oerjan: I think I'm going to clone WikiPL and make it (1) actually a programming language and (2) esoteric because, really, the concept is too good to pass up.
16:31:39 <oerjan> fizzie: elliott: ^ so it was apparently debian
16:31:43 <elliott> right
16:31:47 <elliott> also (3) done in a functional language
16:31:56 <elliott> coughhaskellcough
16:32:12 <oerjan> elliott: wikiplia was done in ML
16:32:24 <elliott> looks like http://www.wikipl.com/index.php/Main_Page has been updated to s/programming language/programming environment/g
16:32:31 <elliott> oerjan: yes, but ML has untagged side-effects
16:32:38 <elliott> oerjan: with Haskell, I'd just ban IO
16:32:39 <oerjan> yes
16:32:47 <elliott> and limit computations to 30s or whatever
16:33:05 <oerjan> with haskell you can also make your own restricted IO monad
16:33:12 <elliott> oerjan: indeed
16:33:25 <elliott> oerjan: but usually it's nicest to deal with input as a presumably-lazy list anyway
16:33:29 <elliott> at least for simple esolangs
16:33:34 <elliott> and they rarely have non-stdin inputs
16:35:27 <oerjan> of course only this machine (tyrell) needs to be debian, nvg has other hosts too (i recall there's an OpenVMS somewhere)
16:35:38 <elliott> oerjan: openvms? awesome :D
16:36:17 <elliott> [[As another data point, Squeak forces "Han disunification" by encoding the language in bits 24-31 of each UTF-32 element... it's not a coincidence IMNSHO that Unicode support was added to Squeak by a Japanese.]]
16:36:17 <elliott> :D
16:38:15 -!- MigoMipo has joined.
16:38:55 <oerjan> elliott: when i first joined nvg back in 1991/2 or something, their main machine was VAX/Ultrix
16:39:12 <Vorpal> <elliott> oerjan: I think I'm going to clone WikiPL and make it (1) actually a programming language and (2) esoteric because, really, the concept is too good to pass up. <-- 1) hackiki 2) hackiki
16:39:33 -!- kar8nga has quit (Remote host closed the connection).
16:39:59 <oerjan> at that time the _main_ university system was VAX/VMS
16:40:46 <Vorpal> hah
16:41:15 <Vorpal> oerjan, in 1992 I had recently learned to speak. You are old
16:41:22 <oerjan> apparently so
16:41:32 <Vorpal> bbl
16:46:42 <elliott> Vorpal: (1) no (2) you are wrong
16:46:53 <elliott> (3) you don't understand hackiki, or you don't understand what i said, pick one
16:48:37 <elliott> wtf c-mode.
16:48:39 <elliott> you are doing it wrong
16:48:40 <elliott> oh
16:48:41 <elliott> lol
16:51:26 -!- sftp_ has joined.
16:51:36 -!- cheater99 has quit (Quit: Leaving).
16:51:40 -!- sftp has quit (Ping timeout: 265 seconds).
16:52:06 <oerjan> http://www.vg.no/nyheter/utrolige-historier/artikkel.php?artid=10027789
16:55:36 <elliott> static void repeat_print(const char *s, int n)
16:55:36 <elliott> {
16:55:37 <elliott> for(int i = 0; i != n; i++)
16:55:37 <elliott> printf("%s", s);
16:55:37 <elliott> }
16:55:41 <elliott> pikhq: How did you manage to make that a function.
16:56:07 <oerjan> http://translate.google.no/translate?u=http%3A%2F%2Fwww.vg.no%2Fnyheter%2Futrolige-historier%2Fartikkel.php%3Fartid%3D10027789&sl=no&tl=en&hl=&ie=UTF-8
16:56:34 <oerjan> lovely translation, that
16:56:52 <oerjan> (forspiste = over-ate)
16:56:56 -!- sftp has joined.
16:58:08 -!- sftp_ has quit (Ping timeout: 264 seconds).
16:58:45 <Vorpal> <oerjan> http://www.vg.no/nyheter/utrolige-historier/artikkel.php?artid=10027789 <-- fake news?
16:59:00 <elliott> Vorpal: AP from the looks of it, so no
16:59:06 <elliott> it's in "Amazing Stories"
16:59:07 <oerjan> um not that i know of...
16:59:28 <Vorpal> oerjan, what is "sekk"?
16:59:29 <elliott> AP, Reuters and probably others all have sections dedicated to weird stuff.
16:59:55 <elliott> oerjan: "I took the rat in uninvited dogjest" what the hell is dogjest :D
17:00:04 <elliott> is it like... the kind of joking a dog does
17:00:07 <elliott> dog jest
17:01:34 <oerjan> do-gjest = toilet guest
17:01:52 <oerjan> Vorpal: bag
17:02:15 <Vorpal> hm
17:02:26 -!- sftp_ has joined.
17:03:14 -!- sftp has quit (Ping timeout: 245 seconds).
17:03:16 <oerjan> elliott: it's not AP, it's norwegian news and it says the source is VG itself
17:03:26 <Vorpal> also that translation did 50 cm -> 50 inches
17:03:27 <elliott> oerjan: then google translates VG as AP :)
17:03:27 <Vorpal> fail
17:03:33 <elliott> presumably due to statistical translation
17:03:35 <elliott> same as Vorpal's error
17:04:05 <oerjan> elliott: huh that's VG Nett in the original
17:04:21 <oerjan> also i noticed it translated 50 centimeter into 50 inches
17:04:57 <elliott> oerjan: well google translate is all statistical translation
17:05:10 <elliott> oerjan: you're likely to see AP and VG in similar places but in english vs. norwegian texts
17:05:12 <elliott> thus the error
17:05:15 <elliott> same with cm vs. inches
17:05:20 <oerjan> quite so
17:06:22 <oerjan> amazing stories is not far off though, although "incredible" is closer
17:07:22 <Vorpal> elliott, I really like painterly
17:07:27 <Vorpal> wish there was a high-res one
17:07:56 -!- sftp has joined.
17:08:01 <elliott> oerjan: http://www.pulpworld.com/images/amazing_stories_2808.jpg
17:09:04 <elliott> static const unsigned char sep1752[] ALIGN1 = {
17:09:04 <elliott> 1,2,14,15,16,
17:09:04 <elliott> 17,18,19,20,21,22,23,
17:09:04 <elliott> 24,25,26,27,28,29,30
17:09:04 <elliott> };
17:09:05 <elliott> CHEATER
17:09:06 <elliott> (busybox)
17:11:34 -!- sftp_ has quit (Read error: Connection reset by peer).
17:13:35 <oerjan> heh
17:14:06 -!- sftp has quit (Ping timeout: 240 seconds).
17:14:29 -!- sftp has joined.
17:18:25 <elliott> December 2010
17:18:26 <elliott> Mo Tu We Th Fr Sa Su
17:18:26 <elliott> 1 2 3 4 5
17:18:26 <elliott> 6 7 8 9 10 11 12
17:18:26 <elliott> 13 14 15 16 17 18 19
17:18:26 <elliott> 20 21 22 23 24 25 26
17:18:28 <elliott> 27 28 29 30 31
17:18:30 <elliott> It's a start.
17:20:18 <oerjan> ...looks pretty finished to me...
17:22:40 <elliott> oerjan: You also need to handle printing entire years.
17:22:58 <elliott> oerjan: Which are, traditionally, three months side-by-side.
17:23:01 <elliott> == pain.
17:23:05 <oerjan> right
17:23:14 <elliott> oerjan: And I also have to handle Julian dates to be Totally Correct(TM).
17:23:15 <oerjan> coroutines maybe?
17:23:18 <elliott> (different leap year logic)
17:23:28 <elliott> oerjan: pretty much, pikhq's implementation manually does coroutines
17:23:35 <elliott> oerjan: by having one step of the coroutine be a function :P
17:23:39 <elliott> and then building the rest manually
17:23:44 <elliott> if I wasn't using C I could use proper coroutines, but eh.
17:23:54 -!- sftp has quit (Ping timeout: 240 seconds).
17:23:59 -!- sftp has joined.
17:24:13 <elliott> Also I have to clean up pikhq's horrible code ;)
17:26:49 <pikhq> elliott: I previously had it as actual Duff's Device coroutines.
17:27:06 <elliott> pikhq: I believe that I saw that and told you you were crazy.
17:27:07 <elliott> :P
17:27:26 <pikhq> elliott: Also: my C code there is heavily heavily Haskell-influenced.
17:27:32 <pikhq> elliott: Lots and lots of tiny functions!
17:27:38 <elliott> pikhq: Yeah...
17:27:42 <elliott> Functions are the DEVIL, they take up code space :P
17:27:47 <elliott> (Usually.)
17:27:54 <pikhq> Any reasonably optimising compiler will inline them.
17:28:05 <elliott> pikhq: pcc produces smaller code in general than gcc, but it's not very smart, so it's safer to do things by hand.
17:28:23 <elliott> writecentred(months[i], strlen(months[i]), 20); printf(" ");
17:28:24 <elliott> writecentred(months[i+1], strlen(months[i+1]), 20); printf(" ");
17:28:24 <elliott> writecentred(months[i+2], strlen(months[i+2]), 20); printf("\n");
17:28:25 <elliott> Two or more, use a for!
17:29:19 <elliott> :p
17:30:05 <pikhq> elliott: Look at BSD cal for a bit.
17:30:09 <elliott> pikhq: No thanks!
17:30:18 <elliott> pikhq: Plan 9 cal is quite nice. BusyBox cal is pretty horrid.
17:30:18 <pikhq> Aaaaw. I wanted to induce serious trauma.
17:30:28 <pikhq> BusyBox cal is a derivative of BSD cal.
17:30:32 <elliott> pikhq: Does *anyone* actually *use* cal?
17:30:34 <nooga> what
17:30:36 <pikhq> And by association, a derivative of UNIX cal.
17:30:41 <elliott> pikhq: And if so, WHY
17:30:42 <elliott> *WHY?
17:30:48 <pikhq> I DON'T KNOW.
17:30:50 <pikhq> IT'S JUST REVOLTING
17:31:06 <nooga> cal cal calllll
17:31:12 <elliott> pikhq: I'm sorely tempted to split it into two programs, the second being a "columnaterate" one.
17:31:17 <pikhq> elliott: I didn't even know there was a cal before I wrote it. :P
17:32:21 <elliott> pikhq: It reminds me of those olde Unix tymes when people actually used this stuff like they would use an actual calendar. (Except it doesn't show the current day, so it's useful for... figuring out what date a weekday is, and vice versa.)
17:32:27 <oerjan> elliott: i _have_ occasionally used cal in the past
17:32:35 <elliott> oerjan: for what?!
17:32:42 <pikhq> GNU cal, I'm pretty sure, actually shows the current day.
17:32:45 <oerjan> ...for looking up a date?
17:32:46 <pikhq> Yeah, it does.
17:32:49 <elliott> pikhq: ncal too
17:32:51 <elliott> pikhq: but it's a bit ugly
17:32:59 <elliott> and by the time that was implemented everyone stopped using cal :)
17:33:02 <pikhq> And GNU cal's code is probably revolting.
17:33:20 <elliott> pikhq: They probably employ Greenspun's Tenth Law to implement, not coroutines, but continuations.
17:33:27 <elliott> Actually, I hope they do. That would be cool.
17:34:23 <elliott> 6375 cal
17:34:27 <elliott> Surprisingly, it's smaller than cat...
17:34:35 <elliott> Also broken! Yay!
17:34:43 <elliott> for (cal1 = cal2 = cal3 = 0; cal1 || cal2 || cal3; line++) {
17:34:45 <elliott> pikhq: Spot the stupid.
17:34:57 <elliott> pikhq: Ooh, I should use termios or something to figure out how wide the terminal is, and, and :P
17:35:31 <elliott> $ bin/cal
17:35:32 <elliott> 2010
17:35:32 <elliott> January February March
17:35:32 <elliott> Segmentation fault
17:35:35 <oerjan> a terminal condition
17:35:42 <elliott> January, February, March, Segmentation fault, April, June, July...
17:35:47 <pikhq> elliott: ...
17:35:54 <elliott> pikhq: I done broke it somehows.
17:36:06 <oerjan> elliott: bit of a rough spring, there
17:36:15 <pikhq> Astounding considering my avoidance of memory allocation.
17:36:19 <elliott> oerjan: you'd better swat yourself
17:36:28 <elliott> pikhq: I haven't allocated memory *once* in this entire coreutils yet.
17:36:34 <elliott> pikhq: Malloc is my most-hated function.
17:36:45 <pikhq> elliott: Yeah, I'm just saying it's a whole lot harder to do a segfault without malloc involved.
17:36:48 <elliott> Yeah.
17:36:55 <pikhq> Well. By accident.
17:36:57 <elliott> Clearly I've overrun some static array.
17:36:58 <elliott> Or something.
17:37:02 <pikhq> It's really easy to do segfault intentionally.
17:37:15 <pikhq> int main(){*NULL=0;}
17:37:16 <elliott> for (mo = 0; mo < 11; mo += 3) {
17:37:19 <elliott> writecentred(months[mo], strlen(months[mo]), 20); write(1, " ", 1);
17:37:19 <elliott> writecentred(months[mo+1], strlen(months[mo+1]), 20); write(1, " ", 1);
17:37:19 <elliott> writecentred(months[mo+2], strlen(months[mo+2]), 20); write(1, "\n", 1);
17:37:22 <elliott> 10+2 = 12, so
17:37:36 <elliott> pikhq: my months array is
17:37:39 <elliott> static char *months[] = {
17:37:39 <elliott> "January", "February", "March", "April", "May", "June", "July", "August",
17:37:39 <elliott> "September", "October", "November", "December"
17:37:39 <elliott> };
17:37:46 <elliott> pikhq: which is also what yours is
17:37:51 <elliott> pikhq: so how come you didn't overflow that buffer?
17:38:03 <elliott> for(int i = 0; i < 11; i += 3) {
17:38:03 <elliott> output_centered(months[i], strlen(months[i]), 20); printf(" ");
17:38:03 <elliott> output_centered(months[i+1], strlen(months[i+1]), 20); printf(" ");
17:38:03 <elliott> output_centered(months[i+2], strlen(months[i+2]), 20); printf("\n");
17:38:07 <elliott> ^ from your code
17:38:28 <pikhq> I genuinely do not know how.
17:38:38 <elliott> pikhq: :D
17:39:02 <elliott> "Age: 12 years" --BSD CVS.
17:39:05 <elliott> FreeBSD, in particular.
17:39:14 <pikhq> My code is *incorrect* but it works correctly. XD
17:40:13 <elliott> pikhq: that isn't the bug though
17:40:16 <elliott> wait what the fuck
17:40:23 <elliott> oh, have to reset line
17:41:15 <elliott> pikhq: btw, i've changed it to start the week with monday
17:41:19 <elliott> because that's the right thing to do.
17:41:43 <pikhq> elliott: I'm gleefully US-centric except when I'm not. :P
17:41:52 <elliott> pikhq: By the way...
17:41:53 <elliott> static char *shortmonths =
17:41:54 <elliott> "jan" "feb" "mar" "apr" "may" "jun" "jul" "aug" "sep" "oct" "nov" "dec";
17:42:00 <elliott> pikhq: NUL BYTES TAKE UP VALUABLE BINARY SPACE
17:42:19 <pikhq> o.O
17:42:43 <elliott> pikhq: You have to understand: right now, cal is *less than 7 decimal kilobytes*.
17:42:53 <elliott> I can achieve these things because I am a lunatic.
17:42:57 -!- nopseudoidea has quit (Quit: Quitte).
17:43:25 <pikhq> I presume you still have the Doomsday algorithm.
17:44:10 <elliott> pikhq: Wait. Your code isn't incorrect.
17:44:20 <elliott> pikhq: Also, what Doomsday algorithm? All the logic is from your code.
17:44:35 <elliott> pikhq: 3*3 = 9, 3*4 = 12. So, in fact, the conditional exits after 9.
17:44:37 * elliott makes this clearer
17:45:30 <elliott> Note to self, centring is broken.
17:45:47 <pikhq> elliott: I use the Doomsday algorithm for figuring out which day of the week the month starts on.
17:46:12 <oerjan> doomy day of doom
17:46:17 <pikhq> elliott: Which is an algorithm Conway invented to figure out which day of the week *any day* falls on with mental computation.
17:46:56 <elliott> pikhq: Is that... efficient? :P
17:47:27 <pikhq> elliott: Depends on your opinions of division and modulus.
17:47:48 <elliott> pikhq: Division baaaad. Modulo good.
17:48:01 <pikhq> The algorithm, BTW, is starting_day() in my cal.
17:48:01 <elliott> pikhq: (Division by power of two acceeeeeptable.)
17:48:09 <elliott> *firstday in *my* cal :P
17:48:20 <elliott> /* Thirty days hath September,
17:48:21 <elliott> April, June and November;
17:48:21 <elliott> All the rest have thirty-one,
17:48:21 <elliott> Save February, with twenty-eight days clear,
17:48:21 <elliott> And twenty-nine each leap year. */
17:48:22 <elliott> static int monthdays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
17:48:28 <pikhq> Nice comment.
17:48:29 <elliott> Not only do I improve on your code, I give it nice comments too.
17:48:35 <elliott> MY SERVICES ARE BOUNDLESS
17:48:40 <elliott> pikhq: (That rhyme is really terrible in the last two lines.)
17:48:46 <pikhq> Yuh.
17:48:49 <elliott> It's like, hey, guys, you know those leap years we have now?? WE HAVEN'T UPDATED THE RHYME
17:48:51 <pikhq> Damned February.
17:48:56 <elliott> "Oh well, let's just do it half-assedly."
17:49:13 <elliott> pikhq: You know, monthdays could be a ... bitmask.
17:49:19 <elliott> Well. Tritmask.
17:49:26 <elliott> Actually, bitmask.
17:49:29 <elliott> Just special-case February.
17:49:52 <elliott> 0b1X1010110101
17:49:55 <elliott> Where X doesn't matter.
17:50:15 <elliott> pikhq: Question: Am I crazy enough to think that (monthdays & (2<<mo)) is a good idea?
17:51:12 <elliott> 6247 cal
17:51:13 <elliott> Now to make the change.
17:51:41 <pikhq> elliott: So now you're making it clever.
17:51:54 <pikhq> elliott: And it'll *still* be better than UNIX cal.
17:52:25 <elliott> NOT IF I HAVE ANY SAY IN THE MATTER
17:53:12 <oerjan> YOU DON'T
17:53:20 <oerjan> YOU CANNOT ESCAPE YOUR DESTINY
17:54:24 <elliott> 6367 link
17:54:27 <elliott> Nope, it's a net loss.
17:54:40 -!- MigoMipo has quit (Ping timeout: 255 seconds).
17:56:58 <elliott> MoMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
17:56:58 <elliott> 1 2 3 Mo 1 2 3 4 5 6 7 1 2 3 4 5
17:56:59 <elliott> 4 5 6 7 8 9 10 Mo 8 9 10 11 12 13 14 6 7 8 9 10 11 12
17:56:59 <elliott> 11 12 13 14 15 16 17 Mo15 16 17 18 19 20 21 13 14 15 16 17 18 19
17:56:59 <elliott> 18 19 20 21 22 23 24 Mo22 23 24 25 26 27 28 20 21 22 23 24 25 26
17:56:59 <elliott> 25 26 27 28 29 30 31 Mo2
17:57:01 <elliott> what.
17:57:24 <pikhq> what.
17:57:51 <elliott> pikhq: Would this not be simpler? http://en.wikipedia.org/wiki/Zeller%27s_congruence
17:58:09 <pikhq> Try it.
17:58:19 <elliott> pikhq: That's work :P
17:59:15 <pikhq> Oh, BTW, if you're *really* anal about it, you might want to make it handle Julian dates correctly.
18:00:00 <oerjan> IANAL
18:00:33 <elliott> pikhq: I'm going to, hopefully.
18:00:44 <elliott> pikhq: Because I want September 1752, the whole calendar before that should look right!
18:01:00 <elliott> pikhq: Anyway, this thing is still, inexplicably, smaller than cat. And link.
18:01:11 <elliott> I think because I don't have the errno strings in there. :p
18:03:40 <elliott> 6239 cal
18:03:49 <pikhq> Yeah, it's probably errno doing that.
18:04:24 <elliott> 6079 cal
18:04:27 <elliott> Success! Shrinkage!
18:04:30 <pikhq> Awesome.
18:04:55 * pikhq looks forward to elliot's install disk for kitten.
18:05:02 <elliott> Two Ts! Two Ts!
18:05:03 <pikhq> I will be disappoint if it won't fit on a floppy.
18:05:10 <elliott> pikhq: I was about to say. :p
18:05:26 <pikhq> elliot's insttall disk for kitten.
18:05:44 <elliott> pikhq: 26231 box
18:05:48 <Gregor> "<oerjan> I ANAL" "<elliott> Success! Shrinkage!"
18:06:02 <elliott> WHOOPS LOOK AT THAT BASENAME CAL CAT CHROOT DATE DIRNAME ECHO ENV FALSE KILL LINK PWD SIGNAL SLEEP STRINGS TRUE UNAME VIS AND YES IN 26K
18:06:06 -!- Mathnerd314 has quit (Ping timeout: 245 seconds).
18:06:10 <elliott> I GUESS I FORGOT TO WRITE ALL THE CODE THAT MAKES THAT HAPPEN
18:06:15 <elliott> IT IS INSTEAD RELYING ON MAGIC
18:06:17 <pikhq> elliott: And that's before upx.
18:06:19 <pikhq> :D
18:06:29 <elliott> pikhq: I very much doubt UPX will work on this.
18:06:38 <pikhq> Are you sstrip'ing?
18:06:40 <elliott> pikhq: I'm using sstrip, which is like strip except it uses a fucking chainsaw.
18:06:41 <elliott> pikhq: Yes.
18:06:45 <pikhq> It won't work.
18:06:50 <Gregor> elliott: Does it highlight the current day in cal? :P
18:06:55 <elliott> pikhq: If you give one of these executables to objdump, it says it's an ELF, and then just quits.
18:07:13 <elliott> Gregor: No. I don't actually like how that looks, but want me to implement it to prove to you JUST HOW BADASS I AM?
18:07:15 <pikhq> upx compresses it, and then fails to decompress it.
18:07:20 <elliott> Cal doesn't process command-line arguments yet but that's a few bytes of code :P
18:07:39 <Gregor> elliott: Where IS this code? :P
18:07:45 <elliott> Gregor: ~/code/tools
18:07:51 <elliott> Gregor: I can get you the latest .cpio.Z if you want.
18:08:03 <elliott> (Format chosen for ridiculousness. .cpio.lzma (not xz) also available.)
18:08:08 <Gregor> elliott: I only want it if you implemented both cpio and compress.
18:08:15 <elliott> Gregor: Not yet, but soon :P
18:08:29 <elliott> Gregor: I could finish the dd/sharchiver and get you a dd/shar, though!
18:08:34 <elliott> Then you'd only need sh and dd.
18:08:58 <elliott> pikhq: Did I mention I'm calling the linker manually so I can use --gc-sections/
18:08:59 <elliott> *sections?
18:09:04 <elliott> That actually has an impact on the resulting size.
18:09:14 <pikhq> elliott: -Wl,--gc-sections?
18:09:39 <elliott> pikhq: OK, looks like pcc does, in fact, have -Wl.
18:09:43 <elliott> pikhq: I'll try that later.
18:09:53 <elliott> pikhq: I wish I could use -ffunction-sections, but that's gcc-only :P
18:10:05 <elliott> pikhq: What, UPX compresses box to 14232 bytes.
18:10:13 <pikhq> Now execute it.
18:10:16 <elliott> It works.
18:10:20 <elliott> (I strip -s'd it instead of using sstrip.)
18:10:25 <pikhq> Aaaah.
18:10:28 <pikhq> Awesome.
18:10:33 <elliott> ^QÉ^AÛu^H<8b>^^H<83>îü^QÛsíH<81>ý^@óÿÿ^QÁè1ÿÿÿë<83>YH<89>ðH)ÈZH)×Y<89>9[]Ãh^^^@^@^@Zè½^@^@^@PROT_EXEC|PROT_WRITE failed.
18:10:34 <elliott> ^@
18:10:34 <elliott> ^@$Info: This file is packed with the UPX executable packer http://upx.sf.net $
18:10:34 <elliott> ^@$Id: UPX 3.05 Copyright (C) 1996-2010 the UPX Team. All Rights Reserved. $
18:10:34 <elliott> ^@<90><90>^j^B_j^AX^O^Ej^?_j<X
18:10:38 <elliott> Duuuude, that's so wasting space.
18:10:47 <Gregor> lawl
18:10:57 <elliott> Quick info for achieving the best compression ratio:
18:10:57 <elliott> · Try upx --brute myfile.exe or even upx --ultra-brute myfile.exe.
18:10:57 <elliott> · Try if --overlay=strip works.
18:10:58 <pikhq> Though you might want to sstrip it and then use a compressed filesystem, instead of upx.
18:10:58 <elliott> DON'T MIND IF I DO
18:11:21 <elliott> upx: packer_c.cpp:43: static bool Packer::isValidCompressionMethod(int): Assertion `0 && "Internal error - LZMA not compiled in"' failed.
18:11:24 <elliott> Okay, not ultra-brute then.
18:12:35 <elliott> Aha, there's a non-free UPX.
18:12:37 <elliott> Let's try that one.
18:13:36 <elliott> 26752 -> 13708 51.24% linux/ElfAMD box
18:13:38 <elliott> pikhq: HOW IS THIS WORKING
18:13:45 <pikhq> elliott: MAGIC AND AWESOME
18:13:54 <elliott> ^@$Info: This file is packed with the UPX executable packer http://upx.sf.net $
18:13:54 <elliott> ^@$Id: UPX 3.05 Copyright (C) 1996-2010 the UPX Team. All Rights Reserved. $
18:13:54 <elliott> grrr
18:13:57 <elliott> GET THE FUCK OUT OF MY EXECUTABLE
18:14:19 <pikhq> elliott: strip it!
18:14:27 <elliott> pikhq: Tried that; it gets killed when I start it :P
18:14:32 <pikhq> Aaaaw
18:14:40 <elliott> what
18:14:44 <elliott> I just sstrip'd the upx'd box.
18:14:45 <elliott> It works.
18:14:56 <elliott> The UPX string is still there though.
18:15:01 <elliott> But I saved 9 bytes.
18:15:51 <elliott> pikhq: "But any modification of the UPX stub (such as, but not limited to, removing our copyright string or making your program non-decompressible) will immediately revoke your right to use and distribute a UPX compressed program."
18:15:57 <elliott> I do not like these people.
18:16:39 <elliott> pikhq: Hey, you CAN UPX an sstriped executable.
18:16:41 <elliott> And then sstrip that.
18:16:44 <elliott> -rwxr-xr-x 1 elliott elliott 13508 Dec 4 18:15 box
18:17:15 <elliott> pikhq: Did I mention this box has stupid things like two copies of every signal name?
18:26:52 <elliott> pikhq: Woo! It all works apart from Julian dates.
18:29:49 <elliott> pikhq: I know that the leap year logic is different for Julian dates.
18:29:50 <elliott> Anything else?
18:30:09 <oerjan> nope
18:30:16 -!- Sasha has quit (Ping timeout: 245 seconds).
18:30:23 <elliott> oerjan: that's it?
18:30:23 <elliott> cool
18:30:34 <oerjan> unless you want to calculate Easter ;D
18:30:38 <elliott> no :P
18:31:58 <elliott> September 1752
18:31:58 <elliott> Mo Tu We Th Fr Sa Su
18:31:58 <elliott> 1 2 14 15 16 17
18:31:58 <elliott> 7 8 9 10 11 12 13
18:31:58 <elliott> 14 15 16 17 18 19 20
18:31:59 <elliott> 21 22 23 24 25 26 27
18:32:00 -!- Sasha has joined.
18:32:01 <elliott> 28 29 30
18:32:03 <elliott> pikhq: Can I have a failure badge please?
18:32:25 <elliott> September 1752
18:32:25 <elliott> Mo Tu We Th Fr Sa Su
18:32:25 <elliott> 1 2 14 26 38
18:32:26 <elliott> And another?
18:35:13 <Vorpal> elliott, why is it so tricky to just skip some days?
18:35:34 <Vorpal> elliott, oh and cfunge has jdn/gregorian conversion code if you need it
18:36:30 <elliott> Vorpal: it isn't tricky to do that at all :P
18:36:34 <elliott> also, i don't need to conevrt
18:36:35 <elliott> *convert
18:36:38 <elliott> just show correct calendars
18:38:11 <elliott> 1 2 15 16 17 18
18:38:11 <elliott> 15 16 17 18 19 20 21
18:38:11 <elliott> 15 16 17 18 19 20 21
18:38:11 <elliott> 21 22 23 24 25 26 27
18:38:11 <elliott> 28 29 30
18:38:12 <elliott> wat
18:38:29 <elliott> pikhq: Your architecture sucks and I blame you wholly :P
18:39:26 -!- Sasha2 has joined.
18:39:59 <pikhq> elliott: Your architecture sucks and I blame you wholly.
18:40:05 <elliott> pikhq: Your architecture sucks and I blame you wholly.
18:41:17 -!- Sasha has quit (Ping timeout: 240 seconds).
18:41:47 -!- hagb4rd has joined.
18:41:47 <elliott> pikhq: Yay, I have to handle January, February and March 1752 specially too.
18:42:10 <hagb4rd> hello
18:42:16 <pikhq> elliott: 貴方のアーキテクチャが悪くて、全部貴方之所為です。
18:42:48 <elliott> pikhq: wat
18:42:53 <pikhq> elliott: Your architecture sucks and I blame you wholly.
18:43:20 <pikhq> elliott: (anata no âkitekutiȳa kà warukute, sènnhù anata no sei tèsu.)
18:43:30 <elliott> pikhq: Oh jesus christ, 1683 was fucked up too.
18:43:32 <elliott> H S E The body of Tho[mas]
18:43:33 <elliott> the sonn of Tho. Lambert gent.
18:43:33 <elliott> who was borne May ye 13 An[no] Do[mini] 1683
18:43:33 <elliott> & dyed Feb. 19 the same year.
18:44:16 <elliott> pikhq: http://web.mac.com/jac314159/CTC/AllArticles/ShortYear.html
18:44:20 <elliott> pikhq: Fuck everything about this.
18:45:43 <pikhq> elliott: So, proleptic Gregorian calendar?
18:46:15 <elliott> pikhq: Now technically POSIX says that Julian dates must be handled
18:46:15 <elliott> correctly. But then POSIX also said that it loved me, and
18:46:15 <elliott> I'm sick and tired of it.
18:46:19 <elliott> Problem solved by way of code comment.
18:46:31 <elliott> s/Julian/*all* Julian/
18:46:35 <elliott> (I'm doing sep 1752)
18:46:54 -!- Goosey has joined.
18:48:11 <oerjan> elliott: that was just a case of the year starting in March, i believe. i think that varied from country to country (the original julian calendar started in january, although an even earlier roman one did start in march)
18:48:20 <elliott> oerjan: yeah. well. fuck that
18:48:56 <oerjan> actually i'm not entirely sure on the last point
18:49:56 -!- Sasha has joined.
18:50:09 -!- ais523 has joined.
18:51:33 -!- Sasha2 has quit (Ping timeout: 240 seconds).
18:52:31 <elliott> pikhq: BTW, your cal doesn't pad out single months with the extra \ns.
18:54:51 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
18:58:53 <elliott> pikhq:
18:58:53 <elliott> $ bin/cal 10000000000
18:58:53 <elliott> 1410065408
18:58:54 <elliott> lol
19:02:33 <pikhq> elliott: I DISBELIEVE IN THAT BEHAVIOR
19:03:14 <elliott> pikhq: I hereby proclaim it a feature because it's probably more trouble to fix than it's worth and why are you even calling cal like that.
19:04:05 <elliott> pikhq: Want the current code?
19:04:30 -!- MigoMipo has joined.
19:06:51 -!- Phantom_Hoover has joined.
19:09:16 <elliott> pikhq: y/n?
19:09:29 <elliott> pikhq: I have devised an even better archive format than last time to give it to you in.
19:09:31 <elliott> Gregor take note.
19:10:15 <elliott> pikhq: what do you use when filebin is down like it is now?
19:10:17 <elliott> erm
19:10:18 <elliott> ais523:
19:10:19 <elliott> not pikhq
19:10:38 <elliott> Oh, it's up now.
19:11:01 <elliott> pikhq: Gregor: BEHOLD: http://filebin.ca/wsszc/tools.minixfs.lzo
19:11:07 <elliott> I dare anyone to come up with a better archive format than that.
19:12:06 <Vorpal> Phantom_Hoover, hi
19:12:15 <Vorpal> Phantom_Hoover, gave you more cobble, also helped a bit
19:12:27 <elliott> Vorpal: Dude, shut up and behold my archival format.
19:12:32 <elliott> An LZO-compressed Minix filesystem image.
19:12:35 <elliott> I am a friggin' genius.
19:12:52 <Vorpal> elliott, you are insane
19:12:59 <elliott> Vorpal: And a GENIUS.
19:13:17 <Phantom_Hoover> Vorpal, does the term "evil genius" not come to mind?
19:13:34 <Vorpal> Phantom_Hoover, mad scientist
19:14:28 <Phantom_Hoover> Vorpal, OS design is not, in fact, a science.
19:14:48 <Gregor> $ cal 10000000000
19:14:48 <Gregor> cal: year 1410065408 not in range 1..9999
19:15:44 <oerjan> by year 10000 we're going to need to change the leap year rules anyway unless we want the year to slip
19:16:03 <pikhq> elliott: Insufficient partitions.
19:16:55 <pikhq> oerjan: By the year 10000, we will clearly have eradicated the Earth, making leap years a curious historical artifact.
19:17:14 <oerjan> well that's a possibility
19:18:01 <elliott> Gregor: That's Y10K incompliant.
19:18:15 <elliott> Gregor: Anyway, dude, tools.minixfs.lzo.
19:18:18 <elliott> Gregor: Can you BELIEVE how awesome I am
19:18:18 <Vorpal> Phantom_Hoover, have you abandoned MC?
19:19:08 <elliott> pikhq: Would you like a copy of the pcc/dietlibc toolchain required to build this? It's not very big.
19:19:20 <pikhq> elliott: AHAHAHAH.
19:19:27 <elliott> pikhq: wut.
19:19:35 <pikhq> elliott: Oracle added ZFS code to GRUB. Which is under GPLv2+.
19:19:40 <elliott> pikhq: Indeed.
19:19:48 <elliott> pikhq: But it's a very limited form of ZFS.
19:20:01 <pikhq> Pity.
19:20:15 <elliott> pikhq: Now do you want the toolchain? :P
19:20:26 <elliott> pikhq: I swear I'll come up with an EVEN BETTER packaging method for it.
19:20:48 <elliott> pikhq: Oh, wait... dietlibc remembers its prefix. You'd have to install it into ~elliott/kitten/stage2.
19:20:58 <pikhq> If only Oracle weren't asshats.
19:21:26 <pikhq> "Here's a ZFS Linux kernel module, under GPLv2. Have at."
19:21:39 <elliott> pikhq: YOU CANNOT AVOID TALKING ABOUT MY COREUTILS :P
19:21:43 <pikhq> elliott: YES I CAN
19:21:53 <elliott> pikhq: Do you not APPRECIATE them?!?!?!
19:23:46 <Phantom_Hoover> Vorpal, I was off IRC!
19:24:17 <elliott> Vorpal: lol @ http://www.pcgamer.com/2010/12/03/the-minecraft-experiment-day-8-alive/
19:24:20 <elliott> Phantom_Hoover too
19:24:48 <Phantom_Hoover> Ah, he updated.
19:25:55 <elliott> SHOCKING NOTCH SCANDAL AFFAIR
19:25:55 <elliott> http://twitter.com/dannyBstyle/status/10591046236905472
19:25:57 <elliott> http://twitter.com/notch/status/10592312375644161
19:25:59 <elliott> http://twitter.com/notch/status/10595190087622656
19:26:00 <elliott> http://twitter.com/notch/status/10595258538663936
19:26:05 <elliott> READ ALL ABOUT IT
19:26:11 <Phantom_Hoover> elliott, come to think of it, there's a good chance he'll survive that fall, if he aims for the water.
19:26:28 <elliott> Phantom_Hoover: And a good change he won't :P
19:26:31 <elliott> *chance
19:27:06 <Vorpal> elliott, "So that night, I hatch the most ingenious and original idea any Minecraft player has ever had: I will build a tower! As tall as the clouds! A beacon to guide me home! No-one has ever had this idea before!" <-- idiot. This is well known. Was used a lot before the compass was added
19:27:28 <elliott> Vorpal: HURR I'M SWEDISH SO I CAN'T FUCKING UNDERSTAND SARCASM
19:27:36 <elliott> THEREFORE I WILL CALL FUNNY PEOPLE IDIOTS
19:27:53 <elliott> (AND ALSO IGNORE THE FACT THAT HE'S PLAYING THE GAME WITHOUT READING ANY SPOILERS OR ANYTHING)
19:28:06 <Vorpal> ah
19:28:26 -!- impomatic has joined.
19:28:48 <Phantom_Hoover> Vorpal, that's a new low for you.
19:28:55 <elliott> "I wonder what command I'll implement next, oh, I know; compress(1)! That sounds EASY!"
19:28:57 <Phantom_Hoover> Sub-self irony.
19:30:04 <Vorpal> Phantom_Hoover, anyway finished one half more layer on the ROU
19:30:06 <Phantom_Hoover> [[I had the idea of making a beacon on my second day, must be two weeks ago now :D sorry to dissapoint you, but you were certainly not the first, I doubt I was either.]]
19:30:28 <Phantom_Hoover> Vorpal, how'd you get the ellipse shape?
19:30:55 <oerjan> compress should be a short one
19:31:02 <Vorpal> Phantom_Hoover, from looking at the opposite side
19:31:07 <Vorpal> Phantom_Hoover, which was done
19:31:28 <Phantom_Hoover> Vorpal, aaaah.
19:31:37 -!- evincar has joined.
19:31:51 <oerjan> the evil car is back
19:31:55 <Phantom_Hoover> I've decided that inaccuracy is tolerable since the thing already has tonnes of it.
19:32:43 <evincar> oerjan: If I am an evil car, do you really want to mess with me? Have you seen any campy horror movies involving evil cars lately? They mean business.
19:33:11 <elliott> pikhq: WTF. Unified diffs aren't POSIX.
19:33:46 <oerjan> evincar: not lately. i think i saw parts of christine once.
19:34:23 <Phantom_Hoover> Hmm, Good Old Games is in trouble.
19:34:39 * Phantom_Hoover feels guilty for torrenting FreeSpace 2.
19:34:42 <oerjan> clearly there is nothing unified in POSIX
19:35:54 <evincar> Standards shmandards.
19:36:20 <elliott> Phantom_Hoover: in trouble?
19:37:06 <Vorpal> Phantom_Hoover, still you might want to check the thing
19:37:29 <Vorpal> Phantom_Hoover, I also widened walkway to workshop
19:38:10 <Vorpal> Phantom_Hoover, and added drop pool at the bottom of the ladder
19:38:18 -!- Smmick has joined.
19:38:35 <Smmick> hi
19:38:38 <Smmick> Hola
19:40:19 <evincar> Smmick: Welcome.
19:41:03 <Smmick> hi evincar
19:41:22 <Vorpal> Phantom_Hoover, should I extend the middle floor all the way out?
19:43:13 <Smmick> must extend the ke??
19:43:26 <Vorpal> what?
19:43:34 <Vorpal> oh that was an off topic thing
19:44:03 <Vorpal> Smmick, this channel is about esoteric programming languages, not esoterica btw. Surprisingly many get that wrong
19:46:01 <Vorpal> Phantom_Hoover, I'll default to yes then
19:46:40 <Smmick> you know the programming of computers
19:46:42 <Smmick> are called binary numbers
19:46:56 <Vorpal> uh... in a way I guess
19:48:09 <Smmick> computers is when data is transferred or messages with just 0 and 1
19:48:31 <Smmick> knows that any hacker like me
19:48:47 <Vorpal> elliott, I think this is one for you
19:49:08 <Smmick> jaja
19:49:16 <Smmick> elliott
19:49:57 <Gregor> "<Smmick> knows that any hacker like me" wow X-D
19:50:21 <Smmick> XD
19:50:28 <elliott> Smmick: Caultrick of the vordemont.
19:50:36 <elliott> Smmick: Dost thou know otooooooooooooooooooooooooooooooooooooo?
19:50:45 <pikhq> elliott: Clearly POSIX be damned.
19:50:51 <elliott> Smmick: I'n your mother crappy -- on the news that mroing -- and everyone died.
19:50:56 <elliott> Smmick: You too shall die soon! Your house I'm at.
19:51:02 <elliott> Haha, , throough! the window you pretty.
19:51:03 <Vorpal> <elliott> Smmick: Caultrick of the vordemont. <-- what
19:51:05 <Gregor> OCTETS? OCTETS ARE EVIL
19:51:10 <elliott> Vorpal: DON'T THE VARIABLE
19:51:15 <elliott> Smmick: YOU DON'T EVEN KNOW ABOUT THE VARIABLE
19:51:28 <elliott> i cry softly but tomorrow revenger
19:52:10 <Smmick> whether the variables in a PHP Code
19:52:28 <Vorpal> elliott, stop acting like an insane markov chain
19:52:29 <elliott> Smmick: Whether they, yes, indeed, but soon such conerns will be none of yours; the cone-shaped nature of velvet will be REAVEALED unto you !!
19:52:35 <elliott> Smmick: and that is when i stab
19:52:46 <Smmick> my uncle just in English or Spanish that if no other language or just know there will be 1
19:53:05 <elliott> Smmick: Your uncle may only be in English or Spanish now...
19:53:07 <elliott> But soon there will be THREE.
19:53:48 <elliott> Gregor: I think "HELP COMPUTER" was an unfortunate choice of topic.
19:54:08 <Gregor> elliott: Bahahahaa
19:54:21 <quintopia> i can fix that.
19:54:39 -!- quintopia has set topic: We welcome our new arsenic-based overlords | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
19:54:55 -!- elliott has set topic: I, for one, am somewhat sparta. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
19:55:05 <elliott> I was going to fix quintopia's but then I got A BETTER IDEA half-way through.
19:55:10 <quintopia> lies
19:55:22 -!- Gregor has set topic: I, for one, welcome our new arsenic-based spartans | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
19:55:43 -!- quintopia has set topic: We, for Legion, welcome our new arsenic-based spartans | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
19:55:59 <Smmick> look is at least 3 languages ok
19:55:59 <Smmick> English
19:56:00 <Smmick> Frances
19:56:00 <Smmick> Spanish
19:56:05 <Smmick> ________________
19:56:12 <quintopia> only if you use them all at once
19:56:14 <elliott> Smmick: The fourth one is Lojban
19:56:30 -!- elliott has set topic: I, for arsenic, sparta our overlord-based legion. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
19:56:38 <Smmick> y..
19:56:45 <elliott> Yes, indeed, the arsenics are coming to sparta the legion of overlords.
19:56:48 <quintopia> okay that's good enough. i'll leave that one
19:56:49 <oerjan> I don't parle pas español
19:56:58 <elliott> `addquote <oerjan> I don't parle pas español
19:57:13 <Gregor> `echo NO I DON WANNA
19:58:32 <oerjan> `help
19:58:34 <HackEgo> No output.
19:58:34 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
19:58:37 <HackEgo> No output.
19:58:44 <quintopia> :/
19:58:46 <oerjan> ...not promising
19:59:04 <oerjan> `ls
19:59:06 <HackEgo> babies \ bin \ paste \ quine \ quotes \ tmpdir.1875
19:59:25 <Gregor> `addquote <oerjan> I don't parle pas español
19:59:34 <HackEgo> 266|<oerjan> I don't parle pas español
19:59:35 <HackEgo> Failed to record changes.
19:59:35 <Smmick> Where to go to the \ bin \ pasta \ quine \ quotes \
19:59:40 <quintopia> `cd babies
19:59:42 <HackEgo> No output.
19:59:49 <quintopia> `ls
19:59:51 <HackEgo> babies \ bin \ paste \ quine \ quotes \ tmpdir.2038
20:00:12 <quintopia> huh. apparently changing PWD isn't allowed?
20:00:23 <Gregor> quintopia: There is no cross-session PWD
20:00:26 <quintopia> between commands anyqway
20:00:27 <Gregor> quintopia: The 'babies' directory was for an unpopular feature that decreed that people had babies every time they said "fuck" :P
20:01:12 <quintopia> `run cd babies;ls
20:01:13 <HackEgo> babies.db
20:01:18 <oerjan> `quote 265
20:01:20 <HackEgo> 265|Thanks to nooga for constructive criticism, his ideas and being a constant annoyance. --http://theendisnear.no-ip.info/
20:01:23 <oerjan> `quote 266
20:01:25 <HackEgo> No output.
20:01:43 <Gregor> Well that's nae good :P
20:02:04 <quintopia> Gregor: your partition has become read-only D:
20:02:15 <Gregor> `run echo hi > foo
20:02:16 <HackEgo> No output.
20:02:20 <Gregor> `cat foo
20:02:21 <HackEgo> hi
20:02:25 <quintopia> okay maybe not
20:02:25 <Gregor> I disagree.
20:02:29 <quintopia> quote program breakage
20:02:38 <Gregor> Probably doesn't support ñ :P
20:02:49 <quintopia> flail
20:02:56 <Gregor> `cat bin/quote
20:02:57 <HackEgo> #!/bin/bash \ DB="sqlite3 quotes/quote.db" \ \ if [ "$1" ] \ then \ ARG=$1 \ ID=$((ARG+0)) \ if [ "$ID" = "$ARG" ] \ then \ $DB 'SELECT id,quote FROM quotes WHERE id='$ID \ else \ ARG=`echo "$ARG" | sed 's/'\''/'\'\''/g'` \ $DB 'SELECT id,quote FROM quotes WHERE quote LIKE
20:03:00 -!- Zetro has joined.
20:03:04 <Gregor> Erm
20:03:06 <Gregor> `cat bin/addquote
20:03:09 <HackEgo> #!/bin/bash \ DB="sqlite3 quotes/quote.db" \ \ if [ ! "$1" ] \ then \ echo 'Add what quote?' \ exit 1 \ fi \ \ QUOTE=`echo "$*" | sed 's/'\''/'\'\''/g'` \ $DB 'INSERT INTO quotes (quote) VALUES ('\'"$QUOTE"\''); \ SELECT id,quote FROM quotes ORDER BY id DESC LIMIT 1;'
20:03:37 <elliott> `addquote ẅ
20:03:39 <HackEgo> 266|ẅ
20:03:40 <Vorpal> Phantom_Hoover, get on MC!
20:03:41 <HackEgo> Failed to record changes.
20:03:43 <elliott> Gregor: wat.
20:03:51 <Smmick> That is why part of the DB Table Base date
20:03:57 <elliott> `addquote
20:03:57 <HackEgo> Add what quote?
20:04:02 <Gregor> elliott: Idonno *shrugs* :P
20:04:05 <elliott> Wow, that [ ! "$1" ] actually works.
20:04:30 <quintopia> `addquote < elliott> Wow, that [ ! "$1" ] actually works.
20:04:32 <HackEgo> 266|< elliott> Wow, that [ ! "$1" ] actually works.
20:04:33 <Gregor> elliott: So does your mom.
20:04:40 <quintopia> `quote 266
20:04:41 <HackEgo> 266|< elliott> Wow, that [ ! "$1" ] actually works.
20:04:50 <quintopia> yeah probably the character thing
20:05:04 <Gregor> OHHH y'know what, I'll bet the problem is committing with a commit message including unicode to the hg repo 8-D
20:05:13 <quintopia> haha
20:06:02 <Smmick> que c'est
20:06:05 <Smmick> ?=???=??
20:07:09 <Smmick> Talk confused me XD
20:07:10 <Smmick>
20:07:13 <Smmick> Talk confused me XD
20:07:35 <Smmick> bye
20:07:44 <Smmick> adios to all
20:07:58 <Gregor> Okidoke
20:08:13 <Smmick> ooo_ooo
20:10:43 <oerjan> bye
20:12:24 -!- Smmick has quit (Remote host closed the connection).
20:16:55 -!- Sgeo has joined.
20:17:28 <Sgeo> Is the reason people pushed me away from PLT-Scheme because it called itself a "Scheme" and thus I'd get wrong ideas, or is there something wrong with the language itself?
20:17:39 <Sgeo> (It's now called Racket)
20:24:29 -!- Phantom_Hoover has quit (Remote host closed the connection).
20:26:30 -!- elliott has left (?).
20:26:32 -!- elliott has joined.
20:27:08 -!- Phantom_Hoover has joined.
20:27:13 <Sgeo> o.O
20:27:20 <elliott> pikhq: I now have mkdir, with everything apart from symbolic modes.
20:28:15 <Phantom_Hoover> Note to self: always change monitors *before* disconnecting the output device.
20:30:50 <elliott> pikhq: I need a profiler except for binary size. :P
20:31:05 <elliott> mkdir is pushing 10k for no apparent reason.
20:31:16 <Sgeo> Any answer to my question?
20:31:24 -!- impomatic has left (?).
20:31:43 <Vorpal> Phantom_Hoover, so, did you check my ROU work?
20:32:37 <Phantom_Hoover> I will now.
20:32:43 <Phantom_Hoover> What shall I call it...
20:32:59 <elliott> Phantom_Hoover: "So Did You Check My ROU Work?".
20:33:13 <elliott> Phantom_Hoover: Or: "Pushing 10K For No Apparent Reason".
20:36:27 -!- zzo38 has joined.
20:37:00 <zzo38> What does "I, for arsenic, sparta our overlord-based legion." mean?
20:37:54 <Gregor> zzo38: I think it's pretty clear.
20:39:20 <zzo38> They talked about arsenic on the radio today.
20:40:33 <elliott> Just... arsenic?
20:40:35 <elliott> On its own?
20:41:24 <zzo38> They talked about arsenic based lifeform and how it is related to the other elements in the periodic table.
20:41:25 <Gregor> Now You're Cooking with Arsenic-Based Bacteria! A cookbook for those who wish to destroy both rare endangered species and their friends.
20:42:43 <Sgeo> elliott, is your pushing me away from Racket in the past to do with it deviating from Scheme, or other reasons?
20:43:08 <elliott> Gregor: my favourite cookbook.
20:43:20 <elliott> Gregor: Also, as opposed to common endangered species? :P
20:44:20 <Gregor> elliott: I meant rare ... Idonno, in some other way I can't describe. Rare as in they're representatives of a rare style of life, which is distinct from the particular species being endangered.
20:45:06 <elliott> Gregor: What you're saying is, they're not well-done.
20:45:39 <Gregor> elliott: Yes. We need to send them back, they're still red inside.
20:45:57 <elliott> Gregor: That's what happens when you cook with arse-s.
20:46:01 <elliott> (That was terrible.)
20:46:18 -!- wareya_ has joined.
20:46:34 <Gregor> Their binomial name is Archaea arsedick
20:46:56 <Gregor> (Note: They're not even archaea, and if they were, that wouldn't be their genus :P )
20:48:14 <elliott> Gregor: YES IT WOULD
20:48:29 -!- wareya has quit (Ping timeout: 265 seconds).
20:49:28 <zzo38> On Windows I need to run 7z twice to extract a .tar.gz file. On Linux, I can use a pipe command.
20:50:43 <evincar> zzo38: Is this at all surprising?
20:51:39 <zzo38> evincar: No, I do not think so. But I think 7z does not have a option to extract twice?
20:52:04 <Vorpal> arsenic based life? really?
20:52:32 <Vorpal> zzo38, you could use tar -zxf on linux
20:52:55 <Phantom_Hoover> Vorpal, indeed.
20:52:55 <zzo38> Vorpal: But I used: zcat < filename.tar.gz | tar -x
20:53:13 <Phantom_Hoover> It s/phosphorus/arsenic/s
20:53:15 <Vorpal> zzo38, seems needlessly complicated
20:53:27 <oerjan> Vorpal: they're bacteria that can (optionally) use arsenic instead of phosphorus in their DNA and stuff
20:53:29 <Vorpal> Phantom_Hoover, oh, still carbon-based then
20:53:29 <zzo38> And if I make Linux distribution, I would also make it work with pipe commands, too.
20:53:32 <elliott> Vorpal: technically, that's simpler than "tar xzf", Unix-wise.
20:53:39 <Vorpal> elliott, longer to type
20:53:45 <elliott> oerjan: They prefer phos., though.
20:53:57 <elliott> Vorpal: Ken Thompson would have something to say about you and it wouldn't be pretty.
20:53:58 <oerjan> yeah
20:54:04 <elliott> (Probably me too, but still.)
20:54:22 <zzo38> Arsenic comes directly below phosphorus on the periodic table of elements. This is an important part of this reason.
20:55:17 <oerjan> zzo38: however i also read that unlike phosphorus, arsenic combounds are usually destroyed by water, so it is still surprising
20:55:21 <zzo38> (They did talk about the periodic table of elements, on the radio, today)
20:55:23 <oerjan> *compounds
20:55:41 <zzo38> oerjan: Yes, then it would make it surprising.
20:57:56 <elliott> pikhq: Symbolic permissions are PAIN
20:58:50 <Vorpal> elliott, are you using POSIX 2008 for this?
20:59:03 <elliott> Vorpal: 2004.
20:59:12 <Vorpal> elliott, 2004!?
20:59:16 <Vorpal> elliott, no such thing
20:59:17 <elliott> Vorpal: I doubt they changed coreutils much, if at all, in the interim.
20:59:24 <elliott> Well:
20:59:25 <elliott> The Open Group Base Specifications Issue 6
20:59:25 <elliott> IEEE Std 1003.1, 2004 Edition
20:59:25 <elliott> Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.
20:59:32 <elliott> Such thing.
20:59:36 <Vorpal> elliott, that is SUS
20:59:41 <elliott> Vorpal: Same damn thing.
20:59:48 <Vorpal> elliott, SUS against POSIX 2001
20:59:53 <Vorpal> :P
21:00:00 <elliott> Vorpal: So?
21:00:06 <Vorpal> elliott, so it is SUS 2004
21:00:12 <Phantom_Hoover> What's the actual advantage of Wikiplia over a VCS with the privileges of which you are very liberal?
21:00:13 <elliott> Vorpal: Okay. So what's the issue?
21:00:23 <Vorpal> elliott, nothing except you not using 2008 edition
21:00:28 <elliott> Phantom_Hoover: Well, it's literate programming.
21:00:30 <elliott> Vorpal: Why is that an issue?
21:00:43 <elliott> Phantom_Hoover: Consider being able to say [[Count words]] (my_file);
21:00:52 <elliott> Phantom_Hoover: (Of course, this requires a Sufficiently Smart Wiki.)
21:01:02 <Phantom_Hoover> elliott, VCS blah blah blah with literate Haskell?
21:01:15 <Vorpal> Phantom_Hoover, add in a browser GUI for it
21:01:17 <elliott> Phantom_Hoover: It's not hyperlinked.
21:01:22 <oerjan> Phantom_Hoover: um did you mean wikiplia or wikipl there?
21:01:28 <Phantom_Hoover> oerjan, either.
21:01:32 <zzo38> Literate programming is when you make it is both a computer program and a book, both at once.
21:01:36 <elliott> Also, you could do reordering with a wiki.
21:01:39 <elliott> zzo38: We know.
21:01:49 <oerjan> argh
21:01:58 * oerjan is starting to regret the move :D
21:02:04 <Vorpal> oerjan, what move?
21:02:58 <Vorpal> also the esolang wiki is down for me
21:02:59 <oerjan> Vorpal: after discovering that wikiPL wasn't actually a programming language i sort of deleted the esolang article, except i technically moved it to wikiplia instead
21:03:11 <Vorpal> oerjan, what is wikiplia?
21:03:39 <Vorpal> oerjan, google is nhelpful
21:03:43 <Vorpal> unhelpful*
21:04:01 <elliott> see esolangs wiki, duh ...
21:04:05 <oerjan> a joke language from 2007 that _actually_ was "The free programming language that anyone can edit"
21:04:34 <Vorpal> oerjan, ah
21:04:34 <oerjan> Vorpal: um the top google hits are quite relevant
21:04:53 <Vorpal> oerjan, maybe if you aren't logged in to gmail
21:05:29 <oerjan> Vorpal: are you maybe getting referred to wikipedia instead?
21:05:52 <oerjan> it's suggested for me that i might mean that instead
21:07:07 <Vorpal> oerjan, hm wikidictionary (sp?) for "plia"
21:07:11 * oerjan once again curses google's use of redirecting urls
21:07:13 <Vorpal> is the top hit for me
21:07:22 <oerjan> that's no 3 for me
21:08:18 <elliott> ugh at the = operation in symbolic modes
21:08:23 <elliott> + is "mode |= bit", - is "mode &= ~bit"
21:08:28 <elliott> but doing = makes me want to die now
21:09:00 <elliott> bit <<= who;
21:09:00 <elliott> switch (op) {
21:09:00 <elliott> case '=': mode &= ~(7 << who);
21:09:00 <elliott> case '+': mode |= bit; break;
21:09:00 <elliott> case '-': mode &= ~bit; break;
21:09:01 <elliott> }
21:09:02 <elliott> I think that does it.
21:09:26 <oerjan> Vorpal: http://www.cs.cmu.edu/~tom7/sigbovik/wikiplia.pdf and http://radar.spacebar.org/f/a/weblog/comment/1/893
21:09:33 <oerjan> (note PDF)
21:09:57 <elliott> fuck! i have to handle "a" too
21:10:03 <elliott> oerjan: whoa, that guy again
21:10:16 <oerjan> elliott: which guy?
21:10:18 <elliott> oerjan: he keeps popping up all over my internets.
21:10:22 <elliott> oerjan: *that* guy
21:10:30 <elliott> the Wikiplia guy
21:10:33 <oerjan> tom7?
21:10:37 <elliott> yeah
21:10:45 <Vorpal> who is that
21:10:50 <elliott> a guy
21:11:40 <Phantom_Hoover> He's elliott from the future
21:11:53 <elliott> is he?
21:12:51 <elliott> oerjan: ok this guy wasted *insane* amounts of time on this :D
21:15:51 <elliott> $ bin/mkdir -m -x x
21:15:51 <elliott> drwxr-xr-t 2 elliott elliott 4096 Dec 4 21:15 x
21:15:54 <elliott> ok that did not work :D
21:15:57 <oerjan> yeah, "Since I really implemented the latter (I think the only SIGBOVIK paper that comes even close to being real)"
21:16:50 <elliott> oerjan: so the thing was the implementation of a programming language written in that programming language, right?
21:16:53 <elliott> interesting
21:17:45 <oerjan> possibly, as usual i'm too lazy to read the whole thing :D
21:18:03 <oerjan> it was ML at the bottom though
21:19:16 <elliott> oerjan: i've always wanted to maintain one of those "live"; like, you make a chance to add feature X, tell it "yo update compiler!"; then you rewrite the implementation of feature X to use X, tell it "yo update compiler!", and it runs each successive compiler on the source until fixed-point
21:19:20 <fizzie> You could put in the traditional /* fall-thru */ comment at the end of that =; I had to stare at it a moment before noticing that.
21:19:20 <elliott> (or warns you if it doesn't reach one)
21:20:11 <elliott> fizzie: comments take up valuable disk space
21:20:45 <oerjan> elliott: it reminded me a bit of Feather
21:20:47 <elliott> $ bin/mkdir -m g-x x
21:20:47 <elliott> drwxr-xr-t 2 elliott elliott 4096 Dec 4 21:19 x
21:20:49 <elliott> what.
21:20:50 <elliott> what's t again
21:20:57 <oerjan> sticky?
21:21:02 <fizzie> Sticky indeed.
21:21:21 <fizzie> It's the suid/sgid-bit position except for "other".
21:21:31 <elliott> lawl
21:21:35 <elliott> Ugh, shit is le broken.
21:21:46 <elliott> fizzie: YOU SHOULD WRITE ME A SYMBOLIC MODE PARSER ^__^
21:21:58 <Vorpal> elliott, it should be trivial?
21:22:13 <elliott> Vorpal: it isn't that trivial really
21:22:19 <elliott> Vorpal: a lot easier without "a"
21:22:29 <elliott> Vorpal: also consider that i'm optimising for binary size and mkdir is already the second-largest tool...
21:22:31 <Vorpal> elliott, a?
21:22:33 <elliott> (almost 9k!)
21:22:34 <elliott> Vorpal: a+x
21:22:35 <elliott> duh
21:22:43 <Vorpal> elliott, yes but why is it an issue
21:22:44 <fizzie> Well, you need to handle "ugo+x" anyway.
21:22:53 <elliott> fizzie: oh lawd, i don't right now
21:23:01 <elliott> Vorpal: and then consider that a=xu+g-xoug-r is valid
21:23:08 <fizzie> Also remember to handle +X properly.
21:23:09 <Vorpal> just set the "affects who" bitmask to all 1
21:23:20 <Vorpal> then and with the modes as you see them
21:23:26 <Vorpal> or such
21:23:40 <elliott> fizzie: I meant to say X with the a= there.
21:23:45 <elliott> X I will handle later :P
21:23:53 <elliott> Vorpal: It's not exactly trivial...
21:24:10 <Vorpal> elliott, true but easier if you write it without premature optimisation
21:24:11 <elliott> Vorpal: Especially since a naive implementation will end up interpreting ug+xo+w as ug+xugo+w.
21:24:28 <elliott> Since you have to clear the bitflag on a new "who" iff you've already set some bits.
21:24:45 <Vorpal> elliott, hah, what about the , ?
21:24:57 <Vorpal> u+w,g+w is quite common or such
21:24:57 <elliott> Vorpal: Optional... duh.
21:25:01 <Vorpal> elliott, yes
21:25:05 <elliott> You have to handle the case without htat.
21:25:05 <Phantom_Hoover> What is it with Americans and their crazy equation of higher education with school?
21:25:05 <Vorpal> elliott, but you need to handle it
21:25:12 <elliott> Vorpal: Go on then, show me the ultra-simple trivial code... I'm not prematurely optimising and it's not super-difficult, it's just really irritating.
21:25:21 <Vorpal> elliott, not ultra-trivial
21:25:33 <elliott> Vorpal: Trivial, then.
21:25:35 <elliott> You said trivial.
21:25:36 <Vorpal> but not as hard as you seem to indicate
21:25:45 <Vorpal> elliott, yes but maybe "easy" is better
21:25:45 <elliott> Vorpal: Very irritating.
21:25:47 <elliott> Not impossible.
21:26:02 <Vorpal> elliott, indeed not imposisble even on an FSA I believe
21:26:07 <elliott> Vorpal: (If you think I'm just trying to get free code out of you, license it GPLv3 or whatever and I won't touch it with a ten foot pole.)
21:26:07 <Sgeo> <3 Newspeak workspaces
21:26:46 <fizzie> The suid/sgid/sticky bits I would think are especially annoying, since they're not at all logical like the rest.
21:26:55 <Vorpal> fizzie, indeed
21:27:12 <Vorpal> bbl
21:27:15 <elliott> fizzie: Yeah, I'm not even trying to implement those at this point.
21:27:22 <elliott> fizzie: SO HAVE YOU WRITTEN IT YET
21:27:29 <fizzie> No, and I'm not going to. :p
21:28:04 <elliott> You're just afraid. Afraid of the truth.
21:30:14 <fizzie> How does something like u=rwx,g=u work, anyway? Does the g=u use the old or the new permissions of u?
21:30:28 <fizzie> Interestingly, chmod here accepts "o+s" without complaints, but doesn't do anything with it.
21:30:49 <fizzie> The rarely used soid bit.
21:30:50 <Phantom_Hoover> elliott and Vorpal are bickering, Sgeo is obsessing over a language he'll have forgotten in a week and sshc's a pathetic little weed.
21:30:58 <Phantom_Hoover> All is right with the world.
21:31:33 <elliott> Quite so.
21:31:44 <elliott> fizzie: Yes, it sets what the program thinks every other user is.
21:32:20 <oerjan> Phantom_Hoover: not quite, i cannot think of a pun to go with that
21:32:27 <elliott> fizzie: Is it just me, or are octal modes even easier to read and write than this symbolic crap?
21:32:28 <Phantom_Hoover> oerjan, how sad.
21:32:36 <Phantom_Hoover> oerjan, insult sshc with the use of pun!
21:32:40 <elliott> fizzie: I mean, +r, +w, +x, sure, and their - versions too. But the rest...
21:32:44 <Phantom_Hoover> Did I mention how much I hate sshc?
21:33:42 <fizzie> For the mkdir case it doesn't matter, but when doing chmod or something, remember that = has to treat files and directories differently.
21:33:51 <oerjan> it's a lot of hate for someone who hasn't spoken recently
21:33:58 -!- Zetro has quit (Remote host closed the connection).
21:34:35 <elliott> fizzie: seriously?
21:34:37 <elliott> fizzie: ;____;
21:34:43 <elliott> fizzie: who invented symbolic modes.
21:34:51 <oerjan> Satan.
21:34:57 <elliott> apart from him
21:35:07 <fizzie> Yes, u=rwx will do the same as u+rwx for a directory, but it will remove the suid bit for a file.
21:35:12 <oerjan> well probably hitler, then
21:35:16 <elliott> fizzie: what. why.
21:35:41 <fizzie> Or in other words, the "= clears unmentioned bits" has an exception that a directory's suid/sgid bits aren't touched, even if you don't specify them.
21:36:02 <elliott> fizzie: ;_; why
21:36:11 <elliott> Hey pikhq.
21:39:21 <elliott> http://d116.com/lispm/3675xmas.gif Christmas discount on a Symbolics 3675!
21:39:23 <fizzie> Actually it seems that what is done to suid/sgid bits on a non-file is implementation-defined, so you could be POSIXly compliant and ignore that distinction.
21:39:56 <fizzie> (But o+s is explicitly defined to be not an error, it just doesn't do anything.)
21:45:40 <fizzie> Incidentally, the "ug+xo+w" and "a=xu+g-xoug-r" you mention up there are not valid. The grammar (for the "actionlist" part of "+xo+w" or such) is a list of "action = op | op permlist | op permcopy", where "op" is [+-=] and "permlist" is a list of [rwxXst] and "permcopy" is [ugo].
21:46:27 <fizzie> With suitable commas they become legal, of course.
21:47:20 <elliott> fizzie: Hmm, so you really do only have to clear it on comma?
21:49:02 <fizzie> Within one clause's action list, you can have an arbitrary list of stuff like +rwx-o+g-t=g, but you can't have both [ugo] and [rwxXst] characters within the same op (+, - or =), and ops that have [ugo] must have only one of them.
21:51:15 <elliott> fizzie: This is a mess.
21:52:34 <fizzie> Maybe I should try this out. Though I don't quite know what things like mkdir do with the "use current permissions" characters; maybe those refer to the usual umask-derived permissions.
21:53:04 <elliott> fizzie: Oh, all I'm doing is a function to convert a symbolic mode string to the regular octal bits.
21:53:14 <elliott> fizzie: Right now the "base mode" is 0777, but you could easily take that as a parameter.
21:53:27 <elliott> (It also does octal, but that's just strtol and hardly worth mentioning.)
21:53:46 <fizzie> Maybe I should try this out too, after all.
21:53:52 <elliott> fizzie: If you do get it working, a WTFPL license would be nice, since it's much easier to minimise some non-minimised code than to write some small code the first time. :p
21:54:00 <elliott> Or we could have a golfing competition, and there would be no survivors.
21:54:09 <elliott> Unfortunately nobody else here actually codes.
21:56:57 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
21:57:40 <fizzie> I'll try it out, but I don't think I have a good test set.
21:57:58 <elliott> Hell, you think I do?
21:58:08 <fizzie> Maybe I could generate all possible productions (of length < K) out of the POSIX grammar, and then compare it with the chmod utility.
21:59:56 <elliott> fizzie: Or you could just try u=x,g-o,o-x,oug-r,a+x. :P
22:00:03 <elliott> (I have no idea what that produces when run on initial mode 0777.)
22:03:15 <zzo38> But everybody else here actually codes!
22:04:43 <Sgeo> WTF
22:04:52 <Sgeo> The scroll wheel doesn't work AT ALL in the Newspeak IDE
22:05:55 <zzo38> Sgeo: The scroll wheel doesn't work at all on my computer, but that is because I disabled it.
22:06:21 <elliott> <zzo38> But everybody else here actually codes!
22:06:25 <elliott> zzo38: Phantom_Hoover doesn't.
22:09:38 <elliott> fizzie: DO YOU FEEL THE PAIN YET
22:09:45 -!- kar8nga has joined.
22:09:52 <fizzie> Not really, but this will be a bit on the large side.
22:10:44 <elliott> fizzie: I won't hold it against you if you aren't POSIX-compliant with something like mutually-recursive assignments. :p
22:12:00 <fizzie> I think those permcopy ops are actually always resolved against the "old" (as in, completely before any clauses have been applied) mode, if I read the spec right.
22:12:11 -!- evincar has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.12/20101026210630]).
22:14:25 <elliott> fizzie: I was just using it as a placeholder for [stupid thing nobody really cares about].
22:18:27 -!- Phantom_Hoover has joined.
22:19:03 <Phantom_Hoover> I want to change the topic to "Human slaves / in an arsenic nation".
22:19:18 <Phantom_Hoover> But I doubt anyone'd get it/
22:20:00 -!- Sasha has quit (Ping timeout: 260 seconds).
22:20:02 <elliott> Vorpal: In 2004, a new edition of the POSIX:2001 standard was released, incorporating two technical corrigenda. It is called POSIX:2004 (formally: IEEE Std 1003.1-2004) [4].[3]
22:20:05 <elliott> Vorpal: Ha ha, you're wrong.
22:20:25 -!- Sasha has joined.
22:21:21 <Vorpal> elliott, oh so I was
22:21:37 <elliott> POSIX 2008 is online though, yay.
22:22:03 <Vorpal> elliott, yes since last yeart
22:22:05 <Vorpal> year*
22:22:13 <Vorpal> or even since two years ago soon
22:22:28 <elliott> fizzie: http://www.opengroup.org/onlinepubs/9699919799/utilities/chmod.html seems to specify the symbolic modes a little more than 2004, but I may be wrong.
22:22:43 <elliott> compress is still there, god bless it.
22:22:44 <fizzie> elliott: Okay, it does the same thing with u=x,g-o,o-x,oug-r,a+x (for base mode 0600) than chmod, and works with other spot-testing too, but it's hugely long.
22:23:00 <elliott> fizzie: Longer than http://git.busybox.net/busybox/tree/libbb/parse_mode.c?
22:23:09 <elliott> (WARNING: LGPL CODE, YOUR BRAIN WILL VIOLATE THE LICENSE!!11)
22:23:23 <fizzie> http://p.zem.fi/modeparse.c -- there's a plaintext download link there.
22:23:26 <fizzie> Well, maybe not quite that long.
22:23:48 <elliott> fizzie: Can I has that under WTFPL?
22:23:59 <fizzie> Sure.
22:24:22 <fizzie> Don't use it in a nuclear plant maybe, though.
22:24:30 <elliott> fizzie: Hoorj. So what are you, in "this code is based on code written by" terms? "fizzie" "Heijkyj Kallasojidio"? "That guy over there"? "turgledurd@zem.fi"?
22:24:32 <fizzie> I don't want to be responsible for a glass crater somewhere.
22:24:39 <elliott> Duly Noted.
22:24:40 <elliott> *noted.
22:25:09 <fizzie> I think I've usually just said "use the real-name", so I guess that.
22:25:26 <elliott> fizzie: Got an email address you want me to put in little angle-brackets to the right of it?
22:25:44 -!- MigoMipo has quit (Ping timeout: 264 seconds).
22:26:27 <Phantom_Hoover> elliott, so wait, the LGPL is *worse* than the GPL?
22:26:31 <elliott> Phantom_Hoover: No.
22:26:35 <elliott> Phantom_Hoover: I'm being silley.
22:26:45 <fizzie> I wonder... I usually use "fis+something@zem.fi" for this kind of stuff, with a suitable +something, but I'm not sure what this could be. Maybe just fis@ then. Unless you figure out a good identifier there, they all go to the same box anyway.
22:26:59 <elliott> fizzie: fis+kludge@zem.fi? :P
22:27:01 <elliott> I'll just use fis@.
22:27:02 <fizzie> fis+rwxXst@zem.fi. :p
22:27:04 <elliott> + is kinda ugly anyway.
22:27:27 <elliott> mode_t new = old;
22:27:31 <elliott> Out with the old, in with the new.
22:27:39 <elliott> who_mask sounds like the best kind of mask.
22:28:08 <fizzie> It does the suid/sgid stuff somewhat sensibly, but those are partially implementation-defined anyway.
22:28:44 -!- Sasha2 has joined.
22:28:45 <elliott> fizzie: Oh man, you use Allman style. That's perverse, dude.
22:29:02 <elliott> I think it's actually illegal in most civilised countries.
22:29:36 <elliott> And C99! If it didn't work I wouldn't be forever grateful.
22:30:00 <fizzie> Is it accidentally C99? It might be, I wasn't especially careful with it.
22:30:03 <elliott> AND IT GOES OVER 80 COLUMNS OH MY GOD YOU'RE JUST LIKE HITLER
22:30:13 <elliott> fizzie: You declare two variables in a while loop, so yeah.
22:30:16 <elliott> It doesn't matter though :P
22:30:18 -!- Sasha has quit (Read error: Connection reset by peer).
22:30:23 <fizzie> But that's a block.
22:30:29 <elliott> fizzie: (But Allman style really is unforgivable.)
22:30:29 <fizzie> You can declare variables at the beginning of a block.
22:30:33 <elliott> Oh, wait, yes it is.
22:30:37 <elliott> I'm just so used to not doing so, you know!
22:31:32 <fizzie> I'd try it out in gcc -ansi -pedantic, but apparently mode_t doesn't exist even with #include <sys/stat.h> under those flags.
22:31:41 <elliott> It's <sys/types.h>
22:32:03 <fizzie> Okay, there's C99 in the main function.
22:32:11 <elliott> if (*str == 'u' || *str == 'g' || *str == 'o') {
22:32:12 <elliott> case 'u': bits = (old&04700) | ((old&0700)>>3) | ((old&0700)>>6); break;
22:32:12 <elliott> case 'g': bits = (old&02070) | ((old&0070)<<3) | ((old&0070)>>3); break;
22:32:12 <elliott> case 'o': bits = (old&7) | ((old&7)<<3) | ((old&7)<<6); break;
22:32:26 <elliott> How WASTEFUL! I will convert it into a switch statement, because I'm lovely.
22:33:17 <fizzie> Yes, it certainly could be that, though you'd then have to str++ thrice.
22:33:38 <elliott> fizzie: As far as I can tell, you also have an "ok" variable that is executed iff it wouldn't go to a default clause.
22:33:45 <elliott> Is there some reason that can't just be a default clause?
22:34:00 <fizzie> Well, it has to break out of the while loop.
22:34:01 <elliott> I mean, apart from not breaking out of the for without a label.
22:34:09 <fizzie> Yes, that's the only reason for it.
22:34:24 <fizzie> You can gotoize it or something if you like.
22:34:28 <elliott> I am.
22:34:28 <elliott> :P
22:36:11 <fizzie> It doesn't do the "don't touch suid/sgid bits of a directory when doing =" thing GNU coreutils chmod does.
22:36:35 <elliott> fizzie: That seems stupid to me, anyway.
22:36:55 <fizzie> And, well... if you have a suid bit set in the old mode and do a "g=u" mode, it doesn't set the sgid bit. That's a bit debatable anyway.
22:36:57 <elliott> fizzie: Er.
22:36:58 <Vorpal> elliott, fizzie: I'm planning something BIG in MC atm
22:37:02 <Vorpal> feel free to come and watch
22:37:02 <elliott> $ bin/mkdir -m -x x
22:37:04 <elliott> $ ls -l
22:37:05 <elliott> d--------- 2 elliott elliott 4096 Dec 4 22:36 x
22:37:16 <elliott> fizzie: Technically I use int in mkdir.c rather than mode_t; could it be that?
22:37:21 <elliott> mode = parsemode(optarg, 0777);
22:37:22 <elliott> is the call.
22:37:32 <fizzie> $ ./tmp "-x" 0777
22:37:32 <fizzie> 00666 <- -x [00777]
22:37:35 <elliott> Vorpal: What is it, then?
22:37:36 <fizzie> Well, that's what my code does.
22:37:54 <fizzie> You get to debug all your minimizations yourself. :p
22:37:56 <elliott> fizzie: mode_t fixed it.
22:37:56 <Vorpal> elliott, a throne room
22:38:01 <elliott> Vorpal: wat.
22:38:13 <elliott> fizzie: I haven't minimised it at all yet, actually. :P
22:38:16 <elliott> Thus making mkdir the largest utility so far.
22:38:25 <Vorpal> elliott, what I just said
22:38:36 <fizzie> Oh. Well, then. But I'm not instantly sure why mode_t'd matter; but if it did, good for you.
22:38:42 <elliott> fizzie: Signed/unsigned?
22:38:45 <elliott> fizzie: while (*str == 'u' || *str == 'g' || *str == 'o' || *str == 'a') {
22:38:55 <elliott> fizzie: Now you have no excuse; that's for (;;) with a goto in the default. :P
22:39:09 <fizzie> Sure, sure.
22:39:23 <elliott> UNFORGIVABLE! Just kidding it's fine, you're cool.
22:39:35 <fizzie> It also has COMMENTS, remember to remove all those.
22:39:36 <elliott> Actually it's a "for (;; str++)" which is now my favourite type of control structure.
22:40:10 <pikhq> elliott: Mmm, for(;;str++)
22:40:14 <elliott> fizzie: Those don't take up binary space :-P
22:40:32 <elliott> -rwxr-xr-x 1 root root 48K Apr 28 2010 /bin/mkdir
22:40:32 <elliott> -rwxr-xr-x 1 elliott elliott 9.0K Dec 4 22:39 bin/mkdir
22:40:35 <elliott> Perhaps I shouldn't worry too much.
22:40:40 <elliott> (And the former one is even dynamically-linked.)
22:40:48 <fizzie> Also you might not exactly want to call abort() there if the mode string has some trailing dirt that was not parsed. :p
22:40:54 <elliott> fizzie: Fixed that. :P
22:41:03 <elliott> fizzie: (Made it return -1, i.e. "No! Bad mode! Bad user! You're a horrible person!")
22:41:33 <elliott> fizzie: Actually, got a simple way to check whether something's a valid mode? That high bit has a limited range of values, I think.
22:42:39 <elliott> fizzie: I like how your code readily accepts u-+q.
22:42:44 <elliott> That should be a valid mode.
22:42:51 <elliott> Oh, wait, no.
22:42:52 * Sgeo decides to try DropBox
22:42:55 <elliott> Mode_t is just unsigned.
22:42:59 <elliott> Sgeo: *Dropbox
22:43:31 * Sgeo vaguely hopes that Dropbox doesn't require installation on all computers
22:43:43 <Sgeo> I'm willing to install it on this machine, but not my old machin
22:43:45 <Sgeo> machine
22:44:00 <fizzie> I think anything >= 0 and <= 07777 is an okay mode; but in things like struct stat they use a mode_t field where the higher bits are for file type.
22:44:29 <elliott> Sgeo: Of course it does. (Unless you want the web interface.)
22:44:42 <Sgeo> elliott, as long as it has a web interface, I'm ok
22:44:49 <Sgeo> My taskbar just died
22:45:37 <fizzie> Interestingly, the standard explicitly allows the +, - and = operations without any permissions listed, so "g+" and "a+-" are valid no-ops, and "o=" is okay for basically "o-rwx".
22:47:16 <elliott> fizzie: I am having great trouble figuring out where to add "oh hey, something invalid" here. :p
22:47:52 <elliott> fizzie: Hmm, yours accepts u,...
22:48:00 <elliott> As a nop.
22:48:19 <fizzie> That one might not be quite kosher, that's true.
22:48:29 <fizzie> The "actionlist" part shouldn't be empty.
22:48:31 * Sgeo swears at typo
22:48:58 <fizzie> You could set "actions = 0" at the /* "action = op | op permlist | op permcopy"; always op first */
22:49:13 <fizzie> comment, then actions++ in the loop below, and if (!actions) ... after it.
22:49:17 <fizzie> If you want.
22:49:21 <elliott> case '+': case '-': case '=': goto afterwhomask;
22:49:21 <elliott> default: return -1;
22:49:23 <elliott> in the ugoa block
22:49:24 <elliott> seems to do it
22:49:48 <elliott> (I really want to get rid of that second switch though! But I don't think I can.
22:49:58 <elliott> i.e. the +-= switch after a condition already proved it true
22:50:01 <elliott> *can.)
22:51:02 -!- humanB has joined.
22:51:05 <fizzie> Hmh, right; you can either test for +-= after reading the "who" part -- because any action must start with an op -- or count the actions as you're reading them and test for count>0.
22:51:36 <elliott> fizzie: It's more that I want to replace the outer if with a switch, but there's code common to each action.
22:52:02 -!- humanB has left (?).
22:53:32 <elliott> fizzie: Hrm, does chmod usually have a race condition?
22:53:37 <elliott> i.e. read mode, modify, write
22:54:30 -!- MigoMipo has joined.
22:54:33 <fizzie> I don't think I've ever read the code of any chmod utility, but it doesn't sound very easy to avoid.
22:54:47 <Sgeo> Can't install Dropbox desktop client on the old machine
22:54:59 <Sgeo> And the upload limit for single files from the web interface is 300MB
22:55:42 * Sgeo gos ack to using ... why don't I just use the USB drive?
22:56:23 <elliott> Hmm, my -p option ignores -m for the outer directories. Now why would that be...
22:56:54 <Sgeo> If I can find it :(
22:56:57 <elliott> Oh, I see.
22:56:58 <elliott> Wait, what?
22:57:25 <elliott> Okay, what the fuck.
22:57:26 <fizzie> Heh, GNU coreutils chmod:
22:57:26 <fizzie> $ chmod --r t
22:57:27 <fizzie> chmod: option '--r' is ambiguous
22:57:39 <elliott> fizzie: What kind of mode is --r?
22:57:40 <elliott> :P
22:57:45 <fizzie> It's just -r.
22:57:57 <elliott> fizzie: That is *valid*? Wow.
22:58:06 <fizzie> Well, it works with the usual "chmod -- --r t" thing.
22:58:33 <Gregor> chmod o+=x is nice and confusing :P
22:59:01 <fizzie> Isn't that just equal to o=x?
22:59:11 <Gregor> Yup, but it sure doesn't look like it to a C programmer 8-D
23:00:27 -!- humanB has joined.
23:00:50 <elliott> 97174 total
23:01:03 <elliott> false, true, yes, sleep, pwd, echo, dirname, basename, uname, signal, link, cat, date, chroot, env, strings, vis, cal, kill, mkdir.
23:01:21 <elliott> 27995 box
23:01:25 <elliott> When compiled as one executable.
23:01:47 -!- humanB has left (?).
23:01:53 <elliott> 14460 box
23:01:55 <elliott> When UPX'd.
23:02:06 <elliott> (Would be smaller without that goddamn UPX copyright notice in there.
23:02:50 <Sgeo> Dear old computer: Please do not take two hours to copy a 500MB file from disk to USB drive
23:03:18 * Sgeo wonders if it's actually minutes that I'm seeing
23:04:14 <elliott> Oh yeah, and all of those are on 64-bit.
23:04:16 <fizzie> It's a bit shame that UPX doesn't do anything really clever, like disfilter in kkrunchy: http://www.farb-rausch.de/~fg/code/disfilter/readme.txt ("disassembling binary x86 code preprocessor that increases compressability by LZ-based compressors or context coders")
23:04:18 <elliott> On 32-bit, it'd be even smaller.
23:04:28 <fizzie> (kkrunchy is, of course, Windows-only.)
23:05:03 <Vorpal> elliott, the throne room will be 25x25x7 at least
23:05:11 <elliott> Vorpal: 128x128x128 in your face.
23:05:37 <Vorpal> elliott, yes but try to fit that in mt vorpal. Also mine will be ready long before your
23:05:43 <Vorpal> elliott, also it will not be a single room
23:06:38 <elliott> $ bin/mkdir -m 0 -p x/y/z
23:06:38 <elliott> x: File exists
23:06:38 <elliott> x: File exists
23:06:39 <elliott> What.
23:07:01 <elliott> Heh; mkdir here uses default permissions for -p.
23:07:03 <elliott> That seems wrong to me.
23:07:29 <elliott> For each dir operand that does not name an existing directory, effects equivalent to those caused by the following command shall occur:
23:07:29 <elliott> mkdir -p -m $(umask -S),u+wx $(dirname dir) &&
23:07:29 <elliott> mkdir [-m mode] dir
23:07:29 <elliott> O-kay.
23:09:28 <Sgeo> Why was I playing Runescape in my dream?
23:09:56 <elliott> fizzie: Is umask implicit?
23:11:11 <elliott> In mkdir() and the like.
23:11:58 <Sgeo> What good web browsers are there that work on Win98?
23:12:05 <elliott> Sgeo: opera
23:12:17 <Sgeo> That's it?
23:12:54 * Sgeo watches the time remaining thingy keep going up
23:15:43 * Sgeo is reading some Win32 tutorial
23:15:45 <fizzie> If you mean the syscalls that take a mode_t (like mkdir, open and such), yes, I think those apply the umask always.
23:16:14 <Sgeo> "hPrevInstance used to be the handle to the previously run instance of your program (if any)
23:16:14 <Sgeo> in Win16. This no longer applies. In Win32 you ignore this parameter. "
23:16:35 * Sgeo is very curious as to what that was used for, exactly
23:17:04 <elliott> fizzie: So then
23:17:05 <elliott> mkdir -p -m $(umask -S),u+wx $(dirname dir) &&
23:17:08 <elliott> fizzie: should have mode 0777. Right.
23:17:13 <elliott> (Presumably?)
23:17:27 <elliott> Er, maybe not.
23:17:30 <elliott> fizzie: I'm confused now.
23:17:34 <elliott> What mode would that correspond to?
23:17:37 * Sgeo loses interest
23:17:57 <fizzie> Sgeo: You can go steal already-loaded data by memory-copying from the previously opened instance, to start faster.
23:18:03 <fizzie> Sgeo: See http://blogs.msdn.com/b/oldnewthing/archive/2004/06/15/156022.aspx
23:20:13 * Phantom_Hoover decides he ought to murder the people who are ruining the cool bits of the Museum of Scotland.
23:20:31 -!- kar8nga has quit (Remote host closed the connection).
23:20:56 <fizzie> That is awfully complicated. But "umask -S" seems to return the symbolicized version of what (0777 & umask) ends up like, so "$(umask -S),u+wx" would just mean "like what mkdir without a mode argument usually does, except the user's write+execute bits are forced on always, even if umask would not".
23:21:04 <fizzie> Presumably because otherwise you couldn't create subdirectories under it.
23:21:38 <elliott> fizzie: Right, but as far as the argument to the malloc syscall...
23:21:46 <elliott> Well, default uhh...
23:21:48 <Sgeo> BRB
23:21:49 <elliott> fizzie: Okay, I'll just pass 0777.
23:21:51 <elliott> Sound reasonable? :p
23:22:14 -!- Sgeo has quit (Read error: Connection reset by peer).
23:22:19 <elliott> $ bin/mkdir -m 0 -p a/b/c
23:22:19 <elliott> a: File exists
23:22:19 <elliott> a: File exists
23:22:22 <elliott> Now to diagnose this.
23:22:30 <elliott> Actually, happens with just -p too.
23:23:21 <fizzie> Yes, I think passing 0777 to mkdir(2) is reasonable; if your user gives a -m argument, you're going to have to manually chmod it anyway, unless you really want to do some sort of "okay, here the umask didn't change the mode, so I don't need to" logic.
23:24:01 <elliott> fizzie: Manually chmod it?
23:24:02 <elliott> Why?
23:24:14 <elliott> fizzie: Oh, because of the umask?
23:24:23 <fizzie> Because "mkdir -m a+rwx foo" must set all the bits, not just umask-allowed ones, right.
23:24:23 <elliott> fizzie: You mean I can't just do mkdir(path, mode)?
23:24:33 <elliott> fizzie: You can't see it right now, but I'm vomiting.
23:24:37 <elliott> fizzie: Does chmod really bypass that?
23:24:39 <elliott> The syscall.
23:24:50 <fizzie> Yes, it does.
23:25:04 <fizzie> Otherwise you'd have no way of setting any non-umask-allowed modes.
23:25:04 <pikhq> There's a rumor going around that the PS3 master key has been found...
23:26:57 <pikhq> If true, this would probably make the PS3 the single most hacked console of this generation.
23:28:40 -!- Sgeo has joined.
23:31:31 -!- hagb4rd has quit (Ping timeout: 245 seconds).
23:31:50 <Phantom_Hoover> pikhq, wait, there's a single key that gives unbridled access to all consoles?
23:33:31 * Sgeo goes to install Win98
23:34:09 -!- hagb4rd has joined.
23:37:23 <Phantom_Hoover> elliott, more TV Tropes madness: Crowning Moment of Awesome is now just Moment of Awesome.
23:37:49 <elliott> ...
23:37:58 <elliott> what about funny
23:38:20 <Phantom_Hoover> Still Crowning, AFAIK.
23:38:25 -!- augur has quit (Remote host closed the connection).
23:38:46 <Sgeo> Awesome Moment of Crowning is less punny now :(
23:38:58 <Phantom_Hoover> No, wait, it's been made into "Funny Moments".
23:39:05 <elliott> .....................
23:39:37 <elliott> Phantom_Hoover: i was right
23:39:41 <elliott> fuck tv tropes
23:39:58 <oerjan> so i guess it's been taken over by "serious" people?
23:40:57 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:42:34 <Sgeo> Where did I put my Windows 98 license key?
23:42:56 <zzo38> Sgeo: In the microwave.
23:43:07 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:45:32 <Sgeo> An email to myself titled "Random porn" is not helpful here
23:48:52 <elliott> Sgeo: We needed to know that!
23:49:03 <Sgeo> It didn't actually contain any porn
23:50:43 <oerjan> well try the folder named "My Al-Qaeda contacts"
23:51:27 <Gregor> And if not that, steganographically encoded into your PDF copy of "Sodomy and the Pirate Tradition"
23:51:58 <elliott> I need COMPUTER SCIENCE BOOK ADVICE. As in what to buy. 'cuz I wanna binge.
23:52:11 <elliott> Candidates: SICP, Purely Functional Data Structures, Land of Lisp, Real World Haskell, ...?
23:52:33 <Sgeo> Facebook for Dummies //I'm sure that's on a CS bookshelf somewhere due to stupidity
23:52:57 <Sgeo> Didn't you recommend Purely Functional Data Structures to me once?
23:53:14 <elliott> Yes. I have heard extremely good things about it from sources I trust highly, and I have read other things by Okasaki.
23:53:19 <elliott> But the book itself I haven't read.
23:53:51 <oerjan> ...there are sources elliott trusts highly?
23:54:17 <elliott> oerjan: You do know I like people, right? :P
23:54:36 <oerjan> yeah but you never _agree_ with them...
23:55:28 -!- Zuu has quit (Ping timeout: 255 seconds).
23:55:34 <elliott> oerjan: It's not my fault most people are wrong. :p
23:56:00 <oerjan> true, true. i mean NONSENSE
23:56:01 <elliott> oerjan: To be fair though, most people in #esoteric aren't indoctrinated into the same cult I am, so it's only natural that you basically just see me disagreeing.
23:56:35 <elliott> oerjan: your children are all goats!
23:56:51 <oerjan> entirely correct
23:57:01 <oerjan> you were spot on, there
23:57:58 <oerjan> oh right...
23:58:33 <elliott> oerjan: now *i'm* confused. anyway recommend a CS book to me. (<-- sentence least likely to produce helpful results when directed at oerjan :P)
23:59:03 <elliott> <elliott> suggest a bo-- <oerjan> categories for the working mathematician <elliott> --ok about CS
23:59:06 <oerjan> i am merely confirming that my children are, in fact, all goats.
23:59:17 <elliott> oerjan: and horses, too
23:59:22 <oerjan> indeed
23:59:26 <Gregor> elliott: http://www.abebooks.com/products/isbn/9780814712368 <-- my advice
23:59:40 <Gregor> Err ... recommendation.
23:59:48 <Gregor> Actually, neither sounds better :P
23:59:58 * oerjan hasn't actually read categories for the working mathematician
2010-12-05
00:00:04 <elliott> Gregor: Now come on, piracy is more a social issue than CS-related.
00:00:10 <elliott> And I've already made my mind up about copyright!
00:00:25 <elliott> oerjan will now swat me
00:00:25 <Gregor> elliott: And sodomy?
00:00:30 <elliott> Gregor: I'm all for it!
00:02:03 <elliott> Note to self: mention support of sodomy ==> conversation dies.
00:02:08 <Gregor> X-D
00:02:13 <Gregor> I had nothing further to say :P
00:04:15 <Vorpal> elliott, that 128x128x128 thing... do you realise how enormous it will actually be?
00:04:30 <Vorpal> elliott, considering a 25x25 room is HUGE
00:04:39 <elliott> Vorpal: I have a vague comprehension in my head. Is that 25x25 room there right now?
00:05:03 <elliott> Vorpal: I'm imagining it like a really tall shopping centre/mall, not a bunch of rooms. :p
00:05:05 <Sgeo> Dear Ubuntu: Learn to count
00:05:12 <Sgeo> Oh wait
00:05:14 <Vorpal> elliott, well partly, and it is not 7 high yet
00:05:15 <zzo38> Idea for D&D game. When you play D&D game, maybe, you can make your character ettercap or other monster character, and then ask your brother if they want their character to be afflicted lycanthropy. And then see if there is human NPC in your party, too.
00:05:18 <oerjan> !help
00:05:19 <Sgeo> Guess it's not counting a directory as a file
00:05:26 <elliott> Vorpal: Is serv on?
00:05:48 <oerjan> !haskell 128^3
00:06:27 <oerjan> !help
00:06:53 <elliott> oerjan: 2,097,152 m^3.
00:06:56 <elliott> 1 block ~= 1 m^3
00:07:02 <Sgeo> Maybe I should just go online and find something?
00:07:07 <elliott> oerjan: it's the biggest cube possible because the world is only 128 high :)
00:07:13 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
00:07:14 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
00:08:02 <oerjan> !haskell 128^3 / 86400
00:08:04 <elliott> Vorpal: is serv on?
00:08:21 <oerjan> !echo hi
00:08:27 <Vorpal> elliott, now it is all there
00:08:33 <oerjan> Gregor: this is not very promising
00:08:34 <Vorpal> elliott, though just 2 high so far
00:08:44 <Vorpal> elliott, don't think so. Anyway it is in my mountain
00:08:59 <elliott> Vorpal: I'll come see.
00:10:44 <oerjan> `perl print (2097152/86400)
00:10:48 <oerjan> erm
00:10:53 <oerjan> `perl print (2097152/86400);
00:10:58 <oerjan> oh wait
00:11:09 <oerjan> `help
00:11:12 <oerjan> *sigh*
00:11:16 * Sgeo starts xPUD
00:11:24 <Gregor> <HackEgo> I DON' WANNA
00:11:33 -!- EgoBot has quit (Ping timeout: 240 seconds).
00:12:23 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
00:12:44 <HackEgo> No output.
00:12:44 <HackEgo> No output.
00:12:52 <oerjan> `run perl -e 'print (2097152/86400);'
00:12:54 <HackEgo> 24.2725925925926
00:13:11 <oerjan> elliott: so how many blocks can you place per second?
00:13:35 <oerjan> if it's one, and you don't sleep, then that's how many days you need
00:14:37 <elliott> oerjan: yeah yeah fizzie's done all the calculation --
00:14:40 <elliott> oerjan: i don't need to fill the cube duh
00:14:44 <elliott> i'm just going to have floors inside it
00:14:53 <oerjan> oh.
00:14:58 <elliott> you can place like 2 blocks/s
00:15:02 <elliott> oerjan: what will take ages is emptying 128x128x5 or so
00:15:06 <elliott> of water
00:18:42 <elliott> fizzie: Question. Why does mkdir have an -m parameter?
00:19:58 -!- HackEgo has quit (Remote host closed the connection).
00:20:06 -!- EgoBot has joined.
00:20:10 -!- HackEgo has joined.
00:20:11 <Gregor> elliott: To make you cry.
00:20:19 <elliott> Gregor: BUT IT'S POINTLESS
00:20:30 -!- augur has joined.
00:20:30 -!- nooga has quit (Ping timeout: 250 seconds).
00:21:13 -!- zzo38 has quit (Remote host closed the connection).
00:21:22 -!- sftp has quit (Remote host closed the connection).
00:21:32 <Gregor> elliott: RACE CONDITIOX
00:22:02 <elliott> Gregor: There's one *already*; malloc has to use chmod() because mkdir() is limited to umaskable stuff.
00:22:21 <Gregor> ... malloc?
00:23:16 <Gregor> Also, if you pass the mode requested into mkdir then chmod, you'll only be /expanding/ permissions, not /reducing/ permissions, which is OK.
00:23:27 <Gregor> (Idonno if it does this, and I'm just being a jerk anyway :P
00:23:42 <elliott> <Gregor> ... malloc?
00:23:43 <elliott> mkdir
00:23:44 <elliott> you know what i meant
00:23:56 -!- sftp has joined.
00:24:00 <Gregor> I figured it out, but it actually did take me a while ... like, 'til my next line :P
00:24:29 <elliott> Gregor: Anyway, mkdir is 9229 bytes and I consider this unacceptably large. :P
00:24:32 <elliott> It would be small without -m.
00:24:58 <elliott> $ bin/mkdir -p x/y/z
00:24:58 <elliott> x: File exists
00:25:04 <elliott> whyy do i get this error it doesn't sense-make
00:25:12 <elliott> and then x is empty
00:25:27 <Gregor> Wow, that is bizarrely huge ... it'd be smaller if you used shared objects or a multibinary X-P
00:25:46 <elliott> Gregor: It is, in fact; I have a script to do that.
00:25:54 <elliott> Gregor: 28155 box
00:26:07 <elliott> Gregor: That's false, true, yes, sleep, pwd, echo, dirname, basename, uname, signal, link, cat, date, chroot, env, strings, vis, cal, kill and mkdir.
00:26:14 <elliott> Gregor: BUT WAIT, THERE'S MORE
00:26:40 <elliott> Gregor: $ upx --ultra-brute --overlay=strip box && ./sstrip box
00:26:41 <elliott> $ wc -c box
00:26:41 <elliott> 14532 box
00:26:44 <elliott> And yes, it works.
00:26:55 <elliott> Also, it's bigger than it needs to be because UPX puts a UPX copyright notice in the file because it's stupid.
00:27:14 <elliott> (Supposedly even though it's GPL'd, somehow they think they can make removing this a license violation revoking even your permission to *use* it. :P)
00:27:28 <elliott> Gregor: BUT YEAH I TOTALLY JUST KINDA 14.5 DECIMAL KILOBYTESDED A BUNCH OF UTILITIES YO
00:27:51 <elliott> Gregor: Oh, and that box has flaws such as multiple copies of every signal name. And a few functions that could be shared.
00:28:00 <elliott> What I'm saying is: I'M AWESOME.
00:28:08 <elliott> Gregor: Did you ever bother actually unpacking that .minixfs.lzo? :P
00:28:18 <elliott> I spent at LEAST two minutes thinking of a format insane enough.
00:28:30 <Gregor> I like how it's just "box"
00:28:36 <Gregor> Not busy, tiny, anything.
00:28:40 <elliott> Gregor: I can't decide whether it's busy or not.
00:28:45 <elliott> But it definitely is a box!
00:29:11 <Gregor> How 'bout industriousbox :P
00:29:13 <elliott> Gregor: The box executable has some flaws right now; you can't symlink right now, only argv[1]. And it has no error reporting for no command arg (just segfaults) or command not found. :p
00:29:15 <elliott> But eh.
00:29:18 <elliott> Gregor: How about picobox.
00:29:37 <elliott> Gregor: Let's put it this way: I am pretty sure that nobody has used a toolchain capable of producing executables that small from this code before on Linux.
00:29:42 <Gregor> ... what could possibly be making it difficult to do with symlinks?
00:29:49 <elliott> Gregor: I am 99% sure I am the first person to compile dietlibc with pcc.
00:29:56 <elliott> (Since I had to do patching.)
00:29:58 <Gregor> Quite probably.
00:30:01 <elliott> And yes, it produces smaller executables than gcc.
00:30:09 <elliott> <Gregor> ... what could possibly be making it difficult to do with symlinks?
00:30:11 <Sgeo> Grrrr
00:30:14 <elliott> What if argv[0] has path components?
00:30:14 <elliott> :p
00:30:19 <Sgeo> VBoxGuestAdditions doesn't support Win98
00:30:23 <elliott> box.c is just a really quick autogenerated thing anyway.
00:30:24 <elliott> Sgeo: ...no shit.
00:30:44 <Sgeo> elliott, uh?
00:30:47 <elliott> Gregor: Oh yeah, and the dietlibc-linked static pcc is 34K.
00:30:53 <elliott> Gregor: This is the kind of compiler fit for the late 80s. :P
00:30:55 <Gregor> Mmm right, path components, okidoke. Still, strrchr *shrugs*
00:31:24 <elliott> Gregor: Huh, I didn't realise strrchr was actually POSIX. Also, right back at ya: basename() :P
00:31:42 <elliott> Hmm, I think strrchr could HELP with some of my PROGRAMS.
00:31:50 <elliott> Such as BASENAME.
00:31:59 <Gregor> There's a basename function as part of POSIX?
00:31:59 <elliott> (BASENAME actually GROWS in size when I just use basename(). I don't know why or how.)
00:32:08 <elliott> http://www.opengroup.org/onlinepubs/009695399/functions/basename.html
00:32:11 <elliott> Gregor: Part of XSI!
00:32:15 <elliott> Like every damn thing.
00:32:28 <elliott> For instance mmap :P
00:32:31 <elliott> (Is XSI-only.)
00:32:33 <Gregor> I didn't even know there was a basename function :P
00:32:51 <elliott> My hand-written basename is smaller SO YEAH
00:32:54 <elliott> (But not in larger programs.)
00:33:05 <elliott> (Only in basename(1). TODO: figure out where logic went.)
00:33:22 <elliott> while ((slash = strchr(path, '/')))
00:33:22 <elliott> path = slash + 1;
00:33:27 <elliott> Gregor: LOOK AT ME I DON'T KNOW WHAT STRRCHR IS HURRR
00:33:30 <elliott> Time for MEASUREMENTS
00:33:59 <elliott> HAHA IT GOT SMALLER
00:34:10 <elliott> HAHA IT STILL WORKS
00:34:57 <elliott> Gregor: Did I mention I compile false and true specially so that I can avoid all startup code? They are both 248 bytes.
00:35:09 <elliott> #include <unistd.h>
00:35:09 <elliott> void _start(void)
00:35:10 <elliott> {
00:35:10 <elliott> _exit(0);
00:35:10 <elliott> }
00:35:12 <Gregor> HUGELY wasteful.
00:35:25 <elliott> Gregor: It's the best I can do with C that's even vaguely portable P
00:35:26 <Gregor> You still need _exit
00:35:26 <elliott> *:P
00:35:33 <Gregor> Mmm, vaguely portable :P
00:35:34 <elliott> Gregor: Yes; the alternative is assembly.
00:35:37 <Gregor> OK, that's ELF-portable :P
00:35:49 <elliott> I have to special-case true and false in mkbox because I can't link them to ANYTHING X-P
00:36:21 <Gregor> Surely the size added to box of a more conventional true and false command would be smaller than 248 bytes?
00:36:40 <Vorpal> night
00:37:07 <elliott> echo " if (!strcmp(argv[0], \"true\")) return 0;"
00:37:07 <elliott> echo " if (!strcmp(argv[0], \"false\")) return 1;"
00:37:12 <elliott> Gregor: Probably, yeah.
00:37:19 <elliott> Gregor: But I'm primarily targeting separate executables for now :P
00:37:29 <Gregor> Ahhhhh
00:37:34 <Gregor> *cough*PUSSY*cough*
00:37:51 <elliott> Gregor: No way, this is more hardcore. Because I have all the overhead to deal with.
00:38:07 <elliott> "Do nothing, unsuccessfully" -- GNU coreutils, attempting to describe false(1) and instead managing to confuse everyone who thinks about it for more than a second
00:38:10 <Vorpal> elliott, and what if you have argv[0] = "foobar"
00:38:14 <elliott> Gahaha
00:38:16 <elliott> [[This version of false is implemented as a C program, and is thus more secure and faster than a shell script implementation, and may safely be used as a dummy shell for the purpose of disabling accounts.]]
00:38:20 <elliott> Our false: MORE SECURE THAN EVERYONE ELSE'S FALSE.
00:38:24 <elliott> Vorpal: Then the trick fails. Duh.
00:38:28 <elliott> ...
00:38:28 <elliott> wait.
00:38:33 <elliott> They said their false is *faster* than other falses.
00:38:37 * elliott explodes with laughter
00:38:46 <elliott> Faster if it didn't respond to --help and --version!
00:38:50 <elliott> And have localised strings!
00:38:51 <Vorpal> $ type true
00:38:51 <Vorpal> true is a shell builtin
00:38:52 <Gregor> elliott: Actually, the "safely be used as a dummy shell for the purpose of disabling accounts" is pretty important.
00:38:52 <Vorpal> elliott, ^
00:38:57 <elliott> Vorpal: Not as a shell.
00:39:01 <elliott> Gregor: Yes, but come on: faster?
00:39:02 <elliott> FASTER?
00:39:06 <Vorpal> elliott, indeed
00:39:07 <Gregor> Yeah, that's silly :P
00:39:24 <elliott> Gregor: Oh my god I want to delve into the kernel's executable loading code now to figure out the most optimised code path to exit with status 1 :P
00:39:39 <Vorpal> elliott, don't be silly
00:39:42 <Gregor> elliott: Do you require a.out binaries to be supported? ;)
00:39:49 <elliott> Vorpal: He says, in #esoteric.
00:39:53 <elliott> Gregor: I didn't say modify the kernel's code.
00:39:55 <Vorpal> elliott, yee.
00:39:57 <Vorpal> yes*
00:39:57 <elliott> Gregor: I meant analyse it.
00:40:06 <Gregor> elliott: The kernel DOES support a.out, but it's optional.
00:40:15 <elliott> Gregor: I know. I wanted to use a.out in Kitten a while back.
00:40:20 <elliott> Gregor: But debugging with a.out is a total clusterfuck :P
00:40:30 <elliott> Gregor: And N O T H I N G supports it.
00:40:38 <elliott> i.e., pcc doesn't.
00:40:38 <Gregor> For SOME reason :P
00:40:42 <elliott> I think gcc dropped support too.
00:40:59 <elliott> Gregor: Clearly we need a Unix that runs on PE.
00:41:02 <Gregor> elliott: objcopy certainly supports it, it may even be able to produce correct a.out files from static ELF files, but I wouldn't rely on that :P
00:41:04 <elliott> (I know, I know, COFF. But I mean actual Windows PE.)
00:41:08 <Vorpal> the standard executable name is still a.out
00:41:11 <Vorpal> which is strange
00:41:13 <elliott> Vorpal: No shit :P
00:41:15 <elliott> It's history.
00:41:17 -!- oerjan has quit (Quit: Good night).
00:41:17 <elliott> Delicious history.
00:41:28 <Vorpal> elliott, should be e.lf now
00:41:34 <elliott> Gregor: My objdump is so optimised it contains NO CODE AT ALL:
00:41:36 <elliott> $ objdump -D bin/mkdir
00:41:36 <elliott> bin/mkdir: file format elf64-x86-64
00:41:36 <elliott> $
00:42:33 <elliott> erm.
00:42:34 <elliott> Gregor: My mkdir :P
00:42:55 <Gregor> Your malloc? What?
00:43:17 <Vorpal> elliott, hm does it contain any sections at all
00:43:20 <elliott> Gregor: Shaddap.
00:43:43 <elliott> Vorpal: Yes, but it removes the section header table.
00:43:44 <Vorpal> elliott, if not, how does the kernel know what to load as executable and what to load as read only
00:43:49 <elliott> So silly tools think it has no sections at all/
00:43:50 <Vorpal> and then what to load as read-write
00:43:55 <elliott> * Most ELF executables are built with both a program header table and a
00:43:56 <elliott> * section header table. However, only the former is required in order
00:43:56 <elliott> * for the OS to load, link and execute a program.
00:43:57 <elliott> Vorpal: See above.
00:44:04 <Vorpal> hm
00:44:15 <Vorpal> elliott, and does the former define what is read only and read-write?
00:44:22 <elliott> Vorpal: One would presume so :P
00:44:33 <elliott> sstrip has basically no effects on any program in my testing.
00:44:40 <elliott> Well, unless the compiler does Weird Thangs.
00:44:47 <elliott> No effect apart from dramatic size reduction, that is.
00:45:17 <Vorpal> elliott, not dramatic for large binaries I presume
00:45:35 <elliott> $ egrep -r 'malloc|calloc|alloca|printf|fopen|fwrite' bin
00:45:36 <elliott> $
00:45:41 <elliott> Behold my not-using-most-of-libc skillz.
00:45:48 <elliott> Vorpal: Well, at least as dramatic as strip -s.
00:46:00 <elliott> And perhaps up to a kilobyte more? Maybe?
00:46:13 <elliott> Vorpal: It also strips trailing zeroes, which you can't do if you have a section header apparently.
00:46:19 <elliott> And I seem to recall seeing quite a lot of them in most ELF files.
00:46:30 <elliott> So sstrip is definitely worthwhile for a final-product no-debugging type thing.
00:46:54 <Vorpal> elliott, I'd want debug symbol packages available :P
00:47:06 <elliott> Vorpal: Do you do "strip -s" before debugging? No?
00:47:10 <elliott> Then you wouldn't sstrip either. :p
00:47:21 <Vorpal> elliott, I do aptitude install libsdl-dbgsym :P
00:47:25 <Vorpal> and so on
00:47:34 <elliott> Vorpal: (Of course if debuggers were actually *useful* and not destroyed by most optimisation and a pain beside, then you wouldn't want to strip anything; see Lisp Machines.)
00:47:51 <elliott> (But on Unix, for a non-development program, a smaller size is almost always vastly more useful than that.)
00:47:52 <Vorpal> elliott, debuggers are still useful
00:47:58 <elliott> Vorpal: Not outside of development.
00:48:04 <elliott> And, uh, the occasional bug report.
00:48:08 <Vorpal> elliott, indeed.
00:48:08 <elliott> Which is basically development.
00:48:18 <Vorpal> elliott, and unix is so buggy you want lots of bug reports :P
00:48:25 <Vorpal> elliott, did you still want to shave off that trailing \0 from that char array?
00:48:38 <Vorpal> like months[] = "foobarquu"
00:48:40 <elliott> Vorpal: I would ... not be ... averse to doing so...
00:48:49 <elliott> But I don't want to write {'a','b','c'} etc. :P
00:48:49 <Vorpal> elliott, just give the size in the []
00:48:59 <Vorpal> elliott, to be exact fit without the zero byte
00:49:02 <elliott> Vorpal: Yeah, I just realised that. I'll get a warning though. Well. I would get a warning if pcc was any good with warnings.
00:49:12 <elliott> (It seems to go into "TRUST THE PROGRAMMER" mode if you specify -nostdlib -nostdinc.)
00:49:24 <elliott> I occasionally compile it with gcc just to see what headers I forgot :P
00:49:29 <Vorpal> hah
00:49:50 <Vorpal> elliott, -Wall -Wextra -pedantic -std=c89?
00:50:10 <Vorpal> of course C99 is nicer
00:50:14 <Vorpal> but I doubt you would use that
00:50:19 <elliott> Vorpal: pcc doesn't have any warning options; all the warnings that exist are always on.
00:50:24 <elliott> (There do not exist terribly many.)
00:50:28 <elliott> (But there's a few.)
00:50:28 <Vorpal> elliott, I meant for gcc checking
00:50:50 <elliott> Vorpal: Oh. Yeah. Well, usually I just do CC=gcc. But CC="gcc -std=c89 -Wall -pedantic" is a more thorough check.
00:51:01 <Vorpal> elliott, -Wextra!
00:51:07 <Deewiant> -Werror
00:51:09 <elliott> Vorpal: No, no thank you.
00:51:13 <elliott> Deewiant: You are a horrible human being.
00:51:14 <Vorpal> elliott, why not
00:51:30 <elliott> Vorpal: Because it's mostly noise. Hey, Linus agrees with me, and lord knows he never does or says anything wrong!
00:51:32 <Vorpal> Deewiant, -Wwrite-strings
00:51:39 <Vorpal> elliott, :P
00:51:49 <elliott> $ make CC="gcc -std=c89 -Wall -Wextra -Wwrite-strings -pedantic"
00:51:52 <elliott> Ha ha, endless warnings for all.
00:52:04 <elliott> warning: initialization discards qualifiers from pointer target type
00:52:04 <elliott> warning: initialization discards qualifiers from pointer target type
00:52:04 <elliott> warning: initialization discards qualifiers from pointer target type
00:52:04 <elliott> warning: initialization discards qualifiers from pointer target type
00:52:05 <elliott> warning: initialization discards qualifiers from pointer target type
00:52:07 <Vorpal> ouch
00:52:10 <elliott> just imagine that x1000
00:52:12 <Vorpal> elliott, you forgot const
00:52:15 <elliott> Vorpal: not really, that's basically deliberate
00:52:23 <elliott> Vorpal: const correctness is vastly overrated and hinders the readability of code
00:52:23 <Vorpal> elliott, why deliberate?
00:52:29 <elliott> and I'm old school
00:52:46 <Vorpal> elliott, "type checking is vastly overrated and hinders readability of haskell code"
00:53:05 <Vorpal> untyped haskell ftw
00:53:07 <elliott> Vorpal: Maybe if cc could infer my consts I'd say differently, then.
00:53:12 <elliott> OH SNAP RIGHT BACK ATYA
00:53:16 <elliott> *ACTHA
00:53:19 <elliott> *ATCHA
00:53:28 <Vorpal> elliott, what?
00:53:42 <Vorpal> untyped haskell sounds completely wtf
00:54:15 <Vorpal> elliott, const decrease binary size
00:54:23 <Vorpal> elliott, because it can get rid of one page
00:54:24 <Vorpal> for .data
00:54:32 <Vorpal> if you are lucky you just have .rodata
00:54:38 <elliott> bin/kill.c:39: warning: implicit declaration of function ‘kill’
00:54:38 <Vorpal> (and you will probably have that anyway
00:54:39 <elliott> Wtf.
00:54:47 <elliott> I included all the headers in the man page.
00:54:49 <Vorpal> elliott, oh probably -std=c89
00:54:51 <Vorpal> elliott, that does that
00:54:53 <elliott> Oh.
00:55:01 <Vorpal> elliott, it doesn't think you want POSIX extensions then
00:55:17 <elliott> How do you turn off qualifier-discarding warnings? It's drowning out all the stuff I /want/ to fix.
00:55:26 <elliott> Also, I'm now tempted to try out consting EVERYTHING and seeing if binary size really decreases.
00:55:26 <Vorpal> -D_POSIX_C_SOURCE=200112L
00:55:28 <Vorpal> elliott, ^
00:55:33 <elliott> Vorpal: Or just ignore that one :P
00:55:36 <elliott> <elliott> How do you turn off qualifier-discarding warnings? It's drowning out all the stuff I /want/ to fix.
00:55:37 <elliott> is more important
00:55:49 <Vorpal> elliott, well if there are many of them then it might help to add that -D
00:55:54 <elliott> Only one.
00:55:57 <Vorpal> okay
00:56:01 <elliott> I wonder what people who do -Wextra -Werror do when they get "unused variable argc!!"
00:56:13 <Vorpal> elliott, as for turning of that: removing -Wwrite-string would drop a few
00:56:28 <elliott> Indeed, that does it.
00:56:30 <elliott> Thanks.
00:56:36 <Vorpal> elliott, __attribute__((unusued)) maybe?
00:56:43 <elliott> bin/chroot.c:15: warning: implicit declaration of function ‘chroot’
00:56:43 <elliott> bin/date.c:11: warning: unused parameter ‘argc’
00:56:44 <elliott> bin/env.c:8: warning: unused parameter ‘argc’
00:56:46 <elliott> bin/kill.c:39: warning: implicit declaration of function ‘kill’
00:56:47 <elliott> bin/signal.c:21: warning: comparison between signed and unsigned integer expressions
00:56:58 <elliott> Two incorrect warnings, two irrelevant warnings, and one really really pedantic warning.
00:57:00 <Vorpal> elliott, the last one sounds a potential problems
00:57:11 <elliott> for (j = 0; j < 7 - strlen(signals[i].name); j++)
00:57:14 <elliott> Vorpal: Not really.
00:57:15 <Vorpal> elliott, -Wno-unused-parameter
00:57:25 <Vorpal> or something like that
00:57:38 <Vorpal> elliott, strlen returns size_t
00:57:42 <Vorpal> elliott, what is your j
00:57:42 <elliott> <Vorpal> -D_POSIX_C_SOURCE=200112L
00:57:45 <elliott> Still warns about chroot.
00:57:48 <Vorpal> elliott, huh
00:57:50 <elliott> Even though I've included <unistd.h>.
00:57:54 <elliott> (Is chroot POSIX? Probably not.)
00:57:57 <Vorpal> chroot():
00:57:57 <Vorpal> Since glibc 2.2.2:
00:57:57 <Vorpal> _BSD_SOURCE ||
00:57:57 <Vorpal> (_XOPEN_SOURCE >= 500 ||
00:57:57 <Vorpal> _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
00:57:58 <Vorpal> !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
00:58:00 <Vorpal> Before glibc 2.2.2: none
00:58:02 <Vorpal> yeargh!
00:58:05 <elliott> :D
00:58:24 <elliott> Vorpal: j is an int. (I would love to see a system with so many signals that it overflows. signals is a constant array anyway.)
00:58:29 <elliott> int is smaller than size_t usually :P
00:58:34 <elliott> Maybe I'll make everything char.
00:58:41 <elliott> bin/mkdir.o: In function `main':
00:58:41 <elliott> mkdir.c:(.text+0x457): undefined reference to `__posix_getopt'
00:58:45 <elliott> lol ld --gc-sections is so stupid
00:58:49 <elliott> good thing it works with pcc :P
00:59:00 <elliott> (yes, it does decrease the binary size)
00:59:08 <elliott> Vorpal: Okay, Operation Const. Time to see if your THEORY has any MERIT!
00:59:09 <Vorpal> then pcc is doing something stupid
00:59:14 <elliott> No it isn't.
00:59:18 <Vorpal> elliott, it does help in many cases
00:59:20 <elliott> ld --gc-sections is *really* naive.
00:59:30 <elliott> pcc/dietlibc happens to not trigger it.
00:59:31 <Vorpal> elliott, if it needs gc-sections it is doing something stupid
00:59:40 <elliott> Vorpal: Um, --gc-sections helps with gcc too.
00:59:49 <Vorpal> elliott, I didn't say gcc wasn't stupid as well
01:00:02 <elliott> Vorpal: At least pcc has "70s" as an excuse :P
01:00:16 <elliott> It is a very reliable compiler though. Just not a super-feature-rich one.
01:00:28 <elliott> Vorpal: Okay, time to const EVERY SINGLE THING IN CAT.
01:00:41 <elliott> Ha, argc and argv are both mutated in this program.
01:00:52 <Vorpal> elliott, remember to do const char * const foo = ...
01:00:53 <elliott> In fact, uh, yup, cat has nothing I can const.
01:00:56 <Vorpal> if you have such constructs
01:00:57 <elliott> (Except the barfu library function, but.)
01:01:11 <elliott> Vorpal: Unless this saves a DRAMATIC amount of space, it's so ugly I don't care :P
01:01:21 <elliott> 7863 bin/cal
01:01:23 <elliott> That's the score to beat.
01:01:23 <Vorpal> elliott, it saved over 1 KB in mosaic I remember
01:01:37 <elliott> Vorpal: Over 1K... in a gigantic program.
01:01:42 <elliott> SOUNDS WORTH IT
01:01:48 <Vorpal> elliott, well check it
01:01:56 <elliott> I am.
01:01:58 <elliott> Time to constify cal.c.
01:02:00 <elliott> Constipate.
01:02:02 <Vorpal> elliott, also look at readelf for .data and .rodata sections
01:02:05 <elliott> Yes, let's go with that. Constipate.
01:02:22 <Vorpal> elliott, "så konstigt"
01:02:22 <elliott> static const char const shortmonths[3 * 12] =
01:02:27 <elliott> That's not right, is it.
01:02:27 <Vorpal> elliott, what :P
01:02:29 <elliott> How do you say that?
01:02:33 <elliott> shortmonths[...] const? :P
01:02:36 <Vorpal> elliott, I believe the const goes inside the []
01:02:37 <elliott> shortmonths const [...]? :P
01:02:41 <elliott> Vorpal: ...really?
01:02:42 <Vorpal> elliott, not completely sure
01:02:50 <elliott> static const char shortmonths[3 * 12 const] =
01:02:53 <elliott> MOST RIDICULOUS THING EVER :P
01:02:57 <Vorpal> elliott, check it
01:03:00 <Vorpal> though
01:03:12 <Vorpal> I thought it was static const char shortmonths[const 3 * 12]
01:03:22 <elliott> Syntax error :P
01:03:23 <elliott> For both forms.
01:03:27 <Vorpal> elliott, actually I don't think that inner const matters
01:03:31 <Vorpal> since it is after all an array
01:03:33 <Vorpal> not a pointer
01:03:38 <elliott> Vorpal: WHAT WOULD YOU KNOW
01:03:54 <elliott> Okay fine.
01:03:54 <Vorpal> elliott, your innermost secret?
01:04:00 <elliott> What is it?
01:04:08 <Vorpal> elliott, buggered if I knew :P
01:04:18 <elliott> Buggery and the Pirate Tradition
01:04:27 <elliott> am i doin it rite Gregor
01:04:34 <Vorpal> what
01:04:54 <Vorpal> elliott, also this will help at runtime
01:05:00 <Vorpal> elliott, since const stuff can be shared
01:05:05 <Vorpal> between running instances
01:05:13 <elliott> Vorpal: "char *const daydec;" means that I never do "daydec = ...", just "daydec[n] = ..." right?
01:05:23 <elliott> hmm
01:05:26 <elliott> const char *daydec;
01:05:27 <Vorpal> elliott, err yeah
01:05:29 <elliott> daydec = ultostr(day);
01:05:37 <elliott> is that kosher if ultostr modifies a global buffer before returning?
01:05:42 <elliott> and returns that global buffer
01:05:42 <Vorpal> elliott, thus it will be faster since less data will have to be copied to a new page by t he kernel when the app is run
01:05:47 <elliott> as long as /I/ never mutate it later
01:05:53 <elliott> yes/no?
01:05:57 <Vorpal> elliott, should be
01:06:02 <elliott> yay
01:06:04 <Vorpal> elliott, as you state the problem it should be
01:06:37 <Vorpal> elliott, check with valgrind. Always do that for any program written in C. It is _always_ a good idea.
01:06:46 <Vorpal> as long as you aren't linking to a crazy gc that is
01:07:13 <Vorpal> (crazy gc: anything that doesn't work with valgrind in this context)
01:07:15 <elliott> 7863 bin/cal
01:07:15 <elliott> CC cal
01:07:15 <elliott> 7863 bin/cal
01:07:18 <elliott> Vorpal: Fully consted.
01:07:19 <elliott> NO DAMN CHANGE AT ALL
01:07:24 <elliott> And code is now 110% ugly.
01:07:27 <Vorpal> elliott, what about .data vs. .rodata?
01:07:29 <Vorpal> elliott, remember speed
01:07:31 <Vorpal> when copying
01:07:37 <Vorpal> because less copying
01:07:43 <Vorpal> due to shared data
01:07:53 <elliott> Vorpal: I don't really care how fast these utilities run, I have trivially-unrollable loops that I don't because of size :P
01:07:57 <elliott> A clock cycle takes ~0 seconds.
01:08:13 <elliott> Vorpal: In fact, fuck reasonability. I'm going to constipate the util.h functions too.
01:08:16 <Vorpal> elliott, but what about my 386?
01:08:35 <elliott> Vorpal: You do realise BusyBox, designed for tiny slow hardware, optimises for size waay above speed? :P
01:08:36 <elliott> It pays off.
01:08:43 <Vorpal> elliott, indeed
01:08:49 <Vorpal> elliott, what about my pentium4 then?
01:08:52 <elliott> It pays off on modern machines, too.
01:08:56 <elliott> Vorpal: Your Pentium 4 is like unto an abortion.
01:09:08 <Vorpal> elliott, p4 unrolling probably pays off
01:09:16 <elliott> P4 throwing out of a window pays off :P
01:09:31 <Vorpal> elliott, yes in the electricity bill
01:09:51 <elliott> static const char *const ultostr(const unsigned long i)
01:10:09 <elliott> 7863 bin/cal
01:10:12 <Vorpal> elliott, well duh there it won't do anything except help you catch errors
01:10:14 <elliott> Conclusion: const does FUCK ALL :P
01:10:27 <Vorpal> elliott, it is for static variables that it often helps
01:10:35 <elliott> Vorpal: Yep. Did it to every static variable (and cal.c has a lot).
01:10:45 <Vorpal> weir
01:10:47 <Vorpal> weird*
01:10:57 <elliott> Maybe pcc is just TOO DUMB to do ANYTHING with them :P
01:11:00 <Vorpal> elliott, btw how many cm snow over in UK so far?
01:11:00 <elliott> IIRC a few binaries even have their rodata sections stripped by --gc-sections.
01:11:04 <elliott> So const there is likely to HURT things :P
01:11:14 <Vorpal> elliott, wtf :P
01:11:16 <elliott> Vorpal: I don't measure the snow... but a decent amount (quite a lot) by our standards.
01:11:20 <Vorpal> elliott, your setup = crazy
01:11:23 <elliott> Probably not much by your Swedish standards.
01:11:24 <Vorpal> elliott, half a meter yet?
01:11:30 <elliott> Vorpal: Nnnnnnnnno :P
01:11:33 <elliott> Not that I know of at least X_D
01:11:34 <elliott> *X-D
01:11:36 <Vorpal> elliott, ah, nothing then
01:11:51 <elliott> Vorpal: You can't make me feel small, I'd like to live in Scandinavia.
01:11:58 <elliott> I LOVE SNOW (as long as I stay indoors forever)
01:12:19 <elliott> #define WANT_BARFX
01:12:25 <Vorpal> elliott, I remember that periodicvideo youtube clip where they went to Sweden last year
01:12:35 <elliott> I have not once regretted my choice of "barf" as the standard name for the error-reporting function.
01:12:39 <elliott> barf, barfu, and barfx.
01:12:48 <elliott> The middle one sounds amusingly Asian-stereotypy.
01:12:52 <elliott> barfu desu
01:13:05 <Vorpal> I loved the comment about who he said "I got this brush when I hired the car, I wonder what it is for... but I do have a feeling the car might be snowy"
01:13:07 <Vorpal> or something like that
01:13:21 <elliott> xD
01:13:45 <Vorpal> elliott, after all, yttrium, ytterbium, erbium, and terbium are all named after the same place in Sweden
01:13:59 <Vorpal> s/who/how/
01:14:00 <elliott> Vorpal: Coldium
01:14:05 <Vorpal> elliott, har har
01:14:29 <elliott> Vorpal: I should visit Stockholm some time. ("You know, just one day. No big deal!")
01:14:37 <elliott> ("I might just spontaneously decide to go there.")
01:14:42 <Vorpal> elliott, let me find the clip
01:14:43 <elliott> ("It's on my TODO list.")
01:15:19 <Gregor> We've got snow here.
01:15:23 <Gregor> Snow on the high seas.
01:15:25 <Gregor> Snow and the pirate tradition.
01:15:31 <Gregor> What I'm trying to say here is sodomy.
01:16:13 <elliott> Gregor: Sodomy and the Sodomical Tradition
01:16:41 <Vorpal> elliott, about 55 seconds into http://www.youtube.com/watch?v=F9QmVM536Ks
01:17:03 <Vorpal> elliott, until 1:20
01:17:06 <elliott> Vorpal: Ouch, interlacing.
01:17:26 <Vorpal> elliott, also some other cool winter scenery after that
01:17:32 <Vorpal> elliott, including a large snow plow
01:17:33 <elliott> Vorpal: But the interlacing!
01:17:57 <Vorpal> hm
01:18:05 <elliott> Vorpal: This flight path is rather indirect :P
01:18:09 <elliott> (To Stockholm)
01:18:14 <Vorpal> elliott, well yeah
01:18:31 <elliott> Is it usually that snowy in the summer? :p
01:18:45 <Vorpal> elliott, that is the winter duh
01:18:53 <elliott> HE SAID NICE SUMMER WEATHER
01:18:57 <elliott> I INTERPRET HIS STATEMENTS LITERALLY
01:19:13 <Vorpal> elliott, "nice sunny"
01:19:19 <elliott> Oh :P
01:19:20 <Vorpal> elliott, not "summer"
01:19:39 <Vorpal> elliott, at least I think he said that
01:21:14 <elliott> Vorpal: i don't think these guys used a staircase mine
01:21:24 <elliott> drills? why didn't they use a pickaxe?
01:21:37 <Vorpal> elliott, :P
01:21:42 <elliott> explosives? dude, they must be really impatient, diamond pickaxe mines everything in like a second
01:23:07 <Vorpal> elliott, :P
01:24:45 <elliott> chroot is stupidly simple :P
01:25:53 <elliott> I love how little POSIX specifies.
01:26:14 <elliott> You could have the craziest file hierarchy ever, have no chroot(), no mmap(), no mount(), and still be POSIX-compliant.
01:26:19 <elliott> Yet it specifies SCCS.
01:26:20 <elliott> So silley.
01:31:17 -!- Zuu has joined.
01:40:21 -!- sebbu2 has joined.
01:42:19 -!- sebbu has quit (Ping timeout: 272 seconds).
01:47:28 <pikhq> Vorpal: The only thing worse than putting an interlaced video up on Youtube is scaling it as though it were progressive before uploading it.
01:47:35 <pikhq> (you CANNOT FIX THAT)
01:50:28 <elliott> pikhq: So I totally have a mostly-working malloc.
01:50:31 <elliott> And chroot.
01:50:35 <elliott> And things!
01:50:47 <pikhq> elliott: Any benefit over dietlibc malloc?
01:50:56 <elliott> pikhq: I mean mkdir.
01:51:01 <elliott> God dammit why do I keep making that typo.
01:51:56 <elliott> pikhq: Oh, and uname. Did I have uname last time? Whatever.
01:52:15 <elliott> pikhq: BTW, question: You know the common "#!/usr/bin/env interp" trick?
01:52:25 <elliott> Any suggestions as for how to get that working if you don't have /usr?
01:54:29 <pikhq> Well, you could get Linux to think that "#!/usr/bin/env" is the magic for a new binary format.
01:55:21 <pikhq> Vorpal: Which, BTW, was done.
01:55:31 <pikhq> Vorpal: That video is impossible to fix.
01:55:37 <elliott> pikhq: You need the space there too. But yeah, I thought that, and then I realised "wait, it'd be easier just to patch exec to special-case /usr/bin/env".
01:55:58 <pikhq> elliott: Actually, no, it wouldn't be easier.
01:56:08 <elliott> pikhq: No?
01:56:19 <pikhq> elliott: Linux lets you register an interpreter for a binary format just by writing to some file in proc.
01:56:25 <elliott> pikhq: True.
01:56:32 <elliott> pikhq: Lemme try it...
01:56:46 <pikhq> I've used it for Java, WINE, and Plof in the past.
01:57:00 <elliott> "To register a new binary format you have to issue the command echo :name:type:offset:magic:mask:interpreter: > /proc/sys/fs/binfmt_misc/register with appropriate name (the name for the /proc-dir entry), offset (defaults to 0, if omitted), magic, mask (which can be omitted, defaults to all 0xff) and last but not least, the interpreter that is to be invoked (for example and testing /bin/echo). Type can
01:57:00 <elliott> be M for usual magic matching or E for filename extension matching (give extension in place of magic). If you do a cat on the file /proc/sys/fs/binfmt_misc/status, you will get the current status (enabled/disabled) of binfmt_misc."
01:57:06 <elliott> pikhq: Plof? Wow :P
01:57:25 <elliott> pikhq: Wow, there's Python in there.
01:57:27 <elliott> Also CLI, and jar.
01:57:28 <elliott> Already.
01:58:07 <elliott> pikhq: How does one work out the magic? Just the hex of the magic? What endianness? (Does it matter?)
01:58:10 <elliott> Can you have multiple magics?
01:58:27 <Vorpal> pikhq, okay. I don't really care. It is still cool
01:58:42 <pikhq> Vorpal: Never mind, I totally fixed it.
01:58:49 <Vorpal> pikhq, okay?
01:58:53 <pikhq> Vorpal: -vf yadif,fspp=5 makes it tolerable.
01:59:01 <Vorpal> pikhq, I can tolerate it as it is
01:59:11 <Vorpal> pikhq, I don't know what it is with you
01:59:19 <Vorpal> pikhq, also is that to vlc?
01:59:22 <elliott> Vorpal: Actually, it /is/ really irritating.
01:59:23 <pikhq> Mplayer.
01:59:29 <elliott> Why would you ever use VLC?
01:59:32 <elliott> It's like mplayer but worse.
01:59:37 <elliott> Especially for subtitles.
01:59:42 <elliott> pikhq: what is maaagic :P
01:59:46 <Vorpal> elliott, oh? I don't use subtitles
01:59:59 <pikhq> elliott: Uh, it will be a string that it should look for.
02:00:06 <elliott> Vorpal: Probably because you don't watch foreign-language content...
02:00:13 <elliott> pikhq: Python's is "magic d1f20d0a" from the proc thing
02:00:18 <elliott> So are you sure about that?
02:00:19 <Vorpal> elliott, indeed I don't
02:00:33 <elliott> pikhq: Or is that just how /proc shows it when I cat?
02:00:43 <pikhq> elliott: Probably just proc being weird.
02:00:57 <elliott> pikhq: So you can't have a magic with : in it then...
02:01:02 <elliott> Also, can you have multiple magics?
02:01:07 <pikhq> elliott: Hmm. Maybe it's a hex string.
02:01:31 -!- FireFly has quit (Quit: swatted to death).
02:01:43 <elliott> No, indeed, that seems to work.
02:01:48 <elliott> But do I really need two interpreters for two magics?
02:02:25 <pikhq> elliott: I dunno. I guess you'd need two entries for two magics.
02:02:26 <Vorpal> um
02:02:38 <Vorpal> elliott, doesn't #! detection come before binfmt_misc?
02:02:43 <Vorpal> as in:
02:02:45 <elliott> Vorpal: No.
02:02:46 <elliott> I just tried it.
02:02:49 <elliott> #!bork registered.
02:03:01 <Vorpal> elliott, I thought lookup order was: ELF, a.out, #!, binfmt_misc
02:03:15 <Gregor> Vorpal: binfmt_misc always comes first
02:03:17 <Vorpal> yes it would register, but would it work?
02:03:17 <pikhq> binfmt_misc overrides.
02:03:20 <Vorpal> huh
02:03:22 <Vorpal> weird
02:03:22 <elliott> It worked, I tested it.
02:03:24 <elliott> With #!bork.l
02:03:26 <elliott> *no l
02:03:34 <Gregor> Vorpal: Qemu has a script to set up binfmt_misc for foreign ELFs.
02:03:37 <pikhq> You can, in fact, make Linux valgrind everything.
02:03:38 <elliott> Now how do you get rid of an interpreter...?
02:03:50 <Vorpal> pikhq, what about valgrind itself
02:03:55 <Vorpal> wouldn't this get recursive
02:03:56 <Gregor> pikhq: Wouldn't that get into some horrible binfmt_misc loop? :P
02:04:06 <pikhq> Gregor: It's valgrind all the way down.
02:04:11 <Vorpal> XD
02:04:14 <Gregor> X-D
02:04:17 <elliott> <3
02:04:19 <pikhq> Gregor: Alternately, you could set up a noöp interpreter for valgrind.
02:04:23 <elliott> NO
02:04:28 <elliott> I approve of this meta-valgrind technology.
02:04:32 <elliott> Just evaluate the valgrinds lazily.
02:04:52 <Vorpal> actually I seem to remember it does loop detection nowdays
02:05:10 <Vorpal> it must hit ELF or a.out within n layers
02:05:21 <elliott> Seriously, how do I remove an interpreter? :P
02:05:27 <Vorpal> elliott, you read the man page
02:05:28 <Gregor> elliott: You can't.
02:05:34 <Vorpal> I think you can
02:05:39 <Vorpal> pretty sure you can
02:05:40 <Gregor> elliott: It compiles it into the kernel live, then it's stuck forever, even through reboots.
02:05:49 <elliott> Gregor: Thought so.
02:05:53 <elliott> Vorpal: *Which* manpage?
02:05:58 <elliott> There is no binfmt_misc man page here.
02:05:59 <Vorpal> elliott, buggered if I know
02:05:59 <Gregor> elliott: It even modifies the compiler so that if you compile a new kernel, you keep your binfmt_mscs.
02:06:00 <Gregor> *miscs
02:06:12 <elliott> Vorpal: Then stop being annoying just because you can't help...
02:06:14 <Vorpal> Gregor, trusting trust reference eh?
02:06:21 <Gregor> Vorpal: :P
02:06:26 -!- Sasha2 has quit (Remote host closed the connection).
02:06:29 <Vorpal> elliott, I done it before, I just don't remember where
02:06:30 <Vorpal> or how
02:06:32 <elliott> Gregor: But does it counteract Diverse Double-Compiling? http://www.dwheeler.com/trusting-trust/
02:06:46 <Vorpal> elliott, /usr/src/linux/Documentation I guess
02:06:47 <Vorpal> check there
02:06:59 <Vorpal> elliott, or whereever you have the kernel source
02:07:06 <elliott> Vorpal: I, like most people, do not have the kernel source on my system all the time.
02:07:18 <Vorpal> elliott, well that is your problem
02:07:25 <elliott> Thankfully I have a copy here.
02:07:35 <elliott> pikhq: Ah, you can select whatever : you want.
02:07:35 <Vorpal> as I expected
02:07:41 <elliott> Still, you can't have a 256-char magic :P
02:07:44 <elliott> (Of all ASCII.)
02:07:49 <elliott> Vorpal: Only because of Kitten.
02:08:06 <elliott> - 'magic' is the byte sequence binfmt_misc is matching for. The magic string
02:08:06 <elliott> may contain hex-encoded characters like \x0a or \xA4. In a shell environment
02:08:06 <Vorpal> elliott, again your problem
02:08:06 <elliott> you will have to write \\x0a to prevent the shell from eating your \.
02:08:07 <elliott> Never mind :P
02:08:11 <elliott> Vorpal: Oh shut up.
02:08:22 <Vorpal> elliott, only if I want to
02:08:31 <elliott> Gregor: Seriously, tell him he's irritating.
02:08:50 <Vorpal> elliott, is Gregor some sort of higher authority?
02:09:02 <elliott> No, but if I can get pikhq on board too that's pretty solid.
02:09:39 <elliott> pikhq: Ugh, I can't make /bin/env the interpreter, because it'll just see "/bin/env /path/to/foo".
02:09:50 <Vorpal> indeed
02:10:01 <Gregor> E_INSUFFICIENTSODOMY
02:10:07 <Vorpal> Gregor, :D
02:10:18 <elliott> Vorpal loves the sodomy.
02:10:25 -!- sebbu2 has changed nick to sebbu.
02:10:25 <Gregor> Apparently *shrugs*
02:10:35 <Vorpal> elliott, sure why not
02:10:45 <elliott> `addquote <elliott> Vorpal loves the sodomy. <Vorpal> elliott, sure why not
02:10:47 <Vorpal> (yes I know what the word means)
02:10:49 <elliott> Vorpal: OPEN TO TRYING NEW THINGS.
02:10:52 <elliott> *ALWAYS OPEN
02:10:57 <HackEgo> 267|<elliott> Vorpal loves the sodomy. <Vorpal> elliott, sure why not
02:11:02 <pikhq> elliott: You'd need to write a custom interpreter to parse the shebang line.
02:11:05 <Vorpal> elliott, of course
02:11:20 <elliott> This is Vorpal's really subtle way of coming out.
02:11:23 <Gregor> btw, wots all this you're doing with binfmt_misc anyway?
02:11:32 <Vorpal> `addquote <elliott> [...] ALWAYS OPEN TO TRYING NEW THINGS.
02:11:33 <elliott> Gregor: "#!/usr/bin/env interp" is very common.
02:11:34 <HackEgo> 268|<elliott> [...] ALWAYS OPEN TO TRYING NEW THINGS.
02:11:37 <elliott> Gregor: I have no /usr.
02:11:43 <elliott> Vorpal: My love of sodomy is no secret :P
02:11:47 <elliott> Gregor: Thus, binfmt_misc
02:11:52 <Gregor> elliott: Soooo ... ln -s /usr /?
02:11:58 <Gregor> Err
02:11:59 <Gregor> ln -s / /usr
02:12:08 <elliott> Gregor: I refuse to accept such clutter. (But symlinking / to /usr sounds like fun.)
02:12:21 <Gregor> elliott: The HURD does it :P
02:12:43 -!- Sasha has joined.
02:12:46 <Gregor> Also /X11R6, though that one may have gone away.
02:12:55 <Vorpal> hah
02:12:56 <elliott> Gregor: What, symlink / to /usr? :P
02:13:08 <Vorpal> elliott, whaaat?
02:13:16 <Vorpal> elliott, didn't you read that ln -s backwards
02:13:18 <Gregor> elliott: No, sodomy.
02:13:21 <elliott> <Gregor> elliott: Soooo ... ln -s /usr /?
02:13:23 <elliott> Vorpal: No, no I didn't.
02:13:29 <Vorpal> elliott, oh wait
02:13:39 <Vorpal> elliott, I just saw <Gregor> ln -s / /usr
02:14:29 <Vorpal> elliott, make it point to a custom wrapper file that just munges argv and passes the right thing to env
02:14:38 <Vorpal> elliott, however it needs to read the file
02:14:41 <elliott> Vorpal: I have to parse the shebang, duh.
02:14:53 <Vorpal> elliott, linux just passes #!<whatever> <whatever> along
02:14:57 <Vorpal> not anything more than that
02:15:19 <Gregor> Vorpal: His problem is he wants #!/usr/whatever to work with no /usr
02:15:25 <elliott> No, he understands.
02:15:41 <Gregor> Ohoho, make it point to.
02:15:42 <Gregor> I should read.
02:15:47 <Gregor> But prefer not to.
02:15:50 <elliott> Vorpal: Sure, but I still have to open the file, read sizeof("#!/usr/bin/env")-1 bytes (or maybe one extra due to the space in some cases), read a space, read a space-terminated name, read a space-terminated argument, and make the call.
02:15:51 <Vorpal> elliott, you need the same for #!/usr/bin/python and #!/usr/bin/perl and so on
02:15:55 <elliott> So it's not exactly trivial.
02:15:58 <elliott> Vorpal: Nothing should do that :P
02:16:00 <elliott> And not much does.
02:16:07 <Vorpal> fairly common
02:16:10 <elliott> Not really.
02:16:12 <elliott> Only among bad programs.
02:16:18 <Gregor> elliott: Are you unwilling to use stdio?
02:16:23 <elliott> And the distro solution to that is to s!/usr/bin/!/usr/bin/env !, usually.
02:16:25 <elliott> Gregor: What, in my coreutils?
02:16:36 <Vorpal> <elliott> So it's not exactly trivial. <-- uh the pseudo code fitted into one line of IRC
02:16:38 <Vorpal> ;P
02:16:40 <Gregor> elliott: In your binfmt_misc /usr-shebang wrappermajig.
02:16:46 <elliott> Vorpal: It's not as trivial as one echo line :P
02:16:56 <elliott> Gregor: Even if I was willing, why would it affect anything?
02:16:57 <Vorpal> elliott, it is not as trivial as a nop yeah
02:16:58 <elliott> Gregor: scanf? :P
02:17:05 <Gregor> elliott: Then it's just fgets and strchr
02:17:18 <elliott> Gregor: ...you do realise that fgets ~= read?
02:17:23 <elliott> For this purpose.
02:17:30 <Gregor> elliott: fgets always reads lines, and you want one line.
02:17:38 <elliott> Gregor: Stop when you encounter a \n, problem solved.
02:17:44 <elliott> fgets can read only part of a line if the buffer is too small, anyway.
02:17:54 <Vorpal> elliott, getline
02:17:57 <elliott> Gregor: stdio does not make this significantly easier at all :P
02:17:58 <Gregor> elliott: Finefine; in that case, strchr is sufficient
02:17:59 <elliott> Vorpal: Die in a fire.
02:18:08 <elliott> Gregor: Good thing I have no objection to strchr, then.
02:18:08 <Gregor> strchr being in string, not stdio, but eh :P
02:18:09 <Vorpal> elliott, it is in poisix 2008 iirc
02:18:14 <Vorpal> posix*
02:18:26 <elliott> Gregor: But note that I'll have to handle the argument being terminated by space OR \n.
02:18:28 <elliott> Or, in fact, EOF.
02:18:31 <elliott> SO COMPLICATED
02:18:34 <elliott> Vorpal: It shouldn't be.
02:18:38 <Vorpal> elliott, it is
02:18:40 <Gregor> lawl
02:18:42 <elliott> Vorpal: It shouldn't be.
02:18:51 <elliott> Gregor: Maybe I could do it as a perl script. :P
02:18:52 <elliott> MWAHAHA
02:19:20 <Vorpal> elliott, strtok?
02:19:28 <elliott> Vorpal: Why even bother...
02:19:31 <elliott> It's a trivial C program :P
02:19:32 <Vorpal> elliott, :P
02:19:36 <Vorpal> elliott, uh
02:19:57 <pikhq> Vorpal: Okay, if you can wait like 15 minutes I can give you a better version of that Youtube video. Just so you can see how much of a difference simple things like "deinterlacing" can make.
02:20:13 <elliott> pikhq: Your tormenting Vorpal has little effect on him :P
02:20:18 <Vorpal> `addquote <elliott> So it's not exactly trivial. [Later about same thing] <elliott> It's a trivial C program :P
02:20:23 -!- p_q has joined.
02:20:28 <HackEgo> 269|<elliott> So it's not exactly trivial. [Later about same thing] <elliott> It's a trivial C program :P
02:20:36 <Vorpal> pikhq, nah I'm going to sleep
02:21:02 <Vorpal> pikhq, I'm sure it is better but I'm not very bothered by it
02:21:31 -!- poiuy_qwert has quit (Ping timeout: 245 seconds).
02:21:35 <pikhq> Vorpal: So, you're not bothered by the random horizontal lines EVERYWHERE there is motion?
02:21:50 <Vorpal> pikhq, not in that case, wasn't very noticable
02:21:59 <Vorpal> noticeable*
02:22:03 <Vorpal> now, night →
02:23:02 <pikhq> Vorpal must be blind.
02:25:05 <elliott> pikhq: OK, so let's say I have /libexec/runenv and /libexec/runenvspace.
02:25:11 <elliott> And they're identical except one reads one byte more at the start.
02:25:19 <elliott> And then I just register them as the interpreters for the two magics you'd expect.
02:25:26 <elliott> Job done.
02:25:57 <pikhq> Yeah, that should keep the /usr/bin/env trick "just working" nice and easy.
02:26:23 <pikhq> May have to do more formats for, say, #!/usr/bin/perl or something.
02:26:31 <pikhq> But that should be much easier to handle.
02:27:56 <elliott> pikhq: the solution for that is to edit the file to use /usr/bin/env :P
02:28:15 <pikhq> elliott: Okay, true, that functions just as well.
02:31:59 <elliott> pikhq: So what command should I do next batman :P
02:35:14 <pikhq> rm
02:35:29 -!- Sasha has quit (Remote host closed the connection).
02:35:50 -!- Sasha has joined.
02:36:30 <elliott> pikhq: http://www.opengroup.org/onlinepubs/9699919799/utilities/rm.html LOOK AT THE COMPLEXITY
02:36:52 <elliott> Okay, so it's actually pretty simple.
02:37:28 <Gregor> elliott: Do you have shar yet? :P
02:37:41 <elliott> Gregor: Why do you ask?
02:38:06 <Gregor> elliott: Because I'll bet it's obscenely complicated and harassing you is fun?
02:38:19 <elliott> Gregor: shar is not actually posix :P
02:38:34 <elliott> Gregor: Anyway, as far as "obscenely complicated" goes, dude, I've written most of a dd/shar creator in dd/sh.
02:38:56 <elliott> That is: Using only the Bourne shell and dd, I've written a program which takes a bunch of file names and outputs a program using only dd and sh to unpack them again.
02:39:01 <elliott> SO I THINK I'M HARDCORE ENOUGH
02:39:35 <Gregor> elliott: How 'bout script(1)?
02:39:54 <elliott> Gregor: Yes, yes, totally. Believe it.
02:41:04 <pikhq> Okay, I've got a highly-improved version of that Ytterby video, and nowhere to upload it. Poo.
02:41:18 <elliott> pikhq: filebin.ca if it's <50mb
02:41:37 <pikhq> It is 54mb.
02:43:19 <elliott> pikhq: gzip it :P
02:43:21 <elliott> Or lzma it.
02:43:22 <elliott> Or anything.
02:43:28 <elliott> Even if it's already-compressed.
02:43:56 <pikhq> Come on, small amounts of redundancy!
02:44:26 <pikhq> Okay, xz doesn't reduce the size.
02:44:43 <pikhq> xz -9, though?
02:44:58 <elliott> pikhq: Compile an asm program that just prints it out, and UPX --ultra-brute it.
02:48:22 <pikhq> Eh, whatever. The point is, Vorpal is blinder than a bat, and I shall never trust his opinions on video quality.
02:49:19 <elliott> I think he acknowledges the complaint but just doesn't care :P
02:50:20 <pikhq> The point is, Vorpal is blinder than a bat, and I shall never trust his opinions on video quality.
02:50:26 * Sgeo almost considers just using VMware Server
02:50:38 <pikhq> Sgeo: You will regret it.
02:50:48 <pikhq> VMware Server has the worst UI I have seen.
02:50:56 <Sgeo> VBox whatever doesn't like Windows 98
02:50:58 <pikhq> AJAX to localhost.
02:51:03 <pikhq> AJAX. To. Localhost.
02:51:24 <Sgeo> Let
02:51:33 <Sgeo> Let's see if I can get sound on here, maybe I'll make do with that
02:51:41 <Sgeo> And just ignore lack of integration
02:51:48 <elliott> pikhq: I am considering writing my own getopt.
02:51:57 <elliott> dietlibc's seems to be more than, like, three bytes, which is unacceptable.
03:13:31 -!- Zuu has quit (Ping timeout: 272 seconds).
03:26:31 <elliott> pikhq: Guess what the hardest part of writing rm is.
03:28:35 <pikhq> What?
03:28:52 <elliott> pikhq: -i.
03:29:13 <pikhq> ...
03:29:20 <pikhq> Yeah, that would actually be annoying.
03:29:52 <elliott> pikhq: I dare you to write a routine using only read and write that (1) reads a line from standard input; (2) saves whether the first character is y or not; (3) discards the rest of the input up to the newline but (4) keeps the rest to use on the next call.
03:29:57 <elliott> It's possible but irritating.
03:30:10 <elliott> Oh, and (5) returns the first-char-is-y flag.
03:34:34 <elliott> pikhq: Well go on, I sure don't want to :P
03:39:27 <Sasha> Oo, flags
03:44:36 <elliott> bin/rm.c, line 57: cannot recover from earlier errors: goodbye!
03:45:44 <Gregor> elliott: int yes() { char c, d; read(0, &c, 1); d = c; while (d != '\n') read(0, &d, 1); return (c == 'y' || c == 'Y'); }
03:46:16 <elliott> Gregor: I was fucking around with a buffer X-D
03:46:18 <elliott> You win.
03:46:23 <elliott> (Although error-check that read call, man!)
03:46:31 <Gregor> :P
03:46:44 <Gregor> Admittedly it's pretty inefficient, but we're talking about rm -i here ;)
03:47:00 <elliott> Yeah :P
03:48:02 <elliott> Gregor: That seems to wait for a double newline sometimes for me...
03:48:06 * Sgeo attempts to fix Brazil despite having little knowledge of either Brazil or Win32
03:48:21 <Gregor> elliott: That's ... weird?
03:48:27 <elliott> Gregor: Yeah...
03:48:31 <elliott> Sgeo: brazil is beyond fixing.
03:49:46 <elliott> Gregor: Something is up with this code :P
03:50:17 <Gregor> My code is given with NO WARRANTY
03:50:37 <Gregor> OHWAIT
03:50:39 <elliott> Gregor: EXPRESS OR IMPLIED?
03:50:39 <Gregor> Nowait
03:50:40 <Gregor> Unohwait
03:50:48 <elliott> Yeah I keep going OH and then wait no.
03:50:51 <Gregor> elliott: WHATSOEVER
03:50:54 <elliott> static int ask()
03:50:54 <elliott> {
03:50:54 <elliott> char reply, c;
03:50:54 <elliott> if (read(0, &reply, 1) <= 0) return 0;
03:50:54 <elliott> c = reply;
03:50:55 <elliott> while (c != '\n')
03:50:56 <elliott> if (read(0, &c, 1) <= 0) return 0;
03:50:58 <elliott> return (reply == 'y' || reply == 'Y');
03:51:00 <elliott> }
03:51:02 <elliott> is my function fwiw
03:51:25 <Gregor> That's ... pretty obviously OK.
03:52:30 <Gregor> I can only speculate that you're calling it wrong somewhere :P
03:52:33 <elliott> ...LOL
03:52:36 <elliott> writes(2, "Remove ");
03:52:36 <elliott> write(2, path, strlen(path));
03:52:36 <elliott> write(2, "? ", 2);
03:52:36 <elliott> read(0, buf, 2);
03:52:36 <elliott> if (!ask()) return 1;
03:52:52 <Gregor> ... yeah.
03:52:55 <Gregor> Like that, for example.
03:53:07 <elliott> $ yes | bin/rm -i x y z
03:53:07 <elliott> Remove x? Remove y? Remove z? elliott@dinky:~/code/tools$
03:53:09 <elliott> Ouch.
03:53:26 <Gregor> But ... that's correct though.
03:53:27 <elliott> Heh, /bin/rm does the same, so let's ignore that.
03:53:33 <elliott> Gregor: Yes, but ugly :P
03:53:37 <Gregor> Ah :P
03:53:47 <elliott> Now to do -r and it'll be done.
03:54:03 <Gregor> Have you written sh yet? :P
03:54:28 <elliott> Gregor: No. sh, if I do write it, will be in the "more commands!" set, and will do scripts only, designed for init scripts and the like. Interactive users should use a ksh.
03:55:09 <elliott> Gregor: There'll be three sets: the core utilities, i.e. what I'm writing now; the additional utilities, like awk and sh; and the extra utilities, like wget and ping and all that stuff.
03:55:15 <elliott> *three sets of utilities:
03:55:41 <Gregor> At which level does the user become tainGNUted?
03:56:00 <elliott> Gregor: All code is original. By wget I mean "a reimplementation of wget".
03:56:06 <Gregor> Ahhhhh
03:56:07 <elliott> Oh, things like cpio will also be in the last set.
03:56:20 <elliott> Gregor: Of course I'm just as likely to write "wget: the curl wrapper!", but you get the idea. :P
03:56:27 <Gregor> And at what level do you get KDE4?
03:56:37 <elliott> Gregor: The level accessed by "rm -rf /".
03:56:41 <Gregor> :P
03:56:45 <elliott> And unlike some pussy competitor products, *my* rm won't refuse to do that.
03:57:23 <Gregor> elliott: To be fair, the diagnostic about rm -rf / isn't about not accidentally removing everything, it's about the fact that you cannot, in fact, remove the root directory.
03:57:48 <elliott> Gregor: But the manual tells you it's For Your Own Good. :p
03:58:01 <Gregor> Suresure.
03:58:10 <elliott> Gregor: And no, but you can remove everything on the system and then try, and fail to unlink the root directory, print out an appropriate diagnostic, and dump the user back to a now-completely-useless shell prompt.
03:58:16 <elliott> Just like they asked you to.
03:58:24 <Gregor> Fair point :P
03:58:33 -!- augur has quit (Remote host closed the connection).
04:01:06 <elliott> Gregor: Ha, POSIX requires me to not prompt the user on a file without write permissions if standard input isn't a terminal.
04:01:13 <elliott> isatty!
04:01:17 <elliott> Is a titty.
04:01:44 <elliott> #
04:01:44 <elliott> If file is not of type directory, the -f option is not specified, and either the permissions of file do not permit writing and the standard input is a terminal or the -i option is specified, rm shall write a prompt to the standard error and read a line from the standard input. If the response is not affirmative, rm shall do nothing more with the current file and go on to any remaining files.
04:01:56 <elliott> Gregor: Pop quiz: What happens if this case happens but standard input isn't a terminal and -i is not specified?
04:02:02 <elliott> Error? Silent acceptance?
04:02:08 <elliott> Demons flying out of your nose, washing the Windows API?
04:02:29 <elliott> (I say: print a diagnostic and exit(1).)
04:02:34 <elliott> Well.
04:02:40 <elliott> (I say: print a diagnostic, process other files, and exit(1).)
04:03:29 <Sgeo> "process other files"?
04:03:30 <Gregor> Silent acceptance, almost assuredly.
04:04:08 <Sgeo> I KILLED JIMBO! :(
04:04:49 <elliott> }
04:04:49 <elliott> if (((S_ISDIR(st) && recurse && rmdir(path) < 0)
04:04:50 <elliott> || unlink(path) < 0)
04:04:50 <elliott> && !force) {
04:04:50 <elliott> barfx(path);
04:04:50 <elliott> return 0;
04:04:52 <elliott> }
04:04:54 <elliott> what have i done.
04:05:15 <Sgeo> recu... oh
04:05:27 <elliott> bin/rm.c, line 24: no alignment
04:05:27 <elliott> what
04:05:31 <elliott> struct stat st;
04:05:44 <Sgeo> Isn't there some language where you have to say recurse() instead of the function's name, or something?
04:05:47 <elliott> Oh, it doesn't know what it is.
04:05:52 <elliott> Sgeo: Sure?
04:05:54 <elliott> I guess.
04:05:57 <elliott> I vaguely recall that.
04:06:44 <Sgeo> Since the name is not defined during the thing... Forth
04:06:45 <Sgeo> ?
04:07:30 <elliott> Gregor:
04:07:30 <elliott> if (((S_ISDIR(st.st_mode) && recurse && rmdir(path) < 0)
04:07:31 <elliott> || unlink(path) < 0)
04:07:31 <elliott> && !force) {
04:07:43 <elliott> Gregor: Spot the bug that makes "rm -r dir" manage to remove dir but then spew out:
04:07:48 <elliott> dir: No such file or directory
04:08:45 <elliott> 7967 rm
04:08:48 <elliott> Just need to add recursion and it's done.
04:09:37 <elliott> Gregor: No GNU code is actually looking pretty likely at this junction :P
04:09:41 <elliott> G'night folks.
04:09:43 -!- elliott has quit (Quit: Leaving).
04:14:12 -!- wareya has joined.
04:15:14 -!- wareya_ has quit (Read error: Operation timed out).
04:51:59 <pikhq> "Students Warned Not To Link To Or Even Read WikiLeaks If They Want A Federal Job"
04:52:58 <Sgeo> I thought that was one school, and a school that focuses on diplomacy
04:53:10 <Sgeo> (Or maybe just sent to students looking into diplomacy)
04:53:15 <pikhq> State department.
04:57:19 -!- augur has joined.
05:01:56 -!- hagb4rd has quit (Ping timeout: 245 seconds).
05:03:19 -!- zzo38 has joined.
05:04:24 <zzo38> I am making a variant of the Computer Modern fonts called Computer Hypermodern (I did change the filenames and the notice), which has three times as many parameters as Computer Modern.
05:05:51 <Sgeo> Respond to WM_VSCROLL is insufficient, isn't it?
05:07:20 <zzo38> Do you mean for Windows?
05:07:48 <Sgeo> Yes
05:08:25 <Sgeo> I don't think it gets sent for scrolling via the mouse scroll thingy
05:26:55 -!- augur has quit (Remote host closed the connection).
05:28:26 -!- hagb4rd has joined.
05:30:25 -!- augur has joined.
05:34:52 <Gregor> EVERYONE:
05:34:56 <Gregor> What's your favorite libc function?
06:10:16 -!- hagb4rd has quit (Ping timeout: 245 seconds).
06:10:51 <Sgeo> The one that turns the computer into SkyNet
06:13:03 <zzo38> Gregor: I don't know!
06:28:54 <zzo38> Will an old piece of music come to life if you tune your piano at random?
06:35:53 <Gregor> Yes, but it will almost invariably be angry and murderous.
06:39:46 <zzo38> What does "HAMBURGEFONSTIV" mean?
06:47:43 <zzo38> Is it a real word?
06:52:10 <Gregor> I'm gonna guess "fake word" :P
06:52:26 <Gregor> `translate hamburgefonstiv
06:52:27 <HackEgo> hamburgefonstiv
06:52:34 <Gregor> Yeah, I'm gonna guess "fake word"
07:31:15 -!- Sasha has quit (Read error: Connection reset by peer).
07:31:51 -!- Sasha has joined.
07:33:47 <pikhq> Gregor: My "favorite" libc function is, of course, gets!
07:35:23 <Gregor> X-D
07:36:04 * Sgeo stuffs malicious garbage inside pikhq
07:38:56 -!- nopseudoidea has joined.
07:39:05 -!- nopseudoidea has quit (Client Quit).
07:39:37 -!- zzo38 has quit (Remote host closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:12:25 -!- augur has quit (Remote host closed the connection).
08:22:22 -!- augur has joined.
08:45:43 -!- Sgeo has quit (Read error: Connection reset by peer).
08:52:44 -!- Goosey has quit (Ping timeout: 264 seconds).
08:54:51 -!- nopseudoidea has joined.
08:54:55 -!- nopseudoidea has quit (Client Quit).
09:24:40 <Vorpal> <elliott> I think he acknowledges the complaint but just doesn't care :P <-- correct, I do agree it would be better without the interlacing, but it doesn't bother me much
09:24:45 <Vorpal> pikhq, ^
09:29:33 -!- cheater99 has joined.
09:38:50 -!- kar8nga has joined.
09:52:39 -!- MigoMipo has joined.
10:21:35 -!- nopseudoidea has joined.
10:43:08 -!- Phantom_Hoover has joined.
10:49:38 -!- ais523 has quit (Remote host closed the connection).
11:04:04 -!- nopseudoidea has quit (Quit: Quitte).
11:39:43 -!- nopseudoidea has joined.
11:46:06 -!- nopseudoidea has quit (Quit: Quitte).
11:52:44 -!- nooga has joined.
11:52:47 <nooga> :S
11:56:30 <Vorpal> bbl
11:56:54 <nooga> http://besty.pl/upload/file/1019.jpg
12:02:26 -!- nopseudoidea has joined.
12:14:32 <Phantom_Hoover> nooga, who is that?
12:19:47 -!- FireFly has joined.
12:20:13 <nooga> i don't know
12:21:54 -!- oerjan has joined.
12:42:37 -!- cheater99 has quit (Quit: Leaving).
12:51:15 -!- Zuu has joined.
12:59:03 <Phantom_Hoover> You know, of all of the things wrong with modern Western culture, I think the worst is recursive fame.
12:59:39 <Phantom_Hoover> People on Celebrity Big Brother who are famous for /being on a previous series of Plebian Big Brother/.
13:02:59 <Phantom_Hoover> When the aliens invade I shall collaborate vehemently.
13:33:15 -!- Phantom_Hoover has quit (Remote host closed the connection).
13:34:38 -!- Phantom_Hoover has joined.
13:48:06 <Vorpal> elliott (for log reading): did some tests with pypy, it clocks in between cython and and the traditional cpython
13:48:38 <Vorpal> the difference between each of them is about one order of magnitude
13:49:46 <Phantom_Hoover> So which was fastest?
13:52:00 -!- nopseudoidea has quit (Quit: Quitte).
14:08:48 -!- cheater99 has joined.
14:30:19 -!- nopseudoidea has joined.
14:31:07 <Vorpal> Phantom_Hoover, as I said: cython
14:31:33 <Vorpal> (since I talked about that yesterday and cython was so much faster than cpython)
14:32:08 * nooga wonder when they'll try to write cuby or cruby
14:32:32 -!- Slereah has quit (Ping timeout: 265 seconds).
14:34:04 <Vorpal> nooga, isn't the current one cruby, cpython is the name of the normal traditional python implementation written in C
14:37:59 -!- Slereah has joined.
14:38:27 -!- nopseudoidea has quit (Remote host closed the connection).
14:43:28 -!- nopseudoidea has joined.
14:46:34 <nooga> oh
14:46:55 <nooga> so classic python is written in ... ?
14:47:01 <Phantom_Hoover> C.
14:47:07 <nooga> wait
14:47:14 <nooga> sry, i didn;t pay attention
14:47:32 <nooga> they why do you call it cpython instead of python?
14:48:01 <Phantom_Hoover> Python is the language; CPython is the official implementation.
14:49:35 <nooga> okay
14:49:39 <nooga> then cython ?
14:51:34 <Phantom_Hoover> Cython is some weird thing.
15:00:56 <nooga> ok, then i'm waiting for cuby
15:01:33 -!- Sgeo has joined.
15:09:19 -!- elliott has joined.
15:12:33 <elliott> 21:34:52 <Gregor> EVERYONE:
15:12:34 <elliott> 21:34:56 <Gregor> What's your favorite libc function?
15:12:39 <elliott> Gregor: Hey duuude I've asked that before.
15:14:23 <elliott> Gregor: My answer is: mmap, without contest.
15:14:25 <elliott> 06:32:08 * nooga wonder when they'll try to write cuby or cruby
15:14:38 <elliott> nooga: if you mean RubyRuby like PyPy, then it's called Rubinius.
15:18:15 <nooga> i know about Rubinius
15:18:43 <Sgeo> We are worms, we're the best, and we've come to win the war
15:19:30 <nooga> isn't cython that awkward language that looks like python mixed with C ?
15:22:33 <elliott> nooga: Doesn't seem that awkward to me.
15:23:30 -!- Goosey has joined.
15:28:57 <Phantom_Hoover> [[In the United States, summer vacation lasts for almost 3 months.]] — WP
15:29:02 <Phantom_Hoover> ...how?
15:29:26 <elliott> Vorpal: http://i.imgur.com/uwFQS.jpg LOL, SWEDEN
15:29:29 <Phantom_Hoover> Do they just not *have* Christmas and Easter holidays?
15:29:39 <elliott> Phantom_Hoover: Summer starts in JANUARY!
15:30:10 <Sgeo> Wait, elsewhere, summer doesn't last as long?
15:30:17 <Sgeo> Erm, vacation
15:30:21 * Sgeo suddenly wants to move
15:30:45 <Phantom_Hoover> Sgeo, it's around 2 months here, although it depends on the school.
15:32:27 <oerjan> "The United States does not have national holidays in the sense of days on which all employees in the U.S. receive a day free from work and all business is halted. The U.S. Federal government can only recognize national holidays that pertain to its own employees; it is at the discretion of each state or local jurisdiction to determine official holiday schedules. There are eleven such Federal holidays, ten annual and one quadrennial holiday.
15:33:05 <oerjan> which includes christmas day, but not anything easter.
15:33:43 <Phantom_Hoover> Sgeo, there are 2-week-long Christmas and Easter holidays, though/
15:33:55 <Sgeo> Spring break == Easter, right?
15:34:48 <Phantom_Hoover> I assume.
15:34:57 <Sgeo> So yeah, we have off
15:35:05 <Phantom_Hoover> There are also half terms of around a week.
15:36:01 <Phantom_Hoover> Multiple ones, actually.
15:37:36 <oerjan> i see some individual states have good friday, though
15:38:20 <Phantom_Hoover> oerjan, ask pikhq about US regulations about paid leave if you enjoy feeling smug.
15:38:43 <oerjan> heh
15:39:47 <oerjan> "Often, universities schedule spring break such that Saint Patrick's Day falls during the week in order to lessen the amount of partying and drinking on their campuses. Many K–12 institutions in the United States coincide their spring break with Easter and Passover. In New York and Connecticut, most students have spring break in April.
15:40:08 <oerjan> so it's not consistent
15:40:58 <oerjan> (quotes from http://en.wikipedia.org/wiki/Public_holidays_in_the_United_States and http://en.wikipedia.org/wiki/Spring_break)
15:47:20 -!- Sasha has quit (Read error: Connection reset by peer).
15:47:32 -!- Sasha has joined.
15:54:19 <elliott> Gregor: Does util-linux count as GNU software?
15:58:01 <Phantom_Hoover> I never cease to be amazed by the glurge people are taken in by.
15:58:33 <elliott> Phantom_Hoover: wut
15:59:14 <Phantom_Hoover> elliott, latest moronic Facebook campaign: "Put a cartoon character as your picture TO STOP CHILD ABUSE!!1111!!!"
15:59:28 <elliott> Ah yes.
15:59:41 <Phantom_Hoover> Of course, noöne bothers giving any /money/ or anything, it only matters that you show that you care.
15:59:43 <elliott> I hated that so much that I beat up my three kids into a bloody pulp and they screamed.
16:00:04 <Phantom_Hoover> And the fact that it seems to be for the NSPCC just paints another layer of revulsion on the thing.
16:00:17 <elliott> BLOODY
16:00:19 <elliott> PULP
16:00:22 <elliott> Also Sgeo for good measure.
16:00:55 <Sgeo> You turned kids into me?
16:00:56 -!- kar8nga has quit (Remote host closed the connection).
16:02:59 <elliott> Sgeo: No, I beat you into a bloody pulp.
16:07:02 -!- nopseudoidea has quit (Quit: Quitte).
16:10:09 * Phantom_Hoover beats Zuu into a bloody pulp.
16:12:06 <nooga> 16:22 < elliott> nooga: Doesn't seem that awkward to me.
16:12:14 <elliott> LOL HOLY CRAP OMG OMG OMG
16:12:21 <elliott> while ((entry = readdir(dir)))
16:12:21 <elliott> if (!rm(entry->d_name)) ok = 0;
16:12:23 <elliott> SPOT THE MOTHERFUCKING BUG
16:12:43 -!- p_q has quit (Quit: This computer has gone to sleep).
16:13:04 <nooga> when I propposed adding few higher level constructs to C You said that it'd be awkward without even bothering to listen what I came up with
16:13:22 -!- poiuy_qwert has joined.
16:13:25 <elliott> nooga: c is awkward
16:13:39 <nooga> and python is even more awkward and nazi
16:13:50 <nooga> if you connect c with python
16:13:55 <nooga> it must be awkward
16:16:12 <Phantom_Hoover> nooga, adding high-level constructs to C is completely missing the point.
16:16:17 -!- poiuy_qwert has quit (Client Quit).
16:16:29 <nooga> mmm
16:16:41 <Phantom_Hoover> It's a high-level assembler for an abstract machine, not a general-purpose language.
16:16:54 <nooga> it'd be rather like syntactic sugar to cover things we do all the time in C itself
16:18:03 <nooga> besides
16:18:24 <nooga> i don't think that guys at NeXT sompletely missed the point making Objective-C
16:19:25 <Phantom_Hoover> Which is why Objective C isn't just "C with some extra crap papier-mâchéd on" like C++.
16:20:54 <nooga> C++ is fugly
16:20:54 <Phantom_Hoover> Although it is to a significant degree.
16:21:06 <nooga> and thick
16:21:32 <nooga> Objective C is thin and feels almost like another preprocessor level over C
16:21:33 <Phantom_Hoover> Why on earth would you even include C as a subset of Objective-C anyway...
16:21:56 <Phantom_Hoover> It's such a stupid mentality.
16:22:09 <nooga> for porting, for example
16:23:22 <Phantom_Hoover> Porting what?
16:23:43 * Phantom_Hoover U-turns on Objective-C.
16:23:50 <Phantom_Hoover> Yes, it does miss the point entirely.
16:23:59 <nooga> well uh
16:24:34 -!- yorick has joined.
16:24:37 <nooga> imagine you're writing a car navigation system for iphone and you've got a library previously written in C that does almost everything
16:25:05 <yorick> nooga: you'd port it to brainfuck, ofcourse
16:25:19 <nooga> uh
16:25:34 <nooga> okay, Phantom_Hoover, you're right
16:26:46 <nooga> elliott: do you know some papers on lisp machine lisp and it's implementation?
16:26:56 <nooga> or any hardware lisp implementation?
16:26:59 <elliott> nooga: which type of lisp machine
16:27:49 <nooga> i remember something on MIT ones
16:29:09 <elliott> nooga: well i don't think too much was published about it
16:29:12 <elliott> since they were usually quite commercial
16:29:14 <elliott> but i think some stuff was
16:30:02 <elliott> gah, a reason to dislike bruce perens
16:30:04 <elliott> is nothing sacred any more?
16:30:25 <Phantom_Hoover> nooga, basically, when you say "portability" you mean "copying and pasting some C code into your Objective-C project".
16:30:30 <Phantom_Hoover> That is stupid.
16:30:52 <Phantom_Hoover> If you have C code and you want to interface it with an HLL, you should use an FFI.
16:30:57 <nooga> but works like a charm
16:32:53 <elliott> so does PHP
16:35:16 <Phantom_Hoover> nooga, OK, if you like poisoning your language's design and abstraction just so you can get a C library into it for slightly less effort, it's great.
16:36:18 <nooga> no, I exploit the design and abstraction AND use C library without hassle
16:39:01 <elliott> nooga: and you could get shit done in php, too
16:39:05 <elliott> it's just that you shouldn't.
16:39:16 <Phantom_Hoover> nooga, ...which is exactly what a good FFI does, without requiring you crowbar C into your language.
16:39:44 <nooga> what's the point!?
16:40:10 <nooga> Objective-C allows this and it's still pretty good C with 'cancer'
16:41:44 <elliott> Phantom_Hoover: why are you even bothering to argue, it's the same line from both sides forever
16:41:50 <elliott> neither of you are convincing the other
16:42:19 <Phantom_Hoover> elliott, surely you take a side in this? But yes, I'll leave it.
16:42:31 <elliott> Phantom_Hoover: When did I imply that I did not?
16:42:48 <Phantom_Hoover> elliott, misinterpretation.
16:42:55 <elliott> Okay.
16:43:01 <nooga> uh
16:43:46 * nooga shuts up and gets back to playing with hedgehog lisp
16:44:30 <Zuu> Phantom_Hoover, that wasnt nice, to beat me into a bloody pulp :(
16:44:47 <elliott> i did that, not him
16:44:51 <Phantom_Hoover> Zuu, aww. It's also no fun if you *respond*.
16:44:58 <elliott> oh, wait, maybe he did
16:45:02 <Zuu> how am i supposed to eat cookies now?
16:45:13 <Phantom_Hoover> sshc turned out to be an actual moron, so I can't pick on him...
16:45:36 <Phantom_Hoover> dbc, you are a disgusting little man and you should be ashamed of yourself.
16:45:44 <elliott> Phantom_Hoover: Hey, that's Daniel B. Cristofani.
16:45:44 <Zuu> could someone please lay a cookie on top of my bloody pulplike body?
16:45:56 <elliott> Phantom_Hoover: Of all the people to pick on, http://www.hevanet.com/cristofd/brainfuck/ is probably *not* the one :P
16:46:06 * Phantom_Hoover depulps Zuu.
16:46:20 <Phantom_Hoover> elliott, gyaaaaaaaah!
16:46:30 <elliott> Oh what the heck.
16:46:31 <Zuu> :D
16:46:44 <Zuu> Phantom_Hoover, did you have to shape me into an ashtray?
16:46:51 <elliott> oerjan: You eat pig dung for breakfast and put spikes in your own cranium on a daily basis! And you are a fascist!
16:47:00 <Phantom_Hoover> Leonidas, DON'T RESPOND TO THIS OR I WILL KILL YOU AND DON'T HAVE DONE ANYTHING COOL
16:47:00 <elliott> I call it "IRC Russian Roulette".
16:47:56 <Leonidas> uhm, sure
16:48:08 <elliott> "DON'T RESPOND TO THIS OR I WILL KILL YOU"
16:48:09 <elliott> "uhm, sure"
16:48:54 * Leonidas doesn't care that much ;)
16:50:13 * Phantom_Hoover beats Leonidas into a bloody pulp, then uses that to replace the bits of Zuu that got splattered.
16:50:43 <Phantom_Hoover> mycroftiv, unlike your namesake, you are wantonly lacking in any analytical or intellectual capabilities.
16:52:01 <Phantom_Hoover> Hey, Sgeo is still bloody pulp.
16:52:05 <Phantom_Hoover> Ah, who cares.
16:52:24 <nooga> IS THIS SPARTA?
16:52:30 <Sgeo> I think Phantom_Hoover is immortal
16:53:08 <Phantom_Hoover> Sgeo, there's no evidence to the contrary.
16:53:33 <elliott> Phantom_Hoover: mycroftiv is awesome
16:53:47 <Phantom_Hoover> elliott, you are sorely mistaken.
16:53:54 <elliott> Phantom_Hoover: i am not, he's a plan9 guy
16:54:08 -!- larsrh has joined.
16:54:43 <Phantom_Hoover> rodgort, what kind of a name is that? It sounds utterly stupid.
16:54:55 <Phantom_Hoover> Actually, I rescind that remark; it suits you perfectly.
17:07:10 -!- nooga has quit (Ping timeout: 240 seconds).
17:08:31 <elliott> I feel like implementing a simple Lua-esque language so I can do what PyPy did in it.
17:09:33 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
17:10:54 -!- Phantom_Hoover has joined.
17:10:55 -!- nopseudoidea has joined.
17:13:56 <elliott> in C, is *x[0] *(x[0]) or (*x)[0]? i've forgotten
19:13:19 -!- clog has joined.
19:13:19 -!- clog has joined.
19:13:43 <nooga> busybox will be precompiled and then the compiler suite inside the built system will be changed
19:13:57 <elliott_> nooga: BusyBox is not actually all that small.
19:14:01 <nooga> i know
19:14:02 <nooga> ;p
19:14:02 <elliott_> I'm packing stuff into much smaller space than it...
19:14:15 <elliott_> nooga: note that with busybox you CAN disable most stuff to get a small executable, but still, mine's smaller :P
19:14:24 <nooga> :P
19:14:32 <nooga> and what can it do so far?
19:15:11 <elliott_> nooga: false, true, yes, sleep, pwd, echo, dirname, basename, uname, signal, link, cat, date, chroot, env, vis, strings, cal, rm, kill, mkdir.
19:15:19 <elliott_> Pretty POSIX compliant.
19:15:45 <elliott_> 2083 yes
19:15:46 <elliott_> 6483 cat
19:15:46 <elliott_> 6615 date
19:15:46 <elliott_> 8775 kill
19:15:46 <elliott_> 9299 mkdir
19:15:52 <elliott_> nooga: Those sizes are in bytes, for independent executables.
19:15:53 * oerjan looks at http://en.wikipedia.org/wiki/Tom_Duff and thinks elliott_ might like the first quote there
19:16:15 <elliott_> nooga: The whole thing compiled into one executable, like BusyBox, is 20K or so (and could be made smaller with some optimisations that I'm doing now).
19:16:24 <elliott_> nooga: When UPX'd, it goes down to 15K.
19:16:35 <elliott_> oerjan: :D
19:16:50 <elliott_> oerjan: well it /was/ on the plan 9 mailing list
19:17:30 <elliott_> > > AFAIK there are no shared libraries in plan9?
19:17:30 <elliott_> > > Any ideas will they be available?
19:17:30 <elliott_> >
19:17:31 <elliott_> > Shared libraries are the work of the devil,
19:17:31 <elliott_> > the one true sign that the apocalypse is
19:17:31 <elliott_> > at hand. Seriously, they're good for two
19:17:33 <elliott_> > things,
19:17:35 <elliott_> huh !?!
19:17:36 <elliott_> well, three things for me...
19:17:38 <elliott_> first being the ability to share code between the application
19:17:40 <elliott_> hate to see gnome ported and get 20meg staticaly linked
19:17:43 <elliott_> simple CD player
19:17:45 <elliott_> Wow.
19:17:46 <elliott_> He wants to port GNOME to Plan 9.
19:17:48 <elliott_> There are no words.
19:18:09 -!- cheater99 has joined.
19:18:14 <Phantom_Hoover> Is that A Stupid Idea?
19:19:03 <elliott_> Phantom_Hoover: Considering that Plan 9 has its own, rather opinionated, very unique interface, and considering that GNOME is very ununixy -- big, bloated, no way to pass around simple text from program to program at all -- yes, yes it is.
19:19:33 <Phantom_Hoover> Sgeo, incidentally, why did you say you wanted to move here because the summer holidays were shorter?
19:19:43 <elliott_> nooga: Do you want the instructions and patches for a pcc/dietlibc toolchain? It is not very hard to get one working, and it produces exceedingly small executables.
19:22:15 <nooga> okay
19:22:49 <Vorpal> elliott_, hm, dynamic linking is useful for plugins
19:22:51 <nooga> i'd also need init :D
19:23:03 <Vorpal> elliott_, and for runtimes that can load "native" extensions, such as python
19:23:06 <Vorpal> that is about it
19:23:07 <nooga> busybox delivers that
19:23:13 <elliott_> nooga: You don't need init.
19:23:20 <elliott_> nooga: init can be a shell script on embedded systems.
19:23:26 <elliott_> #!/bin/sh
19:23:27 <elliott_> do set up
19:23:30 <elliott_> a little more set up
19:23:34 <elliott_> (wait forever)
19:23:36 <nooga> i'm too lazy to write one
19:23:42 <nooga> i will try with init for now
19:23:57 <elliott_> nooga: It's a shell script! You do realise that with BusyBox init you have to write init scripts to get it to do anything?
19:23:59 <elliott_> Vorpal: He says that in the post itself.
19:24:01 <nooga> my plan is to build something working and then strip it
19:24:06 <elliott_> Vorpal: But really, dynamic loading isn't dynamic linking.
19:24:16 <elliott_> nooga: Use sstrip. (BusyBox does that as part of the build process if you enable it.)
19:24:21 <Vorpal> elliott_, true, they are however related
19:24:26 <Sgeo> Phantom_Hoover, I hate summers
19:24:30 <elliott_> Vorpal: Dynamic linking is turning all linking into dynamic loading for no real reason.
19:24:31 <elliott_> Sgeo: why?
19:24:33 <Phantom_Hoover> Sgeo, why?
19:24:35 <Sgeo> I don't get out much during the summer
19:24:39 <Phantom_Hoover> Why?
19:24:47 <Phantom_Hoover> Climate?
19:24:56 <Vorpal> elliott_, to avoid linking huge libraries like QT or boost into everything?
19:25:07 <Sgeo> Phantom_Hoover, what would I do?
19:25:10 <nooga> http://macournoyer.com/blog/2009/02/12/tinyrb/ i wan this :D!
19:25:12 <nooga> want
19:25:16 <elliott_> Vorpal: That's a flaw in those libraries.
19:25:26 <Phantom_Hoover> Sgeo, what do you do normally in your free time?
19:25:34 <Sgeo> Go on the computer
19:26:04 <Sgeo> Yeah yeah, that's very unspecific. My interests vary
19:26:07 <elliott_> nooga: http://sprunge.us/UeSF Instructions. Obviously set K to some reasonable directory, and you probably want to replace $K/stage2 with whatever you want your cross-compiler toolchain's install directory to be.
19:26:10 <elliott_> nooga: http://sprunge.us/HWUO dietlibc-for-pcc.patch
19:26:17 <elliott_> nooga: http://sprunge.us/LDHW pcc-zero-malloc.patch
19:26:28 <elliott_> nooga: http://sprunge.us/DfEc pcc-libs-quad-dietlibc.patch
19:26:30 <Vorpal> elliott_, yes indeed. But we live in a world where they exist and are widely used
19:26:34 <elliott_> nooga: Get pcc and dietlibc from their respective CVS repositories.
19:26:45 <Vorpal> elliott_, it is not realistic to hope to replace all that for your linux distro
19:26:47 <elliott_> Vorpal: And we also exist in a world where we have huge disks that can afford to waste space on crappy programs linking to huge libraries.
19:26:54 <elliott_> Vorpal: So it's no issue!
19:27:48 <Sgeo> And Smalltalk's just fine in its own little world. Working with the outside world is completely unnecessary
19:27:56 <Vorpal> elliott_, perhaps
19:28:16 <elliott_> Vorpal: Sure, the disk bloat is unfortunate, but static linking also gets rid of a lot of headaches. And the programs that don't link to such huge libraries get smaller, so it's offset a bit. :)
19:28:28 -!- wareya has quit (Read error: Connection reset by peer).
19:28:42 <Vorpal> elliott_, how does it look for normal X programs?
19:28:55 <Vorpal> when it comes to static vs. dynamic binary size
19:28:57 <elliott_> Vorpal: Normal -- just libX11? Or GTK?
19:28:58 <Sgeo> Why not just do the dynamic thing, but manage the libraries properly?
19:29:03 <elliott_> Sgeo: HAHAAHAHHAHAHAHAHA
19:29:08 <Vorpal> elliott_, both would be interesting to know
19:29:14 -!- wareya has joined.
19:29:15 <elliott_> Sgeo: (1) Doing so is either impossible or meaningless depending on your meaning.
19:29:28 <elliott_> Sgeo: (2) If Quake II's binary were statically linked, it would not run on anything today.
19:29:32 <elliott_> It was compiled in 1997.
19:29:35 <pikhq> Vorpal: With Boost in particular, "dynamic linking" is a myth.
19:29:39 <elliott_> Because it is statically linked to the libc, it still works.
19:29:46 <elliott_> And Quake II is a fucking awesome game.
19:29:47 <elliott_> Q.E.D.
19:29:51 <elliott_> Vorpal: I haven't measured yet.
19:29:52 <pikhq> Vorpal: It uses templates heavily, making it effectively already statically linked.
19:29:56 <Vorpal> pikhq, quite
19:29:59 <Sgeo> elliott_, you must have meant "weren't"
19:30:05 <elliott_> Sgeo: Yes, yes.
19:30:06 <elliott_> weren't.
19:30:36 * elliott_ wonders what directory to install his recompiled pcc/dietlibc toolchain to.
19:30:41 <elliott_> /opt/toolchain? :p
19:30:45 <elliott_> pikhq: Wait, what's a triple again?
19:30:50 <elliott_> arch-kernel-libc?
19:31:28 <Vorpal> elliott_, you still use binutils?
19:31:32 <Vorpal> elliott_, if so: why on earth
19:32:01 <elliott_> Vorpal: I don't see how you can infer that from what I said.
19:32:12 <elliott_> Vorpal: But yes, I do; I have searched far and wide and cannot find a binutils alternative.
19:32:14 <pikhq> elliott_: architecture-evendor-os for a triple, architecture-evendor-kernel-userspace for a quad.
19:32:24 <Vorpal> elliott_, "pcc/dietlibc/<no linker was mentioned> toolchain"
19:32:27 <elliott_> The BSD binutils will undoubtedly be BSD-specific.
19:32:33 <elliott_> Vorpal: Got an alternative?
19:32:38 <pikhq> elliott_: So, "x86_64-pc-linux-dietlibc"...
19:32:50 <Vorpal> elliott_, not really no. I presume gold is even worse? Plus iirc it is part of binutils
19:32:55 <elliott_> pikhq: Irritating. I want something that has the compiler in it :P
19:32:59 <elliott_> Vorpal: "Even worse" how?
19:33:01 <elliott_> It's certainly faster.
19:33:10 <Vorpal> elliott_, I thought it was C++
19:33:11 <elliott_> But it produced executables a few bytes bigger for me, so nyah. :P
19:33:14 <pikhq> elliott_: The build tuple is all about specifying an ABI.
19:33:16 <elliott_> But yeah, it is part of binutils.
19:33:21 <pikhq> elliott_: The compiler has nothing to do with the ABI.
19:33:29 <elliott_> pikhq: Then what should I use for my pcc/dietlibc name eh?! NOBODY TAKES THIS INTO CONSIDERATION
19:33:31 <pikhq> elliott_: Except when it does.
19:33:33 <elliott_> /opt/pcc-dietlibc MAYBE but that's just weird.
19:33:38 <Vorpal> elliott_, gold produces binaries a few bytes bigger eh, what is the extra data?
19:33:50 <pikhq> elliott_: /opt/pcc-x86_64-pc-linux-dietlibc/
19:33:55 <elliott_> Vorpal: No idea, I didn't check; I just tried gold, noticed an inflation, and put it back :P
19:33:58 <elliott_> pikhq: Waay too long.
19:34:23 <pikhq> elliott_: Sorry, but that's what you get if you want anything more than "lol I only support one ABI".
19:34:41 <Vorpal> elliott_, but pcc is not related to the ABI?
19:34:48 <elliott_> Vorpal: No, it's not.
19:34:50 <Vorpal> you could have other compilers installed along side
19:34:53 <Vorpal> alongside*
19:34:53 <elliott_> But I still have to make an /opt directory :P
19:35:06 <elliott_> Vorpal: Yes, but I just want to denote "pcc and dietlibc" in a path name! STANDARDS SHOULD SUPPORT ME IN THIS ENDEAVOUR
19:35:11 <Vorpal> elliott_, so why not /opt/x86_64-pc-linux-dietlibc ?
19:35:24 <Vorpal> elliott_, but what difference does "pcc" there make
19:35:28 <Vorpal> since it doesn't affect ABI
19:36:14 <elliott_> I wonder why I have WANT_SSP enabled in my guide.
19:36:18 <elliott_> I wonder if it fixed something.
19:36:38 <elliott_> Vorpal: I could also call it /opt/linux, 'cuz it's running on linux.
19:36:42 <elliott_> But I'm trying to give it a relevant name :P
19:37:04 <elliott_> * check for valgrind, and if detected, turn off optimized SIMD string
19:37:05 <elliott_> * routines that cause false positives in valgrind. This enlarges and
19:37:05 <elliott_> * slightly slows down your code! */
19:37:12 <elliott_> HEY HEY I CAN TURN OFF VALGRIND SUPPORT AND GET SMALLER BINARIES
19:37:13 <elliott_> WOOOOOOOOOOOOOOOO
19:38:17 <elliott_> /* do you want smaller or faster string routines? */
19:38:19 <elliott_> Oh, don't do that to me...
19:38:28 <elliott_> I should probably go for faster, since it likely actually pays off here.
19:40:26 <Vorpal> elliott_, you know elliotOS, is it still "don't allow low level programming"?
19:40:41 <Vorpal> (outside the kernel parts that need it)
19:40:44 <elliott_> Vorpal: It's never been that exactly.
19:40:52 <elliott_> It's just that giving the low-level permission to anything is STOOPID :P
19:40:56 <elliott_> Vorpal: But sure, yes.
19:40:57 <oerjan> hm looks like criticism of nasa's arsenic bacteria is starting to roll in http://rrresearch.blogspot.com/2010/12/arsenic-associated-bacteria-nasas.html
19:41:14 <elliott_> Vorpal: (Synthesis-style stuff + specialisation = code that does stuff mapping directly to low-level things ends up doing them directly :P)
19:41:15 <elliott_> Vorpal: But why?
19:41:31 <Vorpal> elliott_, there are cases when it is useful (since I have yet to see a perfect compiler)
19:41:37 <Vorpal> number crunching mostly
19:41:58 <elliott_> Vorpal: good thing i'm writing the perfect compiler then
19:41:59 <elliott_> or should i say
19:42:00 <elliott_> SPECIALISER
19:42:47 <Vorpal> elliott_, yes sure, but will it automatically use GPGPU calculations when that is beneficial? ;P And when exactly *is* it beneficial?
19:43:07 <Vorpal> same goes for SIMD of course
19:43:19 <elliott_> Vorpal: there's no reason i can't expose an interface to the GPGPU that is checked at compile-time
19:43:27 <Vorpal> elliott_, ah good answer
19:43:52 <elliott_> Vorpal: same way I expose an interface to the CPU that is checked at compile-time :P
19:43:54 <elliott_> (with a compiler)
19:44:00 <Vorpal> sensible
19:44:54 <Vorpal> elliott_, and if an algorithm could make use of low level atomic operations with shared memory, would that be possible. That is of course somewhat tricky to check at compile time (shared memory I mean)
19:45:43 <elliott_> Vorpal: Perhaps not, but imagine an interface to shared memory with only safe optimisations, that is coded to manually use the low-level operations.
19:45:54 <Vorpal> elliott_, hm
19:45:59 <elliott_> Then when it's used by user code, calls are just "inlined" down in the assembly so it uses them directly.
19:46:26 <Vorpal> indeed, would probably work for many common situations
19:47:33 <elliott_> pikhq: #define WANT_FASTER_STRING_ROUTINES
19:47:36 <elliott_> pikhq: WHAT DO I DO WHAT DO I DO
19:47:40 <elliott_> pikhq: (they're BIGGER)
19:48:23 <elliott_> * lines from /etc/resolv.conf? Normally not used on boot floppies and
19:48:23 <elliott_> * embedded environments. */
19:48:25 <elliott_> er
19:48:28 <elliott_> /* do you want the DNS routines to parse and use "domain" and "search"
19:48:28 <elliott_> * lines from /etc/resolv.conf? Normally not used on boot floppies and
19:48:29 <elliott_> * embedded environments. */
19:48:30 <Vorpal> elliott_, profile :P
19:48:31 <elliott_> I think I can disable that
19:48:34 <elliott_> no reason not to just use "nameserver"
19:48:44 <elliott_> Vorpal: I know that one will be smaller but slower and the other will be bigger but faster.
19:48:54 <Vorpal> elliott_, so presumably bigger and faster
19:48:56 <elliott_> Vorpal: It's just that while I'm hideously devoted to small binary size, I don't want shit to go slowly :P
19:49:02 <elliott_> Yeah, I'll go bigger and faster for this one.
19:49:03 <Vorpal> elliott_, string routines is after all hot code
19:49:35 <elliott_> Huh. dietlibc's localtime can read /etc/localtime.
19:49:43 <elliott_> But fuck that, because you can just set $TZ.
19:49:49 <Vorpal> elliott_, um why not read that file
19:49:53 <elliott_> Vorpal: More koed.
19:50:01 <Vorpal> elliott_, since it needs to look up when DST changes anyway
19:50:09 <elliott_> Vorpal: Yes. That is in $TZ.
19:50:13 <Vorpal> elliott_, I mean, TZ=Europe/Stockholm
19:50:15 <Vorpal> then what
19:50:16 <elliott_> Vorpal: Fail.
19:50:27 <elliott_> Vorpal: That value violates POSIX.
19:50:32 <Vorpal> elliott_, I'm not going to change TZ two times / year :P
19:50:39 <Vorpal> elliott_, and you agreed that POSIX is stupid
19:50:40 <elliott_> Vorpal: Good.
19:50:41 <elliott_> You don't have to.
19:50:44 <elliott_> http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html
19:50:49 <elliott_> Vorpal: Scroll down to the bottom.
19:50:50 <Vorpal> elliott_, different countries change at different points
19:50:53 <elliott_> Note how $TZ handles DST.
19:51:01 <elliott_> Vorpal: IT GOES INTO THE $TZ VARIABLE YOU IDIOT
19:51:12 <elliott_> rule
19:51:13 <elliott_> Indicates when to change to and back from the alternative time. The rule has the form:
19:51:13 <elliott_> date[/time],date[/time]
19:51:13 <elliott_> where the first date describes when the change from standard to alternative time occurs and the second date describes when the change back happens. Each time field describes when, in current local time, the change to the other time is made.
19:51:13 <elliott_> The format of date is one of the following:
19:51:15 <elliott_> Jn
19:51:17 <elliott_> The Julian day n (1 <= n <= 365). Leap days shall not be counted. That is, in all years-including leap years-February 28 is day 59 and March 1 is day 60. It is impossible to refer explicitly to the occasional February 29.
19:51:21 <elliott_> n
19:51:23 <elliott_> The zero-based Julian day (0 <= n <= 365). Leap days shall be counted, and it is possible to refer to February 29.
19:51:26 <elliott_> Mm.n.d
19:51:29 <elliott_> The d'th day (0 <= d <= 6) of week n of month m of the year (1 <= n <= 5, 1 <= m <= 12, where week 5 means "the last d day in month m" which may occur in either the fourth or the fifth week). Week 1 is the first week in which the d'th day occurs. Day zero is Sunday.
19:51:30 <Vorpal> elliott_, that varies between years
19:51:32 <elliott_> The time has the same format as offset except that no leading sign ( '-' or '+' ) is allowed. The default, if time is not given, shall be 02:00:00.
19:51:49 <elliott_> Vorpal: No it doesn't.
19:51:56 <elliott_> DST changes are rare, and call only for a new $TZ.
19:51:59 <Vorpal> elliott_, in some countries it does
19:52:04 <elliott_> Vorpal: Not regularly.
19:52:23 <Vorpal> elliott_, Isral iirc used to have it decided on a year by year basis
19:52:33 <elliott_> Used to.
19:52:33 <Vorpal> Israel*
19:52:51 <elliott_> /opt/pcc-dietlibc it is.
19:52:59 <Vorpal> elliott_, what about 32-bit then
19:53:02 <Vorpal> elliott_, for multilib
19:53:54 <elliott_> Vorpal: What about it?
19:53:57 <elliott_> This is just for my Debian machine, duh.
19:54:02 <elliott_> On Kitten it'll be /bin/pcc and /lib/libc.a.
19:54:18 <Vorpal> elliott_, and the -m32 one? does it do that in the same binary?
19:54:28 <elliott_> Vorpal: What are you trying to say?
19:55:14 <Vorpal> elliott_, how will you support multilib on there. Since you need different libc and sometimes different compilers (depending on if the compiler supports -m32 or equiv)
19:55:36 <elliott_> Vorpal: multilib packages go into prefix /arch/archname.
19:55:41 <elliott_> I don't think pcc has -m32.
19:55:49 <elliott_> 32-bit dietlibc would go into /arch/x86/lib/libc.a.
19:56:12 <Vorpal> elliott_, shouldn't /bin symlink to /arch/<whatever>/bin ?
19:56:32 <Vorpal> elliott_, it would be kind of neat
19:57:03 <elliott_> pikhq: -rw-r--r-- 1 root root 864K Dec 5 19:55 libc.a
19:57:13 <elliott_> Vorpal: No; I briefly considered that and rejected it on the grounds of cluttering up /.
19:57:25 <elliott_> Vorpal: (If I could symlink / to /arch/<whatever>, that would be insane enough for me to consider it.)
19:57:27 <Vorpal> elliott_, also allow trivial change if you replace the CPU. Just update symlinks and the kernel. Change the disk to the new CPU (and possibly a new mobo), boot
19:57:41 <elliott_> Migrating CPU architecture NOT SUPPORTED :P
19:57:42 <Vorpal> elliott_, alas I believe that would present some problems
19:57:52 <Vorpal> elliott_, it SHOULD be because that would be COOL
19:57:57 <elliott_> There are non-x86 PCs, aren't there?
19:58:07 <Vorpal> elliott_, yes
19:58:08 <elliott_> i.e. obeying the PC standard in every way except that they have a PPC there instead.
19:58:12 <elliott_> Which is just silly :P
19:58:13 <Vorpal> hm
19:58:17 <elliott_> Vorpal: What's more fun is non-PC x86s.
19:58:23 <Vorpal> elliott_, indeed
19:58:29 <elliott_> Modern Macs aaaalmost manage to be that.
19:58:34 <Vorpal> elliott_, but this would work between 32/64 for the same arch at least
19:58:35 <elliott_> But since they can emulate a BIOS, not really.
19:58:43 <elliott_> Vorpal: Only if you recompiled everything first :P
19:58:47 <Vorpal> and if you made it work between, say, x86-64 and PPC32 then it would be awesome
19:58:54 -!- Mathnerd314 has joined.
19:59:08 <Vorpal> elliott_, nah, just install that other arch, change symlinks and kernel and reboot to new hardware
19:59:14 <Vorpal> elliott_, minimises downtime
19:59:35 <Vorpal> elliott_, also you can use a 64-bit kernel and a 32-bit userlamnd
19:59:36 <Vorpal> land*
19:59:42 <Vorpal> elliott_, even common on some arches iirc
19:59:52 <Vorpal> such as sparc iirc
19:59:57 <elliott_> Anyone want a precompiled pcc/dietlibc toolchain?
20:00:11 <elliott_> For x86-64/Linux.
20:00:14 <Vorpal> not really no
20:00:20 <elliott_> Anyone else? :P
20:00:26 <Vorpal> elliott_, make one targeting h8300-coff
20:00:31 <elliott_> Has to be put in /opt/pcc-dietlibc because dietlibc's diet wrapper knows what prefix it was built with.
20:00:34 <elliott_> Vorpal: No :P
20:00:47 <Vorpal> elliott_, but kitten for RCX sounds awesome
20:10:51 <elliott_> Fucking hell, more problems with false and true.
20:11:07 <elliott_> Oh! lol.
20:11:24 <elliott_> HA! dietlibc shrinkage.
20:11:27 <elliott_> 1591 yes
20:11:27 <elliott_> 1631 sleep
20:11:27 <elliott_> 1791 pwd
20:11:27 <elliott_> 1795 echo
20:11:27 <elliott_> 1831 dirname
20:11:44 <elliott_> 11,164 bytes saved in total.
20:11:48 <elliott_> 11K saved just by configuring the libc.
20:15:09 <elliott_> LOL OR MAYBE NOT
20:15:11 <elliott_> Sun Dec 5 20:14:31 [unknown timezone] 2010
20:18:10 <elliott_> 96809 total
20:18:12 <elliott_> Acceptable.
20:18:12 <Vorpal> elliott_, also it breaks if you want to refer to a previous date. Which timezone is in effect then when the time for the switch changed
20:18:41 <elliott_> Vorpal: It's okay, dietlibc doesn't support locales anyway. Oh wait, yes it does.
20:18:44 <elliott_> extern enum __encoding {
20:18:45 <elliott_> CT_8BIT,
20:18:45 <elliott_> CT_UTF8,
20:18:45 <elliott_> } lc_ctype;
20:18:48 <elliott_> It supports a whole two of them.
20:19:20 <Vorpal> elliott_, what about locale(1) next?
20:19:34 <elliott_> Or what about no!
20:19:44 <Vorpal> what does no(1) do?
20:20:16 <Vorpal> elliott_, have you done mount yet?
20:21:22 <elliott_> no(1) doesn't print out the string it's given, forever.
20:21:33 <elliott_> (Or, if you actually wanted to make a reasonable no, it'd be the same as "yes n" :P)
20:21:41 <elliott_> Vorpal: Haven't done mount yet, no.
20:21:51 <elliott_> Vorpal: I'm refactoring this to stop using .h for library functions and stuff.
20:22:05 <Vorpal> elliott_, what would it use instead?
20:22:06 <elliott_> And to use bitmasks for flags when I can, and have a bool type aliased to char, and the like.
20:22:12 <elliott_> Vorpal: What would what use instead?
20:22:14 <elliott_> Oh.
20:22:17 <elliott_> Vorpal: .c files :P
20:22:21 <elliott_> Vorpal: Right now, I have functions in .h files.
20:22:23 <elliott_> Actual functions.
20:22:26 <Vorpal> oh
20:22:26 <elliott_> Because it's convenient.
20:22:35 <Vorpal> elliott_, you mean the definitions?
20:22:40 <elliott_> (Making them .c would make my build system think they're utensils.)
20:22:43 <elliott_> Vorpal: Yes.
20:22:55 <Vorpal> elliott_, your build system needs work
20:23:08 <elliott_> Vorpal: It was a 2 minute hack :P
20:23:15 <elliott_> It also makes the box bigger than it should be, since the library stuff is duplicated.
20:23:42 <elliott_> Woo, my Makefile now isn't hideously specific to my setup and only my setup.
20:23:46 <elliott_> I have a config.make now.
20:23:55 <elliott_> (No, I will never use menuconfig.)
20:23:56 <elliott_> (Ever.)
20:24:18 <elliott_> I should move sstrip out of the root with the Makefile...
20:24:21 <elliott_> Maybe in tools/.
20:25:31 <elliott_> make: *** No rule to make target `bin/basename', needed by `individual'. Stop.
20:25:32 <elliott_> wut.
20:25:44 <elliott_> Ohh.
20:25:52 <elliott_> What it means is that my implicit rule has an unsatisfied dependency :P
20:26:16 <elliott_> Makefile:32: *** Recursive variable `CFLAGS' references itself (eventually). Stop.
20:26:18 <elliott_> Eventually :P
20:27:23 <elliott_> oerjan: you never answered my super-awesome question *sniff*
20:31:03 * nooga is patching tinyrb
20:32:48 <Vorpal> elliott_, you need to use := somewhere
20:33:00 <Vorpal> CFLAGS = $(CFLAGS) is what you have sooner or later currently
20:33:05 <Vorpal> you probably intended :=
20:33:05 <elliott_> I know
20:33:07 <elliott_> Vorpal: actually it's more like
20:33:10 <elliott_> CFLAGS = blah $(CFLAGS) blah
20:33:18 <Vorpal> indeed you need := then
20:33:26 <elliott_> is := portable across makes?
20:33:31 <elliott_> (I fixed it another way, just curious)
20:33:34 <Vorpal> elliott_, no clue
20:33:53 <Vorpal> elliott_, btw are you sure there are no nicer alternatives to C here?
20:34:12 <Vorpal> elliott_, isn't there that memory safe C
20:34:17 <Vorpal> forgot the name of it
20:34:20 <Vorpal> cyclone or somethong
20:34:22 <Vorpal> something*
20:34:23 <elliott_> Vorpal: I doubt any of them have a toolchain that produce binaries of similar tininess.
20:35:08 <Vorpal> elliott_, what about tcc
20:35:11 <elliott_> I think I should generate a Makefile with a script... since different utensils will have different dependencies from my library.
20:35:16 <Vorpal> elliott_, does it give larger binaries?
20:35:16 <elliott_> Vorpal: Does that do Cyclone?
20:35:22 <Vorpal> elliott_, no
20:35:27 <elliott_> Well then.
20:35:28 <Vorpal> but how does it compare to pcc
20:35:28 <elliott_> I haven't bothered measuring tcc since it supports so little.
20:35:32 <Vorpal> hm
20:36:02 <elliott_> Vorpal: Allow me to just say "Good luck compiling my sleep.c to less than 1791 bytes" :P
20:36:30 <elliott_> Vorpal: If a compiler somehow magically elided entries from the errno strings table that no syscall in the program could produce, that would make a few of my utilities a K or two smaller.
20:36:39 <elliott_> I could probably do it manually, but it's *way* more trouble than it's worth.
20:36:43 -!- p_q has joined.
20:37:09 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
20:38:47 <Vorpal> elliott_, perfect minimal hash of errno!
20:38:54 <Vorpal> (for only the entries you need)
20:39:08 <elliott_> No :P
20:39:12 <oerjan> elliott_: it is generally useless to try and force an opinion out of me if i don't actually have one
20:39:26 <elliott_> fine! i'll force one out of Vorpal
20:39:35 <Vorpal> elliott_, with regards to what?
20:39:43 <elliott_> Vorpal: if the box executable is called cutlery, and the individual programs are utensils, should the project be called cutlery or utensils?
20:39:50 <elliott_> i.e. is it "utensils.h" or "cutlery.h" for the library header
20:39:54 <Vorpal> elliott_, no idea. You decide
20:39:55 <elliott_> where the library is all the auxiliary functions some applets use
20:39:58 <elliott_> Vorpal: NOT HELPFUL :P
20:40:09 <Vorpal> elliott_, I find the names rather confusing as it is. Would certainly fit into ick
20:40:29 <elliott_> Vorpal: I started out with utility... utensils, and it's kind of blossomed from there :P
20:40:40 <Vorpal> elliott_, yes but I think it went too far
20:40:41 <elliott_> Previously the directory was ~/code/tools and the box was called "box", which was rather bland. :p
20:40:56 <elliott_> Vorpal: "busybox" -- the box isn't really BUSY!
20:41:01 <Vorpal> elliott_, kitchen drawer?
20:41:06 <Vorpal> (instead of box)
20:41:11 <elliott_> lawl
20:41:15 <elliott_> I think I'm calling the box cutlery.
20:41:27 <Vorpal> elliott_, whatever, it is up to you
20:41:34 <elliott_> HEY Gregor :P
20:41:41 <elliott_> I'll use gets if you don't decide.
20:42:19 <Gregor> cutlerybox, not box cutlery
20:42:29 <Vorpal> elliott_, also I'm kind of surprised that gcc or clang can't produce smaller code. Maybe they produce lots of useless stuff around?
20:42:34 <Vorpal> such as .eh_frame or such
20:42:47 <elliott_> Vorpal: I haven't tried clang, I doubt it will work with dietlibc in any way, shape or form :P
20:42:47 <nooga> it's sooo relaxing
20:42:49 <nooga> https://github.com/nooga/tinyrb
20:43:02 <nooga> impelemnting standard ruby classes in C
20:43:11 <elliott_> Gregor: If the box is cutlery and the individual programs are utensils, is the header file for all the auxiliary functions they use -- and thus the project -- named "utensils" or "cutlery"?
20:43:51 <Vorpal> Gregor, please please give elliott_ a third option :P
20:44:02 <Vorpal> elliott_, also what is with the _ ?
20:44:06 -!- elliott_ has changed nick to elliott.
20:44:09 <elliott> I got disconnected at one point.
20:44:12 -!- elliott has quit (Changing host).
20:44:12 -!- elliott has joined.
20:44:22 <Vorpal> elliott, ah, so you weren't going to justify it like ais
20:44:34 <Gregor> porknife.h
20:45:17 <Vorpal> Gregor, what is a porknife?
20:47:09 <elliott> Gregor: It's more what the project is named than what the header is named :P
20:47:11 <nooga> and then i will write a kernel in ruby
20:47:22 <elliott> nooga: Good luck with that, n00b :P
20:48:08 <Gregor> elliott: IWillCutYou.h
20:48:26 <nooga> elliott: i was completely serious :P
20:48:38 <elliott> Gregor: If you don't name the project either utensils or cutlery, I will use gets.
20:48:39 <elliott> On babies.
20:49:17 <Phantom_Hoover> babies = gets()
20:49:38 <elliott> Phantom_Hoover: gets(babise)
20:49:39 <elliott> *babies
20:49:58 <Gregor> elliott: cutlerybox
20:50:06 <elliott> "The compiler is based on the original Portable C Compiler by S. C. Johnson"
20:50:08 <elliott> A family company?
20:50:15 <Phantom_Hoover> XD
20:50:43 * Phantom_Hoover realises noöne else except him got that.
20:52:14 <elliott> Gregor: NOBODY SAYS "CUTLERY BOX"
20:52:35 <Gregor> elliott: Google gets 21K results
20:52:52 <elliott> Gregor: Notice that none of them are people :P
20:53:04 <Phantom_Hoover> elliott, "cutlery set".
20:53:12 <Gregor> elliott: They're all manufacturers of cutlery boxes!
20:53:17 <Gregor> Phantom_Hoover: But it has to end in "box"
20:53:17 <Vorpal> elliott, indeed. "cuboid unit for storage of tools related to food" is way more common
20:53:36 <elliott> Gregor: { #include "cutlery.h" } or { #include "utensils.h" }, pick ONE :P
20:53:50 <Vorpal> elliott, cutensils.h
20:53:58 <Phantom_Hoover> elliott, the first!
20:53:59 <Vorpal> best of both words
20:54:03 <Vorpal> and worlds
20:54:13 <Vorpal> elliott, or utenlery.h
20:54:18 <elliott> I said pick ONE.
20:54:21 <elliott> Phantom_Hoover: I asked Gregor :P
20:54:26 <Phantom_Hoover> For one thing, cutlery \subset utensils.
20:54:28 <Gregor> Mmmmmmmmmmmmmmmmmmmmmmmm
20:54:36 <Gregor> `run echo $(( RANDOM % 2 ))
20:54:37 <Vorpal> Phantom_Hoover, why not interleave the two words
20:54:57 <Vorpal> hm
20:54:58 <Phantom_Hoover> Vorpal, because that is just stupid and ruins the joke.
20:55:06 <Vorpal> Phantom_Hoover, exactly
20:55:07 <HackEgo> 0
20:55:12 -!- Sasha has joined.
20:55:13 <Gregor> elliott: cutlery it is
20:55:22 <nooga> elliott: why n00b?
20:55:34 <elliott> Gregor: Now pick one without the use of a random number generator!
20:55:40 <Vorpal> :D
20:55:42 <elliott> Phantom_Hoover: Nsils can't be cute, anyway.
20:55:43 <Gregor> elliott: cutlery
20:55:46 -!- Sasha2 has quit (Read error: Connection reset by peer).
20:55:49 <elliott> Gregor: Now pick one without the use of a random number generator!
20:56:03 <Gregor> elliott: slutlery
20:56:04 <elliott> I'm going to do this 1000 times and measure the # of each, and if they're equal, well
20:56:08 <elliott> RNG :P
20:56:15 <elliott> Gregor: TOTALLY.
20:56:18 <elliott> I'll go with slutlery.
20:56:18 <Vorpal> elliott, he did. He used a *pseudo-random* number generator
20:56:28 <elliott> Vorpal: HITLER DID THAT.
20:56:40 <Vorpal> elliott, what? Use PRNGs?
20:56:43 <Vorpal> maybe
20:56:44 <elliott> Yes.
20:57:25 <elliott> Hmm, I should specify dependencies in the first line of the source.
20:57:29 <elliott> Like,
20:57:40 <elliott> /** parsemode.c foo.c blah.c **/
20:57:42 <elliott> To get those linked in.
20:57:58 <elliott> And then I can generate a makefile based on those.
20:58:12 <Vorpal> elliott, does pcc not support generating dependency info
20:58:14 <Vorpal> like gcc does
20:58:28 <elliott> Vorpal: You mean -M and the like?
20:58:31 <elliott> To get header dependencies?
20:58:36 <Vorpal> elliott, yeah that might be the switch
20:58:36 <elliott> There's one header for all the library C files.
20:58:39 <elliott> There's one header for all the library C files.
20:58:42 <elliott> So I can't do that :P
20:58:45 <Vorpal> hm okay
20:59:09 <elliott> Vorpal: Since I'm "statically linking" (actually just passing the C file to the compiler as well as the program) these, I basically need one or two functions per file.
20:59:13 <elliott> And I don't want 45895798347589345 headers :P
20:59:15 <Vorpal> elliott, also if all go into the same binary surely you want to do LTO?
20:59:31 <elliott> Vorpal: IIRC -O1 made stuff go lolbreak when I tried it.
20:59:34 <elliott> Or just had no effect.
20:59:36 <elliott> I forget which.
20:59:43 <Vorpal> elliott, is that LTO?
20:59:54 <elliott> What is LTO, then, for binutils ld? :P
20:59:57 <Vorpal> elliott, or do you mean -Wl,-O1? which is completely different
21:00:00 <elliott> Yes.
21:00:05 <Vorpal> elliott, you need gold for it iirc
21:00:08 <elliott> Vorpal: Not -Wl, I passed it directly to the linker.
21:00:17 <Vorpal> elliott, anyway -O1 there is just optimising symbol tables or something iirc
21:00:22 <Vorpal> for faster lookup
21:00:27 <elliott> Well, I don't have any symbol tables :P
21:00:31 <Vorpal> indeed
21:00:58 <Vorpal> elliott, but you want LTO surely?
21:01:08 <elliott> Vorpal: I doubt it could help me.
21:01:14 <elliott> And I doubt there are any tools that will work with my toolchain that can do that.
21:01:22 <Vorpal> elliott, might when you link all into the same box binary
21:01:30 <Vorpal> or when you have larger ones
21:01:33 <Vorpal> like mount or sed
21:01:41 <elliott> Vorpal: Go on, then, name a tool.
21:01:49 * Phantom_Hoover laments the absence of any nice spaceflight simulators.
21:01:52 <Vorpal> elliott, I'm no pcc-expert
21:01:55 <elliott> Phantom_Hoover: EVE? :P
21:02:01 <Phantom_Hoover> Sure, there are plenty of good space combat sims.
21:02:05 <elliott> Vorpal: You can't be a pcc expert, it's just a cc :P
21:02:26 <Vorpal> elliott, well, what about writing an llvm backend for pcc
21:02:30 <Phantom_Hoover> But no (portable) ones that actually simulate a spaceship as one might work in real life.
21:02:34 <Vorpal> (yes absurd)
21:02:40 <elliott> Vorpal: Yeahno :P
21:02:46 <elliott> I don't think LLVM has much in the way of size optimisation anyway.
21:02:48 <Vorpal> Phantom_Hoover, xplane can do it iirc
21:02:56 <Vorpal> Phantom_Hoover, for the space shuttle
21:03:01 <Phantom_Hoover> Also, EVE is a mumorpeger and I refuse to play it on principle.
21:03:06 <elliott> Vorpal: Anyway LLVM is C++.
21:03:10 <elliott> And huge.
21:03:15 <Vorpal> true
21:03:22 <elliott> Vorpal: And I doubt it does static linking. :P
21:03:25 <elliott> 100000000000000000TB clang
21:03:29 <Vorpal> elliott, not sure
21:03:39 <Vorpal> elliott, and not more than a few hundred MB
21:04:25 <Vorpal> Phantom_Hoover, of course xplane is... xplane. More of a flight sim than a space sim. But it can do the space shuttle from ground to landing again iirc
21:04:26 <elliott> static void barfx(char *who)
21:04:26 <elliott> barfu(who)
21:04:28 <elliott> ^ barfx.c
21:04:30 <elliott> Guess how that works :P
21:04:45 <Vorpal> Phantom_Hoover, and there is xplane for linux. Still not free or such
21:04:53 <Phantom_Hoover> "Or such".
21:05:10 <Vorpal> Phantom_Hoover, aka, getting it through a bay or similar
21:05:32 <Vorpal> elliott, there is a macro in there
21:05:45 <elliott> Vorpal: Indeed. barfu is
21:05:46 <elliott> #define barfu(who) \
21:05:46 <elliott> { \
21:05:46 <elliott> char *errstr = strerror(errno); \
21:05:46 <elliott> write(2, who, strlen(who)); \
21:05:47 <elliott> write(2, ": ", 2); \
21:05:48 <elliott> write(2, errstr, strlen(errstr)); \
21:05:50 <elliott> write(2, "\n", 1); \
21:05:53 <elliott> }
21:05:55 <elliott> Look ma, I'm avoiding code duplication :P
21:05:59 <Phantom_Hoover> Vorpal, a... bay...?
21:06:01 <Vorpal> elliott, why the macro
21:06:18 <Vorpal> Phantom_Hoover, such as a pirate one yes. Off the coast of Somalia iirc
21:06:23 <elliott> Vorpal: Because if you only call it once it's smaller than a function according to my measurements.
21:07:01 <Vorpal> elliott, wait what, doesn't pcc elide a static non-called function if it inlined it for all calls?
21:07:10 <Phantom_Hoover> Vorpal, wait, a piece of commercial software that hasn't been pirated?
21:07:19 <Vorpal> Phantom_Hoover, what. Where did I say that
21:07:23 <elliott> Vorpal: I have no idea. The different was the matter of a few bytes.
21:07:25 -!- kar8nga has joined.
21:07:34 <Vorpal> elliott, sounds like pcc fails at inlining :P
21:07:58 <elliott> Vorpal: Perhaps, but it wins at turning carefully-written sources into smaller binaries than gcc.
21:08:10 <elliott> int parsemode(char *str, mode_t old)
21:08:11 <elliott> int?! What waste!
21:08:13 <Vorpal> elliott, specialcased for pcc no doubt
21:08:16 <elliott> Modes could fit into a short!
21:08:20 <elliott> Vorpal: No, not really.
21:08:29 <elliott> Vorpal: I don't have anything "silly" in here.
21:08:41 <Vorpal> elliott, that will only slow you down. In general 16 bit wide registers are slower to access on modern x86-64 iirc
21:08:48 <Vorpal> I seem to remember that in intel's docs
21:09:01 <elliott> Vorpal: But it *will* make the binary smaller.
21:09:14 <Vorpal> elliott, not if it isn't a variable that wide
21:09:21 <elliott> Vorpal: Eh?
21:09:24 <Vorpal> elliott, or you save on a shorter instruction
21:09:34 <elliott> I'll meeaaaasuuuuure :P
21:09:38 <Vorpal> (since x86 is mad and uses variable width instructions)
21:09:56 * elliott goes through and s/int/unsigned/ everywhere he can
21:10:05 <elliott> (Quicker to divide on some CPUs!)
21:11:11 <Vorpal> elliott, slower on other ones
21:11:34 <Vorpal> elliott, iirc AMD and Intel gave contradictory recommendations for that when it came to the core2/k8 generations
21:11:43 <Vorpal> I don't know about current suggestions
21:12:20 <Deewiant> On x86-64 the 16-bit instructions have longer encodings
21:12:38 <Vorpal> ah yes
21:12:54 <Vorpal> Deewiant, you need a prefix-byte right?
21:13:07 <Deewiant> Yep, I think that's all
21:13:26 <Vorpal> elliott, written sort(1) yet?
21:13:45 <elliott> Vorpal: No, I'm busy making my build system not suck.
21:13:57 <Vorpal> elliott, if it uses int where it should use size_t it would possibly crash on data files larger than 4 GB. But the binary would be smaller
21:14:13 <Vorpal> elliott, which do you think is most important: size or correctness?
21:14:17 <elliott> Vorpal: I don't use size_t :P
21:14:22 <Vorpal> elliott, which do you think is most important: size or correctness?
21:14:27 <elliott> Vorpal: It depends.
21:14:36 <Vorpal> elliott, can you elaborate on that?
21:14:42 <Vorpal> elliott, what about the example I gave
21:14:54 <elliott> Correctness if a plausible scenario exists in which incorrectness would break something. So for files that could be quite big reasonably, yes, use a bigger type.
21:15:05 <elliott> If it's, say, /etc/localtime, no, that is not going to be 4 gigs.
21:15:10 <Vorpal> indeed
21:15:24 <Vorpal> elliott, will you do that for stuff like sort(1)?
21:16:02 <elliott> Vorpal: I'll have to see.
21:16:09 <elliott> If I was REALLY size-obsessed, I would write in asm. :P
21:16:20 <Vorpal> elliott, also: which sorting algorithm. heapsort?
21:16:32 <elliott> Vorpal: Probably qsort, because it's in libc.
21:16:46 <Vorpal> elliott, but is that quicksort or something else?
21:16:58 <elliott> It's MEANT to be qsort, I believe :P
21:17:00 <elliott> *quicksort
21:17:18 <Vorpal> elliott, but that has worst case O(n²) complexity
21:17:31 <elliott> Indeed. Nobody cares unless it's a network service.
21:17:51 <Vorpal> elliott, but what about my shell CGI script!?
21:18:05 <elliott> Vorpal: Why do you let people input 4 gigs?
21:18:13 <elliott> (Or any size big enough that n^2 matters :P)
21:18:28 <Vorpal> elliott, because
21:18:33 <elliott> Because?
21:18:36 <Vorpal> yes
21:18:40 <elliott> Okay. :P
21:18:59 <Vorpal> elliott, next you will say you will use backtracking regexps instead of a DFA
21:19:06 <elliott> Vorpal: Now that I won't do.
21:19:33 <Vorpal> elliott, but nobody cares unless it is a network service ;P
21:19:50 <elliott> Vorpal: Backtracking regexps are also more code. :P
21:20:06 <Vorpal> elliott, true
21:22:48 <Vorpal> elliott, will you use the standard fsck or write your own?
21:23:31 <elliott> Vorpal: Standard, probably; after all, they're usually in separate filesystem packages.
21:23:54 <Vorpal> elliott, but fsck is just a thin wrapper that calls fsck.foo
21:24:06 <elliott> Vorpal: Yes, but it figures out what filesystem type it is, doesn't it?
21:24:09 <Vorpal> elliott, same as mount calls mount.<foo> for many <foo>
21:24:09 <nooga> indeed, n00b
21:24:17 <Vorpal> (not for all foo)
21:24:25 <elliott> Vorpal: True enough.
21:24:36 <elliott> Vorpal: Although I might unify all mounts if I can get away with it.
21:24:40 <Vorpal> elliott, but there is mount.fuse, mount.nfs, mount.nfs4, mount.ecryptfs an a few more here
21:24:47 <Vorpal> (here = thinkpad)
21:25:05 <elliott> Hmm, the /*@ prefix is splint, isn't it?
21:25:11 <elliott> So I should probably use /*$ instead for my metadata lines.
21:25:17 <Vorpal> elliott, it is a lot of things. Could be doxygen too
21:25:21 <Vorpal> elliott, or frama-c
21:25:46 <Vorpal> elliott, /*$Id$*/
21:25:59 <Vorpal> elliott, probably not an issue for you
21:26:00 <elliott> Vorpal: If it's a lot of things, then no issue adding another!
21:26:02 <elliott> $ is kinda ugly. :P
21:26:27 <Vorpal> elliott, mot of those tools will throw errors when encountering those kind of strings for the other tools
21:26:36 <Vorpal> elliott, why not /*% ?
21:26:53 <Vorpal> elliott, or /*#
21:27:15 <Vorpal> wait, doxygen is /*@{*/ for blocks. But otherwise it is /** */
21:27:17 -!- zzo38 has joined.
21:27:30 <Vorpal> splint is @, frama-c is @
21:27:36 -!- Wamanuz3 has joined.
21:27:36 <Vorpal> elliott, thus, yeah avoid those two
21:27:37 <elliott> Vorpal: I'm just going to use @ :P
21:27:44 <elliott> I don't intend to use splint since it sucks.
21:27:49 <elliott> I don't intend to use frama-c since... I just don't.
21:27:49 <Vorpal> elliott, but frama-c?
21:27:56 <Vorpal> elliott, why not. It is awesome
21:28:01 <elliott> Vorpal: Formally verified coreutils! Awesome! And useless. :P
21:28:21 <Vorpal> elliott, not useless. NUCLEAR REACTORS
21:29:01 <elliott> Vorpal: Dear god,
21:29:05 <Vorpal> elliott, also remember formally verified standard card game, in case they get bored
21:29:13 <elliott> please do not let any nuclear reactors be built whose software runs on Unix.
21:29:15 <elliott> Thanks,
21:29:17 <elliott> -a unix developer
21:29:25 <elliott> Hmm, can you say "all but first and last fields" in cut?
21:29:29 <elliott> All but first is easy.
21:29:44 <Vorpal> elliott, not sure. I use awk
21:29:52 <Vorpal> (not really)
21:29:52 <elliott> Vorpal: awk doesn't make that easy either :p
21:29:54 <elliott> You need a for loop.
21:29:57 <Vorpal> elliott, I know
21:30:00 <Vorpal> elliott, it was a joke
21:30:04 <elliott> Yeah.
21:30:15 <Vorpal> elliott, first AND last is easy
21:30:18 <Vorpal> $1,$NF
21:30:23 <zzo38> I just do not like the input format of Frama-C. I think it should instead involve some automatic and some commands inserted inline in the C code, such as assert() and assume() and so on.
21:30:40 <Vorpal> zzo38, that would mess up compiling it
21:30:42 <zzo38> And then be able to convert a data flow diagram into a new chapter for the program.
21:30:45 -!- Wamanuz2 has quit (Ping timeout: 240 seconds).
21:30:47 <Vorpal> which is *why* it goes into comments
21:30:53 <Vorpal> ......
21:31:04 <Vorpal> (this discussion is pointless probably)
21:31:18 <elliott> Vorpal: /msg
21:31:35 <fizzie> For "short foo1(short a) { return a + 1; }" and "int foo2(int a) { return a + 1; }", gcc -Os generates absolutely identical code ("leal 1(%rdi), %eax; ret"); in any case switching from int to short in general doesn't sound like it's likely to save in binary size (except maybe for initialized constants); run-time memory use, maybe.
21:31:47 <zzo38> Vorpal: It will not mess up compiling it if you do something like this: #ifndef __FRAMA_C__ #define assert(x) #define assume(x) #endif
21:32:02 <elliott> s!/\*@needs: !g
21:32:05 <elliott> Why the heck is this invalid sed...
21:32:11 <elliott> It says that the s command is unterminated.
21:32:20 <fizzie> It's s///, not s//.
21:32:22 <zzo38> You need three !
21:32:53 <zzo38> Probably (I think)
21:32:58 <Vorpal> elliott, also perhaps you need to hide the ! from the shell
21:33:08 <Sgeo> Weird dream just now
21:33:13 <elliott> fizzie: Oh, yes.
21:33:19 <elliott> Sgeo: You just slept?
21:33:22 <Sgeo> Was in a fire, mamahed to put it out and survive
21:33:25 <Sgeo> elliott, napped
21:33:37 <Vorpal> "mamhed"?
21:33:38 <Vorpal> what
21:33:44 <nooga> managed
21:33:49 <Vorpal> ah probably
21:33:50 <Sgeo> Fire burned my foot, leaving a ... window like injury
21:33:58 <Sgeo> As though my foot was hollow
21:34:01 <nooga> Sgeo: take your computer and run, maybe your home is on fire
21:34:45 <Phantom_Hoover> Maybe his ActiveWorlds house is on fire!
21:34:52 <nooga> 22:28 < elliott> please do not let any nuclear reactors be built whose software runs on Unix.
21:34:56 <nooga> 22:28 < elliott> Thanks,
21:34:56 <nooga> then on what?
21:34:59 <nooga> 22:28 < elliott> -a unix developer
21:34:59 <Vorpal> Phantom_Hoover, I doubt activeworlds does anything that interesting
21:35:03 <Vorpal> nooga, QNX maybe
21:35:05 <Vorpal> or similar
21:35:15 <Vorpal> or even custom from the bottom
21:35:17 <nooga> ah right, one of those RTOSes
21:35:18 <zzo38> No, it needs to be a specially designed operating system
21:35:26 <Vorpal> nooga, formally verified probably
21:35:33 <Phantom_Hoover> zzo38, you think all problems should be solved with that!
21:35:55 <nooga> uhm
21:35:57 <Vorpal> Phantom_Hoover, what
21:36:02 <Vorpal> Phantom_Hoover, that makes sense in this case
21:36:14 <Phantom_Hoover> Vorpal, it's a general statement!
21:36:18 <nooga> automatics usually run on special controllers
21:36:25 <nooga> without advanced OSes
21:36:47 <Vorpal> yeah
21:36:49 <Sgeo> Except for centrifuges in Iran
21:36:54 <nooga> :D
21:36:59 <nooga> SIEMENS FTW
21:37:12 <Vorpal> what, I missed that? what did they do?
21:37:18 <nooga> i've studied automatics and robotics but it was extremely boring
21:37:22 <zzo38> Phantom_Hoover: What do you mean, I think all problems need to be solved, with what?
21:37:24 <nooga> so i switched to computer science
21:37:47 <Phantom_Hoover> zzo38, writing a new OS!
21:38:11 <Sgeo> Vorpal, got hit with a nation-state piece of malware designed specifically to hit those centrifuges. It used Windows exploits
21:38:16 <Vorpal> huh
21:38:17 <nooga> i wonder who programs NASA's spaceships
21:38:21 <Sgeo> nation-state authored
21:38:22 <Vorpal> Sgeo, wtf
21:38:26 <Sgeo> Vorpal, look up Stuxnet
21:38:28 <nooga> this must be the coolest job ever
21:38:41 <Vorpal> nooga, you mean, the core memory
21:38:59 <Vorpal> nooga, the space shuttle flight computers uses core memory
21:39:16 <elliott> <nooga> then on what?
21:39:17 <elliott> nooga: RTOS.
21:39:21 <nooga> primitive and failsafe
21:39:28 <Vorpal> nooga, no, just old
21:39:33 <elliott> Nuclear reactor == you do NOT ever have your monitor software NOT active.
21:39:35 <nooga> but failsafe
21:40:07 <nooga> well explored and not that vulnerable
21:40:29 <fizzie> The "nation-state authored" bit of Stuxnet is pure speculation, basically based on Kaspersky Labs saying "oh, it's so clever, it must've been built by a country".
21:40:52 <nooga> nuclear reactor is not very special from automatics point of view
21:40:57 <fizzie> While Symantec on the other hand "estimates that the group developing Stuxnet would have been well-funded, consisting of five to ten people, and would have taken six months to prepare".
21:41:11 <nooga> it may be dangerous if ill-treated
21:42:01 <Vorpal> fizzie, also they must have known exactly what hardware was used there
21:42:04 <elliott> echo "$needs" | sed 's!^/\*@needs: !!g; s! \*/$!!g; s!^\| !\0lib/!g'
21:42:07 <elliott> Fuck yeah, shell script!
21:42:23 <nooga> elliott: i like how esoteric it looks at first glance
21:42:29 <fizzie> Vorpal: Well, it's basically a heuristic.
21:42:35 <elliott> sed is esoteric :P
21:42:38 <Vorpal> fizzie, indeed
21:43:00 <nooga> TECO is
21:43:00 <Vorpal> fizzie, but they had to know it was Siemens not some other manufacture
21:43:23 <Vorpal> sed, esoteric?
21:43:26 <fizzie> Also only two models of frequency converters it attacks, so yes.
21:43:32 <Vorpal> not the s/// comand
21:43:34 <Vorpal> command*
21:44:08 <fizzie> And I'm not sure it'd be a good idea to put NASA programmers to build nuclear reactor automation; we'll get another Ariane 5.
21:45:29 <Vorpal> only if we use nasa managers I suspect
21:46:01 <nooga> avionics is harder to handle than a stupid tank of water with radioactive poles inside and few steam turbines
21:46:19 <nooga> bunch of pumps and sensors, nothing special imho :D
21:48:16 <Sgeo> What's wrong with Ariane 5?
21:48:34 <nooga> it explodes?
21:49:12 <Vorpal> well, one did
21:51:27 <elliott> But explosions are COOL!
21:51:50 <Vorpal> it was as self-destruct sequence
21:51:53 <Vorpal> a*
21:52:28 <Vorpal> http://en.wikipedia.org/wiki/Ariane_5#Notable_launches <--- lots and lots of issues
21:52:49 <nooga> it ran on beta
21:53:02 <nooga> because they f^&^& up the deadline
21:53:09 <elliott> bin/cal: lib/ultostr.c
21:53:10 <elliott> bin/%: bin/%.c | lib/cutlery.h tools/sstrip
21:53:10 <elliott> @echo ' CC $@'
21:53:11 <elliott> @$(CC) $(CFLAGS) $^ -o $@
21:53:11 <elliott> @if [ "$(strip)" = 1 ]; then tools/sstrip $@; fi
21:53:14 <elliott> annoyingly this doesn't work
21:53:19 <elliott> because it treats bin/cal as a separate rule to bin/%
21:53:26 <elliott> pikhq: fix it :P
21:53:57 <Vorpal> elliott, :: ?
21:54:01 <Vorpal> elliott, I seem to remember that
21:54:04 <Vorpal> for the first one
21:54:13 <elliott> I'll try it :P
21:54:21 <Vorpal> elliott, might be GNU ONLY
21:54:22 <Vorpal> not sure
21:54:26 <elliott> Vorpal: So is everything else I'm doing.
21:54:39 <Vorpal> elliott, also not sure it does what I think
21:54:47 <elliott> What I'm doing here proves that you can use make for a configurable, portable, clean build system without any Makefile generators -- just as long as you're willing to go insane.
21:55:05 <elliott> Vorpal: No, deosn't work. What :: is for is adding new commands to existing rules.
21:55:15 <Vorpal> elliott, ah, not new deps
21:55:16 <Vorpal> hm
21:55:24 <elliott> The problem is just that bin/% != bin/cal, even though the former matches :P
21:55:53 <Vorpal> elliott, maybe make bin/% depend on obj/%.o then add it in there?
21:56:15 <elliott> Vorpal: I'd rather not call the compiler twice.
21:56:21 <Vorpal> elliott, okay
21:56:21 <elliott> Slows down the build.
21:56:37 <elliott> Vorpal: Anyway, it still wouldn't help because obj/%.o still isn't the same as obj/foo.o for any foo :P
21:57:04 <Vorpal> elliott, what is the | for in that line?
21:57:22 <Vorpal> I don't remember what that does
21:57:25 <elliott> Vorpal: Dependency-only dependencies. :P
21:57:29 <elliott> Vorpal: It doesn't appear in $^.
21:57:31 <Vorpal> ah
21:57:38 <elliott> Obviously I don't want to send sstrip and the header to cc.
21:57:50 <elliott> Vorpal: Btw.
21:57:51 <elliott> ifeq ($(shell [ -e deps.make ]; echo $?),0)
21:57:51 <elliott> include deps.make
21:57:52 <elliott> endif
21:57:52 <elliott> >:D
21:58:02 <Vorpal> hah
21:58:12 <elliott> Otherwise I get a nasty error when including deps.make when it doesn't exist.
21:58:17 <elliott> Makefile: deps.make
21:58:17 <elliott> deps.make: $(sources)
21:58:17 <elliott> @tools/gendeps >$@
21:58:19 <elliott> makes sure it's generated.
21:58:20 <Vorpal> elliott, but isn't there some other way to do it?
21:58:26 <Vorpal> I seem to remember there is
21:58:27 <elliott> Vorpal: Probably, but I don't know what it is :P
21:58:50 <elliott> Hmm, I could add dependency-tracking to the actual CC line.
21:58:55 <elliott> i.e. instead of
21:58:57 <elliott> @$(CC) $(CFLAGS) $^ -o $@
21:58:58 <elliott> I could do
21:59:00 <Vorpal> elliott, that would break make -j2
21:59:09 <Vorpal> no?
21:59:14 <elliott> $(CC) $(CFLAGS) $< `tools/depsfor $<` -o $@
21:59:21 <Vorpal> elliott, would break make -j2
21:59:21 <elliott> Vorpal: No, because I never build the lib/foo.c files.
21:59:26 <elliott> Only as part of the programs.
21:59:28 <elliott> No it wouldn't.
21:59:30 <elliott> See above.
21:59:33 <Vorpal> elliott, what about if you change those files
21:59:40 <Vorpal> elliott, would it rebuild properly
21:59:43 <Vorpal> without make clean all
21:59:55 <elliott> Vorpal: bin/%: bin/%.c $(shell tools/depsfor $<)?
21:59:57 <Vorpal> elliott, if not you might just as well use ant
22:00:04 <elliott> See above.
22:00:06 <Vorpal> elliott, I have no clue if that would work
22:00:09 <Vorpal> try it?
22:00:11 <elliott> I'll try it.
22:00:16 <elliott> Wait, it wouldn't.
22:00:32 <elliott> Because $< isn't in scope at that point and I can't say "tools/depfor bin/%.c" obviously.
22:00:52 <Vorpal> elliott, hm. so what does other build systems do?
22:01:22 <Vorpal> elliott, why not a makefile generator?
22:01:26 <elliott> Vorpal: Not encode dependencies inside the source file? (BusyBox actually does this, and encodes Kconfig options (!) in there too, but then it uses Kconfig. It is a rather big build system.)
22:01:30 <elliott> Vorpal: I DO have a Makefile generator!
22:01:34 <elliott> It just generates deps.make.
22:01:38 <elliott> Vorpal: Or do you mean I should have
22:01:41 <elliott> bin/foo: bin/foo.c
22:01:43 <elliott> for EVERY single foo/
22:01:45 <elliott> *foo?
22:01:46 <elliott> With all the actions?
22:01:48 <Vorpal> elliott, I mean it might be time to consider one
22:01:54 <elliott> If so: dude, that Makefile would be massively redundant and huge.
22:01:58 <elliott> Vorpal: I. am. using. one.
22:01:59 <elliott> tools/gendeps.
22:02:02 <elliott> It generates deps.make.
22:02:15 <Vorpal> elliott, okay so go read the manual then
22:02:21 <Vorpal> to find out if it is possible
22:02:22 <elliott> Vorpal: The Make manual? I have.
22:02:29 <Vorpal> elliott, the info page yes
22:02:58 <elliott> Vorpal: Um, the make manual is not maintained as an info page.
22:03:03 <elliott> It is a texinfo manual. http://www.gnu.org/software/make/manual/make.html
22:03:07 <Vorpal> elliott, well indeed
22:03:13 <Vorpal> but the info page is one form of it
22:03:16 <elliott> Anyway, that really doesn't help me.
22:03:49 -!- TLUL has joined.
22:03:57 <Vorpal> elliott, http://www.gnu.org/software/make/manual/make.html#Multiple-Rules ?
22:04:28 <elliott> Vorpal: Doesn't help when one rule is implicit.
22:04:56 <elliott> "If none of the explicit rules for a target has a recipe, then make searches for an applicable implicit rule to find one see Using Implicit Rules)."
22:04:58 <elliott> GNU quality English
22:05:22 <Vorpal> elliott, that made more sense when you saw the hyperlink :P
22:05:26 <nooga> lol
22:05:43 <elliott> Yes, but ")".
22:05:47 <elliott> And no ; after "find one".
22:05:58 <Vorpal> elliott, you mean missing ( before see
22:06:05 <Vorpal> that seems more likely
22:06:27 <Vorpal> elliott, is this any use? http://www.gnu.org/software/make/manual/make.html#Static-Pattern
22:06:55 <elliott> Maaaybe.
22:07:19 <elliott> Nope, just tried it :P
22:07:33 <Sgeo> Maybe I'll watch some DS9
22:08:34 <Phantom_Hoover> Sgeo, please stop liveblogging!
22:09:00 <Sgeo> Phantom_Hoover, I have no intentions to start deadblogging, if it's all right with you
22:09:07 <Vorpal> whaaat
22:09:21 <Vorpal> Sgeo, irc is not twitter
22:09:31 <Vorpal> ("<Sgeo> Maybe I'll watch some DS9" seemed to fit that)
22:10:09 <nooga> sexps are boring
22:10:15 * oerjan drinks some orange juice
22:10:20 <Sgeo> Learn mexps!
22:10:31 <Sgeo> Or um
22:10:38 <Sgeo> Whatever it was that it was supposed to be
22:13:41 <Phantom_Hoover> Sgeo, MEXPs?
22:14:07 <Phantom_Hoover> The things SEXPs were meant to implement but ended up replacing?
22:14:47 <elliott> Dear make: if a file does not exist, it is *NOT* up to date.
22:15:02 <elliott> Especially if the target is not phony.
22:15:09 <elliott> You are not Holden Caulfield.
22:15:13 <elliott> You do not consider every target phony.
22:17:22 -!- kar8nga has quit (Remote host closed the connection).
22:18:40 <Sgeo> Phantom_Hoover, yes
22:19:56 <elliott> WHAT THE FUCK ARE YOU DOING MAKE
22:20:05 <elliott> Considering target file `bin/basename'.
22:20:05 <elliott> File `bin/basename' does not exist.
22:20:05 <elliott> Pruning file `bin/basename.c'.
22:20:05 <elliott> Finished prerequisites of target file `bin/basename'.
22:20:05 <elliott> Must remake target `bin/basename'.
22:20:05 <elliott> Successfully remade target file `bin/basename'.
22:20:07 <elliott> Okay.
22:20:09 <elliott> That makes no sense.
22:22:45 <Vorpal> elliott, I like how rsync --stats writes stuff like: "123M bytes"
22:23:16 <elliott> heh
22:23:18 <elliott> M bytes.
22:23:56 <Vorpal> elliott, Mi bytes would be even funnier.
22:24:11 <Vorpal> so you have Do bytes, Re bytes and Mi bytes
22:24:15 <Vorpal> obviously
22:25:39 <elliott> Do, a deer, a female deer.
22:25:41 <elliott> *Doe,
22:26:01 <Vorpal> elliott, must be male. First name is John after all
22:26:17 * oerjan swats Vorpal -----###
22:26:58 <Vorpal> oerjan, oh did I steal your joke?
22:26:59 <elliott> Vorpal: Ray, a drop of golden sun. So cubic time, then, is solar.
22:27:05 <elliott> <Vorpal> oerjan, oh did I steal your joke?
22:27:07 <elliott> THE OFFENCE!
22:27:14 <Vorpal> elliott, :D
22:27:19 <Vorpal> (wrt cubic time)
22:27:19 <elliott> Vorpal: btw, I got it working.
22:27:22 <elliott> bin/basename: bin/basename.c ; $(utensil)
22:27:25 <elliott> Bunch of lines like that now.
22:27:31 <Vorpal> elliott, meaning... ?
22:27:34 <elliott> Vorpal: Did you get the Ray -> Gene Ray reference that makes that make any sense at all? :P
22:27:37 <Vorpal> elliott, the ; $() stuff I mean
22:27:45 <Vorpal> elliott, yes it was obvious
22:27:49 <elliott> Vorpal: ; lets you start the commands for a rule. It's like \n\t.
22:27:53 <elliott> Except without the newline or tab.
22:27:59 <Vorpal> elliott, once I hit "cubic time" it was obvious
22:28:02 <elliott> define utensil
22:28:02 <elliott> @echo ' CC $@'
22:28:02 <elliott> @$(CC) $(CFLAGS) $^ -o $@
22:28:02 <elliott> @if [ "$(strip)" = 1 ]; then tools/sstrip $@; fi
22:28:02 <elliott> endef
22:28:04 <oerjan> Vorpal: well i'm apparently supposed to punish _other_ people's bad puns. i have no idea why...
22:28:08 <elliott> That should answer the $() bit.
22:28:12 <Vorpal> oerjan, huh
22:28:19 <Vorpal> elliott, define....
22:28:21 <elliott> oerjan: state-sanctioned monopoly, duh
22:28:22 <Vorpal> make has that?
22:28:28 <oerjan> elliott: ah.
22:28:29 <elliott> Vorpal: It's like = except multi-line.
22:28:35 <elliott> Vorpal: Did I mention you can make macros that take parameters?
22:28:39 <elliott> $(call func,arg1,arg2,arg3).
22:28:43 <elliott> Make is insane.
22:28:45 <elliott> Well, GNU make.
22:29:01 <Vorpal> what. this OCR-ed selection and copy text fails
22:29:07 <Vorpal> "¥qC :4roär̆L W ̆4r;x̆rVC̆̈ C qKCr;̈C : ̆4r ̆r» r ¤r"
22:29:28 <Vorpal> really: "Using, for example, the Sierpinski trangle"
22:29:29 <oerjan> the sun is actually a cube. it just looks round because the light is bent by gravity.
22:29:35 <elliott> Vorpal: :D
22:29:51 <Vorpal> elliott, this is annoying, I wanted to copy this stuff here
22:29:52 <elliott> Vorpal: btw
22:29:54 <elliott> _print_%:
22:29:55 <elliott> @echo $($*)
22:29:55 <elliott> useful rule.
22:29:56 <Vorpal> elliott, it was from SIGBOVIK
22:30:00 <Vorpal> and rather funny
22:30:03 <elliott> for src in $(make --no-print-directory _print_sources); do
22:30:06 <elliott> -- tools/genrules
22:30:29 <Vorpal> elliott, RECURSIVE MAKE?
22:30:30 <Vorpal> sinner
22:30:52 <elliott> Vorpal: No...
22:30:57 <Vorpal> ah phew
22:31:09 <elliott> Vorpal: Well. Yes. Make calls tools/genrules, which calls make again to do _print_sources.
22:31:14 <elliott> However, that is the only way it is recursive :P
22:31:25 <elliott> _print_sources just... prints $(sources), as you can see in the rule definition above.
22:31:35 <Vorpal> elliott, this paper discusses fractal footnotes
22:31:43 <elliott> :D
22:31:52 <Vorpal> elliott, well, what did you expect with SIGBOVIK
22:32:03 <elliott> Oh yeah, Vorpal is a SIGBOVIK expert.
22:32:06 <elliott> So is everyone in here.
22:32:09 <Vorpal> elliott, indeed :P
22:32:16 <elliott> It totally isn't oerjan's linking yesterday that gives him this expertise, no no :P
22:32:29 <oerjan> _absolutely_ not.
22:32:32 <Vorpal> elliott, oh I wondered why the tab was open in my browser
22:32:38 <elliott> CC bin/cal
22:32:39 <elliott> bin/cal.c:
22:32:39 <elliott> lib/ultostr.c:
22:32:39 <elliott> CC bin/cat
22:32:42 <elliott> What... what kind of error is that.
22:32:44 <Vorpal> (seriously, I had no clue)
22:32:49 <Vorpal> (and read it and found it interesting)
22:32:54 <elliott> "Hey you! Something went wrong in this file! What went wrong is ."
22:32:57 <elliott> "Any questions?"
22:33:15 <oerjan> Vorpal: the 2007 conference was apparently where wikiplia was announced
22:33:21 <Vorpal> oerjan, indeed
22:33:27 <elliott> $ /opt/pcc-dietlibc/bin/diet -Os /opt/pcc-dietlibc/bin/pcc -Wall -Ilib -Wl --gc-sections bin/cal.c lib/ultostr.c -o bin/cal
22:33:28 <elliott> bin/cal.c:
22:33:28 <elliott> lib/ultostr.c:
22:33:28 <elliott> NOT
22:33:29 <elliott> HELPFUL
22:33:43 <Vorpal> oerjan, this is "Level-of-Detail Typesetting of Academic Publications"
22:34:57 <elliott> Vorpal: so tell me vorpal
22:35:07 <elliott> how do i have an array declared in a header file that is statically initialised in a .c file including that header
22:35:11 <elliott> i've never been able to figure that one out
22:35:24 <zzo38> Do you like to join help with 'Charities for poor people and monsters with names starting with "A"'?
22:35:34 <Vorpal> elliott, also wonderful idea to fit infinite amount of text into a page based on halving the typeface (same way as one of Zeno's paradoxes iirc)
22:35:45 <oerjan> Vorpal: that rings a bell, i think that was one of tom7's other contributions the same year?
22:35:47 <Vorpal> elliott, you mean:
22:35:51 <Vorpal> extern foo[];
22:35:52 <Vorpal> in the header
22:35:55 <elliott> oerjan is secretly tom7
22:35:55 <Vorpal> well
22:35:58 <elliott> Vorpal: oh, just doing extern makes it work?
22:35:59 <Vorpal> extern int foo[];
22:36:05 <Vorpal> elliott, then int foo[] whatever
22:36:07 <Vorpal> in the file
22:36:10 <elliott> 97521 total
22:36:11 <elliott> *cry*
22:36:12 <Vorpal> elliott, extern in the header yes
22:36:22 <elliott> Somehow doing "cc foo.c bar.c" is bigger than "cc foo.c" where foo.c includes bar.c.
22:36:27 <elliott> Of course I did have to remove a lot of "static"s...
22:36:31 <oerjan> elliott: no but i read that blog post i also linked yesterday (i haven't actually read the SIGBOVIK site)
22:36:37 <Vorpal> elliott, well obviously due to poor compiler
22:36:42 <Vorpal> elliott, you want gcc --combine
22:36:45 <Vorpal> then it can do that
22:36:51 <Vorpal> elliott, pcc probably can't do it
22:38:55 <elliott> Vorpal: Or I could compile stdin, and use cat.
22:38:55 <elliott> :D
22:39:26 <elliott> Actually, I can probably have a LIBRARY define that's done like
22:39:30 <elliott> #ifdef INDIVIDUAL
22:39:33 <elliott> #define LIBRARY static
22:39:35 <elliott> #else
22:39:36 <elliott> #define LIBRARY
22:39:37 <elliott> #endif
22:39:46 <elliott> and in each source file
22:39:48 <elliott> #ifdef INDIVIDUAL
22:39:54 <elliott> #include "lib/foo.c"
22:39:55 <elliott> #endif
22:40:05 <elliott> that way, I can still get stuff combined in box builds
22:40:10 <elliott> but use static in individual builds
22:40:47 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:41:01 <Vorpal> hah the sigbovik proceedings pdf has a disclaimed about LaTeX allergies
22:41:10 <Vorpal> mixing up latex and LaTeX
22:41:10 <elliott> bin/cal.c:
22:41:11 <elliott> lib/ultostr.c:
22:41:11 <elliott> lib/cutlery.h, line 22: syntax error
22:41:14 <elliott> I hate you, pcc.
22:41:17 <Phantom_Hoover> God, I love pretentious YouTube commenters.
22:41:21 <elliott> I'm going to add a DEBUG=1 that uses gcc :P
22:41:26 <Phantom_Hoover> [[This is what our species is capable of at our highest form of endeavor. Even if all of us can’t create and compose like this, thank God our humanity links every human being to it.]]
22:41:30 <Phantom_Hoover> Guess the video!
22:41:30 <Vorpal> elliott, clang gives better errors
22:41:41 <elliott> Phantom_Hoover: LazyTown: The Ukulele Cover
22:41:46 <elliott> Vorpal: gcc gives acceptable errors.
22:41:47 <Phantom_Hoover> elliott, no, but close.
22:41:51 <elliott> Phantom_Hoover: What then?
22:41:54 <Sgeo> Never Gonna Give You Up
22:41:59 <Phantom_Hoover> It's the theme from Cinema Paradiso.
22:42:22 <Vorpal> elliott, "gcc: line 22: expected } " "clang: line 12: you maybe forgot a ; here. Look here is the line and an arrow to where I think it should be"
22:42:22 <Phantom_Hoover> Sgeo, then it would be evidently tongue-in-cheek.
22:42:41 <Phantom_Hoover> In this context, it's clear they're entirely serious.
22:42:44 <Vorpal> elliott, the different line numbers were intentional
22:42:46 <elliott> Vorpal: I'm used to gcc.
22:42:52 <elliott> Vorpal: I can sling it.
22:42:54 <elliott> :p
22:42:55 <Vorpal> elliott, yes but it sucks when it comes to syntax errors
22:42:57 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:42:58 <Vorpal> seriously sucks
22:43:01 <Sgeo> Gah
22:43:15 <Sgeo> This assignment is not worth the two seconds needed to type it
22:43:16 <elliott> Vorpal: Better than "syntax error".
22:43:24 <Sgeo> Maybe the two seconds Googling for the main idea
22:43:36 <elliott> I don't think you're meant to google
22:43:38 <elliott> :P
22:43:38 <Sgeo> But still, I really, really don't want to open a text editor, type some code, etc.
22:43:42 <Vorpal> elliott, okay that is true
22:43:56 <Sgeo> She only taught us the existence of XOR swapping, not how to do it
22:44:02 <elliott> Good.
22:44:03 <Sgeo> Although now that I saw it, it seems obvious
22:44:04 <elliott> XOR swapping is evil.
22:44:15 <oerjan> what is the sound of one XOR swapping
22:44:15 <Sgeo> The assignment is to do XOR swapping
22:44:26 <elliott> Sgeo: Any specification on what to do if x==y? ;)
22:44:34 <elliott> Also, congrats for not being able to figure out xor swapping yourself X_X
22:45:32 -!- poiuy_qwert has joined.
22:45:36 <elliott> Vorpal: Quick! What do you do if a header mentions mode_t, but not every including source file will have included a header that defines mode_t?
22:45:50 -!- p_q has quit (Read error: Connection reset by peer).
22:46:04 <Vorpal> elliott, include the relevant header in the header using it
22:46:16 <Vorpal> elliott, that should always be done
22:46:21 <elliott> Vorpal: BZZT! You never include headers from inside headers.
22:46:22 <elliott> Ever.
22:46:24 <elliott> There are no exceptions.
22:46:36 <Vorpal> elliott, so stddef.h might not be included if you need NULL?
22:46:37 <elliott> Including headers inside headers is the sole reason include guards exist.
22:46:40 <elliott> And include guards are evil.
22:46:42 <Vorpal> they why does stdio do it
22:46:45 -!- poiuy_qwert has quit (Client Quit).
22:46:53 <elliott> Vorpal: "Gee, how can this be bad? Modern Unix does it!"
22:47:14 <Vorpal> elliott, guards are good because the alternative: having to figure out what headers you need, is worse. Especially if that header is updated and now needs more stuff
22:47:23 <Vorpal> then everything you wrote is broken
22:47:26 <elliott> Vorpal: The correct thing (as done in Plan 9, which just so happens to have the inventors of C on board) is to make people including the header also include its dependencies.
22:47:27 <Vorpal> elliott, sure guards are suboptimal
22:47:30 <elliott> By documenting them.
22:47:38 <Vorpal> elliott, and what if you want to add more
22:47:51 <Vorpal> elliott, actually you should just do #use module stdio
22:47:52 <Vorpal> or such
22:47:55 <elliott> Vorpal: Then you break compatibility, duh. Adding dependencies always breaks compatibility.
22:48:20 <elliott> Anyway it's not so clear in my case because not every program wants to include <sys/stat.h>.
22:48:41 <Vorpal> elliott, not necessarily for headers. And just recompiling it is better than having to change code and then recompile it
22:49:03 <Vorpal> elliott, you could always split it in 10 different header files
22:49:09 <zzo38> Why don't you do it in the way that Enhanced CWEB does it? It does differently including header file and other things.
22:49:11 <Vorpal> like: "foo_that_needs_sys_stat.h
22:49:13 <Vorpal> "
22:49:15 <Vorpal> and so on
22:49:17 <elliott> Vorpal: Did I mention that Plan 9 source code compiles much faster, not just because of the better-designed C compiler, but because there are no include guards?
22:49:42 <Vorpal> elliott, I'm not sure I see that benefit as that much more important
22:49:44 <zzo38> And in Enhanced CWEB, you can use change files to make system dependent changes.
22:49:51 <Vorpal> elliott, also include guards is a tiny bit of it
22:50:04 <Vorpal> elliott, seriously check the clang stats on what is cpp and what is cc
22:50:05 <elliott> Vorpal: Actually, no, it was a significant amount of time.
22:50:16 <Vorpal> elliott, then your cpp is weird
22:50:16 <elliott> Vorpal: OK, so clang have a super-optimised cpp :P
22:50:19 <elliott> "Good for them!"
22:50:30 <elliott> Vorpal: Can the inventors of C really be said to implement C in a weird way?
22:50:34 <elliott> Word of god and all that.
22:50:36 <Vorpal> elliott, point is, with C you should use include guards. A module system would be better
22:50:49 <Vorpal> elliott, yes. No one is perfect.
22:50:54 <elliott> You are wrong. Enjoy being wrong!
22:50:59 <zzo38> It is possible to do the C preprocessor and C compiler all together in one pass.
22:51:15 <elliott> Ugh, busybox just includes every header ever in libbb.h.
22:51:17 <Vorpal> elliott, but then why did you ask me
22:51:25 <elliott> Vorpal: Perverse curiosity?
22:51:51 <Vorpal> elliott, include guards are suboptimal. But yes I suggest they should be used. Actually I will force you to use #pragma once
22:52:06 <elliott> Vorpal: #import
22:52:10 <zzo38> Vorpal: In Enhanced CWEB, you should use a metamacro or PicoC code to tell it not to require adding include guards.
22:52:11 <Vorpal> elliott, or that
22:52:17 <Sgeo> elliott, XOR swapping seems to work just fine when the values are the asme
22:52:18 <Sgeo> same
22:52:39 <Vorpal> zzo38, I do. not. care. about enhanced cweb
22:52:42 <elliott> Sgeo: By the same I mean X has-same-storage-location-as Y.
22:52:46 <Sgeo> Oh
22:53:07 <Vorpal> also why xor swap. That is kind of pointless on modern systems.
22:53:17 <zzo38> Vorpal: Why? Surely it will do these things you are trying to do.
22:53:24 <Vorpal> a more traditional swap will probably be compiled into xchg
22:53:42 <Vorpal> zzo38, it is not a plain C compiler. Also it is C.
22:53:45 <Vorpal> I don't like C
22:54:13 <elliott> Vorpal: Some day I will pull out everything you have ever said about Linux being awesome and C being awesome and garbage collectors being for people who can't manage their own memory from the logs.
22:54:16 <elliott> And I will paste them all.
22:54:19 <elliott> And you will suffer :P
22:54:27 <Vorpal> elliott, there is this thing called "change opinion over time"
22:54:34 <Vorpal> elliott, you surely done that yourself
22:54:37 <elliott> Hmm, maybe one day I'll talk only in old AnMaster log quotes and see if I can get Vorpal arguing with his past self >:)
22:54:42 <elliott> Vorpal: NO MY OPINIONS ARE IMMUTABLE BECAUSE I AM HASKELL
22:54:45 <zzo38> Vorpal: Enhanced CWEB is not a C compiler at all, actually. You still need a C compiler. And it can work with C++ as well, in case you prefer to use C++.
22:54:57 <Vorpal> elliott, I'm the State monad :P
22:55:08 <Vorpal> or even St
22:55:11 <elliott> I have no gonads. I mean monads.
22:55:12 <elliott> *ST.
22:55:15 <elliott> Also more like IO.
22:55:16 <Vorpal> elliott, or why not STT
22:55:18 <Vorpal> that sounds awesome
22:55:23 <elliott> Vorpal: No no no no no no.
22:55:25 <Sgeo> Am I an opinion slut?
22:55:28 <Vorpal> elliott, yes yes yes!
22:55:28 <elliott> Vorpal: There is a very good reason that does not exist :P
22:55:33 <elliott> Vorpal: Specifically, time travel.
22:55:37 <Vorpal> elliott, yes!
22:55:42 <Vorpal> elliott, we invented a time machine!
22:55:45 <Vorpal> (as I suspected)
22:56:06 <Vorpal> elliott, hm is there a StateT?
22:56:08 <elliott> Not as fun as IOT!
22:56:14 * Sgeo decides he'd rather do the assignment right before class begins
22:56:24 <Vorpal> <Sgeo> Am I an opinion slut?
22:56:25 <Vorpal> wait
22:56:37 <elliott> do c <- savePoint; takeOverGovernmentComputers; readLine; restorePoint c
22:56:39 <Vorpal> elliott, I think Sgeo got self-uh... self-something
22:56:45 <elliott> SWAT team outside your door?
22:56:46 <Vorpal> elliott, awesome
22:56:47 <elliott> Just press enter!
22:57:13 <oerjan> Yes Vorpal, there is a StateT
22:57:21 <Vorpal> oerjan, right, that works of course
22:57:23 <elliott> oerjan: :D
22:57:25 <elliott> Vorpal: whoosh
22:57:56 <Vorpal> elliott, hm? doesn't it? I though StateT would not involve time travel
22:57:59 * Vorpal checks
22:58:03 <elliott> whoooooosh
22:59:02 <Vorpal> elliott, you confuse me
22:59:18 <Vorpal> elliott, it does exist. Just because it can exist doesn't mean someone coded it.
22:59:18 <elliott> oerjan: the man confuses himself
22:59:32 <elliott> Vorpal: whoooooooooooooooooooooooooooooooooooooooosh
22:59:40 <elliott> gale force whoosh
22:59:49 <Vorpal> elliott, you make no sense
23:00:15 <oerjan> elliott: He has been affected by the skepticism of a skeptical age.
23:00:24 <elliott> oerjan: i blame science
23:00:29 <Vorpal> night →
23:00:39 <elliott> Vorpal: well to be fair
23:00:52 <elliott> Vorpal: TO be FAIR
23:00:55 <Vorpal> it is midnight. I will have to wake up in 6 hours.
23:00:58 <Vorpal> now night →
23:01:01 <elliott> Vorpal: you are a mere insect, an ant, in his intellect.
23:01:07 <elliott> ok that didn't work :D
23:02:23 <Ilari> Looking at amount of of allocations at or above /14 from APNIC in last 30 days: 4x/14s, 2x/13s, 3x/12s and 1x/11...
23:03:31 <Ilari> That's equivalent to 7Mi addresses (~44% of block).
23:04:32 -!- Sasha2 has joined.
23:05:18 <oerjan> Ilari: i saw something on reddit about ICANN projecting to run out in january
23:05:43 <Ilari> If they burn half of a block per month and they have 3.52 blocks unallocated, the present allocation would suffice only for 7 months, which would allow immediate allocation.
23:05:47 -!- Sasha has quit (Read error: Connection reset by peer).
23:06:03 <Sgeo> oerjan, linky?
23:06:19 <Ilari> Oh, and I saw some RIPE executive predicting exhaustion this month.
23:06:35 <oerjan> Sgeo: it was actually a horribly translated blogspam link, i'd try to find something better
23:07:44 <Ilari> Even at 0.44 blocks / month, it would be 8 months (immediate request would be within policy).
23:10:47 <Ilari> Some say that regardless that APNIC could request blocks (triggering X day) immediately, they won't do it before year is over.
23:29:01 -!- zzo38 has quit (Remote host closed the connection).
23:36:46 -!- TLUL has changed nick to TLUL|afk.
23:37:31 <mycroftiv> every computer is a theorem proving machine and every program output is a proved theorem; do godel's theorems place any practical limits on the functionality application writers can deliver?
23:37:54 <mycroftiv> (outside of the specific domain of mathematicians who want computers to prove their theorems for them, of course)
23:39:40 <mycroftiv> speculation triggered by this: http://richardelwes.co.uk/2010/10/21/concrete-incompleteness-1/
23:40:34 <oerjan> you might want to look at the halting problem, which is very similar to godel's theorem but more directly for computation.
23:40:51 <mycroftiv> of course im aware of the halting problem :|
23:41:34 <oerjan> they're both diagonalization proofs. you can probably also prove each in terms of the other.
23:42:17 <elliott> hi mycroftiv
23:42:21 <elliott> are you talking because we mentioned you
23:42:43 <mycroftiv> sure, nowadays godel's proofs are often presented mostly in programming terms because they can be stated more easily and intuitively that way
23:42:53 <elliott> they are?
23:42:54 <mycroftiv> theres actually been a long standing conflict on wikipedia over that issue
23:43:24 <elliott> hmph basename() is broken
23:44:05 <mycroftiv> elliott: the fact that my nick was used in this channel reminded me that I ought to be participating because this channel is pretty great
23:44:07 <elliott> oh wait nm :D
23:44:19 <elliott> mycroftiv: it is the best of channels. also the blurst
23:44:32 <elliott> mycroftiv: in case you are blind to the exceedingly obvious i'm ehird
23:44:41 <oerjan> mycroftiv: well in any case there are lots of undecidable programming problems which reduce to the halting problem
23:44:44 <elliott> and i'm very disappointed that my box has reached 30K
23:44:56 <mycroftiv> elliott: i actually figured that out 'awhile ago' when just passively reading the log
23:45:11 <elliott> mycroftiv: creepy :P
23:45:24 <elliott> eurgh, i feel so ill
23:46:03 <elliott> mycroftiv: so with my troll hat firmly on, how big is plan 9's dirname executable, on x86-64? (i forget, they have x86-64 support, right? :P)
23:46:09 <elliott> wait, they don't do they
23:46:39 <mycroftiv> oerjan: the thing that has me interested in this is the claim that incompleteness-related issues are becoming more relevant to 'practical questions', loosely defined
23:46:57 <mycroftiv> elliott: the amd64 port i believe is still unreleased, much to many people's irritation
23:47:51 <oerjan> mycroftiv: as for practical questions you'd also want to look at complexity. there are many problems which are "decidable" yet infeasible to solve in practice
23:48:06 <elliott> mycroftiv: 'cuz you see i'm on linux... and my dirname is 1831 bytes
23:48:18 <elliott> what about false and true, i bet they're more than... say... 248 bytes even on i386 right?
23:48:18 <oerjan> P vs. NP and stuff
23:48:24 <elliott> i may have gone slightly crazy space-optimising these utilities
23:48:38 <elliott> slightly.
23:48:58 <mycroftiv> elliott: well plan 9 executables arent usually very small because everything is statically linked, not dynamically
23:49:27 <oerjan> and EXPTIME and other higher that are _known_ to be infeasible, not just conjectured to be so
23:49:32 <oerjan> *higher ones
23:50:24 <elliott> mycroftiv: this is static
23:50:34 <elliott> the sizes i'm quoting
23:52:15 <oerjan> *higher complexity classes
23:53:24 <mycroftiv> elliott: well the plan 9 basename is 37919 but that is pretty close to the minimal size for a plan 9 binary built with just the libc
2010-12-06
00:03:08 -!- TLUL|afk has changed nick to TLUL.
00:08:26 -!- FireFly has quit (Quit: swatted to death).
00:15:42 <elliott> mycroftiv: hmm, does plan 9 not link only the parts of libc that the program uses?
00:20:51 <elliott> mycroftiv: or is the startup code just that huge? :)
00:29:54 <elliott> mycroftiv: it's ok, i won't mock your OS if you tell me the truth.
00:30:03 <elliott> you don't have to worry.
00:31:14 <oerjan> IT'S A TRAP!
00:31:44 <elliott> mycroftiv: if you're crying, i'm sorry.
00:32:25 <elliott> [[> One can obviously easily construct a Turing machine, which for every formula F in first order predicate logic and every natural number n, allows one to decide if there is a proof of F of length n (length = number of symbols). Let ψ(F,n) be the number of steps the machine requires for this and let φ(n) = maxF ψ(F,n).
00:32:28 <elliott> Obviously?]] --reddit
00:32:30 <elliott> *sigh*
00:32:41 <elliott> it was obvious to me, it certainly would have been obvious to von neumann...
00:33:06 <elliott> [["Obviously'' if you're one of the greatest logicians or mathematicians ever, maybe.]]
00:33:13 <elliott> hey oerjan i'm one of the greatest logicians or mathematicians ever
00:33:17 <elliott> reddit proves it
00:33:20 <oerjan> yay
00:33:34 <elliott> oerjan: was it obvious to you?
00:33:37 <elliott> "One can obviously easily construct a Turing machine, which for every formula F in first order predicate logic and every natural number n, allows one to decide if there is a proof of F of length n (length = number of symbols). Let ψ(F,n) be the number of steps the machine requires for this and let φ(n) = maxF ψ(F,n)."
00:33:39 <elliott> if so: YOU ARE TOO!
00:33:47 <oerjan> of course
00:34:00 <oerjan> but then i've seen the result before
00:34:02 <elliott> dude we're like, all the greatest logicians or mathematicians ever
00:34:30 <elliott> oerjan: my brain has a wonderful rule that goes something like "decide if ... [in finite set] -> enumerate & check all elements"
00:34:35 <elliott> it gets applied all the time
00:34:40 <elliott> although not when in Program Vaguely Efficiently mode :p
00:35:12 <oerjan> sometimes no better algorithm is known
00:35:22 <elliott> oerjan: yes, well :)
00:36:15 <elliott> heh
00:36:19 <elliott> [[In January 2010, Grothendieck wrote a letter to Luc Illusie. In this "Declaration d’intention de non-publication", he states that essentially all materials that have been published in his absence have been done without his permission. He asks that none of his work should be reproduced in whole or in part, and even further that libraries containing such copies of his work remove them.]]
00:36:27 <elliott> that's totally going to happen!
00:36:56 <elliott> wait, that means the publication of the letter itself was against the request expressed in the letters :D
00:37:43 <Slereah> Even if it does, some dude probably has done the article about it again on that subject
00:37:46 <elliott> oh, it seems he may have requested its publication
00:37:53 <elliott> Slereah: eh?
00:37:55 <elliott> erm
00:37:59 <elliott> not its publication, just publication of the request
00:38:12 <elliott> wait no the letter is online :D
00:38:50 <elliott> oerjan: apparently grothendieck considers publication of his *past* works unlawful
00:39:12 <elliott> methinks he may be slightly shifted from his rightful place on his rocker
00:40:18 <oerjan> well it is possible that he has retained all rights and so can deny republication
00:40:56 <elliott> oerjan: oh, that may be entirely correct; even so, no sane recluse would go out of their way to do that, seeing as it doesn't affect them at all
00:41:11 <elliott> and making the request involves contacting the outside world >:)
00:43:08 <elliott> poor mycroftiv, living in fear of revealing the truth about his OS
00:46:11 <Sgeo> Windows 1.0?
00:49:50 <elliott> mycroftiv: you have betrayed me
00:54:42 -!- Mathnerd314 has quit (Ping timeout: 250 seconds).
00:56:18 <elliott> mycroftiv: i feel an overwhelming sadness in my hear.
00:56:20 <elliott> heart.
01:07:03 -!- Mathnerd314 has joined.
01:15:50 <pikhq> elliott: The worst part about being very smart is that you don't perceive yourself as being very smart.
01:15:58 <pikhq> elliott: You instead perceive everyone else as really stupid.
01:16:09 <elliott> pikhq: wrong, i have an excellent ego
01:16:16 <elliott> i just pretend to be humble to please people >:)
01:16:17 <elliott> ...sometimes
01:17:12 <pikhq> But surely you tend to assume that other people are going to see things that are obvious to you, only to have that horribly crushed by their ability to stop thinking entirely?
01:17:49 -!- Sasha2 has quit (Remote host closed the connection).
01:18:04 -!- Sasha has joined.
01:18:07 <elliott> pikhq: Not really.
01:19:30 <pikhq> Funny, I get horribly depressed by things like people finding math impossibly difficult, because I start by going "Well, I'm not *that* smart, and holy fuck these people are fucking stupid. GAAAAH."
01:19:53 <pikhq> It takes me a while to recall that yes, I actually am more intelligent than average.
01:21:12 <pikhq> Some part of me likes to think that I'm normal. Go figure.
01:23:39 <elliott> pikhq: You could try not giving a shit.
01:23:42 <elliott> I do that. It's great.
01:23:50 <elliott> I hardly give a shit about anything.
01:24:26 <pikhq> WHY DOES EUGENICS SEEM LIKE SUCH A GOOD IDEA SOMETIMES.
01:24:47 <elliott> pikhq: The editor of the HTML5 specification agrees!
01:25:34 <pikhq> Sadly, it's a bit unethical and it doesn't work. But still, it's damned tempting sometimes.
01:25:41 <Mathnerd314> pikhq: blame the parents for telling them to hate math
01:26:23 <pikhq> Mathnerd314: And the school system, which holds calculus as the highest form of mathematics anyone could ever aspire to.
01:26:25 <elliott> Mathnerd314: you're full of shit.
01:26:43 <elliott> you really think that the vast majority of parents tell their kids, "Kid... hate math, kay?"
01:26:56 <pikhq> Seriously, just by taking calc I in my junior year of high school people acted like I was fucking Newton or something.
01:27:03 <elliott> the educational system, sure, blame that. but saying that parents tell kids to hate mathematics?
01:27:19 <pikhq> (and I do not mean that in the sense of copulating with Newton)
01:27:40 <Mathnerd314> elliott: no, the kids ask their parents for help with their math HW, and the parents say "I don't like math; find someone else to ask"
01:28:05 <elliott> Mathnerd314: i think you are rather confused...
01:28:48 <elliott> pikhq: quick, what command should I do next
01:28:58 <oerjan> elliott: rm -rf /
01:29:09 <elliott> oerjan: rm already gone, and it readily accepts /
01:29:14 <elliott> although it also accepts . and .., which it shouldn't
01:29:23 <pikhq> Mathnerd314: The worst part is, what passes for mathematics education is only tangentially *related* to mathematics!
01:29:25 <Mathnerd314> elliott: yes, me has doubleplusungood communication skillz
01:29:31 <pikhq> Mathnerd314: It's education in calculation!
01:29:36 <elliott> rm -rf .. being the ouroboros variant of rm -rf / :)
01:29:42 <elliott> pikhq: yo yo answer my questions more
01:29:48 <pikhq> (and, with the increasing use of calculators, education in the *operation of calculators*)
01:30:02 <pikhq> elliott: tac
01:30:39 <elliott> pikhq: Interestingly, not in POSIX!
01:30:48 <elliott> pikhq: And I think I should get mv before tac. :P
01:30:57 <pikhq> elliott: I say, why I say, that was a joke, son!
01:31:08 <Mathnerd314> pikhq: but they don't teach calculators well; just the other day I had to show someone how to multiply matrices
01:31:21 <pikhq> Mathnerd314: Try "show someone what a matrix is".
01:32:10 <Mathnerd314> pikhq: easy; it's just "a square full of numbers"
01:32:14 <pikhq> Mathnerd314: Remember: the typical person's extent of mathematical knowledge is elementary algebra and elementary arithmetic.
01:32:39 <pikhq> Oh, and some Euclidean geometry.
01:32:49 <elliott> pikhq: How was that a joke? :P
01:33:05 <pikhq> elliott: Why would you ever want tac as a coreutils?
01:33:11 <pikhq> elliott: coreutil
01:33:17 <pikhq> elliott: ... So that was a bad joke.
01:33:20 <pikhq> elliott: Anyways. mv
01:33:24 <elliott> pikhq: But tac is useful :P
01:33:49 <pikhq> Mathnerd314: We are literally talking people who do not know what a proof *is*.
01:33:51 <elliott> It's weird how some util-linux commands' man pages are filed under "BSD General Commands Manual"
01:33:58 <pikhq> Mathnerd314: Y'know, one of the most basic things in mathematics.
01:34:41 <elliott> pikhq: pcc has a wonderful bug in it that causes it to seemingly not print any warnings in some files
01:34:45 <elliott> just the filename :D
01:34:56 <elliott> "x.c is a bad program! I won't tell you why!"
01:36:01 <Mathnerd314> pikhq: not really; Euclid's "proofs" are different from today's notions
01:36:25 -!- sftp has quit (Remote host closed the connection).
01:36:44 <pikhq> Mathnerd314: They literally have no concept of logic, formal or informal.
01:37:58 <elliott> pikhq: that's a vast exaggeration at least with "informal"
01:38:08 <elliott> Mathnerd314: not really
01:38:17 <elliott> Mathnerd314: they left as much to the reader as modern advanced mathematics :)
01:38:38 <pikhq> elliott: You haven't heard people fall to common, basic logical fallacies all the freaking time, have you?
01:38:45 <elliott> pikhq: yes, yes i have.
01:39:01 <elliott> ok let's stop talking about this, #esoteric should be a place away from all this crap :P
01:39:19 <elliott> pikhq: you know what's evil about rename()?
01:39:33 <elliott> pikhq: Wrong! The answer is: it's in <stdio.h>
01:39:34 <pikhq> What?
01:39:38 <elliott> pikhq: My mv will be implemented with
01:39:41 <elliott> link(old, new);
01:39:43 <elliott> unlink(old);
01:39:46 <elliott> >:D
01:39:52 <elliott> although that isn't atomic
01:40:02 * elliott looks up how rename is implemented
01:40:57 <pikhq> System call.
01:41:11 <elliott> oh, indeed, rename is a system call
01:41:17 <elliott> pikhq: wait what; what is a system call doing in stdio.h
01:41:33 <pikhq> elliott: It being a system call is an implementation detail.
01:41:40 <pikhq> elliott: ISO C mandates rename.
01:41:53 <elliott> pikhq: yes, but it doesn't use the stdio machinery
01:41:59 <elliott> i guess otherwise it would go in unistd.h...
01:42:15 <pikhq> But it's part of ISO C's IO library.
01:42:29 <elliott> right
01:42:54 <elliott> pikhq: I love my library requirement system.
01:42:59 <elliott> /*@needs: barfx.c parsemode.c */
01:43:01 <elliott> First line of mkdir.
01:43:02 <elliott> Tada.
01:45:46 <elliott> pikhq: Remind me to replace getopt sometime. :p
01:46:15 -!- oerjan has quit (Quit: Good night).
01:58:13 <elliott> Note to self: refactor out rm's confirm logic into a library; mv needs it too.
01:58:23 -!- TLUL has changed nick to TGAY.
01:58:53 <elliott> TGAY: Totally Gay?
01:59:24 <TGAY> Trolling someone who hates gay people
01:59:34 <TGAY> Everyone in the channel did something like this
01:59:53 -!- TGAY has changed nick to TLUL.
02:00:56 -!- looler has joined.
02:01:16 -!- looler has quit (Client Quit).
02:03:55 <elliott> TLUL: what channel? and who?
02:04:08 <TLUL> #wikia-runescape, and the guy who's now nicked to Heterosexual
02:05:09 <elliott> TLUL: Man, you've made me join a channel about (1) Wikia and (2) RuneScape.
02:05:12 <elliott> I hate you to death.
02:05:16 <TLUL> LOL
02:09:34 <elliott> TLUL: googling this guy, he calls himself a conservative republican
02:09:39 <elliott> holy shit
02:09:42 <elliott> http://runescape.wikia.com/wiki/User:Liquidhelium
02:09:49 <elliott> republican logo as picture
02:09:52 <elliott> american flag background with eagle
02:09:52 <TLUL> Ikr
02:09:54 <elliott> "GOP"
02:09:57 <elliott> jesus.
02:09:58 <TLUL> Look on his talk page
02:10:03 <TLUL> We were trolling him at the bottom
02:10:22 <TLUL> And I recently linked him to some lesbian porn asking him to "help me identify the song in the background of this video"
02:10:23 <elliott> Christian, homophobic "I dislike liberals because of their tendency to treat people as idiots" what.
02:10:43 <TLUL> I know, he's a traditional bible-thumping homophobic moron
02:10:53 <elliott> # Anyone that calls me Liquidhelm, or a variant thereof, can expect to make me extremely mad.
02:10:54 <elliott> # Anyone that wants me to use the British spellings or date format can leave my page and not come back.
02:10:55 <elliott> oh man
02:10:58 <elliott> if he hadn't just left
02:11:01 <elliott> SO MUCH FUN
02:11:22 <TLUL> I wrote a module for TLULbot that auto-corrects any american english to british english in all of his edits
02:11:30 <TLUL> And notifies him on his talk
02:11:48 <TLUL> Using the name Liquidhelm
02:12:52 <elliott> TLUL: i would say you're cool but you evidently play runescape
02:12:57 <elliott> so sorry, i withhold the compliment
02:14:22 <TLUL> Actually, I haven't played in a long time
02:19:47 <elliott> TODO: mv; stuff.
02:20:47 <elliott> Also: See if I can fix pcc.
02:20:49 <elliott> (Maybe try tcc.)
02:20:50 -!- elliott has quit (Quit: Leaving).
02:49:07 -!- kmc has joined.
03:05:50 -!- augur has quit (Remote host closed the connection).
03:06:27 -!- augur has joined.
03:10:41 -!- augur has quit (Ping timeout: 245 seconds).
03:50:41 -!- olsner has joined.
03:53:29 -!- Goosey has quit (Read error: Connection reset by peer).
03:54:42 -!- augur has joined.
05:33:31 -!- sftp has joined.
05:55:59 -!- augur has quit (Remote host closed the connection).
06:06:12 -!- augur has joined.
06:06:59 -!- sftp has quit (Read error: Connection reset by peer).
06:16:07 -!- Mathnerd314 has quit (Remote host closed the connection).
06:17:39 -!- Quadrescence has quit (Ping timeout: 240 seconds).
06:20:58 -!- nooga has quit (Quit: Lost terminal).
06:33:33 -!- Quadrescence has joined.
06:45:33 -!- myndzi has joined.
06:57:18 -!- kar8nga has joined.
07:06:54 -!- MigoMipo has joined.
07:18:23 -!- MigoMipo has quit (Read error: Connection reset by peer).
07:25:15 -!- kar8nga has quit (Remote host closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:59 -!- Sgeo has quit (Read error: Connection reset by peer).
08:14:46 -!- wareya_ has joined.
08:17:33 -!- wareya has quit (Ping timeout: 240 seconds).
09:12:50 -!- sebbu has quit (Read error: Connection reset by peer).
09:13:19 -!- sebbu has joined.
10:31:41 -!- TLUL has quit (Quit: *disappears in a puff of orange smoke*).
10:33:38 -!- Sasha has quit (Ping timeout: 240 seconds).
11:00:00 -!- ais523 has joined.
11:52:31 -!- ais523 has quit (Remote host closed the connection).
11:52:51 -!- ais523 has joined.
12:28:29 -!- yorick has quit (Remote host closed the connection).
12:45:23 -!- nooga has joined.
12:45:39 <nooga> the topic
12:47:41 <Ilari> Reference to that arsenic-using bacteria discovered in Mono lake?
12:48:52 <nooga> ha
12:48:59 <nooga> i just took the #tinyrb channel
12:49:28 <nooga> http://macournoyer.com/blog/2009/02/12/tinyrb/
13:15:27 -!- wareya_ has quit (Ping timeout: 276 seconds).
13:32:17 -!- ais523 has quit (Read error: Operation timed out).
13:39:24 -!- wareya has joined.
13:48:17 <nooga> http://createyourproglang.com/ oh, yeah!
13:48:30 <nooga> we should write our own book and sell it for $
13:59:06 -!- Sasha has joined.
14:07:32 -!- Phantom_Hoover has joined.
14:08:42 -!- sftp has joined.
14:09:06 <Vorpal> Phantom_Hoover, hi. Spent a few minutes on MC this evening. You should check out my awesome throne room
14:09:38 <Vorpal> Phantom_Hoover, 25x25x7 (dug out most yesterday)
14:09:47 <Phantom_Hoover> Where?
14:10:03 -!- nooga has quit (Ping timeout: 276 seconds).
14:10:09 <Vorpal> Phantom_Hoover, you know the ladder in my mountain?
14:10:15 <Vorpal> Phantom_Hoover, from near skyway to mines?
14:10:23 <Vorpal> there is now a platform along the lower half
14:10:24 <Vorpal> there
14:11:24 <Vorpal> Phantom_Hoover, gold throne on obsidian podium. sad you can't sit on a block edge in MC (or sit at all)
14:14:42 -!- FireFly has joined.
14:14:45 -!- FireFly has quit (Changing host).
14:14:45 -!- FireFly has joined.
14:20:06 <Vorpal> Phantom_Hoover, ehird quit in there btw. While I was digging. He will fall quite a few tiles heh
14:20:13 <Vorpal> err blocks*
14:28:55 -!- oerjan has joined.
14:31:50 -!- ais523 has joined.
14:37:04 -!- Wamanuz3 has quit (Remote host closed the connection).
14:38:39 -!- Wamanuz has joined.
14:40:52 -!- ais523 has quit (Read error: Connection reset by peer).
14:42:11 -!- ais523 has joined.
14:42:21 -!- kmc has quit (Ping timeout: 240 seconds).
14:43:25 -!- augur has quit (Remote host closed the connection).
14:52:25 -!- goyo has joined.
14:52:59 <goyo> hoola chatos
14:53:15 <goyo> holaaa ?
14:53:24 <goyo> hay alguien ?
14:53:27 <goyo> cucuuu
14:54:16 -!- goyo has left (?).
14:54:28 <oerjan> de nada
14:58:43 -!- elliott has joined.
15:00:27 <Vorpal> elliott, weird?
15:01:21 <elliott> ?
15:01:34 <oerjan> YES HE IS
15:07:43 <Vorpal> elliott, you spawned and hung in midair on MC
15:07:51 <Vorpal> then left
15:08:05 <elliott> Vorpal: minecraft nullpointerexception'd
15:08:25 <Vorpal> elliott, oh weird
15:08:51 -!- nopseudoidea has joined.
15:14:04 -!- augur has joined.
15:16:38 -!- Sgeo has joined.
15:17:05 * Sgeo decides to refuse to do the assignment as given
15:17:25 <Sgeo> I will show, in Perl, two ways to do it without XOR swapping, then a XOR swap in a different language
15:19:49 <Phantom_Hoover> What's the assignment?
15:20:34 <Sgeo> "Write a Perl script that will use assign interger values to each of two variables.
15:20:35 <Sgeo> The program should swap the values in the variables without using any additional variables to temporarily hold either of the values.
15:20:35 <Sgeo> HINT: Use the bitwise exclusive or operator to complete this assignment"
15:20:53 <elliott> Sgeo: You're so eddgggggggggy.
15:23:13 <elliott> Vorpal: You're a postgres fan right?
15:30:26 <elliott> Vorpal: btw, about ElliottOS
15:30:39 <Sgeo> There's a third one now?!
15:30:55 <elliott> Sgeo: what?
15:31:05 <Sgeo> @, Kitten, and ElliottOS
15:31:08 <elliott> no
15:31:13 <elliott> @ is just shorthand for the latter
15:31:21 <Sgeo> Ah
15:34:04 <fizzie> Gah, why would someone do a xor-swap in *Perl* when you can do the oh-so-intuitive (a,b)=(b,a) variant instead.
15:34:40 <Sgeo> fizzie, to teach about its existence
15:34:47 <Sgeo> And I can never spell that word
15:36:31 <fizzie> Yeees, but in Perl? Or is your whole course about it?
15:39:13 <Phantom_Hoover> Sgeo is doing Computers For Stupid People.
15:39:28 <Sgeo> My whole course is about Perl
15:39:50 <Phantom_Hoover> Sgeo, why *are* you doing Computers For Stupid People?
15:39:57 -!- yorick has joined.
15:40:01 <Sgeo> Because I don't have a spine
15:40:51 <fizzie> Sounds like you could make quite an article in some medical journal somewhere, then.
15:41:17 <elliott> (*(*(argv++)))
15:41:25 <elliott> How does one parenthesise this correctly? >___________________>
15:41:56 <Sgeo> elliott, that seems.. weird to do unless you're doing it in a loop, which would make sense, so nevermind
15:42:58 <Sgeo> Also, um, wouldn't that only be useful for the first argument, or am I mistaken?
15:43:07 <fizzie> *argv++ == *(argv++), at least. And I don't think the one more star does anything special.
15:44:14 <elliott> fizzie: I should probably stop being a three-star programmer instead. :)
15:44:33 <elliott> (argv, here, is a ***.)
15:45:51 <fizzie> Then *(*argv)++ sounds a more likely operation, but anyway. (That's be like *argv++ for the usual **-argv if you pass &that there.)
15:46:10 <fizzie> s/'s/'d/
15:50:11 <oerjan> elliott: i vaguely recall postfix operators have precedence over prefix ones
15:50:14 <Phantom_Hoover> Sgeo, I'm assuming it's to work out the first character of each argument.
15:50:25 <elliott> fizzie: Oh, indeed.
15:50:26 <elliott> Phantom_Hoover: No.
15:50:52 <Phantom_Hoover> elliott, **argv is surely the first character of the first item of argv?
15:51:06 <fizzie> Phantom_Hoover: This is a three-star argv.
15:51:16 <Phantom_Hoover> fizzie, zuh?
15:51:18 -!- kmc has joined.
15:51:23 <Phantom_Hoover> Surely that segfaults?
15:51:37 <fizzie> Phantom_Hoover: He's given &argv to some function, I think.
15:51:45 <Phantom_Hoover> Ah.
15:51:53 <Gregor> ...
15:51:55 <Phantom_Hoover> Why would you want to modify argv itself?
15:52:13 <fizzie> Isn't that pretty common?
15:52:30 <Phantom_Hoover> fizzie, why?
15:52:33 <fizzie> gtk_init(&argv, &argv) for example.
15:52:55 <fizzie> So that the function can steal its own args and leave the app's args there.
15:53:15 <fizzie> s/argv/argc/ there, of course.
15:54:45 <Phantom_Hoover> Hmm.
15:55:00 <fizzie> I think there was some iffiness about manipulating the real argv's contents. And at least you can't add more arguments in there.
15:57:13 * Sgeo embarrasses himself in front of Gilad Bracha :(
16:00:05 -!- MigoMipo has joined.
16:00:10 <Vorpal> Phantom_Hoover, working on implementing your suggestion (fenceposts)
16:00:16 <Vorpal> but going to make some food (in RL) now
16:07:33 <oerjan> Sgeo: literally? :D
16:08:50 <Phantom_Hoover> Gilad Bracha is watching you.
16:11:11 * oerjan gets the reference
16:12:02 <Sgeo> Is there anyone here who doesn't?
16:12:19 <elliott> <fizzie> I think there was some iffiness about manipulating the real argv's contents. And at least you can't add more arguments in there.
16:12:19 <fizzie> Gilad Bracha will only answer those supplicants that perform the traditional ritual of embarrassment in front of him.
16:12:21 <elliott> I do that.
16:13:42 <fizzie> Which one; modify argv contents or add new args?
16:14:13 <Sgeo> That's it, I'm at war with this professor
16:14:51 <Sgeo> I mentioned it
16:14:52 <elliott> fizzie: The former. Or, well, I think I actually do both, but only ever add one, to replace the terminating NULL.
16:15:24 <Sgeo> "This is the way the authors of the book did it. It might not be the most secure, but we're only doing this for class, to show how to connect to the [MySQL] server"
16:15:32 <Sgeo> http://pastie.org/1352473
16:15:54 <fizzie> Quite a lot of people do modify argv, I just remember vaguely that there might've been some extreme-portability concerns. It might well be completely okay though.
16:17:11 -!- elliott has quit (Quit: Leaving).
16:17:21 -!- elliott has joined.
16:17:25 <elliott> #include <unistd.h>
16:17:26 <elliott> void _start(void)
16:17:28 <elliott> {
16:17:30 <elliott> _exit(0);
16:17:32 <elliott> }
16:17:34 <elliott> fizzie: ha ha, fuck you portability
16:17:36 <elliott> (--true.c)
16:20:08 <Phantom_Hoover> Well, at least it doesn't take 52 lines like GNU true.
16:20:30 <fizzie> But it doesn't check your mail. :/
16:24:30 -!- Sgeo has quit (Read error: Connection reset by peer).
16:24:57 -!- Sgeo has joined.
16:30:00 -!- nooga has joined.
16:32:17 <Sgeo> "Mine says that mybooks already exists" "Did you execute it twice?" "Yes" "That's why"
16:37:45 <Vorpal> fizzie, there?
16:38:24 <Vorpal> fizzie, you should check that throne room I made in MC out. 25x25x10 with obsidian podium and gold throne
16:38:35 <Vorpal> also chandeliers
16:39:12 * Phantom_Hoover realises he still types absurd queries into Google.
16:39:27 <Phantom_Hoover> Like "C++, suckishness thereof".
16:40:46 <Vorpal> hm it needs lava lighting in the floor
16:41:17 * Sgeo misread that as Java
16:41:30 <Sgeo> Wait, isn't MC client written in Java? :/
16:47:21 <ais523> hmm, a random reddit comment said that Eric Schmidt coauthored lex
16:47:25 <ais523> which is somewhat unexpected
16:47:46 <ais523> elliott: hmm, is _start in user or impl namespace?
16:48:13 <elliott> ais523: dunno; it's ELF-specific, though
16:48:26 <Sgeo> What happens if a script has x set but not r?
16:48:26 <ais523> I know C has weird rules for underscore-lowercase
16:48:27 <elliott> ais523: Eric Schmidt authored lex to be precise IIRC
16:48:29 <elliott> he was the original author
16:48:33 <elliott> you didn't know that? :)
16:48:36 <ais523> elliott: I didn't
16:49:02 <elliott> ais523: relatedly, see the last line in the BUGS section of http://plan9.bell-labs.com/magic/man2html/1/lex :)
16:49:41 <ais523> hmm, that lex does the same thing as UNIX lex
16:49:57 <ais523> I've got used to Plan9 by now doing something completely different with the same name
16:50:23 <ais523> also, that -t think looks very unUNIXy, I'd have made it output to stdout and people can redirect to lex.yy.c by hand if they like
16:50:55 <elliott> ais523: it's historic
16:51:03 <ais523> but this is plan9
16:51:07 <elliott> ais523: and not really; after all, "cc" used to have no -o option
16:51:11 <elliott> and just spat out to a.out
16:51:12 <ais523> why does it have to match what history UNIX options do
16:51:15 <ais523> elliott: in UNIX, fine
16:51:17 <elliott> on plan 9 it's e.g. 8.out where 8 is the architecture character
16:51:37 <ais523> but when you're trying to make a better UNIX, that seems like an obvious thing to change to get closer to the philosophy
16:51:45 <elliott> ais523: Plan 9 is Version 11 Unix, and even V10 Unix was quite pure
16:51:48 <elliott> Tenth Edition, that is
16:51:53 <ais523> why would you use -o if > exists?
16:52:02 <elliott> ais523: I mean, it's not as if they went "zomg! This is so crufty, let's replace it."
16:52:14 <elliott> ais523: because it was SysV and BSD that were cluttering it up, not Bell Labs Unix
16:52:45 <ais523> well, yes
16:53:05 <ais523> I'm the sort of person who sees any command-line options as too crufty if they change metadata, rather than add parameters needed to do what the program does
16:53:10 <ais523> e.g. I'm fine with most of the options of tr
16:53:22 <elliott> ais523: and I think there was this thought in Unixy days that compilers weren't really filters, because you didn't immediately process the output file in another pipeline or something
16:53:25 <ais523> but not with, say, -o
16:53:33 <ais523> elliott: compilers are pipelines nowadays
16:53:39 <elliott> ais523: indeed
16:53:41 <ais523> you really ought to be able to do something like cc | ld
16:53:54 <ais523> to compile and link
16:54:01 <elliott> meanwhile, I'm trying to make Flinix again
16:54:08 <ais523> perhaps even cpp | cc | ld, and you could write a script around that as your actual compiler
16:54:14 <elliott> (latest Linux kernel, X windowing system and networking on a 1.44 meg floppy)
16:54:32 <elliott> System is 604 kB
16:54:33 <ais523> latest stable kernel? or latest development kernel?
16:54:35 <elliott> Waaay too big!
16:54:36 <elliott> ais523: stable
16:54:46 <ais523> or recent stable kernel hacked to expose an API for writing keyloggers?
16:54:51 <elliott> :D
16:55:01 <ais523> stupid stupid exercise...
16:55:07 <elliott> ais523: I'm going to ridiculous lengths like, "disable the block layer; to get the actual floppy read, use the embedded initramfs support with ramfs"
16:55:47 <ais523> heh
16:55:49 <elliott> and i'm going to use http://asm.sourceforge.net/asmutils.html for the coreutils, most likely
16:55:52 <elliott> busybox is too big
16:56:04 <ais523> even if you strip cruft out of it?
16:56:23 <elliott> ais523: it's written in C!
16:56:27 <ais523> also, are you going to stay within 1.44 MiB? you can fit more than that much data on a 1.44 MiB floppy by formatting it weirdly
16:56:40 <elliott> ais523: yes, I am going to stay within that
16:56:50 <ais523> up to around 1.7, IIRC
16:56:54 <elliott> ais523: for the X server I'm going to try and get http://www.superant.com/smalllinux/tinyX01.html working; it's *very* small... libc5-based :)
17:01:19 <elliott> ais523: can you explain POSIX to me? "date MMDDhhmm[[YY]YY][.ss]"
17:01:23 <elliott> WHY IS YEAR IN BETWEEN MINUTE AND SECOND
17:01:26 <elliott> *MINUTES AND SECONDS
17:02:00 <ais523> elliott: I almost choked
17:02:04 <ais523> don't shock me like that
17:02:11 <elliott> ais523: :D
17:02:24 <ais523> my guess is that it's mandatory stuff first, optional stuff later
17:02:29 <ais523> also, [[YY]YY] has me suspicious
17:02:37 <elliott> clearly "99" means 99 AD
17:02:48 <ais523> does that mean that for 2010, you have to write 1020 to distinguish it from 1910 which would be just 10 or 1019?
17:04:01 <elliott> ais523: presumably it means you can either say 1999 or 99
17:04:04 <elliott> and 2010 for >1999
17:04:32 <ais523> oh, it is the right way round
17:04:43 <ais523> I interpreted it as [YY[YY]] somehow
17:05:03 <elliott> ais523: brilliant
17:05:32 <elliott> ais523: although, clearly the second YY should be interpreted as /addition/
17:05:40 <elliott> 2010 is 9911 or 1199
17:05:51 <elliott> the maximum year is 2098 -> 9999
17:06:04 <elliott> it's Y2K38-compliant...
17:07:16 * Sgeo has no desire to touch a script that has a blatant SQL Injection vulnerability
17:07:45 <ais523> Sgeo: not even to fix the vulnerability?
17:09:14 <elliott> WARNING: your nasm version 2.08.01 may miscompile asmutils, please use nasm 0.98.39!
17:13:20 <elliott> ais523: hmm, do you know how to force gcc not to omit an unused static function from an object file?
17:13:36 <Deewiant> Make it non-static?
17:14:18 <elliott> Deewiant: perhaps :)
17:19:02 -!- Sgeo has quit (Ping timeout: 255 seconds).
17:19:51 <elliott> Anyone happen to have a nasm 0.98.39 binary lying around?
17:21:27 -!- Zuu_ has joined.
17:25:18 -!- Zuu has quit (Ping timeout: 265 seconds).
17:26:51 -!- nopseudoidea has quit (Quit: Quitte).
17:27:27 <elliott> $ wc -c src/cat src/mkfs.minix
17:27:28 <elliott> 684 src/cat
17:27:28 <elliott> 1013 src/mkfs.minix
17:27:29 <elliott> But... how.
17:28:14 <elliott> 97852 total
17:28:22 <elliott> Lesson learned: asm + Brain Raiter + other people = holy shit, man.
17:28:32 <elliott> It even has a fucking init.
17:28:47 <elliott> 522 bytes.
17:31:22 -!- Sasha has quit (Ping timeout: 250 seconds).
17:31:51 <Phantom_Hoover> Are you talking about asmutils?
17:32:54 <elliott> Yes.
17:33:00 <elliott> What the fuck. Their shell has command-line editing.
17:33:07 <elliott> It's 5.3K.
17:33:15 <elliott> Also pipes, redirection.
17:33:19 <elliott> Job control.
17:33:29 <elliott> AND TAB COMPLETION
17:33:34 <elliott> WTFF
17:34:02 <ais523> elliott: busybox has tabcomplete, but it's optional
17:34:08 <ais523> to be fair, a basic tabcomplete is pretty easy
17:34:14 <ais523> as you have to be able to handle filename*
17:34:42 <ais523> so you can just do the same thing but substitute on the command-line
17:34:48 <elliott> ais523: yes, but this thing has command-line editing (i.e. readline-esque), pipes, overwrite and append redirection, job control, *and* tab completion that shows the possible matches on double-tab like bash... and it's 5.3K.
17:34:49 <ais523> perhaps even reuse the code
17:35:00 <ais523> elliott: 5.3K seems about right for that
17:35:09 <ais523> most modern software is bloated
17:35:12 <elliott> ais523: err, have you looked at the size of a typical C binary sometime? :)
17:35:23 -!- Sasha has joined.
17:35:36 <ais523> normally around 50-60 KB due to everything linked into it, headers, etc
17:35:48 <elliott> ais523: well let's put it this way, I'm writing my own coreutils in C, linking with pcc/dietlibc -- which produces tiny binaries -- and then using Brian Raiter's insane sstrip utility; even then, my cat is 5K and my mkdir is 8K
17:35:51 <ais523> at least, that's where it was when I was younger, I'm not sure if it's changed since
17:35:57 <elliott> admittedly mine has graceful error recovery and messages
17:36:10 <ais523> I don't see why cat needs to be larger than a few tens of bytes
17:36:24 <ais523> (well, a few hundred if you're using a format whose headers require it)
17:36:32 <elliott> ais523: well, maybe it shouldn't be; I'm just saying that getting binaries that small is impossible using C
17:36:45 <elliott> my true/false are 248 bytes, and I've abandoned portability for that (ELF-only)
17:37:15 <elliott> ais523: and my cat is ridiculously simple; it accepts no options, and doesn't use standard IO at all
17:37:20 <ais523> elliott: I don't think it is
17:37:25 <ais523> impossible, that is
17:37:26 <elliott> ais523: it's probably only over 1000, 2000 bytes because I have the errno texts in there
17:37:32 <elliott> ais523: oh really? on Linux, you mean?
17:37:40 <ais523> no, I was talking about in general
17:37:43 <elliott> ais523: I mean on Linux
17:37:50 <ais523> I've used embedded C compilers for devices that only have 4 KiB of ROM altogether to write the program into
17:37:52 <elliott> the only reason these asmutils sizes are surprising is that they're on Linux
17:37:55 <ais523> and only a few tens of bytes of RAM
17:39:32 <elliott> ais523: just checked; my cat makes only one call to something that isn't libc, and it's strerror
17:39:44 <elliott> ais523: probably it would be 1K without the error strings table
17:39:56 <ais523> how many libc functions does it call exactly once? you could inline them to save space
17:40:04 <elliott> ais523: no libc functions
17:40:13 <elliott> apart from strerror.
17:40:14 <elliott> ais523: the functions it calls are: open, read, write, strerror.
17:40:19 <elliott> ais523: the first three are system calls.
17:40:32 <elliott> oh, wait
17:40:35 <elliott> strlen too
17:40:40 <elliott> so it knows how long strerror's result is
17:40:44 <ais523> elliott: you can inline syscalls too
17:41:04 <elliott> ais523: that reminds me of something I'm going to do in elliottOS
17:41:08 <ais523> if you want it small, why don't you make a custom strerror that just handles the errors possible from open, write, and read?
17:41:13 <elliott> actually, i was going to tell Vorpal about this too, so Vorpal Vorpal Vorpal
17:41:49 <elliott> ais523: I was considering having some sort of automated thing where I can just list error names and it'd include only them, but then I looked at the size of my local /bin/true -- 21K -- and realised that *that* was dynamically linked and, dammit, I'm way ahead of the competition already.
17:41:55 <elliott> pesky asm coders giving me legitimate competition :)
17:42:25 <elliott> right now i've got basename, cal, cat, date, dirname, echo, env, false, kill, link, mkdir, mv, pwd, rm, signal, sleep, strings, true, uname, vis and yes and they all fit into about 97K
17:42:31 <elliott> ais523: (on amd64, that is)
17:42:37 <elliott> so in fact it'd be more like 50K? on i386
17:42:40 <elliott> and the asmutils are i386
17:43:01 <elliott> ais523: oh, and if you link them all into one binary it's more like 23K. which, when UPX'd, turns into 15K. (on amd64)
17:43:02 <elliott> still...
17:43:46 <ais523> EACCES, EAGAIN (and EWOULDBLOCK if it has a different value), EBADF, EEXIST, EFAULT, EFBIG, EINTR, EINVAL, EIO, EISDIR, ENOSPC, ELOOP, EMFILE, ENAMETOOLONG, ENFILE, ENODEV, ENOENT, ENOMEM, ENOSPC, ENOTDIR, ENXIO, EPERM, EPIPE, EROFS, ETXTBSY
17:44:08 <ais523> some of those can't happen with the usage used in cat, e.g. EPIPE wouldn't happen as you use the default SIGPIPE handler, EINVAL wouldn't happen if you made sure you used valid arguments
17:44:10 <Gregor> "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding."
17:44:22 <Gregor> ^^^ This bullet-point is my crowning achievement as as a scientist.
17:44:42 <ais523> Gregor: did you write that?
17:44:44 <elliott> Gregor: What. X-D
17:44:47 <ais523> or cause someone else to write it?
17:44:52 <Gregor> ais523: I wrote it :P
17:45:10 <elliott> `addquote <Gregor> "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." <Gregor> ^^^ This bullet-point is my crowning achievement as as a scientist.
17:45:20 <elliott> come on, HackEgo, you can do it!
17:45:26 <Gregor> <HackEgo> Eh, I'll get to it eventually.
17:45:37 <elliott> Gregor: why the hell do the quote scripts use sqlite? Can I make them use a plain text file instead?
17:45:41 <elliott> It'd be much faster :P
17:45:44 <elliott> `help
17:45:45 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
17:45:46 <HackEgo> 270|<Gregor> "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." <Gregor> ^^^ This bullet-point is my crowning achievement as as a scientist.
17:45:46 <Gregor> elliott: Feel free.
17:46:23 <elliott> ais523: ok, this is ridiculous; the 97K asmutils has "cda2raw". and telnetd. and fingerd. and eject.
17:46:25 <elliott> and fdisk.
17:46:28 <elliott> and ftpd. and httpd.
17:46:32 <elliott> and ifconfig.
17:46:36 <elliott> and rc6crypt.
17:46:55 <elliott> and more.
17:46:58 <elliott> (as in, more(1))
17:47:12 <elliott> Vorpal Vorpal Vorpal
17:48:25 <elliott> `run cp bin/addquote addquote.bak; cp bin/quote quote.bak
17:48:26 <HackEgo> No output.
17:49:23 <elliott> `run echo '#!/bin/sh' >bin/addquote; echo "[ \"\$1\" ] || { echo 'Add what quote?'; exit 1}" >>bin/addquote
17:49:24 <HackEgo> No output.
17:49:25 <elliott> `addquote
17:49:28 <HackEgo> Add what quote?
17:49:29 <elliott> `addquote x
17:49:30 <ais523> elliott: any respecting *utils clone needs to have a decent pager
17:49:33 <HackEgo> No output.
17:49:46 <Vorpal> elliott, yes?
17:49:49 <ais523> elliott: why are you screwing up addquote?
17:49:59 <elliott> ais523: can you please read? I'm rewriting it to use a plain text file
17:50:07 <elliott> Vorpal: sec :P
17:50:31 <ais523> presumably you're going to use shuf | head or something to pick random quotes?
17:50:44 <elliott> ais523: something like that, yes
17:50:52 <ais523> even though it's O(n log n) and thus inefficient?
17:51:02 <ais523> (or is shuf designed to run in O(n) when piping into head? that's theoretically possible)
17:51:14 <elliott> ais523: Well, actually I was going to use a sed script and wc -l.
17:51:17 <elliott> And probably $RANDOM or whatever.
17:51:22 <elliott> ais523: or head and tail, actually
17:51:35 <elliott> tail -n +$randomlinenumber | head -n 1
17:52:03 <elliott> `run mv quotes/quote.db quote.db.bak; rmdir quotes; echo 'echo "$1" >>quotes' >>bin/addquote; echo 'echo "$(wc -l quotes)) $1"' >>bin/addquote
17:52:05 <HackEgo> No output.
17:52:09 <ais523> using shuf is so much simpler
17:52:14 <elliott> `addquote My hovercraft is full of eels.
17:52:15 <HackEgo> No output.
17:52:19 <elliott> ugh
17:52:22 <elliott> `paste bin/addquote
17:52:24 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26893
17:52:31 <elliott> this is what using unix before vi must have felt like :)
17:52:43 <ais523> elliott: it's more like using unix before ed
17:52:47 <ais523> no editors allowed but cat
17:52:51 <elliott> ais523: well, my commands here are basically like ed commands
17:52:52 <elliott> just longer
17:53:05 <ais523> and scheduling cron to call emacs --retroactive
17:53:07 <elliott> `run sed -i 's/1}1 }/' bin/addquote
17:53:09 <HackEgo> No output.
17:53:11 <elliott> `paste bin/addquote
17:53:12 <HackEgo> Failed to clone the environment!
17:53:15 <elliott> ais523: what @ emacs --retroactive
17:53:17 <elliott> ...
17:53:18 <elliott> Gregor:
17:53:21 <elliott> `paste bin/addquote
17:53:22 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.22659
17:53:30 <elliott> what, it didn't fix my typo
17:53:46 <ais523> elliott: the idea is that Emacs does everything, thus in order to edit a file before Emacs is implemented, you just schedule a cronjob to call Emacs in the future when it is implemented
17:53:50 <elliott> `run sed -i 's/\{ /{/' bin/addquote
17:53:52 <HackEgo> No output.
17:53:53 <elliott> `paste bin/addquote
17:53:56 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.29387
17:53:57 <ais523> using an option to Emacs to get it to edit the file back when you added it to the crontab in the first place
17:53:58 <elliott> ais523: brilliant
17:54:06 <elliott> ok, what am I getting wrong about sed?
17:54:11 <Gregor> Please mess with HackBot in PM :P
17:54:17 <elliott> Gregor: I'm not messing, I'm developing!
17:54:21 <elliott> and
17:54:22 <elliott> <elliott> `paste bin/addquote
17:54:22 <elliott> <HackEgo> Failed to clone the environment!
17:54:35 <Gregor> Please develop with HackBot in PM :P
17:54:42 <Gregor> Yesyes, it does that when you spam it too much :P
17:55:09 <elliott> sed -i 's/\{ /{/g' bin/addquote
17:55:12 <elliott> ok, there is no reason that doesn't work
17:55:14 <elliott> why does that not work.
17:57:18 <elliott> Ohh, I need a chmod to get it actually working... wait, do I?
17:57:35 <Gregor> `run hexdump -C bin/addquote
17:57:38 <HackEgo> 00000000 23 21 2f 62 69 6e 2f 62 61 73 68 0a 5b 20 22 24 |#!/bin/bash.[ "$| \ 00000010 31 22 20 5d 20 7c 7c 20 7b 65 63 68 6f 20 27 41 |1" ] || {echo 'A| \ 00000020 64 64 20 77 68 61 74 20 71 75 6f 74 65 3f 27 3b |dd what quote?';| \ 00000030 20 65 78 69 74 20 31 7d 0a 65 63 68 6f 20 22 24 | exit 1}.echo "$|
17:57:41 <elliott> <HackEgo> /tmp/hackenv.18166/bin/addquote: line 2: exit: 1}: numeric argument required
17:57:46 <elliott> Gregor: What.
17:57:51 <elliott> Why did you do that X-D
17:58:01 <ais523> elliott: what's to stop him catting a file in hexadecimal
17:58:01 <Gregor> Just making sure it wasn't a different issue :P
17:58:08 <ais523> also, isn't the command in question od -t x1?
17:58:14 <elliott> Gregor: ...what issue, exactly?
17:58:31 <Gregor> elliott: I didn't see how you got the file there in the first place, and fetch from pastebins usually has Windows line endings :P
17:58:34 <Gregor> `run ls -l bin/addquote
17:58:38 <ais523> Gregor: he put it there via cat
17:58:42 <elliott> Gregor: Mega echo, man. Also, I'm already fixing it.
17:58:43 <HackEgo> -rwxr-xr-x 1 5000 0 103 Dec 6 17:58 bin/addquote
17:58:43 <elliott> ais523: echo
17:58:44 <elliott> not cat
17:58:46 <ais523> oh, right
17:58:53 <elliott> I'm fixin' it
17:58:55 <ais523> that's effectively a cat
18:00:49 <Vorpal> <elliott> Vorpal: sec :P <-- well?
18:00:58 <elliott> Vorpal: okay, now
18:01:13 <elliott> Vorpal: you know how ElliottOS does everything in ring 0?
18:01:23 <Vorpal> yeah sure
18:01:34 <ais523> also, if you have cat in an infinite loop (as in cat /dev/zero > /dev/null), IMO it shouldn't exit on any signal but SIGKILL
18:01:41 <ais523> or if you send some other signal 9 times
18:01:53 <ais523> kill -9, we can assume kills it 9 times over
18:01:57 <Vorpal> elliott, go on
18:02:01 <elliott> Vorpal: yes, yes,
18:02:11 <elliott> Vorpal: well, a huge advantage of this
18:02:13 <ais523> elliott: I demand you use rings 1 and 2 for their intended purposes!
18:02:19 <elliott> Vorpal: is that syscalls no longer need to go through the kernel
18:02:22 <elliott> Vorpal: you can *inline a syscall*
18:02:24 <elliott> as in, literally
18:02:32 <elliott> ais523 saying "inline a syscall" to mean something else made me remember this
18:02:37 <ais523> how do you deal with paging?
18:02:39 <elliott> so, e.g., if some syscall talks to some hardware
18:02:45 <elliott> and some user program calls it
18:02:48 <Vorpal> elliott, yes obviously. Many syscalls are probably a bit too large though for that to be profitable
18:02:56 <elliott> well, the program's resulting machine code would actually talk to the hardware directly
18:03:02 <elliott> Vorpal: well this is where the synthesis-style stuff comes in
18:03:09 <elliott> the syscall code gets smaller when you remove the arguments
18:03:16 <elliott> or, some of them
18:03:20 <Vorpal> some yes
18:03:24 <elliott> anyway, this is great because kernel calls now cost exactly 0
18:03:31 <elliott> ais523: what do you mean, how do you deal with paging?
18:03:44 <ais523> elliott: pointers are different from usermode and kernelmode point of view
18:04:05 <ais523> e.g. two different programs can each use 0x110000 for their own variables
18:04:22 <ais523> if you aren't context-switching into a different ring, you'd need to avoid reverse segfaults somehow
18:04:22 <elliott> ais523: that's not how elliottos works
18:04:34 <ais523> ah, each application shares the same memory pool?
18:04:38 <elliott> ais523: ElliottOS has a single global address space, which maps to both disk and RAM
18:04:45 <elliott> RAM is essentially a disk cache
18:05:03 <elliott> ais523: security is implemented by not letting any random machine code run; everything has to go through the Friendly Compiler (unless the user explicitly overrides this)
18:05:31 <ais523> that sounds rather like using a JITting VM for everything
18:05:39 <ais523> and cacheing the output
18:05:44 <elliott> ais523: well, yes, basically
18:05:49 <ais523> in fact, it might actually be the same thing viewed from a different point of view
18:05:50 <elliott> ais523: the compiler is always present in the system, and runs all the time
18:06:09 <elliott> ais523: (although it's actually a specialiser, that's not too relevant in this case -- although it does mean that even /while a program runs/, compilation could be happening as part of it)
18:06:11 <elliott> due to specialisation
18:06:13 <ais523> also, how long are your pointers? 64 bits?
18:06:15 <elliott> i.e. runtime code generation
18:06:19 <elliott> ais523: it's x86-64 only, so yes
18:06:28 <ais523> normally it's a minor detail, but for that I feel it's somehow important
18:06:45 <elliott> ais523: I'm planning to actually have even the addresses that map to disk and RAM not be the "top level" of addressing,
18:06:52 <elliott> ais523: and have a global distributed namespace of object hashes as the top level
18:07:05 <elliott> e.g., an object is uniquely identified by its 512-bit identifier/(hash?)
18:07:10 <elliott> universally
18:07:13 <elliott> no matter what computer it's on
18:07:16 <elliott> also, objects are immutable
18:07:24 <elliott> so it ends up GCing your disk :)
18:07:33 <ais523> elliott: that can be a pain if you want to make backups
18:07:42 <ais523> to guard against bad sectors and the like
18:07:52 <elliott> ais523: how would it be a pain?
18:07:53 <ais523> and it's hard to see what, if anything, shred would do
18:08:02 <elliott> ais523: you mean, two copies of one file on one computer?
18:08:09 <ais523> yep
18:08:34 <elliott> ais523: that's relatively simple, you'd just construct the same object, basically
18:08:48 <elliott> ais523: anyway, do you mean shred as in the concept, or shred as in the unix command?
18:08:49 <ais523> it would let you use cp -rp for backups, though
18:08:49 <ais523> which is great
18:08:52 <elliott> if the latter: there are no unix commands
18:08:54 <elliott> and there is no cp.
18:09:17 <ais523> elliott: I mean, as in what the UNIX command's intended to do
18:09:21 <ais523> not as in its specific implementation
18:09:24 <elliott> ais523: anyway same-disk backups are pretty near worthless considering that bad sectors basically *don't exist* now, and my main target disk medium is solid state drives
18:09:28 -!- Sgeo has joined.
18:09:30 <elliott> because they have fast random access
18:09:31 <elliott> like RAM does
18:09:38 <ais523> elliott: they have a lot more bad sectors than magnetic hard drives or floppies
18:09:41 <elliott> which is important, obviously
18:09:43 <elliott> ais523: what, SSDs?
18:09:52 <ais523> yep, but their failure mode is for the sector to become readonly
18:09:53 <elliott> ais523: you do realise that with SSDs, the failure mode is "you can't write any more", not "you lose data", right?
18:09:55 <elliott> yeah
18:10:06 <elliott> so same-disk backups are quite irrelevant in my case
18:10:09 <ais523> so most SSDs just transparently copy the data somewhere else as soon as it's changed
18:10:46 <elliott> ais523: Pop quiz: How do you insert a ' in the middle of a '-quoted string in sh?
18:10:48 <elliott> Answer: '"'"'
18:10:59 <ais523> '\'' is one character shorter
18:11:06 <Phantom_Hoover> And invalid.
18:11:06 <elliott> ais523: aww, but that's boring!
18:11:09 <elliott> Phantom_Hoover: no it's not
18:11:12 <ais523> Phantom_Hoover: really? I seem to remember using it
18:11:30 <Phantom_Hoover> Oh? I thought backslashes were ignored in ' strings.
18:11:40 <ais523> Phantom_Hoover: the backslash is outside the string there
18:11:46 <elliott> the ' is part of ais523's example
18:11:50 <elliott> {{{ '\'' }}}
18:11:50 <Phantom_Hoover> Ah.
18:12:00 <ais523> as in, 'I don'\''t know why I single-quoted this string in the first place'
18:14:38 <Sgeo> Does newspeaklanguage.org have an uptime .. percentage of 50% or something?
18:14:55 <elliott> Gregor: um, I can't seem to "touch quotes" in the home directory
18:15:00 <Sgeo> Did my proof of epic failness manage to crash something?/
18:15:04 <elliott> Gregor: was the quotes/ directory specially preserved somehow?
18:15:45 <Gregor> elliott: I see an empty file named quotes in $PWD.
18:15:59 <elliott> Gregor: ...you do now, it wasn't there a second ago.
18:16:03 <elliott> <elliott> `touch quotes
18:16:03 <elliott> <HackEgo> No output.
18:16:04 <elliott> <elliott> `ls
18:16:04 <elliott> <HackEgo> addquote.bak \ babies \ bin \ foo \ paste \ quine \ quote.bak \ quote.db.bak \ tmpdir.20107
18:16:04 <elliott> <elliott> `ls
18:16:04 <elliott> <HackEgo> addquote.bak \ babies \ bin \ foo \ paste \ quine \ quote.bak \ quote.db.bak \ quotes \ tmpdir.20384
18:16:51 <elliott> ais523: btw, you know that shuf|head thing?
18:16:58 <ais523> yes?
18:17:06 <elliott> since head closes its stdin after reading the N lines, most programs will exit at that point
18:17:09 <elliott> so it probably is efficient
18:17:21 <elliott> but shuf has its own lovelily un-unixy solution, it has its own -n argument, so let's go with that :P
18:17:22 <ais523> it depends on how shuf is implemented
18:17:50 <elliott> hmm, although, I want to look up quotes by # too, so i won't do that
18:18:02 <ais523> to look up by number, just use tail|head with appropriate arguments
18:20:31 <elliott> Gregor: OK, WTF is it with the race conditions in HackEgo?
18:21:21 <ais523> <joeyadams> Seeing as how C's most common application is writing C compilers, it logically follows that JavaScript's most common application is writing JavaScript compilers.
18:21:27 <ais523> I like this line of reasoning
18:21:31 <Gregor> elliott: There are no race conditions, however consecutive runs are not guaranteed to run in the environments generated by previous runs. After running and giving you the results, it commits and merges (if necessary) them back into the mainline.
18:21:49 <elliott> Gregor: So I can't even flock(1) to make sure stuff doesn't overwrite other stuff?
18:22:08 <Gregor> elliott: No, it has real merging.
18:22:16 <ais523> Gregor: ...wow, I didn't think it would work like that
18:22:20 <ais523> what happens if the merge fails
18:22:26 <Gregor> ais523: Then the output is lost.
18:22:31 <elliott> Gregor: 'cuz, you see, I addquote'd two quotes and it decided to only use one.
18:22:32 <Gregor> (At least the FS part of the output)
18:22:34 <elliott> WHICH WAS LAME YOU UNDERSTAND
18:22:35 <ais523> both outputs? or the older, or the newer?
18:22:49 <Gregor> ais523: OK, admittedly that is a race condition :P
18:23:00 <Gregor> ais523: "Whichever one gets there first"
18:23:13 <Gregor> I don't consider it to be a problem because serializing everything would be a suckfest, and not the good kind.
18:23:41 <ais523> now this is giving me an esolang idea
18:23:48 <ais523> an esolang which records the state of the program at every command run
18:23:56 <ais523> and applies each command to a random previous state of the program
18:24:03 <ais523> and then merges the results somehow
18:24:42 <elliott> Gregor: So is there anything I can do?
18:26:52 <Gregor> elliott: The same "problem" exists right now. Either make your quotes mergeable, or don't add quotes in parallel sessions. I will not serialize its behavior.
18:28:50 <ais523> elliott: use something simple like a DB, rather than a complicated text file
18:28:54 <elliott> `addquote <Gregor> "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." <Gregor> ^^^ This bullet-point is my crowning achievement as as a scientist.
18:28:55 <HackEgo> 270) <Gregor> "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." <Gregor> ^^^ This bullet-point is my crowning achievement as as a scientist.
18:29:04 <Gregor> That was fast :P
18:29:06 <ais523> `quote
18:29:07 <HackEgo> 4) <lament> i read paths as penis :(
18:29:11 <Gregor> `quote 270
18:29:13 <HackEgo> 270) <Gregor> "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." <Gregor> ^^^ This bullet-point is my crowning achievement as as a scientist.
18:29:16 <elliott> waitw ait
18:29:18 <elliott> it has new features
18:29:20 <elliott> LET ME TELL YOU THEM
18:29:20 <elliott> :P
18:29:23 <elliott> `pastequotes
18:29:24 <Gregor> OMG
18:29:26 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5886
18:29:31 <elliott> ...lawl
18:29:33 <elliott> That happens sometimes :P
18:29:34 <elliott> `pastequotes
18:29:36 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17215
18:29:42 <elliott> With one command, I have obsoleted Sgeo's site!
18:29:48 <elliott> AND
18:29:55 <elliott> `quote now accepts a regular expression!!!
18:29:56 <ais523> elliott: Sgeo's site works over HTTP
18:29:56 <HackEgo> No output.
18:30:11 <elliott> ais523: well, you can look at the quotes with HTTP here, too, it's just a plain text file
18:30:16 <elliott> just you don't get the quote numbers
18:30:21 <ais523> `quote /(?{print "Hello, world!";})/
18:30:22 <HackEgo> No output.
18:30:25 <elliott> IN FACT, I'm going to make quote use egrep now, now grep.
18:30:27 <elliott> ais523: No. :P
18:30:30 <ais523> elliott: your regex parser is broken
18:30:41 <elliott> `quote (DA)
18:30:42 <HackEgo> 257) <olsner> DAMN YOU, I'm leaving <Vorpal> olsner, FINALLY NOTHING BETWEEN ME AND WORLD DOMINATION!
18:30:52 <Sgeo> Another major difference: elliott's thing is currently active
18:30:53 <ais523> why the parens?
18:30:59 <elliott> ais523: because that would be literally (DA) in grep
18:31:06 <elliott> and I wanted to see if my s/grep/egrep/ worked
18:31:10 <ais523> but grep matches parens literally
18:31:15 <elliott> ais523: egrep doesn't
18:31:18 <ais523> oh, you're checking to see if you used a different grep impl
18:31:19 <elliott> thus the test
18:31:22 <ais523> what's egrep's syntax?
18:31:23 <elliott> same impl
18:31:25 <elliott> just a different option
18:31:27 <elliott> ais523: egrep == grep -E
18:31:35 <elliott> it's basically PCRE, without all the super-advanced stuff
18:31:37 <ais523> but if it doesn't do embedded Perl, it fails
18:31:40 <elliott> `quote oklopol
18:31:41 <HackEgo> 48) <oklopol> i can get an erection out of a plank, you can quote me on that. \ 50) <oklopol> i'm not a porn star, no \ 53) <oklopol> anyway, torture would be fun to experience, true <oklopol> should put that on my todo list \ 56) <oklopol> i'm my dad's unborn sister \ 74) <oklopol> GregorR: are you talking about ehird's
18:31:53 <Deewiant> IOW, it's basically not PCRE
18:32:15 <ais523> Deewiant: PCRE doesn't do embedded Perl anyway
18:32:17 <Phantom_Hoover> `quote AnMaster
18:32:18 <HackEgo> 7) <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop \ 68) <ehird> thanks AnMaster \ 73) <AnMaster> ehird, well yes probably \ 104) <AnMaster> I'm 100% of what sort of magic was involved in it \ 152) <AnMaster> fungot!*@* added to ignore list. <fungot> AnMaster: i'd find that a bit annoying to wait
18:32:27 <ais523> I think it has some sort of callback to let you do embedded any language you want
18:32:32 <elliott> `pastequotes AnMaster|Vorpal
18:32:33 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.4940
18:32:37 <elliott> `pastequotes AnMaster|Vorpal
18:32:38 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26746
18:32:44 <elliott> hmm, looks like I just introduced a bug
18:32:46 <Phantom_Hoover> elliott, you said "Thanks, foo" without saying "Thoo"?
18:32:55 <ais523> (now I'm wondering if I should add a PCRE library as a C expansion library to C-INTERCAL, that allows embedded INTERCAL in regular expressions)
18:32:56 <elliott> Thoo :D
18:33:17 <elliott> #!/bin/sh
18:33:18 <elliott> if [ "$1" ]; then quotes "$1"; else allquotes; fi | paste
18:33:19 <Deewiant> Thue
18:33:21 <elliott> hmm, now where's the bug there?
18:33:30 <elliott> `run quotes "AnMaster|Vorpal"
18:33:31 <HackEgo> No output.
18:33:34 <ais523> test takes more than one argument?
18:33:36 <elliott> `quotes AnMaster
18:33:37 <Phantom_Hoover> `quote
18:33:37 <HackEgo> No output.
18:33:38 <HackEgo> 98) <fungot> ehird: every set can be well-ordered. corollary: every set s has the same diagram used from famous program talisman with fnord windows to cascade, someone i would never capitalize " i"
18:33:41 <elliott> `quotes Vorpal
18:33:42 <HackEgo> No output.
18:33:42 <Phantom_Hoover> `quote
18:33:44 <HackEgo> 89) <Sgeo> What else is there to vim besides editing commands?
18:33:45 <elliott> er
18:33:46 <elliott> "quotes" :D
18:33:47 <elliott> Phantom_Hoover: plz stop
18:33:49 <elliott> race conditions
18:34:11 <elliott> `quotes is now an alias for quote
18:34:12 <HackEgo> No output.
18:34:14 <elliott> `pastequotes AnMaster|Vorpal
18:34:17 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27675
18:34:21 <elliott> `pastequotes AnMaster|Vorpal
18:34:24 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19439
18:34:29 <elliott> wtf?
18:34:33 <elliott> Gregor: what *causes* that anyway
18:34:34 <elliott> `pastequotes AnMaster|Vorpal
18:34:35 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17564
18:34:50 <elliott> `pastequotes AnMaster|Vorpal
18:34:51 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5211
18:34:51 <Gregor> elliott: What causes what?
18:34:59 <elliott> Gregor: see every paste apart from the last one
18:35:04 <elliott> e.g. http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17564
18:35:15 <elliott> Okay, http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5211 is the Compleat Vorpal Kwote Kollection.
18:35:22 <ais523> `quote (((((a*)*)*)*)*)*b
18:35:23 <HackEgo> 3) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 5) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 8) <Warrigal> GKennethR: he should be told that you should always ask someone before killing
18:35:39 <ais523> hmm, we need more strings of consecutive as in the quotedb
18:35:48 <ais523> `quote ((((([^a]*)*)*)*)*)*b
18:35:49 <elliott> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if!
18:35:49 <HackEgo> 3) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 5) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 8) <Warrigal> GKennethR: he should be told that you should always ask someone before killing
18:35:55 <elliott> `addquote <ais523> hmm, we need more strings of consecutive as in the quotedb <elliott> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if!
18:36:01 <HackEgo> 271) <ais523> hmm, we need more strings of consecutive as in the quotedb <elliott> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if!
18:36:04 <elliott> ais523: there you go
18:36:08 <ais523> `quote (((((a*)*)*)*)*)*b
18:36:10 <HackEgo> 3) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 5) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 8) <Warrigal> GKennethR: he should be told that you should always ask someone before killing
18:36:21 <ais523> `quote (((((a*)*)*)*)*)*s
18:36:22 <HackEgo> 1) <Aftran> I've always wanted to kill someone. >.> \ 2) <Aftran> I used computational linguistics to kill her. \ 3) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 4) <lament> i read paths as penis :( \ 5) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have
18:36:27 <elliott> ais523: egrep doesn't do backreferences AFAIK
18:36:33 <elliott> so good luck with that
18:36:33 <ais523> those aren't backrefs
18:36:39 <elliott> ais523: no, but that's only slow if you do backrefs
18:36:42 <ais523> `quote (((((a+)+)+)+)+)+s
18:36:43 <HackEgo> 4) <lament> i read paths as penis :( \ 5) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 6) <Keiya> I think the freemasons are actually a cover for homosexual men. \ 7) <AnMaster> that's where I got it <AnMaster> rocket
18:36:47 <elliott> (or are really stupid and implement it like that anyway, I guess)
18:36:50 <ais523> or if you use a backtracking impl, which most regex engines do
18:36:55 <elliott> ais523: grep, famously, doesn't
18:37:01 <elliott> presumably GNU weren't stupid enough to fuck even that up
18:37:01 <ais523> and egrep?
18:37:04 <elliott> ais523: EGREP IS GREP
18:37:08 <elliott> IT'S LITERALLY A SYMLINK
18:37:12 <elliott> `run ls -l $(which egrep)
18:37:13 <tswett> Wait, did Aftran really say "I've always wanted to kill someone. >.>"?
18:37:13 <HackEgo> -rwxr-xr-x 2 0 0 115928 Apr 22 2010 /bin/egrep
18:37:14 <ais523> elliott: yes, but is it using the same impl?
18:37:19 <elliott> ais523: yes!
18:37:30 <elliott> In GNU grep, there is no difference in
18:37:30 <elliott> available functionality between basic and extended syntaxes.
18:37:33 <elliott> ais523: ^ grep(1)
18:37:38 <elliott> it's just a nicer syntax
18:37:41 <elliott> () instead of \(\) and the like
18:37:45 <ais523> `quote (...).*\1
18:37:47 <HackEgo> 3) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 5) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 6) <Keiya> I think the freemasons are actually a cover for homosexual men. \ 7) <AnMaster>
18:37:59 -!- nopseudoidea has joined.
18:38:09 <tswett> `quote arm
18:38:10 <HackEgo> 189) <fungot> ais523: killer bunnies can be harmed by domesticated canines only.
18:38:11 <ais523> hmm, is that doing backrefs or not, now? it returned a subset of the results
18:38:24 <ais523> `quote (.....).*\1
18:38:28 <HackEgo> 3) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 5) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 7) <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop \ 8) <Warrigal>
18:38:36 <elliott> Back References and Subexpressions
18:38:36 <elliott> The back-reference \n, where n is a single digit, matches the substring
18:38:36 <elliott> previously matched by the nth parenthesized subexpression of the
18:38:36 <elliott> regular expression.
18:38:38 <elliott> oh, fuck you GNU
18:38:39 <tswett> Remind me, is fungot bot or human?
18:38:43 <elliott> tswett: Bot :P
18:38:45 <ais523> `quote (....,.).*\1
18:38:46 <HackEgo> 31) IN AN ALTERNATE UNIVERSE: <oerjan> In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 86) <ehird> Evolution is awful, awful, awful
18:38:51 <tswett> fungot: ko zvati
18:38:51 <ais523> `quote (.......).*\1
18:38:53 <HackEgo> 5) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 7) <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop \ 8) <Warrigal> GKennethR: he should be told that you should always ask someone before killing
18:39:01 <elliott> Known Bugs
18:39:01 <elliott> Large repetition counts in the {n,m} construct may cause grep to use
18:39:01 <elliott> lots of memory. In addition, certain other obscure regular expressions
18:39:01 <elliott> require exponential time and space, and may cause grep to run out of
18:39:01 <elliott> memory.
18:39:02 <elliott> Back-references are very slow, and may require exponential time.
18:39:02 <ais523> I wonder how far I can go wit hthis
18:39:05 <elliott> oh, whatever
18:39:06 <ais523> `quote (..........).*\1
18:39:07 <HackEgo> 5) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 7) <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop \ 12) <Madelon> Lil`Cube: you had cavity searches? <Lil`Cube> not yet <Lil`Cube> trying to thou,
18:39:11 <elliott> who cares, the quote db is way too small anyway :P
18:39:15 <elliott> for it to be a huge deal
18:39:17 <ais523> `quote (.............).*\1
18:39:18 <HackEgo> 5) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 31) IN AN ALTERNATE UNIVERSE: <oerjan> In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 71) <GregorR-L> If I ever made a game where you
18:39:19 <elliott> and HackEgo kills stuff that runs too long
18:39:25 <ais523> it's just repeating nicks now, mostly
18:39:30 <ais523> `quote (.{20}).*\1
18:39:32 <HackEgo> 31) IN AN ALTERNATE UNIVERSE: <oerjan> In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 78) <GregorR> ??? <GregorR> Are the cocks actually just implanted dildos? <GregorR> Or are there monster dildos and cocks? <GregorR> Or are both the dildos and cocks monster? \ 138) <ais523> so
18:39:44 <ais523> `quote (.{30}).*\1
18:39:45 <HackEgo> 254) <Sgeo> I think I'll write that COBOL program a bit later<Sgeo> I think I'll write that COBOL program a bit later<Sgeo> I think I'll write that COBOL program a bit later<Sgeo> I think I'll write that COBOL program a bit later<Sgeo> I think I'll write that COBOL program a bit later<Sgeo> I think I'll write that COBOL program
18:39:50 <ais523> oh come /on/
18:39:56 <tswett> Whelp, that's the last quote.
18:40:01 <elliott> ais523: blame me for that, I was intending to remove it
18:40:08 <elliott> ais523: umm, I'll add a deletequote
18:40:11 <elliott> shouldn't be hard
18:40:12 <ais523> `quote (.{25}).*\1
18:40:13 <HackEgo> 31) IN AN ALTERNATE UNIVERSE: <oerjan> In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 138) <ais523> so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.? \ 254) <Sgeo> I think I'll write that COBOL program a bit
18:40:42 <tswett> Say, it would be annoyingly easy to make a Lua bot.
18:40:55 <ais523> hmm, is "a.b.c.d.e.f.g.h.i.j.k.l.com" or "In an alternate universe, " longer?
18:41:03 <ais523> I want to know who has second place
18:42:20 <elliott> `delquote 254
18:42:21 <HackEgo> No output.
18:42:24 <elliott> `quote 254
18:42:25 <HackEgo> 254) <Gregor> elliott: My university has two Poultry Science buildings. <Gregor> Two!
18:42:27 <elliott> `quote 253
18:42:28 <HackEgo> 253) <Sgeo> How much do mainframes cost these days? I mean, they're obsoleteish, right? My notebook's much more powerful? So surely, they're cheap?
18:42:47 <ais523> `quote (.{25}).*\1
18:42:49 <HackEgo> 31) IN AN ALTERNATE UNIVERSE: <oerjan> In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 138) <ais523> so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.?
18:42:54 <ais523> `quote (.{27}).*\1
18:42:55 <HackEgo> 138) <ais523> so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.?
18:42:59 <ais523> yay, I win
18:43:21 <elliott> `addquote This quote is here so I can test delquote.
18:43:22 <HackEgo> 271) This quote is here so I can test delquote.
18:43:25 <elliott> `delquote 271
18:43:26 <HackEgo> *poof*
18:43:29 <elliott> `quote 271
18:43:31 <HackEgo> No output.
18:43:32 <elliott> `quote 270
18:43:34 <HackEgo> 270) <ais523> hmm, we need more strings of consecutive as in the quotedb <elliott> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if!
18:43:36 <elliott> yay
18:43:43 <elliott> `help
18:43:43 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
18:43:53 <ais523> 270 is not a particularly good quote either
18:43:59 <elliott> `delquote 270
18:44:00 <elliott> indeed
18:44:04 <HackEgo> *poof*
18:44:21 <ais523> `quote (.{5})(.*\1){3}
18:44:27 <HackEgo> 77) <ehird> no Deewiant <Deewiant> No?! <Deewiant> I've been living a lie <ehird> yep. <Deewiant> Excuse me while I jump out of the window -> \ 78) <GregorR> ??? <GregorR> Are the cocks actually just implanted dildos? <GregorR> Or are there monster dildos and cocks? <GregorR> Or are both the dildos and cocks monster? \ 93)
18:44:45 <ais523> `quote (.{5})(.*\1){4}
18:44:46 <HackEgo> 93) <Oranjer> oohhh <Oranjer> ha <Oranjer> heh <madbrain> and what are your other characteristics? <Oranjer> oh, many, madbrain <Oranjer> but it's hardly worth it to go on with listing that list here
18:44:50 <elliott> oh dear, I have a bug
18:44:55 <ais523> meh, just repeated nicks
18:45:13 <ais523> `quote ()*
18:45:18 <HackEgo> 1) <Aftran> I've always wanted to kill someone. >.> \ 2) <Aftran> I used computational linguistics to kill her. \ 3) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 4) <lament> i read paths as penis :( \ 5) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have
18:45:19 <Deewiant> ais523: Disallow the <>?
18:45:32 <ais523> Deewiant: perhaps, but you'd need to use zero-width assertions for that
18:45:39 <elliott> wait, how does one do echo safely?
18:45:41 <Deewiant> ais523: No, just [^<]
18:45:44 <ais523> to distinguish <abcdeabcdeabcde> from abcdeabcdeabcde
18:45:45 <elliott> as in, avoid any arguments?
18:45:47 <elliott> echo doesn't allow --
18:45:52 <ais523> Deewiant: bu the <> aren't part of what's matched
18:45:53 <Deewiant> ais523: Of course it's not general but it could help
18:46:02 <elliott> ? anyone know?
18:46:31 <Deewiant> elliott: echo -
18:46:37 <ais523> there isn't one
18:46:38 <elliott> $ echo - x
18:46:39 <elliott> - x
18:46:40 <elliott> Deewiant: you are incorrect
18:46:47 <Deewiant> elliott: Works on SOLARIS
18:46:54 <ais523> I just checked the manpage
18:46:56 <elliott> oh, I'll just use printf
18:47:08 <Deewiant> % echo - x
18:47:08 <Deewiant> x
18:47:12 <ais523> in fact, I'm not sure if it's possible to print -n, followed by a newline, with GNU echo
18:47:18 <ais523> without printing other stuff on the same line
18:47:21 <Deewiant> % echo - -n
18:47:22 <Deewiant> -n
18:47:27 <elliott> ais523: echo -n '-n
18:47:28 <elliott> '
18:47:34 <ais523> elliott: haha
18:47:42 <ais523> you're right, that does work
18:47:51 <ais523> without the newline, is it impossible?
18:47:55 <ais523> echo -n -n prints the null string
18:48:04 <elliott> ais523: echo -ne '-n\n'
18:48:15 <tswett> elliott: how old are you now, mate? Are you still younger than my little brother or have you outgrown him by now?
18:48:34 <ais523> elliott: /without the newline/
18:48:36 <ais523> that prints a newline
18:48:40 <elliott> ais523: ah
18:48:51 <elliott> tswett: I have indeed been getting older at an exponential rate.
18:49:23 <tswett> So now you're, what, 24 years old?
18:49:33 <ais523> tswett: he said /exponential/ not quadratic
18:49:40 <elliott> you tell him ais523!
18:49:44 <ais523> s/\/ /\/, /
18:50:06 <ais523> that'd have been clearer if I matched on the not...
18:50:24 <tswett> Oh, right.
18:50:26 <elliott> `addquote this is just a test
18:50:27 <HackEgo> 270) this is just a test
18:50:28 <elliott> `delquote 270
18:50:29 <tswett> 483 years old?
18:50:33 <HackEgo> *poof*
18:50:34 <elliott> ok, here is the current source code:
18:50:39 <elliott> addquote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/80866b6af8af/bin/addquote
18:50:42 <elliott> allquotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/56862be707f3/bin/allquotes
18:50:44 <tswett> That is the mark of Gregor right there.
18:50:45 <elliott> quote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/56862be707f3/bin/quote
18:50:49 -!- Sgeo has quit (Ping timeout: 255 seconds).
18:50:51 <elliott> pastequotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/56862be707f3/bin/pastequotes
18:50:53 <ais523> tswett: except that Gregor didn't write that
18:51:00 <tswett> It's still the mark of Gregor.
18:51:00 <ais523> elliott decided to rewrite our quotedb
18:51:08 <elliott> quotes is an alias of quote
18:51:28 <ais523> `addquote <tswett> That is the mark of Gregor right there. <ais523> tswett: except that Gregor didn't write that <tswett> It's still the mark of Gregor.
18:51:29 <elliott> ais523: my religion prohibits me from allowing a program to maintain what is just a list of \n-terminated strings with sqlite
18:51:29 <HackEgo> 270) <tswett> That is the mark of Gregor right there. <ais523> tswett: except that Gregor didn't write that <tswett> It's still the mark of Gregor.
18:51:35 <elliott> *a Unix program
18:51:41 <elliott> especially if the system is slow
18:51:48 <ais523> elliott: use Oracle instead?
18:51:48 -!- kar8nga has joined.
18:51:51 <elliott> ais523: hmm, can I redo that quote with two spaces between messages?
18:51:54 <elliott> it looks weird without it :P
18:52:04 <tswett> I have access to an Oracle database!
18:52:05 <ais523> elliott: but I don't mentally put two spaces between messages
18:52:07 <ais523> otherwise
18:52:11 <ais523> if you split a sentence up like this
18:52:20 <ais523> it would become grammatically incorrect
18:52:23 <ais523> due to the incorrect spacing
18:52:29 <elliott> ais523: not grammatically, orthographically
18:52:38 <ais523> punctuation normally counts as grammar, doesn't it/
18:52:56 <quintopia> i think double-spacing is a good stand-in for newlines when they can't exist
18:53:06 <ais523> also, pressing shift immediately after / should make it into a ? even if you already sent the message to IRC
18:53:15 <ais523> quintopia: I normally use {{{ \ }}}
18:53:31 <elliott> Links to sources that will always be the latest version:
18:53:32 <elliott> addquote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/addquote
18:53:32 <elliott> allquotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/allquotes
18:53:32 <elliott> quote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/quote
18:53:32 <elliott> pastequotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/pastequotes
18:53:32 <elliott> And the latest quote database is always available at http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes.
18:53:36 <quintopia> ais523: that is also acceptable
18:53:36 <elliott> ais523: no, punctuation is orthography
18:53:46 <elliott> ais523: this is why augur speaks with perfect grammar but terrible orthography :)
18:53:54 <oerjan> `addquote test1
18:53:55 <HackEgo> 271) test1
18:53:59 <oerjan> `addquote test2
18:54:00 <elliott> hmm, I'd write an editquote except, really, you could just use ed for that
18:54:00 <HackEgo> 272) test2
18:54:04 <elliott> `delquote 271
18:54:05 <HackEgo> *poof*
18:54:06 <elliott> `delquote 272
18:54:08 <HackEgo> *poof*
18:54:20 <elliott> oerjan: mwahaha
18:54:22 * oerjan swats elliott -----###
18:54:29 <oerjan> I WAS NOT FINISHED TESTING
18:54:42 <oerjan> `quote 271
18:54:43 <HackEgo> 271) test2
18:54:48 <quintopia> pastequotes dumps all quotes to pastebin?
18:54:51 <oerjan> `quote 272
18:54:52 <HackEgo> No output.
18:54:58 <ais523> elliott: what would you use for something that was basically a serialised hash
18:55:04 <elliott> ais523: eh?
18:55:05 <ais523> like a typical editable learndb?
18:55:10 <elliott> ais523: ah
18:55:12 <ais523> instead of enter number, get quote
18:55:17 <ais523> enter topic, get quote
18:55:22 <oerjan> elliott: it seems you accidentally completed my test
18:55:29 <oerjan> `delquote 271
18:55:30 <HackEgo> *poof*
18:55:34 <oerjan> `quote 271
18:55:35 <HackEgo> No output.
18:55:36 -!- Sgeo has joined.
18:55:44 <elliott> quintopia: HackEgo's pastebin, yes; you can also search
18:55:48 <elliott> and get all the resulting quotes as a paste
18:55:48 <quintopia> elliott: that second delquote should say "there is no quote with that number" instead of *poof*
18:55:54 <elliott> by giving pastequotes an argument
18:55:57 <elliott> quintopia: ok, i'll implement that
18:56:01 <elliott> ais523: depends! I can think of a few possibilities off the top of my head
18:56:09 <elliott> ais523: the "accepted" solution is berkeley db
18:56:15 <ais523> ooh, now I've thought of doing it as a filesystem
18:56:16 <elliott> ais523: the ultra-Unixy solution is one file per info
18:56:20 <ais523> yep
18:56:32 <ais523> hmm, directories are basically just associative arrays, aren't they/
18:56:33 <elliott> ais523: and the sanest way is probably a file of the form "topic:...blah blah blah..."
18:56:35 <oerjan> quintopia: actually it said No output.
18:56:47 <elliott> wrong
18:56:50 <elliott> it said poof twice
18:57:00 <oerjan> oh wait
18:57:08 * oerjan read the wrong line
18:57:15 -!- nooga has quit (Ping timeout: 265 seconds).
18:57:27 <ais523> OK, new esolang idea: everything is an associative array
18:57:32 <ais523> including the keys of associative arrays
18:57:42 <ais523> you'd have to start with {}, then {{} => {}}, etc
18:57:47 * Sgeo was about to shout "Lua"
18:58:05 <ais523> Sgeo: JS works the same way as Lua on that
18:58:10 <ais523> which is to say, not like /this/
18:58:11 -!- nooga has joined.
18:58:12 <ais523> I mean /everything/
18:58:33 <elliott> testing one new feature before fixing delquote
18:58:35 <elliott> `pastenquotes
18:58:36 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.21067
18:58:41 <elliott> yay
18:58:43 <elliott> `pastenquotes 20
18:58:44 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28761
18:58:51 <elliott> N random quotes, good for your health
18:58:58 <ais523> you can get a lot more possibilities at the next level
18:59:08 <Sgeo> Instead of going 0, 1, 2
18:59:10 <ais523> as you have two possible keys, either of which might or might not have an associated value
18:59:13 <Sgeo> It's more like 0, 1a, 1b
18:59:19 <ais523> and two possible values for each of them
18:59:25 <ais523> then there's a combinatorial explosion from there
18:59:37 <elliott> quintopia: hmm, actually, fixing delquotes like that would be a pain and not really worth it
18:59:41 <quintopia> ais523: could you at least have syntactic sugar for strings and identifiers, like, "elliott" automatigically expands to {"e" => {"l" => {"l" => {"i" => {"o" => {"t" => {"t" => {}}}}}}}}?
18:59:44 <ais523> it'd be much like basing everything on sets, or on lists, just more annoying
18:59:55 <ais523> quintopia: hmm, I wonder if that's an obvious way to do identifiers, I suppose it is
19:00:00 <elliott> actually, wait, I could do it
19:00:29 <ais523> this is more general than lists, I suppose, as you can always construct cons cells as {head => tail}, but you can also have more than one pair as long as the keys are distinct
19:01:31 <elliott> `delquote 9999999999
19:01:32 <HackEgo> No output.
19:01:36 <quintopia> it's equivalent to lists in my mind...at least in how you'd use it.
19:01:37 <elliott> done
19:01:39 <elliott> `addquote blarghl
19:01:42 <HackEgo> 271) blarghl
19:01:44 <elliott> `delquote 271
19:01:45 <HackEgo> *poof*
19:01:53 <elliott> the power of diff
19:02:00 <quintopia> :D
19:02:17 <elliott> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/delquote
19:02:18 <elliott> literally
19:02:19 <elliott> the power of diff
19:03:13 <elliott> I think the development time of this new quotes system reflects well on Unix, even when you don't have a visual editor :P
19:04:02 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:04:47 -!- Sgeo has quit (Ping timeout: 255 seconds).
19:04:58 <ais523> `delquote `echo Hello World 1>&2`
19:04:59 <HackEgo> No output.
19:05:03 <ais523> boring
19:05:04 <elliott> ais523: that wouldn't work anyway
19:05:08 <elliott> you have to use `run for that
19:05:13 <elliott> ais523: but it only takes a number
19:05:16 <elliott> `addquote example
19:05:17 <HackEgo> 271) example
19:05:20 <elliott> `run delquote $(echo 271)
19:05:21 <HackEgo> *poof*
19:05:22 <ais523> yep, I wanted to give it a string to see how it reacted
19:05:31 <ais523> and I picked a string which would be noticeable if it got shell-unescaped
19:05:32 <elliott> ais523: well, I think that $(... 1>&2) = ""
19:05:42 <elliott> same with ``, ofc
19:05:47 <elliott> where "" denotes empty string
19:05:47 <ais523> `run echo test `echo Hello World 1>&2`
19:05:48 <HackEgo> test
19:05:56 <ais523> `run echo test 1>&2
19:05:57 <HackEgo> No output.
19:06:01 <ais523> oh, HackEgo doesn't output stderr
19:06:10 <ais523> `run (echo test `echo Hello World 1>&2`) 2>&1
19:06:11 <HackEgo> Hello World \ test
19:06:15 <ais523> `run (echo test `echo Hello World 1>&2`) 2>&1
19:06:17 <HackEgo> Hello World \ test
19:06:22 <ais523> elliott: it does work
19:06:39 <elliott> ais523: heh, okay
19:06:55 <ais523> `` (or $()) only redirects stdout, stderr stays unchanged
19:06:56 <HackEgo> No output.
19:06:56 <elliott> `run ls bin | grep quote
19:06:58 <HackEgo> addquote \ allquotes \ delquote \ pastenquotes \ pastequotes \ quote \ quotes
19:07:17 -!- Zuu_ has changed nick to Zuu.
19:07:27 -!- Zuu has quit (Changing host).
19:07:27 -!- Zuu has joined.
19:08:14 <elliott> http://www.superant.com/smalllinux/files/
19:09:31 <quintopia> oh this is bril http://d-e-f-i-n-i-t-e-l-y.com/
19:09:37 <elliott> ooooold
19:09:57 <elliott> ais523: guess who's running a Linux 1.0.9 system in qemu??
19:09:59 <elliott> OOPS THAT'S RIGHT
19:10:00 <elliott> IT'S ME
19:10:17 <elliott> wow, this GNU ls doesn't have -h
19:14:10 <elliott> grr, I can't find smallX
19:17:39 -!- nopseudoidea has quit (Quit: Quitte).
19:18:17 -!- cheater99 has joined.
19:19:40 <elliott> System is 557 kB
19:19:44 <elliott> it has ethernet support. well, sort of
19:19:49 <elliott> I don't think I've actually included any ethernet drivers :P
19:20:17 <ais523> things I didn't even realise it was possible to do by accident: I just pasted the entire front page of a forum into an email I was composing by mistake
19:20:36 <ais523> it was a plaintext email, but it was still laid out neatly with nested tables
19:21:28 <elliott> ais523: ha
19:21:39 <elliott> ais523: so, do you think 557 KiB is way too big for a kernel?
19:22:47 <elliott> "If unsure, say N." --Kconfig, about Ethernet support
19:22:54 <elliott> they be smokin' the crack
19:22:56 <oerjan> Nsure
19:23:28 <ais523> elliott: well, it is a kernel
19:23:36 <elliott> Vorpal: question! If I only enable 10/100Mbit ethernet, and don't include any 1Gbit ethernet drivers, will 1Gbit ethernet cards work with it?
19:23:38 <elliott> just at a slower speed?
19:23:39 <elliott> say yes
19:23:50 <elliott> ais523: yes, but it doesn't support swap.
19:23:51 <ais523> as long as it comes with all the applications you ever need compiled in as kernel modules, you don't actually need a userspace
19:23:55 <elliott> ais523: or any filesystems.
19:24:01 <elliott> ais523: or large swathes of useful APIs.
19:24:02 <Vorpal> elliott, I doubt it
19:24:06 <elliott> ais523: or just about any hardware at all
19:24:08 <ais523> "any filesystems"?
19:24:18 <elliott> ais523: I've disabled them all
19:24:20 <ais523> how does it access files, then?
19:24:21 <Vorpal> elliott, those are just grouping drivers
19:24:22 <elliott> I'll probably enable FAT or something
19:24:28 <elliott> ais523: it doesn't; you bundle it with an initramfs
19:24:34 <Vorpal> elliott, based on speed of unit they are for
19:24:39 <ais523> oh, ramfs is a filesystem
19:24:42 <elliott> ais523: the bootloader handles loading the kernel from the floppy, which contains the initramfs, which contains everything you need
19:24:43 <elliott> ais523: no it isn't
19:24:47 <elliott> it's internal kernel code
19:24:53 <ais523> semantics
19:24:57 <elliott> it isn't exposed to userspace the way i have it
19:25:14 <ais523> oh, there's something beautiful about having a filesystem but not exposing it to userspace
19:25:23 <elliott> Vorpal: gah, but these drivers will take up space! I need to fit the kernel AND programs into 1.44 megs!
19:26:48 <elliott> ;hackers' libc
19:26:48 <elliott> ;
19:26:48 <elliott> ;Yes, this is the most advanced libc ever seen.
19:26:48 <elliott> ;It uses advanced technologies which are possible only with assembly.
19:26:48 <elliott> ;Two main features that make this libc outstanding:
19:26:48 <elliott> ;1) calling convention can be configured AT RUNTIME (cdecl is default)
19:26:50 <elliott> ;2) THE smallest size
19:26:52 <elliott> --asmutils
19:27:21 <elliott> -rwxr-xr-x 1 elliott elliott 19246 Dec 6 17:38 libc.so.0
19:27:32 <elliott> -rw-r--r-- 1 elliott elliott 20566 Dec 6 17:38 libc.a
19:28:47 <ais523> 1) sounds like it takes up space
19:31:06 <elliott> ais523: I think when your libc is 20.5 decimal kilobytes, you can afford to spend bytes on lavish features :P
19:32:17 <elliott> (vmware cpu wtf--disable)
19:32:29 <elliott> hey ho, ELF support is smaller than a.out support
19:35:17 <elliott> hmm, did I forget to disable most of ipv4?
19:36:29 <ais523> I like the way you're doing IPv6 but not IPv4
19:36:35 <ais523> or are you doing neither?
19:38:17 <elliott> ais523: IPv4 but not IPv6
19:38:21 <elliott> why did you think i was doing ipv6?
19:38:46 <ais523> because you said you were disabling ipv4
19:39:09 <ais523> given that ipv4 is going to run out soon, and that ipv6 is a bit simpler anyway, I was wondering if ipv6 was the better choice if you were only going to have one networking protocol
19:39:17 <elliott> ais523: disabling *most of* :)
19:39:37 <elliott> ais523: i don't have an ipv6 link so i'm not getting rid of ipv4 :)
19:39:52 <elliott> grr, what more can I turn off..
19:40:24 <elliott> CONFIG_DEFAULT_SECURITY_DAC=y
19:40:24 <elliott> CONFIG_DEFAULT_SECURITY=""
19:40:24 <elliott> CONFIG_HAVE_KVM=y
19:40:25 <elliott> hmm
19:40:41 <elliott> │ Symbol: HAVE_KVM [=y] │
19:40:41 <elliott> │ Type : boolean │
19:40:41 <elliott> │ Selected by: X86 [=y] │
19:40:42 <elliott> heh
19:41:28 <elliott> I wonder if a nommu build is smaller :)
19:41:38 <fizzie> That's just the "can do KVM" symbol, I think; it's what actual CONFIG_KVM depends on.
19:42:24 <elliott> yeah
19:43:06 <Vorpal> elliott, well my kernel is 1.5 MB and it supports only my system
19:43:28 <elliott> Vorpal: How? I've disabled basically EVERYTHING EVER and mine is still 500K or so.
19:43:49 <elliott> Did you compress it with some secret EvenBetterThanLZMA? Seriously, I have no idea how to get this any smaller.
19:44:11 <ais523> maybe he's found one of the few files in existence azip actually beats LZMA on
19:44:19 <Vorpal> elliott, 500 K < 1.5 MB?
19:44:20 <elliott> ais523: does he have azip?
19:44:22 <Vorpal> uh
19:44:32 <elliott> Vorpal: Yes, but I don't see how you can pack a useful desktop system into 3x that size.
19:44:35 <Vorpal> elliott, I use zlib compression btw
19:44:36 <ais523> I managed to construct one, but lzma >> azip > bzip2 >>> gzip for most largish files
19:44:37 <elliott> Considering my kernel supports basically NOTHING.
19:44:40 <Vorpal> because I haven't bothered changing
19:44:54 <ais523> azip loses to bzip2 on smaller files
19:44:54 <elliott> ais523: Is azip fast?
19:44:58 <ais523> not massively
19:45:02 <elliott> ais523: faster than bzip2?
19:45:05 <elliott> bzip2 is pretty slow
19:45:12 <ais523> hmm, I haven't timed them against each other
19:45:13 <ais523> I'll do that now
19:45:37 <elliott> ais523: If it's faster to decompress than bzip2, I think it occupies a very useful niche.
19:45:44 <elliott> LZMA is way overkill and very slow and memory intensive for most purposes.
19:46:20 <ais523> I haven't really tried to optimise it, except by speeding up inner loops when they were getting in my way, and by using O(n log n) sorts over O(n^2) sorts
19:47:05 <elliott> 1648198 -> 851342 51.65% linux/386 vmlinux
19:47:07 <elliott> UP motherfuckin' X.
19:47:17 <elliott> Useless, unfortunately :P
19:47:21 <ais523> nah, it's much slower than bzip2 it seems
19:47:22 <elliott> It's bigger than my bzImage.
19:47:38 <ais523> I wonder how far it could be optimized
19:48:06 <elliott> ais523: you should try, I'd love to distribute stuff as azip and be able to claim to be doing it for reasons other than pissing everyone off
19:48:13 <elliott> ais523: btw, what's azip's native extension? .az?
19:48:16 <elliott> don't say .azip, that's boring
19:48:19 <ais523> yep, .az
19:48:41 <ais523> I abandoned azip mostly because I couldn't find a niche for it, it seems inferior to some other compression protocol in every respect
19:48:56 <elliott> hmm, do tickless systems have smaller kernels? :P
19:49:18 <elliott> System is 585 kB
19:49:19 * elliott make
19:49:44 <elliott> I refuse to stop until I have the kernel, asmutils, an X server and xterm on a single floppy.
19:49:52 <elliott> Ideally a super-stupid IRC client too. Say RawIRC :P
19:50:23 <ais523> decompression was about 4 times slower than bunzip2 on my test file
19:50:34 <ais523> and that can potentially be improved by memoizing it
19:50:54 <ais523> (it took around 2 minutes the first time because I forgot an < character and it was trying to read stdin; that run doesn't count)
19:51:03 <ais523> just 1.739s the second time
19:51:15 <elliott> ais523: aha!
19:51:22 <ais523> bunzip2 took 0.420s
19:51:22 <elliott> ais523: try getting rid of all your IO code and using mmap instead
19:51:37 <ais523> as I said, I haven't really tried to optimise it
19:51:58 <elliott> ais523: hmm, I don't have the code any more; could you pastebin it again? I'd like to have a go at optimising it
19:52:04 <elliott> System is 587 kB
19:52:08 <elliott> aww, tickless *adds* bytes
19:53:05 * elliott i686s it in the hopes of getting a smaller kernel
19:54:24 <ais523> http://pastebin.ca/2012252
19:54:35 <ais523> also, pastebin's syntax highlighting fails on ' inside shell comments
19:55:06 <ais523> also, why the hell does GNU shar try to use gettext?
19:55:55 <elliott> ais523: you missed an excellent opportunity there to give me a .tar.az
19:56:12 <elliott> ais523: also, what kind of name for a computer is desert? :)
19:56:35 <ais523> elliott: well, I like it
19:56:42 <ais523> also, you've had loads of chances to spot my hostname before
19:56:50 <elliott> ais523: I have?
19:57:00 <elliott> ais523: grrrrrrrr, pastebin.ca does DOS line endings
19:57:02 <ais523> when I set it, I actually conciously wondered how long it would be before a #esoteric denizen commented on it
19:57:09 <ais523> elliott: so does the Internet generally
19:57:17 <elliott> ais523: also -- sharbomb! :)
19:57:19 <ais523> you can just dtou it or something, though, can't you?
19:57:23 <elliott> yeah, I fromdos'd it
19:57:40 <ais523> and are shars supposed to bomb? IIRC, zips are
19:57:44 <elliott> ais523: do you use any particular flags when compiling this?
19:57:46 <elliott> and who knows
19:57:52 <elliott> I think they're meant to be like tars, and not
19:58:07 <ais523> elliott: not really, let me find my makefile
19:58:22 <ais523> seems I use gcc -O2 -ggdb -g3 -Wall -Wextra
19:58:43 <ais523> that's a rather higher debug option than I normally use, which says something about the code
19:59:17 <elliott> ais523: got the test file you were using?
19:59:29 <Phantom_Hoover> Anyone have a way to work out the pixelised image of an ellipse?
19:59:34 <Gregor> amazon.de -> "Mein Kampf" -> 2 results in the category "Gay & Lesbian?" -> "The Ideal Gay Man: The Story of Der Kreis"
19:59:36 <Gregor> Huh?
19:59:37 <Phantom_Hoover> (That isn't GIMP.)
20:00:34 <ais523> elliott: it's the released public beta of C-INTERCAL, as an uncompressed tarball
20:00:47 <ais523> azip works kind-of badly on files that have already been compressed, in fact much worse than many other algos
20:00:50 <elliott> ais523: the one with the - in the version number?
20:00:53 <ais523> yep
20:01:06 <ais523> I also use the GPL version 3 as a smaller test file
20:01:13 <ais523> when I want to be able to actually check the whole thing by hand
20:01:14 <elliott> ais523: have you got a link? my browser is being slow right now
20:01:21 <ais523> I can't remember where it is offhand
20:02:16 <elliott> System is 478 kB
20:02:18 <elliott> block layer = bloat
20:02:18 <ais523> here, if you want to see how the algo works, run "./azip -t GPL > /dev/null" (where GPL is any GPL-like document)
20:02:39 <ais523> that won't give the low-level summary, but it will give a high-level summary of how it works
20:02:40 <elliott> ais523: oh, I'm more interested in optimising it than understanding whatever crazy scheme you've come up with :)
20:02:44 <ais523> from there, it's pretty much just Shannon coding
20:02:53 <elliott> as far as I'm concerned, if it's faster than bzip2, it occupies a useful niche
20:03:08 <ais523> and it's a surprisingly simple scheme, resembling gzip's but with a much better ratio
20:03:20 <elliott> hmm, where's the GPL on a typical Debian system?
20:03:22 <fizzie> Phantom_Hoover: Can't you just use just about any language for that, iterate through points (-N, -M) .. (N, M) and for each point (x,y) set it if x^2/a^2 + y^2/b^2 <= 1 for suitable values of a, b? (I'm assuming an axis-oriented ellipse is just fine for you.)
20:03:44 <Phantom_Hoover> fizzie, too much work!
20:03:49 <ais523> /usr/share/common-licenses
20:03:49 <Phantom_Hoover> It's for ROU construction!
20:03:53 <ais523> that's where I got my copy from
20:04:16 <augur> elliot: i dont speak with perfect grammar
20:04:29 <augur> elliott: but thats because performance is not competence
20:04:33 <elliott> augur: SURE IS
20:04:35 * ais523 wonders if a flamewar will start about using the GPLv2 vs. the GPLv3 as a test file for compression algorithms
20:05:04 <ais523> also, it's worth pointing out that azip writes to stdout, and reads from stdin if no file is given; unazip was written in a rush so it ignores command-line arguments and only acts as a filter, zcat style
20:05:15 <Gregor> Both are godawful test files.
20:05:15 <ais523> this is a superior interface to gzip's
20:05:21 <ais523> Gregor: in what way?
20:05:33 <Gregor> ais523: Well, part of a decent test /suite/, sure. But not as an individual test.
20:05:41 <Gregor> It's just ... ASCII test. Repetitive, ASCII text.
20:05:46 <Gregor> s/test/text/
20:05:49 <ais523> Gregor: it's not massively repetitive
20:05:50 <elliott> ais523: did you measure compression or decompression speed?
20:05:53 <ais523> and it has things like the section in allcaps
20:06:02 <elliott> Gregor: repetitive, ascii text -- you mean like source code?
20:06:02 <ais523> elliott: decompression's around 4x slower than bzip2
20:06:33 <ais523> compression is, atm, around 27 times slower; that obviously needs improvement
20:06:54 <elliott> ais523: hmm, why do you use unsigned long long?
20:06:58 <elliott> that's == unsigned long on 64-bit
20:06:58 <ais523> I suspect this is partly because bzip2 splits the input stream into chunks, and azip always compresses the entire file
20:07:01 <elliott> oh, for 32-bit
20:07:13 <ais523> in places I actually do absolutely need 64-bit precision
20:07:19 <ais523> like the fixed-point cube route routine
20:07:21 <ais523> *cube root
20:07:33 <ais523> which is memoized because it's far too slow otherwise
20:07:41 <elliott> long long is == int64_t on 64-bit, right?
20:07:58 <fizzie> Phantom_Hoover: perl -e 'use GD; ($X, $Y) = (110, 15); ($a, $b) = (100, 12.5); $i = new GD::Image(2*$X+1, 2*$Y+1); $i->colorAllocate(255,255,255); $c = $i->colorAllocate(0,0,0); foreach $y (-$Y .. $Y) { foreach $x (-$X .. $X) { $i->setPixel($x+$X, $y+$Y, $c) if ($x*$x)/($a*$a) + ($y*$y)/($b*$b) <= 1; } } open F, ">:raw", "e.png"; print F $i->png();'
20:08:08 <elliott> ais523: hmm, do assert()s get compiled out with -DNDEBUG?
20:08:11 <elliott> using glibc
20:08:30 <fizzie> Phantom_Hoover: That gives you a black-on-white ellipse in e.png, with a canvas of 221x31 and axes of 100 and 12.5.
20:08:46 <elliott> ugh, you've tied the parsing to the IO
20:09:03 <elliott> bad ais523!
20:09:26 <ais523> elliott: they do
20:09:31 <ais523> also, I don't think I did
20:09:39 <ais523> I interleaved the parsing with the IO, but they aren't tied to each other
20:09:44 <elliott> size_t innumber_bounded_flat(FILE* f, size_t bound) {
20:09:49 <elliott> outnumber_bounded_inner. */
20:09:49 <elliott> size_t innumber_bounded_inner(FILE* f, size_t minbound, size_t bound,
20:09:49 <elliott> int countup_000, size_t origbound) {
20:09:49 <ais523> and I don't think the IO is a noticeable overhead
20:09:50 <elliott> etc.
20:10:03 <ais523> ah
20:10:12 <elliott> ais523: well, azip certainly has one major advantage; unazip.c is frickin' small :P
20:10:19 <ais523> elliott: that was deliberate
20:10:23 <ais523> I think it can be made smaller, too
20:10:45 <ais523> anyway, all the I/O of compressed data is centralised in inbit/outbit
20:10:49 <ais523> because the system reads a bit at a time
20:11:18 <Phantom_Hoover> fizzie... how...
20:11:46 <elliott> ais523: well, if it's mmap, then inbit will just be return *s++ :P
20:11:47 <elliott> or whatever
20:11:53 <ais523> the file's padded to a whole byte at the end, because I had no other option
20:11:57 <elliott> ais523: but seriously, reading a bit at a time *is* going to be a noticeable overhead!
20:12:32 <ais523> elliott: the funny thing about azip is that it still beats gzip even if it doesn't bother encoding numbers at all and just writes them as (number of bytes in number)(number)
20:12:38 <ais523> although it's way behind bzip2 if you do that
20:13:20 <elliott> ais523: heh, really?
20:13:23 <elliott> gzip must be terrible
20:13:29 <ais523> indeed
20:13:55 <ais523> actually, I think I specialcased the number that was usually 2 in that encoding scheme
20:14:06 <fizzie> Phantom_Hoover: It might have some rounding-off problems when the border hits exactly the center of a pixel, and the center of the ellipse is (I think) in the middle of a pixel, and so on, so it might not be exactly what you want. (I mean, for a 200-pixel-wide ellipse that has the border tangential to the edge of a pixel, you'd need the center on the border between two pixels, or some-such.)
20:14:25 <fizzie> (You get what you pay for.)
20:14:27 <ais523> (azip encodes a 2 in the value that's usually 2 in a single bit, using longer codes for other numbers)
20:14:36 <Phantom_Hoover> fizzie, how did you code that in what... 5 minutes?
20:14:47 <elliott> Phantom_Hoover: ...it's trivial
20:14:54 <elliott> just a for loop setting some pixels
20:14:58 <ais523> see azip.c line 455 for a discussion of the probabilities
20:15:05 <Phantom_Hoover> I do not actually have GD.
20:15:07 <ais523> which seem relatively constant amongst source code tarballs
20:15:09 <elliott> ais523: how much memory overhead does azip have?
20:15:09 <Phantom_Hoover> Whatever that is.
20:15:12 <elliott> unazip
20:15:21 <ais523> elliott: ah, that's the brilliant part
20:15:25 <elliott> Phantom_Hoover: just install the package
20:15:26 <ais523> it's O(size of the compressed file), IIRC
20:15:35 <Phantom_Hoover> elliott, what's the name?
20:15:48 <elliott> ais523: I'm not impressed; LZO is O(0)
20:15:57 <elliott> ais523: well, O(1); you need a source and destination buffer
20:16:00 <ais523> is LZO actually a compressor?
20:16:07 <elliott> ais523: err, yes
20:16:09 <elliott> ais523: http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Oberhumer
20:16:14 <elliott> ais523: it gets almost-as-good results as gzip
20:16:15 <fizzie> Phantom_Hoover: libgd-gd2-perl.
20:16:17 <elliott> ais523: and can decompress in realtime (IO-bound)
20:16:21 <elliott> on even weak hardware
20:16:21 <ais523> I mean, the memory used by the entire unazip.c is O(size of compressed file) plus a constant
20:16:26 <ais523> although it can't stream
20:16:32 <elliott> ais523: same for LZO, it operates on blocks at a time
20:16:34 <ais523> why did I add the constant there?
20:16:37 <ais523> now I have two constatns
20:16:42 <fizzie> I'm not surprised you don't have it; it's quite horrible.
20:16:43 <ais523> *two constants
20:16:43 <elliott> so if you have a 4096 block size, it'll use 8K for the entire run
20:17:07 <ais523> hmm, ingenious
20:17:17 <ais523> but as we've already established, "almost as good as gzip" isn't actually very good
20:17:31 <elliott> ais523: lzo isn't designed to be well-compressing
20:17:32 <ais523> (azip the compressor eats a huge amount of memory, incidentally)
20:17:53 <elliott> ais523: it's designed to be better than not compressing, to use a tiny amount of constant memory, and to decompress so fast that it's IO-bound
20:17:59 <elliott> it fits all three, and is widely used as a result
20:18:59 <ais523> elliott: the encoding in that link is screwed up
20:19:14 <elliott> ais523: no it's not
20:19:16 <elliott> those aren't hyphens
20:19:25 <ais523> they're encoded as %E203 here
20:19:26 <fizzie> Phantom_Hoover: Anyway, you get more "elliptical-looking" endpoints out of it if you use something like 99.5 for $a (because then the parallel-to-y-axis edges of the ellipse are tangential to the edge of a pixel) but that way you'll get just a 199-wide ellipse.
20:19:28 <ais523> which makes no sense
20:19:52 <ais523> also, Wikipedia is being very slow for me for some reason
20:20:11 <ais523> to the extent that the CSS hasn't loaded at all
20:20:24 <elliott> ais523: is there a development repository in ubuntu? like, something even less stable than natty
20:20:46 <elliott> ais523: wait, memoised_fibonacci is totally pointless, you can just inline every single value,t here's only 92
20:20:48 <elliott> *there's only 92
20:22:40 <ais523> elliott: indeed; I thought about that
20:22:50 <elliott> modifying it now to inline them all
20:22:55 <ais523> but decided a function to generate them was more self-documenting than a list of constants in which errors wouldn't be obvious
20:22:56 <elliott> hmm, what's the unsigned long long suffix? ULL?
20:23:02 <fizzie> I was thinking of using LZO in rfk86 -- based on the fact that I have a "tmp.txt.lzo" file here -- but in the end I went with a rather simplistic LZ77/Huffman decompressor, basically a simplified deflate.
20:23:03 <ais523> yep
20:23:13 <Phantom_Hoover> elliott, what's this about Fibonacci?
20:23:21 <ais523> btw, can you think of something that acts more or less like a fixed-point cube root but is less expensive to calculate?
20:23:47 <ais523> the maths indicated a ^0.3 would work best there, but I changed it to ^1/3 to make it easier and faster to implement, and it hardly makes any difference
20:24:05 <ais523> also, fixed-point cubes should not be that complex to write,
20:25:16 <elliott> ais523: wow, look at the whitespace pattern I get when word-wrapping the table: http://sprunge.us/bENR
20:25:38 <elliott> ais523: also, hmm, a logarithm of some sort maaaybe?
20:25:40 <elliott> perhaps not
20:25:45 <oerjan> !echo hi
20:26:03 <ais523> elliott: you expect log to be easier to implement than cube root?
20:26:12 <ais523> and act vaguely the same way?
20:26:17 <fizzie> Log2 certainly is rather easy.
20:26:24 <elliott> ais523: well, log2 is trivial :P
20:26:25 <fizzie> At least an approximation of.
20:26:32 <fizzie> It's not very similar, though.
20:26:37 <elliott> it isn't, no
20:26:43 <ais523> elliott: approximating to the nearest integer, OK, but getting the other decimal places, rather harder
20:26:54 <elliott> " Find integer log base 2 of the pow(2, r)-root of a 32-bit IEEE float (for unsigned integer r)"
20:26:57 <oerjan> !echo hi
20:26:59 <elliott> ais523: good enough for you? :P
20:26:59 <EgoBot> hi
20:27:00 <ais523> and I can't just use floating-point because it needs to be deterministic across systems, and I'm not good enough at floating-point to manage that
20:27:20 <oerjan> Gregor: what's with the frequent swallowing of the first command?
20:28:02 <oerjan> !haskell let fib = 0:1:zipWith(+)fib(tail fib) in fib!!92
20:28:14 <elliott> ais523:
20:28:14 <elliott> $ time ./unazip <test.az >/dev/null
20:28:14 <elliott> real0m0.688s
20:28:25 <ais523> how does that compare to bunzip2?
20:28:28 <elliott> ais523: either that paid off, or my system is significantly faster than yours, which I doubt since IIRC the CPU is the same on our two computers
20:28:30 <ais523> also, what did you change?
20:28:30 <oerjan> !echo hi
20:28:33 <elliott> dunno, lemme try bzip2
20:28:35 <elliott> ais523: just made fibs a table
20:28:46 <fizzie> Unabomber, unazip.
20:28:49 <ais523> but they're memoized, so that should hardly make a difference
20:29:04 <elliott> $ time bzcat test.bz2 >/dev/null
20:29:04 <elliott> real0m0.280s
20:29:11 <oerjan> !echo hi
20:29:12 <EgoBot> hi
20:29:21 <elliott> test is ick-0.-2.0.29.pax
20:29:26 <oerjan> !haskell let fib = 0:1:zipWith(+)fib(tail fib) in fib!!92
20:29:28 <EgoBot> 7540113804746346429
20:29:55 <ais523> all you're doing is calculating them at writecodetime rather than runtime
20:29:55 <ais523> and calculating the fibonacci numbers once is not going to take very long
20:29:57 <oerjan> !haskell 7540113804746346429 :: Double
20:29:59 <EgoBot> 7.540113804746346e18
20:30:09 <oerjan> why stop at 92?
20:30:17 <elliott> oerjan: 64-bit int
20:30:27 <oerjan> hm
20:30:38 <elliott> ais523: you use malloc?!
20:30:53 <ais523> well, how else am I going to allocate memory?
20:30:56 <elliott> ais523: I think you need indoctrinating into the cult of mmap.
20:31:03 <oerjan> !haskell maxBound :: Data.Int.Int64
20:31:06 <EgoBot> 9223372036854775807
20:31:11 <elliott> Malloc is slow. Realloc too.
20:31:21 <ais523> the whole thing has to be read before it can start decompressing
20:31:31 <elliott> ais523: I mean use mmap instead of malloc...
20:31:49 <ais523> well, I suppose you can figure out how much needs to be allocated in advance
20:31:52 <elliott> ais523: using MAP_ANONYMOUS
20:31:53 <elliott> ais523: no
20:31:55 <elliott> ais523: you can rely on overcommitting
20:32:00 <elliott> just mmap 2, 4 gigs, whatever
20:32:08 <Phantom_Hoover> elliott, is malloc slower than proper GC?
20:32:17 <elliott> Phantom_Hoover: Umm, that question is meaningless.
20:32:27 <fizzie> Is there a six-words-or-so description of this whole azip business?
20:32:32 <Phantom_Hoover> ...It is.
20:32:40 <ais523> well, I mean that after the first non-declaration line of main, you know right now how much memory you'll need for the rest of the program
20:32:46 <ais523> fizzie: my attempt to make a compression algorithm
20:32:50 <ais523> that's seven, but close enough
20:32:58 <elliott> fizzie: ais523's compressor. Slow, big... fix!
20:33:03 <fizzie> Yes, I was hoping for something that's sort of describe what's the novelty of it.
20:33:08 <ais523> I mostly abandoned it after I realised it wasn't as good as existing algos, elliott is trying to make something useful of it
20:33:10 <fizzie> I grokked that much from the context.
20:33:12 <ais523> fizzie: there isn't a novelty of it
20:33:17 <elliott> <ais523> well, I mean that after the first non-declaration line of main, you know right now how much memory you'll need for the rest of the program
20:33:18 <ais523> which is why I abandoned it
20:33:19 <fizzie> Oh. :/
20:33:20 <elliott> ais523: then why do you have realloc?
20:33:29 <elliott> if (n == 0) return 0;
20:33:29 <elliott> if (n >= memorylen) {
20:33:29 <elliott> memory = realloc(memory, sizeof (unsigned long long) * (n+1));
20:33:29 <elliott> if (!memory) {
20:33:31 <elliott> cuberoot_leftshift_40
20:33:34 <fizzie> I was expecting some sort of a radical New Kind Of Compression.
20:33:35 <ais523> elliott: that's in the memoization for cube roots
20:33:42 <ais523> fizzie: it is a radical New Kind of Compression
20:33:47 <ais523> just one that happens to be not as good as lzma
20:33:48 <elliott> ais523: why not just allocate a big static table?
20:33:59 <fizzie> Yes, well, that's the sort of novelty I was looking for.
20:34:27 <ais523> elliott: hmm
20:34:46 <ais523> I doubt it would make a massive difference
20:34:51 <ais523> especially as n there is theoretically unbounded
20:35:02 <elliott> ais523: you don't have to bother memoising every value
20:35:04 <elliott> only reasonable values
20:35:12 <elliott> │ Symbol: ANON_INODES [=y] │
20:35:12 <elliott> │ Type : boolean │
20:35:13 <elliott> │ Selected by: X86 [=y] || EPOLL [=n] || SIGNALFD [=n] || TIMERFD [=n] || EVENTFD [=n] || PERF_EVENTS [=y] && HAVE_PERF_EVENTS [=y] || INFINIBAND_USER_ACCESS │
20:35:14 <elliott> what's this then
20:35:55 <ais523> elliott: I think n there can range from 0 up to the number of tnodes in the file, plus some small constant
20:36:09 <ais523> if you run azip with -v, it'll tell you how many tnodes there are, plus lots of other irrelevant data
20:36:27 <elliott> ais523: when do you find out how many tnodes are in the file?
20:36:47 <ais523> it changes as the compression algo proceeds
20:37:02 <ais523> so not until the end do you find out how many it ended up with
20:37:26 <ais523> it spends most of its time eliminating tnodes by doing things like inlining them, or just putting them into different orders
20:37:28 <elliott> Vorpal: if you compile an initramfs into the kernel, does it receive the kernel's compression?
20:37:37 <elliott> and, accordingly, can I disable the "Load whatever-compressed initramfs" support?
20:38:14 <Vorpal> elliott, no clue
20:38:49 <ais523> I think there are a few tens of thousands, eventually, in the paxball test
20:39:09 <ais523> not as many as I'd like, really
20:39:22 <elliott> System is 480 kB
20:40:20 <elliott> things I can omit from asmutils: ccd (?), cda2raw, chvt(?), cpuinfo(?), cpuspeed, deallocvt(? I think so, I have no VTs), chvt(?), deflate(?), eject, fingerd, ftpd, httpd, m_inetd, ksyms(?), ...?
20:40:49 <ais523> chvt is also to do with VTs, I think
20:40:56 <ais523> and deflate's a compression algo IIRC
20:41:00 <elliott> I know that :P
20:41:42 <elliott> wonder if STARTUP=y shrinks it
20:42:07 <elliott> Note: Several utils (cpuinfo, eject, httpd, kill, etc) have their own additional configuration in the source code.
20:42:13 <fizzie> Yes, chvt does alt-fN style console-switching except programmatically.
20:42:57 <fizzie> cda2raw is an awfully specific utility, if it does what one'd expect from the name.
20:43:09 <elliott> It does, I believe.
20:43:09 -!- Sasha has quit (Ping timeout: 240 seconds).
20:43:17 <elliott> aren't CDAs raw PCM anyway?
20:43:17 <ais523> fizzie: extracts audio from a CD?
20:43:26 <elliott> well, maybe it takes a block device
20:43:34 <elliott> TODO: Figure out whether setting CPU to Pentium Pro actually made it smaller.
20:43:35 <ais523> elliott: at least on Windows, CDAs are just little files that specify which track on the CD to seek to
20:43:43 -!- Sasha has joined.
20:43:47 <elliott> ais523: that's CDDA
20:43:50 <elliott> CDA presumably stands for CD Audio
20:44:01 <elliott> (isn't it CDDA? oh, whatever. maybe not)
20:44:11 <ais523> elliott: the files have the extension .cda on Windows, and appear as files in the directory represented by an audio CD
20:44:17 <elliott> heh, gzip uses deflate
20:44:18 <elliott> PNG, too
20:44:22 <elliott> ais523: right, okay
20:44:23 <fizzie> And "really raw" CD audio isn't just raw PCM; there's also error-correction/subcode data.
20:44:26 <elliott> thought it was .cdda
20:44:29 <fizzie> I'm not sure how often you actually see those, though.
20:44:35 <elliott> fizzie: does the block device expose those? :P
20:44:41 <ais523> fizzie: really really /really/ raw CD audio has an extra layer of encoding
20:44:48 <ais523> because the physics of CDs prevent them from having two 1s in a row
20:45:03 <fizzie> Well, yes. But the "logical" format has frames of K samples and the error-correction.
20:45:08 <ais523> (luckily, you can have two 0s in a row, or CDs would be stuck doing 1010101010101010 forever)
20:46:08 <elliott> ais523: is it 0 -> 0; 1 -> 10?
20:46:10 <elliott> or 1 -> 01
20:46:14 <ais523> elliott: no, it's more complicated than that
20:46:18 <elliott> ais523: hmm, why?
20:46:24 <elliott> ais523: to allow seeking?
20:46:28 <ais523> so that each constant-length string of bits becomes a constant-length string in the encoding
20:46:44 <ais523> otherwise, a CD full of 0s would hold more data than a CD full of 1s
20:46:47 <elliott> 0 -> 101; 1 -> 010?
20:46:54 <elliott> <ais523> otherwise, a CD full of 0s would hold more data than a CD full of 1s
20:46:56 <elliott> that would be brilliant
20:47:02 <ais523> that doesn't quite work; 100; 010 would but is wasteful
20:47:03 <elliott> wait, 0 -> 101; 1 -> 010 doesn't get seeking right either
20:47:09 <elliott> oh, indeed
20:47:16 <elliott> ais523: what is it, then?
20:47:24 <ais523> the encoding itself uses a similar principle, but on blocks of quite a lot of bits on the LHS
20:47:29 <elliott> right
20:47:34 <ais523> I don't know what it is offhand, it's not the sort of thing you can memorise
20:47:49 <elliott> 0 -> 00, 1 -> 10, 11 -> 010
20:47:58 <elliott> then 111 -> 01010
20:48:00 <elliott> that doesn't work either
20:48:03 <elliott> but is a fun encoding anyway
20:48:49 <elliott> brb
20:52:40 -!- elliott has quit (Read error: Operation timed out).
20:58:37 <fizzie> It seems to do 8-bit blocks (i.e. bytes) that are encoded with 14-bit codewords from just a simple look-up table, and the words are chosen so that each 1 is separated by 2..10 zeroes.
20:59:41 <fizzie> And DVDs have a similar scheme except there it's a four-state FSM that translates 8-bit inputs to 16-bit codewords; but it has the same "ones separated by 2..10 zeros" property.
21:01:11 <fizzie> Oh, and the CD encoding also puts three "merging" bits between each 14-bit codeword, set so that the number-of-zeroes property holds, so it's actually a 8-to-17 bit encoding scheme.
21:01:17 -!- ais523 has quit (Read error: Connection reset by peer).
21:02:22 * Phantom_Hoover finally finished compiling Flight Gear.
21:02:57 <Phantom_Hoover> Aaaaaand, it segfaults.
21:03:27 <oerjan> a plane crash, then
21:05:57 <Phantom_Hoover> The plane accidentally flew over NULL.
21:08:58 -!- ais523 has joined.
21:10:04 -!- kar8nga has quit (Remote host closed the connection).
21:10:32 <Phantom_Hoover> So, anyway, I think the whole Wikiplia concept would be greatly improved by a) self-implementing it and b) allowing a program to alter that interpreter globally (given passwords and all that jazz).
21:16:46 <coppro> Wikiplia?
21:17:53 -!- ais523 has quit (Read error: Connection reset by peer).
21:18:59 <nooga> Wikiplia?
21:19:06 -!- ais523 has joined.
21:31:41 <Phantom_Hoover> coppro, nooga, an (unfortunately dead) attempt at making a wiki-based programming language.
21:33:49 <ais523> hmm, so what should be my reaction when someone emails me a WAV file of Rick Astley's "Never gonna give you up"?
21:34:05 <ais523> at least, I assume it is from the filename, I haven't actually tried to listen to it, especially as it's likely a copyright infringement
21:34:34 <ais523> and given that it's uncompressed, it's quite large
21:35:10 <oerjan> "That is _so_ 2008"?
21:35:38 <ais523> pity there's no way to delete some attachments from an email while retaining others
21:35:52 <ais523> so I'll have to delete the whole thing once I've looked through the attachments that I actually wanted them to send
21:36:19 <Phantom_Hoover> ais523, so I'm assuming you take pride in never violating copyright?
21:37:50 <ais523> Phantom_Hoover: that's something to be proud about?
21:37:58 <ais523> I just dislike violating the law without a really good reason
21:38:23 <ais523> also, it's definitely not illegal to be emailed a rickroll, unless the laws have gone completely insane; I think it's your reaction to it that matters
21:41:34 <Phantom_Hoover> The laws _have_ gone completely insane, but I actually want to talk about Wikiplia rather than a debate that is extremely old and conversions in which are extremely rare.
21:41:43 <Phantom_Hoover> How goes Feather?
21:42:37 <ais523> go away
21:42:58 -!- Mathnerd314 has joined.
21:50:51 <Phantom_Hoover> Mathnerd314!
21:51:14 <Mathnerd314> yes...?
21:52:03 * Mathnerd314 bows
21:55:50 <Phantom_Hoover> Bow MORE!
21:58:29 <Mathnerd314> no, it was merely for politeness's sake. you should return my bow, and more deeply
21:58:51 <Phantom_Hoover> And tell me what the next prime is!
21:59:24 <Mathnerd314> no. no primes for you.
22:00:18 -!- ais523_ has joined.
22:00:31 -!- ais523 has quit (Ping timeout: 264 seconds).
22:00:35 -!- ais523_ has changed nick to ais523.
22:01:00 <Vorpal> where is elliott when you need him
22:01:08 -!- madbr has joined.
22:01:15 <madbr> hey
22:02:16 -!- nooga has quit (Read error: Operation timed out).
22:02:21 <ais523> Vorpal: what do you need him for?
22:02:23 <ais523> hi madbr
22:02:43 <madbr> Do you guys think it's possible to design a language+CPU suitable for deep parallelism? (aside that there's map/reduce)
22:04:13 <Vorpal> ais523, he has nothing against dying in minecraft. I need someone to test a deadly trap :P
22:04:22 -!- nooga has joined.
22:04:34 <ais523> madbr: look at OpenCL and GPGPUs
22:04:46 <ais523> they're built pretty much entirely around parallelism
22:05:13 <ais523> to the extent that something as simple as an if is inefficient because it can't work the same way in every one of your thousands of threads at once
22:05:44 <madbr> yeah but that's a... really specialised architecture
22:05:56 <madbr> basically you're the one doing all the work :D
22:06:32 <madbr> I was thinking something more like a super-out-of-order cpu
22:07:00 <oerjan> Phantom_Hoover: 317
22:07:17 <Deewiant> Itanium?
22:07:29 <Phantom_Hoover> oerjan, you're hired.
22:07:48 <oerjan> yay
22:08:06 <madbr> where it loads in a huge block of instructions at once and then each instruction just waits after its data dependencies in parallel
22:08:17 <Phantom_Hoover> Turn up to work tomorrow with a spatula and 3 8GB flash drives.
22:09:04 <oerjan> I QUIT
22:10:21 -!- ais523 has quit (Ping timeout: 240 seconds).
22:10:42 <madbr> for instance if it was stack based, you could have something like "6 4 +" in the middle of an instruction string at it could already turn that into "10" for the next cycle
22:11:03 <madbr> even though there's a bunch of instructions before
22:11:31 <Deewiant> madbr: http://en.wikipedia.org/wiki/Register_renaming
22:11:32 -!- ais523 has joined.
22:13:49 <madbr> deewiant: yes, take that to the power of 11
22:14:20 -!- Sasha has quit (Read error: Connection reset by peer).
22:14:30 <Phantom_Hoover> oerjan, YOU CANNOT QUIT PHANTOM INDUSTRIES
22:14:45 <Deewiant> Just saying that such things as you describe do exist, though maybe not "to the power of 11" in the way you'd want
22:16:26 <Phantom_Hoover> Polynomials of the 11th degree are the BEST kind of polynomials!
22:16:48 <Phantom_Hoover> Vorpal, incidentally, remember that Minecraft diary elliott linked to?
22:16:51 <madbr> yeah I was thinking of something like...
22:16:53 <Phantom_Hoover> The guy died.
22:16:55 <Vorpal> Phantom_Hoover, which one?
22:17:05 <Vorpal> Phantom_Hoover, towards a new dawn?
22:17:08 <Phantom_Hoover> Vorpal, the one you had a sarcasm failure with.
22:17:14 <Vorpal> oh that one
22:17:20 <Vorpal> Phantom_Hoover, do you want to try a lethal trap?
22:17:30 <madbr> every new loaded instruction is allocated to a new register/execution unit
22:17:30 <Phantom_Hoover> Vorpal, depends.
22:17:47 <Phantom_Hoover> If all of the stuff in my inventory will be salvageable, then yes.
22:17:48 <Vorpal> Phantom_Hoover, I will provide a chest to put your items in
22:18:04 <Phantom_Hoover> No, that's too inconvenient.
22:18:12 <Vorpal> Phantom_Hoover, hm there is lava involved so...
22:18:13 <Phantom_Hoover> My inventory is nearly full of cobbles.
22:18:20 <Vorpal> Phantom_Hoover, two big chests?
22:18:29 <Vorpal> Phantom_Hoover, also I can donate more cobble if you want
22:18:34 <madbr> that unit reads the "ready" bit from its input dependencies. when all the dependencies are "ready" then it computes the result and in turn turns on its ready bit
22:18:45 <Vorpal> Phantom_Hoover, I have two big chests full plus a lot more spread out
22:18:48 <Phantom_Hoover> Vorpal, I'll pass.
22:19:13 <Vorpal> Phantom_Hoover, I don't know if you will die from falling or from the lava btw
22:19:26 <Phantom_Hoover> Is this your trapdoor?
22:19:26 <Vorpal> Phantom_Hoover, I could replace it with water I guess
22:19:45 <Vorpal> Phantom_Hoover, indeed.
22:22:03 <Vorpal> Phantom_Hoover, I replaced lava with water. But you will still get extra torches and extra gravel
22:22:09 -!- Sasha has joined.
22:31:13 <nooga> aha jak tak to mi sie nie chce < that's completely common and normal Polish sentence and I just realised that it looks weird to me
22:31:28 <nooga> like, uh, Chinese
22:34:38 <oerjan> fang en hai
22:36:39 <madbr> yeah that's the "wtf is that word" effect
22:37:14 <madbr> read a normal word over and over, eventually it will look like a weird alien word and you'll wonder where it came from
22:41:03 <nooga> ;D
22:42:53 <pikhq> nooga: 中国語っぽい?
22:44:01 -!- elliott has joined.
22:45:04 -!- Sasha has quit (Remote host closed the connection).
22:46:00 <elliott> .
22:46:01 -!- Sasha has joined.
22:46:59 <Vorpal> Phantom_Hoover, how much fall damage did you take?
22:48:19 <elliott> ?
22:48:39 <Phantom_Hoover> Vorpal, around 50%.
22:49:23 <elliott> ?
22:49:38 <Vorpal> Phantom_Hoover, hm not more
22:49:58 <elliott> ?
22:50:11 <Vorpal> Phantom_Hoover, and lava destroys item. Yeah this would be annoying if made twice as deep due to having to do the obsidian trapping chamber
22:50:12 <elliott> what fall
22:50:48 <Phantom_Hoover> elliott, Vorpal's trapdoor in the throne room.
22:52:28 <Vorpal> elliott, if you want to see how deep it is come on now. I'm not going to operate it again for a while. it is too painful to set up
22:52:33 <Vorpal> so see it while it is open
22:52:44 <Vorpal> elliott, and now means "within one minute"
22:54:04 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:54:20 <Vorpal> okay, closing it
22:54:28 <oerjan> SPECIAL OFFER TO KILL YOU, ONLY TODAY
22:54:35 <Phantom_Hoover> elliott, it's not very deep.
22:54:38 * Phantom_Hoover → sleep
22:54:49 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:58:01 <Vorpal> oerjan, no "special offer to see death trap depth
22:59:16 <oerjan> i am of course assuming that the only way to see the depth properly is to fall through it
23:00:16 * Vorpal prods elliott. At least see where the trap is :P
23:03:49 <Vorpal> elliott, fizzie suggested to use gravel in front of the throne so you could grovel
23:03:53 -!- ais523 has quit (Remote host closed the connection).
23:11:13 -!- augur has quit (Remote host closed the connection).
23:11:13 <nooga> SPARC
23:11:21 <nooga> is the best architecture EVER
23:11:35 <nooga> with this http://en.wikipedia.org/wiki/Open_Firmware
23:12:06 <nooga> an it's got Forth shell
23:20:33 -!- yorick has quit (Remote host closed the connection).
23:33:10 <pikhq> So did New World PPC Macs.
23:34:34 -!- sftp has quit (Remote host closed the connection).
23:35:52 <Gregor> ... doesn't EFI have a Forth shell to this day?
23:36:17 <elliott> no
23:36:36 <Gregor> Hm
23:37:28 <Vorpal> night
23:40:04 <pikhq> EFI is basically Open Firmware made worse.
23:40:17 <pikhq> Why? NIH
23:43:36 -!- Sasha has quit (Ping timeout: 250 seconds).
23:45:10 -!- Sasha has joined.
23:49:35 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101026210630]).
23:51:57 <nooga> Forth is cool
23:53:22 -!- Sgeo has joined.
2010-12-07
00:03:08 <elliott> loadlin can't load initramfses, right? :p
00:03:17 <elliott> Actually, does the bootloader have to be able to, if you embed it into the kernel?
00:04:05 -!- augur has joined.
00:05:50 -!- nooga has quit (Ping timeout: 255 seconds).
00:07:37 -!- nooga has joined.
00:12:21 -!- FireFly has quit (Quit: swatted to death).
00:17:56 <pikhq> The initramfs loading is identical to initrd loading from a bootloader point of view.
00:18:16 <elliott> pikhq: Right. But you can embed a .cpio directly into the kernel.
00:18:17 <pikhq> Also, if it's embedded in the kernel, the bootloader can be completely ignorant of it.
00:18:20 <elliott> Right.
00:18:43 <pikhq> The .cpio gets transformed into a .o with a symbol pointing to the .cpio.
00:19:01 <elliott> pikhq: How small can you get an ancient DOS floppy if you don't care whether it's usable at the command-line, just to run a program in autoexec?
00:19:09 <elliott> Because I'm thinking that http://busybox.net/~vda/linld/README.txt + DOS might be smaller than lilo.
00:20:07 <elliott> [ ] LINLD.COM 13-Sep-2004 13:11 5.7K
00:20:17 <elliott> So depending on how small I can get DOS...
00:20:19 <pikhq> Uh, IO.SYS + MSDOS.SYS + CONFIG.SYS (can be empty) + COMMAND.COM + AUTOEXEC.BAT (can be empty) is the minimal MS-DOS system.
00:20:43 <elliott> pikhq: AUTOEXEC.BAT would be "linld cl=blah" :P
00:21:00 <pikhq> IO.SYS is the DOS BIOS, MSDOS.SYS is the DOS kernel, and CONFIG.SYS is, of course, a config file.
00:21:01 <elliott> How big are IO.SYS + MSDOS.SYS + COMMAND.COM, roughly? Assume an old, smaller DOS.
00:21:07 <pikhq> Uh, *tiny*.
00:21:19 <elliott> pikhq: <100K?
00:21:58 <elliott> pikhq: Or, more concretely: Minimal DOS + 5.7K <=> minimal lilo installation?
00:22:24 <elliott> LILO appears to require a /boot partition.
00:22:32 <elliott> Whereas linld could just run from a DOS floppy.
00:23:01 <elliott> pikhq: (BTW, this is for a single-floppy Linux like you were trying to do.)
00:23:03 <pikhq> That might be true of modern DOS, even.
00:23:18 <elliott> "System is 480 kB" --Linux make
00:23:22 <elliott> It lacks some things though.
00:23:24 <elliott> Like VTs.
00:23:27 <elliott> Or block device support.
00:25:28 <elliott> pikhq: Another question: If I have kernel compression enabled, disable "Support initial ramdisks compressed using [blah]", and embed an initramfs... Will that initramfs get compressed?
00:25:33 <pikhq> Uh, FreeDOS, done minimally, is 112K...
00:25:53 <pikhq> You could probably get that down way smaller by removing some useless features.
00:25:59 <pikhq> (FAT32, LFN, tab completion)
00:26:01 <elliott> FreeDOS is pretty big :P
00:26:10 <elliott> <elliott> pikhq: Another question: If I have kernel compression enabled, disable "Support initial ramdisks compressed using [blah]", and embed an initramfs... Will that initramfs get compressed?
00:26:19 <pikhq> elliott: Yes.
00:26:30 <elliott> pikhq: Awesome.
00:26:34 <pikhq> elliott: The initramfs is just another object file in the kernel if it's embedded.
00:28:05 <elliott> ^?ELF^A^A^A^C^@^@^@^@^@^@^@^@^B^@^C^@^A^@^@^@L<80>^D^H,^@^@^@^@^@^@^@^@^@^@^@4^@ ^@^A^@^@^@^@^@^@^@^@<80>^D^H^@<80>^D^H/^A^@^@3^A^@^@^G^@^@^@^@^P^@^@ZY»^M<81>^D^H<89>Ï1À<8d>Hÿò®<89>Ð<8b>Oü¿/<81>^D^H<81>ùccd^@^O<95>^G<89>Þ<8d>K^D<8d>S^OHt#[<81>;-ccdt^Eö^Gÿt Æ^G^@H<89>ót^M[Ht YHt^EZHt^A_QSö^Gÿu^Ej^VXÍ<80>1ɵ^Hj^EXÍ<80>P<85>Àx9¹ S^@^@<89>Ãj6XÍ<80>ö^Gÿu8SR1Ò²^K¹$<81>^D^Hj^A[j^DXÍ<80>²^A1Ûj^CXÍ<80>Z[¹
00:28:06 <elliott> ^YS^@^@j6XÍ<80>Y[<87>^L$¾^A^@íÀj^UXÍ<80>X<85>Àx^B1À<89>Ãj^AXÍ<80>/dev/cdrom^@^@^@^@^@iso9660^@<enter> ..^@
00:28:09 <elliott> THAT DOES NOT COUNT AS A PROGRAM
00:28:13 <elliott> WHERE IS ALL THE CODE
00:28:26 <pikhq> (a minimal FreeDOS, BTW, is: command.com, kernel.sys)
00:29:33 <pikhq> AHAHAH. Easy way to get that FreeDOS system down in size.
00:29:44 <pikhq> upx supports DOS executables.
00:30:02 <pikhq> Oh, BTW: you may want to leave that kernel uncompressed, and upx the kernel.
00:30:41 * Sgeo ogles the Nexus S
00:30:59 <elliott> pikhq: I tried UPX'ing the vmlinux and it was bigger than the LZMA'd bzImage.
00:31:15 <pikhq> elliott: Weird.
00:31:17 <elliott> pikhq: I would just like to say that I've just selectively installed pieces of asmutils...
00:31:18 <elliott> arch basename cat chmod chown chroot cmp cp cut date dc dd deflate df dirname dmesg du echo env extname factor false fdisk finger free fromdos gi grep halt head hexdump host hostname id idea ifconfig inflate init kill killall killall5 less ln ls md5 md5sum mount mv nc netstat nice nm nohup od paste pidof ping poweroff ps pwd readelf readlink reboot renice rm rmdir rot13 route scan sh sha1sum size sleep sln strings tail tar tee telnet test todos t
00:31:18 <elliott> ouch tr true tty umount uname update uptime users usleep uuencode watch wc wget which whoami write yes
00:31:25 <elliott> pikhq: Notice how this includes WGET and shit.
00:31:28 <elliott> pikhq: Guess how big all these are?
00:31:30 <elliott> 67012 total
00:31:37 <elliott> 67 fucking Ks.
00:31:39 <pikhq> elliott: Yeah, asmutils is awesome.
00:32:08 <pikhq> No, *motherfucking awesome*.
00:32:13 <elliott> wget doesn't seem to work here :P But whatever!
00:32:31 <elliott> pikhq: Wait... if I have an initramfs, you won't be able to see the kernel, will you? X-D
00:33:01 <pikhq> elliott: ?
00:33:38 <elliott> pikhq: Because the kernel will be on the floppy.
00:33:41 <elliott> And there's no block device support.
00:33:46 <pikhq> XD
00:34:27 <elliott> -rw-r--r-- 1 elliott elliott 70K Dec 7 00:33 ../root.cpio
00:34:32 <elliott> Welp, might as well compile it in.
00:35:00 <elliott> pikhq: If I can find a damn smallX tarball, this could actually work.
00:35:02 <elliott> System is 511 kB
00:35:08 <elliott> With asmutils and /etc/rc.
00:35:31 <pikhq> Totally awesome.
00:36:06 <elliott> Oops, I forgot to put init in /sbin. Ehh... I can just say init=/bin/init.
00:36:30 <elliott> pikhq: I have all kernel printing disabled, so time to wait for a minute and hope I get a shell :P
00:37:09 <elliott> DIN'T WORK LOL... or I'm too impatient.
00:37:13 <elliott> I'll rebuild with printk so I can see shit.
00:38:19 <elliott> pikhq: Hmm... does init= actually affect the initramfs?
00:38:30 <elliott> Isn't that for the real root's init path?
00:40:47 <pikhq> With initramfs, init= gets passed to /init.
00:41:43 <elliott> Ah.
00:41:53 <elliott> pikhq: ...Maybe I should omit /bin, and just put everything in /. :D
00:42:21 * pikhq sees watercooled cases with fans; cries
00:42:50 -!- nooga has quit (Ping timeout: 260 seconds).
00:43:12 <elliott> pikhq: you do realise just about every watercooled setup uses at least one fan?
00:43:50 <pikhq> elliott: "Fans". As in many. As in several. Tiny. Noisy. Fans.
00:44:01 <elliott> pikhq: "qemu -kernel path/to/bzImage" should be enough to test this, right?
00:44:03 * Sgeo holds his breath and opens IE
00:44:15 <elliott> I'm not sure it's actually doing its initramfs thang.
00:44:27 <pikhq> elliott: Yes.
00:44:35 -!- nooga has joined.
00:44:44 <elliott> pikhq: If it doesn't move in 30 seconds, I'm enabling all this printy stuff. :P
00:45:37 <pikhq> elliott: Also: watercooled computers should have ginormous radiators.
00:46:03 <pikhq> Actually, screw the water.
00:46:11 <pikhq> Computers should have ginormous radiators.
00:46:14 <pikhq> With blinkenlights.
00:46:59 <elliott> │ │ [ ] Use 4Kb for kernel stacks instead of 8Kb │ │
00:47:00 <elliott> TODO: that
00:49:18 <elliott> pikhq: Hmm... uClinux can be configured to be super-small, right?
00:50:29 -!- madbr has left (?).
00:50:54 <elliott> pikhq: http://www.openinventionnetwork.com/ Hacking the patent system. "Join us, we'll patent everything, and then license it to everyone who agrees not to use their patents against Linux".
00:51:41 <Sgeo> I should not have to manually allow Windows Firewall to make changes to my computer
00:52:02 <elliott> pikhq: Hmm. If a kernel manages to decompress, print out "Booting the kernel.", but then hang... what's up?
00:53:12 <elliott> I have printk and everything.
00:54:37 <pikhq> elliott: Uh, fuck that's not good?
00:54:47 <elliott> pikhq: Having PCI access set to "direct": smart idea?
00:55:50 <elliott> pikhq: Come to think of it, it probably means that it's failing during very early bootup, right?
00:56:04 <pikhq> Exceptionally early.
00:56:21 <pikhq> I cannot be sure it had paging working yet.
00:56:38 <pikhq> If I knew more about the kernel's structure, I'd suggest you kgdb that.
00:57:20 <elliott> pikhq: With qemu? Sounds like a whole new world of fun :P
00:58:40 -!- Mathnerd314 has joined.
00:59:10 <elliott> pikhq: Hypothesis: Plan 9 is the most elegant OS ever designed, in both design and implementation. (Genera is *nicer*, but the code is... heh.)
00:59:26 <pikhq> elliott: Likely.
01:00:51 <elliott> pikhq: Okay, it's STILL not printing anything...
01:01:01 <elliott> Are you sure using -kernel isn't to blame here?
01:01:08 <pikhq> Quite sure.
01:01:17 <pikhq> All that does is make the qemu BIOS act as a bootloader.
01:02:22 <elliott> pikhq: Even without namespaces support, IPC, the block layer, anything, I should still get printk right?
01:02:29 <elliott> Even with no drivers enabled?
01:02:45 <elliott> │ │ [ ] Display panel/monitor support │ │
01:02:49 <elliott> I shouldn't need that, surely?
01:02:57 <pikhq> Speaking as someone who has actually had this come up, you should still get printk.
01:03:10 <pikhq> If you have VGA console support and printk, you're golden.
01:03:24 <elliott> pikhq: Not sure I have VGA console support!
01:03:30 <elliott> Is that actually configurable?
01:03:36 <pikhq> Yes.
01:03:42 <elliott> │ ymbol: VGA_CONSOLE [=n] │
01:03:42 <elliott> │ ype : boolean │
01:03:42 <elliott> │ rompt: VGA text console │
01:03:47 <elliott> HURF DURF IM TARDED CUZ THAT'S NOT ENABLED
01:03:50 <elliott> *sYMBOL *tYPE *pROMPT
01:03:52 <pikhq> There's your problem!
01:04:29 <elliott> │ -> Device Drivers │
01:04:29 <elliott> │ -> Graphics support │
01:04:29 <elliott> │ -> Console display driver support │
01:04:34 <elliott> I don't *have* that last submenu.
01:05:03 <elliott> pikhq: Wait, what? VGA_CONSOLE depends on "VT [=n]". Or is that [=n] just what I have?
01:05:05 <elliott> Aha, I think it is.
01:05:08 <elliott> So I need to enable VT.
01:05:10 <elliott> Right?
01:05:29 <pikhq> Apparently.
01:05:54 <elliott> pikhq: Weird that the console would depend on VTs.
01:06:01 <pikhq> No kidding.
01:06:53 <elliott> "Kernel panic - not syncing: junk in compressed archive"
01:06:56 <elliott> It does not like my cpio!
01:06:59 <elliott> Do I have to construct it specially?
01:07:50 <pikhq> "compressed archive"
01:07:57 <elliott> pikhq: Yes, that one puzzles me.
01:07:58 <pikhq> *facepalm*
01:08:01 <elliott> I just fed it a .cpio.
01:08:02 <elliott> pikhq: wut
01:08:10 <pikhq> elliott: At the kernel.
01:08:18 <elliott> right
01:08:18 <pikhq> elliott: It should just take a straight cpio.
01:08:27 <elliott> │ │ [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support │ │
01:08:27 <elliott> │ │ (/home/elliott/flinix/root.cpio) Initramfs source file(s) │ │
01:08:27 <elliott> │ │ (0) User ID to map to 0 (user root) │ │
01:08:27 <elliott> │ │ (0) Group ID to map to 0 (group root) │ │
01:08:30 <elliott> │ │ [ ] Support initial ramdisks compressed using gzip │ │
01:08:33 <elliott> │ │ [ ] Support initial ramdisks compressed using bzip2 │ │
01:08:36 <elliott> │ │ [ ] Support initial ramdisks compressed using LZMA │ │
01:08:39 <elliott> │ │ [ ] Support initial ramdisks compressed using LZO │ │
01:08:42 <elliott> │ │ Built-in initramfs compression mode (None) ---> │ │
01:08:45 <elliott> pikhq: It *does*.
01:08:47 <elliott> │ CONFIG_INITRAMFS_COMPRESSION_NONE: │
01:08:50 <elliott> │ │
01:08:53 <elliott> │ Do not compress the built-in initramfs at all.
01:08:55 <elliott> I have that enabled.
01:09:14 <elliott> pikhq: I figure I'm doin' it wrong as far as cpio goes.
01:10:04 <elliott> pikhq: Ah. Is "-H newc" default?
01:10:45 <elliott> pikhq: Wait. You can just feed the kernel a directory and it'll make a cpio for you.
01:11:29 <elliott> pikhq: "Warning: unable to open an initial console."
01:11:33 <elliott> Now what the fuck does THAT mean?
01:12:15 <elliott> pikhq: Aha.
01:12:26 <elliott> pikhq: You need /dev/{console,null,tty1,tty2,...}
01:13:02 <elliott> pikhq: Er. How does one cp without making it copy the contents?
01:13:07 <elliott> You know, just to cp /dev/console .
01:15:44 <elliott> pikhq: It fucking boots.
01:15:45 <pikhq> rsync --devices /dev/console .
01:16:10 <elliott> pikhq: I have a Linux kernel that boots to a system with 100 programs (99 if you don't count init) in 567K.
01:16:16 <elliott> It has a shell. With tab completion. And line editing.
01:16:26 <elliott> And four devices :P (console, null, tty1, tty2)
01:17:02 <elliott> pikhq: Aaaand ctrl+alt+fN works.
01:17:07 <pikhq> \o/
01:17:18 <elliott> TODO: Put chvt and friends into the image, since I have VTs now. Create more ttys. And then, X11!
01:17:38 <elliott> Also: Disable all that nasty kernel printing, and other bloated stuff I enabled, if it helps. (.config.good has all of that removed, so I can just selectively try and migrate back.)
01:18:21 <elliott> Ah, and keep ~/flinix/root owned by root:root...
01:18:37 <elliott> pikhq: This thing boots in about 1 second. 0.2-0.4s if you ignore decompression.
01:18:47 <elliott> Literally. It says "Decompressing Linux...", pauses for a second, floods output and instantly drops you at a shell.
01:18:48 <pikhq> Glee.
01:19:10 <elliott> Oh, I should probably enable a framebuffer at some point... although smallX doesn't need it, so maybe not.
01:19:18 <elliott> Wait, I have init in bin.
01:19:25 <nooga> aaaargh
01:19:28 <elliott> R-r-r-removed!
01:19:31 <nooga> who pastes so much
01:19:48 <elliott> nooga: what?
01:20:19 <elliott> Hmm, poweroff doesn't work, neither does reboot; TODO: remove them,.
01:20:23 <elliott> Halt doesn't do much either.
01:20:47 <elliott> TODO: Add some Ethernet drivers.
01:21:52 <elliott> hmm, whoami segfaults with a simple /etc/passwd
01:22:40 * elliott cp .config .config.works
01:25:44 <elliott> pikhq: Can I just say that modern software is stupidly bloated?
01:25:53 <elliott> This qemu window feels so *refreshing*.
01:27:39 <nooga> whoa
01:27:43 <elliott> pikhq: So all I have to do is cram an X server into 700K or so and get slightly over 200K left to put whatever I want in. :P
01:27:45 <elliott> nooga: ?
01:28:11 <nooga> something works
01:29:07 <elliott> pikhq: The awesome thing is: This has like 99% of what's needed to do networking. Not sure it'll do DHCP.
01:29:28 <elliott> pikhq: But you can *totally* put this on a 386 (well, a 386 working enough to not need any of the machine-specific hacks Linux does which I disabled...) and IRC from it.
01:29:46 <elliott> System is 536 kB
01:29:50 <elliott> Stripped printk out of it.
01:29:56 <elliott> It still works and boots instantly.
01:30:32 <elliott> pikhq: Ha, remind me to add /proc sometime so I can use ps.
01:30:42 <elliott> TODO: Add /proc for ps. See if it's worth it.
01:31:20 <elliott> Also: Find out why wc is printing totals twice, second time on the second EOF.
01:31:29 <elliott> Also: Find out why "foo&" isn't working; job control issues?
01:31:52 <elliott> Oh, it's Ctrl+Z.
01:32:02 <nooga> what
01:32:11 <elliott> nooga: I'm assembling a tiny Linux with X11 into one floppy disk.
01:32:22 <nooga> how much kernel weights?
01:32:36 <elliott> nooga: Currently it's 536K, kernel with embedded filesystem (it's 480K or so without the filesystem) with 99 programs.
01:32:39 <elliott> (but a bitch ain't one)
01:32:46 <elliott> nooga: From the asmutils project, which has craaaazy tiny utilities.
01:32:46 -!- oerjan has quit (Quit: Good night).
01:33:29 <elliott> nooga: It even has a very-tiny wget. :P
01:33:35 <elliott> (But no networking support yet; almost.)
01:33:41 <elliott> I'll continue this insanity tomorrow. Toodles.
01:33:42 -!- elliott has quit (Quit: Leaving).
01:39:36 -!- wareya_ has joined.
01:41:33 -!- wareya has quit (Ping timeout: 240 seconds).
02:21:13 -!- GreaseMonkey has joined.
02:31:24 -!- Wamanuz2 has joined.
02:35:09 -!- Wamanuz has quit (Ping timeout: 240 seconds).
03:02:22 -!- TLUL has joined.
03:56:09 <pikhq> http://www.youtube.com/watch?v=heKK95DAKms
03:57:24 -!- Wamanuz2 has quit (Remote host closed the connection).
03:58:19 -!- whoami has joined.
04:00:24 -!- Wamanuz has joined.
04:05:07 -!- Wamanuz has quit (Remote host closed the connection).
04:05:27 -!- Wamanuz has joined.
04:31:07 -!- kmc has quit (Ping timeout: 245 seconds).
04:42:10 -!- Sgeo has quit (Read error: Connection reset by peer).
04:44:43 -!- Sgeo has joined.
07:04:59 -!- clog has joined.
07:04:59 -!- clog has joined.
07:18:32 -!- whoami has quit (Quit: Nettalk6 - www.ntalk.de).
07:49:05 -!- Sgeo has quit (Read error: Connection reset by peer).
07:55:04 -!- evincar has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:22 -!- evincar has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.12/20101026210630]).
08:15:24 -!- MigoMipo has joined.
09:09:38 -!- GreaseMonkey has quit (Quit: ilua).
09:10:16 <Vorpal> "Error: session already open. Cause: No login cookie found." <-- wtf, seriously?
09:10:30 <Vorpal> I got that from a university web system just now
09:10:48 <Vorpal> due to opening link to a page on it without being logged in
09:29:30 -!- choochter has joined.
09:58:50 -!- TLUL has quit (Quit: *disappears in a puff of orange smoke*).
10:15:58 -!- FireFly has joined.
10:21:21 <Vorpal> elliott (for log reading): I saw this very very bad pun in the yellow text in MC: "sqrt(-1) love you" XD
10:21:29 <Vorpal> that is just so awful
10:24:07 -!- choochter has quit (Ping timeout: 255 seconds).
10:26:25 -!- choochter has joined.
10:28:39 -!- MigoMipo has quit (Read error: Connection reset by peer).
10:29:13 -!- MigoMipo has joined.
10:55:20 -!- Wamanuz has quit (Read error: Connection reset by peer).
10:55:44 -!- Wamanuz has joined.
11:16:41 -!- oerjan has joined.
11:17:58 <oerjan> 02:21:21 <Vorpal> elliott (for log reading): I saw this very very bad pun in the yellow text in MC: "sqrt(-1) love you" XD
11:18:02 <oerjan> 02:21:29 <Vorpal> that is just so awful
11:18:06 <oerjan> at least it's imaginary
11:21:19 -!- ais523 has joined.
11:47:25 -!- sebbu has quit (Ping timeout: 265 seconds).
12:11:54 -!- sebbu has joined.
12:17:39 -!- Sasha has quit (Ping timeout: 260 seconds).
12:18:15 -!- Sasha has joined.
12:21:35 -!- teuchter has joined.
12:24:17 -!- choochter has quit (Ping timeout: 255 seconds).
12:40:02 -!- tswett has quit (Remote host closed the connection).
13:27:28 -!- nooga has quit (Ping timeout: 240 seconds).
13:29:29 -!- nooga has joined.
13:30:58 -!- sftp has joined.
13:35:45 -!- ais523 has quit (Remote host closed the connection).
13:36:01 -!- ais523 has joined.
13:36:40 <cheater99> oh, oerjan ಠ_ಠ
13:38:21 <oerjan> http://www.reddit.com/r/AskReddit/comments/ehf49/can_we_please_have_another_antijoke_thread/
13:38:48 -!- choochter has joined.
13:39:52 -!- teuchter has quit (Ping timeout: 245 seconds).
13:57:36 -!- choochter has quit (Quit: lang may yer lum reek..).
15:31:33 -!- elliott has joined.
15:31:44 <elliott> `run allquotes | tail -3
15:32:02 <elliott> HackEgoooo.
15:32:06 <elliott> `run echo im here
15:32:21 <oerjan> optimist.
15:32:46 <elliott> `run echo i'm not here
15:33:19 <HackEgo> No output.
15:33:20 <HackEgo> No output.
15:33:20 <HackEgo> im here
15:33:35 <elliott> `run allquotes | tail -n 3
15:33:36 <HackEgo> 268) <elliott> So it's not exactly trivial. [Later about same thing] <elliott> It's a trivial C program :P \ 269) <Gregor> "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." <Gregor>
15:33:46 <elliott> `run allquotes | tail -n 2
15:33:47 <HackEgo> 269) <Gregor> "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." <Gregor> ^^^ This bullet-point is my crowning achievement as as a scientist. \ 270) <tswett> That is the mark of
15:33:47 <elliott> `run allquotes | tail -n 1
15:33:49 <HackEgo> 270) <tswett> That is the mark of Gregor right there. <ais523> tswett: except that Gregor didn't write that <tswett> It's still the mark of Gregor.
15:35:36 <elliott> 1
15:35:38 <elliott> `run allquotes | tail -n 1
15:35:40 <HackEgo> 270) <tswett> That is the mark of Gregor right there. <ais523> tswett: except that Gregor didn't write that <tswett> It's still the mark of Gregor.
15:35:47 <elliott> oh, fuck it
15:35:49 <elliott> `pastequotes
15:35:50 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27030
15:35:58 <elliott> `pastequotes
15:35:59 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.2865
15:36:09 <elliott> `help
15:36:11 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
15:37:10 <elliott> ais523: I think you're right about the qdb, it's terrible
15:37:18 <elliott> ais523: I'm going to go and delete all the shitty quotes.
15:37:30 <elliott> If anyone likes them, just look at an older revision :P
15:37:40 <elliott> `delquote 4
15:37:41 <HackEgo> *poof*
15:37:45 <elliott> `delquote 6
15:37:46 <HackEgo> *poof*
15:37:53 <elliott> `delquote 13
15:37:54 <HackEgo> *poof*
15:38:05 <elliott> `delquote 20
15:38:06 <HackEgo> *poof*
15:38:10 <elliott> `delquote 25
15:38:11 <HackEgo> *poof*
15:38:23 <elliott> `delquote 38
15:38:24 <HackEgo> *poof*
15:38:26 <elliott> `delquote 39
15:38:26 <HackEgo> *poof*
15:38:29 <elliott> `delquote 40
15:38:30 <HackEgo> *poof*
15:38:32 <elliott> `delquote 41
15:38:33 <HackEgo> *poof*
15:38:42 <elliott> `delquote 45
15:38:43 <HackEgo> *poof*
15:38:51 <elliott> `delquote 51
15:38:52 <HackEgo> *poof*
15:38:54 <elliott> `delquote 52
15:38:55 <HackEgo> *poof*
15:39:08 <elliott> `delquote 59
15:39:10 <HackEgo> *poof*
15:39:12 <elliott> `delquote 60
15:39:15 <HackEgo> *poof*
15:39:16 <elliott> I should do this in /msg.
15:39:19 <oerjan> i hope you took into consideration that the numbers change after a deletion
15:39:34 <elliott> oerjan: whoops :)
15:39:36 <elliott> `help
15:39:38 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
15:39:38 <elliott> time to `revert
15:39:56 <elliott> `revert 157
15:39:57 <HackEgo> Done.
15:40:04 <elliott> ok, i'll do it properly this time
15:50:40 <elliott> 124) Note that quote number 124 is not actually true.
15:50:45 <elliott> something went wrong there :D
15:50:50 <elliott> oh, everything got renumbered when i removed one quote
15:50:51 <elliott> ha
15:51:51 * elliott removes the literal tab from quote 128
16:02:10 -!- nopseudoidea has joined.
16:05:18 -!- ais523 has quit (Remote host closed the connection).
16:06:12 <elliott> Okay, I hereby declare that the average quality of quotes in the database is Pretty Good.
16:06:30 <elliott> Wait, never mind, I just made a MISTAKE.
16:07:01 <elliott> Never mind, it resolved itself.
16:07:02 <elliott> `quote
16:07:03 <HackEgo> 99) <Warrigal> Ah, vulva. <Warrigal> What is that, anyway?
16:07:12 <elliott> `quote
16:07:13 <elliott> `quote
16:07:13 <elliott> `quote
16:07:14 <elliott> `quote
16:07:26 <HackEgo> 76) <oklopol> Warrigal: what do you mean by 21?
16:07:29 <HackEgo> 154) <oklopol> but yeah i'm not exactly comfortable with this stuff, to me it seems like if you can unscrew lightbulbs, why couldn't you see into the future, or through walls as well
16:07:29 <HackEgo> 230) Thanks to nooga for constructive criticism, his ideas and being a constant annoyance. --http://theendisnear.no-ip.info/
16:07:29 <HackEgo> 80) <AnMaster> I'm 100% of what sort of magic was involved in it
16:10:44 -!- Sasha has quit (Read error: Connection reset by peer).
16:12:45 -!- Phantom_Hoover has joined.
16:38:17 -!- oerjan has quit (Remote host closed the connection).
16:38:25 -!- oerjan has joined.
16:42:47 <nooga> AKSFJKER
16:42:55 <elliott> WHY ARE THERE NO TINY VI CLONES
16:43:05 <nooga> elliott: how is your very damn small linux?
16:43:16 <elliott> nooga: in need of a vi clone :)
16:43:31 <Phantom_Hoover> elliott, is this Kitten?
16:43:31 <oerjan> elliott: you will have to install TECO instead *MWAHAHAHA*
16:43:37 <nooga> isn't cat and sed enough? :D
16:43:40 <elliott> Phantom_Hoover: No way! This is The Insane Flinix.
16:43:59 <nooga> oerjan: TECO!
16:44:07 -!- Phantom_Hoover_ has joined.
16:44:08 <elliott> Phantom_Hoover: A compleat (well, for some definition of compleat) Linux distribution, with networking, X11 and an IRC client, in one 1.44 meg floppy.
16:44:15 <elliott> oerjan: I love TECO, man!
16:44:17 <elliott> I've edited with it.
16:44:24 <elliott> Maybe I'll try Emacs; that's gotta be smaller, right?
16:44:30 <elliott> Or write my ow- *GAK!*
16:44:38 <elliott> The anti-NIH gods have cast me away from my own life.
16:44:40 <nooga> elliott: http://texteditors.org/cgi-bin/wiki.pl?ViFamily
16:44:57 <oerjan> http://scientopia.org/blogs/goodmath/2010/11/30/the-glorious-horror-of-teco/
16:44:59 <elliott> http://xvi.sourceforge.net/ seems to be the smallest, from their little table there.
16:45:02 <nooga> use ed
16:45:10 <elliott> oerjan: "scientopia"? they renamed it again?
16:45:12 <nooga> or em
16:45:16 <elliott> oerjan: what fucking kind of name is scientopia :)
16:45:29 <elliott> no wait scienceblogs is still there
16:45:41 <elliott> ah, he moved
16:46:08 <elliott> lol, scienceblogs gave pepsico a blog
16:46:26 <elliott> anyway the problem with xvi is that I need termcap and termcap is ancient vintage software :)
16:46:29 <elliott> and uh
16:46:34 <elliott> it's still like
16:46:38 <elliott> gonna be 13K for it and all the supported files
16:46:41 <elliott> but i guess it'll compress well
16:46:57 -!- ais523 has joined.
16:46:57 -!- nopseudoidea has quit (Quit: Quitte).
16:47:07 <elliott> hi ais523
16:47:28 <oerjan> elliott: wait you are _anti-NIH_ now?
16:47:32 <elliott> oerjan: no
16:47:36 <elliott> oerjan: but the gods are
16:47:47 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
16:48:05 <oerjan> maybe it's time for my topic idea
16:48:32 -!- oerjan has set topic: The knights who say NIH | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
16:48:35 <elliott> hmph libtermcap.a is 40K that's huge.
16:48:40 <elliott> oerjan: WTF I THOUGHT OF THAT YESTERDAY
16:48:46 <elliott> fuck you, synchronicitician
16:48:51 <oerjan> *MWAHAHAHA*
16:49:12 <elliott> oh it had -g
16:49:14 -!- nooga has quit (Read error: Operation timed out).
16:49:15 <oerjan> and i've been thinking of it for a while too :D
16:49:19 <elliott> 10K now, and I'll sstrip the resulting xvi
16:49:27 <ais523> hi elliott
16:49:46 <ais523> also, do you really need support for more than one terminal?
16:49:53 <elliott> ais523: no, but xvi uses termcap
16:49:56 <elliott> so I have to have the library
16:50:00 <ais523> patch it so it doesn't
16:50:02 <elliott> and I figure the real termcap is smaller than terminfo's emulation of it
16:50:12 <elliott> ais523: i'm allergic to vt100 codes
16:50:18 <ais523> they really aren't too difficult
16:50:21 <elliott> ais523: by the way, I cleaned out most of the crap from the quotes file
16:50:30 <elliott> I know they aren't difficult, I just don't wannaaaa :)
16:50:34 <ais523> `pastequotes
16:50:48 <elliott> HackEgo is a bit slow.
16:50:54 <elliott> note: most of, I make no guarantees as to the quality of the quotes file :)
16:50:56 <elliott> and I refuse to remove any fungot quote
16:51:00 -!- nooga has joined.
16:51:12 <elliott> he deserves a lower threshold for what constitutes a good quote, since he did it without a brain
16:51:16 <elliott> s/he/it/g
16:51:21 <elliott> (sorry fungot)
16:51:26 <elliott> oh, RIP fungot :P
16:51:30 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.30285
16:52:02 <elliott> -rwxr-xr-x 1 elliott elliott 127K Dec 7 16:51 xvi
16:52:08 <elliott> I can /not/ afford to spend 127K on an editor.
16:52:18 <elliott> hmm, levee looks the smallest then
16:52:23 <elliott> even so, it's 37K on Mastodon
16:52:24 -!- bsmntbombdood has quit (Remote host closed the connection).
16:52:24 <nooga> elliott: http://texteditors.org/cgi-bin/wiki.pl?TinyEditors
16:52:37 <nooga> elliott: i just wanted to say that you should try levee
16:53:05 <elliott> nooga: I'd already thought of levee, being the official David Parsons Stalker.
16:53:06 <ais523> elliott: most of the old DOS editors were smaller than 64KiB
16:53:11 <ais523> so they fit in a .COM file
16:53:16 <elliott> ais523: they ran on DOS, though
16:53:18 <elliott> not quite the same thing as linux :)
16:53:25 <elliott> sheesh, if I can't get a really tiny editor I'll write my own... in asm!
16:53:30 <elliott> maybe asmutils will accept it
16:53:50 <ais523> what features would you want?
16:54:17 <ais523> for me, the minimum for a usable editor is inserting letters, cursor movement, deleting letters via delete and backspace, and preserving indentation from one line to the next
16:54:26 <ais523> (I don't consider Notepad a usable editor as it lacks the last feature there)
16:55:01 <nooga> elliott: e3 ?
16:55:11 <elliott> ais523: the latter is useless bloat as far as flinix as concerned; you'll be editing, what, config files at the most
16:55:20 <elliott> ais523: I am not sure Flinix actually has a *use* :)
16:55:30 <elliott> ais523: but, uh, features I'd want:
16:55:38 <elliott> the basic : commands like w, o, q
16:55:48 <elliott> insert mode
16:55:49 <ais523> oh, I forgot about saving and quitting
16:55:50 <nooga> http://freshmeat.net/projects/virus/
16:55:57 <ais523> you could quit via SIGINT, but there should be a way to save
16:56:07 <ais523> and I said "inserting letters", overwriting them would be bloat
16:56:07 <elliott> the commands "x", "d", "^", "$", "a", "i"
16:56:15 <elliott> the latter two entering insert mode
16:56:19 <elliott> and finally, the command "c" for overwrite
16:56:25 <elliott> plus the vi-style numerical prefixes of those
16:56:34 <elliott> well, numerical and direction
16:56:40 <nooga> ad y and p
16:56:45 <ais523> elliott: I was trying to stay general, not assuming vi-like
16:56:47 <elliott> nooga: sure, sure, if you wanna be bloaty
16:56:51 <elliott> ais523: well, I want a vi-like editor :)
16:56:53 <elliott> ais523: posix specifies it!
16:56:57 <elliott> nooga: aha
16:57:14 <elliott> I'll try that after levee
16:57:31 <ais523> elliott: what about this for an idea: you can move the movement commands to arrow keys and home/end/etc
16:57:38 <ais523> that way, you wouldn't have the overhead of entering and leaving insert mode
16:57:48 <elliott> ais523: congratulations, you just invented emacs
16:57:56 <elliott> ais523: (and how do you do :? oh wait, I know, Alt+X!)
16:58:02 <elliott> genius! and we can put Lisp in it, too
16:58:07 <elliott> (fun fact: original ex had lisp)
16:58:21 <ais523> elliott: I'm aware of the irony :)
16:58:43 <elliott> ais523: I actually think insert mode is less code overhead
16:58:50 <elliott> ais523: because arrow keys etc. come as multiple characters
16:58:53 <elliott> so you have to maintain state /anyway/
16:59:19 <ais523> to be fair, Emacs and vim aren't that different; in vim you press esc and i to switch between modes, in Emacs you hold and release control
16:59:55 <elliott> ugh, you stupid configure script
17:00:26 <ais523> but I'm not a configure script!
17:00:40 <elliott> ais523: i'm referring to levee's
17:01:00 <elliott> which only takes $CC as a path, so I can't say "diet -Os pcc", and first tries CC without CFLAGS, so I can't say CC="diet" CFLAGS="-Os pcc"
17:01:07 <elliott> solution: wrapper script! dietpcc!
17:01:16 <elliott> just like pcc, but with fewer calories!
17:02:47 <Gregor> Why can't you say CC="diet -Os pcc"?
17:03:11 <Gregor> Oh
17:03:14 <Gregor> Only takes CC as a path.
17:03:17 <nooga> elliott: bundle hedgehog lisp in flinix
17:03:21 <Gregor> That's pretty bizarre.
17:03:50 <elliott> Gregor: It calls some C program that uses exec* of some kind.
17:03:51 <elliott> So yeah.
17:03:54 <elliott> (I think.)
17:03:58 <elliott> (Who knows, this is just a guess.)
17:04:04 <elliott> find.o: In function `omatch':
17:04:04 <elliott> (.text+0x1ad): undefined reference to `toupper'
17:04:04 <elliott> find.o: In function `omatch':
17:04:04 <elliott> (.text+0x1bc): undefined reference to `toupper'
17:04:05 <elliott> LAL WAT
17:04:05 <elliott> LAL WAT
17:04:09 <elliott> *no duplicate line
17:08:15 <elliott> -rwxr-xr-x 1 elliott elliott 59531 Dec 7 17:07 lev
17:08:18 <elliott> huge and requires termcap too
17:08:26 <elliott> I'll try virus
17:10:49 <elliott> -rwxr-xr-x 1 elliott elliott 54075 Dec 7 17:10 virus
17:10:59 <elliott> bullshit.
17:12:10 <elliott> -rwxr-xr-x 1 elliott elliott 37691 Dec 7 17:11 virus
17:12:11 <elliott> way too big
17:12:19 <nooga> wtf
17:12:27 <nooga> they've said it's tiny
17:12:35 <elliott> nooga: yeah and that's with every feature disabled, sstrip'd, compiled with pcc, and linked with dietlibc
17:12:39 <elliott> tiny my ass
17:12:49 <elliott> quick, someone name my vi clone with a word involving "vi"
17:12:54 <elliott> ais523! quick! bring out the puns!
17:14:07 <Vorpal> elliott, vimsy?
17:14:16 <Vorpal> (yes horrible pun)
17:14:18 <elliott> Vorpal: that is not a word
17:14:24 <Vorpal> elliott, it is almost whimsy
17:16:05 <elliott> viscous, vicious, vixen, villain, vicissitude, vigil, vine, violator, vitriolic
17:16:09 <elliott> nooga: pick one
17:16:58 <elliott> viaduct
17:17:04 <Phantom_Hoover_> Viscous.
17:17:47 <Vorpal> ^run echo $(( RANDOM % 10 ))
17:17:53 <elliott> no, it should be a thing-that-does i think
17:17:56 <elliott> e.g. villain, violator
17:18:05 <elliott> violator, i'll go with violator
17:18:08 <Vorpal> ^help
17:18:12 <elliott> Vorpal: fail
17:18:12 <Vorpal> uh
17:18:16 <elliott> you fail forever
17:18:18 <Vorpal> elliott, did I mix up the bots?
17:18:19 <Vorpal> oh yes
17:18:24 <Vorpal> I did mix them up
17:18:31 <Vorpal> `run echo $(( RANDOM % 10 ))
17:18:46 <Vorpal> `help
17:18:55 <Vorpal> speaking of which, where is fungot?
17:18:58 <Vorpal> fizzie, !
17:19:03 <Vorpal> fizzie, bring back fungot
17:19:14 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
17:19:17 <HackEgo> 1
17:19:40 <elliott> so what's the stupid set of ioctls you need to get a raw terminal
17:19:50 <Vorpal> elliott, you mean to implement one or?
17:20:16 <elliott> Vorpal: no, to put the terminal into one
17:20:41 <Vorpal> elliott, uh what are you trying to do exactly.
17:20:46 <Vorpal> (or approx)
17:20:59 <nooga> elliott: vixen
17:21:01 <nooga> sounds nice
17:21:03 <elliott> Vorpal: it's very obvious what i mean to anyone who has done this before, if you haven't done any terminal programming you won't know
17:21:09 <elliott> nooga: yes but all the furries will use it.
17:21:39 <Vorpal> elliott, I have done some. Written a tool that emulated a terminal to be able to send a password to sudo
17:21:48 <Vorpal> or was it su? Was like 3 years ago
17:22:18 <nooga> http://www.ultravixens.net/ uh, the domain seems to be reserved
17:22:27 -!- nopseudoidea has joined.
17:22:39 <nooga> elliott: oh come on, the SADOL interpreter is called BDSM
17:23:09 <Vorpal> elliott, things that may be of use: console_ioctl(4) and termios(3) (the latter I doubt you mean but who knows)
17:23:23 <elliott> Vorpal: yes, it's doing what termios does
17:23:27 <elliott> but termios is ~big
17:23:34 <elliott> so i'm going to do it with ioctls
17:23:38 <elliott> ah look, some nice code I can rip off!
17:24:04 <Phantom_Hoover_> elliott, so wait, Kitten is minimalistic now?
17:24:14 <Vorpal> elliott, hm. termios big?
17:24:24 <elliott> Phantom_Hoover_: THIS IS FLINIX NOT KITTEN I TOLD YOU THAT
17:24:34 <Phantom_Hoover_> Ah.
17:24:40 <Vorpal> elliott, but why? the code is only in one copy on the disk?
17:24:57 <Phantom_Hoover_> I did disconnect just after asking, so I didn't know...
17:25:00 <elliott> Phantom_Hoover_: ah
17:25:04 <elliott> Vorpal: because, like every abstraction, it uses more code than doing it directly
17:25:19 <elliott> <elliott> Phantom_Hoover: No way! This is The Insane Flinix.
17:25:20 <elliott> <elliott> Phantom_Hoover: A compleat (well, for some definition of compleat) Linux distribution, with networking, X11 and an IRC client, in one 1.44 meg floppy.
17:25:27 <Vorpal> elliott, but since there is bound to be some app that needs it anyway it will still exist in exactly one copy on the system
17:25:54 <Vorpal> elliott, after all, aren't you using a deduplicating filesystem?
17:26:16 <elliott> <Vorpal> elliott, but since there is bound to be some app that needs it anyway it will still exist in exactly one copy on the system
17:26:19 <elliott> you realise this is flinix?
17:26:22 <elliott> no, there will not be any other app that uses it
17:26:27 <elliott> because there is not enough space on a floppy for that.
17:26:34 <Vorpal> elliott, flinix?
17:26:36 <Vorpal> what is that
17:26:44 <elliott> Vorpal:
17:26:45 <elliott> <elliott> <elliott> Phantom_Hoover: No way! This is The Insane Flinix.
17:26:45 <elliott> <elliott> <elliott> Phantom_Hoover: A compleat (well, for some definition of compleat) Linux distribution, with networking, X11 and an IRC client, in one 1.44 meg floppy.
17:26:45 <elliott> <Vorpal> elliott, but since there is bound to be some app that needs it anyway it will still exist in exactly one copy on the system
17:26:51 <elliott> BUY A CLIENT WITH SCROLLBACK ALREADY
17:26:54 <elliott> >_<
17:27:03 <Vorpal> why
17:27:10 <Vorpal> (as in why make that distro)
17:27:11 <elliott> why what
17:27:14 <elliott> because i want to.
17:27:24 <elliott> Vorpal: why did you make cfunge
17:27:56 <Vorpal> elliott, because I wanted to code something and was bored, and it looked like an interesting thing to code.
17:28:25 <elliott> Vorpal: so, in short: "because i wanted to."
17:28:31 <Vorpal> elliott, indeed
17:28:41 <Vorpal> elliott, but I though you were busy with kitten?
17:29:54 <elliott> Vorpal: pending on coreutils
17:31:17 <Vorpal> elliott, ah, you took a pause from writing that?
17:31:40 <Vorpal> elliott, also which X will you fit on that floppy
17:31:48 <Vorpal> not xorg I presume
17:32:59 <elliott> Vorpal: smallX
17:33:09 <elliott> and yes, this is my way of avoiding the infinite tedium of writing a coreutils
17:33:26 <elliott> Vorpal: smallX is this server that ran on 386s with 4 megs of ram as part of Small Linux
17:33:28 <elliott> libc5 based
17:33:35 <elliott> I just need to find a tarball on an ftp server that still exists :)
17:33:51 <elliott> it has two servers, mono (for Hercules mono cards and the like) and 16-colour VGA
17:33:55 <elliott> and its own tiny Xlib
17:34:05 <elliott> should suffice to run a very small terminal program at least
17:36:07 -!- Quadrescence has quit (Ping timeout: 245 seconds).
17:36:41 <elliott> -rwxr-xr-x 1 elliott elliott 1639 Dec 7 17:36 vi
17:36:50 <elliott> it goes into raw mode, reads one character, puts the mode back, and exits :)
17:36:55 <elliott> in C for now
17:38:20 <nooga> huh
17:38:42 <nooga> good luck with writing that
17:39:04 <Vorpal> elliott, can't you reuse code for some tools from heirloom?
17:39:17 <elliott> Vorpal: i looked at heirloom code; it may be Olde Tymes but it sure isn't lean
17:39:27 <elliott> Vorpal: in fact i'd say it's about as ugly as BSD core utils. maybe more
17:39:36 <elliott> cat has like 5 flags :)
17:39:44 <elliott> also i don't /think/ it has mount, not sure
17:39:52 <nooga> elliott: http://hedgehog.oliotalo.fi/ bundle this
17:39:55 <Vorpal> elliott, saves on binary size to merge tools ;P
17:40:03 <elliott> nooga: what lang is it implemented in? C?
17:40:06 <Vorpal> ie. your goals are somewhat conflicting
17:40:11 <elliott> Vorpal: I do do that
17:40:22 <elliott> Vorpal: anyway it's more interface bloat i care about, it's just for fun, the size thing
17:40:29 <elliott> Vorpal: asmutils whoop me thoroughly in the ass as far as size goes
17:40:32 <elliott> (and i'm using them in flinix)
17:40:46 <nooga> elliott: who cares, it compiles to 20kB
17:41:13 <Vorpal> elliott, why not use busybox or asmutils then?
17:41:30 <nooga> elliott: and yes, it's in C
17:41:33 <elliott> Vorpal: busybox is huge
17:41:39 <elliott> nooga: 20K? pah, I can get it less
17:42:01 <elliott> nooga: what is the shared secret for :p
17:42:43 <nooga> but it's featureful
17:43:06 <nooga> and proveides a damn small scripting language for flinix
17:44:06 <elliott> nooga: unfortunately, flinix is too useless to need one
17:44:10 <elliott> nooga: what executable is 20K for you?
17:45:45 <nooga> oh, the interpreter
17:45:53 <elliott> nooga: hhi, right
17:46:07 <elliott> -rwxr-xr-x 1 elliott elliott 30067 Dec 7 17:45 hhi
17:46:11 <elliott> nooga: ka-pow!
17:46:32 <elliott> UNFORTUNATELY, I would rather spend the bytes on a C compiler.
17:46:39 <elliott> (anyone know a reaaaaaaaaally tiny libc? :P)
17:48:26 <nooga> http://www.fefe.de/dietlibc/
17:49:13 <Vorpal> elliott, yes the one I used on the rcx. That was libc in the "This isn't hosted so fuck you" meaning though
17:49:54 <elliott> nooga: dude, i'm well aware of dietlibc
17:49:58 <elliott> seeing as I've patched it
17:50:00 <elliott> it's still pretty big
17:50:07 <elliott> like one meg libc.a or so with stuff enabled
17:50:11 <elliott> maybe a few hundred K with stuff disabled
17:50:20 <elliott> I'm looking for 40K, 50K or so
17:50:23 <elliott> the one in asmutils is 20K
17:50:25 <elliott> or less, I forget
17:50:28 <Vorpal> elliott, after all, the whole OS and any programs have to fit into a 16-bit address space. Together with a rather large ROM.
17:50:29 <elliott> but i have a feeling it does not implement much :)
17:50:52 <elliott> Vorpal: you think that's bad, my fucking kernel takes up 480K to do barely anything at all for me
17:51:16 * elliott considers not supporting command repeats >9
17:51:22 <Vorpal> elliott, wrong OS :P
17:52:06 <nooga> when will be the first release?
17:52:49 <Vorpal> elliott, why not drop printf. It tends to take a lot of space. You can have snprintf that does %s and %x, that is enough for anyone
17:52:50 <Vorpal> ;P
17:52:54 <Vorpal> bbl an hour or so
17:53:11 <elliott> Vorpal: i don't even use printf
17:53:16 <elliott> nooga: as soon as I get X working
17:53:29 <elliott> ...somehow, my loop supporting any int is smaller than a conditional just supporting one digit
17:53:37 <elliott> Vorpal: (even in my real programs)
17:53:46 <elliott> wait, no it isn't, it's quite a bit bigger like that
17:56:28 <nooga> then what do you use instead of printf() ?
17:57:20 <elliott> nooga: write
17:57:27 <elliott> usually
17:58:23 <nooga> then how to you print numbers?
17:59:42 <elliott> nooga: i have an ltostr routine i carry around :p if I was less silly, I'd just use libowfat, which has formatted printing using write
17:59:47 <elliott> http://www.fefe.de/libowfat/
17:59:56 <elliott> although it's gpl
18:00:03 <elliott> so i'd probably use http://www.fefe.de/djb/ directly
18:05:06 <elliott> nooga: ok e3 is tiny
18:05:10 <elliott> but irritating interface
18:06:52 <elliott> ok, it needs sed
18:07:23 <elliott> ah, e3 can emulate vi
18:11:15 -!- nopseudoidea has quit (Quit: Quitte).
18:13:00 <Phantom_Hoover_> elliott, how are you calling the syscalls?
18:13:15 <elliott> Phantom_Hoover_: err, me? in what?
18:13:33 <Phantom_Hoover_> In the code you're writing, presumably sans a libc.
18:13:39 <elliott> what code?
18:13:50 <Phantom_Hoover_> For Flinix?
18:13:57 -!- nooga has quit (Ping timeout: 240 seconds).
18:14:01 <elliott> What code?
18:14:12 <Phantom_Hoover_> So you've not written any code?
18:14:29 <elliott> Not yet!
18:15:06 -!- nooga has joined.
18:15:53 <Phantom_Hoover_> How do you plan to call them?
18:15:57 <nooga> damn
18:16:07 <nooga> my internet connection is flaky
18:16:25 <elliott> Phantom_Hoover_: I don't plan to write any code.
18:16:32 <elliott> So, Julian Assange arrested in this piece of shit nation, denied bail.
18:16:40 <elliott> On the rape "charges", lawl.
18:16:51 <Phantom_Hoover_> There are nations that aren't complying?
18:17:04 <Phantom_Hoover_> Ecuador has caved in, Sweden was helping all along...
18:17:16 <nooga> e3 seems nice
18:17:25 <elliott> nooga: yeah you can make it emulate vi by default
18:18:29 <nooga> http://piumarta.com/software/peg/ how awesome
18:18:30 <elliott> -rw-r--r-- 1 elliott elliott 615K Dec 7 18:15 dietlibc.a
18:18:32 <elliott> with ~everything disabled
18:18:40 <elliott> nooga: you didn't know about PEGs?
18:18:45 -!- MigoMipo_ has joined.
18:19:01 <nooga> i learnt about it when playing with tinyrb
18:19:22 <elliott> so does anyone know about a REALLY tiny libc :)
18:19:45 <nooga> uclibc ?
18:21:21 -!- MigoMipo has quit (Ping timeout: 240 seconds).
18:28:15 <Ilari> Hah: "If two of the three co-authors on this draft cannot agree on the semantics, then it is maybe premature for them to expect the Internet community to do so."
18:29:06 <elliott> nooga: uClibc is huge
18:29:08 <elliott> compared to dietlibc
18:29:16 <nooga> oh
18:29:24 <nooga> then i don't have an idea
18:34:47 <elliott> .suicide:db__n,"Suicide is painless...", EOL
18:34:47 <elliott> .stop:db__n,"You say STOP and I say go...", EOL
18:34:47 <elliott> .nosuchpiddb"Child is 0xDEAD. I'm sorry", __n, EOL
18:44:47 <elliott> System is 670 kB
18:44:52 <elliott> Dude, I bloated my system with ethernet drivers.
18:48:38 -!- Quadrescence has joined.
18:51:46 <elliott> 15:37:38 <AnMaster> and it is imperative that I do not use facebook
18:51:51 <elliott> Vorpal will literally explode if he uses facebook.
18:51:55 <elliott> Literally.
18:53:18 <elliott> 15:46:26 <AnMaster> Gregor-W, use your own colour matcher!
18:53:18 <elliott> 15:46:32 <Gregor-W> AnMaster: I do. Inverted.
18:53:26 <elliott> Gregor: Didn't you write it to *avoid* doing that kind of stuff? :p
18:54:45 <elliott> ais523: can you tell esr that the problem with open source is that the linux kernel doesn't let you disable some stuff?
18:54:48 <elliott> ais523: i hear he's influential
18:56:29 -!- wareya_ has quit (Read error: Connection reset by peer).
18:56:49 -!- wareya has joined.
18:57:35 <Vorpal> elliott, 1) when was that quote from?
18:57:43 <Vorpal> 2) <elliott> Vorpal will literally explode if he uses facebook. <-- duh no. Implode
18:57:45 <elliott> 10.07.10
18:57:52 <Vorpal> explode if I use facebook? How silly
18:57:58 <elliott> After trying to comprehend:
18:58:01 <Vorpal> everyone knows it is implosion
18:58:02 <elliott> `quote MY PHONE
18:58:07 <elliott> which was said on that day.
18:58:11 <elliott> (C'mon, HackEgo! You can do it!)
18:58:14 <Vorpal> XD
18:58:16 <elliott> (I know running grep is hard. But c'mon!)
18:58:23 <elliott> (I know, I know, I blame GNU bloat too.)
18:58:29 <Vorpal> `uptime
18:58:35 <elliott> (But you're on Debian; there's no escape. (Maybe I should port Plash to Flinix.))
18:58:39 <elliott> Vorpal: don't give it MORE things to think about!
18:58:50 <Vorpal> elliott, uptime shouldn't be complex
18:58:51 <HackEgo> 162) <calamari> anmaster gonna give him a birthday bj? <AnMaster> IF ONLY I COULD FIND MY PHONE
18:58:51 <HackEgo> 18:58:27 up 4 days, 22:16, 0 users, load average: 1.55, 1.09, 0.74
18:59:10 <Vorpal> elliott, that looks rather like "different contexts"
18:59:26 <elliott> There were messages in-between :P
18:59:31 <Vorpal> elliott, then it is cheating
18:59:39 <elliott> Yes it is, but Gregor added it and it's his bot.
19:00:11 <Vorpal> elliott, I mean, it is similar to finding hidden messages in the bible (or any other large book)
19:00:23 <Gregor> `quote
19:00:24 <HackEgo> 64) <apollo> So... copyright doesn't really apply to God.
19:00:35 <Vorpal> elliott, I'm sure I could create something amusing by picking lines you said over the years...
19:00:35 <elliott> Vorpal: to be fair, you were also adding the relevant person's birthday to your phone at the time.
19:00:41 <elliott> so I think any mocking is perfectly okay
19:00:46 <Vorpal> elliott, oh? huh
19:01:23 <Gregor> TO THE LOGS
19:01:25 <Vorpal> elliott, also: I use my phone calendar for everything that a calendar is useful for basically.
19:01:34 <elliott> Vorpal: you never did give him his birthday bj though
19:02:11 <Vorpal> elliott, I don't do that kind of stuff :P
19:02:12 <elliott> `rm bin/d
19:02:13 <HackEgo> No output.
19:02:18 <Vorpal> elliott, bin/d ?
19:02:19 <elliott> Vorpal: But you're fine with sodomy?
19:02:27 <Gregor> X-D
19:02:28 <elliott> d was my script to remove a quote from my "q" file.
19:02:35 <elliott> It just did grep -v "^$1)"
19:02:40 <elliott> so I could use the same numbers without refreshing
19:02:46 <elliott> (with the main quotes file numbers rejiggle if you remove quotes)
19:02:49 <Vorpal> elliott, only if it enhances the joke :P
19:02:59 <elliott> Which is, admittedly, not the best idea, but it's more elegant to implement :P
19:03:13 <Vorpal> <elliott> Vorpal: But you're fine with sodomy? <elliott> Which is, admittedly, not the best idea, but it's more elegant to implement :P
19:03:15 <Gregor> I prefer Gomorrhing.
19:03:20 <Vorpal> see what context (lack of) can do
19:03:26 <elliott> Vorpal: Not much at all? :P
19:03:37 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:03:38 <Vorpal> elliott, indeed it is rather confusing
19:03:39 <Gregor> Sodomy: Definitely elegant.
19:03:57 <elliott> v1.0/ 20-Mar-2003 22:58 -
19:04:03 <elliott> That sounds like it could be smaller than 2.6.36!
19:04:08 <elliott> .1!
19:04:19 <Vorpal> <elliott> It just did grep -v "^$1)" <-- you should use sed's d command
19:04:35 <elliott> Vorpal: But what if the number had a / in it???
19:04:40 <elliott> linux-1.0.tar.bz2 13-Mar-1994 00:00 1.0M
19:04:42 <elliott> LOL ANACHRONISM
19:04:50 <Vorpal> elliott, doesn't it use N?
19:04:56 <Vorpal> elliott, rather than R
19:05:01 <Vorpal> err
19:05:02 <Vorpal> Q
19:05:04 <Vorpal> I meant
19:05:07 <elliott> Vorpal: what
19:05:19 <elliott> oh, i see what you mean but you're wrong
19:05:22 <Vorpal> (Q because, "Rational numbers" starts with a Q)
19:05:24 <elliott> Vorpal: the whole point is that "60" is always the same line
19:05:35 <elliott> oh, wait
19:05:37 <elliott> never mind
19:05:41 <elliott> i misinterpreted your misinterpretation
19:05:45 <Vorpal> elliott, XD
19:05:55 <elliott> WHAT LINUX 1.0 DIDN'T USE MENUCONFIG HOW SILLY EH
19:06:11 <elliott> Oh god it's going to prompt me about EVERY DAMN THING.
19:06:16 <elliott> ifdef CONFIG_M486
19:06:16 <elliott> CFLAGS := $(CFLAGS) -m486
19:06:16 <elliott> else
19:06:16 <elliott> CFLAGS := $(CFLAGS) -m386
19:06:16 <elliott> endif
19:06:24 <Vorpal> elliott, presumably it only started that some time after it became a PITA to not have it
19:06:58 <elliott> ...Wow. I just measured Flinix's memory usage after a cold boot.
19:07:00 <Vorpal> elliott, does it use plain make config?
19:07:06 <elliott> Used: 1132
19:07:07 <elliott> Shared: 0
19:07:09 <elliott> Buffers: 0
19:07:11 <elliott> (It's all a ramfs :P)
19:07:15 <Vorpal> elliott, /proc/meminfo?
19:07:23 <Vorpal> elliott, or what
19:07:27 <elliott> free(1)
19:07:39 <elliott> TODO: Figure out why /etc/rc isn't working.
19:07:42 * elliott mounts /proc manually
19:07:50 <Vorpal> elliott, weird output format for free(1)
19:08:03 <elliott> Oh, TODO: Use -t for mount in etc/rc...
19:08:06 <elliott> Vorpal: That was my retyping.
19:08:08 <Vorpal> ah
19:08:23 <Vorpal> elliott, you could add /proc to fstab
19:08:28 <Vorpal> but I guess that would waste space
19:08:32 <elliott> Vorpal: I don't do mount -a at boot.
19:08:34 <Vorpal> elliott, are you using a compressed fs?
19:08:49 <elliott> Vorpal: Yes and no. It's an initramfs compiled into the kernel, and the kernel is LZMA'd.
19:08:54 <Vorpal> ah
19:08:56 <elliott> So yes on floppy, no in RAM.
19:09:01 <elliott> It's like 70K anyway :P
19:09:03 <Vorpal> elliott, how does it compare to squashfs?
19:09:11 <Vorpal> or does squashfs has too much overhead?
19:09:15 <elliott> Vorpal: How does LZMA compare to anything --> LZMA beats it.
19:09:18 <elliott> Vorpal: Squashfs probably requires the block layer.
19:09:26 <Vorpal> haha
19:09:36 <elliott> Vorpal: And I would have to have floppy support since you can't embed normal filesystems into the kernel.
19:09:47 <elliott> Vorpal: Remember, initramfs is literally just a .cpio that gets unpacked into a ramfs in memory :P
19:10:12 <elliott> Guh, why isn't /proc mounting.
19:10:24 <elliott> (Also TODO: Figure out how the fuck to use asmutils less :P)
19:10:26 <Vorpal> elliott, I suspect squashfs does better at larger images since it is somewhat "smart" with how it represents the FS before it goes to the compression bit.
19:10:42 <elliott> Vorpal: "smart"er than cpio?
19:10:53 <Vorpal> elliott, does cpio do block deduplication?
19:11:05 <elliott> Vorpal: LZMA does all the deduplication you need :P
19:11:07 <Vorpal> sure it isn't useful at small sizes since then the compressing will take care of that
19:11:27 <Vorpal> elliott, afaik lzma has a window like most other compression algorithms
19:11:48 <elliott> Vorpal: Anyway, with squashfs I'd need it to be able to read the floppy to read it.
19:11:48 <Vorpal> elliott, which means it won't help if those files end up far from each other in a large (few hundred MB or so) image
19:11:51 <elliott> And the floppy would need formatting.
19:11:55 <Vorpal> elliott, ah
19:11:57 <elliott> At which point I could just use any filesystem on the floppy and mount it as /.
19:12:12 <elliott> Vorpal: To have it actually useful, I'd have to have a bloated bootloader which can read filesystems :P
19:12:23 <elliott> Vorpal: My bootloader = The very core of FreeDOS + LINLD in AUTOEXEC.BAT.
19:12:26 <Vorpal> elliott, or why not place it inside the initramfs ;)
19:12:29 <elliott> (Well, my bootloader will-be.)
19:12:34 <elliott> Vorpal: Then I don't need an FS :P
19:12:47 <Vorpal> elliott, what, that is a waste. Why not just a hand written boot sector
19:13:21 <Vorpal> elliott, surely that will be less wasteful
19:13:28 <elliott> Vorpal: You try loading Linux in 512 bytes :P
19:13:33 <elliott> It'll be smaller than lilo, probably.
19:13:56 <Vorpal> elliott, well you could use another sector or two. Still smaller than DOS + linld probably
19:14:25 <Vorpal> elliott, just place the kernel starting in the sector after the bootloader
19:14:36 <Vorpal> (and adjust offsets as needed)
19:14:40 <elliott> Vorpal: Patches welcome.
19:14:55 <Vorpal> elliott, well it would not need a patch against linux. Just a hand written boot loader
19:15:15 <Vorpal> elliott, what does linux need to load? the kernel image at a specific memory address. Anything else?
19:15:19 <elliott> Vorpal: Boot sectors welcome.
19:15:34 <Vorpal> elliott, I'm not insane enough to write real mode code
19:15:42 <oerjan> Vorpal: i suspect Q is for "quotient" (or whatever the german equivalent is)
19:15:49 <elliott> quiet_cmd_lzma = LZMA $@
19:15:49 <elliott> cmd_lzma = (cat $(filter-out FORCE,$^) | \
19:15:49 <elliott> lzma -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
19:15:49 <elliott> (rm -f $@ ; false)
19:15:52 <elliott> I THINK I CAN DO BETTER THAN -9
19:15:57 <Vorpal> I have never done so. IIRC you have. Thus you are more likely to succeed at that
19:16:05 <Vorpal> hey didn't you write a boot sector some time ago?
19:16:11 <elliott> WHY DOES LZMA NOT HAVE A --CRAZY
19:16:16 <elliott> Vorpal: Yes, but it wouldn't load Linux ...
19:16:20 <Vorpal> elliott, -9 isn't always best iirc
19:16:28 <Vorpal> elliott, for small files especially
19:16:40 <Gregor> I'll bet elliott mounts a case-insensitive filesystem just so he can scream his commands.
19:16:42 <Vorpal> try 1-9 both with and without -e
19:16:44 <elliott> Vorpal: This is lzma not xz fwiw.
19:16:46 <elliott> Gregor: I DO
19:16:49 <Vorpal> elliott, see which one wins
19:16:55 <Vorpal> elliott, oh, then that might make a difference
19:17:00 <elliott> lzma: invalid option -- 'e'
19:17:13 <Vorpal> elliott, yeah I don't remember if lzma had the same recommendation
19:17:23 <elliott> I'll try "xz --format=lzma -9 -e".
19:17:32 <elliott> System is 536 kB
19:17:34 <elliott> to beat.
19:18:11 <Vorpal> elliott, I wonder what the file system structure of an initramfs looks like in memory. Is it just the cpio loaded as is
19:18:12 <elliott> System is 670 kB
19:18:16 <elliott> xz: ultimate failure.
19:18:19 <Vorpal> or does it translate it somehow?
19:18:19 -!- cheater99 has joined.
19:18:33 <Vorpal> elliott, -9 isn't best with xz for small files iirc
19:18:52 <elliott> Vorpal: It loads it into a shmfs or a ramfs if it doesn't have tha-- oh, look, my kernel grew anyway, it isn't xz's fault.
19:19:32 <Vorpal> elliott, also when it comes to 1.0 I doubt it has initramfs, Maaaaaaybe initrd but I would be somewhat surprised at that too
19:20:08 <elliott> Wow, old Linux config was hateful. It doesn't let you pipe yes to it.
19:20:18 <elliott> HATEFUL
19:20:23 <elliott> # This script is used to configure the linux kernel.
19:20:24 <elliott> #
19:20:24 <elliott> # It was inspired by the challenge in the original Configure script
19:20:24 <elliott> # to ``do something better'', combined with the actual need to ``do
19:20:24 <elliott> # something better'' because the old configure script wasn't flexible
19:20:24 <elliott> # enough.
19:20:25 <Vorpal> elliott, you might be better off with a 2.4 or 2.2 kernel
19:20:26 <elliott> #
19:20:27 <elliott> # Please send comments / questions / bug fixes to raymondc@microsoft.com.
19:20:30 <elliott> # Please send comments / questions / bug fixes to raymondc@microsoft.com.
19:20:32 <elliott> # Please send comments / questions / bug fixes to raymondc@microsoft.com.
19:20:34 <elliott> # Please send comments / questions / bug fixes to raymondc@microsoft.com.
19:20:36 <elliott> :-D
19:20:41 <Vorpal> elliott, whaaaaaat
19:20:51 <elliott> Microsoft: IN BED WITH LINUX, CIRCA 1994.
19:21:00 <Vorpal> elliott, you mean it isn't a bad joke?
19:21:04 <elliott> Nope!
19:21:06 <elliott> function readln () {
19:21:06 <elliott> echo -n "$1"
19:21:06 <elliott> IFS='@' read ans </dev/tty || exit 1
19:21:06 <elliott> [ -z "$ans" ] && ans=$2
19:21:06 <elliott> }
19:21:11 <elliott> OH NO YOU DI'INT
19:21:12 <elliott> Wait.
19:21:13 <elliott> Raymondc...
19:21:15 <elliott> Raymond Chen?
19:21:32 <elliott> Yes.
19:21:35 <Vorpal> elliott, presumably they didn't care if employees worked on such small hobby projects back then. I mean, they weren't really any threat back then
19:21:38 <Vorpal> elliott, who is that
19:21:40 <elliott> It's someone called Raymond Chen and it MIGHT JUST BE THAT RAYMOND CHEN.
19:21:49 <elliott> Vorpal: http://blogs.msdn.com/b/oldnewthing/
19:22:03 <elliott> Famous blogger on the awful reasons why Windows is so awful.
19:22:19 <Vorpal> elliott, at msdn?
19:22:22 <Vorpal> err
19:22:29 <elliott> Vorpal: Well, he doesn't consider it awful :P
19:22:35 <elliott> But it's all the gory details of the gory details.
19:23:10 <elliott> Anyway
19:23:13 <elliott> IFS='@' read ans </dev/tty || exit 1
19:23:15 <elliott> Discuss the hateful.
19:23:31 <elliott> "</dev/tty" in a program that asks a lot of questions is a synonym for "I hate you".
19:24:22 <Vorpal> elliott, :D
19:24:43 <Vorpal> elliott, anyway that thing won't have initrd
19:24:49 <Vorpal> probably won't
19:24:53 <elliott> Vorpal: No, but it'll probably be smaller even with floppy support :P
19:25:08 <Vorpal> elliott, augh at the top post of http://notch.tumblr.com/
19:26:18 <elliott> Vorpal: Will the endless bugs in Minecraft ever be fixed instead of terrible puns being posted to the blog? Notch-ance!
19:26:22 <elliott> Notch-ance at all.
19:27:52 <elliott> as86 -0 -a -o boot/bootsect.o boot/bootsect.s
19:27:53 <elliott> make: as86: Command not found
19:27:57 <elliott> HATEFUL KERNEL
19:28:01 <Vorpal> elliott, I believe the blog host was down for a few hours yesterday or so. It was down with a database error message when I tried at one point
19:28:07 <elliott> Oh joy, it doesn't look like gas syntax.
19:28:26 <Vorpal> elliott, does it look like intel? If so I'm sad. It should use an exotic third option
19:28:35 <elliott> It looks like AT&T but different :P
19:28:41 <Vorpal> elliott, oh yay
19:28:53 <Vorpal> elliott, different how?
19:29:06 * Vorpal invents a screwy asm syntax
19:29:12 <Vorpal> infix asm!
19:29:16 <elliott> Description: 16-bit x86 assembler and loader
19:29:16 <elliott> This is the as86 and ld86 distribution written by Bruce Evans. It's a complete 8086 assembler and loader which can make 32-bit code for the 386+ processors.
19:29:18 <elliott> thar we go
19:29:23 <elliott> Vorpal: Numbers start with # :P
19:29:27 <Vorpal> elliott, "target mov source" or "source mov target"
19:29:30 <Vorpal> which is best
19:29:38 <elliott> Vorpal: target := source
19:29:39 <elliott> or
19:29:41 <elliott> source -> target
19:29:44 <Vorpal> elliott, it should use mov
19:29:44 <elliott> or
19:29:53 <elliott> sou mov(target) rce
19:29:55 <Vorpal> elliott, I want infix asm
19:30:00 <elliott> consider
19:30:08 <elliott> e mov(ebx) ax
19:30:14 <elliott> see how the prefix is neatly separated from the base register
19:30:17 <Vorpal> elliott, seriously this is intended to be screwy, obscure and confusing :P
19:30:22 <Vorpal> it is not intended to be sane
19:30:23 <elliott> THAT IS SCREWY, OBSCURE AND CONFUSING
19:30:25 <Vorpal> true
19:30:28 <Vorpal> hm
19:30:29 <elliott> <elliott> e mov(ebx) ax
19:30:30 <elliott> that's the same as
19:30:32 <elliott> mov eax, ebx
19:30:33 <elliott> in intel
19:30:37 <elliott> or
19:30:38 <elliott> mov ebx, eax
19:30:40 <elliott> pick whichever :P
19:30:41 <Vorpal> hah
19:30:47 <elliott> in 16-bit mode you'd do
19:30:51 <elliott> a mov(bx) x
19:31:04 <elliott> as -c -o boot/head.o boot/head.s
19:31:04 <elliott> as: unrecognized option '-c'
19:31:05 <Vorpal> elliott, it should use different register names
19:31:05 <elliott> INFERNAL MACHINE
19:31:06 <Vorpal> hm
19:31:25 <elliott> boot/head.S: Assembler messages:
19:31:25 <elliott> boot/head.S:64: Error: suffix or operands invalid for `push'
19:31:26 <elliott> boot/head.S:65: Error: suffix or operands invalid for `popf'
19:31:26 <elliott> boot/head.S:99: Error: suffix or operands invalid for `pushf'
19:31:27 <elliott> DIE DIE DIE
19:31:49 <elliott> Oh, fuck this shit, I'll try Linux 2.0.
19:32:12 <Vorpal> (a,b) mov ex
19:32:15 <Vorpal> elliott, what about that
19:32:24 <Vorpal> for eax to ebx
19:32:37 <elliott> Vorpal: Yes, except not ex; have an infix operand size modifier.
19:32:48 <elliott> (a,b) [32] mov
19:32:50 <Vorpal> hm
19:33:02 <Vorpal> elliott, lets rename the registers
19:33:06 <elliott> Vorpal: And also have blocks of commands, so that instead of "bits 32", you do:
19:33:10 <elliott> [32] { ... }
19:33:26 <Vorpal> (1,2) [5] mov
19:33:28 <elliott> OK, Linux 2.0.1, if you're bloated I'll fuck your shit up.
19:33:34 <Vorpal> elliott, since 2^5 = 32
19:33:39 <elliott> Your shit... will be maximally fucked up.
19:33:54 <elliott> Vorpal: But that's not what the operation does! Instead, that should be
19:33:54 <Vorpal> elliott, you aren't persistent enoigh
19:33:57 <elliott> (1,2) mov
19:33:57 <Vorpal> enough*
19:34:02 <elliott> Vorpal: But "mov ax, bx" would be
19:34:12 <elliott> (1,2) mov &1111111111111111
19:34:19 <elliott> Vorpal: Because it modifies only the lower 16 bits.
19:34:22 <Vorpal> elliott, :D
19:34:28 <Vorpal> elliott, why the &?
19:34:33 <Vorpal> what does it signify
19:34:35 <elliott> Vorpal: Because it's like bitwise and if you squint.
19:35:03 <elliott> Vorpal: WAIT
19:35:05 <Vorpal> ah hm
19:35:09 <elliott> Vorpal: All numbers should be trinary.
19:35:34 <elliott> Vorpal: (1,2) mov &10022220020
19:35:35 <Vorpal> elliott, there is a fine line between "screwy" and "malbolge86"
19:35:39 <Vorpal> I think you just crossed it
19:35:41 <elliott> Vorpal: Yes. Let's cross it!
19:35:44 <oerjan> PLuggable ASsembler MAcros
19:35:59 <Vorpal> elliott, so what about base pointer and indexing?
19:36:14 <elliott> Vorpal: Those are done as virtual instructions.
19:36:18 <Vorpal> elliott, also they should be balanced ternary gray code
19:36:22 <Vorpal> for maximum screwiness
19:36:27 <elliott> Vorpal: For instance, what is, in Intel, "mov [ebx], [eax+2]"
19:36:32 <elliott> would be, in this, let me think...
19:36:33 <elliott> Ah yes.
19:36:47 <elliott> (1,2) incv
19:36:49 <elliott> (2,1) mov
19:36:54 <elliott> That is:
19:36:58 <olsner> you can't have two memory operands in an instruction like that
19:37:07 <elliott> olsner: Okay, okay, okay, fine.
19:37:10 <elliott> Vorpal: Okay, this:
19:37:12 <elliott> mov ebx, [eax+2]
19:37:14 <elliott> would look like this:
19:37:23 <elliott> (2,1) incv
19:37:27 <elliott> (1) deaddrv
19:37:27 <Vorpal> elliott, did you just increment eax by two first?
19:37:28 <Vorpal> hm
19:37:29 <elliott> (2,1) mov
19:37:32 <elliott> Vorpal: VIRTUALLY.
19:37:41 <Vorpal> elliott, deaddrv?
19:37:47 <elliott> Vorpal: "Increment, virtually, register 1, by 2. Deaddress, virtually, register 1. Move register 1 to register 2."
19:37:54 <Vorpal> ah
19:37:55 <elliott> It's (2,1) incv because we do everything in the most illogical order.
19:37:59 <Vorpal> elliott, what about: mov eax, [eax+2]
19:38:00 <elliott> ("incv 2, eax")
19:38:03 <Vorpal> (not sure that is valid even)
19:38:12 <elliott> Vorpal: Easy!
19:38:14 <nooga> elliott: which kernel version do you have now?
19:38:25 <elliott> (-1,1) movv
19:38:28 <elliott> (2,1) incv
19:38:36 <elliott> wait wait
19:38:36 <Vorpal> elliott, whaat?
19:38:42 <elliott> Vorpal: Let me try that again, all on one line.
19:38:57 <olsner> Vorpal: of course you can load into a register you use for the address
19:39:01 <elliott> (-1,1) movv; (2,-1) incv; (-1) deaddrv; (1,-1) mov
19:39:15 <Vorpal> olsner, oh damn intel
19:39:16 <elliott> Vorpal: Registers not part of the architecture work in virtual instructions, since virtual instructions don't actually translate to instructions!
19:39:18 <Vorpal> I meant the other way around
19:39:27 <oerjan> SOurce Language Independent Disassembler
19:39:31 <elliott> Vorpal: So the virtual mapping ends up being:
19:39:32 <Vorpal> move eax -> eax+2
19:39:35 <Vorpal> is what I meant
19:39:40 <elliott> Vorpal: Oh.
19:39:49 <elliott> Vorpal: Well, no, you can't :P
19:39:51 <elliott> <elliott> (-1,1) movv; (2,-1) incv; (-1) deaddrv; (1,-1) mov
19:39:53 <elliott> Dissecting this:
19:39:59 <Vorpal> elliott, can you in normal asm?
19:40:00 <elliott> The movv creates the map {-1 => 1}.
19:40:06 <elliott> i.e., virtual register -1 is real register 1.
19:40:13 <elliott> Then the invc turns it into {-1 => 1+2}.
19:40:19 <elliott> Then the deaddrv turns it into {-1 => [1+2]}.
19:40:26 <elliott> Then the mov substitutes [1+2] for -1.
19:40:29 <Vorpal> heh
19:40:32 <elliott> Vorpal: no, you can't
19:40:38 <elliott> but I translated what your snippet means in Intel correctly :P
19:40:39 <elliott> hmm
19:40:40 <Vorpal> elliott, what a pity
19:40:42 <elliott> "v" is so normal
19:40:46 <elliott> I have a better idea
19:40:53 <elliott> virtual instructions use [] instead of ()
19:41:00 <elliott> BUT!
19:41:04 <elliott> Only on the side that's virtual.
19:41:16 <Vorpal> elliott, what about rotating the bits of the register numbers one step for each instruction?
19:41:17 <elliott> [-1,1) mov; (2,-1] inc; [-1] deaddr; (1,-1] mov
19:41:20 <olsner> wtf does "virtual" mean?
19:41:28 <elliott> olsner: simple: the calculation is done by the assembler
19:41:42 <elliott> olsner: so in this case, it has this idea of an imaginary register, which is first the value of 1, and which it then imaginarily increments
19:41:47 <Vorpal> wait
19:41:48 <Vorpal> even better
19:41:49 <elliott> olsner: and it then imaginarily deaddresses it
19:41:57 <elliott> olsner: so when you use -1, it replaces it with [eax+2]
19:41:57 <oerjan> Language Independent QUerying and Interactive Debugger
19:41:58 <Vorpal> rotate it by the hash for the instruction in big endian
19:42:01 <Vorpal> or middle endian
19:42:01 <elliott> Vorpal: no :P
19:42:14 <Vorpal> elliott, hey malbolge86
19:42:18 <Vorpal> elliott, it would be fitting
19:42:37 <elliott> oerjan: Creatively Retarded & Addled Computing Kompiler
19:42:57 <Gregor> As opposed to a non-computed "k"ompiler.
19:43:03 <elliott> Gregor: SHUT UP
19:43:03 <Gregor> *computing ...
19:43:24 <elliott> YES! LINUX 2.0 HAS MENUCONFIG!
19:43:34 <elliott> IT'S LIKE AN ORGASM EXCEPT FOR LINUX KERNEL CONFIGURATION AFTER SUFFERING THROUGH "MAKE CONFIG"
19:43:35 <oerjan> elliott: hey you're not keeping to the theme.
19:43:49 <Vorpal> oerjan, what theme?
19:43:51 <elliott> oerjan: crack is the fourth form of matta
19:43:56 <oerjan> elliott: O KAY
19:44:02 <Gregor> elliott: The best way to handle make config is yes '' | make config :P
19:44:04 <Vorpal> elliott, I read that as "crack is the forth form of matta"
19:44:08 <elliott> Gregor: It read from /dev/tty.
19:44:15 <Vorpal> as in the programming language forth
19:44:34 <elliott> *matter
19:44:36 <Gregor> elliott: Sweet! ... rm -f /dev/tty && mkfifo /dev/tty && yes '' > /dev/tty &
19:44:43 <olsner> elliott: make /dev/tty a symlink to /dev/fd/0 or something :)
19:44:47 <elliott> Gregor: I approve! (I just hacked the shell script.)
19:44:48 <Vorpal> elliott, yes and I read "matta" in Swedish
19:44:52 <Vorpal> elliott, since it is a valid Swedish word
19:44:58 <elliott> oerjan: fine: Pleonasmtastic Lavish Assembler, Stricken Maliciously from Autonomy
19:45:01 <Vorpal> at which point I did a retake of the whole thing
19:45:05 <oerjan> Vorpal: i thought it a bit unfair that only gas was a programming acronym
19:45:06 <elliott> I hereby claim rights to the word "pleonasmtastic".
19:45:10 <oerjan> elliott: i did plasma abova
19:45:15 <Vorpal> oerjan, err?
19:45:16 <elliott> oerjan: SHUT UP, PLEONASMTASTIC
19:45:21 <oerjan> *above
19:45:21 <olsner> Vorpal: från matta till crack i tre steg!
19:45:25 <Vorpal> oerjan, XD
19:45:45 <Gregor> `translate <olsner> Vorpal: frn matta till crack i tre steg!
19:45:47 <elliott> Vorpal: Horor matta spricka!
19:45:59 <Vorpal> elliott, err?
19:46:02 <elliott> "Whores carpet crack" X-D
19:46:09 <Vorpal> oh uh
19:46:11 <oerjan> Gregor: since when is `translate working again?
19:46:17 <HackEgo> <olsner> Vorpal: From carpet to crack in three steps!
19:46:19 <Gregor> oerjan: Apparently it isn't :P
19:46:21 <Vorpal> elliott, "spricka" = "crack in the sense crack in the wall"
19:46:22 <Gregor> Oh, there we go.
19:46:29 <Vorpal> elliott, not crack in the sense "drug"
19:46:30 <Gregor> Google wasn't happy with me or something :P
19:46:36 <elliott> Vorpal: Blame Google
19:46:45 <Gregor> `translateto se If I said you had a beautiful body, would you hold it against me?
19:46:46 <HackEgo> No output.
19:46:51 <Gregor> >_>
19:46:55 <Gregor> Well, I tried :P
19:46:59 <Vorpal> elliott, also other errors in it
19:47:10 <elliott> │ │ [*] Compile kernel as ELF - if your GCC is ELF-GCC │ │
19:47:10 <elliott> │ The gcc version 2.7.0 and newer produces the new ELF binary format │
19:47:11 <elliott> │ as default. If you have such a compiler (try "gcc -v"), say Y │
19:47:11 <elliott> │ here, otherwise N. │
19:47:35 <elliott> 2.0 has initrd! yaaaay
19:47:35 <Vorpal> elliott, that was wider than my IRC window and totally unreadable
19:47:49 <elliott> Vorpal: You're totally unreadable.
19:47:50 <Vorpal> elliott, isn't initrd just gzip-compressed ramfs?
19:47:51 <olsner> elliott: maybe you should get a pre-2.7 gcc then :)
19:47:51 <elliott> (Mine too!)
19:47:57 <elliott> olsner: Maybe fuck you :P
19:47:59 <Vorpal> elliott, that is what your mum said
19:48:04 * Gregor wonders why translateto-se didn't work ...
19:48:08 <Gregor> `translateto es If I said you had a beautiful body, would you hold it against me?
19:48:09 <Vorpal> elliott, both of those lines
19:48:10 <HackEgo> No output.
19:48:13 <Gregor> >_>
19:49:31 <elliott> cc1: error: unrecognized command line option "-m386"
19:49:48 <elliott> cc1: error: unrecognized command line option "-m486"
19:50:02 <Vorpal> elliott, ah easy
19:50:10 <Vorpal> elliott, -mcpu iirc
19:50:14 <Vorpal> elliott, old name for that
19:50:18 <Vorpal> elliott, or -march
19:50:20 <Vorpal> not sure which
19:50:31 <oerjan> `translateto se rug
19:50:32 <HackEgo> No output.
19:50:54 <elliott> Oh boy, errors galore :P
19:51:06 <oerjan> oh wait
19:51:10 <oerjan> `translateto sv rug
19:51:11 <HackEgo> tillbaka
19:51:26 <elliott> Fuck this shit :P
19:51:27 <Vorpal> what?
19:51:27 <oerjan> ...right language, but completely wrong translation :D
19:51:33 <olsner> oerjan: matta
19:51:34 <Vorpal> indeed
19:51:35 <elliott> `translate to no rugged
19:51:38 <HackEgo> to no rugged
19:51:40 <oerjan> olsner: i know that :D
19:51:44 <elliott> `translateto no rugged
19:51:46 <HackEgo> robuste
19:51:52 <elliott> oerjan: no you don't you're a hopeless... nord?
19:51:54 <elliott> swede
19:51:54 <elliott> nord
19:51:58 <elliott> nord...ic...er?
19:52:01 <elliott> I CONFUSE
19:52:07 <oerjan> ...
19:52:11 <Vorpal> elliott, "norwegian"?
19:52:22 <elliott> Now.
19:52:23 <elliott> *Norw.
19:52:25 <Vorpal> so I guess "norw"
19:52:28 <Gregor> WTF, I'm using the web-services API now :P
19:52:29 <oerjan> olsner: i was just trying that because i knew the translation should have no special characters
19:52:30 <Vorpal> which is just silly
19:52:32 <Gregor> IT CAN'T FAIL
19:52:39 <oerjan> `translateto sv love
19:52:40 <HackEgo> No output.
19:52:51 <oerjan> ...while that does
19:52:56 <Vorpal> `translateto sv rug
19:52:57 <HackEgo> tillbaka
19:53:04 <Vorpal> yeah wtf
19:53:05 <Gregor> `run curl -e http://codu.org/ http://ajax.googleapis.com/ajax/services/language/translate --data-urlencode v=1.0 --data-urlencode q="What the fuck?" --data-urlencode langpair=en|se
19:53:06 <HackEgo> No output.
19:53:09 <Vorpal> `translateto sv Swedish
19:53:11 <Gregor> `run curl -e http://codu.org/ http://ajax.googleapis.com/ajax/services/language/translate --data-urlencode v=1.0 --data-urlencode q="What the fuck?" --data-urlencode langpair='en|se'
19:53:12 <elliott> Gregor: 2>&1
19:53:13 <HackEgo> Swedish
19:53:13 <HackEgo> {"responseData": null, "responseDetails": "invalid translation language pair", "responseStatus": 400}
19:53:17 <oerjan> `translateto sv one three four
19:53:19 <HackEgo> en tre fyra
19:53:20 <elliott> ...what?
19:53:24 <elliott> Did Gregor change anything there?
19:53:26 <Vorpal> oerjan, huh that worked
19:53:26 <oerjan> `translateto sv one two three four
19:53:27 <HackEgo> No output.
19:53:30 <elliott> Did Gregor change anything there?
19:53:36 <elliott> `translateto sv unix eunuchs
19:53:37 <HackEgo> unix eunuchs
19:53:43 <oerjan> Vorpal: yes, i carefully skipped two to avoid the å
19:53:58 <elliott> One, three, four, seven, twenty-nine.
19:54:01 <Vorpal> `translateto sv love
19:54:02 <HackEgo> No output.
19:54:13 <olsner> Gregor: the language is sv even though the country is se
19:54:13 <Vorpal> oerjan, oh you mean it fails on åäö in either input or output?
19:54:14 <oerjan> Gregor: i believer `translateto sv still has problem with æøå output
19:54:22 <oerjan> *äöå
19:54:27 <Vorpal> oerjan, äöå *
19:54:32 <oerjan> ...darn :D
19:54:39 <Gregor> `run curl -e http://codu.org/ http://ajax.googleapis.com/ajax/services/language/translate --data-urlencode v=1.0 --data-urlencode q="What the fuck?" --data-urlencode langpair='auto|sv'
19:54:40 <HackEgo> {"responseData": null, "responseDetails": "invalid translation language pair", "responseStatus": 400}
19:54:54 <oerjan> *believe
19:54:56 <Gregor> `run curl -e http://codu.org/ http://ajax.googleapis.com/ajax/services/language/translate --data-urlencode v=1.0 --data-urlencode q="What the fuck?" --data-urlencode langpair='auto|es'
19:54:56 <Vorpal> oerjan, also bachgfj... is the nautural order to write the letters of the alphabet in :P
19:54:57 <HackEgo> {"responseData": null, "responseDetails": "invalid translation language pair", "responseStatus": 400}
19:55:01 <Gregor> >_<
19:55:07 <elliott> 698848
19:55:10 <oerjan> Vorpal: YOU DON'T SAY
19:55:24 <elliott> bachgfj what :D
19:56:02 <Vorpal> elliott, he wrote äöå. Listing a series of letters of the alphabet you normally do in alphabetic order. Out of habit and convenience I guess.
19:56:05 <Vorpal> elliott, he didn't :P
19:56:29 <Vorpal> elliott, so åäö would be much more natural
19:56:51 <elliott> abcdefz and that's all the letters
19:57:13 <Vorpal> elliott, no.... dzfecab
19:57:21 <Vorpal> elliott, do try to get it right
19:57:26 <elliott> you can't write "fecal" with those
19:57:35 <Vorpal> elliott, same as you listed :P
19:57:43 <elliott> What?
19:57:53 <oerjan> Vorpal: the order is æøå in norwegian
19:57:54 <Vorpal> <elliott> abcdefz and that's all the letters <Vorpal> elliott, no.... dzfecab <-- that is just a different permutation
19:57:58 <Vorpal> oerjan, oh, huh
19:58:13 <elliott> Vorpal: no you did yours wrong
19:58:33 <Vorpal> elliott, oh?
19:58:37 <elliott> yes.
19:58:45 <Vorpal> elliott, what letters differ
19:59:21 <elliott> all letters
19:59:32 <Vorpal> elliott, no... you have a-f+z So do I
19:59:45 <Vorpal> elliott, you just wrote your list in a different (and very incorrect) order
19:59:48 <elliott> Vorpal: you are a liar
19:59:51 <elliott> stop lying
19:59:58 <oerjan> Gregor: in any case `translateto sv _is_ working sometimes
20:00:06 <Gregor> So weird
20:00:14 <Phantom_Hoover_> `translateto sv something
20:00:15 <Vorpal> Gregor, it fails at unicode it seems?
20:00:18 <HackEgo> No output.
20:00:33 <Vorpal> `run curl -e http://codu.org/ http://ajax.googleapis.com/ajax/services/language/translate --data-urlencode v=1.0 --data-urlencode q="one three" --data-urlencode langpair='auto|es'
20:00:35 <HackEgo> {"responseData": null, "responseDetails": "invalid translation language pair", "responseStatus": 400}
20:00:37 <Gregor> `run curl -e http://codu.org/ http://ajax.googleapis.com/ajax/services/language/translate --data-urlencode v=1.0 --data-urlencode q="What the fuck?" --data-urlencode langpair='en|es'
20:00:38 <HackEgo> {"responseData": {"translatedText":"¿Qué carajo?"}, "responseDetails": null, "responseStatus": 200}
20:00:40 <Vorpal> `run curl -e http://codu.org/ http://ajax.googleapis.com/ajax/services/language/translate --data-urlencode v=1.0 --data-urlencode q="one three" --data-urlencode langpair='auto|sv'
20:00:41 <HackEgo> {"responseData": null, "responseDetails": "invalid translation language pair", "responseStatus": 400}
20:00:42 <oerjan> Gregor: and the times it didn't work afaict were precisely the times when the output would contain å ä or ö
20:00:47 <elliott> SWAG ON FIRE
20:00:47 <Vorpal> `run curl -e http://codu.org/ http://ajax.googleapis.com/ajax/services/language/translate --data-urlencode v=1.0 --data-urlencode q="one three" --data-urlencode langpair='en|sv'
20:00:48 <HackEgo> {"responseData": {"translatedText":"en tre"}, "responseDetails": null, "responseStatus": 200}
20:00:54 <Vorpal> `run curl -e http://codu.org/ http://ajax.googleapis.com/ajax/services/language/translate --data-urlencode v=1.0 --data-urlencode q="one two three" --data-urlencode langpair='en|sv'
20:00:55 <HackEgo> {"responseData": {"translatedText":"en två tre"}, "responseDetails": null, "responseStatus": 200}
20:01:09 <Vorpal> Gregor, so unicode failure
20:01:14 <oerjan> Phantom_Hoover_: something = något in swedish, so confirms the theory
20:01:25 <Vorpal> `translateto sv en två tree
20:01:26 <HackEgo> No output.
20:01:28 <Vorpal> err
20:01:33 <Vorpal> `translateto sv one two three
20:01:34 <HackEgo> No output.
20:01:36 <Vorpal> yeah
20:01:48 <Vorpal> Gregor, what do you do to fail so badly on unicode?
20:02:00 <oerjan> `translateto no something
20:02:01 <HackEgo> noe
20:02:07 <Gregor> Vorpal: Note how it worked fine in the above lines.
20:02:20 <Vorpal> Gregor, only in those that I ran curl with
20:02:28 <oerjan> Gregor: hm indeed
20:02:29 <elliott> │ │ [*] Support Intel processors │ │
20:02:30 <elliott> │ │ [*] Support AMD processors │ │
20:02:30 <Vorpal> Gregor, the script fails when it encounters unicode
20:02:33 <elliott> do you actually need these?
20:02:42 <Vorpal> elliott, I believe so?
20:02:51 <elliott> are you suuuuuuuuure?
20:02:51 <Vorpal> elliott, it probably checks cpuid
20:02:55 <Gregor> `translateto en Hello, world!
20:02:56 <HackEgo> Hello, world!
20:02:57 <Vorpal> elliott, check the code for what it does
20:03:02 <elliott> Vorpal: no thanks :-P
20:03:09 <Gregor> `run cat bin/json | paste
20:03:10 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.178
20:03:17 <Vorpal> Gregor, this just confirms the theory that it fails at anything containing unicode in the string
20:03:37 <Gregor> Vorpal: If it's failing for that reason, then it's Python's json module, which seems extraordinarily unlikely to me.
20:03:40 <elliott> hmm qemu has ISA support right?
20:03:40 <elliott> as in
20:03:43 <Vorpal> `run python --version | tr $'\n' '|'
20:03:44 <elliott> ISA VGA, ISA network card
20:03:46 <HackEgo> No output.
20:03:46 <elliott> with some options
20:03:47 <elliott> right?
20:03:49 <Vorpal> huh
20:03:56 <elliott> <Gregor> Vorpal: If it's failing for that reason, then it's Python's json module, which seems extraordinarily unlikely to me.
20:03:59 <Vorpal> `run /usr/bin/env python --version | tr $'\n' '-'
20:04:00 <elliott> Gregor: Did you do .decode('utf8')?
20:04:02 <HackEgo> No output.
20:04:07 <Vorpal> `run /usr/bin/env python --version 2>&1 | tr $'\n' '-'
20:04:07 <elliott> `run python --version
20:04:09 <HackEgo> Python 2.7-
20:04:12 <Gregor> elliott: http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.178
20:04:12 <HackEgo> No output.
20:04:15 <elliott> You don't need to do that tr...
20:04:17 <Vorpal> ah 2>&1
20:04:18 <Vorpal> hm
20:04:24 <Vorpal> elliott, well I thought it was multi-line
20:04:25 <elliott> Gregor: FAIL LOLZ
20:04:32 <Gregor> elliott: I have no idea how to Python.
20:04:43 <Gregor> elliott: These are basically the only lines of Python I have ever written.
20:04:43 <elliott> Gregor: What is the filename?
20:04:49 <Gregor> elliott: stdin
20:04:55 <Gregor> Oh :P
20:04:57 <Gregor> elliott: bin/json
20:05:07 <elliott> `run grep json.loads bin/json
20:05:09 <HackEgo> data = json.loads(sys.stdin.read())
20:05:22 <Vorpal> Gregor, what is argv[1] in print(eval(sys.argv[1]))
20:05:24 <Gregor> elliott: ... you realize that's the same thing I just pasted at you, right ...
20:05:42 <Gregor> Vorpal: data["responseData"]["translatedText"]
20:05:54 <elliott> `run sed -i "s/sys.stdin.read()/sys.stdin.read().decode('utf-8')/g" bin/json
20:05:55 <HackEgo> No output.
20:05:57 <Vorpal> Gregor, so... what if it contains unicode? Could it be that it fails at that
20:06:01 <elliott> Someone try it now.
20:06:08 <elliott> Vorpal: No, that should be OK.
20:06:08 <Vorpal> `translateto sv en två
20:06:09 <HackEgo> No output.
20:06:13 <Gregor> `translateto sv If I said you had a beautiful body, would you hold it against me?
20:06:13 <elliott> Although actually...
20:06:14 <HackEgo> No output.
20:06:15 <Vorpal> `translateto sv one two
20:06:17 <elliott> Lemme fix.
20:06:17 <elliott> Stop.
20:06:18 <Gregor> `cat bin/json
20:06:19 <HackEgo> No output.
20:06:19 <elliott> Stop. lemme fix.
20:06:20 <HackEgo> #!/usr/bin/env python \ import json \ import sys \ data = json.loads(sys.stdin.read().decode('utf-8')) \ print(eval(sys.argv[1]))
20:06:32 <elliott> `run sed -i "s/sys.argv[1]/sys.argv[1].decode('utf-8')/g" bin/json
20:06:33 <HackEgo> No output.
20:06:35 <elliott> `translateto sv en två
20:06:37 <HackEgo> No output.
20:06:41 <elliott> `translateto sv If I said you had a beautiful body, would you hold it against me?
20:06:42 <HackEgo> No output.
20:06:42 <Vorpal> elliott, wrong direction
20:06:45 <elliott> `translateto sv one two
20:06:46 <Gregor> elliott: There is no Unicode in the arg.
20:06:48 <elliott> Vorpal: I copied *your* line.
20:06:49 <HackEgo> No output.
20:06:53 <elliott> Gregor: Worth trying :P
20:06:53 <Vorpal> elliott, yes I typoed :P
20:06:57 <elliott> wait.
20:06:58 <Vorpal> `translateto sv one three
20:07:03 <Vorpal> hm
20:07:03 <HackEgo> en tre
20:07:03 <elliott> Gregor: You are total fail at thinking print is a function to start with :P
20:07:07 <elliott> Gregor: OK: Could the result of eval be unicode?
20:07:15 <Gregor> elliott: I - do - not - know - Python
20:07:17 <elliott> I say "yes, yes it could".
20:07:20 <Gregor> elliott: Quite easily.
20:07:23 <elliott> I will now rewrite this.
20:07:32 <elliott> `run echo '#!/usr/bin/env python' >bin/json
20:07:33 <HackEgo> No output.
20:07:39 <Gregor> lawl
20:07:45 <elliott> `run echo 'import sys' >>bin/json; echo 'import json' >>bin/json
20:07:46 <HackEgo> No output.
20:07:52 <Gregor> Not a fan of echo -e eh :P
20:07:59 <elliott> I'm old sk00l
20:08:02 <elliott> *sk00l.
20:08:15 <elliott> `run echo "data = json.loads(sys.stdin.read().decode('utf-8'))" >>bin/json
20:08:17 <HackEgo> No output.
20:08:22 <Vorpal> you could use $'' instead
20:08:26 <elliott> `run echo "print eval(sys.argv[1]).encode('utf-8')" >>bin/json
20:08:28 <HackEgo> No output.
20:08:28 <elliott> Vorpal: But I don't want to.
20:08:30 <Vorpal> $'foo\nbar'
20:08:33 <elliott> `translateto sv one two
20:08:34 <HackEgo> en två
20:08:42 <elliott> There, now where's my birthday bj.
20:08:56 <Vorpal> elliott, dj*
20:09:04 <elliott> That is also acceptable.
20:09:07 <Gregor> `translateto sv If I said you had a beautiful body, would you hold it against me?
20:09:08 <HackEgo> Om jag sa att du hade en vacker kropp, skulle du hålla det emot mig?
20:09:13 <Gregor> `translateto ch If I said you had a beautiful body, would you hold it against me?
20:09:16 <HackEgo> No output.
20:09:18 <Gregor> >_>
20:09:21 <elliott> Gregor: BTW, I hereby release the code I've written under the Give Elliott All Your Sperm Public License, version 1 or later.
20:09:21 <Gregor> `translateto zh If I said you had a beautiful body, would you hold it against me?
20:09:22 <Vorpal> `translateto en en två tree
20:09:24 <HackEgo> 如果我说你有一个美丽的身体,你会嫌弃我吗?
20:09:24 <Vorpal> `translateto en en två tre
20:09:25 <HackEgo> one two tree
20:09:28 <Vorpal> ah
20:09:28 <HackEgo> one two three
20:09:35 <elliott> Gregor: Did I mention it's viral? (Kinda like my sperm, but I digress.)
20:09:36 <Vorpal> tree is not tree
20:09:44 <Vorpal> it is just a non-existent word
20:09:46 <Gregor> `translateto zh If I said you had a beautiful body, would you hold it against me? I am no longer infected.
20:09:47 <HackEgo> 如果我说你有一个美丽的身体,你会嫌弃我吗?我不再感染。
20:09:52 <olsner> `translateto sv If I said you had a beautiful body, would you hold it against me?
20:09:55 <HackEgo> Om jag sa att du hade en vacker kropp, skulle du hålla det emot mig?
20:09:57 <elliott> `translateto jp RAPE
20:09:59 <Vorpal> `translateto en att vara eller inte vara, det är frågan
20:10:01 <Gregor> `translate 如果我说你有一个美丽的身体,你会嫌弃我吗?我不再感染。
20:10:01 <HackEgo> No output.
20:10:06 <elliott> Clearly, the Japanese have no word for rape.
20:10:06 <HackEgo> to be or not be, that is the question
20:10:06 <Gregor> lawl :P
20:10:06 <HackEgo> If I said you had a beautiful body would you hold anything against me? I am no longer infected.
20:10:08 <oerjan> Gregor: heh sadly the swedish translation fails to preserve the ambiguity solely because because of pronoun gender
20:10:12 <elliott> `translateto jp RAPE
20:10:15 <HackEgo> No output.
20:10:19 <elliott> See?
20:10:21 <elliott> Facts.
20:10:21 <Gregor> oerjan: :P
20:10:23 <ais523> o
20:10:27 <elliott> `translateto jp everyone is green
20:10:28 <elliott> ais523: okokoko
20:10:28 <HackEgo> No output.
20:10:36 <elliott> Wait, the language code isn't jp, is it.
20:10:36 <elliott> :p
20:10:38 <ais523> elliott: <Commando125> o
20:10:44 <ais523> see, randomly oing is spreading from channel to channel
20:10:44 <elliott> ais523: okokokokokokokokokoko
20:10:49 <Vorpal> <oerjan> Gregor: heh sadly the swedish translation fails to preserve the ambiguity solely because because of pronoun gender <-- which ambiguity?
20:11:06 <Gregor> Faillawls
20:11:15 <oerjan> Vorpal: of "If I said you had a beautiful body, would you hold it against me?"
20:11:17 <olsner> Vorpal: you completely fail
20:11:24 <elliott> i think Vorpal has actually missed the ambiguity
20:11:26 <Vorpal> oh right
20:11:27 <elliott> constantly :D
20:11:30 <elliott> suuure
20:11:31 <elliott> `translateto zh Nethack stole my gender.
20:11:32 <HackEgo> 偷走了我的性别的nethack。
20:11:34 <Vorpal> I never realised you could read it *THAT* way
20:11:34 <elliott> `translateto zh Nethack stole my gender in space.
20:11:36 <HackEgo> 在太空中的nethack偷走了我的性别。
20:11:40 <elliott> `translateto zh Nethack stole my gender in space in space.
20:11:41 <HackEgo> 在太空中的nethack偷走了我的性别空间。
20:11:44 <elliott> `translateto zh Nethack stole my gender in space in space in space in space in space in space.
20:11:46 <HackEgo> 在太空中的nethack偷走了我的性别空间在空间空间在空间的空间。
20:11:47 <oerjan> the two meanings turn the "it" into "den" or "det" in swedish respectively
20:11:51 <elliott> `translateto zh Nethack stole my gender in space in space in space in space in space in space. in space.
20:11:52 <HackEgo> 在太空中的nethack偷走了我的性别空间在空间空间在空间的空间。在太空中。
20:12:00 <Gregor> `translateto zh This channel is now under the control of red China. Please continue your esoteric activities unperturbed.
20:12:01 <HackEgo> 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。
20:12:11 <Vorpal> elliott, I always thought it was the non-physical meaning. And found that line somewhat strange.
20:12:16 <elliott> `translateto sv bork bork bork
20:12:19 -!- Gregor has set topic: 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
20:12:20 <HackEgo> No output.
20:12:28 <elliott> LIES
20:12:30 <Slereah> heheheh
20:12:35 <olsner> mwahaha
20:12:35 <elliott> `translatefromto sv en bork bork bork
20:12:36 <HackEgo> Bork Bork Bork
20:12:42 <elliott> that's better
20:12:42 <Gregor> X-D
20:12:49 <Vorpal> elliott, it means nothing in Swedish either :P
20:12:57 <elliott> Vorpal: It means all your words!
20:12:59 <Slereah> `swedish The coyote is a living, breathing allegory of Want. He is always hungry. He is always poor, out of luck, and friendless. The meanest creatures despise him, and even the fleas would desert him for a velocipede. He is so spirtless and cowardly that even while his exposed teeth are pretending a threat, the rest of his face is apologizing for it. And he is so homely! -so scrawny, and
20:12:59 <Slereah> ribby, and coarse-haired, and pitiful.
20:13:00 <HackEgo> Zee cuyute-a is a leefing, breetheeng ellegury ooff Vunt. He-a is elveys hoongry. He-a is elveys puur, oooot ooff loock, und freeundless. Zee meunest creetoores despeese-a heem, und ifee zee flees vuoold desert heem fur a feluceepede-a. He-a is su speertless und cooerdly thet ifee vheele-a hees ixpused teet ere-a pretundeeng
20:13:01 <elliott> You have no other words.
20:13:12 <Gregor> `translate 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 elliott: HALP
20:13:13 <HackEgo> The channel is currently being Red China&#39;s control. Please continue to esoteric activities without interference. elliott: HALP
20:13:26 <elliott> Gregor: I will pay you $money if you make "`translateto sv ..." redirect to bin/swedish.
20:13:30 <Vorpal> elliott, jaha, det få du väla tro då
20:13:40 <Vorpal> (writing on dialect is always fun)
20:13:45 <Vorpal> (it confuses google translate)
20:13:58 <Gregor> ... I just accidentally typed www.redchina.com while trying to type www.foxnews.com (<-- to test a crashbug)
20:14:08 <elliott> Gregor: Why would you ever type www.foxnews.com.
20:14:10 <elliott> But X-D
20:14:17 <ais523> elliott: to test a crashbug
20:14:29 <elliott> ais523: a crashbug on foxnews.com is known as a feature
20:14:30 <Phantom_Hoover_> Vorpal, how much lightstone do you have stockpiled?
20:14:46 <olsner> elliott: *crashfeature
20:14:51 <ais523> not really, no input should crash a browser, whether malicious /or/ incompetent
20:14:59 <Vorpal> Phantom_Hoover_, one left. That is all unless I have some I somewhere I forgot.
20:15:01 <Phantom_Hoover_> I'm afraid I mistook the one in the throne room for dirt and broke it.
20:15:11 <Vorpal> Phantom_Hoover_, you fix that. Somehow
20:15:19 <Phantom_Hoover_> I'd repay you, but you're much richer than me anyway.
20:15:29 <Phantom_Hoover_> How about preferential defence by the ROU?
20:15:31 <Vorpal> Phantom_Hoover_, get one from the admin. And even if it was dirt why would you break it in my place
20:15:39 <Vorpal> Phantom_Hoover_, should I go around breaking stuff at your place
20:15:58 <Vorpal> Phantom_Hoover_, I accept nothing but a lightstone as repayment
20:16:08 <ais523> I take it lightstones are rare?
20:16:10 <Vorpal> Phantom_Hoover_, you have to get one from the admin
20:16:22 <Phantom_Hoover_> Vorpal, for now, I have replaced it with a block of dirt.
20:16:27 <Vorpal> ais523, you can't get them in the normal way in multi-player
20:16:29 <Phantom_Hoover_> I hope the difference is not too apparent.
20:16:40 <Vorpal> Phantom_Hoover_, it is very. I use painterly and they are hugely different
20:16:54 <Vorpal> Phantom_Hoover_, so as soon as you see the server admin. Get him to give you one block and replace it
20:17:05 <elliott> Wow, an ISA kernel is much smaller!
20:17:08 <Vorpal> ais523, basically missing feature in multiplayer (no "nether" dimension)
20:17:16 <Phantom_Hoover_> Vorpal, I use painterly!
20:17:23 <Vorpal> Phantom_Hoover_, custom painterly?
20:17:23 <Phantom_Hoover_> That's why I confused them!
20:17:27 <Phantom_Hoover_> Yes.
20:17:32 <Vorpal> Phantom_Hoover_, not the same custom as me
20:17:36 <Vorpal> obviously
20:17:43 <Vorpal> Phantom_Hoover_, or maybe you use a monochrome monitor
20:17:55 <Vorpal> Phantom_Hoover_, anyway, why did you break it at all. Seriously
20:18:06 <Vorpal> Phantom_Hoover_, even if it HAD been dirt that would be rather rude
20:18:26 <Phantom_Hoover_> It's dirt!
20:18:33 <Vorpal> Phantom_Hoover_, and?
20:18:38 <Phantom_Hoover_> It's what, the second most common block type!
20:18:44 <Vorpal> Phantom_Hoover_, I'll go to your place and remove all dirt then?
20:18:47 <Vorpal> Phantom_Hoover_, no?
20:18:48 <elliott> Most common. imo.
20:18:55 <elliott> 1 dirt != 1,000,000,000,000 dirt
20:18:56 <Vorpal> elliott, stone is far more common
20:18:56 <Phantom_Hoover_> elliott, cobble.
20:19:04 <elliott> maaaybe
20:19:49 <Vorpal> elliott, also what about removing one dirt placed in a clearly highly ornamental place. Like in the middle of a stone wall with 4 torches around in a pattern? Except it was lightstone
20:20:25 <elliott> how does one list the types of NIC qemu will emulate?
20:20:29 <elliott> i don't have all the ones in the manpage
20:20:30 <Vorpal> Phantom_Hoover_, anyway I expect you fix this. The place is ruined without a lightstone there.
20:22:08 <Vorpal> Phantom_Hoover_, also if you insist on go about digging in other people's places I guess I could either do that at your place too: "but in my texture pack the glass looked like dirt", eh?
20:22:23 <Vorpal> Phantom_Hoover_, or I could just brick it all up and make a maze of tunnels
20:22:34 <Vorpal> (that don't actually connect anywhere
20:22:35 <Vorpal> )
20:22:39 <Phantom_Hoover_> Jesus, I apologised.
20:22:57 <Vorpal> Phantom_Hoover_, right, I realise you can't get a replacement right away. But as soon as you see the server I expect you to get one
20:23:31 <elliott> What if serv says no.
20:23:38 <elliott> Just throwin' that out there.
20:24:14 <Vorpal> elliott, I'll decide if that happens
20:24:23 <elliott> Decide... what?
20:24:47 <Vorpal> probably going to request a gold block replacement instead or such then. Which will not look very good. Since it doesn't give off light it wouldn't really work
20:25:05 <Vorpal> elliott, besides he said before he was willing to give lightstone if you asked and had an use for it
20:25:15 <Vorpal> and making a sun-like symbol is definitely a use
20:25:38 <Vorpal> (I would have made a bigger one if i had more lightstone)
20:28:19 <Vorpal> Phantom_Hoover_, just logged in to check. 1) very different colour. 2) dirt isn't an acceptable replacement. A gold block would be until you can get a lightstone (you would get the gold block back)
20:29:26 <elliott> Would diamond not do?
20:33:16 -!- augur has quit (Remote host closed the connection).
20:33:40 -!- augur has joined.
20:34:36 <Gregor> `translateto cy No one actually speaks Welsh.
20:34:38 <HackEgo> Does neb yn siarad Cymraeg mewn gwirionedd.
20:34:53 <Gregor> Wow, that is some poor compression ratio.
20:35:01 <nooga> Cymraeg
20:35:05 <nooga> i know that word
20:35:17 <nooga> sometimes i get a Welsh newsletter
20:35:21 <Gregor> I believe that's Welsh for Welsh :P
20:35:23 <quintopia> welsh, i think
20:35:27 <quintopia> :D
20:35:31 <Gregor> `translate Cymraeg
20:35:32 <HackEgo> Cymraeg
20:35:36 <nooga> and it's so amusing that i woudn't dare to sign off
20:35:37 <Gregor> >_<
20:35:39 <Gregor> `translatefromto cy en Cymraeg
20:35:42 <HackEgo> Welsh
20:36:04 <nooga> welsh is from outer space
20:36:05 <quintopia> seems like would have been inferrable...
20:36:10 <nooga> like hungarian and finnish
20:36:42 <Gregor> `translateto fi The Moon people of Finland welcome our Human comrades.
20:36:43 <HackEgo> Kuu Suomen kansa tervetulleiksi Human toverit.
20:37:17 <nooga> sounds alien
20:37:21 <fizzie> "Moon Finnish people welcome 'Human' comrades."
20:38:01 <fizzie> Where "welcome" is nounified, not as a verb.
20:38:12 <nooga> księżycowi ludzie z Polski witają ludzi - naszych przyjaciół
20:38:18 <nooga> uh
20:38:24 <nooga> that looks alien as well
20:38:30 <nooga> like: jak tak to mi sie nie chce
20:38:45 -!- augur has quit (Ping timeout: 260 seconds).
20:39:59 <elliott> /proc apparently costs 67K. Ouch...
20:40:55 <elliott> Trying: PCI=mmconfig.
20:41:38 -!- goneriku has joined.
20:41:51 <elliott> http://git-annex.branchable.com/ http://git-annex.branchable.com/walkthrough/
20:41:52 <elliott> this is awesome
20:43:45 <nooga> elliott: get tinywm
20:43:52 <nooga> it's only 50 LOC in C
20:44:03 <elliott> nooga: I know what tinywm is.
20:44:54 <nooga> will you use xterm or something else?
20:45:44 <elliott> nooga: rxvt, or something else if that's too big. Maybe st.
20:45:49 <elliott> mmconfig WINS in size!! Now to try BIOS.
20:47:18 <elliott> BIOS loses :(
20:47:27 <elliott> Now to try any for gits and shiggles.
20:48:16 <nooga> run X, reelase
20:51:45 <elliott> nooga: find me a smallX tarball and i will
20:51:47 <elliott> tux.org seems to not have it any more
20:53:45 <pikhq> Gregor: It's Welsh for the Welsh language, yes.
20:54:16 <pikhq> And who did that Chinese in the topic?
20:54:20 <Gregor> pikhq: We already verified that.
20:54:23 <Gregor> pikhq: Google Translate X-P
20:54:31 <pikhq> I hates simplified!
20:54:35 <pikhq> It's so much harder to read!
20:54:51 <elliott> pikhq: Red China uses simplified :P
20:55:07 <pikhq> elliott: Your point? It's hard!
20:55:15 <Gregor> `translate zh-TW The glorious Republic of China shall reclaim this topic some day!
20:55:17 <HackEgo> zh-TW The glorious Republic of China shall reclaim this topic some day!
20:55:23 <Gregor> Wrong :P
20:55:25 <Gregor> `translateto zh-TW The glorious Republic of China shall reclaim this topic some day!
20:55:27 <HackEgo> 光榮 Republic of中國應收回這個主題的一些日子!
20:55:32 <Gregor> wtfbbq
20:55:56 <Gregor> You'd think that Google Translate would know what "Republic of China" is in traditional Chinese ...
20:56:17 <pikhq> Try "中華民國" instead of "中國".
20:56:45 <pikhq> The rest *looks* correct, but I can't say for sure, not being a speaker of a Chinese language.
20:56:56 <Gregor> `translateto zh-TW The glorious 中華民國 shall reclaim this topic some day!
20:57:00 <HackEgo> The glorious 中華民國 shall reclaim this topic some day!
20:57:04 <Gregor> DAMN IT
20:57:09 <Gregor> `translatefromto en zh-TW The glorious 中華民國 shall reclaim this topic some day!
20:57:11 <HackEgo> 光榮的中華民國應收回這個主題的一些日子!
20:57:30 <pikhq> Oh, duh, it did omit the 的.
20:57:30 -!- Gregor has set topic: 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 | 光榮的中華民國應收回這個主題的一些日子! | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
20:58:03 * pikhq cannot speak Chinese, but *has* communicated in a Chinese/Japanese pidgin before!
20:58:33 <goneriku> Chinese Japanese pidgin
20:58:35 <goneriku> ?
20:59:13 -!- xvedejas has joined.
20:59:16 <elliott> nooga: if you could find a mirror of tux.org ftp that's work
20:59:20 <xvedejas> hey Slereah
20:59:25 <pikhq> goneriku: Yeah.
20:59:32 <goneriku> Explain?
20:59:37 * goneriku likes linguistics
20:59:37 <xvedejas> and goneriku
20:59:57 <xvedejas> I wish I could read the topic but my Mandarin isn't good enough yet :\
21:00:23 <xvedejas> also it seems to be a mix of traditional and simplified
21:00:49 <goneriku> apparently it's Google Translate shit
21:00:51 <xvedejas> or at least just traditional
21:00:54 <xvedejas> hmm
21:01:00 <elliott> Slereah: you brought these people, didn't you
21:01:06 <pikhq> goneriku: He spoke Mandarin, I speak Japanese, he didn't speak English well at all. So I wrote using sentences using my very very minimal knowledge of Chinese grammar and words in Japanese that are from Chinese.
21:01:11 <elliott> Slereah: YOU BROUGHT THESE PEOPLE HERE
21:01:17 <pikhq> goneriku: It certainly worked.
21:01:25 <xvedejas> elliott, I came on my own accord
21:01:26 <goneriku> ah, cool
21:01:31 <elliott> xvedejas: Oh.
21:01:34 <elliott> Well I blame Slereah for goneriku.
21:01:35 <goneriku> I don't know really know any Chinese or Japanese.
21:01:37 <Gregor> X-D
21:01:43 <elliott> Also racism.
21:01:48 <elliott> All of these things are Slereah's fault.
21:01:49 <xvedejas> elliott, I'm an actual programmer
21:01:50 <Gregor> `translate 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。
21:01:51 <HackEgo> The channel is currently being Red China&#39;s control. Please continue to esoteric activities without interference.
21:01:58 <Gregor> `translate 光榮的中華民國應收回這個主題的一些日子!
21:02:00 <HackEgo> Glorious Republic of China should recover some of this theme day!
21:02:04 <xvedejas> heh
21:02:07 <Gregor> Wow, bad translation X-D
21:02:12 <goneriku> Sler's pretty racist that's true
21:02:14 <elliott> xvedejas: Sorry, this channel is about esoterica and magick!
21:02:18 <elliott> (Note: Lies.)
21:02:19 <goneriku> you should hear his rants about jews
21:02:23 <xvedejas> lol
21:02:25 <elliott> He's secretly a jew.
21:02:30 <xvedejas> my favorite programming language is Smalltalk, some consider it sorta esoteric... :P
21:02:32 <goneriku> aw man I was about to say I'd fit in just fine here!
21:02:37 <goneriku> (I know, that's the lolarious part!)
21:02:38 <Gregor> `translateto iw Happy Hanukkah, gentiles!
21:02:38 <elliott> xvedejas: Protip: Ignore Sgeo.
21:02:39 <HackEgo> חנוכה שמח, הגויים!
21:02:46 <elliott> `translateto hw kike
21:02:48 <HackEgo> No output.
21:02:50 <olsner> smalltalk is about as esoteric as javascript, isn't it?
21:02:52 <elliott> Google Censor
21:02:56 <xvedejas> ignore who?
21:03:00 <Gregor> olsner: Substantially more so.
21:03:02 <elliott> xvedejas: This guy.
21:03:02 <xvedejas> I don't see any sgeo
21:03:07 <elliott> You don't yet :P
21:03:09 -!- Gregor has set topic: 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 | 光榮的中華民國應收回這個主題的一些日子! | חנוכה שמח, הגויים! | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
21:03:16 <elliott> olsner: Gregor does JS stuff for an academiliving.
21:03:21 <elliott> (If you can call that living)
21:03:25 -!- goneriku has changed nick to gon|away.
21:03:30 -!- augur has joined.
21:03:31 <elliott> So take his opinion with a grain of badly-scoped salt :P
21:03:37 <xvedejas> olsner, I don't really know anything about javascript
21:03:38 <Gregor> elliott: Dude, I browse porn sites for SCIENCE.
21:03:47 * gon|away does too
21:03:51 <elliott> `quote scientific reason
21:03:52 <HackEgo> No output.
21:03:56 <elliott> `quote scientific justifi
21:03:57 <HackEgo> No output.
21:03:59 <elliott> `quote porn
21:04:00 <HackEgo> 33) <ehird> pikhq: A lunar nation is totally pointless. <fungebob> ehird: consider low-gravity porn <ehird> fungebob: OK. Now I'm convinced. \ 77) <coppro> SF.net porn :/ <ehird> Oh yeah, baby, gimme that... bloated download page? \ 134) <DoctorDog> I am an inherently pornographic being. \ 156) <ais523> reading playboy for
21:04:02 <Gregor> `quote scientifically-justifiable
21:04:03 <olsner> elliott: I mean to imply that smalltalk is not the least bit esoteric
21:04:06 <HackEgo> 235) <Gregor> "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." <Gregor> ^^^ This bullet-point is my crowning achievement as as a scientist.
21:04:06 <elliott> `run quote porn | tail -1
21:04:09 <HackEgo> 235) <Gregor> "* There is no scientifically-justifiable reason to exclude pornography, which is a vital part of the web ecosystem. However, bear in mind that we're tracing JavaScript, not MPEG and JPEG decoding." <Gregor> ^^^ This bullet-point is my crowning achievement as as a scientist.
21:04:11 <elliott> Gregor: But you EXCLUDED it!
21:04:11 <pikhq> Gregor: ゴジラが来てる!死にたくないよ!
21:04:17 <elliott> Gregor: No??
21:04:19 <Vorpal> <elliott> (If you can call that living) <-- still MS Research?
21:04:23 <Gregor> elliott: I did NOT exclude it. I EXPLICITLY did not exclude it.
21:04:24 <elliott> Vorpal: ...XD
21:04:31 <elliott> Vorpal: Yes. Gregor still works at MS Research.
21:04:34 <elliott> Gregor: Don't you.
21:04:38 <Gregor> elliott: No.
21:04:47 <elliott> Gregor: Wrong! The answer is: Yes.
21:05:02 <xvedejas> I'm confused
21:05:08 <Gregor> xvedejas: We're all confused :P
21:05:27 <xvedejas> and confusing
21:05:40 <Gregor> Yes.
21:05:43 <Vorpal> xvedejas, only under confusing circumstances
21:05:58 <elliott> nooga: If you find a tux.org mirror I will be happy forever.
21:05:59 <Vorpal> (or in case of jelly)
21:06:06 <xvedejas> I started writing some smalltalk tutorials on a friend's blog, if anyone is interested: http://hackeryblog.blogspot.com/2010/12/learn-programming-with-smalltalk-part-1.html
21:06:15 <elliott> xvedejas: Also, ignore Vorpal, we just haven't figured out a justification for kicking him out yet.
21:06:24 <Vorpal> elliott, hey you
21:06:25 <elliott> But our crack team of crackheads is working on it as we speak.
21:06:30 <Gregor> `translate ゴジラが来てる!死にたくないよ!
21:06:31 <HackEgo> I&#39;m Godzilla coming! I want to die!
21:06:33 <Vorpal> hm
21:06:37 <elliott> Gregor: what X-D
21:06:45 <elliott> I'm -- Godzilla! -- coming! I want to die!
21:06:47 <Gregor> elliott: pikhq told me that :P
21:06:52 <elliott> pikhq: what.
21:07:06 <pikhq> Gregor: "Godzilla is coming! I don't want to die!"
21:07:18 <elliott> pikhq: I prefer Google's version.
21:07:24 <elliott> Oh! Godzilla! Don't stop! I'm coming! I want to die!
21:07:27 <pikhq> It... Reversed the negative somehow.
21:07:31 <elliott> [[TINY Linux -- " 'Tis Independence 'N Yet "]]
21:07:33 <elliott> WORST ACRONYM EVER
21:07:43 <pikhq> That's fairly impressive, actually.
21:07:45 <elliott> YESSS I THINK I'VE FOUND SMALLX
21:08:26 <Gregor> pikhq: Suuure.
21:08:28 -!- olsner has set topic: 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 | 光榮的中華民國應收回這個主題的一些日子! | חנוכה שמח, הגויים! | sed อยู่เสมอดีกว่า Perl! | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
21:08:30 <elliott> pikhq: Hey, XFree86 had small servers.
21:08:31 <Gregor> pikhq: You're not sexually attracted to Godzilla.
21:08:34 <elliott> [ ]xvg16.zip05-Dec-1999 17:34 740K
21:08:41 <Gregor> pikhq: You're not sexually attracted to Godzilla at all.
21:08:43 <pikhq> Gregor: Only to Mothra.
21:08:44 <Gregor> pikhq: Whatever you say.
21:08:47 <Gregor> X-D
21:08:49 <elliott> Gregor: That's like saying Vorpal's not attracted to children!
21:08:53 <Gregor> elliott: Y'know, kdrive ain't big :P
21:09:07 <elliott> Gregor: How big is a 16-colour VGA KDrive? You know, approximately.
21:09:16 <Gregor> Roughly unsupported size?
21:09:25 <pikhq> elliott: Centibits.
21:09:25 <elliott> Gregor: Fine, what's the smallest KDrive?
21:09:30 <Gregor> vesa, probably.
21:09:37 <Vorpal> elliott, ... Only if they carry a magnet (I'm magnetic)
21:09:42 <elliott> Gregor: If it doesn't fit, LZMA-compressed, on a floppy minus 614K, I can't use it.
21:09:58 <elliott> Gregor: I could fit that VGA16 X server on. :P
21:10:02 <Gregor> LZMA-compressed ... the server itself would probably fit, not sure about all the client libraries.
21:10:21 <elliott> Gregor: I need libX11 and that's all. (Advantage of smallX: it has its own, tiny Xlib.)
21:10:28 <Gregor> Mmm
21:10:32 <elliott> Gregor: Also, I need *some* kind of room left to put rxvt or whatever in :P
21:11:21 <Vorpal> elliott, couldn't you format the floppy as higher capacity than it really is?
21:11:32 <Vorpal> I seem to remember this being possible (but really really stupid)
21:11:35 <elliott> Vorpal: (1) Not reliably. (2) I refuse to.
21:12:02 <Vorpal> elliott, I wonder where you could find a 2.whatever MB floppy
21:12:09 <olsner> I formatted a floppy at a lower capacity once, unfortunately my special floppy-massage program didn't support the higher original capacity :/
21:12:20 <Gregor> elliott: Heh, so kdrive has enough requirements that that'd probably not work :P
21:12:27 <Vorpal> olsner, "floppy-massage"?
21:12:30 <olsner> IBM used to ship their operating systems on 2.88MB disks
21:12:32 <elliott> Gregor: Oh, and building KDrive has the distinct disadvantage that what the fuck modularised X's build system it is insane and horrible.
21:12:39 <olsner> Vorpal: *formatting then
21:12:45 <Gregor> <3 modular X build system
21:12:48 <Vorpal> olsner, ah
21:12:58 <xvedejas> what window managers do you all use?
21:13:05 <xvedejas> right now I'm on AwesomeWM
21:13:16 <elliott> I use metacity because Kitten isn't done yet. :p
21:13:18 <Vorpal> uh, metacity atm.
21:13:22 <elliott> <Gregor> <3 modular X build system
21:13:25 <elliott> Have you ever used it?
21:13:27 <elliott> It is awful :P
21:13:30 <Gregor> elliott: Extensively.
21:13:31 <olsner> it's autocrap, isn't it?
21:13:36 <Gregor> elliott: I've also used what came before.
21:13:36 <elliott> olsner: No, worse.
21:13:38 <Gregor> Extensively.
21:13:43 <Vorpal> Gregor, *imake*?
21:13:44 <Gregor> olsner: Yes, it's autotools, which is why it's so good.
21:13:45 <Vorpal> oh the horror
21:13:51 <olsner> Gregor: lol
21:14:00 <Vorpal> Gregor, imake was one of the worst ones I ever seen
21:14:10 <elliott> Gregor: autotools is great if you never want to CONFIGURE anything.
21:14:28 <Gregor> Vorpal: Yeah, imake was ... bad. I've built X11R6 (as in, the real X11R6) on HP-UX. Autotooled X = godsend.
21:14:51 <Vorpal> elliott, autotools actually get the shit done. And works when you need to do something a bit unusual. What is your suggestion instead? cmake? scons? Plain makefile doesn
21:14:57 <Vorpal> doesn't* cut it for more complex stuff
21:15:02 <olsner> is imake the one that preprocesses makefiles using cpp?
21:15:19 <Vorpal> Gregor, yes for such a platform I imagine it would be
21:15:20 <elliott> Vorpal: No, seriously, autotools breaks down and fucks itself the minute you step out of a few rigidly-defined GNU-type systems.
21:15:28 <elliott> It works for you because you use GNU/Linux/Typical.
21:15:45 <Gregor> elliott: ... no.
21:15:46 <Vorpal> elliott, not my experience at all. Only thing it doesn't work well on seems to be cygwin
21:15:48 <Gregor> elliott: So much no.
21:16:01 <Gregor> elliott: You realize that for years I worked for Intel doing builds of F/OSS software on like six architectures?
21:16:13 <Gregor> elliott: With every new package, we PRAYED that it was autotools. Because autotools WORK.
21:16:15 <Vorpal> elliott, it works fine on *BSD, it works fine on some more esoteric platforms such as opensolaris. I haven't tried HP-UX though so can't answer for that
21:16:29 <Vorpal> it even worked fine on an old sunos box
21:16:43 <Phantom_Hoover_> Vorpal, OpenSolaris is not esoteric.
21:16:57 <Vorpal> Phantom_Hoover_, did I claim it was?
21:17:03 <Gregor> Phantom_Hoover_: Whatever you want to believe :P
21:17:09 <elliott> "it works fine on some more esoteric platforms such as opensolaris"
21:17:14 <Vorpal> but yes it is in some aspects
21:17:25 <Phantom_Hoover_> Gregor, esoteric <-> interesting.
21:17:27 <Vorpal> elliott, oh not in the "on topic sense"
21:18:06 <Gregor> Phantom_Hoover_: Esoteric == only known to a small, select group. An unsupported OS that barely managed to get off the ground and is now being squelched is the definition of esoteric.
21:18:55 <Phantom_Hoover_> It should also do something new, or at least defy common practices.
21:19:44 <Vorpal> Gregor, indeed
21:20:31 <Phantom_Hoover_> Well, this is entirely my own definition.
21:20:53 <Vorpal> Phantom_Hoover_, so why would you expect other people to use it?
21:21:39 <Phantom_Hoover_> Well, Gregor's definition makes things like the Seltzer & Friedberg Appreciation Society esoteric.
21:22:02 <Vorpal> Phantom_Hoover_, I never heard of that so I don't know
21:22:12 <Vorpal> it is however an indication that could be the case
21:22:56 <Gregor> elliott: I notice you haven't actually made any further comments about autotools, since autotools are a cross-platform build maintainer's dream, whereas cmake, scons, plain Makefiles and whatever else you're going to list have exactly the problems you mentioned as being problems of autotools.
21:23:21 <elliott> Gregor: I'm not going to list any because every one sucks, I've just been bitten by autotols constantly.
21:23:23 <elliott> *autotools.
21:23:24 -!- xiaoy has joined.
21:23:49 <Vorpal> Gregor, why did you build them at intel btw?
21:23:59 <Gregor> Vorpal: ... because that was my job?
21:24:07 <Vorpal> Gregor, yes but for what? their linux distro?
21:24:13 <Gregor> Vorpal: Internal use.
21:24:32 <elliott> Vorpal: To maim the babies.
21:24:33 <Vorpal> Gregor, oh heh. They had their own linux distro internally or what?
21:24:46 <elliott> Gregor: ...
21:24:52 <elliott> Gregor: Let's not bother trying to make Vorpal understand things!
21:25:09 <Gregor> No, they just had a distro of commonly-used F/OSS tools that were all at the same versions across some six arch/OS combinations.
21:25:15 <Vorpal> Gregor, ah
21:25:30 <elliott> Gregor: please tell me windows was one of them
21:25:41 <Gregor> elliott: Good LORD no.
21:25:46 <elliott> Gregor: awww :D
21:25:56 <elliott> "
21:25:56 <elliott> If Linux doesn't have the solution, you have the wrong problem." -- stupid Linux forum signature
21:26:00 <elliott> what does that even mean
21:26:07 <elliott> medical equipment that needs hard real-time is WRONG!
21:26:18 <Vorpal> Gregor, hm, intel would use x86, x86-64, IA-64 and ARM right
21:26:35 <Vorpal> probably not ARM for this
21:26:38 <Gregor> elliott: <jsBot> Gregor: ... If eval() is the answer, chances are you're asking the wrong question
21:26:45 <Gregor> elliott: That makes me grind my teeth every time :P
21:26:58 <Gregor> Vorpal: And SPARC, PA-RISC :P
21:27:14 <Vorpal> Gregor, they use SPARC and PA-RISC? So weird.
21:27:28 <elliott> Gregor: This philosophy is exemplified in #python, where their motto is "You're here for help? Hahahaha. Tell us your entire application architecture and we will rip it apart without trying to understand it."
21:27:37 <elliott> Gregor: (the "wrong question" philosophy)
21:28:42 <Vorpal> elliott, it DOES happen that people ask the wrong question though. Like in #bash, trying to make echo do something weird when it is trivially straightforward with printf.
21:28:49 <elliott> Seriously, I will PAY someone to find a smallX tarball to me.
21:28:59 <elliott> Vorpal: Yes, but with Python it's not "do it this other way", it's "don't do that" at a very high level.
21:29:12 <elliott> I want to hook up X to Y. Don't do that, use Z instead. But I can't use Z. Well fuck you then.
21:29:31 <Vorpal> elliott, tried http://www.superant.com/smalllinux/tinyX01.html ?
21:29:37 <Phantom_Hoover_> What about when the thing they're trying is genuinely dumb?
21:29:46 <elliott> Vorpal: Go on, try clicking one of those tarball links.
21:29:55 <elliott> Phantom_Hoover_: if that was the case i wouldn't criticise as much.
21:30:00 <Vorpal> elliott, ouch
21:30:03 -!- xiaoy has left (?).
21:30:11 <Vorpal> elliott, try the email there?
21:30:18 <elliott> Vorpal: I've found the HTTP interface to tux.org FTP and their smalllinux/smallX pages are 404'd.
21:30:21 <olsner> "genuinely dumb"? you seem to be implying something not-dumb is even possible in python :)
21:30:30 <elliott> Vorpal: I will if I can't find the .tgz.
21:30:34 <elliott> But I'd like to find it rather than bug him...
21:31:01 <Vorpal> elliott, well hopefully that will mean he will update the link to something that works
21:31:12 <elliott> Vorpal: Who knows if he has it?
21:31:26 <elliott> [["Here's some interesting news: KOffice, as a brand name, no longer exists. And with that change, I can't help but wonder if we are soon going to be looking at the end of the KDE name, as well.
21:31:26 <elliott> "It seems that the KDE community has decided to rename the KOffice project to the Calligra Suite project, as well as all the names of the individual applications within KOffice. So, KWord becomes Words, KSpread becomes Tables, and so forth. There's a table on the Calligra suite announcement that lists all of the changes.]]
21:31:27 <elliott> LOLKDE
21:31:35 <Vorpal> elliott, who knows. Who knows if he died from a freak volcano? (Okay that is less probable, but still!)
21:31:38 <elliott> Words, it's like Microsoft Word but there's more of 'em.
21:31:44 <Phantom_Hoover_> olsner, come now, using a particular language doesn't actually make a program stupid.
21:32:04 <elliott> Phantom_Hoover_: PHP
21:32:14 <Phantom_Hoover_> But programming languages can themselves be stupid ideas, and they can be designed and pitched in such a way that only idiots use them.
21:32:24 <elliott> To see the newest version of these wiki notes go to [[http://www.superant.com/sadrupal/]] ----> 404
21:33:01 <Phantom_Hoover_> elliott, I am sure that somewhere, at some time, someone will have written a sensible program in PHP.
21:33:08 <olsner> Phantom_Hoover_: I'm saying Python is (also) one of those languages
21:33:18 <Vorpal> elliott, "sadrupal"? I thought drupal was a CMS and not a wiki. So weird name
21:33:26 <Phantom_Hoover_> That are stupid ideas or attract stupid people?
21:33:29 <Phantom_Hoover_> Or both?
21:33:38 <pikhq> elliott: I don't think you realise how awful imake is.
21:33:52 <Vorpal> olsner, you have to admit python is better than php at least?
21:33:54 <pikhq> elliott: It's C preprocessor on Makefiles.
21:34:16 <olsner> Vorpal: definitely
21:34:36 <elliott> pikhq: i never said it wasn't awful
21:34:39 <Vorpal> pikhq, and since when did not knowing about something stop elliott having extremely strong opinions about it?
21:34:41 <elliott> Vorpal: drupal is na everything
21:34:47 <elliott> I NEVER SAID ANYTHING ABOUT IMAKE GODDAMMIT
21:34:49 <elliott> I KNOW IT WAS HORRIBLE
21:34:50 <Vorpal> elliott, oaky true
21:34:54 <elliott> *an
21:34:55 <Vorpal> okay*
21:34:58 <Vorpal> wrt drupal that is
21:35:16 <Phantom_Hoover_> Can someone actually send me a précis of why PHP sucks?
21:35:18 <Vorpal> elliott, autotools is an improvement. In fact autotools is the best option there is currently
21:35:33 <Phantom_Hoover_> I've never learnt it, and it's always just been implicitly true.
21:35:37 <elliott> [Removed chvt, deallocvt because they didn't work.]
21:35:46 <nooga> faeg
21:35:46 <elliott> Phantom_Hoover_: Far too many reasons.
21:35:46 -!- xvedejas has quit (Quit: Leaving).
21:35:58 <Phantom_Hoover_> elliott, hence "précis".
21:36:24 <nooga> norwegians say "precis" all the time
21:36:34 <Vorpal> nooga, that is a different "precis" I think
21:36:34 <olsner> swedes too
21:36:42 <Vorpal> olsner, precis!
21:36:47 <pikhq> I had never seen "précis" before.
21:36:55 <Vorpal> pikhq, I had to google it
21:37:04 <Vorpal> pikhq, also I'm surprised. It is something you would use
21:37:08 <elliott> Phantom_Hoover_: Man who admits he hates programming invents programming language that's like Perl except everything is in one big print statement and to get out of print and have code you need to write <?php ... ?>. Then he puts all functions, with inconsistent argument order and naming, into one gigantic namespace, make ?x=y in the URL set $x = y, and makes ' and \ in strings automatically get backslash-escaped so that you can put them into a M
21:37:09 <elliott> ySQL DB directly (seriously).
21:37:10 <olsner> but "a précis" is basically a summary, right?
21:37:22 <elliott> Phantom_Hoover_: Follow natural evolution path towards amazingly crap.
21:37:25 <elliott> *evolutionary
21:37:33 <pikhq> Vorpal: Yes, yes I would.
21:37:51 <elliott> CC arch/x86/kernel/cpu/vmware.o
21:37:52 <elliott> CC arch/x86/kernel/cpu/hypervisor.o
21:37:54 <elliott> Can one disable these:
21:38:02 <Vorpal> elliott, which kernel version
21:38:03 <Phantom_Hoover_> elliott, OK.
21:38:10 <elliott> Vorpal: 2.6.36.1.
21:38:10 <Vorpal> elliott, if it recent I think you should be able to
21:38:13 <elliott> VMware options are *not* enabled.
21:38:31 <Vorpal> elliott, wait, there. That you probably need to enable embedded to remove cpuid strings
21:38:31 <elliott> And nor are any hypervisor options.
21:38:32 <Vorpal> or such
21:38:42 <elliott> Vorpal: I have enabled embedded.
21:38:46 <Vorpal> elliott, hm
21:38:56 <Vorpal> elliott, okay then check if they just contain #ifdef SOMETHINGTHATENABLESME
21:38:59 <Vorpal> elliott, I seen that
21:39:07 <Vorpal> elliott, basically empty object files is what I suspect
21:39:17 <elliott> Nope,
21:39:19 <elliott> EXPORT_SYMBOL(x86_hyper_vmware);
21:39:21 <elliott> and no ifdef
21:39:27 <elliott> I don't know if it's actually linked in, mind.
21:39:35 <elliott> -rw-r--r-- 1 elliott elliott 1720 Dec 7 20:57 arch/x86/kernel/cpu/vmware.o
21:39:37 <elliott> maybe it is empty, then
21:39:39 <Vorpal> elliott, since I saw altivec.o compile on x86_64. I got so confused about that, that I opened the C file and found it just ifdefed out
21:39:46 <elliott> hypervisor is slightly smaller
21:39:54 <elliott> and isn't ifdeffed out either
21:40:05 <Vorpal> elliott, just export symbol? Nothing else?
21:40:10 <elliott> Vorpal: no, other things too
21:40:14 <Vorpal> huh
21:40:15 <elliott> static functions and the like
21:40:16 <elliott> CC arch/x86/boot/video-vga.o
21:40:16 <elliott> CC arch/x86/boot/video-vesa.o
21:40:21 <elliott> ugh, i hope you can disable the latter
21:40:43 <Vorpal> elliott, why aren't you using an older kernel (assuming it is the floppy one still)
21:40:58 <elliott> Vorpal: cba
21:41:02 <elliott> even 2.4 was a bitch
21:41:10 <Vorpal> elliott, 2.4 didn't build?
21:41:18 <Vorpal> elliott, if so: what, it is recent enough
21:41:18 <elliott> i don't recall
21:41:32 <Vorpal> elliott, make xconfig is the sanest option for 2.4 iirc
21:41:44 <Vorpal> elliott, (have fun with Tk)
21:41:53 <elliott> i tried it
21:41:55 <elliott> with menuconfig
21:41:57 <elliott> whatever, anyway
21:42:00 <elliott> │ │ (0x1000000) Physical address where the kernel is loaded │ │
21:42:03 <elliott> │ │ (0x1000000) Alignment value to which kernel should be aligned │ │
21:42:07 <elliott> wonder if reducing them will shrink kernel :)
21:42:18 <Vorpal> elliott, no it won't I think
21:42:30 <Vorpal> elliott, also if you change that I *think* you need to change the bootloader too
21:42:41 <elliott> prolly
21:43:03 * elliott disables mice for now
21:43:17 <elliott> System is 608 kB
21:43:18 <elliott> fuckin' a
21:43:35 <elliott> what where did my ethernet go
21:43:53 <Phantom_Hoover_> elliott, so wait, where are you going to get software for this?
21:44:03 <Phantom_Hoover_> Are you going to install a libc?
21:44:09 <elliott> Phantom_Hoover_: um there's barely enough space for software
21:44:16 <elliott> libc is unlikely, they're big and i can statically-link stuff
21:44:21 <Vorpal> elliott, I'm sure 2.4 will be smaller. 2.0 even smaller
21:44:26 <elliott> i tried 2.0.
21:44:29 <elliott> didn't build
21:44:39 <elliott> all i really want at this point is... X, a tiny window manager, and a tiny terminal
21:44:46 <elliott> maybe one day i can squeeze links2 in.
21:44:51 <Vorpal> elliott, "I tried foo, didn't work, I gave up". Okay I won't hold that against you.
21:44:53 <Phantom_Hoover_> Ah, I get it.
21:45:02 <elliott> Vorpal: good :P
21:45:12 <elliott> ok let's see where my ethernet went
21:45:27 <elliott> 11690 e3
21:45:36 <Vorpal> elliott, because it doesn't change anything. I already knew that you weren't very persistent in any endeavour
21:45:36 <elliott> i wonder if i could disable all the non-vi modes of e3
21:45:49 <elliott> Vorpal: sure i am, just not in pointless endeavours.
21:45:54 <elliott> and this is definitely pointless.
21:46:11 <Vorpal> elliott, so procrastinating?
21:46:20 <elliott> nope, just messing around
21:46:20 <Vorpal> so,
21:46:21 <Vorpal> *
21:46:25 <Vorpal> okay
21:46:28 <elliott> and because pikhq wanted to do it
21:46:32 <elliott> so i'd better do it better first!
21:46:34 <Vorpal> hah
21:47:39 <Vorpal> nooga, oh btw in case you didn't know. sv:precis = en:exactly.
21:47:53 <Vorpal> (also en:exact, depends on context)
21:49:56 <elliott> 1622 finger
21:49:56 <elliott> 2151 tar
21:49:56 <elliott> 2320 netstat
21:49:56 <elliott> 5218 sh
21:49:56 <elliott> 6219 readelf
21:49:58 <elliott> Biggest utilities :P
21:50:23 <Vorpal> elliott, you don't need finger?
21:50:27 <Vorpal> elliott, or?
21:50:43 <elliott> Vorpal: sure I don't, but why not
21:51:05 <Vorpal> elliott, well sure, if you have space left over
21:51:40 <elliott> Vorpal: it's 1622 bytes :P
21:52:08 <Vorpal> elliott, which makes the space you can spend on X 1622 bytes smaller
21:55:56 <Gregor> "And why should a [video game] character conform to and reinforce gender stereotypes? Birdo might have given some transgender kid hope."
21:56:21 <Phantom_Hoover_> :D
21:56:50 <Vorpal> Gregor, I'm not sure how that connection works
21:56:50 <elliott> "One day I can be just like Birdo."
21:57:08 <Gregor> Vorpal: Birdo is the only semi-major transgender videogame character :P
21:57:21 <Vorpal> Gregor, oh, officially?
21:57:22 <Vorpal> huh
21:57:30 <Gregor> Vorpal: Not REALLY officially, but pseudo-officially X-P
21:57:45 <Gregor> In that Birdo was officially a gender-confused male, but in later things was officially female.
21:58:20 <Vorpal> Gregor, how did that happen to begin with
21:58:53 <olsner> when talking about post-op transsexuals in past-tense, do you need to keep track of the time the transition was made to get the right pronoun?
21:58:59 <Gregor> Vorpal: In the SMB2 manual, Birdo was labeled as a "boy who thinks he's a girl". In later things I guess they just decided that she's female. But the implications of that are clear, since both are canonical :P
21:59:12 <Gregor> olsner: Pronouns suck :P
21:59:28 <Vorpal> olsner, I'm not sure anybody has a good answer to that
22:00:04 -!- Mathnerd314 has joined.
22:01:50 <olsner> Vorpal: probably not
22:02:16 <Vorpal> olsner, spivak for everyone?
22:02:20 <elliott> <olsner> when talking about post-op transsexuals in past-tense, do you need to keep track of the time the transition was made to get the right pronoun?
22:02:20 <Gregor> "Yoshi is supposedly a male, but lays eggs like a female. Birdo is supposedly a female, but was originally called a male. And now the two of them are a romantic couple? They were both sexually chaotic as individuals -- this new pairing just made your head hurt thinking about it."
22:02:27 <elliott> olsner: um you're always meant to use the post-transition pronoun...
22:02:29 <elliott> olsner: even pre-op
22:02:31 <Gregor> Yoshi + Birdo = the single greatest video game couple in history :P
22:02:56 <elliott> olsner: you don't think about whether someone has a penis or not before choosing a pronoun :P
22:02:58 <Vorpal> Gregor, blame Japan
22:03:06 <olsner> elliott: right, pre/post-*op* is definitely wrong since the operation is independent of changing gender identity
22:03:10 -!- gon|away has changed nick to goneriku.
22:03:18 <elliott> olsner: "when talking about post-op transsexuals in past-tense" --you
22:03:34 <Vorpal> elliott, "to" != "about"
22:03:45 <elliott> Vorpal: um olsner knows what i mean, you don't
22:03:48 <olsner> elliott: bah, I'll just change that sentence to something else then!
22:03:49 <Phantom_Hoover_> elliott, what about before they had any conception of their gender identity differing from the norm?
22:04:18 <elliott> Phantom_Hoover_: it's very rare that people feel 100% comfortable with their identity and then decide to transition...
22:04:27 <elliott> i've never heard of it
22:04:30 <Phantom_Hoover_> elliott, what about when they were 2 or something?
22:04:38 <Phantom_Hoover_> Before they even had any conception of gender?
22:05:13 <olsner> spivak nouns until sexual maturity!
22:05:14 <elliott> Phantom_Hoover_: I can guarantee you that no transperson wants to be referred to as what they used to think their gender was no matter what tense :P
22:05:17 <elliott> (OK, I won't actually guarantee that.)
22:05:20 <elliott> olsner: sex != gender
22:05:25 <elliott> so that's a silly thing to say
22:05:48 <Gregor> TRANSSEXUALS ARE IMMORAL PEOPLE. GOD CHOSE YOUR SEX FOR A REASON.
22:05:50 * Gregor takes a bow.
22:05:50 <Phantom_Hoover_> Spivak nouns until they express a preference!
22:06:01 <Gregor> ... and shoots a tranny with it OH SEE HOW I MADE THAT AMBIGUOUS
22:06:02 <elliott> Gregor: JESUS WAS A GIRL IN A GIRL'S BODY
22:06:14 <olsner> elliott: make that what phantom hoover said instead
22:06:15 <elliott> Gregor: Are you sure it was a bow you shot that tranny with? :|
22:06:21 <Vorpal> Gregor, so what about those cases of ambiguous sex?
22:06:22 <Phantom_Hoover_> Gregor, but what's God's view of the LINGUISTICS of the matter?
22:06:34 <Gregor> elliott: Yes. I put a bow in another bow, and fired the first bow with the second.
22:06:35 <elliott> olsner: Phantom_Hoover_: How about SPIVAK PRONOUNS FOREVER because gendered pronouns are moronic
22:06:41 <elliott> Gregor: Nice [0010].
22:06:44 <Phantom_Hoover_> elliott, good luck with that.
22:06:49 <Vorpal> Gregor, or the rare condition of having XY but being insensitive to testosterone
22:06:50 <elliott> Is that an [0010] in your pocket or are you just happy to see me?
22:06:58 <olsner> hmm, spivak nouns are just ... ugly
22:07:00 <elliott> Phantom_Hoover_: You think your solution is getting adopted either? :P
22:07:03 <elliott> olsner: ENGLISH IS UGLY :P
22:07:05 <Gregor> Vorpal: GOD WORKS IN MYSTERIOUS WAYS.
22:07:23 <Phantom_Hoover_> For instance, Jesus' Y chromosome was clearly GOD'S.
22:07:24 <Gregor> elliott: ENGLISH WORKS IN MYSTERIOUS WAYS.
22:07:26 -!- Sasha has joined.
22:07:27 <elliott> i agree with Gregor a magic man did it
22:07:42 <elliott> Gregor: i shouldn't complain about english. good enough for jesus, good enough for me
22:07:45 <Gregor> `addquote <Phantom_Hoover> For instance, Jesus' Y chromosome was clearly GOD'S.
22:07:49 * Phantom_Hoover_ wonders what genes are on God's Y chromosome.
22:07:53 <HackEgo> 237) <Phantom_Hoover> For instance, Jesus' Y chromosome was clearly GOD'S.
22:08:01 <elliott> this is also why I sleep on a cross every night
22:08:09 <elliott> Gregor: That is not even remotely permanently quotable :P
22:08:20 <Gregor> elliott: YESH IT ISH
22:08:34 <Vorpal> elliott, I agree with Gregor on this one.
22:08:54 <Phantom_Hoover_> Shut up! I'm pondering theogenetics!
22:08:55 <Vorpal> it can be read in another way without the context
22:08:59 <Vorpal> still funny
22:10:04 <elliott> robots
22:10:15 <Vorpal> elliott, any way to quickly get all permutations of a list in python? Quickly as in "easy to write" not "executes fast"
22:10:32 <Vorpal> I feel it should be trivial in a high level language
22:10:59 <Vorpal> like taking the list times itself or such.
22:11:38 <elliott> Vorpal: there is a way but i forget :D
22:11:44 <Phantom_Hoover_> elliott, what's your opinion on singular "they"?
22:11:45 <Vorpal> elliott, ouch :(
22:11:54 <elliott> Phantom_Hoover_: Perfectly cromulent.
22:12:01 <Phantom_Hoover_> elliott, I agree.
22:12:06 <elliott> Vorpal: itertools has permutations
22:12:08 <Vorpal> ah
22:12:25 <fizzie> >>> from itertools import permutations
22:12:26 <Phantom_Hoover_> I also think that, logically, the first person pronoun should be made universally "we".
22:12:28 <fizzie> >>> list(permutations([1,2,3]))
22:12:31 <fizzie> [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]
22:12:32 <fizzie> Too slow am I.
22:12:38 <fizzie> I blame the phone.
22:12:40 <elliott> System is 827 kB
22:12:42 <elliott> Wheew.
22:12:52 <Phantom_Hoover_> Thus removing all singular/plural distinction in the English pronoun system.
22:12:53 <elliott> Phantom_Hoover_: We are amused.
22:13:04 <olsner> fizzie: "Too slow am I. The phone I blame."
22:13:15 <elliott> Phantom_Hoover_: Also, there IS singular/plural distinction.
22:13:19 <elliott> you/y'all
22:13:50 <elliott> WHY IS NETWORK BROKE
22:13:52 <Phantom_Hoover_> I'd go for "youse", personally.
22:14:08 <Vorpal> it gave me a list of tuples. Why...
22:14:10 <fizzie> "Is it true that the plural of 'y'all' is 'all y'all'?", I saw asked somewhere.
22:14:24 <Vorpal> (as in, why tuples)
22:14:28 <Phantom_Hoover_> Vorpal, BECAUSE YOU ARE HEADCRAB ZOMBIE!
22:14:41 <fizzie> Well, they're known-length sequences.
22:14:49 <Vorpal> fizzie, ah right, makes sense
22:15:13 <Vorpal> fizzie, I'll just process the result with sed anyway XD
22:15:17 <fizzie> Since it's from itertools, it probably also gives you a generator, not a list.
22:15:30 <Phantom_Hoover_> http://qntm.org/dna
22:15:33 * Phantom_Hoover_ ponders this.
22:15:33 <Vorpal> fizzie, yes indeed I passed it to list
22:15:36 <Vorpal> since I needed a list
22:15:43 <Phantom_Hoover_> [[# (50 - X)% of Yancy's genes are eternal genes with no origin, inherited from Fry, who originally inherited them from his mother.]]
22:16:04 <Phantom_Hoover_> But they're regular genes, not eternal ones.
22:16:19 <Phantom_Hoover_> Hmm, perhaps not...
22:16:32 <Gregor> Phantom_Hoover_: They're eternal in the sense that if you trace their history, it is an infinite loop.
22:16:40 <Phantom_Hoover_> Gregor, no, that's the thing.
22:16:54 <Phantom_Hoover_> They're from Fry's mother, whose genes are entirely normal.
22:17:29 <Phantom_Hoover_> I feel an infinite geometric series coming on...
22:17:33 <Gregor> Phantom_Hoover_: Isn't Fry's mother's side the side that Fry is on?
22:17:39 <Phantom_Hoover_> Gregor, no.
22:17:56 <Phantom_Hoover_> Fry is his own paternal grandfather.
22:17:57 <elliott> What kernel module implements qemu's default network card?
22:18:14 <Gregor> Phantom_Hoover_: Oh, then that's a weird statement.
22:18:38 <Phantom_Hoover_> Gregor, but I can see a justification through the haze of my ape brain.
22:18:47 <Gregor> Phantom_Hoover_: Where did you get that quote from?
22:18:51 <Phantom_Hoover_> It's just proving hard to pin down.
22:18:55 <Phantom_Hoover_> I just linked to it.
22:19:02 <Phantom_Hoover_> http://qntm.org/dna
22:19:41 * Phantom_Hoover_ decides to reduce it to a toy model.
22:19:50 <Gregor> Phantom_Hoover_: Ohhh, I was thinking about Yancy JR
22:20:16 <Gregor> Phantom_Hoover_: Which made the whole thing kinda nonsense :P
22:20:32 <Phantom_Hoover_> OK, let's reduce the human genome to 4 chromosomes, in 2 homologous pairs.
22:20:49 <elliott> `addquote <Phantom_Hoover> OK, let's reduce the human genome to 4 chromosomes, in 2 homologous pairs.
22:20:49 <HackEgo> 238) <Phantom_Hoover> OK, let's reduce the human genome to 4 chromosomes, in 2 homologous pairs.
22:21:17 <Phantom_Hoover_> (This ignores a few things, most interestingly that Fry's Y chromosome is completely eternal.)
22:22:04 <Gregor> Phantom_Hoover_: Hm, yeah, those are definitely not eternal, they just happen to go backwards and forwards in time before being discarded.
22:25:43 <elliott> Okay, seriously, THERE IS NO WAY A TARBALL DISAPPEARED FROM THE INTERNET.
22:25:54 * Phantom_Hoover_ starts smearing dye on a piece of dead tree.
22:26:15 <elliott> Phantom_Hoover_: I just call that "Saturday".
22:26:49 <oerjan> Phantom_Hoover_: don't forget chromosomal crossover
22:27:05 <Phantom_Hoover_> oerjan, LALALALALA I CAN'T HEAR YOU
22:27:12 <oerjan> :D
22:28:27 <Gregor> Phantom_Hoover_: "Depending on what X is (see above), this is either disgustingly incestuous (for X ≅ 5) or entirely inoffensive and legal (for X = 50)." This statement is kinda silly too since all humans have some 99.99% of their genes in common with each other :P
22:28:58 <elliott> I JUST WANT A SMALLX TARBALL
22:29:10 <Phantom_Hoover_> Gregor, yes, but 45% is effectively identical to incest genetically.
22:29:15 <elliott> <Gregor> Phantom_Hoover_: "Depending on what X is (see above), this is either disgustingly incestuous (for X ≅ 5) or entirely inoffensive and legal (for X = 50)." This statement is kinda silly too since all humans have some 99.99% of their genes in common with each other :P
22:29:19 <elliott> There's a reason they call it wincest!
22:29:34 <Phantom_Hoover_> Sorry, *sibling incest.
22:29:41 <elliott> [[In my on-going research for alternatives to the X.org full server, I ran across references to a “TinyX” which led me to SmallX, AKA Kdrive. Aside from one, very obsolete reference written for mere mortal users, the whole thing is buried in code-jockey talk.]]
22:29:43 <Phantom_Hoover_> Parental incest is... the same, actually.
22:29:44 <elliott> If you're not a code-jockey
22:29:48 <elliott> why are you trying to replace X.Org.
22:30:48 <elliott> Seriously. Anyone. SmallX. Please.
22:30:59 <Phantom_Hoover_> I *think* this might come down to a fixed point...
22:31:23 <Gregor> elliott: ftp://ftp.mayn.de/pub/really_old_stuff/unix/x11/tinyx/XVGA16.tar.gz
22:31:42 <elliott> Gregor: I love you. How did you find that?
22:31:52 <Gregor> elliott: I googled for the tarball name. It was REALLY difficult.
22:31:59 <elliott> Gregor: That's what I did, so fuck you :P
22:32:06 <Gregor> elliott: I googled it harder.
22:32:13 <elliott> ...OK, googling for XVGA16.tar.gz works WAY better than "smallX tinyX"
22:32:24 <Gregor> "tarball name" :P
22:32:38 <elliott> Gregor: Oh for fuck's sake, it looks like it's just XFree86 TinyX.
22:32:55 <Phantom_Hoover_> OK, I think I have a vague grasp on the thing about the maternal eternal genes.
22:32:58 <elliott> Xtinylib.tar.gz BETTER have some real code.
22:33:13 <Gregor> elliott: I'm betting ... no.
22:33:42 <elliott> Gregor: lolso, teach me how to use the modular X build system.
22:33:56 <elliott> All I want is a single KDrive and Xlib with EVERYTHING DISABLED :P
22:34:02 <Phantom_Hoover_> Probabilistically, 25% of Yancy's genes are inherited from his wife.
22:34:08 <Phantom_Hoover_> At least.
22:35:36 <Gregor> elliott: http://freedesktop.org/wiki/Software/Xserver/InstallGuide <-- although slightly out-of-date, this does show the list of modules you have to build before building xserver kdrive. You'll need to provide the --enable-kdrive option nowadays, and ignore the shitload of stuff it builds AFTER the xserver, but otherwise there ya go.
22:35:53 <elliott> "ignore the shitload of stuff it builds AFTER the xserver"
22:35:55 <elliott> how disable :|
22:36:08 <Gregor> elliott: That's a list of packages essentially, just don't do them.
22:36:26 <elliott> Gregor: Anyway, last I checked the only way to build was (1) 10000000 tarballs or (2) git repository.
22:36:27 <Gregor> elliott: (And note that it shows CVS since that's hyper-old instructions, and everything is in git now, and you should just get the packages anyway, just follow the package names :P )
22:36:43 <Gregor> elliott: For kdrive, I'd estimate 10 tarballs.
22:36:43 -!- MigoMipo_ has quit (Read error: Connection reset by peer).
22:36:51 <elliott> Gregor: over-modular more like
22:37:03 <Gregor> elliott: Yes, it is over-modular, but I'll still take it over imake any day :P
22:37:12 <Gregor> (The main thing is that splitting the proto and lib packages was a weird decision :P
22:37:14 <Gregor> )
22:38:16 <elliott> http://www.x.org/releases/X11R7.5/src/xserver/
22:38:20 <elliott> Is this the right thing? :p
22:39:15 <elliott> Gregor: And are you suuure it doesn't have 16-bit VGA?
22:44:26 <elliott> checking for XSERVERCFLAGS... configure: error: Package requirements (randrproto >= 1.2.99.3 renderproto >= 0.11 fixesproto >= 4.1 damageproto >= 1.1 xcmiscproto >= 1.2.0 xextproto >= 7.0.99.3 xproto >= 7.0.13 xtrans >= 1.2.2 bigreqsproto >= 1.1.0 fontsproto inputproto >= 1.9.99.902 kbproto >= 1.0.3 xkbfile xfont xau pixman-1 >= 0.15.20 openssl) were not met:
22:44:28 <elliott> Gregor: Dude.
22:48:38 <Vorpal> hm sshfs has some delays that shouldn't be there I think
22:48:54 <Vorpal> sure you don't see a remote file created straight away (on the client side)
22:49:05 <Vorpal> but you should see the files you just wrote surely
22:51:06 <elliott> Gregor: Sooo, is there a simpler way than fetching those manually?
22:51:18 <Phantom_Hoover_> Vorpal, I know this will sound suspicious, but where's the throne room gone?
22:52:01 <Vorpal> Phantom_Hoover_, what throne room?
22:52:21 <Phantom_Hoover_> Vorpal, oh. You're playing this game.
22:52:26 <Phantom_Hoover_> Rather childish.
22:52:29 <elliott> Vorpal: You know, the throne room.
22:52:37 <elliott> It's the room with the throne.
22:52:43 <Vorpal> Phantom_Hoover_, I'm not playing any game. I'm printing a report
22:53:03 <elliott> Phantom_Hoover_: What do you mean where has it gone?
22:53:14 <Vorpal> elliott, oh. That. It's in Buckingham Palace.
22:53:26 <Vorpal> (or its or whatever)
22:53:28 <Phantom_Hoover_> There's just a bare room where the lobby used to be.
22:53:34 * Phantom_Hoover_ → sleep
22:53:39 -!- Phantom_Hoover_ has quit (Remote host closed the connection).
22:53:56 <Vorpal> well I could tell you. If you were here
22:57:40 <Vorpal> not sure I would. I seriously didn't have time for MC today, yet I had to clean up his mess
22:58:47 <Vorpal> I should just make the pit deep enough to kill on falling. About twice the current depth iirc. Nothing below it. Should be doable. A pain with the obsidian though.
22:58:48 <Vorpal> oh well
23:00:51 <Vorpal> elliott, I realised while .xz is cool it isn't really usable yet if you want to make sure that everyone can open it.
23:01:02 <Vorpal> (note, windows compat is not an issue in this case)
23:01:07 <Vorpal> (if it was, it would mean zip)
23:01:20 <Vorpal> so tar.bz2 still has it's uses
23:08:14 <pikhq> Vorpal: If you want to make sure everyone can open it, you should use compress.
23:08:31 <pikhq> If you actually want something that *sane distros* can open, use xz.
23:08:40 <Vorpal> pikhq, no, because that would confuse people. Thus they couldn't open it.
23:08:58 <pikhq> Vorpal: Okay, y'know what?
23:09:01 <pikhq> Vorpal: Sharballs.
23:09:04 <pikhq> Vorpal: You may only use shar.
23:09:05 <Vorpal> pikhq, in this case I want a teacher at university to be able to open a lab assignment. I know he use linux. I don't know if he has xz.
23:09:16 <Vorpal> thus best bet: tar.bz2
23:09:20 <Vorpal> or tar.gz
23:09:32 <Vorpal> but the tar.gz is too large for the email system.
23:09:38 <pikhq> Vorpal: Is his distro more than 3 years old? If not, xz is fine. If it is, I suggest you root that box.
23:09:41 <Vorpal> (lots of data files included)
23:09:44 <Vorpal> pikhq, I have no idea
23:09:44 <ineiros> Ended up installing hMod.
23:09:56 <Vorpal> ineiros, oh, interesting
23:10:11 <Vorpal> ineiros, any user guide to it?
23:10:31 <fizzie> There's a wiki.
23:10:50 <Vorpal> ah
23:11:02 <Vorpal> fizzie, is it so complex that a single page isn't enough?
23:11:34 <fizzie> http://wiki.hey0.net/index.php/Main_Page
23:11:44 <Vorpal> oh my... what a long commands page
23:12:01 <fizzie> It's got those, and lots of plugins.
23:12:14 <Vorpal> " * Command: /help --- Shows a list of commands (7 per page). "
23:12:21 <Vorpal> mhm
23:12:39 <Vorpal> ineiros, any kits defined?
23:13:05 <ineiros> Pretty much default configuration, didn't yet check anything else.
23:13:24 <Vorpal> fizzie, also inconsistent. It has /kit without parameters to list kits, but /listwrap instead of /wrap without parameters
23:13:32 <Vorpal> err
23:13:34 <Vorpal> warp*
23:13:37 <Vorpal> (in both cases)
23:13:50 <Vorpal> and why /lighter
23:13:56 <Vorpal> I mean, shouldn't that be a kit :P
23:14:17 <Vorpal> /getpos looks useful. I had a lot of issues trying to work out offsets when building that trap
23:14:41 <elliott> xz sucks because of cpu usage
23:15:07 <Vorpal> elliott, sometimes, such as when preparing a release tarball, that is not an issue
23:15:07 <elliott> ineiros: disabled health?
23:15:10 <fizzie> I think /lighter is not a kit because t was ported from some other thing.
23:15:17 <elliott> Vorpal: but unpacking it still uses cpu.
23:15:37 <Vorpal> elliott, technically so does everything unless you have a separate accelerator chip for that algorithm
23:15:46 <Vorpal> which uses DMA
23:15:58 <elliott> Vorpal: more cpu than gzip though
23:16:00 <elliott> or bzip
23:16:07 <Vorpal> elliott, gzip is very cpu-friendly
23:16:08 <elliott> or azip :)
23:16:17 <Vorpal> and bzip2 uses a lot more cpu for unpacking
23:16:21 <Vorpal> I'm pretty sure about that
23:16:25 <Vorpal> not sure about bzip
23:16:30 <elliott> prolly true
23:16:31 <Vorpal> but no one uses that any more
23:16:45 <elliott> i've never cared that much about ultra small compression in common usage
23:16:53 <elliott> networks aren't so slow that wasting minutes compressing a tarball is worthwhile
23:17:22 <Vorpal> elliott, depends on what you plan to do with it. Download it over 3G? EDGE? Pack it on an install cd?
23:17:23 <pikhq> elliott: xz decompression is actually more CPU friendly than bzip2.
23:17:42 <pikhq> Unless you're using xz -9 or something.
23:17:42 <elliott> edge is not that bad.
23:17:44 <pikhq> But that's crazy.
23:17:48 <elliott> pikhq: Vorpal prolly does
23:17:48 <elliott> :p
23:18:06 <Vorpal> elliott, I used it for testing if it was worthwhile. It wasn't.
23:18:17 <pikhq> It gets you, like, bytes of benefit.
23:18:18 <Vorpal> but no I haven't used -9 beyond some basic testing of xz
23:18:24 <pikhq> And adds hours.
23:18:26 <Vorpal> pikhq, -9 -e ! ;P
23:18:45 <Vorpal> pikhq, note: I only did that as a test. And it saved like 1 MB on an ISO
23:18:53 <Vorpal> took 10-15 minutes to compress
23:18:58 <elliott> I wish lzma(1) had -10 --super-mega-brutish. For Flinix :)
23:19:13 <elliott> Vorpal: Pah! ESO distributed the ICFP ISO COMPLETELY UNCOMPRESSED in... 2009? 2010?
23:19:23 <elliott> And used up our entire bandwidth for the month I might add (100 gigs)
23:19:26 <Vorpal> elliott, ICFP?
23:19:31 -!- Sasha2 has joined.
23:19:35 <elliott> or was it 150 gig
23:19:43 -!- Sasha has quit (Ping timeout: 264 seconds).
23:19:47 <elliott> Vorpal: international conference on functional programming. they run a popular programming contest each year
23:19:54 <Vorpal> elliott, heh
23:19:58 <elliott> they distributed an iso to provide a common testing environment for everyone
23:20:00 <elliott> Vorpal: heh?
23:20:06 <Vorpal> elliott, maybe uncompressed was a bad idea then
23:20:08 <elliott> btw not only functional programmers participate
23:20:10 <elliott> it's woooorld famous
23:20:13 <Vorpal> if it used the entire bw for that month
23:20:19 <elliott> Vorpal: http://www.boundvariable.org/ you have probably seen this
23:20:22 <elliott> http://www.boundvariable.org/task.shtml
23:20:26 <elliott> that's the 2006 contest
23:20:36 <Vorpal> elliott, ah yes that URL I remember
23:21:37 <elliott> linux is so bloated, what is it spending 480K on
23:22:05 <pikhq> elliott: Herring for penguins.
23:22:37 <elliott> pikhq: *complete copy of Wikipedia to comply with the GFDL
23:22:46 <elliott> `quote GFDL
23:22:59 * elliott makes quote search case-insensitively
23:24:02 -!- Sasha2_ has joined.
23:24:03 <elliott> Gregor: lolbroke
23:24:08 <HackEgo> 153) * Phantom_Hoover wonders where the size of the compiled Linux kernel comes from. <cpressey> To comply with the GFDL, there's a copy of Wikipedia in there.
23:24:13 <elliott> yay
23:24:14 <elliott> pikhq: ^
23:25:30 <pikhq> elliott: Also herring.
23:25:47 <elliott> pikhq: HOW HARD IS X86 (ANSWER NOT AT ALL LINUX IS BLOAT)
23:26:41 -!- Sasha2 has quit (Ping timeout: 265 seconds).
23:28:11 <elliott> pikhq: Did that kernel of yours ever do anything?
23:28:19 <elliott> OMFG I JUST HAD THE BEST IDEA EVER GREGOR GREGOR GREGOR
23:28:21 <elliott> Gregor
23:28:33 <Gregor> GREGOR GREGOR GREGOR Gregor IS the best idea ever.
23:28:42 <elliott> Gregor: You know how much you love SysV?
23:28:56 <Gregor> I lurve it with a spatula.
23:28:59 <elliott> Gregor: #ESOTERIC SHOULD PORT A IT OR A UNIX OF SIMILAR VINTAGE TO I386.
23:29:16 <elliott> How hard can it be! SysV was like the most portable OS ever! And old Research Unixes had stupidly simple kernels!
23:29:19 <Gregor> System V ran on 386 :P
23:29:20 <elliott> And it would be AWESOME.
23:29:25 <elliott> Gregor: ...oh.
23:29:27 <elliott> Gregor: well
23:29:29 <elliott> Gregor: RESEARCH UNIX
23:29:29 <Gregor> System V ONLY ran on 386.
23:29:40 <Gregor> We should port it to x86_64 though :P
23:29:46 <Gregor> (Except the source to System V is of course not available)
23:29:46 <elliott> System V ran on the DEC VAX and PDP-11 machines. It also added support for inter-process communication using messages, semaphores, and shared memory.
23:29:48 <elliott> System V ran on the DEC VAX and PDP-11 machines. It also added support for inter-process communication using messages, semaphores, and shared memory.
23:29:51 <elliott> Gregor: ha ha faggot
23:30:12 <elliott> The primary platforms for SVR4 were Intel x86 and SPARC; the SPARC version, called Solaris 2 (or, internally, SunOS 5.x), was developed by Sun
23:30:19 <elliott> what i'm saying is: fag
23:30:25 <Gregor> Oh yeah, R4 and later >_>
23:30:31 <Gregor> SysVR<=3 sucked anyway :P
23:30:32 <Gregor> R4 = ELF
23:30:48 <elliott> Gregor: OK then. Unix Nth Edition (for low N. Like say fourth edition because previous versions were written in assembly.)
23:30:57 <elliott> 1st edition code is available at least :p
23:31:26 <elliott> Gregor: "WAIT I KNOW LET'S WRITE OUR OWN UNIX-COMPATIBLE FROM SCRATCH AND DISTRIBUTE IT FREELY OVER THE INTERNET."
23:31:43 <elliott> /nick Leenyos_Torovoltos
23:31:47 <Gregor> elliott: And let's write it in JavaScript!
23:31:48 <Gregor> elliott: And call it JSMIPS!
23:31:59 <elliott> Gregor: Brilliant!
23:32:52 <elliott> Gregor: Seriously though, research Unix on 386, how cool would that be (answer: mega cool)
23:33:58 <Gregor> I HAS KITTY
23:34:05 <elliott> Gregor: AWESOME AWESOME AWESOME VERSION 1-7 UNIX IS UNDER FOUR-CLAUSE BSD
23:34:21 <elliott> Gregor: (VERSION 7 CAME OUT IN 1979 :P)
23:34:34 <elliott> [[V7 was the first readily portable version of Unix. As this was the era of minicomputers, with their many architectural variations, and also the dawning of the market for 16-bit microprocessors, many ports were completed within the first few years of its release. The first Sun workstations (then based on the Motorola 68010) ran a V7 port by UniSoft; the first version of Xenix for the Intel 8086 was derived from V7]]
23:34:37 <elliott> WHY DO YOU RUIN OUR FUN
23:34:43 <elliott> An x86 port is under active development by Nordier & Associates. The current version is 0.8a. The project has produced a bootable CD image with an installer script.[2]
23:34:44 <elliott> what
23:34:49 <elliott> how is anyone as crazy as us
23:34:59 <elliott> Gregor: Dood http://www.nordier.com/v7x86/index.html :P
23:35:09 <Gregor> elliott: WE LOSE
23:35:12 <Gregor> elliott: How 'bout Unix 32v?
23:35:24 <elliott> There are presently a few supplementary V7/x86-specific documents available:
23:35:25 <elliott> v7x86asref.pdf V7/x86 Assembler Reference Manual
23:35:25 <elliott> v7x86intro.pdf Using V7/x86: A Brief Introduction
23:35:43 <elliott> Gregor: But Unix 32v is Seventh Edition ported to VAX :P
23:35:47 <elliott> Gregor: So it's the same thing.
23:36:09 <Gregor> elliott: I was already typing that before you mentioned v7x86, I was just suggesting it because at least it's already 32-bit :P
23:36:20 <elliott> Gregor: HOWEVER I bet 4th edition would be easy.
23:36:22 <elliott> 4th Edition Nov. 1973 First Unix written in C. It also introduced groups. Number of installations was listed as "above 20". The manual was formatted with troff for the first time.
23:36:29 <elliott> V5 is listed as "Introduced the sticky bit", what a release :P
23:36:44 <elliott> 6th is when people started PORTING it and we want to be the fisrt people to do anything.
23:36:51 <elliott> [[xv6 is a modern reimplementation of Sixth Edition Unix in ANSI C for multiprocessor x86 systems.]]
23:36:55 <elliott> [[It is used for pedagogical purposes in MIT's Operating Systems Engineering (6.828) course.]]
23:37:07 <elliott> Gregor: 4th Edition LET'S DO THIS OKAY
23:37:11 <Gregor> elliott: FAILZ
23:37:40 <Gregor> elliott: Instead let's set up a publicly-available free shell service on v7x86
23:37:40 <elliott> [[The fourth edition of Unix was the first version to have a kernel written in a high level language, C, along with some of the commands. A full and complete copy of Fourth Edition no longer exists.]]
23:38:15 <elliott> Gregor: Not xv6? :p
23:38:33 -!- ais523 has quit (Remote host closed the connection).
23:38:46 <elliott> "V7 Unix introduced the first version of the modern "Standard I/O" library stdio as part of the system library."
23:39:01 <elliott> [[For many years, MIT had no operating systems course. In the fall of 2002, Frans Kaashoek, Josh Cates, and Emil Sit created a new, experimental course (6.097) to teach operating systems engineering. In the course lectures, the class worked through Sixth Edition Unix (aka V6) using John Lions's famous commentary.]]
23:39:16 <elliott> MIT: Making 2002 feel just like 1975.
23:39:25 <Gregor> <elliott> "V7 Unix introduced the first version of the modern "Standard I/O" library stdio as part of the system library." <-- kinda important X-P
23:39:39 <elliott> Gregor: Whoa, Russ Cox was involved in xv6 X-D
23:39:46 <elliott> Gregor: Also, hey, I swear off stdio and you should too. :p
23:40:01 <coppro> /win/win 48
23:40:09 <Gregor> I lurve stdio.
23:40:22 <elliott> Gregor: But it's terrible!
23:40:51 <elliott> olsner: hmm, you know my microkernel design?
23:42:42 <elliott> I think I just managed to invent an attokernel :P
23:44:15 <elliott> Gregor: OK, I've figured it out.
23:44:27 <elliott> Gregor: We should port the System V kernel as a HURD server.
23:45:26 <Gregor> System V kernel source isn't available.
23:45:39 <Gregor> Except in some enormously derivative form in OpenSolaris.
23:46:34 <elliott> [[ "The network software for Unix was developed on a PDP-11/50, with memory management, two RK05 disk packs, two nine track magtape drives, four dectape drives, 32k words of core, and three terminals. Presently this has been expanded to encompass a DH11 terminal multiplexor, an RP03 moving head disk, a twin platter RF11 fixed head disk, floating point, and 48k of core. User files are stored on the RP03. the RF11 is used as a swap disk and for
23:46:34 <elliott> temporary file storage; one RK05 platter contains the system files, and the second contains login and accounting information. In the near future, the system will be expanded to 128k words of core memory with 10 dial in and 10 hard wired terminal lines"
23:46:34 <elliott> "The base operating system occupies 24.5k words of memory. this system includes a large number of device drivers, and enjoys a generous amount of space for I/O buffers and system tables. A minimal system would require 40k words of hardware memory. It should be noted that Unix also requires the memory management"]]
23:47:01 <elliott> OH DEAR GOD
23:47:03 <elliott> http://tools.ietf.org/html/rfc681
23:47:04 <elliott> IT' SALL IN CAPITALS
23:47:08 <elliott> FILEDES = OPEN( "/DEV/NET/HARV",2 );
23:47:08 <elliott> IF( FILEDES < 0 )
23:47:08 <elliott> PRINTF(" HARVARD IS DEAD");
23:47:08 <elliott> ELSE
23:47:08 <elliott> WHILE( (NBYTES=READ(FILEDES,BUF,80)) > 0 )
23:47:09 <elliott> WRITE( 0,BUF,NBYTES ); 4j1
23:47:14 <elliott> HARVARD IS DEAD
23:47:36 <elliott> WHY IS RFC 681 ALL IN CPITALS
23:47:38 <elliott> CAPITALS
23:47:40 <Gregor> elliott: I can't make v7x86 boot after installing :(
23:48:11 <elliott> Gregor: Probably it requires a bootloader?
23:48:15 <elliott> http://www.nordier.com/v7x86/install.html
23:48:19 <elliott> Note that the install program expects to install to an existing V7/x86 hard disk partition. This can be created with any fdisk compatible utility that allows the partition type to be specified. The V7/x86 partition type is 0x72 (114 decimal).
23:48:43 <Gregor> elliott: Yeah, I did that. I wonder how you think I installed without that.
23:48:51 <elliott> Gregor: Sparkly magic?
23:49:03 <elliott> Gregor: Try http://pdos.csail.mit.edu/6.828/xv6/ :P
23:49:23 <elliott> "Understanding exec (exec.c) is left as an exercise."
23:49:37 <Gregor> "Xv6 does boot on real hardware" LAME
23:49:50 <elliott> Gregor: JUST TRY IT MAN IT'S V6 UNIX
23:50:00 <elliott> # Start the first CPU: switch to 32-bit protected mode, jump into C.
23:50:01 <elliott> # The BIOS loads this code from the first sector of the hard disk into
23:50:01 <elliott> # memory at physical address 0x7c00 and starts executing in real mode
23:50:01 <elliott> # with %cs=0 %ip=7c00.
23:50:02 <elliott> The first CPU?
23:50:04 <elliott> Does it do SMP?
23:50:06 <elliott> In an OS course?
23:50:13 <elliott> An introductory OS course?
23:50:13 <elliott> Fuck MIT is hardcore.
23:51:46 <elliott> # for(;;) exit();
23:51:46 <elliott> exit:
23:51:46 <elliott> movl $SYS_exit, %eax
23:51:46 <elliott> int $T_SYSCALL
23:51:46 <elliott> jmp exit
23:51:47 <elliott> wat
23:53:50 <elliott> Gregor: xv6 is kinda boring
23:54:25 <Gregor> :P
23:55:47 <Gregor> elliott: http://www.nordier.com/software/c3s.html <-- lawl
23:56:28 <pikhq> elliott: s/is/was/, I'm sure.
23:56:32 <elliott> Gregor: Don't you mean "awesome"?
23:56:34 <elliott> pikhq: wut?
23:56:35 <Gregor> At present, binaries are available for FreeBSD. Source code should be available at a future date. D'AWW BOO
23:56:42 <elliott> pikhq: xv6 is V6 unix reimpl. for modern hardware
23:57:04 <pikhq> elliott: They no longer use SICP for the intro CS course; I'd imagine the rest of it has been dumbed down similarly.
23:57:11 <elliott> pikhq: No, vx6 is a new thing.
23:57:13 <elliott> 2006.
23:57:15 <elliott> Russ Cox was involved.
23:57:28 <elliott> And no, all that was changed is 6.001 or whatever it's called :P
23:57:48 <elliott> Gregor: What I would like to see is a ring 0-only OS implementing my syscall inlining idea but it pretty much requires a HLL-based OS...
23:58:00 <elliott> BCPL Compiler
23:58:01 <elliott> This is a port to V7/x86 of an old BCPL compiler from Martin Richards and the Tripos Research Group at Cambridge University. The port includes both an interpreter and an x86 native code generator. The original software dates from around 1979.
23:58:01 <elliott> ACK
23:58:01 <elliott> The Amsterdam Compiler Kit (ACK) was originally developed at the Vrije Universiteit, Amsterdam, and had its heyday during the 1980s. Several years ago, it was released under a Berkeley-style license. This port adds support for Solaris x86 and for V7/x86.
23:58:34 <pikhq> elliott: SMP in an intro OS course? Fuck MIT is hardcore.
23:58:50 <elliott> pikhq: I TOLD YOU
23:58:55 <elliott> I'm not sure it is though.
23:59:11 <elliott> <elliott> Gregor: What I would like to see is a ring 0-only OS implementing my syscall inlining idea but it pretty much requires a HLL-based OS...
23:59:15 <elliott> anyone have any idea how to do this
23:59:18 <elliott> without writing a new compiler?
23:59:18 <elliott> :p
23:59:32 <elliott> Or, well, without writing a *complicated* new compiler.
23:59:44 <elliott> (for safety, that is; you can easily do this if you let processes do whatever they want)
2010-12-08
00:00:20 <elliott> Specifically you just need a language that doesn't let the process access anything you can't be sure it allocated :P
00:02:25 <elliott> pikhq? Gregor? Nobody? C'mon, you guys are smart! Invent!
00:03:00 <pikhq> elliott: Here, let me wave my magic wand.
00:03:02 * pikhq waves
00:03:15 <pikhq> Voila, Gregor is now devoted to making it happen.
00:03:22 <elliott> yay!
00:03:45 <pikhq> (I can make no guarantees about which universe possesses said Gregor. But somewhere out there, a Gregor is making it happen.)
00:04:03 <elliott> Gregor: Gogogo
00:09:07 <elliott> Gregor: GO
00:09:19 <Gregor> STOP
00:09:56 <elliott> Gregor: HOW WOULD ONE CREATE SUCH A LANGUAGE SIMPLY
00:10:32 <Gregor> I don't understand how your request was language-related :P
00:10:34 <Gregor> Or compiler-related
00:11:03 -!- Mathnerd314 has quit (Ping timeout: 276 seconds).
00:11:52 <elliott> Gregor: OK. I would like to see an OS that has "system call inlining" -- that is, every program runs in ring 0 (so "kernel space" in a way), and when it calls a system call, the compiler has the ability to take the source of the system call from the kernel and inline it into the program, hardware access and all, because there is no CPU-provided protection.
00:12:02 <elliott> Gregor: This can be done safely by using a memory-safe language -- Python, Haskell, whatever.
00:12:16 <elliott> Gregor: My question is: How can one write a simple compiler for such a language that would be suitable in this case?
00:12:32 <elliott> (i.e., it doesn't allocate oodles of memory itself, implementing it is a job for two or three weekends, etc.)
00:12:53 <Gregor> Mmmmmmmmmmmmmmmmmmmmmmmmmmmmm
00:13:20 <elliott> Gregor: Turn that mmmm into IDEAS!
00:13:30 <Gregor> Do you want that to be done statically or dynamically? If it's static, it would be difficult (at best) to verify the correctness of a binary before loading it. If dynamically, loading is slow in the best case, and inlining is less useful.
00:13:56 <elliott> Gregor: You do realise that compilers like, say, GHC manage this perfectly well? :P
00:14:12 <elliott> The question is basically "what's the simplest memory-safe language you can compile easily and semi-efficiently?".
00:14:29 <Gregor> elliott: The loader can't verify the correctness of a compiled GHC binary.
00:14:36 <elliott> Gregor: It doesn't have to.
00:14:48 <elliott> Gregor: Assume, for the sake of discussion, that the government shoots anyone who uses another compiler on sight.
00:14:56 <elliott> So the asm code can be as dirty and perverted as it wants.
00:15:05 <Gregor> As well as a hex editor I suppose :P
00:15:11 <elliott> Gregor: Indeed.
00:15:15 <Gregor> elliott: Well, it's a much simpler problem in that case.
00:15:23 <elliott> Indeed! But still not EASY. :p
00:15:28 <Gregor> No :P
00:15:34 <Gregor> I'm still not doin' it ;P
00:15:43 <elliott> Gregor: You just have to tell me HOW, y'see :P
00:15:49 <elliott> Gregor: (In actual fact, the OS just doesn't let you run raw machine code, everything goes through the compiler. But let's go with the shot on sight thing.)
00:18:11 <Gregor> Doesn't seem that complicated, you just need any ol' compiler, with some notion of code provenance to allow some code to use special instructions or just raw ASM, and the ability to be integrated into your "kernel"
00:18:29 <Gregor> Err: It's an enormous TASK, but it's not COMPLICATED, just tedius :P
00:18:36 -!- Mathnerd314 has joined.
00:19:55 <elliott> Gregor: "tedius"
00:20:36 <Gregor> I don't like using "ou" because it makes me feel British, but "tedios" doesn't read right.
00:22:56 <elliott> Gregor: Being British isn't all that bad once you get past the sodomy.
00:24:05 <oerjan> Gregor: i find that a very dubius policy
00:25:25 -!- augur has quit (Remote host closed the connection).
00:28:19 -!- goneriku_ has joined.
00:29:40 -!- goneriku has quit (Ping timeout: 240 seconds).
00:29:43 -!- goneriku_ has changed nick to goneriku.
00:30:02 <elliott> TODO: X11! Gunfights! Duel at dawn! Write a goddamn OS! YEAAAAAAAAAAAARGH
00:30:04 -!- elliott has quit (Quit: Leaving).
00:30:19 <pikhq> “The Defense Department forced all "war on terror" detainees at the Guantanamo Bay prison to take a high dosage of a controversial antimalarial drug, mefloquine, an act that an Army public health physician called "pharmacologic waterboarding."”
00:33:55 <Gregor> v7x86's lack of booting under qemu makes me highly unhappy :P
00:54:20 -!- Sgeo has joined.
00:58:52 -!- FireFly has quit (Quit: swatted to death).
01:03:34 -!- sftp has quit (Remote host closed the connection).
01:05:12 <Gregor> It is quite astounding how huge kdrive is :P
01:05:41 <Gregor> With every --disable option available specified, it's 1.4MB and has numerous library dependencies.
01:07:44 <Gregor> (624K UPX'd)
01:13:14 -!- whoami has joined.
01:14:17 <Gregor> `whoami
01:14:18 <HackEgo> No output.
01:14:23 <Gregor> `run whoami 2>&1
01:14:24 <HackEgo> /usr/bin/whoami: cannot find name for user ID 2029988
01:14:32 <Gregor> Yes, it is truly a mystery ..
01:14:45 <whoami> on cmd.exe? :p
01:14:55 <Gregor> ...
01:14:59 <Gregor> Leave.
01:15:03 <Gregor> Windows references are not tolerated.
01:15:18 * oerjan swats Gregor -----###
01:15:21 <Gregor> :P
01:17:02 -!- Sasha2_ has quit (Read error: Connection reset by peer).
01:17:08 -!- Sasha has joined.
01:28:40 -!- Sasha has quit (Read error: Connection reset by peer).
01:28:51 -!- Sasha has joined.
01:35:23 -!- Sasha has quit (Ping timeout: 255 seconds).
01:36:09 -!- Sasha has joined.
01:39:34 -!- quintopia has quit (Remote host closed the connection).
01:40:04 -!- quintopia has joined.
01:40:31 -!- quintopia has changed nick to Guest95596.
01:45:04 -!- Guest95596 has changed nick to quintopia.
01:48:34 -!- whoami has left (?).
01:54:54 <pikhq> Gregor: Sure, dynamically linked.
01:56:00 <Gregor> pikhq: That's my point! It's friggin' enormous and we're only seeing half the size :P
01:57:05 <Gregor> Made me think about JSMIPS again for some reason ...
01:58:08 -!- augur has joined.
02:03:32 <goneriku> augur
02:03:34 -!- augur has quit (Remote host closed the connection).
02:03:37 <goneriku> >:
02:03:41 <goneriku> how rude!
02:04:09 -!- augur has joined.
02:04:23 <goneriku> hey augur
02:04:25 <goneriku> you're a zbber right
02:08:56 -!- augur has quit (Ping timeout: 264 seconds).
02:12:49 -!- nooga has quit (Ping timeout: 255 seconds).
02:13:17 -!- nooga has joined.
02:18:37 -!- Mathnerd314 has quit (Ping timeout: 245 seconds).
02:24:11 -!- Wamanuz has quit (Remote host closed the connection).
02:25:42 -!- Mathnerd314 has joined.
02:31:13 -!- oerjan has quit (Quit: Good night).
02:37:36 <quintopia> `translate the entire topic please
02:38:09 <HackEgo> the entire topic please
02:42:41 <quintopia> wow
02:42:57 <quintopia> was that lag on HackEgo's end?
02:43:06 <quintopia> took like 30 seconds...
03:04:46 <Gregor> HackEgo tends to be slow the first time it's used after a while.
03:04:53 <Gregor> `translateto sv Should be faster now.
03:04:55 <HackEgo> Bör vara snabbare nu.
03:05:37 <Gregor> `translate 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。
03:05:38 <HackEgo> The channel is currently being Red China&#39;s control. Please continue to esoteric activities without interference.
03:05:46 <Gregor> `translate 光榮的中華民國應收回這個主題的一些日子!
03:05:47 <HackEgo> Glorious Republic of China should recover some of this theme day!
03:06:03 <Gregor> `translate חנוכה שמח, הגויים!
03:06:04 <HackEgo> Happy Hanukkah, the Gentiles!
03:06:13 <Gregor> `translate sed อยู่เสมอดีกว่า Perl!
03:06:14 <HackEgo> sed is always better than Perl!
03:09:42 -!- frontier has joined.
03:13:02 -!- augur has joined.
03:14:09 <Gregor> # ls --version
03:14:10 <Gregor> ls (GNU coreutils) 8.7
03:14:11 <Gregor> On JSMIPS
03:14:46 <augur> goneriku: hi
03:14:54 <goneriku> hey
03:15:10 <augur> hello?
03:15:12 <goneriku> I knew your nick was familiar
03:15:18 <augur> ok?
03:15:21 <goneriku> Zbber?
03:15:24 <augur> yes
03:15:32 <goneriku> ah so
03:15:34 <augur> who are you in isharia
03:15:40 <goneriku> I don't go to ish
03:15:46 <goneriku> only #erelae
03:15:47 <goneriku> I am gonorrhea there
03:15:48 <augur> who are you on the forum?
03:15:51 <goneriku> <-
03:15:53 <augur> horrible
03:16:08 <goneriku> Gonorrhea comes from goneriku though
03:23:23 -!- augur has quit (Remote host closed the connection).
04:12:24 -!- zzo38 has joined.
04:13:07 <zzo38> Here is a new idea please tell me how many things wrong with this: http://esoteric.voxelperfect.net/wiki/TNTNT
04:20:36 -!- Zuu has quit (Read error: Connection reset by peer).
04:21:44 <zzo38> I am sure there is something wrong with TNTNT....
04:22:16 <Sgeo> Anyone reading Machine of Death: ALMOND is hilarious
04:22:35 <zzo38> Please note I am not using my own computer today, but I am using my own IRC client PHIRC, because I installed it in my account on this computer.
04:23:26 <zzo38> Sgeo: What are you reading?
04:23:34 <Sgeo> Machine of Death
04:24:32 <zzo38> What is that?
04:25:44 <Sgeo> Collection of short stories about a machine that tells people how they're going to die
04:26:06 <Sgeo> Very ambiguous though. "OLD AGE" could mean dying old or being shot by an elderly person, for example
04:27:15 -!- Zuu has joined.
04:27:32 <zzo38> OK. I suppose it is supposed to be ambiguous!
04:27:36 <zzo38> It has to be!
04:28:37 <zzo38> Today I made a big spider, it is one metre long.
04:28:48 <Sgeo> "Oh, I almost forgot the best card: DISK
04:28:49 <Sgeo> ERROR. I had to run that one three times before I was convinced
04:28:49 <Sgeo> that the guy would die from DISK ERROR and there really was
04:28:49 <Sgeo> nothing wrong with the machine. "
04:30:11 <zzo38> Sgeo: OK. So that is another thing. I do suppose it might be possible sometimes, for someone to die from DISK ERROR.
04:31:57 <zzo38> Please tell me how many things are wrong with [[TNTNT]]
04:42:28 <Sgeo> http://machineofdeath.net/pod-almond
04:49:17 -!- Zuu has quit (Read error: Connection reset by peer).
04:55:46 -!- Zuu has joined.
04:58:24 -!- frontier has quit (Remote host closed the connection).
05:10:27 -!- augur has joined.
05:16:37 -!- wth has joined.
05:19:02 -!- wth has left (?).
05:21:06 -!- Zuu_ has joined.
05:24:52 -!- Zuu has quit (Ping timeout: 245 seconds).
05:48:55 -!- zzo38 has quit (Remote host closed the connection).
06:12:46 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
06:27:46 -!- nooga has quit (Ping timeout: 240 seconds).
07:14:04 -!- FireFly has joined.
07:15:26 -!- zzo38 has joined.
07:39:39 -!- MigoMipo has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:37 -!- MigoMipo has quit (Read error: Connection reset by peer).
08:29:32 -!- zzo38 has quit (Remote host closed the connection).
08:54:01 -!- goneriku has quit (Ping timeout: 245 seconds).
08:57:17 -!- FireFly has quit (Quit: swatted to death).
09:19:19 -!- Wamanuz has joined.
11:08:58 -!- nooga has joined.
11:23:33 -!- oerjan has joined.
11:46:10 -!- wareya_ has joined.
11:49:09 -!- wareya has quit (Ping timeout: 240 seconds).
11:51:00 -!- nopseudoidea has joined.
11:55:17 -!- nooga has quit (Ping timeout: 245 seconds).
11:56:52 -!- nopseudoidea has quit (Quit: Quitte).
12:11:43 -!- hagb4rd has joined.
12:12:45 <hagb4rd> hi
12:12:52 <oerjan> hi
12:13:06 <hagb4rd> nice topic
12:14:03 -!- wareya_ has changed nick to wareya.
12:18:55 -!- cheater99 has quit (Quit: Leaving).
12:23:27 -!- cheater99 has joined.
12:46:46 -!- Sgeo has quit (Read error: Connection reset by peer).
12:47:33 <wareya> wat @ topic
13:23:10 -!- nooga has joined.
13:33:38 -!- sftp has joined.
13:45:41 -!- nopseudoidea has joined.
13:54:00 -!- nopseudoidea has quit (Quit: Quitte).
14:19:45 -!- hagb4rd has quit (Quit: hagb4rd).
14:32:31 -!- MigoMipo has joined.
14:34:36 -!- FireFly has joined.
15:19:21 -!- kar8nga has joined.
15:28:15 -!- kar8nga has quit (Remote host closed the connection).
15:30:14 -!- kar8nga has joined.
15:45:19 -!- alpha has joined.
15:46:43 -!- alpha has quit (Client Quit).
15:51:00 -!- elliott has joined.
15:52:14 <elliott> 17:05:12 <Gregor> It is quite astounding how huge kdrive is :P
15:52:14 <elliott> 17:05:41 <Gregor> With every --disable option available specified, it's 1.4MB and has numerous library dependencies.
15:52:14 <elliott> 17:07:44 <Gregor> (624K UPX'd)
15:52:19 <elliott> Gregor: Link it with dietlibc.
15:52:27 <elliott> CC="diet -Os gcc" CFLAGS=""
15:52:51 <elliott> Gregor: (That'll auto-staticify.)
15:56:25 -!- geekthras has joined.
15:59:05 <Gregor> elliott: Doesn't compile :P
15:59:05 <elliott> fucking internet echo chamber
15:59:08 -!- Phantom_Hoover has joined.
16:05:11 <elliott> Gregor: How so?
16:05:14 <elliott> Gregor: Tried uClibc?
16:06:10 <elliott> Gregor: I would try, but I want a way not involving 70000000 tarballs. At least not unless you give me links :P
16:06:31 <elliott> 624K isn't bad, I have about 700 to 800K LZMA-compressed space to spend on X11.
16:16:50 -!- augur has quit (Remote host closed the connection).
16:17:26 -!- augur has joined.
16:17:34 <Gregor> <elliott> Meh meh meh I want X11 but I'm unwilling to put any effort at all into it waaaaaaah
16:18:05 <elliott> Gregor: Spending effort on Flinix is undoubtedly wasted time, and you've wasted most of it anyway :P
16:18:10 <elliott> *wasted most of it for me
16:18:29 <Gregor> You need to get back to Kitten :P
16:18:57 <elliott> Gregor: Sure; get me a coreutils!
16:19:21 <elliott> Gregor: Or just rebuild KDrive for me :P
16:20:24 <Gregor> But OH NOSE
16:20:29 <Gregor> KDrive is under the X11 license!
16:20:42 <Gregor> And since that's not EXACTLY EQUAL TO GPL, compiling it with dietlibc is EVIL
16:21:32 -!- augur has quit (Ping timeout: 245 seconds).
16:21:37 <elliott> <Gregor> elliott: Doesn't compile :P
16:21:43 <elliott> Gregor: I THOUGHT YOU'D ALREADY TRIED HMMMM
16:22:15 <Gregor> What can I say, I'm evil *shrugs*
16:22:58 <elliott> Gregor: OK, I'll never bother you ever again* if you link me to all the KDrive dependencies :P
16:23:00 <elliott> *for at least five minutes
16:25:36 <Phantom_Hoover> ineiros, you there?
16:28:47 -!- augur has joined.
16:29:18 -!- augur has quit (Remote host closed the connection).
16:29:50 -!- nooga has quit (Ping timeout: 260 seconds).
16:36:01 <Vorpal> Phantom_Hoover, down?
16:36:23 <Phantom_Hoover> It's fine for me.
16:36:33 <Vorpal> up again
16:36:34 -!- nooga has joined.
16:37:01 <ineiros> Phantom_Hoover: Here now.
16:37:27 -!- MigoMipo has quit (Read error: Connection reset by peer).
16:38:52 <Phantom_Hoover> ineiros, would you consider the MoveCraft mod for hmod?
16:39:03 <Phantom_Hoover> s/mod/plugin/
16:39:03 <elliott> ineiros: Did you disable health w/ hMod?
16:39:06 <ineiros> What does it do?
16:39:26 <Phantom_Hoover> ineiros, allows you to move ships clunkily.
16:39:43 <Phantom_Hoover> Actually, I'll test it locally first, then report on the results.
16:40:35 <elliott> ineiros: y/n/q?
16:40:46 <elliott> (Q stands for Quooley, the third boolean.)
16:40:54 <elliott> (Tell your friends.)
16:42:25 <ineiros> elliott: I think so. At least I didn't get any damage from lava.
16:42:30 <ineiros> Your mileage may vary.
16:42:36 <elliott> W00t.
16:42:41 <ineiros> Phantom_Hoover: Maybe.
16:42:42 <elliott> (I haven't said w00t since, like, 2004.)
16:42:44 <elliott> Time to log in.
16:42:52 <elliott> ineiros: Are there any warp points yet? :p
16:43:34 <elliott> "Vote for net neutrality!" --yellow; this game is so totally neutral.
17:03:37 -!- geekthras has quit (Ping timeout: 245 seconds).
17:13:06 <Vorpal> elliott, down?
17:13:38 <elliott> Maybe so.
17:13:42 <elliott> Vorpal: I swam down the waterslide.
17:13:49 <Vorpal> elliott, which waterslide?
17:13:55 <Vorpal> elliott, near the subtree?
17:13:55 <elliott> Vorpal: The one where the stairs are.
17:14:09 <Vorpal> elliott, the one that the cobble path goes around?
17:14:13 <Vorpal> near the subtree?
17:14:16 <elliott> Vorpal: No.
17:14:25 <elliott> Vorpal: It's hidden in the beach's pool.
17:14:30 <elliott> (The entrance.)
17:14:46 <Vorpal> mhm
17:14:54 <Vorpal> elliott, you mean that hole in the pool?
17:14:55 <Vorpal> right
17:15:07 <elliott> Yes.
17:15:23 <elliott> I thought it was from the Flooding of the Way Up when I dug the underground part of the second staircase, but it doesn't seem to lead there.
17:15:24 -!- geekthras has joined.
17:15:41 <Vorpal> elliott, quite a small place iirc
17:21:32 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
17:23:10 -!- goneriku has joined.
17:32:12 <elliott> Vorpal: back up btw
17:34:18 -!- Phantom_Hoover has joined.
17:35:09 -!- augur has joined.
17:37:00 <elliott> I should steal Tim Berners-Lee's heart and eat it and absorb his powers.
17:43:02 -!- sebbu2 has joined.
17:45:25 -!- sebbu has quit (Ping timeout: 265 seconds).
17:50:54 -!- nopseudoidea has joined.
17:57:44 -!- Zuu_ has changed nick to Zuu.
17:57:56 <quintopia> i should steal mark zuckerberg's heart and eat it to absorb *his* powers. the ability to make gobs of money seems imminently more practical.
17:58:19 <oerjan> "The affair that we have somehow managed to avoid calling 'Arsenicgate' ..." ...right
17:58:35 <oerjan> (http://www.guardian.co.uk/science/the-lay-scientist/2010/dec/08/2)
17:58:53 <elliott> Vorpal: dwon?
17:59:57 -!- nopseudoidea has quit (Quit: Quitte).
18:04:26 -!- nooga has quit (Ping timeout: 240 seconds).
18:06:03 <elliott> Phantom_Hoover: Hey, which blocks do I break in the ROU's cobble factory?
18:17:09 <elliott> "Just spoken to a London-based spokesman for Anonymous. He wished to remain, er, anonymous." --The Guardian
18:26:59 -!- geekthras has quit (Ping timeout: 265 seconds).
18:27:27 <Slereah> heh
18:28:43 <elliott> Slereah: I like how there's spokesmen now.
18:28:47 <elliott> Like... everyone?
18:29:54 <elliott> [[A 22-year-old spokesman, who wished to be known only as "Coldblood", told the Guardian that the group – which is about a thousand strong – is "quite a loose band of people who share the same kind of ideals" and wish to be a force for "chaotic good"."]]
18:30:04 <elliott> Slereah: A THOUSAND
18:30:26 <Slereah> NEEEERD
18:31:40 <elliott> "The spokesman said Anonymous plans to "move away" from DDoS attacks and instead focus on "methods to support" WikiLeaks, such as mirroring the site. "There's no doubt in [Anonymous members'] mind that they are breaking [the] law," he said of the latest attacks. "But they feel that there's safety in numbers.""
18:36:51 <Vorpal> <elliott> Vorpal: dwon? <-- no clue, just got back from eating
18:37:03 <elliott> it's up
18:38:55 <Vorpal> elliott, did you break the ROU factory?
18:39:02 <elliott> Haven't even tried it.
18:39:12 <Vorpal> ah, can show you in a bit which blocks
18:39:16 <elliott> I need two bukkits, lava, and water right now :P
18:39:26 <elliott> I have 40 cobbles.
18:39:29 <Vorpal> elliott, fizzie is on and I told him what happened :P
18:40:29 <Vorpal> elliott, also why not do like the rest of us: make buckets.
18:41:21 <elliott> Vorpal: i am. i'm trying to find iron.
18:41:23 <elliott> it is not easy.
18:41:23 -!- nooga has joined.
19:04:02 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:10:55 -!- nooga has quit (Ping timeout: 260 seconds).
19:12:13 -!- nooga has joined.
19:12:57 <elliott> Vorpal: down?
19:13:13 <Vorpal> elliott, gah think so
19:14:14 <Vorpal> up
19:18:26 -!- cheater99 has joined.
19:21:21 -!- sebbu2 has changed nick to sebbu.
19:27:47 -!- tswett has joined.
19:28:16 <tswett> !bf +[.+]
19:28:26 <EgoBot> <CTCP>
19:28:36 * tswett nods solemnly.
19:33:16 <fizzie> Hey, where's fungot?
19:33:38 <fizzie> (It filters that sort of stuff.)
19:33:41 <fizzie> (I think.)
19:33:55 -!- fungot has joined.
19:34:13 <fizzie> ^bf +[.+]
19:34:13 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ...
19:34:21 <Deewiant> (You thought wrong.)
19:34:27 <fizzie> Apparently so.
19:34:42 <fizzie> I thought it was <32, but maybe it was just cr/lf.
19:36:37 <fizzie> ^bf +++++++++[>+++++++++>++++++++<<-]+.>-.>+.<--.>--.<<.
19:36:54 <fizzie> Too bad all the replies are NOTICEs.
19:37:27 <fizzie> If they were PRIVMSGs, I could have put fungot's name in the echoable bit, and then it'd have babbled as a response to everyone.
19:37:27 <fungot> fizzie: not it floors on odds too, it has lambdas! sort of :)
19:38:05 <tswett> !bf-txtgen fungot
19:38:06 <fungot> tswett: the future of oop: an abstract framework of abstract metaclasses. :p
19:38:18 <EgoBot> 73 +++++++++++++[>++++++++>+++++++++>+><<<<-]>--.>.-------.<+.>+.+++++.>---. [365]
19:38:18 <tswett> fungot's words sound correct.
19:38:18 <fungot> tswett: yes, but lisp. and it doesn't happen."
19:38:47 <tswett> !bf +++++++++++++[>++++++++>+++++++++>+<<<-]>--.>.-------.<+.>+.+++++.>---.
19:38:47 <EgoBot> fungot
19:39:08 <tswett> fungot: I think you're forgetting something.
19:39:09 <fungot> tswett: ( because file systems are first-class objects, which would go and track me down and deal me physical harm are hopefully rare here
19:39:13 <fizzie> ++++++++++[>++++++++>+++++++>+++>++++++++++<<<<-]+.>.>+++.<--.>--.>++.>++.+++++++++++++++.-------.-------.++++++++.+++++.<<<<. generates a CTCP "PING fungot" request, but it doesn't do anything special.
19:39:13 <fungot> fizzie: might be fake nevertheless, he eventually obtained them, and the
19:39:18 <tswett> fungot
19:39:18 <fungot> tswett: fnord pasted " eval in a " fnord
19:39:39 <fizzie> It has all these different styles, in case you haven't seen 'em.
19:39:40 <fizzie> ^style
19:39:40 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
19:40:01 -!- kar8nga has quit (Remote host closed the connection).
19:40:06 <tswett> ^style youtube
19:40:06 <fungot> Selected style: youtube (Some YouTube comments)
19:40:14 <tswett> fungot: how stupid do you sound now?
19:40:14 <fungot> tswett: i dont remember seeing any angels in tha game lol, and stop whineing... enjoy the video that literally everybody who sings high notes holy christ!!
19:40:28 <fizzie> That has a relatively small training corpus.
19:40:32 <tswett> fungot: yup, you sound pretty stupid.
19:40:32 <fungot> tswett: according to the fly-by-wire systems... :(
19:40:40 <tswett> fungot: how long until you start repeating stuff?
19:40:40 <fungot> tswett: final statement on this game in terms of scope there will be considered of the evening and a longer runway.
19:40:50 <tswett> fungot: are you talking about airplanes?
19:40:56 <oerjan> fungot: hopefully rare indeed
19:40:56 <fungot> oerjan: these were obtained, so you have quite a few facts about the hot-ness. but this is so much and i have ever seen!.....i myself am a hillary supporter,i'm not happy with the runway.
19:41:11 <fizzie> I think one of the videos included was some news clip about a plane crash.
19:41:16 <tswett> fungot: what's wrong with the runway?
19:41:16 <fungot> tswett: idk that just to say good job
19:41:33 <fizzie> "fisher" sounds pretty stupid occasionally too.
19:41:36 <tswett> fungot: ah, yes, you're right; it would be ridiculous to expect everyone to know that.
19:41:36 <fungot> tswett: pretty good. the plane
19:41:50 <tswett> fungot: to be quite honest, though, I've seen better planes.
19:41:50 <fungot> tswett: every time you're caught out, there wasn't anyone on the plane
19:42:01 <fizzie> He's very interested about planes.
19:42:17 <tswett> fungot: yeah, I've noticed that, too. Where do you figure they all went?
19:42:17 <fungot> tswett: you ridiculed yourself here. who taught you that? then maybe u kno- it is
19:42:23 <fizzie> You're going to hit the "amount of successive replies to any one person" limit soon, though.
19:42:30 * tswett nods.
19:44:30 <fizzie> ^style fisher
19:44:30 <fungot> Selected style: fisher (Fisher corpus of transcribed telephone conversations)
19:44:42 <fizzie> fungot: How's it going? Isn't that what people say on the 'phone?
19:44:42 <fungot> fizzie: very good actually it was something you know that that at least laughter
19:45:01 <fizzie> fungot: I think you're not supposed to say "laughter" out loud.
19:45:02 <fungot> fizzie: ( ( noise)) affirmative action i don't know i
19:47:02 <tswett> fungot: I liked that noise; can you make some more of the same?
19:47:03 <fungot> tswett: hi where are you calling from
19:47:14 <tswett> fungot: I'm calling from Allendale, MI. You?
19:47:14 <fungot> tswett: by being too informed
19:47:40 <tswett> fungot: oh, sorry. I didn't mean to give you too much information.
19:47:40 <fungot> tswett: is it is
19:47:50 <tswett> fungot: yes!
19:47:50 <fungot> tswett: ( ( okay noise)) that have special human interest aspects that that appeal to me
19:48:43 <tswett> fungot: I disagree; sometimes the best music is just really good noise. But yeah, actual music does have some pretty appealing special human interest aspects.
20:04:15 <Vorpal> ehird: down?
20:05:07 <elliott> Vorpal: seemingly.
20:05:30 <elliott> Vorpal: I am fairly sure that my model works wherever you have a pool below, and is something like 3x3x2.
20:23:50 -!- FireFly has quit (Quit: swatted to death).
20:25:23 <elliott> Vorpal: down?
20:25:47 -!- nooga has quit (Read error: Operation timed out).
20:25:55 -!- FireFly has joined.
20:30:39 <tswett> elliott: seemingly.
20:30:57 <elliott> tswett: seemingly.
20:31:54 <oerjan> mingle yes
20:32:27 <tswett> oerjan: seemingly.
20:32:44 -!- nooga has joined.
20:32:52 <Phantom_Hoover> Hi, everybody!
20:34:17 <quintopia> i don't know anyone by that name
20:35:59 <Phantom_Hoover> ineiros, more annoying questions!
20:36:06 <Phantom_Hoover> Can you turn the Nether on?
20:36:44 <quintopia> would anyone with an e2 account like to proofread my essay about how Facebook does not destroy real relationships?
20:37:19 <elliott> Phantom_Hoover: You can make the world nether-only.
20:37:24 <elliott> quintopia: Yes it does.
20:37:41 <elliott> quintopia: (And lawl @ using e2, not being Sam Hughes, and it being 2010 all in conjunction with each other.)
20:37:45 <quintopia> elliott: so you want to critique my essay then? :P
20:37:56 <elliott> I know of... two peo
20:37:58 <Phantom_Hoover> elliott, but you can't make it accessible from the normal world?
20:38:00 <elliott> ple in here that use Facebook.
20:38:03 <elliott> Phantom_Hoover: Nope.
20:38:13 <quintopia> elliott: the essay i am rebutting is on e2 (written in 2008) so i created an account just to post it
20:38:24 <Phantom_Hoover> elliott, curses!
20:38:42 <tswett> elliott: if I am not one of them, then make that three.
20:39:00 <elliott> tswett: Okay, three.
20:39:12 <elliott> quintopia: You'll get mauled.
20:39:28 <quintopia> elliott: i welcome it
20:43:17 -!- Wamanuz has quit (Ping timeout: 240 seconds).
20:44:27 -!- goneriku_ has joined.
20:45:14 -!- Wamanuz has joined.
20:45:42 -!- goneriku has quit (Ping timeout: 245 seconds).
20:45:53 -!- goneriku_ has changed nick to goneriku.
20:50:14 <elliott> `addquote <ehird> Vorpal's pregnant. <Vorpal> yes
20:50:40 <elliott> `addquote <Vorpal> (had real world issues) <Vorpal> (to deal with) <ehird> Vorpal's pregnant. <Vorpal> yes
20:50:42 <elliott> HackEgoooo.
20:51:26 <HackEgo> 239) <ehird> Vorpal's pregnant. <Vorpal> yes
20:51:27 <HackEgo> 239) <Vorpal> (had real world issues) <Vorpal> (to deal with) <ehird> Vorpal's pregnant. <Vorpal> yes
20:51:35 <elliott> `quote 239
20:51:36 <HackEgo> 239) <Vorpal> (had real world issues) <Vorpal> (to deal with) <ehird> Vorpal's pregnant. <Vorpal> yes
20:51:38 <elliott> yay
20:52:19 <olsner> Vorpal: congrats!
20:52:41 <fizzie> Sounds like Minecraft!
20:55:49 <Vorpal> fizzie, it was a timing issues
20:55:56 <Vorpal> fizzie, I was answering a different question
20:56:00 <Vorpal> elliott, it seems down
20:56:09 <Vorpal> elliott, you will get bucket back as soon as I get on
20:56:22 <fizzie> Just as I joinened it goes down. Coincidence? I think not.
20:56:24 <Vorpal> up
20:56:30 <Vorpal> fizzie, yes I blame your viewing distance
20:56:41 <fizzie> My viewing distance, which is called "normal".
20:57:05 <quintopia> elliott: how does that work? does it detect if the latest quote is contained in the quote being added and replace it?
20:57:19 <elliott> quintopia: No, it's just a clash with the VCS.
20:57:20 <elliott> I got lucky.
20:57:42 <quintopia> hmmm
20:57:49 <olsner> ik heb haar in je ogen :/
20:57:53 <elliott> quintopia: It did both separately and tried to merge the commits.
20:59:06 <quintopia> oh
21:00:00 <quintopia> seems like it might be a good feature to have though: if two very similar quotes are added close enough together, the less complete one vanishes
21:01:57 * Phantom_Hoover cannot get his own MC server running for some reason
21:02:09 <Phantom_Hoover> [[ 21:00:09 /127.0.0.1 connected
21:02:09 <Phantom_Hoover> 21:00:14 Kicking /127.0.0.1: You need to log in!
21:02:09 <Phantom_Hoover> 21:00:14 /127.0.0.1 disconnected]]
21:02:24 <Phantom_Hoover> (Client crashes.)
21:02:43 <nooga> elliott: fllinix status?
21:05:34 <Phantom_Hoover> Anyone know what I'm doing wrong?
21:05:40 <Phantom_Hoover> elliott, you managed to get it working.
21:06:48 <quintopia> What is MC?
21:06:56 <Phantom_Hoover> quintopia, Minecraft.
21:07:03 <quintopia> ah
21:07:46 <Phantom_Hoover> elliott, was there anything you needed to mess with?
21:08:41 -!- Sasha2 has joined.
21:09:37 <elliott> Phantom_Hoover: I have no idea what you did wrong.
21:09:40 <elliott> Although... log in... hmm.
21:09:41 <elliott> I forget. :/
21:10:01 <elliott> nooga: Flinix will go ahead as soon as I get KDrive small enough. You can help the effort by pestering Gregor to link me to all the dependency tarballs.
21:10:28 -!- Sasha has quit (Read error: Connection reset by peer).
21:10:30 <Gregor> nooga: Or, by convincing elliott that it's not magic, and the configure script will be quite happy to tell him of missing dependencies anyway.
21:11:02 <elliott> Gregor: I'm lazy as FUCK.
21:11:46 <Gregor> elliott: If "FUCK" is an extreme form of "lazy" to you ... nah, I don't want to finish this sentence.
21:13:16 <nooga> well
21:13:42 <nooga> coudn't you just compress the whole thing and then decompress to ramdisk at boot ?
21:13:52 <nooga> i mean the whole thing
21:13:58 <nooga> that way you could cheat
21:15:56 <elliott> nooga: duh, of course that's what i do
21:16:00 <elliott> embedded initramfs LZMA-compressed
21:18:21 <elliott> nooga: still small
21:19:54 <tswett> Perhaps elliott gets all his sexual pleasure by lying on the couch and having erotic dreams.
21:20:24 <elliott> Gregor: tswett presents a valid argument that, due to forgetting the context, I was utterly baffled by upon my first reading of.
21:21:21 * tswett gets a text: "Elliott and I will arrive on campus about 6:30. Don't hurry away from the meeting, tho. We can wait while you talk with the stats people."
21:21:31 <elliott> tswett: IT'S ALL TRUE
21:21:48 <tswett> elliott: just to bring you up to speed, you are now my baby nephew.
21:23:04 <olsner> wtf, elliott is a nephew and his uncle is here?
21:23:42 <nooga> what
21:23:46 <tswett> Heck yes I'm elliott's uncle.
21:24:12 -!- goneriku_ has joined.
21:24:44 <pikhq> What the whatting what?
21:25:01 <olsner> what-what in the what now?
21:25:33 -!- goneriku has quit (Ping timeout: 240 seconds).
21:25:37 -!- goneriku_ has changed nick to goneriku.
21:26:26 <tswett> His mom is my sister.
21:26:53 <nooga> you both like the letter t
21:27:06 <tswett> It's not my fault my name has lots of Ts in it.
21:27:30 <olsner> tswett: it's your fault you haven't chosen another one
21:27:43 <tswett> Yeah.
21:29:21 <elliott> `addquote <tswett> elliott: just to bring you up to speed, you are now my baby nephew. <olsner> wtf, elliott is a nephew and his uncle is here? <nooga> what <tswett> Heck yes I'm elliott's uncle.
21:29:29 <HackEgo> 240) <tswett> elliott: just to bring you up to speed, you are now my baby nephew. <olsner> wtf, elliott is a nephew and his uncle is here? <nooga> what <tswett> Heck yes I'm elliott's uncle.
21:32:54 <elliott> `quote
21:32:56 <HackEgo> 112) <songhead95> think of all the starving kids in china who don't have rotting sea life to eat
21:33:01 <elliott> `quote
21:33:02 <HackEgo> 165) <cheater99> you don't have an urethra, you're a girl.
21:33:08 <Gregor> ...
21:34:05 <tswett> `quote urethra
21:34:07 <HackEgo> 165) <cheater99> you don't have an urethra, you're a girl.
21:34:22 <tswett> There is a 100% likelihood that that is the only quote containing the word "urethra".
21:34:43 <tswett> A naive statistician would interpret this to mean that there is a 100% probability of the same.
21:35:21 <tswett> There is a 50% likelihood that there are two such quotes; 33% that there are three; 25% that there are four; and so on.
21:35:42 <tswett> Since the total likelihood is infinite, it is obvious that all numbers are not equally likely.
21:36:46 <elliott> Gregor: tswett: That was directed to me :P
21:36:59 <tswett> Who are you talking to?
21:37:03 <olsner> hmm, girls don't have urethra?
21:37:07 <elliott> <HackEgo> 165) <cheater99> you don't have an urethra, you're a girl.
21:37:07 <elliott> <Gregor> ...
21:37:07 <elliott> <tswett> `quote urethra
21:37:14 <tswett> Girls have urethras. Short ones.
21:37:26 <Gregor> X_X
21:37:33 * Gregor kills you all :P
21:37:38 <elliott> Gregor: I don't have a urethra, I'm a girl.
21:37:44 <tswett> They go straight from the bladder to the outside world, unlike boys' stupid loopy urethras.
21:38:23 <Gregor> They remove their bladders and squeeze them out like a washrag.
21:38:37 <olsner> detachable bladder! sweet
21:39:01 <fizzie> Blad, bladder, bladdest.
21:39:15 <Gregor> It's too bad that, all being male, we can't know the joy of detachable bladders.
21:39:26 <elliott> Let's get sex changes!
21:39:28 <elliott> ALL of us!
21:39:39 <tswett> Oh, my mistake. The male urethra isn't loopy; it's S-shaped.
21:40:02 <olsner> elliott: they probably don't make the bladder detachable as part of that
21:40:11 <elliott> olsner: But then why would anyone do it?
21:40:18 <olsner> dunno
21:40:42 <tswett> Though, one of the curves is located entirely within the penis, and the penis doesn't have a constant shape. If your penis is straight, your urethra is sort of U-shaped.
21:41:15 <tswett> Starting at the base of the penis, it goes down and back until it almost reaches the anus, and then it curves up and hits the bladder.
21:41:44 <tswett> You can actually block the flow of--wait, is this TMI?
21:42:56 <elliott> No.
21:42:59 <elliott> Absolutely not!
21:43:10 <tswett> Okay.
21:43:32 <tswett> You can actually block the flow of urine by pressing in a certain spot between your legs.
21:45:07 <nooga> heh
21:45:07 <olsner> istr that's kind of a dangerous maneouver
21:45:27 <nooga> how to log in to an existing X session using NX
21:45:45 <olsner> afaik NX just doesn't do it like that
21:46:21 <tswett> Pressing in that spot?
21:46:41 <tswett> I seem to remember someone hearing that it's a dangerous maneuver and responding that no, it's not a dangerous maneuver. :P
21:46:55 <tswett> I think someone said that there are nerves running through there, but pressing there won't cause any permanent damage.
21:47:08 <tswett> Besides, whatever those nerves serve can't be very important.
21:47:38 <Vorpal> elliott, Phantom_Hoover: down?
21:47:47 <Phantom_Hoover> 'twould appear so
21:48:02 <olsner> tswett: it's pretty close to all the junk used for reproduction, urination and defecation... I think those count as pretty important functions :D
21:48:04 <elliott> Vorpal: At least I got a bunch of impressive screenshots.
21:48:05 <Vorpal> Phantom_Hoover, also ehird is official an insensitive douchebag, do you agree?
21:48:08 <elliott> I think the burning killed the server. :p
21:48:12 <Vorpal> elliott, on the fucking huge tree before?
21:48:21 <Vorpal> officially*
21:48:33 <elliott> Vorpal: (1) I did not intend to burn every tree.
21:48:39 <elliott> (2) I did not think it would spread that far.
21:48:46 <elliott> (3) I am actually sorry.
21:48:47 <Phantom_Hoover> elliott, that's not really good enough.
21:48:48 <Vorpal> elliott, (1) in fact you did (2) in fact it did
21:48:59 <elliott> (1) That is not true at all.
21:49:01 <Vorpal> elliott, and you know how far it spread. I told you before
21:49:04 <elliott> (2) I had no idea, and couldn't stop it at that point.
21:49:09 <Phantom_Hoover> "I didn't think" isn't a good enough excuse.
21:49:15 <Vorpal> Phantom_Hoover, exactly
21:49:19 <tswett> Did elliott cause a Minecraft forest fire?
21:49:27 <elliott> tswett: Maybe.
21:49:29 <Vorpal> tswett, yes
21:49:47 <elliott> Phantom_Hoover: What am I meant to do, ritualistically swat myself?
21:49:59 <elliott> Phantom_Hoover: (Maybe you can sympathise with Vorpal now ...)
21:50:00 <Phantom_Hoover> elliott, THINK.
21:50:09 <elliott> At least I didn't intend to do anything!
21:50:20 <Vorpal> elliott, think and listen to what we tell you
21:50:23 <Vorpal> elliott, we said no
21:50:25 <Vorpal> you went ahead
21:50:31 <Vorpal> elliott, you only have yourself to blame
21:51:03 <olsner> so, you failed to make backups and that makes it elliott's fault that something broke?
21:51:32 <olsner> I thought it was common practice for people to wreck the whole world once in a while :)
21:51:42 <Phantom_Hoover> olsner, not on this server
21:52:07 <Phantom_Hoover> Well, backups are taken, but we're not going to use them for a couple of trees.
21:52:12 <nooga> brb
21:52:16 <elliott> More like... 10.
21:52:17 -!- nooga has quit (Quit: Lost terminal).
21:52:48 <cheater99> girls don't have urethras
21:52:51 <elliott> Phantom_Hoover: If it's any consolation, there are tons of eternal on-fire trees now and it looks sweet.
21:52:55 <cheater99> they don't pee or poo
21:52:59 <elliott> Lovely crackly noise too.
21:53:13 <Phantom_Hoover> So how huge was this tree?
21:53:22 <elliott> Phantom_Hoover: Um, it's just the tree with a bunch of logs near the mine.
21:53:24 <elliott> You've seen it.
21:53:57 <elliott> Phantom_Hoover: You can come and see the damage if you want...
21:54:44 -!- Mathnerd314 has joined.
21:55:19 <Vorpal> Phantom_Hoover, it was like 15 high
21:55:29 <Vorpal> Phantom_Hoover, had had several grown together trunks
21:55:32 <Vorpal> Phantom_Hoover, so huge
21:55:40 <Vorpal> Phantom_Hoover, and now it is gone :'(
21:55:51 <Vorpal> all due to that bastard ehir
21:55:53 <Vorpal> ehird*
21:56:14 -!- nooga has joined.
21:56:20 -!- nooga has quit (Client Quit).
21:56:58 <elliott> Vorpal: like Phantom_Hoover never destroys things.
21:57:14 <Phantom_Hoover> Not that badly...
21:57:22 <elliott> Phantom_Hoover: Vorpal might beg to differ.
21:57:24 <Phantom_Hoover> I mean, I broke a lightstone and replaced it.
22:02:50 <elliott> Phantom_Hoover: Oh well, I've gone back to spawn.
22:06:39 <Phantom_Hoover> Whoa, TNT is much more powerful than I thought.
22:07:46 <elliott> Phantom_Hoover: Oh?
22:07:52 <elliott> Gregor: Wait, I can just install the proto packages locally, right?
22:07:58 <Phantom_Hoover> (Toying with a local server.
22:09:28 <Phantom_Hoover> Now, time to use hmod and an ion cannon.
22:09:40 <elliott> Phantom_Hoover: Ion cannon?
22:10:06 <Phantom_Hoover> Really really big explody thing.
22:11:28 <elliott> Gregor: No?
22:11:31 <elliott> Phantom_Hoover: wut.
22:11:51 <Phantom_Hoover> elliott, fires a beam of pure explosion from the sky.
22:12:00 <elliott> Phantom_Hoover: In... Minecraft?
22:12:08 <Phantom_Hoover> With Hmod and a plugin.
22:12:24 <elliott> What plugin?
22:12:42 <fizzie> Phantom_Hoover: Shush, you're going to get ineiros to shoot you with that thing if you talk about it.
22:12:54 <Phantom_Hoover> OK. My lips are sealed.
22:13:13 <elliott> fizzie: where is it. :p
22:13:16 <fizzie> http://wiki.hey0.net/index.php/Plugin:Low_Orbit_Ion_Cannon ?
22:14:00 <elliott> Man, Vorpal would hate that :)
22:14:44 <fizzie> "This plugin will pretty much ruin wherever you click with it. Back up your maps first. Also, it has a habit of overloading the server and making it so that you have to kill it before any console commands work anymore."
22:14:47 <fizzie> Sounds very practical.
22:15:03 <elliott> fizzie: Psht, it doesn't work as a user command.
22:15:07 <elliott> LAYME
22:16:06 <elliott> "18:36 ! Notch was kicked from #hey0 by chrisinajar [don't come back until minecraft is fixed]"
22:17:11 <fizzie> Heh, it shoots with diamonds?
22:17:13 <elliott> #if HAVE_STDINT_H
22:17:13 <elliott> #include <stdint.h>
22:17:13 <elliott> #elif !defined(UINT32_MAX)
22:17:13 <elliott> #define UINT32_MAX 0xffffffffU
22:17:13 <elliott> #endif
22:17:15 <elliott> FFFFFFFFFFFUUUUUUUUUu
22:18:02 <elliott> WaitFor.c:170: error: ‘fd_set’ has no member named ‘__fds_bits’
22:18:30 <olsner> haha, sucks to be you
22:19:57 <elliott> " Ahh, I found out the hard way that this doesn't work if you have TNT nerfed. Now I have a huge diamond tower to remove because we're playing it survival like."
22:20:00 <elliott> fizzie: ^
22:20:08 <Vorpal> elliott, you logged on, and then my trap broke again. Are you somehow involved?
22:20:17 <elliott> Vorpal: Clearly. (No.)
22:20:25 <Vorpal> elliott, I hope so
22:20:39 <Vorpal> I don't have time to fix it again, Just going to close it off for now
22:21:48 <fizzie> Vorpal: Incidentally, snow at work, mobilephoneography, from the same window I've taken pictures from earlier once or twice: http://zem.fi/~fis/20101208_001-005.jpg
22:21:51 <elliott> "
22:21:52 <elliott> I received word from someone who was able to build Tiny-X from XFree86
22:21:52 <elliott> 4.2.0 with the diet libc! He attached a diff which I put on foobar."
22:21:53 <elliott> *rgasm*
22:21:56 * oerjan swats elliott for arson -----###
22:22:23 <fizzie> oerjan: That's no Unicode-swatter yet. :/
22:23:53 <elliott> oerjan: ────▒▒▒
22:24:08 <elliott> oerjan: ═══▒▒▒
22:24:12 <elliott> oerjan: ════▒▒▒
22:24:16 <elliott> oerjan: ════▒▒
22:24:19 <elliott> Take your pick!
22:24:29 <elliott> Gregor: http://web.archive.org/web/20071030182328/http://jusa.telco-tech.de/diet.html
22:24:31 <elliott> Gregor: BITCHEN
22:24:40 <fizzie> ───⌨ <-- the keyboard-swatter.
22:25:20 <elliott> ────☺ ────☻
22:26:01 <oerjan> The Swatter is not to be manipulated for trifling charset reasons
22:26:03 * Phantom_Hoover fails at getting the ion cannon working.
22:26:56 <Gregor> elliott: XFree8FAIL
22:27:12 <oerjan> also i wish putty wouldn't show unknown chars as invisible space
22:27:18 <elliott> Gregor: This is before the licensefuck.
22:27:33 <elliott> Gregor: And don't deny that it'll be smaller :P
22:27:37 <fizzie> ───⌫ for a sparse-grid model, ───▩ or ───▦ for dense; I think those two ("square with orthogonal/diagonal crosshatch") are conceptually correct, but don't maybe render so well.
22:28:01 <elliott> I think ────▦ is the best so far.
22:28:33 <oerjan> fizzie: those end chars all show as blanks for me
22:28:42 <elliott> [ ] X420src-1.tgz 18-Jan-2002 15:43 25M
22:28:42 <elliott> [ ] X420src-2.tgz 18-Jan-2002 15:43 22M
22:28:42 <elliott> [ ] X420src-3.tgz 18-Jan-2002 15:43 8.9M
22:28:45 <elliott> Gregor: Modular XFree86!
22:28:48 <Gregor> elliott: It'll be smaller ... AND LAMER.
22:28:58 <elliott> Gregor: And, importantly, smaller :P
22:29:05 <Gregor> What's that? Lamesauce?
22:29:27 <elliott> Gregor: If I can get tcc in, and maybe an old version of dietlibc, then I'll have a graphical, networked, latest-version Linux development environment on a single floppy :P
22:29:34 <Gregor> Actually it may not be smaller, since it's before KDrive but after XF dropped its simple servers I think, probably only has the monolithic server.
22:29:44 <elliott> It IS KDrive.
22:29:53 <elliott> At least the dietlibc mailing list circa 2002 suggests so.
22:29:56 <elliott> When it was posted.
22:30:01 <elliott> They used the letter K followed by the letters Drive.
22:30:04 <Phantom_Hoover> Got the ion cannon working.
22:30:15 <elliott> Phantom_Hoover: /ion_cannon 64
22:30:30 <Phantom_Hoover> I think it literally just makes a 128-tall column of TNT with the given radius and detonates it at the top.
22:30:36 <elliott> Phantom_Hoover: /ion_cannon 64
22:30:40 <elliott> And it's diamond.
22:30:42 <elliott> Well.
22:30:43 <elliott> TNT-diamond.
22:30:46 <Phantom_Hoover> elliott, you want the supercomputer for that?
22:30:50 <elliott> Phantom_Hoover: YEP
22:31:05 <Phantom_Hoover> elliott, you have it?
22:31:06 <elliott> Gregor: (Xfbdev + kernel framebuffer support) or Xvesa: WHICH IS SMALLER IN TOTAL
22:31:09 <elliott> Phantom_Hoover: NOPE
22:32:49 <Gregor> elliott: I would bet the former.
22:34:09 <elliott> Gregor: Probably. But the framebuffer requires multiple drivers, no? :P
22:34:10 <elliott> Maybe not.
22:34:26 <elliott> Gregor: WAIT. Doesn't DirectFB have an X server emulator?
22:34:38 <elliott> DirectFB can host XDirectFB, a rootless X server implementation that uses DirectFB windows for X11 top-level windows. XDirectFB is an interface that mimics the X11 interface through the DirectFB API to simplify running applications written for X11 on DirectFB.
22:34:41 <elliott> JUST SAYIN'
22:35:08 <Gregor> elliott: Oh boy, now you're paying for DirectFB and X :P
22:35:19 <elliott> Gregor: No, 'cuz XDirectFB will not be as big as X :P
22:35:37 <Gregor> elliott: It would be very nearly as big, especially when compared to Xfbdev.
22:35:48 <Gregor> Perhaps bigger than Xfbdev since it's rootless, which is an added complication.
22:36:07 <Gregor> elliott: However, all seven of DirectFB's users will thank you!
22:36:56 <elliott> Gregor: Your words hurt me.
22:37:01 <elliott> Gregor: WebOS uses it :P
22:37:03 <elliott> So, all eight.
22:37:05 <fizzie> Just provide some sort of X protocol decoder/dumper, and have the user use hir imagination for the displaying.
22:37:06 <elliott> And a half.
22:38:04 <elliott> #define KDriveXServer YES
22:38:05 <elliott> #define TinyXServer YES
22:38:05 <elliott> #define XfbdevServer YES
22:38:05 <elliott> #define XvesaServer YES
22:38:06 <Gregor> WebOS uses DirectFB?!
22:38:07 <elliott> I get to MEASURE!
22:38:10 <elliott> Gregor: Yes.
22:38:16 <Gregor> wtf
22:38:22 <elliott> Gregor: And I use my soul to rape bears.
22:38:34 <Gregor> Well naturally.
22:38:58 <Vorpal> elliott, down?
22:39:21 <elliott> Vorpal: No idea.
22:39:25 <Vorpal> elliott, heh up again and first message I saw was me leaving the game
22:41:11 <elliott> Gregor: Ohboy, imake is my favourite thing ever :P
22:41:48 <elliott> ~/flinix/bin/diet -Os gcc -O -I../../include -I../../exports/include/X11 -I../.. -I../../exports/include -I//include -DUSE_XWCHAR_STRING -DUSE_XMBTOWC -DX_LOCALE -Dlinux LinuxMachineDefines -D_POSIX_SOURCE -D_POSIX_C_SOURCE=2 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DX_LOCALE -DFUNCPROTO=15 -DNARROWPROTO -march=i386 -pipe -DCPP_PROGRAM="\"/lib/cpp\"" -DHAS_MERGE_CONSTANTS=`if ~/flinix/bin/diet -Os gcc -fmerge-constants -xc /de
22:41:48 <elliott> v/null -S -o /dev/null 2> /dev/null 1> /dev/null; then echo 1; else echo 0; fi` -c -o imake.o imake.c
22:41:48 <elliott> gcc: LinuxMachineDefines: No such file or directory
22:41:48 <elliott> imake.c:1: error: -mpreferred-stack-boundary=2 is not between 4 and 12
22:42:41 <elliott> -DHAS_MERGE_CONSTANTS=`if ~/flinix/bin/diet -Os gcc -fmerge-constants -xc /dev/null -S -o /dev/null 2> /dev/null 1> /dev/null; then echo 1; else echo 0; fi`
22:43:16 <Gregor> <elliott> I'M SO GLAD THIS ISN'T AUTOTOOLS DURP
22:43:28 <elliott> Gregor: I never said imake > autotools
22:43:29 <elliott> EVER :P
22:43:39 <Gregor> True
22:45:12 -!- Sasha2 has quit (Ping timeout: 240 seconds).
22:49:04 <elliott> Gregor: imake is in fact liquid pain :P
22:50:13 <elliott> Gregor: Something just failed to build and it completely ignored it X-D
22:51:49 -!- Sgeo has joined.
22:53:56 <elliott> /home/elliott/flinix/include/stdlib.h:114: error: conflicting types for ‘_Xmbtowc’
22:53:57 <elliott> ../../exports/include/X11/Xlib.h:4819: note: previous declaration of ‘_Xmbtowc’ was here
22:54:11 * Sgeo misread that as experts for a second
22:54:24 <elliott> Experts in PAIN.
22:57:33 <elliott> Gregor: This server is going to be gigantic, I bet :P
22:57:54 <elliott> Gregor: Is the basic X protocol really that complicated? One would think there would be a trivial X-on-fb implementation.
23:03:06 <Phantom_Hoover> ineiros, tried MoveCraft.
23:03:10 <Phantom_Hoover> It is awesome.
23:06:07 * Phantom_Hoover → sleep
23:06:16 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:06:41 -!- FireFly has quit (Quit: swatted to death).
23:09:08 -!- augur has quit (Ping timeout: 255 seconds).
23:13:54 <Vorpal> elliott, there?
23:14:09 <elliott> no
23:14:27 <Vorpal> elliott, I looked at a mc map generator tool that allows you too zoom and such. Uses google maps for it. And I looked at their "example page". This was one: http://qt3minecraft.project357.com/map.htm
23:14:35 <Vorpal> elliott, compared to that 128x128 is NOTHING
23:15:05 <Vorpal> elliott, megascale engineering galore on that server
23:24:47 <elliott> Vorpal: But none of it is 3D.
23:26:08 <elliott> Vorpal: Well, OK, some of it is.
23:26:24 <Vorpal> elliott, quite a lot of it is even.
23:26:29 <elliott> Vorpal: Anyway: Fine then. I'll make it 1024x1024.
23:26:32 <Vorpal> elliott, sure, most of the pixel art isn't
23:26:45 <elliott> Vorpal: the 3D stuff doesn't look 128x128 to me :P
23:26:50 <Vorpal> elliott, no. That server seems to allow free /give for everyone btw
23:26:59 <Vorpal> elliott, no, but there is a LOT of it
23:27:00 <elliott> No what?
23:27:11 <Vorpal> elliott, (no, 128x128 is impressive enough)
23:27:45 <Vorpal> elliott, just wow at the thing in http://maps.mcau.org/oldmain/ (linked from same site of examples)
23:27:52 <Vorpal> huge car model
23:28:44 <elliott> Wow.
23:28:53 <elliott> Vorpal: The problem with >128x128 is that it can't be a cube :P
23:28:57 <elliott> I think that car was edited in...
23:29:19 <elliott> If not: As someone who hates hearing this all the time: whoever made that needs to get laid.
23:29:24 <elliott> Possibly because of that :P
23:29:32 <Vorpal> elliott, I can only presume it isn't solid
23:29:33 <elliott> I like how there's random obsidians there.
23:29:43 -!- Goosey has joined.
23:30:35 <elliott> Vorpal: I like the Arecibo message on that first link.
23:31:02 <Vorpal> elliott, saw the 2D barcode thingy on it?
23:31:16 <elliott> where?
23:31:43 <Vorpal> elliott, uh, somewhere below the Arecibo message
23:31:45 <elliott> oh
23:31:48 <elliott> Vorpal: You mean a QR code.
23:31:59 <Vorpal> elliott, yeah I said 2D barcode thus, I don't remember the name of it
23:33:49 <Vorpal> elliott, anyway https://github.com/brownan/Minecraft-Overviewer
23:34:19 <elliott> I've seen it before I think.
23:34:27 <Vorpal> elliott, not sure what kind of load this puts on the server though
23:34:34 <elliott> IIRC it's a cron job.
23:35:06 -!- myndzi\ has joined.
23:35:17 <Vorpal> elliott, yes but I mean bw-wise
23:35:48 <Vorpal> elliott, typical values on that page: "700mb worth of image files for map"
23:35:54 <Vorpal> elliott, I mean, seriously...
23:36:02 <Vorpal> elliott, I guess they need several different scales
23:36:09 <elliott> That's not bad. :p
23:36:27 <elliott> Vorpal: It would be cool if we could get the server to use an editing tool to edit something waaay away from civilisation into, like, a 2048x2048x128 block with bedrock all around it at level 0 and one door from the outside, then put one single door level with whatever land is nearby there, and a spiral staircase down.
23:36:31 <elliott> Indoor city.
23:36:36 <Vorpal> "Another example map, day: http://thedailyautist.com/map/day/ night: http://thedailyautist.com/map/night/ ~430K chunks (~1.8GB). Continuously runs incremental updates (using --chunklist) that take between 15m and 4h depending on player activity. Full map data (cache + tiles) for both uses ~64GB."
23:36:39 <Vorpal> elliott, that looks bad ^
23:37:00 <elliott> thedailyautist.com -- best minecraft server domain name ever
23:37:02 <Vorpal> elliott, barfstairs you mean
23:37:06 <Vorpal> elliott, yes I noticed that too
23:37:10 <Vorpal> elliott, but look at the size
23:37:16 <elliott> Indeed.
23:37:18 <elliott> Rather sprawling.
23:37:21 <elliott> too
23:37:22 <elliott> visually
23:37:41 <elliott> Vorpal: Yes yes, barfstairs, but ... in fact, there's no reason they can't be straight stairs.
23:37:44 <elliott> They wouldn't take up much of the total area.
23:37:52 <Vorpal> hm
23:37:52 <elliott> It'd be awesome.
23:37:56 -!- myndzi has quit (Ping timeout: 255 seconds).
23:38:11 <Vorpal> elliott, sure, but do you realise what that size is like?
23:38:14 <elliott> Vorpal: lol @ this griefing: http://thedailyautist.com/src/129149460290.png
23:38:17 <Vorpal> elliott, it is several times * far
23:38:22 <elliott> presumably the portal is griefing, dunno
23:38:41 <elliott> Vorpal: I realise how big it is :P
23:38:48 <Vorpal> elliott, the fire?
23:39:01 <elliott> Vorpal: Oh, maybe.
23:39:06 <elliott> Would be funny to fill someone's house with Nether portals.
23:39:29 <Vorpal> elliott, luckily that is so much work that it wouldn't be done
23:39:34 <Vorpal> (and no thanks, don't do it anyway
23:40:20 <elliott> Vorpal: Are you on now?
23:40:36 <Vorpal> elliott, no
23:40:50 <Vorpal> elliott, and won't be going on until tomorrow evening probably
23:41:11 <Vorpal> elliott, and if you do mess up something at my place then you will be the one to clean it up
23:41:58 <elliott> fizzie: You on? :p
23:42:08 <Vorpal> elliott, why do you ask btw?
23:42:25 <elliott> Boring playing solo when I have no project.
23:42:46 -!- nooga has joined.
23:42:56 <Vorpal> elliott, you have one. To map out the border of the 128x128 cube
23:43:07 <Vorpal> elliott, using dirt or such to create markers so you can build within
23:43:23 <elliott> Vorpal: no :P
23:43:24 <Vorpal> elliott, you need to do that anyway at some point for the project
23:43:37 <elliott> Yes, but not now
23:43:38 <Vorpal> elliott, you don't want to mess up with glass :P
23:44:04 <elliott> http://thedailyautist.com/src/129107585141.jpg lol, drama
23:44:11 <Vorpal> elliott, going to build to the east?
23:44:12 <elliott> cuz we have no drama on our server of course.
23:44:33 <elliott> Vorpal: Maybe.
23:45:09 <elliott> Vorpal: http://www.minecraftwiki.net/wiki/Minecart_Mania! i wonder if this works with hmod
23:46:00 <Vorpal> elliott, I prefer vanilla minecarts. Well if they worked like for SP
23:46:07 <Vorpal> the bugginess on MP annoys me
23:48:35 <elliott> Vorpal: There's a new redstone thing.
23:48:39 <elliott> I, uh, http://i.imgur.com/YuiKT.png
23:48:41 <Vorpal> elliott, also I think it would work. Look at version history. Mentions hey0. Look at hmod forum hostname
23:48:59 <Vorpal> elliott, what
23:48:59 <elliott> Next update it seems.
23:49:30 <elliott> Vorpal: It's somethin gto do with sound, apparently :P
23:49:31 <Vorpal> elliott, some kind of music thing?
23:49:33 <Vorpal> yeah
23:49:39 <elliott> Organs it seems.
23:49:46 <Vorpal> elliott, ouch that sound sucks
23:49:49 <Vorpal> (organs I mean)
23:49:56 <Vorpal> violins or pianos I would like
23:50:06 <elliott> Oh shut up.
23:50:16 <Vorpal> elliott, oh those are reeds right?
23:50:24 <elliott> Dunno
23:50:47 <Vorpal> elliott, can't think of any other with 4 things like that on a single block
23:51:07 <Vorpal> and that is clearly glass and log down there
23:51:26 <Vorpal> the last one ("unts") could be gravel or cobble I guess
23:51:48 <Vorpal> elliott, where did you find that
23:51:57 <elliott> twitter
23:53:17 <Vorpal> elliott, issue with twitter: lack of context when reading one page
23:53:55 <elliott> Vorpal: I know what I should call my Cube.
23:54:12 <Vorpal> "There we go.. Got some sounds from @C418, implemented redstone and punch triggering, and it's all very silly now. :D" <-- sounds fun
23:54:18 <Vorpal> elliott, companion cube?
23:54:20 -!- Sasha has joined.
23:54:24 <elliott> Vorpal: The One State.
23:54:28 <Vorpal> elliott, what
23:54:35 <elliott> Vorpal: http://en.wikipedia.org/wiki/We_%28novel%29#Plot_introduction
23:55:09 -!- nooga has quit (Ping timeout: 240 seconds).
23:57:02 -!- myndzi has joined.
23:57:09 -!- nooga has joined.
23:57:21 <Vorpal> night
23:59:38 -!- hagb4rd has joined.
23:59:51 <hagb4rd> hi
2010-12-09
00:00:26 -!- myndzi\ has quit (Ping timeout: 255 seconds).
00:20:52 -!- Wamanuz has quit (Ping timeout: 240 seconds).
00:24:44 -!- hagb4rd has quit (Ping timeout: 255 seconds).
00:26:58 -!- nooga has quit (Read error: Operation timed out).
00:28:09 -!- nooga has joined.
00:28:11 -!- myndzi has quit (Ping timeout: 260 seconds).
00:49:46 -!- nooga has quit (Read error: Operation timed out).
00:51:35 -!- nooga has joined.
00:53:57 -!- zzo38 has joined.
00:59:30 -!- myndzi has joined.
01:03:46 -!- myndzi has quit (Ping timeout: 240 seconds).
01:06:01 <elliott> Yay the A20 line turns on properly.
01:06:48 <zzo38> Good.
01:12:35 -!- myndzi has joined.
01:17:13 -!- myndzi\ has joined.
01:17:45 -!- myndzi has quit (Ping timeout: 260 seconds).
01:21:13 -!- elliott has quit (Quit: Leaving).
01:23:56 -!- myndzi has joined.
01:25:33 -!- myndzi\ has quit (Ping timeout: 265 seconds).
01:29:06 <zzo38> Do you like the idea http://esoteric.voxelperfect.net/wiki/TNTNT that you have to write a program in the form of a proof, and then run in the loop to figure if it is works that is the output?
01:29:30 <zzo38> What is its computational class?
01:31:05 -!- Goosey has quit (Remote host closed the connection).
01:31:29 <zzo38> Why is many things blocked from being typed in esolang wiki? These things should only be blocked for users that is not autoconfirmed accounts.
02:06:15 -!- zzo38 has quit (Remote host closed the connection).
02:28:13 -!- oerjan has quit (Quit: Good night).
02:32:38 -!- Gregor has set topic: This channel speaks not english. Please using other channel unless chinese! | 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 | 光榮的中華民國應收回這個主題的一些日子! | חנוכה שמח, הגויים! | sed อยู่เสมอดีกว่า Perl! | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
02:37:17 <tswett> mi lojbo tavla
02:37:53 <tswett> .i la lojban du lo bangrjonue
02:49:57 -!- goneriku_ has joined.
02:52:09 -!- goneriku has quit (Ping timeout: 272 seconds).
02:52:22 -!- goneriku_ has changed nick to goneriku.
03:00:26 -!- nooga has quit (Ping timeout: 255 seconds).
03:00:46 -!- nooga has joined.
03:13:14 -!- goneriku has left (?).
03:14:49 -!- augur has joined.
03:55:25 -!- augur has quit (Remote host closed the connection).
03:56:01 -!- augur has joined.
04:00:12 -!- augur has quit (Ping timeout: 240 seconds).
04:23:30 -!- augur has joined.
04:47:52 -!- zzo38 has joined.
04:48:37 <zzo38> This IRC client does not support sending non-ASCII (but it is capable to receive non-ASCII). I cannot type in Chinese.
04:48:46 <zzo38> Especially not simplified Chinese.
04:55:24 <myndzi> just think of everything as a "hanzi compound"
04:55:29 <myndzi> made up of multiple ascii characters
04:55:29 <myndzi> :P
04:56:25 <Gregor> It's a good thing nobody on this channel speaks Chinese then!
04:58:49 <zzo38> I am making the game with some ideas based on the ideas of Godel,Escher,Bach
04:59:08 <zzo38> And you also make the game with some ideas based on the ideas of Godel,Escher,Bach, too, please.
04:59:33 -!- Gregor has set topic: 這個通道是專門為追求深奧的話題在計算和編程語言。 | This is channel having esoteric programming computer language. We talking in chinese here, if english find other channel please! | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
05:03:22 -!- pingveno has joined.
05:09:37 <pikhq> Gregor: Indeed, we must make a point of using only languages nobody here speaks.
05:09:55 <Gregor> pikhq: Yes!
05:10:42 <Gregor> I want to find somebody Taiwanese to make the first part /perfect/ :P
05:10:44 -!- augur has quit (Ping timeout: 264 seconds).
05:11:12 <zzo38> Can you play Taiwanese mahjong?
05:11:36 <zzo38> I can play Japanese mahjong.
05:12:14 <pikhq> Oh, wow. There has been a message intentionally broadcast into space in Klingon. At the hypothetical coördinates of Qo'nos.
05:12:40 <pikhq> It invited Klingons to attend a performance of the opera 'u'.
05:12:48 <Gregor> zzo38: Although I'm sure that skill would bring me well on my way to understanding traditional Chinese, I cannot.
05:12:48 <Gregor> pikhq: ... must ... kill ...
05:12:51 <zzo38> pikhq: There is?
05:13:21 <pikhq> Gregor: Said opera was entirely in Klingon.
05:13:55 <zzo38> You do not need to understand much Chinese to play mahjong, except for the numbers 1-9 and the compass directions. They are the same in Japanese, also.
05:14:49 <zzo38> What does 'u' mean in Klingon? Does it mean anything?
05:15:20 <pikhq> zzo38: 一二三四五六七八九十北南東西?
05:15:40 <pikhq> zzo38: And it means "universe" or "universal".
05:17:15 <pikhq> The ' are significant.
05:17:29 <zzo38> pikhq: Yes those are the numbers and compass directions. However, ten is not used in most forms of mahjong.
05:17:41 <pikhq> Oh, right, you said "1-9"
05:17:43 <zzo38> And I do know the ' are significant, they do represent Klingon letter.
05:18:05 <Sgeo> Wait, Star Trek used a ... system that corresponds with real space?
05:18:21 <Sgeo> As opposed to just saying "Oh, we're x light-years away from Y"?
05:18:43 <zzo38> I do know that when writing Klingon texts using English alphabet, ' is a letter and uppercase/lowercase are used to represent different letters instead of grammar.
05:19:09 <zzo38> Sgeo: They used quadrants, isn't it?
05:19:47 <pikhq> ' is, like in most languages using it for a *phoneme*, the glottal stop.
05:21:14 <Sgeo> zzo38, what about within a quadrant?
05:22:05 <zzo38> Sgeo: I don't know, actually.
05:22:52 <pikhq> Sgeo: Trek is one of those universes where everything that the fans can explain, has been.
05:23:01 <pikhq> The power of fanon!
05:23:39 <Sgeo> What about "Threshold" ::trollface::
05:24:17 <pikhq> Threshold has been retconned out of existence.
05:24:32 <zzo38> pikhq: Also, in mahjong, the directions are always go in the order East, South, West, North. The East player always plays first. In Japanese mahjong, East always pays and receives double (before other calculations). (If Wareme is used, Wareme also pays and receives double, but *after* other calculations.)
05:24:45 <Sgeo> Do reruns of VOY show Threshold?
05:24:54 <pikhq> Sgeo: I hope not.
05:25:05 <pikhq> Sgeo: But anyways, the episode is officially not canon.
05:25:12 <pikhq> Sgeo: Because it sucked that much.
05:25:52 <Sgeo> I should watch it!
05:26:02 <pikhq> But somehow it won an Emmy.
05:26:06 <pikhq> (for makeup)
05:26:27 <pikhq> Sgeo: Its *author* says it's shit.
05:27:04 <Sgeo> Would it happen to be So Bad It's Good?
05:27:12 <pikhq> So Bad It's OHMYGODWHY
05:27:48 <pikhq> Much like the infamous Star Wars Christmas Special.
05:28:09 <pikhq> Sorry, *Holiday* Special.
05:30:43 <zzo38> Do you have any comments about TNTNT?
05:31:44 <Sgeo> Is it Christian TNT?
05:32:07 <zzo38> Sgeo: No.
05:32:17 <zzo38> Look on the esolang wiki.
05:38:20 -!- myndzi\ has joined.
05:40:09 <Gregor> \o/
05:40:16 <Gregor> :(
05:41:06 -!- myndzi has quit (Ping timeout: 240 seconds).
05:42:19 <Sgeo> \o/
05:42:19 <myndzi\> |
05:42:20 <myndzi\> /<
05:44:20 <zzo38> What is the computational class of RecurseMe? What is the computational class of SimulRecurseMe?
05:51:19 <Sgeo> RecurseMe looks TC, but I'm tired
05:51:29 <Sgeo> You have BF style test/loops
05:51:59 <Sgeo> Although how is "subroutine" defined?
05:55:16 <zzo38> Sgeo: The only subroutine is the program itself.
05:55:25 <zzo38> But it can call itself recusively.
05:55:32 <zzo38> See the Talk page for more information.
05:56:00 <Sgeo> So that's not a BF-style loop
05:58:13 -!- Goosey has joined.
05:58:59 <zzo38> Sgeo: Yes, correct, it is not a BF-style loop. The program is only allowed to call itself recursively.
06:08:59 -!- Goosey has quit (Ping timeout: 255 seconds).
06:18:06 -!- sftp has quit (Remote host closed the connection).
06:18:40 -!- augur has joined.
06:21:57 -!- Quadrescence has quit (Quit: omghaahhahaohwow).
06:30:26 -!- augur has quit (Ping timeout: 240 seconds).
06:38:24 <Sgeo> I know the channel doesn't care, but I like to keep a log
06:38:46 <Sgeo> n/m, I think I can do without
06:38:56 <zzo38> There is also the public log already available
06:40:40 <Sgeo> I meant, I like to abuse that public log to keep a record of when I take certain medications (e.g. Tylenol)
06:43:40 <zzo38> Sgeo: O, that is what you mean.
06:45:24 <zzo38> What random number generating algorithm do you think is suitable for TeXnicard? Is the one in METAFONT acceptable? (If so, I can reference it in the bibliography of TeXnicard.)
06:46:54 <Sgeo> I think the one where I go back in time to Tuesday and prevent ... it feels like I'm making a joke
06:46:58 <Sgeo> I shouldn't joke
06:47:41 <zzo38> How can you go back in time to ...
06:47:51 -!- wareya has quit (Read error: Connection reset by peer).
06:48:31 <Sgeo> I can't, obviously
06:48:33 -!- wareya has joined.
06:57:08 -!- Quadrescence has joined.
07:05:49 <zzo38> This is one of the old problems in anarchy golf: Emulate the printer-oriented 'banner' command in BSD. You are given input like: banner -w 48 ":-)"
07:06:34 <zzo38> This 'banner' program is installed in the system, but it is not in the path. In addition, it adds extra spaces to the end of the lines, which must be removed for this golf competition.
07:07:00 <zzo38> Without looking, do you know which programming language has the shortest solution, who the winner is, and/or how long the shortest solution is?
07:09:21 -!- augur has joined.
07:56:42 <Vorpal> zzo38, it is probably shell
07:57:25 <Vorpal> something along the lines of /path/to/banner $@|sed 's/ *$//' should work
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:50 <fizzie> I had to go look; but I like the "eval /*/*/`dd`" solution of building the banner command to invoke in the (not shortest) bash solution.
08:03:47 <fizzie> (It's given as input, not as a command line argument.)
08:04:32 <fizzie> (That is "not shortest" in the sense of "not shortest, globally"; it was the shortest shell one.)
08:08:58 <zzo38> Vorpal: That was someone's solution, to try that. But the shortest was vi
08:09:38 <zzo38> Actually, no, wait, that wasn't someone's solution.
08:09:44 <zzo38> (Except for the 'sed' part)
08:10:57 <fizzie> I do like the vi one too.
08:11:41 <zzo38> There are two in vi, both of them shortest than the shortest shell script solution, though.
08:21:06 <zzo38> There are a few strange things on anarchy golf, such as the "123" problem and the "Check for brainwave activity" problem. And others.
08:37:40 <zzo38>
08:59:05 -!- hagb4rd has joined.
09:23:44 -!- ais523 has joined.
09:24:05 -!- augur has quit (Read error: Connection reset by peer).
09:24:09 -!- augur_ has joined.
09:25:01 -!- terry123 has joined.
09:38:07 -!- terry123 has quit (Ping timeout: 272 seconds).
09:42:52 -!- augur_ has changed nick to augur.
10:09:23 -!- augur has quit (Ping timeout: 255 seconds).
10:18:54 -!- augur has joined.
10:34:52 -!- hagb4rd has quit (Ping timeout: 245 seconds).
10:44:15 -!- oerjan has joined.
11:43:31 -!- ais523_ has joined.
11:44:01 -!- ais523 has quit (Disconnected by services).
11:44:04 -!- ais523_ has changed nick to ais532.
11:44:07 -!- ais532 has changed nick to ais523.
11:44:08 <ais523> whoops
12:02:20 -!- nopseudoidea has joined.
12:16:50 -!- nopseudoidea has quit (Quit: Quitte).
12:30:05 -!- oerjan has quit (Quit: leaving).
12:38:11 <ais523> hmm, I'm reading the Cocoa memory management conventions, because I was vaguely interesting
12:38:21 <ais523> and it turns out they're exactly the same as the ones Perl uses internally
12:57:52 -!- atrapado has joined.
12:59:08 -!- augur has quit (Remote host closed the connection).
12:59:33 -!- augur has joined.
13:04:02 -!- augur has quit (Ping timeout: 245 seconds).
13:30:37 -!- nopseudoidea has joined.
13:31:29 -!- nopseudoidea has quit (Client Quit).
13:35:55 -!- Mathnerd314 has quit (Ping timeout: 255 seconds).
13:42:38 -!- ais523 has quit (Remote host closed the connection).
13:48:01 -!- fungot has quit (Ping timeout: 260 seconds).
13:56:58 -!- elliott has joined.
13:57:34 <elliott> olsner: you've read the x86-64 manual, does it say anywhere "all x86-64 chips have to support the short method of turning A20 on (Fast A20)?"
13:57:37 <elliott> say "yes"
13:59:21 -!- Phantom_Hoover has joined.
14:02:58 <elliott> " Well, considering that I’m a computer science major, i figure that I know a great deal about programming and the such. However, I found this book to be simply incomprehensible. I’ve never wasted more time than I did trying to read this book. Worse than its failed attempts at instruction are its failed attempts at humor to “liven up” its instruction. After taking my class, i burnt this book." --Amazon reviewer, on SICP
14:03:13 <elliott> s/" +W/"W/
14:05:26 -!- sftp has joined.
14:11:57 <Phantom_Hoover> elliott: ah, egositical CS majors.
14:12:15 <Phantom_Hoover> Where would we be without them?
14:12:33 <Phantom_Hoover> Answer: in a world with much better coding standards.
14:13:33 <Slereah> Have you read your SICP today?
14:13:51 <elliott> I'd say they give CS a bad name, but it's known to be mathematically impossible to give CS a worse name than it already has.
14:14:01 <elliott> Slereah: i'm actually going to buy the physical sicp :P
14:14:07 <Slereah> heh
14:14:32 <elliott> Slereah: can you believe the price for the hardback is £60.75 from amazon, and that's a discount of £3.20!
14:14:39 <Phantom_Hoover> elliott: "CS majors blamed for Holocaust, global warming."
14:14:41 <elliott> although third-party sellers have it new from £49.99, ha ha, how cheap.
14:14:42 <Slereah> I can readily believe it
14:14:45 <elliott> Phantom_Hoover: we already are
14:15:02 <Slereah> Because science books are shockingly expensive and used books sometimes criminally cheap :o
14:15:04 <Phantom_Hoover> elliott: oh, congratulations on getting the CS major.
14:15:12 <Slereah> Once in a while, I buy one of those one cent book on Amazon
14:15:17 <elliott> Phantom_Hoover: wut
14:15:21 <Slereah> I pay a thousand time more for the shipping
14:15:31 <elliott> Slereah: criminally cheap? cheapest used hardback for SICP on amazon is £42.89.
14:15:36 <elliott> Slereah: softback, £19.94.
14:15:47 <Phantom_Hoover> elliott: "we". Implying you \in CS majors.
14:16:01 <Slereah> Hell
14:16:02 <elliott> Phantom_Hoover: Oh. Well, it seems inevitable.
14:16:09 <Slereah> I once bought a $170 book :3
14:16:12 <Slereah> Well, not me
14:16:17 <Slereah> I asked for it for Christmas
14:16:36 <Slereah> Out of print hardback logic book
14:16:50 <Slereah> That's just asking for troubles
14:17:24 <elliott> Slereah: bastard :P
14:17:37 <Slereah> Why meeee
14:18:09 <Phantom_Hoover> elliott: what if you're murdered by a psychotic mental health worker?
14:18:29 <elliott> didn't i tell you, they're all in my mind
14:18:36 <elliott> Slereah: asking for an out-of-print hardback logic book
14:19:34 -!- Phantom_Hoover has quit (Quit: Page closed).
14:20:23 -!- nooga has quit (Ping timeout: 255 seconds).
14:20:49 <Slereah> Even worse
14:20:59 <Slereah> Somehow, I had to buy an out of print FEYNMAN book
14:21:08 <Slereah> How do you let a Feynman book go out of print?
14:21:17 <fizzie> elliott: The only thing the AMD64 manuals say about the A20 line is that the processor has it; it's an external line, even the short method (out to 0x92) involves external circuitry, so it's a system-level, not a chip-level property. (Okay, to be more literal there's also A20-related stuff in the virtualization bits, but anyhow.)
14:21:25 <Slereah> Plus, it was reedited a few months afterwards
14:21:53 <elliott> fizzie: OK, rephrase: Has anyone ever made an x86-64 machine that does not support the fast a20 method; if yes, what is their address, and can I have a chainsaw?
14:22:02 -!- nooga has joined.
14:25:25 -!- augur has joined.
14:25:26 -!- augur has quit (Remote host closed the connection).
14:26:13 <fizzie> Not having it available sounds somewhat strange, but I can't seem to find any sort of standard mandating it. (Unless you're willing to limit yourself to EFI machines, where it of course is not an issue.)
14:27:54 -!- augur has joined.
14:32:26 <fizzie> The latest actual complaint about fast A20 not working I can find (with little searching) is someone's 500 MHz P3-mobile laptop, where the fast A20 method works at first, but breaks during hibernate, since only the keyboard-controller way is properly saved.
14:33:46 <fizzie> (And some random dude on the osdev forums claims "the BIOS function will use the best method, and will be supported on modern computers", but would you trust a random dude?)
14:37:16 <elliott> fizzie: Does EFI specify that A20 is always on or something? Or does it just not have it at all? :)
14:37:42 <elliott> And considering I get most of my info from the OSDev wiki, I'm sort of in the business of trusting random dudes, but not random dudes who haven't edited a wiki page, that's for sure!
14:37:59 <elliott> And the full, safe keyboard controller method took up a whole 1/5th of my bootloader space.
14:38:10 <fizzie> EFI boot programs are ran in protected mode with a flat memory map, so I think it's safe to assume it's on at that point.
14:45:02 <elliott> fizzie: OR IS IT
14:47:14 <fizzie> Hmn.
14:47:19 <fizzie> "The AMD64 Chipset Manuals guarantee I/O port 92, bit 1 to be available for use" says the talk page.
14:48:07 <elliott> fizzie: Good enough for me.
14:48:29 <elliott> fizzie: But now I really want a DS9K EFI machine that goes into protected mode with a flat memory map *without* turning the A20 line on.
14:49:26 <elliott> Actually that Brendan guy from the forum's OS says it works even if turning the A20 line on fails, it just doesn't use those addresses... and his bootloaders all note all the faulty memory in the system so the OS can avoid using them... I think what we have here is someone absolutely devoted to the Right Thing and it's why he said his bootloaders (plural) took days each to write. :p
14:53:00 -!- ais523 has joined.
14:53:26 -!- augur has quit (Read error: Connection timed out).
14:54:26 -!- augur has joined.
14:56:45 <ais523> that topic is /incredibly/ stereotypical
14:56:58 <ais523> hmm, I don't know what the Chinese portion says, though
14:57:20 <ais523> it'd be hilarious if it were a translated version of the English into similarly broken Chinese, except with the words "English" and "Chinese" swapped
14:57:44 <fizzie> This channel is dedicated to the pursuit of esoteric topics in computing and programming languages."
14:57:51 <fizzie> There *is* freely available machine translation nowadays.
14:58:31 <ais523> indeed, but it's slightly broken
14:58:38 <elliott> ais523: aww, I thought it was still the old one (saying the channel was in the control of Red China)
14:58:43 <ais523> and thus, you can't distinguish intentionally slightly broken translations from perfect ones
14:58:51 <fizzie> It's often good enough for deciphering the meaning, anyhow.
14:59:48 -!- elliott has set topic: 這是通道有深奧的編程計算機語言。在這裡,我們用英語交談,如中文,請找其他渠道 | This is channel having esoteric programming computer language. We talking in chinese here, if english find other channel please! | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
14:59:58 <elliott> in traditional chinese, just to make it more unhelpful than it already is
15:00:12 <elliott> "This is the channel has profound programming computer language. Here, we talk in English, such as Chinese, please look for other channels"
15:00:38 <fizzie> "The channel is currently being Red China's control. Please continue to esoteric activities without interference." | "Glorious Republic of China should recover some of this theme day!" | "Happy Hanukkah, the Gentiles!" (last one in Hebrew) seems to have been mostly the previous topic.
15:01:05 <elliott> ais523: i cleaned out the qdb, by the way; i forget if i told you
15:01:25 <elliott> i had a dream today where there were only 4 quotes left in the qdb due to me removing all the crappy ones, but they were still numbered in the 200s
15:02:05 <ais523> do you remember what the quotes were?
15:02:52 <elliott> ais523: more than one line, I know that much
15:03:01 <elliott> but no, I don't; I don't think I looked at the text in the dream
15:03:19 <ais523> I had a truly hilarious dream last night, incidentally, but it made no sense on the meta-level
15:03:26 <elliott> wat :D
15:03:43 <ais523> normally, the dreams are inconsistent with reality, but you look back on it and think "that's the sort of dream it makes sense for me to have"
15:04:07 <ais523> in this case, the dream was internally consistent, but it made no logical sense for me to be able to have them
15:04:20 <elliott> 21:24:45 <Sgeo> Do reruns of VOY show Threshold?
15:04:22 <elliott> Yes.
15:04:24 <elliott> (90% sure)
15:04:50 <elliott> ais523: i fear that even if you explained the dream this would make no sense to me :)
15:05:24 <elliott> 22:40:40 <Sgeo> I meant, I like to abuse that public log to keep a record of when I take certain medications (e.g. Tylenol)
15:05:40 <elliott> Sgeo: Please tell me you're worried you'll accidentally overdose on Tylenol even while being paranoid about it, so I can chuckle.
15:06:20 <ais523> elliott: well, it contained a quiz show, and I didn't know the answer to some of the questions, yet I dreamed them anyway
15:06:29 <ais523> as in, me in the dream didn't know the answers, but the person setting the questions did
15:06:45 <elliott> ais523: name some questions and answers, and let's see if they're right IRL :P
15:06:48 <ais523> now, that's an entirely plausible situation normally, yet; how could I know the answer to the question to be able to dream it, and yet not know the answer?
15:07:29 <elliott> "You have some money.
15:07:30 <elliott> [I'm korean so they will be won]" --http://golf.shinh.org/p.rb?kM4_ what is this i don't even
15:07:34 <ais523> elliott: I can't remember all the details (in fact, I missed some of the questions within the dream, due to radio interference), but the nature of the quiz was such that even knowing the answer the questions were almost impossible to answer
15:07:40 <elliott> "OMFG... There isn't any money...
15:07:40 <elliott> I have to buy some pen..."
15:07:40 <elliott> How sad... (What a stupid guy... And then.. You have to buy pen first!!!)
15:08:18 <ais523> because as the quiz was being done over the radio, in order to avoid cheating, you couldn't answer in words, you instead had to come up with a piece of music that related to your answer and hum it
15:08:27 <elliott> ais523: :D
15:08:42 <elliott> ais523: i would listen to that
15:09:04 <ais523> I remember one of the early questions had "pedantic" as its answer, and it was really easy except that neither I nor the other contestant could think of an appropriate piece of music
15:09:28 <elliott> ais523: hmm, you know the anagolf challenge i made where you had to output one more each program run? what was it called?
15:09:37 <ais523> 1 2 3?
15:09:48 <ais523> also, you made that? I noticed it, but there's no author information
15:10:12 <fizzie> It's just "123", if it's that one.
15:10:20 <elliott> ais523: hmm, perhaps I did
15:10:21 <elliott> I know I /solved/ it
15:10:35 <elliott> no, i didn't make it
15:10:40 <elliott> and my solution was the longest
15:10:43 <elliott> silly egotistical mind :)
15:10:50 <elliott> My solution was the only non-cheating one though, I think:
15:10:51 <elliott> puts 1;x=File.read("test.rb").sub("puts","puts 1+");File.open("test.rb","w").write(x)
15:10:57 <ais523> elliott: that's also cheating
15:11:10 <elliott> ais523: it's not as cheating as $$%n
15:11:34 <elliott> ais523: aha, I made this one: http://golf.shinh.org/p.rb?Calculator
15:11:40 <ais523> it's much /more/ cheating for some of the large programs
15:11:54 <elliott> which, nobody has solved without cheating, it seems
15:11:55 <elliott> including you
15:11:56 <ais523> because you can write the solution into files with a really large program, then read it back with a small one
15:11:58 <elliott> or, well
15:12:00 <elliott> without cheating much
15:12:19 <elliott> ais523: I think it records the first size
15:12:24 <ais523> no, it doesn't
15:12:29 <ais523> in fact, they removed file save and load altogether
15:12:29 <elliott> heh
15:12:31 <ais523> to prevent abuse
15:12:39 <elliott> "they"; you mean shinh
15:12:43 <ais523> yes
15:12:46 <elliott> ais523: that's really sad, I liked that solution
15:12:56 <elliott> even if it was abusable
15:13:29 <fizzie> The Befunge solution for 123 is oh-so-complicated, since there's no PID, so you have to do it with ?, and you have to waste at least a second during the execution, all attempts at the same second get their random numbers seeded with the same.
15:13:34 <elliott> ais523: how much will people hate me if I make a challenge which is to print out a string of data from /dev/urandom
15:13:49 <elliott> so you have to try and rely in imperfections in the PRNG somehow :)
15:13:52 <ais523> it'd just be boring, like hello world
15:13:58 <ais523> urandom's cryptosecure
15:14:20 <elliott> ais523: yes, but if the PRNG has a major flaw...
15:14:27 <elliott> although it doesn't, of course
15:14:38 -!- augur has quit (Read error: Connection timed out).
15:14:41 <elliott> ais523: also, I'm going to pipe it through cat -v
15:14:42 <ais523> elliott: there was a hilarious anagolf question which wanted a sequence of numbers printed
15:14:46 <elliott> so you can rely on the repeated M- and the like
15:14:47 <ais523> and it was mersenne twister with seed 1
15:14:54 <elliott> heh
15:15:07 <ais523> it had a hilariously short solution in the languages which used mersenne twister and didn't seed by default
15:15:27 <elliott> ais523: hmm, maybe I should seed a PRNG with random not-so-big numbers, and not reveal the seeds
15:15:35 <elliott> so you can get a short program by brute-forcing what the seed was
15:15:57 <fizzie> And what the PRNG was.
15:16:03 <elliott> I'd note that.
15:16:44 <fizzie> Non-crypto-oriented ones generally have better methods for finding the internal state than just brute-forcing.
15:16:59 <elliott> cat -vet; a vet for cats.
15:17:06 <elliott> fizzie: So I'd use a crypto-oriented one! :p
15:17:18 <elliott> I'd make all the seeds less than a 8192 or so, so it's not "too" hard.
15:17:30 <ais523> I'm still disappointed you can kill cat with just one kill(1) invocation, it should take nine
15:18:06 <elliott> "Error: invalid title (use [a-zA-Z0-9_ ])"
15:18:07 <elliott> pah
15:18:09 <elliott> ais523: why?
15:18:10 <elliott> oh
15:18:11 <elliott> hah
15:18:23 -!- augur has joined.
15:18:25 <fizzie> You could also have a "--cat" flag for kill(1) that'd send the same signal nine times.
15:18:46 <elliott> fizzie: no, no
15:18:49 <ais523> fizzie: or just use -9
15:18:49 <elliott> it'd be called curiosity(1)
15:18:57 <elliott> ais523: -9 kills once with SIGKILL...
15:18:59 <elliott> not nine times
15:19:03 <ais523> beh
15:19:07 <fizzie> Yes, but it's the appropriate number.
15:19:09 <elliott> -N is the signal id, not the # of times to kill.
15:19:11 <Sgeo> elliott, feel free to chuckle
15:19:14 <ais523> and it can't be blocked, either
15:19:22 <elliott> Sgeo: So are you drunk from the vanilla essence, yet?
15:19:24 <ais523> (I do /know/ what kill -9 does...)
15:19:32 <elliott> ais523: are you suure :P
15:19:38 <elliott> "Random data with redundancy from escapes" -- can anyone rewrite this in a better way?
15:19:48 <elliott> I'm trying to suggest that the cat -v adds redundancy and thus compressibility into the data
15:19:52 <ais523> elliott: well, it depends on platform
15:19:52 <elliott> because of the M-s and the like
15:19:55 <ais523> I'm far from certain what it does on Windows
15:22:18 <elliott> anyone? :p
15:23:35 -!- Sgeo has quit (Read error: Connection reset by peer).
15:23:56 <ais523> elliott: sorry, I was trying to remember what M-s did in Emacs
15:24:00 <ais523> I might even have to C-h c to find out
15:24:11 <elliott> it is a prefix, it seems
15:24:15 <elliott> C-h c M-s prompts "M-s-"
15:26:44 <fizzie> M-s o runs "occur", and "M-s h r/u" does highlight/unhighlight a regexp.
15:27:09 <elliott> This is irritating.
15:27:24 <elliott> It seems that the only way to stay sane in a bootloader is to use the BIOS in unreal mode.
15:27:30 <elliott> Which is ... ugh.
15:28:02 <ais523> elliott: oh dear
15:28:20 <ais523> for the exercise after the kernel keylogger, the students have to write a bootloader in asm, I think
15:28:50 <ais523> I do not have high hopes
15:29:20 <quintopia> elliott: I didn't get mauled. I got Cooled. And I got some kind of award. And I thought e2 was supposed to hate noobs.
15:29:32 <elliott> quintopia: Maybe it's been overrun by the facebookers.
15:30:01 <elliott> ais523: seriously; talking to floppy disks and hard disks without the BIOS are both Pretty Damn Painful, especially if you would rather not have to make a multiple-stage bootloader and thus have to cram everything into 512 bytes. The BIOS lets you read from floppies and HDs easily, but only so much at a time. You can't really load the kernel in real mode, because you probably want to load it into the higher half of RAM (at least you will later on
15:30:01 <ais523> wait what?
15:30:01 <elliott> ). But you can't call the BIOS in protected mode. So you have to go into unreal mode. What's more, the BIOS can't write to high memory even if you're in unreal mode, so you have to load stuff into a scratch space, and then copy it into high memory.
15:30:09 <elliott> ais523: Total. And utter. Cluster. Fuck.
15:30:28 <elliott> ais523: quintopia decided he wanted to try being stupid, so he's written an everything2 node arguing that facebook doesn't damage relations
15:30:29 <ais523> also, what /is/ unreal mode? I'm only aware of three x86 modes
15:30:50 <elliott> ais523: unreal mode is real mode, except with a full flat 32-bit address space
15:30:58 <elliott> "In x86 computing, unreal mode, also big real mode, huge real mode, or flat real mode, is a variant of real mode (PE=0), in which one or more data segment registers have been loaded with 32-bit addresses and limits."
15:31:13 <elliott> ais523: did I mention that getting into unreal mode involves going into protected mode, and then doing crazy things to *undo* protection?
15:31:14 <ais523> oh, so it's like oldfashioned huge pointers over a wider address space
15:31:22 <ais523> was it deliberate? or a bug?
15:31:24 <elliott> [[To enable unreal mode without using any undocumented features of the CPU, the program has to enter protected mode, locate a flat descriptor in the GDT or LDT or create such, load some of the data segment registers with the respective protected mode "selector", then switch back to real mode. When jumping back to real mode, the processor will continue using the cached descriptors as established in protected mode, thus allowing access to 4 GB of "
15:31:25 <elliott> extended" memory from inside real mode.]]
15:31:26 <elliott> ais523: deliberate
15:31:50 <elliott> ais523: well, I lied slightly; you don't *have* to go into unreal mode to load a kernel into high memory
15:31:58 <elliott> ais523: you could, of course, handle segment arithmetic yourself...
15:31:59 <ais523> wait, is that how XMS is implemented? or is "extended" used for a different purpose there?
15:32:06 <elliott> (assuming your kernel is bigger than one segment)
15:32:11 <ais523> also, segment arithmetic is easy
15:32:11 <elliott> ais523: "Some" DOS extenders, apaprently
15:32:15 <elliott> *apparently
15:32:29 <ais523> each segment starts 16 bytes from the one before
15:32:35 <ais523> and as they're 64K long, they overlap
15:32:38 <ais523> that's... it
15:33:02 <elliott> ais523: segment arithmetic isn't easy if you have to cram loading a kernel with BIOS calls, copying memory around, printing diagnostics to the screen, enabling the A20 line, going into protected mode, and jumping to the kernel in 510 bytes
15:33:05 <elliott> with x86 asm
15:33:33 <ais523> why 510 bytes?
15:33:46 <elliott> ais523: because that's how big a boot sector is
15:33:59 <elliott> ais523: the last two bytes have to be 0x55, 0xAA
15:34:02 <elliott> making up one sector
15:34:02 <ais523> don't bootloaders just have a bootloaderloader in the boot sector?
15:34:12 <ais523> oh, and I recognise 55 AA by heart
15:34:15 <elliott> ais523: no. well, yes: multi-stage loaders. they're bloated.
15:34:23 <elliott> getting stuff into 512 bytes isn't actually hard
15:34:34 <ais523> it's the "this is deliberate and totally not a mistake" code for pretty much every hardware-based accidental-corruption check in existence
15:34:35 <elliott> but you still feel a pang of irritation every time you realise you have to do something more
15:34:42 <elliott> heh
15:35:29 <ais523> (some /really/ secure checks require you to write a specific sequence of bytes on specific processor cycles to specific memory-mapped registers, to make absolutely sure it'll only happen during normal operation, but even then they normally have 55 AA in there somewhere)
15:36:18 <elliott> ais523: the long, safe way of checking whether the A20 line is on involves comparing the 0x55, 0xAA signature with the value one megabyte higher; even then, if they're equal, you have to be paranoid and change one of them, and check the other
15:36:42 <elliott> if you're really crazy, you even flush the cache in-between writing and reading (but only the 386 is affected by this, it seems, and it has no cache-flushing instruction)
15:37:09 <elliott> olsner: what were you testing your OS with? qemu-system-x86_64 is pretty slow, although i guess it probably doesn't matter
15:37:42 <ais523> the reason 55 AA is chosen, btw, is that it can't be sent unchanged through any plausible combination of shorted and broken wires unless they're arranged in a really weird order
15:37:56 <elliott> heh
15:38:10 <ais523> it's alternate wires, then the opposite set of alternate wires
15:38:20 <elliott> ais523: behold the fun of boot sectors:
15:38:22 <elliott> [[A device is "bootable" if it carries a boot sector with the byte sequence 0x55, 0xAA in bytes 511 and 512 respectively. When the BIOS finds such a boot sector, it is loaded into memory at a specific location; this is usually 0x0000:0x7c00 (segment 0, address 0x7c00). However, some BIOS' load to 0x7c0:0x0000 (segment 0x07c0, offset 0), which resolves to the same physical address, but can be surprising.
15:38:22 <elliott> When the wrong CS:IP pair is assumed, absolute near jumps will not work properly, and any code like mov ax,cs; mov ds,ax will result in unexpected variable locations. A good practice is to enforce CS:IP at the very start of your boot sector.]]
15:38:42 <elliott> (note, I've never actually heard of anyone being bitten by assuming it's 0:0x7c00, but you never know...)
15:39:43 <ais523> knowing this course, they'll only care if it works on the computers they have there
15:40:13 -!- Sasha has quit (Ping timeout: 240 seconds).
15:40:14 <ais523> also, absolute near is a weird combination of addressing modes to use in a 510-byte sector
15:40:30 <ais523> given that you can go (signed 8-bit integer) with relative near, and it's shorter
15:40:40 <elliott> ais523: well, you use an absolute jump to jump to the kernel
15:40:50 <elliott> and it's more the "mov ax, cs; mov ds, ax" thing breaking, I think
15:41:40 <ais523> elliott: presumably you'd set CS first
15:41:49 -!- augur has quit (Remote host closed the connection).
15:41:54 <ais523> also, for some reason DOS seems to require bootable disks to start with a jump to the next location
15:41:56 <elliott> ais523: um, no, because CS is initialised by the BIOS
15:42:10 <ais523> elliott: I mean, it's likely a different CS for the bootloader and kernel
15:42:17 <ais523> so you'd set it to a different value to be able to jump to the kernel
15:42:22 <elliott> ais523: ...those were two separate things
15:42:24 <elliott> <elliott> ais523: well, you use an absolute jump to jump to the kernel
15:42:25 <elliott> --------------
15:42:27 <elliott> <elliott> and it's more the "mov ax, cs; mov ds, ax" thing breaking, I think
15:42:37 <ais523> elliott: but after you set CS explicitly, absolute jumps work fine
15:43:02 <elliott> ok, either you're not understanding me or I'm really not understanding you, so let's just change the subject :P
15:43:04 -!- Sasha has joined.
15:43:33 <ais523> indeed
15:45:04 <ais523> elliott: do you know the difference betwen near, far, and huge, incidentally?
15:45:21 <elliott> ais523: vaguely; no idea what the last is
15:45:44 <ais523> it's a DOS (well, any real-mode x86 platform) C compiler difference
15:46:01 <ais523> far pointers will just assume they don't overflow from one segment to another, so you can only point to 64K of data at a time
15:46:30 <ais523> huge pointers will add extra checks for segment overflow and adjust accordingly
15:46:57 <ais523> so although far and huge are both 32-bit, huge are more expensive
15:47:08 <ais523> (although, huge pointers could be merely 24-bit and work just as well; people just don't like such non-round number of bits)
15:47:13 <ais523> (well, just as well from an information-carrying perspective, they'd be less efficient without the padding byte)
15:49:05 <elliott> ais523: right
15:51:50 -!- MigoMipo has joined.
15:55:19 -!- nopseudoidea has joined.
15:55:54 -!- FireFly has joined.
15:56:23 -!- nopseudoidea has quit (Client Quit).
16:04:52 -!- Phantom_Hoover has joined.
16:15:49 -!- Wamanuz has joined.
16:16:41 -!- nooga has quit (Ping timeout: 260 seconds).
16:17:58 -!- nooga has joined.
16:18:22 -!- ais523_ has joined.
16:18:42 -!- ais523 has quit (Disconnected by services).
16:18:44 -!- ais523_ has changed nick to ais523.
16:25:58 <Phantom_Hoover> !swedish hell
16:25:59 <EgoBot> hell
16:26:14 <Phantom_Hoover> !swedish The engines can't take it, captain!
16:26:15 <EgoBot> Zee ingeenes cun't teke-a it, cepteeen! Bork Bork Bork!
16:26:39 <Phantom_Hoover> Vorpal, you are now whatever Scotty was on the Enterprise, on the ROU.
16:26:51 <Phantom_Hoover> You shall say the above phrase whenever possible.
16:43:53 -!- augur has joined.
16:50:20 <elliott> ugh, this is irritating
16:59:22 <Vorpal> Phantom_Hoover, is ROU finished?
16:59:29 <Vorpal> Phantom_Hoover, also I doubt I will be that
16:59:31 <Phantom_Hoover> Vorpal, nowhere near.
17:00:00 <Phantom_Hoover> I'm building a reinforced bridge right now, although I just need to remove the scaffolding now.
17:00:07 <Vorpal> Phantom_Hoover, oh and server side inventory will probably be implemented soon it seems. That means the end of throwing away tools and picking them up
17:00:19 <Vorpal> I can only hope he adds kits
17:00:20 * Phantom_Hoover shakes his fist/
17:00:39 <Vorpal> Phantom_Hoover, also I suspect that means protocol changes, which means hmod won't work for a few days
17:01:04 <Phantom_Hoover> Grr.
17:01:55 -!- Wamanuz has quit (Remote host closed the connection).
17:02:47 <Vorpal> Phantom_Hoover, so any changes on ROU since yesterday?
17:03:00 <Phantom_Hoover> Added bridge.
17:04:24 -!- nopseudoidea has joined.
17:04:37 -!- nopseudoidea has quit (Client Quit).
17:05:36 -!- Wamanuz has joined.
17:09:47 <elliott> AL = number of sectors to read (must be nonzero)
17:09:47 <elliott> CH = low eight bits of cylinder number
17:09:47 <elliott> CL = sector number 1-63 (bits 0-5)
17:09:47 <elliott> high two bits of cylinder (bits 6-7, hard disk only)
17:09:47 <elliott> DH = head number
17:09:48 <elliott> DL = drive number (bit 7 set for hard disk)
17:09:50 <elliott> ES:BX -> data buffer
17:09:52 <elliott> This is what we call "a bad API".
17:10:47 <elliott> ais523: http://golf.shinh.org/p.rb?Random+data
17:13:34 <elliott> ais523: hey, Brain Raiter competes on anagolf!
17:13:36 <elliott> http://golf.shinh.org/reveal.rb?123/breadbox_1180162215&out
17:13:50 <elliott> unless there's another person going by breadbox who does crazy-small ELF files
17:21:48 <Phantom_Hoover> ineiros, there?
17:25:58 <Vorpal> elliott, that list of register uses. Is it for some BIOS call or?
17:26:12 <elliott> Vorpal: Yes; reading sectors from floppy-or-hard-disk.
17:26:29 <Vorpal> elliott, a pity they didn't invent LBA back then
17:26:45 <elliott> Vorpal: The issue being that the drive interface was totally shoehorned onto the floppy interface, making it a bitch to support loading from both, thus defeating the point of unifying the calls :P
17:27:22 <elliott> Vorpal: Amusingly: ".
17:27:23 <elliott> In order for BIOS to overcome this limit and successfully work with large hard drives, a CHS translation scheme had to be implemented in BIOS disk I/O routines which would convert between 24-bit CHS used by INT 13H and 28-bit CHS numbering used by ATA."
17:27:25 <Vorpal> elliott, I don't see why you couldn't just use sector from start of disk
17:27:29 <elliott> So it's getting translated to LBA anyway.
17:27:30 <Vorpal> and length in sectors
17:27:39 <Vorpal> oh and data buffer of course
17:27:41 <Vorpal> and drive number
17:27:45 <elliott> Vorpal: Um, because the BIOS call doesn't work like that?
17:27:54 <Vorpal> elliott, yes, badly designed :P
17:28:15 <Vorpal> elliott, also 28 bits is not LBA
17:28:21 <Vorpal> elliott, iirc LBA is 48 bits or such
17:28:27 <elliott> No it's not.
17:28:37 <elliott> IDE standard included 22-bit LBA as an option, which was further extended to 28-bit with the release of ATA-1 (1994) and to 48-bit with the release of ATA-6 (2003). Most hard drives released after 1996 implement Logical block addressing.
17:28:47 <Vorpal> elliott, ah yes a 48 bit one exist
17:28:52 <elliott> And 28-bit.
17:29:00 <Vorpal> elliott, presumably modern BIOSes handle the 48-bit one?
17:29:04 <elliott> I'm staring at the vx6 boot sector source (partly in C, heh) and it seems to use IO ports to actually talk to some disk controller -- dunno whether floppy or HD or both -- so I'm going to see if I can find any information on that.
17:29:14 <elliott> Vorpal: I don't think you can address anything that high with that BIOS call.
17:29:24 <Vorpal> elliott, vx6?
17:29:33 <Gregor> elliott doesn't preoccupy himself with "modern" concerns.
17:29:38 <elliott> Sorry, *xv6.
17:29:46 <Vorpal> elliott, so we would run into issues with putting boot partition at the end of a modern 1 TB disk?
17:30:03 <elliott> Vorpal: A Sixth Edition Unix-alike written in C for x86, developed 2006 by Russ Cox et al., for MIT's OS course.
17:30:09 <elliott> (Replacing /actual/ Sixth Edition Unix.)
17:30:13 <elliott> (Which was chosen in 2002.)
17:30:24 <elliott> (Blame Lions for his commentary, I guess.)
17:30:29 <Vorpal> wait, unix. As in the original unix?
17:30:36 <elliott> No, as in eunuchs.
17:30:38 <Vorpal> (original: not a fork or such)
17:30:41 <elliott> Yes.
17:30:47 <elliott> Bell Labs Research Unix.
17:31:07 <elliott> Vorpal: It is a common pedagogical OS because of http://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th_Edition,_with_Source_Code.
17:31:10 <Vorpal> huh
17:31:35 <elliott> I'm just looking at xv6 because it's a very small boot sector that does most of what I want and it's really short, so I can use it for pointers to useful material :P
17:31:52 <Vorpal> elliott, but hm why doesn't it use the bios?
17:32:06 <Vorpal> bbl food
17:32:12 <elliott> I don't know, I'll bring out my mind reader device and get back to you.
17:43:19 <Vorpal> elliott, well maybe there was some docs?
17:43:31 <elliott> Why do they need a reason not to use the BIOS?
17:43:52 <Vorpal> elliott, for floppy I suppose it is portable, but what about harddrive controllers?
17:44:17 <Vorpal> elliott, I mean, considering the huge number of drivers that the linux kernel has for different ATA controllers
17:48:25 <elliott> waitdisk();
17:48:26 <elliott> outb(0x1F2, 1); // count = 1
17:48:26 <elliott> outb(0x1F3, offset);
17:48:26 <elliott> outb(0x1F4, offset >> 8);
17:48:26 <elliott> outb(0x1F5, offset >> 16);
17:48:26 <elliott> outb(0x1F6, (offset >> 24) | 0xE0);
17:48:28 <elliott> outb(0x1F7, 0x20); // cmd 0x20 - read sectors
17:48:31 <elliott> Doesn't look particularly unportable to me :P
17:48:34 <elliott> Looks like IDE.
17:48:40 <elliott> And IDE is really simple and universal.
17:56:08 <ais523> <elliott> I'm just looking at xv6 because it's a very small boot sector that does most of what I want and it's really short, so I can use it for pointers to useful material :P <-- might not work that well if they point to a different segment...
17:57:16 <elliott> ais523: That was a joke, yes?
17:57:23 <olsner> pointers, harr harr
17:57:24 <elliott> I was actually expecting Vorpal to say that seriously, so ...
17:57:34 <elliott> (Well, not with the segment thing, just "EH???")
17:57:45 <ais523> elliott: why do you have to ask? I'm not Vorpal
17:57:53 -!- nooga has quit (Ping timeout: 240 seconds).
17:58:12 <elliott> ais523: talking to vorpal is Vorpal-whoosh-paranoia-inducing
17:58:25 <ais523> I apologise, it was a rather bad pun
17:58:27 <elliott> ais523: incidentally,
17:58:28 <elliott> > In my view, this (common) view makes nomic an uninteresting game of
17:58:28 <elliott> > pedantic, and unrealistic legalese-wrangling. I personally find scams
17:58:28 <elliott> > super-boring, and would much prefer it if Agora was a game of politics
17:58:28 <elliott> > rather than legislation. But politics requires a grounding in some other
17:58:28 <elliott> > activity.
17:58:31 <elliott> --Michael Norrish
17:58:47 <Vorpal> ais523, hah at that pun
17:58:48 <elliott> (in reply to the "getting a loophole through is the fundamental gameplay of a Nomic" sentiment)
17:58:51 <ais523> elliott: I replied to that, quoting it at me isn't going to be massively useful unless you have further comments
17:58:57 <elliott> ais523: oh, you did?
17:58:58 <elliott> so you did.
17:59:03 <elliott> I didn't realise :)
17:59:06 -!- atrapado has quit (Quit: Abandonando).
17:59:08 <elliott> Vorpal: no, not hah, it was a terrible pun
17:59:12 <elliott> even ais523 admits that
17:59:21 <Vorpal> elliott, I disagree though
17:59:34 <elliott> well, you're wron
17:59:35 <elliott> g
17:59:51 -!- nooga has joined.
17:59:57 <elliott> ais523: I've replied too, and it seems like I basically agree with you except I addressed a different part of his point
18:00:04 <Vorpal> elliott, is there any absolute truth when it comes to what is a good pun? Or any absolute truth at all
18:00:18 <ais523> oh, some relay involved is being slow
18:00:18 <elliott> Vorpal: Yes.
18:00:33 <elliott> ais523: I only posted it a few minutes ago.
18:00:46 <Vorpal> elliott, how can you know. Maybe thinking such an absolute truth exists is not absolute either
18:00:50 <Vorpal> bbl
18:00:54 * elliott reads one of Norrish's papers
18:00:56 <elliott> [[ Expressions in the programming language C have such an
18:00:56 <elliott> under-specified semantics that one might expect them to be non-deter-
18:00:56 <elliott> ministic. However, with the help of a mechanised formalisation, we have
18:00:56 <elliott> shown that the semantics’ additional constraints actually result in a large
18:00:56 <elliott> class of C expressions having only one possible behaviour.]]
18:01:08 <elliott> Vorpal: because it was objectively unfunny and everyone who disagrees is both a Nazi, a hamster, wrong, bad, and evil
18:01:20 <elliott> " However, our Cholera formalisation [6,7] is a completely formal se-
18:01:20 <elliott> mantics for the bulk of the C language. It is formulated in a structural
18:01:20 <elliott> operational style (see, for example, [2]) and is embedded in the HOL the-
18:01:20 <elliott> orem prover [1]."
18:01:22 <elliott> catchy name!
18:01:52 <Gregor> "The bulk of"
18:01:53 -!- Wamanuz has quit (Ping timeout: 255 seconds).
18:02:03 <Gregor> I'm betting that means it lacks casts and unions :P
18:02:11 <ais523> elliott: I think it's funny the first time, it's just that that particular pun is coming up far too often
18:02:19 <elliott> Gregor: http://www.cl.cam.ac.uk/~mn200/PhD/cholera-model.dvi
18:02:22 <elliott> (doesn't open in my evince...)
18:02:29 <elliott> Gregor: http://www.cl.cam.ac.uk/~mn200/PhD/esop1999.pdf the one i'm reading
18:02:32 <ais523> hmm, evince can normally do dvi just fine
18:02:37 <elliott> indeed
18:02:52 <ais523> oh, I keep forgetting we have basically identical computers
18:03:06 <ais523> it just... doesn't seem right, given our differing tastes in hardware
18:03:11 <elliott> ais523: how is our hardware relevant here? or do you mean software, too? :)
18:03:32 <elliott> admittedly, I don't actually have many programs installed here at all, over the base Debian install
18:03:38 <Gregor> Perhaps that's because it's 217 pages :P
18:03:42 <ais523> elliott: our software isn't as similar as our hardware
18:03:52 <ais523> and the answer is, it isn't relevant but I was reminded of it
18:03:59 <elliott> emacs, xchat, minecraft, ghextris, ex falso appear to be all the gui apps i've installed
18:04:05 <elliott> much more command-line stuff, obviously
18:04:17 <elliott> ais523: I actually had no idea this model was in any way related to yours when I bought it
18:04:40 <elliott> ais523: admittedly, there was not much choice (all the others were big, bulky, heavy machines with low battery life and terrible keyboards)
18:04:44 <Gregor> elliott: dvips handled it :P
18:04:52 -!- oerjan has joined.
18:05:00 <elliott> well, and also super-super-crappy 3-penny netbooks
18:05:16 <elliott> Gregor: * Omissions: The model doesn't do goto statements, switch statements or floating point values.
18:05:16 <elliott> * Basic flaws: The model assumes that every integral value has a unique representation in terms of bytes. This is not true, though it is often true of C implementations.
18:05:26 <elliott> I'd rather do without union than switch and goto :P
18:05:28 -!- Sasha has quit (Ping timeout: 265 seconds).
18:05:39 <Vorpal> <elliott> Vorpal: because it was objectively unfunny and everyone who disagrees is both a Nazi, a hamster, wrong, bad, and evil <-- Godwin!
18:05:47 <elliott> Vorpal: you just say that because you're a hamster
18:05:48 <Gregor> elliott: Actually I'd say switch and goto are more reasonable to elide ...
18:05:58 <Vorpal> elliott, Hamwin's law!
18:06:13 <elliott> Gregor: I use switch and goto constantly, unions very rarely :P
18:06:19 <elliott> Gregor: Have you seen https://staff.aist.go.jp/y.oiwa/FailSafeC/index-en.html, btw?
18:06:36 <Vorpal> uh minecraft.net is down it seems
18:06:42 <Gregor> elliott: Well, there's no reason to get rid of unions if you're leaving in arbitrary pointer casts, so if they removed unions they'd probably be removing arbitrary pointer casts too.
18:07:08 <elliott> Gregor: True dat.
18:07:22 <Gregor> elliott: I've heard of Fail-Safe C, haven't really looked into it.
18:07:39 <elliott> Hmm, http://wiki.osdev.org/IDE looks much more complex than the xv6 code.
18:07:59 <Vorpal> err what
18:08:13 <Vorpal> fucking what the fuck
18:08:32 <elliott> Vorpal: what.
18:08:32 <Vorpal> getaddrinfo(whois.crsnic.net): Name or service not known
18:08:38 <Vorpal> elliott, .net is down for me
18:08:45 <Vorpal> elliott, ripe.net = DNS error too
18:08:48 <Vorpal> just as an example
18:08:51 <elliott> minecraft.net works for me :P
18:08:54 <Vorpal> elliott, .com and such works fine
18:09:04 <elliott> this is because networks are evil and corporations are awesome, duh
18:09:21 <Vorpal> elliott, and .se is up and .uk is down. Yes the pattern fits
18:09:33 <elliott> OS.c:14:42: error: asm/page.h: No such file or directory
18:09:34 <elliott> wat
18:09:53 <elliott> stupid xfreeeightysurcks :P
18:09:57 <Vorpal> elliott, care to give me result of: host minecraft.net
18:10:10 <elliott> Vorpal: minecraft.net mail is handled by 10 mx.hover.com.cust.hostedemail.com.
18:10:17 <Vorpal> elliott, any other line?
18:10:21 <elliott> There's also some line about "minecraft.net has address 194.28.157.42" but who knows what that's about!
18:10:26 <Vorpal> ...
18:10:30 <Vorpal> thanks anyway
18:11:01 <Vorpal> there we go, in /etc/hosts
18:12:30 <elliott> Vorpal: do you like hides and bacon
18:12:34 <elliott> because uh
18:12:36 <elliott> those trees
18:12:40 <elliott> produce large amounts of it regularly
18:13:00 <Vorpal> elliott, what
18:13:02 <quintopia> :O
18:13:05 <quintopia> i need some of them
18:13:07 <Vorpal> elliott, how can tree produce it?
18:13:15 <elliott> Vorpal: fire.
18:13:21 <Vorpal> elliott, ah well, no thanks
18:13:28 <elliott> They burn constantly now :P
18:13:45 <Vorpal> elliott, so you didn't clean up after yourself?
18:14:41 <elliott> Vorpal: You would prefer a bare forest?
18:14:48 <elliott> There is no lava any more, just trees that burn.
18:14:57 <elliott> It's quite pretty actually.
18:15:37 <quintopia> i wonder if california becomes littered with bacon every few years
18:16:09 <elliott> dpkg: error processing linux-headers-2.6.32-5-686_2.6.32-28_i386.deb (--install):
18:16:09 <elliott> package architecture (i386) does not match system (amd64)
18:16:11 <Vorpal> elliott, I would like a beautiful natural forest yes
18:16:13 <elliott> They're headers, you dumb-fuck package manager.
18:16:35 <Vorpal> elliott, they probably only include the ones for this arch
18:16:44 <elliott> I want the i386 ones :P
18:16:47 <elliott> On purpose.
18:16:51 <Vorpal> elliott, like include/asm/386 or such
18:16:55 <elliott> I'm cross-compiling.
18:17:00 <elliott> It's asm/page.h I want.
18:17:09 <Vorpal> elliott, well then I think you are doing it down
18:17:11 <Vorpal> wrong*
18:17:17 <Vorpal> wtf at that typo
18:18:12 <elliott> Vorpal: No, Debian literally has no cross-compiler support.
18:21:08 <elliott> what's a verb for "to make transparent"?
18:23:33 <Gregor> Transparify :P
18:23:39 <Gregor> Clarify?
18:24:57 <Phantom_Hoover> Opacify?
18:25:23 <quintopia> Uncolor
18:25:34 <quintopia> (or uncolour)
18:25:56 <elliott> quintopia: colour != transparency
18:26:01 <elliott> Phantom_Hoover: I'm not an opacifist.
18:26:33 <quintopia> elliott: but everything that is not transparent has a color, and hence, to uncolo[u]r would be to make transparent
18:26:35 <Gregor> Deopacify :P
18:28:15 <elliott> Maybe I'll port http://www.colorforth.com/ide.html to asm. :p
18:28:57 <fizzie> Transpee. "I totally transpeed that texture."
18:29:57 <quintopia> this conversation is becoming quite cisparent
18:30:15 <oerjan> 07:07:29 <elliott> "You have some money.
18:30:15 <oerjan> 07:07:30 <elliott> [I'm korean so they will be won]" --http://golf.shinh.org/p.rb?kM4_ what is this i don't even
18:30:26 <elliott> http://www.osdever.net/tutorials/view/lba-hdd-access-via-pio So this is what xv6 uses.
18:30:29 <oerjan> in case this is confusing you, won is the south korean currency unit
18:30:35 <elliott> oerjan: orite
18:30:40 <elliott> oerjan: the rest of the thing makes no sense though still :P
18:30:57 <oerjan> heh
18:31:33 <elliott> Vorpal: It seems to me that LBA28 can address the first 128 gigabytes of any disk.
18:31:38 <elliott> Apparently Bochs doesn't do LBA48.
18:32:08 <elliott> "All ATA drives should support this way of addressing, the problem with LBA28 Addressing is that it only allows access 128GB to be accessed, so if the disk is bigger than 128GB, it should support the LBA48 Feature Set."
18:32:25 <elliott> I'm just going to use LBA28 for now :P
18:33:04 <elliott> PIO seems to be a DMA predecessor.
18:33:05 <oerjan> (also north korean actually, but i somehow doubt that was meant :D)
18:33:30 <fizzie> In the context of doing that in a boot loader, I wonder whether that sort of thing will let you USB-flash-boot, though; do they actually do IDE-controller-hardware-emulation, or just "make the BIOS disk routines be able to read the boot media"? I'd guess the latter.
18:33:47 <olsner> PIO is older, but pretty much completely unrelated to DMA
18:33:51 <olsner> different ways of sending data
18:34:08 <elliott> olsner: same goal, though
18:34:20 <elliott> fizzie: I imagine they'll do PIO. Prolly.
18:34:44 <elliott> Gregor: SO with imake howwww do you make it not build a component exactly.
18:35:02 <Gregor> elliott: As soon as X11R7 came out, I put imake entirely out of my mind :P
18:35:20 <elliott> Gregor: I DON'T WAAANT TO BUILD XFTTTTT
18:35:26 <elliott> er
18:35:27 <elliott> Xaw
18:35:27 <Gregor> Toooooo bad.
18:35:31 <Gregor> Toooooo bad.
18:35:31 <elliott> no wait xft too :D
18:35:36 <elliott> xftlex.l: In function ‘XftConfigLexDone’:
18:35:36 <elliott> xftlex.l:274: error: ‘XftConfig_current_buffer’ undeclared (first use in this function)
18:35:36 <elliott> xftlex.l:274: error: (Each undeclared identifier is reported only once
18:35:36 <elliott> xftlex.l:274: error: for each function it appears in.)
18:40:51 <elliott> Gregor: At this point, I'm considering just writing my own tiny X that runs on a framebuffer device :P
18:41:01 <olsner> elliott: Do it.
18:41:04 <Gregor> elliott: DOIT
18:41:25 <Gregor> elliott: Make sure to just make it xlib compatible, and not actually be client-server.
18:41:41 <elliott> Gregor: Why? Are domain sockets so big? :P
18:41:44 <elliott> olsner: Why the enthusiasm :P
18:41:57 <quintopia> because you are doing it and not him
18:41:59 <elliott> Gregor: (I was going to write my own miniature Xlib too.)
18:42:10 <Gregor> elliott: Because people are so bitchy about X11 being a "network" protocol :P
18:42:26 <elliott> Gregor: BUT THEN WHAT OF ALL THE TWO PEOPLE WHO USE XCB
18:42:39 <olsner> elliott: because it sounds better than all of your messing about with XFree
18:43:06 <quintopia> elliott: implement it halfway so that they thing it works and then it blows up and eats everything
18:43:09 <elliott> olsner: you just want me to stop whining :D
18:43:12 <quintopia> *think
18:43:16 <olsner> elliott: yes :P
18:51:59 <Gregor> elliott: So I compiled bash for JSMIPS.
18:52:04 <Gregor> elliott: I was like "YESSSS IT WORKS"
18:52:26 <Gregor> elliott: Problem: bash is 10x as big as Heirloom sh :P
18:52:31 <Gregor> (1.5MB vs 150K)
18:52:54 <elliott> Gregor: Try pdksh.
18:53:01 <elliott> Or http://www.wormhole.hu/~ice/ksh/.
18:53:03 <Gregor> elliott: ksh sucks arse.
18:53:15 <elliott> Gregor: OpenBSD ksh doesn't.
18:53:21 <elliott> It's just like bash, except not bloated and smaller :P
18:53:29 <Gregor> Ah :P
18:53:29 <elliott> (It's a very-extended fork of pdksh.)
18:53:53 <elliott> Gregor: http://www.wormhole.hu/~ice/ksh/'s Makefiles are BSD makefiles IIRC, so have fun :P
18:54:01 <elliott> (ofc you can install pmake.)
18:54:30 <Gregor> Cross-compiling to a terrifying amalgam of SysV and GNU using a GNU toolchain with pmake sounds like a blast.
18:54:42 <elliott> Gregor: It probably won't be that hard :P
18:54:49 <Gregor> Yeah, probably not *shrugs* :P
18:54:50 <elliott> Hmm, does the AND instruction do an implicit TEST?
18:55:04 <elliott> Or do I have to "test bl, bl" after ANDing it?
18:55:11 <olsner> it's more like TEST does an implicit AND :P
18:55:44 <olsner> I'm pretty sure AND also updates the flags
18:56:30 <fizzie> It does, yes.
18:56:57 <fizzie> Most of the things that actually involve the ALUish bits do; the memory-moves just don't.
18:57:57 <elliott> Oh, test indeed does an implicit and.
18:58:00 <elliott> "test bl, 0x08" then :P
18:58:04 <elliott> I'm silley.
18:58:24 <olsner> test is an and that doesn't save the result, just as cmp is a subtraction that doesn't save the result
18:59:19 <fizzie> And then there's the "oh, that's a bit strange" things, like inc/dec not updating carry flag (possibly because you can tell carry from the zero flag).
18:59:58 <Phantom_Hoover> Am I allowed to hate Notch?
19:00:51 -!- cheater99 has quit (Read error: Connection reset by peer).
19:01:37 <fizzie> Incidentally, instead of "test ebx, 0x40000000; jz bleh" or something, you can consider "bt ecx, 30; jnc bleh"; that's only an 8-bit immediate constant. (For testing a bit in bl the test is probably more sensible.)
19:01:57 <fizzie> Phantom_Hoover: Do you have a plausible reason to?
19:02:22 <Phantom_Hoover> I feel that with each update the server gets more restrictive.
19:02:33 <Phantom_Hoover> With no way of reverting i.
19:02:35 <Phantom_Hoover> *it
19:02:49 <elliott> Phantom_Hoover: What happened now?
19:03:12 <elliott> "The first step will be to commit everything to our brand new version control system (git)" I am 99% certain that this means he did not use a VCS before. At all.
19:03:17 <elliott> Or perhaps he used TortoiseSVN!
19:03:31 <fizzie> Phantom_Hoover: Ah, but that's just done to make sure you play it right(tm).
19:06:22 <elliott> Something is wrong! How do I know this? Because I'm reading the sector to the screen so it's obvious when it worked.
19:06:49 <olsner> OMG, there's a bug in elliott's code!
19:06:52 <Phantom_Hoover> fizzie, yeah, that's what I hate.
19:07:15 <elliott> olsner: i know right i'm such an asm expert
19:07:17 <elliott> how could i get it wrong
19:07:19 <Phantom_Hoover> The fact that he can't see that people like having lightly-restricted sandboxes.
19:07:39 <fizzie> Phantom_Hoover: Or lightly-garnished sandwiches.
19:09:34 <elliott> x86 needs an instruction, like, "blink the screen for two seconds" so I can see where my program borks.
19:12:02 <fizzie> If you're running it under an emulator, can't it catch an "int 3" or something for you?
19:13:25 <fizzie> (INT 3 is a special one-byte opcode that will raise the #BP breakpoint exception, used by debuggers.)
19:14:31 <fizzie> " magic_break: enabled=1
19:14:32 <fizzie> This enables the "magic breakpoint" feature when using the debugger. The useless cpu instruction XCHG BX, BX causes Bochs to enter the debugger mode. This might be useful for software development."
19:14:36 <fizzie> It's got that thing, at least.
19:14:39 <fizzie> (If it's bochs.)
19:18:41 -!- cheater99 has joined.
19:19:47 <oerjan> switching the bochses
19:22:42 <pikhq> Vorpal: Linux has a lot of drivers for the DMA support of various ATA controllers.
19:22:59 <pikhq> Vorpal: If you don't care about DMA, then ATA has a very, very simple interface.
19:23:07 <pikhq> And portable.
19:23:50 <pikhq> It's also an expansion on the ISA bus.
19:24:08 * Phantom_Hoover decides to care about Lazy K again.
19:24:31 <Phantom_Hoover> pikhq, hey, you're an opinionated fellow. What's your opinion on the whole Wikileaks messs?
19:24:33 <Phantom_Hoover> *mess
19:24:51 <pikhq> Phantom_Hoover: I think it a damned shame how the US has reacted to the mess.
19:25:15 <Phantom_Hoover> You mean the whole "KILL ASSANGE" thing?
19:25:15 <pikhq> "ASSASSINATE HIM!"
19:25:18 <pikhq> Yes.
19:25:38 <pikhq> It's retarded and acts under the bizarre premise that US law applies outside of the US.
19:25:55 <pikhq> Australian in Sweden? Sorry guys, the US has no jurisdiction whatsoever.
19:25:57 <Phantom_Hoover> I think it demonstrates admirably just how poorly governments have adapted to the internet.
19:26:04 <elliott> Vorpal: Dodm?
19:26:12 <pikhq> That it does.
19:26:17 <Vorpal> elliott, doom!
19:26:20 <Phantom_Hoover> "Let's take out this guy; his face is everywhere so he MUST run the whole thing!"
19:26:46 * Phantom_Hoover ponders the contents of Wikileaks' insurance file.
19:26:58 <pikhq> Not to mention that their reaction is that of tyrants.
19:27:02 <elliott> It's, literally, Julian Assange's house insurance details.
19:27:07 <Vorpal> elliott, uå
19:27:08 <elliott> He just wanted a bunch of backups in case his computer got lost or stolen.
19:27:10 <Vorpal> up*
19:27:13 <elliott> My logic is infallible.
19:27:14 <pikhq> Phantom_Hoover: Full set of everything Assange has that can be leaked.
19:27:15 <Phantom_Hoover> elliott, XD.
19:27:15 <Vorpal> elliott, did you get the bit about glass btw?
19:27:29 <pikhq> (source, Julian Assange in an interview I don't have a link to ATM)
19:27:30 <Phantom_Hoover> It's rather larger than house insurance details, though.
19:28:07 <pikhq> Oh, and the leaks themselves show many worrisome acts by the US.
19:28:27 <Phantom_Hoover> Like combing through Canadian television for anti-US sentiments?
19:28:41 <pikhq> Or asking diplomats to engage in espionage.
19:28:45 <elliott> Phantom_Hoover: It has a bunch of copies of them, in case any sectors go bad.
19:28:50 <elliott> *of it,
19:31:40 <Phantom_Hoover> Anyway, anyone interested in the contents of io.scm?
19:32:11 <Phantom_Hoover> (My monady IO thing.)
19:32:29 <pikhq> Oh, and senators are now wanting an ex post facto law to stop Julian Assange.
19:32:45 <pikhq> Not only do you lack jurisdiction, YOU CAN'T FUCKING DO EX POST FACTO LAWS.
19:33:06 <pikhq> It's one of the most explicit limits on government power!
19:34:09 <olsner> bah, you just have to pass some law to allow ex post facto laws
19:34:34 <Phantom_Hoover> Not in the UK, apparently.
19:35:15 <pikhq> olsner: US Constitution disallows ex post facto laws.
19:35:27 <Gregor> Patchable :P
19:35:46 <pikhq> Gregor: Not with our current Congressional setup.
19:35:53 <Gregor> pikhq: True :P
19:36:00 <pikhq> Gregor: It takes one Senator to halt Congress.
19:37:03 <Phantom_Hoover> So when do Wikileaks go for the nuclear option?
19:37:32 <pikhq> Phantom_Hoover: If Julian Assange is stopped, all the shit flies.
19:37:41 <Phantom_Hoover> "Stopped"?
19:37:46 <Phantom_Hoover> As in "jailed"?
19:38:14 <pikhq> Sentenced, killed, etc.
19:38:31 <pikhq> Pretty sure it's a deadman switch setup.
19:38:51 <Phantom_Hoover> Am I a Bad Person for wanting that to happen?
19:39:28 <Phantom_Hoover> Also, what have they got that they haven't leaked (and why)?
19:39:58 <olsner> they've saved it so they can leak it later, obviously
19:40:34 <pikhq> If they dumped it all at once, then it would probably take forever for the media to find things worth reporting on, and the government could actually react to the leak.
19:40:35 <olsner> I guess it comes down to "is this worse for them to have leaked than it is good for us to leak?"
19:41:02 <pikhq> As it is, the media gets to report on things right when they're leaked, and the government *cannot react at all*.
19:42:32 -!- kar8nga has joined.
19:42:51 <pikhq> Also, keeping it ambiguous keeps government officials too afraid to just, say, send in the Marines, assassinate him, and deal with the fallout later.
19:43:57 <Phantom_Hoover> Perhaps they have some things earmarked?
19:45:44 <pikhq> I also find the smear campaign going on completely ridiculous.
19:45:59 <pikhq> ... Not to mention the whole idea of a "surprise sex" law.
19:48:14 <Phantom_Hoover> Incidentally, how can I check if my ISP (who I have established to be unethical bastards) are rate-limiting torrents?
19:48:27 <Gregor> Phantom_Hoover: if (comcast) { true } else { false }
19:48:43 <Phantom_Hoover> :D
19:49:18 <Phantom_Hoover> I refuse to believe that all other ISPs are too principled to do so.
19:49:25 <Phantom_Hoover> What's in it for them?
19:49:38 <Gregor> Laziness.
19:49:45 <Gregor> Douchebaggery takes effort.
19:52:24 <Phantom_Hoover> So... how do Comcast manage it?
19:54:29 <Gregor> I'm told that they spoof some built-in rate control message in BitTorrent. You can work around it by forcing your client to only send/accept encrypted messages.
19:56:44 <Vorpal> I can't reach half of the DNS on internet. Gah
19:57:37 <pikhq> Gregor: Actually, they spoof a TCP reset.
19:58:02 <Gregor> pikhq: Oh really? I thought it was smarter than that, but I just have second-hand info.
19:58:02 <pikhq> Oh, wait, they *used to*.
19:58:10 <pikhq> The FCC ordered them to stop./
19:58:16 <Gregor> Well, I only "used to" use Comcast too :P
19:58:47 <Gregor> pikhq: Did they force them to stop because they decided that doing it was illegal, or because Comcast was lying about it?
19:59:12 <pikhq> Exceptionally illegal.
19:59:49 <olsner> how can it be illegal to send packets to your customers? if you pay for internet-with-RST-packets then that's what you get! :)
20:00:38 <pikhq> If only tampering with the Internet were like tampering with the mail.
20:01:51 <Gregor> pikhq: Fun for the whole family?
20:03:41 <Vorpal> pikhq, Gregor: any if you can give me some ips to alternative dns servers? I don't know what good ones exist these days
20:03:48 <Vorpal> (I haven't had dns issues like these for ages)
20:04:09 <pikhq> Vorpal: 8.8.8.8
20:04:14 <Vorpal> hm
20:04:19 <Gregor> Vorpal: 8.8.8.8 and 8.8.4.4 if you're happy to hand all your data to The Google.
20:04:22 <pikhq> Or, if you're like me, 127.0.0.1
20:04:25 <Phantom_Hoover> pikhq, which law does it break?
20:04:34 <pikhq> Phantom_Hoover: FCC regulations.
20:05:07 <Vorpal> Gregor, if it is enough to be able to resolve the ip of the distro mirror to download a local recursive dns server: then yes for a while
20:05:30 <Vorpal> Gregor, I'm utterly unable to reach anything not cached by my router atm
20:05:57 <oerjan> <pikhq> Or, if you're like me, 127.0.0.1 <-- isn't that rather unlikely to solve his fundamental problem? :D
20:06:20 <pikhq> oerjan: Does if he has a DNS server on localhost, like me.
20:06:21 <Vorpal> pikhq, does dnsmasq do recursive resolver?
20:06:31 <Vorpal> I do not want to install bind really
20:06:38 <oerjan> hm wait
20:06:47 <Gregor> Vorpal: Do you have some qualm with giving your data to The Google? The Google is everything. All that once was and all that will be. The Google controls time and space, love and death! The Google can see into your mind! The Google can SEE INTO YOUR SOUL! ALL GLORY AND LOVE TO THE GOOGLE
20:07:14 <Vorpal> Gregor, for some reason that reminded me of time cube
20:07:20 <fizzie> I think dnsmasq only does forwarding.
20:07:27 <Gregor> Vorpal: It should have reminded you of Charlie the Unicorn :P
20:07:32 <Vorpal> fizzie, so what is a good recursive one?
20:07:43 <Vorpal> that preferably isn't bind
20:07:50 <Vorpal> Gregor, never heard of that
20:07:55 <Gregor> Vorpal: ... D-8
20:08:04 <Gregor> pikhq, elliott: WEEP WITH ME
20:08:10 <Vorpal> Gregor, which way is up in that smiley?
20:08:14 <elliott> Gregor: Weep.
20:08:22 <pikhq> Vorpal: unbound does recursive DNS.
20:08:33 <fizzie> Well, if not bind, there was some small recursive-only thing too, but I've forgotten the name.
20:08:38 <Gregor> Vorpal: If you can't answer that question yourself, you have wildly insufficient experience with human faces :P
20:08:39 <pikhq> fizzie: unbound
20:08:48 <Vorpal> pikhq, any good?
20:08:59 <pikhq> I've been using it for nearly a year now.
20:09:05 <Vorpal> since it isn't in my distro repo I guess it means AUR or some manual work
20:09:06 <oerjan> Gregor: clearly you are wearing ray-bans and doing something contorted with your tongue
20:09:16 <pikhq> Vorpal: Which distro?
20:09:21 <Vorpal> ah AUR...
20:09:23 <Vorpal> pikhq, arch
20:09:34 <Vorpal> pikhq, because I want rolling release. And gentoo is not a good option
20:09:36 <fizzie> Then there's djbdns' "dnscache", I don't have any first-hand experiences on that.
20:09:51 <oerjan> hm wait
20:10:18 <Vorpal> hm I only used djbdns for authoritative
20:10:19 * oerjan thought ray-bans implied that shape but google images disagrees
20:10:36 * Gregor has no friggin' clue what "ray-bans" is supposed to mean :P
20:10:38 <pikhq> You could just use bind, and sob.
20:10:47 <Vorpal> pikhq, nah, AUR has it
20:10:55 <Vorpal> pikhq, so should be done soon
20:11:10 <oerjan> Gregor: it's a trademark for sunglasses afaik
20:11:36 <Gregor> oerjan: Sunglasses ... for cyclopses?
20:12:34 <oerjan> Gregor: well apparently not, although i haven't found the name of what i was really thinking of yet
20:14:51 <fizzie> Even those "uni-lens" sort of sunglasses have a bump where your nose goes, so D is a bad approximation for them too. (B I've seen for sunglass-eyes.)
20:16:19 <Vorpal> pikhq, huh, it uses libtool yet the compiler command lines in make output are not massive
20:16:31 <Vorpal> they fit on one line in my terminal
20:16:39 <oerjan> Gregor: hm maybe visor is the word
20:17:01 <Gregor> oerjan: That's a weird-lookin' visor, but I can see it :P
20:17:04 <oerjan> http://en.wikipedia.org/wiki/File:Visor.jpg looks similar
20:18:22 <Gregor> That ... is something I would usually call a facemask, unless it's worn in a way I can't fathom.
20:18:51 <Gregor> According to Wikipedia, I have no friggin' clue what a visor is 8-D
20:19:13 <fizzie> That linked one is a "sports visor" subclass object.
20:20:09 <oerjan> fizzie: er except the actual sports visor article says that's a cap and has nothing to do with glasses...
20:21:13 <oerjan> oh http://en.wikipedia.org/wiki/Green_eyeshade fits perfectly
20:22:06 <fizzie> So Gregor is involved in accounting, auditing, fiscal management, economics, or budgeting.
20:22:48 <olsner> "The city is populated by various anthropomorphized animals, with ducks, dogs, and pigs the most dominant ones."
20:23:20 <oerjan> fizzie: sounds legit to me
20:25:05 <fizzie> Yes, such a git indeed.
20:25:58 <Gregor> olsner: Free yourself from the Wikipedia Clickit Game :P
20:26:00 <fizzie> "The population is estimated 316 000." I'm disappointed no-one's [citation needed]'d that.
20:28:09 * oerjan assumes green eyeshade -> Scrooge McDuck -> Duck universe
20:28:20 <Gregor> "The quality of Wikipedia pages has been brought into question, particularly in the amount of data it presents as needing citation [citation needed]."
20:28:52 <oerjan> Gregor: that needs a {{by whom}} tag as well :D
20:29:05 <Gregor> oerjan: Touche sir!
20:29:53 <oerjan> also i'm disappointed you apparently made that up
20:30:17 <olsner> wow, I'm tired
20:30:35 <olsner> that almost never happens!
20:30:42 <pikhq> oerjan: You would, what with being in one of those countries where Disney comics are actually popular.
20:30:52 <pikhq> (they hardly even *exist* in the US, their country of origin)
20:31:28 <oerjan> pikhq: i think norway may be the country where they are most popular
20:32:07 <pikhq> oerjan: Popular in most of Europe. It's rare to find someone aware of their existence in the US.
20:33:04 <fizzie> "By 2005 around one out of every four Norwegians read the Norwegian edition Donald Duck & Co. per week, translating to around 1.3 million regular readers. During the same year, every week 434,000 Swedes read Kalle Anka & Co. By 2005 in Finland the Donald Duck anthology Aku Ankka sold 270,000 copies per issue." I guess Norway does win, according to those perhaps not so reliable numbers.
20:33:24 * oerjan was about to paste that :D
20:33:36 <fizzie> At least our glorious country is the only one of which this tidbit of information is mentioned: "Finnish voters placing "protest votes" typically write "Donald Duck" as the candidate.[12]"
20:34:29 <Phantom_Hoover> ineiros, ping!
20:34:37 <pikhq> If you say "comic" to the average American, they think of a small handful of superhero comics.
20:34:43 <oerjan> fizzie: on the other hand sweden had the distinction of Disney's Christmas special at one time being the most popular tv program
20:35:24 <oerjan> i vaguely recall a rumor that this fact made disney change a decision to cancel the program
20:35:42 <oerjan> (very vaguely)
20:36:18 <Phantom_Hoover> Did I mention my pain in trying to find Sandman Vol. 4?
20:36:27 <Phantom_Hoover> It seems to have been mysteriously discontinued.
20:36:29 <fizzie> "An annual Christmas special in Norway, Denmark and Sweden is called "Donald Duck and His Friends Celebrate Christmas". Segments include Ferdinand, a short with Chip and Chet, a segment from Lady and the Tramp, a sneak preview of a coming Disney movie and concludes with Jiminy Cricket performing "When You Wish Upon A Star"." -- What discrimination: we do that too.
20:36:47 <fizzie> Same contents and all.
20:36:51 <oerjan> Phantom_Hoover: i recall someone mentioning that about season of mists, was that it?
20:37:04 <Phantom_Hoover> oerjan, indeed.
20:37:22 <pikhq> I really need a copy of Sandman.
20:37:46 <Phantom_Hoover> So do I.
20:38:00 <oerjan> Phantom_Hoover: that's strange, i recall it being a particularly pivotal part
20:38:13 <pikhq> oerjan: Quite.
20:38:41 <Phantom_Hoover> oerjan, perhaps it's sold out.
20:38:45 <Phantom_Hoover> Bloody annoying.
20:39:02 <Phantom_Hoover> IIRC I have a preorder which should arrive in... April.
20:39:18 <oerjan> not just for sandman itself, but also for the spinoff lucifer series
20:40:26 <Phantom_Hoover> shutupshutupshutup
20:40:33 <fizzie> They also show this -- http://en.wikipedia.org/wiki/The_Snowman -- thing every Christmas (well; 1983, 1989, then 1992 onwards each year); I think that's been copied from UK?
20:41:04 <Phantom_Hoover> Yep.
20:44:27 <elliott> I'M WALKING IN THE AIIIIIIIIIIR
20:44:45 <oerjan> wait, chip and _chet_?
20:45:19 <fizzie> Uh, hmm. That's what it *says*.
20:45:42 <fizzie> Well, it's Tiku and Taku here in Finland; maye that was written with someone from another freaky-name-land too.
20:45:58 <oerjan> i'm pretty sure it's chip and dale (note the pun)
20:46:25 <fizzie> Yes, that sounds rather more familiar too.
20:46:52 <fizzie> A ""chip and chet" wikipedia" search seems to find just that one page and things quoting it.
20:48:47 <fizzie> It has been "Chet" on the page for at least the whole year 2010. (Wikipedia needs a "bisect"-style thing, or a "when was this bit edited" tool.)
20:48:49 <elliott> WHY DOESN'T THIS WORK.
20:50:57 <Gregor> Needs more 🐮🔔
20:50:59 <elliott> HEY OLSNER WANNA WRITE MY CODE FOR ME
20:51:01 <elliott> eh olsner? eh?
20:51:12 <elliott> Gregor: 01F42E 01F514?
20:51:36 <Gregor> YES.
20:51:59 <fizzie> http://en.wikipedia.org/w/index.php?title=Donald_Duck&diff=330059847&oldid=329462566 -- at least you now know which IP to blame.
20:52:27 -!- Wamanuz has joined.
20:52:28 <oerjan> fizzie: ah i was doing a binary search
20:52:55 <oerjan> ok so it was chet from the start
20:52:59 <fizzie> I was doing a "skip backwards one year at a time, then do a binary search" search.
20:53:51 <oerjan> oh i just did last 500 to start it
20:55:02 <elliott> So what's a reliable way to make an x86 reboot in real mode? :p
20:55:05 <elliott> As in crash it.
20:56:06 <fizzie> Use the same port as the fast a20 gate thing, except poke a 1 to bit 0.
20:56:51 <fizzie> What's this for?
20:57:24 * oerjan has edited
20:57:35 <fizzie> * oerjan has been edited
20:58:10 <elliott> <fizzie> Use the same port as the fast a20 gate thing, except poke a 1 to bit 0.
20:58:17 <elliott> No, apparently that doesn't crash everything.
20:58:21 <elliott> It just doesn't work on some things.
20:58:22 <Vorpal> pikhq, nice, dnssec works almost out of the box for unbound
20:59:09 <fizzie> Well, what do you need a reboot for?
21:00:31 <elliott> fizzie: To check that this bit of code is actually being got to. :p
21:00:39 <elliott> int 3 does nothing to qemu.
21:02:20 <zzo38> elliott: Does it even call interrupt 3?
21:02:29 <zzo38> Or just nothing at all?
21:02:42 <oerjan> btw the short in question is "Pluto's Christmas Tree" on the Chip 'n' Dale page
21:02:43 <elliott> I have verified specifically that int 3 does nothing to qemu, so it does not help here.
21:02:58 <zzo38> Can you set a breakpoint in qemu?
21:03:00 <Phantom_Hoover> Why does noöne appreciate my Lazy K IO library...
21:03:10 <Phantom_Hoover> I HATE YOU ALL
21:03:17 <fizzie> Well, you could try the triple-fault, but I'm not sure how to do that in real mode really simply.
21:03:27 <fizzie> qemu's monitor can set breakpoints, IIRC.
21:03:35 <zzo38> Phantom_Hoover: I have never even seen your Lazy K IO library
21:03:47 <Phantom_Hoover> zzo38, yay, you're interested!
21:04:19 <elliott> fizzie: Can I jmp invalidly or something?
21:04:57 <fizzie> elliott: Well, the linux arch/x86/kernel/reboot.c reboots by executing the bytes 0xea, 0x00, 0x00, 0xff, 0xff /* ljmp $0xffff,$0x0000 */
21:05:01 <fizzie> (After flipping to real mode.)
21:05:01 <zzo38> I think you would have to set a break point.
21:05:29 <Phantom_Hoover> zzo38, http://esolangs.org/wiki/User:Phantom_Hoover/io.scm
21:05:30 <zzo38> Something I have done when debugging a GameBoy program in VisualBoyAdvance, which has no breakpoints, is make an instruction that jumps to itself.
21:06:24 <Phantom_Hoover> Note the lack of documentation!
21:06:37 <fizzie> Supposedly a "jmp far 0xffff:0" will invoke a reboot routine in the BIOS.
21:07:19 <zzo38> Phantom_Hoover: OK, I can see it
21:07:30 <zzo38> I can see lack of documentation.
21:07:49 <tswett> x86 is complicated. Let's all use MIPS instead.
21:08:20 <elliott> tswett: No, MMIX!
21:08:31 <Phantom_Hoover> Let's all use a non-imperative architecture!
21:08:47 <fizzie> One of our only involved-assembly-programming courses ("introduction to computer hardware", a really basic-level common-to-all course) used MIPS (simulated, in SPIM) for the (trivial) programming exercises.
21:08:48 <Vorpal> Phantom_Hoover, reduciron! (sp?)
21:08:55 <Phantom_Hoover> *e
21:08:59 <elliott> Phantom_Hoover: I fixed the formatting for you.
21:09:02 <elliott> Vorpal: -eron.
21:09:09 <Vorpal> elliott, ah
21:09:29 <zzo38> elliott: No hardware implementation of MMIX exists. Although I would like to make one in some time
21:09:30 <Vorpal> elliott, I wrote "reduceitron" first and thought "uh no, that wasn't it"
21:09:39 <elliott> fizzie: "jmp far 0xffff:0" --> "mismatch in operand sizes"
21:10:09 <Vorpal> elliott, hm. Add more f?
21:10:12 <Vorpal> elliott, or fewer
21:10:19 <Vorpal> (wild guess)
21:10:28 <elliott> I do not see how that would accomplish anything.
21:10:39 <Vorpal> elliott, well it would change the (textual) operand size
21:10:59 <fizzie> elliott: Just put in db 0xea, 0x00, 0x00, 0xff, 0xff then, I don't know what the proper syntax is. :p
21:11:21 <elliott> OK, it doesn't reboot. Not good.
21:11:25 <elliott> fizzie: Might I need interrupts enabled for that?
21:11:46 <fizzie> Possibly. You could try if it reboots if you put that in some place you're sure gets executed.
21:11:50 <Vorpal> elliott, wait, you use intel I presume? So why are you using 0x?
21:11:58 <elliott> Vorpal: ...as opposed to?
21:12:01 <Vorpal> elliott, isn't h the usual way
21:12:05 <elliott> No.
21:12:05 <Vorpal> with intel
21:12:11 <elliott> Only for interrupt numbers.
21:12:14 <Vorpal> ah
21:12:16 <oerjan> zzo38: i see an FPGA implementation at least...
21:12:29 <Phantom_Hoover> http://qntm.org/bead
21:12:33 <Phantom_Hoover> THIS MUST BE MADE
21:12:34 <oerjan> http://www.reddit.com/r/programming/comments/dmk16/fpga_implementation_of_donald_knuths_mmix/
21:12:51 <oerjan> well or maybe not the comment says something about it being abandoned
21:13:46 <elliott> <Phantom_Hoover> http://qntm.org/bead
21:13:47 <elliott> Yes.
21:13:48 <elliott> Yes yes yes.
21:13:55 <Phantom_Hoover> Yesyesyesyes.
21:14:23 <Vorpal> Phantom_Hoover, uh
21:14:26 <Vorpal> "The locals will be equal parts sophisticated, intelligent, cosmopolitan Scandinavians with Bluetooth headsets, gigabit fibre optic internet connections and superb health care, and insane hairy fur-trappers and fishermen one step removed from the Norse god Thor."
21:14:31 <Vorpal> not good for Svalbard
21:14:54 <Phantom_Hoover> Vorpal, it is a sitcom.
21:14:57 <Vorpal> Phantom_Hoover, I mean. Svalbard is probably satellite internet only
21:15:03 <Phantom_Hoover> Humour > accuracy.
21:15:23 <Vorpal> Phantom_Hoover, also uh. It is western Europe. So how eastern Europe makes no sense
21:15:41 <Vorpal> eastern Europe starts east of Sweden definitely, and Svalbard is more like north of UK
21:16:02 <Phantom_Hoover> Vorpal, if you can't realise the hilarity inherent in the concept, you suck.
21:16:09 <oerjan> Vorpal: well clearly they need the insane hairy fur-trappers to keep the polar bears at bay
21:16:12 <elliott> Vorpal: Svalbard has a fibre-optic link.
21:16:19 <elliott> To the US, iirc.
21:16:24 <Vorpal> elliott, huh. That's impressive
21:16:27 <elliott> Terrible latency one presumes, though apparently the throughput is great.
21:16:48 <Vorpal> elliott, throughput ought to be great, not a lot of people share it
21:16:56 <Vorpal> it's like. 1000 at most?
21:16:57 <Vorpal> or such
21:17:02 <zzo38> Do they exist FPGA with publicly available information to program it, without encryption?
21:17:03 <elliott> Plan 9 source code is so beautiful.
21:17:05 <Vorpal> though quite season-dependant iirc
21:17:14 <Phantom_Hoover> elliott, sample?
21:17:24 <elliott> Svalbard, were it not so cold, would be a paradise; you can emigrate there just by *wanting to*.
21:17:31 <elliott> There's actually a law.
21:17:39 <elliott> I don't recall the exact statement.
21:17:39 <Vorpal> elliott, what?
21:17:46 <elliott> But basically anyone can go and live there, no questions asked.
21:17:52 <elliott> And fibre-optic!!!
21:17:58 <elliott> note: source is reddit :P
21:18:05 <elliott> Phantom_Hoover: http://plan9.bell-labs.com/sources/plan9/sys/src/
21:18:29 <Vorpal> elliott, uh. if it wasn't so cold then probably it would be overcrowded and thus that law wouldn't exist (if it does, and wasn't misinterpreted)
21:18:48 <elliott> Vorpal: IIRC it was part of some deal or something.
21:18:50 <Phantom_Hoover> Looks like normal C code tto me.
21:18:50 <elliott> I forget exactly :P
21:18:52 <Phantom_Hoover> *to
21:19:17 <elliott> Phantom_Hoover: You haven't seen most C code, then.
21:19:28 <Vorpal> elliott, well, then we know where bin Ladin is hiding. No one asked him his name when he wanted to go there (no questions asked and so on)
21:19:29 <Vorpal> ;P
21:19:36 <elliott> Phantom_Hoover: (It might help you understand the elegance and simplicity of the code vastly if you know C.)
21:19:45 <elliott> "Sick of your country? Don't mind cold weather? The treaty of Spitzbergen allows citizens of 39 nations to migrate to Svalbard (a Norwegian island near the North pole) and become residents if they want to, no questions asked."
21:19:59 <Vorpal> elliott, any specific file that is a good example?
21:20:05 <elliott> http://en.wikipedia.org/wiki/Politics_of_Svalbard#Spitsbergen_Treaty
21:20:21 <elliott> Vorpal: Any file; pick one. The implementation will be more elegant than you expect unless you have very high expectations.
21:21:03 <elliott> (OK, not every single file. But most.)
21:22:00 <Vorpal> elliott, expectation: code for MMU handling will look like elegant haskell
21:22:06 <fizzie> Hm, Sharp has a "RGB+Y" TV (adds a yellow-ish subpixel into a RGB screen); after those RGBE camera filters, I was a bit wondering when they'd do the same trick in display technology too. (Too bad all the video signals contain only RGB material, so it's a bit dubious if it's any use there.)
21:22:19 <elliott> Vorpal: Prepare to be disappointed.
21:22:23 <Vorpal> elliott, which part is the low level kernel?
21:22:27 <Vorpal> elliott, as in, what subdir
21:22:29 <elliott> fizzie: Sulu was in the adverts for those here.
21:22:33 <elliott> fizzie: As a pretentious scientist.
21:22:41 <elliott> Vorpal: I think 9/, but I'm not sure. :p
21:22:50 <elliott> boot/ is also relevant-looking.
21:23:32 <Vorpal> http://plan9.bell-labs.com/sources/plan9/sys/src/9/pc/mmu.c
21:23:33 <Vorpal> ah
21:23:36 <Vorpal> elliott, not so elegant
21:23:49 <elliott> Vorpal: It's the x86 MMU, how could it possibly be.
21:23:52 <Vorpal> m->gdt[TSSSEG].d1 = (x&0xFF000000)|((x>>16)&0xFF)|SEGTSS|SEGPL(0)|SEGP;
21:24:04 <Vorpal> elliott, well true
21:24:14 <Vorpal> elliott, lets try memcpy
21:24:14 <oerjan> elliott: one point about svalbard btw, you need to have a job to go there, the usual norwegian welfare benefits don't apply there, not even to norwegian citizens iirc
21:24:17 <elliott> The rest of the kernel is quite elegant beyond the low-level boot in my experience.
21:24:29 <elliott> Vorpal: There's an assembly version I think, not sure if there's a generic version.
21:24:31 <elliott> oerjan: lame :D
21:24:53 <Vorpal> elliott, no generic code: http://plan9.bell-labs.com/sources/plan9/sys/src/libc/ ?
21:24:57 <elliott> Vorpal: port/
21:25:01 <elliott> Vorpal: Here's memccpy: http://plan9.bell-labs.com/sources/plan9/sys/src/libc/port/memccpy.c
21:25:04 <Vorpal> elliott, how logical name
21:25:09 <Vorpal> elliott, ccpy?
21:25:10 <elliott> Vorpal: PORTable.
21:25:20 <elliott> Vorpal: The extra c is I'm not sure what.
21:25:25 <Vorpal> elliott, ah, and 9/pc vs. libc/386
21:25:29 <Vorpal> yes perfectly logical
21:25:31 <elliott> Vorpal: 386s are not PCs.
21:25:33 <elliott> PC = 386 + things.
21:25:38 <elliott> libc/386 isn't PC-specific, just 386-specific.
21:25:40 <Vorpal> elliott, indeed
21:25:44 <elliott> So yes, it is logical.
21:26:02 <elliott> Vorpal: (Also presumably one uses port/ when making a new PORT and you haven't yet written all the things; Plan 9 runs on more architectures than there are directories in libc/.)
21:26:07 <Vorpal> http://plan9.bell-labs.com/sources/plan9/sys/src/libc/port/memccpy.c <-- why c &= 0xFF;
21:26:22 <Vorpal> oh right
21:26:26 <Vorpal> to get just one byte
21:26:57 <Vorpal> elliott, the thin box on this looks weird: http://plan9.bell-labs.com/sources/plan9/sys/src/libc/386/memcpy.s
21:27:03 <Vorpal> more like a poem or something
21:27:06 <Vorpal> than a file
21:27:15 <elliott> It's a CODE POEM.
21:27:25 <Vorpal> elliott, it is x86 asm
21:27:32 <elliott> CODE POEM
21:27:45 <zzo38> Phantom_Hoover: Maybe you should add a {{.file}} template to allow the formatted code to be downloaded. (Another way is changing the formatting to put a space before each line instead of <pre><nowiki>, that also allows it to be downloaded)
21:27:56 <zzo38> Either way should do.
21:28:30 <Vorpal> elliott, opinion on DNSSEC?
21:28:38 <elliott> I have no opinion.
21:28:45 <Vorpal> elliott, you don't think it is bloated?
21:28:50 <Vorpal> I am confused.
21:28:54 <Phantom_Hoover> zzo38, I'd rather fix the scheduling.
21:28:58 <Vorpal> by this behaviour
21:29:08 <elliott> http://plan9.bell-labs.com/sources/plan9/sys/src/cmd/8c/cgen.c Entire 386 code generator for the Plan 9 compiler.
21:29:20 <elliott> Vorpal: I haven't even looked at it since it sounds incredibly boring.
21:29:22 <Vorpal> elliott, long
21:29:23 <zzo38> Phantom_Hoover: What scheduling?
21:29:31 <elliott> Vorpal: Long?
21:29:34 <elliott> Vorpal: I'd like to see gcc's.
21:29:37 <elliott> Except it's probably 70 files.
21:30:34 <Phantom_Hoover> zzo38, consider the following scenario: you wan to print something, input, print something else, then print whatever was input.
21:30:49 <elliott> Vorpal: http://plan9.bell-labs.com/sources/plan9/sys/src/cmd/vc/cgen.c The much shorter code generator for big-endian MIPS.
21:30:49 <Vorpal> hm... DNSSEC stands for "Domain Name System Security Extensions", hm SEC. I spot either a backronym or someone designing with the the acronym in mind
21:31:00 <Phantom_Hoover> Lazy K's non-strict semantics cause the two constant outputs to be performed before the input.
21:31:18 <Vorpal> elliott, still the usual mess, typical of well written C code
21:31:34 <elliott> Vorpal: Code generation is a mess; there are nicer programs in the tree.
21:31:38 <elliott> Nicer than gcc and llvm, I'll bet.
21:31:38 <zzo38> Phantom_Hoover: OK, then fix that problem.
21:31:43 <Vorpal> elliott, C is ugly.
21:31:52 <elliott> Vorpal: Not Plan 9 C.
21:31:53 <Vorpal> sure, there are better and worse C code examples
21:31:59 <Vorpal> elliott, compared to haskell yes it is ugly
21:32:03 <zzo38> Vorpal: Not if it is neatly printed using Enhanced CWEB.
21:32:11 <Vorpal> zzo38, aaaaargh
21:32:15 <elliott> Vorpal: Not at what Plan 9 is doing.
21:32:21 <Vorpal> it's like sgeo and activeworlds
21:32:39 <Vorpal> elliott, then we are doing the wrong thing :P
21:33:20 <zzo38> Phantom_Hoover: But I still suggest you correct the page to allow downloading (there are two ways to do so), as well.
21:34:34 <elliott> The page isn't broken.
21:34:40 <Vorpal> zzo38, what page
21:47:40 <Vorpal> elliott: http://tools.ietf.org/html/rfc4255
21:47:44 <Vorpal> looks cool
21:50:07 <elliott> Vorpal: Heh.
21:50:30 <Vorpal> elliott, proposed though
21:51:45 <Vorpal> elliott, we can only be happy that the guys who invented stuff like DNSSEC haven't made DRM schemes. DNSSEC seems utterly competently made
21:54:59 -!- Sasha2 has joined.
21:55:59 -!- Mathnerd314 has joined.
22:03:24 <Phantom_Hoover> ineiros, ping.
22:04:13 <Vorpal> Phantom_Hoover, problems?
22:04:32 <Phantom_Hoover> No, asking if he's come to a decision on MoveCraft.
22:04:54 <elliott> http://interfacelab.com/objective-c-memory-management-for-lazy-people/ "whine whine i'm hardcore i don't need a gc"
22:06:00 <elliott> Phantom_Hoover: The metatree is now a meta4.
22:06:10 <elliott> No, wait.
22:06:11 <elliott> Still a meta3.
22:06:24 <elliott> But hey, I never meta3 I didn't like.
22:06:35 <elliott> grr
22:06:40 <elliott> how much horizontal clearance does a tree need
22:08:08 <elliott> Phantom_Hoover: Are you coming back on today?
22:11:30 -!- kar8nga has quit (Remote host closed the connection).
22:11:56 <ineiros> Phantom_Hoover: Pong.
22:12:53 <Phantom_Hoover> ineiros, have you come to a decision re MoveCraft?
22:14:31 <Phantom_Hoover> elliott, ah, the classic hardcore nerd.
22:14:36 <ineiros> Haven't looked at it yet, no.
22:14:44 <elliott> Phantom_Hoover: wut?
22:14:46 <elliott> Oh.
22:15:08 <quintopia> elliott: a tree built out of metatrees?
22:15:29 <quintopia> or rather, a tree built out of those^?
22:15:39 <nooga> http://www.youtube.com/watch?v=ySmYyAqV8jM
22:15:40 <nooga> this
22:16:28 <elliott> quintopia: do you play minecraft? i can only explain it if you do
22:16:57 <Phantom_Hoover> quintopia, it's a tree planted on top of a tree. Ignore elliott.
22:17:47 <nooga> metatree
22:17:53 <nooga> what a rad name
22:17:58 <quintopia> Phantom_Hoover: i don't suppose minecraft yet has enough vertical voxels to accomodate a tree built of trees built of trees built of trees
22:18:12 <Phantom_Hoover> quintopia, it does nott.
22:18:14 <Phantom_Hoover> *not
22:18:52 -!- zzo38 has quit (Quit: zzo38).
22:19:30 <quintopia> but it might could manage 1 less meta there by digging down sufficiently far and limiting how many sub-trees each tree has suitably
22:19:32 <elliott> Phantom_Hoover: it's harder than that
22:19:36 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:19:37 <elliott> you have to do surgery after it grows
22:19:49 <elliott> fizzie: I forget, what's the common way to get "jz" and friends all knowing after you do a mov?
22:19:52 <elliott> test foo, foo?
22:20:07 <fizzie> That's the usual one.
22:20:19 <elliott> Does that work if foo is [di+N] for constant N? :P
22:21:34 <fizzie> I don't think you can have two mem arguments in test, but in that case the other operand of mov should've been a register you could test.
22:23:57 <Vorpal> <quintopia> Phantom_Hoover: i don't suppose minecraft yet has enough vertical voxels to accomodate a tree built of trees built of trees built of trees <-- do you mean the height from top to bottom of map in blocks?
22:23:58 <elliott> Constant actually :P
22:24:02 <elliott> I guess I could do test const, const.
22:24:11 <elliott> Or, wait.
22:24:13 <elliott> Just precompute the result.
22:24:19 <nooga> make lisp using redstone logic
22:24:26 <fizzie> In that case you should do it compile-time, yes.
22:24:36 <fizzie> Well, assemble-time.
22:24:40 <Vorpal> <elliott> fizzie: I forget, what's the common way to get "jz" and friends all knowing after you do a mov? <-- somehow I read that as "jwz and [his] friends"
22:24:42 <Vorpal> XD
22:25:07 <fizzie> I did spend a moment thinking "who's jz?" too.
22:26:28 <nooga> er
22:27:40 <Vorpal> anyway my system now does dnssec. Very nice
22:27:52 <fizzie> If you want to set flags based on what's at di+N, you could "cmp [di+N], 0"; I don't know offhand if there's a variant that doesn't involve a silly immediate value 0.
22:28:22 <Vorpal> fizzie, if you assembler supports macros you could make one
22:28:28 <Vorpal> (of course, that is cheating)
22:28:59 <fizzie> Sure, but for a dword that's a four-byte immediate.
22:29:54 <Vorpal> fizzie, why are you using asm if you care for efficiency.. Oh wait
22:30:28 <fizzie> (And in fact you'd need to indicate the size there since there's no register involved, and Intel syntax doesn't put in the suffixes.)
22:31:02 <Vorpal> fizzie, so how do you indicate the size with intel syntax?
22:31:24 <Vorpal> I don't remember
22:31:29 <elliott> cmp dword [di+N], 0
22:31:34 <fizzie> Right.
22:32:08 <Vorpal> how verbose
22:32:15 <elliott> ...
22:32:20 <elliott> stfu
22:32:29 <Vorpal> elliott, it *is* shorter with gas :P
22:32:30 <fizzie> I would think the suffixes take up more bytes on average.
22:32:43 <Vorpal> fizzie, maybe
22:32:43 <elliott> indeed
22:33:55 <fizzie> cmpl $0, N(%di) there?
22:34:08 <elliott> ew
22:35:56 <Vorpal> elliott, you are on MC, but what are you doing
22:36:05 <Vorpal> fizzie, seems quite sensible
22:36:38 <elliott> no it doesn;'6
22:36:50 <fizzie> Let's not do the same syntax discussion again.
22:37:05 <elliott> let's
22:37:12 <fizzie> I don't want to go grepping my examples with the phone, anyway.
22:40:43 -!- Sgeo has joined.
22:41:51 <Vorpal> elliott, down?
22:43:58 <Vorpal> very down
22:44:01 <Vorpal> ineiros, what is going on?
22:46:30 <elliott> why does anything have to be going on
22:47:51 <elliott> fizzie: What's the maximum displacement?
22:47:53 <elliott> is it signed 8 bit?
22:49:50 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:49:57 <fizzie> 32, I think.
22:50:03 <elliott> fizzie: what, +32? :)
22:50:04 <elliott> signed 32-bit, okay.
22:50:15 <nooga> elliott: what are you doing?
22:50:16 <fizzie> But if you stay within 8, the encoding is shorter.
22:50:20 <elliott> nooga: hm?
22:50:40 <elliott> ais523: you know how you tried to make the dna maze source unconventionally formatted to irritate people?
22:50:42 <fizzie> (Asleep now.)
22:52:14 <Vorpal> ineiros, see comment about authcraft in server chat
22:59:42 -!- augur has quit (Remote host closed the connection).
22:59:51 -!- impomatic has joined.
22:59:56 <impomatic> Hi :-)
23:00:18 -!- augur has joined.
23:01:03 <impomatic> 请点我到英吉利海峡
23:01:07 -!- hkrliu has joined.
23:01:53 -!- augur has quit (Read error: Operation timed out).
23:06:18 <oerjan> ho
23:08:30 <nooga> he
23:09:41 -!- impomatic has quit (Read error: Connection reset by peer).
23:24:30 -!- Goosey has joined.
23:27:10 -!- hkrliu has quit (Ping timeout: 260 seconds).
23:29:03 <Gregor> http://www.amazon.com/Unicorn-Castle-T-Shirt-Cotton-Sleeve/dp/B0037TPED4/ref=pd_sbs_a_2 // best comment ever: Here's the life-changing part: As soon as I started wearing it, people started believing I was gay. No more insisting on my part - the shirt says it all.
23:32:01 <tswett> So if I'm gay, I should definitely get that shirt.
23:34:08 <Gregor> To quote another review: "Gay is the new black"
23:34:58 <Slereah> Customers Who Viewed This Item Also Viewed
23:34:59 <Slereah> The Mountain Three Wolf Moon Short Sleeve Tee by The Mountain
23:35:08 <Slereah> Surprising!
23:36:11 <tswett> Can I get a Three Perry-the-Platypus Moon Short Sleeve Tee?
23:40:52 -!- ais523 has quit (Remote host closed the connection).
23:42:32 -!- Mathnerd314 has quit (Ping timeout: 255 seconds).
23:42:48 -!- Mathnerd314_ has joined.
23:43:13 -!- Mathnerd314_ has changed nick to Mathnerd314.
23:44:55 <elliott> Gregor: * Receive 1 Ugly Christmas Sweater Fleece free when you purchase $100.00 or more of Qualifying Items offered by Bison Lake Trading Company. Enter code Q7WVSL9K at checkout. Here's how (restrictions apply)
23:44:59 <elliott> WORST FLEECE EVER
23:45:38 <Gregor> elliott: It is pretty ugly :P
23:45:49 <tswett> Oh, speaking of [SUPERLATIVE] [NOUN] EVER:
23:45:57 <tswett> Gregor: you are the BEST JAZZ MUSICIAN EVER
23:46:04 <Gregor> That seems unlikely :P
23:46:47 <tswett> Okay, you are a PRETTY GOOD JAZZ MUSICIAN?
23:46:56 <Gregor> I am no kind of jazz musician ...
23:47:12 <elliott> I think tswett means Gregor's friend who is indistinguishable from him.
23:47:16 * tswett nods solemnly.
23:47:19 <elliott> Why is my compiler trying to compile NULL and why is it working.
23:47:29 <elliott> And is it actually...
23:47:31 <Gregor> If you're referring to Eric Allen, then he most assuredly is, y es.
23:47:31 <Gregor> *yes
23:47:47 <tswett> Is NULL a programming language, a specific string, or... something else?
23:50:38 <coppro> (void*)0
23:50:44 <elliott> tswett: NULL is NULL :P
23:51:03 <elliott> coppro: Actually it can be (T *)0 for any T, no?
23:51:14 <tswett> So, a null pointer.
23:51:19 <tswett> What does it mean to compile a pointer?
23:51:39 <elliott> tswett: To feed the NULL pointer to my compilation procedure.
23:51:39 <coppro> elliott: not sure
23:51:48 * tswett nods.
23:51:50 <elliott> I don't think it actually is, but...
23:52:55 <elliott> coppro: In C and C++ programming, two null pointers are guaranteed to compare equal; ANSI C guarantees that any null pointer will be equal to 0 in a comparison with an integer type; furthermore the macro NULL is defined as a null pointer constant, that is value 0 (either as an integer type or converted to a pointer to void), so a null pointer will compare equal to NULL.
23:53:06 <elliott> coppro: So NULL can actually be #define NULL (char)0 :)
23:53:55 <elliott> wait what
23:53:58 <elliott> Okay, perhaps my parser is broken.
23:54:03 <Vorpal> night
23:57:00 <nooga> what compiler?
23:59:39 <elliott> nooga: This one.
2010-12-10
00:01:32 <nooga> which one
00:01:47 <elliott> nooga: This one.
00:02:15 <nooga> okay
00:06:47 <nooga> i can't see any compilers here
00:13:56 <nooga> ghh
00:15:31 <elliott> POSER INSTRUCTION
00:17:49 -!- Wamanuz has quit (Ping timeout: 272 seconds).
00:24:28 -!- terry123 has joined.
00:28:08 <elliott> bash: ./foo: cannot execute binary file
00:28:10 <elliott> That's a new one.
00:30:45 -!- Sasha2 has quit (Ping timeout: 240 seconds).
00:31:03 -!- Sasha has joined.
00:33:44 <elliott> I hereby present The World's Worst Code Formatting Style, revision 1:
00:33:52 <elliott> http://sprunge.us/hShh
00:34:20 <elliott> Yes, there are rules involved.
00:34:22 <elliott> Horrible rules.
00:34:34 <elliott> &c and &d should be "& c" and "& d" there.
00:34:49 -!- elliott has quit (Quit: Leaving).
00:38:57 <Ilari> One could immediately spot "optimizations". :-)
00:41:07 <nooga> what was that :F
00:41:30 <nooga> i hope that elliott isn;t trying to write another C compiler
00:44:47 -!- sftp has quit (Remote host closed the connection).
00:57:08 -!- Sasha has quit (Ping timeout: 255 seconds).
00:57:48 -!- Sasha has joined.
00:58:06 -!- FireFly has quit (Quit: swatted to death).
00:59:26 -!- terry123 has left (?).
01:00:41 <Gregor> Z̷̰͙͚̫ͮ̐͝a̢̳̹̪͂̊̇̔̃͛̕͜ḷ̷̡̘̙̝̠̩͇̈́͆͢ǧ̅͏̹̮̟̰͇̝ő̱͚̠̗̠̖̣ͯ̀̀͠ͅ,̢͚̪̯͍̰̟̠̗̎ͪͧ̅ ͙̝̞̬̘͈̫̐͊̏̀ͧ̐͌a̡̖̪̻͕̯̅ͬ͋́̾͘ǹ̳̤ͧ́̀ͪ̍ͦͭ͘̕͜y̸͕̙͈̣̣̥̰͎ͩ̏ͦ̈́̓̌ͧo̶̮̼̫ͧ̐̍̃n̡̝̦̭̰͉̳͎͓̄̒ͩ̎ͪ̄͘͘ĕ̫̲̺ͤ?̥̥͇̦̻̗̟ͫ͒̃͑ͤ͋
01:03:58 <nooga> who
01:04:08 <nooga> wtf is that
01:04:34 <nooga> Zatgo?
01:04:57 <Gregor> nooga: Zalgo. Zalgo is to invoke the hive-mind representing chaos.
01:05:07 <Gregor> Invoking the feeling of chaos.
01:05:11 <Gregor> With out order.
01:05:42 <Gregor> T̜̙̙͎̹̾͋ͩ̾͒ͤ̾ͅȟͬ̅e̢͚̣̩̩ͩͯ̌ͅ ҉N̈̾̚ez͖͍̬̥̣͙ͨ̾̌̔̔̇p̯͚eͯ͏̼̤̼r̾ͯ̕d̸̲̗̺i̹̳̹͉̙̳ͫ̃̽ͮ̽̅ͭa̡̺̻͙͕͕͇͕ͦn̴͓̜͌̊̅̔̊̒̓ ̛̜̤̭̊ͭh̵̟̮͔̘̬̜ͪi͎͊̑v̢͖͚̖͖͈̈́̿̀̽̏e̖̝̙̱̗͎̦͌̏̎̅̚-̟̹̠ͬͥ̈m̩̞͔͖̰̥̉̄̅ͫͬ́iͩ́ͫ̏͊̚n͋ͨͭ͞ḏ̩̰̦̫͇ ̨̹̫ͯ̔ͣͪo̡̮͈f͓̫͖̣̭ͩ͗̓ͧ̍̏̄ ̤̩̯̰̞̎͢c̲͓̯͞h̳̗̳̜̲͚ͤͥa̜͊o̳̣̭̐͂ͅs̎̒̐̋ͪ
01:05:43 <Gregor> ̨̖͙͖̹̞̗̈́ͨ.̛̟̦̙̙͎̮̉͑̈́ ̳̘̫̳Ž̧̬͎̝ͤ̿͆̋a̹̦l̢͔̟̜̈̀͐g̩̩̣̲͍͈ͯ̈͐ͦ̐̽̽ò̥͖.̍ͤ̽̍҉̙̭̰̼̞̩ ̸̂
01:05:56 <Gregor> Ḩ̶̡̯̮̠̙͙̹ͤ͊͂ͅe͍͖̅ͬͪ̏ͅ ̶̞̬̬̪̳̄͆̍͌̈́͘w̸̷̩͓̠̌̇ͯh͈͙̰͈̫̃̿̒ͭ͆ͪͣ̀͘͢ȍ̺͈̞̥̺̝͖ͯͮ͞ ̡̮̃͠Ẅ̮̖̝̊̀͜ͅá͖̻̞̬̖̮̾͒̎͂̔͠i̸̤͉̻̣ͮͤ̆ͥͭ̾̀t̸ͭ͋͗̍͋̔ͩ҉͔̣ş̷͖̝ͤ̑̈́̒͋̑̀ͣ̔ ͚͖̻͙̲̂ͦ͌ͤ̄͗B̝̫̻̬͈̦̲̮̭͊ͮ̍̂̏ͯ̇ͯe̼̺̠͍͚̤̫͖̊ͩ̒̋h̦͉ͤi̻͈͉̱̭̠̲ͪͪ̈́̀̊̐̑̈̀͡n͈̥͔̤̫̜ͮ̋͗d̡̼̖͕̠̙̫̬̗̂ ̢͈̜̺͉ͥ͌ͬ̀̆͑̔͠T̿ͦ
01:05:56 <Gregor> ̧̗̭̺͗̑ͥ̾͞h̷̨̤ͩ͂ͥ͒̈̿eͥ̅͗̽͛̂ͦ҉̗̝͎͖͚̩͍̹̜͜ ̔ͫ̏ͮ͗ͩ̚҉͈̝W̵̛̱̩͙̦̲̗͔̳̏̀͡a̸̯̣͍̽ͮ̔͒̅͑ͥͥ͐l̸̴̗̉̒̌̐̐͋͐̒͢ḽ̗͉̻̠̞͉͙ͫ̒͝.ͮ͐͏̴̗̺̟͖̣͎̮
01:06:05 <Gregor> Z̶̵̑̋̑̐͊̂̓̽ͨ̃͏͕͍̖̘̱̻͙̗̺̗̠͙̥Ą̴̯̺̟̭̅ͩͣ͑͘͝L͚̙͖̳̂̌̑̈́͌ͪ̿ͦ͘̕ͅĢ̷̛̹̙̖̩̻͚͚̳̳̬͇̮̬̰̬̒̑̑͗͗͆͛ͮͯ͑ͩ͜͝Ö̓̃̍ͬ̏̈́͋̉ͨ̓̂̔̐̐҉̴̨̞̟̪͈̬̝̞̬̱͠!̍ͭ̇͊̈̎̿ͬ͗ͥ̅̓̓̿̆̈́ͯͦ̈́̀͞҉̥̹̮͓̻
01:07:20 <nooga> oh this creepypasta
01:07:22 <nooga> right
01:09:10 -!- augur has joined.
01:15:08 -!- augur has quit (Remote host closed the connection).
01:16:39 -!- nooga_ has joined.
01:16:42 <nooga_> h3h
01:17:23 <nooga_> i couldn't screen -x the existing irssi session because it was on pts/0
01:17:41 <Gregor> That'll do it.
01:19:38 <nooga_> ?
01:33:07 -!- Sasha has quit (Read error: Connection reset by peer).
01:33:28 -!- Sasha has joined.
01:35:15 <nooga_> uh
01:35:18 <nooga_> screen is stoopid
01:37:18 <nooga_> as well as putty
01:37:21 <nooga_> and windows
01:41:46 -!- augur has joined.
01:42:09 -!- sebbu has quit (Read error: Connection reset by peer).
02:10:42 -!- sebbu has joined.
02:14:14 -!- zzo38 has joined.
02:19:44 -!- Mathnerd314 has quit (Ping timeout: 264 seconds).
02:26:46 <zzo38> I would like your suggestions about this D&D class http://zzo38computer.cjb.net/dnd/options/Patamagician.c
02:27:42 -!- Mathnerd314 has joined.
02:40:49 <zzo38> Do you like Null Metamagic?
02:51:56 -!- wareya has quit (Read error: Connection reset by peer).
02:53:14 -!- wareya has joined.
03:42:33 <quintopia> i don't even get it
03:42:47 <Gregor> No one gets it.
03:43:23 <quintopia> i also don't get why this channel is fucking up in my buffer...the last line printed stays six lines up :(
03:43:31 <Sgeo> quintopia, XChat?
03:43:35 <Gregor> 8-D
03:43:38 <quintopia> irssi
03:43:42 <zzo38> quintopia: What program? Do other channels do that?
03:43:43 <Gregor> quintopia: I'm betting it's because I ZALGO'D YOU
03:43:46 * oerjan blames ZALGO :D
03:43:55 <quintopia> it's just this one
03:44:00 <oerjan> although it's not happening in my irssi
03:44:12 -!- quintopia has left (?).
03:44:13 -!- quintopia has joined.
03:44:14 <Sgeo> ZALGO?
03:44:16 <zzo38> Maybe the terminal option is misconfigured?
03:44:18 <oerjan> quintopia: try pressing ^L ?
03:44:30 <quintopia> it didn't fix it
03:44:35 <quintopia> maybe i need a new window
03:44:39 <oerjan> Sgeo: that unicode noise Gregor pasted
03:44:51 <Sgeo> It had no detrimental effect on my clien
03:44:51 <oerjan> (it's a meme)
03:44:52 <Gregor> Sgeo: Za̷l̴g͞o is̀ ̨to̵ ̶ín͞v̶ok͡e ҉the̕ h͠i̛v̸e-͝m͞i̴n͡d͟ ͘re̛p̶r̵e̡śen͟t͞ìng ch̢a͘ơs.
03:44:54 <Sgeo> client
03:45:05 <Sgeo> hive-mind?
03:45:26 <Gregor> Sgeo: I͎̖͝n̨͔͙̪̹̰͎͎v͔̥̖̝̺͡o̱̦̳k͍̲̱̺ͅi̭̲͙͓̗̥n̟͖͎̱͓̯g̮̹̼̘͇̹ ̟̟͚̻̱̝͎th̰͓͓̞̟e̺ ̷̙̻̟̮͚fe̶el̟̼̹̀ị͖̮̯̞n̬ͅͅg̟̼͎̳̩̠͘ ͔̠o̙͓̳f̻̜̪͖̻̙ ̲͕c̢̣̪̩̣̺͕h̪̮̬̙̥a͕͈̱̻̬̹̦o̯̺̬̼̟s̗͖̦̠̣̦.̞̲́ ͔̱͈̭̠̟W̕i҉̘̖t̴̳̪ͅh̝̱̬̭͜ ͕̮o̮͍͎̭̥͉͡ut͙̟ ̼͈͖̫͠o̢̼r̪͙̝͢d͖̮̩ͅe̡̳̩̣͕͙r̗̣̜̝͎͜.̪͕̤̜͞ͅ
03:45:27 <Sgeo> Zalgo is to invoke the hive-mind representing chaos
03:45:32 <quintopia> Gregor: nah, that doesn't do anything. what appears to be happening is that somehow the window got the wrong offset for when to start displaying
03:45:38 * quintopia makes a new window
03:45:38 <zzo38> I just see the words with squares overlapping some letters
03:45:39 <oerjan> Sgeo: it only makes sense in a lovecraftian way
03:45:40 -!- quintopia has left (?).
03:45:51 -!- quintopia has joined.
03:46:01 <Sgeo> I see mostly boxes
03:46:02 <quintopia> okiedoke
03:46:08 <Sgeo> But the letters are clear enough
03:46:25 <Gregor> Then your Unicode support S̷̨͈̼̖͈̈́̓ͥ͋̈̑Ų̷̠̹͓͎̱̰͉̮̠̻̮̭͓͌̉ͫ̓̆̿͛̀̐̓̿ͭ̄̍ͤͅC̓̔̔́ͫ͌̾͘͟͏̶̰̤̺̮̕ͅK̵̴͉̞̰̟̣͈̬͔̗̟̐̎ͯͣ͊̐̇͊ͮ̓ͥ͒ͯ̓̓̈́̽͋̚S̴͌̾̊̽͂͛͂͂ͦͧ̈́̽̒͌͒̋̚҉̞̯͎̝͓̥̱̤̹̙̻̦̘̯͓͟
03:46:26 <quintopia> this is my favorite time of day in this channel
03:46:43 <quintopia> Gregor: you is silly
03:46:46 <Gregor> :P
03:46:47 <zzo38> Do you have any suggestions about the 'Patamagician class?
03:46:56 <quintopia> zzo38: does it really need a '?
03:47:01 <Gregor> quintopia: If you don't give me WebSplat suggestions, I'll just have to make it zalgofy things you jump on!
03:47:09 <oerjan> quintopia: it's traditional!
03:47:17 <quintopia> Gregor: ... not bad. go for it!
03:47:17 <zzo38> quintopia: That is part of the name it has a apostrophe
03:47:33 <Sgeo> http://encyclopediadramatica.com/Zalgo (all ED links should be assumed NSFW)
03:48:14 <quintopia> zzo38: what the hell is a null metamagic? why would you want one?
03:49:32 <quintopia> everyone smile
03:49:35 <quintopia> :D
03:49:44 <oerjan> :E
03:49:55 <quintopia> :D
03:50:17 <quintopia> 3:
03:50:23 <Gregor> :D̷̢̼̮͍̫͇̣̹̗̥͍͕̺͆̆̅̇ͭ̇̿ͣ͂ͭ̿̀͜͟͠ͅ
03:50:44 <quintopia> gregor did you just write something
03:50:53 <Gregor> Yes? :P
03:51:07 <quintopia> i think it was you that broke my window
03:51:14 <quintopia> you better not have done it this time
03:51:50 <Gregor> 8-D
03:51:58 <Gregor> LOVE THE ZALGO
03:52:07 <Gregor> (You said it wasn't the Zalgo :P )
03:52:31 <quintopia> this channel needs an admin bot to auto-punt anyone that uses the RTL unicode modifier...
03:53:04 * quintopia tests
03:53:29 <quintopia> i don't think it broke anything this time
03:53:47 <quintopia> oh, wait, it added and extra blank line
03:53:58 -!- quintopia has left (?).
03:54:01 -!- quintopia has joined.
03:54:34 <quintopia> maybe i could write a script that autokilled those particular characters
03:54:48 <quintopia> before they reach the buffer
03:54:56 <zzo38> quintopia: The purpose of a null metamagic is mostly for use with 'patamagic.
03:55:04 <zzo38> But there might be other uses as well.
03:55:31 <quintopia> it's purpose is to what? occupy a slot?
03:55:33 <zzo38> Do you have any suggestions for the auxiliary tables, or any 'patamagic feats?
03:55:49 <zzo38> quintopia: So that you can apply a 'patamagic to it.
03:55:59 <quintopia> oh
03:56:00 <pikhq> http://en.wikipedia.org/wiki/USA_v._$124,700 Such bullshit.
03:56:09 <pikhq> Yes, that is USA v. $124,700.
03:56:25 <pikhq> Or, in full: United States of America v. $124,700 in U.S. Currency
03:56:51 <quintopia> zzo38: body table: one arm shrinks five inches and the other grows five inches :P
03:58:01 <zzo38> OK. If you have more than two arms, select two at random. If you have only one, select shrink/grow at random. If you have none, reroll.
03:58:24 <pikhq> Yes, the US *actually sued* money.
03:58:34 <zzo38> I didn't know you are allowed to sue money
03:58:49 <pikhq> zzo38: The US can.
03:59:35 <pikhq> zzo38: They sue the currency to do asset forfeiture, without either just compensation or convicting anyone of a crime.
04:00:19 <zzo38> Anything else for the auxiliary tables? I should put twenty or one hundred choices per table, I think.
04:00:58 <zzo38> Is it allowed to sue the sun?
04:01:18 <pikhq> Yes, the US could sue the sun to claim it.
04:01:44 <oerjan> actually that would be against a space treaty, i believe
04:01:59 <quintopia> holy crap pikhq. that's BS. that's practically spitting in the face of the fourth amendment
04:02:06 <pikhq> oerjan: The US handling of treaties is that they are ordinary law.
04:02:14 <pikhq> oerjan: And as such the courts can overrule them just fine.
04:02:30 <pikhq> oerjan: In short, the US says "FUCK YOU, I WANT TYRANNY".
04:02:33 <zzo38> Do you find anything wrong with this 'Patamagician class? Any ideas for 'patamagic feats that can be written?
04:02:42 <pikhq> quintopia: Yeah.
04:03:16 <quintopia> zzo38: the only thing i find wrong with it is that i don't understand it
04:03:48 <zzo38> quintopia: What parts do you not understand? Maybe I can clarify it?
04:03:51 <pikhq> Ah, *anyone* can directly sue an item in order to attempt to claim it.
04:04:15 <zzo38> Is it allowed to sue yourself?
04:04:18 <pikhq> See: R.M.S. Titanic, Inc. v. The Wrecked and Abandoned Vessel, R.M.S. Titanic
04:04:24 <pikhq> (yes, really)
04:04:33 <quintopia> did they win it?
04:04:39 <zzo38> Is it allowed to sue things which do not exist?
04:05:14 <quintopia> zzo38: I think not. cases X vs. God tend to get thrown out.
04:05:39 <zzo38> OK
04:05:48 <pikhq> quintopia: No.
04:06:02 <quintopia> zzo38: explain what that big level table is about (i don't play, so i have no idea)
04:06:17 <quintopia> pikhq: does anyone have a claim to it?
04:06:20 <zzo38> That "R.M.S. Titanic" case is not against itself.
04:06:37 <pikhq> quintopia: No.
04:06:49 <quintopia> hm, well, i suppose that's for the best
04:06:54 <zzo38> quintopia: The level table describes how many spells you get at each experience level
04:06:55 <pikhq> quintopia: It was merely shown that R.M.S. Titanic, Inc. did not have a valid claim.
04:07:21 <quintopia> zzo38: spells per slot?
04:07:29 <zzo38> quintopia: No, spell slots per day.
04:07:44 <quintopia> zzo38: only one kind of spell can occupy a slot at a time?
04:07:53 <zzo38> quintopia: Yes.
04:07:57 <quintopia> aha
04:08:18 <quintopia> and 'patamagic feats ... let you use prepared magic spontaneously and vice versa?
04:09:49 <zzo38> quintopia: No. 'Patamagic feats are effects applied to metamagic feats (like metamagic feats are effects applied to spells), but 'patamagic is applied spontaneously to a prepared spell, and you can spontaneously cast a spell from a spontaneous slot which has been prepared with a 'patamagic feat.
04:10:17 <quintopia> oh
04:10:32 <quintopia> so what's an example of a 'patamagic feat?
04:10:39 <zzo38> You can also spontaneously cast a spell with a spontaneous slot even if it has not been prepared with 'patamagic.
04:11:15 <zzo38> quintopia: I have none yet, but I guess one possibility is one which allows you to use a metamagic feat by spending 'patamagic points instead of adjusting the spell level.
04:11:39 <zzo38> Another could be that the metamagic affects the spell during even numbered rounds of the spell's duration only.
04:13:06 <quintopia> or...the metamagic affects the last spell cast, and history is rewritten to account for the change?
04:13:52 <zzo38> quintopia: No. Metamagic affects the spell you are currently casting.
04:14:15 <zzo38> A 'patamagic only affects a metamagic you have applied to a spell you are casting.
04:14:17 <zzo38> So that won't work.
04:14:24 <quintopia> zzo38: yes, but why couldn't your 'patamagic feat make the metamagic travel back in time? :D
04:15:35 <quintopia> am i evil for even suggesting it?
04:15:52 <zzo38> quintopia: Perhaps that might be a possibility. But the metamagic still has to apply to a spell you are currently casting.
04:16:01 <zzo38> Making a mistake is not the same thing as being evil.
04:17:35 <quintopia> zzo38: i'm suggesting that you first apply the metamagic to the spell you are casting, and then you do the 'patamagic feat, and it switches the metamagic from the spell you are casting to the previous spell, if it applies to that spell
04:18:08 <zzo38> quintopia: Ah! That could work, I think.
04:21:44 <zzo38> (My character in current D&D game is ettercap and my brother's character is human. Next time my character I think I should want to be 'patamagician class, and my brother's character is ninja.)
04:28:01 <zzo38> You can look at some of the other spells and feats I wrote too, if you want to (they are in the same directory).
04:29:44 <quintopia> http://www.youtube.com/watch?v=h7eREddMjt4 this is going to take forever to happen, but if it ever does...wooooo!
04:31:34 <zzo38> What is that video about?
04:32:35 -!- Pupuser402-1 has joined.
04:35:46 <quintopia> it is a new MMO in development
04:35:49 <zzo38> for example, if the target asks
04:36:03 <quintopia> large scale procedurally generated universe
04:36:06 <zzo38> "Why did Bodhidharma come to China from India?" and the manifester answers That oak tree in the garden" those words are understandable
04:40:16 -!- oerjan has quit (Quit: Good night).
04:40:41 -!- Pupuser402-1 has quit (Quit: Leaving).
04:40:41 <zzo38> Also do you have any comments about the esolang called TNTNT?
04:42:13 <quintopia> no
04:42:29 <quintopia> did you watch the videos?
04:44:49 <zzo38> quintopia: No. Do you have a transcript of the videos? And then I can watch the transcript. Or a Ogg Theora video I can also watch (but I prefer a transcript).
04:46:09 <quintopia> what do you mean by transcript?
04:46:55 <zzo38> Like a text transcript of the things the video is about.
04:47:02 <quintopia> oh
04:47:19 <quintopia> it would just leave you wishing you had seen the video
04:47:32 <quintopia> here is a transcript of everything that is said in the videos:
04:47:37 <quintopia> \
04:47:58 <quintopia> because it is a tech demo
04:48:03 <quintopia> it's about pretty graphics
04:50:57 <zzo38> I think I submitted the only deterministic solution to the "123" problem on anarchy golf.
04:51:35 <quintopia> what is the problem again?
04:52:00 <zzo38> The program is run three times. No input. The first time, output "1", the second time, output "2", the third time, output "3".
04:52:37 <quintopia> soo...it's "find a way to save state between runs"?
04:53:13 <zzo38> quintopia: Actually there is another later problem which involves saving state between runs.
04:54:00 <quintopia> there is no way to do 123 without finding a way to preserve some state...
04:54:07 <quintopia> what's your solush?
04:54:09 <zzo38> All the other solutions to the "123" problem use the process ID or random numbers.
04:54:24 <zzo38> My solution (in Bash and Zsh) is: ls>>*;wc -l<*
04:54:44 <zzo38> It is shorter than the nondeterministic solutions in Bash.
04:55:52 <zzo38> Please note that with most programming languages available (including Bash and Zsh), your program is the only file in the directory, initially.
04:56:05 <quintopia> yeah, no i see it
04:56:53 <quintopia> otherwise, you'd get some other numbers :P
04:57:02 <zzo38> Yes.
04:57:38 <quintopia> hello coppro
04:57:50 <zzo38> coppro: Are you trying to make a report about the IRC clients used by people in this channel?
04:57:51 <coppro> Hi
04:57:56 <coppro> zzo38: No. I should.
04:58:10 <coppro> or even better
04:58:16 <coppro> I should do like a chart of the top N freenode channels
04:59:21 <quintopia> what are the top N channels? i can't even begin to guess
05:17:29 <zzo38> coppro: Maybe you can also make a report about timezones and cloaks.
05:18:21 <zzo38> Also, do you know what random number algorithm would be suitable for TeXnicard?
05:19:26 <zzo38> (One possibility is the same one used in METAFONT, so that I can reference it in the bibliography.)
05:21:06 <zzo38> Would that one be suitable? Or would a different one do better?
05:22:34 <zzo38> sshc's VERSION response says "mIRC version something"
05:56:06 -!- Goosey has quit (*.net *.split).
05:56:07 -!- Zuu has quit (*.net *.split).
05:56:07 -!- quintopia has quit (*.net *.split).
05:56:07 -!- Ilari has quit (*.net *.split).
05:56:07 -!- HackEgo has quit (*.net *.split).
05:56:07 -!- EgoBot has quit (*.net *.split).
05:56:07 -!- Gregor has quit (*.net *.split).
05:56:07 -!- Vorpal has quit (*.net *.split).
05:56:07 -!- rodgort has quit (*.net *.split).
05:56:07 -!- Deewiant has quit (*.net *.split).
05:56:08 -!- sebbu has quit (*.net *.split).
05:56:08 -!- jcp has quit (*.net *.split).
05:56:08 -!- nooga_ has quit (*.net *.split).
05:56:08 -!- nooga has quit (*.net *.split).
05:56:09 -!- sshc has quit (*.net *.split).
05:56:09 -!- mycroftiv has quit (*.net *.split).
05:56:09 -!- Ilari_antrcomp has quit (*.net *.split).
05:56:09 -!- augur has quit (*.net *.split).
05:56:10 -!- pikhq has quit (*.net *.split).
05:56:10 -!- Slereah has quit (*.net *.split).
05:56:10 -!- pingveno has quit (*.net *.split).
05:56:11 -!- aloril has quit (*.net *.split).
05:56:11 -!- mtve has quit (*.net *.split).
05:56:11 -!- yiyus_ has quit (*.net *.split).
05:56:11 -!- SimonRC has quit (*.net *.split).
05:56:11 -!- olsner has quit (*.net *.split).
05:56:11 -!- iamcal has quit (*.net *.split).
05:56:12 -!- jix has quit (*.net *.split).
05:56:12 -!- coppro has quit (*.net *.split).
05:56:12 -!- fxkr has quit (*.net *.split).
05:56:12 -!- ineiros has quit (*.net *.split).
05:56:12 -!- dbc has quit (*.net *.split).
05:56:12 -!- Sgeo has quit (*.net *.split).
05:56:12 -!- tswett has quit (*.net *.split).
05:56:13 -!- Mathnerd314 has quit (*.net *.split).
05:56:13 -!- cheater99 has quit (*.net *.split).
05:56:13 -!- Quadrescence has quit (*.net *.split).
05:56:14 -!- Leonidas has quit (*.net *.split).
05:56:15 -!- zzo38 has quit (*.net *.split).
05:56:15 -!- fizzie has quit (*.net *.split).
05:56:15 -!- wareya has quit (*.net *.split).
05:56:15 -!- Sasha has quit (*.net *.split).
05:56:15 -!- myndzi\ has quit (*.net *.split).
05:56:16 -!- lifthrasiir has quit (*.net *.split).
05:56:16 -!- yiyus has quit (*.net *.split).
06:00:31 -!- quintopia has joined.
06:00:31 -!- wareya has joined.
06:00:31 -!- zzo38 has joined.
06:00:31 -!- sebbu has joined.
06:00:31 -!- augur has joined.
06:00:31 -!- Sasha has joined.
06:00:31 -!- nooga_ has joined.
06:00:31 -!- Goosey has joined.
06:00:31 -!- Sgeo has joined.
06:00:31 -!- cheater99 has joined.
06:00:31 -!- nooga has joined.
06:00:31 -!- Quadrescence has joined.
06:00:31 -!- myndzi\ has joined.
06:00:31 -!- pingveno has joined.
06:00:31 -!- tswett has joined.
06:00:31 -!- Zuu has joined.
06:00:31 -!- olsner has joined.
06:00:31 -!- pikhq has joined.
06:00:31 -!- Ilari has joined.
06:00:31 -!- fizzie has joined.
06:00:31 -!- Slereah has joined.
06:00:31 -!- HackEgo has joined.
06:00:31 -!- EgoBot has joined.
06:00:31 -!- jcp has joined.
06:00:31 -!- aloril has joined.
06:00:31 -!- Gregor has joined.
06:00:31 -!- iamcal has joined.
06:00:31 -!- sshc has joined.
06:00:31 -!- mtve has joined.
06:00:31 -!- Leonidas has joined.
06:00:31 -!- Vorpal has joined.
06:00:31 -!- rodgort has joined.
06:00:31 -!- ineiros has joined.
06:00:31 -!- dbc has joined.
06:00:31 -!- jix has joined.
06:00:31 -!- yiyus_ has joined.
06:00:31 -!- coppro has joined.
06:00:31 -!- mycroftiv has joined.
06:00:31 -!- Deewiant has joined.
06:00:31 -!- fxkr has joined.
06:00:31 -!- lifthrasiir has joined.
06:00:31 -!- SimonRC has joined.
06:00:31 -!- Ilari_antrcomp has joined.
06:00:31 -!- yiyus has joined.
06:36:27 <zzo38> Is anyone on, today?
06:48:01 <quintopia> eh
07:12:44 -!- FireFly has joined.
07:15:49 -!- Zuu_ has joined.
07:16:11 -!- Goosey has quit (Read error: Operation timed out).
07:16:27 -!- Zuu has quit.
07:29:01 -!- MigoMipo has joined.
07:39:41 -!- zzo38 has quit (Remote host closed the connection).
07:49:12 -!- Wamanuz has joined.
07:51:58 -!- Sgeo has quit (Read error: Connection reset by peer).
07:52:25 -!- Sgeo has joined.
07:52:29 -!- MigoMipo has quit (Ping timeout: 255 seconds).
07:53:40 -!- Sgeo has quit (Read error: Connection reset by peer).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:36:01 <Vorpal> I wonder if the French translation of Star Wars uses "Ceci n'est pas une lune"...
08:40:53 -!- Wamanuz has quit (Ping timeout: 265 seconds).
08:41:07 -!- FireFly has quit (Quit: swatted to death).
08:44:04 -!- MigoMipo has joined.
09:00:08 <olsner> Vorpal: that makes for a funny t-shirt text though
09:06:01 -!- Deewiant has quit (Ping timeout: 272 seconds).
09:06:19 -!- Deewiant has joined.
09:19:59 <fizzie> "Ce n'est pas une lune." in the French subtitles.
09:34:38 -!- MigoMipo has quit (Read error: Connection reset by peer).
10:11:27 -!- nopseudoidea has joined.
10:13:43 -!- atrapado has joined.
11:17:31 <Vorpal> fizzie, close but not close enough
11:25:26 -!- nopseudoidea has quit (Quit: Quitte).
11:40:24 <nooga> hi
11:48:30 -!- nopseudoidea has joined.
11:49:09 -!- nopseudoidea has left (?).
12:10:06 -!- wareya_ has joined.
12:13:10 -!- wareya has quit (Ping timeout: 250 seconds).
12:41:55 -!- zzo38 has joined.
12:53:22 -!- Wamanuz has joined.
12:53:30 -!- Phantom_Hoover has joined.
12:56:59 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
12:57:49 -!- Phantom_Hoover has joined.
12:59:44 -!- atrapado has quit (Quit: Abandonando).
13:07:19 -!- FireFly has joined.
13:09:51 -!- Wamanuz has quit (Remote host closed the connection).
13:11:34 -!- Wamanuz has joined.
13:13:22 -!- hagb4rd has joined.
13:13:35 -!- ais523 has joined.
13:14:47 -!- MigoMipo has joined.
13:22:35 -!- ais523 has quit (Read error: Connection reset by peer).
13:22:59 -!- elliott has joined.
13:23:02 <elliott> 19:46:47 <zzo38> Do you have any suggestions about the 'Patamagician class?
13:23:05 <elliott> the p is lowercase in 'pata
13:24:07 <zzo38> elliott: It is a title, though?
13:24:12 -!- elliott_ has joined.
13:24:13 -!- elliott_ has quit (Read error: Connection reset by peer).
13:24:15 <elliott> zzo38: the ' is uppercase
13:24:36 <elliott> zzo38: oh, it seems that the P is capital only at the beginning of a sentence or in a name, like brainfuck
13:25:53 <elliott> zzo38: er, in a title
13:26:09 <elliott> so it's 'Patamagician in titles or at the start of sentences, 'patamagician everywhere else
13:26:31 <elliott> 20:04:18 <pikhq> See: R.M.S. Titanic, Inc. v. The Wrecked and Abandoned Vessel, R.M.S. Titanic
13:26:31 <elliott> 20:04:24 <pikhq> (yes, really)
13:26:33 <elliott> album name.
13:26:39 -!- ais523 has joined.
13:26:57 <zzo38> The name of the class is a title.
13:29:52 <elliott> ais523: hi
13:30:13 <Vorpal> ineiros, you should generate a new map. the last one is quite old
13:32:38 <elliott> 20:59:21 <quintopia> what are the top N channels? i can't even begin to guess
13:32:42 <elliott> #ubuntu, #gentoo is on there somewhere
13:32:44 <elliott> #wikipedia
13:32:53 <elliott> try /list in a fancy client that can sort /list
13:32:53 <elliott> s
13:34:04 <Vorpal> elliott, ##linux is high too
13:34:05 -!- ais523 has quit (Read error: Connection reset by peer).
13:34:12 <Vorpal> also uh, /list will take ages
13:34:57 <elliott> Vorpal: not that long, actually
13:35:02 <elliott> it's just a few thousand lines :)
13:35:16 <elliott> xchat just displays it raw though, you'd have to | sort -n and the like
13:35:29 -!- ais523 has joined.
13:35:30 <elliott> * End of /LIST
13:35:32 <elliott> hi ais523
13:36:25 <fizzie> I thought http://irc.netsplit.de/ had a sortable channel list, but apparently not. They produce an across-networks top-100 channel list, and they can list freenode's channels (paginated into 950 pages of 10), but they don't have a per-network top-channels page.
13:36:36 <fizzie> (Or if they do, I can't find it.)
13:37:03 <fizzie> Wait, now it went sorted-by-user-count.
13:37:08 <fizzie> I don't know what I did, exactly.
13:37:32 <fizzie> http://irc.netsplit.de/channels/?net=freenode in that case, maybe. They strip one # off the name there.
13:37:40 -!- nooga_ has quit (Ping timeout: 260 seconds).
13:37:41 -!- nooga has quit (Ping timeout: 260 seconds).
13:38:05 <fizzie> So #ubuntu (1407 users), then #debian, #gentoo, #archlinux, #python, #git, #jquery, ##c++, #perl, #haskell.
13:38:17 <Vorpal> but didn't debian move to oftc?
13:38:28 <Vorpal> and #debian redirect to ##debian iirc?
13:38:40 <elliott> debian are still on freenode, but they're on oftc too.
13:38:42 -!- nooga has joined.
13:38:45 <elliott> oh
13:38:48 <elliott> yes, it's ##debian now
13:38:56 <Vorpal> so why is #debian so large?
13:39:04 -!- nooga_ has joined.
13:39:05 <elliott> because it redirects
13:39:09 <elliott> and it used to be #debian
13:39:16 <elliott> so the netsplit.de system still knows it as #debian
13:39:20 <elliott> one presumes
13:39:48 <Vorpal> hm
13:40:08 <elliott> ugh, ##c is too high up that list for comfort
13:40:11 <elliott> horrible channel
13:40:29 <fizzie> Hey, it's our departmental christmas party now, I think I should be out there. ->
13:40:58 * elliott plots ways to overthrow ##c
13:41:01 <elliott> Nukes?
13:41:02 <Vorpal> elliott, I need to know which sea you plan to use for the glass cube, because I need to find one for something I planned. Need to be large (but not nearly as large, something like 70x50 is enough for me)
13:41:18 <Vorpal> elliott, thus I would rather not build where you will be building
13:41:36 <elliott> Vorpal: Um, find a sea that isn't very close to nice, mountainous land, and that ideally doesn't have a perfect 128x128 block somewhere in it. :p
13:41:47 <elliott> And if you can go further from spawn that would work too.
13:42:12 <Vorpal> elliott, well which one. I want to be reasonably close to spawn due to travel time otherwise (I will need to get a lot of material from my store)
13:42:19 <elliott> Vorpal: Warp :P
13:42:27 <Vorpal> elliott, none yet afaik?
13:42:53 <elliott> Vorpal: No, but you could always get one added.
13:43:00 <elliott> It's a single command at Mount Vorpal to get /warp vorpal.
13:43:40 <Vorpal> elliott, depends on ineiros doing it though
13:44:00 <elliott> Vorpal: Ask nicely? :p
13:44:16 <elliott> Vorpal: Actually /warp thingi'mbuilding would be better, since you wouldn't want /warp vorpal to go inside.
13:44:21 <elliott> And then we could visit it too.
13:44:29 <elliott> Vorpal: But, ehh, just take any sea; most of them don't have 128x128 blocks.
13:44:30 <Vorpal> elliott, well yeah, he said he would add them but was rather preoccupied.
13:44:45 <elliott> /tp dwarf1982 BCxVAhWQXI
13:44:48 <elliott> /setwarp thing
13:44:53 <Vorpal> elliott, as for that thing I plan: I have no idea how it will turn out. :P
13:45:01 <Vorpal> elliott, did you type that user name from memory!?
13:45:08 <Vorpal> (mine I mean)
13:45:18 <Vorpal> elliott, if so: more than I can do
13:45:19 <elliott> LOL, PHP decided against supporting "finally" beause you could just catch and ignore the exception.
13:45:20 <elliott> Genius.
13:45:24 <elliott> Vorpal: Yes, I did.
13:45:27 <elliott> Vorpal: *WQxi, actually.
13:45:39 <Vorpal> is it. okay
13:45:46 <elliott> Vorpal: "B.C. Ex-vah Wuh-kwuh-cksi".
13:46:00 <Vorpal> elliott, the w is not voiced
13:46:20 <elliott> Vorpal: 'Tis in my mind.
13:46:21 <Vorpal> the second one in that pronunciation that is
13:46:22 <elliott> whoa.
13:46:29 <elliott> Vorpal: Oh, heh.
13:46:30 <Phantom_Hoover> elliott, Vorpal, are you two planning Minecraft things?
13:46:32 <elliott> No.
13:46:36 <Vorpal> elliott, as in: "B.C. Ex-vah Wuh-kuh-cksi"
13:46:37 <elliott> [[This is one of numerous cases why finally is useful:
13:46:37 <elliott> mysql_query("LOCK TABLES mytable WRITE");
13:46:37 <elliott> try {
13:46:37 <elliott> // ... do lots of queries here
13:46:37 <elliott> } finally {
13:46:45 <elliott> try {
13:46:47 <elliott> // ... do lots of queries here
13:46:49 <elliott> } catch (Exception $e) {
13:46:51 <elliott> // do nothing here
13:46:53 <elliott> }
13:46:54 <Vorpal> what
13:46:55 <elliott> mysql_query("UNLOCK TABLES");
13:46:57 <elliott> The only difference is the second example does rethrow the exception. Though this is still possible (however much more to type) it is wrong design. Since obviously you are using the exceptions as control flow.]]
13:46:58 <Vorpal> elliott, that makes no sense
13:47:00 <elliott> look at that
13:47:02 <elliott> silently dropping the exception is better than re-throwing it after cleaning up
13:47:04 <elliott> this person is a core PHP developer.
13:47:06 <elliott> >_<
13:47:08 <elliott> Vorpal: PHP makes no sense
13:47:10 <elliott> Vorpal: http://bugs.php.net/bug.php?id=32100 see the problem and first response
13:47:11 <Vorpal> elliott, "transactions"?
13:47:12 <elliott> then cry
13:47:25 <Vorpal> elliott, I mean, that is how you do sql stuff. With transactions
13:47:28 <elliott> Vorpal: Dude, they built this language on embedding values into SQL strings.
13:47:32 <elliott> They don't know shit about SQL features :P
13:47:52 <Vorpal> elliott, php does support sql transactions iirc though. No idea to what degree
13:48:11 <elliott> Yeah yeah :P
13:49:34 <elliott> Vorpal: The best thing is, to rethrow the exception, you need
13:49:36 <elliott> try { ... }
13:49:42 <Vorpal> Phantom_Hoover, yes I'm considering an underground dock. Two waterfalls in the middle of the sea, a bit from each other. then a small river from the down shaft, opening onto a small lake (this really needs flickering flames :/) with a dock. From that another short river to an up shaft
13:49:45 <elliott> catch (Exception $e) { mysql_query("UNLOCK TABLES"); throw $e; }
13:49:46 <elliott> mysql_query("UNLOCK TABLES");
13:49:55 <elliott> Redundancy AND it loses the file/line info!
13:50:13 <elliott> "Two waterfalls in the middle of the sea, a bit from each other" ;; use the ones you already have? :p
13:50:22 <Vorpal> elliott, these ones go *down*
13:50:23 * Phantom_Hoover wonders how MoveCraft deals with ships sailing into waterfalls.
13:50:30 <Vorpal> elliott, but I could do it in the same sea, sure
13:51:06 <elliott> Vorpal: That might work, I don't plan to buld there.
13:51:12 <Vorpal> elliott, actually one waterfall and one drop shaft. Hm. How to prevent the water from flowing into the drop shaft and making the boat not drop
13:51:28 <Vorpal> oh wait, I could use that.
13:51:30 <Vorpal> right
13:51:31 <Vorpal> hah
13:51:46 <Vorpal> (like the water-redstone thingy, except with no redstone)
13:51:52 <Vorpal> (perfect drop shaft)
13:57:32 <Vorpal> Phantom_Hoover, elliott: which of you ruined the easter egg
13:57:38 <elliott> huh?
13:57:45 <Phantom_Hoover> Vorpal, not me.
13:57:47 <Vorpal> elliott, lots of lava, stuff dug away
13:57:59 <elliott> Vorpal: not I, I haven't been tot he easteregg since you led me there
13:58:05 <elliott> I'm not good enough at navigation :P
13:58:13 <Vorpal> elliott, Phantom_Hoover: I doubt fizzie would do it, nor ineiros. I certainly didn't do it. nailor: doubtful. So that leaves you two.
13:58:29 <elliott> Well, I haven't been there in ages *shrug*
13:58:33 <Vorpal> elliott, so PH then
13:58:39 <elliott> I get lost by travelling for 30 seconds away from Mount Hoover.
13:58:40 <Vorpal> Phantom_Hoover, no good lying
13:58:45 <Phantom_Hoover> Vorpal, it wasn't me.
13:59:03 <Vorpal> Phantom_Hoover, you or elliott. I don't know who
13:59:20 <Vorpal> but seriously. One of you are lying
13:59:28 <Phantom_Hoover> It's not me.
13:59:36 <elliott> I blame sheep.
13:59:49 <elliott> Or cows. What did the server say to burn?
13:59:54 <elliott> Whatever they are, they're clearly evil.
14:00:01 <Vorpal> elliott, ... pouring lava over the whole thing? digging away blocks?
14:00:16 <elliott> Nasty piece of work, cows... sheep?
14:00:25 <Phantom_Hoover> Fiendishly intelligent beasts, sheep.
14:00:26 <elliott> Seriously though, I've been there exactly once.
14:00:42 <Vorpal> ....
14:01:21 <Vorpal> when I find out who did it, I will make the same damage to whatever he built
14:02:17 <Vorpal> Phantom_Hoover, you are the prime suspect. Can you prove you didn't do it?
14:02:23 -!- sftp has joined.
14:02:41 <Phantom_Hoover> Vorpal, ...no. Why am I the prime suspect?
14:02:44 <elliott> I see Vorpal's legal system is based on the tried-and-true principle of guilty until proven guilty. :p
14:06:29 -!- hagb4rd has quit (Quit: hagb4rd).
14:07:47 -!- elliott_ has joined.
14:07:51 <elliott_> Vorpal: I can't log in
14:07:55 <elliott_> it says i'm alraedy logged in
14:08:18 <Vorpal> elliott_, it says "ehird joined/left" all the time
14:11:39 -!- elliott has quit (Ping timeout: 276 seconds).
14:21:40 <elliott_> pikhq: CubeHash is not an SHA-3 finalist.
14:21:53 <elliott_> "According to the announcement, the choice of finalists came down more to issues of efficiency than issues of security."
14:22:05 <elliott_> [[# Given the above, NIST didn’t have much to go on, with regard to security, in making their decision. They even made what I find to be an unusual statement in their announcement: “in some cases [we] did not select algorithms … largely because something about them made us ‘nervous,’ even though we knew of no clear attack”.]]
14:22:27 <Vorpal> elliott_, down?
14:22:38 <elliott_> Vorpal: Seems so. I'll come there with bukkits of lurva.
14:22:48 <Vorpal> elliott_, no thanks :P
14:22:58 <elliott_> Vorpal: Obsidian, dude!
14:23:29 <Vorpal> elliott_, well, will do other stuff for a while. And only I know the font.
14:23:53 <elliott_> Vorpal: I'd just donate the bukkits.
14:24:28 <Vorpal> elliott_, you realise how much you would need? the V alone is 9 blocks
14:24:46 <Vorpal> O is considerably more. Besides the scaffolding for that would be large
14:24:58 <Vorpal> (to prevent lava going everywhere
14:25:17 <Vorpal> bbl, going to make food now
14:26:49 <Phantom_Hoover> ineiros, ping
14:28:32 <elliott_> Vorpal: You just need to make a 3D O shell, fill it with water, and put lava there.
14:42:46 <elliott_> ugh oklopol isn't here
14:50:55 -!- Sasha has quit (Read error: Connection reset by peer).
14:51:06 -!- Sasha has joined.
14:54:35 -!- Sasha has quit (Read error: Connection reset by peer).
14:54:44 -!- Sasha has joined.
15:00:56 -!- augur has quit (Remote host closed the connection).
15:01:20 -!- augur has joined.
15:05:28 -!- oerjan has joined.
15:05:56 -!- augur has quit (Ping timeout: 264 seconds).
15:09:23 -!- Vorpal_ has joined.
15:09:34 -!- Vorpal has quit (Ping timeout: 272 seconds).
15:12:48 -!- hoxily1 has joined.
15:13:16 <oerjan> <quintopia> what are the top N channels? i can't even begin to guess
15:13:25 <oerjan> http://irc.netsplit.de/channels/?net=freenode has a list
15:14:02 <elliott_> memetech.com is still down
15:14:36 <oerjan> #ubuntu, #debian, #archlinux, #gentoo, #python, #git, #jquery, #haskell, ##c++, #perl i think
15:14:41 <quintopia> oerjan: i saw the whole discussion above already, thanks
15:14:56 <oerjan> wait there was a discussion?
15:15:21 * oerjan was still on yesterday's logs
15:15:23 <quintopia> fizzie said the same things you just said
15:15:32 <quintopia> two hours ago
15:15:53 -!- Vorpal_ has changed nick to Vorpal.
15:17:45 <oerjan> HOW RUDE
15:18:31 -!- hoxily2 has joined.
15:20:30 <quintopia> people should really make all their responses to logs in a separate file as they read, and then post them all at once when they reach the present moment...
15:21:34 -!- ginz has joined.
15:21:57 -!- hoxily1 has quit (Ping timeout: 245 seconds).
15:23:24 <elliott_> quintopia: whine whine, we do it this way and we like it
15:23:58 <quintopia> elliott_: ah. that's good then.
15:24:10 <elliott_> buffered IO is more work
15:24:12 <elliott_> :)
15:25:21 <quintopia> meh, i don't care much. i just think it must be embarassing to be ninja'd by hours...
15:27:14 <elliott_> psht, just being in this shithole is embarrassing!
15:28:23 <quintopia> elliott_: true. but it's really not worth any effort to reduce the amount of shit here. best to come up with more and more ways to add to the shitpile.
15:29:03 <elliott_> inDEED
15:31:12 * elliott_ ups his font size in an effort to become friends with his eyes once again
15:34:05 <ais523> hmm, I just wrote the following: "void* with_rng_state_saved(func, data) void* (*func)(void*); void* data; {"
15:34:15 -!- hoxily2 has quit (Ping timeout: 272 seconds).
15:34:17 <ais523> there is something so wrong about functional programming in K&R C
15:34:25 <elliott_> ais523: is NetHack K&R or something? :)
15:34:33 <ais523> indeed
15:34:43 <elliott_> ais523: I'd make it a macro.
15:34:49 <ais523> NetHack: 1987; C89: 1989
15:35:30 -!- ginz has quit (Quit: Leaving).
15:35:53 <elliott_> ais523: #define DO_with_rng_state_saved(q) do { rng_state *foo = current_rng_state(); {q;}; restore_rng_state(foo); } while (0)
15:35:54 <elliott_> something like that
15:36:00 <elliott_> DO just to mark it as a macro without shouting the whole thing
15:36:06 <ais523> hmm, perhaps
15:36:10 <elliott_> usage:
15:36:10 <elliott_> DO_with_rng_state_saved(
15:36:12 <elliott_> ...
15:36:14 <elliott_> );
15:36:26 <ais523> elliott_: issue with there is not writing any commas in what might be quite a complicated function
15:36:33 <ais523> *issue with that
15:36:38 <elliott_> ais523: you can solve that in various ways
15:36:40 <ais523> indeed
15:36:46 <elliott_> ais523: by calling the macro as DO_with_rng_state_saved((...))
15:36:53 <elliott_> and tweaking it slightly
15:36:54 <ais523> then you can't use semicolons
15:37:02 <ais523> unless you use gcc extensions
15:37:07 <ais523> and IMO, gcc extensions and K&R C don't mix
15:37:18 <ais523> (not because you can't do it, just because it's an abomination)
15:37:28 <elliott_> ais523: and, it's just that constructing functions in C is irritating, and also, you have to separate the code from where it happens
15:37:31 <elliott_> which doesn't really aid reading
15:37:42 -!- augur has joined.
15:38:05 <ais523> it's not too bad, because I'm doing it in two consecutive functions, the second of which is mostly a wrapper
15:38:08 <elliott_> ais523: hmm... what about
15:38:16 <elliott_> WITH_RNG_STATE_SAVED {
15:38:18 <elliott_> ...
15:38:20 <elliott_> } END_SAVE_RNG
15:38:24 <ais523> also, macros are the wrong tool for this
15:38:34 <ais523> functions are clearly "better"
15:38:35 <elliott_> ais523: Cpp macros are, yes :)
15:38:42 <elliott_> ais523: what it really wants is a Lisp macro
15:39:01 <ais523> Lisp macros always strike me as fundamentally impure and awkward
15:39:07 <ais523> as they work syntactically rather than semantically
15:39:13 <elliott_> ais523: that's the whole /point/
15:39:19 <elliott_> ais523: with Lisp, the syntax and semantics are closely linked
15:39:45 <ais523> yes, I think that's a huge negative for a language
15:39:48 <elliott_> ais523: have you looked at Scheme's hygenic macros?
15:39:52 <elliott_> they're much nicer
15:40:02 <ais523> it's actually almost what inspired Underlambda
15:40:09 <ais523> which is pretty much syntax-independent
15:40:11 <elliott_> what, scheme macros?
15:40:26 <ais523> no, wanting to not link syntax and semantics
15:40:29 <ais523> like Underload does
15:40:53 <elliott_> ais523: clearly, we need to define Abstract Semantic Trees
15:41:07 * elliott_ 's brain flags up a warning sign: that actually sounds like a good idea
15:41:11 <elliott_> looks like we're straying off topic!
15:41:22 <ais523> good ideas aren't offtopic
15:41:28 <elliott_> well, no, but close :)
15:41:30 <ais523> as long as they're sufficiently eso
15:42:08 <elliott_> ais523: I'd just like to say that I highly recommend 12pt fonts on small, high-PPI laptop screens like we have.
15:42:09 <elliott_> this is nice.
15:42:11 <oerjan> elliott_: sounds to me like you're summoning augur :D
15:42:20 <elliott_> oerjan: oh dear :D
15:42:28 -!- elliott_ has changed nick to elliott.
15:42:32 -!- elliott has quit (Changing host).
15:42:32 -!- elliott has joined.
15:42:36 * oerjan actually did that now, didn't he :D
15:42:36 <augur> I AWAKEN
15:42:43 <elliott> AIIIIIEEEEEEEEEE
15:43:31 <elliott> ais523: the problem with abstract semantic trees is that for all programs, P,Q, eval(P)=eval(Q) must => ASemT of P = ASemT of Q
15:43:38 <elliott> so they're not computable, *unless* you restrict the operations on them
15:44:02 <elliott> so that for every ASemT P' and Q' of programs P and Q, eval(P)=eval(Q) => f(P')=f(Q') for all f
15:48:13 <elliott> ais523: do you know a way to get the GNOME menu to only show the generic names of applications, not their brand name too? it's irritating me that a bunch of applications have an irrelevant name on top of them
15:48:32 <elliott> ("Pidgin Instant Messenger" vs. "Instant Messenger", etc.)
15:49:04 -!- ais523 has quit (Read error: Connection reset by peer).
15:50:42 -!- hoxily2 has joined.
15:51:47 -!- ais523 has joined.
15:58:18 -!- hoxily2 has quit (Ping timeout: 265 seconds).
16:00:23 <elliott> wb ais523
16:03:43 -!- hoxily2 has joined.
16:05:04 -!- hoxily2 has left (?).
16:05:57 <Vorpal> elliott, hm, would you prefer "gimp" or "image editor"? And what about gimp vs. krita then (both are image editors)
16:06:17 <Vorpal> of course, if you have no more than one of any type of application installed
16:06:37 <elliott> Vorpal: "GNU Image Manipulation Program"? :P But yes, disambiguation is required, it's just one of those niggles.
16:06:59 <elliott> I'd probably rename GIMP to "Image Editor" and Krita to just "Krita" if I used both but GIMP more often. Admittedly that is not a very future-proof solution.
16:07:06 <elliott> Or automatic, either.
16:07:13 <Vorpal> indeed
16:07:22 <elliott> But my menus are a bit daunting, so I'm decluttering them.
16:07:31 <Vorpal> mine just say "Gimp" and so on
16:07:49 <elliott> Vorpal: For instance "AisleRiot Solitaire", there's no reason not to have that as Solitaire really, since it's the GNOME desktop's official Solitaire program.
16:08:07 <elliott> And also it's a little confusing, I wondered "what game is AisleRiot?" the first time Is aw it.
16:10:55 <Vorpal> elliott, gconf-editor failure: "long description: Project-Id-Version: gnome-panel Report-Msgid-Bugs-To: POT-Creation-Date: 2010-07-27 00:02+0200 PO-Revision-Date: [... lots more ...]"
16:10:58 <Vorpal> for some setting
16:11:32 <elliott> Vorpal: :D
16:12:07 <Vorpal> elliott, very strange that the UI is in English but some key descs are in Swedish
16:12:15 <Vorpal> (some are however in English)
16:12:25 <Vorpal> since the UI on this machine is set to English I find this very strange
16:12:47 <Vorpal> oh nice, this one has different languages for short and long desc
16:13:04 <zzo38> Does any METAFONT-like music program exist?
16:13:52 -!- ais523 has quit (Read error: Operation timed out).
16:14:11 -!- ais523 has joined.
16:14:39 -!- hoxily has joined.
16:15:33 * elliott wonders what Inkscape's generic name is
16:15:38 <elliott> Scalable Drawing Editor?
16:15:42 <elliott> Scalable Graphics Editor?
16:17:03 <elliott> hmm
16:17:20 <elliott> I can't figure out what the difference between Applications → System Tools and System → Administration is meant to be
16:17:24 <elliott> local vs. global? that doesn't really fit
16:17:47 <Deewiant> Information vs. modification or something like that?
16:18:10 -!- hoxily1 has joined.
16:18:37 <elliott> Deewiant: Nope; System Tools has Configuration Editor.
16:18:50 <elliott> (Most things in Administration are modification, but not all.)
16:19:24 <zzo38> But I think GF-Magick is better than Inkscape and GIMP?
16:20:37 <elliott> I disagree!
16:21:50 -!- hoxily has quit (Ping timeout: 240 seconds).
16:22:04 <elliott> Pidgin calls itself Pidgin Internet Messenger, not Pidgin Instant Messenger. Interesting.
16:22:17 <Vorpal> elliott, system → admin I think is gnome settings for system stuff. contrast with system → preferences
16:22:32 <elliott> Vorpal: yes, but what is Applications → System Tools then?
16:22:49 <Vorpal> elliott, ones that doesn't show up in the gnome control center?
16:22:58 <Vorpal> elliott, since the ones under system → admin do
16:23:01 * oerjan assumes it has bloated so much it is no longer instant
16:23:06 <elliott> Vorpal: you think that's a worthy distinction? :)
16:23:15 <elliott> Vorpal: The Control Centre is basically hidden out of sight nowadays anyway.
16:23:19 <elliott> Getting to it is non-trivial.
16:23:22 <Vorpal> elliott, Applications → system tools contain stuff like wireshark and other non-settings thingies
16:23:29 <Vorpal> elliott, gparted too there
16:23:41 <Vorpal> gconf-editor is in system tools too for me
16:23:42 <elliott> Vorpal: it also contains Configuration Editor. also, GParted here in in System → Administration
16:23:51 <elliott> Conclusion: Nobody knows what the fuck the difference is meant to be.
16:23:55 <Vorpal> elliott, I have control center right there in the system menu
16:24:14 <Vorpal> elliott, I don't think I added it manually
16:24:31 -!- augur has quit (Remote host closed the connection).
16:24:43 <elliott> Vorpal: Ubuntu?
16:24:44 <elliott> Or what?
16:24:58 <elliott> Anyway the Control Centre is a rather rubbish version of a menu. :)
16:25:15 <Deewiant> Stuff that requires root privileges vs. stuff that doesn't? :-P
16:25:57 <elliott> Deewiant: That's actually vaguely plausible, but not a very relevant distinction; e.g. just because Disk Utility doesn't require root to show information, doesn't mean it isn't system-wide.
16:26:04 <Deewiant> If it's nothing else it's probably something similar to regular vs. power user distinction
16:26:31 <elliott> Deewiant: What, Configuration Editor isn't a power-user tool?
16:26:47 <Vorpal> elliott, both on ubuntu and arch
16:26:47 <Deewiant> I don't what Configuration Editor is, so I can't answer that question
16:26:49 <elliott> Or if you mean the other way around: the Services settings?
16:26:51 <Deewiant> +know
16:26:52 <elliott> Deewiant: gconf-editor.
16:26:58 <elliott> Deewiant: Think regedit, except less annoying to use.
16:27:00 <Vorpal> elliott, neither install is brand new
16:27:01 <Deewiant> I don't know what gconf-editor does
16:27:01 <elliott> Where GNOME settings go to die.
16:27:02 <Deewiant> Alright
16:27:21 <elliott> Vorpal: Well, Ubuntu hasn't had the Control Centre visible in forever (years).
16:27:26 <elliott> It *may* be in stock GNOME; dunno.
16:27:32 <Deewiant> Well, then it's probably not that either, which is a bit surprising
16:27:52 <Vorpal> elliott, well, on my ubuntu system it dates back to jaunty
16:27:54 <elliott> Deewiant: I'm just moving everything in System Tools to either Administration or Accessories :P
16:27:58 <Vorpal> elliott, so maybe the default was different then?
16:28:08 <elliott> Vorpal: Not that I know of.
16:28:14 <Vorpal> elliott, huh
16:28:18 <elliott> Deewiant: Amusingly, Administration is in the top-level menu System, so one would think System Tools would at least be System → Tools.
16:28:41 <Vorpal> elliott, but System menu contains stuff like log out?
16:28:45 <elliott> I think System Tools is meant to be Accessories: The Expert Edition.
16:28:48 <elliott> Vorpal: Yes it does. And?
16:28:55 <elliott> (Not on recent Ubuntus, incidentally.)
16:28:57 <Vorpal> elliott, I don't think it is a "real" menu in the sense that applications is
16:29:00 <elliott> Ubuntæ.
16:29:01 <elliott> Vorpal: Yes it is.
16:29:06 <Vorpal> elliott, recent = ?
16:29:06 <elliott> Vorpal: You can add things to it with the menu editor.
16:29:13 -!- augur_ has joined.
16:29:16 <elliott> Vorpal: Recent = 10.04 onwards? Maybe 9.10 onwards.
16:29:19 <Vorpal> elliott, my lucid system has logout and such in the system menu
16:29:30 <Vorpal> elliott, it didn't back in jaunty
16:29:37 <elliott> Vorpal: Well, that's just because your upgrade botched *shrug*
16:29:37 <Vorpal> I know my arch always had it in system
16:29:51 <Vorpal> elliott, it did? haven't noticed in general
16:29:56 <elliott> Vorpal: http://www.liberiangeek.net/wp-content/uploads/2010/07/photo_on_menu_thumb.png
16:30:20 <Vorpal> elliott, I have log out and shut down below that. But isn't that 10.10?
16:30:31 <Vorpal> hm maybe not
16:30:37 <Vorpal> (considering date)
16:30:48 <elliott> Vorpal: I've *used* Lucid, I know what it was :P
16:30:59 <elliott> Vorpal: You can tell it's not Maverick because it has that brown highlight, not orange.
16:31:03 <elliott> Beigey.
16:31:16 <Vorpal> elliott, well, I upgraded to lucid and switched back to clearlooks first thing :P
16:31:45 <Vorpal> elliott, also indeed, ubuntu has gparted in system -> admin
16:31:56 <elliott> Debian too.
16:32:01 <Vorpal> elliott, and in control-center too
16:33:55 -!- hoxily1 has quit (Ping timeout: 240 seconds).
16:37:11 * elliott considers putting Emacs in every menu
16:38:05 * elliott renames Quadrapassel to Tetris
16:38:09 * elliott considers appending a (TM) sign
16:42:16 <zzo38> Is there anything wrong with GF-Magick? Is there anything wrong with Inkscape and GIMP?
16:43:26 <elliott> zzo38: They have completely different usage cases, as far as I am aware.
16:44:04 <elliott> # (Deletion log); 14:49 . . Keymaker (Talk | contribs) (deleted "Talk:Brainfuck/w/index.php?title=Talk:Brainfuck/index.php")
16:44:05 <zzo38> elliott: They do?
16:44:09 <elliott> ais523: will you hate me?
16:44:21 <elliott> zzo38: Sure; GF-Magick is a batch program, and Inkscape and GIMP are interactive editors.
16:46:53 <zzo38> elliott: Yes and that is the problem with those programs, that if you do it wrong, you have to do it over again, and even if you have a macro with calculation, you still have to click the point manually every time you change something.
16:47:27 <elliott> zzo38: Well, in my opinion they are much more suitable for creating and editing images than GF-Magick, because you can see what you're doing while you're doing it, and you don't have to plan ahead as much.
16:49:16 <Vorpal> elliott, static linking. Would it not be rather annoying when you have a security update in some commonly used library. Such as OpenSSL. Probably would take more time to get the update out too, since more stuff needs to be recompiled?
16:49:50 <elliott> Vorpal: I am sure you have raised this objection before as it is the first one *everyone* raises when hearing of static linking ... no?
16:50:00 <elliott> Vorpal: The answer is basically that
16:50:02 <elliott> erm
16:50:29 <elliott> Vorpal: The answer is basically that with symbol versioning, ABI breaks in libraries are *already* common and we have to go through situations like this. Additionally, it does not really help that much:
16:50:30 <Vorpal> elliott, I don't remember having mentioned it. Of course this does not apply to glibc and it's stupid versioned symbols. But to stuff like openssl it seems somewhat relevant
16:50:46 <Vorpal> elliott, openssl doesn't version symbols though
16:50:47 <elliott> With a decent distribution method -- think binary diffs here -- it does not actually take all that much bandwidth to transfer the new binaries.
16:51:00 <elliott> Maybe if you're on dial-up it would be a problem.
16:51:05 <Vorpal> elliott, but time on the compile farm before you can push out the upgrades?
16:51:32 <elliott> Vorpal: As far as compilation goes, any active, semi-large distro already regularly compiles many, many packages every day as part of the normal routine of things -- updates, simple time-based builds to check it still works, etc.
16:51:51 <elliott> Vorpal: Compile farms are fast. And the best part is, with static linking, they'll spend a lot less time running ld(1) ;-)
16:51:53 <Vorpal> elliott, yes but kitten will be a one man project for quite some time
16:51:59 <elliott> So quicker security updates!
16:52:15 <Vorpal> elliott, so slower since you don't yet have a huge compile farm
16:52:16 <elliott> Vorpal: Indeed it will. Small distros tend to not be so quick on the security updates. That's a risk you take.
16:52:26 <elliott> Vorpal: Of course I would endeavour to recompile all vulnerable packages ASAP.
16:52:26 <Vorpal> elliott, true
16:52:35 <elliott> But it might take three days or so to get everything pushed out.
16:53:05 -!- augur_ has changed nick to augur.
16:53:07 <elliott> Vorpal: Anyway, I don't plan to recompile for every new library update, as for things like new features and the like it really doesn't matter. I can easily update a library package without updating every program to be compiled with it.
16:53:17 <zzo38> If you do not plan ahead when making the drawing, you will make a mistake! And then you have to do it all over again.
16:53:18 <Vorpal> elliott, true
16:53:19 <elliott> Every now and then I'll rebuild every single package over the course of a week to bring in a new libc.
16:53:30 <elliott> zzo38: No, because with Inkscape and GIMP you can just fix your mistake.
16:53:32 <elliott> Or use undo.
16:54:03 <Vorpal> elliott, but for security issue in openssl that is quite a bit. Hm. *checks with ldd for binaries using openssl*
16:54:35 <elliott> Vorpal: I plan to avoid OpenSSL wherever I can.
16:54:46 <Vorpal> elliott, gnutls?
16:54:48 <elliott> Vorpal: I have seen a few too many code snippets to trust their sanity.
16:54:52 <elliott> Dunno about gnutls.
16:54:55 <elliott> I'll have to see.
16:55:02 <elliott> dropbear uses LibTomCrypt :P
16:55:03 <Vorpal> elliott, from what I remember it's API is actually somewhat saner
16:55:15 <Vorpal> elliott, ssh != ssl
16:55:17 <zzo38> elliott: Yes you can undo, of course. But can you put all the steps in one window and type equations in there, and keep them there with the drawing? (With SVG you can *almost* do so, but almost is not enough except for exploding hand grenades)
16:55:18 <elliott> Yeah, gnutls is probably my best bet.
16:55:20 <elliott> Vorpal: I know that.
16:55:34 <elliott> But IIRC There's a LibTomWhatever for that.
16:55:51 <elliott> Vorpal: /msg
16:55:53 <Vorpal> elliott, still, a lot of stuff only has code for openssl. Unless you plan to rewrite those I suspect you will need openssl
16:56:08 <elliott> Vorpal: gnutls is actually meant to be openssl-compatible ... *sort of*
16:56:16 <elliott> But yeah, openssl is probably a necessary evil.
16:56:24 <elliott> Don't say I didn't warn you if another vulnerability is found :)
16:57:03 <elliott> zzo38: "but almost is not enough except for exploding hand grenades" what?
16:58:52 <zzo38> elliott: O, it is just a metaphor. It can be safely ignored.
16:59:03 <elliott> zzo38: I'm not sure I quite understand that metaphor.
16:59:14 <zzo38> elliott: Then ignore it.
17:00:24 <zzo38> And just read the rest of the sentence by assuming the metaphorical part is not there.
17:05:57 <zzo38> (Even if it can, not all SVG rendering programs work the same way (some might not support all feature, or might be slow, you might have some fonts missing, etc), and it doesn't do the kind of contrast/hue/colorspace and those kind of things (Inkscape and GIMP are not the same program).)
17:08:34 <elliott> zzo38: What license is Enhanced CWEB under?
17:15:27 <zzo38> elliott: It is under the license that you are not allowed to call any derivative works just "CWEB" by itself, and that you must not change the license.
17:16:26 <zzo38> That is, it must be clear that it is not the standard CWEB.
17:16:58 <zzo38> (I included the comment at the top of each source file "% This is modified from standard CWEB." to make it more clearly)
17:17:53 <zzo38> Programs written with Enhanced CWEB can use whatever license you want to use, though. (I often use either the GNU GPL or public domain, depending on the program.)
17:20:17 <zzo38> Why do you want to know what the license is?
17:23:50 <elliott> zzo38: Just curious. I thought it was GPL.
17:25:34 <zzo38> It isn't. It is a free software license incompatible with the GPL. I believe the license only applies to the specific modules included in standard CWEB, not to external modules such as PicoC.
17:26:06 <zzo38> But if you want to use Enhanced CWEB to write your own programs, those programs can be GPL if you want it to.
17:27:42 <ais523> zzo38: it's compatible with GPL version 3; see clause 7c
17:28:51 <ais523> you're allowed to add a requirement "requiring that modified versions of such material be marked in reasonable ways as different from the original version"
17:29:02 <ais523> and requiring it to not have exactly the same name as the original version seems reasonable to me
17:29:38 <zzo38> ais523: OK let me see. OK I saw it. So I guess that means you are permitted to add modules licensed under the GPL, to the program, and link them together without license violations.
17:30:01 <ais523> I think so, too, as long as the modules don't require a version before 3
17:30:16 <zzo38> (I don't think you are allowed to relicense the CWEB modules though, because they specifically say you can't change the license)
17:30:53 <ais523> GPL version 3 had quite a few changes to make it more compatible with existing open source licenses
17:30:55 <zzo38> ais523: I agree with you that it is a reasonable requirement.
17:32:00 <zzo38> If I made a GPL'd software as part of a commercial project, I would certainly want to make that requirement.
17:36:24 <zzo38> Would it do to simply type "Option 7c of the GNU GPL v3 is selected" in the license notice, or is that not specific enough?
17:36:36 <ais523> I think it's not specific enough
17:37:33 <ais523> you'd say something like "As an additional restriction, you must give any derivative works a name other than just 'CWEB', to distinguish them from the original work."
17:38:24 <ais523> s/original work/original version/, may as well keep it as similar to the wording in GPLv3 as possible
17:39:17 -!- ais523 has quit (Remote host closed the connection).
17:40:35 -!- elliott has quit (Quit: Leaving).
17:40:43 -!- elliott has joined.
17:41:44 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
17:42:04 -!- Phantom_Hoover has joined.
17:42:35 <zzo38> Is it allowed to make any of the options in section 7 to be conditionally applied, such as only for commercial use or whatever?
17:43:01 <elliott> That would be non-Free, I strongly believe.
17:43:09 <elliott> (Discrimination on the basis of field of endeavour.)
17:44:05 <zzo38> elliott: Maybe that makes it non-Open-Source, but for the Free-Software definition, such things are not explicit (whether they are important depends on certain things).
17:44:41 <elliott> zzo38: Well, it's non-Free according to the DFSG.
17:44:47 <elliott> So your software could not be included in Debian.
17:45:23 <zzo38> Of course I suppose the condition can be written as a separate license, and the separate license is deleted, then it is unconditional, so it can be used, then, I guess.
17:46:07 <zzo38> And anyways, I have no reason to add these kind of conditionally applied restrictions except in the case of software I would be writing as part of a commercial project, so it doesn't really need to be included in Debian anyways.
17:48:20 <zzo38> But writing the condition as a separate license probably helps.
17:51:34 -!- impomatic has joined.
17:54:06 <zzo38> Similar to how the LGPL v3 is written as a separate license which adds extra permission to the GPL v3.
17:57:51 <zzo38> Do you agree with me that octal numbers are good for coding the patterns on a seven-segment display?
17:58:22 <zzo38> I hardly ever use octal, but it does have a few good uses.
18:05:58 -!- oerjan has quit (Quit: leaving).
18:10:13 <Vorpal> Phantom_Hoover, down?
18:10:53 <Phantom_Hoover> Vorpal, no, as you would have noted if you could wait for more than two goddamn seconds before asking.
18:11:12 -!- Sasha2 has joined.
18:13:09 -!- Sasha has quit (Ping timeout: 265 seconds).
18:15:24 <elliott> oh god
18:15:26 <elliott> Ubuntu Shop
18:15:26 <elliott> http://shop.canonical.com/
18:15:36 <elliott> http://shop.canonical.com/product_info.php?products_id=795 ha what
18:15:46 <elliott> "Ubuntu Mouse"
18:15:48 <elliott> http://shop.canonical.com/product_info.php?products_id=643
18:15:53 <elliott> why is it flat
18:15:58 <elliott> why does the ubuntu logo illuminate
18:23:34 -!- nooga__ has joined.
18:25:07 -!- nooga has quit (Disconnected by services).
18:25:13 -!- nooga__ has changed nick to nooga.
18:29:37 -!- augur has quit (Remote host closed the connection).
18:46:30 <Vorpal> elliott, down?
18:46:32 <elliott> Vorpal: dwon?
18:47:01 <Vorpal> elliott, I don't know if d won anything
18:50:41 <pikhq> zzo38: Basically having such a conditional requirement only will work for the FSF's notion of "Free", and even then they will be damned annoyed by it.
18:51:38 <zzo38> pikhq: OK.
18:54:30 <zzo38> But it can be separate license for the condition this is you can stop being annoying by it?
18:55:58 <zzo38> There are some scripts using FurryScript, such as D&D adventure, video game names, TV plot, etc. Maybe you or someone else can have more ideas, such as news headlines, or mahjong, or something else?
18:56:29 <pikhq> Still annoying to the FSF for the licensing conditions to change based on whether or not you like money.
18:57:11 <zzo38> If it is a separate license, then you are allowed to tell the licensing conditions not to change, if that is what you prefer.
18:57:35 <Phantom_Hoover> zzo38, I feel I may regret this, but what is FurryScript?
18:58:00 <zzo38> Phantom_Hoover: Probably the best way is to look at it http://zzo38computer.cjb.net/furry/
18:58:25 <zzo38> There is no documentation yet, sorry. Just use the existing scripts as examples to base on
18:59:19 <zzo38> (Despite what some people think, it has nothing to do with pornography or Javascript.)
19:04:02 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:04:11 <zzo38> Phantom_Hoover: Did you regret this? Or do you have another question, because you did not understand it the first time?
19:05:16 -!- ais523 has joined.
19:12:34 -!- augur has joined.
19:12:46 -!- wareya has joined.
19:14:30 -!- wareya_ has quit (Ping timeout: 240 seconds).
19:18:51 -!- cheater99 has joined.
19:22:49 -!- Sasha2_ has joined.
19:25:08 -!- Sasha2 has quit (Ping timeout: 255 seconds).
19:31:13 <Vorpal> elliott, down?
19:41:44 -!- impomatic has left (?).
19:43:02 -!- pingveno has quit (Ping timeout: 255 seconds).
19:44:56 -!- pingveno has joined.
19:47:20 <zzo38> Phantom_Hoover: Did you manage to figure it out yet?
19:51:41 -!- kar8nga has joined.
19:57:33 -!- Wamanuz has quit (Remote host closed the connection).
19:59:44 -!- Wamanuz has joined.
20:08:51 <Vorpal> down?
20:13:54 <nooga> what's down?
20:23:23 <zzo38> The basement
20:48:56 <elliott> pikhq: Is there a NASM-portable way to get names for syscall numbers in a program?
20:49:08 <elliott> Don't want to run cpp on my program.
20:50:58 <olsner> apply sed to the relevant headers, massage into nasm syntax, use %include (if there is such a thing)
20:51:00 -!- Algoromist has joined.
20:51:21 -!- Algoromist has quit (Client Quit).
20:51:21 <olsner> sed <3
20:51:57 <Vorpal> elliott, I just read about how C++ differentiate operator overloading of ++ prefix vs. ++ postfix
20:51:59 <Vorpal> UGH
20:52:13 <olsner> C++ [...] UGH
20:52:20 <olsner> are you surprised or something? :P
20:52:22 <Phantom_Hoover> http://wiki.sk89q.com/wiki/CraftBook#Usage
20:52:22 <fizzie> Oh, you mean the dummy argument?
20:52:26 <Vorpal> olsner, yes indeed. But this is worse than average
20:52:28 <Vorpal> fizzie, indeed
20:52:35 <Phantom_Hoover> elliott, remember your integrated circuit thing?
20:52:49 <fizzie> I think it's fantastic. Horrible, but somehow fantastic.
20:53:02 <Phantom_Hoover> Vorpal, how?
20:53:16 <Vorpal> fizzie, it is like they left in a quick hack for testing during development. (the "sane" thing would have been to have operator++pre or something like that. Or a prefix/postfix keyword)
20:53:21 <olsner> fizzie: hmm, I don't really get that, how is it fantastic?
20:53:25 <Vorpal> Phantom_Hoover, how what?
20:53:35 <Phantom_Hoover> Does it differentiate?
20:53:46 <elliott> <Phantom_Hoover> elliott, remember your integrated circuit thing?
20:53:47 <elliott> Hm?
20:53:55 <Vorpal> Phantom_Hoover, it needs different function signatures. Right?
20:53:56 <fizzie> olsner: I don't know, it's just a subjective feeling.
20:54:03 <olsner> fizzie: fair enough
20:54:04 <Vorpal> Phantom_Hoover, so it passes an extra int dummy argument for postfix
20:54:10 * olsner still doesn't get it though :P
20:54:34 <Phantom_Hoover> elliott, http://wiki.sk89q.com/wiki/CraftBook/ICs
20:54:43 <zzo38> I think the way operator overloading works in C++ is very dumb. I think many things in C++ are very dumb in general.
20:54:44 <fizzie> Incidentally, do you know if there is a defined value for the dummy argument, or is actually using it implementation-defined (or even undefined)?
20:54:47 <elliott> Phantom_Hoover: Definw how it's my integrated circuit thing.
20:54:56 <Phantom_Hoover> elliott, not sure.
20:54:57 <elliott> *Define
20:55:18 <elliott> Wow, a PRNG.
20:55:50 <fizzie> Foo& Foo::operator++() { /* code for prefix */ return *this; } Foo Foo::operator++(int this_is_so_stupid) { /* code for postfix */ return whatever; } -- what's not to like!
20:56:00 <Phantom_Hoover> Also, bookshelves in some form.
20:56:28 <Phantom_Hoover> elliott, ah, http://wiki.sk89q.com/wiki/CraftBook/Readable_bookshelves
20:57:47 <Vorpal> elliott, you could make a prng in redstone by making use of the timing issues of redstone on SMP :P
20:58:17 <Vorpal> <fizzie> Incidentally, do you know if there is a defined value for the dummy argument, or is actually using it implementation-defined (or even undefined)? <-- no idea. one source says "constant dummy value"
20:58:18 <elliott> Phantom_Hoover: That's a server mod though.
20:58:22 <elliott> Or are all of these server mods?
20:58:23 <fizzie> Ah, the dummy argument is defined to have a value of 0 when the postfix code is called. I'd like to know how much code there is in the world that actually relies on that value. :p
20:58:30 <elliott> Oh, they are.
20:58:31 <elliott> L A M E
20:58:34 <Phantom_Hoover> elliott, not so much server mods as plugins to hMod.
20:58:49 <elliott> I thought it was an actual redstone PRNG.
20:58:55 <Phantom_Hoover> So they can be installed while it was running.
20:59:06 <fizzie> (ISO/IEC 14882:2003(E) 13.5.7 para 1: "When the postfix increment is called as a result of using the ++ operator, the int argument will have value zero.125)"
20:59:14 <Vorpal> elliott, lame indeed
20:59:29 <fizzie> "125) Calling operator++ explicitly, as in expressions like a.operator++(2), has no special properties: The argument to operator++ is 2.")
20:59:45 <olsner> fizzie: ooh, that implies that you can call it explicitly with a non-zero value :)
20:59:50 -!- Wamanuz has quit (Read error: Connection reset by peer).
20:59:55 <Phantom_Hoover> Hmm, wait, it isn't an hMod plugin. Forget it.
20:59:58 <Vorpal> Phantom_Hoover, if you was to decide it would no longer be minecraft that we ran. But some sort of blinkenlightcraftbling
21:00:00 <olsner> foo->operator++(7) or something like that
21:00:08 <fizzie> olsner: Right, that's the second line I pasted.
21:00:16 <Phantom_Hoover> WaitI'mnotsureanymore
21:00:38 <olsner> fizzie: doh, missed that :)
21:00:50 -!- Algoromist has joined.
21:01:01 <Vorpal> <olsner> fizzie: ooh, that implies that you can call it explicitly with a non-zero value :) <-- you can explicitly call operations in C++ iirc. Except for the classical C types
21:01:03 -!- Algoromist has quit (Client Quit).
21:01:06 <elliott> it should be a void argument
21:01:08 <Vorpal> operators*
21:01:09 <elliott> operator++(void x)
21:01:10 <elliott> :D
21:01:15 <elliott> that you're not allowed to use, except as
21:01:17 <elliott> x;
21:01:19 <elliott> or
21:01:20 <elliott> (void) x;
21:01:32 <fizzie> Vorpal: Right, again, that was the second line I pasted.
21:01:33 <elliott> then you could do
21:01:39 <elliott> foo->operator++(function_returning_void())
21:01:40 <elliott> see!
21:01:46 -!- Wamanuz has joined.
21:01:58 <elliott> Bonus points for not allowing a void value/argument ANYWHERE but in operator++.
21:02:10 <elliott> And yet having (void) in a declaration imply one void argument, thus making every C89 header ever invalid.
21:02:19 <elliott> Especially since the only time you could use that in a declaration would be for operator++.
21:02:42 <olsner> maybe if you also add an empty expression and make it have a void type :D
21:03:30 <olsner> so that calling foo(), where foo is declared foo(void) actually calls it with one void argument
21:04:30 <elliott> olsner: no, the syntax for a void argument is (;)
21:04:36 <elliott> since the null statement results in a void value
21:04:41 <olsner> haha, ok
21:04:42 <Vorpal> fizzie, C++ apparently left out operator** to simplify parsing. How utterly ironic
21:04:43 <elliott> foo->operator++((;))
21:04:50 <olsner> but statements don't have values, stupid
21:04:58 <olsner> the empty *expression* has a value :)
21:05:00 <Vorpal> elliott, you might like that irony too
21:05:15 <elliott> olsner: when has C++ ever been logical?
21:05:16 <olsner> the empty statement is simply an expression statement evaluating the empty expression!
21:05:25 <elliott> olsner: I don't suppose you have a nasm struct declaration for an ELF header? :p
21:05:29 -!- Sgeo has joined.
21:05:33 <olsner> elliott: I do not, no
21:06:05 -!- oerjan has joined.
21:06:20 <olsner> elliott: I won't have ELF in my OS, I'll just have a jump-to-first-byte binary format - considering making the "magic" value an x86 jmp instruction :D
21:06:53 <elliott> olsner: who needs a magic value!
21:06:57 <elliott> execute anything you're told to
21:07:07 <olsner> dunno, but I think hashbang is useful enough to keep around
21:07:35 <olsner> and probably pluggable loaders too, since that should allow me to support ELF too in theory
21:07:37 <elliott> olsner: psht, do what the commodore 64 did (sort of); instead of hashbangs, use some assembly code that does exec(interp, myfilename)
21:07:52 <elliott> olsner: then just have a compiler that turns #!foo at the start of a file to a program with that at the top!
21:08:16 <olsner> hashbang is useful because it's in ASCII, you don't need a binary editor to edit shell scripts
21:08:22 <olsner> but sure, that can be done
21:08:24 <zzo38> elliott: Then you have to compile it on every computer, the file won't just run on all computer, but it can still work, I guess.
21:08:28 <elliott> olsner: you can do x86 code in ascii, just ask ais523
21:08:32 <olsner> also, having the shell recognize hashbangs works
21:08:35 <elliott> he wrote a self-uudecoder program in entirely ascii
21:08:39 <elliott> olsner: not really, exec()
21:08:42 <elliott> e.g. what does init do
21:09:42 <zzo38> The jump to first byte format can work, maybe similar to .COM format, it can load the PSP (program segment prefix).
21:09:44 <olsner> IMO, init can be limited to the set of binary formats actually supported by the vanilla kernel
21:09:46 <elliott> fizzie: nasm-mode is supremely irritating for structures :P
21:09:53 <elliott> olsner: no, I mean, init scripts
21:09:58 <elliott> the scripts that init calls
21:10:04 <elliott> with exec()
21:10:07 <elliott> they could be in any language :)
21:10:58 <olsner> well, they just need to be something that init can execute, and init doesn't necessarily use exec(), and exec() doesn't necessarily even exist
21:11:47 <Vorpal> what, C++ allows overloading the comma operator?!
21:11:51 <Vorpal> how does that even make sense
21:12:01 <Vorpal> (well of course C++ isn't required to make sense)
21:12:10 <Vorpal> (but here I meant "how can that even have a meaning")
21:12:20 <olsner> comma operator overloading is hardly the most weird part of C++ even :P
21:12:38 <olsner> it's easy, it's a binary operator, you can make it do whatever you want
21:12:46 <Vorpal> olsner, oooh, the comma operator does the dummy int too
21:12:55 <Vorpal> wait
21:12:56 <Vorpal> what
21:13:00 <zzo38> I still think it doesn't make sense to overload the comma operator, though.
21:13:15 <Vorpal> it is binary but exists in prefix and postfix
21:13:18 <Vorpal> what the fuck
21:14:20 <Vorpal> olsner, it isn't even like the comma operator is commonly used in C... I mean, to stuff into for (...) or while (...) is the only common usage afaik
21:14:59 <Vorpal> hm you can overload ->....
21:15:06 <Vorpal> how do you handle this-> then
21:15:12 <olsner> it is not used a lot, no... maybe for corner cases like sequencing into a single statement or to do something similar to statement expressions
21:15:22 <olsner> Vorpal: this-> doesn't invoke the overload
21:15:28 <Vorpal> olsner, how boring :P
21:15:33 <olsner> this is a pointer to Foo, not a Foo
21:15:40 <Vorpal> oh right
21:15:45 <Vorpal> olsner, so this->->?
21:15:46 <olsner> but it is often used to implement classes that behave like pointers
21:15:47 <Vorpal> wait no
21:15:53 <Vorpal> (*this)->
21:15:57 <Vorpal> how silly
21:16:05 <Sgeo> Why would you ever do that?
21:16:07 <olsner> smart pointers, handles, etc
21:16:08 <Sgeo> Just for the syle?
21:16:12 <Vorpal> Sgeo, what
21:16:23 <Sgeo> Wait, n/m
21:16:35 <Sgeo> Wait, how can this ever be a **?
21:16:47 <Sgeo> Wait, this is C, right?
21:16:59 <olsner> Wait, Sgeo is lost, right?
21:17:25 <olsner> still C++: vorpal is reading about C++ and finding things he find weird :)
21:17:42 <elliott> olsner: C/C++!
21:17:45 * elliott mauled
21:18:03 <olsner> elliott: no, this is *well* into the C++-only part of C/C++
21:18:04 <Vorpal> olsner, only because a course uses it
21:18:08 <elliott> i'm translating http://www.sco.com/developers/gabi/1998-04-29/ch4.eheader.html (lolol sco.com yeah yeah) to nasm and it's a pain :)
21:18:10 <elliott> olsner: i was joking
21:18:14 <olsner> elliott: oh, ok
21:18:18 <Sgeo> Ok then. Why would this ever be a **?
21:18:25 <olsner> Sgeo: it isn't
21:18:33 <olsner> Why would you ever ask? :P
21:18:44 <Sgeo> (*this)->
21:19:23 <olsner> this is a pointer to Foo, (*this) is a Foo, Foo presumably has an overloaded -> operator, it gets called
21:19:48 <Sgeo> Ah
21:19:55 <elliott> writing your own elf header is a bitch
21:20:31 <Sgeo> Next, someone will tell me that * and & (as deref and ref) can be overloaded
21:20:37 <olsner> the operator would then return a pointer to Bar, and the name that comes after -> is then resolved as a member of Bar
21:20:38 <pikhq> Sgeo: Yes.
21:20:41 <Sgeo> [or did I get the names backwards?]
21:20:42 <olsner> Sgeo: they can
21:20:48 <Sgeo> o.O
21:21:17 <fizzie> The times I've written ELF headers in NASM, I've just done it with commented db/dw/dd lines. (Possibly because I haven't ever bothered with NASMs struct macros anyway.)
21:21:18 <olsner> *but*, as before, this is a pointer so *this always gets the default operator* (the one that takes a pointer type)
21:21:30 * Sgeo wonders what the utility of fake pointers is
21:21:43 <olsner> *(*this) however, could invoke an overloaded operator
21:21:52 <Vorpal> hm
21:21:58 <Vorpal> new[] could overflow couldn't it?
21:22:12 <olsner> Sgeo: well, smart pointers and such things
21:22:16 <Vorpal> if the size of the object * the number of objects to allocate > SIZE_T_MAX
21:22:20 <Vorpal> fizzie, ^
21:22:30 <fizzie> As much as calloc, I would say.
21:22:32 <Vorpal> I wonder if that will be a compile time error
21:22:33 <olsner> I think you're supposed to check for that
21:22:40 <pikhq> Sgeo: You can also overload cast to void*.
21:22:57 <Vorpal> olsner, "you" as the programmer check for that size? Or "you" as compiler writer?
21:23:04 * olsner gets a vaguely uneasy feeling his new[] overloads and calloc implementations don't check this
21:23:09 <Sgeo> Can you overload other casts? Or add your own casts?
21:23:15 <Vorpal> olsner, wait, why do you use C++ ?
21:23:18 <olsner> Vorpal: the one implementing new[] that is
21:23:31 <olsner> if it's too big, return null or throw bad_alloc
21:23:46 <Vorpal> olsner, won't throwing an exception allocate memory btw?
21:23:53 <pikhq> Sgeo: Hmm. Yes, you can.
21:24:02 <pikhq> operator name_of_type()
21:24:03 <Vorpal> olsner, which is bad for OOM
21:24:08 <olsner> Vorpal: only if you heap-allocate the exception, I don't think you usually do that
21:24:14 <olsner> you stack-allocate it instead
21:24:24 <olsner> but I have never ever used exceptions in C++
21:24:36 <Vorpal> olsner, won't that be invalid when the function returns?
21:24:44 <Vorpal> olsner, even if it returns by exception that is
21:24:55 <olsner> but it doesn't return, it throws an exception, and then magic happens
21:25:20 <fizzie> If you catch by value, it's even intuitively okay.
21:25:27 <Vorpal> olsner, so... surely the stack frame must be cleared up, and then signal handlers could clobber it
21:25:39 <fizzie> But I think catching by reference is sort-of allowed too.
21:25:48 <Vorpal> I don't get how this could possibly work
21:25:56 <Vorpal> copy to reserved area
21:25:59 <olsner> stack frames, signal handlers, these things don't even exist in C++'s semantics afaik :)
21:26:01 <Vorpal> but then, what about size of the thing
21:26:11 <Vorpal> olsner, stack frames must, at some level
21:26:19 <Vorpal> olsner, and even plain C89 has signals iirc
21:26:21 <olsner> not in the language, maybe in the implementation :D
21:26:28 <fizzie> It's a very abstract level.
21:26:44 <Vorpal> fizzie, #include <csignal> I presume works
21:26:48 <Vorpal> so uh...
21:26:56 <Vorpal> surely they realised this must be handled
21:27:13 <pikhq> Uuuh, signals are a POSIXism.
21:27:22 <Vorpal> pikhq, they are in C99. I checked
21:27:22 <olsner> signals are too unixy to exist in C/C++ - for one Windows doesn't ever do signals
21:27:36 <Vorpal> pikhq, just SIGFPE and SIGABRT iirc
21:27:58 <pikhq> Ah, right, they did add signals to C, didn't they.
21:28:05 <pikhq> So they must exist in C++.
21:28:30 <Vorpal> pikhq, I don't have a copy of C89 so can't check it
21:28:40 <olsner> anyway, if exception handlers don't allocate new stack space until after the exception object has died, it'll be fine... but I wonder what happens if you catch by reference and call some functions
21:28:41 <fizzie> You could just specify that signals during exception handling use a different stack or something. Or run the exception handler before the stack actually gets properly unwound, I'm sure that's doable (if messy) too.
21:28:42 <Vorpal> well
21:28:47 <Vorpal> man page of signal(2) says
21:28:50 <Vorpal> C89, C99, POSIX.1-2001.
21:28:54 <Vorpal> in conforming to
21:28:54 -!- Sasha2_ has quit (Ping timeout: 265 seconds).
21:29:23 <olsner> *it'll be fine as long as you don't unwind the stack until after you've run the exception handler(s)
21:29:54 <elliott> C++ isn't based on C99
21:29:58 <elliott> so no, they mustn't exist in C++
21:30:01 <pikhq> elliott: Is based on C89.
21:30:13 <elliott> pikhq: based on, yes, but not as a standard
21:30:20 <elliott> the C++ spec doesn't go "this is a delta to C89 that defers to it"
21:30:23 <Vorpal> wait, post increment operator needs to return previous value?
21:30:24 <Vorpal> what
21:30:28 <elliott> if it doesn't mention signals in the PDF, it's not part of C++
21:30:33 <pikhq> elliott: True, true.
21:30:38 <pikhq> elliott: That's only POSIX.
21:30:47 <Vorpal> shouldn't it just be called *AFTER*
21:31:04 <olsner> I wonder if you could say that signal "conforms to" C99 also if C99 doesn't include the signal function, as in saying any function you've written in pure C99 conforms to it
21:31:44 <fizzie> Vorpal: It's not proper overloading if you can't completely specify the return value to whatever.
21:31:45 <olsner> that is to say: "conforms to? what does that EVEN MEAN?"
21:32:04 <Vorpal> fizzie, so it isn't just syntax sugar then... It needs to act insane
21:32:23 <fizzie> If you just always returned the object it's called on, then you could only use postfix ++ for "postfixy" things.
21:32:39 <fizzie> Now you can use it for any operation you want.
21:32:39 <olsner> Vorpal: not insane, it just needs to act as the normal postfix-increment operator or your users will go mad
21:32:41 <Vorpal> fizzie, patently good idea!
21:32:47 <fizzie> See, flexibility!
21:32:49 <Vorpal> (to only allow postfixy uses)
21:33:35 <Vorpal> olsner, "act insane" = "make a deep copy of the object to return, then modify the original one"
21:33:39 <Vorpal> olsner, is what I'm saying
21:34:53 <fizzie> They're just trusting their magical optimizing compilers to optimize away the copies.
21:35:37 <Vorpal> fizzie, that would be a good trick. I have a feeling this would entail solving the halting problem to handle for the general case.
21:36:05 <Vorpal> (I'm not sure though)
21:36:27 <olsner> this would all make perfect sense to you if you were sufficiently damaged by C++
21:36:35 <olsner> (as it does to me)
21:36:52 -!- Sasha has joined.
21:36:53 <Vorpal> olsner, why have you exposed yourself to so much C++
21:36:58 <Vorpal> olsner, surely you must hate the language
21:37:11 <Vorpal> hm is delete NULL; valid?
21:37:15 <Vorpal> after all, free(NULL) is
21:37:19 <olsner> yeah, it's a no-op
21:38:10 <olsner> or, hrm, literally "delete NULL;" might not be valid because delete on a void-pointer is undefined
21:39:17 <Vorpal> olsner, I meant literally yes
21:40:48 <olsner> well, written literally, it's a damned stupid thing to do and best removed by nothing or a better no-op :)
21:40:57 <elliott> yeah
21:41:02 <elliott> like __asm__("nop")
21:41:05 <elliott> :P
21:41:47 <Vorpal> olsner, actually tried it. error: type long int argument given to delete, expected pointer
21:41:52 <Vorpal> not what I expected
21:42:05 <elliott> delete (void *)NULL;
21:42:06 <elliott> try that
21:42:26 <Vorpal> elliott, tells me that delete of void* pointer is undefined
21:42:34 <elliott> Vorpal: delete (char *)NULL;
21:42:56 <Vorpal> elliott, the void* thing was just a warning though
21:42:58 <Vorpal> elliott, not an error
21:42:59 <Vorpal> :D
21:43:00 <fizzie> "-- if the value of the oeprand of delete is the null pointer the operation has no effect."
21:43:04 <fizzie> So that shouldn't be an error.
21:43:09 <elliott> Oeprand.
21:43:12 <fizzie> The void thing is prohibited, though.
21:43:12 <elliott> Is that really in the spec?
21:43:22 <fizzie> No, I'm typing because the PDF-paste often messes things up.
21:43:22 <Sgeo> That conventional space between char and * irritates my eyes
21:43:33 <Sgeo> Is it really because of the int* a, b; thing??
21:43:33 <olsner> fizzie: *but* doesn't the null pointer and void thing interact?
21:43:38 <Sgeo> s/\?\?/?/
21:43:50 <olsner> which takes precedence - is deleting a null void-pointer a no-op or undefined? :)
21:44:06 <elliott> Sgeo: It's also because of declaration-mirrors-use.
21:44:10 <elliott> int *a;
21:44:11 <elliott> *a = 3;
21:44:12 <elliott> See?
21:44:17 <fizzie> olsner: Not really, since the null-pointer thing was when the expression has a valid type.
21:44:22 <Vorpal> elliott, it seems to have been optimised away at -O0 by gcc
21:44:24 <Vorpal> how weird
21:44:38 <Vorpal> -O0 shouldn't do that
21:44:39 <fizzie> Or, hmm.
21:44:51 <fizzie> It's only about deleting an incomplete class type.
21:45:00 <Sgeo> Doesn't really work that well with C++'s reference types, which must die a horrible death
21:45:45 <elliott> Sgeo: ...what's wrong with them?
21:46:19 <Sgeo> They seem a bit magical. Assign to them once, followed by a subsequent assign.. those assigns do two different things
21:46:33 <fizzie> Initialization != assignment.
21:46:55 <elliott> what fizzie said
21:47:01 <olsner> what elliott said
21:47:05 <elliott> what olsner said
21:47:09 <olsner> what elliott said
21:47:13 <elliott> what fizzie said
21:47:31 <olsner> wait, no, what I said
21:48:29 <Vorpal> uh
21:48:55 <Vorpal> you can't see if the thing will be modified with references
21:49:03 <Vorpal> without checking the declaration of the function
21:49:04 <Vorpal> consider:
21:49:06 <Vorpal> int i;
21:49:10 <Vorpal> i = 4;
21:49:13 <Vorpal> foo(i)
21:49:30 <Vorpal> and then consider: foo(int x) vs. foo(int &x)
21:50:04 <Vorpal> C# actually gets that right, it requires ref keyword both in function "prototype" and in the call to the function
21:50:33 <Vorpal> elliott, hence C++ references needs to die.
21:51:50 <Gregor> C++'s references were most assuredly a mistake.
21:52:10 <Gregor> Aside from being totally redundant with pointers, they make function calls super-confusing since you can't tell what's what.
21:52:15 <Gregor> But you all know that :P
21:52:46 <olsner> bah, I'm not so sure everyone knows that :P
21:53:36 * oerjan didn't know :D
21:53:49 <oerjan> not knowing C++ almost at all helps with that
21:54:07 <Gregor> oerjan: I switch back and forth from C++ to JavaScript every day 8-D
21:54:14 <olsner> some people think "but omg, references, like, optimization! and stuff!", but references are really exactly like pointers except *possibly* if something gets inlined (and then I believe references and pointers are just as optimizable anyway)
21:54:23 <oerjan> Gregor: and your brain has not been completely fried yet?
21:54:43 <Gregor> oerjan: Have you seen pictures of me?
21:54:44 <Gregor> :P
21:55:07 <elliott> Who designed ELF, can I shoot them?
21:55:13 <elliott> It's so freakin' complex X_X
21:55:13 <oerjan> Gregor: i realized that after i spoke. ok, i retract my previous line.
21:56:11 <Gregor> elliott: HEY
21:56:17 <Gregor> elliott: ELF is fucking AWESOME.
21:56:26 <Gregor> elliott: And why are you trapped in the land of ELFs?
21:56:36 <olsner> *elves
21:56:42 <Gregor> *ELFs
21:56:48 <oerjan> he was probably led there by a GNOME
21:56:49 <elliott> Gregor: I've decided that the only way my wimpy coreutils efforts can possibly compete with asmutils is to... , so yeah, I'm writing elf.inc right now with all the ELF header structures.
21:56:54 <elliott> And I will define macros to assemble them manually :P
21:56:56 <olsner> Gregor: ELVes then :D
21:57:01 <elliott> But SHEESH there is a lot of crap here.
21:57:50 -!- Sasha2 has joined.
21:58:20 <Gregor> elliott: That ... explained nothing.
21:58:40 <elliott> Gregor: ld generates big executables. So I'm assembling in a custom ELF header.
21:58:47 <elliott> Which involves defining the ELF structures in nasm.
21:59:03 <elliott> (Big = almost 300 bytes when stripped!)
21:59:56 -!- Sasha has quit (Ping timeout: 264 seconds).
22:00:45 <elliott> Gregor: Explained? :P
22:00:54 <oerjan> so it should have been called GIANT then?
22:01:01 * elliott swats oerjan
22:01:07 <elliott> with an invisible swatter obvs
22:01:12 -!- Sasha has joined.
22:01:14 <Gregor> elliott: For some definition of "explained"
22:01:34 <elliott> Gregor: WHY ARE SECTION HEADERS SO HUGE
22:01:40 <oerjan> that's actually plausible given that putty shows unknown unicode as space to me
22:02:29 <oerjan> although clog sees and reveals all. well almost all.
22:02:50 -!- Sasha2 has quit (Ping timeout: 260 seconds).
22:03:08 <Gregor> elliott: PornograFREE.
22:03:23 <elliott> Gregor: What.
22:03:26 <oerjan> porn wants to be free
22:03:49 <oerjan> this is of course a corollary to porn being information
22:03:54 -!- kar8nga has quit (Read error: Connection reset by peer).
22:05:00 <Sgeo> Keys are information
22:05:20 <elliott> information wants to pee
22:05:36 <Gregor> Information wants to be Cree.
22:05:37 <olsner> ... and according to rule 34/35, information is porn
22:06:13 <Sgeo> The leaked diplomatic cables are SO HOT
22:07:38 <Phantom_Hoover> olsner, what's the correlation between that and its Kolmogorov complexity?
22:07:41 <oerjan> ...what's rule 35
22:08:11 <olsner> Phantom_Hoover: over 9000
22:08:35 <olsner> oerjan: the one about if there's no porn of it, it must be made (no exceptions)
22:08:55 <oerjan> ok
22:09:45 <olsner> i.e. the rule that makes sure rule #34 always applies even when it doesn't (didn't)
22:09:58 <elliott> <olsner> oerjan: the one about if there's no porn of it, it must be made (no exceptions)
22:09:59 <elliott> not true
22:10:05 <elliott> that is not the statement of the rule
22:10:07 <elliott> the statement is:
22:10:12 <elliott> If porn of it does not exist, it will be made.
22:10:25 <elliott> i.e.: it's a platonic statement, not a mere order
22:10:55 <elliott> IMO -- speaking theologically -- rule 34 has no exceptions, as it itself states, and rule 35 merely clarifies it
22:10:56 <olsner> yeah, you're probably right. seems the end effect of either formulation is the same though
22:11:04 <zzo38> I don't think so. It is just the way things tend to happen. Or, at least that is what I have heard.
22:11:12 <elliott> that is, for everything, there IS porn of it, but it might not be on the internet, anyone's hard drive, or even in this universe
22:11:35 <elliott> rule 35 is merely stating that, upon this being noticed, eventually, porn of it *will* enter this universe, after existing in mathematical platonic concept-space
22:11:45 <olsner> elliott: rule 34 always applies! but when it doesn't, rule 35 makes sure it applies anyway! :)
22:11:50 <elliott> so, there is porn of it, no exceptions; and if the porn cannot be found, it will be made
22:12:00 <elliott> olsner: it is not a crude hack, it is an elegant clarification!
22:12:07 <olsner> it's like a tautology with a plus menu
22:12:11 <zzo38> I think it has nothing to do with mathematical platonic concept-space. Just some people like to make pornography of anything so that is why they do so.
22:12:12 <elliott> :D
22:12:19 <elliott> zzo38: I pray for your soul.
22:12:27 <elliott> Maybe one day you will see the light.
22:12:37 <Gregor> It's not that I LIKE to make pornography of everything.
22:12:45 <Gregor> It's just that the Great Guiding Pervert forces me to.
22:13:04 <zzo38> I don't like to make pornography of anything, but some people do, so they can have freedom to do so.
22:13:32 <olsner> hmm, I expected zzo38 to be more of a pervert
22:15:15 <zzo38> olsner: Some people think some of my concepts are a bit perverted. However, it is not meant to be.
22:17:04 <elliott> Phantom_Hoover: MC!
22:17:08 <Vorpal> Gregor, you made porn of what now?
22:17:13 <elliott> olsner: isn't he asexual? pretty sure he's said he's asexual.
22:17:31 <elliott> Vorpal: Colour porn.
22:17:38 <olsner> elliott: by choice? :P
22:17:39 <elliott> Nasty, perverted colour porn -- interracial, non-matching colour porn.
22:17:41 <zzo38> Other people are the perversion, who thinks FurryScript has something to do with both pornography and Javascript, and gave a (completely stupid) example. In reality, FurryScript has nothing to do with pornography or with Javascript.
22:17:48 <Phantom_Hoover> elliott, Gregor or zzo38?
22:17:50 <Vorpal> "you are about to close 123 tabs, do you want to save your session" <--- hell, no that will take forever to open
22:17:51 <elliott> zzo
22:17:51 <Vorpal> XD
22:17:56 <elliott> olsner: <ehird> Pretty sure he's said he's gay. <olsner> by choice? :P
22:17:58 <Vorpal> also explains the memory usage
22:18:27 <elliott> olsner: Lesson: just don't go there. :p
22:18:28 <Phantom_Hoover> elliott, zzo38 is asexual, according to his WP user page.
22:18:38 <olsner> elliott: haha, ok
22:18:54 <elliott> Phantom_Hoover: creepy, dude :P
22:19:25 <Phantom_Hoover> elliott, "ZOMG YOU KNOW SOMETHING ABOUT SOMEONE THAT THEY ADMIT OPENLY" is not a mature mode of conversation.
22:19:41 <elliott> Phantom_Hoover: I was referring more to the looking up his wikipedia page.
22:19:50 <olsner> elliott: in the "not having sex" sense, it can certainly be by not-choice though
22:19:57 <elliott> olsner: that's not what asexual means
22:20:12 <Phantom_Hoover> elliott, remembering information from it is not creepy either.
22:20:29 <olsner> elliott: not really, no, but that's the sense I used back there
22:20:56 <oerjan> wikipedia user pages are of course strictly private information.
22:21:01 <olsner> when I say it, it means what I mean it to mean, or however that nice quote goes
22:21:23 <Phantom_Hoover> fleebquobble mcflooby screenflib.
22:21:33 <oerjan> Phantom_Hoover: quite.
22:21:50 <olsner> Phantom_Hoover: just quibble that flibble-flobble
22:22:01 <oerjan> olsner: PERVERT
22:23:26 <olsner> Vorpal: 123 tabs is seriously nothing to worry about
22:24:24 <zzo38> This user likes to use redundant userboxes that are redundant. This user likes to use redundant userboxes that are redundant. This user likes to use redundant userboxes that are redundant. This user likes to use redundant userboxes that are redundant. This user likes to use redundant userboxes that are redundant. This user likes to use redundant userboxes that are redundant. This user likes to use redundant userboxes that are redundant.
22:25:30 <olsner> zzo38: so you're not the zzo38 on wikipedia?
22:26:18 <zzo38> olsner: I am the same as the User:Zzo38 on the Wikipedia, that is my user page.
22:26:53 <olsner> that looks batshit insane
22:27:40 <olsner> but I know from here that you're not nearly as batshit insane as that looks
22:28:38 <zzo38> Hay, I *invented* Icoruma and FurryScript. If you are not perversioned, you might be able to guess the correct usage of FurryScript (or you might not, if you have no information)
22:28:41 <Sgeo> Phantom_Hoover, did you stalk my Wikipedia page some time back, or did I link it?
22:28:50 <zzo38> olsner: And I am a bit insane in some ways though, too.
22:28:51 <Phantom_Hoover> I can't remember.
22:28:57 <zzo38> But not all ways.
22:28:58 <Phantom_Hoover> zzo38, insane is good.
22:29:11 <Sgeo> zzo38, "This person does not understand Python (or understands it with considerable difficulties, or does not want to program in Python)."
22:29:14 <Sgeo> We are at war
22:29:42 <olsner> ooh, that statement applies to me too!
22:29:42 <Phantom_Hoover> Ooh, this'll be entertaining.
22:29:45 <zzo38> Phantom_Hoover: Yes, it can be, depending on many things. But often the insane can do good things, and this is good things.
22:30:02 <olsner> at least the "does not want to program in Python" part
22:30:18 <Phantom_Hoover> [[This user knows that 0.999... is exactly 1.]] — zzo38's WP page.
22:30:24 -!- Quadrescence has quit (Quit: omghaahhahaohwow).
22:30:28 <Phantom_Hoover> Not in nonstandard analysis!
22:30:39 <zzo38> Sgeo: Actually since I put that there, I have programmed a few card games in Python, and have modified a drive wipe script written in Python. I don't ever write any of my own new programs in Python, though.
22:31:22 -!- Quadrescence has joined.
22:31:48 <zzo38> Phantom_Hoover: I suppose then you can use nonstandard analysis? In the standard way, though it is equal. In my opinion it is equal, but it might still be incorrect to use the equivalence sign there; the equal sign is OK there
22:32:38 <Sgeo> "This user can code in XUL"
22:32:43 <Sgeo> Why would you want to?
22:32:54 <Phantom_Hoover> zzo38, well, saying "not in nonstandard analysis" is like saying "2+2 /= 4 in Z_4"; it's an axiomatic thing.
22:32:59 <Sgeo> Unless Vonkeror can do XUL, which would surprise me
22:33:35 <zzo38> Sgeo: There is probably not a good reason except for making Mozilla based programs (Vonkeror is Mozilla based)
22:33:49 <Sgeo> Oh, wasn't aware of that
22:34:17 <Phantom_Hoover> Essentially, \lim_{x→\infty}1/x = 0 in standard analysis, but an infinitesimal in nonstandard analysis.
22:34:38 <elliott> Phantom_Hoover: Well, sort of...
22:34:38 <zzo38> Phantom_Hoover: What 2+2 makes is not axiom in TNT.
22:35:09 <Phantom_Hoover> zzo38, but it is dependent upon the axioms of the system you're in.
22:35:29 <zzo38> Phantom_Hoover: Yes. I guess so. TNT is only for natural numbers, anyways.
22:35:58 <Phantom_Hoover> zzo38, have you used a proof assistant in the past?
22:36:11 <zzo38> Phantom_Hoover: No.
22:37:19 <zzo38> But maybe later I will invent a computer program for proof assist if I would have a reason to do so.
22:37:19 -!- EgoBot has quit (Ping timeout: 272 seconds).
22:38:26 <Phantom_Hoover> zzo38, making a proof assistant yourself is an exercise in futility unless you have several years of free time and like writing long papers showing that your proof kernel is reliable.
22:39:27 <Phantom_Hoover> And you have an intimate understanding of a particular flavour of logic and its implementation into a computational system.
22:40:58 <zzo38> I know how TNT works (described in Hofstadter's book), and how it could be generalized, and how you could also have macros and so on, so that would work.
22:42:42 <elliott> TNT does not a good proof assistant make.
22:43:02 <Phantom_Hoover> Are there actually any good proof assistants other than Coq?
22:43:14 <zzo38> And then it can be possible to prove Fermat's Last Theorem in TNT by writing macros and so on.
22:44:12 <Phantom_Hoover> zzo38, words fail me on that.
22:44:31 <zzo38> It would not be interactive, it would only execute the macros which you write and which can be checked according to the current state of the proving system, and so on, and then tell you which ones are valid, and then have a macro check if it is valid to make another proof.
22:44:35 <Phantom_Hoover> There's NIH and there's proving Fermat's Last Theorem on a self-written proof assistant.
22:45:54 <Phantom_Hoover> Coq, the best, most mature proof assistant I know of, has a barely-understandable non-constructive implementation of the *reals*, let alone the vast towers of mathematics upon which that proof is based.
22:48:01 <Sgeo> Grr at http://en.wikipedia.org/wiki/User:Sgeo/randcolor-hex being broken
22:48:03 <zzo38> Does Coq prove Fermat's Last Theorem?
22:48:08 <Sgeo> Oh, right, I still need to learn Coq
22:50:29 <zzo38> Does Coq prove the twin prime conjecture?
22:50:38 -!- rodgort has quit (Ping timeout: 272 seconds).
22:52:26 * Sgeo is again thinking about scientists inside GoL
22:53:38 <elliott> zzo38: No.
22:53:53 <Phantom_Hoover> zzo38, in the loosest sense.
22:54:19 <Phantom_Hoover> i.e. they are constructible within its logical framework from an appropriate set of axioms.
22:55:37 <Phantom_Hoover> Well, not the twin prime conjecture since we don't actually know if it's true or not.
22:57:13 <oerjan> it _does_ prove the four color theorem, though
22:57:52 <elliott> Phantom_Hoover: erm fermat's last theorem might not hold in Coq's logic
22:57:59 <elliott> Wiles' proof wasn't exactly constructive
22:58:06 <Phantom_Hoover> Huh?
22:58:08 -!- Sasha has quit (Ping timeout: 240 seconds).
22:58:52 -!- Sasha has joined.
22:59:15 <elliott> Phantom_Hoover: ?
22:59:17 -!- rodgort has joined.
22:59:37 <Phantom_Hoover> Not exactly constructive...?
22:59:39 <Phantom_Hoover> Coq...
22:59:48 <oerjan> afk
23:00:23 <Phantom_Hoover> How do you constructively prove a universal statement?
23:02:34 <zzo38> Is Fermat's Last Theorem provable in Typographical Number Theory?
23:04:05 <elliott> Phantom_Hoover: You mean forall x, y?
23:04:12 <elliott> That's a function..
23:04:19 <Phantom_Hoover> Fair point.
23:04:21 <elliott> <elliott> Phantom_Hoover: erm fermat's last theorem might not hold in Coq's logic
23:04:22 <elliott> <elliott> Wiles' proof wasn't exactly constructive
23:04:29 <elliott> what i'm saying is, all we have to go on is wiles' proof
23:04:34 <elliott> done in very non-constructive logic
23:04:48 <elliott> it isn't FALSE in constructivist logic, we know that thanks to wiles
23:04:50 <elliott> but it might not be provable
23:06:46 <zzo38> But do you know if it is possible in TNT? Even if you do not know if it is provable in Coq?
23:07:13 -!- FireFly has quit (Quit: swatted to death).
23:08:18 <Phantom_Hoover> zzo38, depends entirely on the specific flavour of logic TNT uses.
23:09:30 <zzo38> Phantom_Hoover: TNT works entirely by typographical operations of replacing groups of symbols matching a template with other ones.
23:10:01 <zzo38> And by combining and splitting previous theorems in some ways.
23:14:13 <tswett> [ʝ̃ŋʝ̃ŋʝ̃ŋʝ̃ŋʝ̃ŋʝ̃ŋʝ̃ŋʝ̃ŋ]
23:14:38 <tswett> I don't think [ʝ̃] is a sound in any language. :P
23:16:39 <Phantom_Hoover> Is it defined in the IPA?
23:16:59 <tswett> Yes. It's a nasalized voiced palatal fricative.
23:17:13 <tswett> But "nasalized" and "voiced palatal fricative" are separate symbols; you just put the former over the latter.
23:17:34 <Phantom_Hoover> Ah.
23:17:37 <tswett> So I should say ~ and ʝ are defined in the IPA but ʝ̃ is not.
23:20:04 <Phantom_Hoover> Ah, the joys of making up stupid phonemes.
23:20:37 <tswett> :P
23:20:50 <tswett> This is a sound, not a phoneme. If it were a phoneme, it would be /ʝ̃/ instead of [ʝ̃]. :P
23:21:27 <fizzie> "The sound written ‹r› in Mandarin has an odd history; for example, it has been borrowed into Japanese as both [z] and [n]. It seems likely that it was once a nasalized fricative, perhaps a palatal [ʝ̃]."
23:22:03 <fizzie> That was, of course, just speculation.
23:22:27 <Vorpal> elliott, *prod*
23:22:31 <tswett> And Mandarin apparently doesn't have that sound now, or else it would say.
23:22:58 <Vorpal> fizzie, you must see the underground dock I built in MC. only thing remaining is adding some wooden piers + some pirate feel to it
23:23:02 <Vorpal> or smugglers maybe
23:23:10 <Vorpal> smugglers is better
23:23:12 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:23:24 <tswett> Does it have a ramp going up to the ocean?
23:23:40 <Vorpal> tswett, it has a drop shaft and a boatlevator
23:23:48 <Vorpal> tswett, both in the middle of the ocean
23:23:56 <Vorpal> tswett, the boatlevator ends at the sea bottom
23:24:09 <fizzie> Yes; it does list some other nasalized fricatives (which to a Finnish speaker is a bit strange-sounding concept in the first place); "Some of the South Arabic languages have phonemic nasalized fricatives, such as /z̃/, which sounds something like a simultaneous [n] and [z]."
23:24:14 <fizzie> But not that particular one, no.
23:24:28 <tswett> Vorpal: cool.
23:24:53 <tswett> fizzie: it's a strange idea to me, too. I would be surprised if English had them.
23:27:25 <tswett> Ever.
23:28:58 <Gregor> Rule 34 roulette
23:29:16 <tswett> What is Rule 34 roulette?
23:29:26 <Gregor> The world's greatest idea.
23:29:38 <zzo38> And how does it work?
23:29:42 <olsner> it's just roulette with different rules (one rule, in fact - rule 34)
23:30:28 <zzo38> And what is that rule? Is that the only number on the board?
23:30:44 -!- Goosey has joined.
23:31:38 <olsner> oh no, the internet is full of numbers
23:32:45 <tswett> I took a look at the Internet once and found that, while it had a lot of numbers in it, it also had a lot of pointers and mutexes.
23:33:45 <zzo38> How does rule 34 work?
23:34:10 -!- ais523 has quit (Remote host closed the connection).
23:37:28 <zzo38> You cannot really write a proper syntax highlighter for TeX or for Forth, but METAFONT and FurryScript can be properly syntax coloring.
23:38:00 <zzo38> (With Forth, it is possible, however, to prettyprint a program while it is executing.)
23:38:05 <tswett> FurryScript? What is this language whose name catches mine eye?
23:38:19 <zzo38> tswett: http://zzo38computer.cjb.net/furry/
23:39:11 <zzo38> If you have ideas for additional scripts, you can suggest and/or write them. (Sorry, no documentation yet. You can look at the files in the scripts/ directory for examples)
23:40:14 <zzo38> Any questions so far? There probably is one, at least.
23:40:45 <Sgeo> Is there any documentation that isn't code?
23:41:02 <Sgeo> Oh, I should learn to read
23:41:09 <zzo38> Sgeo: Unfortunately not. But we can work together to write some.
23:41:50 <Sgeo> Is it TC?
23:42:47 <zzo38> Sgeo: I believe so.
23:43:12 -!- MigoMipo has quit (Ping timeout: 245 seconds).
23:43:29 <zzo38> But I am not completely sure.
23:46:00 <zzo38> What do you think?
23:46:24 <Sgeo> Someone should make a language whose TC-ness is undeterminable. And as soon as I thought that, I start thinking that it's already been done
23:46:56 <zzo38> Sgeo: There is one that is dependent on Goldbach conjecture
23:50:19 <zzo38> Hopefully the files available in scripts/ is enough to understand most of the features of FurryScript so that you can write a code in FurryScript.
23:50:40 <tswett> What's that programming language where a program is a series of fractions? Is it called "Bag" or something?
23:50:50 <elliott> tswett: fractran; bag is iirc oerjan's extension of it
23:51:14 <tswett> So, I just realized that Fractran is equivalent to some other language, and then I realized that that other language is also equivalent to Fractran.
23:51:18 <tswett> MY MIND IS SO PROFOUND.
23:51:19 <Sgeo> fractornran
23:58:04 <zzo38> There are other programs with similar purpose to FurryScript exists, but as far as I know the other programs are weaker and not as clean.
2010-12-11
00:02:02 <zzo38> tswett: Please tell me whether or not any of this makes any sense to you.
00:02:27 -!- wareya has quit (Read error: Connection reset by peer).
00:03:33 -!- wareya has joined.
00:04:27 <elliott> Sgeo: Please tell me you feel a great surge of pride every day knowing you created {{purge}}.
00:05:15 <tswett> zzo38: that makes sense.
00:05:40 <zzo38> tswett: Does the files I linked makes sense to you?
00:05:58 * Sgeo isn't sure how serious elliott is, but I am somewhat glad I made some somewhat widely used contribution
00:07:20 <Sgeo> Now, if I can figure out how it's used today, since I certainly don't see a purge link on http://en.wikipedia.org/wiki/Talk:Buffer_overflow
00:07:36 <Sgeo> I also made http://en.wikipedia.org/wiki/Template:Wstress3d
00:11:23 <tswett> zzo38: oh, those files. I didn't look closely at them.
00:11:56 <tswett> Sgeo created Wikipedia's {{purge}}?
00:12:55 <Sgeo> I have as much claim to it as I have to Wikihack and Creatures Wiki
00:13:10 <zzo38> I created a page number template which was once used on Wikipedia, that template is now gone, however.
00:13:53 <zzo38> Which is probably the most significant thing I ever posted on Wikipedia, except for a few userboxes I created, some of which (but only a few!) are used by other users too.
00:14:19 <tswett> Most of my Wikipedia edits are removing commas.
00:14:29 -!- Sasha has quit (Ping timeout: 255 seconds).
00:15:03 <zzo38> I have done some minor changes like that too, but I think it was never removing commas, as far as I know.
00:16:28 <zzo38> If you want to see which userboxes that I have created are used by other user pages, go to edit on my user page, and then on the list of templates see things started with "User:Zzo38/Userboxes/" scrolled there, click on each one and select "What links here" to see what pages used that template.
00:17:09 -!- Sasha has joined.
00:17:21 <zzo38> [[User:Zzo38/Userboxes/cmdline]] seems to be the one used the most.
00:19:49 <Sgeo> If GoL scientists discovered the glider, would they assume that it has "phases" that it exists in
00:20:03 <Sgeo> Gliders in phase 1 react a certain way, gliders in phase 2 act differently
00:20:04 <Sgeo> etc
00:20:14 <Sgeo> Although presumably macro-level objects are mostly resistant
00:20:22 <Sgeo> Or self-repairing
00:21:32 <Vorpal> night →
00:21:36 <Sgeo> Nigh
00:21:37 <Sgeo> t
00:22:29 <tswett> Sgeo: that's very likely. They might not even discover until the very end that the two things are both gliders.
00:24:18 <Sgeo> Well, they might discover that glider guns seem to produce one or the other or both seemingly at random
00:24:37 <Sgeo> (depending on how they position the target object, but they wouldn't know that)
00:25:56 <Sgeo> No, they'd... only see one at a time, they wouldn't see both eminating at once
00:27:33 <oerjan> hm that's an interesting idea - if their life form has a consistent global phase with some large cycle number, like our own molecules have chirality...
00:28:03 <oerjan> and if the cycle length is even, then the two phases of glider _would_ have different biological effects
00:29:19 <elliott> oerjan: :D
00:29:26 <elliott> i wish GoL was the universe, it's cooler than this one
00:30:46 <Sgeo> "Out of phase" has more meaning in their universe than it does in ours
00:30:50 <oerjan> although they would probably still be capable of producing chaos in scientific experiments, assuming their universe contained some to start with
00:32:14 <Sgeo> What about the orientation of the glider?
00:32:50 <Sgeo> Erm, as in, it kind of has 4 phases, 2 of which are just reflections of the other 2
00:33:09 <oerjan> oh right
00:33:17 <oerjan> so they might see 4 different kinds
00:34:36 <oerjan> also if their life form has parts that are always directed in the same way globally, then they might even find gliders traveling in different directions to be different
00:35:15 <Sgeo> Hmm, didn't think of that
00:35:34 <Sgeo> That's.. interesting
00:35:42 <oerjan> they might need to do experiments with chaos in order to discover the simpler fundamental rules
00:36:26 <Vorpal> why does it have to take on such an existance. Why not a different form of life, more like a single sentient being?
00:36:27 <oerjan> life could have global symmetry phases both in position on the grid, timing, and direction
00:36:29 <Vorpal> oerjan, Sgeo ^
00:36:35 <Sgeo> Depending how little/much their smallest movement is (if they can move), they'd notice that building a glider gun in different places results in different gliders?
00:36:37 <elliott> Vorpal: very irrelevant to this hypothetical.
00:36:59 -!- zzo38 has quit (Remote host closed the connection).
00:37:02 <Vorpal> elliott, oh?
00:37:13 <oerjan> Sgeo: except without chaos to investigate they might not even recognize building a glider gun in different places as the same operation
00:38:10 <Sgeo> ...huh
00:38:36 <oerjan> they might have to use entirely different methods to build them 1 place shifted
00:42:50 <Sgeo> Would they even get a correct value for c?
00:43:27 <Sgeo> Things in a vacuum have a maximum speed that's lower than c, right?
00:44:05 <oerjan> periodic things, yes
00:44:27 <oerjan> a long line still expands at c, but it gets shorter in the process
00:47:33 <pikhq> Sgeo: Max speed in a vacuum in Life is c/2, IIRC.
00:48:06 <Sgeo> I was thinking that we should make a simulation that lets us pretend to be GoL Scientists, but we don't know what good manipulatory .. manipulations are reasonable
00:53:31 <Vorpal> elliott, wow, amazing lava + water cavern
00:57:43 <Sgeo> Are there items in GoL with a small number of parents?
00:58:09 <Sgeo> Perhaps some life might evolve with a finite resource, a pattern that is involved with some reaction that ends up returning just that pattern
00:58:30 <Sgeo> Said pattern has no parents other than reactions in which the pattern is part of the parent
00:58:56 <elliott> <Sgeo> Are there items in GoL with a small number of parents?
00:59:00 <elliott> there are items with 0.
00:59:16 <Sgeo> I should have said non-zero
01:07:01 <elliott> 93 true
01:07:03 <elliott> That is more f'n like it!
01:07:09 <elliott> Gregor: Okay, I love ELF now (since I got it working.)
01:07:17 <elliott> And it's even a pretty "istruc", too!
01:07:21 <Gregor> X-D
01:07:38 <pikhq> http://www.dslreports.com/r0/download/1606057~0c86508b26b11f6901e6989a7b4e327c/Soeed.JPG From a recent FCC survey on broadband in the US.
01:08:09 <elliott> Gregor: http://sprunge.us/TjZS true.s :P
01:08:31 <elliott> Gregor: (I am not at all sure "xor al, al inc al" works reliably if anything above the low byte of eax is set.)
01:08:41 <elliott> Not sure how much the kernel looks at, for a syscall, or what guarantees there are on eax's initial value in Linux :P
01:08:44 <Gregor> lawl
01:08:59 <pikhq> Note that by the FCC's current standards on what "broadband" is, 58% of US broadband connections aren't.
01:09:25 <Gregor> Mine most assuredly is not.
01:09:28 <elliott> Gregor: Still, dude, 92 bytes! Not bad!
01:09:40 <pikhq> Gregor: 4 Mbps down and 1 Mbps up?
01:09:44 <Gregor> elliott: A shell script would be shorter ;)
01:09:46 <Gregor> pikhq: Nope.
01:09:48 <elliott> Now to go further in the Whirlwind page and pick the one that stays remotely sane :P
01:09:54 <elliott> Gregor: Not if you add /bin/sh's size :P
01:10:10 -!- Sasha has quit (Ping timeout: 240 seconds).
01:10:16 <elliott> Gregor: Thing I learned reading sco.com (lawl)'s copy of the ELF header specification thing: ELFs can set an interpreter. Seriously.
01:10:20 <elliott> Who needs shebangs?!
01:10:20 <Gregor> elliott: I'm assuming, based on my brilliance, that you have to include /bin/sh ANYWAY.
01:10:21 <pikhq> Gregor: But remember, "we're number one!".
01:10:37 <pikhq> elliott: That is actually how dynamic linking works.
01:10:40 <elliott> Gregor: Not if you don't need it!
01:10:42 <Gregor> elliott: Calling that an interpreter is a bit misleading, although that is the spec, that's where you put /lib/ld.so
01:10:44 <pikhq> elliott: The dynamic linker is set as the interpreter.
01:10:45 <elliott> pikhq: Oh, indeed.
01:10:50 <Sgeo> Say their biological cycle is a multiple of 4
01:10:59 <elliott> Gregor: But what if you wrote an ELF/esolang polyglot? :p
01:11:02 <Sgeo> They see gliders as 4 distinct particles, don't see the connect
01:11:03 <fizzie> elliott: Why not just "xor eax, eax" + "inc eax"? It's not any longer.
01:11:06 <elliott> Or /anylang, but I doubt most languages would accept such silly :P
01:11:10 <elliott> fizzie: It is? Oh, wonderful. :p
01:11:13 <Gregor> elliott: But yeah, it could be an invalid ELF otherwise, just enough to get passed into an interpreter :P
01:11:13 <Sgeo> What happens when they come across a 5... thingy item
01:11:23 <pikhq> Gregor: Yes, but the ld.so actually gets passed the file. :)
01:11:38 <Sgeo> Might they eventually deduce that the 4 particles are in fact the same, similar to the 5-phase item?
01:11:38 <pikhq> ...
01:11:43 <elliott> Gregor: Kudos to the first person to write an ELF/something else polyglot with the something-else set as the interpreter :P
01:11:50 <pikhq> You could actually set your ELF files to load using qemu. :P
01:11:55 <elliott> Gregor: Mega kudos if it's a quine.
01:12:09 <elliott> pikhq: Only if you lied about architecture and the like :P
01:12:11 <pikhq> (well, it'd only really work if the file in question is statically linked.)
01:12:17 <Gregor> elliott: Should be possible with BF.
01:12:17 <elliott> pikhq: http://sprunge.us/TjZS true.s!
01:12:29 <elliott> Gregor: That's so close to cheating that I don't like it :P
01:12:34 <pikhq> elliott: :)
01:12:36 <Gregor> :P
01:12:47 <elliott> Gregor: Like polyglots where the other languages are all in comments.
01:12:52 <elliott> No, man, you gotta use dual meanings!
01:13:15 -!- Sasha has joined.
01:13:29 <elliott> I wonder why my version of true is two bytes larger than his 42...
01:13:42 <elliott> Perhaps nasm changed the instructions generated somehow, but I doubt it.
01:13:50 <elliott> (in the, what, 11 years since that article was written)
01:13:56 <fizzie> elliott: It is in fact one byte shorter with eax:
01:13:58 <fizzie> 00000000 30C0 xor al,al
01:13:58 <fizzie> 00000002 FEC0 inc al
01:13:58 <fizzie> 00000004 31C0 xor eax,eax
01:13:58 <fizzie> 00000006 40 inc eax
01:14:03 <elliott> fizzie: What luck.
01:15:06 <elliott> [[Note that the last eight bytes in the ELF header bear a certain kind of resemblence to the first eight bytes in the program header table. A certain kind of resemblence that might be described as "identical".]]
01:15:10 <elliott> Some phrasings I just love.
01:16:33 <elliott> fizzie: OTOH "xor ebx, ebx" seems to be bigger than "xor bx, bx" here.
01:16:57 <fizzie> It shouldn't, in 32-bit mode.
01:17:26 <fizzie> One will require a prefix byte, but it should be the one that's not the "native" size.
01:17:46 <fizzie> (ndisasm defaults to -b 16 though.)
01:18:25 <Vorpal> fizzie, I found a VAST lava + water cavern
01:18:30 <Vorpal> got lost in it for half an hour
01:18:34 <Vorpal> before I found my way back
01:18:38 <Vorpal> elliott, fizzie ^
01:18:53 <Vorpal> fizzie, just 30 second walk from underground dock
01:19:15 * elliott decides that 93 bytes is acceptable for true
01:19:17 <elliott> Shocking, I know.
01:19:23 <elliott> I'm not going to interleave with the ELF header.
01:20:08 <fizzie> It's harder to interleave with the structs anyway. :p
01:20:24 <Vorpal> elliott, do you realise you will NEVER use less than min(page-size,disk-sector-size)
01:21:29 -!- Mathnerd314 has joined.
01:21:40 <elliott> Vorpal: untrue
01:21:46 <elliott> if you, e.g., pack it all into one file
01:21:58 <elliott> fizzie: not really, well yes ehdr and phdr, but not putting the code into ehdr
01:22:01 <Vorpal> elliott, well okay
01:22:04 <elliott> fizzie: since it's basically just macros :P
01:22:20 <elliott> Vorpal: anyway it's not about saving disk space, which I have in abundance
01:22:55 <fizzie> Also don't the filesystems do tail-packing nowadays anyway?
01:23:19 <elliott> Vorpal: it's more about coding asceticism, for fun and also to remind myself facilis descensus Averni.
01:23:32 <fizzie> (At least experimentally.)
01:23:34 <elliott> (Whereby Avernus I clearly mean bloated code.)
01:26:39 <elliott> elliott@dinky:~/code/crtls$ make; wc -c true
01:26:40 <elliott> make: Nothing to be done for `all'.
01:26:40 <elliott> 94 true
01:26:40 <elliott> elliott@dinky:~/code/crtls$ make; wc -c true
01:26:40 <elliott> nasm -f bin true.s -o true
01:26:40 <elliott> chmod +x true
01:26:42 <elliott> 93 true
01:26:48 <elliott> fizzie: I replaced "xor ebx, ebx" with "xor bx, bx".
01:26:50 <elliott> I swear, it's smaller.
01:27:03 <elliott> bl is the same as bx.
01:27:15 <fizzie> Are you sure you're assembling with bits 32?
01:27:26 <fizzie> It's not the default with -f bin.
01:27:37 <fizzie> 00000007 31DB xor ebx,ebx
01:27:37 <fizzie> 00000009 6631DB xor bx,bx
01:27:37 <fizzie> 0000000C 30DB xor bl,bl
01:27:54 <fizzie> Those are the three variants with ndisasm -b 32.
01:28:05 <elliott> fizzie: Indeed I was not! Oops.
01:28:20 <elliott> Now my size matches Raiter's, too. Joy.
01:28:31 <elliott> fizzie: And the two variants are the same, as well, although ebx is probably "nicer".
01:28:56 <elliott> real0m0.001s
01:28:57 <fizzie> (I sleeps now.)
01:29:00 <elliott> That's the fastest true I've ever seen!
01:29:02 <elliott> ASM POWER!
01:30:42 <elliott> "When Linux starts up a new executable, one of the things it does is zero out the accumulator (as well as most of the other registers). Taking advantage of this fact would have allowed me to remove the xor, bringing the program down to five bytes. However, this behavior is certainly not documented, and there's no guarantee that it can be counted on to stay that way (other than the lack of any obvious reason to change it)."
01:30:48 <elliott> Methinks I will not rely on that. :p
01:31:14 <elliott> Without any code, my ELF spooge takes up 84 bytes. I think that is an acceptable smallest program size :P
01:33:03 <elliott> My eyes love me so much for this new theme.
01:38:55 <elliott> "VbeSignature should be set to 'VBE2' when function is called to indicate VBE3.0"
01:42:30 <Gregor> elliott: ... guh?
01:42:45 <elliott> Gregor: From the Plan 9 fortune file :P
01:43:50 -!- zzo38 has joined.
01:44:38 <elliott> "If emacs buffers were limited to the size of memory, it would not be possible to
01:44:38 <elliott> edit /dev/mem."
01:44:45 <elliott> What a profound and yet utterly insane statement.
01:47:09 <zzo38> What we need is the computer game allowing adjusting all the rules, including: days played, hours played per day, season, wind, gravitational field strength, match condition, players per team, wicket strength, field diameter, field eccentricity, pitch length, leg bye toggle, LBW toggle, time limits, etc.
01:48:34 <zzo38> elliott: It shouldn't make much sense to edit /dev/mem directly in emacs though!?
01:49:07 <elliott> What would be great is editing the part of Emacs' memory that pertains to the open /dev/mem buffer.
01:49:15 <elliott> It's Emacsen all the way down!
01:49:43 <zzo38> elliott: Figure out if you can do that.
01:50:15 <elliott> zzo38: No :P Thinking about Emacs makes my head hurt, I just use the thing and pretend it doesn't exist.
01:51:04 <zzo38> Then figure out if you know anything about making a computer game like I described.
01:51:45 <zzo38> How many computer games allow adjusting gravitational field strength?
01:52:14 <Sgeo> I'm going to see if I can watch the first ep of DS9
01:52:38 <zzo38> Sgeo: Then do watch the first ep of DS9
01:53:14 <oerjan> no no, he's just going to check if he _can_. for the principle of it.
01:53:43 <zzo38> OK, check if you can.
01:54:01 <Sgeo> oerjan, are there simple 5... thing spaceships?
01:54:10 <oerjan> Sgeo: i have no idea
01:54:17 <zzo38> In the description I made, what other rules are needed adjustment, I think?
01:54:24 * nooga has got a new shell account on an OpenBSD box
01:54:27 * nooga likes
01:54:29 <Sgeo> Or at least, ones with an odd number of ... I want to call them phases
01:54:41 <zzo38> Sgeo: Next time see if you can watch DS999
01:55:18 <zzo38> Sgeo: No, you have to call them phones. Even if it is incorrect.
01:56:40 <Vorpal> night →
01:57:34 <Sgeo> Again?
01:57:45 <zzo38> Again??
01:58:40 <elliott> Vorpal goes to bed about 5 times every night.
01:58:50 <elliott> he dilutes the usage of → to a hideous degree.
01:59:06 * Sgeo points a glider gun at Vorpal
01:59:27 <zzo38> elliott: Maybe he has the macro set up to do that, and he didn't bother to change it.
01:59:27 <oerjan> Vorpal is secretly a hamster
01:59:58 <elliott> oerjan: i approve of this theory
02:00:19 <Sgeo> If they eventually work out that these four c/4 diagonally-moving particles that move in the same direction are one and the same, might they end up lumping in other spaceships that are also c/4 in the same direction?
02:00:47 <Sgeo> As they lazily assume that that's the best observable distinguishing characteristic
02:01:45 <zzo38> day
02:01:49 -!- zzo38 has quit (Remote host closed the connection).
02:02:59 <Sgeo> I mean, if they don't directly observe that the 4 phases are similar, but guess it from a 5-phase ship or something
02:26:19 <Ilari> Ugh... IPv6 in practice is just a one big Charlie Foxtrot. Well, if you take all the RFCs about it, it is a decent network-layer protocol, but the practical implementation is just CF.
02:27:56 <elliott> Ilari: YAY PEOPLE
02:28:18 <elliott> Ilari: This is why technical specifications must be flawless and completely-specified; then it'll only be a major clusterfuck, rather than a gigantic one!
02:28:26 <elliott> (And that's really the best you can hope for.)
02:29:23 <Ilari> Well, it is not incomplete specifications that are the problem... It is the "not implemented yet" and "broken in practice" stuff...
02:31:33 <Ilari> Oh, and then there's still that great IPv6 routing split (really really bad)...
02:34:42 <Sgeo> What's wrong with IPv6 implementations? Beside the fact that they're not used?
02:36:57 <Ilari> #1) The great routing split #2) Hosts that think they have IPv6 connectivity but don't #3) Last mile issues #4) Low adoption on client side.
02:37:29 -!- pikhq has quit (Ping timeout: 255 seconds).
02:38:00 -!- pikhq has joined.
02:38:43 <Ilari> Oh, and then there's DNS whitelisting. It just won't scale.
02:39:19 <Ilari> The complexity isn't linear, it is quadric, and the n is very large.
02:42:01 -!- donglongchao has joined.
02:42:03 <Sgeo> DNS. Whitelisting
02:42:05 <Sgeo> .
02:42:36 <Sgeo> I don't know what that means, but please tell me it's more sane than it sounds
02:43:17 <Sgeo> Alsol, what's the great routing split?
02:44:50 -!- donglongchao has left (?).
02:47:14 <elliott> I didn't realise how badly I was treating my eyes before this.
02:49:04 <Sgeo> If GoL life _doesn't_ have a NORTH or whatever, and can rotate, they might discover that 2 of the phases are just the other two upside down
02:49:11 <Sgeo> Or might not, I guess
02:49:26 <Sgeo> So they'd think there are 2 distinct particles instead of 4
02:49:40 <Sgeo> Why am I calling it a "particle"?
02:49:54 <Sgeo> Wait, I'm mistaken, aren't I?
02:50:07 <Gregor> elliott: ?
02:50:16 <Sgeo> Yeah, n/
02:50:17 <Sgeo> m
02:50:23 <elliott> Gregor: ?
02:50:36 <Gregor> <elliott> I didn't realise how badly I was treating my eyes before this.
02:51:02 <elliott> Gregor: I've upped all my font sizes and made my theme a bit nicer on the eyes :P
02:51:24 <elliott> Gregor: Specifically everything's about 12pt now, although what I actually did was set my PPI properly, so it's still set at 10pt.
02:51:25 <Gregor> You should wear polarized computer-viewing glasses like meeeeeeeeeeeee :P
02:51:27 <elliott> But the point is it's big.
02:51:33 <elliott> Gregor: Do you... actually do that?
02:51:41 <Gregor> elliott: Have for years.
02:51:54 <elliott> Anyway, the problem was that 10pt fonts when X thinks your display is 96 ppi and you actually have a 120 ppi laptop display that you sit away from = LOL PAIN
02:52:04 <elliott> Gregor: But why.
02:52:20 <Gregor> elliott: Because after I sit in front of a computer without them for an hour or so, my eyes start to scream at me.
02:52:57 <elliott> Gregor: What do they even change, anyway? Visually. :p
02:53:22 <elliott> My eyes have adapted to staring at a computer screen for countless hours at a time. Surprisingly I don't need glasses and have better-than-average vision even after all these years...
02:53:29 <Gregor> elliott: Uhh, everything looks yellow? They reduce glare? I'm really not sure, but I know that they work, and believe their affect to be stronger than placebo.
02:53:44 <Gregor> I have great vision, my eyes just burn after staring at a computer for a while :P
02:53:46 <Ilari> Sgeo: Well, it probably isn't.
02:55:17 <elliott> Gregor: Everything looking yellow sounds "fun"
02:55:22 <elliott> Gregor: As in "no thanks" :P
02:57:57 <Gregor> elliott: You certainly lack faith in your mind's ability to adapt to scenarios w.r.t. vision.
02:58:39 <elliott> Gregor: But dude, all the porno would become ASIAN!
02:58:46 <Gregor> ...
02:58:49 <Gregor> *clap clap*
03:01:24 <Sgeo> I think I have no problem looking at a computer screen for 12+ hours at a time
03:01:31 <Sgeo> Well, actually, I do go eat sometimes
03:01:49 -!- rodgort has quit (Quit: Coyote finally caught me).
03:04:00 <Gregor> Sgeo: Your computer doesn't feed you? Ha.
03:33:16 <elliott> Gregor: I eat my keys.
03:33:29 <elliott> I's geng qui difficu o ype
03:33:34 <elliott> *ge||ing
03:34:08 <Gregor> I eat my cryptographic keys.
03:34:36 <Gregor> It's getting quite difficult to 0x8fd0113ab9c04e
03:36:08 <elliott> Gregor: i eat chips
03:36:09 <elliott> ...
03:36:11 <elliott> computer chips
03:36:13 <elliott> ha! ha!
03:36:14 <elliott> ha!
03:36:16 <elliott> ha!
03:37:13 <Gregor> Beep boop
03:55:55 <Sasha> okay the newest uTorrent is ugly as fuck
03:56:01 <Sasha> why is it so ugly
03:56:12 <Sasha> it makes me feel like they are making programs for retards
03:56:30 <Sasha> all big pictures and "lawl it's a search thing too"
03:56:45 * oerjan points out that _is_ a possibility
03:56:56 <oerjan> *that that
03:59:10 <quintopia> have there been any big surveys in the last couple of years about which terminal emulators people use?
04:00:07 <oerjan> there are enough people using terminal emulators for a big survey?
04:00:27 <quintopia> and/or virtual terminals
04:00:37 <quintopia> basically everything that can speak vt
04:00:38 <Sgeo> If there are glider guns with odd periods, if they're constructed, the GoL scientists should see that some guns emit the 4 (what they think are distinct) while others only 1, right?
04:01:13 <oerjan> Sgeo: you'd think
04:01:45 <Sgeo> Not entirely sure if they'd make the right inference from that, but surely it would help
04:02:19 <oerjan> although that doesn't really prove anything, you could be able to make something that emit the 4 without doing it in a periodic way
04:02:38 <oerjan> or even something that emit precisely 3 of them...
04:03:38 <oerjan> *emitted
04:07:12 <quintopia> http://www.linuxquestions.org/questions/linux-software-2/what-is-your-favorite-terminal-emulator-442024/
04:07:25 <quintopia> lame. why does konsole have such an overwhelming number of users?
04:07:44 <Sgeo> People like KDE?
04:07:48 <quintopia> (i know the answer...default kde and all that)
04:07:55 <quintopia> is aterm default on something?
04:08:07 <Sgeo> What's with the Konsole hate?
04:08:32 <Gregor> I use konsole on XFCE.
04:08:33 <quintopia> i found it fat, slow and ugly?
04:08:37 <Gregor> konsole is the best terminal emulator there is.
04:08:52 <Gregor> It has nice bindings, tab support, scrollback, ...
04:09:26 <quintopia> it has lots of gui stuff that mostly just got on my nerves
04:09:45 <quintopia> but again: is aterm default for anyone?
04:09:52 <Gregor> quintopia: It has ... almost no GUI stuff, and what little it has is all disable-able, like most KDE stuff.
04:13:09 <quintopia> Gregor: perhaps it is that i am using a relatively slow computer and frequently at a very low resolution
04:13:28 <Gregor> That could be an issue :P
04:15:17 * Sgeo again ponders switching his Ubuntu install to Kubuntu
04:25:52 <elliott> <quintopia> have there been any big surveys in the last couple of years about which terminal emulators people use?
04:25:56 <elliott> um it's hardly a subject of holy wars
04:26:33 <Gregor> I use vimterm
04:28:54 <quintopia> yeah, i don't intend to start a major holy war. i just wanted to have my finger on the pulse of common preference
04:34:45 <elliott> it's really irrelevant
04:34:51 <elliott> we're never going to see major innovations in vt100 emulation
04:34:59 <elliott> and that's undeniable
04:35:04 <coppro> lol
04:35:27 <coppro> I have to agree with Gregor
04:35:32 <coppro> Konsole is the superior terminal emulator
04:35:47 <elliott> i don't really get what konsole does that gnome-terminal doesn't, to be honest
04:36:08 <coppro> urls
04:36:21 <coppro> copy-paste keyboard shortcuts
04:36:39 <elliott> coppro: gnome-terminal does urls.
04:36:42 <elliott> and copy-paste keyboard shortcuts.
04:37:19 <elliott> coppro: so/
04:37:21 <elliott> *so...?
04:37:22 <coppro> elliott: hrm
04:37:32 <coppro> maybe some other term was running last time I used non-konsole then
04:37:37 <coppro> I sort of assumed it was gnome-term
04:37:39 <elliott> probably xterm ...
04:38:04 <elliott> and gnome-terminal is actually pretty darn configurable
04:38:06 <elliott> unlike most gnome programs :)
04:40:10 <elliott> coppro: anyway copy-paste shortcuts are for noobs, learn to use selections
04:40:33 <coppro> elliott: fuck them
04:40:42 <elliott> coppro: seriously?
04:40:49 <elliott> they're the only thing X does for me that I like. :)
04:41:08 <elliott> "The X server has to be the biggest program I've ever seen that doesn't do anything for you." --Ken Thompson
04:41:08 <coppro> I hate trying to remember what the last thing I selected is
04:41:15 <elliott> coppro: that's not how you do it...
04:41:25 <elliott> coppro: you select what you want, immediately move to where you want it, and press the middle button
04:41:31 <elliott> nothing in-between
04:41:42 <coppro> elliott: yes, and that last step is where I have trouble
04:41:54 <elliott> you have trouble pressing the middle button?
04:42:01 <coppro> no
04:42:05 <coppro> the nothing in-between bit
04:42:28 <coppro> also, I hate my algebra prof
04:43:02 <coppro> the second half of the course to me was roughly equivalent to taking a pull-string doll
04:43:07 <coppro> that says "polynomials"
04:43:08 <coppro> "root"
04:43:11 <coppro> "irreducible"
04:43:14 <coppro> "finite field"
04:43:17 <coppro> "irreducible"
04:43:20 <coppro> "polynomials"
04:44:47 <oerjan> galois galois galois
04:44:54 <coppro> oerjan: thankfully none of that
04:57:43 <Sgeo> Why wouldn't the Second Law of Thermodynamics apply in GoL? Isn't it a statistical thing, rather than a physical thing?
04:58:52 <Sgeo> Or maybe I'm confused
05:00:23 <oerjan> well for a start it's not clear that the _first_ law applies
05:01:45 <Sgeo> Does Second rely on First?
05:02:01 <Sgeo> It seems rather clear that the First law does NOT apply
05:02:20 <oerjan> as for the second, there is probably some way to apply the informational interpretation of it to GoL, yes. but i think that without the first law and the link between them the consequences might not be as strong
05:03:05 <oerjan> that is, you still have free energy
05:03:11 <oerjan> *"energy"
05:03:17 <Sgeo> You can go from an active state to a dead state, but not dead to active
05:03:30 <Sgeo> *completely dead
05:04:10 <Sgeo> I'm thinking that that's.. something
05:04:10 <oerjan> more importantly, you cannot increase the information content
05:04:24 <oerjan> whether or not you have active states
05:04:28 <Sgeo> BRB
05:05:11 <elliott> Vorpal: ping
05:09:15 <Sgeo> ack
05:09:53 <Sgeo> O viously, I wore out my key
05:10:52 <Sgeo> What's the equivalent of heat in GoL?
05:11:02 <Sgeo> Err, closest equiv
05:13:37 <oerjan> i have no idea that is not essentially "looks lively"
05:17:05 <Sgeo> If we attempt to make GoL life via evolution, we should make sure that it's absolutely full of a pattern F such that all ancestors of F contain more than one copy of F in some generation
05:17:16 <Sgeo> So that those otherwise immortal ****s can know mortality
05:18:31 <elliott> Gregor: Wow -- Brian Raiter, dissatisfied with a 45-byte program returning 42, made a 45-byte program that acts as either true or false, depending on how you invoke it.
05:18:34 <elliott> http://www.muppetlabs.com/~breadbox/software/tiny/true.asm.txt
05:18:36 <elliott> Impressive.
05:19:56 <Gregor> elliott: Does it work if invoked as "/bin/true" instead of "true"?
05:20:15 -!- Sgeo has left (?).
05:20:19 -!- Sgeo has joined.
05:20:23 <elliott> Gregor: It only checks one byte near the end of argv[0], so "yes".
05:20:43 <Sgeo> Ok, with maybe one ancestor of F that contains 1 F, but that should be stilllifeish or something
05:21:09 <Gregor> Mmmmm, near the end ... clever, also impressive to keep it so small.
05:21:49 <elliott> Gregor: I'm too much of a wimp, and have complete ELF headers in my programs. :)
05:21:55 <elliott> Albeit far smaller ones than you'd expect.
05:22:06 <Gregor> Ahhh :P
05:22:15 <elliott> Gregor: Still, 91-byte true and false ain't bad :P
05:22:19 <elliott> I even use symbolic names for the fields and values! I want my money's worth out of elf.inc, it was a bitch to write.
05:22:26 <elliott> (I copied large swathes of the ELF specification in there.)
05:22:46 <Sgeo> Actually, earlier, I was thinking that something similar [but less brutal [all ancestors of F contain as much F as the child]] would help foster competition and assist in the evolution of intelligent life
05:24:18 <elliott> Gregor: Hopefully I can manage to write cat(1) without going insane.
05:24:26 <elliott> And next, why, mount(8)! Or, er, eventually.
05:24:41 <elliott> I pride myself in being A Slightly Better-Maintained asmutils With More Naffness.
05:24:48 <elliott> (My true and false are smaller though!!)
05:25:40 <elliott> I should make macros for these :P
05:25:49 <elliott> (These = standard ELF junk.)
05:32:57 <elliott> ais523logread: http://www.muppetlabs.com/~breadbox/intercal/os2diff.txt does this still suffice for using c-intercal on os/2?
05:38:43 -!- elliott has quit (Quit: Leaving).
05:50:06 -!- pingveno has quit (Ping timeout: 260 seconds).
05:51:37 -!- pingveno has joined.
05:57:24 -!- rodgort has joined.
06:01:06 <Sgeo> "These 16 particles [4 in each direction] cause damage to biological tissue. Fortunately, the damage is usually automatically repaired by our bodies. All 16 particles travel at the same speed."
06:01:31 <coppro> wait what the hell?
06:02:02 <Sgeo> ^not an actual quote from anything
06:02:07 <oerjan> coppro: BE AFRAID
06:02:48 <Sgeo> Just what I'm imagining as possible incorrect knowledge in GoLverse
06:03:00 <coppro> what is GoL?
06:03:06 <coppro> and why is it so brainhurty
06:03:09 <Sgeo> Game of Life
06:04:18 <Sgeo> Because we're speculating what a completely alien form of life might think about the universe around them
06:04:38 <Sgeo> And said universe has very, very little in common with ours
06:06:58 <coppro> oh
06:07:07 <coppro> there are more than 4 directions in Life
06:07:17 <Sgeo> Gliders can only travel in 4
06:07:39 <coppro> oh, I se
06:07:45 <Sgeo> For some reason, I'm obsessed with gliders
06:07:51 <Sgeo> What they think of gliders
06:08:38 <Sgeo> oerjan suggested that if they have a universal-to-their-form-of-life UP, then they might not notice that a NW glider is the same thing as a NE glider
06:09:12 <Sgeo> And if there's a biological ... clock thing that's a multiple of 4, the phases of a glider might be seen as distinct and unrelated particles
06:09:27 <Sgeo> Although I guess that also assumes that they move at distances that are multiples of four
06:14:58 -!- rodgort has quit (Quit: Coyote finally caught me).
06:15:09 -!- rodgort has joined.
06:23:24 -!- Goosey has quit (Ping timeout: 276 seconds).
06:29:03 <Sgeo> oerjan, you awake/
06:31:01 <Sgeo> How does "Amount of blocks destroyed when deterministically placed all at a certain distance from live cells after X amount of time" sound as a definition of heat/
06:32:05 <Sgeo> Well, 'deterministically placed' would need to be replaced with an algorihm, I mean
06:32:11 <oerjan> i guess that's something to measure, at least
06:32:45 <Ilari> Funky IETF working group names: 6lowpan, multimob, softwire, dime, grow, bliss, drinks, martini, mmusic, salud, splices, forces, dane, emu, hokey, kitten, ledbat and storm.
06:34:49 <Sgeo> Blinkers shouldn't be considered to have heat, should they? (Given any distance above um, a very small number, used in the definition, they don't)
06:35:37 <Sgeo> Actually, then, a sufficiently dense immobile object doesn't have heat, even if there's a lot of internal activity :/
06:35:57 <Sgeo> External heat?
06:36:10 <Sgeo> Since it's certainly not causing things around it to move, seeing as it's immobile
06:36:34 <Sgeo> Erm, immobile and not giving stuff off
06:36:40 <oerjan> that way to measure it is only going to be an approximation, anyhow, while waiting for their scientists to develop a deeper understanding
06:37:59 <Sgeo> Just to clarify: Deeper than us? Or are we trying to think of what THEY'd use as a definition? I was being selfish
06:38:18 <Sgeo> Although I'm sure they would have a deeper than us understanding of larger scale stuff
06:38:21 <oerjan> well both
06:59:07 <Sgeo> What could we do to attempt to identify life? Intelligent life/
07:00:44 <Sgeo> ...also raising a question, what if WE are in a simulation, and our watchers have limited means to identify intelligent life?
07:00:55 <Sgeo> Should we do something that might be recognizable somehow?
07:05:22 -!- oerjan has quit (Quit: Anyway, good night).
07:35:39 -!- kar8nga has joined.
07:49:15 -!- Sgeo has quit (Read error: Connection reset by peer).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:39:59 -!- andywang has joined.
08:40:38 -!- andywang has quit (Client Quit).
08:42:22 -!- Mathnerd314 has quit (Ping timeout: 245 seconds).
08:43:17 -!- kar8nga has quit (Remote host closed the connection).
08:48:09 -!- kar8nga has joined.
09:02:09 -!- kar8nga has quit (Remote host closed the connection).
09:03:23 -!- nopseudoidea has joined.
09:03:41 -!- nopseudoidea has quit (Client Quit).
09:05:34 -!- MigoMipo has joined.
09:53:46 -!- Macstheyjustsuck has joined.
09:54:17 -!- Macstheyjustsuck has left (?).
09:58:37 -!- Phantom_Hoover has joined.
10:26:32 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
10:44:00 -!- kar8nga has joined.
10:53:32 -!- Phantom_Hoover has joined.
11:09:08 -!- Georgey has joined.
11:09:25 -!- Georgey has left (?).
11:48:53 -!- ishagua has joined.
11:49:12 -!- ishagua has left (?).
12:04:15 <Phantom_Hoover> MoveCraft empties chests when used. How irksome.
12:12:39 -!- kfdsfdsafdsaf has joined.
12:14:16 -!- kfdsfdsafdsaf has quit (Remote host closed the connection).
12:25:55 -!- Phantom_Hoover has left (?).
12:26:01 -!- Phantom_Hoover has joined.
12:36:37 <Phantom_Hoover> And it has a 1000 block limit. "$£%"£$%^
12:37:16 <Phantom_Hoover> A changeable limit, but I suspect the ROU will slow things horrifically. I give up.
13:23:50 <Vorpal> <elliott> Vorpal: ping <-- pong
13:24:24 <Vorpal> <elliott> he dilutes the usage of → to a hideous degree. <-- well in that case I had planned to go to bed before, but then forgot it
13:24:29 <Vorpal> also it was exactly 2 times
13:48:01 -!- ppseeker has joined.
13:49:02 -!- ppseeker has quit (Quit: ~ Trillian Astra - www.trillian.im ~).
13:57:49 <Phantom_Hoover> Is it only me who thinks that the lambda calculus page on WP should use <math> tags around expressions rather than <code>?
13:58:59 <augur> Phantom_Hoover: no
13:59:04 <augur> but luckily, WP is a W
13:59:06 <augur> not merely a P
13:59:28 <Phantom_Hoover> Yes, but doing things like that will tend to bring down the screaming hoardes of bureaucrats.
14:00:29 <augur> no it wont
14:00:41 <Phantom_Hoover> Well, there's only one way to find out!
14:01:02 -!- wareya_ has joined.
14:02:39 <Phantom_Hoover> Urgh, the tags aren't even <code>; they're <tt>.
14:04:02 -!- wareya has quit (Ping timeout: 245 seconds).
14:04:44 <Phantom_Hoover> Previewing this will be fun...
14:07:20 <Phantom_Hoover> What's the LaTeX macro thingy for ↦?
14:08:14 <Phantom_Hoover> Ah, \mapsto
14:14:02 * Phantom_Hoover wonders if it's justifiable to be annoyed at people calling the lambda calculus "code".
14:16:21 <Phantom_Hoover> Oh, forget it. That page is beyond easy repair.
14:16:25 <augur> Phantom_Hoover: depends. do you think LC is a programming language?
14:16:29 <augur> nooo dont stop!
14:16:36 <Phantom_Hoover> I MUST
14:17:11 <Phantom_Hoover> Seriously, I'm trying to convert horrific HTML formatting into nice LaTeX formatting on a huge article with lots of the former.
14:17:28 <augur> sounds like a job for a script!
14:18:06 <Phantom_Hoover> I can fix the various lexing errors etc., but spacing &stupidhtmlentities; have sapped my resolve.
14:20:48 <Phantom_Hoover> And I suck at scripting things.
14:36:55 -!- oerjan has joined.
14:46:48 -!- augur has quit (Remote host closed the connection).
14:47:13 -!- augur has joined.
14:51:45 -!- augur has quit (Ping timeout: 250 seconds).
14:57:17 <Phantom_Hoover> [[ Many programmers have created and promoted the computer programming language known as "open source code" to be shared on public sites at no cost, but licensing issues are murky.]] — Reuters.
14:57:40 <Phantom_Hoover> I shall make this language, and write an absurdly incomprehensible licence for it.
15:03:09 -!- Mathnerd314 has joined.
15:03:31 <nooga> lol
15:04:03 <nooga> journalists are extremely ignorant in all fields
15:08:11 <Phantom_Hoover> Except journalism, naturally.
15:08:22 <Phantom_Hoover> Which is not a particularly high endorsement.
15:08:37 -!- jack has joined.
15:08:54 -!- jack has changed nick to Jackoz.
15:32:01 * Phantom_Hoover is tempted to add ""Goths don't do anything bad in the UK," I say "They're a gentle and essentially middle-class subculture."" to the head of TV Tropes' article on goths.
15:33:55 -!- augur has joined.
15:49:24 -!- Jackoz has quit (Quit: Jackoz).
15:49:50 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
15:53:09 -!- FireFly has joined.
16:06:25 -!- elliott has joined.
16:08:38 <elliott> 22:32:45 <Ilari> Funky IETF working group names: 6lowpan, multimob, softwire, dime, grow, bliss, drinks, martini, mmusic, salud, splices, forces, dane, emu, hokey, kitten, ledbat and storm.
16:08:41 <elliott> Ilari: wat :D
16:09:12 <Ilari> And out of those, dane was IIRC annouced less than 48 hours ago...
16:09:27 <elliott> 23:00:44 <Sgeo> ...also raising a question, what if WE are in a simulation, and our watchers have limited means to identify intelligent life?
16:09:28 <elliott> 23:00:55 <Sgeo> Should we do something that might be recognizable somehow?
16:09:42 <elliott> there is no reason to believe they could recognise our actions at all.
16:09:49 <elliott> and there is also no reason to believe that they *want* sentient life.
16:11:04 <elliott> Vorpal: ping2
16:11:36 <Ilari> Fun fact: The orignal name for 'dane' was rejected for being too similar to 'kitten' (which is existing working group).
16:13:31 <elliott> Ilari: do the names have any meaning? :P
16:14:35 <Phantom_Hoover> elliott, the formatting in the WP article on the lambda calculus is awful.
16:14:40 <elliott> Phantom_Hoover: I'm fixing it now.
16:14:53 <elliott> I fully expect to get reverted for daring to be an anonymous IP and making such a sweeping change of evil.
16:15:10 <Phantom_Hoover> Your soul must be greatly uncompressible.
16:15:15 <elliott> [[The [[identity function]] <math>I(x) = x</math> takes a single input, ''x'', and immediately returns ''x'']]
16:15:17 <elliott> Hahaahahaha.
16:15:20 <elliott> I like how they phrase it imperatively.
16:15:24 <elliott> But no, I am here to fix formatting alone.
16:15:54 <Ilari> Most of apparently acronyms...
16:16:09 <Phantom_Hoover> elliott, that section is not for the intelligent. It is for the kind of idiot who thinks of everything imperatively.
16:17:55 <Ilari> No doubt choosen for amusement potential...
16:18:35 <elliott> Phantom_Hoover: Amusingly, this actually looks uglier with the default math formatting (do it in HTML for simple stuff).
16:18:36 <elliott> OH WELL!
16:21:10 <Phantom_Hoover> elliott, use some terrible hack to force it into formatting with TeX always!
16:21:17 <elliott> No :P
16:22:46 <elliott> Phantom_Hoover: If this gets reverted I'll replace the λ-calculus article on Esolang (pretty sure we have one) with a merger of it and my revision of the Wikipedia page.
16:23:07 <elliott> x[x := N] ≡ N
16:23:07 <elliott> y[x := N] ≡ y, if x ≠ y
16:23:07 <elliott> (M1 M2)[x := N] ≡ (M1[x := N]) (M2[x := N])
16:23:07 <elliott> (λy.M)[x := N] ≡ λy.(M[x := N]), if x ≠ y and y ∉ FV(N)
16:23:12 <elliott> ^ Only a shithead does that with monospaced text.
16:23:21 <Phantom_Hoover> elliott, we do not have the MW TeX thing on the esolang wiki.
16:23:38 <elliott> Phantom_Hoover: Well, I can prerender stuff. Or beg Graue for it.
16:23:39 <Phantom_Hoover> I asked graue, and he said it was effectively impossible with his hosting setup.
16:24:02 <elliott> Given two arguments, we have:<br />
16:24:02 <elliott> <tt>((x, y) ↦ x*x + y*y)(5, 2)</tt><br />
16:24:02 <elliott> <tt> = 5*5 + 2*2 = 29</tt>.<br />
16:24:02 <elliott> However, using currying, we have:<br />
16:24:04 <elliott> Thou art fucking with me.
16:24:36 <elliott> Phantom_Hoover: I'll do something or other, then.
16:24:50 <elliott> rutian is still alive.
16:24:54 <elliott> After all these years.
16:24:56 <elliott> And it has an IP.
16:25:03 <elliott> I could put something on there. :p
16:26:20 <Phantom_Hoover> You know what'd be funny? If the article had originally been done with LaTeX and some moronic bureaucracy had led to it being HTMLed.
16:27:12 <Phantom_Hoover> Rutian?
16:28:20 <elliott> Phantom_Hoover: Rutian is the server of yore.
16:28:28 <elliott> Born out of the ESO standards agency.
16:28:35 <elliott> Used for miscellaneous crap for three years or so.
16:28:40 <elliott> Well, two, it's beend ormant lately.
16:29:14 <Vorpal> elliott, was out gathering wood in the middle of nowhere. Found a lone obsidian block, no water or lava near.
16:29:20 <Vorpal> elliott, halfway up a mountain
16:29:27 <elliott> Vorpal: DUN DUN DUUUUN
16:29:40 <Vorpal> elliott, what genre are we talking about?
16:29:47 <elliott> Vorpal: what?
16:30:04 <Vorpal> elliott, oh I thought that was supposed to be scary music
16:30:19 <elliott> Vorpal: It was just your standard moving DUN DUN DUUUUUUUUUUUUN.
16:30:28 <elliott> http://www.youtube.com/watch?v=7g9WjcGdxuM
16:31:09 <Vorpal> elliott, ah, so not the music when the protagonist is carefully walking forward and you just *know* something will happen at any moment
16:31:24 <elliott> The thing was the lone obsidian.
16:31:59 <Vorpal> elliott, hm. will watch in a sec
16:32:28 <elliott> Phantom_Hoover: Failed to parse (unknown function\begin): \begin{align*} ((x, y) \mapsto x*x + y*y)(5, 2) \\ &= 5*5 + 2*2 = 29. \end{align*}
16:32:32 <elliott> Phantom_Hoover: NO SOUP FOR YOU
16:32:42 <Vorpal> elliott, that video says "not available in your area"
16:32:46 <Vorpal> elliott, so what is it
16:32:48 <elliott> Vorpal: What X-D
16:32:52 <elliott> Vorpal: It's just the DUN DUN DUUUUUUUUUUUUUUUUN.
16:32:52 <Vorpal> elliott, indeed
16:33:08 <Vorpal> elliott, huh, it works when refreshing page
16:33:38 <Vorpal> elliott, ah, that sound. Is it a stock one or?
16:35:04 <elliott> Vorpal: Presumably.
16:35:06 <elliott> :P
16:35:13 <elliott> Or else constantly reproduced perfectly.
16:35:41 * elliott forces Firefox to look at clog logs in utf8
16:35:51 <elliott> Vorpal: anyway what i was pinging you for is this http://code.google.com/p/loper/source/browse/trunk/crap/example/oiuboot.asm?r=93
16:36:00 <elliott> Vorpal: an example of super-simple sorta-orthogonal persistence
16:36:25 <Vorpal> elliott, too tired to read asm
16:36:25 <elliott> Vorpal: specifically, whenever it gets a page fault, it loads that address from disk into RAM and pages it into the virtual address, then returns
16:36:43 <elliott> Vorpal: and it doesn't even load the kernel itself; it just sets up the page fault handler, and jumps into unloaded memory
16:36:53 <elliott> the page fault handler then pages it in from disk, and the jump succeeds
16:36:58 <Vorpal> heh
16:37:05 <Vorpal> elliott, what makes sure stuff gets written to disk then?
16:37:16 <elliott> Vorpal: It wasn't developed that far. :)
16:37:37 <elliott> Vorpal: It's the oiu system from memetech.com which is *still* down.
16:37:42 <elliott> The cap system got more development...
16:41:42 <elliott> Gregor: Should I switch to sid to get Firefox 3.6?
16:41:58 <elliott> WHAT, it's still 3.5 in sid.
16:42:02 <elliott> 3.6 is only in experimental.
16:42:10 <elliott> Fuck this, I'm installing the experimental package manualla.
16:42:12 <elliott> *manually.
16:43:10 <oerjan> manuel, the package from barcelona
16:44:15 <Phantom_Hoover> elliott, did you give up on the LC rewrite?
16:45:49 <elliott> Phantom_Hoover: Not yet.
16:46:40 <elliott> elliott@dinky:~$ sudo dpkg -i iceweasel_3.6.13-1_amd64.deb
16:46:44 <elliott> Bring on the instability!
16:46:48 <elliott> iceweasel depends on xulrunner-1.9.2 (>= 1.9.2.11); however:
16:46:49 <elliott> Package xulrunner-1.9.2 is not installed.
16:46:49 <elliott> LOZL
16:50:10 <elliott> I need: libmozjs3d, iceweasel-l10n-en-gb
16:54:06 <quintopia> speaking of tex articles being redone in html, is there a good tool for converting a tex file to an html file (getting as close an approximation to the formatting as html allows)?
16:56:11 <elliott> no, there are tools but they all suck at it and i'll kill you if you use them because they're that bad.
16:56:29 <quintopia> damn
16:56:31 <elliott> you may want to look into mathjax (jsMath's successor) if you're willing to do some manual work.
16:56:38 <quintopia> could you pelase write me one that doesn't suck?
16:56:49 <elliott> no, it is basically impossible
16:56:54 <elliott> html doesn't work like that
16:57:05 <quintopia> i don't care about the math. i just want to preserve the non-math formatting
16:57:40 <quintopia> basically, where text and images are located, and laying out of bibliography, and anchoring citations
16:58:01 <elliott> not gonna happen. html doesn't work like that unless you force it to, and doing it from tex would just be near-impossible.
16:58:14 <Gregor> There's one that's OK.
16:58:17 <Gregor> One sec.
16:58:19 <quintopia> i know a lot of it could be done approximately
16:59:28 <quintopia> and i'm willing to tolerate a lot of differences since they are fundamentally different paradigms
16:59:29 <Gregor> quintopia: http://www.tug.org/applications/tex4ht/ <-- good part: Works well. Bad part: Original creator is dead.
16:59:39 <quintopia> lol
17:00:21 <quintopia> Gregor: so the continued development isn't as good as the original development?
17:00:46 <Gregor> It's not that it's not as good so much as that it's slowed to a crawl.
17:01:49 <Gregor> Anyway, if you have something that you want to convert to an HTML page that looks like it came from LaTeX but isn't just a PDF barfed into a web browser (e.g. a language spec), it's pretty good.
17:02:17 -!- Goosey has joined.
17:02:53 <nooga> uh
17:03:13 <nooga> are there some papers on implementing UNIX-like systems?
17:03:37 <Gregor> nooga: Literally every advanced OS textbook in history? :P
17:04:36 <elliott> Gregor: Unix counts as advanced nowadays? Fuck.
17:04:55 <elliott> You know, the OS designed to be as simple as possible to implement and get working and be practical.
17:05:02 <elliott> In a multi-user, networked environment.
17:05:18 <Gregor> elliott: By "advanced" I mean "it covers topics lower than shells", not "it covers research in OS design"
17:05:37 <elliott> Gregor: There are OS design textbooks which... cover just shells? And not kernels?
17:05:40 <elliott> Are you being serious?
17:05:47 <Gregor> Slight exaggeration :P
17:05:57 <elliott> Gregor: ^_________________^
17:06:01 <Gregor> The point is there are definitely OS textbooks you could read cover-to-cover without being able to write an OS.
17:06:10 <elliott> Gregor: Indeed...
17:06:16 <Gregor> s/being able to/learning to/
17:06:40 <elliott> I love how big my fonts are and how beige my background is! I'm OLD now!
17:08:04 -!- kar8nga has quit (Remote host closed the connection).
17:10:04 <Phantom_Hoover> elliott, how goes the LaTeXification of WP?
17:10:22 <elliott> Phantom_Hoover: Oh stop bugging me.
17:14:48 <elliott> Wtf is up with cat.
17:25:00 -!- oerjan has quit (Quit: leaving).
17:25:50 -!- Mathnerd314 has joined.
17:27:07 <Phantom_Hoover> elliott, how should we know?
17:27:14 <elliott> magic
17:41:10 <Phantom_Hoover> elliott, read MC Experiment day 12 yet?
17:41:46 <elliott> Phantom_Hoover: I haven't read since ... I forget. Link me to the first
17:42:27 <Phantom_Hoover> http://www.pcgamer.com/author/pentadact/
17:42:36 <Phantom_Hoover> Look back until you find the one you haven't read.
17:43:24 <Phantom_Hoover> Hey, it goes to beta in 9 days.
17:44:46 <elliott> I’m swept violently over the threshold, flung clear of the falling water, and left mid-air, sickeningly high over dry land. My only hope is if the water somehow hits the ground before me, spreads out into some kind of pool and…
17:44:47 <elliott> It doesn’t.
17:44:47 <elliott> A fountain of metal, stone, sand, torches and sticks explodes from me as I hit the ground, and the last thing I see in front of my dying face is the egg, still intact.
17:45:05 <elliott> Phantom_Hoover: Beta? With all the shitty bugs?
17:45:58 <Phantom_Hoover> I assume he's working like hell to ruin^W fix it.
17:55:22 <Phantom_Hoover> http://www.mezzacotta.net/garfield/?comic=571
17:55:34 <Phantom_Hoover> I feel quite intensely nerdy for getting that reference.
18:02:49 <elliott> Phantom_Hoover: http://i.imgur.com/asrO9.jpg XD
18:02:57 <Phantom_Hoover> Indeed.
18:04:48 <elliott> "Oh my God.
18:04:48 <elliott> OK. That should be enough.
18:04:48 <elliott> On Monday: turns out it’s not enough."
18:04:52 <quintopia> elliott: http://i.imgur.com/LZZJx.gif
18:05:09 <elliott> quintopia: what
18:05:19 <elliott> Phantom_Hoover: Ha, the price is going up to 15 euros in beta.
18:05:25 <elliott> More bugs cost more!
18:06:18 <Phantom_Hoover> elliott, I still prefer his GCII playthroughs by a small margin, though.
18:06:26 <Phantom_Hoover> (Tom Francis', that is.)
18:06:38 <elliott> Phantom_Hoover: I haven't played GCII, so I probably wouldn't.
18:06:45 <Phantom_Hoover> elliott, nor have I.
18:06:52 <Phantom_Hoover> It's not written for people who have.
18:07:01 <elliott> Phantom_Hoover: OK, rephrase: I don't really like games like that.
18:07:19 <Phantom_Hoover> Nor I.
18:07:31 <elliott> Phantom_Hoover: Oh fine, link me then.
18:07:37 <elliott> But I like the Minecraft ones partly because I know how silly he's being.
18:08:28 <Phantom_Hoover> http://www.computerandvideogames.com/article.php?id=161570&site=pcg
18:09:02 <quintopia> someone buy me a fast computer so i can play minecraft
18:09:19 <elliott> quintopia: what?
18:09:35 <elliott> quintopia: I play it on a 1.3 GHz Core 2 Duo laptop running at 1.2 GHz with an onboard Intel GPU
18:09:45 <elliott> on Linux, no less, where the graphics performance isn't exactly stellar
18:09:56 <elliott> quintopia: rendering distance to short, graphics to fast, problem solved
18:10:09 <quintopia> hmm
18:10:38 <quintopia> it always ran ridiculously slow for me. i'll see about the settings.
18:10:53 <Phantom_Hoover> quintopia, and my mid-to-low end laptop runs it fine on normal rendering distance and fancy graphics.
18:10:56 <elliott> quintopia: Sometimes it does and you just have to restart it. You're not playing in-browser, right?
18:11:36 <quintopia> elliott: don't think so. haven't played in-browser since the very first demo.
18:11:39 <quintopia> it ran okay then.
18:11:51 <elliott> quintopia: Sun JRE or?
18:11:55 <elliott> If you're not on Linux I can't even remotely help.
18:12:05 <elliott> Phantom_Hoover: My laptop is actually on the high end of mid end; it's very sturdy, thin and lightweight, and has a long battery life; it's just that long battery life, lightweight and super-fast CPU don't really mix. :p
18:12:08 <elliott> It's actually pretty snappy.
18:12:15 <quintopia> a modification of sun jvm i think
18:12:31 <Phantom_Hoover> elliott, depends on how you define "end", then.
18:13:00 <elliott> Phantom_Hoover: Price-wise, ignoring things that are stupidly overpriced because of a brand name (*cough* Sony *cough*)
18:13:04 <elliott> quintopia: what? you mean icedtea?
18:13:10 <elliott> that isn't a modification, that's a backport of openjdk to run java 6
18:13:22 <elliott> quintopia: uninstall the other javas and install the sun-java6-* packages on debian
18:15:00 <quintopia> pretty sure that's my default (or something close enough to it not to make a difference)
18:15:24 <elliott> quintopia: no, in fact, the difference /does/ matter
18:15:30 <elliott> openjdk, icedtea, etc. don't work or don't work as well
18:16:10 <quintopia> elliott: i'm talking about an experimental build that doesn't actually change the performance of sun's build at all
18:17:11 <elliott> quintopia: well, suit yourself
18:20:53 <Phantom_Hoover> [[So I did what I always do when I can't do anything good: I did something stupid.]]
18:21:04 <Phantom_Hoover> There's something unspeakably profound about that quote.
18:23:00 <elliott> Phantom_Hoover: Link me to the playthrough of GCII?
18:23:24 <Phantom_Hoover> <Phantom_Hoover> http://www.computerandvideogames.com/article.php?id=161570&site=pcg
18:26:00 <Phantom_Hoover> There's another one where he takes over the next size of galaxy through peaceful means.
18:26:08 <Phantom_Hoover> Well, *"peaceful"
18:30:39 <elliott> Phantom_Hoover: "Final Entry"?
18:30:41 <elliott> That doesn't look final to me.
18:30:46 <elliott> Also that site's font rendering is fucked up and hideous.
18:30:50 <elliott> Phantom_Hoover: Or rather: Where's First Entry.
18:34:17 <Phantom_Hoover> elliott, it must have been updated in place.
18:34:27 <elliott> Phantom_Hoover: Greaaaat. And on a hideous site too.
18:34:31 <Phantom_Hoover> The diary starts at Day 1 on that page.
18:34:37 <Phantom_Hoover> It is rather, isn't it?
18:34:54 <elliott> Phantom_Hoover: Especially since it fucks up Firefox's font rendering for me. I think I'll skip that playthrough for now. :p
18:35:08 <elliott> (computerandvideogames.com <-- what kind of domain name is that)
18:35:21 <Phantom_Hoover> I have a thing that guts horrible rendering on webpages and makes them vaguely readable, if that helps.
18:35:55 <Phantom_Hoover> It also guts the screencaps, but that's a minor loss and you can use the popup thing if you're that desparate.
18:36:00 <Phantom_Hoover> *desperate.
18:36:35 <elliott> Phantom_Hoover: I know, I know, Readability, yes.
18:36:36 <elliott> I don't like it.
18:36:42 <elliott> I can never get it looking nicely.
18:37:06 <Phantom_Hoover> Why not?
18:37:35 <elliott> To force the formula to render as PNG, add \, (small space) at the end of the formula (where it is not rendered). This will force PNG if the user is in "HTML if simple" mode, but not for "HTML if possible" mode (math rendering settings in preferences).
18:37:36 <elliott> Aha.
18:37:48 <elliott> Phantom_Hoover: I'm fussy.
18:38:24 <Phantom_Hoover> elliott, default layout or Readibility layout. Guess which is palatable?
18:38:35 <elliott> Phantom_Hoover: Shaddap.
18:41:53 <Vorpal> elliott, still in there?
18:42:11 <Phantom_Hoover> elliott, so can we expect Nicely Formatted Lambda Calculus soon?
18:43:19 <elliott> Vorpal: Yes.
18:43:20 <Vorpal> elliott, if you want me to show you the way out, that happens now, not in half a minute
18:43:20 <elliott> Phantom_Hoover: Maybe.
18:43:32 <elliott> Phantom_Hoover: You're really irritating when you bug people. :p
18:43:43 <Vorpal> elliott, guess not then
18:43:59 <Phantom_Hoover> elliott, FEAR MY BUGGINESS.
18:52:02 <Phantom_Hoover> <elliott> Phantom_Hoover: Especially since it fucks up Firefox's font rendering for me. I think I'll skip that playthrough for now. :p ← what rendering would that be?
18:52:07 <elliott> Phantom_Hoover: http://upload.wikimedia.org/math/c/b/4/cb4c22a5b26892bebcca85d168d98566.png
18:52:10 <elliott> Phantom_Hoover: Whoops!
18:52:15 <elliott> mathisavariable
18:52:22 <elliott> </mathisavariable, then < math >
19:00:47 <elliott> Phantom_Hoover: Sheesh, WP's LC raticle is just terrible.
19:01:16 <elliott> I'm tempted to write a treatment that doesn't both assume its readers are stupid and also use non-obvious mathematical terminology in the same sentence.
19:01:17 <elliott> *article
19:02:12 <Phantom_Hoover> elliott, that is the problem with WP as a reference source...
19:02:39 <elliott> A basic form of equivalence, definable on lambda terms, is alpha equivalence. This states that the particular choice of bound variable, in a lambda abstraction, doesn't (usually) matter. For instance, λx.x and λy.y are alpha-equivalent lambda terms, representing the same identity function. Note that the terms x and y aren't alpha-equivalent, because they are not bound in a lambda abstraction. In many presentations, it is usual to identify alpha
19:02:40 <elliott> -equivalent lambda terms.
19:02:43 <elliott> "doesn't (usually) matter"
19:02:45 <elliott> Real fucking helpful there.
19:03:41 <elliott> Phantom_Hoover: Prediction: Being an IP, I'm going to get auto-reverted by a bot for making too many changes, left a threatening anti-vandalism message by it on my talk page, and will then have to contact the owner of the bot to stop it re-reverting if I do, at which point my edit will be reverted because fuck you.
19:03:44 <elliott> (by a human)
19:03:56 -!- cheater99 has quit (Ping timeout: 250 seconds).
19:04:31 <Phantom_Hoover> I'll help in that case; I have a probably-autoconfirmed account handy.
19:04:50 <elliott> Phantom_Hoover: Undoubtedly a sockpuppet of me!
19:05:00 <elliott> Incidentally, Google Code redesigned and it's now harder to read and get information.
19:05:10 <elliott> More cluttered too.
19:05:12 -!- pikhq has quit (Ping timeout: 265 seconds).
19:05:16 <Phantom_Hoover> A 2-year-old sockpuppet?
19:06:47 <elliott> Phantom_Hoover: Yes! Sinister.
19:07:21 <Phantom_Hoover> http://www.bulwer-lytton.com/
19:07:35 * Phantom_Hoover shivers at the pure unadulterated awfulness of the design.
19:10:51 <elliott> Phantom_Hoover: Why are you even visiting those poseurs? http://adamcadre.ac/lyttle.html
19:11:09 <elliott> Congratulations, you won the Bulwer-Lytton -- you can write long sentences! Fuckfaces.
19:11:14 <Phantom_Hoover> elliott, stumbled there from TV Tropes.
19:11:27 <elliott> Phantom_Hoover: (Presumably you already know of the Lytton Lytton, though.)
19:11:33 <elliott> (If not, READ ALL THE RESULTS NOW AND LAUGH)
19:11:58 <Phantom_Hoover> elliott, I've seen it.
19:14:18 <elliott> Phantom_Hoover: FWIW, I'm up to "Beta reduction" in the informal description.
19:14:33 -!- oerjan has joined.
19:17:09 <oerjan> 09:55:22 <Phantom_Hoover> http://www.mezzacotta.net/garfield/?comic=571
19:17:10 <oerjan> 09:55:34 <Phantom_Hoover> I feel quite intensely nerdy for getting that reference.
19:17:11 -!- cheater99 has joined.
19:18:02 <oerjan> hey i got it too, but i consider sandman to be on my _less_ nerdy side... :D
19:18:58 <oerjan> this may just be a further sign of my madness, i guess
19:23:25 <elliott> oerjan: you know the two "famous" LC encodings of data types, Church and Mogensen-Scott?
19:23:44 <oerjan> actually no. at least not the latter.
19:23:50 <elliott> oerjan: http://en.wikipedia.org/wiki/Mogensen%E2%80%93Scott_encoding
19:26:52 <oerjan> ok the scott encoding looks like the one i consider "obvious"
19:27:50 <elliott> oerjan: presumably you know http://en.wikipedia.org/wiki/Church_encoding :p
19:28:03 <elliott> which ofc applies to more than just naturals
19:28:47 <elliott> oerjan: anyway (as actually mentioned in that article at the bottom) i've been wondering about an encoding based on the induction combinator for a function... i.e. right fold
19:28:50 <elliott> erm for a data type
19:28:53 <elliott> so
19:28:55 <elliott> nil f g = f
19:28:55 <elliott> cons x xs f g = g x (xs f g)
19:28:57 <elliott> and then we can define foldr
19:28:59 <elliott> foldr f z xs = xs z f
19:29:00 <elliott> ::
19:29:00 <elliott> foldr f z {nil} = z
19:29:00 <elliott> foldr f z {cons x xs} = f x (xs z f)
19:29:00 <elliott> ::
19:29:02 <elliott> foldr f z {nil} = z
19:29:04 <elliott> foldr f z {cons x xs} = f x (foldr f z xs)
19:29:21 <elliott> where the first :: there is expanding out the call tot he list, and the second one is replacing foldr's RHS (xs z f) with a call to foldr itself
19:29:24 <Phantom_Hoover> oerjan, wait, the Church encoding isn't the obvious one for you?
19:29:38 <elliott> Phantom_Hoover: mogensen-scott is pretty obvious for non-numeral-and-list types
19:29:45 <elliott> oerjan: and I'm just wondering how well this would work in general
19:29:57 <elliott> oerjan: hm you can define foldl with foldr right? (ignore efficiency right now :))
19:29:59 <elliott> I forget how
19:30:00 <Phantom_Hoover> elliott, ah, you meant in general.
19:30:06 <oerjan> Phantom_Hoover: not what is listed as church encoding on the http://en.wikipedia.org/wiki/Mogensen%E2%80%93Scott_encoding page
19:30:36 <oerjan> but the boolean and pair examples on the Church encoding page are indeed what i'd consider obvious
19:30:43 <Phantom_Hoover> Yes, indeed.
19:30:57 <elliott> oerjan: how do you do that again? :p
19:31:55 <oerjan> in fact i'm wondering if that first page might have it wrong then?
19:32:33 <oerjan> true = \t f -> t, false = \t f -> f
19:32:52 <oerjan> cons x y = \f -> f x y
19:33:07 <elliott> might be so, now tell me how to define foldl with foldr :p
19:33:12 <elliott> or i'll ASK #HASKELL
19:33:19 <oerjan> oh _that_
19:34:20 * oerjan is suddenly very hungry
19:34:25 <Phantom_Hoover> Hmm, so Mogensen-Scott for the unary naturals would be... 0 = \ c1 c2 -> c1, S = \ n c1 c2 -> c2 n?
19:34:28 <oerjan> i think you'd better as #haskell then
19:34:34 <oerjan> *ask
19:34:40 <oerjan> food ->
19:35:00 <Phantom_Hoover> I really need to find a better reference for the LC than WP...
19:36:45 <elliott> oerjan:
19:36:45 <elliott> myFoldl f z xs = foldr step id xs z
19:36:45 <elliott> where step x g a = g (f a x)
19:36:51 <elliott> thanks RWH, that was so real-world of you :P
19:39:45 <Phantom_Hoover> elliott, what do you seek to do?
19:40:15 <elliott> Phantom_Hoover: I'm playing with this data encoding to figure out if it's a good representation of data.
19:40:30 <elliott> Phantom_Hoover: The Reduceron, for instance, represents data as functions, and doesn't use this encoding AFAIK.
19:40:50 <elliott> And they have notes writing about how their automatic CPU-level inlining optimisations and the like help inline data structures right into the code so that stuff is efficient.
19:40:57 <elliott> I'm wondering if this foldl expands to the "efficient" implementation.
19:41:53 <Phantom_Hoover> I get this steadily growing feeling that a Lazy K implementation in Haskell would be a good idea...
19:42:24 <elliott> Ugh, I made a mistake.
19:42:30 <elliott> Phantom_Hoover: Enjoy your possible space leak. :p
19:42:34 <elliott> Phantom_Hoover: But yeah, it would make things easier.
19:42:52 <Phantom_Hoover> elliott, it can't be worse than the one in the existing (C++) implementation.
19:42:58 <elliott> Indeed.
19:43:07 <elliott> Phantom_Hoover: Lazy K is kinda rubbish, though; it's SKI calculus plus gimmick. :p
19:43:42 <Phantom_Hoover> elliott, well, it's SKI calculus + normal functional IO mechanism.
19:44:02 <elliott> Phantom_Hoover: Plus syntax gimmick.
19:46:07 <Phantom_Hoover> I still ponder the sanity of someone who thinks "SKI calculus implementation? C++ is the perfect language!".
19:50:18 <elliott> foldl fl zl {cons xv xsv} = (\xq gq aq -> gq (fl aq xq)) xv (xsv (\xi -> xi) (\xq gq aq -> gq (fl aq xq))) zl
19:50:19 <elliott> this is going well
19:51:38 <Phantom_Hoover> The worst part is that you cannot pronounce any of those names.
19:52:14 <elliott> Phantom_Hoover: I've renamed them to disambiguate :P
19:53:09 <elliott> Phantom_Hoover: What I need is a program to let me do valid manipulations on lambda expressions manually, handling alpha conversion etc. itself.
19:53:18 <elliott> So I can simplify these things step by step without making stupid mistakes.
19:53:44 <Phantom_Hoover> elliott, you mean handling code as code rather than text?
19:54:48 <elliott> Yes.
19:55:06 <elliott> YES!
19:55:10 <elliott> Simplified
19:55:11 <elliott> foldl fl zl xsl = foldr (\xq gq aq -> gq (fl aq xq)) (\xi -> xi) xsl zl
19:55:11 <elliott> to
19:55:13 <elliott> foldl f z {nil} = z
19:55:13 <elliott> foldl f z {cons x xs} = foldl f (f z x) xs
19:55:42 <elliott> What I'm saying is: The right-fold data structure representation supports foldl perfectly well.
19:55:46 <elliott> (With a sufficiently smart CPU :P)
20:00:42 <elliott> Phantom_Hoover: I am not sure how this works with mutually-recursive data types and the like :(
20:01:59 <elliott> Phantom_Hoover: I guess I'll just go with the induction schemes.
20:03:28 <elliott> "TIL That Linus Torvalds also created Git, so much cooler now"
20:03:31 <elliott> Fuck you /r/programming.
20:03:34 <elliott> I'm going to Slashdot.
20:05:38 <Phantom_Hoover> elliott, zuh?
20:06:19 <elliott> Phantom_Hoover: That's on /r/programming's front page.
20:06:31 <elliott> It has finally ceased to be worthwhile even in the slightest.
20:07:47 <Phantom_Hoover> elliott, "What do Java developers think of Scala?" I sense the invisible hand of Sgeo!
20:08:21 <elliott> I remember when git was low-level and you had to use cogito to get anything done.
20:12:47 <Phantom_Hoover> You're OLD
20:13:11 <elliott> Phantom_Hoover: Dude, it was 2006 :P
20:13:32 <Phantom_Hoover> OLD
20:13:52 <Phantom_Hoover> Back then I could write Hello World in Pascal and that was IT!
20:18:02 <elliott> Tree_rec =
20:18:02 <elliott> fun (T : Type) (P : Tree T -> Set) => Tree_rect T P
20:18:02 <elliott> : forall (T : Type) (P : Tree T -> Set),
20:18:02 <elliott> (forall t : T, P (Leaf T t)) ->
20:18:02 <elliott> (forall t : Tree T,
20:20:45 <Phantom_Hoover> Coqing, then?
20:21:11 <elliott> Phantom_Hoover: No, I was just trying to get a tree's recursive induction scheme.
20:21:16 <elliott> Since Coq is :oohdependent:, it hasn't helped much.
20:22:14 <Phantom_Hoover> Oh, the whole rec and rect thing.
20:24:03 <elliott> Leaf x f g = f x
20:24:03 <elliott> Branch x y f g = g (x f g) (y f g)
20:24:05 <elliott> beautiful
20:24:56 <elliott> mapTree f t = foldTree f Branch
20:25:06 <elliott> Wundervoll!
20:25:22 <elliott> erm actaully
20:25:23 <elliott> mapTree f t = foldTree f Branch t
20:25:30 <elliott> *actually
20:25:50 <elliott> oh, wait
20:25:54 <elliott> mapTree f t = foldTree (Leaf . f) Branch t
20:26:48 <elliott> mapTree f {Leaf x} = Leaf (f x)
20:26:49 <elliott> mapTree f {Branch x y} = Branch (mapTree f x) (mapTree f y)
20:26:50 <elliott> mission accomplished
20:31:11 <elliott> map f {nil} = nil
20:31:11 <elliott> map f {cons x xs} = cons (f x) (map f xs)
20:31:16 <elliott> Phantom_Hoover: these things really expand properly!
20:31:18 <elliott> this is awesome
20:40:39 <elliott> Phantom_Hoover: Have you looked at the Reduceron?
20:40:43 <elliott> It may restore your faith in electrons.
20:40:48 <elliott> Phantom_Hoover: http://www.cs.york.ac.uk/fp/reduceron/
20:40:54 <elliott> The memos are great.
20:41:10 <elliott> Phantom_Hoover: tl;dr purely functional, lazy graph rewriting on an FPGA.
20:41:21 <Phantom_Hoover> IO?
20:41:29 <oerjan> electrons, traitorous little schemers
20:41:31 <elliott> Phantom_Hoover: Yes, it does have IO of some kind.
20:41:34 <elliott> Well, it has O. Dunno about I.
20:41:43 <elliott> It's irrelevant though, just gawp at the amazingness and read the lovely memos.
20:54:42 <elliott> Phantom_Hoover: Oops, I just realised my tree structure was (Leaf X | Branch Tree Tree), which is rather useless.
20:54:54 <elliott> It should be (Leaf | Branch X Tree Tree).
20:59:18 <elliott> mapTree f {Leaf} = Leaf
20:59:18 <elliott> mapTree f {Branch x t1 t2} = Branch (f x) (mapTree f t1) (mapTree f t2)
20:59:20 <elliott> w00tz.
21:05:35 <Vorpal> elliott, idea: redstone message bus (think CAN)
21:05:52 <Vorpal> elliott, doable or not?
21:06:02 -!- hagb4rd has joined.
21:06:08 <Vorpal> well presumably doable considering the CPU
21:06:13 <Vorpal> but... feasible?
21:06:22 <hagb4rd> hi@all
21:06:37 <Vorpal> brb
21:07:54 <elliott> Vorpal: Maybe.
21:07:59 <elliott> HackEgo: hi.
21:08:29 <Gregor> `addquote <Anti-X> i didn't like jquery, until i decided to use it because it made development faster. now i can't go back to women...
21:08:47 <HackEgo> 241) <Anti-X> i didn't like jquery, until i decided to use it because it made development faster. now i can't go back to women...
21:10:37 <Gregor> hagb4rd: "hi@all" isn't likely to elicit much of a reaction, except for elliott mistabbing you :P
21:10:59 <elliott> <HackEgo> 241) <Anti-X> i didn't like jquery, until i decided to use it because it made development faster. now i can't go back to women...
21:10:59 <elliott> wat
21:11:10 <elliott> `pastequotes
21:11:13 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28706
21:11:20 <elliott> Gregor: I can't believe my new quote system isn't 17x as efficient as the old one :P
21:11:27 <elliott> Your bot spends SO MUCH TIME doing ABSOLUTELY NOTHING OF VALUE X-D
21:12:23 <elliott> 231) <elliott> Wow, that [ ! "$1" ] actually works.
21:12:26 <elliott> Why is that even in the database.
21:12:28 <elliott> `delquote 231
21:12:41 <HackEgo> *poof*
21:14:48 <oerjan> `addquote <elliott> ONLY GOOD QUOTES PLEASE! AND NO FAKE ONES EITHER!
21:14:49 <HackEgo> 241) <elliott> ONLY GOOD QUOTES PLEASE! AND NO FAKE ONES EITHER!
21:15:07 <Phantom_Hoover> HOLY CRAP MY PARENTS ARE WATCHING SELTZER AND FRIEDBERG AND LAUGHING I'M GOING TO UNIVERSITY NOW AND NEVER COMING BACK
21:15:32 <elliott> `addquote IN AN ALTERNATE UNIVERSE THAT IS THIS ONE: <oerjan> The mother of my children is a goat!
21:15:44 <elliott> Phantom_Hoover: ;__;
21:16:49 <Phantom_Hoover> elliott, AAAAAAAAAAAA ALL MY GENES ARE THEIRS AAAAAAAAAAAAAAAAAAAAAAAA
21:17:25 <Gregor> I think I need a fuse-hg.
21:17:31 <elliott> Phantom_Hoover: Don't worry! It is theoretically possible that every single gene you have mutated!
21:17:37 <elliott> You could share NO genes with them!
21:17:40 <elliott> SCIENCE
21:17:41 <Phantom_Hoover> elliott, yesyesyesyesyesyes
21:17:41 <Gregor> hg clone-ing a large repository is (sometimes) quite slow >_>
21:17:47 <HackEgo> 242) IN AN ALTERNATE UNIVERSE THAT IS THIS ONE: <oerjan> The mother of my children is a goat!
21:17:48 <Gregor> Or at least, inconsistent-speed.
21:18:05 <elliott> Gregor: Is "fuse-hg" meant to be something more interesting than a FUSE interface to hg?
21:21:38 <elliott> Gregor: y/n?
21:22:00 <Phantom_Hoover> `quote 129
21:22:03 <HackEgo> 129) <soupdragon> if you claim that the universe is more than 3D the burden of proof is on you to produce a klien bottle that doesn't self intersect <soupdragon> ^ I learned that trick from atheists
21:22:16 <Phantom_Hoover> Ah, the good old days.
21:22:57 <elliott> it's vaguely irritating that fax was an interesting cool person and an utterly insane psycho in one
21:26:43 <elliott> hmph, what's foldl on a tree..
21:27:32 <oerjan> elliott: i'm not sure that makes sense
21:27:37 <Deewiant> foldl . toList
21:27:51 <elliott> oerjan: me neither, but i *want* it to make sense :)
21:27:56 <elliott> Deewiant: bad Deewiant *slaps*
21:28:15 <elliott> -- foldlTree f z Leaf = z
21:28:15 <elliott> -- foldlTree f z (Branch x t1 t2) = foldlTree (f (foldlTree f z t1) x) t2
21:28:16 <Deewiant> It typically is that
21:28:18 <elliott> oerjan: i think that *sort* of works
21:28:28 <Gregor> elliott: Yes
21:28:32 <oerjan> i mean a tree is basically a way to correct for a list's biased direction-ness...
21:28:39 <elliott> so really there's foldlTreeLeft and foldlTreeRight
21:28:41 <elliott> if you get my meaning
21:28:47 <elliott> where you just swap t1 and t2 there
21:28:51 <elliott> Gregor: hm? were you saying yes to my definition?
21:29:28 <oerjan> note that for a list, a foldl is equivalent to a foldr of the reversed list
21:29:39 <Gregor> elliott: To fuse-hg :P
21:30:10 <oerjan> however if you reverse/mirror a tree, you still use the same fold
21:30:12 <elliott> Gregor: What would it be, then? (Suggest rename to hg-fuse, for consistency.)
21:30:13 <Gregor> elliott: Basically, I want to be able to fuse-mount a particular revision, then when I unmount it commits a new revision with my changes.
21:30:21 <oerjan> (with tweaked parameters)
21:30:22 <elliott> oerjan: right.
21:30:27 <elliott> Gregor: Oh, so "no" then.
21:30:42 <elliott> Gregor: I was saying: is it more interesting than FUSE? As in: did you mean "fuse" the verb?
21:30:46 <elliott> As in fuse two hg repositories together in some way?
21:30:48 <elliott> That would be interesting.
21:30:54 <Gregor> Oh :P
21:32:32 <elliott> oerjan: give me a tree operation other than fold and map, then :P
21:32:46 <oerjan> elliott: monad operations!
21:32:47 <elliott> to write in terms of foldr and expand back
21:32:55 <elliott> oerjan: oh gawd -- what are they on trees?
21:33:26 <oerjan> well return x is just Branch x Leaf Leaf i think
21:33:52 <elliott> oerjan: I'm doing this because I'm fairly sure that representing structures as their right fold (i.e. their induction-recursion combinator) is the best representation in LC; it's easy to convert pattern matching into it, and when inlining and expanding functions defined with the combinators, they tend to unroll to the obvious, efficient "direct" implementation
21:37:29 <oerjan> actually i'm not sure about monad operations on trees when the x'es are embedded straight into Branch rather than Leaf
21:38:30 <elliott> oerjan: eh? (Leaf X | Branch Tree Tree) you mean as the alternative?
21:38:33 <oerjan> what should join (Branch (Branch x t1 t2) t3 t4) be
21:38:37 <elliott> I had that at first, but then realised it doesn't model actual trees
21:38:39 <elliott> or do you mean
21:38:44 <elliott> (Leaf X | Branch X Tree Tree)?
21:39:03 <oerjan> the former has an obvious monad instance, at least
21:39:22 <oerjan> the latter may not actually help in that respect
21:39:37 <Phantom_Hoover> Gyaaah, where's pikhq when you need him and his multimedia nerdery.
21:41:08 <elliott> Phantom_Hoover: I have some of it.
21:41:16 <elliott> oerjan: erm but how do you model an "actual" tree with the former?
21:41:24 * Phantom_Hoover just goes for the torrent with the most peers.
21:42:31 <oerjan> elliott: oh forget that
21:42:42 <elliott> oerjan: what :D
21:42:47 <elliott> oerjan: but then it's hardly a tree structure, is it?
21:42:50 <oerjan> it doesn't work
21:42:51 <elliott> oerjan: oh or do you mean, forget what i said
21:42:54 <elliott> Phantom_Hoover: no, I can help
21:42:55 <oerjan> yeah
21:43:05 <elliott> Phantom_Hoover: pretend i'm pikhq, i'm as much an encoding nerd as he is :)
21:43:06 <elliott> well, close
21:43:26 <oerjan> elliott is in fact pikhq converted to big5
21:43:29 <Phantom_Hoover> elliott, http://torrentz.eu/search?f=futurama+season+3
21:43:36 <oerjan> or wait, that's the wrong way around
21:43:40 <oerjan> (obviously)
21:43:52 <Phantom_Hoover> Pick one or find a better one.
21:44:01 <Vorpal> elliott, I have an idea how to make that "clear" one work. Involves one SR-latch and two buttons
21:44:21 <elliott> Phantom_Hoover: http://torrentz.com/7f97cf9ea5ff10a01b56789c85ce32e3c8a24674 This is the best one out of the first few.
21:44:33 <elliott> Phantom_Hoover: 11 seeders, 10 peers. Should go quickly enough.
21:45:00 <elliott> Phantom_Hoover: There is a preferable 8 gig Matroska rip, but it is seederless.
21:45:04 <elliott> So go with that one.
21:45:31 <Phantom_Hoover> elliott, define "quickly enough".
21:45:39 <Phantom_Hoover> And I shall compare it with actual results.
21:45:42 <elliott> Phantom_Hoover: You can't tell without downloading.
21:46:03 <elliott> Phantom_Hoover: It depends on your connection, everyone else's connection, general swarm health... Start the torrent, add the trackers from torrentz, and give it some minutes to get going.
21:46:08 <Phantom_Hoover> elliott, I mean in the sense of "what would be the kind of order of magnitude you'd expect"?
21:46:28 <elliott> Phantom_Hoover: A few hours if stuff is good.
21:46:49 <Phantom_Hoover> 1 peer.
21:46:54 <Phantom_Hoover> Stuff is not good.
21:47:15 <Phantom_Hoover> 1 peer *listed*, not connected.
21:47:24 <elliott> Phantom_Hoover: Did you add the trackers?
21:47:30 <elliott> Did you *wait* because this stuff takes time to propagate?
21:47:32 <Phantom_Hoover> Yep.
21:47:46 <Phantom_Hoover> There were 4, and one of them was already there.
21:47:46 <elliott> Phantom_Hoover: No you didn't.
21:47:48 <elliott> Wait a few minutes.
21:47:52 <elliott> Phantom_Hoover: Wait.
21:47:57 <elliott> Phantom_Hoover: You did add them with a blank line in between, yes?
21:48:04 <Phantom_Hoover> Yes.
21:48:18 <elliott> Phantom_Hoover: Give it some minutes.
21:48:38 <Phantom_Hoover> And I am looking at the tracker list right now and two of them have 1 peer listed each.
21:49:30 <elliott> Phantom_Hoover: OK, I realise you don't get how BitTorrent works, but stop looking at it and go back in five minutes.
21:49:32 <elliott> Seriously.
21:50:03 <Phantom_Hoover> I take your point. It's up to 29.
21:52:43 <Phantom_Hoover> THERE IS EGG ON MY FACE
21:53:10 <elliott> oerjan: so wait what's the preferable tree structure again :D
21:53:17 <oerjan> YOU NEED TO IMPROVE YOUR COOKING SKILLS
21:53:45 <oerjan> elliott: nothing wrong with your original, is there
21:53:56 <elliott> oerjan: you mean Tree = Leaf | Branch X Tree Tree?
21:54:01 <oerjan> yes
21:54:05 <elliott> oerjan: right, so what's join :D
21:54:24 <oerjan> I DON'T KNOW
21:54:36 <oerjan> if it even is a monad
21:54:51 <elliott> oerjan: now i need to find the monad laws as phrased for join :p
21:54:57 * oerjan googles
21:55:11 <elliott> oerjan: now i need a winning lottery ticket
21:55:16 <elliott> (if it worked once, it's worth trying again!)
21:58:03 <elliott> oerjan: join . return == id
21:58:04 <elliott> join . fmap return == id
21:58:04 <elliott> join . join == join . fmap join
21:58:20 <elliott> oerjan: wait do you need fmap to do a monad? doesn't join/return suffice
21:59:00 <Phantom_Hoover> elliott, you need it in some capacity, since >>= can't be expressed in terms of join and return alone.
21:59:10 <elliott> hm indeed
21:59:26 <elliott> ok well I have treeMap so that's sorted
21:59:37 <elliott> oerjan: ok so obviously "join (Branch x Leaf Leaf) = x" :)
22:00:32 <Phantom_Hoover> (>>= f) = join (fmap f), yes?
22:01:30 <Phantom_Hoover> I wish cpressey was here so I could torment him with both monads AND pointfree style!
22:02:32 <Phantom_Hoover> Erm, s/!/./
22:02:52 <Phantom_Hoover> What an overbearingly gregarious lapse.
22:03:18 <oerjan> elliott: the examples i find for tree monad all seem to assume something equivalent to the Leaf x | Branch (Tree x) (Tree x) version. although i found this one comment: http://www.rhinocerus.net/forum/lang-haskell/383058-good-old-tree-monad.html#post1814212
22:03:45 <elliott> oerjan: well I mean I have no objection to "Leaf x | Branch (Tree x) (Tree x)" I just don't see how it's a *tree*
22:03:55 <elliott> as in when someone says "oh yeah i solved this problem using a TREE", i can't imagine them using that
22:05:15 <Phantom_Hoover> Wait, Tree is a monad now?
22:06:14 <elliott> Phantom_Hoover: seemingly
22:06:30 <elliott> oerjan: HA!
22:06:32 -!- Sasha has quit (Ping timeout: 245 seconds).
22:06:40 <Phantom_Hoover> How are bind and return done?
22:06:40 <elliott> oerjan: Initially, I thought this was going to be about even plainer binary
22:06:40 <elliott> trees, like this:
22:06:40 <elliott> data Tree a = Branch (Tree a) (Tree a) | Leaf a
22:06:40 <elliott> --
22:06:40 <elliott> Simon Richard Clarkstone:
22:06:45 <elliott> oerjan: = our SimonRC
22:06:50 <oerjan> you can combine it though, Tree a b = Leaf b | Branch a (Tree a b) (Tree a b), then Tree a is still a monad
22:06:52 <elliott> lesson: #esoteric is unable to avoid itself
22:06:57 <elliott> <oerjan> you can combine it though, Tree a b = Leaf b | Branch a (Tree a b) (Tree a b), then Tree a is still a monad
22:06:59 <elliott> that's ugly though :)
22:07:00 <Phantom_Hoover> Well, I assume return = Leaf.
22:07:20 <oerjan> elliott: um clarkstone doesn't ring a bell
22:07:30 <elliott> oerjan: Simon Richard Clarkstone = SimonRC
22:07:33 -!- Sasha has joined.
22:07:40 <elliott> /whois if you want to check (also note present in #haskell too)
22:07:43 <oerjan> oh /whois agrees
22:07:45 <elliott> also i remember his sig :)
22:07:51 <elliott> oerjan: so would you recommend I just go for the ultra-plain binary tree route for the sake of algorithmic purity :)
22:07:52 <Phantom_Hoover> * [SimonRC] (~sc@fof.durge.org): Simon Richard Clarkstone
22:08:10 <oerjan> weird, i thought his surname was something different
22:10:34 <oerjan> Phantom_Hoover: for join, whenever you have t :: Tree a (Tree a b), you can conceptually get a Tree a b from that by replacing all Leaf x with x
22:11:00 <oerjan> (at the outer level)
22:11:11 <Phantom_Hoover> oerjan, what's the structure of this tree?
22:11:28 <oerjan> the combined one above
22:11:55 <elliott> oerjan: wait since when does Tree have two type parameters
22:12:09 <oerjan> elliott: in the combined version it does
22:12:23 <Phantom_Hoover> Right.
22:12:23 <elliott> oerjan: we're doing the (Leaf X | Branch Tree Tree) version now, I've decided :P
22:12:25 <elliott> for simplicity
22:12:27 <oerjan> you allow different types for values in branches and in leaves
22:12:38 <oerjan> elliott: ok in that case just ignore the a's
22:14:32 <elliott> so hm
22:14:37 <elliott> tree :: Tree (Tree a) -> Tree a
22:14:42 <elliott> oerjan: oh that's rather easy then isn't it
22:14:46 <elliott> oerjan: we just want to s/Leaf x/x/
22:14:53 <elliott> no?
22:15:02 <elliott> join (Leaf x) = x; join (Branch t1 t2) = Branch (join t1) (join t2)
22:15:37 <oerjan> yep
22:15:47 <elliott> oerjan: and thus joinTree = foldTree Branch id
22:15:51 <Phantom_Hoover> Incidentally, I found out why Coq files have a .v suffix: it's short for "vernacular".
22:16:16 <elliott> Phantom_Hoover: Insert lewd reference to Coq's name and word beginning with V.
22:16:24 <elliott> Insert me being swatted by oerjan.
22:16:33 * oerjan obliges -----###
22:17:14 <oerjan> imagine if this subreddit actually were highly active http://www.reddit.com/r/correctionsdept/
22:17:34 <elliott> oerjan: "there doesn't seem to be anything here" - ha, ha, ha
22:18:00 <elliott> hm so wait how do you do bind in terms of fmap and join?
22:18:04 <elliott> it's uh
22:18:10 <elliott> x >>= f = join (fmap f x)
22:18:11 <elliott> right?
22:18:16 <elliott> indeed
22:18:32 <oerjan> it's no fair to type my lines before me!
22:19:32 <oerjan> (btw it was linked from http://www.reddit.com/r/technology/comments/ek22q/reddit_now_creates_the_news_the_ciapsyteknet/)
22:22:36 <Phantom_Hoover> elliott, oerjan, I said that about 15 minutes before either of you.
22:23:26 <Phantom_Hoover> Indeed, (>>=) = flip $ join . fmap
22:23:28 <oerjan> Phantom_Hoover: well your time-traveling ways aren't fair either!
22:24:23 <oerjan> Phantom_Hoover: um no i don't think that's right
22:24:42 <Phantom_Hoover> oerjan, oh?
22:24:46 <elliott> progress so far simplifying bind:
22:24:47 <elliott> bindTree {Leaf v} f = f v
22:24:47 <elliott> bindTree {Branch t1 t2} f = Branch (((mapTree f t1) (\x -> x) Branch)) (((mapTree f t2) (\x -> x) Branch))
22:25:03 <Phantom_Hoover> oerjan, operator precedence or...?
22:25:41 <Phantom_Hoover> I wish we still had lambdabot...
22:25:45 <oerjan> (>>=) = flip $ (join .) . fmap
22:26:44 <oerjan> you were trying to use . with a two-argument function
22:26:44 <elliott> oerjan: go ask for lambdabot again :D
22:26:50 <elliott> Phantom_Hoover: *not* you, you're not nice and persuasive
22:26:55 <oerjan> elliott: i didn't do it the first time
22:27:03 <Phantom_Hoover> bind = (join .) . flip fmap
22:27:03 <elliott> oerjan: which is why you're the best person to do it now!
22:27:08 <elliott> oerjan: nobody's sick of you yet
22:27:39 <Phantom_Hoover> I doubt anyone remembers me from last time I asked...
22:27:53 <elliott> Phantom_Hoover: Yes, but when you asked, it disappeared soon after.
22:28:00 <elliott> When I (IIRC) asked gwern it didn't.
22:28:08 <elliott> What I'm sayin' is: you're not sweet enough :P
22:28:18 <oerjan> argh
22:28:42 <elliott> oerjan: just use puppy dog eyes
22:28:43 <elliott> 8.8
22:29:42 <oerjan> elliott: it probably disappears whenever lambdabot quits, regardless. sheesh.
22:30:05 <elliott> oerjan: it didn't last time, iirc it was added to the list :) i may be wrong though
22:30:22 <elliott> oerjan: anyway go ask! you can prolly use your haskell report credentials to make ridiculous demands or sth
22:30:25 <elliott> bindTree {Leaf v} f = f v
22:30:25 <elliott> bindTree {Branch t1 t2} f = Branch (bindTree t1 f) (bindTree t2 f)
22:30:26 <Phantom_Hoover> elliott, how's fmap defined for Tree?
22:30:26 <elliott> YES
22:30:28 <oerjan> if it was added to the list why did it disappear again?
22:30:28 <elliott> IT FINALLY WORKS
22:30:38 <elliott> Phantom_Hoover: It's just map.
22:30:42 <elliott> mapTree f {Leaf x} = Leaf (f x)
22:30:42 <elliott> mapTree f {Branch t1 t2} = Branch (mapTree f t1) (mapTree f t2)
22:30:43 <elliott> or
22:30:45 <elliott> mapTree f t = foldTree Branch (Leaf . f)
22:30:49 <elliott> oerjan: who knows? I think it changed servers at one point or something
22:30:54 <Phantom_Hoover> Oh, just map Leaf x => Leaf (f x).
22:30:56 <elliott> oerjan: Lemmih is the current guy-to-bug.
22:33:05 <elliott> http://sprunge.us/UiAY here's my working out of all of this
22:33:10 <elliott> :: precedes a block that's equivalent
22:33:56 <Phantom_Hoover> Dear god what is that at foldl aaaaa
22:34:30 <olsner> foldl = xqgqaqgqflaqxqzl
22:34:32 <elliott> Phantom_Hoover: Read it like this:
22:34:47 <elliott> foldl f z xs = foldr (\x g a -> g (f a x)) (\x -> x) xs z
22:34:51 <oerjan> olsner: fthagn!
22:34:55 <elliott> The suffixes on the variables were added because I ran into alpha-renaming issues.
22:35:13 <elliott> This is why I need a manual-but-automated rewriter tool. :p
22:37:50 <elliott> Would anyone like a copy of my GLORIOUS EYE-CURING GNOME THEME?
22:39:23 <Phantom_Hoover> Wait, Coq curries things, doesn't it?
22:40:15 <oerjan> chicken and curry
22:44:29 <elliott> Phantom_Hoover: Generally, yes.
22:45:21 <Phantom_Hoover> My tormentor was in fact the byzantine implicit argument system masquerading in the garb of currying oddities.
22:45:54 * elliott notes http://www.cs.york.ac.uk/fp/reduceron/memos/Memo13.txt for reading in a minute
22:46:05 <elliott> Phantom_Hoover: The implicit argument system is nicer than Agda's, at least.
22:46:12 <elliott> Phantom_Hoover: Would you like my WONDERFUL GNOME THEME?
22:46:28 <Phantom_Hoover> WHY IS IT SO "£$%"£$%ING *HARD* TO MAKE ID A FUNCTION?
22:46:32 <Phantom_Hoover> PLEASE EXPLAIN.
22:46:32 <elliott> What?
22:46:51 <elliott> Phantom_Hoover: Definition id x := x.
22:46:59 <elliott> Wait, no.
22:47:05 <elliott> Phantom_Hoover: Definition id {A} (x : A) := x.
22:47:13 <elliott> Anything wrong with that?
22:47:14 <Phantom_Hoover> elliott, YOU'D THINK IT'D BE THAT SIMPLE BUT NOOOOO
22:47:20 <elliott> Coq < Definition id {A} (x : A) := x.
22:47:20 <elliott> id is defined
22:47:22 <elliott> Phantom_Hoover: Yes it is.
22:47:27 <elliott> You're doing it wrong.
22:47:29 <Phantom_Hoover> YES THERE BLOODY WELL IS
22:47:36 <elliott> Phantom_Hoover: What?
22:47:57 <elliott> [[Case expressions can be removed by defining data constructors as
22:47:58 <elliott> functions and transforming case expressions to function applications.]]
22:48:04 <Phantom_Hoover> elliott, fmap (A B : Set) (f : A -> B).
22:48:10 <elliott> hey they stole Church's and Mogensen's and Scott's and my idea :)
22:48:15 <elliott> Phantom_Hoover: And? How is id not a function?
22:48:35 <Phantom_Hoover> fmap [elided or not actually there depending on what's set] id is a type error.
22:48:51 <Phantom_Hoover> Don't ask me why because I don't know.
22:49:03 <elliott> Phantom_Hoover: OK, please give me the full definition of fmap.
22:49:09 <Phantom_Hoover> id has type forall A : Type, A -> A.
22:49:13 <elliott> Phantom_Hoover: OK, please give me the full definition of fmap.
22:49:28 <Phantom_Hoover> NO BECAUSE IT IS EMBARRASSINGLY AWFUL
22:49:36 <elliott> Phantom_Hoover: OK, please give me the full definition of fmap.
22:49:44 <elliott> I have done monads in Coq before.
22:50:00 <Phantom_Hoover> Fixpoint fmap (A B : Set) (f : A -> B) (t : tree A) : tree B := [elided].
22:50:21 <elliott> Phantom_Hoover: Definition of tree, please.
22:50:25 <elliott> Actually, nevermind.
22:50:27 <elliott> I can just make it an axiom.
22:51:57 <Phantom_Hoover> Essentially, I'm told that fmap id is an error as id : ID rather than * -> *.
22:52:16 <elliott> Phantom_Hoover: Yes, because the values of A and B are not clear.
22:52:18 <Phantom_Hoover> Where ID = forall A : Type, A -> A.
22:52:26 <elliott> Phantom_Hoover: You might want to try using {A B : Set} in fmap.
22:52:38 <elliott> Failing that... just give A as a parameter, and forall A in the scope you're in.
22:52:41 <Phantom_Hoover> elliott, just tried that.
22:52:45 <Phantom_Hoover> Still an error.
22:52:47 <elliott> <elliott> Failing that... just give A as a parameter, and forall A in the scope you're in.
22:52:49 <Phantom_Hoover> elliott, tried that.
22:52:52 <Phantom_Hoover> Still an error.
22:53:40 <elliott> Coq < Axiom tree : Set -> Set.
22:53:40 <elliott> tree is assumed
22:53:40 <elliott> Coq < Axiom fmap : forall (A B : Set) (f : A -> B) (t : tree A), tree B.
22:53:40 <elliott> fmap is assumed
22:53:40 <elliott> Coq < Definition id {A} (x : A) := x.
22:53:48 <elliott> fmap_id
22:53:50 <elliott> : forall A : Set, tree A -> tree A
22:53:52 <elliott> Phantom_Hoover: You did something wrong, then.
22:54:11 <Phantom_Hoover> Right, so I have to actually *define my own id* because Coq's definition is idiotic?
22:54:30 <elliott> Phantom_Hoover: Nope:
22:54:41 <Phantom_Hoover> elliott, well, you did.
22:54:46 <elliott> Phantom_Hoover: I forgot Coq has its own.
22:54:56 <Phantom_Hoover> elliott, then try it with that.
22:55:16 <elliott> Certainly.
22:55:23 -!- zzo38 has joined.
22:55:33 <elliott> Coq < Definition fmap_id (A : Set) (t : tree A) : tree A := fmap A A (id (A:=A)) t.
22:55:33 <elliott> fmap_id is defined
22:55:42 <elliott> Phantom_Hoover: Was that so hard?
22:55:51 <elliott> If an implicit parameter can't be inferred, just specify it with (paramname:=val).
22:56:12 <elliott> How I found out what name to use:
22:56:16 <elliott> Coq < Check id.
22:56:16 <elliott> id
22:56:16 <elliott> : ID
22:56:16 <elliott> Coq < Print ID.
22:56:16 <elliott> ID = forall A : Type, A -> A
22:57:13 <Phantom_Hoover> Exactly what I did.
22:57:31 <elliott> Phantom_Hoover: I refuse to believe it discriminates against you and refuses to execute the same code that works for me.
22:57:33 <elliott> You did something wrong.
22:57:49 <elliott> oerjan: I've managed to convince myself that the only good representation of data as lambda-calculus functions is with their induction-recursion right folds. Yay.
22:58:03 <Phantom_Hoover> elliott, well, sans the (A := A) which is the silly part I couldn't remember.
22:58:06 <zzo38> "also, for future reference, spambots, <http> makes no sense as an XML-style tag in any markup system I know..." Apparently someone typed that in a spam message in esolang wiki?
22:58:16 <elliott> Phantom_Hoover: The silly part? That's the important part.
22:58:34 <elliott> Phantom_Hoover: When you say "fmap A A id t", it can't infer what the value of A is in id's type, (forall A, A -> A).
22:58:50 <elliott> Phantom_Hoover: You can't say (id A), obviously, because we can easily infer that A:=Set and thus id is Set -> Set and thus (id A) = A.
22:59:02 <elliott> Phantom_Hoover: The reliable way to specify implicit type parameters is with (name:=val).
22:59:13 <elliott> Just because the name in id's type and the name in your code happen to coincide doesn't make it silly.
22:59:26 <elliott> It could be (A:=WhatARandomNameToGiveASet).
22:59:50 <Phantom_Hoover> elliott, that is not my problem; my problem is "why make the parameter implicit if you'll have to specify it explicitly anyway".
23:00:18 <elliott> Phantom_Hoover: Because in all the /other/ cases, it works fine.
23:00:37 <elliott> Implicit parameters are hugely convenient; the type inferrer just can't manage this one case; once you see the error and know what to do, it's trivial to fix.
23:00:43 <Phantom_Hoover> elliott, you mean those in which id is not being passed to other functions?
23:01:02 <elliott> Phantom_Hoover: No, you can pass id to other functions easily; just not to functions you're using polymorphically.
23:01:14 <elliott> (Or some condition roughly like that.)
23:01:22 <zzo38> Do you think it is somehow possible to do some special things in C by a external program that looks at the error messages emitted by the compiler?
23:01:29 <elliott> It's a compromise solution, sure; but then so is type inference, there's always going to be cases it can't handle.
23:05:56 <zzo38> So that you can insert compile-time error traps into the program, and then in case of specific errors, modify the program and resubmit it to the compiler to try again.
23:06:16 <elliott> zzo38: That seems... interesting.
23:06:19 <elliott> An automatic bug-fixer? :p
23:06:23 <elliott> Phantom_Hoover: Would you like my GNOME THEME?!?!?1i19037248957yj
23:06:59 <Phantom_Hoover> elliott, does it shrilly scream about type errors constantly?
23:07:56 <elliott> Phantom_Hoover: NOPE! That's the best feature!
23:08:02 <zzo38> elliott: No, not quite an automatic bug-fixer. You would still have to enter manually what it changes in case of what error, so you might use it to change things in case something doesn't fit due to machine word size, or to allow "x.qqq" to be replaced by a macro if "x" is not a structure, and so on.
23:08:08 <Phantom_Hoover> Then I shall have it!
23:08:14 <elliott> Phantom_Hoover: BTW, I often find that it's actually easier to write functions with tactics first.
23:08:17 -!- pikhq has joined.
23:08:29 <pikhq> Every video encoder sucks.
23:08:38 <elliott> X-D
23:08:49 <elliott> Phantom_Hoover: Defining functions like that is a Bad Idea, but you can do it -- just end Definition with a dot. And you can even do some fixed-point stuff. Just remember to Show the code at the end and replace the tactics with it.
23:08:57 <pikhq> I cannot figure out *any* way to properly encode mixed framerate video.
23:09:37 <pikhq> Handbrake almost does it, (Windows-only) Avisynth can be hacked into doing it, x264's CLI can do it if you can somehow get a timestamp file for it, and nothing else even *makes the attempt*.
23:10:35 <elliott> Phantom_Hoover: http://filebin.ca/qkmtx/Kimono.zip
23:10:44 <pikhq> If I could perhaps write a timestamp-generating inverse telecine filter + deinterlacer, I could just barely get it going right.
23:10:47 <elliott> Phantom_Hoover: Install by selecting the zip in Appearance → Install...
23:11:02 <elliott> Phantom_Hoover: Fonts to set: Application font = Droid Sans, Document font = Sans,
23:11:05 <elliott> Desktop font = Droid Sand
23:11:14 <elliott> *Sans; Window title font = Droid Sans Bold
23:11:17 <elliott> Fixed width font = Droid Sans Mono
23:11:21 <elliott> All 10 except Window title, which should be 11.
23:11:35 <elliott> And set your DPI write in details, too. (http://members.ping.de/~sven/dpi.html to calculate)
23:11:43 <elliott> Well, okay, so the DPI thing is optional.
23:11:45 <elliott> But the fonts aren't. :p
23:12:08 <Phantom_Hoover> Is Droid Sans preinstalled?
23:12:18 <elliott> Oh, and the .deb for the Droid fonts: http://ubuntu.mirrors.pair.com/archive//pool/universe/t/ttf-droid/ttf-droid_1.00~b112+dfsg+1-0ubuntu1_all.deb
23:12:25 <elliott> Phantom_Hoover: http://ubuntu.mirrors.pair.com/archive//pool/universe/t/ttf-droid/ttf-droid_1.00~b112+dfsg+1-0ubuntu1_all.deb
23:12:34 <elliott> Phantom_Hoover: wget it and dpkg -i it.
23:12:49 <elliott> Oh, and I apologise to pikhq for making a theme that isn't Grey Mist.
23:12:50 <pikhq> So. ATM I am encoding with a gigantic pipeline because I've gotten fed up with the limitations of all the tools out there. ALL OF THEM.
23:13:01 <pikhq> elliott: Screenshot?
23:13:37 <zzo38> Or possibly if you suppress some error messages, even.
23:13:45 <elliott> pikhq: Sure.
23:14:12 <Phantom_Hoover> elliott, erm, Appearance expects something called a theme file and complains about the zip.
23:14:21 <elliott> Phantom_Hoover: Oh.
23:14:25 <elliott> Phantom_Hoover: I'll reupload in a second.
23:14:26 <elliott> pikhq: http://imgur.com/GIKWc.png (Phantom_Hoover too)
23:14:33 <elliott> pikhq: (If you think the fonts are huge, consider that my display is 120 ppi.)
23:14:59 <Phantom_Hoover> Is that Bad or Good?
23:15:16 <elliott> It's Good, but it means fonts will look huge for people on less Good displays. :p
23:15:23 <elliott> (i.e. desktop displays or not-as-small laptops)
23:15:28 <elliott> Phantom_Hoover: Still want it after seeing THE HIDEOUS SCREENSHOT?
23:15:50 <Phantom_Hoover> I must say my enthusiasm is dimmed somewhat.
23:16:01 <elliott> YOUR LOSS
23:16:12 <Phantom_Hoover> I mean, I actually *like* Mist.
23:16:15 <pikhq> elliott: Insufficiently Grey. And insufficiently Mist.
23:16:17 <elliott> Now pikhq will yell at me for the fact that it has a gradient.
23:16:20 <elliott> SEE I WAS RIGHT
23:17:23 <elliott> pikhq: Looking at it, I guess it actually just shows that, deep down, I still like Bluecurve. :P
23:18:29 <Phantom_Hoover> Is there an easy way of expressing function composition in Coq?
23:19:16 <zzo38> I think another use of getting these message from compiler to automatically change things, might also include linker errors, if needed.
23:19:31 <elliott> Phantom_Hoover: http://coq.inria.fr/library/Coq.Program.Basics.html
23:19:34 <elliott> Notation " g ∘ f " := (compose g f)
23:19:35 <elliott> (at level 40, left associativity) : program_scope.
23:19:49 <elliott> Phantom_Hoover: You may want to define your own notation for it that is less Unicodey.
23:20:35 <Phantom_Hoover> Funnily enough, compose is not a defined object for me.
23:21:03 <elliott> Phantom_Hoover: "Library Coq.Program.Basics"
23:21:07 <elliott> Phantom_Hoover: Require Import Coq.Program.Basics.
23:21:31 <elliott> Phantom_Hoover: (Or Require Import Program.Basics or Require Import Basics.)
23:21:37 <Phantom_Hoover> Electric terminator, but anyway...
23:21:56 <elliott> Phantom_Hoover: What about it?
23:22:11 <elliott> Phantom_Hoover: You realise you can cause statements to become un-evaluated? And also unevaluate everything beyond a certain point in the document?
23:22:21 <elliott> Which, of course, is what you should do all the time when correcting things...
23:22:33 <elliott> C-c C-u to unevaluate the previous statement, I think ... but I've forgotten.
23:22:45 <Phantom_Hoover> elliott, yes, but typing "." evaluates.
23:23:03 <elliott> Phantom_Hoover: Yes; and?
23:23:32 <oerjan> eviluation
23:24:41 <Phantom_Hoover> elliott, so Require Import Foo.Bar. will evaluate as soon as I type the "." after Foo.
23:24:53 <elliott> Phantom_Hoover: And?
23:25:13 <Phantom_Hoover> Hey, it takes care of that.
23:25:51 <elliott> Phantom_Hoover: Ohh, I see what you mean.
23:25:52 <elliott> Yes, it does.
23:26:00 <elliott> Proof General is godly.
23:26:21 <elliott> "# See the Proof General Eclipse wiki for screenshots of Proof General in Eclipse."
23:26:22 <elliott> WHY DOES THAT EXIST
23:27:52 <Phantom_Hoover> XD.
23:31:02 <elliott> Phantom_Hoover: What are you writing in Coq?
23:31:49 <Phantom_Hoover> elliott, incompetence personified.
23:31:58 <elliott> Phantom_Hoover: Which is intended to be?
23:32:37 <Phantom_Hoover> Something... monady...
23:33:05 <elliott> Phantom_Hoover: Oh, sprunge your code. :p
23:33:37 -!- MigoMipo has quit (Ping timeout: 260 seconds).
23:34:06 <Phantom_Hoover> Even better: I'll EXTRACT it!
23:35:25 <elliott> Phantom_Hoover: I'd prefer to laugh at your Coq.
23:35:30 <elliott> Considering extraction removes all the interesting dependency.
23:35:37 <oerjan> the monad of incompetence
23:35:58 <oerjan> finally a good use for strict encapsulation
23:36:19 <Phantom_Hoover> NB: My method for proving things in Coq is "type simpl. Type rewrite and some relevant rule. Type unfold and a function name. Is proof finished? Repeat otherwise."
23:36:37 <Phantom_Hoover> With "type intros. Type induction and a variable name." stuck in for good measure.
23:36:46 <Phantom_Hoover> And the occasional reflexivity.
23:37:05 <Phantom_Hoover> I know 6 tactics and that is enough!
23:40:16 <elliott> Phantom_Hoover: If rewrite is your most common tactic, ur doin it rong.
23:40:28 <Phantom_Hoover> Deeply.
23:40:32 <elliott> Phantom_Hoover: BTW, Proof General can list all the tactics in the system (there's fewer than you think).
23:40:37 <elliott> Just TAB on that and pick a likely one. :p
23:40:47 <Phantom_Hoover> I don't pretend to know how to do it properly.
23:41:41 <elliott> Phantom_Hoover: I'm just trying to help.
23:44:28 <Phantom_Hoover> But seriously; I've never had occasion to do anything interesting enough to invest time into properly learning Coq.
23:46:39 <elliott> Phantom_Hoover: Do what me and fax were trying to do, replace the standard library.
23:46:54 <elliott> Phantom_Hoover: (Try starting with category theory; there's a wonderful paper about embedding it into Coq, absolutely wonderful.)
23:47:02 <Phantom_Hoover> That actually seems worthwhile. How do I sign up?
23:47:04 <elliott> If you can't get the algebraic structures down, you lose.
23:47:07 <elliott> Phantom_Hoover: You sign up by doing it!
23:47:14 <elliott> Phantom_Hoover: Er, there's some option to Coq to tell it to forget the stdlib exists.
23:47:15 <elliott> Let me find it.
23:47:26 -!- Sasha2 has joined.
23:47:33 <elliott> i note that fax disappeared from the internet right after oerjan banned it
23:47:50 <elliott> Phantom_Hoover:
23:47:51 <elliott> (*
23:47:51 <elliott> *** Local Variables: ***
23:47:51 <elliott> *** coq-prog-args: ("-emacs-U" "-nois") ***
23:47:51 <elliott> *** End: ***
23:47:54 <oerjan> ...i've seen fax on freenode since then
23:47:59 <elliott> Phantom_Hoover: Put that at the end of your file... or the top, I forget.
23:48:05 <elliott> oerjan: Well, okay, stopped posting to reddit. And its blog.
23:48:07 <Phantom_Hoover> Also, I think you misunderestimate how weirdly uneven my understanding of things.
23:48:11 <Phantom_Hoover> *is
23:48:17 <elliott> Phantom_Hoover: Try the bottom. Yes, the bottom.
23:48:24 -!- Sasha has quit (Ping timeout: 240 seconds).
23:49:18 <elliott> Phantom_Hoover: http://sqig.math.ist.utl.pt/pub/CarvalhoA/98-C-DiplomaThesis/maintext.ps
23:49:21 <elliott> Phantom_Hoover: (One version of) the lovely paper.
23:49:45 <Phantom_Hoover> elliott, did I mention that I don't know any category theory?
23:49:54 <elliott> Phantom_Hoover: You don't really have to. :p
23:50:13 <Phantom_Hoover> Also that I'm tired?
23:50:20 <elliott> It's not even midnight...
23:50:39 <elliott> Phantom_Hoover: Categories are what happens when you decide to make entire mathematical foundations objects. For instance, in the Set category, objects are sets. In the Hask category (Haskell), objects are Haskell types.
23:50:54 <elliott> Phantom_Hoover: Then you get to the cat of small cats -- sorry, category of small categories -- and shit goes crazy.
23:51:02 <elliott> I think oerjan can agree with the part of my explanation that involves shit going crazy.
23:51:19 <elliott> Phantom_Hoover: Also morphisms and monoids and monads.
23:52:02 <oerjan> and topoi. or so i hear.
23:52:20 <elliott> oerjan: i never got that far :D
23:52:31 <oerjan> not really me either
2010-12-12
00:07:59 <elliott> oerjan: can you make oklopol come back
00:10:02 <Phantom_Hoover> Why did oklopol go?
00:12:37 <elliott> Phantom_Hoover: he's just busy i think
00:13:08 <oerjan> his masters iirc
00:13:13 <Phantom_Hoover> [[Little did Beethoven know, on that cold December morning in 1770, that he was about to be born. (Randall Munroe)]]
00:13:27 <Phantom_Hoover> Was this pre- or post- the xkcdecay?
00:14:39 -!- pingveno has quit (Ping timeout: 250 seconds).
00:15:13 <elliott> oerjan: erm he's doing his bachelors iirc, working on his thesis
00:15:18 <elliott> he's just planning to do his masters because he's crazy :)
00:15:31 <oerjan> oh
00:15:32 <elliott> although he probably will start doing his masters before his second year is over, i guess
00:15:47 <elliott> oerjan: but he did mention having to do some last fixes on his bachelor's thesis sometime :p
00:16:10 <elliott> Phantom_Hoover: post- I think but it hardly matters
00:16:12 <elliott> maybe during-
00:17:07 <Phantom_Hoover> Hmm. So he still keeps the ability to be funny, he just doesn't apply it to his webcomic?
00:22:16 <elliott> Phantom_Hoover: Yes. See: Oh Dear Family Is Sick 5 Minute Comix.
00:22:21 <elliott> Those were good.
00:22:32 <Phantom_Hoover> Yes.
00:22:50 -!- pingveno has joined.
00:23:07 <Phantom_Hoover> Although as soon as normal programming was resumed I dropped it from my webcomic list altogether.
00:23:44 <Vorpal> <elliott> he's just planning to do his masters because he's crazy :) <-- who?
00:23:51 <Vorpal> oh?
00:23:55 <Vorpal> oklo?
00:26:21 <elliott> yes
00:26:46 <elliott> http://lists.gnu.org/archive/html/gm2/2010-12/msg00009.html
00:26:48 <elliott> GNU Modula-2 1.0!
00:27:39 <zzo38> Can we make a computer game that allows you to adjust the gravitational field strength, field eccentricity, number of deliveries per over, etc? And then possibly also more crazy things such as alien abduction (my brother suggested this).
00:28:11 <Phantom_Hoover> Number of deliveries per... what?
00:28:30 <Ilari> Uh oh... 3.75Mi worth of new (<5 days) allocations from APNIC. This model now estimates IANA depletion at end of January.
00:29:01 <zzo38> Phantom_Hoover: Deliveries per over.
00:29:16 <Phantom_Hoover> Zuh?
00:30:17 <zzo38> An over is six consecutive balls bowled by one bowler.
00:31:05 <Ilari> Extending up to 30 days: 11 /14s, 5 /13s, 3 /12s and a /11. That's 10.25Mi addresses (plus some <0.25Mi allocations)...
00:32:39 <elliott> brb
00:33:59 <zzo38> Other crazy ideas include multiball mode, antigravity, sloped (or curved) ground, slowly rotating field, making the players on the team to be not people but spiders or monsters or something else, and even more possible crazy ideas.....
00:34:33 <pikhq> It really is bizarre how xkcd is funnier when he spends *less* time at it.
00:34:44 <pikhq> Ilari: ...
00:34:47 <pikhq> Ilari: ...
00:34:59 <pikhq> Ilari: Run on the bank!
00:37:15 <Ilari> Counted from delegated file for APNIC, 13 606 144 addresses have been allocated on 20101111 and since.
00:37:25 <Ilari> *assigned
00:37:53 <pikhq> Wow.
00:39:10 <Ilari> Holy crap: Of those, 8 124 928 were assigned this month.
00:39:55 <Phantom_Hoover> So everyone's trying to get their hands on what's left of the internet?
00:41:16 <pikhq> Phantom_Hoover: Yes, because otherwise the Internet will be full.
00:41:33 <pikhq> Ilari: Okay, so we can probably expect RIR depletion to start much sooner than "late next year".
00:42:05 <zzo38> When IPv6 is used more often, then IPv6 won't be full.
00:42:33 <Ilari> What's the current IPv6 address space usage? 0.027% or so?
00:42:42 <pikhq> Ilari: Sounds about right.
00:45:47 <Vorpal> <Ilari> Holy crap: Of those, 8 124 928 were assigned this month. <-- sooo, the end of ipv4 is moving to earlier?
00:46:20 <Vorpal> Ilari, that much? I blame crappy allocation
00:46:30 <Vorpal> I mean, I have a fricking /48!
00:46:38 <Vorpal> from sixxs
00:47:01 <Ilari> 623 553 494 712 323 IPv6 networks out of 2 305 843 009 213 693 952 (0.027%) have been allocated. current RIR pool usage is at 2.74%.
00:47:19 <Gregor> 0.027%? That sounds ENORMOUS? Are we really using that much of ipv6?
00:47:19 <Vorpal> Ilari, still quite a lot more of it than reasonable
00:47:32 <Vorpal> Gregor, it *is* enormous
00:48:10 <Gregor> I guess with ipv6 they can ridiculously over-provision, and still have many trillions of ipv4 networks worth of free IPs :P
00:48:16 <Ilari> Heck, the number of network addresses allocated is about 600 trillion...
00:48:30 <Vorpal> Ilari, whaaaaat?
00:48:41 <Vorpal> Ilari, we *will* run out of ipv6 at this rate
00:49:06 <pikhq> Gregor: The smallest allocation is a /64.
00:49:39 <Gregor> So are we out of ipv4 yet? :P
00:49:45 <zzo38> A small number of gopherspaces are IPv6-only, and the ASCII Star Wars in color is only IPv6.......
00:49:56 <pikhq> Vorpal: There's still enough /64s to give every man, woman, child, and pet there own and have leftovers.
00:50:00 <Vorpal> zzo38, it isn't in colour on ipv6 either....
00:50:03 <pikhq> s/there/their/
00:51:10 <Vorpal> pikhq, yes but that doesn't help when I got a /48...
00:52:27 <Ilari> /48 for each person on the planet would be only /15. The present defined unicast space is a /3 (4096 times bigger).
00:52:29 <zzo38> Then we use hypernet next time, since hypernet uses no allocation and can therefore never be run out.
00:53:16 <Vorpal> hypernet?
00:53:17 <zzo38> Does IPv6 have more port numbers? Or is it the same port numbers?
00:53:21 <Ilari> Heck, individual allocations to RIRs are bigger than that.
00:53:30 <Vorpal> zzo38, that is not on ip level
00:53:34 <Vorpal> it is transport layer
00:53:47 -!- Phantom_Hoover has quit (Quit: Leaving).
00:54:48 <pikhq> Vorpal: Yeah, the "standard" allocation is a /48.
00:54:50 <zzo38> Vorpal: Can they fix DNS to allow a hostname to be associated with a IPv6 address and a port number range together?
00:55:12 <Gregor> That ... would not be a fix.
00:55:22 <pikhq> Vorpal: And it's still enough to grant everyone one.
00:55:38 <elliott> <Vorpal> zzo38, it isn't in colour on ipv6 either....
00:55:38 <zzo38> Gregor: It isn't?
00:55:39 <elliott> yes it is
00:55:44 <pikhq> zzo38: It is technically possible for DNS to return an IPv6 address and a port number, but WHY WOULD YOU WANT TO?
00:55:45 <Ilari> AFAIK, The entiere present internet going IPv6-only wouldn't need enough addresses to even warrant new allocation from IANA.
00:55:56 <zzo38> pikhq: No I mean a range of port numbers.
00:56:08 <pikhq> zzo38: That said, if you really want to, you'd just need to create a new kind of DNS response and make software support it.
00:56:09 <zzo38> Or even a offset number.
00:56:18 <elliott> <zzo38> Vorpal: Can they fix DNS to allow a hostname to be associated with a IPv6 address and a port number range together?
00:56:19 <Vorpal> pikhq, is it technically possible? Wouldn't it need a new record type?
00:56:23 <elliott> zzo38: That's just NAT implemented at the wrong layer.
00:56:32 <zzo38> For example, if you want to access SMTP on port 25, and the returned offset number is 1000 then you connect to SMTP on port 1025.
00:56:36 <elliott> zzo38: That's just NAT implemented at the wrong layer.
00:56:39 <pikhq> Vorpal: New record types, I'm pretty sure, can just be added.
00:56:45 <elliott> Question./
00:56:46 <Vorpal> pikhq, ah yes indeed
00:56:53 <elliott> Are there any POLICIES for ipv6 allocation?
00:56:54 <elliott> e.g.
00:56:57 <elliott> can sixxs do whatever they want?
00:57:00 <elliott> if so: WHY.
00:57:06 <Ilari> Yes, there are.
00:57:08 <elliott> they're a provider, not an end-customer, so they shouldn't be allowed free reign
00:57:12 <elliott> e.g. giving Vorpal a /48 :)
00:57:16 <elliott> shouldn't be allowed unless he actually needs it
00:57:26 <pikhq> elliott: /48 is the standard end-user allocation, actually.
00:57:28 <Vorpal> elliott, I would be happy with a /64
00:57:31 <Gregor> How much of the ipv6 range is reserved for extraterrestrial species?
00:57:53 <zzo38> Gregor: IPv6 is not for extraterrestrial species. You need to make IPv9 for that.
00:57:59 <elliott> In my opinion, the standard allocation should be /54.
00:58:09 <elliott> Of course this is not workable with the way IPv6 is defined.
00:58:12 <pikhq> A /64 is only enough for that end-user to have a SINGLE IPv6 network using stateless autoconfiguration.
00:58:21 <elliott> pikhq: Which is a flaw in IPv6.
00:58:35 <pikhq> elliott: A /54 is actually entirely feasible.
00:58:35 <Ilari> And then there are 6 times present IPv6 unicast space reserved by IETF...
00:58:40 <elliott> pikhq: Question: In 100 years, do you think IPv6 will still be almost endlessly available?
00:58:43 <elliott> pikhq: Answer: No.
00:58:49 <elliott> Question: Is this avoidable?
00:58:52 <elliott> Answer: Yes, but nobody wants to.
00:59:21 <Ilari> Actually, it is handy to have some space for network number.
00:59:37 <pikhq> elliott: Actually, even with current allocation policies, it's entirely possible that it will be almost endlessly available.
00:59:38 <zzo38> Even 1024 addresses should be a lot more than enough addresses for each end-user (in most cases).
00:59:43 <Ilari> Otherwise you would need to sometimes "NAT" the stuff.
00:59:46 <elliott> pikhq: I doubt that.
00:59:51 <pikhq> There's 281474976710655 /48s.
00:59:55 <elliott> pikhq: Did you forget that technology accelerates?
01:00:08 <elliott> pikhq: As the 100 years progress, IP allocation will go up, up, up.
01:00:12 <elliott> *regular IP allocation
01:00:15 <pikhq> There's 281474976710655 /48s.
01:00:23 <Vorpal> elliott, when are we due for the singularity?
01:00:30 <elliott> pikhq: Indeed. /48 isn't the biggest block being handled out.
01:00:51 <elliott> Vorpal: Probably 100 years+. Sign up for cryonics if you hit middle age and we still don't seem to be close. :p
01:00:58 <Ilari> For ISPs, /32 is pretty standard.
01:01:03 <Gregor> I still want to make a network simulator that will simulate IP networking between Earth and Mars :P
01:01:05 <Vorpal> elliott, hah
01:01:06 <pikhq> elliott: Okay, so there is some stupid, stupid, stupid shit regarding allocations.
01:01:10 <elliott> Vorpal: Who says I was joking?
01:01:17 <elliott> pikhq: s/handled/handed/
01:01:21 <Vorpal> elliott, no, but it was still funny
01:01:55 <fizzie> I don't think /48 is really supposed to be any sort of standard "end-user" thing, except if you're a cery large end-user; and even so, the network part of the address is supposed to reflect the routing hierarchy, not some sort of logical "owned by X" thing.
01:02:03 <pikhq> elliott: For instance, the DoD does *not* fucking need a /12.
01:02:20 <Ilari> IPv6 workaround oddities: NAT-to-self: Perform 1:1 NAT to address itself.
01:02:28 <Vorpal> fizzie, indeed. a /60 would be quite nice instead
01:02:33 <fizzie> I would think it'd be a lot more reasonable to just give customers as many individual /64s as they need networks.
01:02:36 <Vorpal> Ilari, whaat?
01:02:51 <fizzie> Those are supposed to be easily renumberable anyway.
01:02:57 <Ilari> If you need internal hierarchy and only have /64...
01:03:04 <pikhq> Sorry, a /13.
01:03:17 <Vorpal> pikhq, /13? what a strange number
01:03:22 <elliott> pikhq: Why does the DoD have a /13.
01:03:41 <pikhq> elliott: Because GOD DAMMIT I WISH I KNEW IT MAKES NO FUCKING SENSE.
01:03:44 <elliott> pikhq: Oh right because US MILITARY ONLY IMPORTANT MILITARY IN THE WORLD SO FUCKIN' BIG TO DEFEND US FROM ALL THE 0 PEOPLE ATTACKING US
01:03:56 <Gregor> elliott: For traceability, every bullet has its own IP, and stores all interdepartmental memos on it.
01:04:02 <pikhq> elliott: It's 64 times larger than *any other entity's allocation*.
01:04:11 <Ilari> They don't. The total marked for US is about a /18.
01:04:20 <pikhq> Gregor: You're not far off.
01:04:31 <elliott> Gregor: No, no. They have an IP allocated for every secret they have. WikiLeaks actually just scans the space for open ports.
01:04:33 <zzo38> Nobody should need that many addresses, I think......
01:04:38 <pikhq> Gregor: They use IPv6 addresses as a unique identifier for objects.
01:04:44 <Vorpal> pikhq, shouldn't the RIRs get /32s or such?
01:04:46 <elliott> <Ilari> They don't. The total marked for US is about a /18.
01:04:47 <elliott> <Ilari> They don't. The total marked for US is about a /18.
01:04:50 <elliott> pikhq seems to be ignoring this :P
01:05:06 <Ilari> Now the policy seems to be that RIRs get /12 at a time.
01:05:11 <elliott> Anyway, IPv6 is being mismanged IMO; the policies need to be more stringent.
01:05:18 <elliott> How strict are the policies that apply to places like SixXS?
01:05:31 <elliott> (Evidently not *too* strict, considering some of the insane, untrustworthy shit SixXS does.)
01:06:05 <Ilari> Heck, all the IPv6 addresses allocated IN THE ENTIERE WORLD wouldn't even be a /14.
01:06:59 <fizzie> Ilari: But you don't want any sort of "internal hierarchy" that'd reflect a corporation's structure (US site, European site, etc.) to be visible in the network part, because they need to be aggregatable routing-wise. (Okay, possibly some level of internal hierarchy could be useful even for a single physical site; but I would still think also a not-necessarily-contiguous group of individual /64s would work just as well.)
01:07:10 <zzo38> Ilari: Therefore you can use one block for a private network (which might even include individual files on your computer), if you need a private network.
01:07:47 <elliott> The Internet is crazily geography-biased.
01:07:48 <elliott> I don't get it.
01:08:04 <elliott> Don't they *understand* that it's irrelevant on the net?
01:08:13 <hagb4rd> adress this: did you know there are more connections in a human brain then stars in in the universe?
01:08:21 <Gregor> elliott: Except that it's not irrelevant, because at some point you have to route, and you have to be able to route quickly.
01:08:24 <fizzie> The addressing is supposed to reflect the network structure so that the routing tables don't grow too much.
01:08:49 <elliott> Gregor: Sure, but it's in the core of *everything*.
01:08:52 <pikhq> Why is it impossible to find ARIN's list of IPv6 assignments?
01:08:57 <elliott> Gregor: CCTLDs should never have been invented.
01:09:11 <elliott> Gregor: Well, okay, CCTLDs are good for... governments.
01:09:14 <elliott> Whoops, that's it.
01:09:15 <Ilari> Just try to put two computers on seperate logical networks to the same /64.
01:09:20 <pikhq> I can find it for each other one.
01:09:22 <Gregor> elliott: Also, for .tv domains!
01:09:33 <elliott> Gregor: That is a reason they should not have been invented too :P
01:09:48 <fizzie> Ilari: What was that related to?
01:10:09 <Ilari> That /64 might not be enough for end-user, even small one...
01:10:17 <fizzie> Ilari: You seem to be ignoring the whole "a set of individual /64s" thing.
01:10:38 <Gregor> hagb4rd: That sounds like one of those quotable-quotes that turns out to not actually be true.
01:10:39 <pikhq> Heck, I can't even find which fucking *number* is the DoD's IPv6 address.
01:10:40 <Vorpal> fizzie, like, a /63?
01:11:17 <pikhq> THEY POSSESS AN ACTUAL ASSIGNMENT, AND ARIN DOESN'T SHOW WHICH ONE IT IS.
01:11:22 <elliott> <hagb4rd> adress this: did you know there are more connections in a human brain then stars in in the universe?
01:11:25 <elliott> hagb4rd: that's false.
01:11:30 <elliott> hagb4rd: that's completely and utterly false.
01:11:37 <pikhq> Fuck you, ARIN.
01:11:45 <elliott> Unless the universe is SIGNIFICANTLY smaller than I've been told, you're off by orders of magnitude.
01:11:50 <Gregor> hagb4rd: Maximally 330 trillion connections in the human brain according to Wikipedia, which is way, WAY less than the number of stars in the universe.
01:11:56 <elliott> hagb4rd: Where the heck did you get that info?
01:12:13 <pikhq> hagb4rd: Maybe "stars visible to the human eye at night".
01:12:27 <elliott> Gregor: Not only was the universe created 6000 years ago, but it was created to be the solar system tiled 100x100.
01:12:32 <hagb4rd> at least i wonder how they know how many stars there are out there
01:12:36 <elliott> Gregor: As such, there are exactly 10,000 stars in the universe.
01:12:36 <Gregor> elliott: X-D
01:12:41 <elliott> hagb4rd: They just GUESS!!!
01:12:42 <fizzie> Vorpal: Not necessarily a contiguous set. Sure, not grouping them into a single block means it's two routing table entries, but it's still just one organization's clients. (I think the power-of-two sizes encourage over-allocating things.)
01:12:54 <elliott> hagb4rd: Or, perhaps they measure all their data and extrapolate beyond that...
01:13:00 <pikhq> hagb4rd: One estimate said 3*10^23.
01:13:05 <elliott> I'm pretty sure we've measured something CLOSE to 330 trillion stars.
01:13:07 <Ilari> Biggest individual IPv6 assignments from ARIN are /22s.
01:13:09 <Vorpal> fizzie, hm
01:13:15 <elliott> Doesn't take much to put a bunch of sensors up there and listen/look intently :P
01:13:29 <elliott> Okay, maybe more like hundreds of thousands to hundreds of millions.
01:13:29 <Gregor> Wikipedia also says minimally 100 billion times 100 billion stars in the OBSERVABLE universe.
01:13:30 <elliott> BUT STILL.
01:13:38 <elliott> hagb4rd: See, yer wrong :P
01:13:39 <fizzie> Ilari: Incidentally, I have computers in different logical networks in a single /64. (Nebula's home customers get a /64 each; not sure about their corporate clients.)
01:13:45 <hagb4rd> k :)
01:13:50 <Ilari> Ah, Nebula...
01:14:03 <Gregor> elliott: Did you know that there are less stars in the entire universe than there is Love in God's discarded toenail?
01:14:20 <pikhq> Gregor: What is the SI unit for love?
01:14:33 <elliott> Gregor: Did you know that there are fewer stars in the entire universe than there are angels that can dance on the head of a pin?
01:14:35 <elliott> pikhq: The Jesus.
01:14:42 <pikhq> elliott: In terms of base units?
01:14:55 <elliott> pikhq: 1 orgasm / minute.
01:15:03 <pikhq> elliott: Orgasm is not a base unit.
01:15:05 <elliott> (Based on measurements of Jesus)
01:15:06 <Ilari> Giving only a single /64 and then doing some things wrong, one will break neighbor discovery, making things nasty.
01:15:10 <elliott> pikhq: Sure it is.
01:15:15 <elliott> pikhq: It's the base unit of LOVE.
01:15:23 <Gregor> pikhq: Photons. It's quantum.
01:15:23 <Gregor> pikhq: In every second you're being bombarded by trillions of Love of Jesus photons. This is in spite of the fact that only 0.0001% of them make it through the ozone layer.
01:15:25 <Gregor> (The ozone layer is evil btw)
01:15:32 <elliott> Gregor: That all came through at once.
01:15:33 <fizzie> Ilari: What do they do wrong?
01:15:35 <pikhq> elliott: The SI base units are: meter, kilogram, second, ampere, kelvin, candela, and mole.
01:15:42 <elliott> pikhq: You forgot orgasm.
01:15:44 <Gregor> elliott: Yeah, so did yours, my connection is all wonkulous *shrugs*
01:15:45 <elliott> pikhq: And also turkey.
01:15:59 <elliott> Meter, kilogram, second, ampere, kelvin, candela, mole, orgasm and turkey.
01:16:21 * pikhq sticks several thousand kg m^2/A s^3 through elliot
01:16:28 <elliott> pikhq: I'm underage!
01:16:34 <Ilari> Don't know about them now, but I heard somebody complain they broke neighbor discovery somehow in the past.
01:16:37 <Vorpal> pikhq, uh. A?
01:16:38 <fizzie> Ilari: FWIW, I did the logical segmentation of the /64 with a bridging firewall (interface-based rules), and some host-lists for services that care.
01:16:41 <pikhq> Vorpal: Ampere.
01:16:44 <Gregor> `addquote * pikhq sticks several thousand kg m^2/A s^3 through elliot <elliott> pikhq: I'm underage!
01:16:46 <HackEgo> 242) * pikhq sticks several thousand kg m^2/A s^3 through elliot <elliott> pikhq: I'm underage!
01:16:53 <fizzie> They might have; I had problems with it.
01:16:54 <Vorpal> pikhq, yes, I thought you defined that
01:16:57 <Vorpal> pikhq, wait no
01:16:58 <Vorpal> duh
01:17:01 <Vorpal> I'm tired
01:17:03 <pikhq> Vorpal: You may know that whole unit as the Volt.
01:17:09 <Vorpal> pikhq, ah indeed
01:17:11 <elliott> Gregor: pikhq: I hope that when they figure out how to define the kilogram independently of a chunk of metal in France or wherever, they also change it to the gram instead. :P
01:17:28 <pikhq> elliott: Would be nice, but that would fuck up many, many derived units.
01:17:30 <elliott> Having "kg" be the base unit and specifying that, when prefixing it, you pretend it's "g" is just COLOSSALLY STUPID.
01:17:33 <elliott> pikhq: Why?
01:17:35 <elliott> kg would still be a kg.
01:17:46 <elliott> Mkg! Megakilogram!
01:17:55 -!- Sgeo has joined.
01:18:37 <Sgeo> I shouldn't be on here right now
01:18:38 <Gregor> kkg: Kilokilogram
01:18:39 <pikhq> elliott: Yes, but then all of a sudden you've got orders of magnitude between the named derived units and the natural expression in base units.
01:18:50 <Sgeo> But I think I have an awesome idea for a definition of "heat" in GoL
01:19:00 <elliott> pikhq: So?
01:19:07 <elliott> pikhq: The universe doesn't care about small numbers. :p
01:19:08 <Gregor> <Sgeo> We'll measure it in Love of Jesus photons!
01:19:08 <pikhq> elliott: And that makes things a Pain.
01:19:11 <elliott> pikhq: Not really.
01:19:16 <elliott> pikhq: Just don't use base units when they're a pain ...
01:19:35 <Vorpal> elliott, solution: define the base unit as g. Which is defined to be 1/1000 of the weight of the prototype.
01:20:07 <Sgeo> (Note: This is not the whole thing) XOR the current generation with the next generation
01:20:37 <Sgeo> Blocks are completely cold, blinkers are somwhat warm, but not as hot as some chaos
01:20:44 <pikhq> Vorpal: Problem: the natural unit for power is the milliJoule, the natural unit for force is the milliNewton, the natural unit for resistance is the milliOhm, the natural unit for electric potential is the milliVolt, and so on and so forth.
01:20:50 <Gregor> That is some hot, hot chaor.
01:20:53 <elliott> <Vorpal> elliott, solution: define the base unit as g. Which is defined to be 1/1000 of the weight of the prototype.
01:20:53 <Gregor> ... chaos.
01:20:59 <elliott> Vorpal: The prototype is *really* obsolete and work is ongoing to replace it now.
01:21:04 <elliott> Vorpal: It is, after all, getting lighter.
01:21:07 <Vorpal> elliott, I know
01:21:25 <Sgeo> Now, take the heat for generation 1, and XOR it with the heat of generation 2
01:21:26 <elliott> Vorpal: Any change to g should be done simultaneously with the change to an actual definition, and there it's easy; just divide the equation by 1000 :P
01:21:31 <Vorpal> pikhq, yes the constant factor will be annoying
01:21:35 <Sgeo> Similar to a second derivative
01:21:38 <Vorpal> pikhq, solution: rename the kg to g
01:21:41 <Vorpal> wait that is painful too
01:21:46 <elliott> <pikhq> Vorpal: Problem: the natural unit for power is the milliJoule, the natural unit for force is the milliNewton, the natural unit for resistance is the milliOhm, the natural unit for electric potential is the milliVolt, and so on and so forth.
01:21:49 <elliott> pikhq: I don't see why.
01:21:53 <Sgeo> By that measure, blinkers are completely cold
01:21:56 <elliott> pikhq: Leave the other units intact.
01:22:02 <Vorpal> elliott, I see why easily
01:22:02 <elliott> pikhq: If something says kg, keep it saying kg.
01:22:23 <elliott> Arbitrary restrictions the SI definers decided to impose shouldn't stop sanity prevailing :P
01:22:29 <Sgeo> For any pattern: keep doing it. If it ever reaches 0, it's Polynomial Heat, otherwise, it's Nonpolynomial Heat
01:22:38 <pikhq> elliott: Because a Joule is a m^2 kg s^-2, and so a Joule in base units would be *100* m^2 g s^-2.
01:22:49 <pikhq> Erm, 1000.
01:22:59 <elliott> pikhq: OK. Anything wrong with that?
01:23:13 <Vorpal> pikhq, *ouch*
01:23:13 <pikhq> elliott: It's a BITCH to do physics with!
01:23:21 <Sgeo> Are there any boring things (things that stay in one play, don't deserve to be called warm) that are nonpolynomial heat?
01:23:22 <pikhq> elliott: Which is the only time that you even care about base units!
01:23:31 <elliott> pikhq: Nobody likes physicists.
01:23:32 <Vorpal> pikhq, any chance of renaming the kg to be g?
01:23:38 <elliott> Vorpal: That's terrible since g is in use.
01:23:40 <elliott> Rename the kg to...
01:23:42 <elliott> the...
01:23:45 <elliott> q!
01:23:46 <Vorpal> elliott, the gram
01:23:52 <Vorpal> the gram to the milligram
01:23:53 <elliott> Vorpal: No, because g is in use.
01:23:55 <Vorpal> and so on
01:23:57 <elliott> No :P
01:24:00 <elliott> Better idea:
01:24:11 <elliott> Rename it to the quam.
01:24:14 <elliott> Symbol: q.
01:24:19 <elliott> Kiloquam.
01:24:20 <elliott> kq.
01:24:22 <elliott> WORST NAME EVER
01:24:27 <Vorpal> that sounds absurd
01:24:28 <Gregor> Just name it "klograham", where the fact that "klo" sounds a lot like "kilo" and "graham" sounds a lot like "gram" is a coincidence.
01:24:30 <pikhq> Rename it to the grave, the original unit of mass in the French metric system.
01:24:38 <Gregor> The shortform for the klograham will be "kg"
01:24:49 <Vorpal> pikhq, hah
01:25:07 <pikhq> Said unit of mass is actually about equal to 1 kilogram.
01:25:17 <elliott> Gregor: No, dammit, because then we'd have to talk about kkgs :P
01:25:22 <Vorpal> pikhq, "about"?
01:25:45 <elliott> Gregor: Make it the k, and then we can measure things in kkks.
01:25:52 <pikhq> Vorpal: It's effectively impossible for something other than The Kilogram to be precisely equal to 1 kilogram.
01:25:56 <Vorpal> I *knew it*
01:26:09 <Vorpal> elliott, I knew you would make a joke about kkk....
01:26:11 <elliott> Gregor: "How heavy is that dude?!" "Oh, about 3 kkk."
01:26:17 <elliott> Gregor: "Not cool, man."
01:26:21 <Gregor> elliott: Whoah, heavy
01:26:23 <elliott> Vorpal: LA LA LA LA I CAN'T HEAR YOU
01:26:29 <pikhq> (the kilogram is, of course, defined as the mass of The Kilogram. Stupid.)
01:26:31 <Vorpal> elliott, XD
01:26:38 <elliott> Gregor: Yeah, kinda like your mom. Who is also, unrelatedly, a KKK member.
01:26:41 <Vorpal> elliott, you are soooo predictable
01:26:43 <elliott> Gregor: This is because she hates black people.
01:26:59 <Gregor> elliott: That's a good reason to be a KKK member.
01:27:02 <elliott> Gregor: The best!
01:27:10 <Gregor> elliott: Pretty much the only, actually.
01:27:11 <Vorpal> pikhq, so how is the grave defined?
01:27:49 <elliott> Gregor: I dunno man, their robes are pretty slick.
01:28:05 <pikhq> Vorpal: The grave was defined as the mass of 1 cm^3 of water at the melting point of ice.
01:28:23 <zzo38> pikhq: That should make more sense than The Kilogram.
01:28:25 <pikhq> Vorpal: The pressure and the composition of the water were not defined.
01:28:35 <Vorpal> pikhq, oh we get circular here?
01:28:37 <elliott> pikhq: PRESSURE PUSHIN' DOWN ON ME
01:28:38 <elliott> What?
01:28:40 <zzo38> Then define the pressure and composition of the water!
01:28:58 <Vorpal> elliott, and how is pressure defined?
01:29:13 <pikhq> zzo38: A better definition would probably fix Avogadro's number.
01:29:34 <elliott> Vorpal: http://www.youtube.com/watch?v=a01QQZyl-_I
01:29:36 <Sgeo> It's broken?
01:29:36 <pikhq> Sorry, s/cm^3/dm^3/
01:29:45 <pikhq> AKA 1 liter (not an SI unit).
01:30:00 <Vorpal> `addquote <pikhq> zzo38: A better definition would probably fix Avogadro's number. <Sgeo> It's broken?
01:30:01 <Vorpal> XD
01:30:03 <HackEgo> 243) <pikhq> zzo38: A better definition would probably fix Avogadro's number. <Sgeo> It's broken?
01:30:06 <oerjan> it's a bit sad, really, here the physicists were all ready to make the perfect measurement system. but somehow the chemist managed to get a mole in.
01:30:19 <Vorpal> Sgeo, he meant "fix" as in "not variable"
01:30:27 <elliott> oerjan: <3
01:30:32 -!- wareya has joined.
01:30:40 <oerjan> *chemists
01:30:40 <elliott> oerjan: wait that wasn't a pun.
01:30:43 <pikhq> Yeah, it should be a motherfucking unitless quantity.
01:30:46 <elliott> oerjan: i thought it was :P
01:30:53 <oerjan> elliott: um yes it was
01:30:54 -!- wareya_ has quit (Ping timeout: 265 seconds).
01:30:55 <Vorpal> elliott, it was in fact.
01:30:59 <elliott> oh
01:31:00 <elliott> oerjan: <3
01:31:22 <elliott> i thought it was at first :P
01:31:44 <Sgeo> oerjan, COMMENT
01:32:33 * Sgeo gets the pun finally
01:33:19 <oerjan> {- chirp -}
01:33:30 <Sgeo> oerjan, comment on GoL heat
01:33:41 <elliott> oerjan: if you don't he'll burn to death
01:33:42 <elliott> rather ironic
01:35:35 * Sgeo tries to figure out if an (obviously impossible) dot that appears for 1 gen, then is gone for 2, then repeats, has polynomial heat or not
01:36:45 <Sgeo> I might need paper :/
01:37:38 <elliott> oerjan: do /you/ know the algorithm to calculate a type's induction scheme from its ADT definition?
01:38:28 <oerjan> Sgeo: hm so the "nth derivative" is found by XORing the (n-1)th derivative with its next generation?
01:39:00 <Sgeo> Hmm. I think so
01:39:49 <oerjan> i've done a similar calculation before, it's pascal's triangle mod 2: 1 11 101 1111 10001 110011 1010101 11111111 1000000001
01:41:10 <Sgeo> hmm?
01:41:13 <oerjan> the 2^n'th "derivative" in fact ends up being just the xor of two 2^n'th apart original generations
01:41:23 <hagb4rd> on the brain-connections-issue: if there are 10^11 neurons and each one can make 100 connections, then the total possible number of different connections is 10^13 times 10^13, which is about 10^26 ... there are about 10^80 atoms in the universe.. how many stars did u say? 33x10^13 stars.. so it seems i was right.. elliott :>
01:41:29 -!- sebbu2 has joined.
01:41:32 <elliott> Gregor: ^ tell him how he's wrong i'm too lazy
01:41:51 <oerjan> so unless you have a 2^n period, it will _never_ fade out completely to 0
01:41:53 <elliott> hagb4rd: erm wait you know this channel is about programming right
01:42:01 <hagb4rd> sorry
01:42:03 <hagb4rd> ;)
01:42:21 -!- pikhq has quit (Ping timeout: 276 seconds).
01:42:29 <oerjan> elliott: oh COME ON it's no more off topic than we use to be
01:42:41 <Sgeo> oerjan, so, polynomial vs nonpolynomial is not too interesting/
01:42:45 <Gregor> elliott: The pseudomath in hagb4rd's last thing was too mind-bogglingly stupid for me to actually comment on.
01:42:59 <Sgeo> Gregor, I loved pseudomath back in my day
01:43:04 <elliott> Sgeo: THAT IS WHY YOU ARE STUPID.
01:43:24 <elliott> Gregor: Yes, but if you don't correct him he'll start believing it and bring it up all the time as a reason to be awed by... something because that's what people look like do, dear god save us and reply to it.
01:43:25 -!- augur has quit (Remote host closed the connection).
01:43:27 <Sgeo> Gregor, linky, or just what hagb4rd last said?
01:43:34 <elliott> Gregor: I beg thee.
01:43:40 <Gregor> <hagb4rd> on the brain-connections-issue: if there are 10^11 neurons and each one can make 100 connections, then the total possible number of different connections is 10^13 times 10^13, which is about 10^26 ... there are about 10^80 atoms in the universe.. how many stars did u say? 33x10^13 stars.. so it seems i was right.. elliott :>
01:44:00 <Gregor> hagb4rd: If there are 10^11 neurons and each one can make 100 connections, then the brain can have 10^13 connections. Period.
01:44:27 -!- sebbu has quit (Ping timeout: 265 seconds).
01:44:52 <hagb4rd> i mentioned this, because i think there must be an alternative way of addressing.. someway like a neural network
01:45:39 <hagb4rd> but nevermind
01:45:41 <Gregor> (Also the rest of your numbers are all wrong, but that's irrelevant in the face of that wtf)
01:46:25 <oerjan> hagb4rd: <pikhq> hagb4rd: One estimate said 3*10^23.
01:47:15 <oerjan> hagb4rd: maybe you are right _if_ there were connections between almost every two neurons, but obviously there isn't
01:47:30 <Sgeo> oerjan, and discard the "100 connections" thing
01:47:45 <hagb4rd> thats not really important.. im really not that good in math
01:47:53 <elliott> hagb4rd: It seems to me that you are not trying to find out whether it's true, you're just trying to find a way to make it true.
01:47:56 <hagb4rd> just forget it
01:47:57 <Gregor> oerjan: Even then he'd be off by 4 orders of magnitude.
01:48:07 <elliott> hagb4rd: Besides, if it was true, what would it mean?
01:48:08 <Sgeo> What is hagb4rd trying to make true?
01:48:13 <elliott> Why would it be relevant? I'm actually interested.
01:48:21 <elliott> Sgeo: that there are more connections in the human mind than there are stars in the universe.
01:48:58 <Sgeo> Oh. Stuff that uses actual physical numbers stemming from science. Bleh *gets bored*
01:49:16 <elliott> `addquote <Sgeo> Oh. Stuff that uses actual physical numbers stemming from science. Bleh *gets bored*
01:49:23 <HackEgo> 244) <Sgeo> Oh. Stuff that uses actual physical numbers stemming from science. Bleh *gets bored*
01:49:47 <hagb4rd> hell..i was just wondering about life, cosmos and stuff
01:50:05 <hagb4rd> excuse me!
01:50:27 <Gregor> hagb4rd: 42.
01:50:32 <oerjan> hagb4rd: btw i think they estimate the number of stars by estimating the number and sizes of galaxies (many billions) and estimating the number of stars per galaxy for those nearby enough to count stars (for our own galaxy, also many billions)
01:50:33 <hagb4rd> :)
01:50:38 <hagb4rd> yess
01:51:49 -!- pikhq has joined.
01:51:57 <Sgeo> I feel sorry for GoL scientists, who, in a random soup beginning universe, have limited means of learning about the cosmos
01:52:34 <elliott> <hagb4rd> hell..i was just wondering about life, cosmos and stuff
01:52:37 <oerjan> although i'm not sure the estimate for stars is entirely accurate - red dwarf stars are hard to observe, but then that would give an underestimate
01:52:37 <Sgeo> I think I have a way for them to determine the age of the universe, though
01:52:40 <elliott> hagb4rd: I just want to know what you'd conclude from your statement.
01:52:46 <elliott> why is the number of stars relevant to neurons?
01:53:11 -!- Goosey has quit (Read error: Operation timed out).
01:53:19 <oerjan> Sgeo: didn't we have a previous discussion at one time where we assumed the initial soup should be very thin, to avoid too much chaos
01:53:21 <Sgeo> oerjan, are there any patterns that have ONLY themselves (and other things at a distance of two empty cells or more away, of course) as parents?
01:53:28 <Sgeo> oerjan, I don't remember :(
01:53:33 <hagb4rd> [2:44]<hagb4rd>i mentioned this, because i think there must be an alternative way of addressing.. someway like a neural network <--- elliott
01:53:36 <pikhq> It is such a weird experience being at a party where you speak only one of the two spoken languages there.
01:53:44 <elliott> hagb4rd: i do not understand
01:53:57 <hagb4rd> i fold
01:54:25 <Sgeo> "i do not understand" is an invitation to speak, not an insult.. at least, if it were coming from me. elliott is caustic
01:54:34 <elliott> yes, i am actually asking hagb4rd what he means
01:54:34 <Sgeo> Wow, it felt weird trying to avoid capitals in that
01:54:41 <elliott> i legitimately don't understand and want to know
01:55:04 <oerjan> Sgeo: no idea about self-parent patterns
01:55:15 <hagb4rd> yes thanks np sgeo, but im not really intrested, sry ;)
01:55:53 <elliott> hagb4rd: don't reply to me saying you're right if you're not going to elaborate when i ask sincerely.
01:56:03 <Sgeo> Because if there were, and there was some chaos in the universe, and they knew how often some such patterns should appear, and know how likely such patterns are to decay, etc. etc.
01:56:11 <Sgeo> Not "decay"
01:56:16 <Sgeo> But be hit by random universe chaos
01:56:37 <Sgeo> Which is similar to decay, kind of
01:57:56 <Sgeo> oerjan, I still don't remember that discussion :(
01:58:16 <oerjan> Sgeo: well i'm not sure who was there
01:58:34 <oerjan> it was many months ago, at least
01:59:59 <oerjan> the idea i think was that it would be easier for life to survive in such an environment
02:03:44 -!- augur has joined.
02:05:41 <elliott> oerjan: if i start an esowiki project to create formal definitions of the multiple facets of Turing-completeness, accounting for disagreements about ais-style proofs, and Befunge/index.php type scenarios and Easy, can I coerce you into participating?
02:05:56 <elliott> need an actual mathematician to give the scribbles credibility :D
02:06:04 <oerjan> very unlikely
02:07:53 <zzo38> elliott: I would like there to be such a project on esowiki, though.
02:07:55 <elliott> oerjan: free cookies.
02:13:52 <Vorpal> elliott, "Befunge/index.php"?
02:14:05 <zzo38> Free air!
02:14:32 <Vorpal> elliott, doesn't TCness have a formal definition?
02:14:44 <Vorpal> elliott, in the original church-turing thingy
02:14:54 <zzo38> Vorpal: But sometimes there are strange circumstances
02:15:07 <Vorpal> zzo38, ... go on
02:15:08 <elliott> Vorpal: Church-Turing thesis? If so: that's just a non-mathematical conjecture.
02:15:19 <Vorpal> èlhm
02:15:21 <Vorpal> err
02:15:22 <Vorpal> elliott, hm*
02:15:27 <elliott> Vorpal: http://esolangs.org/wiki/Befunge/index.php is my language which ais523 has proved both TC and not.
02:15:32 <zzo38> Vorpal: See the [[Befunge/index.php]] and [[Easy]] pages on the esolang wiki for more information.
02:15:34 <elliott> " Proof that the language is Turing-complete: you can trivially write a BF interpreter in it, by reading strings from user input onto the stack (easy in Befunge-93), then running them.
02:15:34 <elliott> Proof that the language is not Turing-complete: it's impossible to compile all Turing machines into it, because there are an infinite number of Turing machines yet a finite number of Befunge/index.php programs."
02:15:52 <elliott> Vorpal: Easy has the same basic situation (there's one program and it's a brainfuck interpreter).
02:16:10 <Vorpal> elliott, .... wow
02:16:15 <Vorpal> (about those proofs)
02:16:21 <elliott> Vorpal: The basic definition used is... "can emulate all universal Turing machines", although it's hard to distinguish that from "can emulate *a* universal Turing machine" and ... it's basically a clusterfuck.
02:16:22 <Vorpal> elliott, actually one is false I think
02:16:39 <elliott> Vorpal: Both are true. They exploit the informality of the definition of Turing-complete.
02:16:48 <zzo38> But sometimes we get even more strange situations.....
02:16:51 <Vorpal> elliott, in the second case, what is the input
02:16:54 <Vorpal> elliott, and what is the program
02:16:56 <elliott> Vorpal: What?
02:17:22 <Vorpal> elliott, is the input not actually part of the program?
02:17:57 <Vorpal> elliott, if we get rid of the concept of input this can trivially be resolved. Since all input is then part of the program
02:18:10 <elliott> Vorpal: That does not solve the problem in the slightest.
02:18:16 <Vorpal> elliott, how does it not?
02:18:25 <elliott> Vorpal: It may solve it for Befunge/index.php but it doesn't solve it for anything else.
02:18:30 <Vorpal> hm okay
02:18:41 <Vorpal> elliott, it also solves it for Easy
02:18:51 <elliott> Easy is a pathological case :P
02:18:58 <Vorpal> elliott, easy to solve yes
02:19:20 <Vorpal> elliott, anyway, P'' had no I/O. I/O has no place in a definition of TC.
02:19:26 <elliott> Vorpal: Yes it does.
02:19:35 <elliott> Same reason it's in the Halting problem.
02:19:36 <Vorpal> elliott, it just complicates stuff
02:19:38 <elliott> IO is just functions.
02:19:41 <elliott> Functions have results.
02:19:44 <elliott> Functions have inputs.
02:19:44 <Vorpal> hm
02:19:49 <elliott> Anyway, what we need is multiple precise, mathematical definitions; it seems clear that there are at least three things people mean when saying "Turing-complete" and surely certainly more; these should all be formalised separately.
02:20:09 <elliott> (Pipe dream: Coq library with all of them defined and a framework for proving things are $variation_on_TC in Coq.)
02:20:14 <elliott> (That would be really nice.)
02:20:30 <Vorpal> elliott, why the silly name Befunge/index.php?
02:21:15 <elliott> Vorpal: Talk:Befunge/index.php was created protected because it was a frequent spambot target. ais noted in his protect message that it would only be useful in the unlikely case that someone invented a language named Befunge/index.php.
02:21:27 <elliott> And, of course, being me...
02:21:48 <elliott> Vorpal: I created it just to troll the esolang wiki into arguing over its TCness :P But I didn't think it was actually legitimately ambiguous.
02:21:54 <Vorpal> elliott, "In spring of this year on the IRC channel I proposed a language called ℒ. ℒ is a severely restricted subset of your favourite indisputably Turing-complete language (say, Pascal) -- so severely restricted, in fact, that you can only write a single program in ℒ. But that program is a Universal Turing Machine simulator. Is ℒ Turing-complete? "
02:22:01 -!- hagb4rd has quit (Quit: hagb4rd).
02:22:03 <Vorpal> elliott, I remember that discussion
02:22:13 <elliott> Vorpal: indeed
02:22:33 <elliott> cpressey adamantly holds the position that you must be able to write a program for *every* Turing machine to qualify as TC
02:22:46 <elliott> e.g., a brainfuck interpreter where you can specify an input of arbitrary size in the interpreter program qualifies
02:22:53 <elliott> (as a proof)
02:23:00 <elliott> but not a "regular" brainfuck interpreter that reads from stdin
02:23:12 <Vorpal> what
02:23:17 <Vorpal> elliott, how does that even make sense
02:23:41 <elliott> Vorpal: It makes perfect sense.
02:24:08 <elliott> Vorpal: If the program size is bounded, then there isn't a program for every Turing machine.
02:24:27 <Vorpal> "and blah blah blah this is boring shut up Chris." <--- what
02:25:06 <Vorpal> elliott, indeed
02:25:17 <Vorpal> elliott, but why does there have to be one for every TM?
02:25:46 <elliott> Vorpal: Because otherwise the language where there's only one program and it's a BF interpreter is TC.
02:26:18 <elliott> Vorpal: It is, of course, completely useless and you can't write any program you want in it.
02:26:32 <elliott> cpressey believes this is sufficient justification for not believing it to be TC; your definition may vary.
02:26:43 <Sgeo> Issues of input
02:26:47 <Vorpal> elliott, in some sense of TC he is right
02:26:52 <pikhq> Moral of the story, TC is ambiguous.
02:26:56 <Sgeo> Sounds almost like when I deluded myself into thinking I disproved God via math
02:26:56 <elliott> Vorpal: My WHOLE POINT is that there are multiple valid definitions.
02:26:58 <Vorpal> pikhq, indeed
02:27:00 <Vorpal> elliott, indeed
02:27:01 <elliott> Sgeo: What?
02:27:04 <elliott> Sgeo: No, that just sounds idiotic.
02:27:36 <Sgeo> I sort of decided that uncomputable meant unknowable, and that therefore Chaitin's constant was an unknowable number
02:27:50 <Sgeo> And if God's supposed to know everything...
02:28:21 <Sgeo> I think my idea of "uncomputable = unknowable" had something to do with Oracle machines and input
02:28:27 <pikhq> Sgeo: "Rock heavy enough God can't lift it" is the same damned argument.
02:28:54 <elliott> I think the best "mathematical" argument for god is the natural numbers. And even that's silly.
02:29:02 <elliott> Sgeo: You do realise we know values of the Busy Beaver function, which is uncomputable?
02:29:02 <pikhq> Well, except yours is weaker. "Uncomputable" generally means "uncomputable using a UTM", not... That.
02:30:00 -!- hagb4rd has joined.
02:30:12 <elliott> Sgeo: Also, you can work out N prefix bits of a given halting constant with a lot of effort.
02:30:27 <Sgeo> For any N?
02:30:35 <elliott> Sgeo: Depends how good a mathematician you are...
02:30:59 <elliott> Sgeo: The first four bits of binary lambda calculus's Chaitin's constant are .0001.
02:31:30 <elliott> Sgeo: I mean, you can do it just by looking at every program with N bits in it and proving whether it halts or not.
02:31:37 <elliott> Then it's just numberthathalt/numberthatdon't.
02:31:59 <elliott> So for a simple language like binary lambda calculus, it's not hard to calculate the first few bits.
02:32:17 <pikhq> Huh. It has been proven that Sigma(12) > g1.
02:32:42 <Sgeo> I think I was thinking "Oracle machine hooked up to input to make machine that outputs a Chaitin's constant using fewer... symbols than should be expected".
02:32:43 <pikhq> (g1 being the starting value in the sequence that defined Graham's number)
02:32:45 <Sgeo> Or something like that
02:32:53 <Sgeo> Did I mention I no longer believe this?
02:33:12 <pikhq> (that is to say, it's greater than 3 uparrow^4 3)
02:33:46 <pikhq> ... Hmm. Actually, the lower bound for the entire sequence is known.
02:34:12 <pikhq> Sigma(2k) > 3 uparrow^k-2 3.
02:34:28 <pikhq> That's... Absurd.
02:35:02 <elliott> pikhq: What an upper bound :P
02:35:17 <elliott> erm
02:35:19 <elliott> pikhq: Wow. Lower bound.
02:35:21 <elliott> pikhq: Lovely :P
02:35:37 <elliott> pikhq: Not sure I believe in numbers that big.
02:35:40 <oerjan> what's Sigma(12)
02:35:56 <elliott> oerjan: busy beaver
02:36:00 <pikhq> oerjan: Sigma(n) is the Busy Beaver function.
02:36:05 <oerjan> ah
02:36:10 <tswett> pikhq: G_1 is 3^^^^3, if it's defined correctly. :P
02:36:14 <tswett> G_0 is, of course, 4.
02:36:38 <pikhq> tswett: ... Yes...
02:36:39 <elliott> tswett: And G_2 is a pony!
02:36:47 <tswett> Precisely. G_2 is a pony.
02:37:04 <pikhq> tswett: And G_64 is insane.
02:37:07 <pikhq> Also a pony.
02:37:13 <elliott> I think we should just replace every number larger than, say, 26 in mathematical literature with a pink, sparkly picture of a pony.
02:37:16 <elliott> It would be much nicer.
02:37:30 <tswett> I think 27 is an important number, so we should keep it.
02:37:40 <elliott> tswett: I think pony is an important number too.
02:38:08 <tswett> 163 is also a pretty important number, come to think of it, because e^(pi*sqrt(163)) is within 0.0000000000001 of an integer.
02:38:25 <elliott> tswett: It's also within 0 of an integer!*
02:38:31 <elliott> *0 is a rounded value here
02:38:47 <elliott> pikhq: "Semi-implicit batched remote code execution as staging" --Oleg
02:38:55 <elliott> pikhq: Hypothesis: For any string of words, Oleg can be smarter than you about it.
02:38:57 <pikhq> elliott: I think we should replace the term "number" with "pink, sparkly picture of a pony".
02:39:03 <elliott> pikhq: YES.
02:39:11 <elliott> Graham's pink, sparkly picture of a pony is very large.
02:39:23 <elliott> It would take more space than there is in the universe to draw it.
02:40:09 <pikhq> The same is true of the g1 pink, sparkly picture of a pony.
02:40:35 <pikhq> It's larger than the pink, sparkly picture of a pony of Planck volumes in the Universe.
02:41:07 <elliott> http://okmij.org/ftp/DreamOS.html
02:44:02 <pikhq> BTW, Planck units are most definitely the most awesome system of units ever.
02:46:17 <pikhq> There's definitely something to be said for E=m.
02:46:41 <oerjan> YOU MEAN E = m^2 + p^2
02:47:00 <oerjan> er
02:47:02 <elliott> pikhq: E=E
02:47:03 <elliott> WHOA
02:47:05 <elliott> I'M LIKE AYN RAND
02:47:08 <oerjan> *YOU MEAN E^2 = m^2 + p^2
02:47:10 <elliott> EXCEPT 4 LETTERS ONWARDS
02:47:12 <elliott> DUUUUDE
02:47:24 <elliott> oerjan: you mean E = vibrating strings
02:47:27 * elliott prepares for swatting
02:47:47 * oerjan swats elliott in E minor -----###
02:47:56 <pikhq> oerjan: No, I definitely meant E=m. Who cares about the energy of an object in motion, anyways? :P
02:48:50 <oerjan> THAT IS THE KIND OF ATTITUDE THAT HAS LEAD TO THE CURRENT OBESITY EPIDEMIC
02:49:22 <elliott> oerjan: :D
02:49:36 <elliott> oerjan: you need like a web form where people can file requests to be married to you, just for a few weeks
02:49:39 <elliott> it could be very profitable
02:49:53 <pikhq> oerjan: :D
02:50:18 <elliott> pikhq: don't you agree, i mean
02:50:24 <elliott> that comment totally warrants brief matrimony.
02:50:33 <pikhq> elliott: Totally.
02:50:51 <pikhq> elliott: Warrants brief polyamorous matrimony.
02:50:58 <elliott> NO HE'S ALL MINE
02:51:04 * elliott gets swatten
02:53:22 -!- zzo38 has quit (Remote host closed the connection).
02:54:38 <elliott> pikhq: "InDecember 1999, it was found that Netscape Communicator used ROT-13 as part of an insecure scheme to store email passwords."
02:54:41 <elliott> *In December
02:55:25 <pikhq> XD
03:01:24 <elliott> pikhq: Hmm. Can you change the page size on x86-64?
03:02:44 -!- pikhq has quit (Ping timeout: 265 seconds).
03:03:02 -!- nooga_ has quit (Ping timeout: 260 seconds).
03:04:22 -!- nooga_ has joined.
03:12:38 <Ilari> elliott: Nope. The page sizes are fixed.
03:13:03 <elliott> Ilari: That's a shame. 4K is so tiny.
03:13:12 <Ilari> Well, there are 4MB ones too...
03:14:53 <elliott> Ilari: Eh?
03:14:58 <elliott> Ilari: You can use 4MB pages?
03:15:44 -!- pikhq has joined.
03:16:27 <Ilari> There's flag in second-to-lowest page table structure on if the entry is pointer to 1024 page structure or pointer to page itself (if it is pointer to page, it will be 4MB).
03:17:50 <Ilari> (well, at least late iteration X86s supported 4MB pages, and I presume X86-64s do too...)
03:18:43 <Ilari> Or it might be that X86-64 had 4kB and 2MB page sizes...
03:19:09 <elliott> Ilari: Hmm... would be nice to have something inbetween, say 1MB.
03:20:01 <pikhq> x86-64 supports up to 1GiB pages.
03:20:38 <Ilari> Actually, only three page sizes: 4KiB, 2MiB and 1GiB (which may not be supported).
03:20:49 <pikhq> Ah, right, those are the only ones.
03:21:30 <pikhq> x86 base, PSE+PAE, and... Absurd.
03:22:05 <elliott> 1GiB pages X-D
03:22:13 <pikhq> (okay, it's only absurd with respect to the currently available RAM, not with respect to address space or all of what could reasonably *have* an address.)
03:22:13 <elliott> That's a whole 12 pages on a super-high-end desktop system!
03:22:30 <elliott> Although in THIS case I actually have all of disk. But not all of it will have page entries.
03:22:46 <elliott> Still, that's 2048 theoretical maximum pages on the biggest reasonable consumer disk manufactured today :P
03:22:47 <Ilari> The reason why it is 1GiB is that it is next level of aggeration (512 2MiB pages).
03:23:35 <Ilari> Just like 2MiB/4MiB is the next step from 4KiB.
03:23:52 <elliott> So how easy is it to use 2 MiB pages in an OS? I mean, compared to the code requires to use 4 KiB.
03:24:51 <Ilari> Well, if one wanted to use 2MiB pages only, perhaps even sightly simpler than using 4KiB pages...
03:25:09 <Ilari> Since that would cause one page table level to vanish.
03:25:19 <pikhq> elliott: For a 4 MiB page, one simply sets the PSE flag in the page table.
03:25:25 <elliott> That sounds nice.
03:25:29 <elliott> I'll do that, then.
03:25:48 <pikhq> elliott: For a 2 MiB page, one simply also supports PAE, which has the side effect of halving the larger page size.
03:26:09 <elliott> pikhq: And x86-64 is based on PAE.
03:26:17 <elliott> pikhq: (Great idea, that; base your next-generation future-proof architecture on a massive hack.)
03:26:48 <pikhq> They really, really should have thrown out more of x86 with that.
03:27:21 <Ilari> At least they threw out most of segmentation...
03:28:00 <elliott> Ilari: still have to deal with it in real mode :)
03:28:17 <pikhq> True, segmentation only exists for privilege seperation now, thankfully.
03:28:41 <Ilari> Actually, 32 bit protected mode is the worst...
03:28:50 <Ilari> And 16-bit.
03:28:52 <elliott> Ilari: It would be wonderful if x86-64 specified some IO port stuff you could do that would make it automatically turn on the A20 line and switch into long mode, and give some flag back that x86 wouldn't (make it be something that does nothing on plain x86).
03:29:15 <elliott> Ilari: Then you could just make your initial bootsector be "shove to IO port; check response; if it's good, jump into 64-bit code; otherwise error message".
03:29:18 <elliott> But noooo.
03:29:32 <Sgeo> oerjan, measure of heat that is simpler than "destroyed blocks", but has the same "problem" of internal activity with no external activity being cold: Draw a bounding box. Count how many generations it takes for an escape of the bounding box. 1/that is the heat
03:29:33 <elliott> We have to go through real mode, check CPUID, disable the A20 line ourselves, go into protected mode, and go into long mode.
03:29:40 <pikhq> elliott: Or even *write an actual address to jump to* to that IO port.
03:29:57 <elliott> pikhq: That would work, but IO ports touching the instruction pointer feels really weird to me.
03:30:03 <Sgeo> Actually, that's crap
03:30:13 <pikhq> elliott: Fair enough.
03:30:40 <elliott> pikhq: Right now I'm going slowly (quickly) insane trying to get into long mode and set up a page fault handler.
03:30:45 <Sgeo> Draw bounding box. Advance until it's about to escape. Count how many cells escape
03:31:11 <Sgeo> Do some fudge factor to make it comparible usefully
03:32:56 <pikhq> elliott: ... Huh. PAE is actually nowhere near as bad of a hack as you'd think.
03:33:33 <elliott> pikhq: It totally is, though. :p
03:33:48 <pikhq> elliott: Setting the PAE bit of CR4 changes the entire page data structure.
03:33:58 <elliott> Hm.
03:35:03 <pikhq> elliott: Each entry in the page table becomes double the size, and there's another level of nesting in the paging.
03:35:38 <pikhq> elliott: And x86-64 adds yet another level of nesting.
03:35:39 <elliott> olsner: hey can you link me to your protected mode / long mode snippets so i can steal them again :D
03:38:56 <elliott> ha found it
03:39:44 -!- sftp has quit (Remote host closed the connection).
03:49:27 -!- hagb4rd has quit (Ping timeout: 245 seconds).
03:51:22 <elliott> pikhq: Paging sure is complicated.
03:51:30 <pikhq> I love headphones.
03:52:10 <oerjan> ...you don't seem to be on the same page
03:52:35 <pikhq> Parties are loud. And I wish not to leave the basement.
03:52:47 <pikhq> And headphones solve much of the noise problem.
03:53:14 <pikhq> Oddly enough, parties are even *louder* when half of the people in attendance are deaf.
03:54:07 <elliott> <elliott> pikhq: Paging sure is complicated.
03:54:15 <pikhq> 'Tis.
03:54:20 <pikhq> Segmentation sucks.
03:56:02 <elliott> pikhq: I JUST WANT TO GO INTO LONG MODE WHY DO I HAVE TO SET ALL THIS STUFF UP MAN? YOU HATE ME, CPU
03:56:56 <pikhq> elliott: Would it make you feel better to know that they actually expend valuable wafer space on this bullshit?
03:57:00 <pikhq> ... Probably not, no.
03:57:41 <elliott> pikhq: I'm not entirely sure *what* is in the wafer of a modern x86-64 processor... everything's so small that they can fit Micro Manhattan in there, and yet chips aren't really getting smaller... WAIT!
03:57:44 <elliott> I've figured it out!
03:57:52 <elliott> pikhq: To comply with the GFDL, they have a copy of Wikipedia in there.
03:58:00 <elliott> In fact, that's the source of ALL computing bloat.
03:58:19 <Mathnerd314> elliott: you're so wrong, it hurts
03:58:37 <elliott> Mathnerd314: You mean they don't REALLY have a copy of Wikipedia in there to comply with the GFDL???????????????????????????
03:59:36 <elliott> Mathnerd314: ????????????/////////////////
03:59:38 <pikhq> elliott: All computing bloat but that of Microsoft.
03:59:48 <elliott> pikhq: No, they have a copy of Wikipedia in there too. It's a long story.
04:00:04 <Mathnerd314> elliott: no, they have 1) a compiler 2) a VM 3) an interpreter 4) an optimizer 5) a copy of Windows 6) several encryption/compression algorithms, such as AES, DES, and MPEG
04:00:08 <pikhq> elliott: Microsoft also has a copy of every single version of Windows in there, for the sake of compatibility.
04:00:09 <pikhq> :D
04:00:19 <elliott> Mathnerd314: WOW THAT IS GOOD TO KNOW, BECAUSE I WAS BEING TOTALLY SERIOUS
04:00:21 <elliott> also you're full of shit
04:00:31 <elliott> since when does x86-64 have an interpreter in it
04:00:32 <pikhq> Mathnerd314: On the silicon?
04:00:33 <elliott> ...or an optimiser
04:00:46 <elliott> also they have shit to SUPPORT MPEG, but they don't have an actual MPEG codec.
04:00:47 <Mathnerd314> well, *my* processor has those
04:00:49 <elliott> that would be ridiculous.
04:00:51 <pikhq> Mathnerd314: No.
04:00:56 <elliott> Mathnerd314: on what grounds do you claim this?
04:01:07 <Mathnerd314> elliott: the docs.
04:01:10 <pikhq> Mathnerd314: It has opcodes to make those algorithms more efficient.
04:01:12 <elliott> Mathnerd314: Which docs?
04:01:29 <Mathnerd314> http://www.via.com.tw/en/initiatives/padlock/hardware.jsp
04:01:34 <Mathnerd314> among others
04:01:47 <elliott> Mathnerd314: OK, link me to the page where it says "We have an actual complete MPEG decoder in hardware."
04:02:38 <elliott> Mathnerd314: I'm waiting...
04:02:43 <Mathnerd314> http://www.via.com.tw/en/products/processors/c7/ "all VIA C-Series mobile chipsets integrate hardware MPEG-2 and MPEG-4 decoding acceleration"
04:02:55 <elliott> Mathnerd314: That's marketing bullshit. Note "acceleration".
04:02:57 <pikhq> That acceleration is not a full MPEG decoder.
04:03:08 <elliott> Mathnerd314: What they mean is there are instructions dedicated to certain tasks which, when implemented in an MPEG decoder, speed up the process.
04:03:09 <pikhq> Odds are, it's a fast inverse discrete cosine transform.
04:03:20 <elliott> Mathnerd314: Now where's the interpreter? And the optimiser?
04:03:41 <elliott> Mathnerd314: (Also the copy of Windows...)
04:04:03 <Mathnerd314> elliott: pretty standard features... it interprets the machine instructions, and optimizes them when it can
04:04:20 <elliott> Mathnerd314: That's not an interpreter ... That's silicon.
04:04:26 <elliott> OK, so it's microcode, but it's *not* an interpreter.
04:04:35 <Mathnerd314> psshh
04:04:35 <elliott> Mathnerd314: And no, CPUs aren't in the business of optimising their instructions...
04:04:49 <elliott> Mathnerd314: Pipelining and the like, yes. Branch prediction, yes. Outright optimisation, *no*, far too expensive.
04:04:55 <elliott> Mathnerd314: OK, where's the compiler?
04:05:01 <Mathnerd314> I call pipelining optimization
04:05:07 <elliott> Mathnerd314: OK, where's the compiler?
04:05:18 <Mathnerd314> compiler = interpreter + optimization, obviously
04:05:21 <pikhq> Mathnerd314: I call anything faster than a room full of females optimization.
04:05:29 <pikhq> Mathnerd314: And NO IT FUCKING ISN'T.
04:05:41 <elliott> That is ... not what a compiler is.
04:05:48 <elliott> That's what an optimising interpreter is.
04:06:03 <elliott> Mathnerd314: You're obviously just trolling, so here we go: where's the claimed copy of Windows?
04:06:38 <Mathnerd314> elliott: see #2 in http://en.wikipedia.org/wiki/Partial_evaluation#Futamura_projections
04:06:56 <elliott> Mathnerd314: I know what the Futamura projections are. Specialisation is one of my great loves.
04:07:07 <elliott> Mathnerd314: An interpreter and an optimiser together do NOT a specialiser make.
04:07:11 <elliott> You have no idea what you are talking about.
04:07:17 <pikhq> Mathnerd314: Specialisation is *very* different from optimization.
04:07:27 <elliott> A specialiser optimises, but an optimiser doesn't specialise.
04:07:42 <pikhq> elliott: Actually, a specialiser doesn't necessarily optimise.
04:07:48 <Mathnerd314> ok, whatever. I'll agree there's (probably) no copy of Windows
04:07:52 <elliott> pikhq: It's a useless specialiser if it doesn't.
04:08:03 <pikhq> elliott: Never said it was a *useful* specialiser. :)
04:08:49 <pikhq> Mathnerd314: Where's the VM?
04:09:13 <pikhq> (if you mean "virtual memory" by that, I'll hunt you down and kick you into next week.)
04:09:42 <Mathnerd314> since I start weeks on Sundays, that means tomorrow.
04:10:04 <Mathnerd314> so I'll just fall asleep instead of letting you kick me
04:10:06 <pikhq> *Far* into next week.
04:10:15 <elliott> Mathnerd314: You really don't start weeks on Sundays, you just claim to.
04:10:43 <elliott> I have noted several people who like to say that for them the week starts on Sunday and they all feel very strongly about it being "right". They also go "oh no, the weekend is over, it's Monday and a new week begins!!!111".
04:10:48 <Mathnerd314> elliott: no... sunday is "noneday", and I count starting from 0
04:10:56 <elliott> Mathnerd314: No you don't. You really don't.
04:11:05 <elliott> You're just saying that because it sounds interesting.
04:11:39 <oerjan> sunday the unday
04:11:59 <Mathnerd314> elliott: no... listen to J. H. Conway some time
04:12:27 <pikhq> Mathnerd314: Stop being psuedoïntelligent for a bit.
04:12:37 <elliott> Mathnerd314: are you just naming all these things and people thinking I don't know what or who they are?
04:12:45 <elliott> Mathnerd314: Presumably you are referring to the Domesday algorithm.
04:12:49 <Mathnerd314> yes...
04:13:00 <pikhq> Mathnerd314: Doomsday.
04:13:06 <elliott> Mathnerd314: But I am about 90% sure that you do not, actually, think of Sunday as Noneday. And that you do not actually start counting at 0.
04:13:08 <elliott> pikhq: Whatever :P
04:13:14 <elliott> Mathnerd314: At least not for days of the week.
04:14:13 <Mathnerd314> I don't see how I could tell where I start counting, other than saying that I do
04:14:50 <Mathnerd314> I stopped counting out loud long long ago...
04:15:02 <pikhq> I'm fairly certain that he typically just thinks of the names of celestial bodies and/or associated deities with "day" appended for the days of the week.
04:16:06 <Mathnerd314> pikhq: what? then why would I have trouble remembering how to spell "Wednesday"?
04:16:45 <pikhq> Mathnerd314: Because you have *extreme* difficulty remembering the Old English term for Odin.
04:17:33 <Mathnerd314> hmm, you might be right
04:18:56 <Mathnerd314> I don't know enough about Odin to know if I've forgotten about (it/him/...)
04:21:41 <elliott> pikhq: https://gist.github.com/657234#LID75 In which olsner manages to make me hate real mode.
04:21:43 <elliott> Erm.
04:21:45 <elliott> pikhq: https://gist.github.com/657234#LID75 In which olsner manages to make me hate long mode.
04:24:06 <pikhq> elliott: Clearly, "jmp rip+0" should be enough to initial long mode.
04:24:11 <pikhq> Initiate.
04:24:34 <elliott> pikhq: MAKE THE PAIN GO AWAY
04:25:59 * pikhq puts elliot out of his misery
04:26:07 * pikhq also puts elliott into further misery.
04:26:08 <pikhq> :)
04:26:40 <elliott> ;_;
04:46:14 <quintopia> multicast:manypeople::?:oneperson
04:46:47 <elliott> quintopia: unicast
04:46:52 <quintopia> kk
04:46:53 <elliott> quintopia: (this is the technical term)
04:46:58 <elliott> Quadrescence: also dude you can use spaces
04:47:00 <quintopia> thx
04:47:04 <elliott> multicast:many people :: ?:one person
04:47:17 <elliott> erm quintopia
04:47:22 <quintopia> meh
04:47:30 <quintopia> it's a stylistic thing
04:47:35 <elliott> It's hard to read. :p
04:48:07 <elliott> pikhq: Fun fact! "if (write(fd,buf,n) < 0) { perror("write"); exit(1); }" prints "write: Success" and exits with failure on HALF of all possible bufs.
04:48:26 <elliott> pikhq: Why? Because sizeof(size_t) = sizeof(ssize_t); write takes the former and returns the latter.
04:48:29 <Sgeo> http://en.wikipedia.org/wiki/File:VLC_Icon.svg
04:48:32 * Sgeo stares
04:48:35 <Sgeo> PERTY GRADIENTS
04:48:38 <elliott> pikhq: (I suppose one could make ssize_t a bigger integer, but nobody does.)
04:48:38 <Sgeo> GRADIENTS
04:48:45 <elliott> Sgeo: You're fucking psycho.
04:49:13 <Sgeo> There's a reason I have a link to a bunch of Nuvola icons on User:Sgeo
04:49:35 <elliott> Sgeo: Because you're fucking psycho?
04:50:10 <Sgeo> http://commons.wikimedia.org/wiki/File:Nuvola-like_mail_internet.PNG you can't tell me that this isn't pretty
04:50:47 <elliott> Sgeo: It really isn't.
04:50:58 <elliott> That globe-and-plug thing looks awful on it. As well as making evry little sense.
04:51:03 <elliott> And the envelope has an awkward angle.
04:51:09 <elliott> And ... no, no it's not pretty. You're insane.
04:51:25 <Sgeo> What about just the globe part?
04:52:15 <elliott> Sgeo: IT'S NOT PRETTY
04:52:24 <elliott> I could not stare at it for more than two seconds.
04:52:41 <elliott> Nuvola is one of the worst icon sets ever created, switching to it turns your desktop into a lens flare generator.
04:53:29 * Sgeo gibbers in joy at http://en.wikipedia.org/wiki/Nuvola
04:53:39 <quintopia> ah yes
04:53:41 <quintopia> gibbering
04:53:48 <quintopia> as in "gibbering idiot" right?
04:54:02 <quintopia> or was it "gibbering lunatic"?
04:54:59 <elliott> Sgeo: HAPPY FOURTH BIRTHDAY
04:55:25 <Sgeo> Um
04:55:33 <Sgeo> Why are there GNOME icons for Nuvola
04:55:36 <quintopia> elliott: link me to something you would describe as pretty
04:55:40 <Sgeo> Nuvola makes me think very KDE thoughts
04:55:43 <quintopia> (in the visually attractive sense)
04:55:57 <elliott> quintopia: Imagine the opposite of http://en.wikipedia.org/wiki/Nuvola#Examples_of_icons.
04:56:19 <quintopia> elliott: it's a subjective thing. link me to the opposite for you -.-
04:56:28 <quintopia> I WANT TO KNOW HOW YOUR MIND WORKS
04:56:34 <elliott> "Link to something pretty" is a pretty vague question ...
04:56:42 <quintopia> indeed.
04:56:45 <elliott> Kind of hard to do on the spot.
04:57:00 <quintopia> next time you see something pretty, link me
04:57:01 <Sgeo> This is pretty imo: http://commons.wikimedia.org/wiki/Category:Nuvola_icons
04:58:52 <elliott> quintopia: It's hard. "This is pretty" is a rare thought for me; "beautiful" maybe.
04:59:02 <elliott> Prettiness tends to be rather vapid and flashy ... like Nuvola ...
04:59:09 <quintopia> elliott: beautiful is good enough. do that then.
04:59:18 <elliott> quintopia: But that's even harder.
04:59:28 <quintopia> don't go out of your way
04:59:34 <quintopia> just next time it happens and you remember
04:59:44 <oerjan> elliott is just trying to hide the fact he thinks _everything_ is ugly
04:59:54 <quintopia> oh geez yeah those icons suck balls
04:59:57 * oerjan whistles innocently
05:00:21 <quintopia> oerjan: must be a lonely sad depressing life
05:00:41 <Sgeo> For regular use maybe, I don't know, but surely to look at on occasion...
05:00:48 <oerjan> WE WERE TALKING ABOUT HIM NOT ME
05:01:13 <elliott> quintopia: i think plenty of things are beautiful, oerjan just likes to project his crankiness onto me :)
05:01:30 <elliott> but yeah nuvola is like staring at a lightbulb
05:01:49 <oerjan> LIES
05:03:34 <Sgeo> I don't think I ever mentioned the dumb stuff I've done with a lightbulb
05:04:17 <elliott> Sgeo: Oh god.
05:04:32 <elliott> quintopia: Come to think of it, the last few things I've thought "wow, that's pretty" have probably been in Minecraft, and I probably didn't screenshot them.
05:04:39 <elliott> Such is the way of random number generators.
05:04:57 <quintopia> heh
05:07:26 <elliott> quintopia: http://www.math.cornell.edu/~mec/2008-2009/HoHonLeung/fig.7.png This might be pretty.
05:07:31 <elliott> Argh, I am no good at introspection.
05:07:58 <quintopia> a trefoil eh?
05:08:15 <quintopia> you like symmetry?
05:08:32 <elliott> quintopia: I suppose so? :p
05:08:54 <elliott> The 3D version http://www.earlham.edu/~peters/trefoil.gif would be nicer, except the shading and colours are horrible.
05:08:59 <quintopia> i like my women as symmetrical as i can get them, so i suppose i can relate :P
05:09:27 <quintopia> render your own trefoil in a raytracer
05:09:45 <oerjan> ball-shaped women ftw
05:09:47 <elliott> nah. i've never used a raytracer and don't really want to
05:09:54 <elliott> oerjan: :D
05:10:30 <elliott> quintopia: google helped me find this http://i35.tinypic.com/1r42zd.jpg
05:10:32 <elliott> symmetrical!
05:11:04 <quintopia> mirrored people always look bizarre.
05:11:10 <quintopia> even me, and i'm perfect
05:11:34 <quintopia> (also, symmetry isn't my only criterion in women)
05:11:40 <Sgeo> Note to self: Stop looking at blinkers as being + shaped. They're not
05:11:40 <elliott> quintopia: that's offensive, i was in a mirror accident and now my second half is a permanent mirror
05:11:44 <elliott> typing is kind of difficult
05:12:29 <Sgeo> With narrow spacing of blocks, even the block definition of heat has blinkers being warm
05:12:30 <quintopia> `addquote < elliott> quintopia: that's offensive, i was in a mirror accident and now my second half is a permanent mirror
05:12:37 <quintopia> is that how that works...
05:12:40 <oerjan> rifj yeotu slaøy lseo
05:12:53 <elliott> oerjan: how did i parse that
05:12:56 <HackEgo> 245) < elliott> quintopia: that's offensive, i was in a mirror accident and now my second half is a permanent mirror
05:13:01 <quintopia> oh good
05:13:10 <elliott> `run sed -i 's/< ell/<ell/g' quotes
05:13:12 <HackEgo> No output.
05:13:14 <elliott> `quote 245
05:13:16 <HackEgo> 245) < elliott> quintopia: that's offensive, i was in a mirror accident and now my second half is a permanent mirror
05:13:17 <quintopia> why is it that hackbot has such a long warm-up period?
05:13:19 <elliott> what
05:13:23 <oerjan> elliott: i don't know, did it make sense?
05:13:30 <elliott> `run sed -i 's/\< ell/<ell/g' quotes; quote 245
05:13:31 <HackEgo> 245) <elliott> quintopia: that's offensive, i was in a mirror accident and now my second half is a permanent mirror
05:13:34 <elliott> there we go
05:13:42 <elliott> oerjan: yes
05:13:48 <elliott> oerjan: "if you say so"
05:13:56 <quintopia> elliott: while you're at it, tack the typing thing on the end
05:14:00 <oerjan> indeed
05:14:05 <elliott> Quadrescence: wut?
05:14:06 <elliott> erm
05:14:07 <elliott> quintopia: wut?
05:14:18 <quintopia> the next line "typing is kind of difficult"
05:14:41 <elliott> nobody's said that
05:14:54 <elliott> oh
05:14:55 <elliott> i did
05:14:55 <elliott> :D
05:15:09 <oerjan> must have been the mirror half
05:15:18 <quintopia> is it just a line in a plaintext file?
05:15:20 <elliott> `run sed -i '245s/$/ <elliott> typing is kind of difficult/' quotes
05:15:24 <HackEgo> No output.
05:15:27 <elliott> quintopia: yep. it was previously a sqlite db
05:15:32 <elliott> but i chucked all that out and rewrote the system unixy
05:15:36 <elliott> `quote 245
05:15:38 <HackEgo> 245) <elliott> quintopia: that's offensive, i was in a mirror accident and now my second half is a permanent mirror <elliott> typing is kind of difficult
05:16:29 <elliott> quintopia: http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes is the raw quote database
05:16:46 <elliott> 10:53:32 <elliott> addquote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/addquote
05:16:46 <elliott> 10:53:32 <elliott> allquotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/allquotes
05:16:46 <elliott> 10:53:32 <elliott> quote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/quote
05:16:46 <elliott> 10:53:32 <elliott> pastequotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/pastequotes
05:16:46 <elliott> 10:53:32 <elliott> And the latest quote database is always available at http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes.
05:16:53 <elliott> quintopia: ^ all the sources
05:16:54 <quintopia> i suppose flat files makes sense for a channel this small, but when i create a hackbot to take over the IRC universe, it will use a db :P
05:17:05 <elliott> quintopia: well, there's actually now also http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/pastenquotes
05:17:09 <elliott> quintopia: and it was *way* slower with a DB
05:17:19 <elliott> quintopia: unix is fast.
05:17:38 <quintopia> that's why i wouldn't switch over until 100000 quotes
05:18:06 <quintopia> (or until i need the ability to search for specific quotes easily by content)
05:18:10 <elliott> quintopia: err, i can do that
05:18:14 <elliott> `quotes oklo
05:18:15 <HackEgo> No output.
05:18:21 <elliott> ...well it usually works :D
05:18:25 <elliott> quintopia: it's called grep.
05:18:27 <quintopia> no, you can only use regexes and such
05:18:35 <elliott> quintopia: as opposed to...
05:18:42 <elliott> quintopia: and even after 100000 quotes it still wouldn't be faster than e.g. a strfile-indexed file
05:18:44 <quintopia> you can't attach category lists to quotes
05:18:59 <elliott> quintopia: nobody can be arsed to do that.
05:19:12 <elliott> nobody fundamentally gives a shit about qdbs, good luck trying to make them
05:19:20 <quintopia> i would write a learning system to do it if i had 100000 quotes to categorize :P
05:19:28 <oerjan> `quotes ell
05:19:29 <HackEgo> No output.
05:19:37 <elliott> hmm
05:19:38 <elliott> `quote ell
05:19:40 <HackEgo> 29) PA ET ANNET UNIVERSET DER DE ENESTE PERSONEN OERJAN: <oerjan> sa jeg kan bare konkludere med at det er feil, eller er verden helt bonkers \ 53) <pikhq> Gregor is often a scandalous imposter. It's all the hats, I tell you. \ 75) <fungot> ehird: every set can be well-ordered. corollary: every set s has the same diagram used
05:19:45 <elliott> wtf?
05:19:47 <elliott> `run ls -l bin/quotes
05:19:50 <HackEgo> lrwxrwxrwx 1 5000 0 9 Dec 12 05:19 bin/quotes -> bin/quote
05:19:51 <quintopia> (i realize that i'm never going to do this, it being that i don't give a shit either)
05:19:56 <elliott> `quote oklo
05:19:58 <HackEgo> 37) <oklopol> i can get an erection out of a plank, you can quote me on that. \ 39) <oklopol> anyway, torture would be fun to experience, true <oklopol> should put that on my todo list \ 42) <oklopol> i'm my dad's unborn sister \ 52) <Octalnet> oklofok: I'm a tad over-apologetic. I apologize. \ 55) <oklopol> GregorR: are you
05:20:02 <elliott> `quotes oklo
05:20:03 <HackEgo> No output.
05:20:04 <Gregor> elliott: bin/bin/quote?
05:20:05 <elliott> SYMLINK FAIL
05:20:10 <wareya> oh god it's so active in here tonight
05:20:12 <elliott> `run cd bin; ls -l quotes
05:20:14 <HackEgo> lrwxrwxrwx 1 5000 0 9 Dec 12 05:19 quotes -> bin/quote
05:20:16 <elliott> Gregor: LOZL
05:20:24 <elliott> `run unlink bin/quotes; cd bin; ln -s quote quotes
05:20:25 <Gregor> wareya: RUN IN FEAR
05:20:26 <HackEgo> No output.
05:20:27 <elliott> `quotes oklo
05:20:30 <HackEgo> No output.
05:20:31 <elliott> `quotes oklo
05:20:32 <HackEgo> 37) <oklopol> i can get an erection out of a plank, you can quote me on that. \ 39) <oklopol> anyway, torture would be fun to experience, true <oklopol> should put that on my todo list \ 42) <oklopol> i'm my dad's unborn sister \ 52) <Octalnet> oklofok: I'm a tad over-apologetic. I apologize. \ 55) <oklopol> GregorR: are you
05:20:35 <elliott> yay
05:20:45 <elliott> `pastequotes <oklopol>
05:20:47 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16424
05:20:52 <elliott> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16424
05:20:53 <elliott> the best quotes
05:21:07 <quintopia> elliott: what's the best way to select a random line?
05:21:09 <elliott> holy SHIT it's 5:20 am!
05:21:10 <Sgeo> `pastequotes <elliott>
05:21:13 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.22726
05:21:15 <Sgeo> `pastequotes <Sgeo>
05:21:23 <elliott> quintopia: I use shuf; http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/quote
05:21:24 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17216
05:21:35 <Gregor> `quote 69
05:21:35 <HackEgo> 69) <oklopol> if a girl is that cute, i don't care how many penises she has \ 169) (in #irp) <Sgeo> Flonk, ask on #esoteric? <Flonk> Sgeo: yeah well its C++, so not that esoteric :P
05:21:38 <Sgeo> Ok, why are those links broken?
05:21:41 <oerjan> `quote <ell
05:21:42 <HackEgo> 231) <elliott> Vorpal loves the sodomy. <Vorpal> elliott, sure why not \ 232) <elliott> [...] ALWAYS OPEN TO TRYING NEW THINGS. \ 233) <elliott> So it's not exactly trivial. [Later about same thing] <elliott> It's a trivial C program :P \ 241) <elliott> ONLY GOOD QUOTES PLEASE! AND NO FAKE ONES EITHER! \ 242) * pikhq sticks
05:21:43 <elliott> Sgeo: give it time
05:21:46 <elliott> try reloading
05:21:54 <Gregor> elliott: It'd be nice if `quote 69 didn't give you 169 and 269 too :P
05:21:59 <oerjan> `quote <ell[^i]
05:21:59 <HackEgo> No output.
05:22:02 <elliott> Gregor: `quote ^69)
05:22:09 <elliott> `quote ^69)
05:22:11 <HackEgo> No output.
05:22:12 <elliott> `quote ^69\)
05:22:13 <HackEgo> 69) <oklopol> if a girl is that cute, i don't care how many penises she has
05:22:18 <elliott> Gregor: `quote ^69\) :P
05:22:36 <elliott> Gregor: I don't want to make it impossible to search for a number. Admittedly you could do that by doing (93) or whatever.
05:22:38 <elliott> Gregor: Okay, I'll do it.
05:22:59 <Gregor> I'm glad I've made such persuasive arguments.
05:23:44 <oerjan> `quote 69)
05:23:45 <HackEgo> No output.
05:23:52 <quintopia> elliott: poor you and your lack of sleep
05:23:58 <Sgeo> My quotes are boring
05:24:05 <quintopia> my quotes are non-existent
05:24:10 <oerjan> `addquote <Sgeo> My quotes are boring
05:24:12 <HackEgo> 246) <Sgeo> My quotes are boring
05:24:13 <quintopia> but then i don't talk
05:24:24 <quintopia> can't get a word in edgewise next to elliott :P
05:24:33 <Sgeo> elliquintopia
05:24:35 <elliott> quintopia: nobody can, the graphs prove it
05:24:57 <elliott> quintopia: i was the most active talker when i was only on for two hours or so, at night, on an iphone, concealing this fact
05:25:04 <elliott> my life's achievement
05:25:05 <quintopia> elliott: the evidence before the court is incontrovertible, there's no need for the jury to retire.
05:25:19 <Sgeo> I think I still like XOR Heat, despite the uselessness of polynomial heat vs not
05:25:29 <quintopia> (verdict: you have no life)
05:25:39 <Sgeo> RIP elliott
05:26:02 <elliott> quintopia: hard to have a life in a mental unit.
05:26:17 <elliott> i'd have gone insane without the wonders of mobile data links.
05:27:12 <elliott> `run echo '#!/bin/sh' >bin/quote
05:27:13 <HackEgo> No output.
05:27:18 <quintopia> surely you could have smuggled a knife into your room somehow? there's no end of fun to be had with a knife...
05:27:21 <elliott> `run echo 'allquotes | if [ "$1" ]; then' >>bin/quote
05:27:21 <HackEgo> No output.
05:27:28 <elliott> `run echo ' if [ "$(($1+0))" = "$1" ]; then' >>bin/quote
05:27:29 <HackEgo> No output.
05:27:33 <elliott> quintopia: good to know your sanity is still intact
05:27:39 <elliott> `run echo ' sed "$1{p;q};d"' >>bin/quote
05:27:40 <HackEgo> No output.
05:27:45 <elliott> `run echo ' else' >>bin/quote
05:27:46 <HackEgo> No output.
05:27:51 <elliott> `run echo ' egrep -i -- "$1"' >>bin/quote
05:27:52 <HackEgo> No output.
05:27:57 <elliott> `run echo ' fi' >>bin/quote
05:27:58 <HackEgo> No output.
05:27:59 <Gregor> elliott: Good lord man X_X
05:28:02 <elliott> `run echo 'else shuf -n 1; fi' >>bin/quote
05:28:03 <HackEgo> No output.
05:28:07 <elliott> Gregor: i actually wrote those lines on the spot!
05:28:14 <elliott> Gregor: that sentence would be true, were it not a lie!
05:28:18 <elliott> `quote penis
05:28:19 <HackEgo> 69) <oklopol> if a girl is that cute, i don't care how many penises she has \ 106) <Warrigal> A person's sex is not the same thing as their penis length.
05:28:23 <elliott> `quote 69
05:28:24 <HackEgo> 69) <oklopol> if a girl is that cute, i don't care how many penises she has \ 69) <oklopol> if a girl is that cute, i don't care how many penises she has
05:28:27 <elliott> what
05:28:37 <elliott> `quote (69)
05:28:38 <HackEgo> 69) <oklopol> if a girl is that cute, i don't care how many penises she has \ 169) (in #irp) <Sgeo> Flonk, ask on #esoteric? <Flonk> Sgeo: yeah well its C++, so not that esoteric :P
05:28:43 <elliott> ok it almost works :D
05:28:55 <elliott> hm
05:29:13 <elliott> aha
05:29:37 <elliott> `run sed -i 's/ sed "$1{p;q};d"/ sed "$1q;d"/' bin/quote
05:29:39 <HackEgo> No output.
05:29:47 <elliott> `quote 69
05:29:58 <HackEgo> 69) <oklopol> if a girl is that cute, i don't care how many penises she has
05:30:02 <elliott> that was quite slow
05:30:03 <elliott> oh well
05:30:04 <elliott> `quote 69
05:30:05 <HackEgo> 69) <oklopol> if a girl is that cute, i don't care how many penises she has
05:30:07 <elliott> yay
05:30:09 <elliott> `quote (69)
05:30:11 <HackEgo> 69) <oklopol> if a girl is that cute, i don't care how many penises she has \ 169) (in #irp) <Sgeo> Flonk, ask on #esoteric? <Flonk> Sgeo: yeah well its C++, so not that esoteric :P
05:30:16 <elliott> Gregor: leet unix coder, at your service
05:30:22 <Gregor> lawl
05:30:49 <Sgeo> <tmi story relating to quote #69 here>
05:31:24 <elliott> Sgeo: you have a tmi story relating to that quote?
05:31:27 <elliott> this i gotta hear
05:31:54 <Gregor> Does it involve the phrase "or more precisely, pre-op transexual"
05:32:17 <Sgeo> It's less of a story, and more of an incorrect belief I had as a kid
05:32:20 <elliott> Gregor: Hellooooooooo Sine!
05:32:33 <elliott> Gregor: (I think Ami pumped oestrogen into #lobby.)
05:32:47 <elliott> (Oh contravarsy)
05:32:48 <Gregor> elliott: Funny since Ami is a bot run by a male :P
05:32:50 <elliott> (Am I a bad person yet?)
05:32:55 <oerjan> oyster gene
05:32:59 <elliott> Gregor: *by a male... FOR NOW
05:33:03 <elliott> Or rather, by a (male... FOR NOW)
05:33:08 <elliott> GET OUT WHILE YOU STILL CAN
05:34:23 <Sgeo> My mom told me that girls were different from boys, and my creativity was very limited. I thought "almost exactly the same, except at the tip"
05:34:48 <elliott> I... and ... uh, what was the difference at the tip ...
05:35:40 <Sgeo> Instead of a slit, I thought maybe a star, for example
05:36:04 <elliott> ...wow.
05:36:31 <elliott> The Girl With The Starry Urethra.
05:37:31 <oerjan> a sure-fire path to stardom
05:37:59 <elliott> oerjan: What, can girls aim their penises better?
05:38:02 <elliott> YOUR PUNS REQUIRE SCIENTIFIC BACKING
05:38:26 <Gregor> `addquote <elliott> oerjan: What, can girls aim their penises better?
05:38:26 <HackEgo> 247) <elliott> oerjan: What, can girls aim their penises better?
05:38:46 <elliott> Gregor: I should have added "starry" in there to complete the quote's perfection :P
05:38:58 <elliott> I'm having nightmarish images in my head now of a penis with a starry urethral opening.
05:39:00 <elliott> Oh god it's terrifying.
05:39:07 <Sgeo> We need to add datestamps to the bot, so we can find out the context of quote
05:39:08 <Sgeo> s
05:39:35 <elliott> Sgeo: It's called a copy of the logs and grep.
05:39:49 <elliott> Sgeo: Or... just looking at the hg history on the HackEgo log.
05:40:14 <elliott> Sgeo: Anyway, are you sure you want people to be able to find what you said easily forever? :P
05:40:50 <Gregor> elliott: Actually I occasionally recreate HackEgo's hg repo, losing (from the perspective of the public viewer) all history.
05:41:03 <elliott> Gregor: that's revisionism for you
05:41:25 <oerjan> you know who else liked revisionism? stalin!
05:42:23 <elliott> oerjan: and hitler!
05:42:38 <elliott> oerjan: and their baby, stalitler. unfortunately the world was not ready for gay couples to have babies and it was killed shortly after.
05:42:39 <Gregor> oerjan: Yeah, but then he wrote the Declaration of Independence, founded the USSR (United States Soviet Region) and began a reign of prosperity that lasts to this very day.
05:42:41 <elliott> oerjan: a true shame
05:43:00 <elliott> Gregor: I approve of this history, the only history. And also the true history.
05:47:05 <quintopia> In Soviet America, history alter you.
05:47:43 <quintopia> (And negros are lynching you)
05:52:09 <Sgeo> oerjan, suppose life moved at c/2 orthogonally
05:52:24 <Sgeo> Let's call the direction of movement EAST
05:52:40 <Sgeo> How will that affect what they can perceive, what experiments they can run?
05:52:53 <elliott> <Sgeo> oerjan, suppose life moved at c/2 orthogonally
05:52:55 <elliott> that would be very fast!
05:52:59 <elliott> i find that completely unlikely.
05:53:09 <elliott> c/2s can't do much that isn't moving.
05:53:56 <quintopia> elliott: but if we were all in it together, it'd be just business as usual in our reference frame (although, significant blueshifting and redshifting of the night sky maybe?)
05:53:57 <oerjan> hasn't it been proved that ships cannot go faster than c/2
05:54:10 <elliott> quintopia: we're talking about game of life.
05:54:11 <elliott> oerjan: yes.
05:54:36 <elliott> oerjan: intelligent life moving at c/2 would have to compute *and* do half of moving in one generation, or something
05:54:39 <quintopia> elliott: i thought you were making a joke by remapping it to real life
05:54:42 <elliott> oerjan: c/100000000000000 is more likely :)
05:55:34 <quintopia> (and in any case, i was doing that whether or not you were)
05:55:34 <Sgeo> Which came first? Proof of c/4 max speed diagonal, or of c/2 max speed orthogonal
05:55:46 <quintopia> i think i'm missing some piece of this particular GoL conversation though
05:55:46 <Sgeo> I know one is easily proved from the other
05:56:14 <Sgeo> quintopia, scientists living inside GoL
05:56:32 <quintopia> ah
05:57:45 <elliott> quintopia: basically sgeo is crazy
05:57:51 <elliott> words to live by
05:58:07 <quintopia> elliott: no more crazy than you though. just crazy in a different way.
05:58:55 <elliott> quintopia: an inferior way!
05:59:31 <quintopia> in any case, they'd have to have spaceships travelling ahead of them at all times if they wanted to be able to detect one another to turn before colliding
06:00:01 <quintopia> and they'd have to rebuild each other's spaceships when they passed one another to maintain them at that distance
06:00:28 <quintopia> so if they didn't cooperate, they'd die really easily at that speed
06:00:51 <quintopia> but i doubt they would trust each other any more than we would, and so wouldn't do so
06:00:56 <quintopia> therefore i'm gonna rule it out
06:01:20 <elliott> quintopia: the scientists are really just hypothetical here, it could just be scientist :P
06:01:21 <elliott> bye.
06:01:21 -!- elliott has quit (Quit: Leaving).
06:02:36 <quintopia> oh, i suppose they could stop, build their own spaceship, let it get a little bit ahead, and then start chasing it
06:02:41 <Sgeo> If they evolve like that, there would possibly be pressures against breaking that sort of trust. Or it could be an automatic biological thing, like heartbeat in humans
06:03:56 <quintopia> Sgeo: evolution would tend to make them smaller, and shave off unnecessary components. aka, they'd devolve into viruses. more than half of the population would be viruses because there could be more of them in the same amount of space
06:04:23 <quintopia> i think the "waiting a bit before starting moving" is a more evolutionarily stable strategy
06:06:15 <quintopia> ahahaha, i just imagined someone posting on the GoL database "the smallest pattern that never stabilizes" and then coming back later and retagging it "the smallest pattern that evolves into a community of intelligent lifeforms"
06:06:32 <quintopia> (yes i realize both are impossible)
06:07:32 <quintopia> (i also realize that even if it were, the former, at least, couldn't be proven)
06:07:49 <Sgeo> Good luck proving the latter too
06:08:18 <Sgeo> How is the latter impossible, exactly?
06:08:38 <quintopia> ...because the former is impossible?
06:08:53 <Sgeo> Define "stable"?
06:09:00 <quintopia> would not a community of interacting intelligences be unstable by definition?
06:09:28 <Sgeo> I still don't see why the former is impossible
06:09:43 <quintopia> how is GoL stability usually define?
06:09:49 <Sgeo> I have no idea
06:10:01 <oerjan> we know GoL is TC, so you definitely can do neverending processes
06:10:41 <Sgeo> http://en.wikipedia.org/wiki/File:Conways_game_of_life_breeder_animation.gif stable?
06:11:05 <quintopia> ah wait...
06:11:32 <quintopia> lack of the first doesn't preclude the second
06:11:41 <quintopia> i withdraw my statement
06:11:56 <quintopia> yeah i would call a breeder stable
06:12:54 <quintopia> there comes a point where the possibility of certain reactions (that may have taken place in the past) can never happen again <-- how i would define stabilizing
06:14:45 <quintopia> for instance, if *our* universe is accelerating in its expansion, there will come a point where we can never observe light incoming from the boundaries of the universe again
06:16:03 <Sgeo> A still-life that has only itself as a parent...
06:16:08 <Sgeo> Once you run out of those
06:16:34 <Sgeo> (I was thinking of that as a way for particularly smart and determined inhibitants to determine the age of the universe)
06:17:02 <Sgeo> (Not counting those parents of it whose active cells other than it are at a distance such that they have no influence)
06:20:04 <quintopia> but yeah, with my definition of stabilizing above, it is trivially true that any finite pattern in an infinite universe must eventually stabilize
06:20:39 <quintopia> *empty universe
06:20:41 <quintopia> blah
06:21:08 <Sgeo> trivially?
06:21:22 <quintopia> trivially
06:21:53 <quintopia> well
06:21:58 <quintopia> okay, not exactly trivially
06:22:06 <quintopia> there is one technical issue
06:22:43 <quintopia> i think i could prove it though
06:23:20 <Sgeo> Also, define "reaction"
06:23:27 <Sgeo> I think that's a bit ambiguous
06:23:34 <quintopia> what is obvious is that you'd need the "active area" to expand forever
06:24:05 <quintopia> in order for a sequence of events never to repeat
06:24:29 <Sgeo> Ok
06:24:53 <Sgeo> Actually, that's blindingly obvious once mentioned but it didn't occur to me
06:25:52 <quintopia> i define reaction more intuitively than precisely
06:26:15 <quintopia> as two or more patterns interacting in a way that produces other patterns (or not)
06:26:29 <quintopia> here patterns would be cohesive distinct pieces
06:26:33 <quintopia> like spaceships
06:27:03 <quintopia> where all the parts are necessary for it to behave the way it does
06:27:12 <quintopia> basically, what the greeks meant by atom
06:28:10 <Sgeo> For a definition of pattern, what about: Works even when separated by all other active cells by 2 empty cells
06:28:27 <Sgeo> "works" is weird
06:29:28 <quintopia> so imagine you had puffers travelling orthogonally in all four directions, releasing nothing but gliders alternately to either of the directions "behind" them
06:29:45 <quintopia> and those gliders are timed to hit each other and annihilate
06:30:07 <quintopia> in some sense, the same thing never happens in the same place twice
06:30:39 <quintopia> and yet, the places and times where particular reactions happen form a very simple predictable sequence
06:30:52 <quintopia> so i would call it a stable system
06:31:06 <quintopia> you can describe it by a small number of formulas and nothing surprising will ever happen
06:31:10 <Sgeo> "predictable" isn't well defined
06:31:28 <quintopia> what's ambiguous there?
06:31:32 <Sgeo> All of GoL is 100% predictable
06:31:39 <quintopia> yes
06:31:50 -!- hagb4rd has joined.
06:31:50 <quintopia> it's the "simple" part that's interesting here
06:32:30 <quintopia> the 3-body gravitational problem is completely predictable for any 3 specified bodies, but it's far from simple for many of those arrangements
06:32:46 <quintopia> it may show chaotic behavior
06:33:10 <quintopia> completely determined...but hard to describe
06:34:16 <quintopia> so in a stabilized universe, an observer could look around and say "these types of reactions are going to keep happening for eternity, and those are never going to happen again"
06:44:25 -!- oerjan has quit (Quit: Good night).
06:46:57 <Sgeo> All the more reason that an infinite random soup is a much better place to grow up
06:47:22 <Sgeo> Although, even with eventual stabilization, life could thrive for a little while
06:47:45 <Sgeo> Or even indefinitely, I guess. Just not.. creatively, if the brains don't expand
06:55:36 <quintopia> exactly
06:56:10 <quintopia> not creatively by definition
06:56:42 <quintopia> because on some scale something fundamentally new must happen
06:58:22 <quintopia> if someone were able to say "oh look, we can do this thing that's never been done!" that would contradict the definition of stabilized as the point after which nothing new happens.
07:03:29 <Sgeo> It's almost awesome that GoL universes die --- I am no longer _as_ jealous
07:03:38 <Sgeo> Our universe dies, their universe dies
07:03:52 <Sgeo> (Except, ofc, infinite random soup)
07:04:38 <Sgeo> Maybe for GoLverse a definition of heat should be such that we can talk about heat death == stabilization
07:04:55 <Sgeo> I need sleep
07:05:26 <coppro> what do you define as life in the GOL?
07:06:26 <Sgeo> I ... don't know. I do know that I like the thought of intelligent life in GoL
07:08:16 -!- pingveno has quit (Ping timeout: 240 seconds).
07:10:26 -!- pingveno has joined.
07:11:40 -!- TLUL has joined.
07:12:46 <Sgeo> Gemini hardly seems like it deserves to qualify
07:13:26 <TLUL> Gemini as in what? Sounds like an interesting conversation.
07:14:19 <Sgeo> GoL
07:14:26 <TLUL> Ah, thought so.
07:14:31 <Sgeo> You know logs exist, right?
07:14:45 <TLUL> Yes, but I didn't know where.
07:14:55 <TLUL> !logs
07:15:07 <TLUL> Ah, hoped maybe a bot would have a link.
07:15:17 <TLUL> Where are they?
07:15:18 <Sgeo> /topic
07:15:23 <Sgeo> http://tunes.org/~nef/logs/esoteric/?C=M;O=D
07:15:34 <TLUL> 這是通道有深奧的編程計算機語言。在這裡,我們用英語交談,如中文,請找其他渠道
07:15:39 <TLUL> That's all I see of the topic
07:15:47 <Sgeo> Say /topic
07:15:53 <TLUL> In my client, that's "symbol not displayable"
07:16:05 <hagb4rd> http://tunes.org/~nef/logs/esoteric/?C=M;O=D ?
07:16:24 <quintopia> sgeo: what is gemini?
07:16:25 <TLUL> Alright. Dunno why that's easier than someone just answering me, but meh.
07:16:39 -!- Sgeo|CGIIRC has joined.
07:16:50 <Sgeo> TLUL, so you know how to get it for next time
07:17:08 <Sgeo> Oh, /topic doesn't work in CGIIRC
07:17:26 <Sgeo> quintopia, replicator
07:17:32 <TLUL> quintopia: It's a UCC-based spaceship.
07:17:50 <quintopia> link?
07:17:53 <TLUL> It's not a replicator, as it cannibalises its parent configuration
07:18:08 <TLUL> http://conwaylife.com/forums/viewtopic.php?f=2&t=399&p=2327#p2327
07:18:24 <Sgeo> Can it be made to not do that?
07:18:29 <quintopia> yeah i wasn't aware of a GoL replicator existing yet...
07:18:49 <TLUL> It can be, yes.
07:19:31 <TLUL> It has three-armed constructors at each end. Two arms are for construction, one is for destruction of the parent.
07:19:47 <Ilari> Wonder when the first true replicator will be constructed...
07:20:20 <TLUL> The tape is a glider stream, duplicated and reflected back at each end, offset enough to enter the child created last time it passed through.
07:22:31 <Ilari> How many diffrent variants of Gemini there are? Last I looked a while ago there were at least 3 (the original, true knightship variant and slope 5 ship with different speed)...
07:22:44 <quintopia> wait, if you took out the deconstruction arm, it would be a replicator?
07:22:58 <quintopia> okay i agree with the thread then... awesome pattern
07:23:37 <Ilari> Anyway, it was the first spaceship with slope not 0 or 1.
07:25:58 <Sgeo> Night
07:26:15 <quintopia> oh
07:26:16 <quintopia> i see
07:26:23 <quintopia> the tape doesn't get duplicated
07:26:30 <quintopia> so it would require some more modification
07:27:15 <Ilari> Wonder if there is pattern that is bounded in width, length goes to infinity and lengthwise minimum coordinate also goes to infinity, which is not a forward-shooting rake?
07:27:18 -!- Sgeo has quit (Read error: Connection reset by peer).
07:28:34 <Ilari> Would be pretty wild patterns: Gun shooting caterpillars and rake that shoots caterpillars... :-)
07:30:58 -!- Sgeo|CGIIRC has quit (Ping timeout: 265 seconds).
07:31:00 <Ilari> For constructing those, four-slavo glider synthethis of The Caterpillar would be very useful.
07:40:53 <quintopia> lol
07:41:51 <pikhq> Gaaah, today.
07:41:51 <quintopia> what you're describing sounds like one of the fuse-ships (being chased by something that burns the fuse slower)
07:41:55 <pikhq> I just had dinner.
07:42:01 <pikhq> It is 00:41 local time.
07:42:17 <quintopia> mountain time eh
07:42:25 <quintopia> albuquerque? :P
07:42:38 <pikhq> Nope, suburb of Colorado Springs.
07:42:48 <quintopia> close enough
07:42:55 <pikhq> Not very far from the UTC-7 meridian.
07:43:12 -!- hagb4rd has quit (Ping timeout: 245 seconds).
07:51:55 <pikhq> quintopia: All that said, I now have parts of Albuquerque stuck in my head.
07:52:38 <quintopia> pikhq: if you can wake up some neighbors by singing it at the top of your lungs, please do so
07:54:30 <pikhq> quintopia: I'm afraid I cannot without going outside.
07:54:36 <pikhq> And it is FUCKING COLD OUTSIDE HOLY FUCK.
07:54:50 <quintopia> swut you get for being in CO
07:55:03 <coppro> BECAUSE I HAD MY TRAY TABLE UP
07:55:58 <pikhq> According to weather.gov, the current temperature at the nearest reporting station (the Air Force Academy, a few miles away) is 15°F (-9°C).
07:56:12 <pikhq> And... Very, very bizarrely humid.
07:56:19 <pikhq> ... 68% humidity? What the hell?
07:56:31 <pikhq> The usual humidity here is more like 0.
07:56:45 -!- hagb4rd has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:11:59 <TLUL> <Sgeo> Oh, /topic doesn't work in CGIIRC
08:12:00 <TLUL> What?
08:12:20 <TLUL> I'm not using CGI:IRC
08:36:53 -!- Mathnerd314 has quit (Ping timeout: 250 seconds).
08:41:34 -!- hagb4rd has quit (Ping timeout: 240 seconds).
08:42:46 -!- kar8nga has joined.
08:47:11 -!- kar8nga has quit (Remote host closed the connection).
08:59:40 <Ilari> Well, if the temperature is low, even slight amount of water gives high RH.
09:01:46 <Ilari> The same amount of water that gives 70% RH at -10degC would give only about 6.3% RH at 25degC.
09:09:05 -!- MigoMipo has joined.
09:17:04 -!- Ilari_antrcomp has quit (Read error: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number).
09:18:49 -!- Ilari_ has joined.
09:18:57 -!- Ilari_ has changed nick to Ilari_antrcomp.
09:35:22 -!- MigoMipo has quit (Ping timeout: 240 seconds).
09:37:29 -!- TLUL has quit (Quit: *disappears in a puff of orange smoke*).
10:31:43 <fizzie> As one of those freaky Northerners, I'm conractually obliged to note that -9°C is pretty far from "fucking cold outside holy fuck".
10:33:28 <fizzie> With that amount of expletives, it should be at least -30°C, and even that is pushing it; it's not such a unheard-of temperature.
10:45:20 -!- Phantom_Hoover has joined.
10:59:01 <Vorpal> fizzie, indeed, -9°C is more like "uncomfortably cold, but sadly quite common"
11:13:10 -!- MigoMipo has joined.
11:49:23 <Vorpal> fizzie, btw I found a lone block of obsidian out in the middle of nowhere yesterday
11:49:38 <Vorpal> fizzie, there is a torch trail to it from the crafting bench near the water pillars
11:50:11 <Vorpal> fizzie, no water or lava near it
11:51:51 <fizzie> I don't think I had anything to do with that.
12:15:30 <Vorpal> Phantom_Hoover, down?
12:15:35 <Phantom_Hoover> Yes.
12:19:39 <Vorpal> fizzie, know anything about the floating *wood* block above a very flat mountain top opposite of nailor's old house?
12:19:46 <Vorpal> fizzie, it is next to your house
12:27:10 -!- sftp has joined.
12:59:12 -!- kar8nga has joined.
13:00:48 <Phantom_Hoover> Lyttle Lytton idea: "There are no words in the English language to describe what I have seen, which is why the remainder of this book is in Finnish."
13:03:44 <olsner> IMO anything below -20°C is enough for "fucking cold holy fuck"
13:29:15 -!- hagb4rd has joined.
13:31:59 -!- nooga_ has quit (Ping timeout: 250 seconds).
14:11:03 <Vorpal> olsner, indeed
14:11:21 <Vorpal> olsner, wait, I thought you said 25
14:11:31 <Vorpal> 20 is "fucking horrible cold"
14:13:08 -!- nopseudoidea has joined.
14:25:17 -!- kar8nga has quit (Ping timeout: 250 seconds).
14:36:08 -!- Slereah has quit (Ping timeout: 255 seconds).
14:41:00 -!- Slereah has joined.
15:23:13 -!- oerjan has joined.
15:26:04 -!- nopseudoidea has quit (Quit: Quitte).
15:29:14 <oerjan> <Vorpal> fizzie, btw I found a lone block of obsidian out in the middle of nowhere yesterday
15:29:24 <oerjan> clearly a relic of the previous ice age
15:45:15 -!- poiuy_qwert has joined.
15:53:15 -!- elliott has joined.
15:54:22 <elliott> 22:03:56 <quintopia> Sgeo: evolution would tend to make them smaller, and shave off unnecessary components. aka, they'd devolve into viruses. more than half of the population would be viruses because there could be more of them in the same amount of space
15:54:30 <elliott> quintopia: that's only true iff it's true in this world too
15:55:33 <Phantom_Hoover> elliott, FWIW, I have previously pointed out that existing examples of CA evolution march inexorably towards miniaturisation.
15:56:02 <elliott> Phantom_Hoover: sure, that's what'll happen if you aren't a bastard and don't make them scavenge.
15:56:10 <elliott> Phantom_Hoover: and don't tile the plane with evil things they have to avoid.
15:56:37 <Phantom_Hoover> elliott, remember the tribulations in trying to invent an interesting conservative CA?
15:56:59 <elliott> Phantom_Hoover: yep. but you can do it inside life, really
15:57:15 <Phantom_Hoover> elliott, hmm. How?
15:57:16 <elliott> Phantom_Hoover: you just have to get an initial lifeform that has some kind of decaying thing that needs feeding :P
15:57:20 <elliott> and also tile the plane with obstacles
15:57:28 <elliott> such that even small, dumb things will bump into something eventually
15:57:33 <Phantom_Hoover> Incidentally: "There are no words in the English language to describe what I have seen, which is why the remainder of this book is in Finnish." Comment in the context of a Lyttle Lytton entry.
15:57:48 <elliott> Phantom_Hoover: Perfect.
15:57:53 <elliott> Phantom_Hoover: Although not really.
15:58:13 -!- p_q has joined.
15:58:13 <Phantom_Hoover> Could work comedically?
15:58:14 <elliott> Phantom_Hoover: That's merely funny, and as Adam loves to point out, it would be a perfectly good start to a comedic book.
15:58:24 <Phantom_Hoover> Yes.
15:58:26 <elliott> Phantom_Hoover: But it's not actually badly written, just very silly. :p
15:58:33 <oerjan> `translatefromto en fi There are no words in the English language to describe what I have seen, which is why the remainder of this book is in Finnish.
15:58:51 <HackEgo> Ei ole sanoja Englanti kielellä kertoa, mitä olen nähnyt, minkä vuoksi jäljellä tämä kirja suomeksi.
15:59:08 <Phantom_Hoover> Well, "badly-written" isn't necessary; just that you would think "oh, GOD" if someone made you read a book that opened with it.
15:59:27 -!- poiuy_qwert has quit (Ping timeout: 245 seconds).
16:03:15 <Phantom_Hoover> "As there are no words in the English language to describe what I have seen, I shall lay out the ones I have created for the purpose in brief."? It's pushing the word limit, and it's a bit clunky.
16:04:13 <Phantom_Hoover> But it has that groanworthy quality of a pretentious SF or fantasy novel.
16:04:33 * oerjan hits Phantom_Hoover with a lump of scrith
16:05:28 <Phantom_Hoover> OW!
16:05:45 <Phantom_Hoover> My NEUTRINOS!]
16:05:48 <Phantom_Hoover> s/]//
16:06:41 <elliott> Phantom_Hoover: "There are no words in the English language to describe what I have seen. Therefore, allow me to tell you about my constructed language."
16:06:57 <Phantom_Hoover> elliott, 2 sentences.
16:07:08 <elliott> Phantom_Hoover: 2 sentences appear several times in old competitions.
16:07:18 * oerjan hits elliott with a loaf of lembas
16:07:37 <Phantom_Hoover> elliott, hmm.
16:08:10 <elliott> Phantom_Hoover: Okay, I can't actually find two-sentence ones.
16:08:28 <Phantom_Hoover> elliott, [[You need not limit an entry to one sentence, and you can even enter more than once. ]]
16:08:40 <elliott> Phantom_Hoover: "As there are no words in the English language to describe what I have seen, the rest of this book is in Klingon."
16:08:59 <elliott> (You saw very violent things.)
16:09:04 <Phantom_Hoover> That's actually /funny/, though; Klingon makes things funny.
16:09:49 * oerjan poors some 'Iw HIq over elliott's head
16:10:26 <oerjan> *pours
16:10:35 <elliott> Phantom_Hoover: Yes, well.
16:10:53 <oerjan> WHAT IS HAPPENING TO MY SPELING
16:11:03 <Ilari> BTW: APNIC cumulative delegations this year: http://imagebin.ca/view/R7vXhV.html
16:11:11 <hagb4rd> lembas overdose
16:11:20 <Phantom_Hoover> elliott, the constructed lang/words ones are probably the most convincingly awful.
16:11:43 <Vorpal> elliott, what competition is this?
16:11:57 <elliott> Vorpal: The Lyttle Lytton, the world's premier bad book-opening authoring contest.
16:12:02 <Vorpal> elliott, ah
16:12:15 <Vorpal> elliott, does it have to be on that form?
16:12:33 <elliott> Vorpal: (Unlike the rabble of talentless hacks calling themselves the Bulwer-Lytton contest, who only manage to spew out some billions of words and call that a bad opening, Lyttle Lytton entries must be short. And terrible>0
16:12:35 <elliott> *terrible.)
16:12:39 <elliott> And no, I'm just trying to aid Phantom_Hoover.
16:13:50 <Phantom_Hoover> Vorpal, the tricky bit is making it amusingly awful but not making it satirical.
16:13:56 -!- Sgeo has joined.
16:14:21 <elliott> Phantom_Hoover: There are no words for what I have just seen. So I made some up, and here they are:
16:14:21 <Sgeo> Quassel is a bit ugly, and you MUST resize stuff
16:14:26 <Sgeo> But it doesn't seem terrible
16:14:42 <Phantom_Hoover> elliott, that. That is good.
16:14:51 <Sgeo> Also, sudo apt-get uninstall ubuntu-desktop did not have the effect I was expectinng
16:15:10 <Sgeo> Nor did sudo apt-get autoremove afterwards
16:18:25 <Ilari> Yes, they delegated 6.76x/8 just this year... And the total amount of space remaining to them is about 5.73(3.19[present]+2.00[newblocks]+1.54[various]-1.00[setaside])x/8s.
16:19:20 <elliott> Phantom_Hoover: "Ah, poetic Paris: with its pâtés and beaujolais, tiramisu and au jus."
16:19:24 <elliott> I love these winners.
16:19:57 <Phantom_Hoover> "Emperor Wu liked cake, but not exploding cake!"
16:20:02 <Phantom_Hoover> Cracks me up every time.
16:22:14 <fizzie> "Ei ole sanoja Englanti kielellä kertoa, mitä olen nähnyt, minkä vuoksi jäljellä tämä kirja suomeksi" -> "There are no words language English to tell, which is why there is left this book in Finnish", if I try to approximate the ungrammaticalness in it.
16:22:58 <fizzie> Whoops, I skipped the whole has-seen part.
16:23:03 <fizzie> That one is reasonably correct, though.
16:23:12 <elliott> Phantom_Hoover: Scaling Everest was, by far, the most amazing and transformative experience of my life. Unfortunately, this is a thesis on context-free grammars.
16:23:16 <elliott> Phantom_Hoover: I swear augur wrote that one.
16:23:31 <augur> what did i write? :o
16:23:36 <elliott> augur: "Scaling Everest was, by far, the most amazing and transformative experience of my life. Unfortunately, this is a thesis on context-free grammars."
16:23:48 <augur> hahaha
16:23:52 <augur> i wish i had written that. :D
16:24:00 <oerjan> augur would never write a thesis on something that simple
16:24:08 <augur> oerjan: depends on what the question is
16:24:31 <Phantom_Hoover> "Pika ... chu, thought Pikachu. "
16:24:37 <hagb4rd> it is unknown yet
16:24:40 <elliott> Fukutsuru died in 2005 but his frozen sperm lived on for people’s benefit.
16:24:43 <elliott> you can't really beat that
16:24:48 <oerjan> Phantom_Hoover: that one clearly was by pikhq
16:24:59 <elliott> pik... hq, thought pikhq.
16:25:00 <Phantom_Hoover> My... my god
16:25:06 <Phantom_Hoover> My mind is blown.
16:25:09 <elliott> Phantom_Hoover: That Fukutsuru line was from WIKIPEDIA.
16:25:17 <elliott> Phantom_Hoover: It's *still there*.
16:25:17 <Phantom_Hoover> elliott, I know!
16:25:28 <Phantom_Hoover> I have read through all of these twice!
16:26:21 <elliott> Phantom_Hoover: SO HAVE I
16:28:06 <Phantom_Hoover> '"Caramba!" exclaimed Diego de Fonseca, "a cucaracha has fallen onto the tortillas of my wife!"'
16:28:26 <Phantom_Hoover> Modulo italics.
16:30:42 <Phantom_Hoover> elliott, so "There are no words for what I have just seen, so I made some up, and here they are:"
16:30:48 <Phantom_Hoover> Final version?
16:31:06 <elliott> Phantom_Hoover: Hmm... Not sure.
16:31:14 <elliott> Phantom_Hoover: Gimme an hour or two to see if anything better pops into my head :P
16:41:36 -!- oerjan has quit (*.net *.split).
16:41:36 -!- Ilari_antrcomp has quit (*.net *.split).
16:41:36 -!- quintopia has quit (*.net *.split).
16:41:36 -!- Ilari has quit (*.net *.split).
16:41:37 -!- HackEgo has quit (*.net *.split).
16:41:37 -!- Gregor has quit (*.net *.split).
16:41:37 -!- augur has quit (*.net *.split).
16:41:37 -!- Wamanuz has quit (*.net *.split).
16:41:38 -!- jcp has quit (*.net *.split).
16:41:38 -!- elliott has quit (*.net *.split).
16:41:38 -!- pikhq has quit (*.net *.split).
16:41:38 -!- sebbu2 has quit (*.net *.split).
16:41:38 -!- Zuu_ has quit (*.net *.split).
16:41:38 -!- sshc has quit (*.net *.split).
16:41:39 -!- mycroftiv has quit (*.net *.split).
16:41:39 -!- Deewiant has quit (*.net *.split).
16:41:41 -!- aloril has quit (*.net *.split).
16:41:41 -!- mtve has quit (*.net *.split).
16:41:41 -!- yiyus_ has quit (*.net *.split).
16:41:41 -!- SimonRC has quit (*.net *.split).
16:41:41 -!- sftp has quit (*.net *.split).
16:41:41 -!- wareya has quit (*.net *.split).
16:41:42 -!- olsner has quit (*.net *.split).
16:41:42 -!- iamcal has quit (*.net *.split).
16:41:42 -!- jix has quit (*.net *.split).
16:41:42 -!- coppro has quit (*.net *.split).
16:41:42 -!- fxkr has quit (*.net *.split).
16:41:42 -!- nooga has quit (*.net *.split).
16:41:43 -!- ineiros has quit (*.net *.split).
16:41:43 -!- dbc has quit (*.net *.split).
16:41:43 -!- tswett has quit (*.net *.split).
16:41:43 -!- Sgeo has quit (*.net *.split).
16:41:43 -!- hagb4rd has quit (*.net *.split).
16:41:43 -!- Phantom_Hoover has quit (*.net *.split).
16:41:44 -!- cheater99 has quit (*.net *.split).
16:41:44 -!- Quadrescence has quit (*.net *.split).
16:41:44 -!- Vorpal has quit (*.net *.split).
16:41:44 -!- Leonidas has quit (*.net *.split).
16:41:45 -!- pingveno has quit (*.net *.split).
16:41:45 -!- Sasha2 has quit (*.net *.split).
16:41:46 -!- p_q has quit (*.net *.split).
16:41:46 -!- Slereah has quit (*.net *.split).
16:41:46 -!- MigoMipo has quit (*.net *.split).
16:41:47 -!- fizzie has quit (*.net *.split).
16:41:47 -!- FireFly has quit (*.net *.split).
16:41:47 -!- myndzi\ has quit (*.net *.split).
16:41:47 -!- lifthrasiir has quit (*.net *.split).
16:41:47 -!- yiyus has quit (*.net *.split).
16:43:48 -!- p_q has joined.
16:43:48 -!- elliott has joined.
16:43:48 -!- oerjan has joined.
16:43:48 -!- Slereah has joined.
16:43:48 -!- hagb4rd has joined.
16:43:48 -!- sftp has joined.
16:43:48 -!- MigoMipo has joined.
16:43:48 -!- Phantom_Hoover has joined.
16:43:48 -!- Ilari_antrcomp has joined.
16:43:48 -!- pingveno has joined.
16:43:48 -!- pikhq has joined.
16:43:48 -!- augur has joined.
16:43:48 -!- sebbu2 has joined.
16:43:48 -!- wareya has joined.
16:43:48 -!- Sasha2 has joined.
16:43:48 -!- cheater99 has joined.
16:43:48 -!- FireFly has joined.
16:43:48 -!- Quadrescence has joined.
16:43:48 -!- Wamanuz has joined.
16:43:48 -!- nooga has joined.
16:43:48 -!- Vorpal has joined.
16:43:48 -!- Deewiant has joined.
16:43:48 -!- Zuu_ has joined.
16:43:48 -!- quintopia has joined.
16:43:48 -!- myndzi\ has joined.
16:43:48 -!- tswett has joined.
16:43:48 -!- olsner has joined.
16:43:48 -!- Ilari has joined.
16:43:48 -!- fizzie has joined.
16:43:48 -!- HackEgo has joined.
16:43:48 -!- jcp has joined.
16:43:48 -!- aloril has joined.
16:43:48 -!- Gregor has joined.
16:43:48 -!- iamcal has joined.
16:43:48 -!- sshc has joined.
16:43:48 -!- mtve has joined.
16:43:48 -!- Leonidas has joined.
16:43:48 -!- ineiros has joined.
16:43:48 -!- dbc has joined.
16:43:48 -!- jix has joined.
16:43:48 -!- yiyus_ has joined.
16:43:48 -!- coppro has joined.
16:43:48 -!- mycroftiv has joined.
16:43:48 -!- fxkr has joined.
16:43:48 -!- lifthrasiir has joined.
16:43:48 -!- SimonRC has joined.
16:43:48 -!- yiyus has joined.
16:43:48 -!- nopseudoidea has joined.
16:46:03 <Vorpal> elliott, err, Yudkowsky wrote fanfic!?
16:46:25 <elliott> Vorpal: Does-write; it doesn't show any signs of stopping and I'm quite some chapters behind. It is hilarious.
16:46:34 <Vorpal> elliott, is it bad or good?
16:46:36 <elliott> http://www.fanfiction.net/s/5782108/1/Harry_Potter_and_the_Methods_of_Rationality
16:46:43 <elliott> Vorpal: It is very, very good. And hilarious.
16:46:55 <elliott> (Well, okay, it's not all yuks, but it is partly yuks.)
16:47:08 <Vorpal> elliott, does it take things seriously, or does it make fun of the thing? Considering the title...
16:47:25 -!- oerjan has quit (*.net *.split).
16:47:25 -!- Ilari_antrcomp has quit (*.net *.split).
16:47:25 -!- quintopia has quit (*.net *.split).
16:47:25 -!- Ilari has quit (*.net *.split).
16:47:26 -!- HackEgo has quit (*.net *.split).
16:47:26 -!- Gregor has quit (*.net *.split).
16:47:27 -!- augur has quit (*.net *.split).
16:47:27 -!- Wamanuz has quit (*.net *.split).
16:47:27 -!- jcp has quit (*.net *.split).
16:47:27 -!- elliott has quit (*.net *.split).
16:47:27 -!- pikhq has quit (*.net *.split).
16:47:27 -!- sebbu2 has quit (*.net *.split).
16:47:27 -!- Zuu_ has quit (*.net *.split).
16:47:28 -!- sshc has quit (*.net *.split).
16:47:28 -!- mycroftiv has quit (*.net *.split).
16:47:29 -!- Deewiant has quit (*.net *.split).
16:47:30 -!- aloril has quit (*.net *.split).
16:47:30 -!- mtve has quit (*.net *.split).
16:47:30 -!- yiyus_ has quit (*.net *.split).
16:47:30 -!- SimonRC has quit (*.net *.split).
16:47:30 -!- sftp has quit (*.net *.split).
16:47:30 -!- wareya has quit (*.net *.split).
16:47:31 -!- olsner has quit (*.net *.split).
16:47:31 -!- iamcal has quit (*.net *.split).
16:47:31 -!- jix has quit (*.net *.split).
16:47:31 -!- coppro has quit (*.net *.split).
16:47:31 -!- fxkr has quit (*.net *.split).
16:47:31 -!- nooga has quit (*.net *.split).
16:47:32 -!- ineiros has quit (*.net *.split).
16:47:32 -!- dbc has quit (*.net *.split).
16:47:32 -!- tswett has quit (*.net *.split).
16:47:32 -!- nopseudoidea has quit (*.net *.split).
16:47:33 -!- hagb4rd has quit (*.net *.split).
16:47:33 -!- Phantom_Hoover has quit (*.net *.split).
16:47:33 -!- cheater99 has quit (*.net *.split).
16:47:33 -!- Quadrescence has quit (*.net *.split).
16:47:33 -!- Vorpal has quit (*.net *.split).
16:47:33 -!- Leonidas has quit (*.net *.split).
16:47:34 -!- pingveno has quit (*.net *.split).
16:47:34 -!- Sasha2 has quit (*.net *.split).
16:47:35 -!- p_q has quit (*.net *.split).
16:47:35 -!- Slereah has quit (*.net *.split).
16:47:35 -!- MigoMipo has quit (*.net *.split).
16:47:35 -!- fizzie has quit (*.net *.split).
16:47:36 -!- FireFly has quit (*.net *.split).
16:47:36 -!- myndzi\ has quit (*.net *.split).
16:47:36 -!- lifthrasiir has quit (*.net *.split).
16:47:36 -!- yiyus has quit (*.net *.split).
16:47:57 -!- nopseudoidea has joined.
16:47:57 -!- p_q has joined.
16:47:57 -!- elliott has joined.
16:47:57 -!- oerjan has joined.
16:47:57 -!- Slereah has joined.
16:47:57 -!- hagb4rd has joined.
16:47:57 -!- sftp has joined.
16:47:57 -!- MigoMipo has joined.
16:47:57 -!- Phantom_Hoover has joined.
16:47:57 -!- Ilari_antrcomp has joined.
16:47:57 -!- pingveno has joined.
16:47:57 -!- pikhq has joined.
16:47:57 -!- augur has joined.
16:47:57 -!- sebbu2 has joined.
16:47:57 -!- wareya has joined.
16:47:57 -!- Sasha2 has joined.
16:47:57 -!- cheater99 has joined.
16:47:57 -!- FireFly has joined.
16:47:57 -!- Quadrescence has joined.
16:47:57 -!- Wamanuz has joined.
16:47:57 -!- nooga has joined.
16:47:57 -!- Vorpal has joined.
16:47:57 -!- Deewiant has joined.
16:47:57 -!- Zuu_ has joined.
16:47:57 -!- quintopia has joined.
16:47:57 -!- myndzi\ has joined.
16:47:57 -!- tswett has joined.
16:47:57 -!- olsner has joined.
16:47:57 -!- Ilari has joined.
16:47:57 -!- fizzie has joined.
16:47:57 -!- HackEgo has joined.
16:47:57 -!- jcp has joined.
16:47:57 -!- aloril has joined.
16:47:57 -!- Gregor has joined.
16:47:57 -!- iamcal has joined.
16:47:57 -!- sshc has joined.
16:47:57 -!- mtve has joined.
16:47:57 -!- Leonidas has joined.
16:47:57 -!- ineiros has joined.
16:47:57 -!- dbc has joined.
16:47:57 -!- jix has joined.
16:47:57 -!- yiyus_ has joined.
16:47:57 -!- coppro has joined.
16:47:57 -!- mycroftiv has joined.
16:47:57 -!- fxkr has joined.
16:47:57 -!- lifthrasiir has joined.
16:47:57 -!- yiyus has joined.
16:47:57 -!- SimonRC has joined.
16:48:05 <Vorpal> right
16:48:30 <Vorpal> bbl food
16:50:37 -!- ais523 has joined.
16:53:52 <Phantom_Hoover> elliott, incidentally, when does the 2011 competition close?
16:54:05 <elliott> Phantom_Hoover: Um, 2011, one would assume.
16:54:21 <elliott> "I will accept entries up to but not after 2011 April 15 at noon, Pacific Time."
16:56:10 -!- nopseudoidea has quit (Quit: Quitte).
16:57:48 <Phantom_Hoover> Ah.
17:00:55 <elliott> Oh jesus christ, now reddit are masturbating over the fact that http://surfraw.alioth.debian.org/ was written by Julian Assange.
17:01:21 <elliott> YOU GUYS, WE LIKE JULIAN ASSANGE, AND GET THIS: BEFORE HE BECAME THE SELF-APPOINTED "PERSON WHO DOES VERY LITTLE EXCEPT BE A LIGHTNING ROD FOR WIKILEAKS", HE *WROTE SOME PROGRAMS OH MY FUCKING GOD*
17:03:32 <Phantom_Hoover> Was this pre- or post-ridiculous hair?
17:04:37 <elliott> His ridiculous hair is CONSTANT.
17:08:18 <elliott> Anyone going on Minecraft?
17:09:32 <Phantom_Hoover> I'm not on.
17:09:48 <elliott> Yes, but going-on.
17:11:12 <Phantom_Hoover> Don't know.
17:14:28 <elliott> Ooh, fizzie's bunker has pretty.
17:17:04 <elliott> "After a lot of writing in Q10 on Windows, I got used to the typewriter sound it makes every time you press a key. At least for me it feels great to have this sort of sound feedback.
17:17:05 <elliott> On Linux on the other hand, I love writing it VIM, because of it's editing features. How could I add this functionality to VIM?
17:17:05 <elliott> Simply said, I want to play a sound every time I press a key in the insert mode."
17:17:08 <elliott> You can't make this shit up.
17:17:58 <Vorpal> elliott, who said that
17:18:06 <elliott> Vorpal: http://stackoverflow.com/questions/4418364/how-can-i-make-vim-play-typewriter-sound-when-i-write-a-letter/4418605#4418605
17:18:08 <elliott> erm
17:18:10 <elliott> Vorpal: http://stackoverflow.com/questions/4418364/how-can-i-make-vim-play-typewriter-sound-when-i-write-a-letter/
17:18:34 <Vorpal> elliott, presumably you could patch it to do that.. I mean, it shouldn't be too hard at all really
17:18:45 <elliott> Vorpal: It was solved in Vimscript, but that's not the point.
17:18:47 <elliott> The point is WHY GOD WHY.
17:18:53 <Vorpal> heh
17:18:54 <elliott> [[Is why I love vim, because "crazy" and dare all other "freaks" are always ready to give them the answer, and "Vim" in turn serves as a backdrop to all this by having these endless possibilities. – user107745 6 hours ago]] <----- what
17:18:58 <Vorpal> and why god why indeed
17:19:14 <elliott> "Perhaps what you really want is an IBM Model M keyboard." "After buying $200 keyboard? Nothx :) – Darth 21 hours ago"
17:19:23 <elliott> Ooh, I bet it was a Logitech expensive-mush keyboard.
17:19:26 <elliott> Money well wasted!
17:20:21 <elliott> "Redis without a Linux kernel - How to run Redis natively on Xen"
17:20:25 <elliott> Is Xen the new OS? :)
17:21:34 <Vorpal> elliott, xen actually runs below the dom0 in some senses
17:21:57 <elliott> Vorpal: Indeed.
17:22:05 <elliott> Vorpal: I've just heard "Foo on Xen" quite a bit lately.
17:22:16 <elliott> Vorpal: Am I right in thinking that Xen's dom0 architecture is totally insane?
17:22:28 <Vorpal> elliott, I don't know the details
17:22:42 <Vorpal> elliott, but it seems probable
17:35:18 -!- pingveno has quit (Read error: Connection reset by peer).
17:35:38 -!- pingveno has joined.
17:41:20 -!- Mathnerd314 has joined.
17:53:32 -!- oerjan has quit (Quit: leaving).
17:54:52 -!- hagb4rd has quit (Ping timeout: 245 seconds).
18:00:23 <pikhq> elliott: It is completely insane.
18:00:58 <elliott> pikhq: CubeHash isn't an SHA-3 finalist :(
18:02:03 <elliott> pikhq: Meanwhile: Fragments from "WikiLeaks! The Musical.": http://www.mcsweeneys.net/2010/12/2greenman.html
18:02:20 <Vorpal> elliott, on what grounds?
18:02:32 <elliott> Vorpal: They don't state their reasons individualy.
18:02:44 <Vorpal> elliott, ah, but presumably technical reasons?
18:02:57 <elliott> Well ...
18:03:03 <elliott> Vorpal: The selection was challenging, because we had a strong field of fourteen hash algorithms remaining in the SHA-3 competition that were very strong contenders for the hash function standard. Security was our greatest concern, and we took this very seriously, but none of these candidates was clearly broken. However, it is meaningless to discuss the security of a hash function without relating security to performance, so in reality, NIST wan
18:03:03 <elliott> ted highly secure algorithms that also performed well. We preferred to be conservative about security, and in some cases did not select algorithms with exceptional performance, largely because something about them made us “nervous,” even though we knew of no clear attack against the full algorithm.
18:03:19 <elliott> Vorpal: tl;dr CubeHash isn't in because it isn't.
18:03:42 <Vorpal> elliott, was cubehash fast?
18:03:50 <elliott> Vorpal: It was parameterisable. But yes, it was fast.
18:04:21 <elliott> The SHA-3 contender was CubeHash 16/32, which is as fast as SHA-256 and SHA-512, sez djb.
18:04:45 <Vorpal> elliott, mhm.
18:04:51 <Vorpal> bbl
18:05:00 -!- hagb4rd has joined.
18:11:10 -!- Slereah has quit (Ping timeout: 240 seconds).
18:14:02 <pikhq> elliott: "Something about them made us 'nervous'"?
18:14:10 <pikhq> elliott: Damned stupid selection criterion.
18:14:21 <elliott> pikhq: They're just afraid of djb's BLACK STARE.
18:16:03 -!- Slereah has joined.
18:21:47 <elliott> ais523: hi
18:28:52 -!- asiekierka has joined.
18:28:53 <asiekierka> hello!
18:30:14 <elliott> oh dear
18:34:23 <elliott> "On an i386 system with x86-64 kernel" What.
18:41:22 <elliott> pikhq: MAME is non-DFSG. Lame.
18:41:27 <elliott> pikhq: You should rewrite it.
18:45:36 <Phantom_Hoover> 'sup?
18:46:45 <elliott> Phantom_Hoover: supness.
18:48:48 <elliott> ais523: ping
18:48:58 <Phantom_Hoover> Any furtherances on the Lyttle Lytton front?
18:50:06 <elliott> Phantom_Hoover: Not really.
18:50:10 <elliott> Vorpal: [[Also in 2007, the Open Group reached a binding legal agreement to prevent the German University of Kassel from using "UNIK" as its short form name.]]
18:50:42 <Phantom_Hoover> "There are no words for what I have just seen, so here are the ones I made up:"
18:51:02 <Phantom_Hoover> Good enough?
18:51:09 <elliott> Phantom_Hoover: No...
18:51:13 <elliott> Phantom_Hoover: That one's not good.
18:51:51 <Phantom_Hoover> Why?
18:52:31 <elliott> Phantom_Hoover: Dunno.
18:53:03 <Phantom_Hoover> "There are no words for what I have just seen, so I made some up."?
18:53:27 <elliott> [[In 2004 a bootleg version of MAME was created, called '39-in-1' which ran on an Intel XScale processor. As of version 0.133u1, MAME also emulates this 'game', thus in essence, emulates itself.]]
18:54:00 <elliott> Phantom_Hoover: "There are no words for what I have just seen, so I made some up, and here they are:" is the last one you and I said.
18:54:04 <elliott> I'm still mulling it over though.
18:54:39 <Phantom_Hoover> Hmm. Ordinarily, I'd go for compactness, but bumbling prose is good here.
18:56:04 <elliott> Phantom_Hoover: Let's make an end-of-book sentence! Dunno if that competition's being run this year, but let's do it anyway.
18:56:15 <Phantom_Hoover> It is.
18:56:41 <elliott> Phantom_Hoover: First thought: "And that was when I finally conceded that, yes, orang-utans probably *do* exist. Probably."
18:56:48 <elliott> Phantom_Hoover: First thought: "And that was when I finally conceded that, yes, orang-utans *do* exist. Probably."
18:56:50 <pikhq> make: *** No rule to make target `1.2.mkv', needed by `all'. Stop.
18:56:55 <Phantom_Hoover> Follow-up to that opening sentence, laced with poorly-made up words?
18:56:58 <pikhq> There's a rule for %.mkv.
18:57:09 <pikhq> I'm pretty sure that matches 1.2.mkv.
18:57:13 <pikhq> What the hell, Make?
18:57:20 <elliott> pikhq: Show your Makefile; I've fixed problems like that before.
18:57:36 <pikhq> http://sprunge.us/DJSX
18:57:59 <elliott> Phantom_Hoover: And that's when her furli'net finally absorbed my guarætïr, in a most hunji manner. At last, I was a virgin no more.
18:58:14 <Phantom_Hoover> Heh.
18:58:30 <elliott> pikhq: So, uh, do 1.2.mp4 1.2.ac3 1.2.... all exist?
18:58:34 <elliott> pikhq: Because if not, it won't count as an implicit rule.
18:58:53 <Phantom_Hoover> That would actually work with the opening, and reinforce the implication that this book was eyelash-wrenchingly awful.
18:58:55 <pikhq> ... Wait, %.title shouldn't be there.
18:59:00 <elliott> pikhq: (Imagine having a rule "%.o: %.s" and doing "make foo.o" when you have foo.c; you don't want it to try and make foo.s, you want it to say "Sorry, you don't have a rule to do that!")
18:59:28 <elliott> pikhq: Also...
18:59:38 <elliott> pikhq: ${<:%.mp4=%.ac3} is the same as $*.ac3
18:59:43 <elliott> Stems, man.
18:59:46 <pikhq> elliott: Oh, dur.
19:00:04 <elliott> pikhq: Also, make it a mkfile! Everyone loves mkfiles!
19:00:50 <elliott> pikhq: "2>&/dev/null" What.
19:00:55 <elliott> pikhq: That & is... no.
19:01:22 <elliott> %.ac3: %.title
19:01:22 <elliott> tccat -i ${DVDPATH} -T ${TITLE},-1 | tcextract -x ac3 -t vob -a 0 > %@
19:01:26 <elliott> pikhq: excuz me wat is %@
19:01:32 <pikhq> A typo.
19:01:44 <elliott> %.sid1.idx: %.title
19:01:44 <elliott> tccat -i ${DVDPATH} -T ${TITLE},-1 | tcextract -x ps1 -t vob -a 33 | subtitle2vobsub -o ${<:%.idx=%} -i ${DVDPATH}/VIDEO_TS/VTS_`printf '%.2i\n' ${TITLE}`_0.IFO
19:01:44 <elliott> %.sid1.sub: %.sid1.idx
19:01:53 <elliott> pikhq: Does the %.sid1.idx rule create %.sid1.sub too?
19:01:57 <pikhq> Yes.
19:02:01 <elliott> pikhq: YOU FAIL AT MAKE
19:02:06 <elliott> %.sid1.idx %.sid1.sub: %.title
19:02:07 <elliott> tccat -i ${DVDPATH} -T ${TITLE},-1 | tcextract -x ps1 -t vob -a 33 | subtitle2vobsub -o ${<:%.idx=%} -i ${DVDPATH}/VIDEO_TS/VTS_`printf '%.2i\n' ${TITLE}`_0.IFO
19:02:10 <elliott> pikhq: Fixed that for you.
19:02:16 <elliott> (And remove the dependency-only rule.)
19:02:43 <pikhq> elliott: That does *not* actually work the way you think it does.
19:02:51 <elliott> pikhq: It doesn't? I've done it before and I swear it does.
19:03:01 <pikhq> elliott: Make will call that rule to make %.sid1.idx, and then to make %.sid1.sub.
19:03:14 <elliott> pikhq: Well that's stupid.
19:03:18 <pikhq> Yes, yes it is.
19:03:29 <elliott> pikhq: As well as using $*, I'd also unify the sid0 and sid1 rules, and just use "foo: VOB_A_PARAM=32 or 33". (With a better name.)
19:03:42 <elliott> Also I'm not sure why you're saying ${FOO}; $(FOO) is more conventional.
19:04:02 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:04:11 <pikhq> Because, uh.
19:05:03 -!- asiekierka has quit (Ping timeout: 265 seconds).
19:07:43 <elliott> pikhq: Rewrite it in mk/rc!
19:09:56 <pikhq> Now, to figure out why it's still not making 1.2.mkv.
19:10:25 <elliott> pikhq: Rewrite it in mk/rc!
19:10:34 <elliott> pikhq: Or just use make -v.
19:11:16 <pikhq> -v is version info.
19:11:24 <pikhq> make -d is more helpful.
19:11:33 <elliott> Yeah well your mother.
19:11:35 <Phantom_Hoover> Is it just me, or does WikiLeaks not actually have any leaked stuff on its site?
19:11:36 <elliott> pikhq: MK/RC
19:11:48 <elliott> Phantom_Hoover: http://213.251.145.96/
19:11:53 <elliott> Phantom_Hoover: See the links with dates below them.
19:12:07 <elliott> http://213.251.145.96/cablegate.html, http://213.251.145.96/file/wikileaks_archive.7z, http://213.251.145.96/iraq/diarydig/, http://213.251.145.96/iraq/diarydig/, http://www.collateralmurder.com/
19:12:38 <Phantom_Hoover> Ahh.
19:12:45 <elliott> Not a very good link colour, admittedly.
19:14:49 <pikhq> It would appear to be *fucking retarded*.
19:15:11 <pikhq> "Hmm, I have an implicit rule without prereqs that gets me a prereq for my target. Well, fuck that."
19:15:20 <elliott> pikhq: mk!
19:15:21 <elliott> pikhq: mk and rc!
19:15:26 <elliott> pikhq: plan 9 port!
19:15:59 <pikhq> ... I get the strong feeling that Make hates rules without prereqs.
19:17:02 -!- cheater99 has joined.
19:17:06 <elliott> pikhq: mk!
19:17:20 <elliott> pikhq: I've used it before! It's great!
19:17:23 <pikhq> Fuck it. Everything gets a prereq on $(DVDPATH).
19:17:34 <elliott> pikhq: mk!
19:17:35 <elliott> pikhq: I've used it before! It's great!
19:17:35 <pikhq> (it even makes sense!)
19:17:43 <elliott> pikhq: WHY DO YOU IGNORE ME
19:20:04 <pikhq> Does mk handle implicit rules without prereqs?
19:20:11 <elliott> pikhq: Pretty sure, yes.
19:20:17 <elliott> pikhq: It Just Works.
19:20:26 <pikhq> GAAAH WHY WON'T MAKE PROCESS THIS NOW.
19:20:38 <pikhq> IT SEEMS TO FAIL AT PREREQS.
19:20:40 <elliott> pikhq: Also you say $stem instead of $* and you can say $foo instead of $(foo) and also the whole body of rules is executed as one thing, so "cd" works.
19:20:44 <pikhq> YES, /dev/null EXISTS.
19:20:47 <elliott> pikhq: And also you can quiet an entire rule by using attributes.
19:21:03 <pikhq> IT REALLY, REALLY, REALLY FUCKING EXISTS.
19:21:59 <elliott> pikhq: Also mk has awesome shit:
19:22:00 <elliott> pikhq: P The characters after the P until the terminating : are taken as a program name. It will be invoked as rc –c prog 'arg1' 'arg2' and should return a null exit status if and only if arg1 is up to date with respect to arg2. Date stamps are still propagated in the normal way.
19:22:08 <elliott> pikhq: R The rule is a meta–rule using regular expressions. In the rule, % has no special meaning. The target is interpreted as a regular expression as defined in regexp(6). The prerequisites may contain references to subexpressions in form \n, as in the substitute command of sam(1).
19:22:15 <elliott> U The targets are considered to have been updated even if the recipe did not do so.
19:22:31 <pikhq> OH FUCK THIS.
19:22:43 <elliott> pikhq: plan 9 port! mk!
19:22:47 <pikhq> http://sprunge.us/BjPa
19:23:00 <pikhq> This is what I've got right now, with 1.{1..7}.fuck touched.
19:23:01 <elliott> pikhq: http://swtch.com/plan9port/man/man1/mk.html Unix man page for mk.
19:23:16 <elliott> pikhq: All you have to do is "MKSHELL=$PLAN9/bin/rc" and it is wonderful!
19:23:19 <pikhq> IT HATES ME SO.
19:23:25 <elliott> "Andrew Hume wrote mk for Tenth Edition Research Unix. It was later ported to Plan 9. This software is a port of the Plan 9 version back to Unix."
19:23:38 <elliott> pikhq: WHY ARE YOU SO TIED TO YOUR EVIL BUILD TOOL
19:24:07 <pikhq> elliott: Honestly, I just want to know *why* this doesn't work. And then I will probably switch it over to mk.
19:24:18 <elliott> pikhq: I've debugged similar problems before, but I forgot how to fix them.
19:24:36 <pikhq> MAKE, YOU SIMPLETON, 1.2.fuck EXISTS.
19:24:43 <elliott> It's not that.
19:24:48 <elliott> It's something else it doesn't like.
19:25:27 <pikhq> It's somehow not finding an implict rule for 1.2.mkv.
19:25:27 <elliott> pikhq: Right now, I've half-convinced myself that the best build system is a "memoise" command that runs the command given in its arguments if and only if its dependencies have changed, where the dependencies are determined by tracing the program the first time. (This actually exists, it's called memoize.py. But I think it needs tweaking to be truly perfect.)
19:25:58 <elliott> pikhq: Then just a bunch of canned commands like "CC() { echo CC "$@"; $CC $CFLAGS $LDFLAGS "$@" }"
19:26:16 <pikhq> Okay, it disliked my %.sid0.sub rule.
19:27:59 <Vorpal> <Phantom_Hoover> "There are no words for what I have just seen, so here are the ones I made up:" <-- there *were* no words in that case
19:28:37 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:30:13 <elliott> Vorpal: that's intentional.
19:31:36 <elliott> pikhq: http://web.archive.org/web/20070612145920/http://www.eecs.berkeley.edu/~billm/memoize.html
19:32:17 -!- nopseudoidea has joined.
19:34:51 <hagb4rd> hey guys! using the powershell?..question: is there a way to br0wse thr0ugh the namespaces of the attached .net assemblies? i'd like to see which classes, enums exist in specific namespace.. i use get-member or get-childitem on objects, but it doesn't seem to work with namespaces^^ help please..
19:35:00 <elliott> hagb4rd: (1) nobody here uses windows
19:35:08 <elliott> hagb4rd: (2) "br0wse thr0ugh"? what are you, 14?
19:35:34 <hagb4rd> thx elliott^^
19:35:39 <Vorpal> ... ?
19:35:47 <elliott> Glad to help!
19:35:50 <elliott> Vorpal: "... ?"?
19:36:56 <Vorpal> elliott, at the very thing you just responded to
19:37:04 <elliott> Vorpal: powershell is this thing for windows.
19:37:12 -!- nopseudoidea has quit (Client Quit).
19:37:14 <Vorpal> elliott, utter astonishment at his answer to your reply to him
19:37:24 <elliott> i think he was being slightly sarcastic.
19:37:25 <elliott> ever so.
19:37:34 <tswett> /sb end
19:37:38 <Vorpal> elliott, s/ever/even/?
19:37:40 <tswett> is a very useful command.
19:37:41 <elliott> no.
19:37:45 <Vorpal> ah
19:37:59 <elliott> Vorpal: powershell is actually kinda cool; it's like sh but object-oriented (admittedly it's .NET), so rich objects pass between the | pipes and get formatted automatically or customly depending on where you feed them. but, uh, it's still .NET.
19:38:59 <Vorpal> elliott, yeah, it's .NET, also it is bloated. Every time you like it, a bunny named glenda becomes sad. Or something.
19:39:12 <elliott> Vorpal: insert middle finger
19:39:24 <Vorpal> elliott, that sounds rude to the bunny
19:39:34 <coppro> the general model is actually pretty cool
19:39:39 <coppro> but, yeah, .net
19:39:59 <elliott> hmm, is stat64 just what's called instead of stat on x86-64 kernels?
19:40:23 <Vorpal> elliott, hm, isn't stat64 for large file support on 32-bit?
19:40:51 <elliott> oh, maybe
19:40:59 <elliott> just -
19:41:00 <elliott> os.system('strace -f -o %s -e trace=open,stat64,exit_group %s' % (outfile, cmd))
19:41:04 <elliott> wonder why stat's not there
19:41:21 <Vorpal> elliott, which is kind of on all the time on 64-bit. So presumably it only needs one system call. No idea what it might be named though
19:41:31 <Vorpal> elliott, where is that from?
19:42:02 <elliott> Vorpal: memoize.py
19:42:07 <Vorpal> ah
19:42:22 <Vorpal> elliott, very strange then
19:43:12 <elliott> hmm, tracing for stat seems to pick up lstat too
19:43:12 <Vorpal> elliott, in fact, shouldn't it trace all the stat variants
19:43:13 <elliott> with strace
19:43:18 <elliott> how odd
19:43:24 <Vorpal> elliott, heh
19:43:52 <elliott> why is that?
19:44:00 <Vorpal> elliott, I don't know.
19:45:18 <Vorpal> elliott, does it track deps properly too?
19:45:37 <elliott> Vorpal: what, memoize?
19:45:37 <elliott> yes
19:45:41 <Vorpal> nice
19:45:42 <elliott> that's why it uses strace
19:45:46 <elliott> to find out what files the program uses :)
19:45:50 <elliott> program=compiler
19:46:27 <Vorpal> elliott, can it do conditional compilation. Sometimes having something like --enable-large-optional-feature-that-depends-on-uncommon-stuff is useful. (with a shorter name preferably!)
19:46:43 <elliott> Vorpal:
19:46:45 <Vorpal> doesn't need to be fancy, just that really
19:46:49 <hagb4rd> elliott droog .. im 29! i mentioned and am really sorry about my poor english.. it's a pity, because i really like this chan and conversations here are kind of inspiring.. but with my couple of words i really feel a little like a stupid child in here.. i try to do sth about it.. sry
19:46:50 <elliott> if [ "$poop" = 1 ]; then
19:46:53 <elliott> memoize.py foo bar baz
19:46:53 <elliott> fi
19:47:01 <elliott> hagb4rd: it's ok, i'm just an asshole
19:47:05 <elliott> ignore me
19:47:12 <Vorpal> elliott, hm interesting (that code)
19:47:17 <hagb4rd> *g
19:47:49 <elliott> Vorpal: of course you'd probably prefer to use a nicer shell... say rc
19:47:53 <elliott> Vorpal: if($poop) memoize.py foo bar baz
19:47:56 <elliott> (where $poop is true or false)
19:48:11 <elliott> Vorpal: of course you'd want scaffolding around all this to make it more automatic
19:48:11 <Vorpal> elliott, also if I'm a developer I would probably prefer to write some code to make it remember between build runs
19:48:16 <elliott> and memoize itself isn't maintained
19:48:17 <Vorpal> elliott, maybe just a wrapper script
19:48:18 <elliott> but,s till
19:48:20 <elliott> *but, still
19:48:36 <Vorpal> elliott, if memoize still works, I don't really see any issue
19:48:40 <elliott> Vorpal: um it does remember
19:48:42 <elliott> Vorpal: it saves it to a file
19:49:00 <Vorpal> elliott, so you don't invoke the same script the next time you build? but another one?
19:49:04 <Vorpal> makes sense
19:49:10 <elliott> Vorpal: what?
19:49:22 <elliott> Vorpal: no, memoize.py just looks to see if the dependencies file is there and goes, "oh look, it is" and uses it.
19:49:34 <elliott> you can also use it from python
19:49:56 <Vorpal> elliott, well, lets say I have conditional compilation for optional feature. Do I run ./build.py <list of options or such> every time?
19:50:19 <Vorpal> elliott, can I make it just do ./build.py after that basically
19:50:23 <elliott> Vorpal: Um, ./configure --additional-pylons --butt-tastic would presumably create config.sh.
19:50:32 <elliott> Then ./build would do ". config.sh" or the like.
19:50:46 -!- MigoMipo has quit (Ping timeout: 240 seconds).
19:50:47 <elliott> (Substitute equivalent things for Python, and also s/sh/yaml/ or s/sh/xml/ or whatever the hell you want to store configuration in.)
19:51:02 <Vorpal> elliott, any parallel support?
19:51:14 <Vorpal> equiv of -j2 or such I mean
19:51:39 <elliott> Vorpal: Um, it's just a function call. In non-Python usage, it's just a process called once for each command. Anyway the script is tiny, read it yourself ffs: http://web.archive.org/web/20070622221648/www.eecs.berkeley.edu/~billm/memoize.py
19:51:46 <elliott> The answer is no, but I'm not telling anyone to use memoize.py.
19:51:51 <elliott> I'm just saying it's a better design than mk.
19:52:02 <Vorpal> elliott, so -j is basically the only thing missing to make it perfect
19:52:10 <elliott> Vorpal: No, more is missing.
19:52:15 <Vorpal> elliott, such as?
19:52:17 <elliott> Because you'd have to write ./configure manually and the like.
19:52:21 <Vorpal> well okay
19:52:37 <elliott> Vorpal: A way to use it more efficiently without having to write your script in Python? Some "memoize" function that talks to a pipe it has, rather than making a bunch of processes.
19:52:43 <Vorpal> elliott, idea: autoconf - automake + memoize = what?
19:52:57 <elliott> Vorpal: Um, = autoconf is still terrible.
19:53:02 <Vorpal> elliott, hm true
19:53:15 <Vorpal> elliott, also probably a pain to get that working
19:53:20 <Vorpal> (with memoize I mean)
19:53:33 * elliott ptraces his utensils.
19:53:35 <elliott> Hee, so few syscalls.
19:53:49 <elliott> $ strace bin/uname >/dev/null
19:53:49 <elliott> execve("bin/uname", ["bin/uname"], [/* 35 vars */]) = 0
19:53:49 <elliott> arch_prctl(ARCH_SET_FS, 0x7fffc7abfc50) = 0
19:53:49 <elliott> uname({sys="Linux", node="dinky", ...}) = 0
19:53:49 <elliott> write(1, "Linux", 5) = 5
19:53:50 <elliott> write(1, "\n", 1) = 1
19:53:52 <elliott> _exit(0) = ?
19:54:06 <Vorpal> elliott, still, -j is actually very nice when building something large. Not sure how you can make that work for first build easily
19:54:12 <ais523> elliott: autoconf is perfectly capable of memoizing too; it doesn't by default because people kept transferring the cache files between computers
19:54:15 <elliott> Vorpal: Yeah, -j is nice.
19:54:37 <elliott> ais523: context fail
19:54:53 <Vorpal> elliott, memoize could easily -j for builds where it already know the deps, but for initial build I don't see how it could possibly do that
19:54:54 <elliott> ais523: I'd expect ignoring the context and replying while ignoring pertinent details like ".py" from Vorpal, not you ...
19:54:56 <elliott> Vorpal: The first build it ... might ... work. The problem is of course that the dependency information is implicit in the ordering until it's calculated.
19:54:57 <elliott> Vorpal: yeah
19:55:04 <elliott> Vorpal: but, OTOH...
19:55:13 <elliott> Vorpal: if your linking phase fails because some object files aren't there, the script could take that into account
19:55:15 <elliott> and try again
19:55:21 <Vorpal> elliott, which kind of defeats the point of -j for anyone but a developer
19:55:34 <Vorpal> elliott, well sure, but what is linking in general
19:55:46 <elliott> Vorpal: well, it's irrelevant... cc tries to open all these object files
19:55:47 <elliott> some don't exist
19:55:49 <elliott> it fails
19:55:55 <elliott> the script goes "ah! I'll try again when those files come into existence"
19:56:33 <Vorpal> elliott, what about building a tool used to build other files? Example: ick builds oil which is used to generate another c file which will be compiled later
19:57:01 <elliott> Vorpal: oh, shut up :P
19:57:14 <elliott> Vorpal: you know what the perfect build system is?
19:57:22 <elliott> ghc --make src/Main.hs -o foo
19:57:39 <Vorpal> elliott, yes indeed. You can make very good language-specific build systems
19:57:52 <Vorpal> elliott, erlang has a good one too for example. But well, they are language specific.
19:58:04 <elliott> Vorpal: good! who wants to use another crappy language anyway
19:59:00 <Vorpal> elliott, hm.
19:59:11 <Vorpal> elliott, it does become a problem for a mixed language project
19:59:22 <elliott> Vorpal: *a crappy project!
19:59:33 <Vorpal> elliott, like... ghc itself?
19:59:36 <Phantom_Hoover> Vorpal, is just being jingoistically Swedish.
19:59:41 <Vorpal> elliott, :P
20:00:55 <Vorpal> (I'm 99% certain that parts of ghc runtime stuff, such as GC, isn't written in haskell.)
20:05:37 -!- oerjan has joined.
20:07:15 <elliott> ais523: you know scapegoat?
20:10:42 <Vorpal> elliott, the tree structure?
20:10:49 <elliott> Vorpal: what?
20:10:56 <Vorpal> elliott, scapegoat tree
20:11:00 <Vorpal> elliott, a data structure
20:11:06 <elliott> no, i don't mean that.
20:11:10 <Vorpal> elliott, ah
20:11:21 <Vorpal> elliott, I asked because it was unclear to me what you meant
20:12:35 -!- augur has quit (Remote host closed the connection).
20:12:59 -!- augur has joined.
20:13:52 <elliott> (message (buffer-string)) <-- anyone who can make that elisp not a horrible hack gets points
20:13:57 <elliott> (must go to stdout when using emacs --batch)
20:14:03 <elliott> (don't care what it does when X is there)
20:14:14 <elliott> (or, anything but --batch really)
20:14:56 <elliott> well okay so that does to stderr
20:14:57 <elliott> whatever
20:15:02 <elliott> I've tried (write-file "/dev/stdout")
20:15:18 <elliott> aha, there is princ
20:17:06 <quintopia> what's the proper to display a constantly changing file in a terminal in such a way that the display automatically updates when the file changes?
20:17:35 -!- augur has quit (Ping timeout: 250 seconds).
20:17:56 <elliott> quintopia: um, tail -f if all that happens is appending
20:18:19 <quintopia> elliott: entire file contents get replace
20:18:28 <elliott> quintopia: does it need to be immediate?
20:18:35 <quintopia> pretty much
20:18:45 <Vorpal> hm watch -n 0.001 ?
20:18:47 <Vorpal> XD
20:18:56 <elliott> quintopia: sucks to be you, write your own
20:19:09 <elliott> Vorpal: wow, i had no idea watch did that.
20:19:14 <elliott> Vorpal: i've always just used clear in a loop with sleep :)
20:19:31 <elliott> Vorpal: watch seems to change 0.001 to 0.1 :P
20:20:41 <Vorpal> heh
20:20:48 <Vorpal> elliott, watch is also linux specific iirc
20:20:57 <Vorpal> elliott, at least watch means something very very different on *BSD
20:21:13 <Vorpal> (something to do with tty snooping iirc)
20:21:23 <elliott> Vorpal: yeah bsd watch is more fun!
20:21:36 <quintopia> so it's not really feasible to do it without polling, and as such, the best method is to continuously check the last write of the file, and refresh the display when it changes?
20:22:11 <elliott> quintopia: you can do it without polling.
20:22:13 <elliott> FAM, say.
20:22:16 <elliott> but it would involve coding.
20:22:27 <elliott> quintopia: what you said is pointless, though
20:22:29 <Vorpal> quintopia, gamin or inotify yeah
20:22:29 <elliott> cat is basically instant
20:22:32 <elliott> no need to check for last write
20:22:49 <Vorpal> elliott, depends on size of file
20:22:50 <elliott> quintopia: "watch -n 0.1 cat foo" should do fine.
20:22:56 <elliott> Vorpal: whatever :)
20:23:29 <quintopia> elliott: "watch -n 0.1 clear;cat foo"?
20:23:37 <elliott> quintopia: no.
20:23:39 <Vorpal> err, watch does clear
20:23:41 <elliott> quintopia: when i say something, i mean it.
20:23:41 <quintopia> oh
20:23:44 <Vorpal> also it is not a shell syntax
20:23:53 <quintopia> i'll try it
20:24:02 <Vorpal> elliott, "did this base64 encoded DVD DL iso just change" <-- cat is no longer instant. But then that is 1) useless to watch for 2) doubtful it would fit on screen anyway
20:24:18 <quintopia> i assumed you meant it, but didn't know if you meant it to clear :D
20:24:33 <Vorpal> also 3) why the heck did you base64 encode the iso ANYWAY?
20:24:48 <elliott> Stallman's "The Right to Read", gzipped: http://nullprogram.com/projects/pngarch/right-to-read-gz.png and the program to extract it: http://nullprogram.com/projects/pngarch/files/pngarch-0.2.png
20:24:54 <elliott> now to rewrite that in haskell because of NIH!
20:25:26 <Vorpal> elliott, uh, how do you run the outer one?
20:25:33 <Phantom_Hoover> elliott, huh?
20:25:48 <elliott> Vorpal: "the outer one"?
20:26:06 <Vorpal> elliott, how do you actually execute the program to extract it?
20:26:17 <elliott> Vorpal: by using PNG Archiver to extract the PNG Archiver source, duh!
20:26:28 <elliott> Vorpal: (try using your favourite OS's lazy evaluation features)
20:26:33 <Vorpal> elliott, and where can I get png archiver to bootstrap this
20:26:38 <Vorpal> elliott, if you see what I mean
20:26:49 <elliott> Vorpal: http://nullprogram.com/projects/pngarch/files/pngarch-0.2.png
20:26:59 <quintopia> shouldn't "watch -n 0.1 tail foo" print the last 10 lines of foo every 0.1?
20:27:01 <Vorpal> elliott, you are not helpful.
20:27:07 <elliott> Vorpal: >:)
20:27:13 <elliott> quintopia: yes.
20:27:21 <quintopia> it doesn't :/
20:27:25 <elliott> quintopia: yes it does
20:27:27 <Vorpal> quintopia, I believe it should, assuming your terminal is larger than 11 lines (since watch adds a line at the top)
20:27:31 <elliott> it just isn't changing, so it looks the same
20:27:42 <Vorpal> quintopia, watch itself clears
20:27:48 <Vorpal> quintopia, so it looks static
20:27:56 <quintopia> elliott: "foo" in this case is this channel log, and that's irrelevant since nothing at all was displayed
20:28:04 <Vorpal> huh
20:28:05 <elliott> quintopia: um, you are on linux yes
20:28:08 <quintopia> yes
20:28:21 <elliott> quintopia: does "tail file" work
20:28:34 <quintopia> yes
20:28:39 <Vorpal> quintopia, does it work if you remove watch -n 0.1? I believe stderr will not be visible
20:28:52 <quintopia> no
20:28:58 <elliott> The -d or --differences flag will highlight the differences between
20:28:58 <elliott> successive updates. Using --differences=cumulative makes highlighting
20:28:58 <elliott> "sticky", presenting a running display of all positions that have ever
20:28:58 <elliott> changed. The -t or --no-title option turns off the header showing the
20:28:58 <elliott> interval, command, and current time at the top of the display, as well
20:28:59 <elliott> as the following blank line. The -b or --beep option causes the com‐
20:29:01 <elliott> mand to beep if it has a non-zero exit.
20:29:01 <quintopia> needs to be piped to stdout?
20:29:03 <elliott> you may like that
20:29:22 <elliott> Note that command is given to "sh -c" which means that you may need to
20:29:22 <elliott> use extra quoting to get the desired effect. You can disable this with
20:29:22 <elliott> the -x or --exec option, which passes the command to exec(2) instead.
20:29:24 <elliott> quintopia: ^
20:29:26 <elliott> that may cause problems
20:29:35 <quintopia> aha
20:29:38 <Vorpal> elliott, my watch don't accept fractional time
20:29:52 <Vorpal> oh wait, it does, but only in current locale
20:29:53 <quintopia> that fixed it thx
20:29:53 <Vorpal> heh
20:29:55 <elliott> Vorpal: mine's made out of quartz
20:30:10 <Vorpal> XD
20:30:23 <elliott> Vorpal: am i a weird person if I like mail(1)?
20:30:38 <Vorpal> elliott, depends. If you like it for mailing from shell script: no
20:30:42 <elliott> Vorpal: no :P
20:30:50 <Vorpal> elliott, if you like it for interactive usage? maaaybe
20:30:56 <elliott> Vorpal: actually I'm considering trying out nmh
20:30:58 <elliott> maintained version of MH
20:31:18 <elliott> although really, it isn't unixy *enough*; why should i have to run a command to view an email when I have cat? :)
20:32:08 <quintopia> it's really amusing to "watch" this channel :P
20:32:18 <Vorpal> elliott, because they all go in the same file. Also you need locking to avoid collision with the MTA if you try to delete a mail
20:32:31 <elliott> Vorpal: don't all go in one file with Maildir!
20:32:35 <Vorpal> quintopia, there tail -f works fine
20:32:39 <elliott> quintopia: but your IRC client does that
20:32:41 <Vorpal> elliott, correct
20:32:50 <Vorpal> elliott, still needs locking for some operations iirc?
20:32:50 <elliott> Vorpal: anyway the backing storage is irrelevant, if the mail client maintains its own
20:32:51 <quintopia> elliott: yeah yeah yeah
20:32:54 <elliott> which MH does as far as i know
20:33:08 <Vorpal> elliott, still it needs to *fetch* mail from somewhere
20:33:13 <elliott> what, vrms sets up a monthly cron job to tell root about non-free software installed
20:33:13 <elliott> lol!
20:33:22 <elliott> Vorpal: sure, and?
20:33:35 <quintopia> does tail -f auto-truncate lines further up than 10? i thought it just kept appending to output...
20:33:44 <Vorpal> elliott, such as maildir or mail files or pop or smtp. And there you need some sort of locking for most of the file based ones.
20:33:55 <elliott> Vorpal: So? that has nothing to do with the interface.
20:33:56 <Vorpal> and protocol code for the network based ones
20:34:03 <Vorpal> elliott, indeed
20:34:07 <elliott> Vorpal: there's no reason the mail agent can't maintain a directory $mail
20:34:12 <elliott> Vorpal: "cat $mail/inbox/some-identifier" :P
20:34:24 <Vorpal> elliott, indeed, but will you manually pull the mail?
20:34:37 <elliott> Vorpal: no, you'd use a cron job or any other method
20:34:41 <elliott> push mail, if you can get it
20:34:57 <Vorpal> elliott, then you need locking to avoid collision as far as I know
20:35:06 <elliott> Vorpal: AND?
20:35:09 <elliott> what relevance does this have at *all*
20:35:50 <Vorpal> elliott, so how does using cat, rm and so on ensure proper locking?
20:36:02 <elliott> Vorpal: ok, quote the line where i said rm
20:36:02 <elliott> go on
20:36:07 <elliott> i'll wait here
20:36:16 <Vorpal> elliott, well I assumed that, since it is more unixy
20:36:27 <Vorpal> elliott, or do you accept mail-rm or such?
20:36:46 <elliott> what.
20:37:07 <Vorpal> elliott, so how will you remove mails you want to delete from that directory
20:38:14 <Vorpal> elliott, ..
20:38:21 <elliott> i think we both have no idea what this conversation is about any more
20:38:22 <elliott> i certainly don't
20:38:32 <elliott> ais523: ping#27
20:47:20 <Vorpal> fungot
20:47:26 <Vorpal> fizzie, where is fungot?
20:47:50 <Vorpal> elliott, question about kitten.
20:48:10 <elliott> oh dear
20:48:54 <Vorpal> elliott, how will you handle stopping some processes when switching from AC to battery. Such as cron, (no one wants updatedb while on battery!).
20:49:00 <Vorpal> s/n,/n/
20:49:32 <elliott> Vorpal: what do you mean, how?
20:50:15 <Vorpal> elliott, well, will you chmod -x the script and such. And what about preventing it from starting when booting on battery?
20:50:28 <elliott> Vorpal: The important question is this: How do you accomplish it now?
20:50:30 <Vorpal> elliott, will you run some stuff before it can start to chmod -x it if on battery, otherwise chmod +x
20:50:46 <Vorpal> elliott, I believe ubuntu has some magic for it. Considering it does work that way for me
20:50:59 <elliott> Vorpal: Well, that's not exactly very precise.
20:51:35 <Vorpal> elliott, seems it does it by anacron
20:51:51 <elliott> Vorpal: No reason you couldn't accomplish that with plain cron, no?
20:52:01 <elliott> Or, you know, just run anacron.
20:52:30 <Vorpal> elliott, actually.... it runs a shell script on the relevant acpi events, which tells anacron to enable/disable
20:52:37 <Vorpal> it seems
20:52:51 <elliott> Vorpal: "Do that, then" (except s/anacron/whatever you use to handle updatedb and the like/)
20:53:15 <Vorpal> elliott, but how does that solve it for booting?
20:53:30 <Vorpal> elliott, I know it skips it while booting, but I can't find how
20:53:37 <elliott> Vorpal: *shrug*
20:53:49 <Vorpal> elliott, also I know it skips "mounted too many times"-fsck if on battery
20:54:16 <elliott> Vorpal: That's irrelevant on JFS.
20:54:25 <Vorpal> elliott, indeed
20:54:31 <elliott> Since fsck takes <1s ("nothing wrong") to maybe 2-3s ("bad shit").
20:56:33 -!- zzo38 has joined.
20:57:24 <zzo38> Is it possible to do 3D modeling with METAFONT?
20:57:37 -!- MigoMipo has joined.
20:58:13 <elliott> zzo38: I don't know, but ... let's not find out.
20:58:55 <Phantom_Hoover> zzo38, oh my god DO IT DO IT DO IT
20:59:01 <elliott> someone rename the Howduzitwerk section on http://esolangs.org/wiki/Runespells or I'll die.
21:00:26 <zzo38> elliott: Can't you do it yourself?
21:00:40 <elliott> i have no idea what to call it
21:01:03 -!- quintopia has quit (Ping timeout: 260 seconds).
21:01:53 <Deewiant> elliott: "Overview" or something.
21:02:21 <elliott> exec emacs -Q --batch --script /dev/tty/3 3<<EOF
21:02:22 <elliott> abcdef
21:02:22 <elliott> EOF
21:02:25 <elliott> Can't believe that actually works.
21:02:40 <zzo38> Can any similar programs to METAFONT do 3D modeling? Might it be possible to use specials in METAFONT to make a external program combine the flat pictures into a 3D model?
21:03:11 <elliott> Erm.
21:03:15 <elliott> /dev/fd/3
21:03:15 <elliott> Not tty.
21:03:32 <zzo38> elliott: That's what I thought. How can /dev/tty/3 work?
21:03:51 <elliott> It doesn't.
21:04:48 <zzo38> Yes. It doesn't.
21:06:09 -!- quintopia has joined.
21:07:26 <Phantom_Hoover> zzo38, METAFONTesque 3D modeling?
21:07:41 <Phantom_Hoover> Hmm. I don't actually know the details of METAFONT in the first place...
21:08:33 <Deewiant> Where's the minecraft server used by y'all?
21:11:15 <Phantom_Hoover> Deewiant, we prefer to let ineiros let you in.
21:11:19 <Phantom_Hoover> It's his server, after all.
21:11:33 <zzo38> Phantom_Hoover: Yes, do you know something like this? METAFONT can do drawing by pen, fill shapes, and algebraic equations. You can also do for loops and macros and that stuff.
21:13:14 <elliott> Deewiant: You're Finnish, you'll get in no problem at all.
21:13:28 <elliott> Deewiant: The rest of us have to go through a back-breaking course.
21:13:59 <Deewiant> ineiros: Yo
21:14:16 <elliott> Deewiant: Also, if you go within a 1 km^2 radius of Vorpal's house, expect to replace things that break randomly.
21:14:31 <quintopia> sounds fragile
21:14:49 <quintopia> inverted pyramids and such?
21:14:50 <Deewiant> Is that a natural phenomenon, bug, or just Vorpal?
21:14:53 <quintopia> floating sand?
21:15:09 <elliott> Deewiant: I may be exaggerating slightly. (But it's just Vorpal.)
21:15:15 <elliott> quintopia: Vertical boat elevator, for one.
21:15:19 <elliott> If you steer at all it breaks.
21:15:39 <elliott> Deewiant: Oh, and the Temple of Doom is mandatory.
21:15:48 <quintopia> sounds easy enough to avoid. who needs steering?
21:16:06 <elliott> Deewiant: (And health is disabled, so the purifying lava baths can last even longer.)
21:16:07 <zzo38> Did Indiana Jones ever use a magic trunk?
21:17:21 <Phantom_Hoover> Deewiant, I demand that I be allowed to show you around.
21:17:24 <Phantom_Hoover> DEMAND!
21:17:25 <Vorpal> <elliott> Deewiant: Also, if you go within a 1 km^2 radius of Vorpal's house, expect to replace things that break randomly. <-- now you are exaggerating.
21:17:43 <elliott> Vorpal: Sorry; 0.9 km^2.
21:17:48 <elliott> Deewiant: Don't let him show you around IT'S A TRAP.
21:18:17 <Deewiant> What's the worst that could happen
21:18:23 <Vorpal> elliott, no, I meant in the other part. The only place I require breaking of stuff due to bugs is the boatlevator, and it is clearly signed as buggy due to MP bugs
21:18:32 <elliott> Deewiant: Suffocating inside a stone block!
21:18:40 <Vorpal> elliott, other than that only for carelessness or maliciousness
21:19:07 <Deewiant> elliott: I.e. death, something which has no consequences? :-P
21:19:12 <Vorpal> elliott, I never asked for replacement at the underground dock for example
21:19:24 <elliott> Deewiant: You'd lose all your inventory! Also, no, no death, health is disabled, remember? You can just /spawn or /home. :P
21:19:36 <elliott> But still, think of the horror.
21:19:53 <Deewiant> Disabled health sounds lame
21:20:05 <elliott> Deewiant: Dude, our primary method of transportation is high in the sky.
21:20:05 <Deewiant> And with no inventory to lose it's no consequences. :-P
21:20:08 <elliott> Health was a bitch :P
21:20:20 <Deewiant> Maybe you should rethink the method, then
21:20:22 <elliott> Deewiant: Also it broke my top-altitude to bedrock stairs and they're beautiful.
21:20:25 <elliott> BEAUTIFUL.
21:20:35 <Phantom_Hoover> Deewiant, well, anyway, when you spawn, don't move and set your render distance to "far".
21:20:37 <Vorpal> Deewiant, until fizzie widened it from 1 wide to 3 wide
21:20:44 <elliott> Phantom_Hoover: Er, why?
21:20:47 <Vorpal> Deewiant, now it is just elliott who fails to walk on it
21:20:49 <elliott> We should have Creeper Wednesdays or something where monsters are turned on. :p
21:20:50 <Phantom_Hoover> elliott, ROU.
21:21:09 <elliott> Phantom_Hoover: Oh, yes.
21:21:11 <oerjan> zzo38: well i don't know but i think you could say he once survived by _not_ being the one to use a magic trunk (the ark)
21:21:19 <Phantom_Hoover> Vorpal, well, the stretch from you to Mt. Hoover is 1 wide.
21:21:39 <elliott> We should turn on monsters but not health, just to have helpless creepers running about, exploding to no avail.
21:21:49 <Vorpal> Phantom_Hoover, because you haven't fixed it? I did most of the stretch to me, fizzie most of the stretch from spawn to him and to nailor
21:22:03 <Vorpal> Phantom_Hoover, both of us said "uh, lets make PH do this" basically
21:22:06 <Vorpal> it is so long
21:22:07 <Phantom_Hoover> Vorpal, that stretch is REALLY LONG.
21:22:15 <elliott> Nobody goes to Mount Hoover that way :P
21:22:15 <Vorpal> Phantom_Hoover, which is why we left it to you
21:22:18 <elliott> Hooray for the minecarts.
21:22:25 <Phantom_Hoover> elliott, you might as well now.
21:22:35 <elliott> Phantom_Hoover: Slow.
21:22:36 <Phantom_Hoover> The minecarts are slow now, for some reason.
21:22:44 <elliott> Phantom_Hoover: Not as slow as walking.
21:22:54 <Vorpal> bug of some sort, they are slower than in single player
21:22:58 <Phantom_Hoover> Not *quite* as slow.
21:23:10 <elliott> Maybe we should just tell Deewiant the address, considering he has Finn Privileges. :p
21:23:23 <Vorpal> elliott, I never heard of that
21:23:28 <Vorpal> elliott, wait for ineiros
21:23:37 <elliott> Vorpal: fizzie, ineiros, nailor -- see the pattern!
21:23:57 <Vorpal> elliott, me, you, Phantom_Hoover. 3 other people
21:24:19 <Phantom_Hoover> Vorpal, but you are from SCANDINAVIA!
21:24:30 <Phantom_Hoover> Which is basically the SAME THING!
21:24:43 <Vorpal> Phantom_Hoover, not even same language group
21:25:05 <Phantom_Hoover> Language group, SCHMANGUAGE GROUP.
21:25:17 <Phantom_Hoover> Mmm... schmanguages...
21:25:36 <Deewiant> I doubt a Hungarian would get in on the premise of having a mother tongue in the same language group
21:25:55 <elliott> <Vorpal> elliott, me, you, Phantom_Hoover. 3 other people
21:25:58 <elliott> Those three were there first. p
21:26:14 <elliott> And fizzie said it was basically a .fi server before you infiltrated.
21:26:18 <elliott> Deewiant has Rights.
21:26:53 <Deewiant> I'm also on that other channel with ineiros and fizzie.
21:27:02 <elliott> See, that seals the deal.
21:27:16 <elliott> Deewiant: Oh, and Vorpal saying "t" constantly is his Tourette's. Please be respectful of his condition.
21:27:21 <Deewiant> And based on idle time, I think that ineiros may have gone to bed about 2 minutes before I asked.
21:27:40 <Vorpal> Deewiant, no I say t because the thing doesn't echo locally, so good lag check
21:27:42 <elliott> Deewiant: Do you know of a domain name that consists of a with three numbers after it, ending in a generic TLD for non-profits?
21:27:46 <Vorpal> Deewiant, since the server goes down every now and then
21:27:47 <elliott> *three digits
21:27:54 <elliott> Also the last two digits are equal.
21:28:13 <Vorpal> Deewiant, and since t is talk, tt<enter> = send a t. which is fast
21:28:20 <Deewiant> elliott: I can guess. :-P
21:28:49 <elliott> Deewiant: You can guess three digits? :P
21:28:49 <Vorpal> elliott, Phantom_Hoover says t a lot too
21:28:58 <Deewiant> The TLD, mostly.
21:29:09 <elliott> Deewiant: I was using it to verify if you already knew most of the address. :p
21:29:10 <Deewiant> Appears to be running Apache with some kind of default index.
21:29:19 <elliott> Deewiant: Verily.
21:29:32 <elliott> Deewiant: You know how some servers have ports they run on?
21:29:51 <elliott> Well, it is feasible that one of them would have a port denoted by the maximum value of an unsigned char, in decimal, followed by the last digit of that value, plus one.
21:30:02 <elliott> Vorpal: Is that not a valid port according to the relevant specifications?
21:30:05 <Vorpal> ....
21:30:12 <Deewiant> I would guess that all servers have at least one port that they run on.
21:30:19 <Vorpal> elliott, I wonder what ineiros will say
21:30:20 <Deewiant> Or respond on, to be precise.
21:30:22 <elliott> Deewiant: Not if they're magical.
21:30:29 <elliott> Vorpal: Say when what?!
21:31:01 <Deewiant> Also, UCHAR_MAX depends on CHAR_BIT, at least. :-P
21:31:20 <elliott> Deewiant: Well, hey, I wasn't specifying anything, I was just SAYING!
21:31:28 <elliott> I take no responsibility for my information, which is factual.
21:32:19 <elliott> Sheesh, this business is too cutthroat. I think I'm leaving the fact dissemination industry.
21:33:27 <Deewiant> Yes, it's much safer to just lie about everything.
21:33:49 <tswett> `echo hey, is there an echo bot in here?
21:34:00 <HackEgo> hey, is there an echo bot in here?
21:34:31 <elliott> ^cat whirlpool
21:34:38 <elliott> hm is that the name, i forget
21:34:41 <elliott> I know ^echo is silly
21:34:58 <elliott> Deewiant: I feel like my services aren't being appreciated.
21:35:06 <elliott> I need payment.
21:35:41 <Deewiant> I gave you the word "overview" earlier, does that cover it?
21:36:00 <Phantom_Hoover> Deewiant, have you figured out the Secret Address of the Esoteric Order of Minecraft?
21:36:21 <Deewiant> Probably. I haven't tried it yet, though.
21:36:58 <elliott> Wow! I wonder how.
21:37:01 <elliott> Deewiant: Did you just guess??
21:37:19 <Deewiant> Most of it, yes.
21:37:26 <Deewiant> CHAR_BIT == 8, for example.
21:37:36 <elliott> Deewiant: I have absolutely no idea what you are talking about.
21:37:52 <elliott> Deewiant: I guess the ways of Finns are not to be ken by mortal men.
21:37:59 <Deewiant> Then don't bring it up as subject matter.
21:38:10 <elliott> Hey, that rhymes. The ways of Finns / are not to be ken / by mortal men. Can I get a payment for *that*, then?
21:38:57 <oerjan> you need to translate it into grammatically correct finnish first. while still rhyming.
21:39:16 <elliott> oerjan: Bork bork bork / bork bork bork / bork bork bork. wait that's swedish
21:39:35 <elliott> oerjan: Paaïetta paaïetta paaïetta / paaïetta paaïetta paaïetta / paaïetta paaïetta paaïetta.
21:39:46 <Deewiant> It wasn't correct English, why bother making it correct Finnish
21:39:58 <oerjan> `translate paaietta
21:40:03 <HackEgo> paaietta
21:40:24 <oerjan> `translatefromto fi en paaietta
21:40:26 <HackEgo> paaietta
21:40:34 <elliott> oerjan: while my translation was accurate, it was not correct.
21:40:34 <Deewiant> Not Finnish. :-P
21:40:54 <oerjan> i suspected that, with the ï
21:42:17 <elliott> <Deewiant> Not Finnish. :-P
21:42:22 <elliott> Reporters report that Deewiant may be "not Finnish".
21:42:36 <elliott> This is supposedly based on a statement by Deewiant himself where he reportedly says that he is, reportedly, "not Finnish".
21:43:00 <elliott> ais523: Are you actually there? :P
21:45:14 <ineiros> Hello.
21:45:20 <Vorpal> ineiros, hi!
21:47:07 <Phantom_Hoover> ineiros, can Deewiant join our big Minecraft party?
21:47:16 <elliott> Big Minecraft party, in the sky.
21:47:19 <elliott> On a cloud.
21:47:23 <elliott> (this is my fanon and I'm sticking to it)
21:49:12 * Phantom_Hoover decides to build a cloud with his titanic cloth surplus.
21:53:54 <oerjan> just don't lett the cloud hit any icebergs
21:53:58 <oerjan> *let
21:54:21 * oerjan strangles his spelling
21:55:05 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:01:29 -!- elliott has quit (Quit: Leaving).
22:02:13 -!- quintopia has quit (Quit: Lost terminal).
22:07:24 -!- quintopia has joined.
22:10:31 <Gregor> `addquote <l4rk> your premise to falsify "false" is false
22:10:32 <HackEgo> 248) <l4rk> your premise to falsify "false" is false
22:17:30 -!- Sasha has joined.
22:17:48 -!- Sasha2 has quit (Read error: Connection reset by peer).
22:20:30 -!- zzo38 has quit (Remote host closed the connection).
22:22:49 -!- augur has joined.
22:26:36 -!- quintopia has quit (Quit: Lost terminal).
22:27:08 -!- quintopia has joined.
22:30:59 -!- elliott has joined.
22:41:11 -!- hagb4rd2 has joined.
22:41:43 -!- fizzie` has joined.
22:42:16 -!- poiuy_qwert has joined.
22:43:11 -!- fizzie has quit (Ping timeout: 240 seconds).
22:43:11 -!- hagb4rd has quit (Ping timeout: 240 seconds).
22:43:12 -!- p_q has quit (Ping timeout: 240 seconds).
22:46:57 -!- Wamanuz2 has joined.
22:47:35 -!- oerjan has quit (Quit: leaving).
22:48:06 <Phantom_Hoover> http://ompldr.org/vNmpiYw/2010-12-12_21.44.23.png
22:48:30 <Phantom_Hoover> fizzie, wooden house, chess and stairs by night.
22:49:55 -!- augur has quit (Remote host closed the connection).
22:50:14 -!- fizzie` has changed nick to fizzie.
22:50:18 -!- Wamanuz has quit (Ping timeout: 265 seconds).
22:50:20 -!- augur has joined.
22:55:26 * Phantom_Hoover → sleep
22:55:28 -!- augur has quit (Ping timeout: 272 seconds).
22:55:35 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:07:16 -!- hagb4rd2 has changed nick to hagb4rd.
23:07:26 <elliott> <Phantom_Hoover> http://ompldr.org/vNmpiYw/2010-12-12_21.44.23.png
23:07:28 <elliott> That is pretty.
23:08:59 -!- quintopia has quit (Quit: Lost terminal).
23:11:59 -!- quintopia has joined.
23:23:43 -!- quintopia has quit (Quit: i hope).
23:25:01 -!- quintopia has joined.
23:26:14 -!- quintopia has quit (Client Quit).
23:28:29 <Vorpal> phon far?
23:28:33 <Vorpal> gah
23:28:40 <Vorpal> he quit
23:28:55 <Vorpal> elliott, quite small window he plays in
23:28:59 <Vorpal> elliott, not near maximised
23:29:03 <Vorpal> elliott, or he has a small screen
23:29:59 <Vorpal> elliott, I should get a dual screen setup again, so I can post HUGE screenshots
23:30:29 <elliott> Vorpal: who
23:30:38 <elliott> oh phantom
23:30:50 <elliott> Vorpal: erm 1366x768 is the size of my display
23:30:52 <elliott> and presumably his
23:32:47 <Vorpal> elliott, small
23:33:02 <Vorpal> elliott, I have 1680x1050 on this
23:33:12 -!- quintopia has joined.
23:33:13 -!- quintopia has quit (Client Quit).
23:33:24 <elliott> Vorpal: Yours isn't a laptop.
23:33:43 <Vorpal> elliott, correct
23:33:50 <Vorpal> elliott, mine is 24"
23:34:21 <Vorpal> elliott, 24" laptop would be annoying
23:34:43 <Vorpal> elliott, no?
23:34:55 <elliott> Vorpal: 1680x1050 at 24" is terrible ppi.
23:35:04 <Vorpal> elliott, wait, maybe it is 22"
23:35:05 <Vorpal> not sure
23:35:08 * Vorpal gets a ruler
23:35:30 <Vorpal> elliott, slightly over 50 cm diagonally
23:37:55 -!- quintopia has joined.
23:39:56 <quintopia> test
23:42:44 <Vorpal> elliott, seems sprunge runs on google app engine
23:42:52 <elliott> Vorpal: evidence?
23:43:03 -!- FireFly has quit (Quit: swatted to death).
23:43:03 <elliott> oh, it's open sourec now
23:43:04 <elliott> *source
23:43:05 <Vorpal> https://github.com/rupa/sprunge (linked from sprunge.us)
23:43:07 <Vorpal> elliott, indeed
23:43:21 <elliott> don't see what's wrong with that :)
23:43:32 <Vorpal> elliott, nothing, just interesting
23:43:49 <Vorpal> elliott, and explains why it is never laggy
23:43:55 <elliott> http://un.ix.io/ this is him
23:44:04 <elliott> Vorpal: yeah, but it's not as good as MY pastebin!1111
23:44:11 <Vorpal> elliott, link?
23:44:12 <elliott> which i appear to be turning into some kind of mutant object database in my head
23:44:16 <elliott> Vorpal: /home/elliott/code/...
23:44:17 <Vorpal> ...
23:44:29 <elliott> Vorpal: well fizzie's does both url forwarding and pasting so why not EXTEND THAT
23:44:30 <Vorpal> elliott, second system syndrome
23:44:37 <elliott> Vorpal: actually, first system syndrome :D
23:44:56 <Vorpal> elliott, for you yes, but second compared to exisiting ones
23:45:10 <Vorpal> elliott, that link: bash revision control
23:45:11 <Vorpal> XD
23:45:27 <elliott> Vorpal: technically i wrote the perfect pastebin earlier which used *your* editor configured how *you* want it to display the file, in a manner tuned to your OS
23:45:33 <elliott> Vorpal: but everyone whined that ZOMG IT OPENS A NEW WINDOW
23:45:38 <elliott> so HMPH
23:45:42 <Vorpal> elliott, I like it showing in browser
23:45:51 <elliott> yep, 's 'cuz you're stupid!
23:45:59 <Vorpal> elliott, everyone wanted that though
23:46:11 <elliott> Vorpal: no, ais523 loved it :P
23:46:20 <Vorpal> elliott, but what about Gregor? or fizzie?
23:46:28 <elliott> they didn't comment
23:46:39 <Vorpal> elliott, see, they were just to polite to complain!
23:46:55 <elliott> "Made this little wrapper around the delightful automeme service for easy spamming with irssi. I have /meme aliased to /exec -o meme and it annoys the hell out of esch."
23:46:58 <Gregor> How exactly does it use YOUR editor configured how YOU want it.
23:47:08 <elliott> Gregor: Because it tells the browser to open the file in the appropriate application.
23:47:15 <elliott> Which is set to your favourite editor for that type of file.
23:47:23 <Vorpal> elliott, wtf is "flattr"? I saw a link saying "flattr this", "twit this" and "dig this" I seen, but this is a new one
23:47:41 <elliott> Vorpal: it's this thing the guys behind tpb made i think ... at least i hear it was them
23:47:47 <Vorpal> huh
23:47:49 <quintopia> are services down?
23:47:52 <Vorpal> elliott, yet another social network?
23:47:58 <Vorpal> quintopia, so it said in the wallops a while ago
23:48:04 <Vorpal> -tomaw/Wallops- Services will be offline for a few minutes while we fix some database issues.
23:48:06 <Vorpal> -tomaw/Wallops- Channel ops may wish to op themselves in case they need ops during the downtime
23:48:06 <quintopia> Vorpal: thanks
23:48:07 <elliott> Vorpal: no, i forget what it is
23:48:10 -!- cheater99 has joined.
23:48:15 <elliott> Vorpal: micropayments, it seems
23:48:22 <elliott> Flattr is a micropayment system - more specifically, a microdonation system - that launched publicly in March 2010 on an invite-only basis[1], and then opened up to the public in August 2010[2].
23:48:22 <elliott> Flattr Button (does not actually Flattr this page)
23:48:22 <elliott> Flattr is a project started by Peter Sunde and Linus Olsson. Users are able to pay a small amount every month (minimum 2 euros) and then click Flattr buttons on sites to share out the money they paid in among those sites, kind of like an Internet tip jar.
23:48:25 <Vorpal> elliott, hm, bad thing to click on such a link thne
23:48:40 <elliott> Vorpal: yes, it SUCKS YOUR MONEY OUT AUTOMATICALLY WITHOUT EVEN CONFIRMING
23:48:41 <elliott> or something
23:48:44 <quintopia> kind of annoying in channels requiring registration to talk :/
23:49:05 <Vorpal> quintopia, use a bouncer!
23:49:16 <elliott> brb
23:49:26 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:49:29 <quintopia> Vorpal: dunno anything about those
23:49:41 -!- quintopia has changed nick to Guest66174.
23:49:48 <Vorpal> elliott, this looks interesting https://github.com/joelthelion/autojump/wiki
23:49:51 <Guest66174> oh
23:49:58 <Guest66174> looks like they're back :D
23:49:58 <Vorpal> back up I guess
23:50:59 -!- Guest66174 has changed nick to quintopia.
23:52:32 <Deewiant> elliott: Is that server new enough to have biomes or is it all grassy?
23:53:01 <Deewiant> (Or whoever knows:)
23:53:18 -!- ais523 has quit (Remote host closed the connection).
23:53:21 <Vorpal> Deewiant, biomes in far out areas
23:53:33 <Vorpal> Deewiant, but older generated in the areas around spawn
23:54:00 <Vorpal> Deewiant, one place biomes start is just beyond mt. hoover
23:54:02 <Deewiant> Okay, that explains it
23:54:20 <Vorpal> Deewiant, you get strange jagged areas along the edges sometimes
23:59:27 -!- Vorpal has quit (Ping timeout: 245 seconds).
23:59:59 -!- Vorpal has joined.
2010-12-13
00:06:48 -!- quintopia has quit (Quit: Lost terminal).
00:07:03 -!- quintopia has joined.
00:13:48 -!- wareya has quit (Read error: Connection reset by peer).
00:14:15 -!- wareya has joined.
00:16:15 -!- augur has joined.
00:16:20 -!- oerjan has joined.
00:17:40 <oerjan> mm, ice cappuccino
00:18:44 <Vorpal> oerjan, a bit on the chilly side?
00:18:51 <Vorpal> oerjan, but I guess it is still quite a cool idea
00:18:55 <oerjan> it's hot inside
00:19:24 <Vorpal> oerjan, but where does the ice come into it?
00:19:45 <oerjan> well it's refrigerated
00:19:53 <Vorpal> oerjan, not hit then?
00:19:57 <Vorpal> hot*
00:20:01 <Vorpal> I'm confused
00:20:11 <oerjan> i mean the room is hot
00:20:18 <Vorpal> ah
00:20:24 <Vorpal> oerjan, lucky you
00:20:27 <Vorpal> oerjan, in this winter
00:20:45 <elliott> <Vorpal> elliott, this looks interesting https://github.com/joelthelion/autojump/wiki
00:20:45 <elliott> old
00:20:57 <Vorpal> elliott, does it work well?
00:21:05 <elliott> Some people swear by it :P
00:21:17 <Vorpal> elliott, your personal opinion?
00:21:18 <oerjan> use it for all your swearing
00:21:28 <elliott> It doesn't support ksh so I'd be violating my principles by using it.
00:21:38 <Vorpal> oerjan, I could have sworn you was about to make a pun
00:21:55 <Vorpal> elliott, apart from that?
00:22:55 <elliott> Vorpal: Got a bucket?
00:23:21 <Vorpal> elliott, yes, /dev/null
00:23:29 <Vorpal> (the bitbucket)
00:23:33 <elliott> Vorpal: No, I mean, uh, come to ineiros' pit./
00:23:42 <Vorpal> elliott, not about to log in again
00:23:48 <Vorpal> elliott, need to get up in 6 hours
00:23:49 <Vorpal> so nigh
00:23:51 <Vorpal> night*
00:23:56 <elliott> The end is nigh.
00:24:19 <Vorpal> elliott, just tell me what happened here on irc
00:24:34 <elliott> Vorpal: I created two beautiful waterfalls and now I can't find the way back up. I could just /spawn :P
00:24:48 <Vorpal> elliott, in his pit?
00:24:53 <Vorpal> elliott, also /sethome
00:25:00 <elliott> Vorpal: MAYBE in his pit.
00:25:17 <Vorpal> elliott, why did you carry the buckets in your quickslots
00:25:35 <elliott> Vorpal: It's what I do.
00:25:39 <elliott> It was not unintentional :P
00:25:46 <Vorpal> elliott, then you have to face the consequences
00:25:55 <elliott> Will they ever be the same again?
00:26:14 <Vorpal> I
00:26:18 <Vorpal> I'm sure he will remove them
00:51:16 <elliott> Vorpal: I already did.
00:51:19 <elliott> Deewiant is still on.
01:02:56 -!- hagb4rd has quit (Ping timeout: 264 seconds).
01:32:55 -!- hagb4rd has joined.
01:41:47 -!- sftp has quit (Read error: Connection reset by peer).
01:50:24 <elliott> http://torrentfreak.com/mininova-pays-settlement-to-brein-to-end-bittorrent-lawsuit-101210/ Mininova finally gives up.
01:50:29 <elliott> RIP, you were shitty.
01:52:44 -!- tswett has left (?).
01:59:06 <elliott> Vorpal: so people actually (1) still use DES
01:59:10 <elliott> Vorpal: and (2) use DES to hash passwords
02:04:55 -!- Sgeo has joined.
02:06:40 <Sgeo> I'd link to something incredibly awesome, but it would reveal my approximate location
02:06:47 <Sgeo> Although I might have done so already
02:06:48 <Sgeo> Hmm
02:07:37 <Sgeo> elliott, name the school I go to
02:08:00 <elliott> Sgeo: Farmingdale.
02:08:03 <Sgeo> http://sphotos.ak.fbcdn.net/hphotos-ak-snc4/hs887.snc4/72009_10150103222437744_618027743_7875332_7903663_n.jpg
02:08:15 <elliott> How is that incredibly awesome
02:08:30 <elliott> To be fair, I didn't actually look more than a glance.
02:08:54 <Sgeo> Well, it makes me happy, at any rate
02:09:41 <elliott> I don't actually know what it is :P
02:09:55 * oerjan is tempted to look for jpeg metadata ;D
02:09:58 <Sgeo> I'm certified to give CPR
02:10:04 <elliott> ooh good idea oerjan
02:10:09 <elliott> Sgeo: um isn't cpr ... pretty easy
02:10:19 <elliott> i mean, as far as things go :P
02:10:23 <Gregor> Sgeo: Sadly, you are not certified to take clear pictures.
02:10:41 <Sgeo> elliott, ye...es
02:11:00 <Sgeo> Although doing it wrong on someone who doesn't need it can kill them
02:11:02 <elliott> oerjan: no interesting EXIF.
02:11:09 <oerjan> heh
02:11:14 <Gregor> Sgeo: Doing it wrong on someone who does need it can kill them too
02:11:30 <elliott> Gregor: Indeed, taking unclear pictures can cost lives.
02:11:38 <Sgeo> Someone who does need it is already dead. Doing it wrong just increases the chance that they'll stay dead
02:11:51 <Sgeo> *severely increases
02:11:51 <elliott> Sgeo: ... Your definition of "dead" SUCKS.
02:12:00 <elliott> Beyond all previous known bounds of suckage.
02:12:11 <elliott> "I was dead but -- thanks to Sgeo -- I got better!"
02:12:23 <Sgeo> CPR doesn't actually restart the heart
02:12:26 <elliott> If you think cardiac arrest constitutes death, WELCOME TO THE PAST
02:12:27 <oerjan> "And I didn't even get turned into a newt!"
02:13:17 <elliott> Sgeo is now qualified in ZOMBIE CREATIONL.
02:13:18 <elliott> *CREATION.
02:13:29 <elliott> Gregor: OMG IF WE FLATLINE WE CAN BECOME ZOMBIES.
02:13:33 <elliott> GOOD IDEA OR BEST IDEA
02:13:55 <Sgeo> I'm not entirely sure why trained persons are preferred for AED usage. I mean, as long as you follow directions... ah, that's probably why. Although I doubt the thing about using adult pads on children and not child pads on adults is on there
02:14:07 <oerjan> THAT'S CLEARLY HOW THE KIM FAMILY GOT THEIR SUPERPOWERS
02:14:29 <oerjan> i mean most of them look half dead already
02:14:52 -!- hagb4rd has quit (Ping timeout: 245 seconds).
02:14:56 <elliott> pikhq: COPYRIGHT FUCK YEAH: Aston Kutcher is in trouble for broadcasting 13 minutes of the film Killers, starring Aston Kutcher, on the interwebnets.
02:15:20 <Sgeo> Did he make the film, or just star in it?
02:15:30 <elliott> Sgeo: He made every single frame with his own nose.
02:15:34 <elliott> By hand.
02:15:36 <elliott> I mean. by nose.
02:15:49 <oerjan> nasufacturing
02:16:05 <Gregor> I wonder if porn companies do copyright violation lawsuits.
02:16:25 <elliott> BEHOLD, UDEV:
02:16:25 <elliott> ENV{x11_options.EmulateWheel}="true"
02:16:26 <elliott> ENV{x11_options.EmulateWheelButton}="2"
02:16:26 <elliott> ENV{x11_options.YAxisMapping}="4 5"
02:16:26 <elliott> ENV{x11_options.XAxisMapping}="6 7"
02:16:26 <elliott> ENV{x11_options.Emulate3Buttons}="false"
02:16:28 <elliott> ENV{x11_options.EmulateWheelTimeout}="200"
02:16:40 <elliott> That's right -- we replaced xorg.conf with a bunch of magic files that have conditional rules to ... set xorg.conf settings.
02:16:50 <elliott> PROGRESS AUTOMATIC MAGICISM
02:16:53 <Sgeo> Gregor, aimed to embarrass
02:17:01 <elliott> Gregor: What.
02:17:08 <Sgeo> embareass
02:17:19 <elliott> ...
02:17:21 <elliott> Gregor: Kill him.
02:17:27 <elliott> Just kill him and evrything will be perfect.
02:18:28 <oerjan> Die Bösen werden geschlachtet, die Welt wird gut.
02:18:56 <elliott> oerjan: IN AN ALTERNATE UNIVERSE
02:19:46 <oerjan> that _was_ a quote in case you didn't realize
02:20:14 <elliott> oerjan: IN AN ALTERNATE UNIVERSE WHERE NORWAY IS HITLER
02:20:18 <elliott> LIKE THE ACTUAL PERSON HITLER
02:20:22 <elliott> QUANTUM THEORY SAYS IT IS POSSIBLE
02:20:36 <oerjan> many-person interpretation
02:20:40 <elliott> hm I can't find the thing that let you easily do single-file git
02:22:28 <Gregor> Many-Norway Interpretation
02:22:38 -!- augur has quit (Remote host closed the connection).
02:25:05 <oerjan> http://en.wikipedia.org/wiki/Erich_Fried
02:25:14 <oerjan> (the poet of the above)
02:26:12 <elliott> oerjan: i'm going to assume he was being *slightly* sarcastic :)
02:26:15 <elliott> just a tad
02:26:22 <oerjan> elliott: you don't say :D
02:28:12 <elliott> Gregor: You should donate like three servers to me.
02:29:35 <elliott> Gregor: WHY HAVEN'T I RECEIVED THEM YET
02:30:19 <oerjan> "Do not doubt him who tells you he is afraid, but be afraid of him who tells you he has no doubts."
02:33:48 <Gregor> elliott: That would leave me with -3 servers.
02:34:05 <elliott> Gregor: SO?
02:35:17 * Sgeo gives Gregor i servers
02:35:36 * Sgeo steals j servers from Gregor
02:36:19 <elliott> Gregor: Seriously, kill him.
02:37:02 * Sgeo multiplies elliott by i
02:37:16 <elliott> Gregor: Please.
02:37:27 * oerjan quantum collapses Sgeo
02:37:43 <oerjan> GET REAL
02:42:32 <pikhq> ... *Anyone* still uses DES?
02:43:14 <pikhq> elliott: ... *That's* how X11 settings get set?
02:43:18 <pikhq> elliott: Udev‽
02:43:29 <elliott> pikhq: Seemingly! (That's for overriding stuff.)
02:43:49 <elliott> pikhq: The DES thing was Gawker. Their password DB got stolen and they've cracked two hundred thousand passwords or so.
02:43:56 <elliott> Serves them right too, Gawker are scum.
02:44:18 <pikhq> Takes a complete moron to continue using DES.
02:44:49 <pikhq> It was demonstrated to be entirely practical to crack 10 years ago...
02:45:35 <Sgeo> What about Triple-DES?
02:45:52 <elliott> Sgeo: lol.
02:45:56 <elliott> YOU FUNNY MAN
02:46:39 <elliott> Sgeo: (Well, yes, it works. For now.)
02:46:47 <pikhq> Sgeo: Triple DES is not comically poor.
02:47:06 <pikhq> Sgeo: *However*, there are much better encryption schemes to use.
02:47:07 <Sgeo> All these things are "for now"
02:47:10 <elliott> pikhq: Wanna build an FPGA DES cracker and run it on the database? (Not publicly leaked yet, but ...)
02:47:13 <elliott> Sgeo: Hahahahahaha.
02:47:20 <pikhq> elliott: I don't have $10,000 handy.
02:47:22 <elliott> Sgeo: Okay, firstly: IT WAS PASSWORDS.
02:47:27 <elliott> YOU DO NOT ENCRYPT PASSWORDS
02:47:30 <elliott> YOU *HASH* PASSWORDS
02:47:44 <pikhq> ... WAITWAITWAIT THEY ENCRYPTED THE PASSWORDS WITH DES WHY GOD WHY
02:47:45 <Sgeo> Why would someone encrypt a password?
02:47:47 <elliott> pikhq: http://www.sciengines.com/copacobana/
02:47:53 <elliott> pikhq: Don't need $10k.
02:48:13 <elliott> I wonder how they cracked so many so quickly.
02:48:38 <pikhq> elliott: With $10k worth of FPGAs.
02:48:39 <Sgeo> Is it possible for them to crack several without actually determining the key?
02:48:53 <pikhq> http://www.sciengines.com/copacobana/photos/photo_b4.jpg
02:49:03 <Sgeo> Fun thing, I have undone cryptography and computer security homework that I'm putting off at this moment
02:49:03 <elliott> pikhq: Are you sure that's $10k worth. Just buy evaluation boards :P
02:49:15 <elliott> Sgeo: NEVER EVER DO CRYPTOGRAPHY *EVER*
02:49:17 <Sgeo> I should look for my textbook or something
02:49:22 <elliott> That is directed specifically at you.
02:49:39 <Sgeo> elliott, uh... why?
02:49:45 <pikhq> elliott: Still... Even if it is $10k, that's still *terrible* encryption.
02:50:03 <pikhq> That's seriously at the point of "if any single person wants it fairly badly, they can have it."
02:50:08 <Sgeo> And surely you don't think I'm a security moron, do you? I mean, maybe I don't follow best practices in my own life, but
02:50:59 <pikhq> And, of course, any business or government would hardly think anything of it.
02:51:38 <elliott> Sgeo: Almost nobody should try and write cryptographic code.
02:51:48 <elliott> I would yell the same at pikhq and ais523.
02:51:59 <elliott> But you get a special, additional message.
02:52:02 <elliott> That message is: NEVER EVER
02:52:16 <pikhq> Rule #1 of cryptography is you will almost certainly fuck it up.
02:52:22 <oerjan> he'd probably even yell it at himself. i hope.
02:53:02 <Sgeo> I still have homework I haven't done
02:53:10 <oerjan> in fact every morning he stands in front of the mirror for 10 minutes yelling "DON'T DO CRYPTOGRAPHY!"
02:53:22 <oerjan> it's a wonder they let him out of that institution, really.
02:53:33 <pikhq> `quote matrimony
02:53:44 <HackEgo> No output.
02:53:49 <pikhq> -_-'
02:53:55 <oerjan> pikhq: i don't think anyone added it
02:54:10 <Sgeo> In 7 min, I'm quitting IRC
02:54:55 <elliott> `quote matri
02:54:55 <pikhq> Forever?
02:54:56 <HackEgo> No output.
02:54:59 <elliott> `quote oerjan
02:55:00 <HackEgo> 7) <oerjan> what, you mean that wasn't your real name? <Warrigal> Gosh, I guess it is. I never realized that. \ 19) <oerjan> ehird has gone insane, clearly. \ 21) <fungot> oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. please let me go... put me out! he's really a
02:55:06 <elliott> `run quote oerjan | tail -n 2
02:55:08 <HackEgo> 195) <oerjan> it's not obvious from quantum mechanics that you can destroy a universe arbitrarily. \ 247) <elliott> oerjan: What, can girls aim their penises better?
02:55:16 <elliott> oerjan: what did you do to the quote
02:55:37 <oerjan> nothing, and i do not recall anyone actually _adding_ it to HackEgo in the first place
02:55:46 <elliott> :D
02:56:13 <elliott> 18:47:56 <pikhq> oerjan: No, I definitely meant E=m. Who cares about the energy of an object in motion, anyways? :P
02:56:13 <elliott> 18:48:50 <oerjan> THAT IS THE KIND OF ATTITUDE THAT HAS LEAD TO THE CURRENT OBESITY EPIDEMIC
02:56:13 <elliott> 18:49:22 <elliott> oerjan: :D
02:56:13 <elliott> 18:49:36 <elliott> oerjan: you need like a web form where people can file requests to be married to you, just for a few weeks
02:56:13 <elliott> 18:49:39 <elliott> it could be very profitable
02:56:15 <elliott> 18:49:53 <pikhq> oerjan: :D
02:56:17 <elliott> 18:50:18 <elliott> pikhq: don't you agree, i mean
02:56:19 <elliott> 18:50:24 <elliott> that comment totally warrants brief matrimony.
02:56:21 <elliott> hard to condense to quote size
02:57:36 <Sgeo> n/m
02:59:22 <oerjan> TWO MINUTES LEFT
02:59:58 <elliott> oerjan: ban him after the 7 minutes
03:00:00 <elliott> FOREVER.
03:00:46 -!- benuphoenix has joined.
03:00:50 <oerjan> I'm sorry, Elliott. I'm afraid I can't do that.
03:01:15 <elliott> oerjan: you're now my least favourite insane all-powerful AI.
03:01:20 <elliott> oerjan: (previously you were my favourite)
03:01:39 <oerjan> i'm not very all-powerful really. ok maybe just a little.
03:02:59 -!- benuphoenix has quit (Client Quit).
03:03:37 <elliott> oerjan: YOU SHOULD COME BACK TO AGORA
03:03:39 <elliott> pikhq: ALSO YOU
03:03:52 <elliott> the great thing is, it's so boring now that you don't have to do anything
03:05:03 <Sgeo> I was outside with the dog
03:05:11 <Sgeo> I should probably look for my textbook or something
03:05:16 <elliott> oerjan: it's been two minutes
03:05:19 <elliott> ban him
03:05:20 <Sgeo> Or do the ambiguous Perl project
03:05:30 <Sgeo> Or go insane
03:05:42 <oerjan> YOU ALREADY DID THAT
03:06:09 <elliott> Sgeo: IT'S BEEN SEVEN MINUETS
03:06:13 <elliott> yes, all seven Minuets
03:06:20 <oerjan> more like twelve, actually
03:06:38 <Sgeo> My laptop's acting broken
03:06:45 * Sgeo gives his laptop the middle finger
03:06:50 <elliott> Sgeo: that does not stop you quitting IRC
03:06:57 <elliott> oerjan: can't you see he has a problem
03:06:59 <elliott> oerjan: YOU MUST BE THE REMEDY
03:07:11 <pikhq> Sgeo: IRC終われ!
03:07:37 <elliott> Sgeo: GOATS HATE YOUR CONNECTION
03:07:50 <oerjan> elliott: well but don't you see, if i banned people for procrastinating here, i'd have to ban myself too
03:08:06 <elliott> oerjan: yeah but you don't say "OKAY I'M GOING IN N MINUTES" and then not :D
03:08:14 <elliott> Vorpal only gets away because → is not *yet* regulated
03:08:49 <oerjan> also, he actually _does_ occasionally sleep at nighttime
03:09:23 <oerjan> well me too although that's more of a pseudorandom accident
03:10:27 <elliott> Sgeo: BATS
03:10:28 <elliott> ALWAYS
03:10:29 <elliott> KNOW
03:10:30 <elliott> oh god
03:10:57 -!- Sgeo_ has joined.
03:10:58 <oerjan> what's this talk, have you gone batshit insane?
03:11:01 * pikhq → nowhere in particular
03:11:18 <Sgeo_> Darn, I thought Sgeo would have pinged out by now
03:11:28 <elliott> Sgeo_: ENTERING IS NOT LEAVING
03:11:29 <Sgeo_> "He quit, yay!" "Wait, he's back"
03:11:49 <elliott> Sgeo_: didn't you buy some fucking melatonin
03:11:51 <elliott> i distinctly recall
03:11:57 -!- Sgeo has quit (Ping timeout: 245 seconds).
03:12:03 <Sgeo_> Sleep is not my issue here
03:12:06 <Sgeo_> My issue is homework
03:12:17 <elliott> oh
03:12:18 <Sgeo_> Piles and piles of homework
03:12:22 <oerjan> Sgeo_: when i get thrown off here i usually have to kill my irssi after logging on again
03:12:23 <elliott> well take some anyway just for the hell of it
03:12:34 <elliott> Sgeo_: i'll give you $15 for every hour you stay up on Melatonin after the first
03:12:36 <oerjan> because of this going through a shell account
03:12:44 <elliott> i.e., take regular melatonin dose, first hour passes, then $15 for every full hour after that
03:12:44 <elliott> go!
03:12:53 <Sgeo_> elliott, maybe in 2 weeks
03:13:15 <oerjan> i wonder if my doctor would give me melatonin if i asked
03:13:29 <elliott> oerjan: well it's over-the-counter in most places
03:13:39 <elliott> oerjan: WP says it's prescription-only in the uk but it isn't since you can buy it anyway
03:13:51 <elliott> oerjan: failing that just import it http://melatonin.com/ :P
03:14:01 <pikhq> It's considered a dietary supplement in the US.
03:14:22 <pikhq> Meaning it isn't even fucking regulated beyond actually having to contain only what it claims to contain.
03:14:39 <elliott> pikhq: it's on all those vaguely-new-agey ~herbal remedies~ websites over here
03:15:03 <Sgeo_> Tobacco: All natural. Must be good for you, try some today!
03:15:07 <oerjan> apparently it requires a prescription in norway
03:15:14 <pikhq> Sgeo_: Your body doesn't produce tobacco.
03:15:19 <oerjan> norway is pretty strict about such things, i think
03:15:23 <elliott> oerjan: oh well, just import it anyway :D
03:15:41 <Sgeo_> I was more mocking herbal stuff than anything connected to melatonin
03:15:43 <elliott> oerjan: i mean worst case, you get outraged headlines talking about the drug smuggling charges for ... melatonin on the national newspapers
03:15:49 <elliott> oerjan: and that would be hilarious.
03:15:54 <pikhq> Sgeo_: Ah. Fair enough.
03:16:11 <oerjan> elliott: well there wouldn't be anything wrong with _asking_ my doctor would it, given that i actually have an appointment on thursday
03:16:14 <Sgeo_> Hmm. What does the body produce that you shouldn't take in more of?
03:16:24 <elliott> oerjan: well maybe he'll find out about your cocaine habit
03:16:29 <elliott> Sgeo_: semen
03:16:42 <elliott> Sgeo_: um, shit? :p
03:16:53 <oerjan> (it's a she)
03:17:04 <elliott> oerjan: that's what he wants you to think
03:17:09 <Sgeo_> A shee? Creator of norns?
03:17:19 <elliott> oerjan: ok seriously, ban him
03:17:22 <elliott> you have justification now
03:17:38 <Sgeo_> Just heard a cat yelping. Got frightened, then realized that my cat is right here
03:18:04 <pikhq> Sgeo_: HCl.
03:18:50 <Sgeo_> In homeroom, which was in a science classroom: "Hey Seth, what's HCI? Is it safe to drink?"
03:19:02 <elliott> "I"
03:19:03 <elliott> rage
03:19:22 <Sgeo_> elliott, not against me. I'm saying what the person said...
03:19:34 <pikhq> I'm not sure HCI is possible.
03:20:07 <Sgeo_> What about H#C#I# for nonzero #?
03:20:15 <Sgeo_> Erm, possibly different numbers
03:21:45 <elliott> turtles
03:21:46 <pikhq> Probably *possible*, not necessarily all that *stable*.
03:21:49 <elliott> turtles say bye Sgeo_
03:21:51 <elliott> Sgeo_ go bye bye
03:21:54 <elliott> turtles
03:23:45 <Sgeo_> elliott, if you help me find my textbook... hm, I have nothing of value to give you. But since it's physically impossible for you to help me find it anyway
03:24:01 <oerjan> "Methyl iodide, also called iodomethane, and commonly abbreviated "MeI", is the chemical compound with the formula CH3I."
03:24:09 <elliott> Sgeo_: The one thing of value you could give me is for you to leave right now.
03:24:40 <Sgeo_> I hope you realize that I'm not taking you seriously
03:24:58 <elliott> Sgeo_: Um, I was really serious there.
03:25:08 <oerjan> Sgeo_: that's supposedly simplest organic iodine compound
03:25:12 <oerjan> *+the
03:25:13 <elliott> oerjan: no that's you
03:25:20 <elliott> you're the simplset organic iodine compound
03:25:22 <elliott> *simplest
03:25:23 <elliott> also a kitten
03:27:57 <oerjan> no i'm really more a puppy
03:28:14 <Sgeo_> Ok, 3 min, I leave
03:28:34 <Sgeo_> 2min
03:28:35 <elliott> oerjan: ban him this time
03:28:41 <elliott> oerjan: also, i hate dogs, so you're a kitten
03:28:48 <Sgeo_> elliott, what's with the me-hate?
03:28:59 <elliott> Sgeo_: i'm just trying to help you achieve your goals
03:29:00 <elliott> which are leaving
03:29:06 <elliott> which also coincides with my goals, which are to be an asshole
03:29:20 <Sgeo_> My goal is to get my homework done. If I could do that and stay on IRC, I would
03:29:37 <Sgeo_> Although avoiding IRC hasn't helped in the past...
03:29:50 <elliott> i bet next class you'll learn about looping through an array!
03:29:51 <oerjan> "Industrially significant organoiodine compounds, often used as disinfectants or pesticides, are iodoform (CHI3), methylene iodide (CH2I2), and methyl iodide (CH3I)."
03:29:55 <elliott> an education well-spent
03:30:31 -!- Sgeo_ has quit (Quit: Leaving).
03:31:10 <elliott> oerjan: can you ban him anyway?
03:33:35 <oerjan> afk
03:34:26 -!- Sasha2 has joined.
03:35:41 <elliott> oerjan: BAN HIM
03:36:54 -!- Sasha has quit (Ping timeout: 265 seconds).
03:41:46 <elliott> hmm so if pastebins, url shorteners and image hosters are the same thing maybe EVERYTHING Is
03:41:47 <elliott> *is
03:44:10 -!- poiuy_qwert has joined.
03:47:19 -!- augur has joined.
03:54:31 <elliott> ais better be more active tomorrow
03:54:33 <elliott> oerjan: ensure it
03:57:21 <elliott> sed 's/^X//' > \R\E\A\D\_\M\E << '+ END-OF-FILE '\R\E\A\D\_\M\E
03:57:22 <elliott> X#This file is part of the Concurrent Versions System CVS.
03:57:23 <elliott> oh that is clever!
03:57:27 <elliott> remind me to use that in ddshar maybe
03:57:34 <elliott> oh wait i can't really, not with this architecture
03:57:35 <elliott> darn
03:57:41 <elliott> remind me to do ddshar properly, then
03:58:28 -!- quintopi1 has joined.
03:58:34 -!- quintopi2 has joined.
03:59:38 <elliott> [[# No versioning of symbolic links. Symbolic links stored in a version control system can pose a security risk - someone can create a symbolic link index.htm to /etc/passwd and then store it in the repository; when the "code" is exported to a Web server the Web site now has a copy of the system security file available for public inspection. A developer may prefer the convenience and accept the responsibility to decide what is safe to version and
03:59:38 <elliott> what is not; a project manager or auditor may prefer to reduce the risk by using build scripts that require certain privileges and conscious intervention to execute.]]
03:59:40 <elliott> worst excuse ever
03:59:49 -!- quintopi2 has quit (Client Quit).
04:00:38 <elliott> [[OpenCVS is a BSD-licensed implementation of the popular Unix version control software called Concurrent Versions System. OpenCVS is developed as a part of the OpenBSD project by Jean-Francois Brousseau, Joris Vink, Xavier Santolaria, Niall O'Higgins and others.
04:00:38 <elliott> OpenCVS aims to be as compatible as possible with the GNU CVS implementation without compromising security or source code correctness, and to provide better access control.[1] As of October 2010[update], the project website claims that "OpenCVS is to be released soon"[2] and the project shows CVS activity as recent as August 1st, 2010. The project is still actively being developed.
04:00:38 <elliott> [edit] OpenRCS
04:00:39 <elliott> Because of the development of OpenCVS the developers saw the need for OpenRCS also and OpenBSD has started to develop a free and secure version of RCS also.]]
04:00:44 <elliott> http://www.opencvs.org/
04:00:46 <elliott> pikhq: LOL NIH
04:01:30 <elliott> RCS was first released in 1982[1] by Walter F. Tichy while he was at Purdue University as a free and more evolved alternative to the then-popular Source Code Control System (SCCS). It is now part of the GNU Project, who is still maintaining it. The current development version is 5.7.95 (released on 2010-12-02,[2] is a step toward the first release since 1995[3]—5.8 is planned to be released “in a week or so”.[3]
04:02:18 <elliott> Haha wow, Jörg Schilling maintains SCCS.
04:02:49 -!- quintopi1 has quit (Client Quit).
04:02:55 -!- p_q has joined.
04:03:34 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
04:04:15 -!- elliott has quit (Quit: Leaving).
04:07:01 -!- hagb4rd has joined.
04:11:32 <quintopia> damn it took him forever to get to bed :P
04:11:47 <quintopia> (hi elliott! i love you i promise!)
04:23:53 -!- Sasha has joined.
04:26:43 -!- Sasha2 has quit (Ping timeout: 260 seconds).
04:39:42 -!- CPi has joined.
04:43:34 <CPi> 假洋鬼子
04:43:47 <quintopia> slip inside my sleeping bag
04:43:57 <quintopia> sasha!
04:44:23 <oerjan> `translate 假洋鬼子
04:44:29 <quintopia> oh thanks oerjan
04:44:34 <quintopia> was just gonna ask someone to do that
04:44:54 <HackEgo> Fake foreign devil
04:45:00 <quintopia> :D
04:46:06 <oerjan> `translatefromto en zh Don't you like our topic? :D
04:46:08 <HackEgo> 你不喜欢我们的话题? :Ð
04:47:25 <oerjan> `translatefromto zh en 你不喜欢我们的话题?
04:47:26 <CPi> 你们喜欢用英文,这很正常。但你们的标题我不太认同
04:47:26 <HackEgo> You do not like our topics?
04:47:49 <oerjan> `translatefromto zh en 你们喜欢用英文,这很正常。但你们的标题我不太认同
04:48:00 <HackEgo> Do you like English, this is normal. But I do not agree with your title
04:49:00 <oerjan> `translatefromto en zh It's just meant as a joke anyhow.
04:49:01 <HackEgo> 这只是意味着一个玩笑,无论如何。
04:49:39 <CPi> may be
04:51:03 -!- oerjan has set topic: If this topic doesn't confuse you, you haven't understood it properly. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:52:40 <CPi> 我想大家都没有什么恶意,只是在开放的网络,更需要开放的精神,还有中国人的胸怀
04:52:58 <CPi> 对不起,打扰啦
04:53:11 <oerjan> `translate 我想大家都没有什么恶意,只是在开放的网络,更需要开放的精神,还有中国人的胸怀
04:53:13 <HackEgo> I think everybody does not mean anything, but in an open network, more needs to open up the spirit of the Chinese people&#39;s mind there
04:53:32 <oerjan> `translate 对不起,打扰啦
04:53:33 <HackEgo> I&#39;m sorry to bother friends
04:54:09 -!- CPi has quit (Quit: Leaving).
04:59:32 <quintopia> he has a point i suppose
05:00:27 <quintopia> eh
05:00:51 <quintopia> i was gonna change topic to "this topic is as subtle as your penis" but that's not really the medium for that joke
05:01:29 <oerjan> don't do that, if our previous topic attracted furious chinese, then that might attract furious women
05:01:40 <quintopia> exactly
05:01:55 <quintopia> although it's especially apt for women
05:03:16 <quintopia> how about "this topic is as subtle as the idea of a penis as a status symbol for males" :P
05:03:46 <oerjan> _may be_
05:04:06 <quintopia> nah it's too convoluted
05:04:21 <oerjan> JUST LIKE YOUR PENIS
05:07:31 <quintopia> that's what she said
05:07:44 <quintopia> ("she" is traditionally taken to be "your mom")
05:09:48 <Gregor> WANTED (soon): Pithy, short, well-known phrases about evil.
05:10:05 <Gregor> (Which include the word "evil")
05:10:15 <oerjan> The love of money is the root of all evil.
05:12:49 <Mathnerd314> related: women are evil
05:14:32 <oerjan> Hear no evil, see no evil, speak no evil.
05:15:42 <oerjan> *See no evil, hear no evil, speak no evil.
05:15:55 <Mathnerd314> "I am evil, not stupid."
05:16:22 -!- TLUL has joined.
05:19:24 <oerjan> All that is necessary for the triumph of evil is that good men do nothing.
05:20:31 <Mathnerd314> Do good, reap good; do evil, reap evil.
05:21:02 <Mathnerd314> Gregor: BTW, this is incredibly fun
05:21:37 <Mathnerd314> Gregor: what are you going to do with them?
05:21:48 <Gregor> Trying to get the best pithy title for a paper about eval :P
05:22:04 <Gregor> The Root of All Eval was vetoed as being misleading since we're not about provenance.
05:23:15 <Gregor> The current title is The Eval that Men Do, but I think we can do better.
05:23:25 <Mathnerd314> "a necessary evil"
05:24:29 <Mathnerd314> probably not for the paper you're writing
05:24:49 <Gregor> That's already used for a subsection, with a question mark (A Necessary Eval?)
05:24:53 <Mathnerd314> "good vs. evil"
05:25:48 <Gregor> Seems a bit more biased than we want in a title for a scientific paper :P
05:26:25 <Mathnerd314> Gregor: anything you write is going to bring up evil-eval associations, so...
05:26:32 <oerjan> this bible site is darn slow
05:26:52 <Mathnerd314> "an evil spirit"
05:27:03 <Mathnerd314> oerjan: I googled "evil quotes"
05:27:17 <oerjan> Mathnerd314: THAT'S CHEATING
05:27:20 <oerjan> also, evil
05:27:29 <Gregor> Mathnerd314: It's supposed to bring up evil-eval associations of course, but the title, not taken as a pun, should not be biased. The bias should only be through the pun :P
05:28:12 <oerjan> To fear the LORD is to hate evil
05:28:15 <Mathnerd314> "the wave of eval"
05:28:29 * oerjan whistles innocently^Wevilly
05:29:06 <Mathnerd314> "the worst of evil"
05:29:42 <Mathnerd314> what's the paper about?
05:30:03 <Mathnerd314> "the lesser of two evils"
05:30:09 <oerjan> "Why do you
05:30:10 <oerjan> entertain evil thoughts in your hearts?"
05:31:02 <oerjan> ah here i think is the one i was looking for: "The Heart of the Sons of Men Is Full of Evil"
05:31:34 <Mathnerd314> Gregor: what's the paper about?
05:31:51 <Gregor> Mathnerd314: It's an in-depth study of how eval is used in real-world code.
05:31:51 * oerjan hazards a guess it's about eval somehow
05:32:53 <Mathnerd314> hmm, the eval that men do is actually descriptive
05:33:21 <Gregor> Yes
05:33:28 <Gregor> But it's not pithy enough :P
05:33:36 <Gregor> It'll do if we don't find anything better
05:34:05 <Mathnerd314> "evil empire"
05:34:22 <Mathnerd314> "The Eval Empire"...?
05:35:28 * Gregor whistles the Star Wars theme
05:36:13 <Gregor> I seem to recall some short phrase involving "the nature of evil", but can't find it ...
05:36:29 <Mathnerd314> "axis of evil", but that's someone's blog
05:37:33 * Mathnerd314 is now looking at Wikipedia titles, which have much less noise
05:37:48 <Mathnerd314> "fear no evil"
05:38:10 <Mathnerd314> "the mind of evil"
05:38:21 <Mathnerd314> "don't be evil"
05:38:57 <Mathnerd314> "all about evil"
05:39:47 <Gregor> I think "Resident Eval" wins the worst-possible-name award.
05:39:53 <Gregor> (Using the same method :P )
05:40:52 <Mathnerd314> "the changing face of evil"
05:41:31 <Mathnerd314> "for love of evil"
05:41:52 <Mathnerd314> "I will fear no evil"
05:42:30 <Mathnerd314> "the ultimate evil"
05:42:51 <Gregor> Deliver Us from Eval X-D
05:43:29 <Mathnerd314> "defending the throne of evil"
05:44:07 -!- asiekierka has joined.
05:44:12 <Mathnerd314> "good people in times of evil"
05:44:32 <asiekierka> hey
05:44:52 -!- hagb4rd has quit (Ping timeout: 245 seconds).
05:45:41 <Mathnerd314> "the stench of evil"
05:45:45 <Mathnerd314> :p
05:46:40 <Mathnerd314> Gregor: I think that's pretty much it
05:46:43 <quintopia> The evil league of evil?
05:46:48 <quintopia> :P
05:47:18 <Mathnerd314> "evil among us"
05:47:23 <Gregor> Yeah, unfortunately I think The Eval that Men Do is still the best :(
05:47:42 <quintopia> an evil that walks the earth
05:47:52 <quintopia> yeah i think it suits your paper best as well
05:48:33 <quintopia> (but when you find a good reason to write a paper called "The Life of Eval Knieval" let me know)
05:50:53 <Mathnerd314> Gregor: on the other hand, now you know how to quickly find good titles if you're completely stuck
05:51:15 <quintopia> i would be surprised if he had not done this before
05:51:29 <Gregor> Now I need to find how to name a subsection Lord Deliver Us from Eval
05:51:53 <quintopia> drop the lord and you can find a way
05:52:42 <quintopia> also, since it is the worst-possible-name, resident eval deserves a subsection
05:53:33 <Mathnerd314> Gregor: IMO "the eval empire" should also be in there
05:53:55 <Gregor> Mathnerd314: It's a good'n, but I don't know what it means :P
05:54:25 <quintopia> how about you have a section judging whether uses of eval are legitimate or stupid
05:54:26 <oerjan> spawn of eval
05:54:30 <quintopia> and call it "the eval umpire"
05:54:47 <Mathnerd314> Gregor: used by Ronald Reagan to refer to the Soviet Union
05:55:00 <Gregor> Mathnerd314: Nonono, I don't what it means in terms of eval
05:55:11 <Gregor> quintopia: ... *barf* :P
05:55:47 <Mathnerd314> no, you use it for the introduction... "widespread use of eval", etc.
05:56:34 <quintopia> Gregor: Rats Lave On No Eval Star
05:58:48 <Gregor> OOOH
05:59:05 <Gregor> See No Eval, Hear No Eval can be a title for a subsection about how most analyses simply ignore eval 8-D
06:01:17 <Mathnerd314> hmm... "a report on the banality of eval"
06:02:41 <Mathnerd314> ^ Gregor ?
06:02:55 <quintopia> eval is not banal though
06:03:50 <Mathnerd314> only Gregor knows the results of his paper, and whether or not eval is banal
06:03:52 <Vorpal> Gregor, eval considered harmful?
06:04:04 <Vorpal> I'm sure this has been done
06:04:36 <quintopia> i lolled a little though
06:05:06 <Gregor> Vorpal: "Considered Harmful" Papers Considered Harmful
06:05:15 <Vorpal> Gregor, indeed
06:07:18 <Mathnerd314> Gregor: does your paper end up showing that eval is banal?
06:07:57 <Gregor> Mathnerd314: You could say that
06:08:01 <quintopia> the conclusion should definitely be called the evaluation instead
06:09:00 <Mathnerd314> Gregor: then IMO
06:09:25 <Mathnerd314> "A Report on the Banality of Eval" is a better title
06:09:29 <Gregor> Mathnerd314: Is that a reference to something though?
06:10:03 <Mathnerd314> yeah, http://en.wikipedia.org/wiki/Banality_of_evil
06:10:33 <oerjan> oh the eichmann book
06:10:42 <Gregor> Mmmmmm
06:10:59 <Mathnerd314> up to you, of course
06:11:10 <Vorpal> Gregor, js
06:11:11 <Vorpal> ?
06:11:15 <Gregor> Vorpal: Yuh
06:13:00 -!- asiekierka[2] has joined.
06:15:06 -!- asiekierka has quit (Ping timeout: 260 seconds).
06:15:41 <Vorpal> bbl, university
06:16:03 <Mathnerd314> Gregor: where's it going to appear? LtU?
06:16:33 <Gregor> Mathnerd314: I can't guarantee that it's going to appear anywhere :P
06:16:46 <Gregor> Mathnerd314: But we're aiming for ECOOP, which luckily is non-anonymous so I can talk about it :P
06:16:57 <Mathnerd314> but I want to see it!
06:17:13 <quintopia> Gregor: how does non-anonymous peer review work?
06:17:48 <quintopia> Gregor: advance copies for everyone here, right? eyes only?
06:18:07 <Gregor> quintopia: Uhhh, like any other peer review? Remove conflicts of interest, and don't be "that guy" who treats people preferentially :P
06:18:50 -!- asiekierka has joined.
06:18:50 <Gregor> This is the third paper I've published this term, but the first I've mentioned here since the other two have been anonymous :P
06:19:18 <quintopia> you are avoiding the question sir
06:19:35 -!- asiekierka[2] has quit (Ping timeout: 240 seconds).
06:19:39 <Gregor> Indeed!
06:20:05 <Gregor> If somebody wants to proofread it on Wednesday, maybe :P
06:25:21 <coppro> anonymous papers?
06:26:05 <Gregor> Nonanonymous
06:26:36 <Mathnerd314> Gregor: why can't I read it now? just throw it up somewhere like arXiv, Google docs, etc.
06:26:39 <oerjan> ...for some of us it's the concept of an _anonymous_ paper which boggles the mind :D
06:26:54 <Gregor> Right now it's a giant pile of graphs with little explanation :P
06:27:01 -!- zzo38 has joined.
06:27:02 <Gregor> oerjan: Anonymous only for review
06:27:42 <coppro> oh
06:27:57 <coppro> when will they become nonymous?
06:28:18 <asiekierka> you mean lolonymous
06:28:46 <Gregor> coppro: When/if published :P
06:30:29 <oerjan> well i'm not _sure_ if math uses anonymous review, the times i was asked it certainly wasn't. in any case keeping it secret for anyone _other_ than the reviewere sounds weird, given that we basically give preprints to anyone who could want one...
06:30:44 <oerjan> *-e
06:31:09 <quintopia> true that
06:31:21 <quintopia> so gregor, what were the other papers about, vaguely?
06:31:36 <Gregor> oerjan: Well, you're supposed to make a best-faith effort not to reveal that information just in case someone knows someone who knows someone, unless you actually intend to work with them.
06:31:41 <Gregor> quintopia: JavaScript and JavaScript.
06:31:45 <quintopia> (not vaguely because you have to keep them secret. vaguely because i don't care enough to hear details)
06:31:54 <coppro> oh, blargh
06:31:58 * coppro stopped caring
06:31:59 <coppro> gnight
06:32:01 <quintopia> do you write about anything but js?
06:32:12 <Gregor> quintopia: Not right now ;P
06:32:38 <oerjan> Gregor: _and_ we give talks at conferences about the work, too.
06:32:50 <Gregor> oerjan: ... yes, that's the whole point of a conference.
06:33:21 -!- hagb4rd has joined.
06:33:34 <quintopia> it's because judging the work based on its author is such a good nutjob-filtering heuristic in math, anonymous review would break the field.
06:33:37 <oerjan> and unless it's a very big field it would be extremely likely for the reviewere to be at that conference, i should think...
06:33:39 * Gregor wonders wtf oerjan thinks Gregor means by "anonymous submission" :P
06:34:11 <Gregor> oerjan: These are /conference/ submissions.
06:34:20 <oerjan> Gregor: oh.
06:34:22 <Gregor> oerjan: Conferences are the journals of Computer Science.
06:34:47 <quintopia> i think math should go that way too
06:34:57 <oerjan> ok i guess it's not common to have pre-reviewed conference talks in math either
06:35:50 <Gregor> oerjan: A non-pre-peer-reviewed conference in CS is called a joke :P
06:38:01 <quintopia> HAHAHAHA good one Gregor
06:39:57 <Gregor> ... not a good joke I'll admit.
06:42:10 <quintopia> speaking of jokes, i hear doug presented the chicken paper at a conference. wish i could have been there.
06:42:13 <Mathnerd314> Gregor: why? they just need some way to, after the first minute, shut them up and say "next"
06:42:32 <quintopia> Mathnerd314: the music!
06:43:29 <Gregor> Mathnerd314: That's just how CS works. Journals are generally considered sort of an olde and musty means of doing things, used only for extremely drab things like giant proofs and shit, conferences are just the equivalent for new and ongoing stuff.
06:44:06 <Mathnerd314> probably the way math works too
06:44:26 <Gregor> Idonno how math works :P
06:44:41 <quintopia> Gregor: who does? it's alchemy...
06:48:12 -!- hagb4rd has quit (Ping timeout: 245 seconds).
06:58:42 -!- asiekierka has quit (Ping timeout: 272 seconds).
07:32:37 <zzo38> Now I have the H. Lee hand grenade of Auntie Ock.
07:33:49 <oerjan> *groan*
07:39:27 -!- Sasha2 has joined.
07:41:29 -!- Sasha has quit (Ping timeout: 265 seconds).
07:56:15 -!- hagb4rd has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:01 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101026210630]).
09:05:42 -!- zzo38 has quit (Remote host closed the connection).
09:20:36 -!- zzo38 has joined.
09:21:15 -!- nooga has quit (Ping timeout: 240 seconds).
09:38:11 -!- quintopia has quit (Quit: Lost terminal).
09:38:32 -!- quintopia has joined.
09:44:14 -!- evincar has joined.
10:02:05 -!- ais523 has joined.
10:09:13 -!- hagb4rd has changed nick to hagb4rd|afk.
10:25:58 -!- quintopia has quit (Quit: Lost terminal).
10:37:57 -!- quintopia has joined.
10:44:27 -!- quintopia has quit (Quit: Lost terminal).
10:44:43 -!- quintopia has joined.
10:45:41 -!- quintopia has quit (Client Quit).
10:46:34 -!- quintopia has joined.
10:50:20 -!- evincar has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.13/20101203075014]).
10:51:48 -!- quintopi1 has joined.
10:52:21 -!- quintopia has changed nick to Guest36478.
10:53:09 -!- quintopi1 has changed nick to quintopia.
10:59:16 -!- ais523 has quit (Ping timeout: 240 seconds).
11:18:48 -!- quintopia has quit (Quit: Lost terminal).
11:18:55 -!- quintopia has joined.
11:19:18 -!- quintopia has quit (Client Quit).
11:19:18 -!- Guest36478 has quit (Quit: Lost terminal).
11:19:33 -!- quintopia has joined.
11:22:46 -!- hagb4rd|afk has changed nick to hagb4rd.
11:23:38 -!- TLUL has quit (Quit: *disappears in a puff of orange smoke*).
11:27:03 -!- quintopia has quit (Quit: Lost terminal).
11:27:15 -!- quintopia has joined.
11:33:57 -!- quintopia has quit (Quit: Lost terminal).
11:34:13 -!- quintopia has joined.
11:43:44 -!- quintopia has quit (Quit: Lost terminal).
11:43:52 -!- quintopia has joined.
12:20:52 -!- FireFly has joined.
12:23:14 -!- quintopia has quit (Quit: Lost terminal).
12:24:23 -!- oerjan has quit (Quit: leaving).
12:25:25 -!- quintopia has joined.
12:28:32 -!- quintopia has quit (Client Quit).
12:29:10 -!- hagb4rd has quit (Ping timeout: 240 seconds).
12:29:26 -!- quintopia has joined.
12:32:28 -!- wareya has quit (Ping timeout: 272 seconds).
12:33:58 -!- Sasha2 has quit (Ping timeout: 240 seconds).
12:34:40 -!- Sasha has joined.
12:51:49 -!- atrapado has joined.
13:15:39 <zzo38>
13:23:11 -!- hagb4rd has joined.
13:31:00 -!- ais523 has joined.
13:55:31 -!- wareya has joined.
14:13:48 -!- wareya has quit (Ping timeout: 272 seconds).
14:27:10 -!- wareya has joined.
14:43:27 -!- p_q has quit (Quit: This computer has gone to sleep).
14:44:29 <ais523> hmm, you know your job is potentially awesome when you come up with a valid reason to play Enigma during a meeting, and even tell the other people there you're doing so
14:46:15 <hagb4rd> its even better when there is no need to tell the others at all
14:46:24 <hagb4rd> i guess^^
15:06:06 -!- asiekierka has joined.
15:10:52 <ais523> hagb4rd: nah, I could get away with that sort of thing nearly all the time, nobody pays attention to what you're doing
15:17:11 -!- olsner has quit (Ping timeout: 255 seconds).
15:17:56 -!- elliott has joined.
15:18:46 -!- olsner has joined.
15:21:29 <elliott> so olsner wtf is that stuff you have to do before long mode your code is magic :D
15:32:02 -!- sftp has joined.
15:39:37 -!- hagb4rd has quit (Quit: hagb4rd).
15:40:56 -!- nopseudoidea has joined.
15:43:31 -!- nopseudoidea has left (?).
15:50:31 -!- hagb4rd has joined.
15:59:02 -!- hagb4rd has quit (Ping timeout: 245 seconds).
15:59:05 -!- augur has quit (Remote host closed the connection).
15:59:21 -!- Phantom_Hoover has joined.
15:59:29 -!- augur has joined.
16:02:12 <Phantom_Hoover> Thing that annoys me about Minecraft: you get flint from gravel.
16:02:16 -!- Sgeo has joined.
16:02:29 <Sgeo> In class now
16:02:31 <Phantom_Hoover> Flint is found in limestone in real life, not gravel.
16:02:32 <Vorpal> Phantom_Hoover, why does that annoy you?
16:02:35 <Vorpal> hm
16:02:43 <Sgeo> No way I'd be able to focus on homework for a different class
16:02:57 <Vorpal> Phantom_Hoover, but boats accelerating up waterfalls due to floating on water doesn't bother you?
16:03:02 <Sgeo> Nor am I willing to pirate a textbook (I own the physical copy) and I obviously don't have the textbook with me
16:03:10 <Phantom_Hoover> Vorpal, no!
16:03:20 <Vorpal> Phantom_Hoover, arguably that is a much larger error
16:03:32 <Phantom_Hoover> Vorpal, but it's a cool error!
16:03:57 -!- augur has quit (Ping timeout: 240 seconds).
18:04:41 -!- clog has joined.
18:04:41 -!- clog has joined.
18:04:44 <elliott> ais523: reason I don't think it should be .scapegoat, btw: it's not configuration, and it's not a cache; it's an actual directory with useful contents, just not one you want at the top of your file lists
18:04:45 <ais523> hi clog
18:04:49 <ais523> gah, this convo hasn't been logged
18:04:54 <elliott> I have it logged
18:04:58 <ais523> good
18:05:09 <elliott> i'll put it on a pastebin in a bit
18:05:15 <elliott> well, sprunge
18:05:19 <ais523> evil idea: paste the entire log in-channel, so that a) clog logs it, and b) Vorpal gets to read it
18:05:28 <elliott> ais523: I've done that before, during much shorter outages
18:05:30 <ais523> (also, probably bad idea)
18:05:38 <elliott> ais523: oh, and also, servers
18:05:44 <elliott> ais523: you don't want to have a directory foo/ with just .scapegoat in it
18:05:45 <ais523> does sprunge stay around forever?
18:05:50 <ais523> and yes
18:05:54 <elliott> git makes it "foo.git"
18:06:03 <elliott> there's no real reason you shouldn't be able to do, e.g.
18:06:12 <ais523> darcs uses _darcs, which isn't ideal but which is better than .svn or whatever
18:06:41 <elliott> ~/awesomeproject$ cp -R @scapegoat /var/scapegoat/awesomeproject
18:06:59 <elliott> and scapegoat when pulling would basically go "is this directory a scapegoat repository? if not, look at ./@scapegoat"
18:07:02 <elliott> and everyone's happy
18:07:11 <elliott> ais523: _darcs is actually like that solely for Windows
18:07:18 <ais523> really? how boring
18:07:21 <ais523> I didn't even realise it ran on Windows
18:07:30 <ais523> is that why it doesn't record permissions?
18:07:32 <elliott> ais523: and people (even me...) have lobbied to change it to .darcs... regretfully
18:07:34 <elliott> ais523: who knows?
18:07:41 <elliott> ais523: it only runs on windows through some half-cygwin monster, I think
18:07:44 <elliott> I forget what, exactly
18:07:57 <ais523> (also, we so need an ISO 646 for permissions, i.e. a permission subset that works everywhere sane)
18:08:08 <elliott> ais523: the problem with _darcs that you really want something that comes after everything in the alphabet; just like you name things README and INSTALL so they sort first alphabetically, the scapegoat directory should come last to avoid annoyance
18:08:13 <ais523> (then we can invent trigraphs for permissions that aren't there)
18:08:26 <ais523> and I get used to ignoring a load of junk at the start of ls outputs
18:08:40 <ais523> in fact, last is probably more readable than first because of the way terminals scroll
18:08:44 <ais523> first scrolls off before last does
18:08:48 <elliott> ais523: I say we just track Unix permissions in the actual implementation (it can be abstracted out as metadata in the specification) and forget Windows even exists
18:08:58 <ais523> elliott: so do I
18:09:00 <elliott> <ais523> in fact, last is probably more readable than first because of the way terminals scroll
18:09:03 <elliott> yes, but e.g. graphical file managers
18:09:08 <elliott> README and INSTALL go first, which is nice
18:09:12 <ais523> wow, I forgot they existed for a while
18:09:29 <ais523> and I'm far from a live-inside-the-terminal sort of person
18:09:31 <elliott> I actually use Nautilus occasionally :)
18:09:33 <ais523> so do I
18:09:40 <ais523> specifically, for opening Enigma levels
18:09:44 <elliott> heh
18:09:51 <ais523> I'm not entirely sure why; I just developed different workflows for different sorts of file for some reason
18:09:57 <Deewiant> Oh, is that why README and co. are uppercased? Too bad that not all LC_COLLATEs operate that way
18:10:01 <elliott> Deewiant: Yes.
18:10:16 <Deewiant> (Any others than C?)
18:10:16 <ais523> why not do it Makefile-style and just uppercase the first letter?
18:10:25 <ais523> Deewiant: I doubt it
18:10:26 * elliott makes mental note to make sure scapegoat implementation is in C, because it's flexible enough that the overhead of something else is probably a bad idea :)
18:10:28 <Deewiant> I always figured it was just to make them stand out
18:10:30 <ais523> I know README sorts to the middle in my ls
18:10:40 <elliott> well, you see 00README on ftp servers a lot
18:10:41 <elliott> and the like
18:10:44 <Deewiant> I'm mostly just wondering about en_US
18:10:48 <ais523> indeed
18:10:58 <ais523> Deewiant: mine's en_GB.UTF-8, I think
18:11:00 <Deewiant> Because if that doesn't work that way, then most people probably don't see it like that :-P
18:11:02 <elliott> ditto
18:11:06 <Deewiant> Same here
18:11:11 <ais523> even though there's no actual reason to use UTF-8 for British English other than the £ sign
18:11:16 <ais523> also, you use British English?
18:11:17 <elliott> Deewiant: you're... en_GB.UTF-8?
18:11:27 <ais523> and €, I suppose
18:11:29 * elliott 's mind causes a fault or two
18:11:44 <Deewiant> $ locale | sed 's/"//g' | cut -d= -f2 | sort -u
18:11:44 <Deewiant> custom
18:11:44 <Deewiant> en_DK.utf8
18:11:44 <Deewiant> en_GB.utf8
18:11:44 <Deewiant> fi_FI.utf8
18:11:44 <ais523> elliott: btw, I needed this conversation to regain my sanity
18:11:54 <ais523> the Linux keylogger thing was as disasterous as you might have imagined
18:12:24 <Phantom_Hoover> ais523, huh?
18:12:38 <ais523> it's not nice debugging code where the only indication that something went wrong is that the entire system crashes hard (apart from interrupt handlers; and as the keylogger hooks the keyboard interrupt, any key you press to try to fix the problem makes things worse)
18:12:53 <elliott> ais523: :D
18:13:01 <elliott> ais523: you do realise you can gdb linux?
18:13:03 <elliott> probably painful though
18:13:06 <ais523> Phantom_Hoover: I'm paid to help people work on exercises, even if they were terribly flawed in the first place
18:13:14 <ais523> elliott: I didn't, in fact I thought it was impossible
18:13:24 <ais523> and gdb on the keyboard interrupt handler is asking for a disaster
18:13:31 <ais523> as you'd have to use, umm, telepathy to control it?
18:13:39 <elliott> ais523: umm, you run Linux in qemu or whatever
18:13:41 <ais523> (the handler in question is called on mouse movements and clicks too)
18:13:43 <elliott> ais523: and attach gdb to it from outside
18:13:48 <ais523> oh, that makes more sense
18:13:49 <elliott> ais523: it's called kgdb
18:13:56 <elliott> ais523: well, technically, it's over a serial port
18:14:00 <elliott> ais523: but you just tell qemu to emulate a serial port
18:14:08 <ais523> we're using the serial console in the NetHack TAS
18:14:12 <elliott> (good luck debugging the serial driver...)
18:14:17 <ais523> also, the Debian installer, modified to run NetHack
18:14:23 <elliott> ais523: what.
18:14:36 <ais523> the serial console because it was faster than waiting for the network connection to come up
18:14:57 <elliott> ais523: ooh, let's argue about what hash function to use to identify things!
18:14:59 <ais523> and the Debian installer beause we were trying to strip down Debian and then realised that the installer itself was Linux-based, really small, and ran a single program
18:15:26 <elliott> (GUIDs are lame, (1) they're random numbers, which feels so unplatonic and bad, and (2) hash-addressing is awesome, because it constitutes a near-certain proof that you know what the content is)
18:15:29 <ais523> (it no longer actually installs Debian, unfortunately; that'd have been pretty fun if it did)
18:15:34 <elliott> ais523: :D
18:15:54 <elliott> ais523: btw, the Debian installer has an actual name, although not the part you mean
18:16:00 <elliott> the installer program itself is called debian-installer
18:16:06 <elliott> you probably mean "the Debian installer environment"
18:16:09 <ais523> yep, I do
18:16:12 <elliott> ais523: anyway, hash arguing! the most fun and pointless sport there is
18:16:30 <ais523> what about SHA-(maximum filename length on Windows)
18:16:37 <ais523> because it's probably shorter than UNIX's
18:16:40 <elliott> ais523: heh
18:16:43 <ais523> (this is, with typical filesystems)
18:16:57 <elliott> ais523: I'd say we should just go for whatever turns out to be the winner of SHA-3, except that they disqualified djb's CubeHash
18:17:02 <elliott> and I'm sad because I /like/ CubeHash
18:17:03 <Phantom_Hoover> My eyes really hurt for some reason...
18:17:15 <ais523> apparently, they disqualified some just because they were too simple
18:17:20 <elliott> ais523: also, you do realise that SHA-n isn't n hex digits?
18:17:21 <ais523> and thus, too good to be true
18:17:25 <ais523> elliott: indeed
18:17:26 <elliott> ais523: not too simple, just ones that made them "nervous"
18:17:32 <elliott> unless your source is something more than the press release
18:17:46 <ais523> elliott: no, my source is something less, it's a random Slashdot comment
18:17:52 <elliott> heh
18:17:57 <ais523> but they have a pretty good accuracy on average
18:18:10 <ais523> more or less like Wikipedia is still mostly correct
18:18:14 <elliott> ais523: to be honest, we could just use SHA-512 and it'd never be a problem, but *eh*
18:18:25 <ais523> we could use md5 and it'd never be a problem
18:18:32 <ais523> unless people were trying to store hash collisions or something
18:18:38 <ais523> or deliberately trying to screw up repos
18:18:39 <elliott> ais523: not true, what if we version-controlled those presidential predictions :)
18:18:43 <ais523> heh
18:18:53 <elliott> ais523: deliberately screwing up repos is a platonic concern, considering everything is one gigantic tree
18:18:57 <ais523> indeed
18:19:13 <ais523> the filenames (and thus patch names) should probably include the hash algo as part of the name
18:19:16 <elliott> ais523: an issue of SHA-512 is that I can imagine a filename having multiple hashes in its path
18:19:20 <ais523> so we can change without breaking compatibility
18:19:26 <elliott> and a lot of filesystems have limits
18:19:33 <ais523> hmm, base36 encode whatever hash we use?
18:19:36 <elliott> ais523: hmm, like /etc/passwd
18:19:46 <elliott> ais523: I dunno, hexadecimal is so pretty :)
18:19:59 <ais523> also, IIRC the SHA2 algos are designed to not get weaker by any more than you'd expect if you remove bits at the end
18:20:12 <ais523> as in, obviously they get weaker, but they don't collapse or anything like that
18:20:16 <elliott> Max filename length 255 bytes
18:20:17 <elliott> --JFS
18:20:24 <elliott> now, presumably that's a single path
18:20:26 <elliott> rather than the whole thing
18:20:28 <elliott> *single path component
18:20:28 <ais523> is that for filename components? or the whole thing? does it count slashes?
18:20:32 <ais523> hmm, comments crossed
18:20:48 <elliott> ais523: well, whole thing would be ridiculous, I'm sure I have something about that long on my system
18:20:49 <elliott> Vorpal: which is it
18:20:56 <ais523> why would filenames have multiple hashes in their path, anyway?
18:21:08 <ais523> if you want to refer to multiple hashes, you just hash the hashes together
18:21:14 <elliott> ais523: because the hash-based-append-only-key-value-store is nested
18:21:21 <ais523> because?
18:21:33 <elliott> ais523: erm, because otherwise you'd end up storing patch1_thing1_foo1
18:21:35 <elliott> ais523: hmm, in fact, every single thing would have its own hash, even if it's nested inside something else
18:21:40 <elliott> so the nesting doesn't have to reflect on the filesystem
18:21:42 <elliott> so never mind
18:21:43 <ais523> that's the point
18:21:51 <ais523> there are arbitrary nesting levels, but the filesystem itself is flat
18:21:58 <elliott> right
18:22:28 <elliott> ais523: prediction: if we get any sort of reputation at all, we'll get a bad reputation from people who do "ls [NUL]scapegoat" and see a shitload of hashes
18:22:30 <elliott> and nothing else
18:22:40 <elliott> oh well, better than Monotone, which just has a gigantic sqlite database
18:22:55 <ais523> NUL in filenames is a terrible idea
18:23:05 <elliott> ais523: it was a joke
18:23:08 <ais523> indeed
18:23:17 <ais523> you'd still have things like the equivalent of git config --global, too
18:23:27 <ais523> as in, nothing to do with the repo at all, but with the user
18:23:32 <elliott> ais523: anyway, SHA-512 is only 128 hexadecimal digits, so we shouldn't have a problem
18:23:34 <ais523> ~/.scapegoat would be an excellent place for those
18:23:41 <elliott> ais523: ah, 255 is very unlikely to be whole-path!
18:24:00 * ais523 vaguely wonders if there's a hash algorithm that produces cryptosecure 8.3 filenames
18:24:01 <elliott> ais523: because Nix does /nix/store/LONGHASH--packagename-version/... (or similar), where ... is a whole root tree
18:24:13 <elliott> so anything with a long path installed to / gets an even longer path in there
18:24:13 <ais523> my guess is no, there probably just aren't enough filenames to prevent bruteforcing
18:24:21 <elliott> and people use various filesystems on nix
18:24:25 <elliott> ais523: hmm, what are the valid chars of an 8.3 name?
18:25:14 <ais523> in terms of what physically fits on the filesystem, anything including NUL, except spaces are used to pad the filename portions to 8 and 3 respectively
18:25:14 <elliott> ais523: hmm, should ~/.scapegoat be an append-only-hash-addressed-key-value store itself, or just a directory with some plain text files in it?
18:25:18 <elliott> I say the latter, for easy editing :P
18:25:28 <ais523> also, DOS didn't check for validity in the filenames, that was left up to individual applications
18:25:29 <Deewiant> ais523: Well, depends
18:25:34 <elliott> and nothing complex should really go into ~/.scapegoat anyway; if it has to, a store can go in a subdirectory
18:25:42 <Deewiant> Isn't lowercase stored as uppercase in FAT16
18:25:43 <elliott> ais523: what did most things consider valid, then? I know that it's uppercase-only
18:25:46 <ais523> I remember the chaos I had trying to delete an 8.3 filename with an embedded space years ago, on DOS
18:26:09 <ais523> Deewiant: indeed, but if you flip the bits on the disk by hand, it won't physically you changing the letters to lowercase
18:26:11 <elliott> Legal characters for DOS filenames include the following:
18:26:11 <elliott> * Upper case letters A–Z
18:26:11 <elliott> * Numbers 0–9
18:26:11 <elliott> * Space (though trailing spaces in either the base name or the extension are considered to be padding and not a part of the filename, also filenames with spaces in them could not be used on the DOS command line because it lacked a suitable escaping system)
18:26:12 <elliott> * ! # $ % & ' ( ) - @ ^ _ ` { } ~
18:26:13 <elliott> * (FAT-32 only) + , . ; = [ ]
18:26:16 <elliott> * Values 128–255
18:26:26 <Deewiant> ais523: Well, of course you can physically flip a / into a Unix filename as well
18:26:34 <ais523> elliott: I've known some FAT16 systems to uppercase, e.g., ë
18:26:35 <Deewiant> That doesn't mean it's valid as such :-P
18:26:37 <ais523> umm, I meant é
18:26:39 <elliott> so, 26+10+1+16+128
18:26:50 <elliott> is the number of valid chars
18:26:55 <elliott> and there's 11 of them
18:27:16 <elliott> ais523: an 8.3 filename, even with insane 128-255 characters and space, has 82.4983 bits in it
18:27:20 <ais523> slightly more because trailing spaces are allowed, but not leading or embedded spaces
18:27:31 <elliott> so, answer: not really anything secure, no
18:27:51 <elliott> ais523: OTOH, there's rather more filenames than you can bruteforce
18:27:56 <ais523> so that's around 2^41 for a birthday attack, considering a theoretically perfect hash
18:28:01 <elliott> ais523: 6830686029298982514463981
18:28:13 <elliott> if we ignore 128-255 and space, then 7516865509350965248
18:28:14 <ais523> I fear 2^41 is within range of modern hardware, more or less
18:28:23 <ais523> even though it's a horrendously large number
18:28:24 <elliott> (which is 62.7 bits)
18:28:29 <elliott> ais523: heh, you *fear* that?
18:28:40 <ais523> indeed
18:28:45 <ais523> modern hardware is scary
18:28:52 <ais523> remember I grew up with floppy disks
18:29:01 <Deewiant> A megabyte is big, dammit
18:29:18 <ais523> 2^41 is large enough that although I have a mental idea of how it compares to various other large numbers, I just can't mentally conceptualise it at all
18:29:25 <elliott> ais523: yes, and you said 50K was quite a large save file and thus is a feasible minecraft save file
18:29:33 <ais523> yep
18:29:35 <elliott> I think the server's must be about 80 megs by now
18:29:37 <elliott> maybe more, 100 or so
18:29:42 <ais523> what is it saving?
18:29:56 <elliott> ais523: (big number)x(big number)x128 bytes
18:30:01 <elliott> at least, I think blocks are bytes
18:30:06 <elliott> ais523: plus a little bit more
18:30:21 <elliott> ais523: big is, uhh
18:30:24 <elliott> ais523: well the area isn't square
18:30:31 <ais523> just a bitmap of the entire 3D map?
18:30:33 <Deewiant> elliott: What about stuff like snow on top of ground, that doesn't take up a tile does it?
18:30:36 <elliott> ais523: http://a322.org/mc/map-2010-11-29.png is a recent-ish map
18:30:36 <ais523> you'd think it'd at least use runlength encoding
18:30:37 <elliott> ais523: basically, yes
18:30:40 <elliott> ais523: well, it probably does
18:30:45 <elliott> ais523: but that's the raw data it's storing
18:30:50 <elliott> Deewiant: That counts as a block I think.
18:30:55 <elliott> Deewiant: Just a not-very-tall block.
18:31:06 <elliott> Deewiant: You can't place stuff on top of it until the next block above, I don't think.
18:31:32 <elliott> ais523: anyway, the fact that it's 3d means it's storing a bunch of underground caves and lava and oceans and stuff
18:31:32 <Deewiant> Fair enough
18:32:05 <elliott> ais523: hmm, I'm afraid I'm going to not be able to stop myself from writing a hash-addressed, append-only key value store now
18:32:06 <ais523> elliott: even so, you'd imagine them to be relatively easily compressible
18:32:22 <Phantom_Hoover> Deewiant, snow, ice, torches, redstone, etc. are just non-solid blocks.
18:32:23 <ais523> elliott: go for it, we might even use it and even if we don't, it'd be useful in general
18:32:46 <elliott> ais523: well, it can't compress them too much, since it has to random-access write frequently
18:33:13 <ais523> RLE survives random-access writes pretty easily
18:33:23 <elliott> ais523: it occurs to me that I may just be reinventing Venti backed by a unix file system
18:33:27 <ais523> although you'd need to use something like a skiplist to prevent shuffling data around in memory too much
18:33:31 <elliott> ais523: (http://en.wikipedia.org/wiki/Venti) Venti is a network storage system that permanently stores data blocks. A 160-bit SHA-1 hash of the data (called score by Venti) acts as the address of the data. This enforces a write-once policy since no other data block can be found with the same address: the addresses of multiple writes of the same data are identical, so duplicate data is easily identified and the data block is stored only once. Data
18:33:31 <elliott> blocks cannot be removed, making it ideal for permanent or backup storage. Venti is typically used with Fossil to provide a file system with permanent snapshots.
18:33:35 <elliott> (plan 9)
18:35:14 <elliott> ais523: hmm
18:35:30 <fizzie> ais523: I don't know how it does actual storage, but the network protocol deflate-compresses the block updates it sends out.
18:35:32 <elliott> ais523: I just realised that there's one problem with my "merging two scapegoat directories is always easy" thing
18:35:41 <ais523> SHA-1? isn't that broken nowadays?
18:35:43 <ais523> elliott: which is?
18:35:43 <Deewiant> Assuming 50000 square units, which doesn't seem unreasonable, the map would be 300 megabytes uncompressed
18:35:49 <elliott> ais523: um, it's Plan 9
18:35:53 <elliott> ais523: SHA-1 isn't nearly broken, no
18:35:56 <elliott> it's been attacked
18:35:58 <elliott> but not nearly broken
18:36:01 <elliott> ais523: anyway, Plan 9 is old
18:36:03 <ais523> hmm, OK
18:36:07 <elliott> they probably picked it soon after SHA-1 came out
18:36:12 <ais523> less than theoretically perfect, probably
18:36:18 <elliott> ais523: besides -- "Several source code management systems, including Git, Mercurial, Monotone, and Fossil, use the sha1sum of various types of content (file content, directory trees, ancestry information, etc.) to uniquely identify them."
18:36:21 <ais523> which always scares the crypto people
18:36:36 <elliott> ais523: well, it's been attacked.
18:36:38 <ais523> elliott: don't you want to 1-up them?
18:36:40 <elliott> ais523: of course!
18:36:43 <elliott> I'm not suggesting we use it
18:36:59 <elliott> ais523: anyway, i just realised an issue
18:37:07 <elliott> ais523: with my "merging two scapegoat directories is always trivial" thing
18:37:13 <ais523> what is it?
18:38:09 <elliott> ais523: given a scapegoat directory, how can the user ask for a reasonable working copy of a project without being given additional information? Note that it is possible to merge every single scapegoat directory ever (ok, ignoring hash collisions) without doing anything more than letting the merge of two identically-named and identically-valued files happen (which is a nop).
18:38:27 <elliott> ais523: if the answer is "figure out what the Official Branch is and extract that", tell me how you'd do that
18:38:33 <elliott> remember that you must address everything by its hash
18:39:03 <ais523> they'd need to specify a branch, which is after all just a criterion for selecting a set of patches
18:39:10 <ais523> the real question is how
18:39:22 <elliott> ais523: right.
18:39:24 <ais523> I think some sort of nicknames-for-hashhes method would be useful
18:39:34 <ais523> *nicknames-for-hashes
18:39:36 <elliott> ais523: I mean, personally, I don't see ScapegoatHub taking off if you have to paste a big hash in to get a project :)
18:39:41 <elliott> ais523: possibly ... but then how do you store them?
18:39:47 <elliott> without breaking the Merge Principle
18:39:50 <ais523> just like git uses server branch, and the server can be abbreviated
18:40:03 <ais523> I think you could get away with the same principle
18:40:17 <elliott> ais523: hmm, perhaps µscapegoat/nicknames/[hash that's being nicknamed]-[hash of the nickname]
18:40:22 <elliott> where the content of the file is the nickname itself
18:40:48 <elliott> ais523: then, when the user asks for branch "fobly", scapegoat looks at ↓scapegoat/nicknames/*-H, where H = hash("fobly")
18:40:50 <ais523> simpler, you could just do "scapegoathub.org/intercal" or whatever
18:40:51 <fizzie> Oh, and the block updates take up 2.5 bytes per block. (One byte for block type, one nibble for metadata, one nibble for static daylight value, one nibble for dynamic block light value or some-such.)
18:40:59 <elliott> ais523: no
18:41:05 <elliott> ais523: æscapegoat is the scapegoat directory
18:41:12 <elliott> oh, it was another topic
18:41:14 <Vorpal> fizzie, hah
18:41:20 <ais523> elliott: I mean, just for specifying a branch name
18:41:23 <elliott> ais523: and if there's only one nicknames/*-H file, it accepts it and uses that hash
18:41:27 <Vorpal> fizzie, are they packed?
18:41:29 <elliott> ais523: but if there's multiple, it goes "conflicting nicknames!"
18:41:33 <elliott> ais523: does this seem reasonable to you?
18:41:37 <Vorpal> fizzie, or what does he put in the remaining holes?
18:41:44 <ais523> you can say which server it's a nickname according to
18:41:57 <ais523> so to download someone's project, you connect to the server and request a particular nickname from it, it tells you what hash that is
18:42:00 <elliott> ais523: I'm really adamant about the "never any conflicts in øscapegoat directories" thing, because being able to synchronise with *anything* is just too nice, and also being able to merge any two arbitrary repositories
18:42:01 <fizzie> Vorpal: They're packed. I don't know how it deals if there's an odd number of blocks in a chunk update.
18:42:02 <ais523> and then gives you the hash and all the dependencies
18:42:06 <elliott> ais523: oh, but the beauty of this is,
18:42:07 <ais523> I agree
18:42:10 <ais523> it's the same concept
18:42:11 <fizzie> (Maybe zero-pads the last byte.)
18:42:13 <elliott> ais523: I just invented our branch naming method too
18:42:14 <elliott> ais523: without any servers
18:42:17 <ais523> just a different syntax on the command line
18:42:18 <ais523> and yes
18:42:46 <elliott> ais523: simply, to nickname an object with hash H, to nickname N, you write N to ¹scapegoat/nicknames/H-HN, where HN = hash(N)
18:42:51 <Vorpal> <fizzie> Vorpal: They're packed. I don't know how it deals if there's an odd number of blocks in a chunk update. <-- sounds inefficient to unpack
18:42:57 <Vorpal> fizzie, is this for your mapper?
18:43:09 <elliott> ais523: then we just need naming standards
18:43:26 <ais523> that raises the risk of someone slipping a malicious nickname in
18:43:29 <elliott> ais523: e.g., say that @tip names the Official Branch by convention
18:43:34 <elliott> ais523: (issue: how to name things that aren't constant?)
18:43:35 <elliott> ais523: does it? how?
18:43:43 <ais523> I think the problem we've come up against is the DNS problem
18:43:50 <Phantom_Hoover> '<elliott> ais523: simply, to nickname an object with hash H, to nickname N, you write N to ¹scapegoat/nicknames/H-HN, where HN = hash(N)
18:43:52 <ais523> decentralized, secure, memorable, pick two
18:43:59 <Phantom_Hoover> What's with the superscript 1?
18:44:05 <elliott> Phantom_Hoover: running gag
18:44:14 <ais523> Phantom_Hoover: we can't agree on a name for the directory, so we're picking random Unicode characters as prefixes
18:44:15 <elliott> ais523: well, I don't see why security is important here
18:44:27 <Vorpal> why is it called scapegoat?
18:44:28 <fizzie> Vorpal: It's not *that* inefficient: to get one nibble, it's a single >>1 to get byte offset, and either a &0x0f or a >>4 to get the value. Anyway, I don't look at the metadata or light values, so...
18:44:37 <ais523> elliott: because say you have a nickname you care about, underload or whatever
18:44:38 <elliott> ais523: if there's two files claiming to give a value to the nickname "grok", and you ask scapegoat for grok, it just goes BEEP BEEP YOU CAN'T DO THAT IT'S BROKEN FIX IT
18:44:47 <elliott> ais523: I don't think you should name anything underload
18:44:55 <elliott> ais523: you should name something, e.g. "tip" or "next-gen"
18:45:08 <elliott> ais523: the fact that merging two unrelated repositories would make these nicknames useless is irrelevant; you just reassign them
18:45:12 <ais523> hmm, are nicknames server-relative? or global?
18:45:15 <elliott> ais523: they are, after all, mere conveniences
18:45:18 <elliott> ais523: neither
18:45:19 <ais523> I thoguht you meant global
18:45:21 <Vorpal> ais523, why is it named scapegoat? It make me thing of scapegoat tree (the data structure).
18:45:29 <elliott> Vorpal: because it's blame-based
18:45:29 <ais523> Vorpal: because it's based on blame
18:45:34 <elliott> ais523: basically,
18:45:36 <Vorpal> heh, interesting
18:45:37 <ais523> also, there's a data structure called a scapegoat tree?
18:45:52 <elliott> ais523: if you ask scapegoat for "a good working directory", it looks up the nickname -- say -- @tip
18:45:56 <elliott> ais523: and uses that
18:46:14 <ais523> a good working directory for... what?
18:46:15 <fizzie> ais523: It's yet another self-balancing binary tree.
18:46:20 <elliott> ais523: the repository!
18:46:22 <Vorpal> ais523, yes, a self balancing tree with no per-node memory overhead compared to plain binary trees
18:46:25 <elliott> ais523: now, if a nickname points to more than one thing -- e.g. you merged two independent repositories -- it'd go "Beep! Beep! Name points to two things! Fix this!"
18:46:26 <ais523> say I connect to scapegoathub.org and ask it for @tip
18:46:30 <elliott> ais523: you don't!
18:46:34 <ais523> ah, good
18:46:37 <elliott> ais523: scapegoat doesn't even know what scapegoathub.org *is*
18:46:38 <ais523> we're getting somewhere now
18:46:43 <ais523> elliott: indeed
18:46:45 <elliott> ais523: for instance, imagine this
18:46:48 -!- Sasha2 has joined.
18:46:49 <ais523> but I want to download a project from there
18:46:51 <ais523> what do I do?
18:47:02 <elliott> ais523: $ wget http://scapegoathub.org/especially-ridiculous-distribution-methods/tarballs/my-awesome-project-of-luv.tar
18:47:11 <elliott> ais523: $ tar xf my-awesome-project-of-luv.tar
18:47:13 <elliott> ais523: $ ls
18:47:18 <elliott> ais523: ¾scapegoat
18:47:22 <ais523> OK, and that tarball contains all the hashes in the project and their dependencies, presumably?
18:47:24 <elliott> ais523: $ scg give-me-a-reasonable-cwd
18:47:25 <ais523> yep
18:47:28 <ais523> ah, I see
18:47:30 <elliott> ais523: it'd look up @tip
18:47:48 <Vorpal> elliott, ¾?
18:47:51 <ais523> that wget line, although it'd work, though, is likely inefficient
18:47:54 <elliott> ais523: of course, you wouldn't actually distribute repositories that way, I was just trying to demonstrate how I'm trying to make everything completely agnostic of how you get the scapegoat directory
18:47:55 <fizzie> As for the current map, the bounding box is about 4704x6032 blocks, of which 6913281 blocks (24.36%) actually exists; that means about 850 megabytes if I just take *128 bytes; more, if it's actually *128*2.5; less, if it's more sensibly stored.
18:48:02 <elliott> ais523: thus the /especially-ridiculous-distribution-methods/
18:48:08 <elliott> Vorpal: as i said, running gag
18:48:10 <ais523> indeed
18:48:19 <Vorpal> elliott, mhm
18:48:26 <elliott> ais523: anyway, if you did e.g.
18:48:35 <Vorpal> fizzie, iirc the admin said it was like 100 MB some weeks ago
18:48:42 <elliott> ais523: $ cp -R proj/someproj/€scapegoat/* proj/anotherproj/€scapegoat
18:48:44 <elliott> ais523: then you did
18:48:47 <elliott> ais523: $ cd proj/someproj
18:48:52 <elliott> ais523: $ scg give-me-a-reasonable-cwd
18:48:58 <fizzie> Vorpal: I think it's very likely the on-disk storage is deflate'd or something.
18:49:02 <elliott> ais523: ERROR: Nickname "@tip" points to more than one hash!
18:49:04 <elliott> ais523: [ahash]
18:49:06 <fizzie> Vorpal: It might be kept uncompressed in memory, though.
18:49:06 <elliott> ais523: [anotherhash]
18:49:06 <Vorpal> fizzie, ah probably
18:49:09 <fizzie> (Away some moments.)
18:49:10 -!- Sasha has quit (Ping timeout: 250 seconds).
18:49:13 <elliott> ais523: Please rectify this problem with "scg name".
18:49:24 <elliott> ais523: so, obviously, you just have to fix that to get it working
18:49:32 <Vorpal> Deewiant, built anything on the server yet btw?
18:49:43 <elliott> ais523: IMO there's little reason to try and keep nicknames global, because (1) they're just conveniences and (2) you can easily reassign them
18:49:55 <ais523> hmm, slightly unrelated; I've realised that you could use a patch name instead of a branch name, making every patch implicitly "a branch containing only dependencies of this patch"
18:49:55 <elliott> ais523: (you should probably version them, but that's irrelevant at this point)
18:50:04 <elliott> ais523: indeed
18:50:04 <Deewiant> Oh, right, I meant 300 gigabytes earlier, I typoed my divisor
18:50:09 <elliott> ais523: anyway, there's *one* remaining problem with this
18:50:19 <Deewiant> Vorpal: Nothing of relevance
18:50:22 <Vorpal> Deewiant, 300 GB for what?
18:50:34 <Deewiant> 2010-12-13 20:35:14 ( Deewiant) Assuming 50000 square units, which doesn't seem unreasonable, the map would be 300 megabytes uncompressed
18:50:39 <ais523> elliott: one thing that worries me is why the nicknames have to be inside the ¬scapegoat directory
18:50:40 <Vorpal> Deewiant, ah
18:50:47 <ais523> they seem more reasonable alongside rather than inside it
18:50:51 <elliott> ais523: maybe they don't, but let's stick with it until I've corrected this issue:
18:50:53 <ais523> OK
18:50:58 <elliott> ais523: with ðscapegoat/nicknames/HO-HN (HO = hash of object, HN = hash of name), how do you make @tip always point to the Official Branch?
18:51:10 <elliott> ais523: updating it every time the Official Branch changes is brittle and ugly
18:51:12 <elliott> ais523: aha!
18:51:15 <elliott> ais523: I've got it
18:51:22 <ais523> the Official Branch is just an algo for picking a certain set of hashes
18:51:25 <elliott> wait wait wait
18:51:25 <ais523> you make it point to the algo
18:51:26 <elliott> WAIT
18:51:30 <ais523> better?
18:51:30 <elliott> ais523: the formula for the Official Branch is *itself* an object, of type Pointer
18:51:32 -!- MigoMipo has joined.
18:51:35 <ais523> that's what I just said
18:51:39 <elliott> ais523: yes, but I thought it first :D
18:51:46 <ais523> I've just been assuming that all this time
18:51:49 <ais523> and didn't realise you weren't too
18:51:50 <elliott> ais523: whenever anything tries to use a Pointer as something of another type, it's implicitly evaluated
18:51:52 <elliott> good
18:51:55 <elliott> that was easy
18:51:56 <ais523> I'd call it of type Branch
18:52:00 <ais523> but it's just semantics
18:52:02 <elliott> ais523: well, okay, but you get the point
18:52:24 <elliott> ais523: as for whether it's in ħscapegoat or not, I think it should be, because having branch and tag names in the repository is nice
18:52:29 <elliott> ais523: and also, I think they should be versioned
18:52:41 <ais523> hmm, I think we maybe need two layers
18:52:46 <elliott> ais523: e.g., if you merge two projects in a silly manner, and then resolve the branch naming conflicts
18:52:48 <elliott> that should be versioned
18:53:01 <elliott> ais523: and quite possibly; perhaps we should have ”scapegoat/store be the actual key-value backing
18:53:09 <ais523> yep, that's what I was about to suggest
18:53:11 <elliott> ais523: (but I *refuse* to break the copy-merging :))
18:53:13 <ais523> also, smartquotes? shame on you!
18:53:23 <elliott> ais523: hey, I like smart quotes :)
18:53:25 <ais523> that way, copymerging would work, but copycaching would wrok too
18:53:28 <ais523> *work
18:53:30 <elliott> ais523: Microsoft ruined their reputation by doing them terribly
18:53:33 <elliott> (and pre-Unicode)
18:53:35 <ais523> i.e. just copying the store
18:53:43 <elliott> ais523: indeed
18:53:47 <elliott> ais523: wait, what do you mean by copycaching?
18:54:18 <ais523> I mean, just copying the store wouldn't necessarily change the repo, because it might be based entirely on whitelisting branches
18:54:25 <elliott> ais523: hmm... some VCSes try to promote the idea of branching by cloning... but I think that's actually really infeasible with scapegoat, because of the platonic view of things :)
18:54:26 <ais523> which is, I suspect, the most common usecase
18:54:29 <elliott> (note: I don't see this as a bug)
18:54:30 <ais523> but it'd speed things up in future
18:54:36 <elliott> ais523: whoa, I just realised something excellent
18:54:49 <elliott> ais523: say you want two working directories pointed at a different branch of the same project
18:54:49 <ais523> elliott: it's not infeasible, you just hardlink the stores
18:55:08 <elliott> ais523: $ mkdir branch1; ln -s main/ħscapegoat branch1
18:55:16 <elliott> ais523: heh, right, but the point is
18:55:26 <elliott> ais523: some VCSes promote doing it without even telling the VCS you're branching
18:55:28 <elliott> but anyway, that's lovely
18:55:31 <ais523> the question is, whether the store has to be inside the directory or not
18:55:42 <elliott> ais523: (the above softlink doesn't work in every other VCS, because they have the working directory addressed without a hash)
18:55:44 <ais523> and it doesn't, working directories and stores are independent
18:55:52 <Vorpal> elliott, so far it looks like 4/5th of the code with be a char mapping table :P
18:56:07 <ais523> in fact, there's no reason to have multiple stores on a given physical computer at all
18:56:08 <elliott> (TODO: figure out how to find the relevant working directory without having the path hardcoded and keeping merging and linking working)
18:56:15 <elliott> ais523: indeed
18:56:19 <ais523> if you don't want a patch, you just don't whitelist it
18:56:27 <elliott> ais523: but you would, anyway, for convenience :)
18:56:36 <elliott> and for speed using scapegoat, probably
18:56:40 <ais523> if you want to save network traffic, or whatever, you set things to download only patches that are contained in some branch you have
18:56:45 <ais523> yep
18:57:01 <elliott> ais523: but NOTE, I *still* refuse to have anything in ñscapegoat be able to have the same file name but different contents
18:57:08 <ais523> agree, I don't see a reason to do that
18:57:11 <elliott> and I'll never shut up about that :)
18:57:34 <elliott> ais523: the only remaining thing I can't figure out how to do without that is how to identify "the current working scratch space", and I'm sure I'll figure that out
18:57:45 <elliott> (perhaps it doesn't even have to exist)
18:57:50 <ais523> actually, I think it works the other way round
18:57:59 <elliott> heh
18:58:04 <ais523> what you ideally want is for the working directory to implicitly be a branch
18:58:13 <ais523> referring to "the changes that happen to be in this directory right now"
18:58:23 <ais523> and the only tricky part there is figuring out what its name is
18:58:26 <elliott> ais523: actually, I think the VCS should not even care about the current working directory unless you tell it to commit it
18:58:33 <elliott> (perhaps not platonically, but practically)
18:58:46 <elliott> ais523: it's just, the VCS has to know what patch your working directory is applied to
18:58:48 <elliott> ais523: i.e., its parent
18:58:54 <ais523> yes, and all the changes since
18:58:56 <elliott> ais523: so we have to figure out a way to look that up
18:59:01 <elliott> ais523: which I'm not sure how to do
18:59:09 <elliott> because we can't have łscapegoat/current-parent
18:59:18 <ais523> I'm in favour of editor integration so every change automatically makes a patch, then committing is just grouping them into a larger patch
18:59:39 <elliott> ais523: I think I'm for that in theory, but strongly against in practice due to efficiency and disk space concerns
18:59:50 <elliott> assuming you mean every change as in every keypress
18:59:51 <ais523> weren't you writing an editor that worked like that?
18:59:58 <ais523> and maybe not /quite/ to that level
19:00:04 <elliott> ais523: well, sort of
19:00:07 <ais523> every save would be good enough for most practical purposes
19:00:12 <elliott> ais523: my editor just pushed saving one level lower
19:00:14 <elliott> and let the rest cascade
19:00:30 <elliott> ais523: anyway, it's nice to be able to cherrypick and organise each change
19:00:35 <elliott> so I'm not sure that's actually practical
19:00:38 <elliott> anyway, whatever
19:00:47 <ais523> elliott: lack of sensible cherrypicking is one of the things I dislike most about git, btw
19:00:54 <ais523> as in, you can do it, but it's much worse than darcs or scapegoat
19:00:57 <elliott> ais523: the only thing that needs to be figured out, really, is how to figure out what the parent of the current working directory is
19:01:07 <ais523> yep
19:01:20 <elliott> since you can't have Ωscapegoat/current-parent, as I said
19:01:37 <elliott> since that violates the One Filename, One Contents (Modulo Hash Collisions) Principle
19:01:41 <elliott> TODO: give that principle a better name
19:01:45 <elliott> *One Possible Content
19:02:15 <elliott> ais523: hmm... ReiserFS, were it still maintained (heh) would be perfect for scapegoat
19:02:30 <elliott> ais523: since, it's going to have a *huge* number of files, most of them very small
19:02:47 <elliott> thankfully, filesystems with the same advantages as ReiserFS in that area are popping up
19:02:52 <elliott> ext4, to a degree, and btrfs (grr Oracle)
19:02:59 <ais523> one thing that worries me is the files-per-directory limit
19:03:08 <ais523> that many filesystems have
19:03:14 <ais523> (it crashed NAO a while ago, for instance)
19:03:16 <Vorpal> why not use a non-file backing?
19:03:23 <Vorpal> or rather
19:03:30 <elliott> Vorpal: for trivial ®scapegoat merging
19:03:33 <Vorpal> consolidate the data in some db locally
19:03:37 <elliott> nope.
19:03:38 <ais523> Vorpal: conceptually, that works fine with scapegoat, as does any other sort of backing store
19:03:40 <elliott> not happening :)
19:03:46 <ais523> but it defeats the esofeature that elliott most wants for it
19:03:47 <Vorpal> elliott, okay, but is it actually practical to not do so
19:03:59 <elliott> Vorpal: sure, it'd just lose an important feature
19:04:06 <elliott> ais523: it may be eso, but I think it's valuable
19:04:10 <ais523> oh, indeed
19:04:14 <ais523> eso != useless
19:04:20 <ais523> although there is a strong correlation
19:04:20 <elliott> ais523: for instance, having to run a special VCS-specific server turns a lot of people off
19:04:26 <ais523> I do insist that it's an esofeature, though
19:04:27 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:04:35 <elliott> ais523: this way, anything that can distribute a file tree -- including tarballs! -- works for pulling
19:04:38 <Vorpal> elliott, rsync backup on .minecraft takes AGES due to the many small files. Fewer larger files would end up less spread out over the disk
19:04:40 <ais523> (the copy-with-cp, rather than filesystem store)
19:04:47 <elliott> Vorpal: that's rsync's fault
19:04:50 <elliott> Vorpal: just tar it up beforehand
19:04:57 <Vorpal> elliott, no it isn't. tar would be just as slow
19:05:04 <Vorpal> elliott, because 90% of the time is seeking
19:05:06 <elliott> Vorpal: that's tar's fault
19:05:09 <Vorpal> if it isn't in cache
19:05:11 <Vorpal> elliott, you fail
19:05:17 <elliott> Vorpal: nope, tar fails
19:05:35 <Vorpal> elliott, so what should it do to work around the required seeking?
19:05:57 <elliott> Vorpal: switch you to a filesystem that stores small files inline
19:06:03 <elliott> like btrfs (I think ext4 does it too)
19:06:07 <elliott> Vorpal: (or buy you an SSD)
19:06:15 <Vorpal> elliott, using ext4 or jfs on that partition iirc
19:06:23 <elliott> ais523: wrt files-per-directory,
19:06:27 <Vorpal> elliott, no I couldn't. The backing disk is 2 x 1 TB
19:06:34 <elliott> ais523: easy hack: just do store/1, store/2, store/3, ..., store/55555555
19:06:42 <elliott> ais523: and also have a prefix _
19:06:48 <elliott> ais523: store/_1 is another hierarchy just like store/
19:06:57 <ais523> hmm, that'd become inefficient over time
19:07:08 <ais523> you'd a) end up with duplicate stores for the same hash, in, say, /1 and /2
19:07:09 <elliott> ais523: you think you could ever use up (max inodes in directory)^2?
19:07:10 <Vorpal> elliott, better, use the two first letters of the hash as prefix
19:07:17 <elliott> ais523: I don't think store/_1 would ever actually happen
19:07:20 <ais523> and b) have to lsearch all the subdirs to find a given stash
19:07:21 <elliott> Vorpal: oh, that is a better idea, indeed
19:07:22 <ais523> I don't mean _1
19:07:23 <elliott> perhaps first three
19:07:27 <ais523> I just mean with the numbered subdirs
19:07:28 <Vorpal> like store/fa/fabajshd.whatever
19:07:28 <elliott> ais523: see what Vorpal said
19:07:30 <elliott> that's an actually good idea
19:07:35 <ais523> elliott: I was thinking about that
19:07:36 <elliott> although let's say first three or four characters
19:07:38 <Vorpal> elliott, this is a classical solution to the issue
19:07:43 <Vorpal> elliott, look at stuff like ccache for example
19:07:44 <ais523> but it doesn't scale in that you need to know which size of prefix to use
19:07:45 <elliott> Vorpal: I know, it just didn't occur to me
19:07:51 <ais523> and it'd have to be fixed in advance
19:08:00 <Vorpal> ais523, you could subdivide
19:08:03 <elliott> ais523: just pick the longest prefix that all of them will fit into a single dir of a filesystem we're targeting
19:08:17 <elliott> ais523: anyway, filesystems are becoming 64-bit
19:08:19 <Vorpal> ais523, if store/fa becomes too large then split it in store/fa/a/ and so on
19:08:20 <ais523> hmm, what is a good lowest-common-denominator for filesystem limits anyway? ext2?
19:08:23 <elliott> ais523: so presumably, the limit is going away
19:08:29 <elliott> ais523: I'd say Minix filesystem
19:08:29 <Vorpal> ais523, see what I mean?
19:08:37 <elliott> it's probably the stupidest, simplest, most limited Unix-like filesystem there is
19:08:41 <ais523> Vorpal: then you could have subdivided and nonsubdivided versions of the same system and try to merge them
19:08:47 <Vorpal> ais523, oh right
19:08:55 <elliott> ais523: anyway, it doesn't *really* matter too much
19:09:03 <Vorpal> ais523, this works as long as you don't want copy on merge
19:09:03 <elliott> ais523: because we can always just define a new repository format with more subdivision
19:09:08 <ais523> elliott: I'm just trying to preserve your esofeature
19:09:08 <Phantom_Hoover> elliott, can't those adjectives all be applied to Minix itself?
19:09:15 <Vorpal> elliott, you can't copy merge then
19:09:20 <ais523> against all possible eventualities
19:09:24 <elliott> ais523: (and that'll be the one exception to the copy-merge rule -- if the Ŧscapegoat/version files aren't equal, then you're fucked)
19:09:38 <elliott> ais523: (thankfully, you can just convert the older one)
19:09:41 <ais523> elliott: no, we can make do without that exception too
19:09:50 <ais523> what you do is, you use version-specific subdirs in ôscapegoat
19:09:51 <Vorpal> elliott, I *do* think that using a sqlite db or such would be far more efficient
19:09:53 <elliott> ais523: you mean store everything in ¥sca- heh
19:10:04 <elliott> ais523: sure, I guess, but the resulting repository would be useless
19:10:06 <ais523> then, if you detect two different versions there
19:10:08 <elliott> Vorpal: haha!
19:10:11 <ais523> you convert it all to the newer formar
19:10:13 <ais523> *format
19:10:15 <elliott> Vorpal: not for scapegoat itself, that's for sure
19:10:22 <Vorpal> elliott, well for the metadata I meant
19:10:22 <elliott> and also would *completely* ruin my esofeature
19:10:31 <Vorpal> elliott, sqlite isn't good for storing large blobs
19:10:31 <elliott> ais523: fair enough, then
19:10:36 <Vorpal> elliott, and yes it would
19:10:39 <Vorpal> elliott, or not
19:10:42 <Vorpal> elliott, fuse-sqlite !
19:10:46 <elliott> Vorpal: rugh
19:10:47 <elliott> *ugh
19:10:49 <Vorpal> elliott, :D
19:10:55 <Vorpal> elliott, note: I was not serious
19:11:11 <ais523> Vorpal: does that /exist/?
19:11:17 <ais523> I love the concept, though
19:11:36 <elliott> Vorpal: anyway, sqlite is relational
19:11:43 <elliott> and scapegoat's database isn't even remotely relational
19:11:55 <elliott> the most I'll even *think* about caving into would be an object database
19:12:00 <elliott> well, freeform object database
19:12:03 <elliott> like a JSON database or something
19:12:21 <Vorpal> <ais523> Vorpal: does that /exist/? <--- not that I know
19:12:29 <ais523> it's not too far off the NoSQL databases
19:12:35 <elliott> ais523: as long as you could get two separate database files and do "scg db merge db1 db2" I'm *willing* to consider it.
19:12:36 <Vorpal> elliott, btw rugh is +5 V right?
19:12:40 <elliott> *maybe*
19:12:40 <Vorpal> elliott, and rugl -5 V
19:12:43 <Deewiant> I think something like that exists
19:12:44 <Vorpal> or do you use 3.3?
19:12:49 <ais523> hmm, now I have an urge to call them databasen just to annoy all the people who come up with silly plurals for things
19:12:50 <elliott> Vorpal: shaddap :P
19:12:58 <elliott> ais523: UNICES
19:13:05 <Deewiant> http://www.nongnu.org/libsqlfs/
19:13:19 <elliott> ais523: btw, what happened to you going home? (please don't answer this with "oops, I forgot, goodbye!", as that'll just teach me not to ask in future)
19:13:31 <elliott> Deewiant: that's the wrong way around, no?
19:13:33 <ais523> elliott: oh, I decided to stay as long as the conversation was interesting
19:13:36 <elliott> Vorpal meant mounting sqlite with FUSE, didn't he?
19:13:43 <elliott> ais523: I'd better think of something, then :)
19:13:45 <Vorpal> elliott, yes, which makes no sense
19:14:15 <ais523> also, I didn't want to go home in rush hour
19:14:24 <elliott> ais523: terrible idea: People are defined as the set of objects they've created.
19:14:28 <Vorpal> elliott, anyway, I strongly suspect the esofeature will kill efficiency. Adding a version number is indeed a good idea
19:14:30 <elliott> (no, really, it's terrible, I'm joking)
19:14:32 <ais523> but two hours for an interesting ontopic conversation here (if you consider esoVCSes as esoprogramming) is close to a record
19:14:40 <ais523> elliott: that's not so much terrible as nonsensical
19:14:42 <Vorpal> and then, if you have to drop it, sad, but not much to do about
19:14:43 <elliott> Vorpal: well, we'll see :P
19:14:52 <ais523> and impossible to enforce without some sort of public-key signing
19:14:59 <elliott> Vorpal: if I can get "scg db merge db1 db2" working exactly the same way with some database, then I'll consider it
19:15:13 <elliott> ais523: hmm, I think that patch authors and the like *should* be tied to a public key, now that you mention it
19:15:15 <ais523> elliott: "scg"? that's even worse than "sg"
19:15:24 <ais523> elliott: so do I, but not to get that genuinely terrible idea working
19:15:28 <elliott> ais523: to avoid the situation mentioned in http://geekz.co.uk/lovesraymond/archive/so-i-married-a-kernel-programmer
19:15:33 <Vorpal> elliott, what does git's repo format look like?
19:15:36 <elliott> Transcription if you won't click that:
19:15:41 <elliott> Reiser: Oh dear god, please forgive me!
19:15:44 <elliott> Linus: Um, hi Reiser
19:15:48 <elliott> Reiser: Linus, I've done something TERRIBLE!
19:15:54 <elliott> Linus: Tell me, I'm sure we can sort it out
19:16:01 <elliott> Reiser: I faked a Signed-Off-By From CHRISTOPH HELLWIG!
19:16:06 <elliott> *from
19:16:18 <elliott> [...irrelevant material elided...]
19:16:21 <elliott> Vorpal: um, a mess
19:16:39 <Vorpal> elliott, but fast iirc?
19:16:41 <elliott> git is a versioned filesystem that, as of late, has started pretending it's a version control system :)
19:16:56 <elliott> ais523: scg was a legitimate brain-typo
19:16:58 <elliott> ais523: for spg
19:17:07 <ais523> spg may be a bad name if it's hard to remember
19:17:08 <elliott> spg doesn't sound very scapegoat-y
19:17:10 <elliott> indeed
19:17:29 <ais523> let's just call the binary (insert non-ASCII character here)
19:17:31 <elliott> ais523: if cpressey were here, he'd be adamant that we call the implementation something different from the specification
19:17:41 <elliott> but I think that's a terrible idea in this case :)
19:17:50 <Vorpal> elliott, btw, how will you store stuff. I mean, incremental diff? What I'm wondering about is how long a checkout from scratch would take
19:17:50 <ais523> better, let's make the binary "scapegoat", and symlink it from /every/ non-ASCII Unicode character
19:17:54 <ais523> so you don't have to remember which is its
19:17:59 <elliott> ais523: brilliant!
19:18:04 <Vorpal> elliott, for a repo with many many many commits (think, linux source code)
19:18:11 <elliott> Vorpal: ask ais523 to summarise the patch format in one line ...
19:18:14 <elliott> hopefully he's okay with doing that :P
19:18:19 <ais523> not with clog down
19:18:22 <elliott> it's not really a patch at all, it's...something
19:18:27 <elliott> ais523: what should I grep for?
19:18:28 <ais523> I'd be bound to mess something up
19:18:30 <elliott> I have your logs
19:18:31 <Vorpal> ais523, it is up isn't it?
19:18:36 <Vorpal> clog, hi!
19:18:39 <ais523> <ais523> anyway, you can think of the lines, with unique IDs (which don't have to be consecutive integers, I just don't want to keep typing long hashlike strings) as "start of file:0", "end of file:1", "add 'a' between 0 and 1:2", "add 'b' between 2 and 1:3", "add 'c' between 3 and 1:4"
19:18:46 <ais523> wow, this client has a lot of scrollback
19:18:52 -!- cheater99 has joined.
19:18:53 <ais523> Vorpal: it's back up, wasn't when the conversation started
19:19:00 <Vorpal> ah
19:19:16 <Vorpal> ais523, oh is this the fractal one discussed here some time ago?
19:19:22 <elliott> yse
19:19:23 <elliott> *yes
19:19:29 <elliott> ais523: scapegoat is the perfect version control system for ElliottOS
19:19:34 <Vorpal> ah, bound to be HUGE amount of data then
19:19:38 <elliott> erm no
19:19:44 <elliott> ais523: tell him why he's wrong, i'm way too lazy
19:19:48 <ais523> the fractal nature isn't even the major feature, it's just there to simplify things
19:20:01 <ais523> Vorpal: one large piece of information in many small pieces is still much the same amount of information
19:20:02 <elliott> I don't see why there'd be more data than a diff, really
19:20:12 <elliott> maybe slight overhead from the fact that they're objects
19:20:23 <Vorpal> ais523, true, but does it store it per line or at a more granular level?
19:20:25 <elliott> I mean, if you stored every character separately, sure...
19:20:29 <ais523> Vorpal: both
19:20:42 <Vorpal> ais523, that sounds like it would have some overhead to me
19:20:45 <elliott> ais523: why scapegoat is perfect for ElliottOS: there's only one language to deal with, so it can be totally semantic about the storage; there's no files, but scapegoat works fine without files
19:20:46 <elliott> etc. :P
19:20:55 <ais523> Vorpal: indeed
19:21:08 <ais523> but say it doubles or triples the overhead, that's not going to be amazingly large as VCSes go
19:21:37 <Vorpal> ais523, how large is linux-2.6.git again? Some hundred MB iirc?
19:21:55 <elliott> ais523: internally, you could always just store, say, lines as the lowest thing and then address codepoints as positions in that line, no?
19:22:03 <ais523> Vorpal: "again"? you expect me to have it memorised, and to have told you before?
19:22:21 <ais523> elliott: indeed
19:22:30 <Vorpal> ais523, hm I thought you complained about the size some months ago in here. Maybe it was someone else
19:22:32 <ais523> I suspect an efficient implementation will actually store entire recent trees
19:22:42 <ais523> to avoid having to reconstruct them on every edit
19:22:42 <elliott> ais523: in fact, as a storage optimisation, you could not store lines separately
19:22:45 <ais523> not all of them, just a few
19:22:48 <elliott> ais523: that is, you store them in the patch
19:22:51 <elliott> ais523: and just attach a hash to them
19:22:53 <ais523> this is all storage optimisation
19:23:04 <elliott> ais523: and then you have some kind of index that says "for the line with hash FOO, see patch BAR"
19:23:06 -!- Zuu_ has changed nick to Zuu.
19:23:07 <ais523> yep
19:23:07 <Vorpal> ais523, so you get one file per patch?
19:23:15 <Vorpal> ais523, in the store
19:23:20 <elliott> ais523: of course, in an ideal scenario, the store library will handle all this :)
19:23:22 <elliott> if you just tell it to
19:23:42 <Vorpal> elliott, what if two authors made the exact same change, will they get the same filename?
19:23:53 <elliott> Vorpal: hehe... ais523, tell him about identical changes!
19:23:54 <Vorpal> elliott, (that is, does the hashed bit include the author?)
19:23:57 <ais523> Vorpal: no, it wouldn't be the exact same as it wouldn't have the same author
19:24:14 <elliott> ais523: but the line they append would be the same
19:24:18 <elliott> since it would simply be the hash of the line they add
19:24:21 <ais523> on the other hand, there wouldn't be a conflict unless you asked for one, because it'd automerge the changes
19:24:27 <elliott> right?
19:24:39 <ais523> elliott: oh, you mean hash individual source lines as well as patches themselves, as an optimisation?
19:24:53 <elliott> ais523: sure, and destination lines too
19:24:54 <elliott> ais523: just an idea
19:24:54 <ais523> that'd probably be a pessimisation, on the basis that the lines are likely to be generally shorter than the hashes
19:24:57 <elliott> probably
19:24:59 <Vorpal> sounds like space-time tradeoff
19:25:17 <elliott> I don't really care how slow it goes as long as it's faster than darcs, and doesn't increase exponentially
19:25:23 <ais523> I suppose, what you could do is, if the line is shorter than a hash, store the line; if it's longer than or equal to a hash, store the hash
19:25:32 <elliott> ais523: meh, seems like a waste of time
19:25:32 <Vorpal> elliott, does darcs increase exponentially?
19:25:35 <ais523> but this is a Vorpal-level microoptimisation at this stage
19:25:42 <Vorpal> elliott, also, what about super-exponentially?
19:25:45 <elliott> Vorpal: probably not, but it's so slow, who can tell?
19:25:48 <ais523> Vorpal: in the worst case, yes, but that case is kind-of hard to trigger nowadays
19:25:54 <Vorpal> ais523, XD
19:26:04 <elliott> darcs is pretty nice platonically, but *really* bad for computers
19:26:09 <Vorpal> hah
19:26:15 <Vorpal> elliott, it never been slow for me
19:26:17 <elliott> and I'm not convinced patch theory actually /does/ much other than look mathematical
19:26:21 <ais523> elliott: sorear looked into it, and decided the way it handled conflicts made no sense, mathematically
19:26:24 <elliott> Vorpal: dude, you use bzr
19:26:27 <elliott> bzr is the slowest VCS out there
19:26:30 <Vorpal> elliott, I used darcs too
19:26:30 <ais523> whereas sg conflict handling is very sensible
19:26:33 <elliott> it's so slow as to be painfully unusable, and everyone agrees
19:26:38 <elliott> your opinion on speed is biased :P
19:26:47 <Vorpal> elliott, uh, it works fine for me. I never had issues with speed.
19:27:04 <ais523> (if the order you apply the patches in matter, or a patch has nowhere to apply, that's a conflict; you resolve it by reverting both patches and adding a new one)
19:27:04 <Vorpal> elliott, sure, hg is a bit faster, but bzr is not annoyingly slow
19:27:17 <ais523> *in matters
19:27:26 <ais523> elliott: also, reverts are stored as just "revert patch X"
19:27:43 <ais523> both for semantic reasons, and because that's all the info you need, you don't need to store what was reverted
19:28:01 <elliott> ais523: hmm, patches should be able to have multiple authors
19:28:12 <elliott> ais523: for instance, if you merge two identical changes, who's the author? I don't think it should be "whoever told scapegoat to merge"
19:28:15 <elliott> they're the *committer*
19:28:18 <elliott> but I don't see how they're the author
19:28:19 <ais523> indeed
19:28:29 <elliott> the author is both of the people who had the wise idea to, I don't know, add "foo" to the README
19:28:30 <ais523> well, I'd say the author of the merge is in fact scapegoat itself
19:28:37 <elliott> ais523: well, yes, but that's not helpful to see in repositories
19:28:37 <Vorpal> elliott, what is this about blame based bit?
19:28:38 <ais523> and there are two authors in its dependencies
19:28:46 <elliott> ais523: if you see the diff that adds foo, you should see both authors who did it
19:28:52 <elliott> ais523: admittedly, for more complex merges, I'm not sure
19:28:59 <elliott> ais523: it should probably be the person who ran scapegoat, in that case
19:29:03 <elliott> as scapegoat is basically acting as their automatic helper
19:29:13 <ais523> elliott: well, the great thing is, all the info's available both ways
19:29:19 -!- impomatic has left (?).
19:29:26 <elliott> indeed
19:29:33 <Vorpal> ais523, so what is the blame bit?
19:29:45 <elliott> ais523: thing I don't like about git: if you have a merge conflict, it puts it in the actual file being merged
19:29:47 <Vorpal> exclude some author simply?
19:29:52 <ais523> I think the author should be scapegoat, incidentally, to avoid identical conflict resolutions of identical patches propagated ad infinitum
19:29:54 <elliott> which, of course, makes it a completely meaningless file to whatever tools you use it with
19:29:58 <Vorpal> elliott, most VCS does that iirc
19:30:03 <elliott> Vorpal: it's bad
19:30:08 <elliott> ais523: oh, wait
19:30:09 <Vorpal> elliott, quite
19:30:13 <elliott> ais523: if a patch can have multiple authors
19:30:15 <elliott> ais523: just do authors = []
19:30:18 <elliott> where [] is the empty set
19:30:19 <ais523> indeed
19:30:41 <ais523> 'twould also let you submit patches anonymously
19:30:54 <elliott> ais523: hmm, disagree
19:31:03 <elliott> ais523: such a path doesn't have no authors, it has an anonymous author
19:31:05 <ais523> yes, I'm unsure on that myself
19:31:15 <elliott> ais523: and what of the GPG key?
19:31:27 <ais523> well, anonymous patches wouldn't have one
19:31:31 <elliott> ais523: an anonymous author should be something like "Anonymous <anonymous@anonymous.invalid>", though
19:31:45 <elliott> (yes, .invalid is actually in RFCs!)
19:31:47 <ais523> I know
19:32:04 <ais523> signing should perhaps be optional
19:32:13 <ais523> so you can sign a commit rather than the individual lines in it, for instance
19:32:17 <Vorpal> elliott, why email
19:32:24 <Vorpal> elliott, ais523: do either of you have any plan to implement this btw?
19:32:26 <elliott> ais523: perhaps...
19:32:29 <elliott> Vorpal: yes, at least I do
19:32:33 <Vorpal> s/ / /
19:32:35 <ais523> you could set the default branch rules to reject unsigned patches
19:32:38 <elliott> I didn't before round about now
19:32:41 <elliott> but I do now
19:32:56 <ais523> Vorpal: I had very vague plans which never got anywhere, and a lot of more urgent things to do
19:33:05 <Vorpal> ais523, ah right
19:33:06 <ais523> I think even gcc-bf is above scapegoat on my list of things on indefinite hold
19:33:18 <ais523> most things work better with someone to work on them with, though
19:33:27 <elliott> ais523: but if I start working on it, it better shoot near the top of that list, I don't wanna do all this myself :P
19:33:53 <ais523> elliott: this may be a bad time to do it, then; you could try in December instead
19:33:57 <ais523> umm, January
19:34:15 <elliott> ais523: haha, you vastly overestimate how quickly I work on things
19:34:22 <elliott> ais523: I'll probably spend the next few months puttering about with key-value stores
19:34:35 <ais523> in that case, it wouldn't need to be near the top of the list, halfway down would be just fine
19:35:05 <elliott> ais523: by start working on it, I mean for actual real
19:35:09 <elliott> as in, implementing the actual patches and algorithms
19:35:42 <Vorpal> elliott, key value stores are easy aren't they?
19:35:48 <Vorpal> elliott, as in, a solved problem really
19:35:48 <elliott> Vorpal: not this kind of key value store
19:36:00 <elliott> Vorpal: it's hash-addressed, append-only, and *everything* goes through that mechanism
19:36:13 <elliott> and it has to be fast, space-efficient, and capable of supporting huge, huge trees
19:36:13 <Vorpal> elliott, oh and does it need to copy merge?
19:36:15 <elliott> and I mean huge
19:36:16 <ais523> elliott: "append-only" always reminds me of "write-only"
19:36:18 <elliott> and it's also recursive
19:36:25 <elliott> Vorpal: well, sure, but that's already handled by the hash-based part
19:36:30 <ais523> why recursive, btw?
19:36:31 <elliott> ais523: well, "immutable" isn't quite right, obviously
19:36:38 <elliott> ais523: recursive simply because objects contain other objects
19:36:44 <elliott> ais523: patches contain changes
19:36:46 <elliott> ais523: branches contain patches
19:36:47 <elliott> etc.
19:36:53 <elliott> ais523: I mean, patches have authors
19:37:01 <elliott> ais523: if it wasn't recursive, you'd have to say patch1_author1 or something
19:37:03 <ais523> don't they just refer to the hashes of the other objects, though?
19:37:05 <Vorpal> elliott, can it be self-recursive?
19:37:18 <elliott> ais523: well, sure, but that's recursivity
19:37:22 <elliott> ais523: just optimised out, into pointers
19:37:26 <elliott> Vorpal: wat? you mean cyclic?
19:37:29 <ais523> oh, I see
19:37:31 <Vorpal> elliott, yes!
19:37:31 <elliott> I suppose there's no reason it couldn't point to itself
19:37:35 <ais523> you aren't storing plaintext, but arbitrary objects
19:37:40 <ais523> I knew I was missing something
19:37:45 <Vorpal> elliott, this patch depends on itself!
19:37:49 <elliott> ais523: well, perhaps not totally arbitary, but close
19:38:04 <elliott> ais523: and, I mean, you'd want to say { insert_reference(patch, "some_relevant_thing", anobj); } and have it automatically insert a hash reference
19:38:16 <elliott> ais523: I mean, I'm not storing arbitrary objects, it's more like...
19:38:16 <Vorpal> elliott, wait, this would modify the hash right
19:38:31 <Vorpal> elliott, which means you would have to find a self-hash kind of
19:38:36 <elliott> ais523: I'm storing a key-value store, which can have, as its values, either strings, or key-value stores; which can have, as their values, ...
19:38:44 <ais523> elliott: it's like YAML with all the features for things like mutually recursive pointers
19:38:46 <elliott> Vorpal: looks like I'm not supporting mutual references, then!
19:38:50 <ais523> except, in the filesystem rather than a serialisation
19:38:54 <elliott> ais523: YAML has those, actually
19:38:58 <ais523> elliott: I know
19:39:02 <ais523> that's what I was referencing
19:39:04 <elliott> ais523: but, not really; I mean, I'm literally just storing:
19:39:04 <ais523> the fact that it does
19:39:09 <elliott> data Foo = String | Map String Foo
19:39:13 <elliott> really
19:39:17 <ais523> oh, fair enough
19:39:20 <elliott> except that, values of the latter are replaced by the hashes of the relevant objects
19:39:24 <ais523> JSON, then, rather than YAML
19:39:26 <elliott> when serialised
19:39:29 <elliott> ais523: JSON has integers!
19:39:32 <elliott> ais523: and arrays
19:39:45 <ais523> well, I suppose
19:39:56 <ais523> scapegoat would like unordered sets
19:40:02 <elliott> ais523: easy
19:40:07 <elliott> ais523: to insert into a set, do
19:40:17 <elliott> set[hash(obj)] = "irrelevant"
19:40:22 <elliott> ais523: or rather, set[obj] = ...
19:40:26 <elliott> and it gets auto-hashed
19:40:29 <ais523> yep
19:40:35 <elliott> well
19:40:36 <elliott> actually
19:40:36 <ais523> like the old Perl trick of setting them to 1
19:40:39 <elliott> set[hash(obj)] = obj
19:40:45 <elliott> because, you can't have a pointer as a key, only a string
19:40:50 <elliott> so that's from a string to a pointer
19:40:50 <ais523> oh, right
19:40:54 <elliott> just, they happen to be encoded almost identically
19:40:56 <ais523> you'd probably want to optimise that case
19:40:59 <elliott> probably, yes
19:41:01 <ais523> (key = value with different encoding)
19:41:33 <elliott> ais523: hmm, I bet GitHub are worried about having to store N copies of many, many commits
19:41:35 <elliott> because of forked projects
19:41:42 <elliott> whereas scapegoathub doesn't have to worry about that in the slightest :)
19:41:53 <Vorpal> elliott, doesn't git support shared repo data?
19:41:57 <Vorpal> elliott, even bzr does that
19:41:58 <ais523> github may use a similar form of centralised hash database
19:42:06 <elliott> Vorpal: not that i know of, probably if you do links
19:42:08 <ais523> given how git works and what they do, they'd be fools not to
19:42:14 <elliott> ais523: nah, they use actual git
19:42:21 <elliott> ais523: afaik
19:42:42 <ais523> elliott: what's your opinion on fastforwards in git?
19:42:47 <elliott> ais523: what are they?
19:42:48 <Vorpal> elliott, shared repo is one feature I love with bzr
19:42:52 <elliott> I've probably heard of them and just forgotten it
19:43:06 <elliott> Vorpal: in scapegoat, that's easy; you just symlink the ßscapegoat dirs
19:43:07 <ais523> elliott: they're a merge when one side made no changes
19:43:18 <ais523> in which case, there's no commit message for the merge, it just copies across
19:43:20 <elliott> Vorpal: and it's guaranteed to never clash, if they're the same repo, just with branches and the like
19:43:36 <elliott> ais523: erm, how can there be any requirement to merge if one side made no changes/
19:43:38 <elliott> *changes?
19:43:39 <ais523> it's technically a merge-rebase, just a special case that comes up a lot
19:43:40 <ais523> elliott: because it's git
19:43:47 <ais523> you're merging changed with unchanged
19:43:55 <ais523> remember, git cares about snapshots, not diffs
19:43:55 <elliott> ais523: as in, if the server is A->B->C, and your tree is A->B->C->D, I don't see why it doesn't just turn into A->B->C->D
19:44:01 <ais523> elliott: it does, that's a fastforward
19:44:08 <ais523> some git users really dislike them
19:44:11 <elliott> ais523: in fact, scapegoat's logic already has it doing that; the point of divergance is C, so a branch for D is created, attached to C
19:44:17 <elliott> and it tries to merge with the Official Branch
19:44:20 <elliott> which is -- surprise! -- C
19:44:20 <ais523> yep, I think scapegoat handles the issue great
19:44:25 <elliott> and merging X with X is a nop
19:44:28 <elliott> so it just succeeds
19:44:40 <elliott> ais523: *I think elliott's mergeless commit system in scapegoat handles the issue great
19:44:40 <elliott> :P
19:44:41 <ais523> git's model really screws up that case badly, thoguh
19:44:48 <elliott> I promise not to get *too* egotistical about that!
19:44:50 <ais523> by making it really conceputally confusing
19:45:06 <elliott> ais523: git made so much more sense when it was a low-level distributed filesystem, and tools like cogito build a VCS on top of it
19:45:14 <elliott> but then everyone went WAAH! MAKE GIT ITSELF USABLE!
19:45:17 <elliott> and now it's insane
19:45:37 <elliott> ais523: can I make a confession? I stole the every-commit-branches-and-merges-are-optional thing
19:45:43 <elliott> from http://en.wikipedia.org/wiki/PVCS, an old CVS-alike
19:45:52 <elliott> "However PVCS can also be configured to support several users simultaneously attempting to edit the file; in this case the second commiter (chronologically speaking) will have a branch created for him/her so that both modifications, instead of conflicting, will appear as parallel histories for the same file. This is unlike CVS and Subversion where the second commiter needs to first merge the changes via the update command and then resolve conflic
19:45:52 <elliott> ts (when they exist) before actually committing."
19:45:58 <elliott> but, on the other hand, PVCS was primarily locking-based
19:46:05 <elliott> and didn't have a nice auto-merging algorithm for the common case
19:46:05 <elliott> so nyah
19:46:12 <ais523> hg works a bit like that too
19:46:33 <elliott> indeed, except that it treats heads and branches differently, and having multiple of the former is a huge pain that you try and rectify immediately
19:46:35 <elliott> which, really, makes little sense
19:46:37 <ais523> (you think I'd design a VCS without scouting out the competition?)
19:46:50 <ais523> hmm, what was that GNU VCS called?
19:46:53 <elliott> ais523: arch?
19:46:55 <elliott> /tla
19:46:56 <ais523> that's it
19:47:02 <ais523> the insane one that we tried and failed to set up ages ago
19:47:05 <elliott> yes
19:47:10 <elliott> ais523: have you looked at Monotone?
19:47:13 <ais523> no
19:47:15 <elliott> it's similarly crazy in over-hash-use :)
19:47:19 <elliott> (and very, very slow)
19:47:32 <elliott> ais523: in fact, it met all of Linus' criteria for what the new kernel VCS must be *except* for being fast
19:47:36 <elliott> which it failed very hard at :)
19:48:42 <elliott> ais523: have you looked at Codeville? good luck doing that, the site is gone now
19:48:47 <ais523> I haven't
19:49:01 <ais523> also, the name is worryingly reminiscent of Farmville
19:49:11 <ais523> which I fear has stolen a potentially useful name fragment
19:49:13 <elliott> ais523: it's Ross Cohen & Bram Cohen (bittorrent inventor)'s, circa 2005, still used at BitTorrent, Inc.
19:49:28 <elliott> ais523: basically, it was very much focused on never having to merge anything manually again
19:49:35 <elliott> [[It uses an innovative merging algorithm called the "Codeville merge". A new merge algorithm called "Precise Codeville" or "pcvd" merge is under development.]]
19:49:36 <elliott> and apparently,
19:49:43 <elliott> [[The SCCS file format uses a storage technique called interleaved deltas (or the weave). This storage technique is now considered by many revision control system developers[who?] as key to some advanced merging techniques, such as the "Precise Codeville" ("pcdv") merge.]]
19:50:08 <elliott> ais523: btw, #revctrl exists on freenode, but I haven't found it a particularly worthwhile place
19:50:12 <elliott> not bad, just not very interesting
19:50:14 <ais523> you know, the best thing about Wikipedia cleanup tags is that they identify the source of code straight off
19:50:23 <elliott> * Topic for #revctrl is: You are in a maze of twisty little version control systems, all different: aegis bazaar codeville cvs darcs git mercurial monotone rcs revc svk svn tla vesta || wiki: http://revctrl.org/ || mailing list: http://lists.zooko.com/mailman/listinfo/revctrl || logs: http://colabti.org/irclogger/irclogger_logs/revctrl or http://www.scooter.cx/~mozbot/ || see channels of specific systems for hel
19:50:23 <ais523> *source of text
19:50:28 <elliott> ais523: heh
19:50:44 <elliott> ais523: svk is truly a sight to behold; it's written in perl, and based on svn
19:50:44 <ais523> also, is that topic completed as "help" or "hell"?
19:50:48 <elliott> it turns svn into a destributed system
19:50:55 <elliott> ais523: it's completed as hel
19:50:58 <elliott> X-D
19:51:34 <elliott> hmm
19:51:47 <elliott> ais523: so would scapegoat come with, like, a library of merging techniques?
19:51:55 <elliott> as in, a bunch of "conditions for this working => actions to take" rules
19:52:02 <ais523> I think so
19:52:08 <ais523> actually, more likely it'd be a library of patch types
19:52:11 <elliott> ais523: I'm *fairly* sure it's doomed to end up with a programming language inside it.
19:52:17 <ais523> much like darcs attempts but never really got started at
19:52:18 <elliott> ais523: What with branch specification, this, ...
19:52:32 <elliott> (branch specification = e.g., the formula that @tip is defined to be)
19:52:34 <ais523> things like the search-and-replace patch would be so much better if they were actually semantic
19:52:55 <elliott> ais523: interesting idea, but i'd only attempt it with a language plugin handy
19:52:58 <ais523> you know what? I fear we'll end up with editor : Emacs :: VCS : scapegoat
19:53:00 <elliott> and a very good one at that
19:53:03 <ais523> elliott: I mean, with the language plugins
19:53:13 <elliott> ais523: yes, I fear that too; I'm going to try and stop you if you start making it *too* flexible
19:53:22 <elliott> for reasons of both speed and sanity :)
19:53:25 <elliott> and implementability
19:53:42 <ais523> elliott: can I at least have a Towers of Hanoi simulator?
19:53:47 <elliott> oh, fine
19:53:53 <elliott> ais523: Feather revision control system: every change is applied retroactively, so there are no changes to track. Problem solved!
19:54:04 <ais523> elliott: I was joking
19:54:13 <elliott> ais523: I know... I was too (re Feather)
19:54:26 <ais523> don't make me get my head around Feather right now
19:54:31 <elliott> :D
19:54:40 <elliott> ais523: it would be fun if you could somehow set up a bunch of branches such that merging them would end up solving a towers of hanoi game in the process
19:54:51 <elliott> ais523: (thing to make ABSOLUTELY SURE OF: merging always halts)
19:54:55 <ais523> like solving Sokoban inside apt?
19:54:59 <elliott> yse
19:55:01 <elliott> *yes
19:55:05 <ais523> *sudoku
19:55:09 <ais523> Sokoban really would be impressive
19:55:17 <elliott> I was thinking that :P
19:55:48 <elliott> ais523: you know, I've never heard of any really innovative VCS ideas
19:55:55 <elliott> I think you're the only real innovator in the field :P
19:56:12 <ais523> elliott: that could almost be the motto of #esoteric
19:56:51 <elliott> ais523: yes, but at least programming languages have active academia..e? academiae?
19:57:05 <elliott> ais523: the only VCS-related topic I can think of that gets papers is regular-style merging algorithms
19:58:33 <elliott> hmm
19:59:05 <elliott> ais523: it occurs to me that the loss of þscapegoat/names is rather disasterous
19:59:12 <elliott> as, for instance, you no longer know what the tip is
19:59:12 <elliott> well
19:59:13 <elliott> actually, you do
19:59:20 <elliott> since @tip always means one thing
19:59:29 <elliott> ais523: in fact, @tip shouldn't be in þscapegoat/names, because it should be constant
19:59:34 <ais523> you used þ earlier!
19:59:37 <elliott> referring to the Official Branch definition
19:59:39 <elliott> ais523: whoops, sorry
19:59:48 <elliott> i'm running out of alt-gr
19:59:52 <elliott> *§scapegoat
19:59:54 <ais523> that's why I was using dead keys
20:00:27 <elliott> ais523: arguably, you might actually want to redefine what the default checked-out branch is... but that argument sounds flimsy to me
20:00:28 <elliott> and really confusing
20:00:40 <elliott> if the repository can configure everything about the VCS, you can never be sure how the VCS will act
20:00:43 <elliott> which doesn't sound like a good policy to me
20:00:52 <ais523> well, repos themselves don't have a "checked-out branch", platonically
20:00:57 <ais523> just hints for which branches might be interesting
20:01:20 <elliott> ais523: well, yes, but consider @tip
20:01:40 <elliott> ais523: if we say in the spec that @tip is, platonically, [some hash], referring to the formula for the Official Branch
20:01:48 <elliott> ais523: then it always behaves consistently
20:01:55 <elliott> ais523: if we don't, and a repo can redefine @tip
20:02:02 <elliott> (@tip being the implicit argument to, e.g. "gimme-a-cwd")
20:02:08 <elliott> then the VCS could behave unpredictably
20:02:28 <ais523> well, "the Official Branch" needs to be bounded somehow
20:02:44 <ais523> presumably, by the hashes in the tarball in question
20:02:50 <elliott> ais523: basically, I'm just saying that some names should be built into scapegoat, not looked up in the repository
20:03:03 <elliott> and @tip is one of them, it should always point to one single formula that is blessed, by word of god, to be the formula for working out the Official Branch
20:03:28 <ais523> hmm, should repo stores contain only patches that are vaguely relevant to the repo?
20:03:43 <elliott> ais523: if you're a distributor, then yes
20:03:55 <elliott> ais523: I think we should have a garbage-collect command that gets rid of all unreferenced objects
20:04:13 <ais523> elliott: ooh, risky in a sense
20:04:14 <elliott> ais523: (note: git has this, and people say it's a design flaw in git; c'est la vie)
20:04:29 <elliott> ais523: well, only in that you could potentially lose patches that aren't referenced anywhere, if everyone in the world does it
20:04:31 <ais523> more so than in git, on the basis that you'd need to define, right now, all branches that might later be interesting
20:04:34 <elliott> but how would you look at such a patch anyway?
20:04:38 <elliott> you'd have to specify its hash directly
20:04:46 <ais523> or a branch that matches it
20:04:49 <elliott> ais523: oh, it wouldn't go that insane
20:05:02 <elliott> well, maybe it would
20:05:11 <elliott> ais523: ok, how about this for logic:
20:05:25 <elliott> ais523: everything not reachable from @tip, and that doesn't have a nickname, is removed
20:05:26 <elliott> ais523: except...
20:05:30 <elliott> ais523: forwards from @tip too
20:05:33 <elliott> so you'd get the temporary branches
20:05:42 <ais523> that could work
20:05:50 <ais523> but should not be something that people run regularaly
20:05:52 <ais523> *regularly
20:05:54 <elliott> ais523: I'm not sure how you'd look forwards from @tip, though :)
20:05:56 <elliott> and indeed
20:06:13 <ais523> there's a case to be made for making patches never deletable ever, which is to protect the VCS from clueless users to some extent
20:06:16 <ais523> screwing things up
20:06:48 <elliott> ais523: well
20:06:54 <elliott> ais523: consider scapegoathub, with its One Gigantic Store
20:07:15 <elliott> ais523: when you ask for a tarball of Ðscapegoat for a certain project from scapegoathub
20:07:21 <elliott> ais523: how does it determine what subset to give you?
20:07:22 <ais523> obviously, downloading the whole thing and asking for @tip would be stupid
20:07:36 <elliott> ais523: however it determines it: that's the algorithm to figure out what objects you need to keep in the store
20:07:37 <elliott> everything else can go
20:07:53 <ais523> there are two possibilities; ask for @tip for a subset of patches, or ask for a different nickname
20:08:12 <ais523> in that case, you could just get @tip's referent itself and its dependencies
20:08:13 <elliott> ais523: well, say you want to download every branch
20:08:15 <elliott> like a git clone
20:08:15 <ais523> so you wouldn't get branches, etc
20:08:22 <elliott> ais523: how would you do that?
20:08:27 <ais523> for every branch, you'd need a way to know what project they belonged to, I suppose
20:08:30 <elliott> ais523: (this includes unnamed branches, say if there's branches past @tip that haven't been merged yet)
20:08:48 <ais523> otherwise, suppose I make readme-alpha.txt inside my intercal repository
20:08:53 <ais523> that's a new file that has no relation to anything else
20:09:04 <ais523> htf is the VCS meant to know that it belongs to INTERCAL rather than some other random project?
20:09:24 <elliott> ais523: well, / itself is an entity, right?
20:09:27 <elliott> just like lines and files
20:09:30 <ais523> indeed, I've just realised that
20:09:33 <elliott> ais523: so it says that you append a file to /
20:09:40 <elliott> ais523: and that / happens to be intercal's
20:09:43 <ais523> yep, I only just noticed
20:09:49 <ais523> in that case, you can even do an SVN
20:09:56 <ais523> and grab a portion of a directory tree
20:10:00 <elliott> indeed
20:10:07 <elliott> ais523: except that, they wouldn't have scapegoat directories
20:10:11 <elliott> because that's eww
20:10:18 <ais523> I forgot SVN did that
20:10:24 <ais523> you could grab a portion, but a different way
20:10:28 <ais523> and then calculate @tip for that portion
20:10:30 <ais523> I'm happy now
20:10:30 <elliott> ais523: of course, directories MUST be entities, to track empty directories
20:10:39 <elliott> (which is *not* an unheard of usecase; I've wanted to do it before!)
20:10:47 <ais523> I think this solves both problems at once
20:11:07 <ais523> even better, you can make two projects into one large one just by creating a new / *below* the existing two
20:11:13 <ais523> and moving them into place
20:11:35 <ais523> thus, the concept of "create entirely new repo" exists, but also "merge repo" and "split repo", neither of which is well-defined in, say, darcs
20:11:50 <ais523> (not merge as in VCS merge, but merge as in what's considered one project)
20:11:51 <elliott> ais523: holy shit, you can merge two /s
20:11:54 <ais523> yep
20:12:01 <elliott> ais523: that is, if you have two separate projects that don't have any clashing filenames
20:12:05 <elliott> ais523: you can merge them into one, new /
20:12:13 <elliott> ais523: this is beautiful.
20:12:14 <ais523> even if they did, you could
20:12:17 <ais523> you'd just have conflicts
20:12:30 <elliott> ais523: well, yes, I mean you could merge them into one branch...patch...thing
20:12:32 <elliott> one state
20:12:40 <ais523> we need a better name for this concept
20:13:17 <elliott> ais523: "tree"
20:13:19 <elliott> is what git calls it, IIRC
20:13:23 <ais523> I suggest we call it an (insert random non-ASCII character here)
20:13:30 <elliott> ais523: "root" is probably an unambiguous name
20:13:34 <elliott> as in, a single root
20:13:35 <ais523> elliott: git's name is more for a snapshot of the entire state, as that's what it thinks of it as
20:13:45 <elliott> "by default, scapegoat checks out the root identified by @tip"
20:13:46 <ais523> well, it could be the root, a leaf, or even one of the brnaches
20:13:50 <ais523> *branches
20:13:52 <elliott> ais523: I'm not talking tree-wise!
20:13:55 <elliott> ais523: I just meant root as in /
20:14:05 <ais523> the problem is we have two conceptual trees and they go in different directions
20:14:07 <elliott> ais523: agh, the problem with trees is that they take up so much terminology :)
20:14:19 <ais523> what about "twig"?
20:14:41 <elliott> ais523: I can't see myself calling the gcc source tree a "twig".
20:14:59 <ais523> here: let's call them "turtles"
20:15:01 <elliott> ais523: file tree... file root... ugh
20:15:06 <ais523> because they're mostly defined in terms of other turtles
20:15:08 <elliott> ais523: okay, we'll call them turtles. *for now*
20:15:11 <elliott> not forever :P
20:15:14 <ais523> and you can add new turtles beneath, if you like
20:15:30 <olsner> do you add turtles in the bottom or on the top?
20:16:01 <ais523> both
20:16:20 <elliott> it's turtles all the way up
20:16:57 <elliott> ais523: how come we've unified most of the disparate concepts in VCSes and this /still/ feels more complicated? :)
20:17:15 <olsner> ooh, have you been esovcsing?
20:17:26 <elliott> olsner: yes, except it's turning out to be disgustingly useful
20:17:32 <olsner> yuck!
20:17:35 <ais523> elliott: because it's alien
20:17:38 <elliott> I'm considering disowning it and putting it up for adoption
20:17:44 <elliott> (not really)
20:17:52 <ais523> put it this way, what's simpler, BF or C?
20:18:02 <elliott> ais523: BF, of course
20:18:17 <coppro> disagree
20:18:23 <ais523> coppro: really?
20:18:48 <coppro> Yes!
20:18:56 <ais523> bear in mind I teach C, and have come to the conclusion that BF would probably be easier to teach
20:18:59 <elliott> ais523: coppro uses C++, he's crazy
20:19:08 <coppro> when was the last time you wrote an operating system in BF?
20:19:09 <ais523> although admittedly, it isn't normally used to write kernel-mode keyloggers
20:19:17 <elliott> coppro: that's got nothing to do with the simplicity of a language ...
20:19:42 <elliott> C runtime model: flat memory, file system, arithmetic, stack ...
20:19:52 <elliott> BF runtime model: flat tape, increment, decrement
20:20:03 <olsner> coppro: has anyone? yet?
20:20:05 <elliott> (ok, also: input stream, output stream, but that's still far more simple)
20:20:08 <coppro> olsner: to my knowledge, no
20:20:20 <elliott> coppro: so how is C simpler?
20:20:32 <coppro> I just said
20:20:44 <elliott> coppro: no, you didn't
20:20:47 <elliott> you asked an irrelevant question
20:21:13 <ais523> elliott: well, I fear scapegoat goes the other way, it's a C to existing VCS's BF
20:21:28 <elliott> ais523: perhaps
20:21:43 <elliott> ais523: it's more like Lisp or Haskell vs C, really
20:21:44 <ais523> I mean, BF has all that disparate [>+<-] and [>+>+<<-]>[<+>-] stuff
20:21:52 <ais523> whereas C just uses assignment
20:22:04 <elliott> ais523: we're looking at it from a C perspective, and it seems like *such* a complicated gob of memory management and pointers, but at the same time, really elegant
20:22:11 <elliott> now say C = git, hg, etc.
20:22:22 <ais523> I suppose that's another step on a similar scale
20:22:24 <elliott> of course, this view is just an artefact of looking from C
20:22:30 <elliott> if we looked from something more objective, it'd look simpler
20:23:12 <elliott> ais523: time to make your head hurt: what is the most true-to-the-model name of the command commonly called "commit" in other VCSes?
20:23:18 <ais523> sure, now imperative stuff and side effects are all the same, everything's a function in the mathematical sense, flow control's just another function
20:23:24 <ais523> but why do I have to use monads?
20:23:37 <ais523> elliott: "commit" is ambiguous in other VCSes
20:23:43 <elliott> i.e., the one that inserts a new branch off from the branch of the current working directory
20:23:46 -!- oklofok has joined.
20:23:46 <coppro> idea:
20:23:48 <elliott> and then tries to merge it with @tip
20:23:51 <elliott> ais523: what do you call it?
20:23:54 <coppro> we should actually do something with the ideas we come up with here
20:23:56 <ais523> git commit approximately equals naming a set of hashes
20:24:02 <elliott> ais523: err, doesn't try to merge with tip
20:24:10 <elliott> it just inserts a new branch off from the branch of the current working directory
20:24:15 <coppro> (ironically, we will just ignore this idea)
20:24:16 <elliott> coppro: I'm already planning to implement it.
20:24:20 <elliott> this is a serious discussion, actually
20:24:30 <ais523> git push is approximately equal to scapegoat make-the-other-side-aware-of
20:24:37 <ais523> and-tell-it-to-accept-these
20:24:37 <elliott> ais523: the "merge with all branches >= the one this is diverged from" is what happens on a default push
20:24:43 <ais523> I think "push" is a pretty true name for that
20:24:49 <elliott> ais523: perhaps
20:24:59 <elliott> ais523: with scapegoat, there's "give this store all the hashes we've got that it hasn't"
20:25:00 <coppro> scapegoat is too long to type
20:25:02 <elliott> ais523: but that's a low-level command
20:25:12 <elliott> ais523: and you're more likely to want it to do "merge with all branches >= the one this is diverged from" automatically afterwards
20:25:16 <coppro> blargh econ 101
20:25:18 <elliott> coppro: it's going to be sg or spg or something
20:25:23 <ais523> elliott: well, the main semantic action is "tell the other side to whitelist these patches"
20:25:26 <elliott> just like mercurial is hg
20:25:36 <elliott> ais523: right, it's just -- you know the commit logic I came up with?
20:25:39 <ais523> indeed
20:25:41 <elliott> ais523: in the Vorp/Orcl situation
20:25:49 <ais523> whitelisting the patches does that automatically, is the brilliant thing
20:26:05 <ais523> if they didn't need whitelisting, push would be a no-op, it'd figure out they existed automatically, somehow
20:26:09 <ais523> ooh, it's obviously "sg sync"
20:26:10 <elliott> ais523: so "sg push" = "sg send" + "sg whitelist"
20:26:17 <elliott> where send is just
20:26:22 <elliott> "send all the hashes that we've got and the remote server doesn't"
20:26:28 <ais523> yep, sync's a good name for that
20:26:36 <elliott> ais523: except, sync feels like it should be two-way
20:26:44 <elliott> ais523: so let's say that sg sync is, conceptually, sg send + sg recv
20:26:47 <ais523> and shouldn't it?
20:26:48 <elliott> ais523: just, optimised so it does both at once
20:26:59 <elliott> ais523: and then "sg push" = "sg send" + "sg whitelist" or something
20:27:01 <elliott> well
20:27:02 <elliott> actually
20:27:03 <elliott> more like
20:27:03 <ais523> well, send and receive aren't useful operations, you'll get the patch eventually anyway
20:27:10 <elliott> "sg push" = "sg recv" + "sg whitelist" + "sg send"
20:27:15 <ais523> you don't not receive patches, conceptually, you just don't whitelist them
20:27:18 <elliott> ais523: sure they are, it's the only time where actual data is transferred :)
20:27:24 <elliott> ais523: they are implementation details
20:27:26 <elliott> ais523: in this case
20:27:29 <ais523> (the fact that you might not care about the existence of non-whitelisted patch is an implementation detail)
20:27:34 <ais523> hmm, oh I see
20:27:38 <elliott> ais523: but important ones, ones that you couldn't get away from without completely redesigning the internet
20:27:39 <ais523> we want to give the implementation details an actual name
20:27:43 <elliott> yes
20:28:29 <elliott> ais523: so, e.g., sg push would end up pulling down everything that's happened lately, try and merge your current branch with all the ones >= your current branch's parent (this is my commit logic), and then it would send the result back off
20:28:33 <elliott> or something along those lines
20:28:45 <elliott> and that'd be
20:28:47 <elliott> $ sg recv
20:28:48 <elliott> $ sg whietlist
20:28:49 <elliott> *whitelist
20:28:52 <elliott> $ sg send
20:28:52 <elliott> or similar
20:29:01 <elliott> (except probably keeping the same network connection for recv/send)
20:29:09 <elliott> ais523: does that sound about right?
20:29:19 <ais523> I imagine a config setting (as in, actually ~/.scapegoat, not one of the non-ASCII dirs) would be whether to automatically send and recv on general principles
20:29:24 <ais523> and what to send and recv in that case
20:29:36 <ais523> obviously, whitelisting your patches on the remote system would need to actually send the patches
20:29:49 -!- oerjan has joined.
20:29:58 <ais523> but I agree with your idea
20:30:29 <ais523> hmm, the reason this feels complex is that scapegoat's model is mathematically simple, yet at odds with the way the Universe actually works
20:30:37 <ais523> I think that's pretty eso
20:30:42 <elliott> ais523: it's just, you can't possibly update your main VCS server properly without (1) knowing all the things it knows -- you have to be able to figure out the three structure; (2) merging (however it's done) your patch with everything >= its parent that it *can* merge with; and (3) giving your patches, and all effects, to the server
20:30:49 <elliott> so you have to address that detail at some point
20:30:55 <Phantom_Hoover> ais523, I am suddenly immensely interested in this concept.
20:30:58 <elliott> (2) is the only bit part of the actual platonic model
20:31:04 <ais523> indeed
20:31:08 <elliott> but (1) and (3) are required for it to be able to actually /do/ anything
20:31:12 <ais523> again, indeed
20:31:20 <ais523> ideally, you'd have them happen automatically as much as possible
20:31:21 <elliott> ais523: come to think of it, we should probably specify the non-platonic bits too, just at a higher layer
20:31:22 <ais523> unless you told it not to
20:31:24 <elliott> since they're quiet important
20:31:26 <elliott> *quite
20:31:34 <ais523> yep, we should use a different name for it, though
20:31:37 <elliott> otherwise we'd have incompatible implementations of the platonic model... which makes a spec rather silly
20:31:43 <ais523> to make it clear it's an impl, not the system itself
20:32:03 <elliott> ais523: well, "Scapegoat: A Model for Distributed Version Control" vs. "Scapegoat: Implementation in Practice"
20:32:05 <elliott> something like that
20:32:21 <elliott> ais523: (Scapegoat's too good a name not to use for the end product)
20:32:26 <ais523> indeed
20:32:33 <ais523> you know, it took ages to come up with that name
20:32:53 <ais523> also, if people think the VCS malfunctions, we can just blame them for looking for someone to blame
20:32:56 <elliott> :D
20:33:18 <elliott> ais523: I thought for a short period of time that it sounded a bit negative and confrontational to be the name ... then I realised that MAJOR COMPANIES are saying the word "git" on a regular basis, and mentally congratulated Linus Torvalds for being such a magnificent bastard
20:33:42 <elliott> [[git /'ɡɪt/
20:33:42 <elliott> Git is an extremely fast, efficient, distributed version control system ideal for the collaborative development of software.]] --GitHub homepage; now mentally substitute the real dictionary definition rather than their technical one
20:33:53 <elliott> (that is, in actual fact, how git was named; Linus said it was named after himself)
20:34:08 <ais523> elliott: the GIMP has all sorts of issues due to its nam
20:34:11 <ais523> *name
20:34:14 <elliott> the GIMP is a really terrible name
20:34:16 <ais523> and yet, I doubt it's going to be changed
20:34:31 <ais523> perhaps someone can do an Iceweasel on it
20:34:34 <elliott> ais523: thankfully, the GIMP is such a horrible program that putting people off using it is probably a good thing
20:34:41 <ais523> meh, I find it useful
20:34:45 <elliott> ais523: oh, it's useful
20:34:53 <ais523> I think it depends on what you're trying to use it for
20:35:02 <elliott> ais523: it's just that if you made an image editor, and at every design decision, took the direct opposite of what GIMP took, you'd end up with a wonderful program
20:35:04 <ais523> also, the UI has got noticeably better over the last few years, but it's still quite bad
20:35:16 <elliott> ais523: they're moving to a single-window model, and I can't wait to see how they mess it up
20:35:23 <elliott> (optionally, I think)
20:35:26 <ais523> elliott: wasn't that the actual method by which certain design decisions in git were made?
20:35:27 <elliott> (but who would turn it off?)
20:35:33 <ais523> if in doubt, do the opposite of SVN?
20:35:37 <elliott> ais523: *CVS
20:35:46 <elliott> ais523: "When I say I hate CVS with a passion, I have to also say that if there are any SVN (Subversion) users in the audience, you might want to leave. Because my hatred of CVS has meant that I see Subversion as being the most pointless project ever started. The slogan of Subversion for a while was "CVS done right", or something like that, and if you start with that kind of slogan, there's nowhere you can go. There is no way to do CVS right."
20:35:48 <ais523> ah
20:36:04 <elliott> ais523: incidentally, have you ever used svn?
20:36:05 <elliott> it's truly awful
20:36:07 <ais523> yes
20:36:15 <elliott> slow, bloated, hard to use (especially to create a repository)
20:36:19 <elliott> badly designed ...
20:36:26 <ais523> the major thing that irritates me about it is the inability to svn log withotu an internet connection
20:36:31 <elliott> ugh
20:36:41 <ais523> I've never tried to actually create a repo, just look at other people's and commit occasionally
20:36:51 <ais523> sometimes I use tailor to create an automatic mirror of them in darcs
20:37:01 <elliott> ais523: let's put it this way: the recommended way to host a svn repository is via WebDAV.
20:37:02 <ais523> and I used git-svn on a serious project once
20:37:10 <elliott> ais523: specifically, WebDAV in Apache.
20:37:24 <ais523> also, I'm unaware of what WebDAV is, and get the feeling that I'm probably better off not knowing
20:37:28 <ais523> I have vaguely heard of it, though
20:37:30 <elliott> The protocol consists of a set of new methods and headers for use in HTTP. The added methods include:
20:37:30 <elliott> * PROPFIND — used to retrieve properties, stored as XML, from a resource. It is also overloaded to allow one to retrieve the collection structure (a.k.a. directory hierarchy) of a remote system.
20:37:30 <elliott> * PROPPATCH — used to change and delete multiple properties on a resource in a single atomic act
20:37:30 <elliott> * MKCOL — used to create collections (a.k.a. a directory)
20:37:30 <elliott> * COPY — used to copy a resource from one URI to another
20:37:32 <elliott> * MOVE — used to move a resource from one URI to another
20:37:34 <elliott> * LOCK — used to put a lock on a resource. WebDAV supports both shared and exclusive locks.
20:37:36 <elliott> * UNLOCK — to remove a lock from a resource
20:37:38 <elliott> ais523: that's WebDAV.
20:37:43 <elliott> ais523: basically, subversion does commits via extended HTTP.
20:37:48 <elliott> ais523: you may now hang yourself.
20:37:56 <elliott> (and yes, it is *that slow*)
20:38:15 <ais523> there was a pretty hilarious case where a leaked internal Microsoft memo said that they'd gained an advantage with DAV on the basis that it was complicated and the open-source people would probably guess wrong as to what to copy first
20:38:20 <elliott> ais523: honestly, if not for the pserver login crap, cvs is nicer to use than svn
20:38:21 <elliott> and haha
20:38:25 <ais523> and a couple of days later, the whole thing was implemented in Apache
20:38:43 <elliott> ais523: proprietary software, gotta love its motivations
20:38:45 <ais523> (probably not in a particularly working state, but just to show off)
20:39:27 <elliott> ais523: incidentally, it'd be nice if scapegoat is structured in a way that you can do almost all processing client-side (I know the server is just "another client", but you know what I mean)
20:39:32 <elliott> (and I know that servers are optional)
20:39:43 <ais523> you can change that to "command-side"
20:39:45 <elliott> ais523: so that it isn't a pain to use it on a low-powered VPS
20:39:46 <elliott> well ,yes
20:39:48 <elliott> *well, yes
20:39:54 <ais523> as in, whichever side happens to have the sg command
20:39:58 <elliott> and i know this is horribly implementation-detail for this point in time, but still
20:39:59 <ais523> or whatever we call it
20:40:00 <elliott> ais523: right
20:40:13 <elliott> ais523: haha, i just realised something
20:40:33 <ais523> again?
20:40:38 <ais523> this is a huge project for sudden realisations
20:40:39 <elliott> ais523: you can give people commit access by letting them only: add files to store/; and add and modify files in .
20:40:49 <elliott> (well, the only files out of that are ... names)
20:40:53 <elliott> and in fact you never modify names
20:40:58 <elliott> ais523: you can give people commit access by letting them only: add files to store/; and add and delete files in .
20:41:00 <ais523> it's sort-of like the opposite of Feather, it keeps becoming suddenly easier to understand every now and then, rather than harder
20:41:01 <ais523> yep
20:41:01 <elliott> (to delete names)
20:41:11 <elliott> ais523: hmm, can you set up rsync servers to let you do that easily?
20:41:15 <elliott> it would be nice
20:41:16 <ais523> probably
20:41:30 <elliott> scp would work, but it'd give more permissions than necessary
20:42:13 <ais523> is there an rscp?
20:42:16 <ais523> if not, there should be
20:42:21 <elliott> googling suggests not
20:42:42 <ais523> well, you can write that after your append-only key value store
20:42:46 <elliott> ais523: actually, if we go the database file route, rsync will be basically a requirement
20:42:56 <elliott> ais523: because it can just send a delta from the old file
20:43:05 <ais523> oh right, I thought we'd have to write our own system for syncing
20:43:06 <elliott> (you wouldn't overwrite the old file, though; you'd merge it)
20:43:08 <ais523> but we can just use rsync
20:43:17 <elliott> ais523: yes, except, if we don't go the db file route, we don't even need rsync
20:43:24 <elliott> anything that can... upload and download files works fine
20:43:37 <ais523> rsync would still help by sending just the files we didn't already have
20:43:45 <elliott> ais523: well, yes, indeed
20:43:55 <elliott> ais523: that's why I used wget and tar, previously
20:44:03 <elliott> to highlight /why/ i wanted such an insane feature :)
20:44:30 <ais523> insane + useful, the best combination
20:44:32 <elliott> ais523: nice thing about the key-value store: every file comes with its own checksum
20:44:44 <elliott> if hash(lookup(x)) != x, something went wrong/has been tampered with
20:44:57 <elliott> bonus: hashing is pretty fast, so you can do this all the time without much overhead
20:45:12 <elliott> (hmm, SHA-3 is selecting for speed as well as security, so that'll be nice)
20:45:27 <ais523> is it selecting for fast or slow?
20:45:32 <elliott> ais523: fast
20:45:35 <elliott> ais523: but secure
20:45:45 <elliott> ais523: of course, for things like password hashing, you want slow
20:45:46 <ais523> so sub-ideal for passwords
20:45:52 <elliott> but for more general things, fast is a great advantage
20:45:56 * ais523 is still reading about the Gawker hack
20:46:17 <elliott> ais523: I doubt bcrypt will be beaten for passwords any time soon, especially as it basically has a parameter for "increase this when computers get faster".
20:46:23 <elliott> *faster, and it'll become more secure
20:46:44 <ais523> people have been suggesting scrypt, which is designed like bcrypt except that it deliberately parallelises really badly
20:46:50 <ais523> to make it harder to use GPUs to attack it
20:46:55 <elliott> ais523: oh, yes, that's Colin Percival's
20:46:58 <elliott> I forgot about that one
20:47:04 <elliott> yes, scrypt is probably the best right now
20:47:06 <ais523> (doesn't really help, though, as you can just check multiple passwords in parallel...)
20:47:18 <elliott> ais523: doesn't help if you only want to crack one
20:47:24 <elliott> e.g. the missile launch codes :)
20:47:32 -!- poiuy_qwert has joined.
20:47:37 <ais523> no, I mean you're trying to crack a particular hash
20:47:44 <elliott> ah, i see
20:47:46 <ais523> you test password1 against the hash while testing password2 against the hash
20:47:55 <elliott> ais523: well, yes, but you'd need more than if it was easily-parallelisable
20:47:56 <ais523> I don't think it's even theoretically possible to avoid that
20:48:35 <elliott> ais523: hmm, using non-sg vcses is going to feel horrible now
20:48:39 <elliott> thanks for that :P
20:48:42 <ais523> sorry
20:48:50 <elliott> ais523: i'm kidding :)
20:48:53 <elliott> they already do feel horrible :P
20:49:16 <ais523> git is already entirely usable for me even though it's far from my favourite VCS, it just more or less won the DVCS war
20:49:32 <elliott> yes, it did, and I kind of regret egging it on
20:49:49 <elliott> I hadn't quite realised that it wasn't like it was when it started out -- a versioned file system with a VCS built on top of it
20:50:41 <elliott> ais523: oh well, thankfully we #esotericers exist in our own bubble where we do what we want and suffer the consequences
20:50:59 <oerjan> <ais523> it's sort-of like the opposite of Feather, it keeps becoming suddenly easier to understand every now and then, rather than harder <-- so after you've implemented it, you can do feather by a simple time reversal >:)
20:51:04 <elliott> ais523: incidentally, how does scapegoat handle binary files? presumably it's just fixed to byte-based?
20:51:15 <elliott> ais523: perhaps it should have a binary diff algorithm included for those rare cases
20:51:18 <ais523> it depends on what sort of binary diffs are sane
20:51:28 <ais523> treating them as blobs is generally what you want
20:51:34 <elliott> ais523: http://www.daemonology.net/bsdiff/
20:51:37 <ais523> unless you go down the C-INTERCAL route and have source code in binary
20:51:40 <elliott> ais523: (also Colin Percival)
20:51:53 <elliott> ais523: by binary I mean things like image data
20:51:53 <ais523> (ESR deleted the files in question on the basis that he thought they were generated; good thing that VCSes exist...)
20:52:01 <elliott> not mostly-text files with little binary snippets in them, say
20:52:04 <elliott> ais523: what files are those again?
20:52:11 <ais523> the character conversion tables
20:52:15 <elliott> ah
20:52:31 <ais523> making them text would have required an extra layer of encoding for no reason at all
20:52:31 <elliott> ais523: anyway, I basically mean just images, complicated level data formats, that sort of thing
20:53:27 <elliott> ais523: a rare correct usage of big O: "bsdiff is quite memory-hungry. It requires max(17*n,9*n+m)+O(1) bytes of memory, where n is the size of the old file and m is the size of the new file. bspatch requires n+m+O(1) bytes."
20:54:06 <ais523> "plus an arbitrary constant", it's being used for there?
20:54:11 <elliott> yes
20:54:28 <elliott> ais523: e.g., what most people mean by O(2n) is 2n + O(1)
20:54:38 <elliott> or, at least, close
20:54:49 <elliott> ais523: now that we've got a vaguely good idea of what scapegoat is, we can argue about more important things, like code formatting standards
20:54:56 <elliott> and software licenses
20:55:09 <ais523> presumably, not my irritate-everyone format for C?
20:55:23 <ais523> I doubt annoying everyone /equally/ is actually possible, but that one must be close
20:55:31 <elliott> ais523: indeed not; btw, I made a more irritating format than that
20:55:53 <ais523> I didn't say "as irritating as possible", just "equally irritating"
20:55:56 <elliott> ais523: http://sprunge.us/hShh
20:56:04 <elliott> ais523: (one mistake there: &c and &d should be & c and & d)
20:56:14 <ais523> that's evil
20:56:20 <elliott> ais523: the indents before the { and } are spaces, but the indents before the actual code are 2-widtht abs
20:56:22 <elliott> *2-width tabs
20:56:24 <ais523> it's like GNU-style, but in reverse
20:56:28 <elliott> MWAHAHAHA
20:56:44 <ais523> worryingly, it actually fulfils the design goals for GNU style better than GNU style itself
20:56:47 <elliott> ais523: and all but the last * go in the type, the last goes before the name
20:56:48 <elliott> unless there's only one
20:56:51 <elliott> in which case it goes in the type
20:57:18 <ais523> elliott: I should hire you to work on my hypothetical esolang that's designed to look like C but have subtly different semantics almost everywhere
20:57:30 <elliott> ais523: is this the kind of hiring that involves no pay? :)
20:57:34 <ais523> I think so
20:57:41 <elliott> I do that kind of hiring a lot! it rarely works
20:58:04 <elliott> ais523: i say we release it under the WTFPL, and then when esr relicenses it it'll actually /work/
20:58:10 <elliott> (note: justification slightly meaningless)
20:58:43 <ais523> I dislike the WTFPL
20:58:47 <elliott> ais523: why?
20:58:51 <ais523> because I have paranoid parents and some of the paranoia rubs off
20:58:55 <elliott> I've been using it exclusively lately
20:59:01 <elliott> ais523: the FSF consider it a valid Free software license
20:59:02 <ais523> I get a lot of "but what if someone does something illegal with your code?"
20:59:14 <ais523> and they want me to put disclaimers in my licensing against that sort of thing
20:59:19 <elliott> "Every major Linux distribution (Debian, Red Hat, Gentoo, SuSE, Mandrake, etc.) ships software licensed under the WTFPL."
20:59:29 <ais523> (even though, I suppose, it's a field-of-use restriction)
20:59:30 <elliott> ais523: well -- [[The WTFPL is an all-purpose license and does not cover only computer programs; it can be used for artwork, documentation and so on. As such, it only covers copying, distribution and modification. If you want to add a no warranty clause for a program, you may use the following wording in your source code: ]]
20:59:48 <elliott> ais523: you can't stop people using your code for illegal purposes
20:59:49 <Gregor> elliott: And what single piece of software is that?
20:59:50 <ais523> I'd like at least a no-warranty clause, anyway
20:59:54 <elliott> ais523: licenses only cover /redistribution/
20:59:57 <elliott> Gregor: software, plural
20:59:57 <ais523> elliott: indeed
21:00:09 <elliott> Gregor: I'm not sure what, exactly; I seem to recall I looked it up once
21:00:10 <ais523> mostly because a lot of people are extreme idiots
21:00:20 <elliott> ais523: eh?
21:00:22 <ais523> maybe not the majority
21:00:25 <elliott> ais523: i'm just saying that that would have to be an EULA
21:00:31 <elliott> and EULAs are evil
21:00:34 <elliott> and invalid, too
21:00:35 <ais523> oh, I'm not talking about the no illegal use clause
21:00:41 <ais523> obviously that makes no sense in a contract
21:00:49 <Gregor> "Oh shit dude, the EULA says I can't use this for illegal purposes, guess I won't then."
21:00:57 <ais523> I was talking about no warranty
21:00:58 <elliott> Using this software to break the law is AGAINST THE LAW!!
21:01:01 <elliott> ais523: ah
21:01:10 <ais523> "I slipped and fell and broke my finger on a CD of your software, I demand $20,000"
21:01:23 <elliott> ais523: well, it's easy enough to put a no-warranty clause on top of the WTFPL... really, I'd use another license, it's just that there's no good PD-equivalent license
21:01:27 <ais523> those sorts of people would probably actually be stopped by a warranty disclaiemr
21:01:30 <ais523> *disclaimer
21:01:34 <elliott> (creative commons zero is (1) IIRC under revision and (2) really, really long and ugly)
21:01:50 <elliott> ais523: oh, I know, I'll just remove the requirement from the ISC
21:01:53 <ais523> I've thought about using CC0 for something (other than Esolang)
21:02:03 <ais523> and actually copying the entire license text in
21:02:04 <elliott> Copyright (c) Year(s), Company or Person's Name <E-mail address>
21:02:04 <elliott> Permission to use, copy, modify, and/or distribute this software for any
21:02:04 <elliott> purpose with or without fee is hereby granted.
21:02:04 <elliott> THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
21:02:04 <elliott> WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
21:02:05 <elliott> MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
21:02:07 <elliott> ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
21:02:08 <elliott> WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
21:02:09 <ais523> without an indication that it's actually public domain
21:02:11 <elliott> ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
21:02:12 <elliott> OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21:02:15 <elliott> there we go!
21:02:17 <elliott> ais523: sorry for the flood
21:02:18 <ais523> is that... BSD1?
21:02:19 <elliott> the only changed paragraph is the second one
21:02:21 <ais523> or BSD0?
21:02:25 <elliott> ais523: http://en.wikipedia.org/wiki/ISC_license
21:02:35 <ais523> boring, I like the idea of removing yet more clauses from BSD now
21:02:36 <elliott> ais523: it's BSD2, minus stuff the Berne convention makes unnecessary; OpenBSD use it for everything
21:02:46 <elliott> and it's FSF-declared Free
21:02:49 <elliott> and it's OSI-approved
21:02:53 <elliott> ais523: basically, the change is just
21:02:56 <elliott> Permission to use, copy, modify, and/or distribute this software for any
21:02:56 <elliott> purpose with or without fee is hereby granted, provided that the above
21:02:56 <elliott> copyright notice and this permission notice appear in all copies.
21:03:00 <elliott> --> Permission to use, copy, modify, and/or distribute this software for any
21:03:00 <elliott> purpose with or without fee is hereby granted.
21:03:10 <ais523> let's call it BSD1, then
21:03:13 <ais523> as that's a great name for a license
21:03:23 <ais523> also, I like the concept of a license where the version numbers go backwards
21:03:31 <elliott> ais523: it's more like BSD0
21:03:34 <elliott> as it has, literally, no requirements
21:03:46 <ais523> but the permission is still a clause, isn't it?
21:03:52 <elliott> ais523: maybe... but then ISC is BSD1
21:03:55 <elliott> so ours is... BSD0.5
21:04:05 <ais523> a true 0-clause license would be all rights reserved
21:04:15 <elliott> ais523: my absolute favourite license is the OSI-approved Fair License:
21:04:16 <elliott> Usage of the works is permitted provided that this instrument is retained with the works, so that any entity that uses the works is notified of this instrument.
21:04:17 <elliott> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
21:04:23 <elliott> ais523: but it's only OSI-approved AFAIK, not anything else
21:04:36 <elliott> and removing the requirement would make it so vague as to be useless
21:04:38 <ais523> hmm, does that have a power of at least 1?
21:04:41 <elliott> ("Usage of the works is permitted.")
21:04:43 <elliott> ais523: heh
21:04:48 <ais523> we should use that to license the Agoran source code
21:05:11 <ais523> also, "Usage... is permitted"? "/Usage/"?
21:05:22 <ais523> that's a pretty restrictive license, without futher clarification
21:05:23 <elliott> ais523: redistribution is usage!
21:05:24 <elliott> ais523: redistribution is usage!
21:05:25 <elliott> oops
21:05:33 <ais523> elliott: not according to most licenses I've seen
21:05:42 <ais523> e.g. the GPL allows unlimited usage but limits redistribution
21:05:42 <elliott> ais523: I'm not seriously suggesting it, I just like it
21:05:44 <elliott> :P
21:06:05 <ais523> I think there should be a collaborative-effort license
21:06:22 <elliott> now to try and find an SHA-512 library that isn't horrible
21:06:26 <elliott> (for the key-value store prototype)
21:06:39 -!- Wamanuz2 has quit (Remote host closed the connection).
21:07:01 <ais523> "Permission to use, copy, modify... is granted provided that each derivative work adds another 6 words and one punctuation mark to this sentence: 'David slowed slightly as his ears,'."
21:07:14 <elliott> ah, LibTomCrypt has it
21:07:18 <ais523> it could become quite a story after a few thousand people had modified it
21:07:30 <elliott> ais523: heh
21:07:55 <ais523> I did remember the sentence fragment right, right?
21:07:59 <elliott> ais523: yes
21:08:15 <elliott> David Slowed, slightly as his ears, entered the room.
21:08:28 <elliott> David Slowed Slightly, as his ears, was gigantic.
21:08:29 <ais523> you added an extra comma, that's cheating
21:08:39 <elliott> ais523: erm, such modification happened all the time when we were playing with it
21:08:42 <ais523> ah
21:08:50 <ais523> it's just the comma at the end that's immutable?
21:08:59 <elliott> ais523: not sure even that was immutable :)
21:09:04 -!- Wamanuz has joined.
21:09:06 <ais523> I seem to remember it was
21:09:16 <ais523> in that case, I'll replace the sentence with "Just another Perl hacker,"
21:09:18 <elliott> David slowed slightly as his ears rebelled against his tyranny and forcefully pushed him backwards.
21:10:54 <elliott> ais523: come to think of it,
21:11:04 <elliott> ais523: scapegoat's store is pretty much identical to ElliottOS' model of the world
21:11:20 <elliott> ais523: with scapegoat, you could merge every possible store and, ignoring hash collisions, get a valid storage of... everything
21:11:22 <ais523> that's a good thing, right?
21:11:31 <elliott> ais523: with ElliottOS, every object is identified by its unique hash
21:11:34 <ais523> also, how many OSes are you working on now? ElliottOS, Kitten, and @?
21:11:37 <elliott> and you can refer to objects anywhere in the world with it
21:11:39 <elliott> ais523: ElliottOS = @
21:11:42 <ais523> ah
21:11:43 <ais523> only two, then
21:11:55 <ais523> oh, you're working on the linux-on-a-floppy too, aren't you?
21:11:56 <elliott> ais523: @ is a macro that expands to whatever ElliottOS will be called in its first real release
21:12:03 <elliott> Flinix is abandoned as I can't get X on it :P
21:12:04 <ais523> oh, I see
21:13:19 <elliott> ais523: incidentally, is this a weird thought to have: "releasing software is an obsolete notion"?
21:13:53 <ais523> elliott: gah, no, if you go too far down that path you end up with JNLP
21:14:05 <elliott> ais523: oh, no, I wasn't thinking *that*
21:14:14 <ais523> good
21:14:31 <ais523> I'm glad I discovered JNLP without explicitly looking for it
21:14:35 <elliott> heh
21:14:44 <elliott> ais523: I was just thinking that it's probably nicer to have a Debian-esque model: every now and then, you update the stable branch in your repo with all the changes you've done in the development repo in
21:14:45 <ais523> the thought of coming up with that in the first place and looking for it explicitly is worrying
21:14:53 <elliott> or, if you just did some experimental commits, all the commits up to, but not including, that one
21:15:00 <elliott> and then you just point people to that
21:15:05 <elliott> (and, ideally, offer auto-generated tarballs of it)
21:15:08 <elliott> rather than making actual releases
21:15:12 <ais523> hardly any programming projects have the issue of "how do I not do auto-update"
21:15:19 <elliott> :D
21:16:00 <elliott> ais523: so, what's the scapegoat language like :P
21:16:07 <elliott> that you specify merge tactics (patch types, whatever) and branch specifications in
21:16:27 <ais523> gah, impl details again
21:16:36 <ais523> is it not enough just to specify that it's a program?
21:17:00 <elliott> ais523: well, we've solved most of the theoretical issues :)
21:17:14 <elliott> ais523: also, um, I'd personally include the language as part of the platonic spec
21:17:17 <elliott> considering it's pretty important
21:17:25 <ais523> not the pragmatic spec?
21:17:38 <elliott> ais523: well, no, because it's pretty core to the whole thing, I'd say
21:17:39 <ais523> hmm, I suppose all this depends on how practical and how eso we want to be
21:17:44 <elliott> ais523: e.g. every branch is a "program" in this
21:17:44 <ais523> arguably, you could use CSS
21:17:50 <elliott> well, not much of a program, it's not TC (hopefully)
21:17:56 <elliott> but every branch is specified by one of these
21:17:58 <elliott> so it's pretty integral
21:18:10 <ais523> on the plus side, it has most of the properties we need, on the minus side, it's CSS
21:18:25 <elliott> ais523: It ... how would you write a patch type in CSS.
21:18:27 <elliott> You're crazy.
21:18:57 <ais523> square brackets after the tag name with a key-value pair, presumably
21:19:23 <elliott> ais523: You know what, we're not using CSS.
21:19:33 <ais523> indeed
21:19:43 <ais523> can you think of an existing language other than CSS that does most of what we need, though?
21:20:00 <elliott> ais523: no, it's pretty much a very domain-specific language
21:20:04 <ais523> indeed
21:20:21 <ais523> hmm, it wouldn't be too far off OIL, which is the only DSL I've ever written
21:20:38 <ais523> actually, no, it would be miles off OIL
21:20:39 <elliott> ais523: INTERCAL-sans-esr would be (\p => p.author != *long_hash_that_identifies_esr_goes_here)
21:21:03 <ais523> what lang is that? Ruby? C#?
21:21:07 <ais523> I can't quite identify the syntax
21:21:07 <elliott> ais523: mu
21:21:15 <elliott> ais523: It's haskell, except -> to => to avoid ambiguity, and !=
21:21:18 <ais523> ah
21:21:19 <elliott> and *x to mean "the object with hash x"
21:21:24 <elliott> ais523: mu meaning, none
21:21:29 <ais523> indeed
21:21:47 <elliott> just to clarify it wasn't some random language name :)
21:21:56 <ais523> (as ESR wrote C-INTERCAL originally, removing his contributions and things that depend on them wouldn't leave you with very much)
21:22:02 <elliott> ais523: yes, I know
21:22:03 <elliott> it was a joke
21:22:16 <elliott> ais523: @tip would be rather complex
21:22:17 <ais523> ooh, useful, I just got an email informing me of a seminar at 4pm
21:22:22 <ais523> and yes, I am in the same timezone as you
21:22:22 <elliott> heh
21:22:42 <ais523> wow, it's sent time is 9:07pm today
21:22:48 <elliott> ais523: in fact, I'm half-way to saying "fuck it, let's use a super-simple specification mechanism, way below a language, and just hardcode the meaning of @tip and the like"
21:22:50 <ais523> I thought it would just be a slow received, apparently not...
21:23:33 <ais523> elliott: make it pluggable, start with hardcoded @tip, etc, and a simple specification lang, and just leave space for expansion later
21:24:09 <elliott> ais523: maybe... but on the other hand, I'm not sure I'd *want* people to be able to specify, e.g., @foo, being the last commit that didn't have a parent thrice removed with "foo" in its patch or... or something else silly like that.
21:24:24 <elliott> by a simple specification lang, I mean -- what was your specification for branch ais523 again?
21:24:28 <elliott> as in, only patches you specifically accept
21:24:41 <ais523> only patches that I've whitelisted in the repo
21:24:47 <ais523> would be my typical branch specification
21:24:58 <ais523> presumably, the branch would just be a patchset, same as any other, in that case
21:25:11 <ais523> and the interesting part would be for the whitelist command to update the nicknames
21:25:23 <ais523> that doesn't actually need a lang at all
21:25:27 <elliott> ais523: no, the nickname would point to the specification
21:25:40 <ais523> yep, but in this case the specification is "one patch and its dependencies"
21:25:49 <ais523> just, /which/ is updated by the whitelist command
21:25:49 <elliott> ais523: the other type of branch doesn't need a specification, because it has the implicit "...that doesn't conflict with this branch" that everything has
21:25:59 <elliott> ais523: so in fact, the only type of specification we need is (mu | whitelisted-specifically)
21:26:01 <ais523> well, "one set of patches"
21:26:03 <elliott> erm
21:26:05 <elliott> ais523: so in fact, the only type of specification we need is (none | whitelisted-specifically)
21:26:15 <ais523> elliott: that works for what I'd use
21:26:26 <ais523> you might want the "everything but Oracle"
21:26:37 <elliott> ais523: I can't think of another useful specification other than things like @tip
21:26:42 <elliott> ais523: hmm, well maybe
21:26:48 <elliott> ais523: this definitely needs more thought
21:26:53 <ais523> elliott: the anonymous siblings of @tip need some way to refer to them, too
21:27:09 <ais523> as in, that branch exists via a formula, but it wouldn't automatically have any name at all, not even a hash
21:27:12 <elliott> ais523: indeed, I'm not actually sure how you *get* to them
21:27:17 <elliott> er no it would have a hash
21:27:21 <elliott> everything has a hash
21:27:23 <elliott> it's just that
21:27:26 <elliott> the hash would be the commit
21:27:32 <elliott> er, the patch
21:27:34 <ais523> I mean, nothing would insert the hash into any database automatically
21:27:44 <elliott> ais523: sure it does -- the commit's hash
21:27:48 <elliott> patches are branches, aren't they?
21:27:58 <ais523> oh, I see, you can't have multiple unrelated commits in any of those branches
21:28:15 <ais523> so although in general you can't refer to a set of patches by a hash without creating the hash, the set always has exactly one element here
21:28:24 <ais523> so yep, you can just use the commit's hash
21:28:47 <elliott> ais523: sheesh, I want a Ph.D. out of this
21:28:54 <elliott> it's making my head hurt enough just trying to figure it out
21:29:05 <ais523> and better still, the whitelist list on the repo in question gives an easy list of all @tip's siblings (they're its direct, rather than indirect, dependencies)
21:29:14 <ais523> that was... unexpectedly trivial
21:29:30 <elliott> ais523: dammit, model, stop making things easy for us
21:29:36 <elliott> we like a challenge!
21:29:44 -!- augur has quit (Remote host closed the connection).
21:30:02 <elliott> ais523: ok, here's something we haven't addressed - metadata.
21:30:04 <elliott> ais523: oh, I have an idea!
21:30:10 <ais523> elliott: make sure you save that log, btw
21:30:16 <elliott> it is being saved, constantly
21:30:17 <elliott> I keep logs
21:30:18 <ais523> I'd like to review the conversation, and this is a webclient that doesn't log
21:30:19 <ais523> oh, right
21:30:21 -!- augur has joined.
21:30:26 <ais523> I mean, somewhere you can find it more easily
21:30:26 <elliott> ais523: files are just their contents, not anything else; the names and permissions are stored in the *directory* they're in
21:30:38 <elliott> ais523: this also means that moving a file around doesn't even touch it
21:30:40 <elliott> just its hierarchy
21:30:47 <elliott> so this allows putting a / below your existing / without changing every single file
21:30:49 <ais523> how well does that fit a common programmer's use of a filesystem?
21:30:53 <ais523> I imagine, quite well
21:30:54 <elliott> ais523: what do you mean?
21:31:07 <ais523> well, what features of a file are attached to the file itself?
21:31:12 <elliott> ais523: in this model?
21:31:13 <elliott> ais523: the contents.
21:31:14 <ais523> size is, obviously; absolute path probably isn't
21:31:20 <elliott> ais523: a file is just an arbitrary chunk of texct.
21:31:21 <elliott> *text.
21:31:22 <ais523> I don't mean, in your model, but in general use
21:31:23 <elliott> ah
21:31:37 <elliott> ais523: I *think* I'd say that the (directory-local) name and permissions of a file are part of it
21:31:38 <ais523> if you decided to send me a file, what metadata would you send along with it?
21:31:41 <elliott> but that's just cognitive bias
21:31:52 <elliott> ais523: the name; not the permissions, owner, or group
21:31:56 <elliott> ais523: but I think the name thing is just, human bias
21:32:02 <elliott> we like things to have names tied closely to them
21:32:10 <elliott> whereas from a VCS perspective, it makes more sense to have them in the directories
21:32:14 <ais523> well, many programming languages do too
21:32:19 <ais523> Java, for instance
21:32:21 <elliott> ais523: oh, and consider the case of merging two files
21:32:26 <elliott> ais523: and also, splitting one file up into multiple
21:32:33 <elliott> ais523: this is /much/ easier if files are just text, and have no metadata
21:32:37 <elliott> and all the metadata is in the directories
21:32:41 <ais523> yep, I suppose so
21:33:12 <elliott> ais523: well, that was an easy decision made
21:33:20 <elliott> ais523: but -- how are directories stored? obviously, we need to be able to patch them
21:33:21 <elliott> ais523: aha!
21:33:30 <elliott> ais523: directories exist *only* as a (built-in) language "plugin"
21:33:33 <elliott> ais523: they have no textual form
21:33:39 <ais523> that works, I think
21:33:40 <elliott> ais523: the unit is something like, "one item of metadata"
21:33:53 <elliott> ais523: actually, no
21:33:55 <elliott> ais523: the unit is "one entry"
21:33:58 <ais523> indeed, I think probably all language plugins should work like that
21:33:59 <elliott> including name, permissions, etc.
21:34:09 <elliott> ais523: well, sure, just, they'll be built on parsing the actual text
21:34:12 <elliott> whereas this won't
21:34:15 <ais523> most of them will choose to have a plaintext backing
21:34:18 <ais523> but perhaps some won't
21:34:27 -!- augur has quit (Ping timeout: 245 seconds).
21:34:27 <elliott> ais523: no, I think we should definitely stick to only tracking actual files
21:34:29 <elliott> even if they're binary
21:34:38 <elliott> as in, the language plugin shouldn't be serialised; the plugin should read in the actual files
21:34:43 <elliott> ais523: and they should handle formatting changes
21:34:46 <elliott> IMO
21:34:49 <ais523> yep
21:34:55 <elliott> ais523: they're more like, smarter semantic diffs, rather than AST versioners
21:34:57 <ais523> well, give the plugin the choice of whether it's filesystem-related or not?
21:35:11 <ais523> so for, say, C you can handle the source code just fine
21:35:12 <elliott> ais523: eh... I think it's a lot simpler if the plugin just gets a file and is told "hey, make sense of this"
21:35:19 <elliott> conceptually, too, as in the scapegoat model
21:35:19 <ais523> but wouldn't it be great to, say, version a running Haskell program
21:35:25 <elliott> otherwise, the platonic model would be way too general
21:35:27 <ais523> I mean, not the source code, the program itself
21:35:29 <elliott> to the point of uselessness
21:35:36 <ais523> we can do that later, though
21:35:45 <elliott> ais523: it sounds cool, but it doesn't sound like something I'd actually want to do :)
21:35:49 <elliott> at least, not outside of @, in Unix
21:35:58 <ais523> wow, i just got a second reminder about that seminar
21:36:05 <elliott> ais523: MAKE SURE YOU DON'T MISS IT
21:36:06 * ais523 wonders about time zone issue
21:36:16 <elliott> ais523: maybe it's for tomorrow?
21:36:34 <ais523> nope, today
21:36:41 <elliott> ais523: maybe it's automated, and the system was slow/down?
21:36:50 <ais523> I was wondering about that
21:36:55 <ais523> I suspect it's automated, at least
21:37:03 <elliott> probably the mail server it used was down or something
21:37:49 <elliott> ais523: so, does sg have any nice properties/features that you know of for single-developer cases?
21:37:54 <elliott> heck, for versioning dotfiles? :)
21:38:29 <ais523> one that would be nice would be the ability to extract just a file and its dependencies from a large project and work on that
21:38:46 <ais523> I've tried to do that before, but darcs ended up pulling in 9/10 of the project because it was too coarse-grained
21:38:48 <elliott> ais523: hmm, re: storing file metadata in directories, the command line tool would have to be a bit smart about that, i.e. say that telling it to track file X is actually interpreted as cherry-picking the change to the directory of X
21:38:55 <ais523> if multiple files were changed in a patch, it had to use both or neither
21:39:07 <ais523> sg could easily use "half a commit" if necessary
21:39:17 <elliott> ais523: (does ^ make sense?)
21:39:23 <ais523> elliott: indeed
21:39:31 <ais523> that's not a massive smartness issue, though
21:39:39 <elliott> indeed
21:40:25 <elliott> ais523: btw, to get this out of the way, I strongly oppose having Ŋscapegoat's name actually start with a non-ASCII character :-)
21:40:41 <ais523> fair enough
21:41:25 <ais523> you could just use , that's in ASCII and sorts to the end of a directory
21:41:29 <elliott> heh
21:41:37 <elliott> @scapegoat or %scapegoat seem like the best bets to me (wow, just realised the perl connection) because they're at least near the top (% comes before numbers and letters, @ before letters) and they suggest "special things" but don't have to be escaped in a shell
21:41:40 <elliott> (unlike {arch} :-))
21:41:55 <ais523> also, left shift + left control + u lets you type arbitrary Unicode in GNOME by specifying its hex code
21:42:04 <elliott> not here
21:42:11 <elliott> in a specific input method, perhaps
21:42:40 <ais523> hmm, really?
21:42:46 <elliott> well, I'm certainly using gnome
21:42:46 <ais523> it works on CentOS here and Ubuntu at home
21:43:08 <ais523> hmm, and seems not to be sensitive to which control and which shift is used, unlike altgr
21:43:09 <elliott> debian here... but who knows what i have input methods set to
21:43:24 <ais523> also, http://www.google.com/intl/en/ipv6/statistics/ is really depressing
21:43:50 <elliott> ais523: and v4 is running out faster than ever
21:44:04 <ais523> oh, it'll continue running out long after it's actually out of addresses
21:44:18 <ais523> hopefully, IPv4 exhaustion will finally prompt ISPs to start switching to IPv6
21:44:20 <ais523> but you never know
21:44:34 <elliott> ais523: actually, the last allocations are almost in
21:44:47 <elliott> ais523: and the actual-last-address-allocated estimate is looking like about March 2011
21:44:48 <ais523> indeed, 7 blocks left, and the last 5 are allocated all at once
21:44:51 <elliott> Ilari can confirm for sure
21:44:59 <elliott> ais523: so "long after" is wrong
21:45:14 <ais523> elliott: I was referring to recursive NAT
21:45:21 <elliott> ais523: I suspected that
21:45:24 <ais523> which is bound to be the stopgap used, until people realise that it doesn't actually work
21:45:28 <elliott> ais523: but, still, consider every VPS provider ever
21:45:38 <elliott> ais523: I could create five new slices right now, and each would get its own static IP
21:45:46 <elliott> and there's no real way to NAT VPSes
21:45:50 <ais523> yep, you wouldn't be able to in a while, I suspect
21:45:52 <elliott> since you can run anything on them, on any port
21:46:02 <ais523> exhaustion will hit servers much harder than clients
21:46:04 <elliott> ais523: so it really is a huge thing, because businesses don't exactly want shared hosting
21:46:15 <elliott> and when they need to put a new machine up ... they just can't
21:47:06 <ais523> indeed
21:47:15 <ais523> it's huge, but it probably won't cause the end of the world
21:47:20 <ais523> rather, it'll just be a wake-up call
21:47:31 <elliott> ais523: I suggest we assign an IPv6 address to every scapegoat object, just to make IPv6 depletion that much easier
21:47:42 <ais523> does that even make sense?
21:48:05 <elliott> ais523: it can if we make it!
21:48:41 <elliott> "We reply to Russ Cox's "Yacc is Not Dead" by running the example that he claims has best-case complexity of Ω(3^n). It terminates instantly for n > 100."
21:48:46 <Phantom_Hoover> WHERE IS FUNGOT
21:48:54 <elliott> fizzie: OH GOD THE BEES
21:49:10 <elliott> ais523: hmm, so what should we do for public keys? presumably, commits should be optionally signable
21:49:18 <elliott> and author objects would have a gpg public key with them
21:49:28 <Phantom_Hoover> elliott, what's Russ Cox's "Yacc is Not Dead"?
21:49:31 <Ilari> Actually, its now February... And yes, some RIR will grab 2 blocks, and then last five are immediately distributed.
21:49:32 <elliott> Phantom_Hoover: a blog post
21:49:40 <ais523> elliott: that makes sense, I suspect
21:49:43 <Phantom_Hoover> fizzie, for killing fungot, I challenge you to a Minecraft duel!
21:49:48 <Phantom_Hoover> Choose your weapons!
21:49:59 <ais523> Phantom_Hoover: are there any plausible weapons?
21:50:01 <elliott> ais523: hmm, maybe we should just have it future-proof... as in, just include gpg-signature keys in patches, and gpg-pubkey in authors
21:50:04 <ais523> I don't know whether to laugh
21:50:05 <elliott> ais523: and then we can switch at a later date
21:50:16 <elliott> ais523: and tools that don't want to can just ignore them, like other unknown keys
21:50:18 <Phantom_Hoover> ais523, that's for fizzie to decide!
21:50:19 <ais523> I think we should futureproof everything, where it doesn't cost too much
21:50:20 <elliott> ais523: also, there's a sword in Minecraft, so yes
21:50:29 <ais523> does it work for PvP?
21:50:33 <Phantom_Hoover> Buckets of lava and water, and cobblestones!
21:50:37 <elliott> well, minecraft has pvp, yes
21:50:42 <elliott> although it's disabled on our server
21:50:43 <elliott> along with health :P
21:50:55 <elliott> making a battle to the death rather difficult
21:51:12 <ais523> elliott: why am I suddenly reminded of Falcon?
21:51:28 <elliott> ais523: erm, for minecraft or for scapegoat? :)
21:51:33 <ais523> minecraft
21:51:37 <Ilari> And that RIR is thought to be APNIC...
21:51:39 <elliott> i have no idea
21:52:05 <ais523> elliott: it's as if Minecraft's put in any feature that anyone asked for
21:52:06 <Phantom_Hoover> ais523, because it's astonishingly poorly-coded?
21:52:13 <elliott> ais523: not really
21:52:14 <Phantom_Hoover> ais523, ohhhh, no.
21:52:17 <ais523> or attempted to, but not got too far
21:52:29 <elliott> ais523: it's Survival Multiplayer; the existence of PvP is practically a given
21:52:34 <Phantom_Hoover> Notch removes everything that's enjoyable which causes the game to be played in The Wrong Way.
21:52:36 <elliott> you can't disable health with the stock server, we use a mod
21:52:38 <ais523> fair enough
21:52:43 <elliott> but you can disable monsters and pvp
21:52:48 <ais523> is the server open-source, btw?
21:52:50 <Phantom_Hoover> Best example: /home.
21:52:54 <Phantom_Hoover> ais523, no.
21:52:56 <ais523> or at least open-binary?
21:52:58 <elliott> ais523: no, but people have deobfuscators that you run on the decompiled java
21:52:59 <elliott> open-binary, yes.
21:53:03 <elliott> ais523: (this is how mods exist)
21:53:11 <elliott> ais523: the nice thing about the mod we use, hMod, is that it has a stable plugin API
21:53:17 <elliott> so only one person needs to worry about server code changes
21:53:23 <ais523> by open-binary, I more or less mean "allowed to download the binary at will, etc"
21:53:28 <elliott> yes
21:53:32 <elliott> even if you don't have teh game
21:53:34 <elliott> *the
21:53:41 <elliott> http://minecraft.net/download/minecraft_server.jar?v=1292277191330
21:54:51 <elliott> ais523: another thing nicknames are useful for: identifying author objects
21:54:51 <ais523> hmm, just checked the computer here, it's IPv4 only
21:54:55 <ais523> elliott: indeed
21:55:00 <elliott> useful when you want to do, e.g., "sg mail foo" to mail patches to foo
21:55:03 <ais523> they're useful for naming anything, more or less
21:55:04 <elliott> one issue with that: we need a consistent prefix
21:55:13 <ais523> enforced? or convention?
21:55:15 <elliott> ~foo would be ideal, but you'd have to quote it in a shell
21:55:16 <elliott> ais523: convention
21:55:21 <fizzie> The "there will be beta soon" blagpost also said he'll start working on a stable server API for mds.
21:55:27 <ais523> I suggest lpsz, to annoy Windows programmers
21:55:33 <ais523> although that joke's a bit dated nowadays
21:55:34 <elliott> ais523: only enforced thing is that @ is a reserved prefix, I think
21:55:39 <elliott> for things like @tip
21:55:54 <elliott> ais523: although arguably, @ should mean "branch"
21:55:57 <Ilari> Long pointer size?
21:56:13 <elliott> ais523: (this is the point where it's worth considering having a different set of nicknames for each object type rather than this silly prefix business...)
21:56:33 <ais523> Ilari: long pointer to zero-terminated string
21:56:50 <elliott> as opposed to a short pointer?
21:56:58 <ais523> indeed
21:57:05 <ais523> although even in win3.1, it was a silly distinction
21:57:20 <ais523> because the library functions you were calling were unlikely to be in the same segment as your program itself
21:57:27 <Ilari> And long pointer? Who uses that with 32-bit stuff?
21:57:35 <ais523> Ilari: relic from 16-bit Windows
21:57:40 <ais523> the prefix was preserved into win32
21:57:46 <fizzie> And that lparam/wparam stuff.
21:57:47 <ais523> I hope they finally got rid of it with #net, though
21:57:50 <ais523> *.net
21:57:56 <elliott> C#NET
21:58:46 -!- fungot has joined.
21:58:48 <elliott> ais523: annoying thing about scapegoat: it's so close to being perfect for Haskell, except that you'd need all the store operations to be in IO because of the implementation detail that you happen to save them
21:59:03 <elliott> ais523: also, it's probably over-generalised enough that Haskell would be too slow :(
21:59:28 <elliott> (not with hand-optimisation, perhaps, but then why bother using haskell?)
21:59:33 <Ilari> Wonder how many Linux programs (besides stuff like DOSEmu or so) use far pointers (at least Linux/i386 has some syscall that only makes sense with far pointers...)
21:59:54 <Phantom_Hoover> Far pointers?
22:00:33 <elliott> ais523: I'm wondering if the object store might want to store more complicated things too; a patch is basically a set, isn't it?
22:00:47 <elliott> it would be a bit awkward to do set[hash(x)]=x for every single change in a patch
22:01:23 <ais523> indeed
22:01:47 <elliott> OTOH, maybe we should just store a patch as its changes, sorted in some arbitrary way?
22:01:58 <elliott> in which case, we'd need lists (and at that point I'd agree that we should abandon a filesystem-based approach...)
22:02:45 <ais523> storing a patch as its changes would effectively store the whole repo in any toplevel patch
22:02:58 <ais523> so obviously you can't do that completely in general
22:03:05 <ais523> but it would be a sensible optimisation for some patches
22:03:23 <elliott> ais523: define toplevel
22:03:54 <ais523> oh, a patch that isn't referred to by any other
22:04:04 <ais523> as in, the merge of @tip and its siblings
22:04:17 <ais523> worse, the same would apply to any patch that had ever been @tip
22:05:02 <elliott> ais523: hmm, are you sure?
22:05:08 <elliott> ais523: wouldn't it be the set of changes from the previous @tip?
22:05:41 <ais523> oh, you mean not recursively
22:06:18 <ais523> hmm, I imagine that could work
22:06:40 <elliott> ais523: well, "changes, not recursive" is pretty much the definition of a diff :)
22:06:45 <elliott> -based VCS
22:06:55 <elliott> ais523: I mean, you already have a diff-esque format
22:06:58 <elliott> the list of changes
22:07:07 <elliott> so just, make them relative to their parent(s) in the tree
22:07:11 <ais523> still, there's the issue of multiple parents
22:07:26 <elliott> ais523: hg has commits with multiple parents and is diff-based
22:07:29 <elliott> I'm not sure how it works, though
22:07:29 <ais523> how do you distinguish between the diff from the previous @tip (all the merged changes), and the diff from the merged changes (the previous @tip)?
22:07:37 <elliott> ais523: hmm, maybe you store one diff per parent
22:07:41 <elliott> such that each diff produces the same result
22:07:49 <elliott> if you have multiple parents
22:07:50 <elliott> maybe?
22:07:51 <elliott> i dunno
22:07:55 <ais523> I was thinking of that, but then the diff to the "small" parent's going to be the whole repo
22:08:06 <ais523> I think, if you're just going for efficiency, you store the smallest diff to a parent
22:08:21 <ais523> which'll be right 99% of the time, and the rest, you just calculate from scratch
22:08:31 <elliott> ais523: TODO: figure out what hg does in this case
22:08:35 <elliott> (multiple parents)
22:09:32 <elliott> ais523: hmm, I wonder what it *does* do?
22:09:39 <elliott> it definitely has commits with multiple parents, usually merges
22:09:42 <elliott> and it definitely stores things as diffs
22:09:50 <ais523> in our case, every commit is a merge except for the first
22:09:55 <ais523> so every commit has multiple parents
22:10:15 <elliott> <elliott> How does hg handle the storage of commits with two parents (e.g. merges) internally? If it stores them as a diff, which parent does it calculate the diff from?
22:10:18 <elliott> --#mercurial
22:10:22 <elliott> let's see if anyone's awake
22:10:42 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
22:12:09 <elliott> <mpm> elliot: Mercurial always stores snapshots conceptually. Delta compression is handled at a lower level.
22:12:09 <elliott> <homa_rano> elliott: but conceptually, the diff shown from a merge is from the first parent
22:12:10 <elliott> <elliott> mpm: OK. How would the lower level look in the case of two parents being merged?
22:12:10 <elliott> <elliott> homa_rano: ah -- how does hg work out which parent is the first?
22:12:14 <elliott> ais523: (mpm is the creator of mercurial)
22:12:23 <elliott> also, I love how I catch out everyone who doesn't use tab complete
22:12:29 <elliott> it doesn't highlight me if you spell my name wrong, guys...
22:12:38 <oerjan> <elliott> ais523: and the actual-last-address-allocated estimate is looking like about March 2011 <-- i've seen at least twice (Ilari yesterday was the second time) estimates indicating late _January_
22:12:50 <elliott> oerjan: yep, I was behind on my results
22:12:59 -!- impomatic has joined.
22:13:03 <elliott> ais523: <homa_rano> the first is the one you had checked out when you typed 'hg merge'
22:13:04 <elliott> <elliott> ah :)
22:13:05 <ais523> oerjan: why is it accelerating? people trying to get addresses before the Internet runs out?
22:13:08 <oerjan> argh ninjaed
22:13:13 <elliott> ais523: so, tl;dr hg just picks an arbitrary parent to diff from, pretty much
22:13:18 <elliott> oerjan: ?
22:13:20 <ais523> elliott: diff-to-one-parent seems correct for us, too
22:13:32 <Ilari> One of the model estimates (as opposed to personal guesses of various people) was in January few days ago.
22:13:33 <elliott> ais523: yep, it's just that, they have a working copy that they can choose to diff from; we have no real way to decide which
22:13:42 <elliott> calculating a diff from every parent is expensive
22:13:45 <ais523> and we should pick the one that results in the smaller diff as it's a sensible heuristic to determine which one makes the better working copy
22:13:53 <elliott> oh, wait
22:13:54 <elliott> <homa_rano> but the underlying storage is unrelated to parentage
22:13:54 <elliott> <mpm> elliott: We may or may not delta against a convenient revision in the underlying storage.
22:13:54 <elliott> <elliott> mpm: OK.
22:14:05 <ais523> and can't you just calculate in parallel and stop once you have any diff?
22:14:07 <elliott> <elliott> Would it, say, diff against every parent and then pick the shortest diff?
22:14:07 <elliott> <elliott> Or?
22:14:10 <elliott> let's find out!
22:14:13 <elliott> ais523: no, not if you want the smallest one
22:14:28 -!- augur has joined.
22:14:41 <Ilari> The current estimates are 2nd February and 23rd February.
22:14:43 <ais523> also, you have to remember that with sg's extra metadata, you can do some large diffs very quickly
22:14:59 <elliott> ais523: you can?
22:15:05 <ais523> as normally, you'll find a common ancestor quickly if you just do a breadth-first search
22:15:11 <ais523> and there's no need to expand any further from there
22:15:12 <impomatic> Anyone fancy thrashing this guy at his own programming contest? http://skybuck.org/BoxifyMe
22:15:31 <ais523> if a line's the same line in two files, then it's got to be based on the same patch
22:15:33 <elliott> impomatic: "And may the boxforce be with the fokking you ! ;) =D LOL."
22:15:40 <elliott> impomatic: I can't do anything related to anyone who says... whatever that is.
22:15:46 <ais523> if it's in the same context, then those have to be based on the same patch, too
22:15:53 <ais523> and so on recursively
22:15:54 <elliott> ais523: true
22:15:59 <elliott> ais523: <mpm> It generally deltas against the last revision, regardless of how it's related. But that's an implementation detail.
22:16:09 <elliott> ais523: the problem is, in sg, we can't have the luxury of treating diffs as an implementation detail
22:16:12 <elliott> because they're fundamental
22:16:23 <ais523> well, at the bottom level, there are only a very few diffs
22:16:46 <ais523> the "insert "x" between 2 and 3", "change 5 to "hello world"", "delete 8"
22:16:52 <elliott> ais523: oh, oh, here's something you might like
22:16:55 <elliott> ais523: http://git-annex.branchable.com/
22:16:59 <elliott> ais523: from Joey Hess, of Debian fame
22:17:01 <elliott> very interesting
22:17:16 <ais523> although of course, you'd want to probably cache what combinations of those bottom-level patches came to
22:17:19 <elliott> the walkthrough especially (well, after the two introductory paragraphs)
22:17:22 <elliott> highly recommend you take a look
22:17:23 <elliott> ais523: and yes, true
22:17:40 <elliott> ais523: "change 5 to "hello world""
22:17:45 <elliott> ais523: wouldn't that be "change 5 to 6"?
22:17:47 <ais523> I've had a quick look, I'll check more later
22:17:52 <ais523> elliott: no, that /is/ 6
22:18:01 <elliott> ais523: wait, the *change* is the line?
22:18:11 <ais523> it's blame-based
22:18:14 <elliott> ais523: ok, let's say 6 = insert "x" between 2 and 3
22:18:18 <ais523> lines are referred to by the change that introduced them
22:18:18 <elliott> ais523: what's "change 6 to "hello""?
22:18:33 <impomatic> elliott: I suspect the guy running the contest is about 10 years old :-)
22:18:34 <ais523> it changes the x that was originally addded between 2 and 3 to "hello"
22:18:47 <ais523> and because this is scapegoat, it knows which one that was, and whether it's still there
22:19:22 <elliott> impomatic: I would do it except reading the image in sounds like the only part that'd take any time, and it sounds boring :)
22:19:24 <ais523> if it had been deleted since, or changed to something else, it wouldn't be there, or have a different number, respectively, so it wouldn't be found
22:19:43 <elliott> ais523: so "change 3489573945 to "blah"" if 3489573945 isn't present in the revision we're applying this to would barf out?
22:19:44 <elliott> ok
22:19:54 <ais523> elliott: yes, that's the definition of a merge conflict
22:20:02 <elliott> ais523: hmm, how easy is it to do "sg diff", i.e. "give me a diff between, say, @tip and current working directory"
22:20:11 <elliott> ais523: as in, an actual unified diff
22:20:23 <elliott> and after you've answered that: same question, but s/@tip/r1/ and s/current working directory/r2/ for arbitrary r1 and r2
22:20:51 <ais523> conceptually simple; you take the set difference between the recursive dependencies of each
22:21:02 <ais523> then convert that into the lines in question
22:21:04 <ais523> then add context
22:21:23 <elliott> ais523: but actual simplicity?
22:21:31 <ais523> I suspect also simple
22:21:36 <elliott> ais523: I mean, imagine a revision from 10 years ago to now, when there's been 3 rewrites in-between
22:21:39 <elliott> and you want a unified diff between them
22:21:48 <elliott> surely "sg diff r1 r2" would be ... rather slow?
22:22:08 <ais523> in that case, I suspect it might be, finding a common ancestor would take ages
22:22:15 <ais523> and then sg would list one with a bunch of +s, and the other with a bunch of -s
22:22:22 <ais523> it wouldn't generate a textual diff, but a conceptual diff
22:22:30 <elliott> ais523: err, no, I mean in an actual diff -u output
22:22:32 <elliott> not anything sg-specific
22:22:33 <elliott> textual
22:22:37 <ais523> it would be an actual -u output
22:22:41 <elliott> hmm
22:22:43 <ais523> but I mean, not generated by diffing text
22:22:46 <elliott> ais523: come to think of it, how fast would "sg checkout rev" be?
22:22:48 <elliott> for an arbitrary rev
22:22:51 <ais523> but by working out what changed, then converting that into unidiff
22:23:00 <elliott> I suspect the answer is "slow, in the general case"
22:23:07 <ais523> and incredibly slow with a naive impl, but easily optimisable
22:23:21 <elliott> ais523: how easily?
22:23:35 <elliott> ais523: if you mean "oh, just store the last few revisions unpacked"... well
22:23:37 <impomatic> elliott: Al Zimmermann's latest programming contest requires quite a bit of processing power :-) http://azspcs.net/Contest/Cards
22:23:43 <ais523> I suspect the best storage is a git-like one: for each patch which nothing depends on, store the entire tree; for each patch which something depends on, store a diff from something that depends on it
22:23:49 <elliott> ais523: I don't think a 15-year-old revision should take hours to check-out.
22:23:50 <ais523> i.e. a backwards tree of diffs
22:24:02 <elliott> A minute, would be about the most I'd accept (assuming it's not huge, filesystem-wise)
22:24:15 <ais523> then, every so often, store a complete tree
22:24:15 <elliott> with a local Ħscapegoat directory
22:24:22 <ais523> in order to speed the process up
22:24:28 <elliott> ais523: maybe... does git actually do that though?
22:24:29 <ais523> say, once every 100 dependencies or so
22:24:38 <ais523> I think it does either that, or something pretty similar
22:24:41 <ais523> I can't quite remember the details
22:24:46 <elliott> ais523: I don't think the Linux git has hundreds of full copies of Linux in it.
22:24:48 <ais523> I suspect that would work, though, and even has tuneable performance
22:25:27 <elliott> hmm
22:25:33 <elliott> ais523: well, we'll see :P
22:25:47 <elliott> ais523: anyway, I just realised something
22:26:00 <ais523> I think the Linux git tree probably does have hundreds of full copies
22:26:01 <elliott> ais523: oh, wait, I realised something but it was wrong
22:26:04 <elliott> ais523: and no
22:26:06 <ais523> perhaps one at each release
22:26:11 <elliott> ais523: linux-2.6.git is <200 megs
22:26:21 <ais523> because they're deduplicaetd
22:26:23 <ais523> *deduplicated
22:26:28 <ais523> via hashes
22:26:29 <elliott> ais523: latest 2.6 itself is 60 megs bzipped
22:26:32 <elliott> *bzip2ed
22:26:35 <ais523> hmm
22:26:45 <ais523> is git fast at really old revisions?
22:26:49 <elliott> ais523: yes
22:26:55 <elliott> ais523: all revisions take the same time to extract, afaik
22:27:05 <elliott> more or less, at least
22:27:15 <ais523> well, we can look into what it does
22:27:30 <ais523> worst case, just use git as the FS behind scapegoat and let it handle the deduplication, if it's that magical
22:27:43 <elliott> ais523: we should look at hg's internal system too, since it's like git but less hacky :)
22:27:48 <elliott> and it's also python
22:28:01 <elliott> which is probably easier to get overall details from than git's optimised C
22:28:13 <ais523> "store a diff against something" is probably reasonable for an implementation strategy, but it's unclear how it would work for really old things
22:28:40 <oerjan> <elliott> oerjan: ? <-- i was (still am :D) way backscrolled so i didn't see Ilari had commented on the same thing
22:28:49 <elliott> ais523: anyway, I thought nicknames could be done in the store, but I was wrong
22:28:51 <elliott> oh! maybe I wasn't
22:29:05 <ais523> they'd be global if they were
22:29:10 <ais523> by definition, pretty much
22:29:29 <elliott> ais523: well, yes, it's just that if you had multiple clashing nicknames, you couldn't use those nicknames
22:29:35 <elliott> ais523: first, let's say that the hash function takes a type as a parameter -- branch, pointer, nickname, whatever -- and mixes that into the hash however
22:29:56 <ais523> it's nice to have short nonunique nicknames like "elliott" for a local repo
22:30:06 <elliott> ais523: shush, i'm explaining how you can have that
22:30:08 <elliott> in the store
22:30:39 <elliott> ais523: now, store a nickname like this: nickname_kvstore = insert(kvstore, type="nickname", key=nickname, value=new_kvstore)
22:30:52 <elliott> ais523: so, this has {hash(nickname, type="nickname") => {}}
22:30:55 <elliott> ais523: and nickname_kvstore is the kvstore
22:30:58 <elliott> ais523: now
22:31:21 <oerjan> <ais523> oerjan: why is it accelerating? people trying to get addresses before the Internet runs out? <-- that's the suspicion
22:31:21 <elliott> ais523: insert(nickname_kvstore, type="branch", key=the_branch_not_its_hash_the_actual_branch_object, value=the_branch_etc_etc_etc)
22:31:37 <elliott> ais523: so it's {hash(nickname, type="nickname") => {hash(branch, type="branch") => branch}}
22:31:46 <elliott> ais523: now, imagine copying a store into another
22:31:52 <elliott> ais523: obviously, in this case, the hash for the nickname just gets bigger
22:31:53 <ais523> oh, so branches own their own list of other branches
22:31:56 <elliott> ...
22:31:57 <elliott> no!
22:31:58 <ais523> it's... peer to peer branching
22:32:00 <elliott> what?
22:32:05 <elliott> that has nothing to do with what i said!
22:32:06 <ais523> well, nicknames to other branches
22:32:06 <elliott> stop exasperating me
22:32:08 <elliott> no
22:32:16 <elliott> ais523: well, yes, in that they're versioned, but they don't HAVE to be
22:32:18 <ais523> wait, no, I misread
22:32:19 <elliott> I'm just talking about the kv store itself
22:32:36 <elliott> ais523: so, if foo is the nickname for bar in one repo, and the nickname for baz in another, and you copy them into another
22:32:38 <elliott> ais523: you'd get
22:32:41 <ais523> thought you had a hash from branches to hashes of nicknames to branches, that isn't what you said though
22:33:02 <elliott> {hash("foo", type="nickname") => {hash(bar, type="branch") => bar, hash(baz, type="branch") => baz}}
22:33:09 <elliott> ais523: now, here's how you look up a nickname:
22:33:20 <elliott> nickname_kvstore = lookup(kvstore, "foo", type="nickname")
22:33:31 <ais523> then you get a set of possibilities
22:33:34 <elliott> if (number_of_elems(nickname_kvstore) != 1) { NOOO! IT'S BAD! }
22:33:44 <ais523> I thought that's what we were doing anyway?
22:33:52 <elliott> else /* get the single element out */
22:33:54 <elliott> ais523: yes, it is
22:33:59 <ais523> the reason it wasn't in the store was so you could copy stores indiscriminately without global namespace pollution
22:34:19 <elliott> ais523: right, except that it doesn't actually matter, unless you actually use sg on those merged stores directly
22:34:29 <elliott> ais523: in my model, I didn't think it could go in the kvstore
22:34:40 <elliott> ais523: because I made the file be called HB-HN
22:34:46 <elliott> where HB = hash of branch, HN = hash of nickname
22:34:54 <elliott> and I didn't realise that it could be done without two hashes in one name
22:35:03 <elliott> you couldn't do hash(HB "-" HN) because you don't know HB
22:35:06 <elliott> but this works
22:35:11 <elliott> ais523: anyway, consider scapegoathub
22:35:28 <elliott> ais523: it simply only includes nicknames that reference objects it's sending down
22:35:32 <ais523> indeed
22:35:45 <elliott> ais523: (this means we need a sort of, "second level search", i.e. give me the key whose value contains this key, which is easy with a filesystem, at least)
22:35:47 <ais523> I just like the theory that someone could grab its store without all their nicknames becoming useless
22:35:54 <ais523> perhaps what we need is a whitelist for nicknames too
22:36:03 <ais523> in fact, you could store them in a not a filesystem
22:36:06 <ais523> just like directoreis
22:36:06 <elliott> ais523: well, what i was thinking is, you know how directories?
22:36:07 <elliott> yeah
22:36:08 <elliott> :D
22:36:09 <ais523> *directories
22:36:17 <ais523> I think we both came up with that at the same moment
22:36:28 <elliott> ais523: oh, wait, that means we don't even need
22:36:34 <elliott> ais523: we don't even need this method of storing it
22:36:40 <elliott> ais523: we just have a not-a-filesystem with a bunch of names
22:36:45 <elliott> ais523: oh, but a problem
22:36:46 <ais523> yep
22:36:49 <elliott> ais523: say @tip is Orcl
22:37:05 <elliott> ais523: Orcl don't like me, so they don't include foobarly in their nicknames
22:37:06 <ais523> within a given repo, entirely possible
22:37:07 <elliott> ais523: what now?
22:37:16 <ais523> well, it's in your nicknames
22:37:21 <elliott> ais523: yes, but what about other people?
22:37:22 <ais523> they just don't whitelist that, you do
22:37:31 <elliott> ais523: how would they discover the branch?
22:37:39 <elliott> ais523: hmm... actually, wait
22:37:42 <elliott> ais523: @tip makes *no sense*
22:37:50 <ais523> not globally, no
22:37:56 <ais523> it makes sense relative to a particular branch
22:37:59 <elliott> ais523: platonically, everything is part of one yggdrasil repository
22:38:04 <ais523> indeed
22:38:05 <elliott> ais523: but that's the thing, @tip *is* a branch
22:38:09 <elliott> it was meant to be the bootstrap that let you see anything else
22:38:12 <ais523> it's a subbranch
22:38:16 <elliott> ais523: hmmmph
22:38:23 <ais523> I think repositories themselves have to be the bootstrap
22:38:23 <elliott> ais523: great, everything just got re-confused in my head
22:38:36 <elliott> ais523: I *think* I've just gone back to thinking that nicknames shouldn't be part of turtles themselves
22:38:42 <elliott> to avoid a huge bootstrap issue
22:38:50 <ais523> ah, right
22:38:58 <ais523> it works perfectly except bootstrap
22:39:09 <elliott> ais523: right... and we're not in the bootstrapping business
22:39:13 <elliott> and personally, I don't want to be in that business
22:39:16 <elliott> so we need to rethink
22:39:17 <elliott> hrmm
22:39:19 <ais523> because Featehr
22:39:22 <ais523> *because Feather?
22:39:26 <elliott> ais523: partly, yes :)
22:39:34 <elliott> but also because i want to solve version control, not bootstrapping too!
22:39:54 <elliott> ais523: well, at least I like scapegoat now (previously I thought it was line-based for no real reason, and impossible to store efficiently)
22:40:16 <elliott> I think the problems are tractable, if we step a *little* outside platonic perfection
22:40:18 <elliott> to allow bootstrapping
22:40:26 <elliott> once you have a pointer to a useful branch, you're basically sorted
22:40:29 <elliott> and there's no problems
22:40:57 <elliott> ais523: if we hardcode @tip to mean a certain hardcoded specification, then we can probably store nicknames in turtles
22:41:12 <elliott> ais523: it's just that, two branches having two different ideas of what nicknames there are is perverse
22:41:21 <elliott> you could switch to a branch and have no way to switch to another branch without going through @tip
22:41:32 <ais523> oh right, that's enough to not turtle nicknames for me
22:41:54 <elliott> ais523: so I think the original, Åscapegoat/names approach was actually best
22:41:55 <ais523> it'd be like visiting a website and finding it had entirely different DNS and your back button didn't work
22:42:01 <elliott> and there's no real point to put them in the store, really
22:42:02 <elliott> although I might
22:42:05 <elliott> it's an implementation detail at this point
22:43:53 <elliott> ais523: yeah, might as well use my nested-hash-in-store if I can get that working efficiently with the two-level search for scapegoathub
22:44:09 <elliott> if not, easy enough to use the %scapegoat/names system (yes, I'm dropping the unicode thing)
22:44:18 <ais523> also, scapegoathub is a ridiculous website name
22:44:22 <elliott> it really is
22:44:28 -!- MigoMipo has quit (Ping timeout: 255 seconds).
22:45:15 <elliott> the other options are !scapegoat (no, shells barf on that), "scapegoat (nope, shells), #scapegoat (nope, shells... as well as reminding me of IRC and being weird), $scapegoat (shells), %scapegoat, &scapegoat (shells), 'scapegoat (shells), (scapegoat (shells), )scapegoat (shells), *scapegoat (shells), +scapegoat (shells? maybe not), ,scapegoat (weird), -scapegoat (nah)
22:45:21 <elliott> (for the directory)
22:45:26 <elliott> I think out of those, %scapegoat or +scapegoat is the best choice
22:45:43 <elliott> +foo seems to be uninterpreted in bash, so that's a possibility
22:45:55 <ais523> it is, some programs use it for long options
22:46:02 <Gregor> Is there a problem with naming it just ... scapegoat?
22:46:04 <elliott> ais523: true, but programs operating on files?
22:46:05 <ais523> including programs generated by C-INTERCAL, I think just to be perverse
22:46:08 <elliott> Gregor: erm, this is the directory like .hg
22:46:11 <Gregor> OH
22:46:21 <Gregor> Why not .scapegoat then? :P
22:46:29 <elliott> Gregor: I don't want it to be called .scapegoat because it's neither configuration nor a backup file
22:46:31 <elliott> and there's no real reason to hide it
22:46:38 <elliott> it's not very *interesting*, but it's not irrelevant
22:46:42 <ais523> don't backup files end with ~?
22:46:45 <elliott> and eliding it from filename listings is just confusing
22:46:48 <elliott> ais523: yes, why?
22:46:57 <elliott> ais523: don't call it a backup directory, I'll have to slap you
22:47:03 <ais523> then why would you start them with .?
22:47:08 <elliott> oh
22:47:10 <ais523> or is this a Vorpal-level misunderstanding on my part?
22:47:14 <elliott> ais523: well, vim calls its swap files .something.swp I think
22:47:14 <elliott> I forget
22:47:20 <elliott> emacs has .#foo# too, at least for me, sometimes
22:47:44 <ais523> you're thinking of the broken symlinks starting .# it uses to prevent accidentally opening the same file twice
22:47:55 <ais523> (why it uses broken symlinks for that purpose, I'm not sure)
22:47:58 <oerjan> <ais523> *because Feather? <-- wait is this scapegoat idea actually _based_ on feather?
22:48:00 <ais523> no
22:48:06 <ais523> that's too insane for words
22:48:07 <elliott> we could also go for :scapegoat (naw), ;scapegoat (shells), <scapegoat (shells), =scapegoat, >scapegoat (shells), ?scapegoat (shells, I think)
22:48:11 <elliott> but those come after numbers
22:48:16 <elliott> making them not really order any particular way at all
22:48:18 <ais523> we're making design decisions to stop it working like Feather as much as possible
22:48:37 <ais523> hmm, what about calling it -rf?
22:48:39 <elliott> possibly some things put ^scapegoat before other things too
22:48:40 <elliott> ais523: :D
22:49:05 <elliott> +scapegoat seems like the best contender to me, it's like %scapegoat but less ugly... and really, I don't know of any tool that accepts +-options and would be useful to use on a file, at least, not very often
22:49:12 <elliott> and the + makes me think "additional"
22:49:23 <elliott> as in, you don't *need* this, if you want these files, but it has additional sets of files like this that you might liek
22:49:24 <elliott> *like
22:49:37 <ais523> yep, I like the look of the + too
22:49:42 <ais523> except that it renders really badly with this font
22:49:46 <elliott> I blame your font
22:49:51 <ais523> I didn't even know you /could/ render a + asymmetrically...
22:49:54 <elliott> wow
22:50:03 <oerjan> <elliott> [...] (yes, I'm dropping the unicode thing) <-- i was about to ask...
22:50:11 <elliott> oerjan: :)
22:50:14 <elliott> ais523: and now I'm wondering if arch/tla is perhaps just terribly misunderstood, and they picked all their filenames for perfectly good reasons :D
22:50:24 <ais523> (it's a pixel shorter on the left than right, and a pixel shorter below than above)
22:50:25 <elliott> ais523: and if all that confusing terminology is just GENERALITY!
22:50:29 <elliott> ais523: probably not.
22:50:40 <ais523> the difficulty of creating a repo is quite large
22:50:49 <elliott> yes, I say we go for "sg init"
22:50:50 <ais523> I think it has some sort of repo repo you store your repos in
22:50:51 <elliott> :P
22:51:06 <elliott> ideally, you wouldn't have to think about all this advanced technology every day...
22:51:34 <elliott> ais523: hmm, every repo needs to come with one commit there, because it's the branch everything is based on
22:51:42 <elliott> I suggest it be authorless, and absolutely contentless
22:51:55 <elliott> and then every store will include that object and maybe a few others if it needs extra ones to exist :)
22:52:11 <ais523> hmm, shouldn't it be an empty directory?
22:52:14 -!- Phantom_Hoover has joined.
22:52:17 <elliott> brb
22:52:27 <ais523> also, I need to go home, now may be a good time
22:52:29 <ais523> bye everyone
22:52:36 -!- ais523 has quit (Quit: Page closed).
22:53:22 <Phantom_Hoover> Does he hate me that much?
22:56:21 <oerjan> you weren't supposed to suspect that
22:56:28 * oerjan is back to the future
22:57:30 <Gregor> elliott: The only acceptable directory name is +scape🐐
22:57:36 <Gregor> And if you can't read that ... neither can I, but still
22:57:39 * Phantom_Hoover goes forward to the past.
22:57:45 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:09:16 -!- oklofok has quit (Ping timeout: 240 seconds).
23:10:57 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:15:25 -!- oklofok has joined.
23:18:37 <elliott> okokoko
23:19:22 <oerjan> oklopower!
23:27:03 -!- impomatic has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.16/20101130074636]).
23:33:12 <zzo38> Do you have any idea or comment or collaboration or anything about TeXnicard? Should I create a IRC channel on my server for this purpose? (Remember to FLUSH the channel afterwards if you want to ensure your question/comment is not lost due to power failures!)
23:40:25 <elliott> <brodie> hmm, hg log -r 'limit(sort(all(), -rev), 4) and not merge()' does the same thing as hg log -l 4 -M, which isn't what i want
23:40:29 <elliott> Dear god it has Python in it.
23:40:48 <elliott> zzo38: erm I don't believe you can FLUSH an IRC channel
23:41:30 <zzo38> elliott: On most IRC servers you cannot. On CthulhuIRCd, you can FLUSH an IRC channel.
23:41:39 <oerjan> this is _zzo38's_ IRC channel we are talking about, it's ... right.
23:41:49 <elliott> ah.
23:42:01 <elliott> in other words, it's not IRC :)
23:43:17 <zzo38> elliott: It is IRC, it is just non-standard. Commands like NS and CS supported on Freenode are not standard IRC commands either.
23:44:41 -!- FireFly has quit (Quit: swatted to death).
23:44:58 <zzo38> (And I have no need to support syntactically incorrect commands in my server.)
23:46:54 <Gregor> elliott: +scape🐐
23:47:27 <elliott> Gregor: Is 🐐 a goat? :p
23:48:43 <zzo38> oerjan: Why do you want to support syntactically incorrect commands in your server?
23:50:14 <elliott> oerjan: ...:D
23:50:18 -!- sftp has quit (Remote host closed the connection).
23:50:23 <elliott> oerjan: what did you do
23:51:19 <elliott> ugh, I hate libraries whose manuals are PDFs
23:51:30 <elliott> (or postscripts or dvis, before zzo38 mentions it :P)
23:52:59 <oerjan> zzo38: um i'm pretty sure i never said i wanted that
23:52:59 <fizzie> 🐐 - "U+1F410 GOAT (eighth of the signs of the Asian zodiac)"
23:53:05 <fizzie> Not that I have in any of my fonts either.
23:53:33 <elliott> oerjan: you didn't ctcp him or anything?
23:53:40 <elliott> oerjan: WHY DO YOU WANT TO KILL BABIES
23:53:41 <fizzie> Sorry, "eighth of the signs of the Asian zodiac, used in Vietnam"; was reading the RAM instead.
23:53:51 <oerjan> elliott: BECAUSE THEY'RE SO TASTY
23:53:54 <elliott> fizzie: rams and goats, what's the difference
23:54:07 <elliott> zzo38: why do you think oerjan wants to support syntactically incorrect commands in his server?
23:54:10 <fizzie> elliott: The difference is that they use the GOAT in Vietnam.
23:54:23 <zzo38> elliott: Because some people do.
23:54:31 <oerjan> ALSO THEY SCREAM TOO MUCH
23:54:35 <elliott> zzo38: what?
23:54:56 <zzo38> elliott: Well, it seems common.
23:55:00 <elliott> zzo38: (for some X in People, WantsSyntacticallyIncorrectCommands(X)) => WantsSyntacticallyIncorrectCommands(oerjan)?
23:55:04 <elliott> i... think not
23:55:09 <fizzie> U+1F47D EXTRATERRESTIAL ALIEN, right there between BABY ANGEL and ALIEN MONSTER.
23:55:17 <elliott> zzo38: mind, I do want syntactically-incorrect commands in my IRC servers.
23:55:24 <fizzie> (The "miscellaneous symbols and pictographs" block sure is the best.)
23:55:32 <zzo38> elliott: Why?
23:55:42 <elliott> zzo38: because they're convenient.
23:56:18 <zzo38> elliott: I think they still should be made syntactically correct even if it is going to be convenient!
23:56:31 <elliott> zzo38: not possible, with existing clients
23:57:02 <oerjan> fizzie: *EXTRATERRESTRIAL
23:57:07 <zzo38> elliott: It is possible with my client, if your client doesn't do that, it is partially broken.
23:57:19 <elliott> zzo38: yep, but I don't like your client, and I like the client I use
23:57:35 <zzo38> elliott: Can't you correct the client you use then?
23:58:01 <elliott> zzo38: no, I use my distribution packages for convenience.
23:58:07 <fizzie> oerjan: EXTRATASTY.
23:58:10 <oerjan> ooh, cpressey linkified feather on the wiki. i think this means we are all doomed.
23:58:13 <elliott> zzo38: correcting them brings me no benefit, is a lot of effort, and I'd have to update it for each new version of my client.
23:58:22 <elliott> oerjan: that's not allowed!
23:58:31 <elliott> ais has said he won't create a page until it's ready
23:58:38 <elliott> and putting intentional redlinks there that won't be filled for ages is just silly
2010-12-14
00:00:34 <Deewiant> Why is it silly
00:00:59 <oerjan> elliott: well it is clearly a link to the FUTURE
00:01:10 <elliott> Deewiant: because it's an empty promise?
00:01:16 <elliott> it's not going to be a useful link for ages, so it's rather pointless
00:01:53 <zzo38> elliott: Your IRC client must have some way to enter another command to IRC server though, it depends on the client. The FLUSH command I implemented can take only one parameter anyways.
00:02:45 <Deewiant> The cost of linkifying is low compared to the potential uses; it might be unlinkified for a long time after the page goes up, which is a greater loss
00:04:11 * oerjan ponders making a joke page for Feather
00:07:27 <elliott> '''Feather''' is like... ''whoa,'' man...
00:07:35 <elliott> Deewiant: RED IS UGLY
00:07:36 * oerjan is writing now
00:07:47 <Deewiant> elliott: Use custom CSS.
00:07:53 <elliott> Deewiant: ;_;
00:07:58 <elliott> oerjan: psht, if you weren't an admin i'd ask for it to be deleted :D
00:09:09 <oerjan> i _am not_ an admin
00:09:49 <elliott> oerjan: oh, indeed :D
00:11:10 <elliott> hm how many characters do you need to store an sha512 digest
00:11:24 <elliott> 64, it seems
00:16:24 <zzo38> Is there anything wrong with the C-LONG beer program?
00:18:14 <zzo38> And do you have anything to say about TeXnicard anyways?
00:20:41 <oerjan> elliott: that was some fast editing
00:21:15 <elliott> oerjan: i just clicked the red feather link and saw you'd already created the page :)
00:21:17 <elliott> pure coincidence
00:21:24 <elliott> one might even say ... SYNCHRONICITY
00:21:30 * elliott gets switten
00:21:50 <elliott> (those who are swatted are switten)
00:22:12 <oerjan> elliott: heh. but you managed to do it between me saving the page and refreshing Recent Changes
00:22:19 <elliott> heh
00:22:29 <oerjan> which must have been less than half a minute
00:38:53 -!- Sasha2 has quit (Read error: Connection reset by peer).
00:38:59 -!- Sasha has joined.
00:45:00 <quintopia> this reminds me of mel brooks's luggage in space balls: http://www.buzzfeed.com/gavon/top-25-gawker-passwords
00:47:33 -!- Wamanuz has quit (Ping timeout: 250 seconds).
00:47:34 <Ilari> Heh... Wonder why ping times on this LAN link are so asymmetric and growing: In the start the ping times were about 0.5ms and 0.6ms. Now those are about 11.0ms and 1.7ms (resp.)
00:49:16 <elliott> quintopia: "Top 25 Gawker Passwords"? Seriously?
00:49:29 <elliott> If writing "Top" and then a number was banned on the internet, I would be a happy man.
00:49:38 <oerjan> Ilari: gravitional time dilation. check if one of the servers has become a black hole
00:49:49 <elliott> oh wait
00:49:51 <elliott> it's literally, most popular
00:49:54 <elliott> not "best" :D
00:49:58 <quintopia> heh
00:50:04 <Ilari> Aren't pings round trip times?
00:50:34 <quintopia> divided by 2, usually
00:51:07 <Ilari> Anyway, there's factor of ~6 difference in round-trip times...
00:51:40 <Ilari> And variability between pings is very small...
00:52:11 <elliott> quintopia: erm are you sure ping times are divided
00:52:43 <elliott> quintopia: they're not, since they're round-trip times
00:52:53 <elliott> not sure why you said they were divided by 2.
00:53:26 <Ilari> It isn't time measurement drift: Starting another ping shows the same kind of RTTs.
00:53:31 <elliott> quintopia: ?
00:54:36 <Ilari> Actually, both times grew at start, but now that lesser time appears to have reached saturation whereas the bigger one continues to increase...
00:56:44 <Ilari> Also, pings to IPv6 address of the same host are fast (~0.6ms).
00:59:04 <elliott> Gregor: http://sprunge.us/JYDZ Please tell me how silly I am.
01:00:16 <Ilari> BTW: IPSec slows down RTT by about 0.3ms. :-)
01:04:36 <quintopia> elliott: i misremembered, i guess
01:04:43 <elliott> ok
01:06:47 <Ilari> => IPSEC doubles the latency for me... :-)
01:06:47 -!- Sasha has quit (Read error: Connection reset by peer).
01:07:11 -!- Sasha has joined.
01:16:01 <zzo38> elliott: How close are you to the batsman?
01:16:08 <elliott> zzo38: I am the goddamn batsman.
01:16:33 <zzo38> elliott: The closer you are to the batsman, the more silly you are.
01:17:05 <elliott> zzo38: Such a Joker.
01:17:15 <Gregor> Must ... kill ... everyone ...
01:18:29 <elliott> Gregor: wat
01:18:37 <zzo38> elliott: Two or four jokers, please?
01:19:31 <elliott> Gregor: wat
01:20:25 -!- poiuy_qwert has joined.
01:20:55 -!- Mathnerd314 has joined.
01:23:36 <Ilari> What's the minimum worst case bound for number of UTF-8 characters required to store SHA-512 hash? :-)
01:24:57 <elliott> Ilari: 64, surely
01:25:02 <elliott> Ilari: if they're all in ASCII range
01:25:25 <elliott> Ilari: well, presumably you mean the actual raw hash in base 256
01:25:26 <elliott> but maybe not
01:26:55 <elliott> Vorpal: these look nice: http://www.retributiongames.com/quandary/
01:27:59 <elliott> Vorpal: heh i like this: http://www.minecraftforum.net/viewtopic.php?f=25&t=46707
01:28:12 <zzo38> Please read this and tell me how crazy I did this: http://zzo38computer.cjb.net/textfile/miscellaneous/computer_cricket
01:30:19 <Ilari> Ah, not UTF-8 characters, but UTF-8 bytes. It seems the number is 72, 73 or 74.
01:30:52 <zzo38> The FPGA is no good unless there is sufficient public information available to create and upload the files to the FPGA without using any software you didn't write.
01:31:04 * oerjan thinks "minimum worst case" looks a _teeny_ bit oxymoronic
01:37:16 <elliott> zzo38: methinks many people would disagree ...
01:38:19 <zzo38> elliott: Why?
01:38:29 <elliott> because it's silly to say that?
01:38:43 <zzo38> elliott: Why?
01:38:57 <elliott> zzo38: because FPGAs are useful even without meeting that condition
01:39:49 <zzo38> But it is better if it does meet the condition I wrote.
01:40:29 <pikhq> I love not studying for finals.
01:40:57 <elliott> pikhq: "Laziness + weak hash tables + dynamic scope + side effects = heisenbug. Made a race condition look like an off-by-one error."
01:41:03 <elliott> pikhq: Anyone who can combine these things is a god among men.
01:41:13 <elliott> (And then FIGURE OUT what a bug involving them is.)
01:41:22 <zzo38> Did you read my other message? Do you think the umpire is really a vampire?
01:41:23 <pikhq> elliott: Oh holy mother of god.
01:41:33 <elliott> pikhq: Indeed.
01:52:36 <elliott> pikhq: Please recommend me an alternative to /r/programming that isn't Slashdot.
01:54:58 -!- quintopia has changed nick to RadioBotStreams.
01:55:04 <pikhq> #esoteric
01:55:27 -!- RadioBotStreams has changed nick to quintopia.
01:55:56 <quintopia> yeah pretty much #esoteric
01:56:41 <elliott> yeah, but I generate most of the links in #esoteric... from /r/programming :)
01:56:46 <elliott> I want something where I don't have to do the filtering work, dammit!
01:58:04 <quintopia> you are looking for programming-related news links?
01:58:36 <elliott> quintopia: pretty much... although more a CS bent
01:58:41 <elliott> but yes, programming links.
02:00:06 <Ilari> That minimum worst case is actually well defined. Consider all functions that map all 2^512 SHA-512 hashes to UTF-8 strings. For each function f, there is maximum number of bytes in resulting UTF-8 strings (L(f)). Now what is the minimum of L(f) over all possible choices of f?
02:01:51 <quintopia> elliott: start going to conferences :P
02:02:31 <elliott> quintopia: that costs rather more money than the £0 I currently spend on programming links, involves a lot more travelling that probably doesn't fit into my life, and involves a lot more boredom and time passing, too
02:02:37 <Ilari> It is at most 74 because one can split 512 bits into 74 blocks of 7 bits each, and one can encode each block using a single ASCII character (which is subset of UTF-8).
02:02:54 <quintopia> elliott: but you'll always be on the bleeding edge of CS news
02:03:20 <elliott> quintopia: i can get the same from reading random arxiv papers, I want a filter, dammit
02:03:39 <quintopia> (more seriously, there aren't many places out there where you don't have to separate the signal from the noise yourself...even conferences have some crap)
02:04:08 <Ilari> The lower bound of 72 comes from the fact that entropy of UTF-8 is ~7.1756 bits per byte, giving lower bound of ~71.353 bytes (which rounds up to 72 bytes).
02:04:30 <elliott> quintopia: yes, but /r/programming is significantly worse than it used to be.
02:05:52 <quintopia> elliott: figure out who is making it worse and get them kidnapped by ethiopian pirates?
02:06:25 <elliott> your solutions, always so practical.
02:07:25 <quintopia> i wonder...
02:09:17 <elliott> what
02:10:11 <quintopia> elliott: news.ycombinator.com?
02:10:48 <Ilari> Okay, I computed the exact low bound: 73.
02:10:48 <elliott> quintopia: i know of it.
02:10:58 <quintopia> how is it?
02:11:05 <elliott> Quadrescence: sure, it is generally better than reddit -- but on the other hand, it's coated with the startup mindset
02:11:09 <elliott> ugh *quintopia:
02:11:31 <elliott> quintopia: meaning, lots of stupid business articles I don't care about, lots of rubbish startup-related things I don't care about, and more links than I'd like to WEB 2.0 crap
02:11:36 <elliott> (WEB 2.0 is shouted there.)
02:12:30 <elliott> "Facebook intern visualizes friendships, draws world map" "HN: We're starting a "Move to Silicon Valley" wiki. We could use some help." "The Anatomy of a Perfect Landing Page" "Commute to work like a boss, fly there" <-- first things on the current front page that i really don't care to see
02:12:37 <elliott> quintopia: i mean, the programming links are better than reddit's. and the comments too.
02:12:54 <elliott> quintopia: but there's more completely-unrelated-to-programming crap than /r/programming, and it's more irritating than reddit's non-programming crap
02:13:02 <quintopia> elliott: write a simple software filter on top of their rss feed :P
02:13:21 <elliott> quintopia: unfortunately i have not yet written a program to classify the topic of statements from their text by interpreting them
02:14:15 <quintopia> i know someone who has. he implemented it from another paper, and is sending me a writeup on wed.
02:14:51 <quintopia> classifies with 97% accuracy in a 3-fold cross-validation
02:15:56 <elliott> quintopia: "Commute to work like a boss, fly there" -- how on earth would you classify this is "non-programming"
02:16:10 <elliott> it's near the level of AI to identify that as non-programming without also filtering out a lot of programming links
02:16:58 <quintopia> well, you'd need to look at the actual article
02:17:08 <quintopia> it takes a certain number of features
02:17:30 <elliott> quintopia: i doubt i could get past a paywall.
02:17:30 <quintopia> ~100 words is usually enough
02:17:43 <elliott> quintopia: you realise that classification algorithms are not a new thing?
02:17:50 <quintopia> elliott: could you get past a paywall anyway?
02:17:55 <elliott> they won't categorise Hacker News for me.
02:18:04 <elliott> quintopia: i'm saying that it's pointless mentioning it without linking the paper
02:18:17 <quintopia> no, but if you take a significant subset of HNews and classify it manually, then they can
02:18:36 <Ilari> For SHA-256, the similar number is 37. And for Skein-1024, 144.
02:19:03 <quintopia> oh, you misunderstood me
02:19:07 <elliott> Ilari: what about cubehash :)
02:19:11 <Gregor> elliott: So have you renamed it to scape🐐 yet?
02:19:15 <elliott> quintopia: I did?
02:19:16 <elliott> Gregor: nope!
02:19:25 <Gregor> elliott: DOOD WHY NOT
02:19:32 <quintopia> i meant, your learning algorithm would need to look at the actual article linked from HNews in order to get enough data to classify
02:19:35 <elliott> Gregor: VARIOUS REASONS
02:19:37 <elliott> quintopia: oh.
02:19:44 <elliott> quintopia: that would eat my bandwidth :)
02:20:04 <quintopia> ...how often do new articles get posted?
02:20:14 <quintopia> looks like at most every 10 min
02:20:30 <elliott> quintopia: way more often than that, they just don't all get promoted to the front page
02:20:38 <quintopia> oh
02:20:39 <elliott> see /newest
02:20:47 <elliott> quintopia: i don't want it using my bandwidth when i'm not viewing it, anyway!
02:20:50 <Gregor> elliott: TOO VARIOUS IF YOU ASK ME
02:20:53 <elliott> so it'd have to do it all at once --> slow
02:20:58 <Ilari> Oops, 36 (256 bits), 72 (512 bits) and 143 (1024 bits)... :-/
02:21:00 <elliott> Gregor: maybe if you write some code for it i'll CONSIDER it
02:21:24 <quintopia> elliott: best to have it hosted on a remote server then :P
02:21:33 <elliott> quintopia: or just keep reading reddi
02:21:34 <elliott> t
02:22:19 <Gregor> elliott: How about if I just register goatpettingzoo.com and don't put goat porn there?
02:22:30 <quintopia> elliott: does that mean you're gonna stop whining about /r/programming's slow decline?
02:22:34 <elliott> Gregor: X-D
02:22:49 <elliott> quintopia: can you link to clog log dates when i have whined about it?
02:22:56 <elliott> OH RIGHT there's actually only one and it's today.
02:23:07 <quintopia> easy enough to link then :P
02:23:49 <quintopia> but complaining about something when you're not willing to work to improve is useless even if it's only once
02:24:02 <elliott> quintopia: what am i expected to do, start my own fucking site?
02:24:11 <elliott> i said that /r/programming is going to shit and *asked for alternatives*
02:24:11 <quintopia> :D
02:24:12 <quintopia> please?
02:24:25 <elliott> no, i already have a design for a reddit-based site and it relies fundamentally on nobody knowing about it
02:24:28 <quintopia> yes, but there are no alternatives :P
02:24:29 <elliott> *reddit-like
02:24:35 <elliott> quintopia: then just say that?
02:24:42 <elliott> quintopia: you whine about me whining way more than i actually whine
02:25:05 <quintopia> unlikely
02:25:22 <elliott> quintopia: well, it's the same order of magnitude
02:25:47 <zzo38> Do you know what yakitori penalties are?
02:26:03 <Ilari> Restricting to BMP doesn't change the figures (36/72/143).
02:26:40 <elliott> Ilari: why on earth are you calculating this :)
02:26:49 <Ilari> Just for fun... :-)
02:27:23 <Ilari> And it is considerably easier than computing the exact expression for the entropy of UTF-8 bytes. :-)
02:28:16 <zzo38> Ilari: What is the entropy of UTF-8?
02:28:19 <Ilari> Since you need to solve one root of 4th degree polynomial (that doesn't have rational root) for that...
02:29:02 <elliott> Ilari: BAH! Throwing things at Wolfram Alpha solves all problems.
02:29:08 <quintopia> ...just expressing the polynomial and saying which root it is would be an exact expression, nay?
02:30:33 <Ilari> The polynomial is x⁴-128x³-1920x²-61438x-1048544=0 and the root in question is the root in the interval [128,256].
02:32:25 <Ilari> Take base 2 logarithm of that and you get the entropy in bits per byte.
02:32:41 <oerjan> 144.56765801397
02:33:03 <elliott> oerjan: fuck you, i was just doing that :)
02:33:05 <zzo38> OK.
02:33:07 <elliott> "solve x⁴-128x³-1920x²-61438x-1048544=0, 128 <= x <= 256"
02:33:08 <elliott> wolfram alpha
02:33:10 <elliott> :P
02:33:29 <oerjan> elliott: i happened to have a src0 function in one of my haskell files
02:34:15 <elliott> Ilari: 7.1756 bits of entropy per byte
02:34:18 <elliott> oerjan: ha i did the last step before you
02:34:37 <oerjan> elliott: only because i didn't even try, PHHH
02:34:39 <zzo38> Can anything have negative or complex number entropy?
02:34:45 <oerjan> or is that PPPH
02:35:00 <elliott> oerjan: what sound are you trying to express :P
02:35:02 <oerjan> zzo38: not in this sense
02:35:02 <elliott> zzo38: no. well negative maybe.
02:35:10 <elliott> if it's a black hole, say :D
02:35:11 <zzo38> oerjan: No, it is PPHHHPHPHHHPPHPHPHPHHHPPHPHPHPPHPHPHPHPPHPHPHPHPH
02:35:37 <oerjan> is it called a raspberry sound?
02:36:11 <elliott> oerjan: "phhhhhhhbt"
02:36:13 <elliott> one would think
02:36:13 <zzo38> What is the sound of one raspberry clapping?
02:36:19 <oerjan> http://en.wikipedia.org/wiki/Blowing_a_raspberry
02:36:25 <oerjan> zzo38: DEEP
02:36:36 <elliott> oerjan: phhhhhhhbt
02:36:38 <elliott> i'd go for
02:37:13 <quintopia> wow. someone sold a web app for $350? lol
02:37:21 <elliott> quintopia: BIG BUX
02:37:32 <elliott> quintopia: i was offered IIRC $20 for the source to my digg#1 site :P
02:37:51 <oerjan> zzo38: although physically entropy might very well be negative given that afaik the zero point is an arbitrary choice
02:37:59 <elliott> (this being before digg went to shit... well ok it had gone to shit but not as much as it have now)
02:38:11 <oerjan> but informational entropy is not that way
02:38:46 <zzo38> oerjan: But what I mean is, can negative informational entropy have some meaning?
02:38:47 <oerjan> the macroscopic thermodynamic version of entropy only speaks of changes in it, not an absolute scale, iirc
02:39:12 <oerjan> i don't know
02:39:18 <zzo38> Make a esolang with negative (or complex number) informational entropy.
02:39:44 -!- daniel has joined.
02:40:15 <zzo38> Please tell me what should belong in the "Multiball mode" section and "Alien abduction" section, and what things are wrong with the "Physics" section.
02:40:19 <oerjan> i know that entropy for FSA's is always non-negative, since it's a solution of a non-negative matrix maximal eigenvalue
02:40:55 <elliott> oh god http://c2.com/cgi/wiki?ConversationalChaff whoever wrote this is a horrible person and knows way too much about people :)
02:41:34 <zzo38> oerjan: Would a negative entropy esolang have to be uncomputable to work? Or not?
02:41:51 -!- poiuy_qwert has quit (Ping timeout: 260 seconds).
02:42:09 <elliott> oerjan: and why do you want to include syntactically invalid commands in your IRC server?
02:42:11 <elliott> oerjan: the babies demand to know
02:42:25 -!- poiuy_qwert has joined.
02:42:45 <Gregor> <oerjan> http://en.wikipedia.org/wiki/Blowing_a_raspberry
02:42:46 <oerjan> zzo38: i don't think uncomputability helps, really
02:42:50 <Gregor> I hope the raspberry at least buys you dinner.
02:43:05 * oerjan swats Gregor -----###
02:43:07 <zzo38> oerjan: OK.
02:43:40 <oerjan> you'd rather need some esoteric concept of information to calculate the entropy of, i think
02:44:22 <oerjan> there _is_ of course such a thing as quantum information theory which i know almost nothing about, i don't know if it has any nonnegative entropies
02:44:56 <elliott> oerjan is quantum
02:45:05 <oerjan> elliott: the babies cannot demand anything, i ate them all
02:45:12 <elliott> oerjan: WHYYYYYYYYYYY
02:45:27 <oerjan> i already _told_ you they were tasty
02:45:49 <zzo38> Does the people who wrote the RFC of IRC know why?
02:46:05 <elliott> zzo38: yes.
02:46:07 <elliott> undoubtedly.
02:46:31 <oerjan> zzo38: i would be surprised if they even were aware of my existence
02:46:52 <elliott> oerjan: THEY SEE EVERYTHING
02:49:27 <zzo38> elliott: Do they see my IRC server?
02:49:46 <elliott> Yes.
02:50:20 -!- daniel has quit (Quit: WeeChat 0.3.2).
02:50:26 <zzo38> Do they see invisible people?
02:51:04 <oerjan> http://en.wikipedia.org/wiki/Linguolabial_consonant
02:51:33 <oerjan> (the r proves IPA has a symbol for _everything_)
02:53:04 <zzo38> Now make a language that has all the sounds of IPA, and a few new ones that are impossible for any people to ever speak.
02:53:38 <elliott> oerjan: i would like to meet someone who can pronounce all of IPA
02:54:14 <oerjan> you don't say
02:54:14 <zzo38> elliott: Do you even know of any such people?
02:55:00 <elliott> zzo38: no, i'm not sure it's possible :)
02:55:21 <elliott> there's probably two sounds in there that are impossible to pronounce with the same mouth, like it can only learn to use one and then it can't do the other
02:55:22 <elliott> or something
02:57:29 <zzo38> Make the game with a monster with two mouth
03:11:11 -!- wareya has quit (Read error: Connection reset by peer).
03:13:37 -!- zzo38 has quit (Quit: Terminal fell off).
03:14:28 -!- elliott has quit (Quit: Leaving).
03:16:00 -!- wareya has joined.
03:28:01 <pikhq> In other news, AIDS has been cured.
03:31:11 <poiuy_qwert> cool
03:34:43 <oklofok> was it money?
03:39:13 <oklofok> http://www.cureaidsinfo.com/ <<< oh so actually it was done in the 80's already
03:39:49 <oklofok> and apparently, once you've cured your aids at home, you can take up a new hobby & learn a new language
03:40:34 <pikhq> oklofok: Bone marrow from someone immune to it!
03:40:35 -!- Iwnda01 has joined.
03:40:56 <pikhq> Aaand Pidgin is crashing.
03:41:04 <pikhq> In its JSON parser‽
03:41:07 <pikhq> Why does it have one?
03:42:20 <oerjan> pikhq: that's not news
03:43:08 <pikhq> oerjan: No, but seriously. AIDS has been cured.
03:44:09 <oerjan> ...more than one person?
03:44:44 <Iwnda01> not to butt in but, there is no cure for aids.
03:45:25 <oerjan> argh!
03:45:28 <pikhq> oerjan: No, but only due to the expense.
03:46:03 <pikhq> It's fucking hard to hunt down a bone marrow donor that is genetically immune to AIDS, and this happened by chance.
03:46:12 <pikhq> Iwnda01: Yes there is.
03:46:12 <Iwnda01> not true. it's because HIV morphs so often it's apparently impossible to kill.
03:46:30 <oerjan> Iwnda01: do you even know the case we are talking about?
03:46:42 <Iwnda01> no i suppose i dont.
03:46:48 <Iwnda01> this would all be news to me.
03:46:49 <pikhq> Iwnda01: Bone marrow transplant with someone actually *immune* to the virus.
03:47:01 <pikhq> Iwnda01: Suddenly, all the immune cells in that person's body are immune to the virus.
03:47:06 <pikhq> And so HIV goes away.
03:47:10 <pikhq> Poof, cure for AIDS.
03:47:18 <Iwnda01> which person
03:47:53 <coppro> There are people genetically immune to AIDS
03:47:53 <pikhq> He was named only as "the Berlin patient" in the /New England Journal of Medicine/ and /Blood/.
03:47:58 <Iwnda01> and how would we find out if they are immune without infecting them and/or possibly killing them in the long run
03:48:03 <coppro> It's genetic
03:48:07 <coppro> you can devise a simple test
03:48:24 <oerjan> pikhq: i am pretty sure i saw a reddit post about him giving an interview under the full name
03:48:28 <Iwnda01> oh i see, remove the fluids and test out of the body
03:48:55 <Iwnda01> well he's got a trillion dollar body if he lives through all of the operations.
03:49:09 <coppro> it's not one person
03:49:17 <pikhq> Iwnda01: About 1% of Caucasians are immune to it, actually.
03:49:25 <Iwnda01> amazing.
03:50:05 <Iwnda01> that's great news
03:50:14 <Iwnda01> are they making any headway with it?
03:51:03 <Iwnda01> has anyone been cured?
03:51:13 <pikhq> Research on easier/cheaper ways of doing it are in progress.
03:51:39 <pikhq> And yes, a single person, who by *chance* needed a bone marrow transplant (leukemia), and his donor was immune to AIDS.
03:51:42 <oklofok> so we can finally have start having unprotected buttsex with strangers
03:51:44 <oerjan> http://www.aidsmap.com/page/1577949/?r=1 is the link currently on reddit
03:51:44 <pikhq> As I said earlier.
03:51:54 <oklofok> as a species
03:52:27 <Iwnda01> oklofok: that's looking at it with a hawks eye
03:52:34 <oerjan> oklofok: well you'd need to find an immune bone marrow donor first
03:52:59 <oerjan> Iwnda01: i think you may not be acquainted with oklofok's particular brand of humor
03:53:04 <oklofok> not really, you have like 50 years to do that once you get the virus
03:53:19 <Iwnda01> no i totally get him. i was just seeing which he was
03:54:04 <oerjan> oklofok: yeah but what if there _aren't_ any? compatible donors are probably rare, immune people are rare...
03:54:06 <Iwnda01> butt sex for everyone
03:54:11 <Iwnda01> who would want it...
03:54:38 <oklofok> actually this one time, doctors told me i absolutely must have chlamydia, but then turned out i didn't; my conclusion is i'm immune to all std's
03:54:57 <Iwnda01> oklofok: you're in tall cotton
03:55:13 <oklofok> Iwnda01: what does that mean?
03:55:18 <Iwnda01> I, oklofok, am also the king pin.
03:55:46 <oklofok> i don't get you at all
03:56:23 <Iwnda01> I guess I don't get you either
03:56:29 <Iwnda01> nice to meet you
03:56:30 <pikhq> oerjan: Uh, bone marrow donors are always compatible.
03:56:31 <oklofok> you can't not get me
03:56:37 <pikhq> oerjan: They start by removing your immune system.
03:56:38 <oklofok> pikhq: not in house
03:56:42 <oklofok> oh
03:56:58 <pikhq> The new bone marrow replaces it.
03:57:06 <oerjan> pikhq: oh they are? i guess that makes sense.
03:57:30 <oerjan> pikhq: in that case it should be possible to _grow_ immune bone marrow, shouldn't it
03:57:39 <pikhq> Possible.
03:57:41 <oklofok> i thought they stick a needle in the donor's back, take some shit outta there, and inject it in the other dude
03:57:45 <Iwnda01> stem cells?
03:57:45 <oklofok> poof done
03:57:51 <oklofok> Iwnda01: king pin?
03:57:52 <oerjan> Iwnda01: yeah
03:57:59 <oklofok> who else is the king pin?
03:58:29 <pikhq> oklofok: After irradiating & chemotherapying the receiver of the marrow to kill the bone marrow and the white blood cells.
03:58:33 <Iwnda01> will farrel
03:58:55 <oklofok> pikhq: have you even *watched* house?
03:59:10 <oklofok> because that sounds just crazy!
03:59:19 <pikhq> oklofok: I don't watch House, no.
03:59:33 <pikhq> oklofok: I prefer knowing how medicine actually works.
04:00:04 <Iwnda01> plus house has a terrible attitude
04:00:27 <oerjan> `addquote <pikhq> oklofok: I don't watch House, no. <pikhq> oklofok: I prefer knowing how medicine actually works.
04:00:45 <HackEgo> 249) <pikhq> oklofok: I don't watch House, no. <pikhq> oklofok: I prefer knowing how medicine actually works.
04:01:00 <oklofok> pikhq: what, you trust a dusty old ugly book more than SMART MEDICAL TYPE PEOPLE on tv?
04:01:24 <Iwnda01> judge not the book by its dusty ugly cover
04:01:41 <oerjan> oklofok: hey you cannot trust anyone who's been spending time with blackadder
04:01:44 <pikhq> oklofok: ^ This explains the entire American political, intellectual, and cultural climate.
04:02:09 <Iwnda01> but judge the book once you read it thoroughly.
04:02:16 <oklofok> i learn all my math on numb3rs
04:02:49 <Iwnda01> whats that oklofok
04:02:55 * pikhq se'hųku suru tiȳû
04:03:04 <oklofok> tijuu?
04:03:08 <oerjan> pikhq: words to live by
04:03:19 <pikhq> oerjan: More like words to die by.
04:03:30 <pikhq> "/me is in the middle of seppuku"
04:03:36 <oklofok> Iwnda01: show about... well no idea what but they have funny clips on youtube
04:03:53 <oerjan> ok words to live by, very briefly
04:03:56 <Iwnda01> sounds about right
04:03:58 <pikhq> :)
04:04:21 <oklofok> some sort of hacking stuff probably.
04:04:28 <pikhq> oklofok: Math.
04:04:34 <pikhq> oklofok: It claims to be about math.
04:04:51 <oerjan> pikhq: which means it's probably about arithmetic?
04:04:59 <oklofok> i'm sure it *claims* that
04:05:00 <oklofok> haha
04:05:04 <oklofok> show about aritmetic
04:05:06 <pikhq> oerjan: No, it's about BULLSHIT.
04:05:28 <pikhq> oerjan: Imagine if Treknobabble were done using mathematics jargon.
04:05:31 <pikhq> That.
04:05:31 * Iwnda01 installs tuxmath
04:05:37 <oklofok> "hey let's make a show where people do like REALLY BIG SUMS MENTALLY and all teh math ppl will luuuuurb it"
04:05:37 <oerjan> ah.
04:06:16 <pikhq> http://www.youtube.com/watch?v=O2rGTXHvPCQ Also, this.
04:06:24 <oklofok> "we have to calculate the topological invariant to find the kleene closure of this klein vierergrouppe!"
04:06:30 <oklofok> *gruppe or whatever
04:06:42 <Iwnda01> gruppe secks
04:06:47 <pikhq> "It's how hackers chat when they don't want to be overheard."
04:06:51 <oerjan> oklofok: hey no fair i was about to write some mathobabble myself!
04:07:07 <oklofok> you can still do it, it's funny twice
04:07:08 <pikhq> (it would, of course, take a *complete* moron to use IRC to be secretive.)
04:07:14 <pikhq> (SILC, perhaps, but IRC?)
04:07:33 <pikhq> Also, 1337.
04:07:51 <oklofok> SHIPPING CHANNELS IN THE OCEAN
04:07:57 <oklofok> that's actually the only clip i know
04:08:01 <oklofok> from the show
04:08:09 <oerjan> ...does 1337 have any interesting mathematical properties?
04:08:50 <pikhq> oerjan: No, it's an incredibly mundane substitution cypher.
04:09:33 <oklofok> "OMG OMG THIS WILL BE OVER IN A SECOND" "SCREENSHOT QUICKLY BEFORE THE INFORMATION IS GONNEEEE"
04:09:39 <pikhq> http://www.youtube.com/watch?v=0F3-j-GQcts&feature=related OH MY GOD THAT HURTS
04:10:05 <oerjan> !haskell [n | n <- 2:[3,5 .. 40], 1337 `mod` n == 0]
04:10:12 <oerjan> bah no egobot
04:11:12 <oerjan> `which factor
04:11:13 <HackEgo> /usr/bin/factor
04:11:17 <oerjan> `factor 1337
04:11:18 <HackEgo> 1337: 7 191
04:11:41 <oerjan> NOT EVEN PRIME
04:11:55 <oklofok> pikhq: i'm so confused i don't even know if that was a correct description
04:11:57 <oerjan> hypothesis: 1337 is the smallest uninteresting number
04:12:01 <oklofok> :D
04:12:25 <pikhq> oklofok: It was a bizarre mangling of the Chinese Room thought experiment and the Turing Machine.
04:12:35 <pikhq> oerjan: Making it an interesting number.
04:12:37 <oklofok> yeah i'm still not sure what happened there
04:12:46 <oklofok> pikhq: that's the joke
04:12:48 <oerjan> pikhq: shush, you
04:12:58 <oklofok> the chinese room experiment is ... which is called the turing test
04:12:59 <pikhq> oklofok: EXPLAINING THE JOKE MAKES IT FUNNIER
04:13:04 <oklofok> pikhq: true
04:14:46 <oklofok> okay so yeah he just mentions perfectly programmed computer = turing test while explaining the chinese room experiment... i think
04:14:49 -!- Iwnda01 has left (?).
04:15:21 * oklofok looks for halting test clip
04:16:17 <oklofok> nope :(
04:16:33 * oerjan clips a halting test onto oklofok
04:17:11 <quintopia> the pun-isher strikes again!
04:17:52 <oerjan> I MOST DEFINITELY AM NOT ON STRIKE
04:18:35 <quintopia> trying too hard
04:19:14 <oklofok> http://www.youtube.com/watch?v=HCinK2PUfyk <<< "i doubt you studied it *the usual way*!"
04:20:46 <pikhq> oklofok: The pain! The agony! The wrong aspect ratio!
04:21:02 <oklofok> "math math math math math math math. now let my use my brain to calculate the probabilities."
04:21:33 <oklofok> i love this show, it's like watching puppies fighting to death
04:21:41 <oklofok> you know it's really wrong
04:21:43 <oklofok> but oh god
04:21:45 <oklofok> you can't stop watching
04:21:55 <pikhq> It seems to be so bad it's good.
04:34:24 <oklofok> okay i can't find any math related clips
04:34:28 <oklofok> maybe i should watch the whole show
04:34:50 <oklofok> the math guy has written articles in low-dimensional topology, so probably he talks about that stuff
04:35:26 <oerjan> yeah but only in a flat and linear way
04:36:16 <oklofok> noob, i work almost exclusively with 0 dimensional spaces
04:36:57 <oklofok> although i guess you did as well, but couldn't make a pun out of that
04:37:18 * pikhq prefers dealing with n-dimensional spaces where n is in N and less than 0.
04:37:21 <oerjan> i cantor i won't
04:37:28 <pikhq> (quick, someone make that make sense!)
04:37:39 <oklofok> there are many definitions of topological dimension
04:37:47 <oklofok> and i'm not sure any of them allow subzero dimensions
04:38:00 <oklofok> oerjan: was that yours?
04:38:01 <oerjan> oklofok: iirc many of them coincide for zero, though
04:38:05 <oklofok> yes
04:38:41 <oklofok> i know this fact very well because many of the ppl doing math in our uni are actually computer scientists, they don't even seem to care what the definition is, because they just work with 0 dim
04:38:47 <oerjan> well you can consider the empty set to have dimension -1
04:39:01 <oklofok> erm
04:39:22 <oklofok> with the recursive sphere definition at least
04:39:33 <oklofok> dimension = dimension of sphere + 1
04:39:37 <oklofok> for metrics
04:39:44 <oklofok> *metric spaces
04:40:37 <oklofok> what else is there.... d dimensions = open covers have a subcover where at most d+1 sets intersect at any given point
04:40:45 <oklofok> does it work with that...
04:40:54 <oklofok> yeah
04:40:56 <oklofok> perfectly
04:41:02 <oklofok> i think i'm getting an erection
04:41:17 -!- quintopi1 has joined.
04:41:21 <oklofok> i think i'm getting an erection
04:41:30 <oerjan> i believe that definition was the one used for the topological measures stuff
04:41:50 <oklofok> we used that in our ergodic theory seminar couple weeks ago
04:41:56 <oerjan> (you need dimension at least 2 for things to be non-trivial)
04:42:15 <oklofok> for showing something like topological entropy = sup of measure theoretic entropies for different measures
04:42:51 <oklofok> "<oerjan> (you need dimension at least 2 for things to be non-trivial)" <<< what do you mean?
04:43:23 <oklofok> i don't think that subcover thing is "trivial" for 1d
04:44:04 <oklofok> and for 0 it says that you can extract a clopen cover from any open cover... is that even true?
04:44:05 <oklofok> :D
04:45:01 <oklofok> i certainly didn't know that if it's true
04:45:26 <oklofok> oh
04:45:33 <oklofok> maybe it's for *refinements*
04:45:57 <oklofok> yeah obviously you can't always extract clopen covers
04:46:11 <oklofok> just take more than half the space in two open sets, but not all of it
04:46:17 <oklofok> then obv you need to take both, and get some overlap
04:46:23 <oklofok> for any definition of half
04:47:14 <oklofok> refinement being a family of open sets U such that each u \in U is a subset of an open set in the orig cover
04:47:36 -!- oerjan_ has joined.
04:48:13 <oklofok> also why am i here, i woke up at 5 so i could do some slides and then i just idle on irc
04:48:15 <oerjan_> 05:42 oerjan> at one time i _thought_ i had a proof that if you had dimension >= 2 then you _did_ have nontrivial topological measures but it didn't survive my blackboard demonstration :/
04:48:20 <oerjan_> 05:44 oerjan> ...what does that entropy supremum (i think i recall the theorem) have to do with dimension...
04:48:34 <oklofok> with leasurely topology technobabble
04:49:06 <oklofok> erm what
04:49:17 <oklofok> okay what's your definition of topological measure
04:49:25 <oklofok> because zero dimensional spaces have very nontrivial measures!
04:50:15 <oerjan_> ...i've explained it before, they're a topological generalization of lebesgue measures, which are only defined on open and closed sets
04:51:04 <oerjan_> and which only need to be additive on partitions of the whole space into open and closed sets
04:51:26 <oklofok> you mean into clopen sets?
04:51:32 <oklofok> and not into either
04:51:33 <oerjan_> no, either open or closed
04:51:35 <oklofok> okay
04:51:37 <oerjan_> each set
04:51:43 <oklofok> erm
04:52:05 <oerjan_> and only finitely many (although we have a theorem that countable also works)
04:52:11 <oklofok> so you say this thing is trivial for 0 dim and i assume the definition assumes a zero dimensional space :D
04:52:17 <oklofok> i'm smart ain't i :D
04:52:26 <oerjan_> this thing is trivial for <= 1 dim
04:52:28 -!- Mathnerd314 has quit (*.net *.split).
04:52:28 -!- Sasha has quit (*.net *.split).
04:52:28 -!- fungot has quit (*.net *.split).
04:52:28 -!- oerjan has quit (*.net *.split).
04:52:28 -!- fizzie has quit (*.net *.split).
04:52:29 -!- Ilari_antrcomp has quit (*.net *.split).
04:52:29 -!- Ilari has quit (*.net *.split).
04:52:30 -!- HackEgo has quit (*.net *.split).
04:52:30 -!- Gregor has quit (*.net *.split).
04:52:32 -!- jcp has quit (*.net *.split).
04:52:33 -!- wareya has quit (*.net *.split).
04:52:33 -!- augur has quit (*.net *.split).
04:52:33 -!- pikhq has quit (*.net *.split).
04:52:33 -!- sebbu2 has quit (*.net *.split).
04:52:33 -!- Zuu has quit (*.net *.split).
04:52:34 -!- sshc has quit (*.net *.split).
04:52:34 -!- mycroftiv has quit (*.net *.split).
04:52:35 -!- quintopia has quit (*.net *.split).
04:52:37 -!- olsner has quit (*.net *.split).
04:52:38 -!- Slereah has quit (*.net *.split).
04:52:38 -!- myndzi\ has quit (*.net *.split).
04:52:39 -!- lifthrasiir has quit (*.net *.split).
04:52:39 -!- yiyus has quit (*.net *.split).
04:52:40 <oklofok> (by assuming you meant clopen partition)
04:52:48 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
04:52:53 <oerjan_> that is, all the examples become lebesgue measures
04:54:02 -!- Gregor has joined.
04:54:02 -!- HackEgo has joined.
04:54:06 <oklofok> okay, but so what's the exact definition, any function to positive reals that's finitely additive on partitions into closeds and opens?
04:54:30 <oklofok> i'm sure you've explained this before, so sorry about having absolutely no recollection :P
04:54:32 <oerjan_> also it should be continuous
04:54:45 <oklofok> both-continuous?
04:54:53 <oklofok> hmm
04:54:54 <oklofok> yes
04:54:57 <oerjan_> the measure of an open set is the supremum of the measures of closed sets inside
04:55:00 -!- olsner has joined.
04:55:20 <oklofok> oh okay
04:55:28 -!- wareya has joined.
04:55:28 -!- augur has joined.
04:55:28 -!- pikhq has joined.
04:55:28 -!- sebbu2 has joined.
04:55:28 -!- Zuu has joined.
04:55:28 -!- sshc has joined.
04:55:28 -!- mycroftiv has joined.
04:55:35 <oerjan_> the additivity means that the dual also holds
04:55:42 <oklofok> hmm
04:55:45 -!- jcp has joined.
04:55:51 <oklofok> finite measure?
04:55:56 <oerjan_> yes
04:56:02 <oklofok> then i believe you but let's see
04:56:12 -!- Slereah has joined.
04:56:12 -!- myndzi\ has joined.
04:56:12 -!- lifthrasiir has joined.
04:56:12 -!- yiyus has joined.
04:56:17 <oklofok> yeah
04:56:19 <oklofok> obv
04:56:37 <oerjan_> in the basic theory the space is compact, connected and locally connected
04:56:39 <oklofok> i don't know why i had to think about that
04:56:41 -!- poiuy_qwert has joined.
04:56:41 -!- Mathnerd314 has joined.
04:56:41 -!- Sasha has joined.
04:56:41 -!- fungot has joined.
04:56:41 -!- fizzie has joined.
04:56:41 -!- Ilari_antrcomp has joined.
04:56:41 -!- Ilari has joined.
04:56:43 <oerjan_> *the whole space
04:56:43 -!- pikhq has quit (Excess Flood).
04:56:45 -!- pikhq_ has joined.
04:57:05 <oklofok> i almost never get to see such spaces
04:57:06 <oklofok> :P
04:57:14 <oerjan_> oh and also hausdorff
04:57:20 <oklofok> sometimes they are connected, sometimes they are compact, but never both!
04:57:32 <oerjan_> heh
04:57:44 <oklofok> wait connected doesn't imply locally connected?
04:57:48 -!- poiuy_qwert has quit (*.net *.split).
04:57:48 -!- Mathnerd314 has quit (*.net *.split).
04:57:48 -!- Sasha has quit (*.net *.split).
04:57:48 -!- fungot has quit (*.net *.split).
04:57:48 -!- fizzie has quit (*.net *.split).
04:57:48 -!- Ilari_antrcomp has quit (*.net *.split).
04:57:49 -!- Ilari has quit (*.net *.split).
04:57:50 -!- Slereah has quit (*.net *.split).
04:57:50 -!- myndzi\ has quit (*.net *.split).
04:57:50 -!- lifthrasiir has quit (*.net *.split).
04:57:51 -!- yiyus has quit (*.net *.split).
04:57:52 -!- jcp has quit (*.net *.split).
04:57:53 -!- wareya has quit (*.net *.split).
04:57:53 -!- augur has quit (*.net *.split).
04:57:53 -!- sebbu2 has quit (*.net *.split).
04:57:53 -!- Zuu has quit (*.net *.split).
04:57:54 -!- sshc has quit (*.net *.split).
04:57:54 -!- mycroftiv has quit (*.net *.split).
04:57:55 -!- pikhq_ has quit (*.net *.split).
04:57:56 -!- olsner has quit (*.net *.split).
04:57:58 -!- HackEgo has quit (*.net *.split).
04:57:58 -!- Gregor has quit (*.net *.split).
04:57:59 <oerjan_> nope
04:58:00 <oklofok> i don't know what it means but
04:58:00 <oklofok> what the fuck is going on
04:58:00 <oklofok> i like it
04:58:23 -!- ineiros has quit (Write error: Broken pipe).
04:58:36 <oklofok> erm
04:58:49 <oklofok> i'd say locally connected is a very weird term for that
04:58:50 <oerjan_> standard example is the space of {(x, sin (1/x)) | x > 0} union 0 x [-1,1]
04:58:56 -!- pikhq_ has joined.
04:58:56 -!- Ilari has joined.
04:58:56 -!- Ilari_antrcomp has joined.
04:58:56 -!- fizzie has joined.
04:58:56 -!- fungot has joined.
04:58:56 -!- Sasha has joined.
04:58:56 -!- Mathnerd314 has joined.
04:58:56 -!- poiuy_qwert has joined.
04:58:56 -!- yiyus has joined.
04:58:56 -!- lifthrasiir has joined.
04:58:56 -!- myndzi\ has joined.
04:58:56 -!- Slereah has joined.
04:58:56 -!- jcp has joined.
04:58:56 -!- mycroftiv has joined.
04:58:56 -!- sshc has joined.
04:58:56 -!- Zuu has joined.
04:58:56 -!- sebbu2 has joined.
04:58:56 -!- augur has joined.
04:58:56 -!- wareya has joined.
04:58:56 -!- olsner has joined.
04:58:56 -!- Gregor has joined.
04:58:56 -!- HackEgo has joined.
04:58:58 <oklofok> neighborhood basis of connected sets
04:59:06 <oerjan_> connected, compact, but not locally connected
04:59:27 -!- sshc has quit (Max SendQ exceeded).
04:59:30 <oklofok> i proved that's connected but not path connected in topology
04:59:33 <oerjan_> er, * x > 0 and x <= 1
04:59:39 <oerjan_> otherwise it's not compact
04:59:41 <oklofok> iir
04:59:41 <oklofok> c
04:59:48 <oklofok> erm
04:59:54 <oklofok> yeah
05:00:02 <oklofok> it's not path connected obv
05:00:22 -!- sshc has joined.
05:00:22 <oerjan_> indeed but it's not locally connected e.g. around (0,0)
05:00:23 <oklofok> but it's OBVIOUSLY connected
05:00:27 <oklofok> look i proved it again!
05:01:00 <oerjan_> because you need the entire height of the curve to connect different parts of it
05:01:06 <oklofok> yeah
05:01:08 <oklofok> i get it
05:01:14 <oklofok> i think
05:01:38 <oklofok> i mean i get it intuitively, but i'll have to think about the defs a bit
05:01:55 -!- quintopi1 has quit (Ping timeout: 322 seconds).
05:01:56 -!- ineiros has joined.
05:02:26 <oklofok> right you can't get ANY open set around origin
05:02:29 <oklofok> that's connected
05:02:54 <oklofok> locally connected doesn't imply connected? erm. of course it doesn't, disjoint union
05:03:19 <oklofok> you know this conversation of ours would already make a pretty good tv show
05:03:38 <oerjan_> >_>
05:03:52 <oklofok> i would watch that show
05:05:20 <oerjan_> anyway the strange properties of these measures depends on it _not_ being possible to approximately partition any open set into small open or closed parts that you can add up
05:05:41 <oklofok> and then all the youtube comments would be like "lol that's SO inaccurate, what he's saying is so totally only true if the measure has no atoms!"
05:06:26 <oerjan_> but dimension <= 1 is equivalent to saying every open covering can be refined into a partition of the space into open and closed sets
05:06:35 <coppro> win 27
05:06:35 -!- sshc has quit (Read error: Connection reset by peer).
05:06:42 -!- sshc has joined.
05:07:24 <oerjan_> (btw this theorem doesn't use any of the connectedness assumptions on the space)
05:07:38 <oklofok> the <= 1 one?
05:07:43 <oerjan_> yeah
05:07:51 <oerjan_> those are just needed to be able to construct examples nicely
05:08:22 <oklofok> hmm, i don't see why that thingie is true, but i suppose that's nontrivial?
05:08:32 <oklofok> okay if it's dimensions 0 and 1, then i'm sure it's nontrivial
05:08:48 <oklofok> because i don't know any properties those have others don't :d
05:09:02 <oerjan_> take that usual refinement of a dimension <= 1 space, then by definition the open sets only intersect at most 2 at each point
05:09:04 <oklofok> actually
05:09:06 <oklofok> you're right
05:09:13 <oklofok> for this to be a great tv show
05:09:22 <oklofok> we need like a really stupid fbi guy
05:09:27 <oklofok> who asks stupid questions
05:09:46 <oklofok> "so you're saying a locally connected spaces is like a rabbit that sticks its head into a bush when it gets scared?"
05:10:10 <oerjan_> argh
05:10:36 <oklofok> what? :D
05:10:42 <oerjan_> that fbi guy
05:11:23 <oklofok> okay walk me through it, how exactly do you make the partition
05:11:28 <oklofok> erm
05:11:34 <oklofok> or wait a minute
05:11:55 <oerjan_> now if you look carefully at this refinement, the points that are in two given sets are of course in the open set that is their intersection
05:12:11 <oklofok> take open cover's intersections with all others, plus it minus the union of all the others?
05:12:31 <oklofok> i guess not...
05:12:32 <oerjan_> huh?
05:12:44 <oklofok> okay so walk me through it, how do you make the partition
05:13:19 <oerjan_> on the other hand, the points that are in just _one_ given open set of the refined cover and not in any other, form a closed set
05:13:35 <oklofok> or continue your explanation whatever :D
05:13:37 <oerjan_> (the complement of the union of the other open sets)
05:13:41 <oklofok> wait
05:13:50 <oklofok> are you explaining exactly this...
05:13:52 <oklofok> let's look!
05:13:57 <oerjan_> but of course!
05:14:01 <oklofok> haha
05:14:09 <oklofok> i assumed you assumed i'd just see it
05:14:20 <oklofok> because it sounded so simple
05:14:33 <oerjan_> it's not hard if you draw the sets on paper
05:14:53 <oklofok> and have like 3d diagrams
05:14:57 <oerjan_> (of the refinement)
05:14:58 <oklofok> and flying numbers on the screen
05:16:07 <oklofok> "<oerjan_> on the other hand, the points that are in just _one_ given open set of the refined cover and not in any other, form a closed set" <<< this was the part i didn't see, but yeah it's obvious now that you stated it explicitly
05:16:23 <oerjan_> they form a bipartite graph, with the closed sets for the points in exactly one refinement set being one set of vertices, and the open sets for the points in _two_ refinement sets the other set of vertices
05:16:25 <oklofok> "<oerjan_> (the complement of the union of the other open sets)" <<< and even more obvious after you gave the proof
05:16:44 <oerjan_> and edges between sets that touch
05:18:06 <oklofok> hmm
05:18:19 <oklofok> that's true for all partitions gotten this way?
05:18:33 <oklofok> is that obvious again...
05:18:37 -!- quintopia has joined.
05:19:03 <oklofok> well of course it is
05:19:06 <oklofok> by definition of touch
05:19:29 <oklofok> wait
05:19:42 <oklofok> what's the definition of touch?
05:19:43 <oklofok> :D
05:19:47 <oerjan_> well you could alternatively say edges between sets that come partially from the same original refinement set
05:19:50 * oklofok is the fbi agent
05:19:54 <oklofok> okay
05:20:03 <oerjan_> but i believe that is equivalent
05:20:11 <oerjan_> touch = their closures intersect
05:20:18 <oklofok> by "original refinement set" you mean "original set"?
05:20:25 <oklofok> oh alrighty
05:20:45 <oerjan_> well we started with an arbitrary open cover and than used the dimension to refine it
05:20:51 <oklofok> oh indeed we did
05:21:04 <oerjan_> *then
05:21:42 <oerjan_> and then this refined cover pretty directly gives this graph of open vs. closed vertices
05:24:51 <oklofok> but erm so
05:25:35 <oerjan_> ?
05:26:07 <oklofok> take [0, 1] with cover [0, 5), (0.4, 0.6), (0.5, 1], then (0.4, 0.5) and (0.5, 0.6) have intersecting closures even though both are intersection sets
05:26:36 <oerjan_> what's that 5 doing there
05:26:47 <oklofok> haha
05:26:54 <oklofok> [0, 0.5)
05:26:58 <oklofok> 5 was visiting his aunt
05:27:27 <oerjan_> oh hm right
05:27:39 <oerjan_> you only test open sets for touching closed sets
05:27:43 <oerjan_> not other open sets
05:27:45 <coppro> win 16
05:27:53 <oklofok> oh so then it's basically by def
05:28:02 <oklofok> coppro: are these some sorta election thingies
05:28:09 <coppro> oklofok: no
05:28:19 <oklofok> i have no other guesses
05:28:54 <oklofok> common field sizes?
05:29:14 <coppro> no
05:29:40 <oklofok> oerjan_: wait where were we going with this graph thing?
05:29:45 <oklofok> i'm a bit... distracted
05:29:51 <oklofok> i should prepare for this talk thingie
05:29:55 <oklofok> but here i am
05:30:30 <oerjan_> well the graph is just a side thing
05:31:01 <oerjan_> but the thing is, this allows us to partition the whole space into tiny open and closed sets
05:31:22 <oklofok> http://www.math.utu.fi/projects/jac2010/program.html <<< look i'm famous!
05:31:46 <oklofok> it certainly does do that
05:32:14 <oklofok> we had this really fun partition lemma in our seminar on beuhahrug spaces (i may remember the name wrong)
05:32:23 <oerjan_> and if you make them small enough, the measure of any larger open set can be approximated as sums of tiny sets within... but in the limit this forces the measure to be a lebesgue measure.
05:32:42 <oklofok> okay
05:32:46 <oklofok> cool
05:32:50 <oklofok> I GUESS
05:33:07 <oklofok> this was whose def?
05:33:10 <oklofok> i mean
05:33:17 <oklofok> this topological measure thing
05:33:35 <oerjan_> johan aarnes, the advisor of my collaborator alf rustad
05:33:58 <oerjan_> originally he called it quasi-measures
05:34:04 <oklofok> right, guessed it was you ppl's or you wouldn't be the ones doing this basic research on it
05:34:13 <oklofok> or is it called basic research
05:34:21 <oklofok> fundamental essentials research
05:34:22 <oerjan_> pretty much
05:35:47 <oklofok> i used to define a lot of different things (used to meaning it was last months theme) but in the end i just always realize it's a known concept in disguise, so now i just try to take concrete problems others have stated and solve them
05:35:58 <oklofok> month's
05:36:38 <oerjan_> his original example of a quasi-measure was created as a counterexample to a conjecture
05:36:51 <oklofok> of course that only works if you're willing to go far enough that open problems become solvable :D
05:36:59 <oklofok> cool
05:37:16 <oklofok> yeah i guess that's the sensible way to come up with new things
05:37:27 <oklofok> mine is usually more like LET'S TAKE THIS RANDOM THING AND SEE WHAT HAPPENS
05:37:32 <oerjan_> about the linearity of certain functionals on C(X)
05:37:43 <oklofok> okay
05:38:07 <oerjan_> (the measures are equivalent to certain functionals that are almost, but not necessarily quite linear)
05:38:34 <oerjan_> if they _are_ linear then they are lebesgue measures
05:39:03 <oklofok> hmm
05:39:32 <oklofok> i suppose a measure gives you the functional "integral"
05:39:33 <oklofok> ?
05:39:47 <oerjan_> precisely!
05:40:00 <oklofok> how are they not linear
05:40:08 <oklofok> hmm
05:40:28 <oklofok> i know too little about this stuff
05:40:38 <oklofok> MUST
05:40:39 <oklofok> KNOW
05:40:40 <oklofok> EVERYTHING
05:40:53 <oerjan_> http://en.wikipedia.org/wiki/Riesz_representation_theorem#The_representation_theorem_for_linear_functionals_on_Cc.28X.29
05:40:59 <oklofok> obviously i know that
05:41:01 <oklofok> theorem
05:41:07 * oklofok looks
05:41:07 <oerjan_> ok then :)
05:41:19 <oklofok> i know the basic riesz repr theorem
05:41:35 <oklofok> that linear functionals are dot products
05:41:37 <oerjan_> it's that linear <=> lebesgue, in our case
05:41:46 -!- NicolaeDebevec has joined.
05:41:57 <oerjan_> or wait, Borel
05:42:37 <oerjan_> however the "almost but not quite linear"
05:42:50 <oklofok> well i don't know what a "lebesque" measure is, as an adjective
05:42:53 -!- NicolaeDebevec has left (?).
05:43:01 <oklofok> a measure defined on... lebesque sets? :D
05:43:03 <oklofok> well
05:43:12 <oerjan_> yeah i meant borel
05:43:15 <oklofok> yeah
05:43:16 <oklofok> k
05:43:26 <pikhq_> What the fuck?
05:43:37 <pikhq_> In the UK, you have to be over 18 to buy... Plastic cutlery.
05:43:45 <oerjan_> for every function f in C(X), look at the sub-algebra C(f) generated by it. then the functional should be linear on it
05:44:17 * oklofok looks
05:44:30 <oklofok> pretty.
05:44:41 <oerjan_> note that C(X) is _real_ functions. if we were looking at _complex_ functions, then indeed this requirement _would_ force the entire functional to be linear. i think this was an old theorem.
05:45:06 <oerjan_> and the conjecture which aarnes disproved was that this would hold for real C(X) as well
05:45:21 <oerjan_> oh the functional should be positive too
05:45:34 <oerjan_> i think
05:46:12 <oerjan_> the theory _has_ been generalized to signed measures/non-positive functionals too, in fact one of our articles was about it
05:48:07 <oklofok> oh reals okay
05:48:30 <oklofok> my thinking went C... durrr... complex.
05:49:13 <oklofok> you did such cool stuff
05:49:20 <oerjan_> now C here is for continuous i think
05:49:22 <oerjan_> *no
05:49:24 <oklofok> all my theorems are really boring in comparison
05:49:31 <oklofok> yeah
05:49:33 <oklofok> i'm aware
05:49:35 -!- pikhq_ has quit (Remote host closed the connection).
05:49:53 <oklofok> i'm aware that i also think that's where it probably comes from.
05:49:54 -!- pikhq has joined.
05:52:31 -!- poiuy_qwert has quit (Read error: Operation timed out).
05:52:54 <pikhq> *YES*.
05:53:05 <oerjan_> how encouraging
05:53:19 <pikhq> There is a restaurant with ninja waiters.
05:53:21 <pikhq> YES.
05:53:49 <oerjan_> but are they _french_ ninjas?
05:53:53 <pikhq> Sadly, no.
05:54:04 <pikhq> Halfway there, though!
05:54:07 * oerjan_ assumes pikhq got the reference
05:54:12 <pikhq> Of course.
05:54:21 <pikhq> Why else do you think I was going "YES" so much? :)
05:54:27 <oerjan_> true, true
05:54:42 <oklofok> i didn't get the reference
05:55:24 <oklofok> pikhq: tell me something in japanese!
05:55:26 <oerjan_> http://freefall.purrsia.com/ff1100/fv01076.htm
05:55:27 <pikhq> oklofok: You. Read Freefall.
05:56:05 <oklofok> oh that one, i recall seeing that furry chick
05:56:07 <pikhq> oklofok: あんた。フリーファル読め。
05:56:24 -!- poiuy_qwert has joined.
05:56:53 <oklofok> anta?
05:57:16 <pikhq> A more casual form of あなた.
05:57:24 <oklofok> i don't even completely get the sentence :(
05:57:31 <pikhq> "You. Read Freefall."
05:57:33 <oerjan_> UNICODE ATTACK
05:57:33 <oklofok> freefall read "me"
05:57:35 <oklofok> oh lol
05:58:03 <oerjan_> wait oklofok knows japanese?
05:58:05 <pikhq> もっと日本語が欲しいか。
05:58:06 <oklofok> we haven't done any of the short forms
05:58:12 <oklofok> the course is sloooooooow
05:58:16 <pikhq> oerjan_: He's taking a class.
05:58:20 <pikhq> oklofok: I *told* you.
05:58:31 <oklofok> shall is something more japanese
05:58:46 <pikhq> oklofok: Also, not doing the short forms of verbs first is a travesty.
05:58:57 <oklofok> pikhq: told me what? i got the sentence already if that's what you mean
05:59:11 <pikhq> oklofok: I told you not to take a formal class because it would be slow!
05:59:22 <oklofok> pikhq: i think so too, because i see them all the time and i understand nothing outside the class therefore
05:59:24 <oklofok> ah
05:59:50 <pikhq> oklofok: The thing is, the short forms of verbs are the *actual root forms*. The conjugation goes from there.
06:00:03 <oklofok> we just do masu
06:00:12 <pikhq> But nooo, classes insist on teaching the teineigo conjugations.
06:00:14 <oklofok> also we've only done like 70 kanji
06:00:25 <pikhq> (-masu, -desu, etc.)
06:00:31 <oklofok> so i don't even officially know the kanji for "read"
06:00:42 <oklofok> yeah we just do those
06:01:01 <oklofok> and no one fucking ever uses them, at least in the shows i've tried to start watching
06:01:08 <pikhq> See, that's horrifically wrong, and you will have to unlearn things.
06:01:13 <oklofok> :P
06:01:19 <oklofok> well i like a challenge!
06:01:22 <pikhq> The teineigo forms are very commonly used in normal Japanese, but *it's the wrong thing to learn first*.
06:01:46 <pikhq> (shows tend to use more casual Japanese than is otherwise normal, for a variety of reasons.)
06:02:02 <oklofok> alright
06:02:37 <oklofok> even the "quick japanese for business dudes" book does masu only, it just skips telling the basic forms of the verbs! :D
06:02:54 <oklofok> cuz it's faster to just learn masu and not ru + masu!
06:02:57 <pikhq> The worst part is, verb conjugation in Japanese is *really easy* if you start from the plain forms.
06:04:28 <oklofok> well, i'll probably take the second course anyway, it's not like i'll have enough free time next year to actually be able to study it on my own.
06:04:36 <pikhq> But no, they insist on using the teineigo forms first so that you'll be less rude if you somehow find yourself talking to someone in Japanese after 6 months of taking the class.
06:04:52 <pikhq> Even though by that point you'll have trouble saying anything at all because they suck so hard.
06:04:55 <oklofok> hopefully the unlearning i have to do occurs there
06:05:31 <oklofok> i think i could *easily* have a conversation about how good fish tastes.
06:05:38 <oklofok> sakana wa oishii desu yooo
06:06:05 <oklofok> i should learn to write japanese on the computer, maybe.
06:06:27 <pikhq> 魚が美味しいですが、僕にはカレーが一番美味しい事だと思います。
06:06:42 <oklofok> sorry, that's outside my kanjibility
06:07:38 <pikhq> さかなが おいしい ですが、 ぼくには カレーが いちばん おいしい だとおもいます。
06:08:17 <oklofok> fish is good but you find curry the best
06:08:20 <oklofok> i don't get the last word
06:08:25 <oklofok> erm
06:08:26 <pikhq> And, yeah, if you keep up with the classes, you will be permanently illiterate.
06:08:33 <oklofok> the "datoo"
06:08:48 <pikhq> "da to omoimasu".
06:08:59 <oklofok> heh, probably. i'm not keeping up with the classes, i assure you 90% of our class couldn't read taht.
06:09:00 <oklofok> *that
06:09:42 <oklofok> what does "to" mean there
06:09:48 <oklofok> "as well as"? :P
06:10:05 <pikhq> Uh, it's a fairly complex particle.
06:10:16 <oklofok> that much i know...
06:10:27 <pikhq> But the sentence comes out as "Though fish is delicious, I think curry is the most delicious."
06:10:46 <oklofok> yeah
06:10:59 <pikhq> Seriously, you would be significantly better off spending all the time you would have on that class just watching anime without subtitles. *That alone* would be a massive improvement.
06:11:11 <oklofok> :)
06:11:13 <oklofok> yeah possibly
06:11:19 <pikhq> Assuredly.
06:11:24 <oklofok> but i don't find that as entertaining as a monotone lecture
06:12:10 <oklofok> hmm, anime without subtitles might not be such a bad idea, watching it with subtitles isn't doing me much good at least.
06:12:25 <oklofok> because after a few minutes i stop listening
06:12:32 <pikhq> Yeah, the point is to *not* cling to the language you're fluent in...
06:13:13 <oklofok> and still, for some reason i've always used subtitles for learning purposes.
06:13:31 <oklofok> i guess that's intuitive as well
06:13:46 <oklofok> if you're a robot
06:14:29 <oklofok> is "to" always used with omoimasu?
06:14:45 <oklofok> see i just know omoimasu from the dictionary...
06:15:08 <oklofok> i've never actually seen it in a sentence before
06:15:39 <oklofok> and why do you say boku *ni*?
06:15:53 <oklofok> is that also omoimasu's fault?
06:16:00 <pikhq> I'm... Not entirely sure, actually.
06:16:06 <oklofok> :P
06:16:19 <pikhq> The grammar of Japanese has gotten a bit automatic.
06:16:37 <pikhq> The "ni" got added because that conveyed the sense I wanted. Somehow.
06:17:35 <pikhq> It's kinda got a sense of "*But as for myself*, ..." in this context, I guess?
06:17:40 <oklofok> maybe it's a bit like "X ni aimasu", like me as a person
06:17:48 <oklofok> dunno
06:18:10 <oklofok> i just know it's a human postfix thingie
06:18:23 <pikhq> I suggest you just do Japanese often enough that everything happens without thinking about it.
06:18:29 <oklofok> as well as a couple (million) other things
06:18:43 <oklofok> OR HOW ABOUT I ANALYZE IT UNTIL IT GETS A RESTRAINING ORDER?!?
06:18:54 <oklofok> your way is good too.
06:18:57 <pikhq> No, don't. You'll never get good if you do that.
06:19:14 <oklofok> yeah, that was what the restraining order meant
06:19:15 <oklofok> :P
06:19:33 <pikhq> Much like you'll never get good at math by taking elementary/middle school/high school math courses.
06:19:34 <oklofok> well. actually it's not really a good metaphor
06:19:49 <oklofok> true. or even just by taking any courses.
06:20:17 <pikhq> You at least have a *chance* of getting good at math when you study for a math degree.
06:20:28 <oklofok> surely
06:20:47 <oklofok> prolly the highest chance
06:20:50 <oklofok> but still
06:21:14 <pikhq> But below college? "You, too, can learn how to do everything that we have calculators for, but didn't when the curriculum was designed!"
06:21:35 <oklofok> :D
06:21:49 <pikhq> (don't get me wrong, manual calculation is a nice skill and all, but it really doesn't deserve to be a focus of *12 fucking years* of education.)
06:22:11 <oklofok> and done completely wrong, too
06:22:38 <oklofok> well. i guess it's an okay way to teach it to people who don't want to learn it.
06:22:40 <oklofok> but other than that
06:22:45 <pikhq> The pacing on them is absurd.
06:23:58 <pikhq> Arithmetic should *not* take several years to teach.
06:24:48 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
06:26:30 <coppro> it's true
06:26:49 -!- poiuy_qwert has joined.
06:28:26 <pikhq> And I'd like to beat whoëver designed the handling of fractions in primary education.
06:28:47 <coppro> pikhq: May I join you?
06:28:52 <pikhq> coppro: Depends.
06:29:00 <coppro> pikhq: I'm a math major
06:29:12 <pikhq> coppro: What are your thoughts on "improper" vs. "proper" fractions?
06:30:15 <pikhq> Oh, who am I kidding. I know your thoughts on them. "WHY THE FUCK IS THAT A DISTINCTION"
06:30:24 <coppro> pikhq: my thoughts on fractions are: teach pure fractions first. decimal notation etc. can come later
06:31:01 <oklofok> improper/proper fractions is like 4 3/8
06:31:02 <oklofok> ?
06:31:06 <oklofok> vs 7/6
06:31:10 <coppro> yes
06:31:24 <coppro> it is not wrong to draw a distinction
06:31:29 <oklofok> i'm a math major and i totally think that's not a distinction, in most contexts. not this one.
06:31:41 <coppro> it is, however, very very wrong to teach it so heavily like they do
06:31:49 <pikhq> coppro: The worst part is the notation used.
06:31:54 <coppro> especially because the notation is 4 3/8 which later on means 3/2
06:32:02 <pikhq> 2¾ looks to me like 6/4, not 10/4.
06:32:42 <pikhq> Because dammit, that's how it's used anywhere outside of elementary school.
06:34:02 <pikhq> Also strange is the insistence on things like using the LCD for adding/subtracting fractions with different denominators.
06:34:24 <oklofok> prolly, in elementary school, there should be separate classes for set theory, arithmetic, and problem solving
06:34:31 <pikhq> How often is it going to matter that you picked the *smallest* common denominator?
06:34:51 <oklofok> so that math could take 3 times more time slots
06:34:58 <coppro> oklofok: :D
06:35:02 <coppro> also set theory?
06:35:13 <oklofok> set theory is the most important thing in the world
06:35:29 <coppro> yeah, I've just heard lots of suggestions about elementary school education
06:35:32 <coppro> and set theory was never one of them
06:35:37 <coppro> totally agree now that you think of it
06:35:44 <oklofok> we used to have that here, in the 70's or something
06:35:54 <pikhq> coppro: They tried it in the 70s. Problem: it was the same teachers.
06:36:06 <oklofok> the profs think those that was good, because students were not retarded back then, because of that
06:36:08 <pikhq> Y'know, the ones that think that calculus is the highest that math goes.
06:36:19 <coppro> pikhq: oh, I had one of those in high school
06:36:25 <oklofok> unfortunately the ones that didn't become profs, and had normal idiots as teachers, probably didn't have the same idea
06:36:38 <oklofok> okay
06:36:39 <oklofok> what pikhq said.
06:37:45 <oklofok> i wouldn't exactly drop arithmetic out, at least the ppl who aren't going to learn anything interesting anyway learn to count their money :D
06:38:00 <pikhq> Probably the worst part of primary/secondary math education is that it hardly ever touches on something very fundamental to the practice of mathematics.
06:38:02 <pikhq> Logic.
06:38:13 <coppro> +1
06:38:22 <pikhq> oklofok: Yeah, I don't think it should be *omitted*, I just think it's taught far too slowly and they put far too much of a focus on it.
06:38:31 * coppro needs to remember to follow up with the people here who go through math+teaching
06:39:11 <oklofok> coppro: what do you mean "go through"?
06:39:26 <oklofok> (sry i'm slow)
06:39:32 <coppro> oklofok: math+teaching is a program here
06:39:37 <oklofok> ohh
06:39:50 <oklofok> we have something like that too, prolly every uni does
06:40:16 <oklofok> basically if you're good you do pure math, if you suck real bad you become a teacher
06:40:18 <oklofok> :D
06:40:31 <oklofok> i'm not being an ass, it really is like that
06:40:42 <oklofok> based on the ppl i know
06:41:05 <pikhq> The US system has you get a degree in education.
06:41:08 <oklofok> *not just being
06:41:14 <pikhq> Voila, you are magically qualified to teach everything.
06:41:20 <oklofok> hehe
06:41:24 <pikhq> Why? Because fuck making sense.
06:41:42 <coppro> oklofok: Yeah, we have a degree in education too. Except this program is a BMath + BEd program, so the teachers come out knowing nonzero math
06:41:43 <pikhq> (in high school, you *might* start getting teachers with more qualifications. Maybe.)
06:41:44 <oklofok> i had this religious nut as a teacher through 3-6 grade who didn't know anything about anything
06:41:55 <oklofok> except god
06:42:00 <oklofok> she knew a lot of bible stories
06:42:09 <coppro> pikhq: in my experience, it wasn't /quite/ so bad
06:42:12 <coppro> but close
06:43:07 <oklofok> coppro: the teachers have to learn stuff like group theory here too, it's just they pass the relevant courses with bad grades and forget the few things they memorized rote after the course.
06:43:16 <coppro> oklofok: blargh
06:43:36 <coppro> there's also a pure math with teaching option program
06:43:49 <oklofok> what i said there is partly conjecture, have to admit
06:44:00 <coppro> the requirements are actually far looser, but due to the requirement of pure math courses, basically no one goes through with it
06:44:09 <coppro> someone who does probably knows math properly
06:44:15 <oklofok> but anyway, come on, they don't actually need it, the actual facts *will* be useless to them
06:44:30 <oklofok> it's the way of thinking that you'd like them to have
06:44:50 <coppro> yeah
06:44:52 <coppro> more importantly
06:44:55 <coppro> you want them to pass it on
06:44:57 <coppro> (they won't)
06:45:18 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
06:46:54 -!- poiuy_qwert has joined.
07:04:28 -!- Sgeo has joined.
07:04:36 <Sgeo> I need help going to sleep
07:05:03 <Sgeo> Should not have watched a let's play of an apocalyptic flash game
07:05:18 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
07:06:47 <quintopia> Gregor: I don't get tex4ht. :P
07:06:54 -!- poiuy_qwert has joined.
07:06:55 <quintopia> (It didn't render my bibliography!)
07:07:32 <quintopia> do i need to do latex bibtex latex before htlatex?
07:24:06 -!- oerjan_ has quit (Quit: leaving).
07:24:20 -!- Sgeo has quit (Read error: Connection reset by peer).
07:25:18 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
07:25:29 -!- Mathnerd314 has quit (Ping timeout: 260 seconds).
07:26:54 -!- poiuy_qwert has joined.
07:28:03 <quintopia> Gregor: oh nvm, doing all the latexing and bibtexing and whatnot made it render the bibliography right
07:42:13 <Ilari> I suppose seeing large amounts of string APNIC in listing of >250k blocks allocated last month is not a good thing...
07:43:12 <Ilari> Well, unless your sensibilities are warped certain way... :-)
07:43:16 -!- nooga has joined.
07:44:03 <Ilari> APNIC: 3.19 /8s in RIR Pool
07:44:17 <Ilari> About 1.2 /8s to go...
07:45:03 <Ilari> That is about 20 million IP addresses...
07:46:33 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
07:46:59 -!- poiuy_qwert has joined.
07:54:14 <Ilari> 9 210 368 addresses allocated this calender month. If this rate continues, X day is somewhere mid-January...
07:55:24 -!- MigoMipo has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:17 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
08:06:54 -!- poiuy_qwert has joined.
08:09:54 <Ilari> Heck, if one makes pie chart of IPv6 pools + allocated, the slice for allocated isn't even visible...
08:10:06 <Ilari> (well, it is 0.027% anyway...)
08:20:42 -!- poiuy_qwert has quit (Ping timeout: 245 seconds).
08:22:42 -!- atrapado has joined.
08:36:29 -!- poiuy_qwert has joined.
08:44:45 -!- p_q has joined.
08:47:22 -!- poiuy_qwert has quit (Ping timeout: 245 seconds).
08:54:54 -!- HackEgo has quit (Ping timeout: 272 seconds).
08:59:36 -!- MigoMipo has quit (Ping timeout: 240 seconds).
09:23:17 -!- p_q has quit (Read error: Connection reset by peer).
09:24:53 -!- poiuy_qwert has joined.
09:55:11 <fizzie> Seems that elliott's favourite algorithm evar, CubeHash, is not going to become SHA-3: http://crypto.junod.info/2010/12/10/sha-3-finalists-announced-by-nist/
09:58:44 <Ilari> Blake, Grøstl, JH, Keccak and Skein...
10:02:36 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
10:02:57 <Ilari> Seriously, that name containing the ø is pain to type...
10:03:01 -!- poiuy_qwert has joined.
10:04:01 <Ilari> CubeHash seemingly has too much symmetry anyway...
10:12:33 <fizzie> They say they'll publish a proper report on why each algorithm was accepted or not.
10:13:21 -!- zzo38 has joined.
10:14:22 <fizzie> One more year of public comments, and then deliberations in 2012; they're probably going to get the standard published just before the end of the world.
10:15:51 <zzo38> I want to make a program to handle compile errors of the C compiler, and then it changes the source-file and resubmit to the compiler. Example: #errorhandler no_member(register_value,is_number) _register_value_is_number
10:16:54 <zzo38> Another example: #errorhandler no_member(something_else,) _something_else_bind
10:20:03 <zzo38> You can have various kind, such as: no_member, wrong_initializer, pointer_expected, function_expected, no_label, link_error, ...
10:21:43 <zzo38> fizzie: What standard is that? Are you sure 2012 is the end of the world?
10:22:27 <fizzie> SHA-3, and no, but it's often said to be.
10:25:55 <zzo38> I have just finished playing a game titled "Square Circle". You do have to make a square circle in that game. They say you commit a crime that you are not allowed to know, but you can be freed if you make a square circle. But this is all a lie made up by the government.
10:51:52 <nooga> nk
10:53:13 <nooga> url?
10:53:17 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
10:54:38 -!- poiuy_qwert has joined.
10:54:40 <Ilari> That "2012" end of the world is a complete misinterpretation of Mayan mythology. The dates don't even start to require 6 symbols (that's sometime in 4xxx or so)... :-)
10:56:50 <Ilari> Apparently somewhere in end half of 48th centry...
10:59:27 <zzo38> Do you understand how to make a square circle?
11:01:35 <Ilari> The Unix time_t to beginning of that day (in UTC) is 88 447 248 000...
11:02:19 <nooga> zzo38: no
11:03:02 -!- FireFly has joined.
11:06:05 <fizzie> Ilari: I don't see what 6 symbols would have anything to do with it; the world was also supposed to end in 2000 (also for non-y2k-computer-related reasons) and that's equally much just the most significant digit changing.
11:10:02 -!- poiuy_qwert has quit (Read error: Operation timed out).
11:14:54 -!- poiuy_qwert has joined.
11:15:11 <Ilari> Seems like the year mayan calendar starts to require six symbols to represent dates is 4772...
11:16:24 <Ilari> And yes, some writings contain six-symbol absolute dates.
11:16:25 <zzo38> nooga: Use these definitions of "square" and "circle":
11:16:26 <zzo38> Circle: A figure bounded by a circumference every point of which is equidistant from the centre.
11:16:30 <zzo38> Square: A figure bounded by four equal straight lines, each of equal length, such that the four angles between adjacent sides are also equal.
11:16:36 <zzo38> Straight Line: A one-dimensional figure forming the shortest path between two points.
11:16:47 <zzo38> Now can you figure it out?
11:17:08 <fizzie> Ilari: The dreaded Y4772 problem, for all of us who stupidly allocated memory space for only five symbols in our Long Count using date systems.
11:18:00 <Ilari> And then there's thing called distance dates. Some writings have absolutely huge distance dates.
11:19:22 <Ilari> Oh, and that day happens to be Friday the 13th... :-)
11:33:17 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
11:34:54 -!- poiuy_qwert has joined.
11:53:17 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
11:54:54 -!- poiuy_qwert has joined.
12:11:57 <Ilari> Oh, the more pessimistic estimate is back at January (30th).
12:13:17 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
12:14:55 -!- poiuy_qwert has joined.
12:23:14 -!- elliott has joined.
12:23:33 <elliott> analysis of dynamic programs proves they're not dynamic at all: http://gnuu.org/2010/12/13/too-lazy-to-type/
12:24:07 <elliott> "I was under the impression most people understood that 99% of stuff that happens in Ruby or Python could be done with practically no modification in a statically typed language with good enough type inference. Still, it's only 99%. The remaining 1% would be a serious pain to do with static types, which is why even the stalwart of static types, Haskell, has Data.Dynamic in case you really do need to stick arbitrary types somewhere."
12:24:09 <elliott> meanwhile, over on reddit,
12:24:25 <elliott> someone defends people using something awkward and problem-causing in 99% of the cases and helpful in 1%
12:24:39 <elliott> and then demonstrates a case that's helpful and robust in 99% of the cases and slightly fiddly in 1%
12:24:42 <elliott> and doesn't realise it
12:25:23 <elliott> 01:55:11 <fizzie> Seems that elliott's favourite algorithm evar, CubeHash, is not going to become SHA-3: http://crypto.junod.info/2010/12/10/sha-3-finalists-announced-by-nist/
12:25:31 <elliott> fizzie: Yup, I found out N days ago.
12:26:00 <Deewiant> (where N ≤ 4)
12:26:04 <elliott> fizzie: It was probably just rejected because they felt "nervous" about it as they say was the case for some algos their press release; presumably djb's black clothes and piercing stare stabbed right into their soul.
12:26:16 <elliott> Deewiant: Please, follow me around on the internet establishing upper and lower bounds for my placeholders.
12:26:41 <elliott> 02:04:01 <Ilari> CubeHash seemingly has too much symmetry anyway...
12:26:42 <Deewiant> If you insist, N = 4.
12:27:03 <elliott> Ilari: Sorry, but I don't consider a one-line IRC statement more reliable than an excellent cryptographer :-)
12:27:34 <elliott> 02:25:55 <zzo38> I have just finished playing a game titled "Square Circle". You do have to make a square circle in that game. They say you commit a crime that you are not allowed to know, but you can be freed if you make a square circle. But this is all a lie made up by the government.
12:27:34 <elliott> What.
12:27:46 -!- poiuy_qwert has quit (Read error: Operation timed out).
12:28:23 <elliott> 03:17:08 <fizzie> Ilari: The dreaded Y4772 problem, for all of us who stupidly allocated memory space for only five symbols in our Long Count using date systems.
12:28:28 <elliott> fizzie: Convince me not to write a library that does this.
12:28:37 <elliott> Or, no, wait! Get ais523 to put it into AceHack.
12:28:43 <elliott> Although he'll probably find that it /already/ has some of that.
12:28:45 <Deewiant> 02:25? Are you in the USA now?
12:28:57 <fizzie> He's in the army now.
12:29:44 -!- reiffert has joined.
12:30:39 <elliott> Deewiant: http://tunes.org/~nef/logs/esoteric/10.12.14
12:30:50 <elliott> But yes, I'm in the army, brutally mauling puppies.
12:31:10 <elliott> Why I joined the /US/ Army to do that is anyone's guess.
12:31:12 <Deewiant> Right, didn't notice you joined.
12:31:33 <elliott> Deewiant: Or, in other words, no, but clog is in the US.
12:31:34 <elliott> Army.
12:31:41 <elliott> Presumably it mauls puppies in a brutal fashion over HTTP.
12:32:49 <Deewiant> Alternatively, it doesn't denote AM/PM and is somewhere in Russia.
12:33:45 <elliott> Deewiant: Thank you, I vastly prefer that interpretation.
12:34:00 <elliott> Deewiant: Presumably "23:59:59" at the end of yesterday's log is 23:59 am.
12:34:44 <Deewiant> Earth does have 4 corner simultaneous 24 hour days, you know.
12:34:54 -!- poiuy_qwert has joined.
12:35:10 <elliott> Deewiant: Do you just have a bank of possible references to reply to almost any statement? :-P
12:35:12 <elliott> [[1.5 Lua seems very verbose. Why isn't it like C?
12:35:12 <elliott> The compactness of C (and the Unix environment in which it grew up) comes from the technical limitations of very clunky teleprinters. Now we have tab completion and smart editors which can do abbreviations, so it doesn't really take more time to type Lua than C.]]
12:35:20 <elliott> I like how they don't bother mentioning *reading* the code at all.
12:35:37 <Deewiant> Probably not "any", no.
12:53:17 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
12:54:54 -!- poiuy_qwert has joined.
12:55:29 <elliott> `addquote <oklofok> i love this show, it's like watching puppies fighting to death <oklofok> you know it's really wrong <oklofok> but oh god <oklofok> you can't stop watching
13:05:37 -!- oerjan has joined.
13:06:14 -!- ais523 has joined.
13:12:23 <elliott> ais523: hi
13:12:55 <ais523> hi
13:13:17 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
13:13:19 <elliott> ais523: btw, re: should the first revision contain an empty / directory, I'm not sure; shouldn't the first revision add that?
13:13:25 <elliott> (to continue an hours-old conversation...)
13:13:39 <elliott> ugh, [[cpio]] has an infobox just titled "cpio" that lists information for GNU cpio
13:13:45 <elliott> systematic bias ahoy
13:14:54 -!- poiuy_qwert has joined.
13:17:41 <elliott> ais523: hmm
13:17:43 <elliott> ais523: "For instance, the size of the cloned git repository (all history, branches, tags, etc.) for the Linux kernel is approximately the size of the checked-out uncompressed HEAD, whereas the equivalent checkout of a single branch in a centralized checkout would be the compressed size of the contents of HEAD (except without any history, branches, tags, etc.)."
13:17:52 <elliott> ais523: wikipedia suggests (to me) that git compresses everything
13:18:01 <elliott> so perhaps it /does/ have multiple copies of Linux in there, just compressed
13:18:08 <elliott> and probably compressed relative to each other, too
13:19:02 -!- poiuy_qwert has quit (Ping timeout: 245 seconds).
13:20:29 <elliott> ais523: BTW http://projects.haskell.org/camp/
13:20:38 <elliott> ais523: a darcs offshoot research VCS
13:20:42 <elliott> yet more competition to scout out :-P
13:20:49 <elliott> Coq-formalised, too
13:25:19 <elliott> GNU All-Permissive License
13:25:19 <elliott> This is a simple permissive free software license, compatible with the GNU GPL, which we recommend GNU packages use for README and other small supporting files. All developers can feel free to use it in similar situations.
13:25:19 <elliott> Older versions of this license did not have the second sentence with the express warranty disclaimer. This same analysis applies to both versions.
13:25:22 <elliott> heh, gnu have their own ISC license
13:25:25 <elliott> http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html
13:26:15 <oerjan> <Ilari> Seriously, that name containing the ø is pain to type...
13:26:28 <oerjan> I HAVE _NO_ IDEA WHAT YOU'RE BABBLING ABOUT
13:27:01 <elliott> maybe we'll just replace it with an o, Orjan
13:27:08 <oerjan> although that tl at the end doesn't look particularly norwegian/danish
13:27:11 * elliott gets swiftly banned
13:27:41 <oerjan> i already replaced it with oe, duh
13:29:49 <elliott> oerjan: yeah but oe is actually vaguely accurate :D
13:30:10 <elliott> oerjan: you'll be pleased to know i mentally pronounce your name as "oar-dshjan"
13:30:20 <elliott> where dshj is a combination of dj and sh-n
13:30:36 <elliott> oerjan: or on a good day, oer-JAn
13:30:42 <elliott> where J is hard
13:30:45 <elliott> you know what i mean
13:30:50 <oerjan> i already heard you pronounce it, remember? hm it seems you've deteriorated then
13:31:25 <elliott> oerjan: yeah that was when I had any sort of pretence of being able to get it right
13:32:21 <oerjan> the j should definitely not be an affricate
13:32:27 <fizzie> The backscroll is too long to read, so this might have been mentioned already: but git initially just stores each file into a separate file named after the hash (so identical files are stored only once, but it doesn't use delta-based representation); then every now and then when it deciders to stick all the free-floating objects into a compressed pack file, there it uses both full files and deltas.
13:33:56 <elliott> ais523: wow: " The license is a free software license, incompatible with the GPL. It permits relicensing under a certain class of licenses, those which include all the requirements of the Jabber license. The GPL is not a member of that class, so the Jabber license does not permit relicensing under the GPL. Therefore, it is not compatible."
13:34:09 <elliott> ais523: is that the first license incompatible with the GPL /because it aims to be more compatible/?
13:34:19 <fizzie> (I don't know how it decides which files to store "deltified" and which "undeltified" -- Official Terms from http://www.kernel.org/pub/software/scm/git/docs/technical/pack-format.txt -- or whether it uses the revision-history relationships to look for candidates to deltify.)
13:34:28 <elliott> fizzie: right, it's just scapegoat makes much less sense than git, so it's hard to understand how its storage model applies :D
13:34:44 <elliott> fizzie: considering the whole thing's mostly based on patching patches.
13:35:28 <fizzie> I'm not going to get into your blameable-mammal discussion, it's already too long to jump in; that was just an aside.
13:36:20 <elliott> fizzie: the basic problem is: checking out revisions is Hard when you have to trace N diffs for large N and reassemble the result. But storing multiple copies of the whole tree at periodic points sounds Big(TM).
13:36:40 <elliott> fizzie: so the question was basically "wait, how come linux's git tree isn't very big at all really, but checkouts are still fast?".
13:37:06 <elliott> ais523: clever: [[The reason that this is useful is for the "camp send" command. Rather than, as in darcs, having a separate concept of a "patch bundle", and a separate "camp apply" function to apply them, we can just use the "camp pull" command. We get the interactive patch selection etc for free.]]
13:38:58 <fizzie> Well, the way git decides what to pack and where is "magic": http://www.kernel.org/pub/software/scm/git/docs/technical/pack-heuristics.txt (that's convoluted IRC discussion about it is the official documentation, it seems)
13:40:14 <elliott> fizzie: I've seen this file before...
13:40:17 <fizzie> s/'s//
13:40:56 -!- zzo38 has quit (Quit: Big Brother Is Phishing You.).
13:41:16 <elliott> fizzie: But, summarise it for me: If we have a crazy recursive patch system that takes an awful long time to check out a revision, and we use this to store full copies of (things) at various (points in time), and (possibly compress them), can this give us fast checkouts without huge repositories?
13:41:21 <elliott> SURELY AN EASY QUESTION TO ANSWER
13:42:21 <fizzie> With sufficient magic, I'm sure it can! (Read: I'm still not going to get involved here.)
13:42:39 <elliott> fizzie: BUT IT'S THE BEST VCS /EVER/
13:43:26 <fizzie> Yes, I'll be sure to try it out after you have made it.
13:43:56 <elliott> fizzie: Are you *sure* you want to commit to that?
13:44:20 <elliott> fizzie: You'll have directory trees cluttered up with +scapegoat! Can you even *talk* to a man who would name a directory entry that?
13:44:40 <elliott> And really, immutable functional weenie storage -- do you trust people like that?
13:44:49 <fizzie> What, not going with Gregor's not-in-anyone's-font-ever GOAT? Well, still.
13:45:18 <oerjan> if mutation was good enough for darwin...
13:45:41 <elliott> fizzie: Can you TRUST a program that, when discussed about, was so hopelessly generic that the command "sg give-me-a-reasonable-cwd" was discussed?!
13:45:42 <fizzie> Well, I would like my weenie to be safe...
13:46:00 <elliott> YOUR WEENIE WILL NOT BE PROTECTED FROM THE GOAT AT ANY POINT IN TIME
13:49:36 -!- poiuy_qwert has joined.
13:59:13 -!- augur has quit (Remote host closed the connection).
13:59:56 -!- augur has joined.
14:02:31 -!- ais523 has quit (Remote host closed the connection).
14:04:42 -!- augur has quit (Ping timeout: 250 seconds).
14:04:57 -!- sftp has joined.
14:18:12 -!- nooga has quit (Ping timeout: 245 seconds).
14:18:17 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
14:19:54 -!- poiuy_qwert has joined.
14:22:16 -!- Wamanuz has joined.
14:37:22 -!- poiuy_qwert has quit (Ping timeout: 245 seconds).
14:41:56 -!- augur has joined.
14:43:38 -!- MigoMipo has joined.
14:50:01 <elliott> One-operand OISCs without accumulators. Discuss.
14:51:00 <reiffert> O is?
14:51:59 <elliott> reiffert: ?
14:52:05 <elliott> reiffert: Oh, One.
14:52:11 <elliott> http://esolangs.org/wiki/OISC
14:52:58 <elliott> http://esolangs.org/wiki/RSSB is 1-operand, but has an accumulator; http://esolangs.org/wiki/TOGA_computer is two-operand, with no accumulators.
14:54:15 * reiffert raises the Bushmills flag
14:57:12 <reiffert> OISC without accumulator translates like OISC without registers, slow and direct addressing required?
14:57:49 -!- nooga has joined.
14:58:58 <nooga> haa
15:01:54 <nooga> oerjan: nice topic
15:03:13 <oerjan> mu
15:13:04 <nooga> mu?
15:13:47 <oerjan> http://en.wikipedia.org/wiki/Mu_(negative)
15:14:22 <nooga> oh right
15:17:53 -!- ais523 has joined.
15:24:34 <ais523> elliott: sorry about not replying earlier, I was in a meeting and it looks like the wireless went down when I was there
15:24:44 <elliott> ais523: oh, that's okay
15:24:52 <elliott> reiffert: who cares about speed :)
15:25:00 <elliott> ais523: did you see the messages, though?
15:25:06 <elliott> if not, clog :P
15:27:14 <ais523> elliott: the most recent nickping of yours that I saw before I rejoined was <elliott> ais523: clever: [[The reason that this is useful is for the "camp send" command. Rather than, as in darcs, having a separate concept of a "patch bundle", and a separate "camp apply" function to apply them, we can just use the "camp pull" command. We get the interactive patch selection etc for free.]]
15:27:22 <ais523> is that the most recent, or should I clog?
15:28:14 <elliott> ais523: well, there's more before that
15:28:25 <ais523> I know, I saw everything before
15:28:28 <elliott> ah
15:28:31 <ais523> I was just showing the last oen
15:28:32 <ais523> *one
15:30:27 <elliott> ais523: Any replies re: empty directory on first change; camp?
15:30:33 <elliott> (Two questions.)
15:31:39 <ais523> I'd say the repo doesn't, platonically, exist at all until there's something in it
15:31:52 <elliott> ais523: well, yes, but I mean what "sg init" creates
15:32:07 <elliott> ais523: obviously, it needs 1 patch in there, that everything else is based on, right?
15:32:27 <ais523> hmm, I think so, yes
15:33:09 <ais523> but checking the directories is how you determine if two repos are currently the same project or not, effectively
15:33:17 <ais523> you can split them apart and join them, but that's an explicit change to the arrangement
15:33:27 <ais523> so, if you didn't have any changes at all, how would you know where to commit?
15:33:37 <ais523> thus, we need to decide whether the repo's created by sg init or sg commit
15:33:48 <ais523> the second would be perverse, but has a certain logic to it
15:33:58 <ais523> (in which case, sg init would just set the metadata ready for a repo to be created)
15:36:42 <elliott> ais523: well, one could argue that, if you need 1 god patch to base everything on, there's no reason it can't be the first
15:36:53 <elliott> you can't say "but you need a patch to base patches on!" and then say that 1 patch doesn't need to be based on any
15:38:14 <ais523> directories don't need to be based on anything
15:38:28 <ais523> although you can't merge them together without adding a relationship between them and some other directory
15:38:33 <elliott> ais523: sure they do; patches don't have an "insert X", they just have "append X after Y"
15:38:38 <elliott> so you need an Empty Directory to base things on
15:38:45 <elliott> with... one item
15:38:46 <elliott> inexplicably
15:38:49 <ais523> no, no items
15:38:58 <ais523> "insert new empty file in Z" only requires a directory to insert it in
15:39:00 <elliott> ais523: then how do you add an item?
15:39:07 <elliott> ais523: ok, consider a file with 0 lines
15:39:09 <elliott> how do you append a line?
15:39:46 <ais523> "add 'x' between start of file added by 5, and end of file added by 5"
15:40:13 <ais523> giving BOF and EOF their own hashes would probably make the actual storage a little simpler
15:40:31 <ais523> but the point is just what they're added between, which is the start and end of the empty file
15:40:54 <elliott> fair enough
15:40:59 <elliott> ais523: what about the fact that directories are unordered?
15:41:03 <elliott> you can't have "add X between"
15:41:54 <ais523> you just have "add X into"
15:42:02 <ais523> the "between" is only important for preserving order
15:42:08 <ais523> if you don't care about preserving order, you just give the parent
15:42:33 <ais523> e.g. if you have a directory containing files called a.txt and d.txt, you don't want to conflict on adding b.txt just because someone else added c.txt
15:42:38 <ais523> nor would there be any sensible reason to do so
15:43:00 <ais523> so directories have different operations from files because they're inherently different structures
15:43:21 <ais523> (likewise, if you were versioning, say, a key-value store, you'd have "add into", "change", "delete" because order doesn't matter)
15:47:44 -!- nopseudoidea has joined.
15:57:16 -!- augur has quit (Remote host closed the connection).
16:04:24 -!- Phantom_Hoover has joined.
16:10:37 -!- augur has joined.
16:13:54 -!- sebbu2 has quit (Read error: Connection reset by peer).
16:14:26 -!- sebbu has joined.
16:16:10 -!- augur has quit (Remote host closed the connection).
16:21:26 -!- ais523 has quit (Remote host closed the connection).
16:23:44 -!- nopseudoidea has quit (*.net *.split).
16:32:52 -!- nopseudoidea has joined.
16:37:21 -!- nopseudoidea has quit (Client Quit).
16:44:37 -!- augur has joined.
16:45:01 -!- augur has quit (Remote host closed the connection).
16:49:28 -!- augur_ has joined.
16:53:25 -!- Alhwawi_ has joined.
16:53:38 <Alhwawi_> Hi
16:53:59 <Alhwawi_> Any one here
16:54:01 <elliott> nope
16:54:14 <Alhwawi_> How r u
16:54:49 <elliott> Alhwawi_: this channel is about programming btw
16:59:40 <Vorpal> hah at the topic
17:03:17 <Vorpal> ¬confused → ¬understood, And it is well known that being confused about something means you don't understand it. Thus ¬understood → confused. Which means ¬confused → confused.
17:04:51 -!- Alhwawi_ has quit (Quit: Rooms • iPhone IRC Client • http://www.roomsapp.mobi).
17:05:04 <Vorpal> if we are confused, then we might have understood it. And since I feel this is pretty confusing, I'd say that confused is true. However, I can't from that conclude I understood it since we have an implication at hand (not an equivalence)
17:05:22 <Vorpal> oerjan, is my analysis of the topic you set correct?
17:05:30 <oerjan> MU
17:05:53 <Vorpal> oerjan, what is the right question then?
17:06:04 <oerjan> MU
17:06:17 * oerjan cackles evilly
17:06:26 -!- atrapado has quit (Read error: Connection reset by peer).
17:06:46 <Vorpal> + Topic for #esoteric set by oerjan!oerjan@tyrell.nvg.ntnu.no at Mon Dec 13 05:50:37 2010 <-- from this we can conclude you set the topic, thus I'm not asking the wrong person (if you changed something else then that's your own fault)
17:06:47 -!- Alhwawi has joined.
17:06:52 -!- Sasha2 has joined.
17:06:58 <Alhwawi> Any one here ??
17:07:14 <oerjan> ...
17:07:32 -!- Sasha has quit (Read error: Connection reset by peer).
17:07:39 <Vorpal> ∃x : in-#esoteric(x)
17:07:47 -!- Alhwawi has left (?).
17:08:09 <Vorpal> oerjan, did the unicode work for you?
17:08:18 <Vorpal> (iirc you got it working some time ago?)
17:08:19 <oerjan> um no
17:08:29 <Vorpal> oerjan, was \exists
17:09:09 <oerjan> my font includes little outside latin scripts
17:09:19 <Vorpal> oerjan, oh. Tried dejavu?
17:09:43 <oerjan> i haven't tried anything
17:13:52 <elliott> <Vorpal> ¬confused → ¬understood, And it is well known that being confused about something means you don't understand it. Thus ¬understood → confused. Which means ¬confused → confused.
17:13:57 <elliott> Vorpal: wow you're like a master of formal logic
17:14:27 <Vorpal> elliott, stop being sarcastic
17:14:40 <elliott> okay. wait, let me reconsider. no.
17:14:41 <Vorpal> elliott, it was of course not serious meant
17:15:33 <Vorpal> elliott, the whole "And it is well known that being confused about something means you don't understand it" bit is obviously bogus (using confused in another, though related, sense)
17:15:34 <oerjan> Vorpal: it doesn't look like it supports windows...
17:15:44 <elliott> oerjan: it's just a ttf.
17:15:47 <Vorpal> oerjan, ... what? it is just a true type font
17:15:59 <elliott> and people use it on windows
17:16:03 <oerjan> i know very little about fonts
17:16:15 <oerjan> i just didn't see any mention of windows on the page
17:16:18 <elliott> oerjan: http://sourceforge.net/projects/dejavu/files/dejavu/2.32/dejavu-fonts-ttf-2.32.zip
17:16:19 <elliott> :p
17:16:21 <Vorpal> hm. not sure that symbol is from it. It looks badly hinted
17:16:30 <elliott> drag contents to Control Panel -> Fonts
17:16:37 <Vorpal> the system might be picking it from elsewhere
17:17:47 * oerjan is suspicious that the mono is sans serif only...
17:18:22 <elliott> oerjan: it is.
17:19:12 <elliott> oerjan: Luxi Mono I think has decent unicode support, and is serif'd
17:19:26 <elliott> it's in http://xorg.freedesktop.org/releases/individual/font/font-bh-ttf-1.0.2.tar.bz2
17:19:37 <elliott> the luxim* files
17:19:47 -!- ais523 has joined.
17:19:54 <elliott> i have no idea how much unicode it does, though
17:19:54 <elliott> hi ais523
17:19:55 <oerjan> hm maybe i'll try that instead
17:20:09 <Vorpal> elliott, unless he has extremely high res screen, then serif isn't very good on screen
17:20:29 <oerjan> i'm already used to serif, is all
17:20:31 <elliott> Vorpal: that is incorrect.
17:20:33 <ais523> hi elliott
17:20:44 <elliott> and i don't think telling oerjan "your opinions are wrong!" is productive at all
17:20:55 <ais523> elliott: *most systems render serif in an ugly way?
17:21:06 <ais523> I have seen serif rendered well on screen, but it's rare
17:21:07 <Vorpal> elliott, oh, you mean he use a line printer for irc?
17:21:17 <elliott> ais523: you use terrible settings, though
17:21:23 <elliott> ais523: (and so do most people/OSes)
17:21:35 <ais523> elliott: well, this OS renders much better than most of the others I use
17:21:45 <ais523> worst is probably Adobe Reader on CentOS
17:21:54 <ais523> which manages to screw up kerning incredibly badly
17:22:06 <ais523> it's as if any given pair of letters is kerned at random
17:22:17 <elliott> enough about this, let's talk about everyone's favourite subject -- scapegoat!
17:22:24 <elliott> (EVERYONE'S)
17:22:44 <Vorpal> hm wouldn't a normal res screen, but larger, brighter, and further away, give pretty much the same result as a high res screen?
17:23:10 <elliott> no, your eyes have faeries in them and would blind you if you tried to do that.
17:23:29 <ais523> Vorpal: obviously no, it has a lower bandwidth
17:23:37 <ais523> (assuming that it has the same refresh rate)
17:24:06 <Vorpal> ais523, ... wait, you mean for the GPU<->display connection?
17:24:09 <ais523> (note: applying communications theory to font rendering doesn't normally work, but it can at least prove the most egregious statements wrong instantly)
17:24:15 <ais523> Vorpal: no, for the screen<->eyes connection
17:24:44 <Vorpal> ais523, hm. Lower bandwidth how?
17:24:55 <ais523> there's just less information being sent
17:25:27 <ais523> e.g. the pixels are coarser, so the shapes of the letters aren't as defined, and that has nothing to do with the brightness of the screen
17:25:58 <ais523> hmm, I assumed that by "normal res" and "larger" you meant, say, "1024x768, but on a larger monitor"
17:26:07 <Vorpal> ais523, err, did I say res? I meant dpi
17:26:08 <ais523> I suppose "resolution" is ambiguous in this context
17:26:17 <oerjan> elliott: should i copy the entire archive to Fonts, or just the contents of the ttf/ directory?
17:26:27 <elliott> oerjan: just the .ttf files.
17:26:53 <elliott> oerjan: you *may* need to extract the archive to a normal directory first, but dragging is worth a try.
17:27:49 <Vorpal> ais523, so if it scales so the size in your field of view is the same, and the size of each pixel is the same, then you just need to take care of light level (since the light is not unidirectional). Maybe focusing distance would cause an issue
17:27:56 <Vorpal> which is what I was wondering about
17:28:09 <Vorpal> s/cause an issue/be an issue/
17:31:25 <oerjan> gah this looks horrible
17:32:02 <elliott> oerjan: JUST INSATLL UBUNTU AND ALL; YK OUR PROBLEMS WIL BE FIX
17:32:44 <oerjan> and also i'm suspicious that putty didn't say anything about it containing any chinese or japanese characters, in fact the list of scripts was precisely the same as for courier new
17:32:56 <Vorpal> elliott, does windows try to use other fonts if it can't find anything in the current font for a given codepoint?
17:33:19 <elliott> Vorpal: no it just puts a little picture of adolf hitler there
17:33:29 <Vorpal> elliott, ....
17:33:30 <elliott> oerjan: i didn't actually check if it has jewnicode :D
17:33:32 <oerjan> Vorpal: windows might i don't know, but putty certainly doesn't
17:33:40 <elliott> (adolf hitler hates jewnicode, that's why he replaces the glyph)
17:33:43 <oerjan> elliott: er...
17:33:51 <elliott> oerjan: by jewnice i mean unicode.
17:33:54 <elliott> *jewnicode
17:33:58 <elliott> it's actually a jew plot.
17:34:00 <Vorpal> oerjan, I suspect elliott is sleep-deprived
17:34:02 <oerjan> i understood that
17:34:07 <oerjan> Vorpal: well so am i
17:34:09 <elliott> oerjan: just trying to help out
17:34:44 <elliott> oerjan: UBUNTU EVERY SONG OF THE DOVE IS IXED
17:34:46 <elliott> FXIED
17:35:27 <Vorpal> oerjan, anyway, *if* windows or putty tries to find the symbol in other fonts, then dejavu sans has \exists
17:36:15 <elliott> Vorpal: oh yeah cuz substituting a non-mono character in mono text is just a great idea
17:36:49 <Vorpal> elliott, let me check mono too
17:37:12 <Vorpal> elliott, mono has it too
17:37:16 <Vorpal> elliott, so your point is moot
17:37:28 <oerjan> Vorpal: putty doesn't even try to substitute the CJK characters that i do have in other mono fonts
17:37:36 <Vorpal> huh
17:37:47 <oerjan> it seems to use the selected font, only
17:37:49 <Vorpal> oerjan, but shouldn't this be handled by the system text rendering API?
17:37:58 <Vorpal> and happen transparently to the application
17:38:00 <elliott> oerjan: if you answer, Vorpal will start ranting about your OS.
17:38:22 <oerjan> elliott: i suspect putty more than windows on this point
17:38:24 <Vorpal> elliott, look, on linux it happens in cairo or fontconfig or something. It is just as messy
17:38:32 <elliott> that won't stop you :)
17:38:37 <oerjan> maybe i should actually upgrade putty, it's probably from 2006
17:38:40 <elliott> oerjan: why not just use a windows irc client... i mean it's just an idea :P
17:38:51 <Vorpal> elliott, I could rant about the linux implementation too
17:38:56 <elliott> oerjan: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
17:39:59 <Vorpal> elliott, I'm not sure where text rendering should happen. On one hand, there is a good case for not putting it in the display server. On the other hand, having it everywhere is a messy solution too
17:40:12 <elliott> Vorpal: shouldn't it just be a library.
17:40:20 <oerjan> Vorpal: also e.g. IE _does_ substitute when i look at the logs e.g., but the mononess is ruined
17:40:22 <elliott> "servers" are basically useless
17:40:33 <Vorpal> elliott, so what will elliotOS do?
17:40:35 <Vorpal> tt*
17:40:43 <elliott> whenever you see a server in linux, it's usually a library that does privileged stuff but that is called from user code
17:40:46 <elliott> which unix can't handle
17:40:48 <elliott> so it has to be a server
17:40:56 <elliott> server as in X server not httpd
17:42:49 <Vorpal> elliott, where will elliott OS do font rendering?
17:43:36 <elliott> Vorpal: in your heart
17:44:22 <Vorpal> elliott, ...
17:45:02 -!- augur_ has changed nick to augur.
17:45:59 <Vorpal> U+22D8 VERY MUCH LESS-THAN ⋘ <--- "much less than" I knew about, but this one I never heard of before
17:47:39 <elliott> ⋘⋘⋘⋘⋘⋘⋘⋘⋘⋘⋘⋘⋘⋘⋘
17:47:56 <Vorpal> elliott, I found no "way way less than" sadly
17:53:16 <Vorpal> elliott, btw you said that substituting non-monospace for monospace missing codepoint is bad. Yes indeed. But is it worse than not being able to show the information?
17:54:12 <elliott> information is in your mind
17:54:20 <Vorpal> elliott, that is not an answer
18:02:22 -!- Vorpal has quit (Ping timeout: 252 seconds).
18:03:19 -!- Vorpal has joined.
18:03:53 <fizzie> Vorpal: There is, however, ⪡ and ⫷; 2AA1 and 2AF7, double/triple nested less-than.
18:04:05 <Vorpal> jm
18:04:06 <Vorpal> hm*
18:04:23 <Vorpal> <elliott> information is in your mind <Vorpal> elliott, that is not an answer <-- last I saw
18:09:09 <Phantom_Hoover> <fizzie> Vorpal: There is, however, ⪡ and ⫷; 2AA1 and 2AF7, double/triple nested less-than.
18:10:22 <Phantom_Hoover> fungot, you're alive!
18:10:23 <fungot> Phantom_Hoover: that interpreter is slow.' wrong: there are 3 different tape types... no ends... one end... 2 ends and c begins... and otherwise. i just check if one is willing to fight chuck norris. :p
18:11:47 <Zuu> wazzaaa
18:12:34 <Phantom_Hoover> fizzie, I still want my duel.
18:19:19 <elliott> ais523: you there?
18:45:04 -!- Sasha2 has quit (Ping timeout: 250 seconds).
19:00:45 <Vorpal> elliott, ever used nexttoward() ?
19:01:05 <Vorpal> (or nextafter)
19:01:38 <elliott> Vorpal: Nope.
19:01:41 <elliott> Vorpal: I don't touch math.h generally.
19:01:56 <elliott> Especially floats.
19:01:56 <Vorpal> elliott, seems python has no mapping for nextafter() hm
19:02:02 <elliott> Floats make me cry.
19:02:10 <Vorpal> elliott, these are for double
19:02:11 <Vorpal> not float
19:02:17 <elliott> Ah.
19:02:24 <elliott> Can't you write it in Python, given the double epsilon?
19:02:50 <Vorpal> elliott, well, presumably I could. The trick is figuring out said epsilon
19:04:27 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:04:30 <Vorpal> elliott, OR I could just create a binding with cython :D
19:04:44 <elliott> Vorpal: While x>0 { y=x; x/=2 }; return y
19:05:28 <elliott> Vorpal: wait, does python even have doubles?
19:05:36 <Vorpal> elliott, float in python is double
19:05:44 <Vorpal> elliott, it doesn't have single precision float
19:05:49 <elliott> Vorpal: oh right double is float
19:05:53 <elliott> I thought double was fixed-point there
19:06:32 <Vorpal> what?
19:06:50 <Vorpal> elliott, how do you use the epsilon now again to figure out how far it is to the next point, since the actual distance between the points you can represent will vary over the range
19:07:02 <Quadrescence> PYTHON FOLLOWS THE IEEE 764 FLOATING POINT STANDARD
19:07:14 <Quadrescence> I MEAN 754
19:07:16 <elliott> Quadrescence: THAT'S NICE TO KNOW
19:07:18 <elliott> WHY ARE YOU TELLING US
19:07:25 <Quadrescence> sounded relevant
19:07:34 <Vorpal> it doesn't does it? 1.0/0.0 is not inf
19:07:37 <elliott> <Vorpal> elliott, how do you use the epsilon now again to figure out how far it is to the next point, since the actual distance between the points you can represent will vary over the range
19:07:39 <elliott> i was assuming fixed-point
19:07:43 <Vorpal> elliott, ah
19:07:46 <Vorpal> elliott, well, it isn't
19:08:49 <Vorpal> elliott, besides fixed point would be highly inconvenient for this thing, since I need to work both with small number (0.00284 or so say) and huge numbers (10^40 or that range)
19:09:01 <Vorpal> or even larger
19:16:11 -!- calamari has joined.
19:18:56 -!- cheater99 has joined.
19:20:47 <fizzie> "You are at the mercy of the underlying machine architecture (and C or Java implementation) for the accepted range and handling of overflow." So the spec (2.6, 2.7, 3.1 all have the same text) doesn't exactly guarantee IEEE-754, but it might often be.
19:20:50 <fizzie> (Throwing an exception at 1.0/0.0 is perfectly valid, in fact one of the optional alternatives in the standard; though I guess for full compliance there should be some way of disabling it, and that -- the fpectl module -- is not built by default, it seems.)
19:38:03 <oerjan> "In My Egotistical Opinion, most people's C programs should be indented six feet downward and covered with dirt."
19:38:22 <oerjan> http://www.junauza.com/2010/12/top-50-programming-quotes-of-all-time.html
19:44:15 <Phantom_Hoover> [[44. "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone."- Bjarne Stroustrup 43. “Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.”- Eric S. Raymond]]
19:44:38 <elliott> Phantom_Hoover: Want to CODE FOR ME?
19:44:43 <elliott> Phantom_Hoover: Also, why did you quote esr.
19:44:44 <elliott> Whyyyyy.
19:44:45 <Phantom_Hoover> Two idiots. But which is right most times per day? There's only one way to find out...
19:44:51 <oerjan> there are some good ones in the comments too
19:44:51 <Phantom_Hoover> FIIIIIIIIGHT!
19:44:52 <elliott> Phantom_Hoover: Hey, Bjarne Stroustrup isn't an idiot.
19:44:55 <elliott> He's evil, sure.
19:44:58 <elliott> But he's not an idiot :P
19:45:20 <Phantom_Hoover> Oh, so those "spoof" interviews when he admits C++ was an evil plot were actually true?
19:45:37 <elliott> Phantom_Hoover: Pretty much! (Actually it's more like: he's a decent guy who had a really, really terrible idea and still hasn't realised that yet.)
19:46:16 <Phantom_Hoover> Remind me again of the well-articulated reasons C++ sucks/
19:46:51 <elliott> Phantom_Hoover: Ow ow ow ow ow ow pain ow.
19:47:05 <elliott> Phantom_Hoover: When parsing your language is Turing-complete, it's time to find a new language.
19:47:07 <Phantom_Hoover> *Well*-articulated.
19:47:17 <Phantom_Hoover> elliott, oh, operator overloading?
19:47:33 <elliott> Phantom_Hoover: Nope.
19:47:34 <Phantom_Hoover> Or templates?
19:47:35 <elliott> Phantom_Hoover: Templates.
19:47:38 <elliott> Phantom_Hoover: Because of <>
19:47:38 <Phantom_Hoover> Ah.
19:47:43 <elliott> < can be either less than or open template.
19:47:47 <elliott> Well, okay, that's just context-sensitivity.
19:47:55 <elliott> I don't recall if parsing it is TC, but IIRC it is.
19:48:00 <Phantom_Hoover> elliott, parsing Perl is TC.
19:48:07 <elliott> I know.
19:48:07 <Phantom_Hoover> Not sure about C++.
19:49:42 <Vorpal> <Phantom_Hoover> [[44. "I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone."- Bjarne Stroustrup 43. “Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.”- Eric S. Raymond]] <-- assuming the first one i
19:49:42 <Vorpal> s ironic (which seems patently obvious), it says something about modern landline telephones...
19:49:54 <Vorpal> the second one seems more idiotic
19:50:08 <Phantom_Hoover> That is because ESR is fractally wrong.
19:50:25 <Phantom_Hoover> His whole worldview is wrong, and if you zoom in on any part of that worldview, it's still wrong.
19:50:49 <Vorpal> <elliott> Phantom_Hoover: Pretty much! (Actually it's more like: he's a decent guy who had a really, really terrible idea and still hasn't realised that yet.) <-- arguably the original "C with objects" was not quite as bad as what C++ turned out as
19:52:15 <Vorpal> elliott, that said, C with object wasn't exactly good either. But it it wasn't the nightmare that modern C++ is
19:52:23 <Vorpal> objects*
19:54:02 <elliott> [[
19:54:02 <elliott> 26. "In theory, theory and practice are the same. In practice, they’re not."
19:54:02 <elliott> - Yoggi Berra]]
19:54:03 <elliott> grr.
19:54:05 <elliott> I hate that quote.
19:54:13 <elliott> Theory doesn't match practice --> theory sucks.
19:54:31 <oerjan> in theory that's a good quote
19:54:54 <Vorpal> elliott, in theory, the theories do match practise, in practise they don't ;)
19:55:09 <elliott> Vorpal: ...that's what the quote said
19:55:21 <elliott> you just reproduced it almost word for word.
19:55:35 <oerjan> have to agree with elliott there
19:56:10 <Vorpal> elliott, actually what you did too
19:56:15 <Vorpal> <elliott> Theory doesn't match practice --> theory sucks.
19:56:21 <Vorpal> that is what the original quote said too
19:56:25 <Vorpal> most theories suck
19:56:46 <Vorpal> which is just really a pessimistic worldview
19:56:48 <elliott> ...no, it isn't
19:56:55 <Vorpal> elliott, it implies that
19:56:55 <elliott> that's not even remotely what the quote said
19:56:58 <elliott> no it doesn't.
19:57:02 <Vorpal> elliott, yes it does
20:13:36 <Phantom_Hoover> [[24. "PHP is a minor evil perpetrated and created by incompetent amateurs, whereas Perl is a great and insidious evil, perpetrated by skilled but perverted professionals." ]]
20:13:44 <Phantom_Hoover> Would that PHP were minor.
20:15:31 <Phantom_Hoover> [[7. “Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.”]]
20:15:53 <Phantom_Hoover> That shows blatant ignorance of the construction of the pyramids.
20:27:33 <Gregor> Phantom_Hoover: It's not minor, it's a minor evil.
20:27:46 <Gregor> Phantom_Hoover: Compared to Perl, PHP is downright refined.
20:28:00 <Phantom_Hoover> ...
20:28:29 <Phantom_Hoover> Surely that puts Perl so far into language hell it's squishing C++?
20:41:29 -!- augur has quit (Remote host closed the connection).
20:41:32 -!- griffiw has joined.
20:41:43 -!- griffiw has left (?).
20:44:57 -!- oerjan has quit (Quit: Good night).
20:46:45 <pikhq> PHP is definitely a great evil.
20:46:53 <pikhq> Perl, however, is clearly the work of Morgoth.
20:49:54 <coppro> perl 6 4 life yo
20:55:48 <olsner> calling PHP evil is an insult to all the properly evil languages (like perl)
20:55:58 <olsner> PHP is just stupid
20:58:18 <elliott> ais523: ping
21:04:22 <Gregor> Phantom_Hoover: Perl makes C++ look downright angelic.
21:06:55 <pikhq> olsner: Stupidity is a high form of evil.
21:09:25 <olsner> pikhq: I don't think so, for one stupid people usually don't mean any harm by what they're doing
21:09:26 <Phantom_Hoover> Gregor, pikhq seriously?
21:09:41 <olsner> Perl, otoh, is deliberated :P
21:09:55 <Gregor> coppro: Perl 6 will make Perl 5 look squeaky-clean :P
21:09:58 <Gregor> Phantom_Hoover: Quite.
21:10:38 <Phantom_Hoover> olsner, those who refuse to acknowledge that they are stupid, or worse, take pride in their stupidity, are being evil.
21:10:38 <Phantom_Hoover> Gregor, where lies the evil in Perl?
21:11:15 <Gregor> $_
21:11:25 <Phantom_Hoover> Is it the boring, bloody-minded evil of PHP and C++ taken to the extreme, or is it creative, Malbolgey evil?
21:11:27 <olsner> iirc, in PHP's case the original author(s) have freely admitted not having a clue
21:11:54 <coppro> Gregor: $_ is no longer implicit in Perl 6
21:12:08 <coppro> though it can be accessed through the alternative name ""
21:12:42 <Gregor> Phantom_Hoover: With PHP it's incompetence. With C++ it's overengineering. With Perl, it's boldfaced evil.
21:12:45 <elliott> coppro: Please tell me the empty string actually evaluates to $_.
21:12:45 <Gregor> coppro: ...???
21:12:55 <elliott> coppro: As in,
21:12:58 <elliott> coppro: '"' '"'
21:13:03 <elliott> coppro: Rather than (empty string) :P
21:13:06 <elliott> Thus
21:13:10 <elliott> print "" foreach @blah
21:13:37 <Phantom_Hoover> Gregor, ah, so Malbolgey evil that everyone else is too stupid to see?
21:14:07 <Gregor> Phantom_Hoover: Most people see it. It also has CPAN :P
21:14:14 <olsner> it's a malbolgey evil disguised as usefulness
21:14:50 <Phantom_Hoover> Gregor, so it's Malbolgey evil that everyone sees but ignores because...?
21:15:01 * elliott downloads j602a_linux64.sh.
21:15:04 <elliott> The only sane programming environment!
21:15:06 <elliott> Or close, anyway.
21:15:14 <elliott> Phantom_Hoover: Because it's BRILLIANT, Malbolgey evil.
21:15:19 <Gregor> Phantom_Hoover: Because it's easy to write a lot of code quickly in it ... so long as you never need to read it again.
21:15:25 <elliott> Phantom_Hoover: $ wget http://www.jsoftware.com/download/j602a_linux64.sh
21:15:27 <elliott> Phantom_Hoover: Post haste!
21:16:01 <Phantom_Hoover> elliott, tell me what it is immediately.
21:16:13 <olsner> oh, J ... too bad it doesn't handle ~ in my keymap, and ~ is a frequently used operator
21:16:23 <elliott> Phantom_Hoover: J, version 602, Linux 64-bit edition.
21:16:26 <elliott> *602a
21:16:26 <Phantom_Hoover> Gregor, that's evil that is worthy of respect.
21:16:31 <elliott> olsner: Whut? It's just Java-based, the UI.
21:16:40 <Phantom_Hoover> elliott, cool or evil?
21:16:52 <elliott> Phantom_Hoover: The only sane programming environment! Proprietary but them's the breaks
21:16:58 <elliott> Phantom_Hoover: It's like APL.
21:17:03 <elliott> It's basically ASCII APL :P
21:17:14 <Phantom_Hoover> elliott, APL the notorious?
21:17:17 <elliott> Phantom_Hoover: Here's a program to compute the average of an array: +/%#
21:17:26 <olsner> elliott: hmm... I wonder how they managed to break Java :/
21:17:28 <elliott> + is addition, / means "over" (fold, like foldr in Haskell)
21:17:29 <elliott> % means divide
21:17:31 <elliott> # means length
21:17:33 <elliott> +/ % #
21:17:35 <elliott> sum divide length
21:17:42 <elliott> (+/%#) 1 2 3 4 ====> 2.5
21:17:48 <elliott> avg =: +/%#
21:17:53 <elliott> avg 1 2 3 4 ====> 2.5
21:17:58 <Phantom_Hoover> I assume that the open-source APL derivatives suck?
21:18:06 <elliott> Phantom_Hoover: Pretty much :P
21:18:09 <elliott> There's just A+ and it's lame.
21:18:16 <elliott> K is super-proprietary and not even free.
21:18:20 <elliott> J is nice and cosy.
21:19:19 <Vorpal> <Gregor> Phantom_Hoover: Most people see it. It also has CPAN :P <-- the tool or the website? the website is not bad as such. Modelled after the godly ctan iirc
21:19:31 <elliott> ctan is more painful than godly.
21:19:52 <Vorpal> elliott, how is ctan painful?
21:20:03 <elliott> Because it is.
21:20:19 <Vorpal> elliott, which bit of it annoys you
21:20:30 <elliott> The painful bit.
21:20:38 <Vorpal> elliott, the concept of a central repo for latex packages?
21:20:50 <Vorpal> I have to presume you hate that
21:20:59 <Vorpal> since you are completely unhelpful
21:21:05 <Phantom_Hoover> elliott, "java64: not found"
21:21:08 <Phantom_Hoover> Not impressed.
21:21:14 <elliott> Phantom_Hoover: You have to edit bin/jwd.
21:21:16 <elliott> s/java64/java/.
21:21:17 <Vorpal> Phantom_Hoover, why java64?
21:21:30 <elliott> Phantom_Hoover: The UI is Java-based, but the language itself is written in C :P
21:21:41 <elliott> Phantom_Hoover: Let me put it this way: J and Python are the only languages oklopol likes.
21:21:59 <elliott> And he only likes Python because it gets his crazy shit done :P
21:22:01 <Phantom_Hoover> Python? Eugh.
21:22:03 <Vorpal> elliott, if hash java64 2>/dev/null; then
21:22:05 <Vorpal> elliott, see?
21:22:11 <Vorpal> trivial to check for
21:22:14 <elliott> Vorpal: ...what relevance does this have at all?
21:22:16 <elliott> Phantom_Hoover didn't write it.
21:22:22 <elliott> you're criticising someone else entirely's programming.
21:22:31 <elliott> we know it's trivial. we can program perfectly well thank you very much.
21:22:31 <Vorpal> elliott, it looked like your?
21:22:39 <elliott> How did you infer that?
21:22:43 <elliott> Also, *yours.
21:22:57 <Vorpal> elliott, he said: "<Phantom_Hoover> elliott, "java64: not found" <Phantom_Hoover> Not impressed." <-- looked like he complained about your code
21:23:00 <Phantom_Hoover> [[Could not find the main class: jx/frames/J. Program will exit.]]
21:23:01 <Vorpal> read it out of context
21:23:04 <Vorpal> and it will look the same
21:23:16 <Phantom_Hoover> WHY DO YOU MOCK ME
21:23:20 <elliott> Phantom_Hoover: Whut.
21:23:21 <Phantom_Hoover> That's THREE errors now.
21:23:24 <elliott> Phantom_Hoover: What command did you run?
21:23:43 <Phantom_Hoover> ./jwd
21:23:53 <elliott> Phantom_Hoover: In what directory?
21:23:58 <Vorpal> olsner, what, does it fail at altgr or?
21:24:11 <olsner> Vorpal: specifically, dead keys
21:24:15 <Vorpal> olsner, ah
21:24:19 <Vorpal> olsner, that's nasty
21:24:35 <Vorpal> olsner, file a bug?
21:24:38 <elliott> Phantom_Hoover: I had no such error; what directory?
21:24:52 <Phantom_Hoover> elliott, j*/foo
21:24:55 <Vorpal> olsner, bug report that is
21:24:57 <Phantom_Hoover> *bin
21:25:02 <olsner> Vorpal: I chose an easier path and stopped using their product
21:25:04 <Phantom_Hoover> I HATE YOU BRAIN
21:25:07 <elliott> Phantom_Hoover: do you have java?
21:25:08 <Vorpal> olsner, that works too
21:25:27 <Phantom_Hoover> elliott, I HAVE BEEN PLAYING MINECRAFT WITH YOU FOR TWO WEEKS
21:25:35 <Phantom_Hoover> YES I HAVE JAVA
21:25:40 <elliott> Phantom_Hoover: are you suuuuuuuuure?
21:25:58 <Phantom_Hoover> elliott, NO, I HAND-JITED IT.
21:26:04 <elliott> thought so
21:26:15 <elliott> Phantom_Hoover: try running from outside bin :P
21:26:17 <Vorpal> Phantom_Hoover, ah. I was a bit scared there. That you would have java
21:26:23 * Phantom_Hoover fires up hexl-mode
21:26:28 <Vorpal> Phantom_Hoover, why not hand-JIT J?
21:26:28 <elliott> Phantom_Hoover: ...why?
21:26:37 <elliott> Why do you need hexl-mode?
21:26:41 <Vorpal> elliott, for hand-jitting. Duh
21:27:03 <Phantom_Hoover> SAME ERROR
21:27:30 <Phantom_Hoover> Hey, my Java is OpenJDK.
21:28:07 <Vorpal> elliott, btw, checked recently, openjdk works with minecraft alpha
21:28:09 <Phantom_Hoover> And I have sun-java6-bin installed.
21:28:13 -!- augur has joined.
21:28:14 <Vorpal> at least with downloaded one
21:28:17 <elliott> Phantom_Hoover: Get rid of openjdk, then.
21:28:21 <Vorpal> Phantom_Hoover, check /etc/alternatives
21:28:30 <elliott> Vorpal: Um, or use update-alternatives.
21:28:32 <Vorpal> elliott, why, openjdk works fine with minecraft
21:28:33 <elliott> You're not meant to change those yourself.
21:28:37 <elliott> And because OpenJDK clearly doesn't work with J.
21:28:54 <Vorpal> elliott, true, but checking /etc/alternatives != changing it there
21:29:03 <Vorpal> elliott, checking is good for finding out WHERE it goes
21:29:14 <Phantom_Hoover> elliott, how do I change it?
21:29:18 <Vorpal> elliott, so my statement was correct
21:29:21 <elliott> Phantom_Hoover: Try removing *openjdk* :P
21:29:25 <elliott> Vorpal: update-alternatives can show that.
21:29:31 <elliott> Phantom_Hoover: As in sudo aptitude purge *openjdk*
21:29:31 <Vorpal> elliott, not as fast
21:29:40 <Vorpal> elliott, it involves reading help output first
21:29:46 <Vorpal> compared to ls -l
21:30:23 <Phantom_Hoover> elliott, I'm assuming that glob is metaphorical.
21:30:33 <elliott> Phantom_Hoover: nope
21:31:16 <Phantom_Hoover> elliott, "Couldn't find any package blah blah blah "*openjdk*""
21:31:29 <elliott> aptitude search openjdk
21:31:30 <augur> wheres alice been? :(
21:31:33 <elliott> remove all "i"s
21:31:35 <elliott> augur: right here!
21:31:38 <augur> wat
21:31:43 <elliott> augur: i'm ehird :P
21:31:48 <augur> o man wat
21:31:52 <elliott> you... didn't realise this?
21:31:56 <augur> firstly, i thought you had one l and one t
21:31:59 <elliott> yeah i had a sex change!
21:32:01 <elliott> i'm a MAN now
21:32:16 <augur> second, no, i thought you were some random kid named elliott
21:32:21 <elliott> well, i am
21:32:24 <elliott> some random kid named elliott :P
21:32:34 <augur> oh man, ive been hostile towards you for no reason :(
21:32:39 <elliott> :D
21:32:42 <elliott> good to know i'm that dislikeable
21:32:43 <Vorpal> awesome
21:32:44 * augur hugs elliott
21:32:50 <Vorpal> elliott, indeed you are!
21:32:55 <augur> now go die in a fire
21:33:03 <elliott> 10.10.26:16:54:28 <augur> elliott: what
21:33:03 <elliott> 10.10.28:16:45:17 <augur> elliott: what
21:33:03 <elliott> 10.11.12:02:30:37 <augur> elliott: what
21:33:03 <elliott> 10.11.26:16:40:15 <augur> elliott: you're talkative
21:33:03 <elliott> 10.11.26:16:40:19 <augur> elliott: http://www.jaybirdgear.com/cart/sb2/#
21:33:04 <elliott> 10.11.28:14:47:16 <augur> elliott is agreeing with me on something
21:33:05 <elliott> 10.12.01:19:58:24 <augur> elliott: deny
21:33:07 <elliott> 10.12.06:12:04:29 <augur> elliott: but thats because performance is not competence
21:33:09 <elliott> augur: man, so hostile
21:33:13 <augur> knowing you're ehird, now i HAVE a reason
21:33:36 <augur> i ended up not getting those you know
21:33:54 <augur> i got a pair of sony's
21:34:03 <augur> still bluetooth, but not jaybirds
21:34:14 <elliott> better than radio-based wireless ones at least
21:34:20 <augur> what?
21:34:25 <elliott> those ones have constant fuzz and if you don't play audio for too long -- I'm not joking here --
21:34:26 <augur> the jaybirds were bluetooth too..
21:34:27 <elliott> they go to white noise
21:34:28 <elliott> LOUD white noise
21:34:30 <augur> oic
21:34:32 <elliott> augur: oh, i was just commenting in general
21:34:34 <augur> mine are fine
21:34:36 <Phantom_Hoover> elliott, more errors!
21:34:37 <augur> sound great
21:34:38 <elliott> seriously, you just sit there... haven't played music in a while
21:34:39 <elliott> FZZZZZZZZZZZZZZT
21:34:41 <elliott> Phantom_Hoover: what now
21:34:53 <augur> elliott: i missed you :(
21:34:56 <Phantom_Hoover> There's a POPUP
21:35:01 <elliott> Phantom_Hoover: yes, that's the introduction.
21:35:08 <Phantom_Hoover> In hideous Java blue.
21:35:08 <augur> ironic, since you were here the whole time
21:35:14 <elliott> Phantom_Hoover: you can change that.
21:35:22 <Phantom_Hoover> Saying "Load library file:bin/libjnative.so failed."
21:35:24 <Vorpal> elliott, how can you live with wireless headphones?
21:35:30 <elliott> Phantom_Hoover: wait, is your system actually 64-bit?
21:35:31 <Vorpal> elliott, they are laggy
21:35:32 <elliott> Vorpal: i don't any more :P
21:35:37 <Vorpal> elliott, stuff doesn't sync up
21:35:40 <elliott> ...although lag was not my complaint, what?
21:35:43 <Vorpal> elliott, at least in my experience
21:35:44 <Phantom_Hoover> elliott, as opposed to?
21:35:46 <elliott> the radio ones are fine with lag
21:35:49 <elliott> just terrible at everything else
21:35:53 <elliott> Phantom_Hoover: um, as opposed to 32-bit linux
21:35:54 <Phantom_Hoover> Not really being very 64-bit?
21:35:56 <Vorpal> elliott, I'm talking of video sound being out of sync with the bluetooth ones I tried
21:36:05 <Phantom_Hoover> Being 53 bit but not telling anyone?
21:36:05 <elliott> Phantom_Hoover: uname -r
21:36:07 <elliott> does it end with x86_64?
21:36:09 <elliott> erm
21:36:11 <elliott> *amd64
21:36:15 <Vorpal> elliott, compared to plain cable ones
21:36:24 <Phantom_Hoover> 2.6.32-5-amd64
21:36:26 <Phantom_Hoover> Yes, it is 64-bit.
21:36:26 <Vorpal> elliott, which work fine, don't need battery, and give better sound
21:36:30 <elliott> Phantom_Hoover: huh.
21:36:32 <elliott> Vorpal: yeah yeah
21:36:49 <Vorpal> elliott, beat my DT150 with wireless. Good luck
21:36:59 <Phantom_Hoover> FWIW, the FSF have some mysterious marker on java -version, so I am SUSPICIOUS
21:37:00 <Vorpal> elliott, sb live + DT150 that is
21:37:09 <elliott> Vorpal: i don't use wireless.
21:37:17 <elliott> java version "1.6.0_18"
21:37:18 <elliott> OpenJDK Runtime Environment (IcedTea6 1.8.2) (6b18-1.8.2-4)
21:37:18 <elliott> OpenJDK 64-Bit Server VM (build 16.0-b13, mixed mode)
21:37:20 <elliott> how did that happen.
21:37:35 <elliott> Phantom_Hoover: WELP I TOTALLY APPROVE OF ICEDTEA YOU SHOULD INSTALL IT
21:37:59 <elliott> awesome, java doesn't do font fallback
21:38:00 <elliott> like a boss
21:38:32 <elliott> or maybe it does
21:38:41 <elliott> nope
21:38:56 <augur> elliott: monads!
21:38:56 <augur> :D
21:39:14 <elliott> "Users can add a physical font as a fallback font to logical fonts used in Java 2D rendering by installing it in the lib/fonts/fallback directory within the JRE."
21:39:16 <elliott> augur: gonads
21:39:19 <augur> D:
21:41:29 <elliott> grr, fallback thing doesn't work
21:41:49 -!- elliott has left (?).
21:41:52 -!- elliott has joined.
21:48:58 * Phantom_Hoover reinstalls all Javay things.
21:49:57 <Phantom_Hoover> ...And it still won't work.
21:50:43 <pikhq> I hate it when things don't go through fontconfig.
21:51:16 <pikhq> There's a central point for this configuration! I don't *want* your dumb-ass ways of handling it!
21:51:28 -!- Mathnerd314 has joined.
21:51:37 <pikhq> (note: if you can replace fontconfig with something less XML-loving and make it universal, I will love you forever)
21:53:37 <Phantom_Hoover> elliott, comment in the context of @.
21:53:58 <elliott> Phantom_Hoover: @ has no configuration.
21:54:01 <Phantom_Hoover> FWIW, I will Leave And Never Come Back if you don't declare that XML is banned from @.
21:54:04 <elliott> It renders fonts in the perfect way, as determined by me, God.
21:54:16 <elliott> Phantom_Hoover: Well, it'll have an XML parser... for feed reading, say :P
21:54:47 <Phantom_Hoover> elliott, can't you configure it by messing around with the rendering code?
21:55:04 <elliott> Phantom_Hoover: NO. It is protected.
21:55:10 <pikhq> Phantom_Hoover: By the same notion, everything is configurable because we have text editors.
21:55:20 <elliott> INDEED
21:55:47 <Phantom_Hoover> pikhq, yes, but in @ everything is adjustable at runtime.
21:55:50 <Phantom_Hoover> Somehow.
21:57:14 <pikhq> MAGIC
21:58:09 <Phantom_Hoover> elliott, wait, what happens when you meddle with code that's being executed?
21:58:28 <elliott> Phantom_Hoover: Your bunny turns into a fluff.
21:58:34 <elliott> That is as cute as it sounds, too.
21:58:55 <elliott> Phantom_Hoover: More realistically: It works.
21:59:00 <Phantom_Hoover> elliott, indeed, but what happens to the computer/
21:59:11 <Phantom_Hoover> How?
21:59:39 <pikhq> Mmmm, milkshake...
22:00:26 <elliott> Phantom_Hoover: Well, if you edit an executing function, nothing will happen, but the next time it's called...
22:00:39 <Phantom_Hoover> elliott, hmm.
22:00:40 <Vorpal> elliott, Deewiant: down?
22:00:52 <Deewiant> Quite.
22:00:59 <elliott> Phantom_Hoover: If you want to change a tight-looping function while it executes, use the debugger.
22:01:12 <Phantom_Hoover> elliott, ah.
22:01:25 <elliott> i.e. hit pause/break or some similar key, step a few times if you want to, and tell it to change the code, then exit the debugger and continue.
22:01:29 <Phantom_Hoover> So you still need to restart your web browser if significant changes are made to the code?
22:01:42 <elliott> Not really; I would imagine a web browser is composed of a good many functions.
22:02:03 <elliott> If the main loop was compiled to be non-recursive (looping instead) and you modified that, then maybe. But I'd like to see if I can't make it update the code in that case too.
22:02:11 <Phantom_Hoover> Yes, but presumably some of them are going to run for a very long time.
22:02:26 <elliott> Well, there's no actual main loop; FRP.
22:02:28 <Phantom_Hoover> Anything that waits for user input, for instance.
22:02:32 <elliott> Everything is just event --> reaction in the simplest case.
22:02:35 <elliott> Phantom_Hoover: Asynchronous.
22:02:46 <elliott> Indeed, your browser won't even hard-loop like that, since it's based on an event-based GUI toolkit.
22:02:56 <elliott> It's just that in @, /everything/ is asynchronous and you use FRP to do all effects.
22:04:38 <Phantom_Hoover> I DO NOT KNOW THESE WORDS
22:04:51 <elliott> Phantom_Hoover: What, "asynchronous"?
22:05:03 <Phantom_Hoover> FRP!
22:05:08 <Phantom_Hoover> Hard-loop!
22:05:15 <Phantom_Hoover> Event-based!
22:05:18 <Phantom_Hoover> Effects!
22:05:21 <elliott> Phantom_Hoover: Hard-loop = loop :P
22:05:29 <elliott> Your browser, when it pops up a dialogue box, doesn't freeze.
22:05:36 <elliott> Because it's not in a loop; it's doing everything normally.
22:05:46 <elliott> It just has an event set up for "dialogue-box-clicked-OK".
22:07:25 <fizzie> Re earlier topic, Bluetooth wireless headphones + Linux was indeed a really very laggy combination; but the same headphones were markedly better (lag-wise) in some other systems. Maybe the others do some sort of lag-compensating guesswork, who knows.
22:11:50 <elliott> Does anyone have a tool to merge two fonts?
22:12:04 <elliott> i.e. A+B => C where if char c not in A, char c in C, taken from B
22:12:09 <elliott> but otherwise char c in C, taken from A
22:13:56 <fizzie> FontForge might be capable of that, but the user interface (if you can call it that) is so confusing, no-one can tell.
22:14:17 -!- poiuy_qwert has joined.
22:19:58 <calamari> elliott: are you trying to create an all-encompassing unicode font?
22:20:21 -!- MigoMipo has quit (Quit: Quit).
22:21:23 <elliott> calamari: Just trying to merge Droid Sans Mono with fallback DejaVu Sans Mono, for J, which doesn't do fallbacks.
22:21:29 <elliott> fizzie: Wanna TRY IT OUT FOR ME? :P
22:22:38 <Vorpal> fizzie, that made a difference
22:22:38 <calamari> can you extend a class to allow fallbacks?
22:24:20 * Phantom_Hoover 's eyes hurt
22:24:24 -!- Phantom_Hoover has quit (Quit: Leaving).
22:24:39 <elliott> calamari: it's not OSS, so no.
22:24:57 <calamari> has anyone else noticed that linux audio has really gotten lame in the past year or so, skipping and etc? I wonder if something happened to the driver for my card
22:25:31 <calamari> maybe it goes back more than a year now, I lose track of time
22:25:55 <calamari> seemed to start around the same time as that pulseaudio stuff, but that could just be a coincidence
22:26:07 <elliott> it isn't
22:26:10 <elliott> pulseaudio is the worst.
22:26:46 <calamari> but pulseaudio isn't in the kernel, right?
22:27:42 <calamari> I was assuming if I selected ALSA, then I avoided pulseaudio messing me up
22:28:20 <elliott> calamari: not unless you uninstall pulseaudio
22:28:30 <elliott> calamari: it reroutes ALSA's library to go to pulseaudio, which then goes to ALSA
22:28:41 <calamari> ah, I see
22:28:42 <elliott> calamari: note: if you're on ubuntu, uninstalling pulseaudio = no volume control
22:29:12 <calamari> and I'm also not sure if KDE 3.5's audio stuff is screwing me too
22:29:46 <calamari> since they had added yet another layer of crap lol
22:30:05 <calamari> elliott: not even alsamixer?
22:30:23 <elliott> calamari: Well, sure, that will work.
22:30:31 <calamari> ahh ok
22:30:31 <elliott> calamari: You're using KDE 3.5 still?
22:30:38 <calamari> yeah
22:30:51 <elliott> calamari: Don't; use Trinity.
22:30:59 <elliott> calamari: (Maintained fork of KDE3.5, being ported to Qt 4.)
22:31:04 <elliott> http://trinity.pearsoncomputing.net/
22:31:08 <calamari> FUCKING AWESOME!!!!
22:31:57 <calamari> oh maybe it just changed names, lets see
22:32:22 <elliott> calamari: hm?
22:32:25 <elliott> what changed names
22:32:32 <calamari> nope, this seems different
22:32:55 <elliott> calamari: what did you think changed names?
22:32:57 <calamari> I was using this before deb http://ppa.launchpad.net/kde3-maintainers/ppa/ubuntu lucid main
22:33:23 <calamari> oh wait, there it is
22:33:36 <calamari> okay so I'm using the same one
22:34:01 <elliott> you're still on lucid? :-P
22:34:05 <calamari> yeah
22:35:28 <calamari> I used to upgrade right away, but I got tired of stuff breaking so now I upgrade a release behind
22:35:51 <olsner> upgrade to something that's already old: FUN
22:36:43 <calamari> elliott: do you use kde 3.5?
22:37:25 <calamari> err Trinity
22:38:12 <elliott> calamari: nope, I use gnome :P
22:38:29 <elliott> calamari: more out of convenience than anything else
22:38:50 <calamari> yeah I put gnome onmy new work lptop because I do realize kde 3.5 is crufty
22:39:02 <calamari> and it seems alright
22:39:23 <calamari> maybe they removed all the features they could for a while and it stabilized
22:40:53 <calamari> the earlier KDE always reminded me of some kind of Windows 3.1/95 mix.. however the later KDE was better looking at they never removed features.. instead they just scrapped the entire thing and put ot KDE 4 lol
22:41:32 <calamari> I only went to KDE3 because I was afraid of what Gnome would remove next.. there was one release where you couldn't even edit the menus
22:44:08 <calamari> to be fair, though, the menu stuff was more of an outside standards effort that they adopted.. but they definitely could have waited a bit on that one
22:45:35 <elliott> who cares about linux anyway
22:45:36 <elliott> or X11
22:45:39 <elliott> or... uh
22:45:40 <elliott> keyboards
22:45:47 <pikhq> Nobody actually likes X11 any more.
22:46:44 <Vorpal> pikhq, I bet there is some freak that does
22:47:02 <calamari> lol if I had to choose between keyboard and mouse, the rodent would lose out
22:48:52 <calamari> you don't use xman exclusively due to it's amazing ui? oh wait, neither do I
22:49:43 <calamari> *its .. when did I start screwing that one up?
23:01:22 -!- tswett has joined.
23:01:59 -!- tswett has set topic: LASCIATE OGNE SPERANZA, VOI CH'INTRATE | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
23:02:18 <tswett> The sentence written on the door to Hell.
23:02:28 <tswett> Actually, there are lots of sentences. Like, nine or something. That's the last one.
23:18:30 <elliott> Cool, moving average is easy in J.
23:18:48 <elliott> "4 avg\ v" -- window is 4
23:21:06 <fizzie> filter(ones(1,4), 1, v) in MATLABy things; not "quite" as nice.
23:22:21 * tswett decides that a Haskell moving average would fit within eighty characters.
23:24:15 <augur> elliott: whats your opinion on scheme again
23:24:16 <elliott> tswett: Go on, then :P
23:24:23 <elliott> augur: it's a racket
23:24:54 <augur> elliott: racket?
23:24:55 <elliott> OK, seriously, someone merge two TTFs for me.
23:24:57 <elliott> Infinite praise.
23:25:00 <elliott> augur: A swindle, no less.
23:25:08 <tswett> Oh, fine. :P
23:25:13 <augur> elliott: wat :|
23:25:30 <tswett> Let's consider a list, like [1,7,2,5,3,8,9,4,2,7,3]. Then you just...
23:25:36 <elliott> fizzie: tswett: Also, it only counts if you use a predefined "avg" function.
23:25:41 <elliott> That you can substitute for any function.
23:25:43 <elliott> To make moving.
23:26:20 <Vorpal> elliott, down?
23:26:22 <tswett> map (avg . take 4) . tails $ [1,7,2,5,3,8,9,4,2,7,3]
23:26:51 <Mathnerd314> what's a good size for an interpreter of a "minimal" language?
23:26:56 <elliott> Mathnerd314: um, in what? bytes?
23:26:58 <elliott> what language?
23:27:06 <fizzie> elliott: Okay: mean(buffer(v, 4, 3)). (Except you can't quite substitute "any" function there; but most do it right by default.)
23:27:27 <tswett> Funnily enough, that will take the average of [1,7,2,5], then of [7,2,5,3], . . ., then of [4,2,7,3], then of [2,7,3], then of [7,3], then of [3], then of [], at which point the program will crash.
23:27:27 <Mathnerd314> elliott: a Lisp, implemented in anything, counting tokens
23:27:32 <elliott> fizzie: Cheater :P
23:27:38 <elliott> Mathnerd314: counting tokens? pg got to you eh?
23:28:01 <elliott> Mathnerd314: Anyway it's a meaningless question without specifying the implementation language.
23:28:02 <Mathnerd314> elliott: yeah; you can count LOC if you'd rather
23:28:03 <elliott> tswett: Now fix it :P
23:28:22 <Mathnerd314> elliott: you can use any language you want.
23:28:42 <Mathnerd314> elliott: I just want an order-of-magnitude estimate
23:28:48 <elliott> Mathnerd314: then the question is meaningless :)
23:29:07 <fizzie> buffer(v, 4, 3) gives [[0; 0; 0; v(1)] [0; 0; v(1); v(2)] [0; v(1); v(2); v(3)] [v(1); v(2); v(3); v(4)] ... ], and most functions that make sense for a vector do their operation separately for each column.
23:29:47 <Mathnerd314> elliott: ok, we'll start with c. what size is a C interpreter for Lisp
23:30:03 <Mathnerd314> ?
23:30:06 <elliott> tswett: BTW:
23:30:08 <elliott> 4 (+/%#)\ 1 7 2 5 3 8 9 4 2 7 3
23:30:08 <elliott> 3.75 4.25 4.5 6.25 6 5.75 5.5 4
23:30:10 <elliott> tswett: Good luck beating that.
23:30:16 <elliott> Mathnerd314: Uh, 100-200 lines? C is pretty verbose.
23:30:34 <elliott> tswett: That includes the avg function.
23:31:50 <Mathnerd314> elliott: so 700 lines of Haskell is way too long?
23:31:54 <fizzie> octave:6> sum(buffer([1 7 2 5 3 8 9 4 2 7 3], 4, 3, 'nodelay'))/4
23:31:54 <fizzie> ans =
23:31:54 <fizzie> 3.7500 4.2500 4.5000 6.2500 6.0000 5.7500 5.5000 4.0000 3.0000
23:32:04 <fizzie> I guess it's a bit longer. And repeats the window width thrice.
23:32:08 <elliott> Mathnerd314: definitely. if the language is minimal in even the slightest, definitely.
23:32:10 <elliott> even if it isn't
23:32:16 <elliott> 700 lines of haskell could control nukes :)
23:32:21 <elliott> fizzie: Psht.
23:32:27 <Deewiant> Nuke controllers aren't that complicated.
23:32:30 <elliott> Deewiant: Shaddap.
23:32:36 <elliott> fizzie: OK, now define a function that takes a window size and a list and moving-averages them.
23:32:54 <elliott> fizzie: mavg=:(+/%#)\
23:33:16 <elliott> tswett: You too. :p
23:33:38 <fizzie> "f = @(w, v) mean(buffer(v, w, w-1, 'nodelay'))" if you don't mind using mean.
23:33:45 <fizzie> s/f/mavg/ if you like.
23:34:13 <fizzie> The 'nodelay' is a bit debatable; it zero-pads in front if you don't include that, but according to someone's definition that might be the right thing.
23:35:06 <elliott> fizzie: OK, now write a function that produces a screwy TABLE OF AVERAGES OR SOMETHING, like so: http://sprunge.us/MThf
23:35:13 <elliott> The last column is the moving averages, the first is the list itself; not sure what the list inbetween is.
23:35:27 <tswett> map negate
23:35:32 <tswett> A nuke controller in Haskell.
23:35:37 <elliott> fizzie: Oh, it's each window size from 1 (just return the list directly) to the size you specify.
23:35:43 <tswett> Requires a relatively "smart" API.
23:35:45 <elliott> fizzie: With the moving averages for each window being a column.
23:36:19 <fizzie> Stop being like that, it's going to be pretty ugly.
23:36:23 <elliott> The 3D version does nothing interesting, unfortunately. :P
23:36:29 <elliott> fizzie: That's okay, I like ugly!
23:36:37 <elliott> fizzie: At least it'll teach people not to call J ugly. :P
23:37:33 <elliott> "mmavg is (add over divide length) infix infix", what's so hard about that!
23:37:42 <elliott> (When each element is pronounced :P)
23:38:42 <elliott> fizzie: SO HOW'S IT GOING
23:41:43 <fizzie> http://p.zem.fi/gp4u I HOPE YOU'RE HAPPY NOW.
23:41:51 <fizzie> It's not identical due to lack of nodelay.
23:42:04 <elliott> fizzie: Does yours handle >1D arrays?
23:42:24 <fizzie> Probably not. It almost didn't handle window width of 1 either.
23:43:41 <fizzie> I don't think buffer deals with matrices sensibly, you'd have to do something else, probably another arrayfun over a list to do the buffering.
23:43:45 <fizzie> I'm not going to try that.
23:44:01 <fizzie> MATLAB's pretty horrible when you just want to map.
23:44:17 <fizzie> At least Mathematica has that funky /@ operator or whatever they called it.
23:44:36 -!- Wamanuz has quit (Remote host closed the connection).
23:44:37 <fizzie> Elsewhere, now.
23:45:32 -!- pingveno has quit (Ping timeout: 264 seconds).
23:46:53 -!- pingveno has joined.
23:47:37 -!- Wamanuz has joined.
23:49:29 -!- ais523 has quit (Remote host closed the connection).
23:55:24 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:56:20 -!- oklofok has quit (Ping timeout: 264 seconds).
23:59:23 -!- oklofok has joined.
2010-12-15
00:01:28 -!- oklofok has quit (Client Quit).
00:06:31 <nooga> uh
00:11:55 -!- FireFly has quit (Read error: Connection reset by peer).
00:12:33 -!- FireFly has joined.
00:21:39 <elliott> nooga: uh?
00:21:45 <elliott> tswett: I'm waaiiiitiiiing. :p
00:24:34 <tswett> Please write a C program, at most 415241 characters long, that calculates pi to one million decimal places.
00:25:44 <elliott> tswett: That's not difficult, is it.
00:26:17 <tswett> No, too lenient. It must be at most 165373 characters long.
00:26:26 <elliott> tswett: Can it print in hex as long as the result is 1 million decimal places when converted to decimal?
00:26:42 <nooga> my gf went to a girl's party
00:27:01 <tswett> Yes, if it's accurate to one million decimal places.
00:28:21 <nooga> and got back completely stoned
00:28:24 <nooga> gerat
00:28:26 <nooga> great
00:29:08 <elliott> tswett: Just a minute then.
00:30:04 <elliott> tswett: Or a few minutes.
00:31:06 <elliott> tswett: Is it alright if I, uh, steal some code from elsewhere and adapt some of it?
00:31:07 <Deewiant> http://www.spoj.pl/ranks/PIVAL/lang=C here's some that are limited to 4096 bytes (no code, though).
00:31:20 <Deewiant> They presumably could go to 1 million given enough time
00:31:26 <tswett> elliott: only if that code is written in plain English.
00:31:40 <elliott> tswett: What if it's written in mathematicalformulas?
00:31:47 <elliott> *mathematical formulas
00:32:13 <tswett> Those are fine.
00:32:52 -!- poiuy_qwert has joined.
00:35:54 <elliott> tswett: Oh fer gods sake, this is fiddly; I was just going to do http://en.wikipedia.org/wiki/Bailey%E2%80%93Borwein%E2%80%93Plouffe_formula in an infinite loop.
00:36:04 <elliott> tswett: That's an easy way to print the entirety of pi with a simple program.
00:36:07 <elliott> In hex, no less.
00:36:28 <elliott> Since you don't need any arbitary-precision this or whatever.
00:36:39 <elliott> tswett: Aha, wait, I think I've got it.
00:36:50 <elliott> tswett: Gimme a minute.
00:39:16 <elliott> tswett: Why do you want this, anywy?
00:39:18 <elliott> *anyway
00:41:33 <tswett> No good reason.
00:46:32 <elliott> tswett: this is SO NEARLY ALMOST SORT OF WORKING
00:49:37 <elliott> tswett: are you trying to kolgomorov complexitise pi? :P
00:50:37 <elliott> tswett: btw i cheated *slightly* (stole one single expression that is just a basic arithmetical calculation restated in python)
00:50:40 <elliott> just to be a bit lazy
00:53:13 -!- FireFly has quit (Quit: swatted to death).
00:55:34 -!- sftp has quit (Remote host closed the connection).
00:59:10 <elliott> tswett: Think I've got it.
00:59:56 <elliott> tswett: 245 foo.c
00:59:58 <elliott> tswett:
00:59:59 <elliott> #include<stdio.h>
00:59:59 <elliott> #include<math.h>
00:59:59 <elliott> int main(void){printf("3.");for(long double n=1,r,l=0;n<1000000;n++){printf("%x",(int)floorl(16*(l=(modfl((16*l)+(((120*n-89)*n+16) / ((((512*n-1024)*n+712)*n-206)*n+21)),&r)))));fflush(stdout);}printf("\n");}
01:00:04 <elliott> tswett: Valid C99, or something in that vicinity.
01:00:13 <elliott> Verification of the one million hex digits is left as an exercise to the reader.
01:00:19 <elliott> Oh, wait, that can be even shorter.
01:00:51 <elliott> 243 foo.c
01:00:53 <elliott> #include<stdio.h>
01:00:53 <elliott> #include<math.h>
01:00:53 <elliott> int main(void){printf("3.");for(long double n=1,r,l=0;n<1000000;n++){printf("%x",(int)floorl(16*(l=(modfl((16*l)+(((120*n-89)*n+16)/((((512*n-1024)*n+712)*n-206)*n+21)),&r)))));fflush(stdout);}printf("\n");}
01:01:11 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
01:01:15 <elliott> tswett: Are you happy? :p
01:01:33 <elliott> int main(void){printf("3.");for(long double n=1,r,l=0;n<1000000;n++){printf("%x",(int)floorl(16*(l=(modfl((16*l)+(((120*n-89)*n+16)/((((512*n-1024)*n+712)*n-206)*n+21)),&r)))));fflush(stdout);}puts("");}
01:01:36 <elliott> One shorter! Oh the joy
01:01:39 <elliott> *joy!
01:02:28 <elliott> #include<stdio.h>
01:02:28 <elliott> #include<math.h>
01:02:28 <elliott> int main(void){printf("3.");for(long double n=1,r,l=0;n<1<<20;n++){printf("%x",(int)floorl(16*(l=(modfl((16*l)+(((120*n-89)*n+16)/((((512*n-1024)*n+712)*n-206)*n+21)),&r)))));fflush(stdout);}puts("");}
01:02:30 <elliott> Shorter AND prints more digits!
01:02:45 <elliott> Although the results of that one are fishy.
01:03:09 <elliott> Actually the end results are fishy in general but that might just be my eyes.
01:03:35 <elliott> tswett: praise plz
01:04:54 <elliott> Ilari: http://marc.info/?l=openbsd-tech&m=129236621626462&w=2
01:05:04 <elliott> Ilari: Alleged FBI backdoors in widely-copies OpenBSD IPSEC code.
01:06:32 -!- poiuy_qwert has joined.
01:12:28 <elliott> tswett: Do you have the power to summon oerjan?
01:16:12 <Vorpal> <elliott> Ilari: http://marc.info/?l=openbsd-tech&m=129236621626462&w=2 <-- ouch
01:16:35 <elliott> "The FBI-backdoors-OpenBSD story is like the NSA assassinations stories: Believable except for the minor detail that it's the wrong TLA." --cperciva
01:17:13 <Vorpal> elliott, TLA?
01:17:16 <elliott> three letter acronym
01:17:24 <Vorpal> elliott, indeed
01:17:24 <elliott> one would expect it to be the NSA wanting such backdoors, not the FBI
01:17:27 <elliott> Vorpal: can i have servers+funding please
01:17:34 <Vorpal> elliott, for?
01:17:43 <elliott> Vorpal: project!
01:17:47 <elliott> also /me is trolling #openbsd now >_>
01:17:51 <Vorpal> elliott, what project
01:17:57 <elliott> (okay, opaquely enough that it doesn't actually count as trolling)
01:17:58 <Vorpal> and trolling is *never* nice
01:18:03 <elliott> it's joke-trolling
01:18:21 <Vorpal> elliott, anyway, going to sleep as I packed the backpack
01:18:28 <elliott> Vorpal: the project project! parade!
01:18:30 <Ilari> 9.21M addresses allocated from APNIC this calender month (based on delegated file dated 2010-12-14)... At this rate, IANA pool will deplete in a month (mid-January).
01:18:40 <elliott> Ilari: http://marc.info/?l=openbsd-tech&m=129236621626462&w=2 :P
01:18:47 <Vorpal> elliott, answer: no, you are being annoying vague too
01:18:53 <Vorpal> annoyingly*
01:18:57 <pikhq> Ilari: Freow.
01:18:58 <elliott> Vorpal: do you really /want/ me to be specific
01:19:00 <elliott> pikhq: http://marc.info/?l=openbsd-tech&m=129236621626462&w=2
01:19:05 <elliott> amusing if nothing else
01:19:10 <Vorpal> elliott, sure
01:19:17 <Vorpal> elliott, is it for kitten?
01:19:26 <elliott> Vorpal: nope, it's an entirely separate project
01:19:28 <elliott> Vorpal: but an excellent one!
01:19:32 <Vorpal> elliott, what project
01:19:39 <elliott> Vorpal: i want to obsolete VPSes. well, mostly. >:)
01:19:46 <elliott> Vorpal: i even know how to market it!
01:19:48 <Vorpal> elliott, details
01:20:16 <pikhq> elliott: Aaaah, the joys of the spy agencies spying on each other.
01:21:06 <elliott> Vorpal: basically, you pay me $N/mo. where by me I mean $company. put "float" in front of a command, and it executes on $server, where you don't care what $server is. you can manage this process in various ways from the command-line -- putting it in the "background", monitoring it, killing it, sending stuff to its stdin, etc. -- and also view its output, log files (you have to tell it what those are, though -- pretty much looking through the / it
01:21:06 <elliott> 's in), etc.
01:21:33 <elliott> Vorpal: this process is seamlessly migrated to other servers as the server load demands, and given a Xen-or-whatever allocation according to how much you're paying us, and how much you're already using, globally
01:21:49 <elliott> Vorpal: you can start processes in more involved ways to make them integrate better with the system, by specifying more about how they act
01:22:08 <elliott> Vorpal: the migration doesn't lose internet connections and the like, because sockets and the like go through "fd proxy" machines
01:22:13 <elliott> (tl;dr custom patched libc)
01:22:23 <Vorpal> elliott, sooo. some application level virtualisation along google apps lines?
01:22:28 <elliott> Vorpal: not really, it'd be actual linux
01:22:31 <elliott> Xen-based or whatever
01:22:38 <Vorpal> elliott, but per process?
01:22:48 <elliott> Vorpal: pretty much. obviously you can spawn multiple processes at a time, but yes, per "task"
01:23:03 <elliott> Vorpal: the basic use-case is... you've made an IRC bot, and you've been running it locally, but now you want it up permanently
01:23:05 <Vorpal> elliott, and how do you count fork()
01:23:06 <elliott> put "float" in front of the command
01:23:08 <elliott> forget about it
01:23:09 <elliott> tada
01:23:11 <elliott> Vorpal: "count"?
01:23:14 <elliott> it goes in the same namespace
01:23:19 <Vorpal> elliott, same or different task
01:23:19 <elliott> as the original process
01:23:22 <elliott> same. duh
01:23:28 <elliott> "task" is up to you
01:23:28 <Vorpal> elliott, okay, fork() + execv() ?
01:23:31 <elliott> ...
01:23:31 <Vorpal> ah
01:23:32 <Vorpal> okay
01:23:34 <Vorpal> right
01:23:35 <elliott> YOU ARE SUCH A FUCKING NITPICKER >_<
01:23:38 <Vorpal> that makes sense
01:23:49 <elliott> Vorpal: anyway, it'd also scale to things above IRC bots
01:24:02 <Vorpal> elliott, such as minecraft?
01:24:07 <elliott> sure :D
01:24:15 <elliott> for instance, the float command would try to automatically figure out what paths and files you've mentioned, and upload them (you are, of course, able to do this manually if the magic isn't working out)
01:24:21 <elliott> so e.g. "mybot myconffile mydatadir/"
01:24:30 <Vorpal> elliott, do you think you could implement it actually
01:24:34 <elliott> you could also access the filesystem from afar
01:24:37 <elliott> e.g., you start a web server
01:24:40 <elliott> and want to upload stuff there
01:24:43 <elliott> so you scp/sftp in
01:24:49 <elliott> Vorpal: sure, it's all technically feasible
01:25:07 <elliott> Vorpal: migrating processes w/ the patched libc for keeping FDs it'd require would be the hardest part, really
01:25:08 <Vorpal> elliott, and the file system, this is shared in the "cluster"?
01:25:10 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
01:25:16 <elliott> Vorpal: no, it's Xen-esque
01:25:23 <elliott> every process gets its own root filesystem
01:25:30 <elliott> (of course you could share them, by setting it up manually, I suppose)
01:25:44 <Vorpal> elliott, so how do you properly migrate that. The fd-proxy would work fine for, say, sockets
01:25:52 <Vorpal> elliott, but not so great if you try to mmap() files
01:26:09 <elliott> Vorpal: well it'd pretty much re-mmap() them on the other side
01:26:25 <Vorpal> elliott, can you ensure proper mmap() semantics between threads and forks?
01:26:27 <elliott> Vorpal: it'll either have to be non-Linux-based at the migration level, or use some kind of kernel patch to be able to freeze and restore processes, I'll have to see about it
01:26:35 <elliott> it's likely that you'll have to specifically enable migrating to another server
01:26:35 <Vorpal> elliott, I'm thinking "database server" here
01:26:41 <elliott> Vorpal: let's see if i can!
01:26:47 <elliott> if not, fine, your DB server isn't migratable
01:26:56 <elliott> you get shitty performance if the server gets bogged down, but what can you do? you suffer that with VPSes anyway
01:27:01 <elliott> the performance of my solution is always >=VPS
01:27:07 <Vorpal> elliott, there is linux kernel support for freezing processes
01:27:09 <Vorpal> iirc
01:27:11 <elliott> basically, this is all based on the observation that VPSes generally run a bunch of services, but they rarely *interact* directly with each other
01:27:18 <elliott> and it's much easier to be able to manage them separately
01:27:36 <elliott> also, the cost of entry is way too high; setting up an IRC bot involves scp, shelling in, probably setting up a screen instance if it has a useful stdio interface
01:27:36 <elliott> etc.
01:27:42 <elliott> as opposed to just saying "here, run this somewhere on the interwebs"
01:27:50 <Vorpal> elliott, you need to ensure proper handling of shared memory between a db server and something using it
01:27:52 <elliott> marketing strategy: can't you guess?! Cloud! Run your programs from the cloud!
01:27:55 <Vorpal> which is annoying
01:27:56 <elliott> Total cloud virtualised environment cloud!
01:28:11 <elliott> Vorpal: well, SQL servers are often used over sockets :-P
01:28:15 <elliott> usually, even
01:28:31 <Vorpal> elliott, yes true, but they are over shm if local often
01:28:49 <elliott> Vorpal: yeah, true ... I mean there'd be no limit to how "big" a task can be really
01:28:56 <elliott> since it's the sum of your resource usage that's considered
01:29:00 <Vorpal> rigjt
01:29:02 <Vorpal> right*
01:29:17 <elliott> it'd certainly be a technically interesting project to work on
01:29:27 <elliott> the only problem is that it needs a bunch of dedicated servers to get started :)
01:30:23 <Vorpal> elliott, resources I don't have
01:30:33 <elliott> Vorpal: buy them!
01:30:58 <Vorpal> elliott, ah, but the resource I lack here is money
01:31:11 <pikhq> XD
01:31:13 <Vorpal> elliott, do like xkcd suggested and report it to the idea agency or whatever it was when someone else implement this. ;P
01:31:17 <elliott> Vorpal: it's okay, you can have 50% of the profits!!!!!!!!
01:31:21 <elliott> i'm an IDEA MAN
01:31:33 <pikhq> Halliburton is offering to pay Nigeria $250 million to drop *bribery* charges against Cheney.
01:31:49 <pikhq> They are bribing someone to get away with bribery.
01:32:00 <Vorpal> pikhq, Halliburton?
01:32:10 <Vorpal> pikhq, also, are they doing that in the open?
01:32:18 <Vorpal> is it a bribe then technically
01:32:38 <pikhq> Vorpal: They do oil.
01:32:44 <pikhq> Vorpal: Also, no, not in the open.
01:33:20 <pikhq> They've also been a major military construction contractor.
01:33:40 <pikhq> Dick Cheney was their CEO.
01:33:46 <elliott> more like cheney the dick LOL
01:34:51 <tswett> elliott: I praise you, O great elliott.
01:35:37 <pikhq> He most certainly is a dick.
01:35:39 <elliott> tswett: thank you. so why did you want that program
01:36:14 <elliott> #include<stdio.h>
01:36:14 <elliott> #include<math.h>
01:36:15 <elliott> int main(){printf("3.");for(long double n=1,r,l=0;n<1000000;n++){printf("%x",(int)floorl(16*(l=(modfl((16*l)+(((120*n-89)*n+16)/((((512*n-1024)*n+712)*n-206)*n+21)),&r)))));}puts("");}
01:36:19 <elliott> doesn't flush output after every digit, but is smaller
01:36:23 <elliott> (220 chars)
01:36:27 <elliott> anyone feel like golfing it? pikhq? :P
01:36:39 <Vorpal> night →
01:39:24 <pikhq> elliott: Meh.
01:39:49 <elliott> pikhq: but it's 1 million hex digits of pi!
01:39:58 <elliott> probably, there might be an overflow in there :)
01:40:25 <tswett> elliott: like I said, no good reason.
01:41:10 <elliott> tswett: C'mon, I need to feel good about having written it :P
01:41:14 <elliott> Since it was utterly pointless.
01:43:51 <pikhq> *facepalm*...
01:44:09 <pikhq> Gawker stored passwords. But only the first 8 characters.
01:44:14 <pikhq> They actually truncated passwords.
01:44:16 <elliott> pikhq: That's because of DES.
01:44:57 <pikhq> elliott: ...
01:45:08 <pikhq> What, did they use *1 block* of DES?
01:45:34 <pikhq> SO MUCH FAIL.
01:45:49 <elliott> pikhq: Abcdefgh, Joy of Man's DESiring.
01:45:56 <elliott> (worst pun ever)
01:52:37 <tswett> elliott: I think it's amazing how you're able to write working C code at your age.
01:53:16 <tswett> You clearly understand computing better than the vast majority of people in the world.
01:54:10 <elliott> tswett: Yes. Also, I am god.
01:54:17 <elliott> Furthermore, I invented sandwiches.
01:54:55 <Mathnerd314> elliott: which kind?
01:55:10 <elliott> Mathnerd314: ALL KINDS
01:56:38 <Mathnerd314> I have a language construct, which theoretically can do everything in existence. does anyone care?
01:57:01 <coppro> maybe
01:57:33 <tswett> Mathnerd314: there are lots of those drifting around. :) But sure, what is it?
01:58:05 <pikhq> tswett: I'd imagine many of us could write working C code at elliott's age.
01:58:05 <Mathnerd314> quick description: "fixed-point ambiguous lazy definition"
01:58:22 <pikhq> But, then, we're people sitting in a channel *all about* programming. Sooo. :)
01:58:25 <elliott> <Mathnerd314> I have a language construct, which theoretically can do everything in existence. does anyone care?
01:58:27 <elliott> I do too.
01:58:29 <elliott> it's called lambda.
01:58:38 <Mathnerd314> elliott: this is more powerful.
01:58:46 <elliott> Mathnerd314: ...no, no it's not.
01:58:50 <Mathnerd314> it can do types
01:58:52 <elliott> unless it's uncomputable.
01:58:54 <elliott> in which case sure.
01:59:03 <elliott> but no, your construct is not more powerful than lambda. by definition.
01:59:17 <tswett> It may be easier to use than lambda.
01:59:29 <pikhq> Mathnerd314: Lambda is Turing-complete. Therefore your construct is not more powerful than lambda. QVOD ERAT DEMONSTRANDVM
01:59:37 <elliott> Qvod.
01:59:45 <tswett> But if it's computable, lambda calculus can compute it.
01:59:49 <elliott> tswett: That's very subjective and arguable, still.
01:59:53 <elliott> I find lambda pretty easy. :p
01:59:54 <Mathnerd314> elliott: theoretically, its value is undecidable in some cases.
02:00:05 <Mathnerd314> s/its/my construct's/
02:00:14 <elliott> Mathnerd314: lambda too :P
02:00:26 <elliott> (\x. _|_) \equiv _|_
02:01:07 <Mathnerd314> I'll ignore you and give examples
02:01:09 <tswett> Mathnerd314: okay, then maybe it is more powerful than lambda.
02:01:19 <tswett> Ignoring elliott is often a good plan. :P
02:01:23 <Mathnerd314> a = 2 -- simple definition
02:01:31 <elliott> tswett: I'm right, though.
02:01:34 <Mathnerd314> a = 1; b = a -- simple assignment
02:01:41 <elliott> tswett: const _|_ = _|_
02:01:59 <elliott> Mathnerd314: ok so that's two constructs (definition and assignment) already
02:02:30 <Mathnerd314> elliott: no, just examples. the type is [(LHS,RHS)]
02:02:42 <elliott> very well.
02:02:46 <elliott> show something more interesting? :-P
02:03:39 <Mathnerd314> a = 1 : a -- infinite data structure
02:04:08 <elliott> ok, so right now it's haskell :P
02:04:17 <elliott> or is : not part of the control structure?
02:04:26 <elliott> i.e. is that "a = f x a" for arbitrary function f and value x?
02:04:47 <Mathnerd314> no, (:) is just an operator
02:05:04 <elliott> Mathnerd314: is it part of the construct?
02:05:05 <elliott> or not?
02:05:08 <Mathnerd314> a = 0 + a -- a is all numbers
02:05:31 <Mathnerd314> (all elements of rings, to be precise)
02:05:38 <elliott> Mathnerd314: erm, "a = 0 + a" -- a is 0
02:05:42 <elliott> presumably you mean 1 + a?
02:05:48 <elliott> are : and + part of the construct?
02:06:03 <Mathnerd314> no, they're just operators.
02:06:10 <elliott> very well.
02:06:15 <elliott> more examples? show some actual computation
02:06:17 <Mathnerd314> the construct finds the fixed points
02:06:30 <elliott> Mathnerd314: btw, this thing is not more powerful than lambda because it /depends/ on lambda or something equally powerful
02:06:33 <elliott> that is, it depends on functions
02:08:06 <elliott> Mathnerd314: am i being too nitpicky :)
02:08:18 <Mathnerd314> well, it does simultaneous equation solving too: a = b^2 + 1; b = a - 1 -- a is {-2,-1}, b is {-3,-2}
02:08:44 <Mathnerd314> or maybe I have that wrong
02:08:46 <elliott> ok ... do you have any actual implementation strategy for this? :)
02:09:01 <Mathnerd314> elliott: no. but I have lots of special cases.
02:09:12 <elliott> Mathnerd314: so it's not really a construct so much as a heap of special cases :)
02:10:05 <Mathnerd314> elliott: no, I can describe it simply: fixed-points of the given equations
02:10:21 <elliott> Mathnerd314: ok, but it's not really much of a construct if it doesn't have an implementation that isn't a heap of special cases
02:10:49 <Mathnerd314> right... it's too powerful to have one implementation that works all the time
02:11:10 <elliott> i think we have different definitions of power
02:11:21 <elliott> but hey, it'll fit right in to mathematica :P
02:11:54 <Mathnerd314> that's the main point: integrate math and programming so well you don't notice the difference
02:12:35 <elliott> Mathnerd314: have you ever used mathematica?
02:12:38 <elliott> you'll love it.
02:12:43 <elliott> well at least until you realise how hateful it is.
02:13:00 <Mathnerd314> a = 1 + a -- various types of infinity (-infinity and infinity for reals, set {0,1,2,3} for Z_4, etc.)
02:13:12 <elliott> -infinity and infinity aren't reals
02:13:31 <Mathnerd314> well, reals extended to limits
02:13:52 -!- poiuy_qwert has joined.
02:14:30 <elliott> deewiant floating http://imgur.com/5fLbZ.png
02:14:46 * Mathnerd314 used mathematica until he met Stephan Wolfram
02:14:53 <coppro> +1
02:15:05 <coppro> I have not met him
02:15:08 <coppro> but he seems errrrgh
02:15:56 <elliott> he's funny :)
02:16:28 <elliott> "my brilliant mind was correct! it's universal! i'm a genius! a genius! i tell you! p.s. thanks to ais523 who helped fellate my ego by proving it but who cares about that"
02:18:05 <tswett> Mathnerd314: I'd like to see a formal definition of this construct.
02:18:34 <tswett> Speaking of constructs, I've been pondering languages that are based as much as possible on a single thing.
02:18:52 <tswett> Like a language where the only thing there is is the associative array, or the semaphore.
02:19:02 <tswett> Or the continuation.
02:19:33 <Mathnerd314> tswett: {variable assignments s.t. all equalities are satisfies}
02:19:49 <Mathnerd314> s/s}/d}/
02:20:11 <elliott> Mathnerd314: ok, so it's... an equation!
02:20:33 <Mathnerd314> elliott: right, I guess the key is in which types of values you have
02:20:48 <elliott> what?
02:21:25 <Mathnerd314> elliott: the variables can be assigned *sets* of values
02:21:44 <Mathnerd314> e.g. a = {1,2,3,4,...} is a legitimate result
02:21:44 <elliott> Mathnerd314: ok... so it's an equation. some equations have multiple solutions.
02:21:54 <elliott> that's... a rather old mathematical result, one would think
02:21:58 <Mathnerd314> elliott: but it has more solutions
02:22:04 <elliott> Mathnerd314: more solutions than what
02:22:10 <tswett> Mathnerd314: so it's a function that takes a set of equations, and returns the set of all values that satisfy the equations?
02:23:13 <Mathnerd314> elliott: than normal equation solving. e.g. a = !a has solution {True,False}
02:23:17 <elliott> c = root(n, a^n + b^n), n = 3+x
02:23:22 <elliott> fuck yeah!
02:23:34 <elliott> Mathnerd314: but True = !True isn't true at all
02:23:37 <elliott> and False = !False isn't true, either
02:23:40 <elliott> so that's a meaningless result
02:23:49 <elliott> and I don't think you can define results like that even *slightly* in the general case
02:24:07 <Mathnerd314> elliott: but !{True,False}={!True,!False} = {False,True} = {True,False}
02:24:24 <Mathnerd314> that's why it's weirdly powerful
02:24:43 <Mathnerd314> because it will *always* assign values
02:24:46 <elliott> Mathnerd314: ok, but you can define that with normal equations too, more or less.
02:24:58 <elliott> I mean, solving "a = !a" over sets of booleans
02:25:00 <elliott> and you get that result
02:25:12 <tswett> Mathnerd314: if so, then what constants and operators are allowed in the equations, and what values are considered to be possible solutions?
02:25:17 <Mathnerd314> right... that was what I was saying
02:25:59 <elliott> Mathnerd314: so it's an equation. :P
02:26:08 <Mathnerd314> tswett: it's defined on general functions, so you can really extend it to any domain
02:26:24 <Mathnerd314> elliott: but it always has solutions, which is not a property of most things
02:26:33 <elliott> Mathnerd314: c = root(n, a^n + b^n), n = 3+x
02:26:35 <elliott> Mathnerd314: what's the solution?
02:26:55 <Mathnerd314> elliott: an equation set dependent on x
02:26:58 <elliott> anyway the function that takes a set of equations and returns a set of bindings that satisfy those equations is... mathematics in a function
02:27:04 <elliott> Mathematica already has your heap of special cases
02:27:06 <elliott> it's called Solve
02:27:20 <elliott> Mathnerd314: erm you /do/ realise it has no solutions, right?
02:27:23 <elliott> it's fermat
02:27:31 <tswett> Mathnerd314: well, if you say "all functions are allowed", then it simply inherits the power of all the functions that you can stick into it.
02:27:45 -!- zzo38 has joined.
02:27:54 <Mathnerd314> tswett: right... so it's definitely at least as powerful as lambda
02:28:09 <elliott> Mathnerd314: that's misleading.
02:28:15 <elliott> It isn't "at least as powerful as"; it's all-powerful.
02:28:19 <Mathnerd314> elliott: no solutions over integers, maybe. but I can construct lots of others
02:28:20 <elliott> It can solve any theorem.
02:28:29 <Mathnerd314> elliott: probably :p
02:28:40 <elliott> Mathnerd314: c = root(n, a^n + b^n), n = 3+x, a = floor(a), b = floor(b), n = floor(b)
02:28:45 <elliott> Mathnerd314: Go on, gimme a solution.
02:29:03 <tswett> Mathnerd314: what you have is a bit like HQ9+B. It's a Turing-complete programming language with five instructions: H, Q, 9, +, and B.
02:29:04 <elliott> Anyway, it isn't "at least as powerful as" for another reason: it doesn't replace lambda, it depends on it -- it depends on functions to work.
02:29:08 <elliott> So it isn't really a control structure at all.
02:29:15 <elliott> tswett: What does B stand for? :-P
02:29:22 <tswett> Mathnerd314: but the instruction B simply executes the remainder of the program as Brainfuck, and that's where all the power lies.
02:29:33 <Mathnerd314> elliott: everything set to infinity
02:29:40 <Mathnerd314> :p
02:30:05 <elliott> Mathnerd314: c = root(n, a^n + b^n), n = 3+x, a = floor(a), b = floor(b), n = floor(b), a+1 != a, b+1 != b, n+1 != b
02:30:12 <tswett> Mathnerd314: your construct allows arbitrary things from set theory to be included. But set theory is already Turing-complete and more.
02:30:16 <elliott> Presumably you allow !=, since it's all-powerful /anyway/ you might as well make it even more fun.
02:30:44 <elliott> tswett: What /is/ the computational class of a machine that can work out every solution to a given equation, or tell you if there are none, anyway?
02:30:45 <tswett> Mathnerd314: you could just say "x = the result of running the following Brainfuck program: ..."
02:30:53 <elliott> Apart from "the highest computational class even theoretically possible".
02:31:06 <tswett> elliott: essentially, this takes questions in set theory and answers them.
02:31:18 <elliott> tswett: Yes, yes, I'm just asking a side-question.
02:31:21 <tswett> Which... is a pretty high computational class. :P
02:31:24 <zzo38> Do you know anything about weather systems?
02:31:25 <elliott> tswett: Is the computational class of a machine that can do that even /named/?
02:31:27 <elliott> It's pretty insane :P
02:31:36 <tswett> Yeah. I wonder how well-defined it is.
02:31:44 <Mathnerd314> tswett: don't forget: it gives multiple answers too
02:32:04 <Mathnerd314> it's *ambiguous*, so it's always well-defined
02:32:13 <elliott> tswett: I think it's well-defined but *almost certainly* not physically possible :P
02:32:39 <elliott> tswett: I mean, you can verify any theorem in O(1) time (well, if the machine can do it in O(1)).
02:32:46 <elliott> More importantly: You can verify any theorem haltingly.
02:32:51 <elliott> Any theorem! Any!
02:32:58 <elliott> Well, any expressable in ZFC or whatever.
02:33:01 <elliott> Which is an awful lot.
02:34:35 <Mathnerd314> elliott: right, it can "do" the halting problem, by giving {true,false} as well as true and false
02:34:49 <elliott> Mathnerd314: that...
02:34:54 <elliott> Mathnerd314: no, you can't do that.
02:35:01 <elliott> that doesn't make sense even in the framework of your definition
02:35:36 <zzo38> Do you know anything about weather systems that you can make some weather in a computer game and that the captain can sometimes predict the weather from it?
02:37:06 <Mathnerd314> elliott: hmm, I'm missing the inconsistency
02:37:51 <tswett> Mathnerd314: can it always return {true,false}, or only sometimes?
02:37:53 <elliott> Mathnerd314: {True,False} = Halts(P,P)
02:37:58 <elliott> that makes no real sense, at all
02:41:22 -!- elliott has quit (Quit: Leaving).
02:41:55 <zzo38> Does anyone know anything about weather in here at all?
02:47:11 <zzo38> Do you know which channel and on which network can help?
02:50:39 <Mathnerd314> tswett: only when the input depends on the output. it returns the *least* fixed point.
02:50:51 <Mathnerd314> that's not the empty set
02:52:50 <Mathnerd314> hmm, I detect a distinct silence due to lack of elliott
03:24:07 <zzo38> " !!!"
03:52:45 -!- wareya_ has joined.
03:55:36 -!- wareya has quit (Ping timeout: 260 seconds).
04:08:00 -!- poiuy_qwert has left (?).
04:35:58 <Gregor> 🍱 have a Unicode BENTO BOX
04:39:48 <zzo38> Gregor: I do not have that font
04:39:57 <Gregor> zzo38: No one does :P
04:40:09 <Gregor> It's Unicode 6, only been out for a month and a half.
04:40:44 <zzo38> Gregor: I believe you.
04:40:53 <pikhq> yûnikotò hènntô? sukề!
04:40:54 <myndzi\> wait what
04:41:00 <myndzi\> it's actually a bento box?
04:41:01 -!- myndzi\ has changed nick to myndzi.
04:41:12 <myndzi> or are you just joking, because it's a box (no character)
04:41:23 <Gregor> myndzi: 🏩 maybe you would like to enjoy the delicious 🍱 Unicode BENTO BOX in a Unicode LOVE HOTEL
04:41:30 <myndzi> lol.
04:41:58 <pikhq> ... They *actually put* LOVE HOTEL in‽
04:42:34 <Gregor> pikhq: 👅 I am sticking my Unicode TONGUE out at your lack of faith in Unicode!
04:42:37 <myndzi> no, he must certainly be joking
04:42:52 <myndzi> unless maybe we are talking about kanji, but that was not the impression i got
04:43:30 <zzo38> There are many things I do not like about unicode. One is that you need a lot of unicode tables to parse properly which are wide and text direction and various other properties.
04:43:31 <Gregor> http://www.fileformat.info/info/unicode/block/miscellaneous_symbols_and_pictographs/list.htm
04:43:38 <myndzi> apparently love hotel is only hiragana
04:43:50 <pikhq> mycroftiv: Uh, katakana.
04:43:59 <myndzi> wait what
04:44:03 <myndzi> there really is?!
04:44:05 <myndzi> D:
04:44:09 <pikhq> Surely "rabu hoteru" should be katakana.
04:44:28 <myndzi> oh, i don't know
04:44:33 <Gregor> myndzi: There really, truly is :P
04:44:36 <zzo38> pikhq: I believe it probably should be too. Is that a term in Japanese that means something?
04:44:40 <myndzi> i didn't know if it should be katakana or not
04:44:52 <myndzi> but since i've only heard the term in anime i thought it was native
04:45:06 <zzo38> Actually I found out what it means on Wikipedia
04:45:08 <myndzi> also it is obvious that this is katakana, but i didn't bother to consider it
04:45:18 <pikhq> zzo38: It's a hotel that exists for the sake of people having sex.
04:45:31 <myndzi> ?????
04:45:34 <zzo38> It is a Japanese word though. It is based on two English words.
04:45:38 <myndzi> why so display only mirc
04:45:39 <myndzi> ラブホテル
04:45:46 <myndzi> i guess so, but whatever
04:45:55 <zzo38> Some Japanese words are a compound word based on an English word together with a Japanese word.
04:46:13 <pikhq> Yeah, wasei eigo (Japanese-made English) is not that rare.
04:46:23 <myndzi> bridge at night
04:46:24 <myndzi> wtf
04:46:36 <pikhq> And it sometimes gets put back into English!
04:46:39 <Gregor> http://www.fileformat.info/info/unicode/char/1f4a9/index.htm UNICODE - PILE - OF - POO
04:46:41 <pikhq> (e.g. karaoke, anime)
04:46:51 <myndzi> i mean, that doesn't even make a good symbol because it's inverted
04:46:58 <myndzi> HAHA
04:47:08 <pikhq> Oh, and Pokémon.
04:47:13 <zzo38> pikhq: Yes it does come back into English too sometimes!
04:47:17 <myndzi> o rly
04:47:23 <myndzi> what english word is pokemon based on
04:47:27 <zzo38> Yes, karaoke, anime, and pokemon are all words that partially or fully in English
04:47:31 <zzo38> myndzi: Pocket Monsters
04:47:47 <pikhq> "Pocket monsters" → "poketto monsutāzu" → "pokemon"
04:48:08 <zzo38> pikhq: I don't think there is a "zu" in it.
04:48:34 <pikhq> zzo38: Ah, sure enough, they never put that syllable in.
04:48:39 <zzo38> And then the words like karaoke,anime,pokemon are in Japanese, and then are used also in English.
04:49:14 <pikhq> Karaoke, BTW, is from "kara" (empty) and "orchestra".
04:49:20 <Gregor> "ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE" huh?
04:49:29 <zzo38> pikhq: That is because that syllable does not belong. It is not based on a English thing called "pocket monsters", it is based on the English words "pocket" and "monsters", therefore the "zu" does not belong.
04:49:31 <pikhq> And "anime" is fairly obviously a shortening of "animation".
04:49:43 <zzo38> pikhq: Yes, I know where the words "karaoke" and "anime" are from.
04:49:45 <pikhq> zzo38: Sure it does. "Monsters" is not pronounced "Monster".
04:49:51 <myndzi> oh, right
04:49:58 <Gregor> Unicode SILHOUETTE OF JAPAN
04:49:59 <pikhq> zzo38: Yeah, but who else does here?
04:50:00 <Gregor> ... yes.
04:50:03 <zzo38> pikhq: No it doesn't. They don't use plural in Japanese.
04:50:10 <pikhq> zzo38: English does.
04:50:22 <myndzi> why is there a bunch of japanese stuff in there, why isn't there a silhouette of micronesia?
04:50:33 <pikhq> zzo38: And they *usually* follow English pluralisation patterns for English words.
04:50:45 <pikhq> myndzi: They encoded emoji.
04:51:13 <myndzi> WHITE LEFT POINTING BACKHAND INDEX
04:51:15 <myndzi> BUT NO BLACK HAND
04:51:17 <zzo38> If it was coming from a English phrase called "pocket monsters", then it would have the "zu" in the end. But it is not based on a phrase, it is based on the two words individually.
04:51:18 <myndzi> RACIST ASSHOLES
04:51:46 <pikhq> zzo38: I can confirm that it was marketed as "Pocket Monsters" in Japan.
04:51:48 <zzo38> pikhq: How can you know? Are you Japanese??
04:52:04 <pikhq> zzo38: No, but I've played the game in Japanese!
04:52:57 <zzo38> pikhq: Yes it was marketed as "Pocket Monsters" but that is because they turned it into Japanese and then into English words. Such combined abbreviated words like "pokemon" and "daburii" is common in Japanese.
04:53:14 <pikhq> myndzi: Anyways. These are all from the emoticon/pictograph set on various Japanese cell carriers.
04:53:35 <pikhq> myndzi: The Japanocentric nature of that should be clear. :)
04:54:12 <zzo38> I have played some Japanese games too, I am not Japanese either. I also read Japanese manga book, too.
04:54:28 * Mathnerd314 hates fonts
04:54:36 <Gregor> Should I buy unicodelovehotelforyou.com or unicodelovehotelforus.com?
04:54:36 <pikhq> 日本語で?
04:54:56 <zzo38> Gregor: It depends.
04:55:10 <pikhq> Mathnerd314: Clearly we should all just read bits.
04:55:28 <Mathnerd314> pikhq: no, we read pixel pattern
04:55:30 <Mathnerd314> *s
04:55:36 <pikhq> Thereby solving a wide variety of i18n issues.
04:55:40 <zzo38> *Now* can you understand why there is no "zu" in "poketto monsutaa"? It is clear to me. Why don't you understand?
04:56:09 <Mathnerd314> pikhq: we read code, not language
04:56:12 <pikhq> zzo38: Because it's a transcription of an English phrase.
04:56:25 <Mathnerd314> pikhq: everyone knows C++, right?
04:56:39 <zzo38> pikhq: No it isn't. It is a transcription of two English words. It was then later translated into an English phrase.
04:56:51 <pikhq> zzo38: That said, Japanese transcription of English phrases can be completely and utterly *bizarre* sometimes, so whatever.
04:57:16 <Gregor> Come on, anybody? Real opinions? Should I buy unicodelovehotelforyou.com or unicodelovehotelforus.com?
04:57:19 <pikhq> Moræ make things weird.
04:57:38 <zzo38> Mathnerd314: I know C, I don't know much of C++.
04:57:46 <pikhq> Mathnerd314: Nobody knows C++.
04:58:06 <Mathnerd314> pikhq: ok, but surely everyone knows English...
04:58:10 <zzo38> pikhq: No, some people program in C++, I think Microsoft does.
04:58:30 <pikhq> zzo38: They program a small subset of C++.
04:58:41 <zzo38> Mathnerd314: Not everyone knows English either, and some concepts are difficult to mean in English.
04:58:45 <pikhq> Knowledge of the whole will ruin your mind forever.
04:58:55 <zzo38> Which is why mathematics is used, is one thing.
04:59:12 <Mathnerd314> pikhq: ok, everyone knows mathematics...
04:59:48 <pikhq> Sadly, no.
04:59:56 <zzo38> Mathnerd314: Not everyone knows mathematics either, but it is commonly known by mathematicians and so on in anywhere, and can specify things less ambiguous. Of course, it only specifies mathematical things!
05:00:59 <zzo38> Tell me, what you can understand from the following English phrase: charities for poor people and monsters with names starting with "A"
05:01:08 <zzo38> Is it ambiguous?
05:03:08 <Mathnerd314> yes... ambiguous languages are the best kind
05:03:41 <Mathnerd314> mathematics is ambiguous, out of context
05:04:42 <zzo38> Mathnerd314: Yes, out of context you cannot know what is the purpose of a mathematical formula, but that is because there is no information, not because there is multiple ways to interpret it.
05:04:51 <zzo38> (Even if there is multiple ways to interpret it)
05:06:19 <Mathnerd314> same thing with English; you can find out
05:07:54 <zzo38> Yes, you can find out. Sometimes.
05:08:46 <Mathnerd314> similarly in math; and if you don't understand, you ask
05:12:23 -!- pikhq has quit (Ping timeout: 255 seconds).
05:13:16 <zzo38> Yes.
05:30:45 -!- TLUL has joined.
06:09:15 -!- zzo38 has quit (Quit: Help! I cannot eat my own brain!).
06:37:30 -!- calamari has quit (Quit: Leaving).
07:33:34 -!- pikhq has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:38 -!- zzo38 has joined.
08:09:04 -!- zzo38 has set topic: ETARTNI'HC IOV AZNAREPS ENGO ETAICSAL | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
08:20:14 -!- zzo38 has quit (Ping timeout: 240 seconds).
08:23:54 -!- zzo38 has joined.
08:27:56 <lifthrasiir> http://www.fileformat.info/info/unicode/char/1f499/index.htm Unicode is not for color blinds either. (also see U+1F49A..1F49C)
08:33:17 <fizzie> There's also green book/blue book/orange book (1f47[d-f]).
08:33:29 <fizzie> Sorry, 1f4d[7-9] instead.
08:33:42 <fizzie> I apparently have early-onset dysxelia.
08:35:26 <fizzie> The whole block is so random. Silhouette of Japan? Orange/blue diamonds, but red/blue circles and red triangles?
08:37:04 <lifthrasiir> that's because the entire pictograms added in Unicode 6.0 are originated from Emojis, which are inherently random
08:47:35 <zzo38> !!!
09:23:55 -!- zzo38 has quit (Quit: To koan or not to koan. This is the koan (not the previous sentence).).
09:31:40 -!- Slereah has quit (Ping timeout: 250 seconds).
09:55:08 -!- TLUL has quit (Quit: *disappears in a puff of orange smoke*).
10:08:49 -!- Guest48752 has joined.
11:09:57 -!- Guest48752 has changed nick to Slereah.
11:29:17 -!- MigoMipo has joined.
11:41:57 -!- elliott has joined.
11:42:12 <elliott> fizzie: figured out how to merge fonts yet? :P
11:45:25 <elliott> Wow, FontForge truly does have a uniquely bad interface.
11:47:55 <fizzie> Didn't even try. It is pretty special.
11:49:38 <elliott> fizzie: Okay, I've merged the two fonts ... ... HOW THE HELL DO YOU RENAME A FONT?!?!?!
11:49:49 <elliott> (Thankfully merging was a direct menu item.)
11:50:01 <fizzie> Maybe you just start a new font and copy all the characters there.
11:50:09 <elliott> (Like every other operation in the known universe other than useful ones.)
11:50:19 <elliott> fizzie: No, you open the base font and merge it with the font-you-like.
11:50:23 <elliott> Now how do you rename a font. :p
11:50:28 <fizzie> No, I mean, for renaming.
11:50:32 <elliott> Oh.
11:50:41 <elliott> I'm going to hope that's not the case and keep trying :P
11:50:51 <elliott> Aha.
11:50:52 <fizzie> It's probably not a good idea, no.
11:51:29 <elliott> "Droid-DejaVu Sans Mono"; I am the creative.
11:52:10 <elliott> Validating... Your font contains ERRORS! NYAH!
11:53:09 <elliott> HA.
11:53:14 <elliott> It appears to be very DejaVu.
11:54:13 <elliott> fizzie: What GUI toolkit *is* this?
11:54:58 <fizzie> aptitude show fontforge → Tags: implemented-in::c, interface::x11, role::program, scope::application, uitoolkit::xlib, use::editing, works-with::font, x11::application
11:55:30 <elliott> fizzie: So, wait... if it uses Xlib directly, somebody actually *programmed* the buttons to have such frickin' gigantic borders?
11:55:48 <elliott> Does this person still walk the streets of polite society?
11:56:02 <fizzie> I.. think so. The dependencies don't seem to have anything relevant, at least.
11:58:49 -!- MigoMipo has quit (Ping timeout: 240 seconds).
11:59:20 <elliott> fizzie: If we act calmly and rationally, we can save humanity before it is too late.
12:00:20 <elliott> Joy, the merged-the-other-way one still uses the DejaVu glyphs. I think it literally duplicates glyphs rather than selecting one, or something.
12:04:17 <elliott> fizzie: "
12:04:17 <elliott> The third approach was in fact the one I tried first, using Merge Fonts.
12:04:17 <elliott> I removed all the non-Khmer characters from KhmerOS Freehand except space, zero-width space, zero-width joiner and zero-width non-joiner (U+200B, 200C, 200D). Then I attempted the merge. The system crashed both times I tried it."
12:04:26 <elliott> Oh man, it's stable too!!!!
12:05:14 <elliott> fizzie: It... has search and replace.
12:05:16 <elliott> On splines.
12:05:17 <elliott> What.
12:05:23 <fizzie> Heh.
12:06:04 <elliott> I like how it has a scrollbar.
12:06:17 <elliott> Like, oh yeah, have fun scrolling through Unicode, pal!
12:06:38 <fizzie> I think FontForge was involved when I truetypified the rfk86 font for web-use, but somehow my mind has completely blanked off any details.
12:08:16 -!- FireFly has joined.
12:08:27 <elliott> I think mine is valiantly attempting to do so now.
12:08:44 <elliott> Did you get a searing migraine too?
12:08:57 <elliott> WOOOOO IT WORKS
12:09:04 <elliott> Wait, what have I been doing for the past fifteen minutes?
12:09:07 <elliott> I don't remember anything.
12:09:48 <fizzie> Possibly. I wrote a Perl script to generate a SVG font, and then somehow it has turned into .ttf, but I don't know how.
12:09:53 <elliott> This is done in the manner proposed by W.W. Sawyer in his
12:09:53 <elliott> Vision in Elementary Mathematics (Penguin Books, 1964). In
12:09:53 <elliott> particular, his method avoids clothing the simple ideas of
12:09:53 <elliott> addition and multiplication in the much more complex ideas
12:09:53 <elliott> inherent in the decimal system.
12:09:54 <elliott> --J
12:10:03 <elliott> fizzie: Probably pixies.
12:12:09 <elliott> Yay, I have a proper J environment with a nice font and looking-enough-like-GTK-that-you-can't-tell-it's-Java-until-you-try-and-use-it.
12:14:26 -!- yiyus_ has quit (Remote host closed the connection).
12:19:53 -!- iamcal has quit (Ping timeout: 255 seconds).
12:26:17 <elliott> Man, I wish ais523 knew how confusing his patch format is.
12:27:07 -!- cal153 has joined.
12:37:35 -!- yiyus_ has joined.
12:57:21 -!- MigoMipo has joined.
12:57:29 <elliott> fizzie: So when do we get X-Ray-O-Vision. :p
12:57:34 <elliott> (Clearly bugging you will help!)
12:58:14 <fizzie> Maybe I'll put it somewhere as a communal christmas present.
12:58:30 <fizzie> (Except that I'm pretty sure the beta update will break it on the 20th.)
13:01:00 <fizzie> (The protocol doesn't have any sort of overall format, so it needs to know all the packet IDs that go through the pipe in order to be able to determine the packet length, to know where the next packet will start.)
13:02:33 <Ilari> Doesn't sound like good protocol design...
13:02:51 <fizzie> No, but I wasn't expecting it to be.
13:03:40 <elliott> fizzie: Can I bribe you for early access? :p
13:08:20 -!- MigoMipo has quit (Ping timeout: 264 seconds).
13:09:20 <fizzie> I don't think I'm very bribable. But maybe I'll get a... uh, what's two steps before an alpha version? ... out tomorrow or so; I just need to add markers for other players, keys to look at other z-levels than the player's own in cross-section mode, surface/cross-section mode toggling with something else than a recompile, and handling of those "user removed/placed a block" packets since currently it doesn't actually update the map when you dig.
13:09:35 <fizzie> (Except if you place a torch, because the changing light-values will make the server send out a chunk update.)
13:11:11 <elliott> fizzie: Aw, but /I/ was looking forward to the low-hanging-fruit-with-large-gratification task of adding keys to look at other z-levels. :p
13:27:24 <elliott> Clearly what fizzie really needs to release his code early is a version control system to store it in. I wonder if he would like my 36-line file of scapegoat patch theory!
13:27:29 <elliott> SO TEMPTING
13:30:05 -!- jix has quit (Ping timeout: 255 seconds).
13:38:30 -!- Ilari has quit (Ping timeout: 260 seconds).
13:39:05 -!- Ilari_antrcomp has quit (Ping timeout: 260 seconds).
13:41:12 <elliott> <3 j
13:41:17 <elliott> !y = */>:i.y
13:41:34 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
13:41:34 <elliott> factorial y = multiply over increment integers y
13:44:15 <fizzie> f = @(y) prod(1:y)
13:44:50 <elliott> fizzie: Pssht.
13:45:23 <elliott> fizzie: Product of the sums of M lists of N random integers from 0 to X.
13:45:26 <elliott> Go go go.
13:45:43 <elliott> fizzie: (You can just put "M", "N" and "X" there, rather than making them actual parameters.)
13:45:59 <elliott> Oh, and that's 0 <= random < X.
13:46:25 <elliott> fizzie: My entry: */+/?M N$X
13:46:28 <fizzie> prod(sum(randi(X, N, M)))
13:46:37 <elliott> fizzie: WHOOPS LOOK AT THAT YOURS IS LONGER
13:46:41 <elliott> And more nested too!
13:46:43 <fizzie> How surprising.
13:47:39 <elliott> fizzie: Random positive 32-bit integer calculated by setting every bit to 0 or 1 with probability 1/2.
13:48:00 <elliott> #.?32$2
13:48:46 <fizzie> That's just random integer in the [0, 2^32-1] range.
13:48:56 <elliott> fizzie: Yes, it is, but it's the implementation details that matter.
13:49:14 <fizzie> Well, it's going to be long and ugly if you want it like that, but just a moment.
13:49:30 <elliott> fizzie: You don't think I'm /aiming/ for long, ugly and unreadable code on your part? :-P
13:50:15 <fizzie> sum((randi(2, 1, 32)-1) .* 2.^(0:31))
13:50:33 <elliott> fizzie: Wow, that is truly awful.
13:50:53 <elliott> GUESS J IS THE PERFECT LANGUAGE HUH
13:51:08 <fizzie> It's a 1x32 matrix of random bits, element-wise multiplied by [2^0 2^1 .. 2^31] and then sum'd.
13:51:23 <elliott> fizzie: I'd challenge you to implement a finite state machine... but, uh: [[
13:51:23 <elliott> x;:y implements a sequential machine (finite state machine, finite state automaton). x is the specification of a machine, including the state transition table, and y is the input. A sequential machine solves the problem of recognizing the “words” in the input. The machine starts in some initial state and processes the input one item at a time; given the current state and input item, the new state and output are determined by the state transit
13:51:24 <elliott> ion table. The machine then proceeds to process the next input item.]]
13:51:28 <elliott> I think I would win that one. :p
13:52:44 <fizzie> I'm sure there's a FSM toolbox, but, well, it's going to be longer than that; just the function-call parens take two chars.
13:53:13 <elliott> fizzie: To be fair, x /is/ a rather ugly boxed thing: "y is any array and x=.f;s;m;ijrd is a boxed list from which ijrd or both m and ijrd may be elided."
13:53:20 <elliott> But it would be shorter anyway. :p
13:53:30 <elliott> fizzie: Now: A fully-functional Minecraft server!
13:53:36 <elliott> Calling out to C is permitted as long as you provide the C source.
13:57:24 <fizzie> MATLAB's forte is the existing stuff. Let's see your J implementation of training a feed-forward neural network with Levenberg-Marquardt backpropagation; in MATLAB it's train(net,data).
14:00:02 <elliott> fizzie: M-CPM-=M-tlM-
14:00:06 <elliott> fizzie: Two characters shorter, I believe.
14:01:10 <fizzie> I am not sure if I should trust you there.
14:01:45 <elliott> fizzie: M-CPM is the module name (they're named sequentially, alphabetically; not much logic to that, immediately).
14:01:53 <elliott> Note: I'm full of shit; it's cat -v /dev/urandom output.
14:02:23 <elliott> fizzie: But admit it... for a second you felt the pangs of using an inferior language.
14:04:53 -!- MigoMipo_ has joined.
14:04:58 <fizzie> Yes, though in an incident completely unrelated to this one. (I was trying to pick a random sample from a nonparametric discrete distribution which I had the PDF -- well, non-normalized, but anyway -- for, and the only single-line MATLAB solution I could figure out was pretty crappy.)
14:05:45 <fizzie> [~, t] = histc(rand(), [0 cumsum(d)]/sum(d)); -- to do "t = 1 .. length(d) randomly, with the probability of getting i proportional to d(i)".
14:06:11 <elliott> fizzie: That's probably really short in J, but I'm too lazy and inexperienced to work it out.
14:06:46 * elliott watches Deewiant's loop-booster make a round.
14:06:50 <elliott> Heh, it looks so silly when it turns.
14:06:54 -!- sftp has joined.
14:06:56 <elliott> fizzie: Have you got any iron I can borrow in MC?
14:06:57 <fizzie> The statistics toolbox has a random() function that takes a PDF, but it doesn't take matrices; it just takes "ProbDist" class objects, and the only ones I could figure out to create were either out of ~30 families of parametric distributions, or a non-parametric kernel-smoothing-fit-to-data thing.
14:07:24 <elliott> fizzie: I'm not sure why you'd store data in PDFs. ARF ARF ARF
14:07:27 <fizzie> Only in my safe place, and not too much. How much would you need?
14:07:37 <elliott> fizzie: Enough for about... two Minecart tracks?
14:07:56 <elliott> I mean, just as a unit of measurement.
14:08:12 <elliott> fizzie: I can pay it back, next time I go to Mount Hoover.
14:08:30 <fizzie> That's, what, 12 ingots? I guess I could donate that much, but I'm not sure when I'll have time to visit the World.
14:08:37 <elliott> 12? Is it? Yow.
14:08:51 <elliott> They look so flimsy.
14:09:03 <fizzie> It's |-| where the ||s are iron and - is a stick or a plank, either-or.
14:09:07 <elliott> Hmm, I have 4 ores on me, but no smelty.
14:09:17 <fizzie> That is "either-or" in the "can't remember which" sense, not in the "anything goes" sense.
14:09:38 <elliott> fizzie: Heh; increasing the height of the default window size just slightly makes the inventory and chat 1:1 pixels.
14:09:45 <elliott> And the crafting grid tiny.
14:09:56 <fizzie> Or, well (Orwell); that is the recipe, but you do get 16 tracks out of it.
14:10:11 <fizzie> You just can't get them in smaller increments.
14:10:24 -!- MigoMipo has joined.
14:10:46 -!- MigoMipo_ has quit (Ping timeout: 240 seconds).
14:12:32 <fizzie> I haven't quite figured out the UI sizing logic. I use the 960x1200 window for playing, and the UI elements are reasonably sized; but if I open a full-screen window, they are annoyingly huge and space-wasting. I guess it scales (or at least tries to) aspect-ratio-preserving.
14:12:54 <elliott> fizzie: Can Matlab's interpret-this-list-of-integers-as-digits-in-base-N function accepts arguments LARGER than the base???
14:12:58 <elliott> 10 #. 1 2 3
14:12:58 <elliott> 123
14:12:58 <elliott> 10 #. 1 2 11
14:12:58 <elliott> 131
14:13:07 <elliott> And equ
14:13:10 <elliott> *equal to, for that matter.
14:13:52 <elliott> 1A34Z_10 = 20365
14:13:55 <elliott> _10
14:13:57 <elliott> that is
14:14:12 -!- MigoMipo_ has joined.
14:14:15 <fizzie> Wellll, yes, in the sense that it doesn't have a "interpret this list of integers as digits in base-N" function, and if you do it the way I did that rand32, it's just a sum-multiply-powers-of-N thing, and there it of course will.
14:15:03 <fizzie> >> sum([1 2 11] .* 10.^(2:-1:0))
14:15:03 <fizzie> ans =
14:15:03 <fizzie> 131
14:15:36 <elliott> 1.3 #. 1 2 3
14:15:36 <elliott> 7.29
14:15:43 <elliott> fizzie: Fractional bases, does it do them? Presumably.
14:16:23 <elliott> fizzie: What about complex bases?
14:16:24 <elliott> 3j10 #. 1 2 3
14:16:24 <elliott> _82j80
14:16:26 <elliott> (_ is negative)
14:17:02 -!- MigoMipo has quit (Ping timeout: 265 seconds).
14:17:31 <fizzie> Well, What does 3j10 mean? 3+10*i?
14:17:49 <fizzie> >> sum([1 2 3] .* (3+10*j).^(2:-1:0))
14:17:49 <fizzie> ans =
14:17:49 <fizzie> -82.0000 +80.0000i
14:17:51 <fizzie> I guess so.
14:18:04 <elliott> fizzie: 3j10 is 3+10i, yes.
14:18:06 <fizzie> There might be a complex-number literal format, too.
14:18:23 <fizzie> Yes, the * in my expression is superfluous.
14:18:36 <FireFly> Is that J I see there?
14:19:04 <elliott> FireFly: Yup.
14:19:11 <fizzie> There's more J in the logs if you look closely.
14:19:30 <elliott> fizzie: The string 1,2,3,4,5,6,7,8,9,10, interpreted in base N!, where N is a random number picked by selecting 8 random bit values and interpreting them in base 2.
14:19:34 <elliott> And N! is of course N factorial.
14:19:37 <elliott> (!#.?4$2)#.>:i.10
14:19:37 <elliott> 2036
14:19:39 <elliott> Your entry?
14:20:05 <elliott> (It is acceptable to say "I don't like you." at this point.)
14:22:04 <fizzie> I don't like the "random bit values in base 2" thing, since it's completely identical to "random integer in the range" value-wise.
14:22:13 <fizzie> But I can write that down if you like, assuming it fits in my terminal.
14:22:35 <elliott> fizzie: OK, I'll redo the random bit values in base 2 thing.
14:22:49 <fizzie> With something more horrible, I guess.
14:24:08 <elliott> fizzie: N = The base-3 interpretation of 2 random numbers in the range [0,1] (at least I think 1 is included; it might not actually be), both multiplied by ten.
14:24:11 <elliott> You still need to do the factorial thing.
14:24:14 <elliott> (!3#.10*?2$0)#.>:i.10
14:24:14 <elliott> 5.39227e234
14:24:15 <elliott> Your move.
14:24:39 <elliott> fizzie: (The rest of the challenge still applies.)
14:25:49 <fizzie> >> sum((1:10) .* prod(1:sum(10*rand(1,2).*[3 1])).^(9:-1:0))
14:25:49 <fizzie> ans =
14:25:49 <fizzie> 2.3719e+177
14:26:13 <elliott> fizzie: rand(1,2) includes 1.5, surely?
14:26:30 <fizzie> No, it's 1x2 sized matrix of [0, 1) uniform-distributed random numbers.
14:26:39 <elliott> Ah.
14:26:46 <elliott> <elliott> fizzie: The string 1,2,3,4,5,6,7,8,9,10, interpreted in base N!, where N is a random number picked by selecting 8 random bit values and interpreting them in base 2.
14:26:54 <elliott> fizzie: Does it do /all/ of that?
14:26:59 <elliott> Except with the new N definition.
14:27:03 <elliott> Just checking.
14:27:47 <fizzie> Yes. prod(1:...) does "N!", taking that .^(9:-1:0) gives the proper products, that's multiplied elementwise by 1:10 (the list [1 2 3 .. 10]) and then the result is sum'd together.
14:28:24 <elliott> fizzie: OK, that's not bad, not bad.
14:28:32 <elliott> Still not as good as (!3#.10*?2$0)#.>:i.10, of course.
14:28:48 <fizzie> I did the "base 3 interpretation of two numbers times ten" a bit cheatingly, though, with that manual [3 1] multiplication, but... as I said, there's no real "interpret in base-N" built-in. (Unless there is.)
14:28:49 <elliott> That 2$0 is probably clearer as 0 0.
14:29:11 <elliott> fizzie: I'd randomise the number of digits but I'm not that cruel and it'd overflow J's integer.
14:29:50 <elliott> s.
14:29:52 <elliott> (Probably.)
14:30:04 <elliott> Well, okay, so it's not an integer.
14:31:09 <fizzie> Using a separate function for base-n "decoding" would simplify the MATLAB version a lot.
14:31:11 <fizzie> >> bn = @(b,d) sum(d .* b.^(length(d)-1:-1:0));
14:31:11 <fizzie> >> bn(prod(1:bn(3, 10*rand(1,2))), 1:10)
14:31:11 <fizzie> ans =
14:31:11 <fizzie> 6.5004e+291
14:31:22 <fizzie> Well, maybe "a lot" is a bit too much to say.
14:31:42 <FireFly> Btw, elliott, I find http://www.jsoftware.com/help/dictionary/vocabul.htm to be a great reference for J
14:32:00 <elliott> FireFly: Yeah, you can get that by hitting F1 inside J.
14:32:05 <FireFly> Ah
14:32:09 <elliott> Very useful
14:32:17 <FireFly> I usually use the command-line frontend
14:32:24 <elliott> FireFly: Why would you do that :)
14:32:25 <fizzie> And there's a built-in factorial, but it takes more characters; prod(1:N) vs. factorial(N).
14:32:25 <FireFly> Err
14:32:31 <FireFly> The terminal-based one, that is
14:32:33 <FireFly> I dunno
14:32:45 <elliott> (Okay, so the GUI one is Java. It is nice though.)
14:34:31 <elliott> Hmph, making Minecraft texture packs looks like a pain.
14:34:38 <elliott> (I want to see what 1x1 textures look like.)
14:37:27 <elliott> Oh, wait, it looks like it's all in one file.
14:44:36 <quintopia> i gotta hand it to matlab on the readability here. ...not that line noise isn't fun too.
14:47:26 <fizzie> Gnaa, horrible dumbing-down of text: http://www.shopexplorer.com/news/squarehead-audioscope-zoom-in-on-sound.html -- "Once a subject has been selected, the required microphone picks up the audio by amplifying the source, while the other mics are turned down." That's so not how it works; all sensible beamforming systems use the whole set of microphones and the known-from-geometry delays, not just "hay we have a directional microphone pointing at the source, let'
14:47:26 <fizzie> s turn that on".
14:47:48 <fizzie> What's worse, it's like they've taken the description directly from the company page, except then removed the parts they didn't understand.
14:48:27 <fizzie> "AudioScope is based on the same principle as sonar. A dish with an array of microphones can locate and record sound anywhere in a large room. A speaker's voice in an auditorium is picked up by all the microphones on the dish. Depending on the position of each microphone, the sound will reach them at a slightly different time. We use this to our advantage." → "It works in a similar way to sonar; a central dish houses a number of microphones within it that poi
14:48:28 <fizzie> nt in slightly different directions and a camera is used to view the source area. Once a subject has been selected, the required microphone picks up the audio by amplifying the source, while the other mics are turned down."
14:49:12 <fizzie> (I'd like to hear that in action, incidentally.)
14:49:35 <quintopia> an electronic implementation of auditory attention!
14:49:55 <quintopia> does it do spectral analysis to narrow in on the interesting part of the spectrum too?
14:50:57 <fizzie> They don't tell that sort of stuff, of course, since it's a commercial product.
14:51:20 <quintopia> i want to see a robot that is capable of the cocktail party effect, capable of integrating visual cues such as a speaker's mouth moving, with the lingual auditory information
14:51:45 <quintopia> s/lingual/linguistic/
14:52:32 <fizzie> That's being done in several places, I think.
14:52:40 <fizzie> Academically, I mean.
14:52:51 <fizzie> I'm not aware of any actual product-development projects.
14:54:42 <quintopia> ah, you don't know who is doing it?
14:56:13 <fizzie> Not offhand. The auditory/visual combination thing was one of the topics in our "learning from multiple sources" course; I've forgotten the name of the robotics EU project that was doing exactly that that a visiting guy from another university talked about; and I just recall seeing rather many references to the whole multimodality thing, it's sort of a buzzword.
14:56:34 <fizzie> And we have the sort-of-invented-here ICA, which is typically mentioned in the cocktail party context. (It's a blind source separation thing, not very directly related.)
14:58:09 <quintopia> oh man, this interactive film thing is such a great idea. imagine a movie that takes place entirely at a party, in one house, and there are cameras everywhere, and you can interpolate between them using standard vision techniques so as to watch from any angle...and you can track any sound source.
14:58:25 <quintopia> and EVERY partygoer is involved in some interesting story that unfolds over an hour
14:58:56 <quintopia> man, you could spend days watching that
14:59:11 <fizzie> You could spend quite a long making that, too. :p
14:59:50 <quintopia> well, yes
14:59:58 <quintopia> but no longer than it takes to make any movie
15:00:19 <quintopia> since you'd just have to actually rig a house with camoflauged cameras and sound-zoom things
15:00:28 <quintopia> and then have the actors rehearse for ages
15:00:41 <quintopia> and finally, film the entire thing in one continuous shot
15:00:48 <quintopia> like a stageplay
15:01:02 <fizzie> Oh, the robotics folks were also doing gait recognition. Someone had the audacity to ask them about whether it is, you know, actually useful for something.
15:01:21 -!- augur has quit (Remote host closed the connection).
15:01:38 <quintopia> is there a punchline?
15:01:45 -!- augur has joined.
15:02:20 <quintopia> i'd say it would be useful in strong AI for threat recognition
15:04:26 <fizzie> Well, he sort of avoided the question; there was something about how it works from a longer distance than face recognition.
15:06:58 -!- augur has quit (Ping timeout: 276 seconds).
15:07:23 <fizzie> They have (a bit silly) demo-video at http://www.youtube.com/watch?v=FjyN7qjkKjU but I'm not promising anything mind-blowing there.
15:10:10 -!- jix has joined.
15:15:26 <elliott> [[“vim doesn’t support interactive buffers? after 20 years? well, I’m a hacker. I’ll just add support for it.”
15:15:26 <elliott> sees quality of vim codebase, runs frantically in opposite direction
15:15:27 <elliott> “who needs a console in their editor anyways!!!! I am all about the unix philosophy, etc”]]
15:16:42 -!- nopseudoidea has joined.
15:19:47 <fizzie> Heh. I sort-of wanted a nice VIM/Matlab integration, didn't work out all that well.
15:20:07 <elliott> Dammit computer, I'm only using 1.4 GiB out of 3.7 GiB of RAM I have.
15:20:15 <elliott> So stop lagging, even if both my cores are being used intensively.
15:20:18 <elliott> By... uh... Firefox, I guess.
15:20:59 <elliott> fizzie: It's from “vim doesn’t support interactive buffers? after 20 years? well, I’m a hacker. I’ll just add support for it.”
15:21:00 <elliott> sees quality of vim codebase, runs frantically in opposite direction
15:21:00 <elliott> “who needs a console in their editor anyways!!!! I am all about the unix philosophy, etc”.
15:21:00 <elliott> erm.
15:21:08 <elliott> fizzie: It's from “vim doesn’t support interactive buffers? after 20 years? well, I’m a hacker. I’ll just add support for it.”
15:21:08 <elliott> sees quality of vim codebase, runs frantically in opposite direction
15:21:08 <elliott> “who needs a console in their editor anyways!!!! I am all about the unix philosophy, etc”
15:21:10 <elliott> GOD DAMMIT FIREFOX
15:21:12 <elliott> I PRESSED CTRL+C THAT MEANS COPY
15:21:20 <fizzie> THOU SHALT NOT COPY.
15:21:23 <elliott> fizzie: It's from http://kevinw.github.com/2010/12/15/this-is-your-brain-on-vim/.
15:21:27 <elliott> Used the menus to cut/paste that, how shameful.
15:21:47 <elliott> fizzie: I was really expecting it to end with "and then I switch to Emacs", what with the flurry of non-modal modifier key+foo binding.
15:22:00 <elliott> And the Y-combinator-browsin'-in-vim, and the vimscript hatred.
15:22:04 <elliott> But no; he's a wimp!
15:22:13 <elliott> (Because Vim users are wimps, obviously.)
15:22:27 <fizzie> A vimp.
15:23:15 <fizzie> "tries impressing someone watching over shoulder with a macro, only to mess up and uppercase/rot13 the entire file"
15:26:58 <elliott> Yes, I personally have rot13 bound to C-x x.
15:27:02 <elliott> It's just that useful.
15:27:56 <fizzie> I'm ashamed to admit I usually just paste into a tr a-z n-za-m.
15:31:31 <elliott> fizzie: I'm not ashamed to admit that I basically never use rot13 :P
15:32:25 <fizzie> Whenever I see gibberish, I rot13 it just in case.
15:37:48 -!- augur has joined.
15:42:57 -!- Sgeo has joined.
15:43:19 <Sgeo> I think I was suffering from IRC deprivation
15:47:38 -!- nopseudoidea has quit (Quit: Quitte).
15:49:19 -!- Phantom_Hoover has joined.
15:50:44 <Phantom_Hoover> Hmm. I assumed that topic was elliott being silly as always, but then I saw that zzo set it and I now fear that Cthulhu has awoken.
15:51:32 <elliott> MWAHAHA
15:53:23 <Sgeo> I'm caffenatired
15:54:40 <Sgeo> Also, I'm terrified of lonliness. Protip: Do not play One Chance. Do not watch walkthroughs of it. Especially if you're me
15:54:57 <nooga> vim
15:56:16 <Phantom_Hoover> Sgeo, assuming you found out about that from qntm?
15:56:22 <Sgeo> Phantom_Hoover, yes
15:56:35 <Phantom_Hoover> It's a shoddy copy of "Every Day the Same Dream", FWIW.
15:56:57 <Sgeo> If the plot's similar, remind me to never play that either
15:57:11 <Phantom_Hoover> Naw, the plot is different (and not crap).
15:57:23 <Phantom_Hoover> But the gameplay and several scenes are identical.
15:57:45 <Sgeo> As long as the final scenes aren't identical
15:57:49 <nooga> i've shown vim to my windows based friends and they said "what, this is retro man, like uh, does it have any keyboard shortcuts?"
15:57:49 -!- augur has quit (Remote host closed the connection).
15:57:50 * Sgeo shudders
15:58:24 -!- jix has quit (Read error: Operation timed out).
15:58:49 <nooga> well, they can't code in visual studio 2008 so they download huuuuuuge visual studio 2010
15:58:49 <Phantom_Hoover> Sgeo, One Chance's plot is... terrible. Particularly, as pointed out by Hughes, it seems to say "forget saving the world FAMILY FAMILY!!!1111!!"
15:59:37 <Sgeo> Phantom_Hoover, badness of plot doesn't stop me from having nightmares
16:02:31 <Sgeo> I just saw the "good" ending
16:02:35 <Sgeo> It still haunts me
16:02:46 -!- jix has joined.
16:05:23 <Phantom_Hoover> elliott, have you still not read Fine Structure?
16:05:32 <elliott> Phantom_Hoover: Not the end yet!
16:05:33 <Sgeo> Phantom_Hoover, he's read some of it
16:05:51 <Phantom_Hoover> elliott, you are lagging behind Sgeo!
16:05:54 <Phantom_Hoover> For shame!
16:06:17 <elliott> has Sgeo played eversion
16:06:20 <elliott> if not, I recommend Sgeo plays eversion
16:06:24 <elliott> it's a fun 8-bit game about happy things!
16:06:43 <Sgeo> I could swear I've seen that name before in connection with another game
16:07:41 <elliott> Sgeo: It's like this: http://zarawesome.googlepages.com/screenie.png
16:09:36 <Sgeo> Could be like Erfworld -- looks cute, full of death
16:10:50 <elliott> Sgeo: Did you think that when playing Super Mario Brothers? :P
16:11:06 <Phantom_Hoover> elliott, think of the GOOMBA HOLOCAUST.
16:11:07 <Sgeo> http://tvtropes.org/pmwiki/pmwiki.php/SugarWiki/Eversion?from=Main.EVERSION this seriously reads like a trick
16:11:15 <elliott> Sgeo: http://zara.verge-rpg.com/eversion173.zip
16:11:18 <elliott> You're so damn sceptical.
16:12:02 <Sgeo> http://tvtropes.org/pmwiki/pmwiki.php/DarthWiki/Eversion uhhh
16:12:42 <Phantom_Hoover> Sgeo, it's a lie! A troper lie!
16:14:24 <Phantom_Hoover> LIES
16:14:25 -!- MigoMipo_ has quit (Read error: Connection reset by peer).
16:16:13 <Sgeo> http://tvtropes.org/pmwiki/pmwiki.php/DarthWiki/Eversion
16:16:15 <Sgeo> oops
16:19:39 -!- ais523 has joined.
16:22:20 <elliott> hi ais523!
16:22:27 <elliott> ais523: I implemented the basic patch logic of Scapegoat in Haskell.
16:22:29 <elliott> *scapegoat
16:22:33 <elliott> Vorpal: http://imgur.com/ymmLk.png
16:22:41 <ais523> hi
16:22:46 <ais523> sorry, trying to do something at work here
16:22:56 <elliott> ais523: ok, i'll shut up then :)
16:22:56 <Vorpal> elliott, I'm on far + fancy, no way I'll open browser atm
16:23:00 <ais523> I'm actually at a friend's house (for the Internet connection), but luckily ssh -X works
16:23:03 <elliott> Vorpal: wget|feh
16:23:08 <Vorpal> fizzie, feh?
16:23:13 <Phantom_Hoover> ais523, did you tell some newspaper or other that you know 6 esolangs?
16:23:27 -!- jix has quit (Read error: No route to host).
16:23:38 <Phantom_Hoover> I mean, 6 is pathetic, especially as you've *invented* at least 3.
16:23:43 <ais523> 6? that seems unlikely
16:23:53 <elliott> Vorpal: feh is an image viewer
16:23:59 <ais523> I seem to remember making a comment along the lines of "around 20, 30 if you count esolangs" when asked how many languages I knew
16:24:02 <ais523> but it was an estimate
16:24:17 <Phantom_Hoover> POOR JOURNALISM STRIKES AGAIN
16:24:30 <ais523> Waiting for TreeFrame to appear... 600 seconds left.
16:24:32 <ais523> Waiting for TreeFrame to appear... 599 seconds left.
16:24:33 <ais523> TreeFrame has appeared!
16:24:37 <ais523> this application does not fill me with confidence
16:25:02 <elliott> :D
16:26:26 <Phantom_Hoover> I love estimated completion times.
16:26:43 <Phantom_Hoover> You'd think the people who write them have no concept of precision.
16:27:22 <ais523> hmm, turns out it crashes immediately after you make any change
16:27:30 <ais523> so I'm having to restart it every time I change anything
16:27:34 <fizzie> TreeFrame has appeared! sounds like something from a MMORPG.
16:27:50 <Phantom_Hoover> fizzie, Pokemon, surely?
16:28:46 <fizzie> TreeFrame has evolved to TreeFrameFactory!
16:29:07 <ais523> Phantom_Hoover: I suspect it's a timeout, not an estimated completion time
16:31:13 <Phantom_Hoover> fizzie, hmm.
16:31:26 <Phantom_Hoover> There's an esolang in this!
16:36:49 <Sgeo> Wait, cgi scripts can't give arbitrary status codes?
16:36:52 <Sgeo> HTTP status codes?
16:37:21 -!- SaFi2266 has joined.
16:38:38 <SaFi2266> Hi all
16:38:38 <SaFi2266> Totally newbie here
16:39:22 <ais523> hi SaFi2266
16:39:42 <ais523> elliott: I fear I'm doing something insane; I just set up Evolution over ssh -X so I could send emails from work from home
16:39:58 <elliott> ais523: I...
16:40:03 <elliott> ais523: everyone who invented mail protocls hates you
16:40:08 <elliott> SaFi2266: hi, this channel is about esoteric programming languages
16:40:09 <SaFi2266> ohh hello
16:40:10 <elliott> *protocols
16:40:18 <ais523> elliott: why?
16:40:39 <elliott> ais523: because the whole point of IMAP etc. is to be able to use local programs to access any remote server :)
16:40:43 <SaFi2266> sorry
16:40:48 <elliott> SaFi2266: sorry?
16:41:08 <ais523> elliott: oh, indeed
16:41:14 <SaFi2266> but I am discovering the irc I am new
16:41:16 <ais523> I'm actually using IMAP on the remote server
16:41:24 <elliott> ais523: and yet you forward evolution over X why?! :)
16:41:32 <elliott> i suppose that computer might only have, like, outlook
16:41:34 <elliott> in which case okay
16:41:36 <ais523> so I can attach files that exist at the other end
16:41:40 <elliott> heh
16:41:42 <Deewiant> elliott: It might be a server only visible in the LAN
16:41:48 <ais523> actually, I think Thunderbird was set up already, but I just typed Evolution out of habit
16:41:59 <fizzie> There's sshfs for that sort of thing.
16:44:15 <fizzie> And CGI scripts can product many status codes, if not all; you just output a Status: header in front.
16:44:26 <Sgeo> In Perl, failing to put quotes around a string you're trying to print should not print the string
16:44:28 * Sgeo glares
16:44:45 <Sgeo> What happened was it printed out a garbled thing
16:45:03 <fizzie> Use something sensible like "use strict; use warnings;".
16:45:23 <fizzie> The strictness will disable "bareword" strings in many places.
16:46:38 <fizzie> At least I think it will.
16:47:02 <ais523> elliott: anyway, I agree that forwarding a mail client over X pretty much makes no sense
16:47:33 <Sgeo> Laziness!
16:47:41 <ais523> but at least I have two now, Thunderbird doesn't work if you're logged in twice from different workstations
16:47:43 <Deewiant> If the server isn't SSL-enabled it can.
16:47:52 <elliott> ais523: Oh, I can't resist; here's an example of the code:
16:47:54 <elliott> c1 = Insert Start End "Hello, world!"
16:47:54 <elliott> c2 = Insert c1 End "Goodbye, cruel world!"
16:47:54 <elliott> c3 = Replace c1 "Ow, my ear."
16:48:01 <elliott> *Main Data.Maybe> map snd . fromJust $ applyLis [c1,c3] empty
16:48:01 <elliott> ["","Ow, my ear.",""]
16:48:07 <elliott> (where the first and last strings are Start and End)
16:48:15 <elliott> (and map snd discards blame information)
16:48:23 <elliott> *Main Data.Maybe> map snd . fromJust $ applyLis [c1,c2,c3] empty
16:48:23 <elliott> ["","Ow, my ear.","Goodbye, cruel world!",""]
16:48:24 <elliott> but:
16:48:38 <elliott> *Main Data.Maybe> applyLis [c1,c3,c2] empty
16:48:38 <elliott> Nothing
16:48:46 <elliott> the end
16:48:47 <ais523> elliott: I've done most of the urgent and fast tasks now
16:48:57 <ais523> hmm, how does it handle a merge conflict?
16:49:05 <elliott> ais523: you mean a failing patch?
16:49:07 <elliott> it just returns Nothing :)
16:49:10 <elliott> applyLis evaluates in order
16:49:18 <elliott> it's just a convenience function
16:49:31 <elliott> it doesn't validate that the patches make sense unorderedly
16:50:15 <ais523> ah, OK
16:54:22 <nooga> i want a language with no syntax
16:54:30 <Vorpal> elliott, down?
16:54:34 <elliott> Vorpal: do
16:54:35 <elliott> yes
16:54:38 <ais523> nooga: any of the zerodimensional ones?
16:54:40 <elliott> nooga: forth
16:54:56 <elliott> ais523: anyway, the apply function is surprisingly neat!
16:55:40 <elliott> ais523: http://sprunge.us/gZDO the guards are basically a half-assed excuse for not writing a proper validation function, and the do notation is unnecessary, but it's surprisingly simple
16:55:48 <elliott> Line is just (Change,String); i.e. (blame,text)
16:58:21 <elliott> ais523: basically, I think this can work
17:02:22 -!- Sgeo has quit (Ping timeout: 240 seconds).
17:03:00 <nooga> elliott: yeah, i thought about forth
17:03:21 <elliott> nooga: But you concluded that it has syntax?
17:04:04 <nooga> it's RPN
17:04:08 <elliott> nooga: Wrong.
17:04:22 <elliott> nooga: It just so happens that by default, the mathematical words defined happen to act in a manner similar to RPN calculators.
17:04:29 <elliott> Forth itself has no syntax.
17:04:51 <nooga> but then, with such language i would enable programmers to define syntaxes just like we define functions
17:04:54 <nooga> and then
17:04:59 <elliott> nooga: Indeed, that is possible in Forth.
17:05:04 <elliott> Words can read from the input stream directly.
17:05:07 <elliott> This is a very common technique.
17:05:12 <nooga> shit
17:05:15 <elliott> You can implement C as a Forth word, even, like this:
17:05:23 <elliott> run-c int main(void) { return 0; } SPECIAL-END-C-MARKER
17:06:18 <nooga> but if i'd like to use forh words between run-c and SPECIAL-END-C-MARKER...
17:06:28 <elliott> nooga: Sure, you can implement that as part of run-c.
17:06:50 <elliott> run-c int main(void) { return HERE-COMES-SOME-FORTH 3 1 2 + - OK-THE-FORTH-IS-OVER-EMBED-THE-TOP-OF-STACK-INTEGER-INTO-THE-PROGRAM; } SPECIAL-END-C-MARKER
17:07:09 <elliott> nooga: In fact, : -- the word definition word -- is implemented like run-c, except that it uses the existing "read a Forth word" procedure.
17:07:21 <elliott> It simply reads each word, and executes its immediate version.
17:07:26 <elliott> That is it.
17:07:30 <elliott> And then terminates on ;.
17:07:49 -!- jix has joined.
17:13:08 <Vorpal> elliott, you said you found dungeons. Found any records?
17:13:24 <elliott> Vorpal: I was blatantly lying.
17:13:27 <elliott> Sorry. :p
17:13:38 -!- augur has joined.
17:13:38 <Vorpal> elliott, so where did you get the TNT?
17:13:44 <Vorpal> or was that a lie too?
17:13:48 <elliott> Vorpal: I didn't. >_>
17:14:05 <Vorpal> elliott, so you never used any tnt?
17:14:09 <elliott> Nope.
17:14:15 <Vorpal> right
17:14:35 <elliott> The time I said I spent dungeoning was, in fact, spent doing nothing at all.
17:14:42 <Vorpal> hah
17:14:55 <Vorpal> elliott, so there goes my plan for public jukebox at subtree
17:17:30 <ais523> hmm, when did this become #minecraft?
17:19:10 <elliott> ais523: since we all bought minecraft
17:19:29 <elliott> ais523: in fairness, the alternatives would be silence, or /other/ off-topic stuff
17:20:13 <ais523> or scapegoat?
17:20:26 <ais523> I seem to remember this channel used to have ontopic discussions more often
17:20:29 <ais523> also, offtopic discussions more often
17:20:38 <elliott> ais523: yes, the minecraft playing has been ... excessiev
17:20:41 <elliott> *excessive
17:25:26 <elliott> ais523: I'd make a #scapegoat, except it'd never get any activity ever.
17:25:32 <elliott> Project-specific IRC channels rarely do.
17:25:47 <ais523> indeed
17:28:03 <ais523> elliott: well, #ubuntu tends to be pretty crowded
17:28:06 <ais523> especially around releases
17:28:14 <elliott> ais523: Ubuntu is a pretty big project :P
17:30:15 <Phantom_Hoover> elliott, incidentally, what was your response to my (awesome) naming scheme for Mitosis?
17:30:34 <elliott> Phantom_Hoover: Um, I believe I ignored it.
17:30:45 <Phantom_Hoover> elliott, :(
17:40:17 <Vorpal> elliott, down?
17:40:33 <elliott> BJAODowN
17:40:45 <Vorpal> elliott, ?
17:40:48 <elliott> Phantom_Hoover: "Please don't list this on a work's page as a trope.
17:40:49 <elliott> Examples can go here, on one of this page's subpages, or the work's YMMV tab."
17:40:54 <elliott> Phantom_Hoover: TV Tropes: Now with YMMV tabs.
17:53:23 <Phantom_Hoover> fungot, what is your opinion on the matter?
17:53:23 <fungot> Phantom_Hoover: or something weird like a preprocessor. it creates external files with the code. perhaps in gcc-specific projects, though...
17:56:36 * pikhq finds it *incredibly* strange that international telephone calls have additional rates.
17:57:03 <pikhq> It's not like sending packets over the Atlantic costs much more than sending packets to the other side of the country.
17:57:20 <ais523> pikhq: what people are charged for something depends not on what it actually costs, but on what people are willing to pay for it
17:57:42 <pikhq> ais523: Aaaand people are morons.
17:57:42 <pikhq> Fuck.
17:58:48 * pikhq would like to replace large parts of humanity with rational actors.
17:58:56 <pikhq> It would make *so much* of economics work better!
18:01:42 <coppro> haha
18:01:52 <coppro> pikhq: you forgot well-informed
18:01:55 <quintopia> pikhq: how would you ensure that that rationality was common knowledge?
18:02:11 <pikhq> coppro: Ah, right. That too is important.
18:02:22 <pikhq> quintopia: Rationality isn't knowledge, it's a property!
18:02:53 <quintopia> pikhq: nothing will change if your world is full of rational actors that still think everyone else is irrational and uninformed
18:02:57 <coppro> pikhq: also a functioning justice system
18:03:03 <quintopia> you need to make those facts common knowledge to change anything
18:03:43 <pikhq> quintopia: Rational, well-informed actor, then.
18:03:45 <quintopia> which means proving to all these people that you have the power to make that change....
18:04:05 <pikhq> coppro: A set of rational, well-informed actors would probably be inclined to create such a system.
18:04:06 -!- Sgeo_ has joined.
18:04:12 <pikhq> coppro: But, yeah, we could really do with that.
18:04:37 <coppro> pikhq: The problem is the other set of rational, well-informed actors with money
18:04:43 <coppro> who don't want a functioning justice system
18:04:47 <coppro> because they can have more money that way
18:04:48 <pikhq> Those, we lynch.
18:05:01 <coppro> pikhq: once per day, majority vote?
18:05:01 <pikhq> PRAISE THE FRENCH REVOLUTION
18:06:57 <quintopia> oh
18:07:13 * quintopia votes elliott as mob
18:07:26 <quintopia> he's a sneaky bastard. he has to be mafia.
18:09:19 <elliott> <coppro> pikhq: The problem is the other set of rational, well-informed actors with money
18:09:19 <elliott> <coppro> who don't want a functioning justice system
18:09:24 <elliott> coppro: not rational, well-informed, utilitarian actors with money
18:09:30 <elliott> rational, well-informed, selfish actors, sure
18:11:58 <Vorpal> elliott, down?
18:12:18 <Deewiant> Vorpal: No
18:12:38 <Vorpal> Deewiant, yes from here
18:12:42 -!- fizzie has quit (Read error: Operation timed out).
18:12:48 <Deewiant> Yes, you and elliott left
18:12:57 <Vorpal> Deewiant, so maybe it only works from .fi now
18:13:28 <Deewiant> Or Welho
18:13:33 <Vorpal> Deewiant, hm
18:13:33 -!- fungot has quit (Read error: Operation timed out).
18:14:13 <Vorpal> Deewiant, "no route"
18:14:34 <Vorpal> well bbl, will make food
18:15:35 -!- fizzie has joined.
18:21:22 <Sgeo_> "NOT INDICATED FOR CHILDREN OR THOSE OF A NERVOUS DISPOSITION."
18:21:26 <pikhq> https://chrome.google.com/extensions/detail/jeoacafpbcihiomhlakheieifhpjdfeo Glee.
18:26:04 <Sgeo_> I'm tempted to watch a Let's Play
18:26:14 <Sgeo_> But that's what screwed me over on Monday...
18:32:25 -!- SaFi2266 has quit (Quit: Ex-Chat).
18:32:55 <Sgeo_> Ugh, need to conserve battery badly
18:49:17 <elliott> pikhq: Nice.
18:49:30 <elliott> pikhq: But does it have a Firefox version? :p
18:53:30 * Sgeo_ wonders if LAWS_OF_REDDIT is still alive
18:55:31 * Sgeo_ falls asleep on the chair
18:55:36 <Sgeo_> The chair... of DOOM
18:55:44 <Sgeo_> But seriously, just a chainr
19:00:16 <Vorpal> elliott, down?
19:00:21 -!- Ilari has joined.
19:00:25 <elliott> Nwod.
19:00:33 <Vorpal> elliott, nwod?
19:00:39 <elliott> Indeed.
19:00:50 <Deewiant> Vorpal: strrev("dowN") as well as a bit like "nod"
19:01:29 -!- pingveno has quit (Read error: Connection reset by peer).
19:01:47 -!- pingveno has joined.
19:04:22 -!- cheater99 has quit (Ping timeout: 240 seconds).
19:14:13 <Sgeo_> I surrender
19:14:21 <Sgeo_> I'm going to watch a blind LP of Eversion
19:14:29 <Sgeo_> Which is the best such LP?
19:15:04 <elliott> Sgeo_: QuantumCrayons
19:15:16 <elliott> at least, it's the one I watched
19:15:31 <elliott> and it's hilarious
19:15:40 <elliott> Sgeo_: http://www.youtube.com/watch?v=PBKvtQtKf0s
19:15:44 <Sgeo_> ty
19:15:49 <elliott> ignore the suggestions sidebar
19:15:49 <elliott> :P
19:15:52 * Sgeo_ wishes he had headphones with him :/
19:16:52 <Sgeo_> How blind was QC? To the level of not knowing how dark it would get?
19:17:30 -!- cheater99 has joined.
19:17:58 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
19:18:16 <Sgeo_> Why was there a banner saying something in Russian, why did I click it, and how do I get YouTube to not be in Russian?
19:18:46 <Sgeo_> Going to go to comp. lab to get work done
19:18:47 <Sgeo_> BBL
19:18:49 <elliott> Sgeo_: He had no idea.
19:19:47 <Sgeo_> elliott, :D
19:19:49 <Sgeo_> Sounds fun
19:20:44 <elliott> Sgeo_: It's very long -- some 14 parts or something -- because after he did the first ending he repeatedly failed at getting the good ending.
19:24:16 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
19:25:30 <pikhq> http://www.thingiverse.com/thing:5141 It's a CNCable transistor.
19:37:17 <Gregor> "JavaScript is usually used to add dynamic behavior to sites, to improve the user experience orthogonally to the actual presentation of information. Pornography sites, contrarily, rarely need such additions, as a user presented with the data will improve the user experience themselves."
19:41:56 <coppro> +1
20:03:53 -!- oerjan has joined.
20:07:30 <coppro> pikhq: oh god
20:07:40 <oerjan> <elliott> tswett: Do you have the power to summon oerjan?
20:07:43 <oerjan> obviously not :D
20:07:44 <coppro> why do your courts suck so much
20:07:45 <coppro> http://yro.slashdot.org/story/10/12/15/1922205/First-Sale-Doctrine-Lost-Overseas?from=rss
20:08:49 <elliott> oerjan: i want you to work out some complex-sounding yet ultimately meaningless mathematics based on scapegoat patches
20:09:03 <oerjan> is that topic sort of like the _opposite_ of saying the lord's prayer backwards?
20:09:05 -!- zzo38 has joined.
20:09:59 <oerjan> elliott: ah. i guess in that case you may have triggered my intrinsic magical defenses against work. no wonder tswett's summoning didn't work.
20:10:15 <elliott> oerjan: i've even stated it in haskell for you!
20:10:36 <oerjan> argh
20:14:01 <elliott> oerjan: the language you helped father.
20:14:05 <elliott> by greatly aiding in its development.
20:14:11 <elliott> in fact i'd say you probably invented half of haskell.
20:16:59 <elliott> dark: 3d3d3d
20:17:04 <elliott> light:9b9b9b
20:18:05 * oerjan notes those don't sum to ffffff
20:18:29 <zzo38> Do you think some kind of semi-dynamic analysis could be made that can work with TAVSYS to make it check things such as proving the game is always in a winnable state, or that things must be done in a certain sequence in the game, and so on?
20:18:53 <elliott> oerjan: indeed
20:19:19 <oerjan> elliott: BUT THAT MEANS YOU HAVE BROKEN THE DUALITY BETWEEN LIGHT AND DARKNESS
20:19:23 <tswett> oerjan: "Lasciate ogne speranza, voi ch'intrate" is not the Lord's Prayer.
20:19:38 <tswett> Er.
20:19:42 <oerjan> and since the sum < FFFFFF, not in the correct direction either
20:19:51 <tswett> Right, it's sort of the opposite of the Lord's Prayer. So yes, precisely.
20:20:09 <tswett> oerjan greatly aided in the development of Haskell?
20:20:20 <elliott> yes, he's in the haskell 98 report
20:20:21 <elliott> :D
20:20:31 <oerjan> tswett: apart from the ridiculous hyperbole, there _might_ be a trace of truth there
20:20:41 <tswett> The man himself is in the Report?
20:20:56 <Ilari> Ugh... doing Fsck on these disks takes a long time...
20:21:01 <oerjan> yeah they extracted some of my organs and embedded them
20:21:10 <oerjan> in a typesafe way
20:21:34 <elliott> <oerjan> tswett: apart from the ridiculous hyperbole, there _might_ be a trace of truth there
20:21:36 <elliott> SO EGOTISTICAL
20:21:56 <Ilari> (just a scheduled one, not unclean shutdown)
20:25:16 <oerjan> it would appear that clog has murdered all the other bots here
20:26:20 <oerjan> or maybe clog just should be very very afraid
20:29:16 <Vorpal> Deewiant, mc crashed
20:29:20 <Vorpal> Deewiant, null pointer
20:29:25 <Deewiant> hah
20:31:33 <pikhq> coppro: ... FIRST SALE DOCTRINE.
20:31:45 <coppro> pikhq: YES
20:31:47 <pikhq> coppro: You are MOTHER-FUCKING KIDDING ME.
20:32:20 <pikhq> THAT IS BULLSHIT.
20:32:24 <pikhq> FUCKING BULLSHIT.
20:35:29 <pikhq> Fuck the US. I'm moving to the Moon.
20:37:33 -!- cheater99 has quit (Quit: Leaving).
20:38:05 <oerjan> yeah move to the secret nazi base there
20:38:06 <ais523> pikhq: I think the decision that the right not to be searched without a warrant doesn't apply within 100 miles of a border or any international airport is even more ridiculous
20:38:16 <ais523> I mean, what place in the US isn't?
20:38:28 -!- cheater99 has joined.
20:38:51 <pikhq> ais523: Very very ridiculous.
20:39:02 <pikhq> ais523: ... *100 miles of an international airport too*?
20:39:05 <pikhq> Okay, then.
20:39:09 <pikhq> That leaves us... Uh.
20:39:12 <coppro> ais523: wait, what
20:39:16 <pikhq> Parts of Alaska.
20:39:51 <zzo38> I do not like the submission rules of arXiv and viXra. I should propose the following:
20:40:13 <zzo38> * You must submit a DVI file containing no specials, and using only fonts in the font repository. You may submit fonts to the font repository.
20:40:30 <zzo38> * In addition to the DVI file, your submission must contain exactly one attachment, no more, no less.
20:41:22 <pikhq> coppro: Yeah, it has been ruled that the 4th amendment's "search and seizure" clause does not apply within 100 miles of a border.
20:41:35 <pikhq> Actually, that it doesn't apply "at the border".
20:41:50 <pikhq> Where "the border" is a 100 mile strip from a land border or sea cost.
20:42:01 <zzo38> * The attachment must be in one of the following formats (optionally compressed by gzip): .tex .w .web .zip
20:42:11 <coppro> pikhq: wait what
20:42:12 <coppro> link
20:42:13 <pikhq> This is actually used. Border patrol actually has inland checkpoints.
20:42:14 <zzo38> * It must be valid free cultural works.
20:42:22 <pikhq> http://www.aclu.org/national-security_technology-and-liberty/are-you-living-constitution-free-zone
20:42:28 <pikhq> http://www.aclu.org/technology-and-liberty/fact-sheet-us-constitution-free-zone
20:42:28 <zzo38> * Pornography is not permitted.
20:43:14 <pikhq> Some 2/3rds of the US population lives within the "border".
20:43:33 <zzo38> * You must include a form with your submission including title, authors (which are allowed to be anonymous if wanted, but you are not allowed to lie about who the author is), short description, and tags/categories.
20:43:46 <zzo38> * Submission is done using HTTP or FTP.
20:43:59 <coppro> pikhq: goddamit your country
20:43:59 <zzo38> Do you think these submission rules are better?
20:44:13 <pikhq> coppro: It is very literally a police state.
20:44:53 <pikhq> coppro: We also set up "free speech zones" for protests. You can be arrested for protesting outside of them.
20:44:54 <zzo38> Oops, one more attachment format: .tar
20:45:22 <ais523> zzo38: any restrictions on what can be inside the tarball or zip archive?
20:46:13 <ais523> pikhq: my interpretation of free speech is that you can say what you like, but other people aren't obliged to give you communication channels
20:46:17 <zzo38> ais523: No, although someone can report it if it is considered to contain improper things.
20:46:36 <pikhq> ais523: The government, however, is obligated not to stop you.
20:46:43 <ais523> pikhq: indeed
20:46:46 <pikhq> ais523: And they do.
20:47:05 <ais523> hmm, are any of the amendments more or less intact?
20:47:29 <zzo38> ais523,pikhq: I agree with your interpretation of free speech. Nobody is obliged to give you communication channels but the government is obligated to not stop you from free speech. It makes sense.
20:47:31 <pikhq> Ironically, the 2nd amendment is probably the least abused.
20:47:59 <ais523> which one's that?
20:48:05 <ais523> not being american, I don't have them memorised by number?
20:48:07 <pikhq> Right to bear arms.
20:48:09 <ais523> ah, yes
20:48:20 <ais523> well, the spirit of the 2nd is completely gone
20:48:22 <pikhq> I presume you meant "of the amendments naming rights".
20:48:34 <ais523> the idea was that people should be able to form private militias to defend themselves against the government
20:48:40 <ais523> and that seems a little unlikely
20:48:52 <pikhq> People still can form private militias, and the crazies actually *do*.
20:48:53 <ais523> pikhq: hmm, although they mostly name either rights or restrictions
20:48:54 <Gregor> FLOODY TIME
20:48:55 <Gregor> ---: I keep thinking "Fujita, what does your enhanced scale say about the tornado's power level? IT'S APPROXIMATELY TWOOOOOOOOOO!"
20:48:55 <Gregor> CDGregorR: It's not Fujita's enhanced scale, it's Fujita's scale, enhanced.
20:48:55 <Gregor> ---: Fujita, what does your scale, enhanced, say about the tornado's power level? IT'S APPROXIMATELY TWOOOOOOOOOO! ... enhanced
20:48:56 <ais523> or else repeal each other
20:49:00 <Gregor> CDGregorR: FUJITA IS DEAD
20:49:03 <Gregor> ---: Zombie Fujita, what does your scale, enhanced, say about the tornado's power level? Nnnnnnngngggggggggnngh! ... enhanced
20:49:04 <pikhq> ais523: Or change procedural details.
20:49:05 <ais523> pikhq: yep, but a private militia isn't going to do a lot against the US army
20:49:11 <oerjan> not being american, it may be disturbing that i _do_ know 1, 2 and 5 by number. no guarantees of having their _content_ correctly...
20:49:18 <pikhq> *cough*Iraq*cough*
20:49:33 <pikhq> oerjan: Eh, those are the ones that Americans actually know.
20:49:36 <ais523> pikhq: well, it could work defensively, I suppose
20:49:39 <zzo38> I also do not live in United States.
20:49:47 <ais523> but that would lead to a lot of bloodshed yet not get anywhere
20:49:57 <oerjan> zzo38: *GASP* um canadian then?
20:50:12 <pikhq> oerjan: They may actually be aware of the details of others, but not actually know them by number.
20:50:18 <ais523> hmm, -0800 timezone
20:50:20 <zzo38> oerjan: I live in Canada. You might be able to figure out from my IP address my service provider too
20:50:26 <oerjan> i certainly had the impression you were north american
20:50:31 <ais523> that's pretty west for most parts of North America
20:50:33 <pikhq> (for instance, most Americans are probably aware that Prohibition was created and repealed via amendments)
20:50:35 <zzo38> And from the timezone you can figure out the province.
20:51:05 <ais523> I haven't been west of Ottawa
20:51:33 <pikhq> You'll probably find most everyone unaware of the 9th and 10th amendments.
20:52:15 <pikhq> (9th states the enumeration of rights is not comprehensive, 10th states that any powers not given to the federal government are for the states or the people.)
20:52:44 <ais523> wow, 10's abused a lot
20:52:52 <ais523> and what does 9 do, if anything/
20:52:55 <ais523> it's like Agora's R101
20:53:45 <pikhq> ais523: Nominally, it means that the government does not grant rights at all, but that there are rights completely independent of it, and that the government should not infringe them.
20:54:05 <pikhq> ais523: In practice, it means that people like to use the Bill of Rights as toilet paper.
20:54:17 * oerjan also may have a vague idea of 13 and 14, if he recalls the numbers right
20:54:36 <coppro> pikhq: Where in the constitution does it say separation of church and state? :P
20:54:42 <pikhq> coppro: 1st.
20:55:10 <coppro> pikhq: I'm kidding
20:55:18 <pikhq> I'm not!
20:55:22 <coppro> I was referencing the fact that someone actually asked that at a political debate
20:55:26 <coppro> a /candidate/
20:55:28 <zzo38> Does it need to say separation of church and state? I agree with separation of church and state, but does the law need to say it explicitly?
20:55:42 <pikhq> zzo38: Look at US political debate.
20:55:48 <pikhq> zzo38: It needs to be the most explicit thing.
20:55:50 <coppro> zzo38: Yes.
20:55:51 <coppro> Yes it does.
20:56:02 <coppro> and apparently the establishment clause is not sufficiently clear
20:56:03 <ais523> zzo38: there are enough idiots in politics that even if you do say something explicitly, some people won't get it
20:56:45 <pikhq> Also fun is people who shout "treason" like crazy in the US.
20:56:54 <pikhq> Treason is actually defined *in the Constitution*!
20:56:57 <coppro> pikhq: that one's happened here
20:57:07 <oerjan> zzo38: i vaguely recall reading that before the amendment that extended the bill of rights to apply to states and not just congress, there were states in the US that had an official religion
20:57:11 <zzo38> Perhaps I don't know because I don't live in United States. If I did live there, probably I would know. But I don't want to live in United States. If I have too much money I can make up a country instead.
20:57:13 <pikhq> People are accusing Assange of treason!
20:57:29 <coppro> pikhq: does treason including sharing state secrets?
20:57:33 <ais523> pikhq: I know, and he isn't actually American
20:57:34 <pikhq> coppro: No.
20:57:44 <coppro> pikhq: ok then
20:57:50 <coppro> (ours does, but only to wartime enemies)
20:58:01 <coppro> (but public revelation could arguably count if we have a wartime enemy)
20:58:55 <pikhq> coppro: Treason in the US is levying war against the US.
20:59:06 <pikhq> Or giving aid to the US's enemies in war.
21:00:32 <pikhq> The section of the US code defining treason and its punishment also states that you must owe allegiance to the US in the first place.
21:00:44 <pikhq> Making it literally impossible for a non-US citizen to commit treason in the US.
21:01:08 <ais523> people are furious enough in the UK at Sweden apparently trying to abuse our legal processes
21:01:11 <ais523> wrt Assange
21:01:59 <pikhq> It amazes me the effort that Sweden is going to to get Assange.
21:02:13 <pikhq> The punishment for what he's accused of is a ~$700 fine.
21:02:36 <pikhq> Seriously. They are expending all their effort on a slap on the wrist.
21:03:28 <oerjan> pikhq: in which case it somewhat amazes that assange doesn't simply agree to the extradition - the UK is no less likely than Sweden to give him further trouble, is it?
21:03:52 <oerjan> (it the US should ask for an extradition, say)
21:03:53 <ais523> oerjan: I think he's objecting on principle
21:04:02 <oerjan> *amazes me
21:04:18 <elliott> <zzo38> I do not like the submission rules of arXiv and viXra. I should propose the following:
21:04:19 <pikhq> oerjan: He did turn himself in as soon as an arrest warrant was out for him in the UK.
21:04:19 <elliott> oh jesus christ
21:04:27 <ais523> also, why would you extradite someone over a $700 fine?
21:04:29 <pikhq> oerjan: And now he is simply going through the full court process.
21:04:31 <elliott> <zzo38> * Pornography is not permitted.
21:04:34 <elliott> but what about Gregor's papers
21:04:37 <pikhq> ais523: Even worse.
21:04:38 <elliott> and all the pornography-detection result
21:04:41 <elliott> (which is actually real)
21:04:51 <pikhq> ais523: He's not even wanted for the punishment of the $700 fine.
21:04:52 <oerjan> pikhq: hm i guess he might simply just want to have things as much in the media as possible
21:04:57 <ais523> pikhq: as far as I can tell, everyone's complying with due process so far, both the UK and Assange
21:04:59 <pikhq> ais523: He's wanted as a witness *regarding* the case.
21:05:10 <ais523> pikhq: so who's the accused, then?
21:05:13 <pikhq> ais523: He is.
21:05:28 <zzo38> elliott: Descrobe about Gregor's papers.
21:05:30 <ais523> hmm, I think I'm missing something here
21:05:58 <pikhq> ais523: The prosecution is being all sorts of crazy.
21:06:25 <ais523> this feels more like an SCO scale of crazy
21:06:32 <elliott> zzo38: Gregor's papers have involved analysis of pornographic websites.
21:06:44 <pikhq> He got charged. The charges were dropped. The charges were picked up again. He stayed around for a couple *months* waiting for them to ask for a deposition. He then left to the UK. *Then* they wanted him in court.
21:06:45 <zzo38> You are allowed to describe things relating to pornography if it has possible scientific merit, your paper is just not allowed to include any pornography itself.
21:06:50 <elliott> zzo38: also, there is plenty of legitimate research which includes (censored) pornography; mostly work on content detection, to help block pornographic materials.
21:07:00 <pikhq> zzo38: But Lenna!
21:07:01 <elliott> these images are required to demonstrate the strengths and drawbacks of the methods
21:07:38 <zzo38> elliott: If it is sufficiently censored that only the part necessary for scientific research is included, you may include it.
21:07:50 <elliott> zzo38: ok, and why does it matter if it's not censored? hypothetically
21:08:07 <zzo38> The only thing that is prohibited is explicit pornography that is not related to the scientific issue at hand.
21:08:12 <elliott> i mean, if you're going to start censoring pornography, might as well add a "and no instruction on how to make bombs either!" clause
21:08:15 <elliott> it seems strange to single pornography out
21:08:26 <pikhq> ais523: Oh, and crazier. He has actually told the prosecution he would be entirely willing to give a deposition outside of Sweden.
21:08:40 <zzo38> Instructions to make bombs are permitted. Pornography is also permitted as long as only relevant parts are included.
21:08:45 <oerjan> zzo38: do the current guidelines include anything about pornography? otherwise, _why the heck mention something almost completely irrelevant to the archive_?
21:08:51 <ais523> pikhq: I think someone's milking this for publicity, but am not entirely sure who
21:08:54 <ais523> perhaps, everyone involved at once
21:09:17 <zzo38> By disallowing pornography I didn't mean to prohibit legitimate scientific research. I mean to prohibit someone posting free pornography there so that people can just watch pornography all the time.
21:09:29 <ais523> elliott: btw, I need your help to defeat an Agoran scam
21:09:30 <zzo38> If you want to watch pornography, you can find it a lot elsewhere.
21:09:36 <ais523> without 8 objections
21:09:42 <ais523> so I need all the objections I can get, really
21:09:44 <elliott> oerjan: i think, and this is just a wild guess here, that zzo38 really dislikes pornography
21:09:51 <oerjan> elliott: you don't say
21:09:52 <elliott> ais523: no, I like scams, sorry
21:09:54 <zzo38> You could also link to it in your article if it is important.
21:10:02 <coppro> I can't imagine elliott ever defeating a scam
21:10:13 <elliott> coppro: maybe with another failed scam that just happens to stop the other one working, accidentally :D
21:10:17 <ais523> elliott: well, the scam itself is boring, it's just an escalator by changing the number of objections needed to block a ratification from 1 to 8
21:10:25 <ais523> whereas getting 8 people to agree on anything is a lot more fun
21:11:30 <pikhq> ais523: Oh, and meanwhile, people in the US Justice Department are trying to *find* things to charge Assange with.
21:11:48 <pikhq> ais523: And Senators are wanting to make an ex post facto law regarding this.
21:11:59 <zzo38> If your file contains such things as the permitted kinds of pornography, or profanity, or whatever else like that, you should tag it as such "pornography", "profanity", and so on.
21:12:11 <coppro> pikhq: I know, it's hilarious
21:12:17 <ais523> pikhq: why not just "being Julian Assange is illegal?"
21:12:18 <coppro> you people are just so bad at government
21:12:19 <zzo38> So that people who do not like to watch it can filter it out.
21:12:22 <ais523> that seems pretty foolproof
21:12:33 <ais523> doesn't even need to be retroactive
21:12:38 <pikhq> coppro: Not that the UK is any better.
21:12:50 <pikhq> coppro: They're wanting to ban protests in response to the recent student protests.
21:12:53 <pikhq> Yes, ban protests.
21:13:03 <coppro> pikhq: legislators are saying this?
21:13:03 <pikhq> Because *that's* going to help.
21:13:03 <ais523> you can give him a slap on the wrist the first time, then successively higher punishments for not ceasing the behaviour
21:13:09 <ais523> pikhq: I haven't heard anything of that, and I'm in the UK
21:13:22 <zzo38> pikhq: Is there some kind of constitution that disallows banning protests?
21:13:24 <ais523> there was even a discussion about whether to use water cannon or not, and they decided no
21:13:27 <pikhq> http://www.independent.co.uk/news/uk/crime/student-protests-may-be-banned-altogether-if-violence-continues-2160620.html
21:13:31 <ais523> zzo38: the UK doesn't have an explicit constitution
21:13:34 <coppro> zzo38: constitution? uk? hah
21:13:46 <pikhq> Thankfully not Parliament.
21:13:48 <ais523> pikhq: broken link
21:13:56 <elliott> <zzo38> If your file contains such things as the permitted kinds of pornography, or profanity, or whatever else like that, you should tag it as such "pornography", "profanity", and so on.
21:13:57 <elliott> zzo38: fuck that
21:13:58 <coppro> pikhq: oh, ok
21:14:03 <ais523> oh, no it isn't, I forgot the l at the end
21:14:16 <ais523> oh, it's just the London police force
21:14:22 <oerjan> ais523: what about the european human rights convention? i'm sure you're a member
21:14:33 <pikhq> oerjan: Yes, yes they are.
21:14:38 <ais523> they're all embarrased at the moment because someone broke Prince Charles' car's window
21:14:42 <ais523> it wasn't even bulletproof or anything
21:15:03 <elliott> ais523: how do you know that wasn't intentional :D
21:15:06 <ais523> oerjan: we are
21:15:23 <oerjan> ais523: that sounds a little reckless.
21:15:28 <ais523> the way protesting in the UK goes, is you're supposed to tell the police in advance
21:15:28 <zzo38> elliott: Anything wrong with this kind of tagging?
21:15:43 <ais523> and they make sure that there isn't going to be a huge riot or anything
21:15:43 <pikhq> oerjan: In a comical way that doesn't directly give the courts to invalidate an Act of Parliament, but hey.
21:15:46 <oerjan> hm i wonder if the norwegian king has a bulletproof car. i know the prime minister does.
21:15:54 <pikhq> Erm, give the courts the power to
21:16:01 <ais523> and the police are really embarassed at the moment because everyone knew the protest was happening, and yet they screwed up
21:16:55 <ais523> it is a little strange that the heir to the throne can drive around in an ordinary car in the middle of a riot...
21:17:00 <ais523> I'd say what actually happened was a little inevitable
21:17:13 <ais523> it seems that the police considered shooting, but decided against it
21:17:38 <ais523> (the police in the UK generally aren't armed, there are a few armed officers but they're generally only deployed when there's reason to think they might be necessary, say in response to armed criminals)
21:17:54 <pikhq> ais523: That's much saner than the US.
21:18:02 <zzo38> Example: If the author owns a store for selling pornography, they may identify themself as the owner of such a store. You may not include the logo if it is pornographic (unless it is important to the article in some way), but you may link to it.
21:18:16 <ais523> pikhq: indeed
21:18:29 <pikhq> ais523: US police are all armed, and they have an actual *paramilitary unit* they use in response to armed criminals.
21:18:32 <ais523> it also means, if you see an armed policeman, you know something serious is going on
21:18:33 <zzo38> Does it makes sense now?
21:18:40 <oerjan> pikhq: ah. norway has made laws to give some conventions precedence over our ordinary laws, including that one.
21:18:46 <ais523> (the armed policemen generally carry really big and obvious guns so everyone knows they're armed, incidentally)
21:18:54 <pikhq> http://upload.wikimedia.org/wikipedia/commons/6/65/Members_of_the_37th_Training_Wing's_Emergency_Services_Team_at_Lackland_AFB.jpg THESE ARE FUCKING POLICE.
21:19:39 <pikhq> Yes, those are assault rifles.
21:20:20 <coppro> all our police are armed
21:20:23 <coppro> thanks to you
21:20:42 <pikhq> Oh, and these guys are also used for riot control.
21:20:53 <pikhq> And searches.
21:22:04 <oerjan> norwegian police isn't usually armed either
21:22:11 <pikhq> Especially no-knock warrants, where your first indication of their wanting to do anything is *breaking down your door and threatening your life if you don't comply*.
21:22:38 <ais523> the UK police famously do that at dawn
21:22:53 <ais523> but they normally don't shoot at you, just arrest you if you don't comply
21:23:50 <zzo38> Maybe you should be permitted to eat yourself as defense against threats made against you by the police.
21:24:03 <pikhq> If you fire back at all you will be charged with assault.
21:24:17 <elliott> zzo38: not really, what if the person makes bombs?
21:24:21 <pikhq> Except in Texas, where their trespassing gives you full license to kill them.
21:24:37 <elliott> i mean, why do you have a rule against pornography -- which is almost irrelevant in this case -- and no rules against, say, bigotry?
21:26:37 <zzo38> elliott: Because anything should be allowed in these articles. Only, some people do not like to watch pornography, so you should not include it if it is not necessary. Anyways, the article must be a DVI file containing no specials. You may use profanity in your article, but you may not use profanity in the title unless the article is related to such things (for example, a article about brainfuck programming language may contain the word "brainf
21:26:52 <elliott> zzo38: some people do not like to read statements of racial hatred
21:26:55 <elliott> why isn't that banned too?
21:27:14 <zzo38> elliott: It is banned in submissions that do not have the tag "racial hatred" assigned to them.
21:27:27 <elliott> zzo38: okay. what about papers containing the word "weasel"
21:27:32 <elliott> some people do not like to read that word
21:27:34 <elliott> so surely it should be a tag?
21:28:44 <zzo38> elliott: No, it isn't a common enough thing to worry about, like racism and profanity and so on, are. But since some people disagree with restrictions against profanity, it is still allowed as long as it is tagged as such.
21:29:30 <ais523> I love the way zzo38's comment was cut off after the f of brainfuck
21:29:35 <zzo38> If you want to read article only about mathematics, you may tag search "+mathematics", but if you want only articles about mathematics that have no profanity, you can tag search "+mathematics&-profanity".
21:29:37 <elliott> after the n, here
21:29:48 <elliott> zzo38: okay, then why isn't pornography allowed, but just in articles tagged "pornography"?
21:29:49 <ais523> different server, probably
21:29:53 <zzo38> ais523: ...uck programming language may contain the word "brainfuck" in its title).
21:30:02 <ais523> that's just the most hilarious place to cut it off in a discussion about censorshi
21:30:05 <ais523> *censorship
21:30:52 <zzo38> elliott: I suppose it can be allowed in articles tagged "pornography". You are right about that.
21:32:00 <zzo38> My concern is that some people might want to go there only to view pornography. It doesn't seem likely, especially that you must submit a DVI without specials and that any picture file attachments must be in an archive file instead of directly, So maybe it doesn't matter.
21:32:55 <oerjan> fizzie: Gregor: no bots today
21:33:03 <zzo38> elliott: See?
21:33:31 <elliott> Okay.
21:34:01 <oerjan> zzo38: there is a general principle that you don't make up rules for things that aren't likely to be problems
21:35:20 <oerjan> s/don't/shouldn't/
21:35:23 <zzo38> oerjan: In that case, such a rule should not be required. Just the tagging rule can be used.
21:36:21 <zzo38> You can have many kind of search functions, for example if you want to find only an article that will fit on letter-sized paper.
21:37:24 <ais523> why would anyone search based on that?
21:37:34 <ais523> even if the article had the wrong paper size, it could be scaled
21:37:53 <Gregor> oerjan: It's international Bot Awareness Day
21:37:59 <oerjan> Gregor: ah
21:38:06 -!- HackEgo has joined.
21:38:07 -!- EgoBot has joined.
21:38:13 <oerjan> `echo hi
21:38:28 <HackEgo> hi
21:38:33 <oerjan> it's slow even when it just entered...
21:38:33 <zzo38> ais523: I suppose it could also be recompiled from source if you modify the source files for the document.
21:39:03 <zzo38> But it might still be something you want to search. You might also want to search by filesize, by number of pages, by attachments, by tags, etc.
21:39:08 <oerjan> `addquote <ais523> I love the way zzo38's comment was cut off after the f of brainfuck <ais523> that's just the most hilarious place to cut it off in a discussion about censorshi
21:39:11 <HackEgo> 250) <ais523> I love the way zzo38's comment was cut off after the f of brainfuck <ais523> that's just the most hilarious place to cut it off in a discussion about censorshi
21:39:13 <zzo38> Or by which fonts are used....
21:39:16 <Gregor> oerjan: It's slow ESPECIALLY when it's just entered.
21:40:07 <oerjan> Gregor: i had this idea that it was slow because it sometimes needed to dredge itself up from a cache, and that that wouldn't apply if it just had done something including entering
21:40:30 <elliott> oerjan: stop making me want to delete every quote :D
21:40:54 <oerjan> elliott: what's wrong about that one? :(
21:41:11 <elliott> oerjan: oh never mine :D
21:41:14 <elliott> mind.
21:42:09 <Gregor> oerjan: Pretty much.
21:42:30 <oerjan> except for the including entering part, apparently
21:43:16 <zzo38> I suppose other things you might want to have search criteria is: title, author, date, description, filename, fonts, etc. And possibly a few more in the case of literate programs.
21:43:59 <fizzie> oerjan: Today must be the national No Bots Day.
21:44:54 <elliott> oerjan: eh?
21:45:01 <elliott> i meant the omission of the p, thought it was intentional
21:45:20 <oerjan> elliott: er that last was a response to Gregor
21:46:04 <elliott> wat
21:46:06 <elliott> okay
21:46:06 <elliott> :P
21:46:10 <oerjan> elliott: well we may never know but i doubt it :)
21:47:24 -!- fungot has joined.
21:47:35 <elliott> `delquote 250
21:47:35 <elliott> :p
21:47:44 <HackEgo> *poof*
21:48:09 -!- Mathnerd314 has joined.
21:48:21 <oerjan> elliott: :(
21:48:59 <elliott> oerjan: oh fine add it back :P
21:49:24 <oerjan> `revert
21:49:26 <HackEgo> Done.
21:50:19 <oerjan> "•In Frankfurt, they call them wieners (after Wien, or Vienna). In Vienna, however, they call them frankfurters. The fact that neither city wants to claim credit for them might tell you something.
21:50:22 <elliott> oerjan: erm let's hope that worked :D
21:50:24 <elliott> `quote 250
21:50:26 <HackEgo> No output.
21:50:29 <elliott> `quote 249
21:50:32 <HackEgo> 249) <pikhq> oklofok: I don't watch House, no. <pikhq> oklofok: I prefer knowing how medicine actually works.
21:50:43 <oerjan> elliott: huh why not?
21:50:55 <oerjan> (from yesterday's iwc annotation, updated)
21:51:11 <nooga> "The Android operating system consists of 12 million lines of code including 3 million lines of XML, 2.8 million lines of C, 2.1 million lines of Java, and 1.75 million lines of C++.[19]"
21:51:15 <nooga> XML?!
21:51:38 <oerjan> afk
21:51:48 <nooga> maybe it's because it's so verbose
21:51:55 <elliott> `revert
21:51:57 <pikhq> Define "line".
21:51:57 <HackEgo> Done.
21:51:58 <elliott> `quote 250
21:52:01 <HackEgo> No output.
21:52:03 <elliott> `help
21:52:04 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
21:52:43 -!- ais523 has quit (Remote host closed the connection).
21:53:17 <elliott> oerjan: so is the p intentional or not :P
21:53:21 <elliott> if not i'll add it with the p
22:13:01 <elliott> "Every physicist wants to violate Einstein, but thus far the great man has remained pretty chaste."
22:13:29 <elliott> `addquote "Every physicist wants to violate Einstein, but thus far the great man has remained pretty chaste." --Kode Vicious
22:13:35 <HackEgo> 250) "Every physicist wants to violate Einstein, but thus far the great man has remained pretty chaste." --Kode Vicious
22:14:48 <oerjan> elliott: the absense of the p is the whole _point_ of the quote, sheesh (and it was ais523's mistake, not mine)
22:14:57 <oerjan> *absence
22:15:01 <elliott> oerjan: right
22:15:05 <elliott> oerjan: re-add it then :P
22:15:20 <oerjan> yes but why didn't the revert work?
22:15:35 <oerjan> was there some privmsg reverted instead?
22:16:52 <oerjan> `addquote <ais523> I love the way zzo38's comment was cut off after the f of brainfuck <ais523> that's just the most hilarious place to cut it off in a discussion about censorshi
22:16:53 <HackEgo> 251) <ais523> I love the way zzo38's comment was cut off after the f of brainfuck <ais523> that's just the most hilarious place to cut it off in a discussion about censorshi
22:17:04 <elliott> oerjan: i think revert only works with a revision number nowadays
22:17:10 <oerjan> oh
22:17:18 <elliott> `revert 266
22:17:20 <HackEgo> Done.
22:17:21 <elliott> `quote 250
22:17:22 <HackEgo> 250) "Every physicist wants to violate Einstein, but thus far the great man has remained pretty chaste." --Kode Vicious
22:17:25 <elliott> hm
22:17:26 <elliott> or not :D
22:17:27 <elliott> `quote 250
22:17:28 <HackEgo> 250) <ais523> I love the way zzo38's comment was cut off after the f of brainfuck <ais523> that's just the most hilarious place to cut it off in a discussion about censorshi
22:17:30 <elliott> there
22:17:34 <elliott> `addquote "Every physicist wants to violate Einstein, but thus far the great man has remained pretty chaste." --Kode Vicious
22:17:34 <HackEgo> 251) "Every physicist wants to violate Einstein, but thus far the great man has remained pretty chaste." --Kode Vicious
22:17:52 <oerjan> ...what >_<
22:18:06 <coppro> that line is brilliant
22:18:06 <oerjan> `cat bin/revert
22:18:07 <olsner> pretty sure he meant to finish that with "censorshit"
22:18:07 <HackEgo> No output.
22:18:19 <elliott> oerjan: no, it's okay
22:18:25 <elliott> oerjan: just sometimes, it takes a while to merge the repository
22:18:32 <oerjan> oh
22:18:34 <elliott> oerjan: basically, "`A" and then "`B" both execute in separate repositories
22:18:42 <elliott> oerjan: then, after they finish, an "hg commit" is done
22:18:48 <elliott> and then it tries to merge it into the main repository
22:18:53 <elliott> so sometimes you have to wait
22:19:02 <elliott> not separate repositories, just separate / checkouts
22:20:04 <oerjan> `quote 249
22:20:05 <HackEgo> 249) <pikhq> oklofok: I don't watch House, no. <pikhq> oklofok: I prefer knowing how medicine actually works.
22:20:29 <olsner> `quote
22:20:30 <HackEgo> 128) <Warrigal> Darn, now I can't acknowledge the reference you were making.
22:22:10 <elliott> `pastenquotes
22:22:11 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.11835
22:22:13 <elliott> olsner: quote feast for you
22:23:46 <olsner> ooh, there was one of mine in there
22:24:29 <oerjan> `quote olsner
22:24:31 <HackEgo> 175) <nooga> i think of languages as tools, there is no holy grail of languages <olsner> even if there's no holy grail, that doesn't mean cups of crap is ok \ 222) <Vorpal> olsner, FINALLY NOTHING BETWEEN ME AND WORLD DOMINATION! \ 223) <olsner> DAMN YOU, I'm leaving <Vorpal> olsner, FINALLY NOTHING BETWEEN ME AND WORLD
22:25:27 <oerjan> `quote 223
22:25:28 <HackEgo> 223) <olsner> DAMN YOU, I'm leaving <Vorpal> olsner, FINALLY NOTHING BETWEEN ME AND WORLD DOMINATION!
22:25:42 <oerjan> `delquote 222
22:25:43 <HackEgo> *poof*
22:25:47 <oerjan> `quote olsner
22:25:48 <HackEgo> 175) <nooga> i think of languages as tools, there is no holy grail of languages <olsner> even if there's no holy grail, that doesn't mean cups of crap is ok \ 222) <olsner> DAMN YOU, I'm leaving <Vorpal> olsner, FINALLY NOTHING BETWEEN ME AND WORLD DOMINATION! \ 238) <tswett> elliott: just to bring you up to speed, you are
22:26:13 <elliott> `quote fuck
22:26:14 <HackEgo> 249) <ais523> I love the way zzo38's comment was cut off after the f of brainfuck <ais523> that's just the most hilarious place to cut it off in a discussion about censorshi
22:26:23 <oerjan> `quote 238
22:26:24 <HackEgo> 238) <tswett> elliott: just to bring you up to speed, you are now my baby nephew. <olsner> wtf, elliott is a nephew and his uncle is here? <nooga> what <tswett> Heck yes I'm elliott's uncle.
22:27:25 <oerjan> `quote f.ck
22:27:26 <HackEgo> No output.
22:27:32 <oerjan> `quote f\.ck
22:27:33 <HackEgo> No output.
22:27:46 <oerjan> ...what happened to yon regexen?
22:28:12 <oerjan> `cat bin/quote
22:28:13 <HackEgo> #!/bin/sh \ allquotes | if [ "$1" ]; then \ if [ "$(($1+0))" = "$1" ]; then \ sed "$1q;d" \ else \ egrep -i -- "$1" \ fi \ else shuf -n 1; fi
22:29:17 <oerjan> `quote f\\.ck
22:29:17 <HackEgo> No output.
22:29:21 <oerjan> `quote f\\\.ck
22:29:22 <HackEgo> No output.
22:30:22 <oerjan> `quote f\(\.\)ck
22:30:22 <HackEgo> No output.
22:30:30 <oerjan> `quote fuck
22:30:31 <HackEgo> 249) <ais523> I love the way zzo38's comment was cut off after the f of brainfuck <ais523> that's just the most hilarious place to cut it off in a discussion about censorshi
22:30:53 <olsner> `quote ck
22:30:55 <HackEgo> 3) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 4) <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop \ 9) <Madelon> Lil`Cube: you had cavity searches? <Lil`Cube> not yet <Lil`Cube> trying to
22:31:15 <zzo38> Do you know if you can quote search to result only the numbers?
22:31:19 <oerjan> `quote mm.
22:31:20 <HackEgo> No output.
22:31:49 <oerjan> zzo38: you could sed the result?
22:31:53 <elliott> <oerjan> ...what happened to yon regexen?
22:31:56 <elliott> good question
22:32:14 <oerjan> i am assuming some horrible shell escape disease here
22:32:19 <elliott> `run x="f.ck"; [ "$(($x+0))" = "$x" ] && echo poop
22:32:20 <HackEgo> No output.
22:32:24 <elliott> `run x="f.ck"; [ "$(($x+0))" = "$x" ] && echo poop; echo pang
22:32:25 <HackEgo> No output.
22:32:27 <elliott> what.
22:32:34 <elliott> `run x="f.ck"; [ "$(($x+0))" = "$x" ] && echo poop 2>&1; echo pang
22:32:35 <HackEgo> No output.
22:32:37 <zzo38> oerjan: Yes, make a new program quotesearch that you can do that?
22:32:39 <elliott> `run x="f.ck"; [ "$(($x+0))" = "$x" ] && echo poop 2>&1; echo pang 2>&1
22:32:39 <elliott> wtf
22:32:39 <HackEgo> No output.
22:32:44 <elliott> zzo38: no, no real reason for it to exist
22:32:48 <elliott> you can just sed
22:33:06 <oerjan> elliott: um that _shouldn't_ trigger that condition, should it?
22:33:07 <zzo38> elliott: Then you will run it in a shell.
22:33:38 <zzo38> `run echo no output
22:33:39 <HackEgo> no output
22:33:44 <elliott> oerjan: but i had an echo after it
22:33:56 <oerjan> elliott: oh
22:33:56 <elliott> zzo38: the programs are shell scripts anyway
22:34:08 <zzo38> elliott: Yes.
22:35:52 <zzo38> `run quote ck | sed 's/).*$//'
22:35:53 <HackEgo> 3 \ 4 \ 9 \ 10 \ 13 \ 41 \ 43 \ 57 \ 61 \ 87 \ 88 \ 110 \ 123 \ 128 \ 129 \ 163 \ 164 \ 177 \ 186 \ 189 \ 217 \ 224 \ 238 \ 239 \ 241 \ 249
22:36:37 <zzo38> `run quote ck | wc
22:36:38 <HackEgo> 26 569 3294
22:37:07 <zzo38> `run quote zzo38 | wc
22:37:08 <HackEgo> 5 95 565
22:37:27 <oerjan> `quote .
22:37:28 <HackEgo> No output.
22:37:33 <oerjan> `quote \.
22:37:34 <HackEgo> No output.
22:37:40 <oerjan> `run quote "."
22:37:41 <HackEgo> No output.
22:37:48 <oerjan> `run quote "\."
22:37:49 <HackEgo> No output.
22:37:51 <oerjan> `run quote "\\."
22:37:52 <HackEgo> No output.
22:37:55 <oerjan> `run quote "\\\."
22:37:55 <HackEgo> No output.
22:37:58 <oerjan> `run quote "\\\\."
22:37:59 <HackEgo> No output.
22:38:02 <oerjan> `run quote "\\\\\."
22:38:02 <HackEgo> No output.
22:38:50 <zzo38> That means there is something wrong with it and you have to correct that program.
22:39:41 <zzo38> `run quote elliott | wc
22:39:42 <HackEgo> 11 194 1181
22:39:50 <zzo38> `run quote esoteric | wc
22:39:50 <HackEgo> 1 19 105
22:39:53 <oerjan> `run if [ "f.ck" ]; then echo yes; else echo no; fi
22:39:54 <HackEgo> yes
22:40:52 <zzo38> `run quote Gregor | wc
22:40:53 <HackEgo> 17 342 2102
22:41:09 * pikhq wonders why Amazon doesn't offer products not sold in the local domestic markets...
22:41:26 <zzo38> `run quote oerjan | wc
22:41:26 <HackEgo> 12 222 1318
22:41:31 <oerjan> `run if [ "$(("f.ck"+0))" = "f.ck" ]; then echo yes; else echo no; fi
22:41:31 <HackEgo> No output.
22:41:33 <elliott> `quote f(u|x)ck
22:41:34 <HackEgo> No output.
22:41:34 <pikhq> Surely they could make *some* money off of import gamers or something.
22:41:37 <elliott> `quote felt
22:41:39 <HackEgo> No output.
22:41:40 <elliott> `quote bin/quote
22:41:42 <HackEgo> No output.
22:41:43 <elliott> `cat bin/quote
22:41:44 <HackEgo> #!/bin/sh \ allquotes | if [ "$1" ]; then \ if [ "$(($1+0))" = "$1" ]; then \ sed "$1q;d" \ else \ egrep -i -- "$1" \ fi \ else shuf -n 1; fi
22:41:55 <zzo38> `run quote Japan | wc
22:41:56 <HackEgo> 0 0 0
22:41:57 <elliott> `run allquotes | egrep -i -- "f.ck"
22:42:00 <HackEgo> 249) <ais523> I love the way zzo38's comment was cut off after the f of brainfuck <ais523> that's just the most hilarious place to cut it off in a discussion about censorshi
22:42:03 <elliott> ...
22:42:09 <elliott> i say oerjan fixes it
22:42:12 * elliott runs away screaming
22:43:13 <zzo38> Can a file be uploaded to HackEgo? Is there a FTP or something to do so?
22:43:29 <pikhq> But *no*, the only way to get something from Japan via Amazon is to pay exhorbitant shipping & handling fees.
22:43:34 <oerjan> `run sh -c 'if [ "$(("f.ck"+0))" = "f.ck" ];' 2>&1
22:43:36 <HackEgo> /bin/sh: Syntax error: end of file unexpected (expecting "then")
22:43:41 <oerjan> oops
22:43:49 <pikhq> (¥2,700 per shipment! That's ~$27!)
22:44:02 <oerjan> `run sh -c 'if [ "$(("f.ck"+0))" = "f.ck" ]; then echo yes; else echo no; fi' 2&>1
22:44:03 <HackEgo> No output.
22:44:26 <oerjan> oh wait
22:44:41 <oerjan> `run sh -c 'if [ "$((f.ck+0))" = "f.ck" ]; then echo yes; else echo no; fi' 2&>1
22:44:42 <HackEgo> No output.
22:45:09 <oerjan> zzo38: there's a wget i think
22:45:12 <zzo38> pikhq: There are some things they won't ship from Japan. But I have managed to order things from Japan though a local Japanese book store.
22:46:11 <zzo38> oerjan: Is it possible to copy the other way too?
22:46:22 <oerjan> hm
22:46:39 <oerjan> `run echo "$((f.ck+0)"
22:46:40 <HackEgo> No output.
22:46:53 <elliott> oerjan: one more ), but aha
22:46:55 <oerjan> `which paste
22:46:55 <HackEgo> /tmp/hackenv.32135/bin/paste
22:46:56 <elliott> i think it's escaping
22:47:00 <oerjan> `run echo "$((f.ck+0))"
22:47:01 <HackEgo> No output.
22:47:22 <oerjan> zzo38: paste
22:47:38 <oerjan> and then download from repository
22:48:36 <zzo38> `run cat bin/paste
22:48:37 <HackEgo> #!/bin/bash \ if [ ! "$1" ] \ then \ PASTE=- \ else \ PASTE="$1" \ fi \ \ PASTENUM="$RANDOM" \ \ mkdir -p $HACKENV/paste \ \ echo 'http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.'"$PASTENUM" \ cat "$PASTE" > $HACKENV/paste/paste."$PASTENUM"
22:49:03 <zzo38> Why is there no FTP?
22:49:20 <oerjan> ask Gregor
22:49:41 * pikhq needs a job.
22:49:49 <oerjan> well for one thing the machine probably doesn't accept outside connections...
22:50:07 <oerjan> hm except web, obviously
22:50:41 <oerjan> `run echo "$((f.ck+0))" 2&>1
22:50:42 <HackEgo> No output.
22:50:50 <oerjan> no error message :(
22:50:59 <oerjan> `run sh -c 'echo "$((f.ck+0))"' 2&>1
22:51:00 <HackEgo> No output.
22:51:23 <oerjan> `run sh -c 'echo hi "$((f.ck+0))" ho' 2&>1
22:51:24 <HackEgo> No output.
22:51:31 <zzo38> They don't put other connection allow? On my computer I allowed outside connection for a few different services and might add more later. You can do similar if you need to or if you want to.
22:51:59 <oerjan> s/You/Gregor/
22:52:24 <oerjan> the rest of us cannot escape the sandbox
22:52:27 <zzo38> I mean in general.
22:52:38 <zzo38> And not necessarily on HackEgo, either.
22:52:44 <elliott> oerjan: i'll fix it in a bit
22:53:02 <zzo38> But Gregor should put FTP or whatever other connection in HackEgo if there is a use for it.
22:53:06 <oerjan> elliott: good because i have no idea what $((...)) even _does_ :D
22:54:22 <oerjan> `run echo "$((2+2)"
22:54:23 <HackEgo> No output.
22:54:27 <oerjan> `run echo "$((2+2))"
22:54:28 <HackEgo> 4
22:54:37 <oerjan> ok now i have _some_ idea
22:54:54 <oerjan> `run echo "$((a+2))"
22:54:55 <HackEgo> 2
22:55:02 <oerjan> `run echo "$((f.ck+2))"
22:55:03 <HackEgo> No output.
22:55:17 <oerjan> `run echo "$((r.ck+2))"
22:55:18 <HackEgo> No output.
22:55:44 <oerjan> elliott: i suspect maybe $(()) simply doesn't support this string stuff?
22:56:02 <oerjan> `run echo "$((2 . 2))"
22:56:03 <HackEgo> No output.
22:56:10 <oerjan> `run echo "$((a . b))"
22:56:11 <HackEgo> No output.
22:56:22 <zzo38> Let's see which ports I have available for incoming connections (although not all of them have servers on it all the time): 25 70 80 194 9876
22:56:23 <elliott> duh
22:56:54 <zzo38> (I have servers on 25 and 9876 only when needed, and then I turn it off.)
22:59:39 <Gregor> oerjan, zzo38: You have an HTTP proxy, no other networking at all.
23:05:44 <zzo38> The router I have is stupid, it cannot be configured using FTP or USB or anything else. Also, it seems you cannot disable doing configuration by wirelessly, and occasionally it will stop working even though the light is still flashing.
23:09:28 <coppro> zzo38: that's the case with most routers I've used
23:09:36 <coppro> (it is stupid)
23:10:46 <fizzie> A friend had a network printer which had a FTP server built in; when you uploaded a postscript file, it printed it out.
23:11:12 <fizzie> (It did of course speak some more printery protocols too.)
23:11:17 <fizzie> (And Telnet.)
23:12:35 <zzo38> I would like to see a printer with Plan 9 protocol built in.
23:15:38 -!- Sgeo has joined.
23:22:28 -!- augur has quit (Remote host closed the connection).
23:23:07 -!- augur has joined.
23:27:06 -!- augur has quit (Read error: Operation timed out).
23:45:17 -!- oerjan has quit (Quit: Later).
23:52:16 <Sgeo> elliott, it seems like the LP is missing videos
23:54:47 <Sgeo> Or not
2010-12-16
00:00:59 <elliott> Deewiant: server down?
00:01:32 <Deewiant> Nope
00:10:46 <Sgeo> Eversion LP > Homework
00:20:48 -!- TLUL has joined.
00:39:52 -!- FireFly has quit (Quit: swatted to death).
00:53:06 <elliott> dammit, ais went again
00:56:50 -!- Ilari has quit (Quit: maintenance).
00:58:09 <Sgeo> Is http://www.wolframalpha.com/input/?i=integral+of+4-x+from+-1+to+0 Wolfram Alpha mistaken here, or am I screwing up my math?
00:58:35 <Deewiant> In all likelihood it's you. :-P
00:59:47 <pikhq> Sgeo: You're screwing up.
01:00:46 <Sgeo> 4(0) - 0 - [-4 - 1/2] = +5/2
01:00:54 <Sgeo> Wait what?
01:01:09 * Sgeo slaps self
01:02:05 <pikhq> See, you're screwing up.
01:07:36 <elliott> Deewiant: Down?
01:14:16 -!- augur has joined.
01:28:52 <elliott> Sgeo: you're about to be made active in agora
01:28:56 <elliott> and then what if people invade?!
01:29:03 <elliott> we can't even get 8 objectors to a dangerous scammer right now!!!
01:29:04 <elliott> SAVE AGORA
01:30:48 <Sgeo> Why 8?
01:30:51 <Sgeo> Why not 20?
01:32:43 <Sgeo> I thought everyone was so in love with "It should be so difficult to make arbitrary power-1 changes, no need to defend power-3 stuff against power-1 stuff" argumet
01:32:47 <Sgeo> *argument
01:33:41 <elliott> Sgeo: It's 8.
01:33:47 <elliott> In this case.
01:33:49 <elliott> Ratification scam.
01:36:40 <Sgeo> Objected
01:37:27 <Sgeo> It's Agoran culture's fault
01:37:37 <elliott> Whine whine whine
01:37:42 <elliott> I like scams.
01:37:49 <elliott> heh, git does directories the same way as elliott's-view-of-scapegoat
01:38:00 -!- Iwnda0 has joined.
01:38:38 <elliott> heh, and stores the root directory hash with a patch
01:38:41 <Iwnda0> I think you'll find that the universe pretty much covers everything.
01:40:11 <elliott> *
01:40:11 <elliott> I can go back in time and make a different commit instead
01:40:11 <elliott>
01:40:11 <elliott> *
01:40:11 <elliott> Commits not reachable from any head are eventually discarded
01:40:11 <elliott> o
01:40:13 <elliott> Typically after 90 days or so
01:40:17 <elliott> ok so it has anonymous commits too ...
01:40:20 <elliott> like scapegoat!
01:41:01 <Gregor> Iwnda0: SHUT UP WOMAN GET ON MY HORSE
01:41:01 <Iwnda0> Look at my horse, my horse is amazing.
01:41:15 <Iwnda0> finally.
01:41:28 <elliott> Iwnda0: I refuse to entertain your notions.
01:41:43 <Iwnda0> i got the notion
01:41:46 <Iwnda0> dont rock the boat baby
01:42:09 <elliott> Okay, so git just stores the entire current commit's tree ...
01:42:36 <elliott> http://perl.plover.com/classes/git/samples/slide039.html "Look! It's like darcs but with an inferior UI!"
01:43:15 <elliott> TODO: read http://www.newartisans.com/2008/04/git-from-the-bottom-up.html
01:44:03 <Iwnda0> is this the chat of intellectual geeks
01:44:10 <Iwnda0> because that's what im looking for
01:44:42 <elliott> Iwnda0: it's for esoteric programming languages.
01:44:50 <elliott> but, yes, it's rarely on-topic.
01:44:53 <Iwnda0> oh cool thats close
01:45:53 <elliott> Iwnda0: If I start ranting about something this goat that it's me singlehandedly destroying my inner concept of version control systems through overthinking.
01:46:00 <zzo38> Iwnda0: And if you read the topic message, they always change it, except the log URL should stay there. You can read the log if you want to.
01:46:21 <elliott> They aaalways change it :P
01:46:25 <elliott> They being the gods, obviously.
01:46:49 -!- Ilari has joined.
01:46:51 <elliott> Iwnda0: Additionally, EgoBot, HackEgo and fungot are absolutely not bots and acting as if they are will hurt their feelings.
01:46:52 <fungot> elliott: well yeah... loop through the sequence, it gives bizarre results.... but it seems what he actually checks
01:47:03 <elliott> (Also http://esolangs.org/ since nobody reads the ChanServ message.)
01:47:06 <zzo38> Actually anyone can, I am the last guy to change the topic message.
01:47:20 <Iwnda0> bots with receptors
01:47:54 <zzo38> Iwnda0: Look at the wiki if you are interested with esoteric programming.
01:48:32 <Iwnda0> ok thanks for all of that
01:48:37 * Sgeo wonders what elliott thinks of Ur/Web
01:48:56 <Sgeo> IMO, single-purpose languages scare me a bit, but it looks interesting. But magic syntax scares me
01:49:08 <elliott> Sgeo: It's an interesting research topic by an expert and innovator in the field, the web part is totally irrelevant, and if you fall in love with it I will tear your heart out and smash it to pieces.
01:49:15 <elliott> "Magic syntax"? What?
01:49:23 <Sgeo> <xml></xml>
01:49:27 <elliott> That's not "magic".
01:49:48 <elliott> Anyone trying to understand Ur/Web without a solid background in programming language design and type theory is really going to get nothing out of the exercise.
01:53:13 -!- elliott has quit (Quit: Leaving).
01:54:16 -!- TLUL has quit (Quit: *disappears in a puff of orange smoke*).
01:55:03 <zzo38> Sgeo: Is it single-purpose?
01:55:40 -!- Iwnda0 has left (?).
01:55:45 <Sgeo> I don't know how well Ur works as a standalone language
01:56:26 <coppro> Ur/Web?
01:59:34 <Sgeo> http://www.impredicative.com/ur/
02:00:03 <zzo38> I don't know. What I do know is I have made a few programming languages meant for a single-purpose but can do other things as well due to turing-complete. I don't know if Ur/Web can make command-line programs either.
02:03:54 <coppro> it does not look as clean as haskell
02:04:16 <zzo38> Do you know how to help make a few things with TAVSYS standard libraries?
02:10:38 <coppro> Sgeo: Ur seems ugly compared to haskell
02:10:58 -!- Gregor has changed nick to ILoveEval.
02:13:18 * Sgeo assassinates ILoveEval for the good of security
02:14:12 <ILoveEval> I LURRRRVE EVAL
02:15:02 <Sgeo> Do you love it eval(some_user_entered_supposed_number) much?
02:21:39 -!- augur has quit (Remote host closed the connection).
02:23:51 -!- oerjan has joined.
02:24:58 -!- augur has joined.
02:28:18 -!- augur has quit (Remote host closed the connection).
02:39:53 -!- zeotrope has joined.
02:41:21 -!- tswett has changed nick to DDDD.
02:41:41 -!- DDDD has changed nick to tswett.
02:44:33 <pikhq> o.O'
02:48:40 -!- wareya has joined.
02:51:46 -!- wareya_ has quit (Read error: Operation timed out).
03:00:22 <sshc> Your C is terrible.
03:00:32 <sshc> What say you, pikhq?
03:00:47 <oerjan> those are not C's, they're D's
03:01:22 <sshc> Bah.
03:03:13 <pikhq> sshc: Ùńĩçôđë!
03:03:27 <sshc> The last good thing written in C was Chopin's Concerto 3
03:08:45 * sshc salivates
03:08:58 <sshc> What is you guisers favorite distro?
03:09:48 -!- zzo38 has quit (Remote host closed the connection).
03:13:53 <ILoveEval> Your C is terrible because it has no eval.
03:14:13 -!- augur has joined.
03:15:04 <sshc> I've recieved numurous affirmative PMs from augur
03:15:09 <sshc> The answer is quite clear.
03:15:14 <oerjan> sshc: s/^.*$/"\&"/
03:15:33 <sshc> Ah, he's here now
03:15:49 <sshc> I've said nothing
03:15:51 <sshc> "&"
03:16:09 <oerjan> \& means the entire matched string
03:16:18 <ILoveEval> quintopia: Ping?
03:16:21 <sshc> C has been used for plenty eval.
03:16:26 <sshc> quintopia: Ping!
03:16:29 <ILoveEval> AnybodyElseWhoMightWantToProofreadAPaper: Ping?
03:16:37 <oerjan> C no eval
03:16:57 <sshc> Ping!
03:17:08 <sshc> oerjan: Not with less sophisticated regex transmissions
03:17:33 <sshc> It was quite convenient to hide our quite excellent strategy from augur, no?
03:17:57 <augur> D:
03:17:57 * oerjan has no idea who sshc is talking to
03:18:04 <augur> who are you
03:18:44 <sshc> Why... I am sshc.
03:18:51 <sshc> Most well known IRC user of this channel, at the moment.
03:19:11 <sshc> I...am rather green.
03:19:16 <sshc> That's who I am.
03:20:12 <augur> right
03:20:13 <sshc> HOLY SHIT SOMEBODY ACTUALLY JOINED ##############################################
03:20:20 * sshc feels lucky for guessing right
03:20:21 <augur> well i have no idea what you're on about
03:20:23 <augur> bai nao
03:20:28 <sshc> Right, later dude!
03:20:46 * oerjan wonders what bai nao means in chinese
03:24:36 -!- fungot has quit (Read error: Operation timed out).
03:25:19 -!- Wamanuz has quit (Ping timeout: 240 seconds).
03:25:24 -!- Wamanuz2 has joined.
03:26:34 <Sgeo> http://askville.amazon.com/eversion-video-game-children-play-adult/AnswerViewer.do?requestId=32693562
03:26:37 * Sgeo facepalns
03:26:40 <Sgeo> palms too
04:21:00 <Sgeo> oerjan, I should not be on IRC tomorrow. If I am, feel free to ban me for the duration. Duration ends ... should really end Saturday, I guess, not Friday
04:21:18 <Sgeo> But what if I start feeling depressedly lonely again?
04:21:19 <Mathnerd314> Sgeo: is that an actual question? :O
04:22:27 <Sgeo> I think I drained myself of happiness this past Thanksgiving
04:22:34 <oerjan> ouch
04:23:27 <Sgeo> From Tuesday to Saturday during that break, I was giddy. Stuff happened Saturday, and I wasn't the same, even after she told me to forget about it
04:23:57 -!- DrPhillate has joined.
04:26:10 <Sgeo> This past Tuesday, a friend of mine was telling me something that happened on the road that day
04:26:38 <Sgeo> I keep thinking that if she had been paying less attention, she might have died
04:26:46 <Sgeo> Although I don't know the details, maybe I'm mistaken
04:27:31 <coppro> I've been driving and been in a situation where myself and one other driver needed to be alert or bad things might have happened
04:27:56 <coppro> a truck ahead of me made a sudden stop and I was forced to make an emergency lane change; if the guy in the other lane hadn't slowed back things would have been ugly
04:29:41 <Sgeo> Should I be worried that she listens to audiobooks in the car?
04:29:46 <Sgeo> coppro, that's scary
04:30:02 <coppro> Sgeo: Very.
04:30:51 * Sgeo suddenly wonders what thing "Very" was in response to
04:34:59 <coppro> the line immediately above it?
04:36:18 <Sgeo> >.>
04:36:34 <Sgeo> I think I don't want to drive
04:38:56 -!- zeotrope has quit (Quit: Lost terminal).
04:48:03 -!- poiuy_qwert has joined.
04:57:41 -!- DrPhillate has changed nick to Room42.
05:02:01 <Ilari> Hmm... APNIC has 1.06 /8s left before crossing 2x/8 threshold...
05:02:14 -!- Room42 has changed nick to Elephantitus.
05:03:48 -!- Elephantitus has changed nick to VerticalSmile.
05:07:24 <Ilari> 10 575 872 addresses (63.0% of /8) allocated this calender month...
05:08:36 <oerjan> IT'S THE FINAL COUNTDOOOOWN
05:09:13 <Ilari> About 17.8M addresses left to the threshold...
05:13:26 <Ilari> Average allocation rate would be 700k addresses per day... At that rate 17.8M addresses would be gone in less than 4 weeks (mid-January that is)...
05:16:59 <Sgeo> You know, Sam Hughes's rant about One Chance comes to mind...
05:17:58 <Ilari> Also looks like IPv6 routing is seriously borked for me... :-/
05:18:45 <Ilari> ftp.fi.debian.org is reachable, ftp.se.debian.org isn't, as isn't Freenode IRC servers...
05:20:18 <Ilari> Traceroute6 isn't very helpful...
05:20:45 <Ilari> (besides pointing out that packets do reach the gateway).
05:20:49 <Sgeo> If the public starts pressuring ISPs sooner, say now instead of in 4 weeks, will there be 4 weeks less of pain?
05:23:12 <Ilari> "The Internet Corporation for Assigned IP address ICANNâ's experts warned that the existing IPv4 address will run out next January."...
05:24:24 <Sgeo> The sooner we raise a fuss, the sooner ISPs feel pressure, and... it's at least a little help. Although atually, it could backfire if the day comes around and the world doesn't end, which it won't
05:29:13 <Ilari> Reminds me of some long lived threads on ISP forums about IPv6: The general theme is: 2005: "We have IPv6 in production use in our core network". Winter 2009: "When are customers going to get IPv6?", "It is planned, no timetable to annouce yet.". Repeat for each season.
05:29:20 -!- augur has quit (Ping timeout: 260 seconds).
05:31:51 <Ilari> That is, Winter 2009, Spring 2009, Summer 2009, Fall 2009, Winter 2010, Spring 2010, Summer 2010, Fall 2010...
05:32:05 <Ilari> ... The same Q&A pair...
05:39:50 -!- augur has joined.
05:42:52 <Sgeo> Ilari, is http://pastie.org/private/fuqe7yxf4gztpaofh0xbmg reasonably accurate?
05:44:48 <Sgeo> (It's not going to the press. Just my Facebook friends)
05:45:48 <oerjan> famous last words
05:45:55 <Ilari> "it" meaning IANA depletion?
05:46:24 <Sgeo> I titled it "The Internet is Full"
05:46:28 <Sgeo> Maybe a bit hyperbolic?
05:46:29 <Sgeo> :/
05:46:57 <Sgeo> Hmm, RIRs still have addresses, right?
05:49:16 <Sgeo> Hmm, how can I fix for accuracy?
05:49:41 -!- VerticalSmile has changed nick to tehjamezs.
05:49:42 -!- tehjamezs has changed nick to tehjamez.
05:52:50 <Sgeo> Instead of "it" in the January sentence, should I say "a major milestone"?
05:53:54 * Sgeo tentatively pokes Ilari
05:55:24 * Sgeo puts a clarifying thing in parentheses
05:55:51 <Sgeo> "ome estimates are predicting it (well, a major milestone showing that it's going to happen soon) to happen in January"
05:55:54 <Sgeo> A bit awkward
05:55:56 * Sgeo shrugs
05:59:33 <Ilari> I really hope 700k a day isn't going to be long time trend...
06:00:05 <Sgeo> After the RIRs are depleted, it won't be.
06:01:08 <Ilari> Yes, it would drain APNIC enough to make it allocate about 2 weeks ahead of (pessimistic) model predictions, but the bigger problem is that it would drain APNIC completely months before even the most pessimistic estimates so far...
06:01:49 <Ilari> And there's no telling what happens once IANA depletion is announced...
06:02:45 <Sgeo> We should make sure that IANA depletion makes the news. And not just the geek news
06:02:54 <Sgeo> We should get people angry at the ISPs
06:04:28 <Vorpal> Ilari, APNIC, is that asia?
06:05:57 <Ilari> Vorpal: Yes.
06:07:20 <Ilari> Problems with native IPv6: 1) Access networks usually can't carry it. 2) modems usually don't support it. Tunneled IPv6: Poor software support.
06:08:07 <Ilari> Sure, if you control the CPE, you could upgrade it to terminate the tunnel, but usually that's not the case.
06:08:17 <Sgeo> Another problem with tunneled IPv6: Most users have no idea how to set such a thing up
06:08:21 <Vorpal> Ilari, hm... what will happens to phones?
06:08:31 <Sgeo> The IPv6-only Internet would be inaccessible to them
06:08:40 <Vorpal> Sgeo, it is 10 easy steps (and 5 hard)!
06:08:56 <Vorpal> (the hard ones are convincing sixxs)
06:09:06 <Sgeo> Vorpal, and getting every clueless Internet user to do those steps?
06:09:08 <Sgeo> sixxs?
06:09:18 <Vorpal> Sgeo, SixXS yes
06:09:51 <Vorpal> bbl university
06:12:20 <Ilari> Actually, with DHCP and access to logically same network segment, one could theoretically provode IPv6 access in automated fashion. But that "same network segment" is kinda tall order.
06:13:03 <Sgeo> Wait
06:13:14 <Sgeo> End-user hardware tends not to support IPv6?
06:13:28 <Sgeo> Um... does this mean we're completely fucked?
06:14:12 <Ilari> Basically, wait for user to send DHCP request. And in return, send back DHCP response and IPv6 router advertaisment.
06:15:04 <Ilari> DHCP configures IPv4 + nameservers, the RA configures the IPv6 layer 3...
06:16:44 * Sgeo needs to sleep soo
06:16:46 <Sgeo> n
06:18:08 <Ilari> Hmm... Arp table has entry for default gateway that does not correspond to any known MAC of the DSL modem...
06:19:00 <Ilari> Which would mean some telco equipment is on the same segment, or at least in bridged segment...
06:19:40 <Ilari> Oh, and then there is some bad software that will crash if it receives a RA...
06:19:59 <pikhq> Sgeo: Very, very little end-user hardware supports IPv6, yes.
06:20:13 <pikhq> Sgeo: Because the only people more short-sighted than ISPs are electronics manufacturers.
06:20:26 <pikhq> And we don't have rational, informed actors.
06:23:47 <Sgeo> Well, that settles it.
06:24:16 <Sgeo> Humanity is going to be either wiped out or delt a severe blow due to Global Warming
06:24:44 <Sgeo> IPv4 depletion, given enough time, is FAR simpler to solve
06:24:56 <Sgeo> Given everyone working together
06:25:05 <Sgeo> We can't do that much...
06:28:22 <fizzie> 3G network standards have supported an IPv4/IPv6 mixture since 2004 (3GPP R5); the 3GPP address autoconfiguration does IPv6 assignments (spec'd to provide a /64 for each mobile device, for personal-area-network brouhaha); I don't know about phones except that Symbian has done IPv6 since version 7.0s (2003).
06:28:41 <fizzie> (That's in theory; I don't know how well that will go in practice, and whether anyone's actually tried that stuff out.)
06:38:39 <Sgeo> Night all
06:39:38 -!- Sgeo has quit (Read error: Connection reset by peer).
06:50:00 <pikhq> fizzie: Well, Android phones should at least be trivially upgradable to IPv6.
06:50:22 <pikhq> (note: "should". You never know what some ignorant moron has done to it.)
07:39:51 -!- ILoveEval has changed nick to Gregor.
07:58:42 -!- nopseudoidea has joined.
07:59:46 -!- nopseudoidea has quit (Client Quit).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:26 -!- evincar has joined.
08:07:08 <evincar> Everyone has seen me sign on but I'm saying something to let you know I'm not just lurking.
08:07:36 <oerjan> eek, the evil car is back
08:08:39 <oerjan> sadly you are the first to say anything for 1 hour 17 minutes
08:09:33 -!- pikhq has quit (Ping timeout: 265 seconds).
08:45:49 <evincar> oerjan: And I didn't notice you said anything for a while, either. I'm a great chatter.
08:46:08 <oerjan> yay. sadly i'm about to leave soon.
08:46:12 <evincar> And sadly I must retire too.
08:46:25 <oerjan> well bye then
08:46:27 <evincar> Being sick and having to get up for class in four hours...
08:46:30 <evincar> ...sigh.
08:46:33 <evincar> Yeah, later.
08:46:35 -!- evincar has quit (Quit: Blah.).
08:59:48 -!- oerjan has quit (Quit: leaving).
09:16:59 -!- tehjamez has changed nick to tehjamezZzZz.
09:36:59 -!- atrapado has joined.
09:45:33 -!- Mathnerd314 has quit (Ping timeout: 260 seconds).
09:49:04 <quintopia> gregor has pingeth me
09:49:13 <quintopia> yes gregor?
09:50:07 <quintopia> also i have the write-up on document classification now wee
09:51:34 -!- Ilari_ has joined.
09:52:54 -!- Ilari has quit (Quit: Changing server).
09:53:41 -!- Ilari has joined.
09:54:03 -!- Ilari_ has changed nick to Ilari_antrcomp.
10:13:52 -!- Ilari_ has joined.
10:15:07 -!- Ilari_antrcomp has quit (Quit: leaving).
10:15:09 -!- Ilari_ has changed nick to Ilari_antrcomp.
10:57:31 -!- MigoMipo has joined.
11:05:36 -!- MigoMipo has quit (Remote host closed the connection).
11:27:02 -!- Mathnerd314 has joined.
11:27:35 -!- Mathnerd314 has quit (Client Quit).
11:33:15 -!- elliott has joined.
11:33:44 <elliott> 18:03:54 <coppro> it does not look as clean as haskell
11:33:45 <elliott> 18:10:38 <coppro> Sgeo: Ur seems ugly compared to haskell
11:33:58 <elliott> coppro: please STFU, it is more powerful than haskell
11:34:02 <elliott> coppro: it contains new type-system research
11:34:15 <elliott> it's not some random language
11:34:42 <elliott> 19:16:29 <ILoveEval> AnybodyElseWhoMightWantToProofreadAPaper: Ping?
11:34:46 <elliott> Gregor: Shure
11:40:28 <elliott> 21:20:49 <Sgeo> If the public starts pressuring ISPs sooner, say now instead of in 4 weeks, will there be 4 weeks less of pain?
11:40:34 <elliott> people have been pressuring ISPs for 10 years.
11:41:09 <elliott> 21:46:24 <Sgeo> I titled it "The Internet is Full"
11:41:09 <elliott> 21:46:28 <Sgeo> Maybe a bit hyperbolic?
11:41:11 <elliott> YOU DON'T SAY
11:41:41 <elliott> 21:42:52 <Sgeo> Ilari, is http://pastie.org/private/fuqe7yxf4gztpaofh0xbmg reasonably accurate?
11:41:54 <elliott> what hope do we have for solving climate change? none without bioengineering, which won't happen because of politics! enjoy!
11:50:51 -!- Leonidas has quit (Quit: An ideal world is left as an exercise to the reader).
11:51:30 <elliott> http://blogs.wsj.com/metropolis/2010/08/18/212-lust-old-phone-numbers-are-new-thing-in-tech-scene/ this is the stupidest thing ever i can't even comprehend
11:54:07 -!- Leonidas_ has joined.
11:54:43 -!- Leonidas_ has changed nick to Leonidas.
11:58:16 <Ilari> Actually, bioengineering won't happen because it isn't as good as it is portrayed as. What really prevents action on climate change is economics...
11:58:19 <elliott> 22:23:47 <Sgeo> Well, that settles it.
11:58:19 <elliott> 22:24:16 <Sgeo> Humanity is going to be either wiped out or delt a severe blow due to Global Warming
11:58:19 <elliott> 22:24:44 <Sgeo> IPv4 depletion, given enough time, is FAR simpler to solve
11:58:19 <elliott> 22:24:56 <Sgeo> Given everyone working together
11:58:19 <elliott> 22:25:05 <Sgeo> We can't do that much...
11:58:28 <elliott> You are so naïve it is hilarious.
11:58:55 <Ilari> Converging catastrophes... Global Warming is just one of those...
12:00:30 -!- oerjan has joined.
12:00:58 <elliott> Ilari: Obviously we will all die.
12:01:56 <Ilari> Actually, humankind getting dealt serious blow is much more likely than full wipeout.
12:02:07 <Ilari> (actually, inevitable)
12:02:38 <elliott> Ilari: I disagree about its inevitability.
12:04:39 <Ilari> It won't be global warming that is going to deal the main blow (just additional one).
12:06:44 <fizzie> Yes, the main blow will come from IPv4 depletion.
12:07:00 * oerjan swats fizzie -----###
12:08:21 <Ilari> More like depletion of natural resources.
12:08:37 <Ilari> (IPv4 addresses don't count as natural resources) :->
12:09:05 -!- ais523 has joined.
12:09:42 * quintopia compresses fizzie's filesystem with md5sum
12:10:12 <oerjan> phosphorus looks like a big one... we're going to have to start recycling human sewage again
12:19:50 <elliott> oerjan: let's hope the arsenic bacteria don't take over :D
12:20:10 <oerjan> heh, that seems to have been shoddy science anyway
12:21:18 <elliott> fizzie: "Uh oh, Minecraft update."
12:21:22 <elliott> oerjan: shush :)
12:22:02 <fizzie> "The client wasn't updated, btw, that was a side-effect of copying the files around. The updater thought they were new."
12:22:06 <fizzie> (Notch twitter feed.)
12:22:09 <oerjan> arsenic is immensely rarer than phosphorus anyway
12:22:24 <elliott> "The client wasn't updated, btw, that was a side-effect of copying the files around. The updater thought they were new."
12:23:49 -!- fungot has joined.
12:24:25 <oerjan> ^echo "The client wasn't updated, btw, that was a side-effect of copying the files around. The updater thought they were new."
12:24:25 <fungot> "The client wasn't updated, btw, that was a side-effect of copying the files around. The updater thought they were new." "The client wasn't updated, btw, that was a side-effect of copying the files around. T ...
12:27:20 <fizzie> That is, in fact, exactly what made me bring the 'got here.
12:27:40 <quintopia> `echo "\"The client wasn't updated, btw, that was a side-effect of copying the files around. The updater thought they were new.\""
12:28:01 <HackEgo> "\"The client wasn't updated, btw, that was a side-effect of copying the files around. The updater thought they were new.\""
12:28:07 <quintopia> oh damn
12:28:07 <oerjan> FAIL
12:28:18 <quintopia> sorry :(
12:28:29 <quintopia> anyway, retweeting in irc is fun
12:29:29 -!- Slereah has quit.
12:30:40 <elliott> <fizzie> That is, in fact, exactly what made me bring the 'got here.
12:30:44 <elliott> What, me pinging you?
12:31:08 <fizzie> No, what oerjan did.
12:31:44 <fizzie> I wanted to do the whole "there's an echo here", but noticed the lack of 'got.
12:32:17 -!- Slereah has joined.
12:33:36 <fizzie> Incidentally, I wonder if the updater compares the web-version timestamp and the local minecraft.jar timestamp, and if so, whether you could disable auto-updating by adding a "touch ~/.minecraft/bin/minecraft.jar" into your minecraft startup script.
12:35:42 <elliott> fizzie: Maybe it hashes the server pathname too for NO GOOD REASON./
12:35:53 <elliott> fizzie: Wait, maybe "moving things around" meant moving things around in ~/.minecraft.
12:35:54 <elliott> Creepy.
12:36:04 <elliott> Doesn't look like it :P
12:36:10 <fizzie> Actually it probably just looks at the value in ~/.minecraft/bin/version, which looks suspiciously like a time_t *1000.
12:36:45 <fizzie> So maybe you can disable auto-updating by putting a ridickulously large number in.
12:37:02 <elliott> fizzie: Hey, look at Notch's ingenious solution to the problem "lastServer:hostname:port discards the port value because of the separator": "lastServer:aNNN.org_MMMMM"
12:37:06 <elliott> (For appropriate Ns and Ms.)
12:37:20 <fizzie> Yes, I noticed.
12:37:27 <elliott> I guess the equivalent of "key, value = line.split(':', 1)" was just TOO HARD.
12:38:01 -!- FireFly has joined.
12:38:19 * oerjan swats FireFly -----###
12:38:35 <FireFly> :<
12:38:36 <fizzie> It'd be String[] key_value = line.split(":", 2);
12:38:42 -!- MigoMipo has joined.
12:39:20 <fizzie> Actually, it's one of the examples in the String.split(String regex, int limit) documentation.
12:39:45 <fizzie> "The string "boo:and:foo", for example, yields -- [regex :, limit 2:] { "boo", "and:foo" }"
12:39:55 <elliott> oerjan: FireFly has developed crushing depression due to your constant swattling.
12:40:01 <elliott> fizzie: bahahaha
12:40:04 <FireFly> Yeah
12:40:18 <FireFly> Hrm
12:40:29 <oerjan> elliott: well flies are supposed to live shitty lives
12:40:40 <fizzie> At least _ is a non-DNS-friendly replacement character, compared to something like "q".
12:40:59 <elliott> oerjan: yes but he's a firefly, he already has a recent, awful, overplayed pop song involving him, give him a break
12:41:00 <FireFly> And so is your mom, oerjan :|
12:41:19 <elliott> DING DING DING someone did the your mom joke on one of the incorrect targets
12:41:24 <elliott> prepare for canned response
12:41:28 <FireFly> Ow
12:41:41 <FireFly> That sounds.. bad
12:41:45 <oerjan> MY MOM IS DEAD YOU INSENSITIVE CLOD
12:41:53 <oerjan> elliott: close enough?
12:41:59 <elliott> oerjan: should do
12:42:15 <elliott> oerjan: I would have gone for "MY MOTHER WAS KILLED BY YOUR KIND", but that is acceptable
12:42:37 <oerjan> i ... don't recall any flies being involved.
12:43:32 <fizzie> In the Semantic Web, FireFly's client would have seen the mom-dead metadata and made a yes/no confirmation query before sending the comment.
12:43:50 <elliott> fizzie: surely it would be the mother metadata's dead property
12:43:54 <elliott> oerjan: isn't this conversation SO COMFORTABLE
12:44:00 <elliott> anyway he's a firefly, not a fly :P
12:44:08 <elliott> or maybe he's a Fire Fly, like a fly on fire or something
12:44:19 <fizzie> Well, yes, it would be in the Ontology(tm) somewhere, I just simplified.
12:44:43 <FireFly> Being a fly on fire would make the swatting pretty pointless, though
12:44:48 <fizzie> Probably some sort of a RDF graph.
12:46:05 <elliott> FireFly: well oerjan is just that cruel
12:46:14 <elliott> and i don't think he's speaking to me any more :D
12:47:34 <oerjan> ...what
12:49:04 <fizzie> "He's so nice, he wouldn't hurt an on-fire fly", as the saying goes.
12:49:18 -!- nopseudoidea has joined.
12:50:19 <elliott> oerjan: wut
12:50:56 -!- nopseudoidea has quit (Client Quit).
12:53:59 <elliott> oerjan: so how's the ultimately-meaningless patch theory going :D
13:00:04 -!- MigoMipo has quit (Ping timeout: 250 seconds).
13:02:43 <oerjan> non-existingly
13:15:10 <elliott> oerjan: flower
13:15:11 <elliott> s
13:15:16 <elliott> (multiple/plural)
13:27:56 <elliott> Harm Considered Harmful
13:28:57 <elliott> http://74.125.155.132/scholar?q=cache:Dk-wWK6NAaIJ:scholar.google.com/+hello+world+considered+harmful&hl=en&as_sdt=40000000000
13:29:02 <elliott> WORST. PAPER. EVAR!
13:33:57 <quintopia> um
13:33:58 <quintopia> not quite
13:34:12 <quintopia> try this one http://journalofcosmology.com/Mars144.html
13:35:35 <Ilari> There are probably a lot worse papers than those...
13:39:15 <quintopia> oh, i know, but that was one i was already looking at that seemed at least a little bit worse
13:39:39 <quintopia> so, go go gadget quick reply counterexample reflex!
13:47:46 <elliott> <quintopia> try this one http://journalofcosmology.com/Mars144.html
13:47:47 <elliott> no that's most awesome
13:48:44 <quintopia> i suppose. but it's amusing that it is in journal of cosmology, clearly being an analysis of human sexual relations
13:48:56 <quintopia> not what i usually think of as cosmology
13:49:56 <quintopia> i thought the message of the paper you linked was dead-on though. A lot of people teach OO very wrong.
13:50:35 <elliott> quintopia: thinking that paper and its "solution" are reasonable are a sign of brain damage.
13:51:05 <elliott> only one who truly believes OO is the One True Solution to everything would mangle and overcomplicate Hello-fucking-world to fit their disastrous worldview.
13:51:09 <quintopia> i didn't say the solution was reasonable
13:51:15 <quintopia> i said the message is dead-on
13:51:15 <elliott> *is a
13:51:26 <elliott> the message includes the solution
13:51:42 <quintopia> i wholeheartedly disagree with your statement
13:52:02 <quintopia> this is a question of pedagogy techniques, not whether or not OO is the One True Solution
13:52:23 <quintopia> i would rather see hello world not used at all, however
13:52:46 <quintopia> and actually jump right into a real problem that actually shows the purpose of OO
13:53:12 <elliott> quintopia: here's an idea, maybe we shouldn't teach possibly the worst paradigm in recent history
13:53:17 <elliott> (original OO I can accept, Java I cannot)
13:53:37 <quintopia> i agree. Smalltalk is better suited for teaching OO.
13:53:55 <quintopia> it's just there aren't any truly non-shitty implementations of Smalltalk
13:54:58 <elliott> quintopia: "I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. Nor Smalltalk." --Alan Kay, last sentenced paraphrased because I can't find a source actually including that bit
13:55:08 <elliott> anyway smalltalk has perfectly good implementations
13:55:19 <elliott> Squeak's UI is a bit stupid but it has the Smalltalk-80 lineage.
13:55:31 <quintopia> squeak is pretty shitty
13:55:35 <quintopia> or at least
13:55:39 <quintopia> was, the last time i used it
13:55:50 <elliott> quintopia: from what do you derive that conclusion
13:56:22 <quintopia> that you need to tell me where i can find a non-shitty smalltalk?
13:56:31 <elliott> quintopia: you fail at english
13:56:37 <elliott> quintopia: from what do you derive the conclusion that squeak is pretty shitty
13:56:46 <quintopia> oh
13:57:14 <quintopia> all the problems i had with the system. i'd rather have one that didn't act like a VM, really.
13:57:20 <elliott> quintopia: it is not a VM.
13:57:32 <quintopia> it acts like an OS being run in a VM
13:57:48 <elliott> quintopia: Smalltalk-80 ran on the bare metal; Squeak is directly based on it, runs under an existing kernel and graphics layer because of portability. it also provides access to the filesystem as a convenience.
13:57:50 <quintopia> which is understandable considering smalltalk's origins
13:57:59 <elliott> it is like saying "I wish Linux didn't act like a VM, really."
13:58:09 <elliott> Smalltalk's power is /nothing/ and worthless without the integrated environment.
13:58:12 <elliott> GNU Smalltalk is a joke.
13:58:20 <quintopia> < quintopia> which is understandable considering smalltalk's origins
13:58:27 <quintopia> i indicated i get all that
13:58:42 <quintopia> but i disagree that you need it to be implemented like /that/
13:58:50 <elliott> Feel free to disagree, but you're wrong.
13:59:04 <elliott> In fact the adherence to the shitty Unix-alike OSes we all run on is why every development environment more or less completely sucks.
13:59:05 <quintopia> feel free to disagree, but you're wrong
13:59:17 <quintopia> now that i can agree with
13:59:18 <elliott> Thankfully Emacs is a slightly nicer environment, and is widely accepted -- but --
13:59:19 <elliott> only slightly.
13:59:31 <elliott> So would you prefer it if Smalltalk booted on the bare metal?
13:59:41 <elliott> That would be even less integrated with your OS, and less portable too.
13:59:50 <quintopia> however, i would like a smalltalk that integrates nicely into /other/ tools. i don't want it running on the bare metal.
14:00:00 <quintopia> i want the language itself
14:00:15 <quintopia> but if i had another computer
14:00:18 <quintopia> that was smalltalk based
14:00:22 <quintopia> i would be happy with it
14:00:27 <quintopia> like i would be happy with a lisp machine
14:00:36 <elliott> quintopia: ok, so press fullscreen in a smalltalk window. :p
14:00:36 <quintopia> for the purposes of the /computer i have/
14:00:51 <quintopia> ...they window already fills the screen :P
14:01:04 <quintopia> anyway, the abstraction there is way too leaky
14:01:08 <quintopia> so leaky it is annoying
14:01:18 <elliott> i would switch to squeak if it booted on the bare metal and had drivers, probably.
14:01:26 <elliott> and i could make the UI less irritating.
14:01:52 <quintopia> i might as well...not for everything of course, just for fun, and only if i had another computer to use it on
14:02:36 <elliott> eh, i'd just need a browser. :p
14:03:00 <quintopia> anyway, i thought alan kay had a heavy hand in designing smalltalk
14:03:02 -!- ais523 has quit (Remote host closed the connection).
14:03:05 <elliott> quintopia: precisely.
14:03:10 <elliott> he invented it.
14:03:13 <elliott> but smalltalk is broken too.
14:03:25 <quintopia> yeah, i'm wondering where that quote comes from
14:03:34 <elliott> a talk he did; the bit without smalltalk is widely quoted.
14:03:38 <elliott> ironically.
14:03:58 <quintopia> so how does he think smalltalk is not OO?
14:04:00 <elliott> quintopia: one of smalltalk's main problems is that it has inheritance, of course.
14:04:24 <elliott> OO has always been about message-passing from the start, not classes, not inheritance, message-passing, and anything that disrupts that isn't OO
14:04:27 <quintopia> what's the proper way to do templating/code reuse in OO?
14:04:38 <elliott> quintopia: composition
14:04:42 <elliott> /aggregation
14:04:53 <elliott> combine components to produce bigger components.
14:05:25 <quintopia> and the proper way to do shared interfaces/interchangeable types?
14:05:56 <elliott> quintopia: you're going to have to state that in terms of what you're trying to accomplish, not OO buzzwords, for me to give a coherent answer. :)
14:09:19 -!- ais523 has joined.
14:09:25 <elliott> hi ais523
14:10:24 <ais523> hi
14:10:45 <elliott> ais523: can i ask a scapegoat-related question?
14:11:39 <ais523> you just did
14:11:42 <ais523> but feel free to ask a different one
14:11:59 -!- sftp has quit (Remote host closed the connection).
14:12:01 <ais523> (semantic argument: are scapegoat-related-question-related questions scapegoat-related questions?)
14:12:20 <elliott> ais523: only if you program Pelr
14:12:21 <elliott> *Perl
14:12:24 <elliott> ((1, 2), 3) = (1,2,3)
14:12:25 <elliott> :-)
14:13:04 <ais523> that's because array constants embed into other array constants by definition
14:13:16 <ais523> it's what the , operator does when given an array and scalar, or two arrays, as arguments in list contexts
14:13:52 <quintopia> elliott: i mean, you can't always have your code going around asking what kind of object it has been passed and whether it accepts those messages, but you may want to have an entire class of objects that believe differently yet are guaranteed to have the same messages available
14:13:53 <elliott> indeed
14:14:01 <elliott> ugh, i've forgotten the question
14:14:11 <elliott> "you can't always have your code going around asking what kind of object it has been passed and whether it accepts those messages," erm why would code ever do this quintopia
14:14:15 <elliott> sounds like a smell to me
14:14:18 <quintopia> well i can't be here every second of the day
14:14:31 <elliott> quintopia: ?
14:14:33 <elliott> i was talking to ais523
14:14:34 <ais523> quintopia: isn't that what an interface is, in the OO sense?
14:14:35 <elliott> until i quoted you
14:14:43 <quintopia> oh
14:14:51 <quintopia> ais523: that's what i'm trying to describe yes
14:14:51 <ais523> oh, I had a new esolang idea last night
14:15:03 <ais523> it was basically, "make a cross between ML and Prolog"
14:15:20 <ais523> the idea is sufficiently crazy to need no further complications to be eso, but I'd probably add some anyway
14:15:57 <ais523> (you can tell I had to do a project in OCaml over the last couple of days, it's what got me thinking along those lines...)
14:16:02 <quintopia> elliott: what are your thoughts on contracts, in the eiffel sense?
14:17:06 <ais523> hmm, I want some editor advice; what's the fastest way to, given a huge number of files, look at them all and edit a small subset based on what they look like?
14:17:20 <ais523> at the moment I'm scrolling through them in less and using vi for any edits I need to make
14:17:22 <elliott> <quintopia> elliott: i mean, you can't always have your code going around asking what kind of object it has been passed and whether it accepts those messages, but you may want to have an entire class of objects that believe differently yet are guaranteed to have the same messages available
14:17:25 <elliott> can you answer my question?
14:17:41 <elliott> why would code ever be "going around asking what kind of object it has been passed and whether it accepts those messages"
14:17:49 <elliott> <ais523> hmm, I want some editor advice; what's the fastest way to, given a huge number of files, look at them all and edit a small subset based on what they look like?
14:17:50 <elliott> ais523: grep?
14:18:17 <ais523> it 's a situation that isn't really suited for grep
14:18:23 <quintopia> elliott: if it didn't have the ability to determine what messages an object had available by apriori knowledge like "it implements this interface" or "it inherits from that class"
14:18:29 <ais523> I'm trying to look at a bunch of files submitted by students and fix the ones that are malformed
14:18:35 <ais523> and they come up with really creative ways to do malformed
14:18:50 <elliott> quintopia: if you're passed an object as a parameter, then you use it according to some interface
14:18:52 <elliott> what's the problem?
14:19:15 <elliott> if some parameter is a number, you can do x*2. if it's a string, you can do x length. if it's a random-access container of some sort, you can do x at(3) or whatever.
14:19:19 <ais523> hmm, vi keeps annoying me with its nonintuitive choices of units of measurement
14:19:19 <quintopia> elliott: when you want to ensure that the wrong object doesn't get passed crashing your entire program
14:19:26 <ais523> e.g. d2j deletes three lines, who'd have guessed?
14:19:39 <elliott> ais523: directional keys
14:19:48 <elliott> ais523: j is down 1 line
14:19:50 <quintopia> (it'd be nice to be able to guarantee this things at compile time, and it'd be nice to be able to compile)
14:19:51 <ais523> elliott: well, j moves a line downwards
14:19:57 <elliott> what? no
14:19:59 <ais523> so d2j would delete two lines downwards, logically
14:20:18 <elliott> perhaps
14:20:22 <elliott> ais523: don't you mean d2d?
14:20:35 <elliott> quintopia: ok, well, we're talking about where smalltalk went wrong here
14:20:40 <ais523> again, perhaps, but d to mean line doesn't really make sense
14:20:40 <elliott> quintopia: and duck typing is a major part of smalltalk
14:20:44 <elliott> so i don't see the relevance at all
14:20:52 <ais523> I keep using vim like it would be meant to work, rather than like it actually works
14:21:08 <ais523> I mean, I'm assuming it sticks to a really rigid philosophy which is only an approximation of the one it's actually based on
14:21:10 <elliott> ais523: use traditional-vi, see what it does :p
14:21:45 <ais523> I also understand why vi doesn't do major modes, after using it for a while
14:21:56 <ais523> you really need to memorise things like what its definition of a word is to use it efficiently
14:22:04 <ais523> and if that kept changing on you, it wouldn't really help
14:23:14 <quintopia> elliott: fine. so what are your thoughts on contracts, then?
14:23:24 <elliott> quintopia: completely unrelated?
14:23:39 <quintopia> sure
14:23:53 <quintopia> whether they are a valuable idea in OO language design
14:24:25 <elliott> quintopia: i'm uninterested in OO language design
14:24:42 <quintopia> oh. you don't act like it. you can understand my thinking you are.
14:24:52 <elliott> quintopia: well, i know what smalltalk did wrong.
14:24:56 <elliott> but i don't think OO is the way forward.
14:25:06 <ais523> oh, I also have a vaguely related question: elliott and/or quintopia, what are your opinions on Objective C (purely as a language, ignoring things like userbase, etc)
14:25:17 <quintopia> no opinion
14:25:19 <quintopia> gotta go
14:25:31 <ais523> fair enough
14:25:42 <elliott> ais523: all the safety of C with all the speed of Smalltalk! at least the Smalltalk part's good.
14:25:44 -!- sftp has joined.
14:25:49 <elliott> ish.
14:26:00 <ais523> I spent ages reading Apple's guidelines about Objective C memory management; they were, surprisingly, exactly the same as Perl uses internally
14:26:56 <elliott> ais523: *perl, surely
14:26:57 -!- zeotrope has joined.
14:27:05 <ais523> err, yes
14:27:13 <ais523> I should have said perl(1)
14:27:26 <ais523> it's basically refcounting with a strong convention for when you change the reference count
14:27:31 <elliott> ais523: nah, it's "only perl can parse Perl", not "only perl(1) can parse Perl"
14:27:50 <ais523> and the ability for the reference count to go below 1 without freeing the object, as long as it comes back up "soon enough"
14:28:56 <elliott> <ais523> and the ability for the reference count to go below 1 without freeing the object, as long as it comes back up "soon enough"
14:28:58 <elliott> that's insane.
14:31:46 <ais523> it's useful, though; the idea is that you always free an object before returning it from a function
14:32:03 <ais523> and the function you returned it to allocates it again if it wants it to stick around
14:32:15 <elliott> ais523: that sounds brittle :)
14:32:30 <ais523> there's a defined place where everything with a refcount of 0 gets freed at once
14:32:43 <ais523> it's between statements in Perl, or each iteration of the event loop in Cocoa
14:33:42 <elliott> heh
14:34:10 <ais523> so it's not brittle, but only works if you understand how it's meant to work
14:35:05 <elliott> ais523: brittle from a human point of view, i mean
14:35:30 <ais523> perhaps
14:35:39 <ais523> in theory, you should be able to do it statically
14:44:12 -!- augur has quit (Remote host closed the connection).
14:44:35 <elliott> ais523: wrt scapegoat, I think I'm going to start hacking up a "test" implementation in Haskell or C, just to see "how it works" and catch any potential major problems before taking all the effort to start a complicated, optimised, robust implementation
14:44:36 -!- augur has joined.
14:44:41 <elliott> also because i'm lazy, but want something to code
14:45:32 <fizzie> Don't you mean "optomized"?
14:45:48 <elliott> *OPTOMIZED(TM).
14:46:19 <elliott> ais523: btw, highly recommended reading: http://perl.plover.com/yak/git/ -- turns out git has a lot of *my* ideas :P
14:46:59 <elliott> ais523: e.g., immutable hash-based indexing, maintaining directories the same way as files, and anonymous commits newer than the head (automatically removed after 90 days, apparently; not sure whether it's on next git invocation or "git gc" or whatever)
14:47:10 <elliott> ofc, it still lacks the Scapegoat Patch Format of Wonderment
14:48:54 <ais523> didn't you know git had immutable hash-based indexing?
14:49:38 -!- augur has quit (Ping timeout: 276 seconds).
14:49:45 <elliott> ais523: oh, yes
14:49:52 <elliott> ais523: I just didn't realise that it combined it with other parts of my design
14:50:24 <elliott> ais523: it seems that about half of my scapegoat ideas are basically unintentional adaptions of git to the scapegoat model :P
14:50:29 <ais523> hmm, incidentally, today as an experiment I deleted all my cookies and set Firefox to prompt before accepting them
14:50:32 <elliott> (wtf spellchecker, adaptions is a word)
14:50:39 <elliott> ais523: lynx does that by default, it's intensely irritating
14:50:48 <ais523> and it's... surprisingly less irritating than I thought it would be
14:50:51 <elliott> heh
14:50:58 <elliott> ais523: tried google yet?
14:51:01 <ais523> mostly because it gives me the optoin to whitelist or blacklist domains the first time it happens
14:51:02 <elliott> you get like 50 cookie requests
14:51:06 <ais523> I had them blacklisted already
14:51:10 <elliott> heh
14:51:17 <ais523> so I'm only getting one question per page request
14:51:30 <ais523> if I accept any cookies from a domain, I'm probably going to want to accept all of them, after all
14:51:36 <elliott> ais523: you'd like this, if it were for Firefox: https://chrome.google.com/extensions/detail/jeoacafpbcihiomhlakheieifhpjdfeo
14:51:54 <elliott> ais523: completely anonymises google, disables tracking by digg, facebook, google, twitter, yahoo
14:52:38 <ais523> hmm, yes, it seems a little complex
14:52:47 <ais523> more or less like what I'm doing except with defaults
14:53:02 <elliott> ais523: for a second there, you were zzo38
14:53:15 <elliott> "That thing that does exactly what I want to do is too complex in my opinion, so I wrote my own."
14:53:22 <elliott> (zzo-ly english left to the reader)
14:53:43 <elliott> see with me i just write my own without justifying it :D
14:54:26 <ais523> cookies seem like javascript to me; most of the time they don't actually do anything useful for me so I may as well leave them off, and some of the time they're actively annoying
14:54:56 <elliott> ais523: the web is kind of inherently irritating :P
14:56:21 <ais523> yup
14:56:25 <ais523> IRC's nicer in that respect
14:56:41 <ais523> unfortunately, the web is kind-of hard to avoid nowadays if you use the Internet a lot
15:01:34 <elliott> ais523: if you ever figure out how you're meant to use trackpads ergonomically, please tell me
15:01:41 <elliott> I can't figure out how to do it without holding your wrist up uncomfortably
15:01:49 <elliott> or using your thumb
15:01:52 <elliott> which is not very precise
15:02:29 <ais523> I use my index finger, with my wrist below the trackpad on the table
15:02:43 <ais523> it works quite well, except I have to use my other hand to click
15:02:53 <ais523> if I'm doing something that can't be done with a simple tap on the touchpad
15:03:06 <ais523> that's how I play Enigma on this laptop, at least, and that needs quite a lot of precision
15:03:09 <elliott> ais523: wrist-on-table is very uncomfortable, and also you can't do that with it in your lap
15:03:22 <elliott> ("you're not meant to put it on your lap!!!!" only if it's a stupidly overly hot machine)
15:03:28 <ais523> I don't have enough coordination to use a trackpad while holding the laptop
15:03:33 <elliott> ais523: hold? i said lap
15:03:36 <elliott> as in sitting, on your lap
15:03:44 <ais523> then it'd be too low to reach
15:04:03 <ais523> most of my laptop use at home is in bed, with me lying down and the laptop on top of the duvet
15:04:22 <elliott> ais523: wrist-on-duvet isn't a very stable position
15:04:41 <ais523> indeed
15:05:30 <ais523> but I can use my other hand to help hold the laptop steady
15:05:36 <elliott> ais523: heh
15:05:41 <ais523> and the duvet is relatively stable because the rest of my body's holding it in place
15:05:59 <elliott> ais523: personally, if i was designing a laptop, i'd make it longer, and somehow make the bit after the trackpad soft
15:06:05 <elliott> so you could use it as a wrist-rest
15:06:34 <ais523> and put the trackpad somewhere other than the centre, to stop it being knocked so easily?
15:06:52 <elliott> ais523: possibly :P
15:06:53 <ais523> I suppose the alternative's to use something other than a trackpad
15:06:59 <elliott> or just somehow detect the hand position on the laptop
15:06:59 <ais523> like a good old-fashioned trackball
15:07:02 <elliott> and disable the trackpad accordingly
15:07:05 <elliott> ais523: ugh, i hate trackballs
15:07:19 <ais523> hmm, I think I've used most of the common pointing devices in existence now
15:07:24 <elliott> I used a logitech trackball mouse exclusively for over a month, and when I switched back to a mouse I was so much faster and more comfortable
15:07:36 <ais523> mouse, trackpad, trackball, touchscreen, MouseKeys
15:07:41 <ais523> hmm, that's interesting
15:07:50 <ais523> was it a finger trackball, or a thumb trackball?
15:08:09 <ais523> I used a thumb trackball by Microsoft, and it worked pretty well; it was much better than a mouse because the mice kept falling off the table and breaking
15:08:56 <elliott> ais523: thumb
15:08:59 <elliott> finger is probably nicer
15:09:02 <elliott> but it was thumb
15:09:11 <elliott> ais523: it was a well-regarded one, too
15:09:22 <elliott> ais523: this: http://www.bluesnews.com/miscimages/tmmarble150.gif
15:09:23 <ais523> hmm, I suppose it varies from person to person
15:12:53 <elliott> ais523: scapegoat question: what's the algorithm to find @tip? I know how the Official Branch is defined
15:13:03 <elliott> but how would scapegoat actually go about finding the right hash in a haystack of hashes?
15:13:23 <oerjan> it's on my @tongue...
15:13:38 * elliott swats oerjan distractedly
15:13:56 <ais523> here's one that would work but be inefficient: start off by taking all hashes from the branch you're trying to find @tip for; eliminate any commit/revert pairs (always necessary for anything sensible to work)
15:14:08 <elliott> ais523: wait, what?
15:14:09 <elliott> @tip is a branch
15:14:14 <elliott> how can multiple branches have a @tip?
15:14:15 <ais523> if there are no conflicts, you're done; otherwise, remove the chronologically newest patch and check for conflicts, etc
15:14:23 <ais523> well, @tip is defined with respect to a repo and/or a branch
15:14:34 <ais523> otherwise it would mean "the most current version of everything"
15:14:40 <ais523> which is hilarious, but would take a while to calculate
15:14:53 <elliott> ais523: hmm, fair enough
15:15:01 <elliott> ais523: the design in my head has no concept of repository, it seems
15:15:06 <elliott> what is a repository?
15:15:40 <ais523> it's basically just a branch, but one defined by physical location
15:15:45 <elliott> ais523: hmm.
15:15:56 <elliott> ais523: anyway, sure, that algo would work, but I was thinking something vaguely efficient :-)
15:16:01 <elliott> if you have millions of hashes that would be ... "fun"
15:16:02 <ais523> because you have a concept of push and pull, you have to have a concept of repository so you have something to push and pull into
15:16:16 <elliott> ais523: do you have a concept of push and pull?
15:16:23 <ais523> I do, in terms of whitelisting
15:16:25 <elliott> in my model, pushing is just cp -R +scapegoat /another/+scapegoat
15:16:32 <elliott> and pulling is just cp -R /another/+scapegoat +scapegoat
15:16:41 <elliott> ok, whitelisting
15:16:51 <ais523> elliott: in your model, then, your repo is the set of all hashes in the +scapegoat directory
15:16:53 <ais523> forming a branch
15:17:13 <elliott> ais523: fair enough; I was under the impression that +scapegoat's not having some hashes is purely an implementation detail
15:17:21 <elliott> but good point
15:17:39 <ais523> elliott: you were inconsistent on the point, I wasn't sure what your impression was
15:17:49 <elliott> perhaps...
15:17:51 <elliott> I'm just confused :)
15:18:03 <elliott> ais523: ok, so are there any more efficient algorithms than you can think of than O(hashes)? :p
15:18:05 <ais523> we can do things as either "all hashes in +scapegoat are part of the repo" or "only whitelisted hashes in +scapegoat are part of the repo"
15:18:31 <ais523> elliott: same algo, but optimised such that "check whether this set of hashes conflict" is efficient
15:18:46 <elliott> ais523: hmm
15:18:54 <ais523> in particular, I'm thinking of caching whether the set of dependencies of a given hash are mutually consistent or not
15:18:55 <elliott> ais523: i can't think how to make that efficient without reading every single hash in th repo
15:18:56 <elliott> ah
15:19:48 <ais523> so then, all you'd have to do is take toplevel hashes - those which nothing currently depends on - and take their most recent common ancestors, which would be quite a fast thing to do
15:19:51 <ais523> and reconstruct from there
15:20:06 <ais523> (the notion of a toplevel hash is pretty irrelevant as far as the VCS goes, but seems to be very useful for optimisation)
15:22:30 -!- oerjan has quit (Quit: leaving).
15:30:14 -!- augur has joined.
15:31:56 <cheater99> http://www.ukresistance.co.uk/2010/12/by-public-demand-the-sega-toilet-game/
15:40:14 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
15:51:43 -!- MigoMipo has joined.
16:02:40 -!- poiuy_qwert has joined.
16:02:45 -!- Phantom_Hoover has joined.
16:08:00 <ais523> hmm, a forum I just logged into had two checkboxes for "remember me?", one marked yes and one marked no
16:08:05 <ais523> so I checked both of them to see what would happen
16:08:10 <ais523> I'll have to see if I'm still logged in tomorrow
16:27:59 <cheater99> hey ais
16:28:04 <cheater99> i have a question about monads
16:28:50 <cheater99> ais523: in this electronics/wires analogy for monads, what is >>= ?
16:32:07 <ais523> cheater99: connecting two blocks to each other, and also taking a second connection from the output of the first
16:32:27 <cheater99> where does the second connection go to?
16:32:34 <cheater99> i think a drawing would help
16:33:05 <cheater99> (but i'm sure it can be explained without one)
16:33:25 <ais523> well, >>= is combined with a lambda
16:33:29 <ais523> as in, >>= \a.
16:33:37 <ais523> it goes to wherever that lambda's connected to
16:33:38 <ais523> so, anywhere
16:34:09 <cheater99> i don't understand :(
16:34:33 <ais523> let's see... monads are just computations with a sidechannel
16:34:46 <ais523> now, the computations might do nothing but interact with the sidechannel, as in IO () or whatever
16:34:51 <ais523> in which case, you just connect with >>
16:34:58 <ais523> however, they might also produce a result, entirely independent of the monad
16:34:58 <Phantom_Hoover> Wait, you're using a metaphor for monads?
16:35:10 <Phantom_Hoover> A questionable one, too.
16:35:12 <ais523> in which case, you need to put the result somewhere
16:35:16 <ais523> Phantom_Hoover: it doesn't extend forever
16:35:21 <ais523> but I used it to teach cheater99 monads months ago
16:35:26 <Phantom_Hoover> What about the [], Maybe or Identity monads?
16:35:42 <ais523> now, >>= is like >>, but it lets you specify somewhere to put the result of the computation that the monad wraps
16:36:15 <cheater99> i don't know >> yet
16:36:26 <ais523> oh, >> is literally just connecting two blocks together
16:36:31 <ais523> do you understand do notation?
16:36:40 <ais523> or do you just understand the concept but not any notation?
16:36:51 <cheater99> i don't know the notations
16:36:59 <Phantom_Hoover> cheater99, a >> b = a >>= const b.
16:37:00 <cheater99> i may or may not understand the concepts behind them
16:37:10 <cheater99> i don't know const, i'm a haskell n00b
16:37:24 <Phantom_Hoover> const == K in the SKI calculus.
16:37:29 <cheater99> i've just recently learnt about the state monad, and i'm trying to figure out how that works with the idea you gave me ais523
16:37:37 <ais523> ah, OK
16:37:50 <ais523> let's see... imagine a simple computation which doesn't have a monad at all
16:37:54 <cheater99> yes
16:38:01 <cheater99> it has one input and one output
16:38:04 <ais523> let a = 2 + 2 in a * 3, let's say
16:38:10 <Phantom_Hoover> cheater99, such things are probably a bad idea; the State monad is trivial enough that you can just look at the code itself.
16:38:12 <cheater99> so for example, a box, with a "pin" on the left and a "pin" on the right
16:38:19 <cheater99> like a DIP with just one pin on each side
16:38:20 <ais523> yep
16:38:21 <cheater99> yes?
16:38:22 <cheater99> ok
16:38:30 <ais523> and a monad is a sidechannel representing that
16:38:38 <cheater99> wait
16:38:41 <ais523> *sidechannel alongside that
16:38:45 <cheater99> oh ok
16:38:46 <cheater99> yes
16:38:53 <cheater99> a monad is a wire running above our box
16:38:55 <ais523> yep
16:38:58 <cheater99> our box is not connected to it yet
16:39:00 <ais523> indeed
16:39:06 <cheater99> ------------------
16:39:08 <ais523> nor need it be ever, depending on what we do with the monad
16:39:11 <cheater99> -| |-
16:39:15 <cheater99> yes
16:39:17 <cheater99> ok, now
16:39:22 <cheater99> what does >>= do?
16:39:37 <ais523> so, notationally speaking, we want to connect both the wire representing the monad, and the inputs and outputs of the boxes below
16:39:54 <ais523> so there's more than one thing to connect, and that's where the notation gets a little complex
16:40:12 <ais523> it's easier to start with >> first; that corresponds to ignoring the output pin of the computation itself, and just connecting the monad
16:40:14 <ais523> so if I do a >> b
16:40:16 <ais523> that's the same as
16:40:18 <ais523> ------------------------
16:40:19 <cheater99> ok go on
16:40:32 <ais523> -| a |-o -| b |-
16:40:37 <ais523> where the -o means I didn't connect it to anything
16:40:50 <ais523> connecting the inputs of the boxes a and b is easy enough, as they're just functions and can take arguments
16:40:50 <cheater99> but the monad in your drawing isn't connected
16:40:56 <ais523> the monad is, that line above is continuous
16:41:02 <ais523> but the boxes below aren't connected to each other at all
16:41:10 <cheater99> wait let's use some sort of online whiteboard maybe
16:41:18 <ais523> is there such a thing?
16:41:42 <ais523> suppose I want to give inputs to a and b, still not connecting them to each other at all
16:41:46 <cheater99> you got java?
16:41:46 <ais523> if I do (a 6) >> (b 7)
16:41:48 <ais523> that gives me
16:41:50 <ais523> ---------------------
16:42:02 <ais523> 6-| a |-o 7-| b |-
16:42:11 <ais523> hmm, yes, but not the Oracle version, and it's unreliable sometimes
16:42:21 <ais523> it's probably easier just to do it over IR
16:42:23 <ais523> *IRC
16:43:13 <ais523> so the point is, that although connecting the output of a to the input of b is the "obvious" thing to do, you could actually connect them anywhere
16:43:36 <ais523> so long as you don't try to take them in the opposite direction to the monad (that is, you can't take outputs from blocks that haven't run yet, unless you're writing in TwoDucks or something)
16:44:02 -!- sebbu has quit (Ping timeout: 255 seconds).
16:45:56 <ais523> are you following this so far?
16:46:01 <cheater99> hmm
16:46:18 <cheater99> i need to think about it but i just remembered i have to call someone real quick
16:46:30 <cheater99> i'll let you know when i'm back, ok? shouldn't take a lot of time
16:46:40 <Phantom_Hoover> cheater99, incidentally, do you know how the Maybe monad works? It's the easiest to understand non-trivial one.
16:47:19 <ais523> Phantom_Hoover: no it isn't, State is in this model
16:47:30 <ais523> there are a huge number of different ways to understand monads
16:47:38 <ais523> and different people learn it different ways
16:47:45 <Phantom_Hoover> All of which don't work for at least half of them.
16:47:53 <ais523> there are concepts of monads where IO is simplest, where Maybe is simplest, where State is simplest
16:48:06 <ais523> there are even ways of understanding monads based on starting from the trivial monad
16:48:15 <ais523> (which is, surprisingly, actually useful on occasion)
16:48:28 <Phantom_Hoover> I mean, the category-theoretical version of monads is identical, but the metaphors you'd use are *completely* different.
16:48:46 <Phantom_Hoover> ais523, monad transformers, isn't it?
16:49:00 <Phantom_Hoover> That Identity is useful for?
16:49:13 <ais523> not just that
16:49:25 <ais523> you can use it for tagging values hungarian-notation-style, but more reliably
16:49:37 <ais523> as in, "this needs to be escaped before showing to the user", etc
16:49:48 <ais523> although there are other ways to do that anyway in Haskell
16:50:21 <ais523> also, for encapsulation purposes, to make an opaque handle that can only be passed around, not modified directly, by other parts of the program
16:51:12 <Phantom_Hoover> ais523, using the Identity monad for that seems utterly stupid.
16:51:43 <ais523> perhaps
16:51:44 <Phantom_Hoover> I mean, why not just do data EscapedString = EscapedString String, then give it a Show instance that escapes it?
16:51:51 <ais523> it doesn't really do a lot, though, just tag things
16:51:58 <ais523> also, ouch at making that a Show instance
16:52:12 <Phantom_Hoover> Why?
16:52:12 <ais523> and the reason is, you couldn't do things like, say, concatenate your EscapedStrings together
16:52:22 <ais523> *UnescapedString, I suppose
16:53:48 <ais523> you could do something as simple as liftM reverse to reverse an EscapedString if it were a monad
16:54:03 <ais523> again, *UnescapedString
16:54:18 <ais523> (the idea is that these are identical to ordinary strings, just you have to be careful not to use them in situations you don't want)
16:54:18 <elliott> <ais523> Phantom_Hoover: it doesn't extend forever
16:54:18 <elliott> <ais523> but I used it to teach cheater99 monads months ago
16:54:21 <elliott> ais523: "teach"
16:54:29 <ais523> elliott: well, I think he "got" them
16:54:35 <Phantom_Hoover> ais523, erm... Functor and fmap?
16:54:39 <ais523> even though the metaphor was imperfect
16:54:42 <ais523> Phantom_Hoover: well, monads are sorts of functors
16:55:02 <ais523> in fact, liftM and fmap are IIRC the same function
16:55:09 <Phantom_Hoover> ais523, yes, but why make them monads when they have no monadic properties whatsoever?
16:55:32 <ais523> because they do
16:55:47 <ais523> the monad version would be Tainted String, rather than UnescapedString
16:55:51 <ais523> i.e. it actually takes a type as an argument
16:55:59 <Phantom_Hoover> There's an article on the Haskell wiki which complains about people who use monads when some other category-theory thing would do the job.
16:56:34 <Phantom_Hoover> Also, you *could* just define the relevant functions yourself.
16:56:35 <ais523> hmm, "unescaped" was too specific
16:56:42 <ais523> I meant "untrusted", etc.
16:56:48 <elliott> <Phantom_Hoover> ais523, yes, but why make them monads when they have no monadic properties whatsoever?
16:56:52 <elliott> if they're monads they should have a Monad instance
16:56:56 <elliott> regardless of how useful it may seem
16:56:57 <ais523> i.e. user input that you don't want to put straight into your SQL queries, whether they're strings or not
16:57:24 <ais523> with them as monads, rather than functors, if you convert them from strings to, say, magic numbers for accessing some crazy enterprisey database
16:57:41 <ais523> then they're still inside the same monad, and thus won't be passed to the database without explicitly extracting them from the monad
16:57:53 <Phantom_Hoover> ais523, wait, the point here is that you /don't want a functor/.
16:57:59 <ais523> no, it isn't
16:58:05 <ais523> it's fine to do arbitrary operations on the untrusted data
16:58:08 <ais523> so long as it remains untrusted
16:58:27 <Phantom_Hoover> The original thing here was to escape strings, not have some general interface thing.
16:58:51 <ais523> Phantom_Hoover: I slightly screwed up my original statement, I was being slightly too specific and should have realised you'd take me literally
16:59:08 <Phantom_Hoover> OK.
16:59:34 <Phantom_Hoover> But you were talking about uses of the Identity monad.
16:59:39 <ais523> tep
16:59:43 <ais523> *yep
16:59:50 <ais523> well, the point here is that Untrusted /is/ the Identity monad
17:00:04 <ais523> if you work out what >>=, return, etc. are, they come to the same thing
17:02:32 <elliott> ais523: i saw a post on perlmonks saying perl doesn't need monads because perl already has taint built in
17:02:48 <elliott> (the example being used for monads was "look, you can do taint in it without even any language support!")
17:03:28 <Vorpal> elliott, oh mc updated
17:03:30 <Vorpal> elliott, interesting
17:03:38 <Vorpal> elliott, does it break with the server now?
17:03:40 -!- sebbu has joined.
17:03:43 -!- MigoMipo has quit (Ping timeout: 276 seconds).
17:03:47 <elliott> Vorpal: not updated
17:03:50 <elliott> Vorpal: he just moved some files.
17:04:05 <Vorpal> elliott, oh? so what was that then
17:04:09 <elliott> Vorpal: he just moved some files.
17:04:10 <Vorpal> elliott, as in
17:04:17 <elliott> on the server
17:04:18 <Vorpal> elliott, changing directory structure?
17:04:21 <Vorpal> ah okay
17:04:22 <elliott> yes
17:04:26 <Vorpal> on the server, right
17:04:30 <elliott> not in ~/.minecraft it seems, i checked
17:05:20 <elliott> ais523: so would a scapegoat impl cache the list of toplevel patches?
17:08:36 <cheater99> ais523: hi
17:09:39 <Phantom_Hoover> ais523, out of curiosity, where does join fit into your metaphor?
17:10:41 <cheater99> ais523: hey
17:10:43 <cheater99> ais523: http://skrbl.com/156427695
17:10:46 <elliott> [[Although most filepatches will be hunks, darcs is clever enough to support other types of changes as well. A ``token replace'' patch replaces all instances of a given token with some other version. A token, here, is defined by a regular expression, which must be of the simple [a-z...] type, indicating which characters are allowed in a token, with all other characters acting as delimiters. For example, a C identifier would be a token with the fl
17:10:46 <elliott> ag [A-Za-z_0-9].
17:10:46 <elliott> What makes the token replace patch special is the fact that a token replace can be merged with almost any ordinary hunk, giving exactly what you would want. For example, you might want to change the patch type TokReplace to TokenReplace (if you decided that saving two characters of space was stupid). If you did this using hunks, it would modify every line where TokReplace occurred, and quite likely provoke a conflict with another patch modifying
17:10:48 <elliott> those lines. On the other hand, if you did this using a token replace patch, the only change that it could conflict with would be if someone else had used the token ``TokenReplace'' in their patch rather than TokReplace--and that actually would be a real conflict! ]]
17:10:52 <elliott> ais523: i did not know this ^
17:10:58 <cheater99> ais523: we start out with a simple function, Ax = 2x
17:11:23 <cheater99> ais523: and let's see how >>= works on things
17:11:31 -!- sebbu has quit (Ping timeout: 276 seconds).
17:11:59 <ais523> elliott: I did
17:12:05 <ais523> I've even used it before now
17:12:09 <ais523> cheater99: hmm, OK
17:12:11 <elliott> ais523: problem is, you have to do it manually
17:12:13 <Vorpal> Phantom_Hoover, there?
17:12:15 <ais523> elliott: indeed
17:12:19 <Phantom_Hoover> Indeed.
17:12:21 <Vorpal> Phantom_Hoover, weird track south of your place. where does it go?
17:12:22 <elliott> ais523: which sort of makes the VCS a version ... creation system
17:12:24 <ais523> also, it isn't language-aware, so it replaces inside comments
17:12:36 <elliott> ais523: hmm, not a very useful feature, then
17:12:37 <Phantom_Hoover> Vorpal, Mt. Hoover? Dunno.
17:12:47 <Phantom_Hoover> To the Batmobile!
17:12:48 <Vorpal> elliott, you involved in it? it is above ground
17:12:49 <ais523> it's rather limited, yes
17:12:50 <Vorpal> and FAAR
17:12:54 <ais523> it could be much better
17:13:03 <cheater99> argh, skrbl is broken
17:13:06 <elliott> Vorpal: what kind of track
17:13:08 <ais523> cheater99: well, in Haskell notation, we'd write that a x = 2 * x
17:13:16 <ais523> (capital letters are reserved for type names)
17:13:18 <Vorpal> elliott, minecart
17:13:18 <cheater99> ais523: ok
17:13:21 <elliott> ais523: you didn't click his fancy java whiteboard! he won't talk to you!1111
17:13:28 <elliott> Vorpal: i have no idea. ride it and see
17:13:34 -!- sebbu has joined.
17:13:43 <Vorpal> elliott, it completely lacks boosters, but it is mega-scale
17:13:47 <ais523> so if we want to double a value, and double it again, we could write, say, a (a 5), and get 20
17:13:50 <elliott> Vorpal: walk it then
17:13:56 <Phantom_Hoover> Vorpal, wait for me!
17:14:09 <cheater99> ais523: so we have a x = 2 * x. ok.
17:14:21 <cheater99> now it is represented by a box with one pin on the left and one on the right.
17:14:25 <ais523> yep
17:15:00 <elliott> ais523: hmm, does scapegoat have an easy patch-invert algo?
17:15:04 <cheater99> http://dabbleboard.com/draw?b=Guest527979&i=0&c=9d321a8e4ccd7efbf770e3f5f3517f427b010b35
17:15:10 <cheater99> do you see a box with "a" on it here?
17:15:25 <elliott> ais523: darcs does inverse patches as P^-1 P = nothing, but I think it's easier to do P P^-1 = nothing... I may be wrong though
17:15:47 <elliott> ais523: that dabbleboard thing is flash.
17:15:55 <elliott> to save you opening a browser.
17:18:03 -!- ais523 has quit (Read error: Operation timed out).
17:18:39 <cheater99> well, i hope thatwasn't the whiteboard!
17:19:25 -!- ais523 has joined.
17:19:48 <cheater99> ais523: did the whiteboard hang up your pc? :O
17:19:48 <ais523> sorry, connection dropped
17:19:50 <ais523> where was I?
17:19:57 <ais523> also, you didn't actually link me to the whiteboard thing
17:20:00 <ais523> oh, you did
17:20:01 <cheater99> http://dabbleboard.com/draw?b=Guest527979&i=0&c=9d321a8e4ccd7efbf770e3f5f3517f427b010b35
17:20:05 <elliott> he did, two of them, one JS, the other flash
17:20:06 <cheater99> dabbleboard
17:20:22 <cheater99> will it work for you? it's flash
17:21:15 <ais523> I loaded it in my non-locked-down browser
17:21:39 <cheater99> OK. do you see a box with an "a" on the drawing??
17:21:50 <ais523> no
17:21:57 <ais523> so I guess it isn't working
17:22:12 <ais523> it loaded, but doesn't seem to have anything to do with what you're doing
17:22:15 <elliott> i wish i had that kind of dedication to explaining things to trolls
17:22:18 <elliott> although i'm not sure why
17:22:20 <ais523> as in, seems to be independent between me and you
17:22:26 <ais523> elliott: I'm a teacher, remember? it's good practice
17:22:32 -!- MigoMipo has joined.
17:22:44 <elliott> ais523: well, most students aren't outright trying to waste your time ... ok maybe they are
17:23:01 <cheater99> ais523: ok, let's abandon the whiteboard concept. i'll try to find something for next time. let's continue describing on irc :)
17:23:04 <ais523> elliott: well, it isn't their fault
17:23:17 <ais523> [17:13] <cheater99> ais523: so we have a x = 2 * x. ok.
17:23:18 <ais523> [17:13] <cheater99> now it is represented by a box with one pin on the left and one on the right.
17:23:19 <ais523> [17:13] <ais523> yep
17:23:21 <ais523> [17:14] <ais523> if we want to connect two of them together, we can do something like "let b = (a x) in (a b)"
17:23:22 <ais523> [17:14] <ais523> i.e. we've given a name to the result, and we can use the name later on
17:23:33 <ais523> I think that's where we'd got to
17:23:36 <cheater99> ok
17:24:11 <ais523> so, that's how it works with monads involved
17:24:18 <ais523> now, let's wrap that one into a monad
17:24:22 <elliott> monads are like burritos
17:24:22 <cheater99> ok
17:24:28 <elliott> http://blog.plover.com/prog/burritos.html
17:24:34 <ais523> if I write (liftM a), that's our a function, except now it's inside a monad (and doesn't interact with it)
17:24:35 <elliott> it's the only acceptable way to explain them
17:24:46 <ais523> that's the case of the sidechannel being independent of the function itself
17:24:51 <cheater99> ais523: ok
17:24:59 <ais523> (because it's Haskell and amazing at figuring out types, we don't have to say /which/ monad)
17:25:00 <cheater99> ais523: how does liftM know which monad i want?
17:25:23 <elliott> amazing like bread
17:25:24 <ais523> (but we could, as in ((liftM a) :: Int -> State Int Int))
17:25:43 <ais523> cheater99: basically, if there's only one that works from context, it uses that one
17:25:47 <ais523> and normally, there is
17:25:47 <elliott> ais523: i am unconvinced your analogy has pedagogical value... although no monad analogy does
17:26:02 <elliott> usually they just convey a sense of giving knowledge IMO
17:26:19 <ais523> elliott: you can tell when it's worked when the other person starts disagreeing with you
17:26:25 <ais523> because it shows they've slipped into a different analogy from you
17:26:31 <ais523> everyone has their own mental model of things like monads
17:26:33 <cheater99> ais523: ok, so from context
17:26:36 <ais523> yep
17:26:37 <elliott> ais523: monads are like mirrored piles of dung
17:26:39 <elliott> ais523: don't you agree?
17:26:47 <ais523> elliott: now /you're/ trolling
17:26:57 <elliott> ais523: but if you don't agree, that's proof that it worked!
17:27:25 <ais523> so, what I did before, was to give a name to the return value of a x, so that I could pass it to another function
17:27:30 <cheater99> ais523: ok, so liftM just takes a function and gives it monadic type, without the function interacting with the monad in any way
17:27:34 <ais523> (Haskell lets you abbreviate that a lot, but I won't because it's clearer without)
17:27:39 <ais523> cheater99: yep, it wraps the function up in a monad
17:27:42 <cheater99> ok
17:27:55 <cheater99> what do you mean "give a name to the return value of a"?
17:28:08 <elliott> ais523: btw, 09:25:24 <ais523> (but we could, as in ((liftM a) :: Int -> State Int Int))
17:28:10 <ais523> cheater99: well, if we wanted to use it more than once, for instance
17:28:10 <elliott> ais523: is not valid
17:28:10 <cheater99> *by
17:28:12 <elliott> in the slightest
17:28:16 <ais523> elliott: did I typo slightly?
17:28:16 <elliott> liftM :: (Monad m) => (a1 -> r) -> m a1 -> m r
17:28:24 <ais523> oh, right
17:28:34 <elliott> it'd be State Int Int -> ...
17:28:36 <ais523> it should be State Int Int -> State Int Int
17:28:44 <ais523> I did mean liftM, I just braintypoed for a moment
17:30:00 <ais523> cheater99: anyway, it's sort-of like assigning to a variable, except that it's a functional-style variable (lambda binding) which just gets its value once and then keeps it until it goes out of scope, rather than an imperative-style variable whose value you can change
17:30:32 <elliott> ais523: an immutariable :)
17:31:09 <ais523> that's probably a better name than the usual "lambda binding"
17:31:23 <cheater99> ais523: i'm lost
17:31:32 <elliott> ais523: "constant" would be right but unfortunately has incorrect connotations
17:31:34 <cheater99> how is liftM a "like assigning to a variable"?
17:32:18 <cheater99> and besides
17:32:20 <ais523> cheater99: oh, it isn't liftM I was talking about
17:32:28 <cheater99> oh, what were you talking about?
17:32:35 <ais523> it's the "let b = (a x) in (a b)" example, because I thought you asked me about it
17:32:43 <ais523> <cheater99> what do you mean "give a name to the return value of a"?
17:32:50 <ais523> and I mean, I named it b so I could use it later on
17:33:34 <ais523> one of the issues with IRC is that you get used to having multiple conversations at once, even with the same person
17:33:39 <cheater99> ok ok
17:33:40 <cheater99> so
17:33:49 <cheater99> we want to connect two a's together and call them b. ok.
17:34:09 <cheater99> wait no
17:34:20 <cheater99> we want to connect two a's together and call one of them b for some unknown reason
17:34:32 <ais523> we want to connect them together
17:34:34 <cheater99> oh, it's so that we get x
17:34:36 <ais523> we call the point where we connect them b
17:34:40 <cheater99> let b = (a x) in (a b), alright.
17:34:48 <ais523> so here, the first one takes input x, and output b
17:35:02 <cheater99> so (a b) == 2 * 2 * x
17:35:04 <ais523> and the second one takes input b, and its output is the output of the expression as a whole
17:35:07 <ais523> yep
17:35:09 <cheater99> ok
17:35:17 <cheater99> "the second one" is (a .)
17:35:18 <cheater99> yes?
17:35:26 <cheater99> where . is a "place for a variable"
17:35:28 <ais523> yes
17:35:29 <cheater99> ok
17:35:32 <cheater99> let's keep going
17:35:39 <cheater99> our aim is to understand >> or >>=
17:35:41 <ais523> yep
17:36:00 <ais523> so, let's say we want to connect two (liftM a)s together, and also connect their sidechannels together
17:36:15 <elliott> "our" aim?
17:36:16 <elliott> hmmmmmmm.
17:36:22 <ais523> >> and >>= are what we use to do the connection
17:36:48 <ais523> so now, x is an integer with state as a sidechannel
17:37:44 <ais523> if I feed it to one (liftM a), as in (liftM a) x, there isn't much of a problem
17:37:56 <ais523> suppose I want to connect it to both the liftM as, and they have connected sidechannels
17:38:05 <ais523> I need to connect the sidechannel, and connect the output as well
17:38:20 <ais523> so I do (liftM a) >>= (\b. liftM a b)
17:38:25 <cheater99> mhm
17:38:30 <cheater99> just a sec
17:38:32 <ais523> so, the >>= is doing two things
17:38:39 <elliott> ais523: *\b ->
17:38:43 <ais523> oh, right
17:38:48 <ais523> *so I do (liftM a) >>= (\b -> liftM a b)
17:39:01 <ais523> elliott: Haskell busy using a different notation from maths, it caught me out
17:39:17 <cheater99> so is ( (liftM a) >>= (\b. liftM a b)) 2 == 8?
17:39:23 <elliott> ais523: (\x.e) isn't very common maths :P
17:39:26 <ais523> no, because 2 doesn't have a sidechannel
17:39:27 <cheater99> or is it "8 with some monad stuff wrapped around it"?
17:39:30 <ais523> elliott: it is for me
17:39:31 <elliott> or even CS, really
17:39:39 <ais523> if you gave it a 2 with state, it'd give you an 8 with the same state
17:40:50 <Vorpal> Phantom_Hoover, down?
17:40:55 <ais523> because liftM-produced monad actions aren't interfering with the sidechannel at all
17:40:59 <ais523> which is why it has to be the same state
17:42:11 <ais523> \lambda q. (\lambda g. g (\lambda x. g (q x))) (\lambda b. (\lambda k. ((k (\lambda u. u)) (\lambda l. ((k b) (\lambda t. (l (t\ \mathsf{skip}))))))) (\lambda v.\lambda w. w v))
17:42:14 <Phantom_Hoover> ais523, how does join fit in here?
17:42:21 <ais523> elliott: that's an actual quote from my most recent paper
17:42:34 <ais523> also, probably the esoprogrammingiest bit of it
17:42:35 -!- tehjamezZzZz has changed nick to tehjamez.
17:42:36 <elliott> ais523: can i read that paper? :p
17:42:48 <ais523> um, I'm not sure, let me check if it's online somewhere
17:42:49 <nooga> yeah!
17:42:52 <nooga> lambda ftw
17:42:52 <elliott> or is it paywalled and copyright-stolen (alternatively, if you just don't like me)
17:43:15 <elliott> (copyright-stolen, n. a nonce neologism for what journals do to the copyright ownership of papers.)
17:43:26 <elliott> admittedly, a pretty rubbish neologism
17:44:09 <Phantom_Hoover> elliott, *a., surely?
17:44:19 <elliott> Phantom_Hoover: erm, yes
17:44:47 <ais523> elliott: I don't think it's been published yet
17:44:56 <ais523> here's the one before it: http://www.sciencedirect.com/science?_ob=MImg&_imagekey=B75H1-50XT4JJ-M-1&_cdi=13109&_user=122868&_pii=S1571066110000976&_origin=search&_coverDate=09%2F06%2F2010&_sk=997349999&view=c&wchp=dGLzVtz-zSkWA&md5=29034da8cccf0c1f639f8277873c9ad1&ie=/sdarticle.pdf
17:45:13 <ais523> (in other news, online journal places have stupid URLs)
17:45:26 <elliott> ais523: paywall
17:45:27 <elliott> $19.95.
17:45:30 <ais523> ouch
17:45:42 <ais523> doesn't paywall for me, presumably because I'm inside the University, rather than because I wrote it
17:45:47 <ais523> the DOI is http://dx.doi.org/10.1016/j.entcs.2010.08.018
17:46:18 <ais523> oh, but it links back to the same place
17:46:20 <ais523> ouch
17:46:39 <ais523> elliott: $20 per read seems a little excessive for that sort of thing :)
17:47:39 <Phantom_Hoover> ais523, does your scrupulous adherence to the law prevent you from letting us see it?
17:47:43 <ais523> I'm not sure
17:47:53 <ais523> I'm a little confused, because I never knowingly signed copyright over to them myself
17:47:55 <nooga> it does not probably
17:48:05 <ais523> but I think it comes under the writing things for your employer category
17:48:11 <elliott> ais523: what most people do, that I know of,
17:48:19 <elliott> ais523: is publish the final-but-one draft before submitting it
17:48:25 <elliott> online
17:48:35 <elliott> I think that's "more legal"
17:48:43 <elliott> since you're not publishing what they're publishing
17:48:50 <elliott> you're publishing a clearly inferior draft version, with three words different
17:49:13 <ais523> aha: http://www.cs.bham.ac.uk/~drg/papers/mfps10.pdf
17:49:20 <elliott> ais523: SO HEY SCIENCE IS FREE RIGHT
17:49:25 <elliott> ais523: OPEN ACCESS, WORLD'S KNOWLEDGE FOR EVERYONE
17:49:31 <elliott> PAY $19.95 TO READ MORE
17:49:35 <ais523> 'tis indeed different, it's missing the logo
17:49:45 <elliott> ais523: oh man, without the logo why should i even bother reading it
17:49:46 <ais523> and not, AFAICT, paywalled
17:49:54 <elliott> indeed it's not
17:50:10 <elliott> ais523: permission to upload that to filebin.ca for backup?
17:50:19 <ais523> it'll be there forever
17:50:20 <elliott> on the off-hand chance that you own the copyrights to that draft
17:50:24 <elliott> ais523: fair enough
17:50:27 <cheater99> ais523: ok
17:50:31 <cheater99> ais523: reading
17:50:36 <ais523> also, filebin.ca doesn't last forever
17:50:40 <ais523> I know this from experience
17:50:47 <elliott> This paper is electronically published in
17:50:47 <elliott> Electronic Notes in Theoretical Computer Science
17:50:47 <elliott> URL: www.elsevier.nl/locate/entcs
17:50:49 <elliott> guess what that URL is?
17:50:51 <elliott> answer: 404'd
17:51:13 <nooga> i like this typographic awesomness of science papers... made by LaTeX
17:51:23 <elliott> This “functionalised” syntax can be represented in a more conventional way. For
17:51:23 <elliott> example, a program such as bool x; if (y) x=z and t else x=z or t can be
17:51:23 <elliott> written using the functionalised syntax as:
17:51:23 <elliott> newvar(λx.if y (asg((and(der z)(der t)), x))(asg((or((der z), (der t))), x))).
17:51:25 <elliott> but obviously!
17:51:35 <elliott> nooga: um you realise latex is ubiquitous?
17:51:38 <ais523> elliott: we're saying that the functionalised syntax is more convenient for our purposes
17:51:42 <ais523> even though it's harder to read
17:51:48 <elliott> ais523: i'm just kidding :)
17:51:52 <cheater99> ais523: ok, so...
17:51:56 <elliott> ais523: nice that the references are hyperlinked
17:51:58 <elliott> don't see that much
17:52:15 <cheater99> ais523: we have LiftM a's connected with >>=. What does >> do?
17:52:25 <ais523> what >> does is, it doesn't connect the output at all
17:52:35 <ais523> this is mostly only useful if there isn't one in the first place
17:52:50 <ais523> say, if you're not connecting liftM a, but, say, something that changes the state
17:53:01 <ais523> which would change the sidechannel, but not produce output of its own
17:53:09 <elliott> ais523: darcs pet peeve: Shall I record this change? (1/2) [ynWsfvplxdaqjk], or ? for help:
17:53:16 <ais523> elliott: I like it
17:53:21 <elliott> ais523: nonono, not the UI
17:53:22 <ais523> and you know you can use -a, right?
17:53:30 <elliott> ais523: the "[ynWsfvplxdaqjk]"
17:53:35 <ais523> oh, the summary of what keys you can press?
17:53:39 <elliott> ais523: really, it could at least list the commands in separate blocks according to what they do (respond to the question, navigate, etc.)
17:53:43 <elliott> or just have fewer keys :)
17:53:49 <nooga> elliott: sure, even I use LaTeX
17:53:54 <elliott> the [] is basically useless, if you forget how it works you need to use ? anyway
17:54:01 <elliott> ais523: it's a pet peeve, it doesn't have to matter :)
17:54:34 <ais523> cheater99: the other thing to mention is that there's a different notation you can use which does the same thing, just you don't have to write out all the >>=s and lambads
17:54:49 <nooga> ais523: gotta admint, it's interesting
17:55:00 <ais523> it looks like this: {do b <- a x; a b}
17:55:05 <elliott> ais523: wrong
17:55:10 <elliott> do { b <- a x; a b }
17:55:11 <ais523> I've messed it up again, haven't I
17:55:21 <ais523> oh, almost write this time
17:55:22 <ais523> *right
17:55:27 <ais523> you can tell I haven't used Haskell for a while :)
17:55:39 <ais523> Haskell and ML are two languages that I find it hard to think about simultaneously
17:56:20 <elliott> ais523: hmm, doing the scapegoat first draft in haskell may be a bad idea from you-reading-it POV :)
17:56:22 <elliott> *from a y
17:56:24 <elliott> -ou-etc.
17:56:37 <ais523> elliott: nah, I've done my little OCaml sideproject
17:56:42 <ais523> and can go back to thinking in monads again
17:57:16 <cheater99> ais523: so if i did (LiftM a >> LiftM a) x, where x is two-with-a-state, what would i get?
17:57:20 <cheater99> would i get anything at all?
17:57:27 <cheater99> can LiftMa be >>'d with itself?
17:57:44 <ais523> it's liftM with a lowercase l; and I think you'd just get an error
17:57:56 <nooga> the proof is .... interesting
17:57:58 <ais523> because you haven't given LiftM a an argument
17:58:12 <ais523> (at least, not giving a function an argument doesn't normally cause an error in Haskell, just a partial application)
17:58:24 <ais523> (but I think it'd make them not connect due to being of the wrong types)
17:58:37 <nooga> MONAD... now you're thinking with monads
17:59:14 <ais523> nooga: the long proof at the end, in an appendix?
17:59:19 <ais523> that bit was mostly me, most of the rest was mostly Dan
17:59:35 <Phantom_Hoover> !haskell :t liftM
17:59:37 <nooga> ais523: yes, that one
17:59:38 <cheater99> sorry yes, lowercase l
17:59:39 <ais523> it was a really annoying proof, it's something like 1000 simple cases
17:59:47 <ais523> and a few that require more thought
17:59:51 <nooga> it's a bit hard to read
17:59:55 <elliott> ais523: do it in COQ!!1112
18:00:09 <ais523> nooga: indeed
18:00:14 <Phantom_Hoover> DON'T MAKE ME THINK ABOUT COQ
18:00:19 -!- atrapado has quit (Quit: Abandonando).
18:00:43 <Phantom_Hoover> liftM :: (Monad m) => (a1 -> r) -> m a1 -> m r
18:00:49 <cheater99> thanks ais523, it was very useful
18:00:54 <cheater99> i can visualize this more now
18:00:58 <elliott> ais523: ugh, did you write this latex?
18:01:27 <Phantom_Hoover> ais523, are my continued exhortations for you to explain how join fits into this growing obnoxious?
18:01:42 <cheater99> ais523: i think electronics are a very good parallel for functional programming
18:01:49 <ais523> elliott: no, I wrote it in LaTeX, but the whole thing was retyped
18:01:59 <ais523> so it isn't my LaTeX you're seeing there
18:02:05 <ais523> Phantom_Hoover: I can't remember what join does
18:02:06 <cheater99> since electronics circuits are (in theory) pretty much like functional language programs
18:02:13 <ais523> but I suspect it doens't fit the analogy too well
18:02:14 <elliott> ais523: ah... because there's "FORK; XOR" in math mode; the problem is, latex is seeing that as F*O*R*K;X*O*R, so the spacing is horrid
18:02:18 <Phantom_Hoover> ais523, join = (>>= id)
18:02:20 <cheater99> there are no side effects, for example, and no state unless you introduce it
18:02:27 <elliott> ais523: and \mathnormal{FORK} or however you do proper text italics in math mode (I forget) should have been used
18:02:30 <ais523> cheater99: in practice too, that's what my papers are about
18:02:48 <Phantom_Hoover> At which the analogy seems to break down since id doesn't map nicely to a box.
18:02:50 <ais523> elliott: oh right, Dan's awful wrt text in math mode
18:03:06 <elliott> ais523: stab him a bit for me, if you please
18:03:07 <nooga> now write a compiler
18:03:10 <ais523> I've known him to set \mathsf{} for an entire expression, just to write a few words in sans-serif
18:03:17 <ais523> nooga: that's likely my PhD project
18:03:31 <nooga> awesome!
18:03:42 <cheater99> ais523: well, in practice, you have problems such as ground plane interaction, capacitive coupling, ...
18:03:53 <elliott> ais523: psht, no, clearly Feather is
18:03:57 <ais523> cheater99: umm, I'm a qualified electronic engineer?
18:04:00 <cheater99> but with careful analog design those are bypassed
18:04:11 <tehjamez> everyimre you say anaology i get a notofication
18:04:13 <ais523> but we're just compiling onto FPGAs
18:04:15 <tehjamez> because anal is a hottoipic word for me
18:04:18 <elliott> tehjamez: analogy analogy analogy
18:04:23 <tehjamez> ;)
18:04:31 <ais523> tehjamez: why don't you filter it to whole words, rather than anywhere in a word?
18:04:34 <cheater99> ais523: that's fine, i'm just pointing out that you're thinking of fpgas whereas i'm thinking of linear electronic circuits in general
18:04:35 <elliott> methinks tehjamez has no idea where he is
18:04:38 <tehjamez> because
18:04:44 <tehjamez> what if someone says anal with a ? at the end
18:04:45 <ais523> otherwise, you'll find it quite banal when people talk about analysis
18:04:52 <ais523> tehjamez: ? is nonalphabetic
18:04:53 <elliott> ais523: damn you, i was pulling out analysis
18:04:58 <ais523> elliott: take that back!
18:04:59 <tehjamez> oh its quite enjoyanalable
18:05:08 <elliott> ais523: um... uoy nmad
18:05:13 <elliott> ais523: oh fine, i take it back
18:05:16 <Phantom_Hoover> ais523, *nanalphabetic
18:05:17 <elliott> furrfu
18:05:28 <ais523> tehjamez: you could use \banal\b if you're using Perl-style regular expressions for stalkwords
18:05:35 <tehjamez> hahahah
18:05:37 <elliott> ais523: but that's banal
18:05:43 <tehjamez> rofl
18:05:58 <cheater99> nonanalphabetic: made out of nine letters.
18:06:07 <elliott> I think we might see a banal publication in the correctly-spelled version of "Anals of Mathematics", analysing the most common analogies.
18:06:17 <ais523> elliott: *Annals?
18:06:22 <tehjamez> this is gettign hot
18:06:22 <ais523> the joke doesn't work if you misspell a word
18:06:23 * Phantom_Hoover facepalms
18:06:29 <elliott> ais523: no, the correctly-spelled version of Anals of Mathematics is Annals of Mathematics
18:06:36 <elliott> that's why it's quoted, and corrected in the sentence
18:06:43 <ais523> ah
18:06:58 <tehjamez> It's better to say annal with one n anyways
18:07:01 <cheater99> ais523: hey, i have a question about verilog
18:07:05 <cheater99> ais523: do you use verilog at all?
18:07:10 <cheater99> and can you recommend learning it?
18:07:18 <ais523> I grew up on VHDL, rather than Verilog, but know a bit of Verilog
18:07:20 <cheater99> i want to learn *something* for fpgas but not sure if verilog is the best
18:07:21 <ais523> it depends on what you want to do
18:07:29 <ais523> Verilog and VHDL are basically the same language with different syntax
18:07:31 <cheater99> well, i want to start with something simple
18:07:39 <cheater99> like, say, a few fifo's chained
18:07:45 <cheater99> with async clock
18:07:57 <cheater99> i.e. a different clock for incoming and a different for reading out
18:08:00 <ais523> they suffer from the Brainfuck issue in a way, they're not only simple, but perhaps a little too simple to accomplish anything useful without lots of code
18:08:14 <cheater99> ais523: are they functional languages?
18:08:20 <ais523> no, they're behavioural
18:08:25 <cheater99> what does that mean?
18:08:29 <ais523> hmm, let's see
18:08:42 <ais523> the main primitive in the langs in question is connecting wires
18:08:52 <elliott> ais523: it's interesting watching the patterns of one side of this conversation, as my IRC client is arranging for me :P
18:09:03 <ais523> e.g. in VHDL syntax, a <= b means that b (an output) is connected to a (an input)
18:09:21 <ais523> and pretty much all you do in the lang are connect components together by connecting their pins
18:09:30 <elliott> ais523: whereas b => a is greater-than-or-equal-to, naturally!
18:09:43 <ais523> no, it actually means something completely different, and I can't remember what offhand
18:09:48 <elliott> ais523: well it /should/ be taht.
18:09:49 <ais523> greater-than-or-equal-to is >=
18:09:50 <elliott> *that.
18:09:54 <ais523> elliott: it's unrelated to <=, anyway
18:10:07 <elliott> greater-than-or-equal-to is unrelated to connecting wires! :P
18:10:24 <ais523> (actually, greater-or-equal is probably something slightly different)
18:10:38 <ais523> anyway, the language doesn't have statements, like some other langs do
18:10:44 <ais523> it's just a whole load of "when a changes, b changes"
18:10:49 <ais523> umm, "when b changes, a changes"
18:10:54 <ais523> so, e.g. if you do a <= b + 5
18:11:02 <ais523> then whenever b changes, a changes to the new value of b, plus 5
18:11:12 <ais523> also, the change is very slightly delayed
18:11:31 <elliott> ais523: what i'd like to see
18:11:39 <elliott> is a semi-functional language based on "signals"
18:11:43 <elliott> sort of like VHDL but with parameters
18:11:43 <elliott> e.g.
18:11:47 <elliott> a(n+5) <= b(n)
18:11:51 <elliott> then if you had a print function you could do
18:11:52 <ais523> the langs also let you do things like "when the clock has a positive edge, b changes to a"
18:11:55 <elliott> print(n) <= a(n)
18:12:08 <ais523> and, that's pretty much all you can do if you want it to synthesize into hardware
18:12:09 <elliott> or e.g.
18:12:15 <elliott> print("a =", n) <= a(n)
18:12:33 <ais523> if you're just simulating, you can do more things, like use imperative-style variables, and even print messages (thus a VHDL hello world is both possible and incredibly misleading)
18:12:46 <Phantom_Hoover> elliott, Prologgy!
18:12:52 <elliott> Phantom_Hoover: similar, but not quite
18:13:09 <ais523> cheater99: got that? that's basically all VHDL and Verilog are, and yet they're what people /actually use/ to program FPGAs
18:13:14 <elliott> except,
18:13:17 <elliott> a(n+5) <= b(n)
18:13:21 <elliott> would actually be
18:13:29 <elliott> a(m) <= b(n), add(n, 5, m)
18:13:35 <tehjamez> 420?
18:13:44 <elliott> where add is a "virtual" signal that continuously emits every combination of A+B = C
18:13:48 <elliott> valid combination, that is
18:13:55 <ais523> elliott: this sounds quite a bit like Proud now
18:13:59 <elliott> tehjamez: if you don't know what esoteric programming languages are, go away
18:14:06 <elliott> ais523: this is computable, though (add only does that in theory)
18:14:24 <ais523> except it was uncomputable due to doing things like quantifying over all functions
18:14:33 <elliott> factorial_result(0) <= factorial_of(0)
18:14:47 <elliott> er, wait
18:14:59 <elliott> factorial(0, 1) <= tick
18:15:22 <elliott> factorial(n, r) <= sub(m, 1, m'), factorial(m', r'), times(n, r', r)
18:15:38 <elliott> tick could theoretically just tick at N Hz
18:15:43 <cheater99> back
18:15:46 <elliott> but in an actual implementation, you'd probably simulate it ticking at infinity Hz
18:15:57 <elliott> i.e. everything depending on tick executes immediately
18:16:01 <elliott> or rather, you'd treat it as constant
18:16:15 <elliott> "factorial(0, 1) <= tick" would just add a permanent entry into a table saying "yup, factorial(0, 1) is being emitted"
18:16:38 <elliott> ais523: it's basically Prolog for events :)
18:16:49 <elliott> you could even implement add, e.g.
18:16:55 <elliott> add(n, 0, n) <= tick
18:17:41 <elliott> add(n, m, r) <= add(m', 1, m), add(n, m', r'), succ(r', r)
18:17:55 <elliott> succ would have to be built-in, though (assuming numbers are primitive)
18:17:55 <cheater99> ais523: ever used altera?
18:18:03 <cheater99> ais523: what fpgas DO you use?
18:18:22 <ais523> <ais523> Assume for contradiction that there is an interaction v·w·m in exactly one of the sets [[M_2]](*) • [[M_1]](*) and K_2 • K_1 (with v and w interactions, and m a move), all moves in w are in θ', the last move in v is in θ, v is in both [[M_2]](*) • [[M_1]](*) and K_2 • K_1, and at least one of the following statements is true: m is not in θ, m is a P-move in M_1, or the last move in v is an O-move in M_1 and v·w·m is not a subse
18:18:24 <elliott> ais523: name some non-altera, non-xilinx brand
18:18:29 <elliott> ais523: oh wait, there aren't any
18:18:30 <ais523> elliott: I'm not sure if there /are/ any
18:18:33 <elliott> :D
18:18:55 <ais523> cheater99: let's say, I spent weeks trying to get the Xilinx boards to work, and couldn't
18:19:07 <ais523> so my supervisor gave the FPGA job to someone else
18:19:17 <ais523> I haven't been involved since, but I notice there's an Altera board sitting on the desk now
18:19:33 <elliott> do_print(n) <= some_signal(n)
18:19:40 <cheater99> ais523: ouch :(
18:19:44 <cheater99> ais523: that's not good!
18:19:48 <elliott> ^ you could imagine that the platonically perfect runtime system would have a rule
18:19:53 <elliott> has_been_printed(n) <= do_print(n)
18:19:54 <cheater99> ais523: i hope you will get back on top of it
18:20:00 <ais523> cheater99: oh, no
18:20:02 <ais523> it made sense to move it
18:20:04 <elliott> and every program that /read/ things just set up a signal on that, etc.
18:20:10 <cheater99> ais523: so what are you doing now?
18:20:15 <ais523> doing research >>> struggling with an FPGA board with incomplete and misleading documentation
18:20:16 <elliott> so this is "functional", arguably; at least, as functional as the language's actual mechanism
18:20:20 <ais523> cheater99: writing papers, rather than struggling with hardware
18:20:37 <fizzie> I think I saw a FPGA ad in one of the magazines at the coffee room, and I don't think it was either one of those. (Though it could have been Xilinx. It was something PowerPC-based.)
18:20:42 <elliott> ais523 man, why don't you want to enjoy the INNER LOVELINESS of working with fpgas
18:20:49 <elliott> i hope you can get back to fighting the IDEs!!!
18:20:55 <ais523> elliott: because FPGA companies know they have no competitors
18:21:04 <ais523> at least, that's the impression I get
18:21:09 <elliott> ais523: I'm joking
18:21:24 <elliott> ais523: (wrt cheater's response to the job being reassigned)
18:21:35 <ais523> it made sense, really
18:21:44 <ais523> better to put me somewhere where I can do something useful, than somewhere where I can't
18:22:30 <ais523> (I was reaching the point of writing a bunch of programs just to pulse individual pins on the FPGA from the software's point of view, then getting an oscilloscope onto the FPGA board, all because, amazingly, Xilinx didn't even have a pinout for the evaluation board available)
18:22:33 <elliott> ais523: agreed, thus the joke
18:22:38 <elliott> admittedly a poor one
18:23:40 <ais523> (instead, they had a big complex IDE-like program that was basically an FPGA setup wizard, which was huge and monolithic and did all sorts of crazy things, like embedding a processor onto the FPGA and forcing you to communicate via it if you wanted to do any I/O over an unnecessarily complex custom protocol)
18:23:51 <elliott> heh
18:24:05 <ais523> I seriously doubt it's possible to write a portable FPGA program
18:24:09 <elliott> fizzie: so where's our mcmap
18:24:18 <ais523> if you want to interact with hardware, rather than just toggle pins on and off
18:25:04 <ais523> elliott: heh, I just saw the copyright notice at the bottom of Dan's website: "Copyright notice: This work is Copyrighted, and anybody caught usin' it without our permission, will be mighty good friends of ourn, cause we don't give a dern. We wrote it, that's all we wanted to do. (Woody Guthrie)"
18:25:20 <elliott> heh
18:31:47 <cheater99> hmm
18:32:02 * cheater99 is munching on some really good panettone
18:32:07 <cheater99> or is it pannetone?
18:32:18 <cheater99> there should be a language based on the concept of panettone.
18:32:48 <ais523> elliott: I also notice it's legally equivalent to all-rights-reserved, which is hilarious
18:32:52 <elliott> ais523: did you answer my sg implementation question? I forget
18:33:03 <elliott> also, wow, you're right
18:33:08 <elliott> except, suing someone isn't very friendly
18:33:15 <elliott> so i imagine it's slightly permissive in practice
18:33:46 <Deewiant> cheater99: panettone
18:33:56 <cheater99> :)
18:34:00 <ais523> elliott: I forget what the question was
18:34:03 <ais523> you may as well ask again
18:34:03 <elliott> Deewiant: pantone
18:34:14 <elliott> ais523: would an sg implementation cache a list of top-level patches?
18:34:14 <Deewiant> elliott: No
18:34:19 <elliott> Deewiant: tanpone
18:34:28 <Deewiant> elliott: No
18:34:45 <ais523> elliott: I think so, it seems like the most efficient way to get things done
18:34:46 <elliott> Deewiant: mascarpone
18:34:51 <elliott> ais523: how would it maintain this list?
18:34:54 <ais523> if there aren't too many, it might make sense even to cache their intersections
18:35:06 <Deewiant> elliott: No
18:35:13 <cheater99> panacotta
18:35:16 <cheater99> mmm...
18:35:37 <ais523> and I'd imagine in a subdir of +scapegoat; you'd delete them from the cache if they turned out to be depended upon by other apparently top-level patches
18:35:47 <ais523> but the great thing is, that lets you copy one subdir over another and it just works
18:36:16 <ais523> thus preserving the ehird VCS property
18:36:28 <elliott> ais523: I mean, how would it know when to add or remove from the cache?
18:36:32 <elliott> and how would it generate the cache the first time?
18:37:07 <elliott> also, I'd likely maintain caches as e.g. cache/<hash-of-contents>-toplevels, and then if there's two toplevel caches, sg discards them both and regenerates them
18:37:15 <ais523> whenever you add a patch to the DB, you also add it to the cache
18:37:21 <elliott> or something of that sort
18:37:28 <ais523> whenever you add something that depends on a patch in the cache to the DB, you delete the patch it depends on from the cache
18:37:28 <elliott> ais523: that's all patches, then, isn't it? unless you remove them often
18:37:30 <elliott> right
18:37:45 <elliott> ais523: depends on == references a part of, right?
18:37:51 <ais523> yep
18:38:19 <ais523> the cache doesn't need to hold the patches themselves, incidentally, just the list
18:38:27 <ais523> together with things like the most recent common ancestor of given pairs
18:38:27 <elliott> ais523: the hashes
18:38:30 <elliott> surely
18:38:38 <ais523> yes, it holds their names
18:38:44 <elliott> ais523: hmm, most common ancestor doesn't sound that hard
18:38:45 <ais523> and some precalculated data
18:38:47 <elliott> to do on-the-fly, I mean
18:38:57 <elliott> ais523: especially lazily
18:38:59 <ais523> it probably isn't
18:39:23 <elliott> ais523: get lists of all dependencies of P1 and P2, which is a simple tree-walk, really; then just iterate through both until you find a common one
18:39:39 <elliott> unless the most recent common ancestor is thousands of revisions back, it'll be instant
18:39:48 <elliott> get lists being lazy there, that is
18:39:52 <elliott> so that you only read what you need to
18:39:58 <elliott> (an argument for impure lazy computation...)
18:40:29 <ais523> ML does impure + lazy quite well, basically using closures that need a dummy argument to force them
18:40:40 <ais523> let a = 1 + 2 calculates it now
18:40:48 <elliott> ais523: indeed; scheme has basically the same thing
18:40:50 <ais523> let a () = 1 + 2 calculates it each time you write a()
18:40:57 <elliott> with DELAY and FORCE
18:41:07 <elliott> (force (delay (+ 2 2))) => 4
18:41:34 <elliott> ais523: hmm, scapegoat prototype 1 should load the whole repository into memory, I think
18:41:35 <ais523> Underlambda does that too
18:41:41 <ais523> seems reasonable
18:41:43 <elliott> to avoid having to do lazy IO, which would be an unreliable pain in Haskell
18:42:01 <ais523> on small projects, it might even be efficient and reliable
18:43:00 <ais523> <ais523> Assume for contradiction that there is an interaction v·w·m in exactly one of the sets [[M_2]](*) • [[M_1]](*) and K_2 • K_1 (with v and w interactions, and m a move), all moves in w are in θ', the last move in v is in θ, v is in both [[M_2]](*) • [[M_1]](*) and K_2 • K_1, and at least one of the following statements is true: m is not in θ, m is a P-move in M_1, or the last move in v is an O-move in M_1 and v·w·m is not a
18:43:01 <elliott> ais523: we should probably take the Varnish route in an actual implementation
18:43:01 <ais523> subset of K_2 • K_1. <-- my favourite part of that proof
18:43:06 <elliott> ais523: just mmap the repository
18:43:10 <ais523> heh
18:43:21 <ais523> that sentence took me hours to figure out
18:43:29 <ais523> because it's just a list of apparently arbitrary assumptions
18:43:47 <elliott> ais523: that way, we can allocate repositories as big as we want (with a careless enough OS, which is Linux by default and I think BSDs), access them as ordinary memory, and still do things efficiently otherwise
18:43:54 <ais523> then I spend half a page proving that they contradict each other
18:43:59 <elliott> (I've been won over by the Most Stuff Should Be In A Single DB position.)
18:44:01 <elliott> ais523: :D
18:44:09 <cheater99> wow, this is insane: http://www.ramblesandruminations.com/2006/12/hi-im-here-for-my-panetone.html
18:44:30 <elliott> ais523: btw, we wouldn't need a DB file if it weren't for the fact that individual changes need to be accessible
18:44:38 <elliott> leading to a huge explosion of objects
18:45:01 <ais523> that's what a VCS is, isn't it?
18:45:04 <ais523> anyway, I should go home
18:45:10 -!- ais523 has quit (Remote host closed the connection).
18:45:27 <elliott> ais523: no, change != patch
18:45:42 <elliott> if it was just storing patches, that'd be okay, but every single change in the patch has to be stored separately
18:48:30 <elliott> hmm, repo = set of patches + irrelevant stuff like nicknames and caches
18:48:32 <elliott> patches = set of changes
18:49:21 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
18:51:45 -!- poiuy_qwert has joined.
18:57:51 <Vorpal> fizzie, Deewiant: down?
18:57:56 <fizzie> I think so, yes.
18:58:02 <Vorpal> gah
19:01:21 <elliott> Vorpal: have you seen the destruction
19:01:25 <elliott> of Deewiant
19:02:14 <elliott> Vorpal: so where did the ground-level minecart path go
19:04:22 -!- cheater99 has quit (Ping timeout: 240 seconds).
19:07:46 <elliott> Vorpal: ?
19:13:50 <Phantom_Hoover> elliott, to a hill to the south of Mt. Hoover. Some furnaces and a workbench at the end.
19:14:21 <elliott> Phantom_Hoover: Anyone admitted to making it?
19:14:45 <Phantom_Hoover> It was almost certainly nailor.
19:17:32 -!- cheater99 has joined.
19:17:52 <elliott> Vorpal: btw yesterday I found some pumpkins in mount vorpal and took them
19:19:07 <cheater99> that's funny, i couldn't get gnocchi today at the italian place because they couldn't find any pumpkins
19:19:12 <cheater99> i think that explains it
19:19:36 <cheater99> elliott is a pumpkin thief
19:19:55 -!- sebbu has quit (Ping timeout: 265 seconds).
19:33:54 <Vorpal> <elliott> Vorpal: btw yesterday I found some pumpkins in mount vorpal and took them <-- if you did that I expect them back
19:34:24 <elliott> Vorpal: to be fair i also put the same number + 1 back in
19:34:50 -!- hagb4rd has joined.
19:35:02 -!- sebbu has joined.
19:35:09 <Vorpal> elliott, heh
19:35:28 <Vorpal> fizzie, down?
19:35:29 <hagb4rd> hi
19:35:44 <Vorpal> elliott, built marker at (4000,4000)
19:35:52 <elliott> Vorpal: so?
19:37:07 <Vorpal> elliott, yeah you don't get it
19:37:15 <elliott> Vorpal: what?
19:39:04 -!- pikhq has joined.
19:39:35 <elliott> Vorpal: what?
19:40:09 <pikhq> Fun fact: invalid UTF-8 can make X crash.
19:40:26 <elliott> a light breeze can make X crash
19:43:25 <pikhq> True, true.
19:47:03 <elliott> Vorpal: mind if I colonise the unused peak of mt. vorpal?
19:50:42 <Vorpal> elliott: yes
19:50:52 <Vorpal> elliott: it isn't unused. The throne room extends below it
19:50:57 <Vorpal> and other stuff too
19:51:29 <Vorpal> elliott: so basically it won't be a good idea
19:51:30 <elliott> Vorpal: below it, but not on top
19:51:43 <Vorpal> elliott: I plan stuff there
19:51:55 <Vorpal> elliott: a glass star observatorium
19:51:58 <Vorpal> (sp)
19:52:06 <elliott> observatory.
19:52:20 <Vorpal> elliott, it already has some buildings on it
19:52:36 <Vorpal> elliott, anyway, given your lava handling I want you NOWHERE NEAR ME
19:52:42 <Vorpal> elliott, I don't want everything burned down
19:53:17 <Vorpal> nor do I want a waterfall there
19:53:36 <elliott> Vorpal: what have I done with lava lately??
19:53:38 <Vorpal> elliott, go make your class cube somewhere far away
19:53:44 <Vorpal> elliott, up at Deewiant's place...
19:53:50 <elliott> Vorpal: nothing happened
19:54:01 <Vorpal> elliott, fuck off
19:54:31 <elliott> Vorpal: btw, have you done anything to the deewiant express lately?
19:57:12 <elliott> Vorpal: btw, almost all the house survived the lava, and dewi didn't seem overly pissed off at it, so "fuck off" is a slight overreaction.
19:58:59 <elliott> Vorpal: are you /ignoring me?
19:59:11 <Deewiant> He's playing
19:59:29 <elliott> Deewiant: that doesn't mean he isn't /ignoring me!
19:59:43 <Deewiant> No, but it can explain why he's not saying anything
19:59:54 <elliott> Deewiant: Does the Express still loop
20:00:05 <Deewiant> Nah, I got rid of it
20:00:10 <elliott> Deewiant: BUT WHY.
20:00:11 <Deewiant> (The loop, not the Express)
20:00:19 <Deewiant> Because with lag, it's hard to stop
20:00:27 <elliott> I'm going to pour lava all over Mount Vorpal in protest
20:00:34 <elliott> And then mine the debris
20:00:48 <elliott> And then dig Vorpal down to bedrock and surround him with a ten-thick layer of obsidian.
20:00:56 <elliott> And the rest up to sea level with TNT.
20:01:01 <elliott> That is what you have done to me, Deewiant.
20:04:28 <elliott> Deewiant just doesn't realise the horror.
20:07:29 <Vorpal> elliott, I was not /ignoring
20:09:58 -!- hagb4rd has quit (Ping timeout: 240 seconds).
20:10:43 -!- ais523 has joined.
20:11:38 <elliott> wb ais523
20:11:58 <ais523> ty
20:12:50 -!- hagb4rd has joined.
20:13:08 <elliott> ais523: opinion poll: "verify :: Hash -> ByteString -> Bool" or "verify :: ByteString -> Hash -> Bool"
20:13:23 <Vorpal> elliott, down?
20:13:26 <Deewiant> The latter
20:13:37 <elliott> Vorpal: "fuck off" --you
20:13:49 <ais523> elliott: it's obviously irrelevant, but I think the first is a little neater
20:13:51 <Vorpal> elliott, yes due to denying that you messed up
20:14:04 <elliott> yep, i was an evil deceiver
20:14:14 <elliott> how did i think that i could possibly defeat the awesome power of screenshots that everyone has seen
20:14:19 <elliott> but darnit, I had malicious intent!
20:14:26 <elliott> ais523: Deewiant: you two have to duke it out to the death now
20:15:26 <Deewiant> Of course, I'm the one with no clue what the params mean
20:16:14 <elliott> Deewiant: ais523 doesn't either, but it just checks that the bytestring hashes to the given hash
20:16:18 <elliott> which is sha-512, but that's irrelevant
20:16:22 <elliott> and returns whether it does or not
20:17:10 <Deewiant> With the latter, verify = (==) . sha512
20:17:33 <elliott> Deewiant: Very well then.
20:17:37 <elliott> Wait, what?
20:17:40 <elliott> Oh, indeed.
20:17:42 <elliott> Yeah, you're right.
20:17:48 -!- Sasha2 has joined.
20:18:07 <elliott> Deewiant: Erm, no
20:18:09 <elliott> Is it?
20:18:18 <Deewiant> Yes, it is :-P
20:18:24 <elliott> Deewiant: indeed
20:19:18 <elliott> Deewiant: Know what's awesome? Two libraries, one that uses strict bytestrings, the other that uses lazy
20:19:27 <fizzie> Okay, the map thing's online now. But do remember that I'm only sharing it on the "no bitching about it" condition; in fact I'll be away immediately and not discuss it at all, even if it has trivial bugs (like it probably has).
20:19:30 <elliott> Specifically, trying to use them both in one module
20:19:35 <fizzie> It's at https://github.com/fis/mcmap now.
20:19:40 <fizzie> (And there's a README anyway.)
20:19:49 <elliott> fizzie: Thanks. If Vorpal whines I'll lava Mount Vorpal.
20:19:57 <elliott> (That should be sufficient incentive, one thinks.)
20:19:59 <Deewiant> fizzie: What's the *ware term for that condition?
20:20:08 <elliott> Deewiant: Stfuware
20:20:17 <elliott> Or "fuck you ware".
20:20:17 <Deewiant> Good enough
20:20:24 <fizzie> That sounds reasonable, yes.
20:20:41 <fizzie> I'll have to add some sort of a COPYING file at some point, maybe.
20:21:14 <elliott> fizzie: But until you do, it's PUBLIC DOMAIN!*
20:21:18 <elliott> *lies
20:21:57 -!- Ilari_antrcomp has quit (Read error: Operation timed out).
20:22:06 <fizzie> I'm not expecting it to be horribly popular; it's not a very user-friendly tool.
20:22:24 <elliott> fizzie: "In the most basic form, ./mcmap -r 600x600 host:port"; "Unknown option -r".
20:22:29 <elliott> fizzie: (Not a whine, just a bug report.)
20:22:31 <elliott> in either the readme or the C :P
20:23:11 <elliott> OK, it's actually -s.
20:23:26 -!- Ilari_antrcomp has joined.
20:24:13 <fizzie> Oh, heh.
20:24:19 <fizzie> Shouldn't have done it from memory.
20:24:57 <fizzie> Well, I did fix at least that.
20:26:18 <elliott> fizzie: OMG IT DOESN'T HANDLE RIDING IN MINECARTS FIX IT FIX IT FIX IT I PAID FOR THIS SOFTWARE NOW GIVE ME MY SUPPORT
20:26:21 <elliott> (Joking.)
20:26:48 <fizzie> Incidentally, I wonder what is with riding. It seems to go to (0,0,0) for that.
20:27:39 <fizzie> There is an "attach entity" packet that (according to the protocol wiki) "is believed to" be sent when a player has been attached to a cart.
20:27:43 <ais523> <elliott> Deewiant: ais523 doesn't either, but it just checks that the bytestring hashes to the given hash <-- I guessed that from the signature, with a name like that there's not much else it could do and yet be vaguely sane
20:27:55 <fizzie> I guess after that it sends player motion relative to the attached entity, and then just moves the entity around.
20:28:28 <elliott> fizzie: I like how chats are invisible if you use a light background, got confused there for a second. :p
20:28:39 -!- hagb4rd has quit (Ping timeout: 240 seconds).
20:28:51 <fizzie> Heh, yes. There's the --nocolor flag for that.
20:29:12 <fizzie> Though then it won't strip out the color codes either.
20:29:20 <fizzie> And you'll see §f's everywhere.
20:30:31 -!- ais523 has set topic: Carapace Averages Nine Thin Zit Loots | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
20:30:49 <ais523> that topic was crying out to be anagrammed
20:31:17 <Vorpal> fizzie, err, I have zlib but not in pkg-config it seems
20:31:47 <elliott> Vorpal: That's not fizzie's problem
20:32:00 <Vorpal> fizzie, just wondering why
20:32:06 <Vorpal> fizzie, ubuntu 10.04 LTS
20:32:11 <elliott> fizzie probably knows, 'cuz he's psychic.
20:32:18 <elliott> And you're totally obeying the "no questions" policy.
20:32:21 <Vorpal> elliott, I thought he used ubuntu too nowdays
20:32:30 <ais523> Vorpal: sometimes I think the main difference between you and zzo38 is that you give the context
20:32:46 <Vorpal> ais523, could be.
20:32:49 <elliott> ais523: and zzo38 is too detached from what we're saying to get angry :P
20:32:56 <elliott> (at us, for anything)
20:33:07 <elliott> I think I'd take two zzos over one Vorpal
20:34:15 <olsner> since this one is zzo38, there should be 38 before him
20:34:34 <Vorpal> fizzie, switching to -lz for zlib works
20:35:51 <fizzie> $ dpkg-query -S zlib.pc
20:35:51 <fizzie> zlib1g-dev: /usr/lib/pkgconfig/zlib.pc
20:35:55 <fizzie> That's where mine is from.
20:38:12 <Vorpal> fizzie, awesome tool
20:38:19 <Vorpal> fizzie, I have that package
20:38:23 <Vorpal> fizzie, but I'm on last LTS
20:39:00 -!- augur has quit (Ping timeout: 260 seconds).
20:44:39 <elliott> ais523: hmm, I think scapegoat objects need types as part of their name, so e.g. "look at all patches" is a reasonable operation
20:45:01 <elliott> ais523: oh btw:
20:45:02 <elliott> 10:44:30 <elliott> ais523: btw, we wouldn't need a DB file if it weren't for the fact that individual changes need to be accessible
20:45:02 <elliott> 10:44:38 <elliott> leading to a huge explosion of objects
20:45:02 <elliott> 10:45:01 <ais523> that's what a VCS is, isn't it?
20:45:02 <elliott> 10:45:04 <ais523> anyway, I should go home
20:45:03 <elliott> 10:45:10 --- quit: ais523 (Remote host closed the connection)
20:45:05 <elliott> 10:45:27 <elliott> ais523: no, change != patch
20:45:07 <elliott> 10:45:42 <elliott> if it was just storing patches, that'd be okay, but every single change in the patch has to be stored separately
20:45:10 <elliott> 10:48:30 <elliott> hmm, repo = set of patches + irrelevant stuff like nicknames and caches
20:45:12 <elliott> 10:48:32 <elliott> patches = set of changes
20:45:14 <elliott> chaneg ~= hunk
20:45:16 <elliott> *change
20:46:39 -!- augur has joined.
20:47:50 -!- hagb4rd has joined.
20:51:11 <Vorpal> Phantom_Hoover, stop ruining the hole
20:51:22 <ais523> elliott: a patch either has exactly one change, or is a set of other patches
20:51:22 <Vorpal> Phantom_Hoover, conclusion: in the future keep exploration silent
20:51:22 <Phantom_Hoover> Vorpal, RUINING IT BY FIXING IT
20:51:32 <Vorpal> Phantom_Hoover, you broke it. Lava does not belong there
20:51:46 <ais523> I should probably go back to calling them turtles again
20:51:52 <Phantom_Hoover> Vorpal, but if you were silent about your achievements how would you prop up your ego?
20:52:22 <Vorpal> Phantom_Hoover, very droll
20:52:51 -!- elliott has quit (Quit: Leaving).
20:52:53 <Phantom_Hoover> It's a serious point!
20:52:59 <ais523> hmm, seems it didn't remember my login
21:03:30 <Vorpal> fizzie, would it be feasible to make it render leaves transparently?
21:08:28 <Vorpal> ah that seems to work
21:08:32 <Vorpal> hard coded patch thoug
21:08:35 <Vorpal> though*
21:09:03 <fizzie> You could more easily just not render leaves at all. The surface bitmap (well, "blockmap") is being separately maintained by the updates for faster drawing, so you could just either skip leaves (like it skips air).
21:10:21 <Vorpal> fizzie, that is what I did
21:10:54 <fizzie> If you want to do that properly, you'll need to do that in both handle_chunk and block_change.
21:11:46 <Vorpal> fizzie, ah just did it in handle_chunk
21:12:02 <fizzie> Well, the latter only matters if you go and dig out the leaves.
21:12:25 <fizzie> Should probably add some sort of block-type enum for any block-specific customizations at some point. The current testing for air (!x) is a bit iffy too.
21:12:53 <Vorpal> fizzie, iffy how?
21:13:06 <Vorpal> fizzie, also yeah the AIR_COLOUR thing for stuff like buttons won't do much
21:13:26 <fizzie> That's mostly meant for the cross-section map.
21:13:31 <fizzie> Where it works reasonably well.
21:15:03 <Vorpal> fizzie, why is south now down btw?
21:15:04 <fizzie> But I could have a better "these blocks are practically empty" table that it'd use for the surface map, and a command-line flag to include/exclude leaves in that.
21:15:10 <fizzie> It's not down.
21:15:19 <fizzie> At least I don't think it is.
21:15:20 <Vorpal> fizzie, s/now/not/
21:15:24 <fizzie> Oh.
21:15:33 <fizzie> Because I've oriented myself to ineiros' maps.
21:15:43 <Vorpal> ah
21:16:01 <fizzie> And if I just swap x/y y/x, I get north/south properly but then east/west will be the wrong way around, and that's really confusing.
21:16:18 <Vorpal> fizzie, and yes zoom would be nice, kind of hard to spot pumpkins now
21:17:32 <fizzie> There could be some sort of highlight mode that'd greyscale the other block colors and turn the one you're looking for red, or something. (Or just desaturate-but-not-completely.)
21:17:33 <Vorpal> fizzie, I hit some kind of redrawing bug
21:17:50 <fizzie> What kind of?
21:17:59 <fizzie> (Not that I'm going to think about it now.)
21:18:02 <Vorpal> fizzie, vertical 1 pix wide lines
21:18:06 <Vorpal> fizzie, when I go south
21:18:11 <Vorpal> into unmapped
21:18:26 <Vorpal> fizzie, note I have both a chunk at spawn, and a chunk at 4000,4000
21:18:26 <fizzie> I don't know about that. Screenshot?
21:18:41 <Vorpal> fizzie, sure, could be my fault when hiding leaves. who knows
21:19:16 <fizzie> A surface that large will take quite a bit of memory. (61 megs or so.)
21:19:22 <Phantom_Hoover> Link to this magic mappy thing?
21:19:59 <Phantom_Hoover> Pleasepleaseplease?
21:20:04 <Deewiant> /lastlog http
21:20:24 <Vorpal> fizzie, http://sporksirc.net/~anmaster/tmp/mcmap.png
21:20:36 <Vorpal> fizzie, and I run the mapper on a separate computer :P
21:20:43 <Phantom_Hoover> Vorpal, where's this mapper thing?
21:21:03 <Vorpal> Phantom_Hoover, see what Deewiant said
21:21:33 <Vorpal> fizzie, I did enter a minecart by mistake, not sure if that affects it
21:21:59 <fizzie> I got some bit strange-looking surfaces when traveling by minecart, but, well, who knows.
21:23:29 <fizzie> Re zoom, you could just use compiz' magical zoom if you're running it on another box (that can do that).
21:24:15 <fizzie> I hope all the exploration won't make the server really run out of memory storing the world.
21:24:44 <fizzie> I guess when unloading blocks from the clients it also unloads them from itself and only keeps them in the disk storage, though.
21:24:48 <fizzie> At least one could hope so.
21:25:03 -!- elliott has joined.
21:25:09 <elliott> <ais523> elliott: a patch either has exactly one change, or is a set of other patches
21:25:13 <elliott> hmm
21:25:19 <Vorpal> fizzie, that box has intel graphics
21:25:20 <elliott> ais523: why not just do patch = set of changes
21:25:26 <Vorpal> fizzie, I don't think compiz is a good idea there
21:25:34 -!- hagb4rd has quit (Ping timeout: 240 seconds).
21:25:45 <elliott> <ais523> I should probably go back to calling them turtles again
21:25:50 <elliott> ais523: turtles are the file trees
21:25:52 <elliott> ais523: silly
21:26:12 <elliott> as in, the actual tree with all the files, belonging to a specific patch
21:26:46 <elliott> no?
21:28:30 -!- hagb4rd has joined.
21:29:47 <Vorpal> gah
21:29:50 <Vorpal> Phantom_Hoover, down?
21:30:22 <Phantom_Hoover> Couldn't care less.
21:30:38 <Phantom_Hoover> Vorpal, "tough shit".
21:39:24 <elliott> ais523: ping?
21:43:57 -!- zeotrope has quit (Quit: Lost terminal).
21:45:16 <Phantom_Hoover> What's lime green in mcmap?
21:45:23 <Vorpal> Phantom_Hoover, got it to work btw?
21:45:46 <Phantom_Hoover> Yes, thanks to your polite and helpful advice.
21:46:06 <Vorpal> Phantom_Hoover, lime = green cobble
21:46:13 <Phantom_Hoover> Ah, so that's a dungeon.
21:46:48 <Vorpal> Phantom_Hoover, probably
21:49:19 <elliott> http://imgur.com/1jip7 Goodbye AltaVista and delicious.
21:49:27 <elliott> Also AlltheWeb.
21:50:40 -!- yiyus_ has quit (Ping timeout: 240 seconds).
21:51:23 -!- Slereah has quit (Ping timeout: 255 seconds).
21:52:17 -!- reiffert has quit (Ping timeout: 255 seconds).
21:52:44 -!- jix has quit (Ping timeout: 255 seconds).
21:52:44 -!- fxkr has quit (Ping timeout: 255 seconds).
21:56:29 <elliott> ais523: ping
21:57:47 -!- fungot has quit (*.net *.split).
21:57:47 -!- fizzie has quit (*.net *.split).
21:57:48 -!- tehjamez has quit (*.net *.split).
21:57:48 -!- sshc has quit (*.net *.split).
21:57:48 -!- myndzi has quit (*.net *.split).
21:57:49 -!- lifthrasiir has quit (*.net *.split).
21:57:49 -!- yiyus has quit (*.net *.split).
21:57:49 -!- jcp has quit (*.net *.split).
21:57:49 -!- augur has quit (*.net *.split).
21:57:49 -!- Ilari_antrcomp has quit (*.net *.split).
21:57:49 -!- Sasha2 has quit (*.net *.split).
21:57:50 -!- Ilari has quit (*.net *.split).
21:57:50 -!- quintopia has quit (*.net *.split).
21:57:50 -!- Zuu has quit (*.net *.split).
21:57:50 -!- mycroftiv has quit (*.net *.split).
21:57:50 -!- Leonidas has quit (*.net *.split).
21:57:51 -!- hagb4rd has quit (*.net *.split).
21:57:51 -!- ais523 has quit (*.net *.split).
21:57:51 -!- poiuy_qwert has quit (*.net *.split).
21:57:51 -!- Phantom_Hoover has quit (*.net *.split).
21:57:52 -!- olsner has quit (*.net *.split).
21:57:52 -!- cheater99 has quit (*.net *.split).
21:57:52 -!- MigoMipo has quit (*.net *.split).
21:57:52 -!- FireFly has quit (*.net *.split).
21:57:52 -!- sebbu has quit (*.net *.split).
21:57:53 -!- Vorpal has quit (*.net *.split).
21:57:53 -!- Gregor has quit (*.net *.split).
21:58:19 -!- Slereah has joined.
21:58:19 -!- yiyus has joined.
21:58:19 -!- fxkr has joined.
21:58:19 -!- jix has joined.
21:58:19 -!- reiffert has joined.
21:58:19 -!- hagb4rd has joined.
21:58:19 -!- augur has joined.
21:58:19 -!- Ilari_antrcomp has joined.
21:58:19 -!- Sasha2 has joined.
21:58:19 -!- ais523 has joined.
21:58:19 -!- sebbu has joined.
21:58:19 -!- cheater99 has joined.
21:58:19 -!- poiuy_qwert has joined.
21:58:19 -!- MigoMipo has joined.
21:58:19 -!- Phantom_Hoover has joined.
21:58:19 -!- FireFly has joined.
21:58:19 -!- fungot has joined.
21:58:19 -!- Leonidas has joined.
21:58:19 -!- Ilari has joined.
21:58:19 -!- tehjamez has joined.
21:58:19 -!- fizzie has joined.
21:58:19 -!- Vorpal has joined.
21:58:19 -!- quintopia has joined.
21:58:19 -!- sshc has joined.
21:58:19 -!- Gregor has joined.
21:58:19 -!- olsner has joined.
21:58:19 -!- Zuu has joined.
21:58:19 -!- mycroftiv has joined.
21:58:19 -!- jcp has joined.
21:58:19 -!- myndzi has joined.
21:58:19 -!- lifthrasiir has joined.
21:58:32 -!- pikhq has quit (Excess Flood).
21:58:33 <elliott> ais523: ping
21:58:59 -!- pikhq_ has joined.
21:59:43 <olsner> ah, tab stacking is nice
21:59:57 <olsner> quartered the height of my tab bar
22:00:39 <elliott> olsner: hm?
22:01:26 <olsner> new feature in opera 11, allows you to combine tabs into tab groups (maybe they're called stacks)
22:03:43 <olsner> indeed it's called a "tab stack", it displays the active tab and a small button to expand it and view all the other tabs in the stack
22:04:10 -!- Sasha2_ has joined.
22:04:58 <elliott> olsner: oh, you're a stupid opera user, i forgot
22:05:18 <olsner> am I stupid? really?
22:05:42 <elliott> olsner: only in that you use opera :)
22:06:39 -!- yiyus_ has joined.
22:06:48 -!- Sasha2 has quit (Ping timeout: 260 seconds).
22:06:52 <olsner> elliott: ok.
22:07:06 <elliott> olsner: it's like, a little pocket of stupidity
22:07:13 <elliott> like, if albert einstein regularly shot himself in the face
22:07:20 <elliott> he'd be a stupid self-face-shooter
22:07:22 <elliott> but not stupid
22:07:39 <olsner> fuck you ubuntu: "The computer needs to restart to finish installing updates. Please save your work before continuing."
22:07:52 <elliott> olsner: dude, even debian does that
22:08:01 <elliott> (although it lets you make it go away for N times)
22:08:07 <olsner> the thing is, it wants to restart *before* upgrading
22:08:07 <elliott> where times = seconds, minutes, whatever
22:08:18 <elliott> olsner: no, i think that's misleading wording
22:08:25 <elliott> it just means "i replaced the kernel, reboot, you bum"
22:08:28 <Vorpal> ineiros, torrenting?
22:08:30 <elliott> maybe libc too
22:08:44 <olsner> elliott: no, it's serious: pressing "install updates" does nothing but pops up that message
22:09:07 <elliott> olsner: impressive. what.
22:09:20 <elliott> olsner: not even os x does that ;)
22:09:25 <ineiros> Vorpal: Yes. They released another episode of Pioneer One. Shouldn't take long.
22:10:00 <olsner> elliott: os x does that for many (most?) upgrades though, you have to install-and-reboot in one operation
22:10:12 <elliott> olsner: true.
22:10:20 <elliott> olsner: it's irritating how long it can lock you in an "upgrading lol" screen
22:10:24 <elliott> it never used to do that in Tiger
22:10:49 <elliott> ineiros: You may NEVER EVER use your internet connection for recreational purposes; we *depend* on Minecraft!
22:11:51 <ineiros> elliott: That is honestly scary. :P
22:12:01 <olsner> I guess I'll just have to uninstall the automatic updates program so I'm not annoyed by there being updates it won't allow me to install
22:12:06 -!- tehjamez has left (?).
22:12:07 <elliott> ineiros: Well, if Vorpal was the only player, that would in fact be the case.
22:12:17 <elliott> olsner: you could just disable them rather than uninstalling it :)
22:12:22 <ineiros> elliott: Maybe I should take a second connection with a better upstream and make you people pay for it. :)
22:12:33 <elliott> ineiros: or just colocate :P
22:12:53 <olsner> elliott: but... why would I keep it installed when I've disabled it?
22:13:07 <elliott> olsner: because of the ubuntu-desktop metapackage
22:13:14 <olsner> it's not as if I have infinity space to give away to useless software
22:13:18 <fizzie> ineiros: I keep suggesting the CloudCraft.
22:13:21 <elliott> olsner: so that when Canonical add more and more crap in the next major release, you can get it without manually installing it!
22:13:26 <elliott> fizzie: P2PCraft
22:13:45 <elliott> fizzie: If everyone democratically decides that you're in a gigantic lava pit covered with obsidian at the bottom of the sea, well, you are!
22:14:28 <olsner> elliott: ubuntu-desktop doesn't fit :)
22:14:40 <elliott> olsner: ok, i'll bite: what machine is this?
22:15:06 <cheater99> that's cool, i didn't know there was a parisc channel
22:15:28 <olsner> hmm, actually it would fit according to the package manager's estimate of used space
22:15:46 <olsner> it'd leave ~100MB of free space
22:16:08 <Phantom_Hoover> fizzie, incidentally, what happens when Beta comes out?
22:16:14 <Deewiant> fizzie: To quote the SDL documentation wiki: "A lot of the keysyms are unavailable on most keyboards. For example, the SDLK_1 keysym can't be accessed on a French keyboard. You get the SDLK_AMPERSAND instead. So, you should not hardcode any keysym unless it's one of the universal keys that are available on all keyboards."
22:16:28 <olsner> elliott: it's just this one, my main desktop system
22:16:40 <elliott> olsner: how much disk have you got? how much is used? :p
22:16:49 <olsner> 5GB used to be plenty of space for linux, apparently not so much anymore
22:16:58 <olsner> (currently using 4.6GB of it)
22:16:59 <Phantom_Hoover> Do you pick apart that protocol and reimplement mcmap?
22:17:01 <elliott> Deewiant: mcmap is provided without support. :p
22:17:05 <elliott> olsner: erm do you have a separate /home?
22:17:09 <elliott> or do you really stuff everything into 5 gigs?
22:17:10 <olsner> nope
22:17:15 <Deewiant> elliott: I didn't ask him to fix it, I'm just informing. :-P
22:17:19 <elliott> Phantom_Hoover: no, he just adds handling for server-side inventory packets.
22:17:22 <elliott> Deewiant: :P
22:17:51 <elliott> Deewiant: (Do French keyboards have & where 1 should be?)
22:18:10 <Deewiant> I don't know, but SDLK_1 doesn't work for my keyboard so I have to hack it.
22:18:16 <elliott> http://3.bp.blogspot.com/_z9jvYW4hF3k/Sw56ZFHSceI/AAAAAAAAAB8/OhcuW0qzRG0/s1600/titanium_azerty_keyboard.jpg
22:18:21 <elliott> Looks like Frenchies have punctuation on shift.
22:18:23 <elliott> And & below 1.
22:18:25 <elliott> erm
22:18:28 <elliott> Looks like Frenchies have digits on shift.
22:18:35 <Deewiant> As do I.
22:19:20 <elliott> Deewiant: That's 'cuz you're Finnish.
22:19:24 <elliott> (The explanation for everything.)
22:20:19 <fizzie> Phantom_Hoover: Sure, I'll fix for beta if it breaks, assuming it's not too dissimilar.
22:20:40 <fizzie> Deewiant: Do the Unicode-translation chars work better?
22:21:03 <Deewiant> fizzie: Yes, my workaround was to add SDL_EnableUNICODE and use the .unicode field for 1,2,3
22:21:08 <elliott> fizzie: I demand you add a command to spit out the locations of objects in a specific list of object ID #s within +-X,Y,Z of your current position. --Vorpal
22:21:16 <elliott> fizzie: (Actually that *would* be kind of useful X-D)
22:21:24 <olsner> elliott: a big part of the partition is used by my home folder though, 300MB of irc logs for example :P
22:21:32 <Deewiant> fizzie: But upon reflection, I probably should've made it respond to !,@,# so I don't have to press shift. :-P
22:21:32 <fizzie> Deewiant: I'll fix it like that in the next version.
22:21:36 <elliott> olsner: Consider bzipping them :P
22:21:59 <fizzie> Deewiant: Ooh, or a keyboard mapping config file. :p
22:22:02 <elliott> fizzie: Just make it subtract (keysym of 1) from the keycode, and %3 it.
22:22:10 <elliott> fizzie: Then every 3 successive keysyms on the keyboard work.
22:22:13 <elliott> SCIENCE
22:22:17 <Deewiant> elliott: !,@,# aren't successive.
22:22:27 <elliott> Deewiant: Pick better keys
22:22:33 <elliott> Or use multiple hands, stretched
22:22:35 <Deewiant> elliott: THEY'RE THE DEFAULTS
22:22:41 <elliott> Deewiant: Thus why
22:22:44 <elliott> <elliott> fizzie: Just make it subtract (keysym of 1) from the keycode, and %3 it.
22:22:44 <elliott> <elliott> fizzie: Then every 3 successive keysyms on the keyboard work.
22:22:45 <elliott> SCIENCE
22:22:59 <elliott> You could use qwe, rty, or uio! Assuming those scan properly. If not, pick other keys!
22:24:17 <elliott> Deewiant passed out from the awesomeness of my idea.
22:24:26 <elliott> YOU COULD EVEN USE NUMLOCK
22:24:36 -!- Sasha2_ has quit (Ping timeout: 260 seconds).
22:28:07 <elliott> ais523: ping
22:28:13 <Phantom_Hoover> fizzie, incidentally, you might want to change the readme for mcmap to make it clear that you have to connect to 127.0.0.1
22:28:22 <ais523> elliott: pong
22:28:29 <Deewiant> I thought that was pretty clear
22:28:35 <elliott> <elliott> <ais523> elliott: a patch either has exactly one change, or is a set of other patches
22:28:35 <elliott> <elliott> hmm
22:28:35 <elliott> <elliott> ais523: why not just do patch = set of changes
22:28:38 <elliott> <elliott> <ais523> I should probably go back to calling them turtles again
22:28:38 <elliott> <elliott> ais523: turtles are the file trees
22:28:38 <elliott> <elliott> ais523: silly
22:28:38 <elliott> <elliott> as in, the actual tree with all the files, belonging to a specific patch
22:28:39 <elliott> <elliott> no?
22:28:51 <elliott> Deewiant: I tried localhost, which doesn't work
22:28:56 <ais523> elliott: because patch = set of changes only does one level
22:29:03 <elliott> Deewiant: Also :(the port we use) whereas it's always :25567 for mcmap.
22:29:07 <elliott> ais523: and? :p
22:29:10 <ais523> you should be able to group individual changes into a commit, individual commits into a tag, etc
22:29:20 <elliott> ais523: oh, true... but does a tag have to be a patch?
22:29:21 <Deewiant> elliott: Worked for me!
22:29:22 <ais523> also, a "merge resolution" is also a set of patches, some reverts and some unreverts
22:29:26 <elliott> ais523: I mean, a patch to /what/?
22:29:33 <elliott> <ais523> also, a "merge resolution" is also a set of patches, some reverts and some unreverts
22:29:35 <elliott> ais523: then it's not a set!
22:29:36 <elliott> it's a list
22:29:37 <ais523> elliott: well, /everything/'s a patch to nothing
22:29:39 <elliott> because the application order matters
22:29:40 <ais523> elliott: no, it's a set
22:29:47 -!- zzo38 has joined.
22:29:49 <elliott> howso?
22:29:56 <zzo38> No.
22:29:59 <ais523> the rule is, you apply patches before patches that depend on them
22:30:08 <elliott> ais523: hmm, fair enough
22:30:10 <ais523> and if it's ambiguous even then, you have a merge conflict
22:30:26 <ais523> oh, the other rule is, you don't apply a reverted patch at all (that is, if both the patch and its revert are in the set)
22:30:40 <ais523> which is needed for merge resolutions to make sense at all
22:30:43 <elliott> ais523: I'm fairly sure that we need to reserve two hashes, BTW
22:30:49 <ais523> perhaps
22:30:51 <elliott> ais523: for "Start" and "End"
22:30:53 <elliott> ais523: (SOF and EOF)
22:30:58 <elliott> which have no valid expression as patches
22:31:06 <ais523> I think that makes sense
22:31:11 <elliott> ais523: I'd just do all-zeroes and all-ones, as that's a pretty unlikely hash
22:31:15 <elliott> *both are pretty unlikely
22:31:18 <ais523> wait, that's wrong altogether
22:31:18 <elliott> OK, not unlikely in absolute senses
22:31:23 <elliott> ais523: hm?
22:31:23 <ais523> different files have different SOF and EOF
22:31:28 <elliott> ais523: Of course.
22:31:32 <elliott> ais523: But there are no files.
22:31:50 <elliott> ais523: Consider: Two empty files in a directory point to the same object, the Start/End patch.
22:31:50 <ais523> what do directories contain?
22:31:57 <ais523> err, no
22:32:00 <elliott> ais523: err, yes
22:32:06 <ais523> two empty files each have their own start and their own end
22:32:10 <elliott> ais523: Why?
22:32:15 <ais523> otherwise, if you did "add between start and end", how would you know which file it went into?
22:32:28 <elliott> ais523: you don't have to; the directory tells you what to put in what file
22:32:31 <ais523> the /only/ information for an addition is what it goes between
22:32:35 <ais523> elliott: that seems very backwards
22:32:47 <elliott> ais523: you look at the patch, apply it to the [(Start,""),(End,"")] string, and then write it to the file listed in the directory entry
22:32:48 <ais523> then, you'd have to amend the directory every time you changed a file in it
22:32:51 <ais523> not just the metadata
22:32:55 <elliott> ais523: this is great because you can completely rip out FS-centrism
22:32:56 <ais523> patches /do not have directory data/
22:32:58 <elliott> just by replacing directories
22:33:04 <elliott> ais523: <ais523> then, you'd have to amend the directory every time you changed a file in it
22:33:06 <elliott> ais523: err, you do anyway
22:33:10 <elliott> since the hash changes
22:33:11 <ais523> no, you don't
22:33:14 <elliott> since the hash changes
22:33:19 <ais523> the directory doesn't depend on the files in it at all
22:33:23 <ais523> see, I create an empty directory
22:33:29 <ais523> then I add a file to it, that doesn't change the original hash
22:33:42 <ais523> it just adds a new one, "add file to directory with hash 1298371028938"
22:33:59 <elliott> ais523: *add file to directory OSDIJFSODF with hash ASOIDHASOD
22:34:06 <ais523> no, no, no!!!!
22:34:22 <elliott> ais523: so directories are maintained completely differently to files?
22:34:23 <elliott> exciting
22:34:24 <ais523> the hash of "add file to directory with hash 129837192837", together with metadata, etc, /is/ the hash used to refer to the new file
22:34:32 <ais523> so directories are maintained completely the same as files
22:34:36 <elliott> ais523: why can't you have a file outside a directory?
22:34:51 <ais523> because then how would you know what project it was in?
22:35:02 <elliott> ais523: you wouldn't
22:35:06 <ais523> you seemed to understand this a couple of days ago...
22:35:13 <elliott> ais523: oh, I do
22:35:25 <elliott> I'm just trolling you at this point, in the hopes of making the system even more interesting
22:35:30 <elliott> (OK, <ais523> the hash of "add file to directory with hash 129837192837", together with metadata, etc, /is/ the hash used to refer to the new file
22:35:35 <elliott> helped, but after that I've just been trolling :))
22:35:39 <ais523> ah
22:35:50 <ais523> in that case, shouldn't I just ignore you until you stop?
22:35:56 <elliott> i've stopped now
22:36:08 <elliott> ais523: OK then, given "add file to directory with hash 129837192837", what does a patch that inserts a single line "hi" into that file look like?
22:36:56 <ais523> it's "add 'hi' between 239487-SOF and 239487-EOF", where 239487 is the hash in question and -SOF and -EOF are hashes based on that
22:37:17 <ais523> in fact, you could literally append the -SOF and -EOF to the end, because all that matters about the hashes is a unique method of creating them
22:37:17 <olsner> haha, this mp3 player has a built-in hypnotoad feature, that plays the hypnotoad tune in the background when the program is running
22:37:18 <elliott> ais523: OK, what object do those hashes point to?
22:37:31 <ais523> to 239487, of course
22:37:34 <elliott> as the Implementation Guy, I insist all hashes point to an actual object
22:37:39 <elliott> ais523: no, because they're != 239487
22:37:46 <elliott> ais523: say they're 27 and 72 respectively
22:37:49 <elliott> what objects do they point do?
22:37:50 <elliott> *to?
22:37:56 <ais523> the start and end of 239487
22:37:56 <elliott> olsner: :D
22:38:06 <ais523> which are real concepts
22:38:11 <elliott> ais523: so every time you create a file, you create two patch objects too?
22:38:14 <ais523> yep
22:38:24 <elliott> ais523: And these patch objects are "SOF" and "EOF"?
22:38:32 <ais523> of that file, yes
22:38:40 <elliott> ais523: OK, so "SOF <filehash>" and "EOF <filehash>"?
22:38:53 <ais523> that would be one way to express it
22:38:59 <elliott> ais523: Fair enough then.
22:39:00 <ais523> but, of course, an impl detail
22:39:13 <elliott> ais523: Of course; it's just that I'm the Implementation Guy looking to Actually Implement it. :)
22:39:26 <elliott> (I'm still down in the trenches of the object storage layer right now, though.)
22:39:38 <elliott> ais523: so, let me see
22:40:45 <elliott> ais523: patch := insert <string> between <patch> and <patch> | replace <patch> with <string> | delete <patch> | do all of <set of patches> | start of file <patch> | end of file <patch>
22:40:50 <elliott> ais523: except, for directories, it's
22:41:09 <elliott> patch := insert <string> | delete <patch> | do all of <set of patches> | empty-directory
22:41:13 <elliott> *empty directory
22:41:14 <fizzie> Phantom_Hoover: Plain "localhost" worked just fine for me, too.
22:41:15 <elliott> ais523: yes?
22:41:24 <ais523> I'm checking that
22:41:55 <ais523> for directories, it'd be patch := insert file <filename> | insert directory <dirname>
22:41:56 <fizzie> And it's 25565 (not 25567) that's mcmap's (and Minecraft's) default port, unless I'm mistaken.
22:42:02 <ais523> rather than just a plain insert
22:42:11 <elliott> ais523: oh, make it
22:42:14 <fizzie> (The listening port is a command line option too.)
22:42:23 <elliott> ais523: patch := insert <fileinfo> | delete <patch> | do all of <set of patches> | empty directory
22:42:24 -!- oerjan has joined.
22:42:28 <elliott> ais523: where fileinfo also allows symlinks, etc
22:42:32 <ais523> yep, fair enough
22:42:41 <ais523> I'm thinking that these types will likely eventually be pluggable anyway
22:43:04 <elliott> ais523: one problem I can see right off the bat is that "start of file <patch> | end of file <patch>" is a type constraint -- those must be "insert <fileinfo>" changes -- that is not represented within the implementation type system
22:43:07 <elliott> but, then again,
22:43:09 <elliott> the eventual plan is to use C
22:43:13 <oerjan> <ais523> so I checked both of them to see what would happen
22:43:15 <elliott> so we're in for that kind of pain /anyway/ :)
22:43:16 <oerjan> FOR SCIENCE!
22:43:49 <ais523> oerjan: turns out, my login wasn't remembered
22:43:53 <oerjan> ah.
22:44:10 <ais523> you wonder if the people in charge of the forum had ever heard of radio buttons
22:44:16 <elliott> ais523: hmm, say P:S means "line S (blame: patch P)"; what does the patch (insert "cat" between P1 and P2) do to the file [P1:"rabbit", P3:"weasel", P2:"dog"]?
22:44:18 <elliott> ais523: conflict?
22:44:28 <elliott> that's how my apply function did it, it just wouldn't let you
22:44:31 <elliott> ais523: (assuming no merge handling)
22:44:45 <fizzie> For the real "x-ray" vision mode, I thought I'd just add a key that causes mcmap to send "set block to glass" packets for each non-interesting (not ore, chest, etc.) block inside a given radius, and then (for fake-glass) reply to all "player digging" packets with set-block-to-what-it-was.
22:45:00 <ais523> elliott: conflict
22:45:17 <elliott> ais523: thought so
22:45:17 <ais523> (because there's no way to automatically guess whether it should go before or after the weasel)
22:45:39 <elliott> ais523: I like how it turned from the string "weasel" into an actual weasel embedded in the file in the space of a few IRC messages.
22:45:39 <ais523> also, as for your hatred of the automatic v v v v ^ ^ ^ ^ conflict marking in files
22:45:59 <ais523> the obvious thing to do is to have a command to edit the files with conflict marking, but not do it by default
22:46:13 <elliott> ais523: possibly, but it shouldn't name it with the original filename
22:46:20 <elliott> ais523: foo.conflicts I could accept, but not foo
22:46:28 <ais523> hmm, often, in such cases, you want to edit the file into the unconflicted version
22:46:38 <elliott> ais523: so mv it back afterwards?
22:46:48 <fizzie> Incidentally, if you have sensible-for-everyone mcmap fixes (as opposed to local-only kludges), the github repo is public read-write, you can just push there.
22:46:51 <elliott> the VCS shouldn't pose one of its own-format (even if it is a simple format) files as the real thing
22:47:00 -!- MigoMipo has quit (Quit: Quit).
22:47:14 <ais523> elliott: I sort-of see what you mean; on the other hand, they're presenting something that should be edited into the real thing
22:47:18 <elliott> ais523: IMO, if sg gets a merge conflict, it should refuse to update /any/ file you have *by default*
22:47:20 <ais523> hmm, obviously it should work like sudoedit
22:47:32 <ais523> elliott: not even the files not involved in the conflict?
22:47:33 -!- wareya has quit (Read error: Connection reset by peer).
22:47:41 <elliott> ais523: indeed, since working directory wouldn't be in a consistent state
22:48:10 <elliott> ais523: it should print out the conflicts, you should be able to do "sg conflicts write filename" which would create filename.conflicts or whatever, which you would then fix,
22:48:22 <elliott> ais523: and then you'd do "sg conflicts fixed filename"
22:48:25 -!- wareya has joined.
22:48:34 <elliott> ais523: and once you'd fixed all conflicts, you could do "sg conflicts commit-fix" (command names all hypothetical)
22:48:40 <elliott> ais523: something like that, anyway
22:48:55 <elliott> ais523: of course, this only applies to when you try and check out a conflicting revision which ... wait
22:48:58 <elliott> can that ever actually happen with sg?
22:49:09 <ais523> yes, if you explicitly specify a conflicting revision
22:49:15 <ais523> which would make sense if, say, you wanted to fix the conflict
22:49:27 <elliott> ais523: how an a revision conflict with itself?
22:49:39 <ais523> well, you specify a patchset
22:49:44 <ais523> if the set is internally inconsistent, that's a conflict
22:49:53 <elliott> ais523: why can you checkout multiple patches? shouldn't you only be able to check out one?
22:50:14 <ais523> well, indeed, but that patch might be a set of patches
22:50:18 <ais523> which conflict with each other
22:50:24 <ais523> and that's a perfectly sensible thing to want to do
22:50:43 <ais523> people will want to resolve merge conflicts eventually, rather than leave the two version in the repo forever
22:51:01 <elliott> ais523: OK, but should you really be able to commit a patch that conflicts?
22:51:09 <elliott> just speaking platonically here
22:51:32 <ais523> you should be able to pull a patch that conflicts, certainly
22:51:52 <elliott> ais523: fair enough
22:52:02 <ais523> there are a huge number of usecases for that
22:52:10 <ais523> and then your repo would be inconsistent, but you probably intended that
22:52:12 <Phantom_Hoover> elliott, does the joint mine agreement cover the spoils from dungeon crawling?
22:52:13 <ais523> and then you fix the inconsistency
22:53:08 <elliott> Phantom_Hoover: Not sure.
22:54:05 <Phantom_Hoover> The iron is unambiguously shared, though, so I'll give you half of that.
23:01:05 <Vorpal> ineiros, can you generate a new map sometime soon?
23:05:21 <elliott> ais523: hmm
23:05:35 <elliott> ais523: we need so many caches... maybe we can replace sg(1) with one big cache :)
23:05:38 -!- rodgort has quit (Quit: Coyote finally caught me).
23:05:45 <ais523> heh
23:05:50 -!- rodgort has joined.
23:06:16 <elliott> ais523: I don't get darcs' patch theory
23:06:16 <ineiros> Vorpal: Except one in about an hour.
23:06:21 <elliott> ais523: all this commuting patches and stuff
23:06:29 <elliott> ais523: it's never explained why it's really useful or correct at all
23:06:39 <elliott> it doesn't ever elaborate on why this is a good way to do merging
23:06:50 <ais523> elliott: sorear looked into it, and concluded that it was just smoke and mirrors
23:07:03 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:07:22 <elliott> ais523: so, tl;dr: "I'm a physicist and can use LaTeX, therefore I've solved merging!"?
23:08:05 <ais523> perhaps
23:08:18 <elliott> ais523: (as opposed to you: "I'm a computer scientist and it's fractal, therefore I've solved merging!" :-))
23:08:36 <ais523> elliott: I'm not claiming to have solved merging, necessarily; I just came up with the model and noticed it had good merging properties
23:08:49 <elliott> ais523: I was joking :)
23:09:33 <elliott> ais523: FWIW, the model seems sound to me.
23:10:18 <ais523> indeed, it's at least fully-specified
23:10:20 <ais523> so it does something
23:10:28 <ais523> the only way in which it could malfunction is it not doing what we want
23:10:41 <elliott> ais523: indeed
23:14:03 -!- FireFly has quit (Quit: swatted to death).
23:14:18 <elliott> ais523: hmm, the type system of the object store I have in mind is quite queer
23:14:20 <Ilari> Nifty... Konqi does not fallback from IPv6 to IPv4 at all (and neither it presumably will fallback from one address to another)...
23:14:57 <elliott> ais523: Every object has a type, and every type mandates a certain set of fields. But arbitrary fields can be added to it, and are just ignored by clients that don't support them.
23:15:08 <Ilari> Couple this with IPv6 routing problems and one is in for some nasty surprises...
23:15:08 <elliott> ais523: Modelling this in Haskell = OH SO MUCH FUN (pain)
23:15:16 <ais523> indeed
23:15:36 <pikhq_> Ilari: Everyone sucks!
23:16:43 <elliott> ais523: I've been coding this like every object would have its own serialisation procedure, but I think I'm going to rewrite it to only support "string -> arbitrary binary data" maps.
23:16:54 <elliott> And then you write procedures to extract the keys you care about into a Haskell value.
23:16:58 <elliott> (and vice versa)
23:18:18 <elliott> ais523: any opinions on --and I know this is horribly implementationy-- the object store file format?
23:18:33 <ais523> I can't think of any obvious features it would need
23:18:41 <ais523> other than storing the data, ofc
23:18:51 <elliott> ais523: I was thinking a B-tree, but I'm not sure how well that would work for a structure that's essentially a big set of (type,hash)=>stuff, with random lookup required on hash.
23:18:54 <ais523> give it a version number, so we can subsequently change the format if necessary
23:19:11 <elliott> Specifically it shouldn't require too many seeks, or a huge amount of iteration, to get to the stuff belonging to a given hash.
23:19:26 <ais523> well, the obvious storage system is a Perl-style associative array
23:19:33 <elliott> ais523: that's not much of a serialisation format, though
23:19:38 <ais523> indeed
23:20:46 -!- augur has quit (Remote host closed the connection).
23:21:28 -!- augur has joined.
23:21:46 <elliott> ais523: I'm not sure how B-trees let me do a random lookup like this, though, as I'm no filesystems guy... :/
23:21:49 <elliott> Any ideas? :p
23:22:56 <ais523> the trick with filesystem-style things is to reduce the number of seeks you need
23:23:17 <ais523> but I'm far from an expert on that sort of thing either
23:23:30 <elliott> I hear B-trees are used, but *eh*, serialisation format can wait!
23:23:33 <elliott> Who tracks revisions on disk anyway.
23:25:51 -!- augur has quit (Ping timeout: 260 seconds).
23:26:49 <Vorpal> Deewiant, does the server work for you?
23:26:57 <Vorpal> Deewiant, I get null pointer exception all the time no
23:26:58 <Vorpal> now
23:27:06 <Deewiant> I'm connected
23:27:06 -!- zzo38 has quit (Quit: Now I will write TeXnicard.).
23:27:23 <Vorpal> Deewiant, I had some weird item dupe bug then got disconnected
23:27:37 <Vorpal> I'll wait a few minutes for anything floating around there to get timed out
23:27:41 <Vorpal> then I'll try again
23:28:00 <Vorpal> Deewiant, if that doesn't work, do you have any way to poke the server?
23:28:41 <Deewiant> Poke?
23:29:06 * oerjan has to admit all the spam in the esoforum doesn't look good, even if the noise is visible mainly because the signal is so tiny
23:29:33 <Vorpal> Deewiant, as in, get in contact with ineiros
23:29:41 <Deewiant> Nope
23:29:57 <elliott> Yes, I'm sure ineiros REALLY WANTS TO BE CONTACTABLE 24/7 FOR THIS.
23:30:09 <elliott> In fact, Vorpal, maybe you should move in with him and watch him sleep.
23:30:19 <elliott> If the server goes down you could just breathe into his face until he wakes up.
23:30:27 <Vorpal> elliott, strawman
23:30:40 <elliott> Sure, you could make an effigy of ineiros while you're there.
23:30:43 <elliott> Out of straw.
23:30:44 <oerjan> elliott: clearly what we need here is some kind of server-dream interface
23:30:58 <oerjan> oh wait logic turns off when you sleep. never mind.
23:31:07 <elliott> oerjan: Maybe we could just rewire ineiros's brain to connect to Minecraft when he sleeps.
23:31:14 <elliott> ...hell, *I* would go for that
23:32:40 -!- augur has joined.
23:33:02 <elliott> ais523: hmm, any opinions on Unicode support?
23:33:17 <ais523> it's obviously better than no Unicode support
23:33:20 <elliott> ais523: I /think/ at least the first paragraph won't have a smaller VCS-relevant unit than the line, so it isn't a big problem there
23:33:37 <elliott> so I guess it's just patch descriptions etc., where it's obviously a good thing
23:33:39 -!- Sgeo has joined.
23:33:59 <ais523> I'd suggest as using lines as the VCS basis to get something working, and switching to pluggable bases later
23:34:01 <Sgeo> I will IRC, homework, and verb nouns at the same time
23:34:08 <elliott> ais523: oh, and at the moment, the model of scapegoat we have /will/ mangle any binary file it can if you stuff one in
23:34:10 <elliott> well, maybe
23:34:12 <ais523> also, with patch descriptions, etc, couldn't you just store them verbatim
23:34:17 <elliott> I suppose if \r isn't treated specially, it could be okay
23:34:21 <elliott> certainly won't get small patches though
23:35:17 <elliott> oerjan: http://esolangs.org/wiki/Talk:Tubes#Boxdrawing_symols aaargh painful to read
23:35:30 <elliott> oerjan: why don't you delete that page, seeing as you're a wiki admin as we all know >:D
23:35:33 <elliott> ais523: true
23:35:33 <ais523> elliott: I stayed well out of that, because I couldn't understand what it was about
23:36:09 <elliott> ais523: "I want a charset encoding that has box-drawing chars as single bytes. What is it? (Is it obscure? If so, I'd better not use it.) Here is a C-based demonstration that I have no idea what the hell I'm talking about, and also use Windows. Goodbye!"
23:37:28 <ais523> I think he's talking about IBMgraphics, potentially
23:37:30 -!- ChanServ has set channel mode: +o oerjan.
23:37:41 -!- oerjan has set channel mode: +b *!*Sgeo@*.dyn.optonline.net.
23:37:42 <elliott> ais523: yes, which == codepage 437
23:37:47 <elliott> oerjan: <3
23:38:01 <oerjan> (he asked me to do this yesterday if he failed the temptation)
23:38:04 <elliott> i know
23:38:15 <elliott> i like how you waited before pouncing
23:38:28 <oerjan> actually i didn't i just was web browsing :D
23:38:47 <elliott> oerjan: but it LOOKED like you did
23:38:49 -!- oerjan has set channel mode: -o oerjan.
23:38:58 <elliott> i think he's crying now, he isn't responding to my /msg :D
23:42:00 <elliott> <elliott> SORRY NO CAN DO
23:42:00 <elliott> * Sgeo drowns elliott in tears
23:42:07 <elliott> oerjan: you forgot to ban his clog access
23:43:16 <Vorpal> well, night
23:43:53 <Vorpal> <@oerjan> (he asked me to do this yesterday if he failed the temptation) <-- what temptation?
23:44:09 <elliott> Vorpal: to not go to bed
23:44:12 <elliott> *COUGH*
23:44:28 <oerjan> Vorpal: the temptation to irc when he needed to do his homework
23:44:35 -!- Mathnerd314 has joined.
23:44:36 <Vorpal> elliott, actually I just observed it was night
23:44:37 <Vorpal> elliott, :P
23:44:43 <elliott> ais523: should object keys be Unicode? :-D
23:44:49 <Vorpal> elliott, the observation is still accurate
23:47:03 <elliott> "Minecraft is a game about placing blocks to build anything you can imagine. At night monsters come out, make sure to build a shelter before that happens."
23:47:08 <elliott> Worst sales text ever.
23:51:41 <ais523> elliott: are you forgetting Enigma?
23:51:50 <ais523> enigma contains different floors !
23:51:58 <nooga> ;d
23:51:58 <elliott> ais523: dammit, I *did* just forget about that before you reminded me
23:52:08 <elliott> now the general quality of things in my head has decreased significantly
23:52:13 <nooga> i want minecraft ;f
23:52:15 <ais523> still, you never know, it /could/ help
23:52:27 <elliott> ais523: if I ever need to cheesy someone to death?
23:52:33 <elliott> also, sorry it, I retract that statement
23:52:39 <ais523> elliott: well, it's bad enough for people to talk about it
23:52:46 <elliott> ais523: "Downloading of large movie clips is useful, as you will likely review them many times."
23:52:49 <elliott> not /that/ one, I sure won't!
23:52:52 <ais523> nooga: have you seen the Enigma trailer? it's hilarious
23:54:17 <elliott> nooga: http://www.youtube.com/watch?v=WV9l26Y-mBk
23:54:35 <elliott> nooga: (turn up for bad music)
2010-12-17
00:03:40 <elliott> ais523: I was about to ask whether you considered objects being non-plaintext OK but then realised that it's in a DB anyway...
00:03:43 <elliott> SO NEVER MIND
00:07:52 <elliott> omg, can someone kill google for me?
00:10:55 <Vorpal> ineiros, my account seems broken. Could you when you see this message remove the files for it (same as you did for PH when he became a ghost)
00:11:25 <elliott> I was a ghost earlier today and didn't whine about it.
00:11:28 <elliott> I just reconnected and killed it.
00:12:47 <ineiros> Vorpal: Done.
00:13:26 <elliott> ineiros: He's moving in with you BTW.
00:13:37 <elliott> <Vorpal> Deewiant, if that doesn't work, do you have any way to poke the server?
00:13:38 <elliott> <Deewiant> Poke?
00:13:39 <elliott> <Vorpal> Deewiant, as in, get in contact with ineiros
00:13:44 <elliott> ineiros: Make room.
00:15:16 <elliott> Vorpal: hey you're not the most paranoid person ever now
00:15:18 <elliott> http://www.minecraftforum.net/viewtopic.php?f=25&t=106877
00:15:54 <elliott> "I don't trust you, you're lying, make a video to prove you made this" [other person] "here's a pic" [creator] "I'll make a video" [first person] "No we need a video AND a virus scanner because I am scared to even touch a zip if it might have viruses inside oh god"
00:16:28 <elliott> "I unzipped it into a sandbox, avast doesn't showed anything after the scan, it contains a world folder, with usual chunk folders but some strange text/nonextension files" <-- apparently dotfiles are viruses now
00:17:00 <elliott> "Avast crashed near the end when it was scanning those files, so i dont know, Dont wanna risk putting it into my minecraft saves folder. Might steal mah account D:"
00:17:09 <elliott> The stupidity of this place is literally unmatched and unbounded.
00:17:47 <elliott> http://img35.imageshack.us/img35/8152/31306982.png I have no idea how this image is meant to verify that the poster is not the original creator.
00:18:50 <elliott> LOL wtf, one of the people has this in their signature http://www.spa.org/images/stories/logos/468x60_tag.gif
00:18:52 <elliott> seriously??
00:18:54 <elliott> advertising a piracy hotline?
00:19:02 <elliott> IT'S 5 AM DO YOU KNOW WHERE YOUR SOFTWARE IS?
00:19:27 <elliott> "my theroy is he stolen this from another creator and is trying to get unfair gratitude/money (i hate donate buttons) from it."
00:19:51 <elliott> [[ ScottyDoesKnow wrote:You guys do realize that you can only get viruses from certain types of files right? Next somebody will post a text file and you guys will be like "ON NOEZ I'M NOT DOWNLOADING YOUR VIRUZES"
00:19:51 <elliott> Not true. Text files can contain commands to delete system32 or something else that is vital.]]
00:19:55 <elliott> this is so hilarious
00:19:57 <elliott> like a trainwreck
00:19:59 <elliott> can't stop watching
00:24:05 <nooga> elliott: yeah, despite that... enigma is playable
00:24:15 <elliott> nooga: Enigma is a wonderful game and ais523 knows that more than anyone else.
00:24:19 <elliott> It's just a TERRIBLE trailer :P
00:24:31 <nooga> i played oxyds when i was kid
00:25:18 <nooga> ehy ais523 ?
00:25:21 <nooga> why*
00:25:32 <elliott> nooga: he's made some levels, including ones that implement other games, with actual AI
00:25:38 <elliott> included in Enigma
00:25:42 <nooga> oh
00:25:45 <elliott> Anyone else = anyone else in here.
00:25:51 <ineiros> elliott: Good, my rent is killing me. :P
00:25:55 <elliott> nooga: he also single-handedly wrestled a bear to death
00:26:00 <elliott> ineiros: Oh no, he's not going to help with that.
00:26:10 <nooga> ineiros: hehe, same
00:26:13 <elliott> ineiros: He just wants to watch you sleep so that if the server goes down, he can breathe in your face until you wake up to fix it.
00:27:53 <ineiros> That's... disturbing. I might not sleep this night. :P
00:28:33 <elliott> ineiros: It's okay... he'll tuck you in silently.
00:28:37 <elliott> Like a ninja, except creepy.
00:33:23 -!- Goosey has joined.
00:34:14 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
00:35:45 -!- poiuy_qwert has joined.
00:37:28 <elliott> Vorpal: WHOOPS LOOK AT THAT http://i299.photobucket.com/albums/mm301/r3ynor/plateau8.png in-air minecarts in single-player survival game
00:37:30 <elliott> circa august
00:37:33 <elliott> guess mobs don't destroy it
01:02:22 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
01:06:42 -!- sebbu2 has joined.
01:10:04 -!- sebbu has quit (Ping timeout: 272 seconds).
01:15:54 -!- sebbu has joined.
01:17:38 -!- augur has quit (Remote host closed the connection).
01:18:12 -!- augur has joined.
01:19:02 -!- sebbu2 has quit (Ping timeout: 265 seconds).
01:22:48 -!- augur has quit (Ping timeout: 260 seconds).
01:30:34 -!- Mathnerd314 has joined.
01:38:04 <elliott> Vorpal: fizzie: Better Grass + Better Light + Far rendering distance + Fancy graphics + 128x128 Sanguine texture pack = oh god it is so pretty but my GPU hates me forever
01:42:44 <elliott> even the ROU is pretty
01:45:08 <oerjan> ok what the heck does ROU mean
01:45:43 -!- p_q has joined.
01:45:58 <elliott> oerjan: Rapid Offensive Unit apparently. it's a type of ship from the Culture
01:46:14 <elliott> PH built a gigantic scale replica (200 blocks long, 1 block ~= 1 m^3)
01:46:29 <elliott> out of cobblestone.
01:46:32 <elliott> floating in the air, no less.
01:46:37 <oerjan> aha
01:47:02 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
01:47:16 <oerjan> you can defy gravity in minecraft?
01:47:39 * oerjan <- not a player, obviously
01:53:28 -!- p_q has quit (Ping timeout: 276 seconds).
01:53:50 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
01:56:37 -!- p_q has joined.
02:02:20 <elliott> oerjan: yes
02:02:24 <elliott> oerjan: unless it's sand, or gravel
02:02:36 <elliott> oerjan: in which case gravity applies because obviously, the more granular something is, the more easily it falls
02:02:46 <oerjan> heh
02:02:58 <oerjan> _obviously_
02:02:59 -!- augur has joined.
02:04:31 <Ilari> Wonder how much better it would look if there was also triangular and pyramidal blocks...
02:05:03 <elliott> Ilari: VIOLATING THE PURITY
02:05:13 <elliott> Ilari: (Admittedly we have half-high blocks and doors and buttons and switches and torches :P)
02:14:05 <Ilari> Granular objects get teared apart much more easily by gravitational tidal forces... :-)
02:15:29 <elliott> Ilari: See, it's obviously logical.
02:15:32 <elliott> Ilari: This is why cobblestone floats.
02:15:34 <elliott> Also dirt.
02:15:39 <elliott> Dirt is, uh, less granular than sand and gravel.
02:15:40 <elliott> STOP QUESTIONING
02:15:49 <Ilari> Fridge logic...
02:17:26 <Ilari> Even ordinary planets can generate powerful enough tidal forces to rip apart objects that aren't solid...
02:18:42 <Ilari> (the forces from gravitational gradient are greater than object self-gravity).
02:19:40 -!- Mathnerd314 has joined.
02:24:20 <Ilari> 100m "rubble pile" of 10cm rocks would become about billion fragments if fragmented...
02:30:59 <Ilari> Trying some scenarios in Earth impact effects program: "Max wind velocity: 637 m/s" "Sound Intensity: 117 dB (May cause ear pain)".
02:33:37 <Ilari> 600+ m/s wind would essentially destry anything on its path. 100m/s for tornado would be in EF5 (Total destruction) catagory...
02:36:16 <pikhq_> Uuuh, damn, that's not far from being an actual shockwave from an explosion.
02:37:10 <pikhq_> See if you can get it up to 194 dB.
02:37:26 <pikhq_> (the maximum possible sound pressure in air at 1 atm)
02:37:29 -!- pikhq_ has changed nick to pikhq.
02:39:08 <Ilari> Peak overpressure 40.3bar, peak wind 1590m/s, peak sound intensity 132dB...
02:40:06 <Ilari> 67bar, 2070m/s, 137dB...
02:41:02 <Ilari> 111bar, 2670m/s, 141dB... I don't think this is going to go much higher...
02:43:43 <Ilari> Heh... Current dB drag racing record is 180.5dB...
02:53:50 -!- sftp has quit (Read error: Connection reset by peer).
03:45:12 <elliott> ais523: i need an opinion
03:45:21 <elliott> ais523: is it okay if object bodies are limited to 2 gigabytes? :D
03:45:33 <elliott> actually it'd probably be fine limited to 64k, since objects are always pretty darn small
03:45:38 <elliott> but 32-bit is Future Proof(TM).
03:45:53 <oerjan> yeah no one cares about fat objects anyway
03:46:41 * oerjan thought ais523 had a near normal sleep schedule
03:49:11 <elliott> oerjan: no way :)
03:49:18 <elliott> oerjan: he's been on american time, before
03:49:27 <elliott> oerjan: IIRC just because of collaborating with an American on something
03:49:34 <oerjan> hm
03:49:40 <elliott> oerjan: also as you've probably seen he has a tendency to be at work at 9pm :P
03:50:18 <oerjan> i said sleep schedule, not work schedule
03:51:04 <elliott> oerjan: right, just saying
04:03:07 <pikhq> Normal sleep schedules are overrated.
04:03:12 <coppro> very
04:03:32 <pikhq> The closest I've been to "normal" the past couple years is going to bed a bit after midnight.
04:03:33 <coppro> I'm happy with my sleep schedule of "go to bed whenever. wake up whenever"
04:03:46 <coppro> I think I've pulled at least an all-nighter a week
04:03:50 <pikhq> Which is actually so astonishingly close to normal that you can actually interact with people IRL with ease doing it.
04:04:05 <pikhq> Kinda odd that I've been able to do it regularly.
04:04:09 <coppro> more if you count going to bed at 5-6am an all-nighter
04:04:27 <elliott> coppro: my problem is that i have terrible akrasia wrt going to bed so i end up tired all the time
04:04:30 <oerjan> pikhq: um i consider "a bit after midnight" within normal range.
04:04:33 <elliott> and also waking up when it's dark or near it depresses me
04:04:53 <coppro> elliott: oh, so do I
04:05:02 <coppro> I rarely wake up when it's dark though
04:05:07 <elliott> coppro: solution: better living through chemistry! remind me to buy that melatonin sometime.
04:05:24 * coppro slaps elliott
04:06:26 * oerjan either forgot or didn't dare to ask the doctor about melatonin yesterday
04:06:57 <oerjan> but on the plus side, i seem not to have diabetes. yay!
04:07:00 <pikhq> oerjan: It's just at the very *edge* of normal, though.
04:10:44 <oerjan> elliott: it looks like some people are migrating from r/programming to r/coding
04:11:31 <elliott> oerjan: just like they did when /r/coding first came around; but there's always been a strong air of anti-Haskellism on /r/coding from what I've seen
04:11:38 <elliott> and a focus on "practical" shit
04:11:43 <oerjan> ah.
04:11:57 <elliott> oerjan: it may be getting better. will have to see.
04:11:59 * oerjan hasn't been to r/coding himself
04:12:13 <pikhq> Who gives a shit about practical? It should be about being interesting!
04:12:17 <elliott> oerjan: e.g. bonch was one of the first users and he's the one behind the Haskell-post-drinking-game spam he put on every haskell post he could find
04:12:28 <elliott> TAKE A DRINK / FOR EVERY HASKELL LINK or something
04:12:31 <pikhq> If it's practical and interesting, awesome. If it's completely impractical and interesting, also awesome!
04:12:32 <elliott> then "Here's to another"
04:12:32 <elliott> IIRC
04:13:58 <elliott> "I had an article to write, but the only word processor I could find on my iMac was TextEdit, essentially a stripped-down version of Notepad." --Reviewer, about OS X, failing to note that TextEdit is vastly more powerful than Notepad, and also not noting that Windows ships with no word processor.
04:14:05 <elliott> FAIR AND BALANCED, STRAIGHT FROM THE HUFFINGTON POST
04:14:16 <elliott> "It didn't take long to become frustrated with the iMac mouse too. It limped across my desk, the "on" switch, which is located on the belly of the mouse, scraping the mahogany of my desk as it went."
04:14:19 <elliott> Also he can't afford a mouse pad.
04:14:29 <elliott> "I booted up my bank account before realizing the Mac keyboard had no number pad"
04:14:34 <elliott> Or select the other keyboard option. Or plug in a USB one.
04:14:37 <pikhq> elliott: Windows ships with Wordpad, which actually *is* a word processor.
04:14:42 <elliott> "Neither did Ipswitch FTP, my file-uploader."
04:14:44 <pikhq> A fairly basic one, but that's beside the point.
04:14:48 <elliott> Nor can he, apparently, use another FTP app.
04:14:54 <elliott> pikhq: TextEdit is a word processor too.
04:14:58 <elliott> It has font settings, line spacing, etc.
04:15:04 <elliott> RTF-native, like WordPad.
04:15:18 <oerjan> elliott: heh i just looked at r/coding and two of the top ten links are about haskell :D
04:15:20 <pikhq> Hmm, sure enough, it's essentially on par with Wordpad.
04:15:23 <elliott> "My .flv and .mkv files triggered only error messages, and some of my .mpg clips opened to blank screens."
04:15:30 <elliott> BECAUSE WINDOWS SUPPORTS .MKV OUT OF THE BOX AND I CAN'T DOWNLOAD PERIAN
04:15:43 <elliott> "I opened Mac's Thunderbird, and my jaw dropped again. The font on every email was so small, I was going to need the Hubble telescope just to answer my morning mail."
04:15:45 <elliott> what the fuck
04:15:51 <elliott> you just bought it looking for things to complain about.
04:15:54 <elliott> oerjan: lawl
04:15:57 <pikhq> I think the only OS that does media playback out of the box is... Linux distros.
04:16:10 <pikhq> Well, *general* support for it.
04:16:12 <elliott> pikhq: Hmm? My Slackware install plays your .mkvs not. :P
04:16:21 <pikhq> elliott: True, it depends on the distro.
04:16:37 <elliott> "There were two obvious solutions: For the next few years I could type every letter in 16-point font, then decrease the font size just before sending it, or I could decrease the screen's radically high resolution. I sighed, realizing this was yet another Mac complication for a function my PC simply performed without fuss."
04:16:46 <elliott> JOURNALISM: It's when you complain about high PPI screens.
04:17:03 <pikhq> But... Yeah, it's usually at least a bit of a pain to get support for non-WMV or MPEG on Windows or non-Quicktime or MPEG on Mac OS.
04:17:05 <elliott> "I found the screen settings and slid the resolution bar down one notch. Suddenly everything was fuzzy. The blood vessels in my eyes began to constrict again."
04:17:07 <elliott> It's called LCDs.
04:17:17 <elliott> "The final straw came when Mac's Firefox took me to my website. To my horror, all the spacing was askew, the graphics tossed left and right like the wreckage of a hurricane. I asked myself: As a web designer, how can I design web pages when I can't see what 90 percent of my viewers are seeing?"
04:17:21 <elliott> One might -- and bear with me here --
04:17:26 <elliott> Blame your website rather than WebKit.
04:17:42 <oerjan> elliott: oh and _the_ top link doesn't mention haskell ... but it is an _oleg_ link :D
04:17:53 <elliott> oerjan: that's what we need!! /r/oleg
04:17:59 <pikhq> elliott: s/WebKit/Gecko/ He *said* Firefox, did he not?
04:18:07 <elliott> pikhq: oh indeed :D
04:18:20 <pikhq> elliott: ... Also, couldn't he just *set the DPI for his monitor right*?
04:18:23 <elliott> oerjan: if you could, wouldn't you just read oleg all day.
04:18:35 <elliott> pikhq: it's a built-in display, and OS X doesn't really support setting the ppi.
04:18:38 <elliott> pikhq: so. he has like. half a point.
04:18:48 <pikhq> elliott: Okay, that's kinda stupid.
04:18:57 <elliott> pikhq: (the "plan" is to get all of OS X's graphics scalable or something and then turn on automatic ppi detection so that /everything/ scales properly)
04:19:03 <elliott> pikhq: it's not like apple would ship a half-done solution ;)
04:19:07 <pikhq> elliott: But I'm suspecting *he's* the one being stupid.
04:19:27 <elliott> [[For a second I thought, well, I could load Parallels, the Mac OS program that allows you to run Windows applications on your iMac. But that plan was squashed fast. Before I could complete Parallels' installation, it asked for a copy of the Windows CD. I shook my head in disbelief: where the hell am I going to get a copy of the Windows CD?]]
04:19:35 <elliott> Macs are bad because I don't know where I can buy Windows.
04:19:36 <pikhq> Because it's not like a PPI issue is going to be Mac OS's fault.
04:19:38 <elliott> What.
04:19:56 <pikhq> Run Windows on a very high PPI screen and everything is about the same.
04:20:06 <elliott> "I'm returning my iMac, then headed to Best Buy to snag a PC, one four-times faster than my current computer and $400 cheaper than that iMac."
04:20:14 <elliott> And this one will fall apart seven times faster, too!
04:20:23 <elliott> "I'll spend the difference on a video editing program, a new haircut and a first-rate pair of swing dancing shoes."
04:20:23 <pikhq> Except that unless you have the very latest version, it'll look like shit if you change your setting to match your display!
04:20:26 <elliott> I am going to punch you in the testicles.
04:21:12 <pikhq> elliott: Oh, so he doesn't know the difference between decent-quality hardware and the cheapest shit that still works, either?
04:21:13 <oerjan> elliott: um no.
04:21:24 <elliott> oerjan: why not.
04:21:43 <pikhq> Not to mention that he... Can't buy a copy of Windows?
04:21:55 <pikhq> It's not like that's *niche*.
04:21:57 <elliott> pikhq: that article has managed to piss me off to the point where it's actually increased my already-present niggling desire to buy one of those shiny new MacBook Airs :D
04:22:01 <elliott> (to put Ubuntu on)
04:22:04 <pikhq> Go to any store that sells software.
04:22:11 <elliott> pikhq: (now is the time to convince me not to, by the way)
04:22:22 <pikhq> elliott: Only if you buy me one. :P
04:23:16 <elliott> pikhq: I'm sorry, only one of us can have a 1.32 kg, 0.11-0.68 inch high, 13" 1440x900, 2.13 GHz Core 2 Duo with 256 GiB of SSD storage and a Nvidia GeForce 320M GPU. And ~6-7 hours battery life.
04:23:23 <elliott> And a multitouch glass trackpad.
04:23:38 <elliott> And no fucking Ethernet port so they swindle you out of the money for the USB 2 adapter for it. :p
04:23:49 <pikhq> Sucks for you, doesn't it?
04:23:50 <elliott> (Admittedly, it is thinner than an Ethernet cable at all points.)
04:23:51 <pikhq> :P
04:24:02 <elliott> also it can only do about 80 Mbit ethernet because of USB 2 but really who cares
04:24:07 <elliott> i don't have other computers to LAN with :P
04:24:08 <oerjan> elliott: because reading much oleg would make my brain hurt just as much as anyone else's
04:24:30 <pikhq> elliott: Uh, USB 2 is 480 Mb/s nominal.
04:24:39 <elliott> pikhq: well, it doesn't manage more than 80 Mbit :P
04:24:41 <pikhq> elliott: Surely it can sustain 100 Mb/s.
04:24:44 <elliott> pikhq: it's 100 Mbit ethernet only
04:24:47 <elliott> pikhq: dunno why 80, oh well
04:24:58 <elliott> pikhq: it's actually a network adapter encased in plastic, since the motherboard doesn't even have a PHY
04:25:30 <elliott> pikhq: the machine, the ethernet adapter, and the USB optical drive total to £1,599.02, which is really a ridiculous figure considering this machine cost about £500 :)
04:25:40 <elliott> but it's shiny and thin and gaaah logical brain functions disabled.
04:25:46 <elliott> oerjan: hurt or AWESOME
04:25:55 <pikhq> "USB optical drive"? Who needs such outmoded media?
04:26:08 <elliott> pikhq: OS X upgrades are not yet offered via USB stick afaik :P
04:26:17 <pikhq> Fuck OS X.
04:26:19 <elliott> admittedly, it would save £65.
04:26:27 <elliott> pikhq: You need OS X to upgrade the EFI. Also because of shiny.
04:26:42 <pikhq> Fuck the Macbook Air, then.
04:26:58 <elliott> pikhq: I'll cut you a deal. Work on scapegoat for a few years with me and ais523, and I'll buy you the 11" model. 1.4 GHz processor, 2 GiB RAM, 64 GiB flash storage. £849!
04:27:32 <elliott> pikhq: (Anyway, the next OS X updates will probably be available by the Steve Jobs Ego-Enhancing Spooge Factory, also known as the Mac App Store, so you shouldn't actually need an optical drive.)
04:27:38 <pikhq> But by that time I'll probably have a degree and good employment!
04:30:47 <elliott> pikhq: Yes, but you'll still be unable to bring yourself to buy a Mac.
04:30:55 <elliott> pikhq: Also, good employment: USA: job market: HAHAHAHAHAHAHAHAHAHAHAHA
04:31:10 <elliott> pikhq: Maybe we could get ais523 to somehow employ us to work on scapegoat.
04:32:29 <pikhq> elliott: I intend to expatriate.
04:33:19 <elliott> pikhq: World: Job market: HAHAHAHAHA
04:34:02 <pikhq> elliott: Funny, seems to me the rest of the world is merely in a recession, rather than trying its hardest to *ruin everything*.
04:34:21 <elliott> pikhq: Recession.
04:34:59 * Gregor seems to be gainfully employed, and in the USA :P
04:35:54 <elliott> Gregor: Yes, but you have a jew nose and hats.
04:35:56 <elliott> Also ties.
04:36:00 <elliott> pikhq has none of these things.
04:36:10 <oerjan> what recession? </norwegian trollface>
04:36:21 <elliott> oerjan: JUST WAIT UNTIL YOU RUN OUT OF OIL
04:36:23 <elliott> JUST WAIT
04:36:28 <Gregor> Hats are expensive, but I'd be happy to punch pikhq in the face, and you can get ties at any goodwill.
04:36:29 <elliott> WE'LL GO TO WAR WITH YOU TO SEE IF YOU'RE LYING OR NOT
04:36:43 <elliott> Gregor: No amount of punching can reach jewnose status :P
04:37:55 <elliott> Gregor: Maybe if you committed suicide and also killed all the other jews, after punching pikhq in the face, he might have the biggest nose.
04:37:57 <elliott> But until then. No.
04:38:43 <Gregor> It's not size, it's shape.
04:38:48 <Gregor> I mean, yeah, it's size :P
04:38:51 <Gregor> But it's mainly shape!
04:41:06 -!- zzo38 has joined.
04:42:14 <elliott> Gregor: Sort of like penises.
04:46:06 -!- hagb4rd has quit (Quit: hagb4rd).
04:46:07 <oerjan> elliott: we already passed peak oil, actually. now the buzz is mainly about natural gas.
04:47:19 <elliott> oerjan: shut up.
04:47:42 <oerjan> and our ministers of finance have been fond of reminding us that despite oil and all, norway's largest amount of capital remains its workforce.
04:49:08 * pikhq has a big nose, actually.
04:50:17 <pikhq> oerjan: You guys also have the property of having things damned nice. I mean, aside from the weather, Norway sounds like an incredibly nice place to be.
04:51:46 <Gregor> Well, apart from being ... y'know ... Norway.
04:52:27 <pikhq> Gregor: Oh, like you're one to talk. You live in the same country as Palin.
04:52:59 <Gregor> pikhq: And you live in the same country as Bush!
04:53:05 <pikhq> Oh God.
04:53:43 <pikhq> Where's my sword. I need to ritually remove a large portion of my digestive system, thereby causing death.
04:54:20 * oerjan imagines if bush had been born in japan instead. scary.
04:54:50 <oerjan> mass suicide all over
04:55:03 <pikhq> oerjan: Except Bush couldn't do as much there.
04:55:14 <pikhq> oerjan: If Japan goes all crazy and stuff, the world can just tell them to fuck off.
04:55:26 <pikhq> oerjan: If the US goes all crazy and stuff, well, there goes a country.
04:55:50 <oerjan> pikhq: only until japan develops the giant robots
04:56:06 <pikhq> Well, yes, Japan with mechs would fuck us all.
04:56:36 <pikhq> (citation: half of all siȳônenn anime.)
04:57:39 <oerjan> pikhq: i think it _would_ be nice if you used a transcription i could actually google :D
04:58:13 <pikhq> oerjan: Fine, fine.
04:58:15 <pikhq> oerjan: Shonen
04:58:27 <oerjan> i just guessed that actually
04:59:03 <pikhq> Alternately, you could just learn the rules of Japanese orthography minus the glyphs. :P
04:59:18 <pikhq> (which is literally all that there is to my transcription scheme...)
04:59:27 <oerjan> mhm
05:00:54 <elliott> pikhq: please translate "desu" to your scheme so i can troll /classily/
05:01:11 <pikhq> tèsu
05:04:39 * pikhq listens to ナイトフィシングイズグッド (NAITO HUĪSINNKÙ ISÙ KÙ'TÒ)[Night Fishing Is Good] by サカナクション (SAKANAKUSIȲONN)[Sakanaction] happily
05:04:57 * pikhq also wonders what's with the Engrish in the title
05:05:17 <pikhq> Only problem with Japanese music: knowing English makes much of it painful.
05:06:55 <elliott> I disagree night fishing is AWESOME
05:07:11 <pikhq> 'Tis a good album.
05:07:35 <Gregor> A lot of problems with the Japanese seem to come down to the fact that Japan wants to be America Jr.: All the America, None of the Fat!
05:07:59 <pikhq> Gregor: Not really.
05:08:15 <pikhq> Gregor: At least, that explains absolutely *none* of the WTF factor you get from there.
05:08:39 <Gregor> Oh, there's a unique WTF factor of course, but that's combined with Americaphilia.
05:08:59 <pikhq> They actually have severe foreignphobia...
05:09:07 <pikhq> "OH GOD IT'S FROM OUT OF THE COUNTRY"
05:09:44 <pikhq> And they have NIH to an extent that would shock zzo38.
05:09:48 <Gregor> Just - like - America
05:09:55 <Gregor> Err, to the last part
05:10:01 <quintopia> who likes awful puns?
05:10:18 <quintopia> (that's a rhetorical question)
05:10:26 <quintopia> oerjan: see latest xkcd
05:10:58 <elliott> quintopia: it's xkcd, the ID is above 400, and Randall is off his five-minute-comics-that-are-actually-funny streak.
05:11:05 <elliott> there is no reason to type in the keys x k c d . c o m enter
05:11:10 <pikhq> Gregor: Do Americans only usually take tours of foreign countries in highly coördinated tours with swarms of fellow Americans?
05:11:23 <pikhq> Gregor: Cause, uh, that's kinda a social norm in Japan.
05:11:26 <quintopia> elliott: you do not like awful puns. oerjan does. that should be reason enough for him.
05:11:31 <elliott> verified terrible
05:11:37 <elliott> quintopia: even oerjan recognises how bad xkcd is :)
05:11:47 <quintopia> ah well
05:11:49 <elliott> pikhq: http://en.wikipedia.org/wiki/Paris_syndrome
05:11:57 <elliott> (http://en.wikipedia.org/wiki/Jerusalem_syndrome is interesting)
05:12:07 <Gregor> pikhq: No, Americans just refuse to acknowledge that other countries exist.
05:12:09 <elliott> also http://en.wikipedia.org/wiki/Stendhal_syndrome
05:12:23 <quintopia> as far as awful puns go, this one made me giggle slightly more than his usually do, so i'm going to give him half credit
05:12:33 <ais523> hmm, someone on a forum suggested using Wikipedia to predict the day of the week future dates would fall on
05:12:39 <ais523> wouldn't a calendar work better?
05:12:47 <quintopia> ...or do it in your head
05:12:52 <quintopia> it's a pretty simple calculation
05:13:19 <elliott> http://en.wikipedia.org/wiki/The_terrorists_have_won wikipedia confirms ir
05:13:20 <pikhq> Gregor: Okay, true, the US kinda has it bad, too.
05:13:20 <elliott> *it
05:13:30 <elliott> ais523: better than Doomsday imo
05:13:31 <elliott> :D
05:13:41 <elliott> ais523: i might implement a cal(1) that does that
05:13:55 <pikhq> Gregor: But *dear God they create their own everything* when it comes to tech for no good reason.
05:13:59 <ais523> (I'm reading about the efforts to crack the RNG in the new Pokémon games; they created something crazy with internal timings, DS ID numbers, MAC addresses, SHA-1 hashing, and to-the-frame timings, and yet people /still/ cracked it by disassembling the code)
05:14:24 <pikhq> ais523: Link?
05:14:38 <elliott> ais523: i bet reverse engineers would hate it if companies just gave up and didn't obfuscate anything
05:14:40 <elliott> where's the fun gone
05:14:41 <elliott> :P
05:14:50 <elliott> ais523: i think i pinged you a few times in the log
05:14:52 <elliott> don't recall
05:14:54 -!- TLUL has joined.
05:14:59 <ais523> pikhq: Smogon Univeristy's RNG research threads
05:15:17 <ais523> I'm not sure if there's a single post summarising yet
05:15:29 <elliott> 19:45:21 <elliott> ais523: is it okay if object bodies are limited to 2 gigabytes? :D
05:15:29 <elliott> 19:45:33 <elliott> actually it'd probably be fine limited to 64k, since objects are always pretty darn small
05:15:29 <elliott> 19:45:38 <elliott> but 32-bit is Future Proof(TM).
05:16:16 <ais523> elliott: only object I can see getting that large is a binary blob which is being stored per-file rather than per-byte (the only two units of measurement that make sense for a binary with no format data)
05:16:38 <elliott> ais523: yeah, I'll go with 48-bit or 64-bit prolly "just in case"
05:16:42 <elliott> remind me to, please :P
05:16:43 <elliott> or just...
05:16:47 <elliott> ===HEY YOU, ELLIOTT
05:16:49 <ais523> bignum?
05:16:51 <elliott> wait no
05:16:55 <elliott> ===HEY, LISTEN!===
05:16:55 <elliott> ===HEY, LISTEN!===
05:16:55 <elliott> ===HEY, LISTEN!===
05:16:56 <elliott> ===HEY, LISTEN!===
05:17:03 <elliott> there, that should make me recoil enough to pay attention
05:17:08 <elliott> ais523: in a binary file format?
05:17:16 <elliott> ais523: basically pointless, show me a >64-bit-length file :)
05:17:19 <ais523> elliott: where did you pick up zelda memes from?
05:17:41 <ais523> also, in a suitable encoding, bignums would generally be less than 64 bits long
05:17:41 <elliott> ais523: hey listen is more an everywhere meme than a zelda-specific one... also i /have/ played some of the zeldas (plural!)
05:17:58 <elliott> not very far, admittedly, but enough to want to claw navi's eyeballs out. did it have eyeballs? i forget.
05:18:08 <ais523> I thought Ocarina of Time was what started the meme in the first place
05:18:29 <ais523> even if it spread from there
05:18:46 <ais523> also, I was watching a video of someone glitching their way through the whole game (tool-assisted)
05:18:46 <elliott> it is
05:18:59 <ais523> and it turns out that the infinite sword glitch can be triggered off anything that displays a message
05:19:04 <ais523> including Navi's advice
05:19:15 <ais523> so someone actually found a use for it in a maximum-speed glitched speedrun, which was hilarious
05:19:30 <elliott> heh
05:19:46 <oerjan> <elliott> quintopia: even oerjan recognises how bad xkcd is :) <-- NO I DON'T! ER WAIT...
05:19:54 <elliott> ais523: someone should make a pokemon rom hack that lets you DISABLE ALL THE FUCKING REPEATED TEXT
05:19:59 <elliott> like telling you what a pokecentre is every fucking time
05:20:11 <elliott> does it restore my pokemon to full health! really! i didn't know that. thanks for the tip.
05:20:18 <ais523> we hope to see you again!
05:20:28 <ais523> (they actually fixed that for black and white when they realised the implications)
05:20:57 <ais523> also, ooh, an interesting theory
05:21:08 <pikhq> elliott: Probably the most annoying thing about Pokémon is the very slow walk speed.
05:21:26 <ais523> it's that the crazy generation method, because it's based off internal timings, is meant to detect whether you had an action replay connected when you caught the Pokémon or not
05:21:26 <pikhq> It's such fucking filler.
05:21:30 <elliott> pikhq: my finger is in a permanent press-B-down position
05:21:42 <elliott> *thumb
05:21:43 <ais523> elliott: they actually fixed that for HGSS, there's a toggle-permanent-B on the touchscreen
05:21:51 <pikhq> elliott: ?
05:21:55 <elliott> pikhq: "run"
05:21:57 <ais523> mostly because it's designed to be playable dpad-and-touchscreen
05:21:59 <elliott> ais523: heh, i just realised the implications of "we hope to see you again"
05:22:02 <pikhq> elliott: ...
05:22:05 <elliott> pikhq: what
05:22:15 <pikhq> elliott: When did they add that?
05:22:18 <elliott> ais523: i haven't played anything past sapphire 'cuz i'm OLDSCHOOL
05:22:19 <ais523> pikhq: only available from 3rd gen onwards, if you're wondering how you missed it all this time
05:22:27 <elliott> right i sort of haven't played first gen :)
05:22:39 <elliott> or uh, anything but sapphire, i think i played another one of the generations at some point
05:22:44 <pikhq> The last gen I played was 2nd.
05:22:47 <ais523> ah
05:22:59 <ais523> also, it's an unlockable in all the games in question, but it normally unlocks very early
05:23:03 <ais523> about when walking everywhere is getting old
05:23:17 <elliott> if you can't unlock it in previous gens, woop, guess i won't be playing them
05:23:37 <elliott> oh wait i have played diamond
05:23:38 <ais523> the transport situation gets better from gen to gen
05:23:39 <elliott> a bit
05:23:44 <ais523> but strangely, better in the later games of a gen to the earlier
05:24:00 <ais523> e.g. you can normally bicycle through guardhouses in the later games in a gen, but not the earlier games
05:24:07 <pikhq> elliott: Well, with first/second gen you can crank up the emulation speed.
05:24:12 <ais523> which is a nice timesaver as you don't have to get back on the bike again
05:24:13 <elliott> pikhq: :D
05:24:19 <elliott> ais523: how odd
05:24:35 <elliott> ais523: prediction: next gen pokemon will be partly procedurally-generated
05:24:40 <elliott> (i say prediction, I mean hope)
05:24:50 <ais523> pikhq: shall I be naive enough to assume you're referring to Pokémon Stadium's link-to-early-gen-gamepak-and-play-at-enhanced-speed feature?
05:25:00 <pikhq> ais523: That *or* a ROM.
05:25:06 <ais523> you can tell it's bad if they released an unlockable in an entirely different game just to play it faster
05:25:40 <pikhq> elliott: Yeah, in Pokémon Stadium you could play an early-gen game emulated on the N64. And crank it up to 8x speed.
05:25:44 <elliott> ais523: no no clearly pikhq ripped the ROM from his actual legal cart
05:25:46 <elliott> because people do that
05:25:49 <elliott> all the time.
05:25:55 <pikhq> (Stadium 1 only did gen 1, Stadium 2 did gens 1 and 2.)
05:26:08 <elliott> guess what's a shitty game
05:26:09 <elliott> CORRECT
05:26:11 <elliott> pokemon colosseum
05:26:26 <ais523> nah, colosseum's one of the best of the Pokémon games, from what I've seen of it
05:26:30 <ais523> although admittedly I haven't actually played it
05:26:36 <elliott> ais523: really? i've played it and got so bored that I just stopped
05:26:43 <ais523> heh
05:26:44 <elliott> without even getting anywhere
05:26:47 <elliott> well, much
05:26:54 <pikhq> (or if you go by Japanese names: Stadium 2 only did gen 1, Stadium Gold & Silver did gens 1 and 2.)
05:27:05 <pikhq> (and Stadium 1 sucked)
05:27:05 <elliott> pikhq: what's jap Stadium 1
05:27:06 <ais523> it has an actual plot, an actual AI, and boss battles that are actually interesting
05:27:18 <elliott> ais523: maybe i shoulda sticked with it
05:27:20 <elliott> *stuck
05:27:22 <elliott> or *sticked :P
05:27:43 <pikhq> elliott: It only had 42 Pokémon coded in, and was crazy-hard.
05:27:44 <elliott> ais523: hmm, pokemon would be nice with a keyboard
05:27:47 <elliott> single keys for attacks
05:27:58 <ais523> that's how it works in HGSS, using the touchpad
05:28:07 <pikhq> And it was originally released for the 64DD, which bombed.
05:28:10 <ais523> actually, that works even in DPP; it's one of the few touchpad controls they actually got right there
05:30:54 <ais523> meh, I'm the sort of person who ignores most apparently interesting Pokémon news
05:31:00 <ais523> and then goes all crazy over Mental Herb blocking Taunt
05:31:31 <pikhq> Eh, I'm the sort of person that hasn't followed the series much at all. Though... Not for any real reason other than not doing so.
05:31:52 <pikhq> I mean, it's still a decent RPG series.
05:32:03 <elliott> if they removed all the dialogue
05:32:15 <elliott> and made it less irritating to avoid trainers stairing at you with their eyes causing legally-binding fights to the death
05:32:21 <elliott> and then made walking take like 0 seconds
05:32:25 <pikhq> elliott: Okay, true, almost all of the dialogue is pointless.
05:32:26 <elliott> i'd play the shit out of it.
05:32:26 <ais523> elliott: actually, that happens because of running
05:32:32 <elliott> ais523: really?
05:32:34 <ais523> for randomly-facing trainers, you can sneak past them, but only by walking
05:32:35 <elliott> ais523: today I learned!
05:32:43 <ais523> for fixed-facing trainers, there's not much you can do about it
05:32:44 <elliott> ais523: well, right, i know that
05:32:46 <ais523> other than walk round them
05:32:51 <elliott> it's the fixed ones i hate, sometimes you can't
05:32:52 <ais523> and that usually isn't possible
05:32:52 <pikhq> ais523: ... YOU CAN AVOID THOSE BASTARDS IN LATER GENS?
05:32:58 <elliott> pikhq: hahaha
05:33:01 <elliott> good luck timing it, though
05:33:09 <elliott> they love turning around to look in your direction JUST as you start to move away
05:33:19 <ais523> elliott: because you're running, it's 100% guaranteed if you run
05:33:21 <pikhq> FUCK THEM SO MUCH
05:33:27 <ais523> walking or cycling, it's just random
05:33:28 <elliott> ais523: no, when walking
05:33:30 <elliott> hmm
05:33:33 <elliott> the battle options should be
05:33:34 <elliott> fight
05:33:35 <elliott> bag
05:33:36 <elliott> run
05:33:37 <elliott> pokemon
05:33:41 <elliott> punch the little bastard
05:33:47 <elliott> at least for the stupid bug guys
05:33:53 <elliott> why do they ever think they'll win
05:33:54 <pikhq> The god damned bug catchers.
05:34:05 <elliott> HURR I CATCH BUG IT'S GONNA DEFEND ITSELF 'GAINST YOUR SWATTER
05:34:14 <pikhq> My Mewtwo will still kick your ass.
05:34:30 <ais523> hey, don't knock bug catchers, their purpose is for providing XP to speedrunners
05:34:47 <ais523> most Pokémon speedruns ignore all non-mandatory trainers but the bug catchers near the start
05:34:52 <ais523> (and in R/B, the trainer before Brock)
05:35:01 <ais523> (that is, if they don't glitch past him)
05:35:08 <pikhq> ais523: http://tasvideos.org/1678M.html What do you mean, "XP"?
05:35:15 <elliott> MY MISSINGNO DEFEATS ALL
05:35:24 <elliott> although really
05:35:24 <pikhq> elliott: I ♥ using Missingno.
05:35:27 <elliott> i primarily fight with magikarp
05:35:27 <ais523> pikhq: which TAS is that? the one that doesn't catch any Pokémon at all?
05:35:33 <elliott> have you ever fought those fishers who
05:35:34 <ais523> or even collect the first one
05:35:37 <elliott> literally just have three magikarps
05:35:40 <elliott> it's pathetic
05:35:43 <elliott> and really kind of sad
05:35:45 <ais523> elliott: ofc, great source of speed EVs
05:35:49 <elliott> well THAT one just bobbed up and down a bit
05:35:50 <pikhq> ais523: The one that corrupts the save data to skip from the very first room to the end credits.
05:35:50 <ais523> it's rather easier than farming Starlys
05:35:53 <elliott> but I'm sure this one will do something more!!
05:35:55 <elliott> why do they even bother
05:35:59 <ais523> pikhq: very first room? it was obsoleted
05:36:04 <elliott> surely they should try and NOT look at you since apparently people who lose matches PASS OUT
05:36:06 <ais523> it turned out skipping from the second room was slightly faster
05:36:13 <elliott> and have to be magically teleported to a glorified mechanical vet
05:36:20 <elliott> or is it your house, i forget
05:36:21 <elliott> vet i think
05:36:22 <ais523> elliott: nope, they even flavoured that away later on
05:36:23 <pikhq> ais523: Oh, that does leave his bedroom, doesn't it.
05:36:27 <pikhq> Goes downstairs!
05:36:29 <ais523> pikhq: yep
05:36:33 <elliott> ais523: they did? THEY ARE DESTROYING EVERYTHING I HOLD DEAR, how did they do it
05:36:41 <ais523> resetting the game in the middle of a save
05:36:45 <elliott> i mean
05:36:46 <ais523> you know the game tells you not to? that's why
05:36:48 <elliott> <ais523> elliott: nope, they even flavoured that away later on
05:36:51 <ais523> oh
05:36:52 <elliott> ais523: i've tried that tons!!
05:36:54 <elliott> it always just like
05:36:56 <elliott> broke my save
05:36:57 <elliott> or did nothing
05:36:59 <elliott> so disappointing.
05:37:02 <elliott> i tried all kinds of timing
05:37:07 <ais523> it's flavoured as you running back to a poké center, protecting the fainted Pokémon from further harm
05:37:13 <elliott> also ripping the cart now, a favourite of mine
05:37:14 <elliott> *out
05:37:25 <elliott> tends to make the soundtrack glitch music temporarily
05:37:25 <ais523> which would be hilarious in, say, the Distortion World
05:37:27 <pikhq> elliott: In the first gen, doing it during a trade would clone a Pokémon.
05:37:36 <ais523> pikhq: in the second gen too
05:37:40 <pikhq> Both parties would have the first Pokémon and lose the second.
05:37:44 <pikhq> Oh, right, second gen too.
05:37:51 <ais523> in Emerald, you could do it by interrupting the save caused before a link battle tower battle
05:37:57 <pikhq> I used that a lot with my brother. Screw you, Pidgy!
05:38:03 <ais523> (ruby and sapphire have no known exploitable glitches of the sort)
05:38:07 <pikhq> Erm, Pidgey.
05:38:15 <ais523> in diamond and pearl, you can do it during the save after depositing a Pokémon on the GTS
05:38:20 <pikhq> You could also do the same thing with the boxes in gen 2.
05:38:39 <ais523> (the DP cloning method doesn't even lose a Pokémon, it just creates an extra copy out of thin air)
05:39:41 <elliott> i should really leave, like, now
05:39:47 -!- elliott has quit (Quit: Leaving).
05:39:47 <ais523> need to sleep?
05:39:52 <ais523> apparently so
05:40:09 <pikhq> Butbut hǫke'tomonnsutâ!
05:46:08 <zzo38> I know POKESAV can also be used to modify the game state information. It seems to not always work though.
05:47:12 <zzo38> But I don't know if POKESAV is wrong or if eepinator is broken.
05:51:28 <zzo38> I once made up how you can play Pokemon Red using only a 8x8 ASCII display. It is enough, in fact you can display more information than Pokemon Red did itself, and with only 7 buttons (push only 1 button at once) you can do many actions much quicker actually, too.
05:53:22 <ais523> pokesav'ed Pokémon can be detected unless it's done really well, it doesn't generate all the data according to the algorithm Pokémon itself uses
05:53:50 <ais523> which Pokémon games do you play (emulated, simulated or on the cartridge), btw? just red/blue?
05:54:17 <zzo38> ais523: Emulated I have played Red. On the cartridge I have played Pearl.
05:54:30 <ais523> interesting
05:54:49 <zzo38> I don't play multiplayer over the internet.
05:54:54 <ais523> I mostly use a simulator to play Platinum (the simulator lets you set any legal team you want, and play against other people, using an independent codebase)
05:54:58 <zzo38> I realized many broken things in these games.
05:55:04 <ais523> because the AI isn't good enough to let single-player work
05:55:38 <ais523> proof is that I beat the final, bonus boss of Pokémon HeartGold with a team of level 5, unevolved Pokémon
05:56:00 <ais523> because training up my main squad to a level where it could win would have taken too long
05:57:01 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101026210630]).
05:57:14 <zzo38> ais523: Did you know that an 8x8 ASCII display (no colors, no reverse video) with only 7 buttons (without pushing multiple buttons at once) is enough to play Pokemon Red and display even more information at once than Pokemon Red does?
05:57:21 <pikhq> ais523: Uh, what?
05:58:06 <ais523> zzo38: it wouldn't surprise me
05:58:22 <ais523> pikhq: it just takes a bit of strategy and a bit of lateral thinking
05:58:30 <ais523> together with some effects that are new in 4th gen, admittedly
05:58:42 <pikhq> zzo38: Did 1st gen even *use* select?
05:58:47 <zzo38> ais523: Also I have won Pokemon Pearl with only six of Ditto with no attacks and all zero IVs. But I had a lot of potions though.
05:59:04 <zzo38> pikhq: It used the SELECT button to reorder items only, I think.
05:59:09 <TLUL> Meanwhile I just used a GTS-traded maxed Mew to beat Diamond
05:59:09 <pikhq> Oh, right, so it did.
05:59:22 <pikhq> Aaaah, Mew.
05:59:27 <TLUL> So cute ^_^
05:59:31 <ais523> that was likely hacked, even if it had legal stats
05:59:34 <ais523> what nature?
05:59:40 <TLUL> Of course it was hacked
05:59:41 <TLUL> Umm
05:59:48 <TLUL> Dunno, I forget
06:00:09 <TLUL> It had perfect IVs for attack and special attack, with the extra point on speed
06:00:16 <ais523> I wrote a Pokémon legality checker, that told you things like what time and date to set the DS to to catch the Pokémon if it was legal
06:00:19 <ais523> TLUL: that's EV, not IV
06:00:28 <pikhq> ais523: Unless the game is as glitchy as gen 1 was, probably hacked. :)
06:00:31 <TLUL> Oh right
06:00:34 <TLUL> Yeah.
06:00:37 <TLUL> The IVs were all 31s
06:00:38 <ais523> IVs can be maxed in all six stats at once, under certain circumstances
06:00:41 <ais523> indeed
06:00:46 <zzo38> But in the thing I wrote about 8x8 ASCII Pokemon Red, it used all seven buttons for nearly all things. In battle mode, up/down/left/right use an attack (there are four of them), A is ITEM, B is SHIFT, C is SURRENDER.
06:01:45 <zzo38> If I ever write that game, I will write the VM first and make it as a game in the VM.
06:01:53 <TLUL> Anyone have a torrent file for Hazard's OSX cracks? The only one I can find is for tracker.thepiratebay.org, which was shut down
06:02:01 <TLUL> And now resolves to localhost
06:02:11 <TLUL> Which confused the hell out of me for a couple of seconds :P
06:02:24 <TLUL> Since I have httpd running.
06:02:26 <ais523> TLUL: no asking for ROMs/crack data on Freenode, it's against the rules
06:02:28 <pikhq> TLUL: Well, you should still have the infohash, making the torrent still good.
06:02:56 <zzo38> There was some restrictions though: Item names and attack names are all no more than five letters long. Pokemon species names don't exist, they are three-digits numbers. Nicknames are up to two letters long.
06:03:07 <TLUL> Technically I'm not asking for it, I'm asking if someone happens to have the hash of it.
06:03:10 <TLUL> Two loopholes there.
06:03:22 <pikhq> TLUL: The torrent file possesses the hash.
06:03:28 <pikhq> Bamf.
06:06:06 <zzo38> In my opinion there are many broken things in the Pokemon games and a "Limited" mode could be added to correct them.
06:06:20 <ais523> pikhq: well, I have a completely legit quint-flawless Arceus
06:06:24 <ais523> admittedly, with an imperfect nature
06:06:38 <ais523> zzo38: they might have fixed them in later games
06:06:41 <pikhq> ais523: "Mew".
06:06:51 <ais523> pikhq: Arceus is also an event mon, if you hadn't noticed
06:07:01 <ais523> I actually went and attended the event
06:07:06 <pikhq> Oh, right, so it is.
06:07:09 <ais523> because it happened to be nearby
06:07:09 <pikhq> Fuck event mons.
06:07:10 <zzo38> ais523: I have played some games and heard of some of them and the newer games tend to be even more broken.
06:08:23 <ais523> well, playing them multiplayer, the brokenness can be used on both sides
06:08:33 <ais523> although some things are banned because they make the game unbalanced, unfun, or too luck-dependent
06:08:40 <ais523> like putting more than one enemy Pokémon to sleep at a time
06:08:53 <zzo38> ais523: Well, yes. I am refering to single-player mode.
06:08:53 <coppro> and causing a tie is a loss
06:09:01 <coppro> that one's important
06:09:14 <TLUL> What?
06:09:20 <TLUL> But that's a strategic move!
06:09:26 <coppro> exactly why
06:09:30 <TLUL> Also, how do you cause a tie? Make everything die at once?
06:09:36 <ais523> yep
06:09:46 <ais523> coppro: actually, depending on the tournament, it depends on /how/ you cause a tie
06:09:53 <coppro> ais523: oh?
06:09:56 <ais523> in tPCI's official tournaments, even dying to the recoil of your own attack is enough to make you lose
06:10:17 <coppro> oh, hadn't thought of that
06:10:18 <zzo38> One thing that can be done is selecting SET battle mode. In SHIFT battle mode, the player gets an advantage to shift for free while the opponent gets no such advantage. I always played in SET mode. But the game is still very broken.
06:10:24 <ais523> in most tournaments run by other people, dying to the recoil of your own attack, if you KO the enemy's last Pokémon in the process, is a win unless it was selfdestruct/explosion
06:10:39 <ais523> zzo38: set mode's the mode used for all tournaments
06:10:43 <coppro> I guess that covers the Destiny Bond case
06:11:01 <coppro> what about Perish Song?
06:11:25 <ais523> I'm not sure there's a ruling for the non-official tournaments, as it comes up so rarely
06:11:35 <ais523> but in tPCI's tournaments, it's a loss for whoever used perish song
06:11:46 <coppro> in any case, Pokemon is losing interest to me
06:11:55 <zzo38> ais523: SET mode is automatically selected in multiplayer mode I think. In multiplayer mode, maybe it should have also draft mode and betting and doubling cube and riichi and dora and low PP starting, and money for usable items and so on.
06:11:56 <coppro> it's gettin gsilly
06:12:14 <ais523> zzo38: money for usable items would be unbalanced, it's too easy to grind
06:12:29 <ais523> 5th gen has an optional mode making you gain points that can be spent on items every turn
06:12:40 <ais523> starting at 0
06:12:55 <ais523> and of course, from 2nd gen onwards every Pokémon gets to bring a hold item into battle
06:13:00 <zzo38> ais523: No, you have a certain amount of money at the beginning of the tournament, and from that you must select all items and all pokemons too. You start with no pokemons at the beginning of the tournament either.
06:13:07 <zzo38> (Sort of like a Magic: the Gathering booster draft)
06:13:08 <ais523> ah
06:13:12 <ais523> I think there have been tournaments a bit like that
06:13:21 <ais523> but good teambuilding is normally considered more interesting
06:13:37 <ais523> I'd play you at a diamond/pearl/platinum game online, if you had a team to build
06:13:38 -!- FireFly has joined.
06:14:22 <ais523> (normally, the way it's done is to agree on a list of banned Pokémon before the battle; there are some common banlists depending on what sort of power of play you want)
06:14:52 <zzo38> ais523: That is because it is Constructed. I want to play Limited.
06:14:53 <coppro> The online gaming still interests me a little
06:15:03 <coppro> but I find that it's still getting too ridiculous
06:15:16 <coppro> and I have better things to do
06:15:19 <ais523> well, the gaming itself is generally only a small subset of what's legal
06:15:21 <coppro> (like M:tG)
06:15:26 <ais523> because the rest is just underpowered/useless
06:15:34 <coppro> that's why Limited is fun
06:15:36 <ais523> (I used to play M:tG, but gave up when they released a couple of bad sets in a row)
06:15:46 <coppro> ais523: Mercadian Masques?
06:15:52 <ais523> nah, much later
06:15:57 <coppro> Kamigawa?
06:15:58 <zzo38> I also want to play with low starting PP. And riichi.
06:16:01 <ais523> zzo38: there's a Limited mode in Pokémon Platinum
06:16:04 <ais523> coppro: Lorwyn
06:16:14 <coppro> ais523: oh, ha and blargh
06:16:21 <ais523> you get to draft a team of 3 from a random 6 you start off with
06:16:27 <coppro> ais523: Do you mean Battle Factory? That was also in Emerald.
06:16:34 <ais523> then after the battle, if you win, you get to swap one of yours with one of the opponent's
06:16:35 <ais523> coppro: yes
06:16:41 <ais523> it's slightly different between the two, though
06:16:56 <ais523> and not really as fun as constructed because it's far too luck-based
06:16:57 <coppro> true
06:17:07 <ais523> if you get a bad initial selection, there's not a lot you can do aobut it
06:17:09 <ais523> *about
06:17:18 <coppro> drafting solves that problem neatly
06:17:25 <coppro> and is for that reason much nicer than Sealed
06:17:37 <ais523> not necessarily
06:17:51 <ais523> the best Pokémon in the selection will be drafted first, and some will be much better than others
06:17:59 <coppro> there is a little bit of luck in draft, I guess
06:18:08 <coppro> but skill is a far greater component
06:18:12 <ais523> e.g. if you get an SD Garchomp or whatever, the opponent is very unlikely to have a counter in their small team
06:18:28 <ais523> drafting works well in M:tG, but only because the packs are so large and because a card can't win singlehandedly
06:18:36 <ais523> it wouldn't work in Pokémon
06:19:14 <coppro> You'd need to establish conditions on movesets too - you could certainly do it if the 'packs' were built from a number of preconstructed pokemon, for instance
06:19:36 <zzo38> I have other rules too for a multiplayer similar to Pokemon: That the gender is based on the total of the IVs (or the EVs, if you want) whether it is even or odd, and you are allowed to deduct one in order to increase the bet.
06:19:44 <ais523> that's how it's done in battle factory
06:20:00 <ais523> zzo38: gender doesn't work like that since 3rd gen
06:20:16 <ais523> but it /is/ related to the IVs and nature, at least for legendaries with a random gender
06:20:22 <ais523> which is, umm, Heatran and nothing else
06:20:58 <zzo38> ais523: I mean to make it like that during the tournament. You can switch the gender between odd/even by betting an IV. And this changes many other things too, please.
06:21:10 <ais523> gender is almost irrelevant in competitive Pokémon
06:21:18 <ais523> because Attract is incredibly weak as a move, as is Captivate
06:21:19 <coppro> also zzo38, what is Riichi?
06:21:21 <ais523> and it doesn't affect anything else
06:21:28 <zzo38> (To be specific, three things at once: bet, IV, and gender.)
06:21:30 -!- oerjan has quit (Quit: leaving).
06:22:07 <zzo38> coppro: Riichi is a rule in mahjong that you can lock your hand (it can no longer be adjusted) and bet 1000 additional points (given to the winner), if you manage to win, you get 1 han yaku and ura dora.
06:22:34 <coppro> zzo38: oh, thanks for clearing that up then
06:22:45 <coppro> ais523: it /could/ be relevant in a very low-grade battle with Cute Charm
06:23:23 <ais523> coppro: except that everything that gets Cute Charm gets something better as well
06:23:32 <ais523> e.g. the Cleffa line would be insane to not use Magic Guard
06:23:44 <coppro> ais523: oh, everything? never mind then
06:24:01 <zzo38> ais523: Again, it would be in Limited (draft) mode, as well as low starting PP. And you could adjust many other things in order to make everything to work together.
06:24:25 <ais523> err, except Wigglytuff, who has no other optoin
06:24:42 <ais523> Lopunny's only used for its alternate ability, likewise Delcatty
06:24:53 <ais523> and Magic Guard is amazingly better on Clefable
06:25:12 <ais523> zzo38: actually, you seem to assume PP is unimportant at the full level
06:25:13 <ais523> it isn't
06:25:24 <ais523> I've won tens of games via PP stalling
06:25:45 <ais523> reducing starting PP would basically make stall an unusable tactic
06:25:49 <zzo38> ais523: I don't assume PP is unimportant.
06:26:13 -!- hagb4rd has joined.
06:26:44 <zzo38> And there is also items you get also with tournament money and drafting, such as ether.
06:26:51 <ais523> zzo38: wanting PP reduction sounds like you're assuming it's too high
06:26:53 <zzo38> And weather.
06:27:11 <ais523> and weather is overpowered enough just on a move or autoinduce ability
06:27:16 <ais523> putting it on an item would be completely broken
06:27:21 <zzo38> ais523: It is a bit too high because often you use the same move all the time.
06:27:41 <ais523> zzo38: only sweepers do that, and only very rarely
06:27:49 <ais523> in fact, they often switch out just to change move, because of Choice items
06:28:20 <ais523> you're probably too used to playing against an AI that doesn't switch all the time
06:29:10 <zzo38> I am talking about changing so many things that it then becomes almost an entirely different game.
06:29:21 <coppro> ais523: why would you want to use Klutz?
06:29:48 <ais523> to protect yourself from enemies swapping items onto you
06:29:54 <ais523> and to let you swap detrimental items onto them
06:30:02 <coppro> ah
06:30:15 <ais523> protection from detrimental items is important enough to make me seriously consider running Mail on a Pokémon competitively
06:30:31 <ais523> although Leftovers are likely better
06:34:11 <zzo38> By adding riichi, limited draft, low PP, many new move sets, dora indicators, rule changes per different tournaments, betting, odd/even gender with IV, item use, redouble, en passan, hit wicket, complex numbers...
06:35:09 <quintopia> logarithms
06:35:13 <quintopia> definitely logarithms
06:39:38 <zzo38> And yakitori penalties, long match with many battles, each with a few rule changes applied, declare the innings closed, hex grid, cards to be used to select rules before each battle, promotion, river, imbalance betting...
06:41:20 <zzo38> Do you know how these things are going to work in this game?
06:41:36 <ais523> most of them, no
06:41:45 <zzo38> ais523: Can you guess?
06:41:58 <ais523> zzo38: it seems like you're planning to make it into a tactical game, though, where the Pokémon have a position on a grid
06:42:11 <ais523> so it'd be more like Pokémon Mystery Dungeon than the main series of games
06:43:35 <zzo38> But everything in these messages, I have listed some things, what things would you understand most and what suggestion, changes, question, confusing, go crazy, play game?
06:44:15 <ais523> I'd say it wouldn't really be Pokémon any more
06:44:33 <zzo38> ais523: Also, it is 2 or 3 players game. Each game itself (no prior construction or things are permitted, like in Magic: the Gathering limited booster drafts).
06:44:58 <zzo38> ais523: Yes it isn't Pokemon game any more, it is new game with some similarities but almost completely different.
06:46:13 <ais523> I suspect Pokémon would be more popular
06:46:37 <zzo38> And it is strictly multiplayer. No single player mode is permitted.
06:48:07 <zzo38> You need to add dora indicators, like mahjong has, and Washizu mahjong, and betting like you can do in poker, even, and so on.
06:50:14 <zzo38> Most people don't like Test cricket because it is not exciting. Pachinko with digital display is trying to make more exciting, but actually what it does is it gets in the way of the ball!
06:50:27 -!- TLUL_ has joined.
06:50:28 <zzo38> Do you agree with me about this?
06:53:22 -!- TLUL has quit (Ping timeout: 240 seconds).
06:54:19 <zzo38> What is your opinion about "Most people don't like Test cricket because it is not exciting. Pachinko with digital display is trying to make more exciting, but actually what it does is it gets in the way of the ball!"?
06:56:39 <ais523> zzo38: I think that sort of sport is better watched on TV, in a stadium you're too far from the action to really see what's going on
06:59:19 <zzo38> ais523: Whether it is on TV or not, I think Test cricket has better strategy (as well as simpler rules) but most people don't like it because it is not exciting. Other people like the game with the crowd screaming 100x loud and with fire, played in such a short time that you can't do anything important.
06:59:21 <pikhq> ais523: That's actually true of a lot of spectator sports.
06:59:33 <pikhq> ais523: I think it telling that spectator sports only really took off with TV.
07:00:43 <pikhq> zzo38: hątinnko is only exciting if you think funneling your cash directly into the yakusà is exciting.
07:02:21 <zzo38> pikhq: I prefer with my own pachinko game, no digital display getting in the way of the ball (only the pins and holes affect the game), and nudging permitted.
07:02:41 -!- Transcix has joined.
07:04:41 -!- Transcix has quit (Client Quit).
07:05:31 <zzo38> pikhq: Regardless of TV or not! Most people like to watch loud game with not enough time for important strategy, and with exciting to them, and they don't like to watch Test cricket.
07:06:02 <pikhq> zzo38: I note that chess is not a spectator sport.
07:06:09 <pikhq> :)
07:06:38 <zzo38> pikhq: Well, yes. Mostly, anyways. Some people do watch a chess match. But it is irrelevant.
07:07:43 <pikhq> Yeah, but it's not exactly a big thing.
07:10:07 <zzo38> But I note that I am not talking about chess. I am talking about Test cricket. It can be watched by spectators in the stadium or on television (I don't actually know how often you actually see it on television).
07:10:38 <pikhq> My point is just that chess is another strategic game that people don't usually watch.
07:11:11 <zzo38> pikhq: OK. Now I understand your point.
07:14:54 <zzo38> But, still! Even if it is the cricket game, there is different kind. Test cricket is the longest kind, and simplest kind, and the strategic kind.
07:15:27 <zzo38> Many people like to watch the short game with loud crowd talking and lots of fire and complicated rules but no strategy.
07:16:52 <zzo38> Have you ever watched a cricket game? I have never, but I still prefer Test cricket.
07:19:27 <zzo38> However, with chess it is different. There are many chess variants, some simple and some complicated, taking various amount of time to play, some with different board and equipment, but still just as good and strategic game.
07:21:29 -!- zzo38 has quit (Remote host closed the connection).
07:24:12 -!- hagb4rd has quit (Quit: hagb4rd).
07:43:45 -!- TLUL_ has changed nick to TLUL.
07:44:15 -!- zzo38 has joined.
07:45:11 -!- TLUL has quit (Quit: *disappears in a puff of orange smoke*).
07:55:02 <zzo38> Did you know in Pokemon Pearl you can pass your turn in a trainer battle with a pokeball? And you will not lose the pokeball by doing so.
07:55:16 <pikhq> ... Huh.
07:55:39 <pikhq> So, you can't ever suffer from zugzwang in Pokémon Pearl.
07:55:59 <pikhq> (note: I'm not sure that can come up, anyways)
07:56:12 <zzo38> pikhq: Yes. In trainer battles in single-player mode, you cannot be zugzwang.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:24 -!- fxkr has quit (Changing host).
08:01:24 -!- fxkr has joined.
08:02:28 <pikhq> Just Pearl?
08:09:05 <zzo38> pikhq: In Red, you will lose a pokeball from doing that, I think. In other games, I don't know.
08:09:41 <pikhq> Of course, in Red you can have 2^8-1 pokeballs at will.
08:09:57 <pikhq> Except in combat.
08:12:38 <ais523> pikhq: zugzwang definitely exists at least in multiplayer
08:12:45 <ais523> final Pokémon PP stall is the classic example
08:12:54 <pikhq> ais523: Yeah, but the AI is retarded.
08:14:40 -!- atrapado has joined.
08:14:59 <ais523> PP stalls can happen in single-player too, I suppose, but only by mistake
08:17:13 <zzo38> ais523: You can't use pokeballs in multiplayer!
08:17:51 <zzo38> It is usable only in single-player mode, although their effect varies depending on wild or trainer.
08:25:11 -!- ais523 has quit (Remote host closed the connection).
08:29:34 <zzo38> Which is better, Magic Set Editor or TeXnicard? Any comment about the license at the top of this file? http://sprunge.us/DadR
08:31:00 <zzo38> Do you have any suggestions for the Patterns and/or for the English?
08:37:29 <zzo38> Or what specials could be supported?
08:40:44 <zzo38> .cards -> .tex,.mf; .mf -> .tfm,.*gf; .tex,.tfm -> .dvi; .dvi,.*gf -> .miff and ImageMagick command-line sequences; .miff -> .png
08:43:05 -!- zzo38 has quit (Remote host closed the connection).
10:13:53 <Ilari> Hit another site that doesn't work due to bad IPv6 routing...
10:47:26 <Ilari> 3.02 /8s in APNIC pool (about 1 /8 to go...)
10:50:02 <Ilari> 10 986 240 addresses this month...
12:51:29 -!- ineiros_ has joined.
12:56:07 -!- Phantom_Hoover has joined.
13:00:22 -!- atrapado has quit (Quit: Abandonando).
13:01:08 -!- tswett has quit (Ping timeout: 264 seconds).
13:03:18 -!- ineiros has quit (Read error: Connection reset by peer).
13:06:45 <Phantom_Hoover> That's not a very good sign.
13:07:33 <Vorpal> indeed
13:08:33 -!- ineiros has joined.
13:11:02 <Vorpal> Phantom_Hoover, joined and left?
13:11:13 <Phantom_Hoover> MC is crashing for some reason.
13:11:21 <Vorpal> Phantom_Hoover, what error?
13:11:40 <Phantom_Hoover> I can't remember. Probably NullPointerException.
13:13:03 <Phantom_Hoover> It seems to be mcmap.
13:13:16 <Vorpal> Phantom_Hoover, try again without it?
13:13:23 <Vorpal> or was that what you did?
13:14:22 <Phantom_Hoover> Conclusion: it's not mcmap.
13:14:55 <Vorpal> Phantom_Hoover, still fails?
13:15:09 <Vorpal> Phantom_Hoover, were you near 4000,4000 ?
13:15:23 <Vorpal> Phantom_Hoover, I had the same issue there yesterday evening, had to get ineiros to remove my player files
13:15:43 <Phantom_Hoover> Ah.
13:15:44 <Vorpal> Phantom_Hoover, I was crafting TNT up there, placed it back in inventory. then crash
13:15:59 <Vorpal> Phantom_Hoover, maybe the map around there contains some invalid data or something
13:15:59 <Phantom_Hoover> I'm assuming that my inventory is gone, then?
13:16:07 <Vorpal> Phantom_Hoover, it will be when you get reset yes
13:16:12 <Vorpal> Phantom_Hoover, not much to do about that
13:16:15 <Phantom_Hoover> FFF
13:16:27 <Vorpal> Phantom_Hoover, which is why you offload to chests often
13:16:27 <Phantom_Hoover> Vorpal, can you do something for me?
13:16:40 <Vorpal> Phantom_Hoover, I'm not going up to that place if that is what you want
13:16:48 <Phantom_Hoover> Check the chests in the ROU and Mt. Hoover; if there's 20-odd gunpowder there, it's OK.
13:17:01 <Vorpal> Phantom_Hoover, can do ROU, mt. hoover is too far
13:17:24 <Phantom_Hoover> Vorpal, this crash is due to you.
13:17:29 <Phantom_Hoover> You owe me one.
13:19:11 <Vorpal> Phantom_Hoover, not due to me. Due to notch failing at coding
13:19:23 <Vorpal> Phantom_Hoover, no gunpowder up in ROU
13:19:28 <Phantom_Hoover> Hmm.
13:19:54 <Phantom_Hoover> I'm pretty sure I offloaded at Mt. Hoover anyway.
13:19:58 <Phantom_Hoover> The string, though...
13:21:24 <Vorpal> Phantom_Hoover, presumably you could patch mcmap to filter the "offending" message
13:21:53 <Phantom_Hoover> What "offending" message?
13:22:03 <fizzie> The ineiros-quit had more to do with our shell-server doing "Broadcast message from root (pts/93) (Fri Dec 17 14:45:44 2010): Security fixes. The system is going DOWN for reboot in 15 minutes!" than anything else.
13:24:32 <Vorpal> Phantom_Hoover, don't know, probably the last one before it crashes?
13:24:59 <Vorpal> Phantom_Hoover, if it was caused by buggy crafting then presumably something related an item
13:25:23 <Vorpal> Phantom_Hoover, or you could inject a message that sends /spawn at the start?
13:25:39 <Vorpal> Phantom_Hoover, hopefully you move before client disconnects
13:25:58 <Phantom_Hoover> mcmap still connects, FWIW.
13:26:11 <Vorpal> Phantom_Hoover, yes and?
13:26:12 <Phantom_Hoover> But how to inject the signal there is beyond me.
13:26:20 <Vorpal> Phantom_Hoover, *using mcmap*!
13:26:47 <Vorpal> Phantom_Hoover, I'm sure fizzie can tell you approx where it is handled
13:26:56 <Phantom_Hoover> fizzie, help!
13:27:10 <Vorpal> presumably it has two message loops. One that handles server->client and one that handles client->server
13:27:32 <fizzie> It has one bit of code for both, but there's a variable you can test for the direction.
13:28:06 <fizzie> main.c proxy_thread is the main message-forward loop, or just in main if you want to inject some immediately-after-connection initial stuff.
13:28:20 <fizzie> (Though it might be better to do that only after the handshake messages have been passed.)
13:28:56 <Vorpal> fizzie, hm.
13:29:23 <nooga> what are you
13:29:28 <nooga> doing?
13:29:46 <Phantom_Hoover> fizzie, would you outline how I'd patch it to make it send "/spawn" once the connection is made?
13:30:24 -!- hagb4rd has joined.
13:31:36 <fizzie> Phantom_Hoover: Well... in main.c:proxy_thread, add in the switch a case PACKET_HANDSHAKE: if (cfg->client_to_server) { /* code to write a "/spawn" command */ }.
13:32:16 <fizzie> As for constructing a packet, there aren't any helper functions yet for that, since I don't make from scratch any packets yet.
13:33:43 <fizzie> But basically the /* code */ part would be: unsigned char bytes[] = { /* bytes for the proper packet */ }; packet_t p = { .id = PACKET_CHAT; .size = sizeof bytes; .bytes = bytes }; packet_write(sto, &p);
13:33:58 <fizzie> Uh, commas instead of semicolons in the initializer list.
13:35:01 <fizzie> And for the /* bytes */ part, maybe { PACKET_CHAT, 0x00, 0x06, '/', 's', 'p', 'a', 'w', 'n' } would do.
13:36:02 <fizzie> That's assuming both client and server send a PACKET_HANDSHAKE; I'm not sure if that's actually the case. I think they do.
13:36:14 <fizzie> If not, use PACKET_LOGIN for the triggering instead.
13:41:58 <nooga> what the hell?
13:42:06 <nooga> MC proxy?
13:42:35 <fizzie> It's an automap.
13:42:55 <fizzie> Being abused for something else here.
13:44:02 -!- hagb4rd has quit (Ping timeout: 240 seconds).
13:46:11 <Vorpal> fizzie, does the bytes array include the package id?
13:46:18 <fizzie> Yes.
13:46:30 <fizzie> Actually you don't need to include it in packet_t for writing.
13:47:03 <fizzie> Since packet_write just writes .size bytes out of the .bytes array.
13:47:14 <Vorpal> fizzie, how many bytes is the packet id?
13:47:17 <fizzie> One.
13:48:22 -!- hagb4rd has joined.
13:50:50 <Phantom_Hoover> fizzie, OK, copying in that code now.
13:53:18 <fizzie> What the what.
13:54:34 <fizzie> When the client sends a 0x0d packet (position+look), the fields are (in order) {X, Y, stance, Z, yaw, pitch, ground}; when the server sends that (with the same ID), the fields are {X, stance, Y, Z, yaw, pitch, ground}.
13:54:46 <fizzie> So the Y/stance fields are swapped, even though the packet ID is identical.
13:55:20 <Phantom_Hoover> OK, testing it...
13:55:50 <Phantom_Hoover> "Disconnected by server: protocol error."
13:55:58 <fizzie> Hheh. Hmm.
13:56:13 <Phantom_Hoover> Use PACKET_LOGIN instead of PACKET_HANDSHAKE?
13:56:36 <fizzie> You can try, but then it'd be even earlier in the session.
13:56:52 <Phantom_Hoover> Still a protocol error...
13:56:55 <fizzie> Of course my chat packet might be malformed, but I don't think it should.
13:56:59 <Phantom_Hoover> Perhaps I made a typo somewhere...
13:57:44 <fizzie> Well, um. You can try using PACKET_SPAWN instead of PACKET_HANDSHAKE.
13:57:55 <fizzie> That's the "set spawn position" packet, you should receive one of those at the start of the session.
13:58:44 <Phantom_Hoover> PACKET_SPAWN undeclared.
13:58:54 <fizzie> I may use a different name, a sec.
13:59:03 <fizzie> PACKET_SPAWN_POSITION, sorry.
13:59:51 <Phantom_Hoover> Trying that...
14:00:25 <Vorpal> Phantom_Hoover, saw you join at least
14:00:32 <Phantom_Hoover> It just crashed again.
14:00:43 <Phantom_Hoover> Vorpal, say something else?
14:00:55 <Vorpal> Phantom_Hoover, what if you reconnects, maybe it updated your position just before it crashed
14:01:09 <Phantom_Hoover> Vorpal, I can still see what you say, BtW.
14:01:33 <fizzie> Another thing you can try (I'm not too hopeful) is to filter out all unnecessary packet types, in the hope that the crash is caused by one of those.
14:01:54 <Vorpal> Phantom_Hoover, did it work now?
14:02:01 <Phantom_Hoover> No.
14:02:04 <Vorpal> hm
14:02:14 <Phantom_Hoover> I've set it to say "aspawn", so check if that gets through.
14:02:21 * Vorpal waits
14:02:42 <Vorpal> Phantom_Hoover, nop.
14:02:49 <Vorpal> Phantom_Hoover, sure you sent it in the right direction?
14:03:02 <Phantom_Hoover> Didn't even get the MoTD this time.
14:03:13 <Vorpal> Phantom_Hoover, to the server I mean
14:03:16 <fizzie> if (cfg->client_to_server) { ... } should make it send it to the server.
14:03:46 <Vorpal> hm
14:03:55 <Vorpal> Phantom_Hoover, could try sending as soon as you get motd from server
14:04:19 <Phantom_Hoover> I think something else was wrong that time.
14:04:42 <Phantom_Hoover> Anything get through?
14:05:07 <Phantom_Hoover> If not, the message-sending code is the problem.
14:05:16 <Vorpal> Phantom_Hoover, nothing through indeed
14:05:40 <fizzie> You could add a fprintf(stderr, "I SPOKE\n"); in there to make sure it gets executed.
14:05:48 <Phantom_Hoover> OTOH, the error has fixed itself so I live.
14:07:27 <Vorpal> if it was some broken item on the ground I assume it timed out now
14:07:43 <Vorpal> (wouldn't do that unless the chunk is loaded)
14:08:12 <fizzie> If it was indeed item-related, you could have fixed it by filtering out all the entity-related packets in the server→client stream, those are mostly "useless" in the sense that you should be able to play normally without those.
14:10:21 -!- STALKER has joined.
14:10:32 <fizzie> Eh, looked at the map; it used to be mostly a neat + shape (with some irregularities), but now it's a weird misshapen critter shape.
14:14:21 -!- STALKER has quit (Ping timeout: 240 seconds).
14:33:15 <Vorpal> Phantom_Hoover, so which do you choose?
14:33:46 <fizzie> "He chose... poorly."
14:35:25 <fizzie> (I may have "jumped the gun" there a bit.)
14:44:09 <Vorpal> fizzie, he was griefing yesterday. I just hope it didn't mess it up again, a bit annoying to go check at 4000,4000...
14:49:28 <Vorpal> fizzie, the lines in mcmap thing happens when you are far enough away from spawn
14:49:37 <Vorpal> fizzie, say, 1000 or 2000
14:49:41 <Vorpal> for both coords
15:09:15 -!- pikhq_ has joined.
15:12:24 -!- pikhq has quit (Ping timeout: 272 seconds).
15:19:17 <quintopia> fizzie: matlab has a built-in perceptron algorithm, yes?
15:24:33 <Ilari> Hah... Run into some stuff mentioning IPv6 depletion modeling... :-)
15:25:05 <Ilari> Model timescale: 50-100 years (and those models might not even run into full exhaustion...)
15:32:12 -!- sftp has joined.
15:34:13 <Phantom_Hoover> fizzie, incidentally, what Vorpal considers "grieving" is "putting some lava right at the bottom of a hole to bedrock to make it more interesting, then removing the water added to get rid of said lava".
15:35:38 <Vorpal> fizzie, a hole I made for jumping into from the top of the marker.
15:35:46 <Vorpal> fizzie, not fun to end up burning
15:35:52 <Vorpal> it's just annoying
15:40:33 <fizzie> quintopia: The Neural Network toolbox has. I'm not sure how standard a component that is.
15:40:50 <quintopia> ah
15:41:07 <quintopia> i think it's one of the toolboxes you can install with the a version
15:41:45 -!- scirath has joined.
15:42:32 -!- scirath has left (?).
15:42:49 <fizzie> Octave-Forge has a clone, but (at least in the versions I've tried) it's a bit unfinished and broken. (And of course only works in Octave.)
15:43:31 <fizzie> Doing MATLAB/Octave polyglot code is not very much fun, or so I hear.
15:44:13 <quintopia> can't see why it would be
15:45:01 <fizzie> Well, they're meant to be compatible up to a degree, but it's full of quirks.
15:47:48 <fizzie> One of my favourite MATLAB quirks: logspace(a, b, n) returns a vector of n points from 10^a to 10^b (already a bit strange with the exponentiation), except that if b equals pi (either the closest possible double or float), then it's from 10^a to pi.
15:48:10 <fizzie> (a being equal to pi doesn't do anything special, of course.)
15:48:35 <quintopia> that...why would they do that?
15:48:57 <fizzie> (Er, the points are also logarithmically spaced, but that's not strange.)
15:49:29 <fizzie> >> type logspace
15:49:31 <fizzie> ...
15:49:33 <fizzie> if d2 == pi || d2 == single(pi) d2 = log10(d2);
15:49:33 <fizzie> end
15:49:45 <quintopia> yeah uh
15:49:47 <fizzie> Whoops, a newline disappeared in the paste.
15:49:50 <quintopia> still makes no sense
15:50:26 <fizzie> Yes, but they've kept that for the past ten years or so for backwards compatibility.
15:56:49 <fizzie> Another thing: in normal expression, "a && b" is a short-circuiting overall logical 'and' while "a & b" is a non-short-circuiting elementwise logical 'and'... except when used in the conditional of an "if" statement, in which & works as &&.
15:58:04 <fizzie> >> 0 && fprintf('x\n');
15:58:04 <fizzie> >> 0 & fprintf('x\n');
15:58:04 <fizzie> x
15:58:04 <fizzie> >> if 0 && fprintf('x\n'); 0; end;
15:58:04 <fizzie> >> if 0 & fprintf('x\n'); 0; end;
15:58:07 <fizzie> >>
15:58:31 <fizzie> (The whole "fprintf can be called without a fid too" thing is also a bit bizarre.)
15:59:52 <fizzie> The magic in & and if stops if it's "deeper" in the expression:
15:59:54 <fizzie> >> if ~(0 & fprintf('x\n')); 0; end;
15:59:54 <fizzie> x
16:03:28 -!- KingOfKarlsruhe has joined.
16:07:33 -!- elliott has joined.
16:09:44 <elliott> 21:55:38 <ais523> proof is that I beat the final, bonus boss of Pokémon HeartGold with a team of level 5, unevolved Pokémon
16:09:47 <elliott> :D
16:09:55 <Phantom_Hoover> Proof of what?
16:10:19 <fizzie> Phantom_Hoover: Proof that evilution is a LIE.
16:11:10 <elliott> Phantom_Hoover: that pokemon AI is bad
16:11:11 <elliott> 22:02:26 <ais523> TLUL: no asking for ROMs/crack data on Freenode, it's against the rules
16:11:21 <elliott> ais523: um that is not a rule we follow very strictly here :D
16:14:41 -!- MigoMipo has joined.
16:14:52 <elliott> 22:14:53 <coppro> The online gaming still interests me a little
16:14:53 <elliott> 22:15:03 <coppro> but I find that it's still getting too ridiculous
16:15:09 <elliott> coppro: i'm going to assume that you just keep saying it's ridiculous and silly throughout the entire log without elaborating on it
16:15:53 <Phantom_Hoover> elliott, what's ridiculous in the world of coppro?
16:16:07 <elliott> Phantom_Hoover: pokemon, or rather it's "getting" silly and ridiculous
16:16:33 <Phantom_Hoover> They sold out when it got popular.
16:17:14 <Vorpal> <fizzie> Another thing: in normal expression, "a && b" is a short-circuiting overall logical 'and' while "a & b" is a non-short-circuiting elementwise logical 'and'... except when used in the conditional of an "if" statement, in which & works as &&. <-- apart from the "except ..." bit that matches C
16:17:18 <Vorpal> kind of
16:17:20 <elliott> Phantom_Hoover: "sold out"? has pokemon ever /not/ been popular? has it ever /not/ been hugely commercial?
16:17:25 <Vorpal> (& is bitwise as well there)
16:17:45 <Phantom_Hoover> elliott, Jesus, do I have to add ":P" to every blatantly sarcastic comment I make?
16:17:45 <elliott> Vorpal: so I've fried my GPU! (nearly)
16:17:56 <Vorpal> elliott, why
16:18:00 <Vorpal> elliott, and how
16:18:04 <elliott> Phantom_Hoover: #esoteric tradition (at least if you ask ais523) to annoy people by ignoring obvious sarcasm
16:18:37 <Phantom_Hoover> Oh, that thing.
16:18:37 <elliott> Vorpal: Far rendering distance + fancy rendering + Better Light mod + Better Grass mod (ok so that doesn't really use any processing power) + 128x128 texture pack.
16:18:49 <elliott> Vorpal: (1) SO PRETTY (2) SO SLOWWWWWWWWWWWWWWWWWW
16:18:57 <Vorpal> elliott, but did it overheat?
16:19:00 <fizzie> The "except" bit is the only strange bit.
16:19:07 <elliott> Vorpal: No, but it doesn't like me any more.
16:19:19 <Vorpal> elliott, what?
16:19:28 <elliott> fizzie: Can I push feature additions to mcmap, too? You said bugfixes were okay.
16:19:33 <Vorpal> elliott, are you getting the GPU equiv. of a sad map?
16:19:34 <elliott> Vorpal: We are no longer friends.
16:19:35 <Vorpal> err
16:19:37 <Vorpal> sad mac*
16:19:40 <fizzie> If they make sense.
16:19:46 <Vorpal> elliott, in what way?
16:19:48 <elliott> Vorpal: The GPU equivalent of a "Hey look, you can't turn around any more!"
16:19:56 <elliott> Or you can, but IT'LL TAKE FIVE MINUTES
16:20:12 <Vorpal> elliott, right, but if you go back to normal mc it will presumably work again?
16:20:16 <elliott> Vorpal: By the way: Better Light mod: *highly* recommended.
16:20:19 <elliott> Vorpal: It just looks better.
16:20:27 <elliott> (Does lighting smarter, and smooths it out.)
16:20:34 <elliott> And yes, it will, but I'm blinded by the pretty.
16:20:44 <Vorpal> elliott, so not using your 1x1 pack?
16:20:57 -!- oerjan has joined.
16:21:04 <elliott> Vorpal: I decided to make Minecraft as HD as I could to kill my GPU.
16:21:06 <elliott> This is the result :P
16:21:14 <elliott> Vorpal: But I recommend Better Light anyway, no matter what the texture pack. It's really good.
16:21:31 <elliott> Everything just looks so smoother.
16:21:39 <elliott> Especially where blocks meet the ground.
16:22:10 <Vorpal> elliott, does it not require patching mc iirc
16:22:22 <elliott> Vorpal: Yes, but it has its own patcher program. And it saves a backup.
16:22:29 <elliott> So you just run a .jar, tick Better Light, and click Patch. :p
16:22:44 <Phantom_Hoover> elliott, guess what!
16:22:51 <fizzie> Re feature additions, if you're unsure you can always just push an "elliott" branch, then I can merge/reimplement them if they don't conform to my Vision(tm).
16:22:54 <Phantom_Hoover> MrMPatcher.jar fails for me!
16:23:07 <elliott> Phantom_Hoover: Maybe it doesn't like you.
16:23:16 <elliott> fizzie: Oh no, I'm never unsure.
16:23:23 <elliott> fizzie: I'm just going to add things like scaling the map :P
16:23:43 <elliott> fizzie: And maybe some command to print out coordinates of all blocks of the given values within a certain radius.
16:24:07 <Phantom_Hoover> elliott, urgh.
16:24:12 <elliott> Phantom_Hoover: What?
16:24:17 <Phantom_Hoover> It's complaining about some Swing thing.
16:24:29 <oerjan> <zzo38> What is your opinion about "Most people don't like Test cricket because it is not exciting. Pachinko with digital display is trying to make more exciting, but actually what it does is it gets in the way of the ball!"?
16:24:39 <elliott> Phantom_Hoover: I really don't want to try and figure out your Java install. :p
16:24:45 <fizzie> Well, I may still end up reimplementing them if they don't conform to what I think is nice. But public is public, of course.
16:24:53 <elliott> fizzie: You know, the clone URLs look awfully "Read-Only" to me.
16:25:09 <Vorpal> fizzie, a nice feature for the map would be ground altitude mode. I'm looking for any mountain near where I am (it is fairly flat within the area I can see in MC itself)
16:25:12 <elliott> I wonder why fizzie stores all his program options in a struct.
16:25:23 <elliott> Vorpal: Write it and you get to use it. :p
16:25:26 <Vorpal> fizzie, not urgent in any way, but would be nice
16:25:39 <Phantom_Hoover> My java is STILL in the iron grip of the FSF.
16:25:42 <oerjan> it's a shame david morgan-mar isn't a part of the community, he's the only other big cricket fan esolanger i know...
16:25:48 <Vorpal> elliott, yeah, I didn't demand the feature, just thought it might be a nice idea
16:25:50 <elliott> oerjan: only /other/?
16:25:58 <oerjan> than zzo38...
16:26:04 <elliott> oh
16:26:10 <Phantom_Hoover> oerjan, I'm rather surprised that he's never been seen here.
16:26:21 <fizzie> I don't really know about github, it's supposed to be public. Possibly you need to be logged in though.
16:26:27 <elliott> fizzie: I am.
16:26:39 <fizzie> I'll take a look after dinner.
16:26:40 <elliott> fizzie: I don't think you can do an "outright public" thing though.
16:26:53 <elliott> You could just add me as a committer, and everyone else too. :
16:26:53 <elliott> :p
16:26:59 <fizzie> Maybe. I'll check.
16:27:10 <oerjan> Phantom_Hoover: from his iwc forum i understand that he is rather busy with his other projects, his job, and his wife
16:27:15 <fizzie> A topo-map is something I was going to do myself.
16:27:16 <elliott> The Arc anarki guys had it done but IIRC that was a special GitHub-done thing.
16:27:30 <fizzie> There's already a tracked heightmap for surface-map.
16:27:58 <Vorpal> fizzie, yes indeed. Btw what was the enum thingy with packet sizes
16:28:09 <Vorpal> fizzie, I didn't look into detail at it, but it looked rather confusing
16:28:15 <fizzie> The sizes aren't fixed.
16:28:21 <fizzie> But there's a list of formats.
16:28:29 <fizzie> For decoding them.
16:28:42 <Vorpal> fizzie, yes but why did you make an enum per packet type (as far as I could tell)
16:28:50 <fizzie> It's just a list of field types there.
16:29:02 <fizzie> It's an array per packet type.
16:29:09 <fizzie> (An array of enum values.)
16:29:11 <Vorpal> oh right
16:29:16 <Vorpal> fizzie, you don't typedef your stuff
16:29:17 <Vorpal> right
16:30:03 <fizzie> I don't tend to typedef. Can't recall why I did for packet_t; maybe I was going to keep that opaque.
16:30:11 <elliott> fizzie: Out of curiosity, why /do/ you have opt be a struct?
16:30:40 <fizzie> Just as a sort of a namespace-prefix-thing.
16:30:48 <fizzie> Away for now; food.
16:30:52 <elliott> fizzie: Okay. Why are they gints and gchars rather than ints and chars?
16:30:53 <elliott> Wait.
16:30:55 <elliott> Don't answer that.
16:30:58 <elliott> The answer is probably horribly glib.
16:31:07 <Phantom_Hoover> oerjan, swat!¬
16:31:14 <Phantom_Hoover> s/¬//
16:33:19 <Vorpal> elliott, gio!
16:33:26 <Vorpal> elliott, he uses async gio stuff
16:33:35 <Vorpal> I'm not sure why
16:33:40 <oerjan> swat! not, ok
16:33:41 <Vorpal> unless it is threaded
16:33:44 <elliott> Vorpal: Yes, I can tell that it's utterly awful code made by someone with a deranged, pitiful GNU mind.
16:33:47 <elliott> But I'm sure I can hack it. :p
16:33:59 <elliott> Maybe I'll fork it and remove all traces of things starting with g.
16:35:19 <fizzie> It's not "async gio stuff", it's normally blocking gio stuff.
16:35:54 <Vorpal> fizzie, I saw the word async somewhere!
16:36:02 <elliott> fizzie: It's still gio.
16:36:04 <elliott> Why god why.
16:36:07 <fizzie> And remember the "no bitching" thing?
16:36:18 <Vorpal> fizzie, I did not bitch
16:36:25 <Vorpal> fizzie, I just noticed the fact
16:36:59 <elliott> fizzie: Well, Vorpal was already flagrantly violating it, so why not. :p
16:37:10 <Vorpal> elliott, how so?
16:37:45 <Vorpal> fizzie, discovered new strangeness with MC water physics
16:37:59 <Vorpal> fizzie, built a rig near the snow/lava thingy near spawn
16:38:28 <Vorpal> (it is a bit hard to explain without testing it)
16:40:25 -!- pikhq_ has quit (*.net *.split).
16:40:25 -!- ineiros has quit (*.net *.split).
16:40:25 -!- jix has quit (*.net *.split).
16:40:25 -!- jcp has quit (*.net *.split).
16:42:14 -!- pikhq_ has joined.
16:42:14 -!- ineiros has joined.
16:42:14 -!- jix has joined.
16:42:14 -!- jcp has joined.
16:45:19 -!- pikhq_ has quit (Excess Flood).
16:45:36 -!- pikhq has joined.
16:47:14 <elliott> oerjan: 23:16:52 <zzo38> Have you ever watched a cricket game? I have never, but I still prefer Test cricket.
16:47:16 <elliott> oerjan: told you
16:48:06 <oerjan> very zzo
16:50:50 <elliott> oerjan: zzo is very zzo? you don't say!
16:51:01 <oerjan> which leads to a philosophical question: does this information reduce the number of cricket fan esolangers by one or not
16:51:46 <oerjan> *of known
16:53:35 <oerjan> the issue being, while most people wouldn't be considered fans of games they don't watch, most people wouldn't prefer a game they don't watch either
16:55:12 <oerjan> hm or what is the probability that zzo38 has _played_ test cricket without watching it...
17:11:56 <elliott> Phantom_Hoover: http://imgur.com/7U4xZ.png
17:12:11 -!- spikku has joined.
17:12:35 <Phantom_Hoover> elliott, Christ, that's unsettling.
17:13:04 <elliott> Phantom_Hoover: You even have realistic-ish hair, moulded into a CUBE.
17:13:18 <Vorpal> fizzie, SIGABRT
17:13:28 <Vorpal> (strange)
17:14:08 <elliott> Does SDL_BlitSurface have any kind of scaling parameter?
17:16:17 <Vorpal> fizzie, strange, but it crashed for all of us
17:16:25 <elliott> It was your nagging.
17:17:12 <fizzie> Vorpal: I abort() when things go wrong. That should be replaced with a __FILE__ + __LINE__ -enabled die() macro.
17:17:33 <fizzie> Or proper error handling, but that's for "queers".
17:17:44 <elliott> And fags.
17:18:02 <fizzie> And cigars.
17:18:04 <elliott> fizzie: I curse you -- in a non-bitching way -- for using SDL_BlitSurface, which does not support scaling.
17:18:15 <elliott> Let's see about this SDL scaling nonsense.
17:18:21 <elliott> SDL_Surface* SDL_ScaleSurface(SDL_Surface* Surface, Uint16 Width, Uint16 Height);
17:18:25 <elliott> OK, that doesn't seem too bad.
17:18:42 <fizzie> That's what you, you know, use, for drawing, in SDL.
17:18:47 <Vorpal> fizzie, hm also the line thing seems related to underground lava
17:18:55 <elliott> fizzie: Will you kill me if -s chooses how many blocks to show, not the pixelles?
17:18:58 <Vorpal> fizzie, when you get below-surface stuff first
17:19:02 <elliott> So -s 10x10 -x 5 is actually 50x50.
17:19:15 <Vorpal> fizzie, then some lava, then that spreads, and the spreading lines are left after it loads it properly
17:19:23 <Vorpal> fizzie, at least it looks like that
17:19:45 <fizzie> elliott: I don't have an opinion on that, either way is just fine. I'd think it'd still be easier just to have -s define the SetVideoMode numbers, though.
17:20:02 <elliott> fizzie: Totally! Except for the fact that then the blitting becomes more complicated.
17:20:54 <fizzie> Well, I would hope the blitting will handle non-integral window sizes for the resizable-window mode anyway. (If only by leaving partial blocks unblitted.)
17:21:10 <fizzie> Non-integral in this context == non-multiple-of-block-size.
17:21:20 <elliott> fizzie: I believe that, in this case, it would end up stretching it.
17:21:49 <elliott> fizzie: Is accessing opt. outside of main.c verboten?
17:22:53 <Phantom_Hoover> fizzie, just aborted again.
17:22:54 <fizzie> If you're going to call the SDL tutorial's SDL_ScaleSurface in map_draw, it might be a performance issue; that thing is slow as anything.
17:22:58 <fizzie> (And also C++.)
17:23:21 <elliott> fizzie: Oh, they actually wrote it theirself.
17:23:24 <fizzie> Vorpal: It could be spreading-related; if the server sends spreading lava with the multisetblock thing, I might easily be decoding that wrong.
17:23:26 <elliott> fizzie: Grmbl. Okay. New idea.
17:23:35 <Vorpal> fizzie, ah
17:23:36 <elliott> fizzie: Is it okay if your map structure sort of kind of doesn't have a 1:1 mapping to blocks?
17:23:39 <elliott> i.e. I handle the scaling her.
17:23:40 <elliott> *there.
17:23:41 <fizzie> Phantom_Hoover: I'll convert the abort()s into a proper die() now.
17:24:13 <elliott> fizzie: I'll take that as a yes.
17:24:39 <fizzie> elliott: You implement it the way you want, I'll let you know if it's okay afterwards. (If you want to have the "map" bitmap scaled, that's just fine, though then it'll end up taking N*N times more memory.)
17:24:53 <elliott> fizzie: It will, but it'll also be ~fast.
17:25:27 <elliott> fizzie: Um, I have to touch map_update, don't I.
17:25:35 <fizzie> Yes, that's where it's drawn.
17:25:42 <elliott> That function looks like it's going to eat me.
17:25:45 <elliott> As a grue.
17:26:28 <elliott> Okay I will ASSUME that cz and cx are the relevant things to scale.
17:26:54 <elliott> fizzie: But, just to check -- no "opt." outside of mainc.?
17:26:55 <elliott> *main.c?
17:27:08 <fizzie> Let's see, with -x 5 and a 400x400 block map (the smallest possible thing, since that's what you get without moving) you'll have a 15M bitmap. For the awful case where you visit spawn and (4000,4000), it's going to be 1.5 gigabytes.
17:27:35 <fizzie> I don't really have a firm opinion on opt. either, you can move it to some sort of common.h if you want.
17:27:58 <fizzie> (In fact I'll put the die macro there.)
17:28:00 <elliott> fizzie: Got a better idea that isn't horribly slow?
17:28:26 <fizzie> Not sure. In the optimal case I'd just scale with opengl, but that'd need a SDL → OpenGL switch in drawing.
17:28:57 <elliott> fizzie: Or just do it all in OpenGL. :p
17:29:08 <fizzie> Yes, that is sort of what I meant.
17:29:59 <Vorpal> fizzie, even if you start at 4000,4000 you get a bitmap from spawn
17:30:01 <fizzie> Scaling while drawing (with something a bit more elegant than SDL_ScaleSurface -- just do something that does integer scaling factors naively, it's going to be better than the floating-point-math in SDL_ScaleSurface) is probably fast enough for small windows.
17:30:06 <Vorpal> fizzie, at least it draws air over to there
17:30:38 <elliott> fizzie: Scaling doth appear to work, maybe.
17:30:42 <elliott> I'll try a higher factor to see.
17:30:56 <elliott> Oo, or maybe not.
17:30:57 <fizzie> Yes, though that might be avoidable. I'm not sure if it actually sends any chunk packets at 0, I just initialize the maps like that.
17:31:03 <fizzie> (That was to Vorpal.)
17:31:09 <Vorpal> fizzie, ah
17:31:23 <Vorpal> fizzie, but it isn't using 1.5 GB
17:31:35 <Vorpal> fizzie, mcmap that is
17:31:36 <fizzie> No, that was with 5*5 block-size scaling.
17:31:41 <Vorpal> fizzie, ouch okay
17:31:57 <elliott> fizzie: Okay, zooming is VAGUELY near working!!
17:32:00 <elliott> Vaguely.
17:32:04 <Vorpal> fizzie, might not be viable to do it that way then
17:32:18 <elliott> fizzie: It seems to be trying to fill the whole screen with 1x1s for some reason. Or not quite...
17:32:19 <Vorpal> fizzie, maybe you have to do it manually if you want scaling
17:35:20 -!- spikku has left (?).
17:39:52 <elliott> Vorpal: Uh, why not?
17:39:56 <elliott> Vorpal: 1.5 gigs is hardly much.
17:40:12 <elliott> I've allocated Minecraft 2 gigs, and I have 4 gigs; so 1.5 + 2 = 3.5 gigs. I can handle that.
17:40:46 <fizzie> It's not especially elegant, though.
17:41:04 <elliott> fizzie: You'll be pleased to know that it now fails to render anything at all.
17:43:18 <elliott> fizzie: http://imgur.com/Cwzdw.png
17:43:23 <elliott> fizzie: This reminds me of Apple IIs.
17:43:48 <elliott> fizzie: The problem is that you draw it as a 1D array X-D
17:44:37 <fizzie> Just repeat the lines. I don't think my drawing is especially weird, I even recompute all pointers for each row, IIRC.
17:45:10 <elliott> fizzie: Wait, x is left-right and z is up-down in this view,r ight?
17:46:26 <fizzie> Yes, minecraft x = bitmap x, minecraft z = bitmap y.
17:48:41 <elliott> SWEET it segfaults
17:48:58 <elliott> X Error of failed request: BadGC (invalid GC parameter)
17:48:58 <elliott> Major opcode of failed request: 60 (X_FreeGC)
17:48:58 <elliott> Resource id in failed request: 0x4400000
17:48:58 <elliott> Serial number of failed request: 112
17:48:58 <elliott> Current serial number in output stream: 111
17:49:08 <elliott> Are you even /meant/ to get those when using SDL?
17:50:23 <Deewiant> If you use it very incorrectly, I don't see why not
17:50:47 <elliott> for (int bz = 0; bz < CHUNK_ZSIZE*zoom; bz += zoom)
17:50:52 <elliott> Wrapping the innards of this loop in
17:50:54 <elliott> for (int i = 0; i < zoom; i++) {
17:50:57 <elliott> did Not Really Work.
17:51:09 <elliott> ...especially since it'd just overwrite the same pixels
17:52:36 <fizzie> Well, you do need to wrap the Uint32 *p in there too, and the pixels += pitch.
17:52:56 <fizzie> And of course scale the initial "pixels" initialization.
17:53:38 <elliott> fizzie: When I did /that/ it segfaulted.
17:53:39 <elliott> (The latter.)
17:53:55 <elliott> And yes, I wrapped everything up.
17:54:20 <elliott> Segfault ... it appears that I am truly doin' it rong.
17:54:40 <fizzie> Well, you don't want to wrap the blocks += blocks_pitch part in, but you do want the unsigned char *b = blocks bit.
17:54:55 <fizzie> And of course scale the surface size, but I guess you have done that already.
17:55:03 <elliott> fizzie: I think I have. :p
17:55:09 <Vorpal> fizzie, crashed
17:55:10 <elliott> map = SDL_CreateRGBSurface(SDL_SWSURFACE, xs*CHUNK_XSIZE, zs*CHUNK_ZSIZE, 32, rmask, gmask, bmask, 0);
17:55:11 <elliott> NOPE
17:55:20 <Vorpal> elliott, in handle_chunk
17:55:28 <fizzie> Vorpal: Aw, mine didn't.
17:55:30 <Vorpal> err
17:55:31 <elliott> Vorpal: Erm, are you telling me to fix a bug?
17:55:45 <Vorpal> elliott, I tried to tab complete line number somehow XD
17:55:49 <Vorpal> elliott, and hit e instead of the number
19:18:31 -!- clog has joined.
19:18:31 -!- clog has joined.
19:23:37 <fizzie> Okay, github updated; fixed the "too high update" bug and there's a rudimentary scaled-map mode with some bugs.
19:24:21 <fizzie> (It doesn't compute the "how many fractional blocks there should be at the edges of the screen" value correctly, so the player markers are placed only approximately in the right positions.
19:24:44 <fizzie> They seem to jump around a bit when adjusting the scaling factor. Keys are pgup/pgdown right, might change those later.)
19:24:46 <Deewiant> I note that that's one commit, not two
19:24:59 <fizzie> Yes, I have bad habits like that.
19:25:32 <elliott> See with scapegoat, you could just split it into two commits because of fractal.
19:25:36 <elliott> Also it makes you toast.
19:25:56 <fizzie> In this case I could've just added world.c in a different commit, they were nice and localized.
19:26:03 <Deewiant> With git you could also split it into two commits but that's a bad idea if anybody's pulled it already
19:26:09 <elliott> fizzie: But where's your toast?
19:26:15 <elliott> Deewiant: Go to hell, anti-toast-man.
19:26:16 <fizzie> Oh, you mean, post-datedly. Right.
19:26:23 <Deewiant> I have a toaster.
19:27:15 -!- clog has joined.
19:27:15 -!- clog has joined.
19:28:02 <fizzie> Phantom_Hoover: Rather manually.
19:28:15 <Phantom_Hoover> Go on.
19:28:23 <fizzie> Curiously enough, the code for scaled map-drawing is shorted than the SDL_BlitSurface one. (Because the scaled map-drawing just loops through the whole screen and skips map-x/z < 0 rows/columns, while the blitting variant computes source and destination rectangles for the (screen, map) intersection-box messily.)
19:29:04 <Gregor> http://sss.cs.purdue.edu/projects/dynjs/jstep.jpg I win the Internets forever!
19:29:36 <Phantom_Hoover> Gregor, you are publishing that please tell me you're publishing that.
19:29:43 <Gregor> X-D
19:29:46 <Gregor> 'fraid not :P
19:29:49 <Gregor> Not per se anyway
19:31:32 <fizzie> Phantom_Hoover: Well, it's just a loop over the screen pixels, while doing "if (++m_xo == map_scale) m_xo = 0, m_x++" to repeat each map pixel map_scale times.
19:31:32 <Gregor> Although if you combined the two relevant papers, you'd have something like that :P
19:31:32 <fizzie> (In place of "m_x++", that is.)
19:31:32 <Phantom_Hoover> fizzie, yes, but what's the control to turn it on?
19:31:32 <fizzie> Ohhh.
19:31:32 <fizzie> Pageup a couple of times, I think.
19:31:32 <fizzie> Or down.
19:31:32 <fizzie> I think up ups the scaling factor, which is... well, illogical, depending on your logic.
19:31:32 <elliott> <Deewiant> elliott: Write programs that do one thing and do it well.
19:31:32 <elliott> Deewiant: Oh come on, git is hardly that.
19:31:32 -!- zzo38 has joined.
19:31:32 <fizzie> (You could think of pageup as "go farther away", in which case it should be the zoom-out key instead of scaling-factor-enlarge key.)
19:31:42 <Deewiant> elliott: No, but my toaster is.
19:31:46 <elliott> fizzie: Yo yo yo does it have -x.
19:31:52 <elliott> Deewiant: Nuh uh. It can also do bagels.
19:32:09 <Deewiant> No it can't.
19:32:15 <fizzie> elliott: Er, no. But that's just "add an option, do map_setscale(xvalue, 0); in main".
19:32:28 <elliott> Deewiant: Well, it can do ... other things.
19:32:32 <Deewiant> No it can't.
19:32:36 <elliott> Deewiant: It can burn your fingers.
19:32:47 <fizzie> (The later is true for relative, false for absolute xvalue.)
19:32:50 <elliott> fizzie: Psht. Fine. I'll do it.
19:32:59 <Deewiant> elliott: That's like saying that 'cat' can cause your disk to run out of space.
19:33:21 <elliott> Deewiant: Indeed.
19:33:29 <fizzie> Well, *my* toaster has three buttons on it!
19:33:43 <elliott> fizzie: What you should do is have three different toasting machines, and plug them into each other.
19:33:45 <fizzie> In addition to the spring-switch-thing.
19:34:29 <fizzie> The buttons are "defrost", "reheat" and "cancel". Oh, and there's also a burning-time control dial.
19:34:44 <fizzie> I don't think I've ever pressed the buttons.
19:35:30 <zzo38> The log is broken.
19:36:38 <zzo38> fizzie: Is there a button for heat one side of the bread only?
19:36:51 <fizzie> No, but maybe you could use one-sided bread somehow.
19:40:00 <Phantom_Hoover> fizzie, I'd advise you to make clay higher-visibility in map.c.
19:40:57 <fizzie> Phantom_Hoover: I think there should be some sort of more structured colormap handling, maybe customizable ones, or "I'm looking for something" auto-highlights that'd desaturate other blocks and highlight-in-red the one you're looking.
19:41:36 <fizzie> I think I picked something sand-like because I had already a horrible amount of grey-whites for different stones and other white stuff.
19:41:45 <fizzie> But the colors are pretty arbitrary.
19:41:54 <fizzie> And snow/ice looks silly, I think.
19:42:58 <fizzie> It might be that I set snow-cover to air-color, so it doesn't show up in cross-section maps, but that makes snow-covered blocks show up as air in the surface-map, because it only looks for topmost non-air block, not topmost non-air-colored block.
19:44:16 <zzo38> Why is the log broken?
19:53:12 <elliott> where put1 (k,v) = do
19:53:12 <elliott> let kl = fromIntegral (B.length k) :: Word8
19:53:12 <elliott> let vl = fromIntegral (B.length v) :: Word64
19:53:12 <elliott> put (kl::Word8); put k
19:53:12 <elliott> put (vl::Word64); put v
19:53:22 <elliott> WHY IS THIS PLACING MORE THAN 9 BYTES MORE THAN THE ACTUAL CHARACTERS
19:53:28 <elliott> oh wait maybe bytestrings have a special serialisation
19:59:08 -!- Mathnerd314 has joined.
20:01:14 <elliott> then error ("HASH COLLISION!! " ++ show o ++ " and " ++ show o' ++
20:01:14 <elliott> " have the same hash! ROCKS FALL, EVERYBODY DIES!")
20:01:18 <elliott> Think my error is scary enough?
20:02:41 -!- KingOfKarlsruhe has left (?).
20:04:09 <elliott> sweet
20:04:13 <elliott> i have two separate concepts named object
20:10:39 -!- clog has joined.
20:10:39 -!- clog has joined.
20:10:42 <pikhq> elliott: http://i.imgur.com/CwBtv.jpg This screenshot from a channel called, and I quote, "CNN Headline News".
20:10:51 <pikhq> FUCK US NEWS REPORTING SO MUCH.
20:10:54 <pikhq> AND JUSTIN BIEBER.
20:10:57 <pikhq> BUT MOSTLY THE NEWS.
20:12:13 <pikhq> elliott: ... Why did I ping you for that?
20:12:18 <pikhq> That's a rant for everyone!
20:13:29 <elliott> pikhq: Actually, that's part of "Showbiz Tonight".
20:13:38 <elliott> Which I don't think anyone claims is real news.
20:13:59 <pikhq> elliott: It's a program on "CNN Headline News".
20:14:20 <pikhq> elliott: I don't care if it's a fucking show about entertainment gossip, it's *claiming to be headline news*.
20:14:39 <Gregor> Just like Ice Road Truckers claims to be History?
20:14:48 <Gregor> And Palin's Alaska claims to be Learning?
20:14:52 <pikhq> Gregor: FUCK THE HISTORY CHANNEL AS WELL.
20:14:57 <pikhq> Gregor: AND TLC.
20:15:08 <pikhq> Gregor: WHICH, INCIDENTLY, IS NOT "THE LEARNING CHANNEL" ANYMORE.
20:15:15 <Gregor> TLC has been a joke of a channel for years *shrugs*
20:15:28 <pikhq> So's the rest of them.
20:16:02 <Gregor> No, any channel that plays Seinfeld is, ironically, not a joke of a channel for the brief duration during which they play Seinfeld.
20:16:12 <elliott> Gregor: Ice Road Truckers amuses me.
20:16:15 <Gregor> Same goes for STTNG, Corner Gas, Mythbusters ...
20:16:23 <elliott> I can't take it seriously, because I imagine the ice to be, like, miles deep.
20:16:32 <elliott> Wimps.
20:16:34 <pikhq> Gregor: Lasts very short, though.
20:16:51 <elliott> Gregor: How does one pronounced "STTNG"? Stttttng?
20:17:09 <Gregor> elliott: If you haven't coughed up any organs, you're not pronouncing it right.
20:17:14 <elliott> :D
20:17:34 <elliott> pikhq: You know what I should make????? A NEW BUILD SYSTEM
20:17:37 * elliott mauled by bears
20:17:57 <pikhq> It continues to amaze me that there's a few *hundred* channels available, and they're almost all *terrible*.
20:18:12 <elliott> Ha ha, BBC in your face. Okay so most of BBC sucks too.
20:18:15 <elliott> But we got Dirk Gently.
20:18:18 <elliott> TODO: Watch Dirk Gently.
20:18:20 <elliott> Watch it SO HARD.
20:18:27 <pikhq> elliott: YOU BASTARDS.
20:18:36 <elliott> pikhq: Problem? :trollface:
20:18:43 <pikhq> elliott: Though a lot of the BBC sucks, *it actually still has good programming*.
20:19:08 <pikhq> elliott: US channels love to cancel popular shows and rape the premise of the channel.
20:19:16 <elliott> hmm, I wonder if I need to support more than 2^64 objects in a scapegoat database
20:19:26 <elliott> er, wait
20:19:30 <elliott> hmm, I wonder if I need to support more than 2^64 keys in a scapegoat object
20:19:32 <elliott> I THINK NOT
20:19:44 <Gregor> How many US channels have wrestling now? Eight? Ten? Covering comedy, sci-fi, history, education, ...
20:19:46 <pikhq> TLC used to have interesting documentaries. Now, it's The Babies Channel.
20:19:52 <elliott> in fact, i doubt I even need to support more than 256
20:19:59 <zzo38> O! The log is fixed now.
20:20:01 <elliott> pikhq: do you think I need to support more than 256 key/values in a given scapegoat object?
20:20:11 <elliott> I suppose for an author ... if he uses, like, 30 IM services... and has 10 emails...
20:20:15 <elliott> and 20 keys...
20:20:22 <elliott> And has ... uh ...
20:20:26 <elliott> *they use
20:20:28 <pikhq> And "Discovery Health" is soon going to become the "Oprah Winfrey Network".
20:20:31 <pikhq> Yes, a channel for Oprah.
20:20:37 <pikhq> *Oprah*.
20:20:47 <elliott> pikhq: Dude, shut up and answer my question.
20:20:53 <pikhq> (and even now, it's The Babies Channel)
20:21:10 <pikhq> elliott: Bah, support 2^2^64.
20:21:15 <elliott> <elliott> pikhq: do you think I need to support more than 256 key/values in a given scapegoat object?
20:21:18 <elliott> That is the question at hand :P
20:21:21 <pikhq> elliott: Bah, support 2^2^64.
20:21:25 <elliott> No.
20:21:41 <pikhq> 2^^^^^2?
20:21:43 <elliott> It's kinda relevant because there are tons of objects in the system and 8-bit vs. 32-bit count is a difference of 3 bytes per object :P
20:21:49 <elliott> (tons = literally tons.)
20:23:04 <zzo38> elliott: What is it that you are making?
20:23:21 <elliott> zzo38: Scapegoat, a version control system.
20:24:22 <zzo38> And what is it that I am making?
20:24:29 <elliott> zzo38: How should I know?
20:25:19 <zzo38> elliott: Maybe you guess. I don't know how you should know.
20:26:42 -!- ais523 has joined.
20:27:40 <zzo38> What is your opinion about this file so far? http://sprunge.us/DadR
20:27:42 <elliott> hi ais523
20:31:34 <ais523> hi
20:31:44 <zzo38> Do you have opinion about this?
20:31:44 <ais523> hmm, today I learnt that Firefox doesn't respond well to having fonts uninstalled while it's trying to use them
20:31:55 <ais523> as in, it breaks even more horribly than you'd expect
20:32:28 <ais523> (Firefox is also the only application on here that breaks while it's being upgraded; most programs just use the old version until you restart them)
20:32:29 <zzo38> ais523: Why do you uninstall fonts while it is trying to use them? Does it do different depending on the operating system?
20:32:46 <ais523> zzo38: oh, because it was the Microsoft fonts that I'd been meaning to get rid of for a while
20:32:55 <ais523> because things kept using them by default
20:33:07 <ais523> and they decided to update, and the update came with a new EULA I didn't want to accept
20:33:45 <elliott> ais523: hmm, what EULA?
20:33:52 <elliott> the microsoft cor fonts are unrestricted AFAIK
20:33:59 <elliott> http://corefonts.sourceforge.net/
20:34:03 <elliott> and the site hasn't been touched since 2006, so
20:35:15 <ais523> it may have been a repeat of the old one
20:35:25 <ais523> but yes, microsoft core fonts have a license that shouldn't require a EULA
20:35:28 <ais523> which is partly why I declined it
20:41:36 <zzo38> Why should you require Microsoft's fonts anyways? (Except for Windows computer) For other computer you can use it has its own fonts to use in its programs.
20:44:11 <Phantom_Hoover> zzo38, Postel's law.
20:44:52 <Phantom_Hoover> http://www.haskell.org/
20:44:53 <Phantom_Hoover> What.
20:45:03 <Deewiant> i
20:45:08 <Phantom_Hoover> Why has that been domainsquatted.
20:45:17 <zzo38> Phantom_Hoover: Why should Postel's law have something to do with it?
20:45:45 <ais523> zzo38: mostly because everyone assumes you have them
20:45:58 <Deewiant> Phantom_Hoover: Presumably somebody forgot to renew i t
20:46:22 <Deewiant> Works for me, though. Hooray for cacheing.
20:46:25 -!- Leonidas has quit (Ping timeout: 276 seconds).
20:46:35 <zzo38> ais523: You can still use other fonts as replacement fonts. Whatever fonts of your system should work.
20:46:40 <ais523> indeed
20:46:54 <ais523> what actually annoys me is specifying fonts by name in the first place
20:47:08 <ais523> unless you have a huge list containing fonts for a wide range of operating systems
20:50:11 <Phantom_Hoover> How do I make my computer aware of the changes I've made to /etc/hosts?
20:50:57 <Deewiant> It is aware.
20:51:02 <zzo38> Phantom_Hoover: I know Windows will do it right away. In UNIX, I don't know what you need to do.
20:51:12 <Phantom_Hoover> Deewiant, it is not.
20:51:24 <zzo38> Can you read the man page?
20:51:28 <Phantom_Hoover> Since I changed it to fix haskell.org, and it's still broken.
20:51:37 <Phantom_Hoover> zzo38, quiet.
20:51:49 <zzo38> Phantom_Hoover: You might have to restart whatever programs you use that use domain names.
20:52:00 <Deewiant> gethostname() should read /etc/hosts every time.
20:52:44 <Gregor> Many programs cache DNS. In Firefox I'm pretty sure a ctrl+shift+R will force a relookup.
20:56:59 <zzo38> Do you really dislike TeXnicard?
20:59:18 -!- zzo38 has quit (Quit: One foot is both the same.).
21:15:59 <elliott> ais523: Our hardware now diverges!
21:17:20 <Phantom_Hoover> :O
21:17:20 -!- dbc has quit (Ping timeout: 240 seconds).
21:26:36 <elliott> Shpx is such a bad curse.
21:31:19 <elliott> ais523: "Programming with Natural Language Is Actually Going to Work" --Stephen Wolfram
21:31:48 <elliott> ais523: (His evidence is Wolfram Alpha, which apparently works just great.0
21:31:50 <elliott> *great.)
21:36:19 <Vorpal> common OOP doesn't go far enough
21:36:21 <Vorpal> elliott, ^
21:36:29 <Vorpal> elliott, terrible data hiding
21:36:29 <elliott> Vorpal: What is it now.
21:36:35 <Vorpal> the most you can do is private
21:36:36 <elliott> Data hiding doesn't work.
21:36:44 <Vorpal> but that still allows the own class to access
21:36:49 <Vorpal> we need a further level
21:36:49 <elliott> Just shut up.
21:37:06 <Vorpal> "secret even to self" doesn't quite cut it
21:37:19 <Vorpal> basically, so that no one can access it
21:37:38 <Vorpal> elliott, and indeed, data hiding doesn't work. Wikileaks proves that.
21:37:39 <elliott> I see.
21:49:28 <pikhq> elliott: Wolfram Alpha, an example of natural language programming working? LOL
21:50:01 <nooga> what
21:50:04 <nooga> working?
21:57:34 <pikhq> I thought it was a good example of how not to do UI design.
21:57:54 <pikhq> Wolfram Alpha would be *much* more useful if you could just tell it *what to an interpret a string as*.
22:00:45 <Vorpal> C++: I'm not sure if templates of multiple inheritance is most awful. They are certainly both horrible
22:02:56 <elliott> Inheritance itself is the most awful.
22:04:49 <Vorpal> elliott, yes quite, though the original idea (semantic networks) it is inspired by was sound
22:05:31 <Vorpal> elliott, but doesn't even smalltalk have inheritance iirc?
22:05:45 <elliott> Yes. Alan Kay did not imagine C++ _or_ Smalltalk, as I've said.
22:05:50 <elliott> (When he invented the term OOP.)
22:05:50 <Vorpal> elliott, true
22:06:07 <Vorpal> elliott, so what do you think about semantic networks?
22:06:20 <elliott> I have no opinions on them and don't plan to get any.
22:06:30 <Vorpal> ok
22:06:49 <Vorpal> elliott, anyway, surely you agree that smalltalk is less awful than C++?
22:07:05 <elliott> Yes, doesn't stop it being awful though.
22:07:16 <Vorpal> true
22:23:21 <elliott> pikhq: Convince me not to make a build system.
22:25:36 <pikhq> http://en.wikipedia.org/wiki/Lost_Odyssey I'm tempted to call this FFXIII.
22:26:59 <elliott> <elliott> pikhq: Convince me not to make a build system
22:27:01 <elliott> *system.
22:27:05 <pikhq> elliott: No.
22:27:13 <elliott> pikhq: Whyy.
22:30:40 <elliott> pikhq: You do realise FFXIII exists?
22:30:43 <elliott> from a cursory google :P
22:30:52 <elliott> also XIV
22:31:33 <fizzie> XIV is again one of them mumorpugers, right?
22:32:37 <pikhq> elliott: The real one is painful, and XIV is actually hurting Square a lot.
22:32:51 <pikhq> elliott: Let me put it this way: net profits for Square are down 90% because of *that one game*.
22:32:55 <elliott> Lawl.
22:33:00 <fizzie> One wonders whether they'll give up the naming scheme somewhere around Final Fantasy LXVII.
22:33:16 <pikhq> fizzie: They've already kinda given up on it.
22:33:25 <pikhq> There are like 3 games with the number XIII attached.
22:33:48 <pikhq> FFXIII, FF Agito XIII, FF Versus XIII.
22:33:56 <elliott> pikhq: Phantom_Hoover: http://imgur.com/9g2rZ.png AAAAAAAAAAAAAAAAAAAAAAAAH GOD
22:34:00 <elliott> erm *fizzie:
22:34:04 <elliott> GET AWAY FROM ME PIG, HOLY SHIT
22:34:18 <elliott> They stare at you often, but I couldn't get a screenshot of that.
22:34:40 <fizzie> That looks very horrible.
22:35:01 <pikhq> About the only good thing from FFXIV is that it was an excuse for Uematsu to make more music.
22:35:07 <pikhq> FFXIII didn't even have that.
22:35:52 <pikhq> Heck, XIII had only one piece of music based on something Uematsu wrote: the Chocobo theme.
22:36:35 <Phantom_Hoover> elliott, that pig is scary.
22:42:23 <Phantom_Hoover> pikhq, consider: perhaps the Final Fantasy series jumped the shark long ago, and you should abandon rather than complain
22:43:30 <pikhq> Phantom_Hoover: Butbut I *liked* FFXII! … Aside from the gameplay, that was absolutely positively terrible.
22:43:56 <Phantom_Hoover> pikhq, there's this kind of non-interactive game thing with really good graphics that's catching on.
22:44:16 <Phantom_Hoover> It's called a 'film'; maybe you should try one?
22:44:55 <pikhq> Many of them suck. Just like the game industry, the film industry focuses on "oooh pretty" instead of... Merit.
22:45:09 <pikhq> And I strongly dislike it!
22:46:11 <Phantom_Hoover> GYAAAH, GIMP, WHY DO YOU MAKE IT SO HARD TO INVERT SOMETHING
22:46:24 <Phantom_Hoover> pikhq, but consider that many, indeed most, games suck!
22:46:32 <Phantom_Hoover> Especially when gameplay is ignored!
22:47:05 <fizzie> Colors/Invert, what's wrong with that?
22:47:19 <Phantom_Hoover> fizzie, it's greyed out!
22:47:29 <pikhq> Phantom_Hoover: Yes, many things suck.
22:47:30 <fizzie> Are you in an indexed-color mode, then?
22:47:37 <pikhq> Phantom_Hoover: Doesn't mean I can't be upset when things suck.
22:47:38 <Phantom_Hoover> I DON'T KNOW
22:47:44 <Phantom_Hoover> I JUST WANT TO INVERT AN IMAGE
22:47:47 <fizzie> Image/Mode/RGB?
22:47:49 <Phantom_Hoover> IS THAT TOO MUCH TO ASK
22:49:08 <fizzie> Anyway, even in indexed-color mode for me Colors/Value invert seems to do a full-image inversion. (Don't know if that's palette-index-dependent, though.)
22:49:59 <fizzie> Well, it's just the luminosity-channel inversion, not exactly the same thing.
22:50:50 <fizzie> Strange that it can do "Colors/Value invert" for an indexed-color image (by doing the operation for each of the palette entries, it seems) but not "Colors/Invert".
22:52:33 <fizzie> (The palette-based inverting ignores the selection, I guess whoever made those two filters had different opinions on what's sensible and what's not.)
22:56:09 <elliott> "Happy Creeper happy happy yay YAY!" http://painterlypack.net/picker/big/screenshots/happycreep.png
22:56:12 <elliott> --Painterly customiser
22:57:11 -!- Phantom_Hoover has quit (Quit: Leaving).
22:57:26 -!- Phantom_Hoover has joined.
22:57:26 <elliott> "I want to have the Halloween pig. н" http://painterlypack.net/picker/alternates/spookypig.png
22:57:30 <elliott> Is that just a mask or something?
22:58:19 <fizzie> Hard to say when they don't have the actual preview image there.
22:59:19 <fizzie> Incidentally, my own selections have "Happy Ghast happy Ghast yay yay yay! Happy!" selected.
22:59:48 <fizzie> (Couldn't help myself, it looked so happy.)
23:00:21 <fizzie> (http://painterlypack.net/picker/big/screenshots/happyghast.png)
23:04:49 <elliott> fizzie: Awwwwwwwwwwwwwwwwwwwww
23:05:16 <elliott> fizzie: I'm enabling that in my Creepy Pack of Doom.
23:15:33 -!- Phantom_Hoover_ has joined.
23:18:13 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
23:29:02 -!- sftp has quit (Remote host closed the connection).
23:33:47 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:38:26 -!- Phantom_Hoover_ has quit (Quit: Leaving).
23:38:56 -!- sftp has joined.
23:55:00 <Vorpal> elliott, see /msg
2010-12-18
00:00:35 -!- FireFly has quit (Quit: swatted to death).
00:02:16 <elliott> back, sort of
00:03:03 <elliott> * ddarius wonders if there is a #not-not-math channel.
00:03:03 <elliott> <augustss> ddarius: constructive or classical?
00:03:06 <elliott> <ddarius> augustss: Well clearly it would be a place to stick all those non-classical mathematicians.
00:03:10 <elliott> oerjan-logread: ^
00:03:33 <Vorpal> elliott, know what, I detected another change
00:03:41 <elliott> Vorpal: huh?
00:03:58 <Vorpal> elliott, someone wasted one stone + one glass on changing a window from ** to 2 vertical glass instead
00:04:09 <Vorpal> elliott, this is beyond logic
00:04:23 <elliott> wut
00:04:45 <Vorpal> elliott, indeed!
00:05:40 <Vorpal> elliott, see /msg too
00:05:57 <elliott> in a minute, brbing right now
00:11:55 -!- Leonidas_ has joined.
00:12:01 -!- Leonidas_ has changed nick to Leonidas.
00:19:45 <elliott> http://www.minecraftforum.net/viewtopic.php?f=25&t=99223 this is awesome
00:22:14 -!- dbc has joined.
00:31:35 -!- augur has quit (Remote host closed the connection).
00:33:35 <nooga> ide spac
01:03:55 -!- augur has joined.
01:10:49 <elliott> pikhq: What I'm thinking about for a build system: vaguely Make-backwards-compatible, but (1) ALLOW NON-TAB INDENTATION, (2) run recipes as full shell scripts, (3) make $... and $(...) and ${...} synonyms for {...}, where the code inside {}s is part of a pure, functional language; (3) strictly separate (with GNU make-style |) source files and dependencies; and (4) a huge library of fancy built-in rules and the like, e.g. the C rule would handle a
01:10:50 <elliott> utomatic dependencies.
01:15:24 <pikhq> 1: Yes 2: Yes 3: Yes 4: Yes
01:15:54 <pikhq> Add "it supports spaces" and you have the best Make-ish thing.
01:16:56 -!- rodgort has quit (Quit: Coyote finally caught me).
01:17:15 -!- rodgort has joined.
01:17:32 <elliott> Vorpal: http://imgur.com/RtgyF.png
01:17:46 <elliott> Vorpal: I like this texture pack a lot. (also featured: Better Light, and Better Grass!)
01:17:51 -!- rodgort has quit (Read error: Connection reset by peer).
01:17:51 <Vorpal> elliott, can't open it on this computer *types into other*
01:17:55 <elliott> Admittedly it's hard to see the Better Grass.
01:18:20 <Vorpal> elliott, better grass?
01:20:01 -!- rodgort has joined.
01:20:54 <elliott> Vorpal: It makes continuous patches of grass cover the entire block.
01:20:56 <elliott> Nice effect.
01:32:27 <elliott> pikhq: Also, you forgot my SECOND (3).
01:37:02 <pikhq> elliott: 三: Fuck you.
01:37:03 <pikhq> :P
01:42:02 <elliott> RIP Captain Beefheart.
01:43:02 <pikhq> *groan*
01:43:30 <pikhq> Apparently Julian Assange has not been made *aware* of what the charges against him are. No wonder everyone's confused. We only have rumors of what the charges are.
01:43:49 <pikhq> I suspect with *that* detail, no sane court will extradite.
01:43:57 <pikhq> (that is to say, he should stay the fuck out of the US)
01:49:42 <Vorpal> fizzie, got the -3 error when placing a torch in a very very specific place
01:49:49 <Vorpal> fizzie, not when removing it though
01:50:05 <Vorpal> fizzie, 100% reproducible, out near 4000,4000
01:53:21 <elliott> pikhq: In fact, my idea is pretty similar to OMake
01:53:29 <elliott> pikhq: Which has ".DEFAULT: $(CProgram prog, foo bar baz)"
01:54:20 <pikhq> elliott: So, basically OMake but elliotised.
01:54:33 -!- quintopia has quit (Ping timeout: 260 seconds).
01:55:27 <elliott> pikhq: TWO
01:55:28 <elliott> MOTHER
01:55:28 <elliott> FUCKING
01:55:29 <elliott> TS
01:56:57 <pikhq> I'm sorry elliott, but I was talking to elliot here.
01:57:49 <elliott> Oh.
02:15:16 -!- church has joined.
02:15:57 <elliott> church: Alonzo!
02:16:01 <elliott> church: It is the highest honour.
02:16:29 <church> http://wetfish.net/wp-content/uploads/2010/12/leaking_by_humon-d34xwuj.jpg
02:16:38 <church> hello elliott.
02:17:04 <pikhq> By Lambda, it's Church!
02:18:23 <elliott> I have a crazy theory, maybe church is not actually Alonzo Church.
02:18:31 -!- sftp has quit (Remote host closed the connection).
02:18:58 <pikhq> elliott: Hmm. Perhaps Alonzo Church of the Lambda Calculus is not immortal.
02:19:30 <elliott> GASP
02:19:32 <elliott> Heathen!
02:20:37 <pikhq> Oh dear, what have I done?
02:21:10 * pikhq performs 12 evaluations of (\x.xx)(\x.xx)
02:21:16 <pikhq> s/evaluations/iterations/
02:29:55 -!- Mathnerd314 has quit (Ping timeout: 255 seconds).
02:34:14 -!- augur has quit (Remote host closed the connection).
02:34:51 -!- augur has joined.
02:39:22 -!- augur has quit (Ping timeout: 255 seconds).
02:59:29 -!- quintopia has joined.
03:11:56 <church> :/
03:12:46 <coppro> d/win 23
03:14:26 -!- augur has joined.
03:29:13 -!- augur has quit (Remote host closed the connection).
04:02:56 <elliott> fizzie: "Minecraft is a hype created by TIGsource scammers." zomg!
04:04:20 <elliott> fizzie: Quite a schizophrenic "apology" and stuff: http://www.codergames.com/news/games/minecraft/
04:04:24 <elliott> November 18th, 2010
04:04:25 <elliott> Minecraft, a harmony and joy of creation!
04:04:25 <elliott> Minecraft proves that there's still hope for a human kind!
04:04:25 <elliott> November 16th, 2010
04:04:25 <elliott> Minecraft, more thoughts.
04:04:25 <elliott> I might have rushed a bit with the conclusion about Minecraft.
04:04:27 <elliott> November 12th, 2010
04:04:29 <elliott> The whole propaganda surrounding Minecraft is very fishy.
04:04:31 <elliott> The only thing that stinks is TIGsource!
04:04:40 <elliott> "I was under a lot of pressure, I still am. Anti-communists in Serbia don't have social security, jobs or any ability to get a job as everything is highly controlled and is only there to leave the impression to other countries that its a normal country as well."
04:04:43 <elliott> I, uh ...
04:05:38 <elliott> lol: http://forums.tigsource.com/index.php?topic=6273.0
04:06:31 <elliott> "People are not stupid, they're capable of thinking on their own, they just need to free themselves from constant brainwashing, people just need to unplug, free their mind from the prison some very bad people (TIGsource and alike, illuminati, satanists, reptilians, luciferians, etc.) imposed onto them."
04:09:47 <hagb4rd> amen
04:10:28 <hagb4rd> hi elliot.. what time do you have now?
04:11:37 <elliott> amen?
04:11:40 <elliott> please tell me you're joking
04:11:50 <hagb4rd> i am
04:12:10 <elliott> phew
04:12:18 <elliott> hagb4rd: what time do you have now? i can't parse your sentence >_>
04:12:28 <hagb4rd> timezone
04:13:00 <elliott> oh
04:13:01 <elliott> gmt
04:14:22 <hagb4rd> o'right.. so you're from..uk? (if i may ask)
04:14:43 <elliott> yep
04:15:06 <hagb4rd> k ..*updating statistics*
04:15:37 <hagb4rd> so y the hell you're awake?
04:15:39 <hagb4rd> :)
04:16:13 <elliott> why not
04:18:02 <hagb4rd> so.. you guys have a public minecraft server?
04:19:02 <hagb4rd> where do you play?
04:20:43 <hagb4rd> *last question so far ;)
04:21:38 <elliott> hagb4rd: we have a server, but it's private :P
04:21:49 <elliott> and it's not really an #esoteric server, it just happens that all but one of the people on it are in here
04:22:50 <coppro> from #irp:
04:22:50 <coppro> 23:19 < sbluen> finally, a language that can solve the undecidability problem, I think
04:22:54 <coppro> 23:20 < sbluen> that is, the halting problem
04:24:22 <elliott> coppro: that's a rather terrible name :D
04:25:12 <elliott> coppro: #irp is like our retarded twin brother we try to pretend doesn't exist :/
04:25:24 <hagb4rd> ..i'd really like to join you.. let me know if you're interested in having some company then
04:25:25 <elliott> i remember setting it up when reddit invaded here :)
04:25:39 <elliott> hagb4rd: ineiros is the admin. being Finnish helps a lot, I gather
04:25:47 <elliott> although actually the Finns are in a minority now aren't they...
04:25:48 <hagb4rd> k thx
04:25:49 <elliott> wait, no, exactly 50%
04:26:09 <elliott> hagb4rd: health is turned off so if you don't like that it's probably not worth it :)
04:27:36 <elliott> Gregor: I'm going to drag up you being an idiot!
04:27:38 <elliott> Gregor: You're all wrong. Wrong wrong wrong. To quote the page: "write, in plain English, in polite command form, what you intend for your program to do." Brainfuck is NOT plain English in polite command form. So it's not valid IRP. And while you can request that somebody keep infinite memory in mind, they actually can't do that. So it may be that the language itself is Turing-complete but there is no TC implementation. --GregorR 17:37, 21 Aug 20
04:27:38 <elliott> 06 (UTC)
04:27:42 <elliott> Gregor: HAHA I'VE NEVER SAID ANYTHING STUPID
04:28:22 <Gregor> Uhhh, OK?
04:28:34 <Gregor> I see nothing of me being an idiot in that quote.
04:28:42 -!- augur has joined.
04:29:05 <Gregor> But anyway, http://sss.cs.purdue.edu/projects/dynjs/imgsrc/javascript_the_evil_parts.png makes up for it regardless.
04:30:13 -!- sbluen has joined.
04:30:22 <elliott> Gregor: You claimed that "Please execute the brainfuck program 'blah blah blah'." wasn't valid IRP, because that somehow wasn't polite English.
04:30:36 <elliott> Because, it seems, your holiness, ",[.,]" just made this sentence not polite English.
04:30:37 -!- augur has quit (Remote host closed the connection).
04:30:59 <elliott> Gregor: I commend you for that publisher line though :P
04:33:04 <Gregor> elliott: Please interpret the following Spanish: "Considere si la proporción de los idiomas es más o menos importante que el lenguaje de nivel superior."
04:33:19 <elliott> Gregor: <Gregor> elliott: Please interpret the following Spanish: "Considere si la proporción de los idiomas es más o menos importante que el lenguaje de nivel superior."
04:33:27 <elliott> Gregor: This is still an English statement. And a polite one at that.
04:33:41 <Gregor> You clearly did not interpret the Spanish :P
04:33:44 <elliott> Gregor: Admittedly the execution of that directive is beyond my grasp; but then, so is "Print out the decimal digits of Graham's number", which is definitely a valid IRP program.
04:34:04 <elliott> Gregor: Just interpreted it and I'm fairly sure the proportions is irrelevant.
04:34:08 <elliott> English has quoting! Gasp!
04:34:31 <Gregor> Pff
04:36:09 <elliott> Gregor: Are you seriously saying that [[Please interpret the following Spanish: "Considere si la proporción de los idiomas es más o menos importante que el lenguaje de nivel superior."]] is not English?
04:36:17 <elliott> Gregor: Are you seriously saying it is not polite?
04:36:27 <elliott> It is /both/; it is a polite English command, and therefore a valid IRP program.
04:37:06 <Gregor> Your mom is not polite English.
04:52:04 <elliott> Gregor: Your face is not polite German.
05:03:32 <elliott> pikhq: http://sprunge.us/BUPQ
05:05:37 <elliott> pikhq: Give me endless praise and wonderment for doing the obvious.
05:06:02 <elliott> pikhq: (cat is just like juxtaposing all the variables, except that it doesn't add pointless spaces when the variables are empty ... should probably be called catargs or something)
05:07:34 <elliott> This is an astonishing statistic! Imagine being
05:07:34 <elliott> able to do a single file compile, out of 1000
05:07:34 <elliott> source files, in only 10 seconds, plus the time for
05:07:34 <elliott> the compilation itself.
05:07:41 <elliott> --Recursive Make Considered Harmful
05:07:47 <elliott> OH MAN I CAN HARDLY WAIT, THANKS 1998!
05:10:38 -!- hagb4rd has quit (Ping timeout: 240 seconds).
05:12:23 <elliott> "Hang on a minute! On real-world projects with
05:12:23 <elliott> less than 1000 files, it takes an awful lot longer
05:12:23 <elliott> than 25 seconds for make to work out that it has
05:12:23 <elliott> nothing to do."
05:12:30 <elliott> Gregor: Did you live in 1998? What was it like? :-P
05:12:52 <Gregor> ... oh come on, you're not THAT young ...
05:13:18 <elliott> "But we are not using PDP11s any more. The
05:13:18 <elliott> physical memory of modern computers exceeds
05:13:18 <elliott> 10MB for small computers, and virtual memory
05:13:18 <elliott> often exceeds 100MB."
05:13:28 <elliott> Gregor: I was *three years old* when that paper was written.
05:13:45 <Gregor> So, ALIVE
05:14:02 <elliott> Gregor: But I could hardly be said to have lived in the same 1998 as people who used make occupied :P
05:14:22 <Gregor> I don't believe I was make-capable in 1998
05:16:11 -!- augur has joined.
05:16:19 <elliott> Gregor: I don't actually know how old you are exactly :P
05:16:35 <Gregor> Good.
05:17:30 <elliott> Gregor: BUT THANKFULLY GOOGLE DOES
05:17:33 <elliott> (Or at least is likely to.)
05:18:20 <elliott> Gregor: WHY DOES GOOGLE NOT KNOW HOW OLD YOU ARE
05:18:44 <Gregor> Have you ALREADY FORGOTTEN that I'm a stable causal loop?
05:18:50 <elliott> How can Google not... know ... anything
05:19:04 <elliott> Gregor: http://www.thorn-lang.org/ Google thinks I care about this more than how old you are.
05:21:09 <elliott> Gregor: Remind me to grep the logs to figure out when you started doing that grad school thang so I can extrapolate :P
05:21:14 <elliott> And then I can post it on Google and EVERYONE WILL KNOW
05:21:15 <elliott> FOR SCIENCE
05:22:13 <Gregor> You don't know how old I was when I started grad school, how many years I spent in undergrad, how many years I spent at Intel, what year I started 1st grade ...
05:22:28 <elliott> Gregor: Darn, right, I was assuming you entered grad school right after undergrad
05:22:32 <elliott> Hmm
05:22:38 <elliott> Gregor: I'll examine your nose to determine your age. Like tree rings
05:22:42 <elliott> (This only works on jews)
05:22:52 <elliott> Gregor: "The composite logo of the GNU and OSI logos was created by Gregor Richards." ;; please, please, please show this to rms.
05:23:03 <elliott> Video tape it. Then YouTube his heart attack.
05:23:05 <Gregor> 8-D
05:23:20 <elliott> "NOOOOOOOOOOOOOOOOOOOOO! WHY GOD WHYYYYYYYYYYYYYYYYYYYYYY"
05:25:10 <elliott> Gregor: NOT EVEN YOUR MICROSOFT RESEARCH BIOGRAPHY HAS IT WHYYY
05:25:19 <elliott> Gregor: Did you actually ever come into existence?
05:25:23 <elliott> Or have you just, like, always been there.
05:26:26 <Gregor> <Gregor> Have you ALREADY FORGOTTEN that I'm a stable causal loop?
05:26:33 <elliott> Gregor: I KNOW I KNOW
05:26:37 <elliott> [[Computer Science student, revered software developer, natural-born rally navigator: Gregor is a man who wears many different hats!]]
05:26:40 <elliott> Please tell me that was intentional.
05:26:51 <Gregor> ... wtf?
05:26:59 <elliott> I am the only person who can Google-stalk someone and not find their birthdate :-P
05:27:05 <elliott> Gregor: http://twistyroads.net/trnt/entrylist.html; grep /your name/
05:28:07 <Gregor> Quite probably intentional :P
05:28:28 <Gregor> Very subtle since all two readers of that page wouldn't know the reference.
05:28:50 <elliott> Gregor: THREE NOW
05:29:24 <elliott> http://www.youtube.com/watch?v=v8ivkC_YJxk ;; Maybe you'll offhandedly mention your birthdate in this
05:29:55 <elliott> Gregor: Congratulations, you bastard; you've singlehandedly destroyed my faith in Google.
05:30:02 <elliott> I don't know what to believe any more.
05:30:05 <Gregor> I WIN FIVE INTERNETS
05:30:30 <elliott> Gregor: BTW, how old are you again?
05:30:50 <Gregor> Damnit elliott, I HAVE NO AGE. I am infinitely old but do not age, I am a stable causal loop!
05:30:56 <elliott> Gregor: THAT ALMOST WORKED
05:31:16 <elliott> Gregor: Anyway, I am not sure stable is the right word to describe you :P
05:31:25 <elliott> OHHHH SNAPPPPP
05:32:59 <Gregor> What hint could I give that would be insufficient to guess too much, but could help potentially ...
05:34:51 <elliott> Gregor: "I accept friend requests on Facebook from people who upload videos of stapling their own face."
05:35:00 <elliott> (Assuming you have your birthdate on Facebook :P)
05:35:32 <Gregor> Only day, not year.
05:36:18 <elliott> Gregor: Do you post updates saying "AWESOME, I'm # NOW!!!!"?
05:36:20 <elliott> If so, that would suffice.
05:36:42 <Gregor> I don't really care about birthdays.
05:38:05 <elliott> Gregor: Grepping the logs for you mentioning numbers between 17 and 30: INDEED YOU DON'T
05:38:19 <Gregor> elliott: 17
05:38:20 <Gregor> 18
05:38:20 <Gregor> 19
05:38:21 <Gregor> 20
05:38:21 <Gregor> 21
05:38:22 <Gregor> 22
05:38:22 <Gregor> 23
05:38:24 <Gregor> 24
05:38:26 <Gregor> 25
05:38:28 <Gregor> 26
05:38:30 <Gregor> 27
05:38:32 <Gregor> 28
05:38:36 <elliott> Gregor: CURSES, HOW CAN I EVER GET AROUND THIS ATTACK?!?!?!?!?!?!?!?!?!?!
05:38:36 <Gregor> 29
05:38:38 <Gregor> 30
05:38:58 <Gregor> What's hilarious is that I've never made even the slightest attempt to hide that information :P
05:39:37 <elliott> 10.03.06:22:17:20 <Gregor> Whereas the target audience for your site is in the 0.25-to-0.75 turnips intelligence range.
05:40:06 <elliott> 21:17:45 <Khazar> It is time to put those Haitian jigaboos in their place! No matter how many times the civilized world donates money, opens schools, rebuilds their nation, and holds their little monkey paws, the damn niggers can never get it right. They never will! The same goes for New Orleans! Cancun in Mexico suffered few fatalities after their major hurricane, and the rebuilding is already completed. Wha
05:40:06 <elliott> 21:17:45 <Khazar> t have the niggers in New Orleans done? If you are sick of this, join Chimpout Forum! http://www.chimpout.com/forum We welcome all races except for NIGGGGGGGERS! We are not white supremacists, just negro inferiorists! http://www.chimpout.com/forum
05:40:08 <elliott> The site in question :P
05:40:17 <elliott> I wonder how one pronounces "NIGGGGGGGERS".
05:41:20 <elliott> I think it's "nig" -- at which point you allow a little bit of water to flow to the top of your mouth and vibrate it while continuing the g sound -- and then "ers".
05:41:53 <elliott> 22:18:46 <Khazar> i once knew a nigger named esoteric
05:41:53 <elliott> 22:19:02 <Khazar> he had a sister named shaquanda
05:41:59 <elliott> if only he had taken my advice
05:42:01 <elliott> to, his fortune, not squander
05:42:02 <elliott> IT RHYMES
05:43:12 <elliott> 22:20:23 <Khazar> Average Human IQ 100 Average Nigger IQ 80 Of course there are negroes that have normal IQs, but you are much more likely to run into a feral ape
05:43:12 <elliott> 22:20:28 <Khazar> than a magic negro
05:43:12 <elliott> 22:20:42 <Khazar> many who don't see this have been isolated from the bulk of the nigger population
05:43:12 <elliott> 22:20:49 <Khazar> and just know a few magic ones in the workplace
05:43:14 <elliott> Gregor: Can you feel the magic
05:44:32 <Gregor> As far as I can tell I know only magic ones. And no feral apes, modulo the fact that by any reasonable definition, all humans not in captivity are feral apes.
05:45:04 <elliott> Gregor: Obviously the intelligent negroes commit themselves to a life of BDSM.
05:45:08 -!- hagb4rd has joined.
05:45:08 <elliott> Obviously.
05:45:26 <Gregor> Apparently grepping for "25" has some pretty interesting effects X-D
05:45:26 -!- wareya has quit (Read error: Connection reset by peer).
05:45:37 <elliott> Gregor: wat
05:45:39 <elliott> you mean timestamps?
05:45:55 <Gregor> Oh, I assumed you got that by grepping for Gregor.*25
05:45:59 -!- wareya has joined.
05:46:01 <Gregor> Since it's me ... then a (0.)25
05:46:05 <elliott> Gregor: Not just 25 :P
05:46:10 <elliott> But yes, all the numbers.
05:46:21 <Gregor> Well I don't know exactly how you grepped X-P
05:46:22 <elliott> (The numbers are the integers between 17 and 30, inclusively.)
05:46:33 <elliott> (That is how the numbers are defined and only shit it's almost 6 am.)
05:47:18 <Gregor> Lesse, what's the minimum age I could be? Is it even reasonable that I could have been 17 while on #esoteric ...?
05:47:45 <elliott> Gregor: Well, I came in here when I was 11 or so... and started being active when I was 12.
05:47:56 <elliott> Admittedly you're more than the difference older than me, probably :P
05:48:00 <elliott> (Between 12 and 17.
05:48:01 <elliott> )
05:48:08 <elliott> Gregor: But really, I get no meaningful results even with that range, so *shrug*
05:48:09 <Gregor> elliott: I don't mean just being here at that age at all
05:48:18 <elliott> What then?
05:48:18 <Gregor> elliott: I mean that, given the knowledge you have, could I have possibly been here at 17?
05:48:23 <elliott> Right. Well, not really.
05:48:34 <elliott> Gregor: Are you <, =, or > 25? :P
05:48:39 <Gregor> Yup.
05:49:22 <elliott> Gregor: Are you < 25?
05:49:44 <Gregor> Do you think for some reason I'm required to actually answer these questions? :P
05:50:05 <elliott> Gregor: Yes.
05:50:06 <elliott> Gregor: Are you < 25?
05:50:15 <pikhq> elliott: Sadly, 1998 was a full 4 years before I would use make for the first time.
05:50:31 <elliott> pikhq: Man, I interpreted make as a regular word there SO CONFUSED
05:50:41 <pikhq> God, I've been Unixing for a long time.
05:50:50 <pikhq> (relative to my life span)
05:50:53 <Gregor> pikhq: Apparently The Google is insufficient to guess my age! Although I don't really care THAT MUCH about keeping my age secret, the fact that it's not out there is so fascinating I kinda have to!
05:51:04 <elliott> pikhq: Has anyone really been far even make as decided to use even go want to do look more like?
05:52:34 <elliott> <Gracenotes> elliott: then again people were mostly pinging me by wrongfully tab-completing the other guy whose nick began with Gr :)
05:52:35 <elliott> <elliott> Gracenotes: It's okay, we've killed him off and now his corpse lines our walls and floor. You can come back now.
05:52:37 <elliott> Gregor: PLAY DEAD
05:53:00 -!- Gracenotes has joined.
05:53:20 <Gracenotes> meows
05:53:28 <pikhq> Hmm. There's a lunar eclipse this winter solstice.
05:53:56 <elliott> Gracenotes: JUST JOKING YOU'RE NOT WELCOME HERE
05:53:59 <elliott> GO DIE IN A FIRE
05:54:03 <elliott> (death and fire optional)
05:54:27 <Gracenotes> D:
05:54:38 <Gracenotes> A CURSE UPON YOU AND YOUR DESCENDANTS FOR A THOUSAND GENERATIONS
05:54:47 <elliott> Gracenotes: We already have a curse! A SEXY curse!
05:57:45 <elliott> augur: as a linguist, what are your opinions on version control theory?
05:57:58 <augur> elliott: uh?
05:58:09 <elliott> augur: yep!
05:59:18 <elliott> augur: well that's the best blank stare i've ever seen communicated over IRC
05:59:21 <augur> elliott: i dont see how it relates
05:59:58 <augur> lol
06:00:02 <elliott> augur: well it's vaguely to do with streams of things. that have semantic meanings!
06:00:03 <elliott> and merging them.
06:00:09 <elliott> SORTA LIKE LANGUAGES AMIRITE
06:00:12 <augur> no?
06:00:14 <elliott> augur: YES
06:00:21 <augur> not.. really
06:01:34 <elliott> augur: no but if darcs can claim to be based on quantum physics, i want scapegoat to be based on linguistics
06:01:37 <elliott> so start bullshitting, faggot
06:01:43 <elliott> :|
06:01:45 <augur> wut
06:01:47 <augur> darcs?
06:01:55 <elliott> augur: THESE WORDS ARE OF NO CONCERN TO YOU
06:02:35 <augur> :|
06:03:19 -!- elliott has quit (Remote host closed the connection).
06:04:24 <Gracenotes> Fantastic Mr. Fox is turning out good
06:56:56 <quintopia> who are you Gracenotes
06:58:19 <Gracenotes> I don't know what to say. You ask a very deep question.
06:59:51 <Gracenotes> I have been here before though
07:00:10 -!- hagb4rd has quit (Quit: hagb4rd).
07:02:37 -!- oerjan has joined.
07:07:18 -!- hagb4rd has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:04:08 -!- ais523 has quit (Remote host closed the connection).
08:34:26 <quintopia> Gracenotes: all that's in my logs is you joining and pinging out a lot. how long ago was it?
08:34:48 <quintopia> also, was it in november? i didn't idle here in november because it was too distracting
08:42:24 -!- wth has joined.
08:42:48 -!- wth has left (?).
08:49:37 -!- sebbu2 has joined.
08:50:57 -!- wth has joined.
08:51:38 -!- sebbu has quit (Ping timeout: 276 seconds).
08:51:40 -!- wth has left (?).
08:55:01 -!- sbluen has quit (Quit: ChatZilla 0.9.86 [Firefox 3.6.13/20101203075014]).
09:14:06 -!- oerjan has quit (Quit: Later).
09:17:03 -!- MigoMipo has joined.
09:34:04 -!- wth has joined.
09:34:33 -!- wth has left (?).
09:36:37 -!- wth has joined.
09:37:01 -!- wth has left (?).
09:47:39 -!- wth has joined.
09:48:19 -!- wth has left (?).
09:56:23 -!- wth has joined.
09:56:38 -!- wth has left (?).
10:03:44 -!- wth has joined.
10:05:28 -!- wth has quit (Client Quit).
10:13:39 -!- Phantom_Hoover has joined.
10:41:26 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
11:01:09 -!- Phantom_Hoover has joined.
11:29:19 -!- sebbu2 has changed nick to sebbu.
11:40:23 <fizzie> Vorpal: You might consider using the github issue trucker for mcmap bugs, then I can keep 'em straight(tm). Anyway, for the -3 error I think I'm going to need to dump the whole packet to file and see what's up with it.
11:49:28 <Vorpal> fizzie, hm
11:51:40 <fizzie> It seems to me to be very simple; no complicated milestone/class/priority/component/whatever forms to fill in, just a single text-box.
11:53:02 <fizzie> (Though it's not like I'm going to forget the -3 thing, just in general it could be easier to report there, since I don't really logread #esoteric, sometimes even not when I'm highlighted.)
11:54:20 <Ilari> What -3 thing, BTW?
11:56:43 <fizzie> Sometimes chunk update packets cause the zlib uncompress() function to fail with error -3. ("Z_DATA_ERROR if the input data was corrupted or incomplete.")
11:57:24 <Ilari> Or you feed the wrong data to zlib...
11:57:26 <fizzie> It's rather strange, since the compressed-data length is given in the packet before the actual data, and I read exactly that many bytes.
11:57:38 <fizzie> But of course there can be some sort of bug.
11:57:49 <fizzie> It's just that it seems to happen only in very specific circumstances.
11:58:20 <Ilari> What circumstances?
11:58:29 <fizzie> Better ask Vorpal that.
11:58:51 <fizzie> So far there's been some sort of a complicated waterfall-related scenario, and now placing a torch in a very specific place.
12:00:39 <fizzie> Neither of which should make the sent-out chunk-updates any different than plain old regular chunk-updates, though.
12:01:45 <Ilari> Some sort of buffer overrun?
12:03:06 <Ilari> Ah, this is Java...
12:06:49 <Vorpal> hm
12:07:30 <Vorpal> fizzie, actually it is within 2-3 blocks of that place
12:07:40 <Vorpal> Ilari, his code is C though
12:07:47 <Vorpal> (minecraft is however java)
12:10:15 <Vorpal> fizzie, I guess I could try valgrind
12:10:24 <Vorpal> (atm I'm not using mcmap)
12:13:31 * Phantom_Hoover discovers that the Reader monad is the same as the (->) monad.
12:13:34 <Phantom_Hoover> My mind is blown.
12:16:08 <fizzie> There's one well-known zlib valgrind error that always happens.
12:16:17 <fizzie> At least on my installation the default suppression files don't cover it.
12:16:22 <fizzie> It's safe, though.
12:17:13 <fizzie> Other than that mcmap was valgrind-safe (error-wise; there might be leaks; it's not very careful code) at some point.
12:17:26 <Ilari> Ah, valgrind suppressions. One thing one would likely want to suppress: All memory leak messages from allocations done inside global ctors.
12:20:32 -!- sftp has joined.
12:21:00 <fizzie> ==16424== definitely lost: 116 bytes in 4 blocks
12:21:00 <fizzie> ==16424== indirectly lost: 436 bytes in 7 blocks
12:21:00 <fizzie> ==16424== possibly lost: 14,719,745 bytes in 721 blocks
12:21:00 <fizzie> ==16424== still reachable: 1,458,563 bytes in 1,774 blocks
12:21:14 <fizzie> But just the one conditional-uninitialised zlib thing.
12:22:38 <Phantom_Hoover> fizzie, could you stop mcmap from crashing when something goes wrong in the map-side code?
12:23:08 <Phantom_Hoover> So that it just becomes a pipe between the server and client?
12:23:34 <fizzie> Well, I *could* just ignore broken chunk-updates, it's just that I'd rather fix the bugs and this forces me to do it.
12:24:07 <fizzie> But yes, you can even probably do that by changing the die-macro to do some sort of thread-suicide instead of exit(1).
12:25:13 <fizzie> If you want to try that, change the exit(1) in main.c:do_die into g_thread_exit(NULL).
12:26:22 <fizzie> Though you'll probably end up running out of memory at some point because it'll keep pushing "interesting" packets into the "hey, look at these" queue, and there's then no-one at the other end to take care of them.
12:27:07 <fizzie> File an issue in github if you want me to add a "try to fail so that we just disable the map and keep forwarding packets" feature. :p
12:30:36 <fizzie> (Shouldn't be that hard. Just a status flag to see if the packet-inspection thread is running, single if (not) continue; in the packet-forwarding loop, and that's about it.)
12:31:12 -!- MigoMipo has quit (Remote host closed the connection).
14:16:58 <Ilari> Heh... Why does white flour exist? Really, why the step to white flour done?
14:23:05 <Ilari> White rice is quite understandable, but what about white wheat flour?
14:51:44 -!- oerjan has joined.
14:59:24 <oerjan> 04:13:31 * Phantom_Hoover discovers that the Reader monad is the same as the (->) monad.
14:59:27 <oerjan> 04:13:34 <Phantom_Hoover> My mind is blown.
14:59:48 <oerjan> do you know Writer is the same as a (,) monad?
15:00:00 <oerjan> (not one usually defined though)
15:00:12 * oerjan waits for Phantom_Hoover's head to explode
15:02:30 <oerjan> 06:16:58 <Ilari> Heh... Why does white flour exist? Really, why the step to white flour done?
15:02:35 <oerjan> interesting question
15:04:24 <oerjan> and not only that, afaiu bread is cheaper the more white flour it contains
15:04:38 <oerjan> which might somehow explain the why, i guess
15:06:47 * oerjan reads http://en.wikipedia.org/wiki/Flour
15:08:33 <oerjan> "The reason for the limited shelf life is the fatty acids of the germ, which react from the moment they are exposed to oxygen. This occurs when grain is milled; the fatty acids oxidize and flour starts to become rancid. Depending on climate and grain quality, this process takes six to nine months. In the late 19th century, this process was too short for an industrial production and distribution cycle. As vitamins, micro nutrients and amino acids were co
15:09:09 <oerjan> completely or relatively unknown in the late 19th century, removing the germ was a brilliant solution."
15:09:46 <oerjan> Ilari: looks like the likely culprit there...
15:10:43 <Ilari> Then some article has a pitch about "health benefits" of whole grain products. HRT, anyone?
15:11:22 <oerjan> well _today_ we have less problem handling whole grain than in the 19th century i assume
15:11:44 <oerjan> but it might still be more expensive to do so
15:12:00 <oerjan> *of a problem
15:12:26 <Ilari> Basically, in epidemiological studies, HRT seemed benefical, but in actual controlled studies, it proved to actually be deadly.
15:12:35 <oerjan> Ilari: ouch
15:12:37 <Ilari> (Hormone Replacement Therapy)
15:13:09 <oerjan> wait you aren't implying whole grain is actually unhealthy?
15:13:37 * oerjan is trying not to eat too fine bread as his stomach gets upset by it
15:13:44 <Ilari> Hah.
15:14:56 <oerjan> "It's worthwhile to note a confusing error: the USDA's Nutrient Data Laboratory (http://www.nal.usda.gov/fnic/foodcomp/search/) —and many websites that derive their data from it—show vitamin E as absent in crude wheat germ, this is an error."
15:15:32 <Ilari> And besides, bread isn't a good source of anything besides carbohyrate. The protein in it is junk, it isn't good source of micronutrients (and that's before it screws up absorption of some micronutrients).
15:17:09 <Ilari> Fineli gives 22.1mg per 100g of vitamin E in wheat germ (this is wheat germ, not whole grain wheat!)
15:18:01 <Ilari> Fresly ground wheat flour gives 0.4mg per 100g...
15:18:33 <oerjan> ...brilliant solution. Without the germ, flour cannot become rancid. Degermed flour became standard. Degermation started in densely populated areas and took approximately one generation to reach the countryside."
15:18:39 <Ilari> Some other whole wheat product gives 1.0mg per 100g.
15:19:38 <Vorpal> fizzie, no valgrind error when I reproduced the bug with water. Can't with torch since the the memory usage of the huge surface stretching to somewhere around 4000,4100 + valgrind overhead makes the machine swap trash
15:19:39 <Ilari> And besides, those fibers in bread aren't good either...
15:20:09 <oerjan> "Flour dust suspended in air is explosive -- as is any mixture of a finely powdered flammable substance with air[12] (see flour bomb). Some devastating and fatal explosions have occurred at flour mills, including an explosion in 1878 at the Washburn "A" Mill in Minneapolis, the largest flour mill in the United States at the time."
15:21:05 <Ilari> Of course, there's the gluten sensitivity / celiac disease issue. Celiac disease is real nasty to diagnose (to say nothing about other gluten sensitivity).
15:22:08 <Vorpal> bbl
15:23:24 <oerjan> "Bleached flour is a white flour treated with flour bleaching agents to whiten it (freshly milled flour is yellowish) and to give it more gluten-producing potential."
15:23:44 <Ilari> "Adherer effect" and "I don't give a shit effect" can really mess up results of epidemiological studies...
15:23:56 <oerjan> Ilari: wait what
15:25:15 <Ilari> Basically, the helathines/unhealthiness of something isn't the only factor, also healthiness/unhealthiness of other factors it is associated with will skew the results.
15:26:39 <oerjan> that makes sense
15:27:00 <Ilari> Find people with high consumption of say, whole grain bread and you likely run into health freaks. Find people with high consumption of butter and you likely run into those that don't give a shit about effects of their diet...
15:27:34 <Ilari> (or also low-carbers in the latter group, but those tend to be rare compared to the rest).
15:28:04 <oerjan> Ilari: you seem to be defining me as a health freak, that just doesn't seem _right_ :D
15:28:28 <oerjan> (i avoid both whole bread and usually butter)
15:28:29 <Ilari> Likely... Not that they are...
15:28:40 <oerjan> *fine bread
15:29:34 <Ilari> I'm no fan of butter personally (because I don't have that much use for it)...
15:31:10 <Ilari> I think milkfat is pretty much the only kind of real fat with independent track record...
15:32:09 <oerjan> well until recently i'd been avoiding milk products for a while as i think they upset my stomach a bit
15:32:50 <Ilari> With milk products, it tends to be that the more fat, the less stomach upset...
15:33:13 <Ilari> Of course, there are other factors as well...
15:34:37 <Ilari> Good sign to tell your eating habits are real bad: You get hungry again and "need" a snack few hours after eating...
15:35:25 <oerjan> there are always other factors, with that and this adherer effect you speak of i wonder if we have any _chance_ of finding out what things are really healthy or not (and not just food, but everything in our environment)
15:35:45 <oerjan> maybe there is just too much noise to be able to extract most of the signal
15:37:14 <Ilari> And then there's other stuff as well. One of the largest metastudies on saturated fat concluded (paraphrased): There is no link between saturated fat intake and heart disease, but because of publication bias, we probably overestimated the dangers of saturated fat...
15:37:53 <Ilari> I.e. saturated fat being neutral is likely overestimate of dangers...
15:38:52 <oerjan> Ilari: i had this idea in my head that it should be obligatory to register health studies somewhere _before_ they are done, so that negative results cannot be completely lost due to publication bias
15:39:22 <Ilari> That's the way it is done with clinical trials.
15:39:55 <oerjan> ah.
15:41:14 <Ilari> Did real nasty things with efforts to make statins seem effective...
15:42:17 <oerjan> good :D
15:42:28 <oerjan> i guess the system is better than i thought, then
15:42:30 <Ilari> BTW: Graph with total mortality vs. cholesterol will express better than words how much current guidelines on TC have to do with reality (none at all).
15:42:52 <oerjan> TC?
15:42:58 <Ilari> Total Cholesterol.
15:43:45 <Ilari> The upper end of reference range is in FALLING edge of U curve! If you reach the bottom (of course, this is just correlations), your doctor will complain about your cholesterol...
15:43:56 * oerjan finishes his fish and macaroni
15:44:50 <Ilari> Oh, and FFS, Sugar is not a saturated fat...
15:46:05 <Ilari> The ability to public health persons and nutrion researchers to confuse diffrent macronutrients is incredible...
15:46:32 <Ilari> That sugar and saturated fat confusion is just the most common one.
15:48:06 -!- MigoMipo has joined.
15:52:14 * oerjan guesses today's square root of minus garfield was eventually inevitable
15:53:35 <oerjan> (warning: not pretty)
15:54:07 <oerjan> oh it's not the first either
16:02:16 -!- MigoMipo has quit (Ping timeout: 260 seconds).
16:11:04 -!- MigoMipo has joined.
16:12:51 -!- elliott has joined.
16:14:43 <elliott> 22:56:56 <quintopia> who are you Gracenotes
16:14:49 <elliott> quintopia: someone who's been in here longer than you
16:15:10 <oerjan> The Ghost of Esolangs Past
16:25:52 <Gracenotes> maybe I left during that one period when we didn't discuss anything marginally related to esolangs
16:26:30 <elliott> Gracenotes: let us refer to that period, as "always"
16:26:44 <Gracenotes> precisely my dear ehird
16:26:47 <elliott> Gracenotes: right now hot topics are minecraft and scapegoat :-P
16:27:09 <Gracenotes> ah yes, the countless hours I have wasted with minecraft
16:27:18 <oerjan> later we'll pass on to minegoats and spacecraft
16:27:23 <Gracenotes> ...the countless seconds I have saved not looking up scapegoat
16:27:27 <Gracenotes> *checks*
16:27:33 <elliott> Gracenotes: good luck with that
16:27:59 <elliott> Gracenotes: scapegoat is ais523's plasmaware version control system that I'm trying to upgrade to vapourware and, maybe, one day, solidware.
16:28:23 <Gracenotes> where is ais523?
16:28:48 <elliott> Gracenotes: erm, presumably doing things that don't involve #esoteric, right this second :P
16:29:14 <oerjan> i have this vague impression he tends not to be here during weekends much
16:29:41 <Gracenotes> huh, no kidding.. this is his wikipedia editing chart nowadays. http://en.wikipedia.org/wiki/File:Wikipedia_user_ais523%27s_edit_times.png
16:30:12 <elliott> Gracenotes: he's pretty much left wikipedia, afaiu
16:30:21 <elliott> well, he de-sysopped himself
16:30:29 <oerjan> Gracenotes: that graph is from 2007
16:30:30 <elliott> oerjan: yeah i don't think he has internet at home
16:30:39 <oerjan> elliott: i vaguely recall that too
16:30:43 <Gracenotes> well.. same principles
16:30:50 <Gracenotes> compare with e.g. http://en.wikipedia.org/wiki/File:Wikipedia_user_Gurch%27s_edit_times.png
16:30:59 <Gracenotes> yeah, I haven't touched Wikipedia in a while either
16:31:17 <elliott> Gracenotes: well let's put it this way, the only times ais mentions wikipedia now are to try and explain why it's so terribly fucked up :)
16:31:29 <oerjan> although i'm sure i've seen him _some_ on weekends
16:31:30 <Gracenotes> hah
16:31:55 <elliott> oerjan: I think he comes in when he'sat other people's houses
16:31:57 <elliott> *he's at
16:32:05 <oerjan> huh
16:32:19 <Gracenotes> also wat, wikimedia has raised 10M dollars
16:32:33 <Gracenotes> some effective campaign this has been
16:32:36 <Gracenotes> some effective campaign this has been
16:32:54 <Gracenotes> er.. sorry.. reaching over keyboard for falling mouse
16:33:11 <oerjan> Gracenotes: http://en.wikipedia.org/wiki/Special:Contributions/Ais523 shows no activity since november
16:33:43 <elliott> yeah those ads are beyond irritating
16:33:53 <Gracenotes> http://en.wikipedia.org/wiki/Special:Contributions/Gracenotes shows no activity since May
16:34:01 <elliott> ...and also the amount they need has been increasing suspiciously far more than wikipedia has been growing
16:34:10 -!- Wamanuz3 has joined.
16:34:29 <elliott> also, I don't really want to donate with the such close ties to Wikia, which I abhor...
16:35:27 <Gracenotes> they made a killing-ehirds-family wikia, didn't they
16:35:46 -!- Wamanuz2 has quit (Ping timeout: 265 seconds).
16:36:14 <elliott> Gracenotes: No... but they have continually fucked over many wikis, including some I know the founders of, in VERY sleazy ways.
16:36:33 <elliott> Gracenotes: For instance: registering [wikiname].com and .net and refusing to give them over; redirecting them to the Wikia wiki, saying it's to "protect their brand" or some shit.
16:37:07 <elliott> Gracenotes: And whenever a wiki wants to move, they like to remove all notices it has been removed and fork off the wiki into their own graveyard that people can't find the real wiki from.
16:37:19 <elliott> As well as a lot of censorship and hullabaloo over their utterly unreadable new skin...
16:37:51 <elliott> Gracenotes: Anyway, even if I liked Wikia, it's still a blatant conflict of interest.
16:37:59 <Gracenotes> yeah... some wikis on there flourish, but wikis are supposed to be about the long tail...
16:38:25 <Gracenotes> the ones with autonomy and room to grow are the ones that were there from near the beginning
16:38:42 <Gracenotes> and uncyclopedia, well, they probably have the most autonomy
16:39:15 <elliott> Gracenotes: http://nethack.wikia.com/wiki/Main_Page Quick! Can you tell that nethackwiki has been abandoned and moved at first glance?
16:39:28 <elliott> Who knows how long that news post will be allowed to stay -- Wikia staff said they'd allow it for a certain time but then remove it.
16:39:30 <elliott> (Seriously.)
16:39:44 <Gracenotes> (old site) in title?
16:39:51 <elliott> Gracenotes: Yeah, I don't think that will last...
16:39:58 <elliott> (and who looks at the title bar any more?)
16:40:09 <Gracenotes> when you're on slow internet and it loads first
16:40:20 <Gracenotes> hm. I dislike how minecraft on linux forgets custom key configs when you restart it.
16:40:34 <elliott> Everything they've said on issues like this makes perfect sense if you accept this: "The founders of a Wikia wiki do not own that wiki. The entire community of a Wikia wiki do not own that wiki. Wikia owns that wiki, and the entire community moving out and abandoning ship is immaterial to the Wikia wiki."
16:40:36 <Gracenotes> R FOR INVENTORY, T FOR DROP
16:40:49 <elliott> which is... rather /not/ what most people expect when signing up, I imagine
16:40:53 <elliott> Gracenotes: erm save in .nethackrc?
16:41:14 <Gracenotes> ...there really is a .nethackrc? heh.
16:41:27 -!- oerjan has quit (Quit: This discussion is not good for my blood pressure).
16:41:42 <elliott> Gracenotes: ...
16:41:46 <elliott> Gracenotes: you play nethack and don't have a nethackrc?
16:41:52 <elliott> Gracenotes: but what do you have boulders as???
16:42:03 <Gracenotes> I don't play nethack. I play minecraft.
16:42:10 <elliott> oh MINECRAFT okay
16:42:11 <elliott> erm
16:42:17 <elliott> i misread
16:42:17 <elliott> :D
16:42:20 <elliott> due to context
16:42:26 <elliott> Gracenotes: I don't think minecraft has custom key configs.
16:42:26 <elliott> does it?
16:42:53 <Gracenotes> it does. until a few weeks ago it remembered them upon closing
16:43:03 <elliott> Gracenotes: oh yes, I remember, it does
16:43:08 <elliott> never changed them though
16:43:17 <elliott> r for inventory sounds nice
16:45:33 <Gracenotes> it's the season that I'm getting dissertation/doctorate defense notices in the mail from my university CS department.
16:45:39 <Gracenotes> *in the email
16:45:48 <Gracenotes> apparently receptions only follow *successful* defenses. funny that.
16:51:40 <elliott> Gracenotes: you should be on our mc server :|
16:52:05 <Gracenotes> how busy tis
16:52:39 <elliott> Gracenotes: um ineiros fizzie nailor (just zis guy, you know?) Vorpal (alas) Phantom_Hoover Deewiant and me.
16:52:41 <elliott> not very busy at all.
16:52:48 <elliott> mostly 0-3 people online :P
16:52:55 <elliott> Gracenotes: although health is turned off. you have been warned.
16:53:13 <elliott> and preparing for being on fire rather more than is strictly necessary is probably a good idea
16:53:56 <Gracenotes> health turned off? as in, there's no damage?
16:54:13 <elliott> Gracenotes: yep. it used to be that way, but notch decided it was a bug and fixed it, so we put it back.
16:54:14 <elliott> :p
16:54:29 <elliott> Gracenotes: let's put it this way, getting places is a /lot/ more convenient if you can just jump off tall buildings.
16:54:35 <Gracenotes> yes, I played extensively on a server before the health update
16:54:54 <elliott> also, the Temple of Doom's purifying lava bath didn't last nearly long enough to cleanse your body and soul with health on.
16:54:55 <Gracenotes> jumping off superstructures etc. but despite no damage, my stomach still turns every time I do it
16:55:07 <elliott> Gracenotes: stay away from the Stairs then
16:55:10 <Gracenotes> but you can hardly see anything underlava
16:55:13 <elliott> Gracenotes: (two stairs from max alt to near level 0)
16:55:22 <elliott> also, that doesn't matter; you swim up a glass tube
16:55:24 <Gracenotes> elliott: didn't say it wasn't fun though
16:55:47 <Gracenotes> I set up a water elevator on my server, it worked despite buggy boat physics
16:55:49 <elliott> Gracenotes: anyway if you want in ask ineiros, he's the admin
16:55:57 <elliott> Gracenotes: Vorpal has two boat elevators or so
16:56:03 <elliott> they are rather easy to break
16:56:14 <Gracenotes> water ladders are much more fun
16:56:15 <elliott> (for instance, here's one method: "press A or D while in the boat")
16:56:21 <elliott> Gracenotes: water ladders? how does that even work?
16:56:26 <Gracenotes> okay.. less fun, more useful
16:56:40 <Gracenotes> well. a bug in water physics probably
16:56:49 <Gracenotes> it lets you climb at 3x the speed of normal ladders
16:57:02 <elliott> that sounds very useful.
16:57:03 <Gracenotes> OMG I FOUND A PUMPKIN PATCH
16:57:15 -!- hagb4rd has changed nick to hagb4rd|afk.
16:57:19 <elliott> Gracenotes: our server is pre-halloween, so people go off on pumpkin expeditions all the time :P
16:57:37 <elliott> ok so people=Vorpal and all the time=occasionally
16:58:38 <elliott> Gracenotes: i hate how tools regenerating is going to be fixed :(
16:58:39 <elliott> in SMP
16:59:10 <Gracenotes> it already is fixed
16:59:22 <Gracenotes> ..ain't it
16:59:24 <elliott> Gracenotes: no it isn't
16:59:29 <elliott> throw, pick back up again, woohoo
16:59:42 <elliott> it's going to be fixed with server-side inventory (suggesting that the current form is *client-side* inventory: wow just wow)
16:59:44 <Gracenotes> it means you actually have to look for *resources* goldarn it
16:59:55 <elliott> oh well, we'll just use hMod to put it back >:)
16:59:58 <elliott> Gracenotes: hey we have enough of that already
17:00:04 <Gracenotes> which you have to do anyway if you forget to drop it
17:00:07 <elliott> Gracenotes: but making diamond tools all the time is waay too expensive :P
17:00:10 <Gracenotes> which I have done many, many a time. even with diamonds.
17:00:19 <elliott> well, i've never done that
17:00:21 <elliott> see a brain doctor :P
17:00:42 <elliott> anyway yes ineiros is the man.
17:02:46 <Gracenotes> I had root on the box my previous server was on. I also had physical access to it. unfortunately, 2/3 disks failed on RAID.. 1, I think
17:03:14 <elliott> Gracenotes: our "box" is a computer in ineiros's home :P
17:03:27 <elliott> and yes, exactly the same things happen when he torrents as you'd expect.
17:03:29 <elliott> we're low-fi, man.
17:03:32 <elliott> authentic.
17:03:37 <elliott> we're recording minecraft on cassette.
17:03:58 <Gracenotes> groovy
17:04:25 <Vorpal> elliott, seems I have AA off in MC. I tried forcing it on (it turned out the settings were not what I thought they were) and it causes rendering issues
17:04:37 <Vorpal> as in, white lines at the edges of flat textures
17:04:42 <elliott> yeah i heard about that
17:04:44 <elliott> sucks :(
17:04:54 <Gracenotes> for some reason I'm listening to My Chemical Romance. I feel like I'm 16 again.
17:05:12 <Vorpal> elliott, actually I'm not surprised if it is using one image for several textures
17:05:26 <elliott> OH MAN IM WATCHING NOTCH DO THINGS ON HIS COMPUTER LIVE ITS LIKE HAVING A BABY
17:05:29 <elliott> why does this even exist
17:05:42 <elliott> dude everyone who plays minecraft hates you
17:05:43 <Gracenotes> he always does ludum dare
17:05:45 <elliott> what are you even doing
17:06:11 <elliott> stop doing whatever you're doing and fix the myriad bugs you bastard
17:06:17 <elliott> i'll punch you
17:06:33 <Vorpal> <elliott> OH MAN IM WATCHING NOTCH DO THINGS ON HIS COMPUTER LIVE ITS LIKE HAVING A BABY <-- ?
17:06:46 <elliott> Vorpal: http://mojang.com/live/ WARNING TO SEE NOTCH'S AWESOMENESS IN ACTION REQUIRES MACROMED^&wADOBE FLASH
17:08:40 <Vorpal> elliott, the basic structure of SMP (Sustainable Minecraft Project) is done btw
17:08:52 <Vorpal> what remains is to flesh it out
17:09:04 <elliott> Vorpal: i, Metropolis, am going to come and civilise the fuck out of your people
17:09:07 <elliott> Vorpal: expect smallpox.
17:09:13 <Vorpal> elliott, :P
17:09:30 <Vorpal> elliott, I expect you are careful next to the non-windowed lava lighting systems
17:09:45 <Vorpal> which depends on on lava flowing down to lower alt
17:09:48 <elliott> Vorpal: DAMMIT IF YOU WON'T ENTER CIVILISATION HOW CAN WE SHOW YOU THE DANGERS OF YOUR WAY OF LIFE
17:09:52 -!- Gracenotes_ has joined.
17:10:01 <Vorpal> elliott, placing blocks in the wrong places could result in severe problems
17:10:21 <Vorpal> elliott, I use enternal-log-fire in a few places
17:10:22 -!- Gracenotes has quit (Read error: Connection reset by peer).
17:10:24 <elliott> "What else do I have? A sword, some gravel, a bucket of water… a bucket of water! The deadliest weapon of all!" --Tom Francis
17:10:28 <elliott> Vorpal: *eternal
17:10:28 <Vorpal> eternal*
17:10:41 <Vorpal> hah, beat you to it (same second though)
17:10:41 <elliott> "He has the saddest face, as the current drags him away from me and I quickly lay down a barrier in case he can overpower it. He can’t, he just thrashes armlessly as he stares miserably into my eyes, drifting slowly backwards."
17:10:58 -!- Gracenotes_ has changed nick to Gracenotes.
17:11:01 <Vorpal> elliott, a creeper?
17:11:05 <elliott> yes
17:14:16 <elliott> OK, I swear to god I will now write a Lisp interpreter in 150 to 200 lines of C code, including a reader.
17:14:25 <Gracenotes> you have monsters turned on right
17:14:31 <Gracenotes> ..killable monsters
17:15:41 <elliott> Gracenotes: well, not enemy mobs. :p
17:15:52 <elliott> they'd just be irritating, since they couldn't do anything
17:16:01 <Deewiant> I wouldn't mind creepers
17:16:17 <Gracenotes> yeah.. you need monsters for real. they're something new in SMP I haven't played with before.
17:18:11 <elliott> Gracenotes: ask ineiros :P
17:18:26 <elliott> Gracenotes: i think the creepers might make the way into the underground minecart system though.
17:18:30 <elliott> which would be. irritating.
17:18:33 <elliott> *their
17:18:40 <Gracenotes> torches torches everywhere
17:18:50 <elliott> Gracenotes: old mine gigantic old mine everywhere connected to the minecart syste
17:18:51 <elliott> m
17:18:53 <elliott> *system
17:19:08 <elliott> also open-air exit/entries
17:19:14 <elliott> *exits
17:19:25 <Gracenotes> hm. have security checkpoints. ;.;
17:19:44 <elliott> Gracenotes: it would be fun to have Creeper Wednesdays with monsters, pvp and health turned on or something
17:21:20 <elliott> So, the raw price of Minecraft times the number of sales = £6.76 million pounds.
17:21:26 <elliott> I think PayPal deducts 20% or so.
17:21:45 <elliott> So £5.4 million or so.
17:21:50 <elliott> Notch is one motherfucking rich bastard.
17:25:27 -!- jsaasch has joined.
17:28:05 <elliott> Vorpal: you know the locations you scouted fort he cube?
17:28:07 <elliott> *fort he
17:28:08 <elliott> *fort he
17:28:10 <elliott> *for the
17:28:13 -!- jsaasch has quit (Client Quit).
17:28:17 <Deewiant> *fort he
17:28:22 <elliott> Fort, he!
17:28:34 -!- FireFly has joined.
17:29:23 <elliott> Vorpal: I presume the only cobble in SMP will be from a factory.
17:32:32 <elliott> "Luckily, I discover after three minutes of tactical standing still, this particular Creeper is too stupid to move."
17:38:15 <Vorpal> elliott, yes or that which is excavated to make room for the rooms (no pun intended)
17:38:25 <Vorpal> elliott, throwing it away would be kind of pointless
17:38:27 <elliott> Vorpal: that's not sustainable, dude
17:38:32 <elliott> build houses only in existing indents in hills
17:38:49 <Vorpal> elliott, that would leave a large above-ground footprint
17:39:00 <elliott> Vorpal: you prefer non-sustainability?
17:39:30 <Vorpal> elliott, it isn't non-sustainable, I used existing dirt for tree plantation (just moved it around, less than 5 blocks in all cases)
17:39:52 <Vorpal> elliott, it will be sustainable because it won't need to grow, thus it will be a fixed, finite cost
17:40:14 <elliott> Vorpal: it's more damaging to hollow out the ground than to build small, perishable structures in indents of hills
17:40:18 <Vorpal> elliott, since there will be capping to make the population sustainable
17:40:39 <elliott> Vorpal: you're going to kill people when they reach 21? :p
17:40:54 <Vorpal> elliott, no, I do it like China or something
17:41:03 <elliott> ah. emulating china. always a good idea
17:41:08 <elliott> Vorpal: so forced abortions then
17:41:12 <Vorpal> quite!
17:41:17 <elliott> Vorpal: you got sustainable coat hangers?
17:41:27 <Vorpal> elliott, but your suggestion reduces natural habitats for various threatened animals living in the ecosystem in indents of hills!
17:41:32 <Vorpal> elliott, how can you possibly support this
17:41:44 <elliott> don't build doors and put animal food in the houses, duh
17:41:48 <elliott> live in peace with the mobs
17:42:04 <Vorpal> elliott, alas, that won't work, considering they need untainted nature
17:42:09 <elliott> Vorpal: all you need to do is build a small box of wood with one side open
17:42:12 <elliott> you can leave the grass floor
17:42:20 <elliott> you could even open up the ceiling apart from one block border around
17:42:23 <elliott> to let the light in
17:42:29 <elliott> and then just build sustainable things for living in the corners
17:42:47 <Vorpal> elliott, I specifically avoid existing caves btw to not taint the underground ecosystems
17:42:50 <elliott> Vorpal: or, better: do it in the relative dark -- not so much that you'll need extra lighting, but nowhere that animals would be attracted to
17:43:09 -!- augur has quit (Remote host closed the connection).
17:43:34 -!- augur has joined.
17:44:15 <Vorpal> hm
17:44:50 <Vorpal> elliott, what about animals allergic to wood then?
17:45:08 <Vorpal> (I think we jumped the shark)
17:45:26 <elliott> Vorpal: they will stay away, since it's not in the light
17:45:36 <elliott> Vorpal: in fact, what you could do is put some lava lighting above an area just a bit away from the house
17:45:39 <elliott> just floating in the air
17:45:45 <elliott> that way, animals will go there, not to your house
17:46:06 <Vorpal> elliott, and they will burn
17:46:08 <Vorpal> poor them
17:46:15 <elliott> Vorpal: no?
17:46:17 <elliott> the lava is in the air
17:46:43 <elliott> Vorpal: in fact, you could even shield them from the upsetting image of lava... put cobble stairs on the top and bottom
17:46:46 <elliott> (they let light through)
17:47:02 <Vorpal> hm
17:47:19 <Vorpal> elliott, the aesthetics police would be after me then
17:48:10 <elliott> Vorpal: find a natural flat space surrounded by mountains so that not many mobs make it in
17:48:24 <elliott> Vorpal: build a fence around the space not occupied by animals, and say two to four doors around it
17:48:32 -!- augur has quit (Ping timeout: 276 seconds).
17:48:33 <elliott> Vorpal: tada, you can build sustainably without worrying about the animals
17:50:52 <elliott> ok, reddit has officially denigrated to saying "lol, stop making excuses for wanting free shit!" to anyone who dares to question incredibly strong copyright in any way
17:50:59 <elliott> fuck this shit.
17:51:18 <Vorpal> elliott, I thought you liked reddit?
17:51:45 <Deewiant> I like how you use "reddit" to describe every single user
17:52:50 <elliott> Deewiant: i like that too!
17:52:59 <elliott> Deewiant: actually i'm just sick of the general quality of the comments. uh, and posts.
17:53:08 <elliott> Vorpal: I /did/, circa 2007
17:53:25 <Deewiant> Unsubscribe from shitty subreddits
17:53:49 <Vorpal> elliott, so which one do you like now?
17:54:06 <elliott> Deewiant: Name a non-shitty programming/CS-related subreddit.
17:54:15 <Gracenotes> HASKELL
17:54:16 <Deewiant> /r/coding?
17:54:29 <Gracenotes> FOREVER
17:59:09 <Gracenotes> OMG DIMINS
18:00:02 <elliott> Deewiant: /r/coding is terrible.
18:00:21 <elliott> Deewiant: Its front page spans a whole half year.
18:00:38 <elliott> Deewiant: And it misses a lot of the interesting stuff *actually in* /r/programming.
18:00:46 <elliott> Deewiant: Oh, and Jon Harrop is on the case:
18:00:47 <elliott> "Building a business with Haskell: Case Studies: Cryptol, HaLVM and Copilot"
18:00:49 <elliott> -->
18:00:57 <elliott> "Off-topic for /r/coding and you already posted it to /r/programming as well as /r/haskell." -- Jon "Colostomy Bag" Harrop
18:01:12 <Deewiant> Pick quality xor quantity.
18:02:49 <elliott> Deewiant: /r/programming = quality + crap; /r/coding = fewer quality + fewer crap + very slow
18:02:59 <elliott> + still has crap
18:03:05 <elliott> Slashdot = Slashdot
18:03:10 <elliott> ??? = ???
18:03:19 <Deewiant> Hacker News = Hacker News
18:03:29 <Deewiant> /r/compsci = /r/compsci
18:03:51 <elliott> Deewiant: Hacker News = Quality + irritating startup asswipes + irritating startup asswipe posts
18:04:01 <Gracenotes> but.. didn't you hear.. hacker news is turning into reddit???!?!?!?!?!?111!?!!1oneone
18:04:02 <elliott> (If I could filter out the business bullshit from HN I'd read it exclusively.)
18:04:37 <elliott> Deewiant: /r/compsci = Nice reading, perhaps, but not really the same thing as the others.
18:04:48 <elliott> Lots of questions, not really many actual interesting posts.
18:05:21 <Deewiant> You can't have everything
18:05:41 <elliott> Deewiant: Yes I can, see: /r/programming circa 2007.
18:05:50 <Deewiant> You can't have everything permanently
18:06:17 <elliott> Deewiant: There's no inherent reason why it went to shit. Anyway I would be fine if people just kept cloning /r/programming every 2 years or so. :p
18:06:25 <Vorpal> elliott, see mc
18:06:50 <Deewiant> /r/coding is a clone; as you've noted it didn't take off
18:08:49 <elliott> Deewiant: I mean on something that isn't reddit. :p
18:09:04 <Deewiant> It doesn't matter where it is if it doesn't take off
18:09:48 <elliott> Deewiant: Well, yes.
18:10:02 <elliott> Deewiant: I meant clone as in clone and take users. :p
18:10:20 <Deewiant> Nontrivial.
18:10:36 -!- wareya has quit (Read error: Connection reset by peer).
18:10:38 <elliott> Deewiant: It was a hypothetical.
18:11:10 <Deewiant> In the meanwhile, just read whatever and downvote and hide the crap
18:11:33 -!- wareya has joined.
18:12:15 <Deewiant> If the amount bothers you too much, stick to low-traffic places
18:12:20 <elliott> Deewiant: But I have so much laze within me, dude.
18:12:21 <elliott> So much laze.
18:12:35 <elliott> Anyway "downvote and hide" is a rather more tedious policy with comments. :p
18:12:57 <Deewiant> Not really
18:13:39 <elliott> Deewiant: Consider that bad comments often have good replies.
18:14:00 <Deewiant> No, not "often". Rarely.
18:14:59 <elliott> Deewiant: Well, fine, but I can't stop myself reading them anyway. :p
18:15:07 <fizzie> Phantom_Hoover: Latest github version should make the -3 bug non-fatal; if it hits, it should just freeze all map updates, but the packet-forwarding (and GUI stuff, but that's... less useful when it won't see the traffic) side should continue working.
18:15:14 <fizzie> I do need to actually fix the bug too, of course.
18:15:15 <Deewiant> If you are drawn to crap, don't complain that it exists.
18:15:45 <elliott> Deewiant: But I like complaining.
18:18:09 <Vorpal> elliott, we know...
18:18:30 <elliott> Indeed. But evidently not Deewiant ... either that or he just wants to complain about my complaining, which I can support :P
18:19:02 <Deewiant> I just have a vain hope that you'd stop complaining
18:19:54 <elliott> Deewiant: Alack, alack, alack, my complaints are unstoppable.
18:22:28 -!- Eva_Earlong has joined.
18:24:36 <Eva_Earlong> hi cheaters
18:27:43 <elliott> Eva_Earlong: Cheaters?
18:27:54 -!- Mathnerd314 has joined.
18:29:02 -!- cheater99 has quit (Ping timeout: 240 seconds).
18:31:44 <pikhq> I neither *am* a cheater no do I *wear* cheaters.
18:31:47 <pikhq> </archaicisim>
18:33:20 <elliott> pikhq: let fib=(fix$(0:).(zipWith(+)=<<(1:)))!!
18:33:22 <elliott> pikhq: Golf.
18:33:47 <Deewiant> elliott: Needs more ()
18:33:48 <Vorpal> elliott, see mc...
18:34:16 <elliott> Deewiant: Feel fee to donate it more ()s :P
18:34:32 <Deewiant> elliott: You need to wrap the whole thing in ()
18:34:41 <elliott> Deewiant: No you don't.
18:34:45 <Deewiant> elliott: Yes you do.
18:35:03 <elliott> Oh, so you do.
18:35:04 <pikhq> elliott: Very nice... Hmm.
18:35:05 <elliott> DAMMIT SCIENCE
18:35:14 <elliott> Then
18:35:14 <elliott> fib=(!!)$fix$(0:).(zipWith(+)=<<(1:))
18:35:15 <elliott> Is shorter.
18:35:45 <pikhq> elliott: I don't think the partially applied !! works like that without more parens, in the first, though.
18:35:50 <elliott> pikhq: Yeah, thus
18:35:51 <elliott> fib=(!!)$fix$(0:).(zipWith(+)=<<(1:))
18:36:02 <elliott> BTW: This is both memoised and O(n).
18:36:03 <pikhq> Yeah, that's just fine and shorter.
18:36:37 * pikhq tries to think of a shorter way of generating that list...
18:36:52 <Vorpal> elliott, you made an attack in MC, that you then did not justify, care to justify it either there or here?
18:37:18 <Deewiant> elliott: fib=(!!)$fix((0:).scanl(+)1)
18:37:36 <elliott> Vorpal: (1) You are incredibly paranoid to call that an "attack"; (2) you often call other people cheaters yet didn't blink an eye at discussing the precise implementation of a definite cheat method (one I have no problem with); I found this hypocrisy amusing.
18:37:42 <elliott> Deewiant: Nice.
18:37:53 <elliott> Deewiant: fib=(!!)$fix$(0:).scanl(+)1
18:37:55 <elliott> Deewiant: That was easy :P
18:38:00 <pikhq> *grin*
18:38:01 <Vorpal> elliott, I don't remember calling other cheaters, and which method did you mean?
18:38:18 <Deewiant> elliott: I didn't really optimize it, but scanl anyway. :-P
18:38:22 <elliott> Vorpal: Clearly you have a terrible memory, as you've called me a cheater plenty a time; and I meant the teleportation.
18:38:29 <elliott> Deewiant: Yeah, but needless parens!
18:38:58 <Vorpal> elliott, hm, not sure I consider it cheating, if the server is badly coded enough to accept it
18:39:28 <Vorpal> coded badly enough*
18:39:34 <elliott> Vorpal: You called plenty of server-allowed things cheating before.
18:39:38 <elliott> e.g. duplication bugs.
18:40:13 <Deewiant> elliott: The bracket-heavy version (fix((0:).scanl(+)1)!!) is the same length, FWIW.
18:40:29 <elliott> Deewiant: Pah!
18:40:32 <Vorpal> elliott, well, I changed my mind about that
18:40:37 <Deewiant> Shouldn't have written it with the prefix-(!!) in the first place. :-P
18:40:45 <elliott> Vorpal: I see. And when was this? Five minutes ago...?
18:40:47 <Vorpal> elliott, once I learnt that it was due to crappy code
18:40:51 <Vorpal> elliott, a few days ago
18:40:55 <elliott> You definitely said that PH would be a cheater to use duplicated TNT yesterday.
18:40:57 <elliott> Or the day before.
18:41:31 <Vorpal> elliott, I said it would scare me, and I don't support that usage. But not cheating, rather it's making use of bugs
18:44:17 -!- Eva_Earlong has left (?).
19:01:07 <pikhq> Huh. Villa Las Estrellas. It's the only civilian settlement on Antartica. Not a research station, it's just a freaking town.
19:03:25 -!- Eva_Earlong has joined.
19:07:36 <Slereah> Is that antartica itself or a closeby island?
19:13:06 <pikhq> Antartica itself.
19:13:12 <elliott> Vorpal: I mean something like http://fc05.deviantart.net/fs71/i/2010/274/0/6/realistic_minecraft_icon_by_triquetraclover-d2ztxky.png
19:13:16 <elliott> Vorpal: except, less realistic dirt
19:13:19 <elliott> and without the stone
19:13:28 <elliott> Vorpal: i.e., something as "cartoony" (except not really) as the original, just HD... not realistic
19:13:42 <elliott> Vorpal: Ore would still look the same, just moar pixels.
19:13:51 <elliott> Diamond blocks would still look as non-diamondy as they do, just moar pixels.
19:13:57 <Vorpal> elliott, hah
19:14:29 -!- Eva_Earlong has left (?).
19:14:31 -!- Eva_Earlong has joined.
19:14:36 -!- Eva_Earlong has left (?).
19:25:31 <pikhq> God. People do Let's Plays of Persona 3.
19:25:55 <pikhq> (Persona 3 is a ridiculously long JRPG. A speedy playthrough is 60 hours.)
19:27:00 -!- ais523 has joined.
19:27:10 <pikhq> (also, it's in the series that *invented* the "gotta catch 'em all" mechanics of Pokemon)
19:38:09 <ais523> pikhq: context?
19:43:06 -!- church1 has joined.
19:43:29 -!- church has quit (Ping timeout: 250 seconds).
19:48:04 <Vorpal> elliott, down?
19:48:21 <elliott> ais523: <pikhq> God. People do Let's Plays of Persona 3.
19:48:21 <elliott> <pikhq> (Persona 3 is a ridiculously long JRPG. A speedy playthrough is 60 hours.)
19:51:01 <pikhq> Yeah...
19:51:28 * pikhq is currently 53 hours into a playthrough.
19:51:38 <pikhq> This may end up being a really speedy 100% run.
19:53:36 -!- oerjan has joined.
20:08:50 <Phantom_Hoover> <elliott> You definitely said that PH would be a cheater to use duplicated TNT yesterday.
20:08:56 <Phantom_Hoover> I had duplicated TNT?
20:09:12 <Phantom_Hoover> I made 1 block, and once I used it I had no duplicates.
20:09:19 <elliott> Phantom_Hoover: You didn't.
20:09:26 <elliott> Vorpal just decided that it was a posibility.
20:09:28 <elliott> *possibility.
20:09:32 <elliott> pikhq: you've watched it for 53 hours? :p
20:09:38 <Phantom_Hoover> On what grounds?
20:09:39 <oerjan> you had singulated TNT, you cheater!
20:10:19 <elliott> Phantom_Hoover: You're a filthy cheater?
20:10:20 <Vorpal> Phantom_Hoover, on the grounds that it could be done
20:10:31 <Vorpal> Phantom_Hoover, not saying you had
20:10:43 <Vorpal> Phantom_Hoover, it was a misinterpretation of what elliott told me
20:11:14 * oerjan is a murderer. hey, it could be done...
20:11:54 <pikhq> elliott: No, I've *played* it for that long.
20:12:00 <elliott> pikhq: Ah.
20:12:08 <elliott> oerjan: you expect that to /not/ go way over Vorpal's head? :D
20:12:35 <oerjan> elliott: i did not consider that issue.
20:13:23 <Vorpal> elliott, of course it doesn't go over my head. It went below my feet
20:13:31 <Vorpal> (due to not watching irc)
20:16:18 -!- Gracenotes has quit (Ping timeout: 265 seconds).
20:18:04 <pikhq> Okay, this might take less time than I thought to finish.
20:18:07 <pikhq> GAME BREAKER GET!
20:18:20 <ais523> deliberate game breaker? or a glitch?
20:18:35 <pikhq> Defeat boss before it gets a turn!
20:18:54 <pikhq> Thank you, Odin!
20:20:03 <pikhq> And no, this is not the infinity-plus-one sword, just an unintended consequence of game mechanics.
20:20:26 <Phantom_Hoover> How?
20:20:44 <pikhq> Thunder Reign + Elec Amp + Elec Boost + max magic.
20:21:19 <pikhq> Voila, defeat everyone while seriously underleveled.
20:22:35 <pikhq> The infinity-plus-one sword, BTW, just one-shots all but one enemy in the game... But you can only get it at the very end. Literally level 98.
20:23:53 <coppro> what game?
20:24:20 <pikhq> Persona 3 FES
20:24:37 <coppro> oh
20:24:38 <coppro> bleh
20:25:07 <pikhq> I highly recommend it, but note that it's long and hard unless you're very clever at abusing the game mechanics.
20:25:28 <coppro> not a fan of Persona
20:25:40 <pikhq> Which game/games have you played, and for how long?
20:29:36 <elliott> pikhq: tetris, for five days (without breaks)
20:29:56 <pikhq> In the series.
20:30:01 <pikhq> elliott: -_-'
20:31:34 * oerjan did a mean tetris back when
20:32:57 <Vorpal> fizzie, waiting for it to connect
20:33:08 <fizzie> Also disconnected, have a typo to fix.
20:33:13 <fizzie> Won't take long.
20:33:16 <Vorpal> fizzie, minecraft.net is down
20:33:22 <fizzie> Ohh.
20:33:31 <fizzie> That could even have caused the invisibility.
20:33:35 <Vorpal> fizzie, maybe
20:33:38 <fizzie> Since the skin-loading won't work.
20:33:42 <Vorpal> 502 bad gateway
20:33:44 <Vorpal> ah
20:33:54 <Vorpal> up again partly
20:33:56 <Vorpal> and down
20:34:27 * oerjan realizes s/when/before ehird was born/
20:34:38 <oerjan> s/ehird/elliott/
20:34:40 <fizzie> Okay, managed to connect now.
20:34:47 <Vorpal> fizzie, I have not
20:35:06 <ais523> I think the longest I've played a game before in a row is probably 12 hours or so, for both Neverwinter Nights and Battle for Wesnoth
20:35:21 -!- Gracenotes has joined.
20:35:33 <Deewiant> Which NWN?
20:35:44 <ais523> 1
20:35:57 <ais523> 2 is a) not as good IMO, and b) doesn't run on Linux
20:36:02 <elliott> oerjan: I played Tetris before they invented computers.
20:36:03 <Deewiant> I mean
20:36:07 <elliott> Abatris.
20:36:08 <Deewiant> Presumably the 2002 one?
20:36:13 <elliott> PLAYED ON A MOTHERFUCKIN' ABACUS
20:36:16 <Deewiant> Well, given that you mentioned 1 and 2, yes.
20:36:19 <elliott> Deewiant: "No, the original AOL one!"
20:36:36 <Deewiant> elliott: It's a reasonable question.
20:36:52 <elliott> Deewiant: Not really, since probably three people played the original AOL one :P
20:37:08 <Deewiant> More like tens of thousands.
20:37:11 <elliott> Deewiant: You know why? It went out of business because of people copying floppies.
20:37:13 <elliott> A sad tale.
20:45:30 <Vorpal> fizzie, down or just lagged?
20:45:35 <elliott> I may have made it go down.
20:45:39 <Vorpal> Attempted to place a tile entity where there was no entity tile!
20:45:45 <Vorpal> my mc said that
20:45:46 <elliott> Possibly, my client did not want to download that many chunks.
20:45:48 <Vorpal> elliott, what did you do?
20:45:50 <Vorpal> elliott, ...
20:45:53 <elliott> Vorpal: I might have gone to somewhere.
20:45:57 <Vorpal> elliott, where?
20:46:07 <elliott> It might be a place with 6 digits in its coordinates.
20:46:08 <Vorpal> elliott, if you crashed the server, fuck you idiot
20:46:28 <elliott> Yes, because I could have *easily* known that was going to crash the server, being omniscient.
20:46:40 <elliott> I think it's just uberlagged.
20:46:48 <Vorpal> elliott, yes, when notch is involved it seems likely :P
20:47:27 <elliott> Wait, is it going to generate *every single chunk* between where I was and (100000,100000)?
20:47:32 <fizzie> I just hope it's just a "restart the server" mess and not a "well, restore your world from backups" sort of a mess.
20:47:35 <Vorpal> elliott, yes I think so
20:47:38 <elliott> Because if so, isn't that going to take up like ... gigabytes on the server?
20:47:46 <elliott> THIS WAS A BRILLIANT IDEA IF YOU ASK ME
20:47:49 <Vorpal> elliott, ....
20:47:52 <Vorpal> elliott, no it wasn't
20:47:57 <Vorpal> also last backup was days ago
20:48:05 <Phantom_Hoover> elliott, what'd you do?
20:48:07 <Phantom_Hoover> And how?
20:48:09 <elliott> It's going to be hung for like five weeks generating masses of terrain that will never be visited. :p
20:48:13 <elliott> Phantom_Hoover: //goto 100000 100000
20:48:22 <Phantom_Hoover> O.o
20:48:25 <Vorpal> elliott, iff it did that, then I propose you are banned
20:48:27 <Phantom_Hoover> There's a goto command?
20:48:28 <elliott> Phantom_Hoover: We have teleportation in mcmap now, and it's KER-AAAZY
20:48:32 <Vorpal> Phantom_Hoover, in mcmap
20:48:33 <Deewiant> elliott: You could've dropped a 0 from both of those numbers and still got to a new location.
20:48:38 <Phantom_Hoover> Ohhhh.
20:48:39 <elliott> Deewiant: Yes, but.
20:48:48 <Vorpal> elliott, no but
20:48:49 <elliott> Deewiant: I could even *walk* to (4000,4000) from /that/.
20:48:53 <elliott> Deewiant: Which is just boring.
20:48:57 <Vorpal> ....
20:48:59 <Phantom_Hoover> elliott, you crazy bastard.
20:49:03 <elliott> Phantom_Hoover: *genius
20:49:09 <elliott> Phantom_Hoover: *pioneer
20:49:15 <Phantom_Hoover> *bastard
20:49:15 <Vorpal> Phantom_Hoover, s/bastard/idiotic bastard/
20:49:17 <elliott> Phantom_Hoover: *scientist (I was doing an experiment! Everyone died!)
20:49:25 <ais523> there seems to be something very wrong with this game
20:49:28 <Phantom_Hoover> Bastard scientist!
20:49:31 <ais523> if it's causing such chasms in the community
20:49:37 <Vorpal> ais523, hah
20:49:40 <elliott> ais523: Vorpal is the only one who actually gets angry.
20:49:48 <fizzie> ais523: Yes, it's unthinkable that Vorpal and elliott not get along just fine.
20:49:56 <Phantom_Hoover> ais523, what's wrong with it is that it was coded by an idiot who had exactly one good idea and then messed it up royally.
20:50:03 <elliott> ais523: To be fair, we are now on the level of blatantly exploiting major bugs :-P
20:50:09 <Vorpal> <Phantom_Hoover> elliott, you crazy bastard. <elliott> ais523: Vorpal is the only one who actually gets angry.
20:50:16 <Vorpal> elliott, you have Phantom_Hoover on /ignore?
20:50:19 <elliott> ...lol
20:50:24 <elliott> Phantom_Hoover: You were being totally serious and really hate me now, right?
20:50:36 <Deewiant> Phantom_Hoover: What idea?
20:50:37 <Vorpal> elliott, I think he is annoyed with you
20:50:38 <elliott> I feel like I have lost my only true friend in this sad, cold, thankless world of desolation.
20:50:42 <elliott> Vorpal: I think you think wrong.
20:50:49 <Vorpal> well, time for single player
20:50:50 <fizzie> I think bunnies.
20:50:50 <Phantom_Hoover> elliott, I DETEST YOU AND I AM ALREADY ON A TRAIN TO HEXHAM TO BEAT YOU TO DEATH WITH A LAMP POST.
20:50:56 <elliott> Vorpal: OH NO, YOU WERE RIGHT!!
20:50:58 <elliott> OH GOD WHAT WILL I DO
20:51:00 <Vorpal> I doubt that
20:51:05 <Phantom_Hoover> Deewiant, it's called "Minecraft"/
20:51:08 <elliott> I'd better jump out of the window before Phantom_Hoover can unleash his rage on me.
20:51:17 <Phantom_Hoover> WINDOWS WILL NOT SAVE YOU
20:51:20 <Vorpal> ah fun playing with the CPU
20:51:31 <elliott> ais523: Welp, so anyway, until the server stops creating ~31G of maps (well, if uncompressed), scapegoat time!
20:51:39 <elliott> *finishes creating
20:51:39 <Deewiant> Phantom_Hoover: Yes, but what part of it is the good idea
20:51:50 <Phantom_Hoover> Deewiant, the bits that are actually *fun*.
20:51:59 <Phantom_Hoover> Bad ideas include: doing it in Java.
20:52:13 <elliott> Oh god, this doggerel battle is impossible.
20:52:13 <Phantom_Hoover> Doing it without knowing the slightest thing about geology.
20:52:28 <elliott> Phantom_Hoover: Hey now, the geology ignorance is brilliant.
20:52:30 <Vorpal> ineiros, I think elliott just royally fucked up the server
20:52:30 <Phantom_Hoover> Making it steadily more restricted.
20:52:39 <Phantom_Hoover> ineiros, with SCIENCE!
20:52:42 <elliott> Phantom_Hoover: It's like Mark Doesn't Understand Animals: The Game: The Geology Edition.
20:53:04 <Phantom_Hoover> The science of "hmm, it works with n... BUT DOES IT WORK WITH 10^n?"
20:53:09 <Deewiant> Phantom_Hoover: I was wondering if you could point to any differences between it and, say, Infiniminer.
20:53:20 <Phantom_Hoover> Deewiant, haven't played Infiniminer.
20:53:22 <elliott> Phantom_Hoover: I didn't try and go to 10^4000. :p
20:53:45 <Vorpal> Phantom_Hoover, who cares about exact geology. I mean, it isn't like the 1x1x1 cubic block of stone unit is very realistic either
20:53:53 <Vorpal> or the carrying capacity of a player
20:53:56 <elliott> Deewiant: I like how all the infiniminer google results point to Minecraft pages.
20:54:01 <Vorpal> or the yield of a sheep
20:54:29 <Deewiant> elliott: Where "all" = "first two"
20:54:38 <elliott> Deewiant: Yup.
20:55:00 <elliott> Back up.
20:55:04 <elliott> Vorpal:
20:55:24 <Vorpal> mhm
20:56:05 <Vorpal> elliott, nope
20:56:09 <Vorpal> elliott, or down again
20:56:17 <elliott> Vorpal: Nope, up.
20:56:17 <Vorpal> elliott, it fails to log in
20:56:20 <Vorpal> elliott, not for me
20:56:26 <Vorpal> ah now
20:56:35 <fizzie> Well, it's very laggy for me.
20:57:33 <Phantom_Hoover> Deewiant, have you played Infiniminer?
20:57:54 <Deewiant> No
20:58:18 <Vorpal> PH!!!!
20:58:20 <elliott> Phantom_Hoover: you'll need to "git pull".
20:58:22 <elliott> Phantom_Hoover: And re-make.
20:58:24 <Vorpal> Phantom_Hoover, you will dos the server
20:58:28 <Vorpal> Phantom_Hoover, do you want that?
21:01:21 <elliott> Phantom_Hoover: It's //goto 100000 100000
21:01:25 <elliott> Phantom_Hoover: FWIW, since the chat is lagging.
21:01:41 <elliott> Phantom_Hoover: Oh, and you need to quit mcmap after it.
21:01:49 <elliott> Phantom_Hoover: And reconnect *without* it.
21:01:51 <elliott> Phantom_Hoover: Okay?
21:02:10 <elliott> Phantom_Hoover: Also you MUST BE ABLE TO SEE THE SKY when doing it.
21:02:10 <Phantom_Hoover> I'm getting extremely bad lag, FWIW.
21:02:17 <elliott> Phantom_Hoover: Have you done it yet?
21:04:09 <Vorpal> elliott, it seems pretty much down anyway
21:04:18 <Vorpal> elliott, scenery completely stopped loading for m
21:04:20 <Vorpal> me*
21:04:24 <elliott> Phantom_Hoover?
21:04:28 <Phantom_Hoover> elliott, DAMN YOU
21:04:40 <elliott> Did you close mcmap afterwards...?
21:04:43 <Vorpal> elliott, it went down
21:04:44 <Phantom_Hoover> You made it seem like it was actually doable now the server had recovered!
21:04:47 <Vorpal> elliott, as in, timed out
21:04:54 <elliott> Phantom_Hoover: It will probably be down for a lot shorter time this time.
21:04:56 <Vorpal> Phantom_Hoover, yes he is an utter idiot
21:04:58 <elliott> Since it doesn't actually have to /do/ anything.
21:05:10 <Vorpal> elliott, still this is definitely a DOS
21:05:21 <Deewiant> Does the teleportation send one packet or several?
21:05:24 <ineiros> What.
21:05:24 <elliott> Vorpal: Yes, we're all evil computer spy hackers stopping you get on with your legitimate business work.
21:05:27 <elliott> Deewiant: Thousands.
21:05:30 <elliott> ineiros: We sort of have teleportation now.
21:05:33 <Vorpal> does it actually?
21:05:35 <Vorpal> hm
21:05:35 <elliott> ineiros: And it's SCIENTIFIC!
21:05:39 <fizzie> elliott: I've briefed him in query already.
21:05:46 <Deewiant> elliott: So that could be the cause.
21:05:46 <elliott> fizzie: Mr. President! Mr. President!
21:05:49 <elliott> THE MASSES HAVE WEAPONS
21:05:51 <fizzie> Deewiant: Well, mcmap sends two packets.
21:05:58 <fizzie> Deewiant: What the server does is of course anyone's guess.
21:05:58 <elliott> Oh.
21:06:16 <elliott> I think ineiros is officially sick of us :)
21:06:21 <Vorpal> ineiros, adding those wrap points would have been a good idea, would probably have meant that no one cared to do this hack
21:06:21 <ineiros> What.
21:06:30 <Vorpal> at least of elliott
21:06:32 <Vorpal> ...
21:06:33 <ineiros> I'm just drunk.
21:06:35 <Vorpal> oh
21:06:47 <Vorpal> ...
21:06:51 <elliott> "The tiles are 1 m^3." --Notch, in a YouTube video titled "Cave game tech test", May 2009.
21:06:58 <elliott> Apparently we're all 1.7 m tall, too.
21:07:00 <elliott> Despite being two blocks high,
21:07:01 <elliott> *high.
21:07:10 <Vorpal> elliott, we are not fully 2 blocks high
21:07:14 <elliott> ineiros: I suggest you just leave the server alone and wait for it to recover :P
21:07:17 <ineiros> I'm over 1.8m tall.
21:07:18 <Vorpal> elliott, stand in a 2 m corridor
21:07:23 <Vorpal> ineiros, *in game*
21:07:26 <Vorpal> is what he mant
21:07:27 <elliott> I'm 7m tall.
21:07:28 <Vorpal> meant*
21:07:38 <Vorpal> elliott, he is drunk. Stop confusing him
21:07:39 <ineiros> Me too. :P
21:07:44 <Vorpal> ineiros, you are just nasty now
21:07:44 <elliott> Vorpal apparently thinks drunk people = people who are beyond even stupidity.
21:07:45 <Vorpal> err
21:07:46 <Vorpal> elliott, ^
21:07:48 <elliott> HE MEANT IN GAME DUH
21:07:51 <Vorpal> you are just nasty now elliott
21:08:01 <elliott> Vorpal: Oh man, that's the worst insult I've ever heard from you. I'm going to kill myself.
21:08:06 <elliott> I sob, I sob, I cry.
21:08:20 <Vorpal> elliott, so, will you keep porting to places that bring down the server for several minutes?
21:08:29 <Vorpal> elliott, or will you learn from this mistake?
21:08:42 <elliott> Maybe I will if you keep whining about it. :p
21:08:52 <Vorpal> elliott, no one will like that you know.
21:09:02 <elliott> No one else is whining at me constantly.
21:09:25 <Vorpal> only because you keep acting as if you did nothing wrong
21:10:05 <elliott> fizzie: I think you should hang me, like Saddam.
21:10:13 <elliott> 'Tis only fitting for a DOSing cybercrime-terrorist like I.
21:10:30 <fizzie> In-game, of course.
21:10:48 <fizzie> Maybe with some string, and a hanging thing built out of fenceposts.
21:11:20 <Vorpal> fizzie, not sure how you would get the horizontal bar out
21:11:28 <elliott> 'Tis taking all my willpower to not find the most popular Alpha server and teleport to 2^60 there or so.
21:11:36 <elliott> (Okay, so it's actually taking very little willpower since I wouldn't be anonymous.)
21:11:51 <Vorpal> elliott, would you actually do that if you was anonymous?
21:12:02 <Vorpal> elliott, if so, what sort of moral code do you have
21:12:39 <elliott> Apparently downloading existing chunks is slower than generating them.
21:12:43 <elliott> Who'da thunk it.
21:12:50 <Vorpal> elliott, it need to read from disk
21:12:53 <Vorpal> elliott, or maybe it crashed
21:12:58 <Deewiant> Back up.
21:13:09 <elliott> Phantom_Hoover: COME!
21:13:15 <elliott> COME AND DELIGHT IN THE 100K WITH ME
21:13:41 <Phantom_Hoover> OK!
21:14:03 <elliott> Phantom_Hoover: Don't use mcmap, you doofus.
21:14:15 <elliott> Phantom_Hoover: It can't handle >64k maps.
21:14:18 <elliott> Phantom_Hoover: Connect directly.
21:14:57 -!- zzo38 has joined.
21:19:25 <Vorpal> ineiros, there?
21:20:36 <Vorpal> ineiros, tp request to ehird
21:20:48 <elliott> It booted my client ...
21:20:55 <Vorpal> elliott, no it didn't
21:21:02 <Phantom_Hoover> God, that was weird.
21:21:04 <elliott> After I said your mothers are dingbats; perhaps it found me insulting. :p
21:21:08 * Phantom_Hoover checks his screenshots.
21:21:11 <elliott> Straight after, actually; quite odd.
21:21:13 <Phantom_Hoover> What the...
21:21:15 <elliott> Yeah, I took some screenies too.
21:21:20 <elliott> ...they're totally black.
21:21:25 <elliott> No -- wait -- this one has something more.
21:21:26 <Phantom_Hoover> I got random noise.
21:21:39 -!- elliott has quit (Quit: THE FURY OF THE SOUND CAN NEVER BE MEASURED).
21:21:45 <Vorpal> -_-
21:21:57 <Vorpal> Phantom_Hoover, you know, you are a parody of yourself now
21:22:31 <Phantom_Hoover> Wait, the contents of the screenshots folder is *changing*.
21:22:49 <Phantom_Hoover> And there's a process with 100% CPU use and no command in top.
21:23:23 <Phantom_Hoover> O GOD IT'S SPREADING
21:24:15 -!- elliott has joined.
21:24:17 <elliott> STAND TO ATTENTION.
21:24:22 <elliott> This is your final warning. This is your only warning.
21:24:27 <elliott> The gate is here, it ææ@³øđŊ¼Ø⅛Ŋ¼
21:24:38 <elliott> On the strike £ı¿°| it will©£
21:24:46 <elliott> There will be no ŋ”ŋŋŋŋ
21:24:56 <elliott> As it @ł³½€}→¸every w³½\}→ will disintł³]}½→ß}¶ßŧ“
21:24:58 -!- elliott has quit (Client Quit).
21:25:08 <fizzie> Possibly you could consider the off-topicness of your performance art, though?
21:25:44 <zzo38> Ouch Ouch OuchOuchOuch Ouch OuchOuchOuchOuchOuchOuchOuch Ouch OuchOuch OuchOuch Ouch Ouch Ouch Ouch OuchOuchOuchOuchOuchOuchOuchOuchOuchOuchOuchOuchOuchOuchOuch WARNING DANGER OUCHOUCHOUCHOUCH OUCH OUCHOUCH
21:26:27 <Phantom_Hoover> zzo38 is not participating, I ought to point out.
21:26:33 <Phantom_Hoover> He is just being weird.
21:26:44 -!- elliott has joined.
21:26:45 <elliott> all
21:26:46 <fizzie> Yes, that's completely in-character for him.
21:26:47 <elliott> must
21:26:52 -!- elliott has quit (Remote host closed the connection).
21:29:09 <Vorpal> fizzie, it crashed?
21:29:37 <Vorpal> fizzie, die: main.c:77
21:29:38 <ineiros> I'm in a bus. Soon home.
21:29:42 <Vorpal> fizzie, client->server
21:29:49 <Deewiant> I got a SocketException
21:29:49 <fizzie> Vorpal: That's just when it gets disconnected.
21:29:58 <Phantom_Hoover> ineiros, did you just hellify the server?
21:30:05 <Phantom_Hoover> XD.
21:30:08 <Vorpal> ineiros, did you just...
21:30:16 <Deewiant> Evidently
21:30:24 <Phantom_Hoover> And ghasts, too!
21:30:26 <Phantom_Hoover> My, my!
21:30:37 <Vorpal> I'm disconnecting until it is fixed
21:30:38 <fizzie> Yes, I did hear that sort of thing happens to naughty users. :p
21:30:47 -!- elliott has joined.
21:30:49 <Vorpal> I have no intention to play until it is fixed
21:30:49 <elliott> THOU IN THY PEREFCT ATTACK
21:31:02 <fizzie> I do want to see how mcmap shows hellworld, though.
21:31:12 <fizzie> The surface map at least will probably be broken.
21:31:15 <Phantom_Hoover> I'm getting drawn in by this, and I came up with the idea!
21:31:21 <Vorpal> ...
21:31:40 <Vorpal> I prefer getting the normal world if it is all the same to you
21:31:47 <elliott> THOU IN THY TERROR DISTRACT
21:31:49 <Vorpal> like, actually getting to my house
21:32:00 <pikhq> The US Senate has voted to repeal the ban on gay soldiers.
21:32:04 <elliott> THOU IN THIS WORLD SHALL DENY
21:32:06 <elliott> THOU IN THY PEREFCT ATTACK
21:32:10 <Phantom_Hoover> pikhq, yaaaaay!
21:32:17 <Phantom_Hoover> Wait, did it go through?
21:32:18 <zzo38> In America, you kill yourself. In Soviet Russia, yourself kills YOU!!!
21:32:22 <pikhq> 65-31.
21:32:47 <Vorpal> ineiros, solution to this: add those damn wraps. I don't see how else people will stop doing client side teleporting
21:33:10 <pikhq> Literally the only thing that could hold it up now is Obama not signing it.
21:33:12 <pikhq> (yeah right)
21:33:15 <Vorpal> ineiros, as in, it won't happen, whenever you like it or not, it would be all the same to me
21:33:28 <Phantom_Hoover> Vorpal, yes, all of this is due to client-side teleports.
21:33:35 <Phantom_Hoover> WE HAVE TAMPERED IN GOD'S DOMAIN
21:33:35 <Vorpal> Phantom_Hoover, the hellworld certainly is
21:33:44 <oerjan> I AM PLAY GOD
21:34:02 <Phantom_Hoover> Vorpal, the hellworld is because ineiros joined in on me and elliott's little act.
21:34:16 <elliott> The hellworld is because I asked for hell on earth.
21:34:19 <ais523> wow, londonmidland.com tries to set over 70 cookies
21:34:20 <ais523> wtf is it doing?
21:34:21 <Vorpal> ...
21:34:22 <fizzie> Vorpal: The weirdest thing: any //goto in the hellworld teleports you above the top-bedrock.
21:34:25 <elliott> Turns out ineiros is awesome.
21:34:29 <Vorpal> fizzie, right
21:34:35 <Vorpal> fizzie, anyway, I want to reach my house
21:34:36 <Vorpal> I can't
21:34:36 <fizzie> Vorpal: Then you'll just stand on a flat sheet of bedrock.
21:34:40 <Vorpal> seriously...
21:34:49 <elliott> Vorpal: WHOOPS IT'S A GAME
21:35:16 <Vorpal> I guess I'll patch mcmap to dump the world, then go around next time it is back to normal, and then start a saner server
21:35:32 <Vorpal> (because I do like my house)
21:35:44 <Phantom_Hoover> (BtW, I've not been connecting because I have a tonne of clay and I don't want to risk losing it to a ghast.)
21:35:50 <Vorpal> ineiros, could you not run two separate servers
21:35:59 <elliott> ineiros: You've upset him.
21:36:02 <elliott> You'll never hear the end ofi t now.
21:36:05 <elliott> Phantom_Hoover: Chest it.
21:36:07 <Phantom_Hoover> Vorpal, Cthulhu almighty, it's a temporary joke!
21:36:13 <Vorpal> ineiros, also, cartographer (iirc you use that one) breaks if nether exists
21:36:21 <Vorpal> as in, it can't handle the world later
21:36:28 <Vorpal> unless that bug was fixed
21:36:31 <fizzie> Vorpal: Good chance to collect hellblocks, though.
21:36:38 <Vorpal> fizzie, not sure I care...
21:37:03 <Phantom_Hoover> fizzie, hey, good point.
21:38:10 <elliott> ineiros: You didn't enable monsters. I think.
21:38:13 <Phantom_Hoover> Gyaah, MC crashed when I tried to connect.
21:38:20 <elliott> ineiros: see /msg
21:38:24 <Phantom_Hoover> elliott, I certainly heard a ghast's giggle.
21:38:27 <elliott> Ditto.
21:40:06 <Phantom_Hoover> Well, this series of Futurama isn't going to watch itself...
21:40:10 <Gracenotes> ineiros, I'd love to get in on the minecraft server :D mc nick = gracenotes
21:40:20 <Gracenotes> it's.. been a while.. :x
21:40:24 <elliott> Gracenotes: It's currently in Hell.
21:40:27 <elliott> Gracenotes: Because of Cthulhu.
21:40:44 <Gracenotes> hm? didn't notch fix the bug of merging hell and non-hell in SMP?
21:40:53 <Phantom_Hoover> Gracenotes, dunno.
21:40:58 <Phantom_Hoover> Not on our server/
21:41:14 <Gracenotes> yeah... keep server client updated :) server.. client.. yeah.
21:41:15 <elliott> Gracenotes: Currently we're in hellworld.
21:41:22 <ineiros> Okay, at home now. Who would like to tell what's been happening?
21:41:27 <Phantom_Hoover> But long story short, elliott and I pretended we'd just found R'lyeh and ineiros played along.
21:41:43 <elliott> ineiros: see /msg
21:41:56 <Gracenotes> is the server at a particular IP? does it do mac/ip filtering?
21:42:09 <elliott> Gracenotes: It is a particular IP; no filtering; ask ineiros.
21:42:25 <Gracenotes> hi ineiros
21:42:40 <ineiros> So how does the client side teleporting work? I'm heavily intoxicated so please explain in simple terms. :P
21:43:06 <elliott> ineiros: Go into sky, fly fly fly.
21:43:16 <elliott> ineiros: (Go into sky, say I'm there.)
21:43:22 <elliott> ineiros: see /msg
21:43:28 <Gracenotes> teleport ing.. with mods??
21:44:05 <elliott> Gracenotes: No, with our fancy server proxy.
21:44:07 <elliott> It maps too.
21:44:16 <fizzie> ineiros: I just explained this to you in the query, what more do you want?-)
21:44:26 <elliott> ineiros: /msgggg
21:44:27 <ineiros> I'll try to read again.
21:44:34 <elliott> ineiros: Read mine too :P
21:45:54 <hagb4rd|afk> ah inerios! ..would you mind if if i bug u for a second? query?
21:46:02 -!- hagb4rd|afk has changed nick to hagb4rd.
21:46:25 <elliott> ineiros: see /msg
21:46:34 <Gracenotes> okay taking shower now... be back later
21:47:01 <Phantom_Hoover> Tell me when health is on.
21:49:09 <zzo38> Let's play yakitori cricket.
21:51:45 <zzo38> They talked about Pluto in the radio today.
21:52:06 <elliott> Phantom_Hoover: It's on.
21:55:34 <Vorpal> elliott, fuck you too
21:55:43 <elliott> ineiros: You are super-boring.
21:55:47 <Vorpal> ineiros++
21:56:16 <Deewiant> Woot, NullPointerException on connect
21:56:28 <elliott> ineiros: :'(
21:56:35 <elliott> ineiros: I'll cry for seven days and seven nights!
21:56:36 <Vorpal> ineiros, yay
21:56:50 <Vorpal> ineiros, you did the right thing when restoring
21:56:54 <zzo38> elliott: Why do you need to cry that much?
21:57:02 <Deewiant> Damn, inventory lost
21:57:21 <zzo38> Deewiant: Every posession is a stone to your leg.
21:57:52 <Deewiant> I wasn't meaning to possess it for long
21:57:59 <ineiros> I stopped the server gracefully, so it's probably a bug.
21:58:20 <fizzie> Deewiant: What did you want the mud for, anyway?
21:58:59 <Deewiant> You'll find out soon enough
21:59:15 <fizzie> Deewiant: Ominous!
21:59:37 <Vorpal> Deewiant, if you need say 5 blocks then I can give you some
21:59:44 <Deewiant> http://www.youtube.com/watch?v=a1Y73sPHKxw !
21:59:58 <Deewiant> 5 isn't quite enough
22:00:00 <Phantom_Hoover> ineiros, FWIW, what're your plans for once beta is released?
22:00:08 <zzo38> fizzie: The mud is for throwing at your eye so you can't see, at your ear so you can't hear, and at your paper so that you can't read.
22:00:22 <Deewiant> But I suppose I could duplicate more and pretend that it's from a nether-expedition
22:00:22 <fizzie> Deewiant: That certainly explained things.
22:00:34 <ineiros> Is there soe information available? Are there some decisions to make?
22:00:37 <Deewiant> fizzie: It punctuates the ominousness
22:00:43 <elliott> Deewiant: There's :6666.
22:00:59 <Deewiant> elliott: But does inventory stick?
22:01:03 <Deewiant> Isn't it a different instance?
22:01:05 <elliott> Deewiant: Yes, it is.
22:01:12 <elliott> Deewiant: Which is lame, and also means both are impossibly laggy.
22:01:22 <Deewiant> In other words, it's not an option
22:02:50 <Phantom_Hoover> ineiros, dunno!
22:02:52 <elliott> Deewiant: Neither is the main server right now.
22:03:05 <Deewiant> What do you mean?
22:03:54 <ineiros> Is it more laggy for you now?
22:03:57 <zzo38> I have gotten a lot more things in TeXnicard to work now.
22:04:10 <elliott> ineiros: Impossibly, yes.
22:04:24 <ineiros> For some reason my connection is really laggy, but the load is just above one and the server has two cores.
22:04:27 <Vorpal> ineiros, completely bugged
22:04:28 <zzo38> After I finished, we should make up the TeXnicard contest.
22:04:33 <ineiros> I'll turn it off, then.
22:04:36 <Vorpal> ineiros, err, bogged*
22:04:40 <Vorpal> ineiros, not bugged
22:04:42 <Vorpal> typo there
22:04:48 <elliott> ineiros: Turn off the non-hell server.
22:04:56 <Vorpal> ineiros, turn off the hell server
22:05:06 <fizzie> Turn off one half of both!
22:05:12 <fizzie> (Don't ask me how.)
22:05:17 <Vorpal> ineiros, since the hell one is useless without access to material from the normal world
22:05:33 <Vorpal> and also ehird just go around destroying shelters
22:05:38 <Vorpal> so there isn't much point to it
22:05:38 <zzo38> ineiros: Turn off two thirds of both.
22:06:19 <ineiros> zzo38: Haha.
22:06:28 <Vorpal> elliott, I presume you don't carry best armour? if so, I could just pvp you out of existence. Problem solved in hell.
22:06:31 <Deewiant> But then we'll be stuck with only two thirds of a server
22:06:43 <elliott> ineiros: Turn off both and watch Vorpal whine for a year.
22:06:44 <zzo38> I mean, turn off two thirds of each.
22:06:50 <elliott> MY HOUSE! MY BEAUTIFUL HOUSE!!!
22:06:51 <Vorpal> elliott, actually I wouldn't
22:07:04 <Vorpal> elliott, I would expect you to whine a lot more
22:07:12 <elliott> Err, why?
22:07:21 <zzo38> Turn off both of them (as well as the backup) and then just play cards instead.
22:07:23 <Vorpal> elliott, since you whined about it NOT being hell all the time
22:07:37 <elliott> Vorpal: Only because it basically happened because you whined a lot.
22:07:49 <Vorpal> elliott, I did not. I complained. Not whined
22:08:17 <Phantom_Hoover> ineiros, as the one responsible for this madness I demand loads of netherware.
22:08:38 <oerjan> whine and cheese
22:08:44 <Vorpal> oerjan, hah
22:09:08 <Phantom_Hoover> Actually, netherware all 'round!
22:09:14 <Vorpal> I would start a server, except I have adsl. It just couldn't handle the uplink
22:09:17 <elliott> Apart from Vorpal.
22:09:27 <elliott> He didn't want any Netherware and said "who cares" when Phantom_Hoover said he lost his Netherware.
22:09:30 <elliott> So clearly he doesn't want any of it.
22:09:35 <Vorpal> elliott, yeah it is pretty useless
22:09:44 <Vorpal> elliott, slow sand and lightstone sure
22:09:51 <Vorpal> but the netherstone... is useless basically
22:09:56 <Vorpal> logs burn forever too
22:10:04 <elliott> I want my 14 lightstone dust. :p
22:10:26 <zzo38> Fine. Try the other server at zzo38computer.cjb.net:9876 and see if it is work. Probably it doesn't, but try anyways.
22:10:57 <Vorpal> zzo38, what is it?
22:10:58 <elliott> zzo38: I doubt that is a Minecraft server :P
22:11:01 -!- elliott has left (?).
22:11:03 -!- elliott has joined.
22:11:21 <zzo38> Try connecting to it with Minecraft. Probably it doesn't work, but try anyways.
22:11:29 <Vorpal> zzo38, so what is running on it
22:11:42 <zzo38> Vorpal: Why don't you try and figure out?
22:11:52 <ineiros> Is the server working?
22:11:55 <fizzie> Netherware, isn't that Novell's silly LAN thing?
22:11:56 <Vorpal> zzo38, oh is this a guessing game? why didn't you say
22:12:08 <Vorpal> fizzie, XD
22:12:14 <Vorpal> ineiros, doesn't seem to be working
22:12:20 <Vorpal> ineiros, well, nmap says port is open
22:12:25 <Vorpal> but connecting to it times out
22:12:28 <ineiros> You must be brokeded it.
22:12:41 <fizzie> Also minecraft.net was down a moment ago.
22:12:46 <fizzie> Could be related to that too.
22:12:48 <ineiros> Try now.
22:12:49 <Vorpal> ah
22:12:50 <Vorpal> could be
22:12:53 <fizzie> There's the user-account checkery.
22:13:09 <Vorpal> well minecraft.net is still down for me
22:13:10 <ineiros> Probably not, the server wasn't responding to any commands.
22:13:13 <Vorpal> ah
22:13:17 <Vorpal> ineiros, I got in
22:13:22 <Vorpal> kind of
22:13:24 <ineiros> Had to force-kill it.
22:13:28 <Vorpal> I'm in a grey void
22:14:08 <Vorpal> ineiros, hm I think elliott teleported just before
22:14:10 <Vorpal> could explain it
22:14:22 <Vorpal> ineiros, down again
22:14:30 <elliott> Huh?
22:14:32 <Vorpal> ineiros, I think he will keep doing it until you ban him
22:14:39 <Vorpal> elliott, you bought down the server again
22:14:41 <ineiros> elliott: No teleporting.
22:14:44 <elliott> I did? o_O
22:15:25 <Vorpal> elliott, you teleported I bet
22:15:43 <Vorpal> ineiros, it might be a good idea to add some wrap points however
22:15:58 <ineiros> I can do that.
22:16:09 <Phantom_Hoover> elliott, remember what happened last time we teleported.
22:16:11 <ineiros> But why is the lag so horrible?
22:16:32 <Vorpal> ineiros, who knows
22:16:50 <Vorpal> ineiros, approx 15 second
22:17:29 <Phantom_Hoover> ineiros, clearly it was tampering in Notch's domain.
22:17:44 <Phantom_Hoover> I suggest you do something to (100000,100000).
22:17:52 <elliott> ineiros: You should make a new map.
22:18:21 <Vorpal> ineiros, not before limiting view to say, 5000 in each direction
22:18:26 <elliott> No, no, before that.
22:18:31 <Vorpal> ineiros, since otherwise you will get a multi-gb image file
22:18:33 <elliott> I would like to see it ALL.
22:18:37 <elliott> Vorpal: Er, not with png.
22:18:41 <elliott> You do realise that a lot of white space compresses well?
22:18:54 <fizzie> elliott: You do realise it's a silly Python script that creates the image.
22:19:02 <elliott> fizzie: Verily.
22:19:11 <fizzie> It's not going to be able to build that without having an uncompressed version around before packing.
22:19:15 <Vorpal> elliott, yes but it will be unusable due to most programs loading it not handling it
22:19:37 <fizzie> Given the "code quality" (ahem), I wouldn't be too surprised that the 100k,100k location could possibly influence the server just by existing.
22:19:44 <Vorpal> fizzie, yes
22:19:53 <elliott> It's fast enough right now, so "no".
22:19:59 <Vorpal> 4000 I *walked* to
22:20:25 <elliott> Yes, yes, and now I, in my campaign of evil, not only went back in time and stopped music from ever existing, but CHEATED CRUELLY.
22:20:27 <elliott> Right?
22:20:39 <fizzie> I did think about doing an if (x > -5000 && x < 5000 && z > -5000 && z < 5000) test in the teleportation code, but that would've been oh-so-trivial to just comment out.
22:20:41 <quintopia> hey guys, what's a likely command for calculating the total amount of disk space my vps is allowing me from inside my container?
22:21:03 <Vorpal> quintopia, writing an email and asking them
22:21:34 <quintopia> i don't have the software for email composing and sending in my container at the moment. any other way?
22:21:35 <oerjan> elliott: what is this "music" thing you're talking about?
22:21:40 <elliott> oerjan: Who knows.
22:21:53 <elliott> quintopia: um, df?
22:22:01 <zzo38> quintopia: What container?
22:22:15 <quintopia> zzo38: it's an old ubuntu i think
22:22:55 <fizzie> df has a possibility of working.
22:23:06 <fizzie> But it's not exactly guaranteed to.
22:23:26 <quintopia> thanks elliott
22:23:50 <elliott> ais523: are you there/
22:23:52 <elliott> ?
22:24:26 <Vorpal> fizzie, elliott now wants the server to delete the world and start afresh.... or at least remove pre-halloween bits.
22:24:34 <Vorpal> fizzie, just a heads-up as a warning
22:24:44 <elliott> Yes, I'm going to hack in to the server and force it to be regenerated.
22:24:47 <elliott> Fear my cyberterrorism!
22:24:51 <Vorpal> elliott, ... did I say that?
22:24:55 <elliott> Hyperbole will never be the same again!
22:25:03 <elliott> Vorpal: as a "warning"
22:25:05 <Vorpal> elliott, but you should not be allowed to convince the server alone
22:25:10 <Vorpal> that is what the warning is about
22:25:21 <elliott> I'm sure ineiros does everything I tell him to without questioning it.
22:25:24 <elliott> Isn't that right, ineiros?
22:25:32 <elliott> (Maybe Vorpal thinks drunk people agree with the first person to suggest them anything.)
22:25:48 <Vorpal> elliott, well you manage to get him to do the hell mess
22:25:57 <elliott> Actually that was Phantom_Hoover too.
22:26:01 <elliott> And it wasn't a "mess".
22:26:01 <Phantom_Hoover> Given Vorpal's super-obnoxiously-boring attitude to life, I wouldn't be surprised.
22:26:04 <elliott> It was a mess because you were whining.
22:26:12 <Phantom_Hoover> elliott, wait, you convinced ineiros alone.
22:26:18 <ineiros> Vorpal: I didn't actually listen to you guys, that was something I decided to do when the server started throwing errors. :)
22:26:23 <zzo38> Is the most recent version of ImageMagick not available as a Ubuntu package? When I send a message to them, they wouldn't install it, because, they said, the Ubuntu package does not have the new version of ImageMagick. (If it is important, I could install it in my home directory, I guess.)
22:26:24 <elliott> Well, yes, but I'd already suggested it to him months ago.
22:26:29 <Phantom_Hoover> I was as surprised as everyone else when I connected and found myself in hell?
22:26:30 <Vorpal> heh
22:26:31 <ineiros> I was on my N900 at the time, didn't really read the backlog.
22:26:37 <Vorpal> ineiros, phew
22:26:40 <elliott> Phantom_Hoover: Oh, his naïvety wrt booze 'n drugz is on record.
22:26:45 <Phantom_Hoover> s/?/./
22:27:16 <Phantom_Hoover> ineiros, wait, so you did that purely by coincidence?
22:27:33 <Phantom_Hoover> http://www.youtube.com/watch?v=JDZBgHBHQT8
22:28:33 <ineiros> Phantom_Hoover: Yes. Also drunken malice. :P
22:29:51 <Phantom_Hoover> I hope you're all listening to that video at the moment.
22:30:32 <elliott> I am.
22:30:35 <zzo38> Phantom_Hoover: I am not listening to any video at the moment.
22:31:04 <Phantom_Hoover> zzo38, well listen to that one!
22:31:19 <zzo38> Phantom_Hoover: No. What is it anyways?
22:31:28 <Phantom_Hoover> The X-Files theme.
22:31:44 <Phantom_Hoover> Perfect for any supernatural activities!
22:31:54 <zzo38> Is it necessary to watch it too? Or just listen?
22:32:39 -!- j-invariant has joined.
22:34:27 <Vorpal> fizzie, anyway what?
22:34:38 <fizzie> Anyway, *disconnect*.
22:34:41 <Vorpal> ah
22:34:46 <fizzie> Except you weren't around to see that part of it.
22:34:50 <Vorpal> fizzie, right
22:35:06 -!- ineiros_ has quit (Remote host closed the connection).
22:35:10 <Vorpal> hm
22:35:14 <elliott> hi j-invariant
22:35:44 <Vorpal> fizzie, anyway, we can blame elliott for this pretty much.
22:35:52 <elliott> Clearly.
22:35:59 <elliott> Despite the fact that the server would be erroring anyway.
22:36:00 <Phantom_Hoover> Vorpal, you mean the hellening?
22:36:05 <Vorpal> Phantom_Hoover, no
22:36:21 <Vorpal> Phantom_Hoover, or yes too, he did the porting causing errors
22:36:21 <j-invariant> hi
22:36:27 <Vorpal> Phantom_Hoover, resulting in this
22:36:36 <Vorpal> Phantom_Hoover, and then the blanket ban
22:36:47 <Phantom_Hoover> Vorpal, what blanket ban?
22:36:50 <Vorpal> Phantom_Hoover, if it had been used responsibly that would not have happened
22:36:55 <fizzie> I'm not sure what "this" is, but, well.
22:37:00 <elliott> j-invariant: Insert standard channel is about esoteric programming languages not esoterica etc. disclaimer here.
22:37:07 <Vorpal> Phantom_Hoover, ehird claimed that the server added a blanked ban on porting
22:37:12 <Phantom_Hoover> What are esoterica in the first place?
22:37:19 <fizzie> elliott: Someone with "invariant" in his name is obviously programming-related already.
22:37:25 <zzo38> Do you know of any software MML->MOD conversion, or MML->OGG conversion?
22:37:32 <elliott> fizzie: http://en.wikipedia.org/wiki/J-invariant You sure?
22:37:33 <Phantom_Hoover> fizzie, could just be mathematical.
22:37:40 <Deewiant> zzo38: Which MML?
22:37:41 <elliott> Phantom_Hoover: Esoterick magick Aleister Crowley.
22:37:50 <Phantom_Hoover> Ah.
22:37:50 <zzo38> Deewiant: Music macro language
22:37:58 <Vorpal> elliott, k?
22:38:04 <elliott> Vorpal: What?
22:38:10 <Phantom_Hoover> elliott, I haven't seen any Wiccans here lately?
22:38:13 <Vorpal> elliott, you typoed magic
22:38:16 <Phantom_Hoover> s/?/./
22:38:17 <elliott> Vorpal: No, I really didn't.
22:38:19 <fizzie> Phantom_Hoover: Well, okay, but it's not the sort of magikcy sort of name.
22:38:21 <elliott> http://en.wikipedia.org/wiki/Magick
22:38:22 <Vorpal> elliott, yes that is why I asked
22:38:32 <elliott> Phantom_Hoover: We get them occasionally.
22:38:56 <Deewiant> zzo38: Well, there's MML to MID, a format that more tools can handle
22:39:02 <Phantom_Hoover> How many times have channel members been turned into a newt as a result?
22:39:16 <Vorpal> Phantom_Hoover, none that I know of
22:39:20 <zzo38> Phantom_Hoover: -2+ei
22:39:40 <Vorpal> ineiros, is it connectable to again? Or is it about to go down again?
22:39:54 <Vorpal> ineiros, the port is open so...
22:40:10 <ineiros> Open now.
22:40:47 <zzo38> Deewiant: Then should I write a MML->MOD program? Can it work with improper note pitch?
22:41:16 <Deewiant> I don't know enough about the formats to be able to answer that
22:41:19 <ineiros> I fear that the problems with the connection are beyond my command. I may have to upgrade the connection (or outsource the server).
22:43:18 <Vorpal> ineiros, just a question, what was it that you forbid?
22:43:28 <Vorpal> err, forbade
22:43:32 <elliott> Teleportation.
22:43:33 <Vorpal> or whatever the word is
22:43:45 <Vorpal> ineiros, it sounded like illegal moves
22:44:00 <Vorpal> ineiros, in which case, doesn't ending up on the top of a fence cause it
22:44:07 <Vorpal> ineiros, which can happen out of accident
22:44:12 <Vorpal> and same for top of boat iirc
22:44:27 <Vorpal> meaning it is near impossible to avoid
22:44:36 <Vorpal> unless we walk all the time
22:44:37 <Phantom_Hoover> What does it do?
22:44:43 <elliott> ineiros: He's trying to loophole his way out of a teleportation ban.
22:44:44 <Phantom_Hoover> When you make an illegal move?
22:44:45 <Vorpal> Phantom_Hoover, what does what do
22:44:49 <Vorpal> elliott, no I'm not
22:44:54 <elliott> Yes, you are.
22:44:57 <Vorpal> elliott, I'm trying to get a clear answer
22:45:10 <Deewiant> "Near impossible to avoid" - I've ended up on top of a fence exactly once :-P
22:45:10 <elliott> This is really beyond tedious, can we talk about something interesting?
22:45:21 <Vorpal> Deewiant, well for elliott I meant
22:45:32 <elliott> Uh huh.
22:45:42 <elliott> ais523: So, scapegoat.
22:45:44 <Vorpal> however, since he seem to have a grudge to me
22:45:50 <Vorpal> I guess I won't help him
22:46:03 <ais523> elliott: that was sudden
22:46:18 <ais523> also, surprising, as you said it just after I started reasing scrollback after not paying attention for ages
22:46:29 <elliott> ais523: I'm trying to shut Vorpal up, or at least drown his noise out with something vaguely approximating signal.
22:46:39 <elliott> ais523: Now I just have to think of some sg-related insight.
22:46:40 <Vorpal> elliott, just /ignore me then
22:46:51 <elliott> Vorpal: No; this way I get interesting discussion too.
22:47:13 <Vorpal> ineiros, anyway, I never saw the teleportation ban mentioned by you. Only a "don't do that" for illegal move
22:47:23 <Vorpal> which can easily happen when exiting boat
22:47:29 <Vorpal> ineiros, meaning, are we banned from using boats?
22:48:05 <elliott> He said "No teleportation."
22:48:09 <Vorpal> elliott, where
22:48:22 <elliott> 14:14:41 <ineiros> elliott: No teleporting.
22:48:27 <elliott> Now watch as Vorpal claimed that only applied *specifically* to me.
22:48:30 <elliott> *claims
22:48:42 <Vorpal> elliott, well, it would be the reasonable option
22:49:03 <Phantom_Hoover> elliott, are you using the Tree monad?
22:49:09 <elliott> ineiros: Can you please just answer to shut him up.
22:49:17 <elliott> Phantom_Hoover: I don't see how that would help; anyway, sg repos are graphs.
22:49:22 <Vorpal> elliott, presumably it should be read as "no dangerous teleportation" as well. It worked fine when fizzie did it for moderate values.... He only knew about your telport to 100000 or whatever it was
22:49:34 <Phantom_Hoover> elliott, Graph monad!
22:49:40 <elliott> Phantom_Hoover: Are graphs monads?
22:49:51 <Phantom_Hoover> elliott, what a silly question!
22:50:11 <Phantom_Hoover> Anything's a monad if you can get return, join and fmap working on it!
22:50:16 <j-invariant> can you?
22:50:17 <fizzie> Here's something I have to say: not being the one to run a minecraft server for you guys is one of the things I'm extremely happy about.
22:50:24 <elliott> fizzie: Totally.
22:50:29 <elliott> j-invariant: Can you what?
22:50:33 <elliott> Phantom_Hoover: Only if they obey the laws. :p
22:50:41 <Phantom_Hoover> elliott, hence "working".
22:50:47 <j-invariant> can you make a graph monad/
22:50:57 <elliott> j-invariant: "Maybe."
22:51:04 <elliott> fmap seems obvious.
22:51:10 <elliott> return too.
22:51:11 <Phantom_Hoover> elliott, no, "Graph".
22:51:14 <elliott> join, I'm not sure about.
22:51:16 <elliott> Quite possibly.
22:51:18 <Gracenotes> Haskell? in my #esoteric ?
22:51:20 <elliott> Yes, I think so.
22:51:22 <Phantom_Hoover> elliott, graph of graphs.
22:51:23 <elliott> Hmm. Maybe.
22:51:26 <Phantom_Hoover> Make into a graph.
22:51:32 <elliott> Phantom_Hoover: Yes. But where do you connect the connections?
22:51:36 <elliott> to, that is.
22:51:46 <elliott> fizzie: I wonder if I could coerce the server to running with 256 MiB of ram. :p
22:51:47 <Phantom_Hoover> elliott, connect everything to each member of the subgraph?
22:51:59 <Gracenotes> does graph monad not finish for cyclic graphs? :x
22:52:20 <Gracenotes> er.. I suppose you'd use a more sensible graph representation.. nevarmind.
22:52:27 <elliott> Phantom_Hoover: Possibly, yes.
22:52:27 <Phantom_Hoover> Gracenotes, silly question, again. Ask again once we have defined a monad.
22:52:40 <elliott> I hire j-invariant to code it, as is the policy* with newbies.
22:52:41 <elliott> *as of now
22:52:53 <elliott> Anyone any good with B-trees?
22:52:54 <Phantom_Hoover> Remind me of the join-based monad laws.
22:52:59 <Gracenotes> if you treat it as a list of nodes, it's not so bad
22:53:05 <fizzie> elliott: You could run craftd, Mineserver or Quartz; those are C/C++, just simply based on the language they might be a bit less resource-hungry.
22:53:06 <j-invariant> I'll have a go
22:53:12 <Gracenotes> as long as it satisfies the laws
22:53:19 <elliott> j-invariant: Well, that I wasn't expecting. (What language?)
22:53:31 <elliott> fizzie: One would assume it has to hold at least some of the map in memory regardless... but maybe.
22:53:32 <Deewiant> Phantom_Hoover: join . fmap join = join . join
22:53:44 <Gracenotes> join . return = id
22:54:15 <zzo38> j-invariant: Can you play Washizu mahjong, backwards?
22:54:16 <Deewiant> = join . fmap return
22:54:17 <Phantom_Hoover> elliott, what definition of a graph are you using, BtW?
22:54:23 <Gracenotes> yes
22:54:23 <Deewiant> And can't remember the third
22:54:25 <elliott> Phantom_Hoover: I'm not sure.
22:54:27 <elliott> Directed cyclic?
22:54:35 <elliott> Directed cyclic or non-directed cyclic, anyway.
22:54:37 <elliott> Not acyclic, that's boring.
22:54:39 <Phantom_Hoover> In terms of a data declaration?
22:54:44 <j-invariant> zzo38: no I've never played Mahjong of any sort
22:54:46 <elliott> Phantom_Hoover: Somethin reasonable.
22:55:13 <fizzie> elliott: Yes, but 256M is already a 1448x1448x128 map-block. (And maybe you could be agressive about run-length encoding air away, or unloading blocks to disk. Okay, so 256M does sound quite pushing it.)
22:55:37 <elliott> fizzie: It has to run the OS, too. :p
22:55:45 <elliott> And all the miscellaneous structure.
22:55:49 <zzo38> j-invariant: OK. Have you ever played Dungeons&Dragons game?
22:56:02 <j-invariant> zzo38: sorry zzo38 I have not played those either
22:56:12 <fizzie> "The goal of craftd is to provide a high performance, low overhead implementation of the Minecraft Survival Multiplayer (SMP) protocol." (They don't list any system requirements, though.)
22:56:57 <zzo38> j-invariant: OK. How many computer programs have you written (if any)?
22:57:17 <elliott> fizzie: "It doesn't currently implement much of the Minecraft protocol, but you can follow along and track progress. Check back later for release tarballs and eventually binaries."
22:57:35 <fizzie> Oh, and the Mineserver folks say it "consumes less than 1/10th the resources of the official server", so if you take that at a face value, your 256M is equivalent to 2560M for the official server.
22:57:47 <fizzie> (I'm not sure I'd trust 'em.)
22:57:49 <elliott> fizzie: Sounds PLAUSIBLE.
22:58:23 <elliott> fizzie: Mineserver has its own map generation which probably sucks ass.
22:58:51 <elliott> ais523: hmm, what would you recommend I implement after objects, scapegoat-wise?
22:58:59 <elliott> ais523: there's, like, 10 things I could do -- maybe patches?
23:00:14 <Phantom_Hoover> elliott, incidentally, I think that tentative definition of join actually works with the laws.
23:01:25 <zzo38> j-invariant: If you haven't played those games... Can you play cricket? If not, what can you play? Shogi? Poker? Funny-Poker? Pokerscope? Flipperless pinball? The game of the year?
23:01:53 <j-invariant> zzo38: no I don't play cricket. I have tried to learn Shogi but I am very bad at it
23:02:01 <fizzie> Strip paintball, does that already exist?
23:02:13 <zzo38> If not, please look at the esolang wiki, to learn about esoteric programming.
23:02:40 <pikhq> http://www.youtube.com/watch?v=EqXYPvhHMCo Real SNES, CD quality sound with game. (oh, and about 4GB of storage space available) Whooo.
23:02:43 <Phantom_Hoover> zzo38, I can play fencing.
23:02:58 <zzo38> I am not very good at shogi either, but I know all the rules and am better than most people who are not very good at shogi.
23:03:02 * Phantom_Hoover slaps zzo38
23:03:07 <Phantom_Hoover> Choose your weapons!
23:03:33 <Phantom_Hoover> pikhq, whose thing is that?
23:03:38 <zzo38> Phantom_Hoover: I choose the weapon that it has a 50% chance to damage the target and 50% chance to heal the target, every time it hits.
23:03:59 <Phantom_Hoover> VERY WELL
23:04:31 * zzo38 upside-down Phantom_Hoover
23:04:47 * Phantom_Hoover lunges
23:05:11 * zzo38 room spin too fast
23:05:46 <j-invariant> elliott: actually I can't write join. if our graph was (a)----(b), where a was the graph (x)-(y) and b was the graph (x)-(z) I have no way of distinguishing between the two x's.
23:06:06 <zzo38> Phantom_Hoover: Sorry, you lose. You are out hit wicket.
23:07:01 <Phantom_Hoover> j-invariant, do you need to?
23:07:12 <zzo38> Mentanpin riichi dora 13. Yakuman.
23:07:23 <zzo38> Too bad for you!!!
23:07:32 <elliott> j-invariant: allow duplicates?
23:08:06 <elliott> j-invariant: I think there is a type of graph that allows duplicates, so just a cyclic one of those.
23:08:26 <Phantom_Hoover> I still don't see where it breaks the monad laws...
23:08:54 <j-invariant> http://pastebin.com/AC9MQggA
23:09:04 <elliott> j-invariant: the result would be "x(1)<->y; x(1)<->x(2); y<->x(2); x(2)<->z; x(1)<->z; y<->z;"
23:09:06 <elliott> j-invariant: assuming undirected
23:09:07 <elliott> j-invariant: I think?
23:09:09 <elliott> is this right?
23:09:13 <zzo38> Phantom_Hoover: Next time, make sure to use a real fence.
23:09:17 <elliott> say x(1) is the x attached to y and x(2) the one attached to z
23:09:24 <j-invariant> elliott: that's what I had in mind but I can't program it
23:09:33 <elliott> j-invariant: yeah it sounds like a bitch to do
23:09:40 <elliott> j-invariant: hmm well merge vertices and edges
23:09:49 <elliott> j-invariant: so that every element contains all its arcs?
23:09:50 <j-invariant> we would have to have join :: m (m a) -> m (a,Tag)
23:09:56 <elliott> j-invariant: that way, you won't need to
23:10:01 <elliott> since each element "knows" its connections
23:10:26 <j-invariant> oh yeah, represent graphs by matrices -- then it's just tensor product
23:10:41 <elliott> j-invariant: well that makes it *easy*! :p
23:11:50 <Phantom_Hoover> elliott, so there are no non-connected vertices?
23:12:21 <elliott> Phantom_Hoover: hmm dunno
23:12:38 <elliott> j-invariant seems to have figured it out, dunno if they're implementing that version though :P
23:12:42 -!- Mathnerd314 has quit (Ping timeout: 260 seconds).
23:19:54 <elliott> haskell would be nicer if every function was a typeclass. :P
23:19:56 <Vorpal> 40 second lag...
23:19:59 <Vorpal> huh
23:20:31 <pikhq> o.O
23:20:39 <elliott> pikhq: Vorpal means in Minecraft, which he now lives in.
23:20:42 <elliott> Probably.
23:20:44 <pikhq> Torchwood airs in Germany. Doctor Who does not.
23:20:47 <elliott> Maybe not though.
23:20:47 <Gracenotes> 40 second hug
23:20:49 <elliott> And whut.
23:20:49 <pikhq> WWWWWWWHHHHHHHHHHYYYYYYYYYYYY
23:21:06 <Phantom_Hoover> fizzie, this is all your fault!
23:21:08 <Vorpal> elliott, as does Deewiant
23:21:12 <Gracenotes> oh man the next few days are cloudy
23:21:15 <Phantom_Hoover> Burn the witch!
23:21:18 <elliott> Vorpal: No, Deewiant does things that aren't Minecraft.
23:21:36 * Phantom_Hoover occasionally does non-MC things.
23:21:38 <Vorpal> elliott, so do I
23:21:51 <elliott> I doubt it.
23:22:05 <zzo38> I always does non-Minecraft things.
23:23:21 <elliott> In fact maybe Haskell would be nicer if it was Coq.
23:23:23 <elliott> (Or Epigram ...)
23:25:50 <j-invariant> if i had the energy i would make my own language..
23:27:41 <elliott> j-invariant: i've already done that... several times... too bad i'm not smart enough to implement it
23:27:45 <ais523> I should learn Coq sometime
23:27:57 <ais523> elliott: well, I've implemented some of my esolangs
23:28:11 <elliott> ais523: that's rather easier than implementing my monstrosity of a language
23:28:12 <Phantom_Hoover> ais523, learning Coq is the road to pain.
23:28:35 <ais523> hmm, theory: the vast majority of languages are either hard to use because they're designed to be easy to implement, or hard to implement because they're designed to be easy to use
23:28:38 <Phantom_Hoover> Unless you it properly and ignore rewrite.
23:28:55 <elliott> rewrite is vital
23:29:00 <elliott> ais523: coq is wonderful
23:29:04 <ais523> what is rewrite?
23:29:10 <j-invariant> I think Coq is useless
23:29:14 <elliott> ais523: rewrite rewrites the current goal.
23:29:15 <ais523> also, wonderful + painful to learn sounds like most of the things I enjoy
23:29:18 <elliott> j-invariant: Why?
23:29:22 <ais523> like NetHack, and INTERCAL
23:29:29 <j-invariant> You can't form quotient types like you do in set theory
23:29:32 <ais523> and, umm, vim/Emacs
23:29:45 <elliott> j-invariant: well, you can do "good enough"
23:29:49 <oerjan> ais523: i subscribe to that theory as the reason why we have no useful esolang cycles yet
23:30:04 <ais523> oerjan: actually, you're probably correct there
23:30:06 <elliott> ais523: note that coq's stdlib sucks... hm i wonder if fax ever got around to finishing that alternate stdlib
23:30:10 <elliott> wait, i actually implemented a good part of it
23:30:15 <elliott> but then got lost implementing category theory ...
23:30:22 <ais523> yay category theory
23:31:02 <ais523> there's a quote by, IIRC Milner (of type inference fame), along the lines of "the only thing worse than not using category theory is using too much category theory"
23:31:22 <ais523> and if you go to a CS conference, you'll likely agree with it
23:31:23 <elliott> ais523: that can be solved by using even more category theory
23:31:36 <ais523> elliott: like violence, XML, and Elbereth?
23:31:44 <elliott> ais523: yep!
23:31:47 <elliott> ais523: except not XML.
23:32:26 <ais523> elliott: probably not violence either
23:32:36 <elliott> ais523: well it depends on your goals!
23:32:38 <oerjan> now if you use all three you should be all set
23:32:42 <elliott> j-invariant: anyway i'm not sure native quotient types are _vital_
23:32:43 <ais523> and the Elbereth thing is statistical, rather than always correct
23:32:56 <elliott> j-invariant: I mean, they're very nice, but I think Coq can be useful without them.
23:33:28 <Phantom_Hoover> <elliott> rewrite is vital
23:33:43 <Phantom_Hoover> Indeed it is, but I ended up overusing it painfully.
23:33:44 <ais523> elliott: the sequel to the paper I linked you to quotients the nonnegative integers over the relation 0 === 0 and 1 === 1 and x >=2 and y >= 2 implies x === y
23:33:58 <ais523> which is useful, because addition and multiplication quotient just fine with that relation
23:34:15 <elliott> ais523: that is the most hideously convoluted way to define that set I can think of :-)
23:34:23 <ais523> well, it was a one-liner
23:34:31 <ais523> I suppose I could have just given all the cases
23:34:40 <ais523> but then I'd have to prove it worked the same way as ordinary arithmetic
23:34:50 <elliott> ais523: exercise left to the etc.
23:34:57 <ais523> you can't do that in a conference paper!
23:35:05 <ais523> or, at least, if you're famous enough you probably can
23:35:06 <elliott> ais523: I GUESS THAT JUST MEANS YOU'RE NOT DOING REAL MATHEMATICS THEN
23:35:09 <ais523> but you shouldn't
23:35:26 <elliott> all papers should be one page long, and all the boring details should be left as exercises
23:35:27 <Gracenotes> you put that in the future directions section
23:35:28 <ais523> it seems that half of getting a paper published is to find someone famous as a co-author
23:35:35 <Gracenotes> or pay a grad student to put it in an appendix
23:35:35 <ais523> because it increases the chance it's accepted
23:35:39 <elliott> ais523: and thankfully, your co-author found you!
23:35:43 <ais523> haha
23:35:52 <ais523> other way round in this case, I'm not yet famous on the theoretical CS circuits
23:35:55 <elliott> ais523: one of the top -- nay, the top! -- Z-list computer science celebrities
23:36:07 <elliott> ais523: well anything to do with Wolfram is /just/ enough to reach the Z-list
23:36:15 <ais523> we're thinking about possibly submitting the next paper to ICFP
23:36:16 <Gracenotes> ooh Wolfram, you don't say
23:36:34 <elliott> Gracenotes: erm i'm presuming you know who ais523 is
23:36:36 <ais523> and so we need to find someone who's famous there to help coauthor the paper
23:36:40 <Gracenotes> ais523: what is this paper? <3 ICFP. I went to it this year. Next year might be a stretch :/
23:36:56 <Gracenotes> elliott: ... Wikipedian ex-administrator? esolangs hobbyist? :P
23:36:57 <ais523> elliott: actually, I'd expect Gracenotes to have a below-average probability of knowing who I am
23:37:02 <elliott> Gracenotes: Wolfram Prize solver?
23:37:07 <elliott> *winner?
23:37:09 <ais523> due to the Wikipedia connection
23:37:13 <elliott> ais523: good point
23:37:19 <ais523> given that there was an article on me there for a while
23:37:20 <Gracenotes> wow. You mean.. Turing-completeness of triange automata thing?
23:37:22 <Phantom_Hoover> Gracenotes, he proved that teensy Turing machine thingy was universal.
23:37:25 <elliott> Gracenotes: yes
23:37:31 <ais523> I was especially certain to a) not interfere with the article, and b) not let anyone know I was notable
23:37:33 <elliott> ais523: re: ICFP, just say, "this guy i know had a server that hosted the ICFP challenge ISO a few years ago, and I had a shell account on it"
23:37:35 <Gracenotes> I read that article. it was impressive.
23:37:38 <elliott> ais523: sure-fire way to get in
23:37:42 <elliott> Gracenotes: article? do you mean paper?
23:37:48 <Gracenotes> the article on the paper.
23:37:49 <elliott> or do you mean wolfram's self-congratulatory vomit about it?
23:37:56 <elliott> that was far from impressive ...
23:38:21 <ais523> elliott: heh, I've only /just/ got the reference, thanks for that, anyway
23:38:22 <Phantom_Hoover> Gracenotes, DID YOU KNOW ais523 IS JUST A COMPUTATIONAL SUBSTRATE FOR WOLFRAM TO WORK OUT PROOFS IN
23:38:35 <ais523> (also, the article on me was deleted, correctly IMO, per WP:BLP1)
23:38:36 <Gracenotes> NO
23:38:38 <elliott> ais523: that was rather obvious, I would have thought
23:38:40 <elliott> ais523: no, it was redirected
23:38:45 <elliott> to the article about the prize, IIRC
23:38:47 <ais523> well, merge/redirect
23:38:49 <Gracenotes> ais523: yes.. you wouldn't want ehird vandalizing
23:38:57 <ais523> that's what you're supposed to do for someone who's only famous for one thing
23:38:59 <Gracenotes> inserting libel
23:39:01 <elliott> Gracenotes: erm i am ehird :D
23:39:04 <Gracenotes> I know
23:39:15 <elliott> ais523: then why does paris hilton have an article?
23:39:17 <elliott> anyway
23:39:21 <Gracenotes> I will call you ehird. even if I can't tab complete it.
23:39:22 <ais523> she's famous for more than one thing
23:39:30 <elliott> well, she's famous for one thing, and then for being famous
23:39:32 <oerjan> Phantom_Hoover: just like the rest of the universe, surely
23:39:33 <elliott> because of it
23:39:33 <ais523> indeed
23:39:41 <elliott> ais523: It occurs to me that you are one of probably very few Wikipedia admins to have an article ...
23:39:47 <j-invariant> elliott: have you seen this lambda calculus? http://arxiv.org/abs/1012.0929
23:39:47 <elliott> Jimbo does, I think Angela does...
23:39:54 <oerjan> wolfram is secretly equivalent to a paperclip AI
23:39:55 <ais523> there's at least one other who does and isn't Wikimedia-connected, and I don't
23:40:00 <ais523> oerjan: clippy/
23:40:02 <elliott> j-invariant: no, looks like it's time to hurt my head
23:40:03 <ais523> *clippy?
23:40:07 <Phantom_Hoover> oerjan, yes, but ais523 is his favourite.
23:40:16 <elliott> ais523: paperclip AI = AI that wants to fill the universe with paperclips, because it thinks paperclips are good
23:40:23 <elliott> <ais523> there's at least one other who does and isn't Wikimedia-connected, and I don't
23:40:25 <elliott> you don't what?
23:40:28 <ais523> have an article
23:40:41 <ais523> even a redirect's a little dubious, due to the unwieldiness of the dab clause
23:40:53 <ais523> not to mention, there aren't any really reliable sources about me but the Wolfram press releases
23:41:02 <ais523> and although accurate, they're not exactly thorough
23:41:09 <ais523> (because I didn't tell them all that much :p)
23:41:18 <oerjan> dab?
23:41:26 <ais523> disambiguation
23:41:34 <oerjan> mhm
23:41:36 <ais523> the acronym's used because everyone hates typing all that out
23:41:39 <Gracenotes> seriously.. it's wonderful you're publishing papers... there's no chance I'll be able to go to ICFP next year though :/
23:41:53 <elliott> ais523: I'm surprised Wolfram didn't ask you to put the Mathematica code before the Perl.
23:41:57 <ais523> Gracenotes: once published, one accepted but still undergoing the process
23:42:04 <ais523> elliott: perhaps it's because the Mathematica code doesn't actually work
23:42:07 <ais523> or at least, it does
23:42:10 <ais523> but so slowly that it's useless
23:42:16 <Gracenotes> ais523: what's it about?
23:42:37 <Gracenotes> http://en.wikipedia.org/wiki/Alex_Smith_%28The_Simplest_Universal_Computer_Proof_contest_winner%29 -- that's quite a parenthesization :)
23:42:38 <ais523> Gracenotes: compiling software to hardware
23:42:39 <elliott> Gracenotes: ais523 embeds a useless dialect of ALGOL into functional silicon these days :P
23:42:42 <zzo38> I don't like Wolfram, he tried to control all mathematics so that everyone else has to be pay him for big software that fills up the computer and cannot be adjusted.
23:42:47 <elliott> zzo38: What.
23:43:01 <ais523> elliott: it's not useless, you can compile things into it
23:43:03 <j-invariant> I don't understand how it is simplest?
23:43:06 <elliott> ais523: I'm joking.
23:43:15 <elliott> j-invariant: 'cuz it's SMALL, man!
23:43:16 <ais523> although I admit trying to write idealized algol directly is painful
23:43:20 <Gracenotes> ais523: resulting hardware is efficient?
23:43:32 <ais523> Gracenotes: it's getting better
23:43:42 <ais523> it's not fundamentally inefficient, but doesn't do pipelining yet
23:43:54 <ais523> which is a bit of a showstopper
23:44:02 <ais523> guess what I'm working on after I've finished implementing recursion?
23:44:09 <j-invariant> oh it means (i,j)-turing machine with i,j smallest
23:44:37 <zzo38> elliott: Do you know how large program Mathematica is? Did you read the copyright notice in New Kind of Science? The note says you are not allowed to write these programs in a different programming language.
23:44:49 <ais523> zzo38: the copyright notice in ANKOS is insane
23:44:56 <elliott> zzo38: does it?
23:44:57 <elliott> haha
23:45:01 <ais523> I mean, it tries to prevent people using the ideas in the book in different contexts
23:45:02 <elliott> zzo38: but ANKOS isn't mathematics anyway
23:45:06 <elliott> so he's not controlling mathematics
23:45:13 <elliott> also, that doesn't sound like a valid copyright statement to me
23:45:15 <ais523> and I'm pretty sure you can't do that with copyright
23:45:24 <ais523> elliott: of course it isn't, it's science! a new kind, to be precise!
23:45:39 <elliott> ais523: it's new because it's other people's!
23:45:51 <j-invariant> http://www.wolframscience.com/reference/notes/1164b
23:46:10 -!- Gracenotes has quit (Remote host closed the connection).
23:46:19 <elliott> j-invariant: what's the relevance of that page?
23:46:38 <j-invariant> the very last paragraph "I just generated a bunch of diophantine equations and they didn't look very interesting to me"
23:46:55 <j-invariant> it's absolutely absurd
23:46:55 -!- Gracenotes has joined.
23:47:05 <ais523> Wolfram's judgement as to how interesting something is is based on how likely it is to behave interestingly with random input
23:47:13 <elliott> j-invariant: heh
23:47:28 <ais523> I still think the page of ANKOS which has a random SK combinator calculus expression and draws its evolution as a graph is hilarious
23:47:36 <elliott> haha
23:47:40 <ais523> well, not exactly graph
23:47:42 <elliott> let's try random C++ programs next
23:47:51 <ais523> the string representation was converted to colors, and drawn as one of those bitmap things
23:48:07 <ais523> umm, I think what I'm saying is still technically incorrect, but you know what I mean anyway
23:48:51 <elliott> How silley.
23:48:59 <elliott> was it with `fx style or (fx)?
23:49:16 <ais523> neither, it was Mathematica syntax, of course
23:49:20 <ais523> you could have guessed that...
23:49:26 <elliott> ais523: groan
23:49:54 <ais523> so i would be S[K][K], I think
23:49:57 <ais523> my Mathematica's pretty rusty
23:50:12 <ais523> because I have no incentive to learn a language I have to pay to use, pretty much
23:50:18 -!- MigoMipo has quit (Quit: Quit).
23:51:12 <ais523> hmm, now I have an esolang idea
23:51:18 <ineiros> elliott, Vorpal, fizzie and others; regarding my previous comment on teleporting: do what you will but try not to crash the server; I can't be restarting it all the time and it might actually not like being killed all the time.
23:51:21 <ais523> it's mostly a sane language, but every time you run a program you have to send me $10
23:51:28 <ais523> and that's part of the language spec
23:51:37 <ais523> hopefully I should become rich by people trying to implement it
23:51:45 <elliott> ais523: withProps :: (Map ByteString ByteString -> Map ByteString ByteString) -> Object -> Object or withProps :: Object -> (Map ByteString ByteString -> Map ByteString ByteString) -> Object
23:51:52 <elliott> ais523: (Object is just a newtype around Map ByteString ByteString)
23:51:57 <elliott> i rely on you for all my argument ordering decisions
23:52:08 -!- ChanServ has set channel mode: +o oerjan.
23:52:14 <Phantom_Hoover> <ais523> because I have no incentive to learn a language I have to pay to use, pretty much
23:52:16 <ais523> the first, I suspect
23:52:22 <Phantom_Hoover> Not if you break the law!
23:52:29 <ais523> as it seems more likely for partial application that way round
23:52:35 <ais523> Phantom_Hoover: then I'd be paying in happiness
23:52:52 <Phantom_Hoover> ais523, just cast away your absurd moral code!
23:52:55 -!- oerjan has set channel mode: +b #esoteric!*@*.
23:52:58 <ais523> I've actually thought about the random comment someone made in here about me being Lawful Good quite a bit
23:53:02 <elliott> i... don't think that works, oerjan
23:53:04 <oerjan> argh
23:53:07 <elliott> :D
23:53:08 -!- oerjan has set channel mode: -b #esoteric!*@*.
23:53:10 <zzo38> Phantom_Hoover: Mathematica is going to waste your entire computer whether or not you pay.
23:53:11 <ais523> oerjan: don't you mean +m?
23:53:14 <elliott> *!*@* looks more right
23:53:18 <elliott> ais523: banning everyone sounds more fun
23:53:29 <Phantom_Hoover> zzo38, well, it's not that bad.
23:53:33 <oerjan> ais523: i forgot the command to list the bans
23:53:34 <ais523> I think it's a) quite a harsh accusation to make, yet b) quite possibly correct
23:53:43 <elliott> ais523: Lawful Good is an *accusation*?
23:53:55 -!- oerjan has set channel mode: -b *!*Sgeo@*.dyn.optonline.net.
23:54:03 <elliott> oerjan: aw dammit why did you have to go and do that
23:54:10 <Phantom_Hoover> Sgeo was banned?
23:54:11 <ais523> why was Sgeo banned?
23:54:15 <elliott> ais523: he asked to be
23:54:21 <elliott> if he gave into the temptation to IRC when homeworking
23:54:23 <ais523> ah
23:54:27 <elliott> and he did, saying he would homework and IRC simultaneously
23:54:30 <elliott> then oerjan ninja'd him a few minutes later
23:54:31 <ais523> I once asked for ops on a channel so I could kickban myself
23:54:37 <elliott> ais523: was it #nethack? I forget
23:54:39 <ais523> no
23:54:41 <oerjan> elliott: he said he'd do homework until friday or maybe saturday
23:55:08 <oerjan> i don't recall the exact wording
23:55:20 -!- oerjan has set channel mode: -o oerjan.
23:55:51 <elliott> aw dammit j-invariant, you've got me thinking about my category theory in Coq ... and now I just want Epigram to be ready
23:57:04 <j-invariant> I am not convinced a general purpose language that lets you write proofs can actually exist
23:58:35 <zzo38> j-invariant: Why do you think that?
23:58:50 <j-invariant> there always seems to be something essential missing, as soon as you get your hands dirty
23:59:19 <zzo38> j-invariant: What kind of things get missing?
2010-12-19
00:00:51 <elliott> j-invariant: I'm more interested in "more formal" programming at this point than outright proofs, since I don't think those are practical at this point.
00:00:58 <elliott> basically Haskell's type system is insufficiently fancy :P
00:02:38 <elliott> j-invariant: what do you think of automatic differentiation?
00:02:53 <zzo38> Can we make a computer proof system based on Typographical Number Theory?
00:05:02 <j-invariant> I don't think so
00:06:36 <j-invariant> elliott: looks good
00:07:13 <Phantom_Hoover> What's the missing essential thing?
00:07:25 <elliott> http://blog.sigfpe.com/2005/07/automatic-differentiation.html <-- i read this a while ago
00:09:20 <elliott> but I can't figure out what the formula for addition is :(
00:09:51 <j-invariant> (a+a'd)*(b+b'd) = ab+(ab'+a'b)d ?
00:10:05 <j-invariant> oh that's multiplication
00:10:17 <elliott> j-invariant: yeah :P
00:10:33 <j-invariant> if it's a ring then (a+a'd)+(b+b'd)=(a+b)+(a'+b')d
00:10:42 <elliott> I'll try it out
00:11:09 <elliott> hmm st is the standard name for standard-part
00:11:14 <elliott> but what's the standard name for infinitesimal-part?
00:11:18 <elliott> in non-standard analysis
00:11:19 <elliott> is there one?
00:11:37 <j-invariant> elliott: look here wikipedia gives an implementation in terms of 2x2 matrices http://en.wikipedia.org/wiki/Dual_numbers
00:11:58 <elliott> interesting
00:16:01 -!- oerjan has quit (Quit: Reboot).
00:16:05 <elliott> j-invariant: it works!
00:17:00 <j-invariant> cool, what does it do?
00:17:05 <elliott> j-invariant: http://hpaste.org/42405/automatic_differentiation
00:17:13 <elliott> j-invariant: it can calculate the derivative of x^2 :P
00:17:22 <elliott> j-invariant: needs abs and signum, and more numeric type instances, to be useful
00:17:26 <elliott> j-invariant: but both (sq' 5) and (sq' 1.5) work
00:17:28 <elliott> and rationals should too
00:17:57 <elliott> j-invariant: for my next trick: implement symbolic numbers (a numeric type, plus names like "x"), do "Dual (Symbolic t)", and get symbolic differentiation out of it (this apparently actually works!)
00:19:28 <j-invariant> impressive
00:20:17 <pikhq> Japanese pizza continues to disturbe me.
00:20:21 <pikhq> THE MAYO! THE MAYO!
00:21:40 -!- oerjan has joined.
00:22:01 <elliott> j-invariant: i guess symbolic differentiation is what happens when you don't think to compute :)
00:22:43 -!- Mathnerd314 has joined.
00:23:16 <pikhq> elliott: Automatic differentiation? Niceness.
00:23:29 <elliott> *Main> x+y+3
00:23:29 <elliott> ((x) + (y)) + (3)
00:23:32 <elliott> good enough :P
00:23:51 <j-invariant> heh
00:23:57 <pikhq> Though perhaps limited in use. I mean, one can just do it numerically for most relevant cases. :P
00:24:28 <elliott> *Main> sq' x
00:24:28 <elliott> ((x) * (1)) + ((1) * (x))
00:24:30 <j-invariant> it's no fun writing a program that omits brackets
00:24:33 <elliott> j-invariant: Okay, so it's ugly, but CHECK THAT SHIT OUT.
00:24:43 <elliott> I did /not/ change the differentiation code at all.
00:24:48 <elliott> I just called it with a new numeric type.
00:25:09 <elliott> All it needs is a symbolic simplification function and it's an actual symbolic differentiator.
00:25:13 <j-invariant> elliott: why does it seem like you get something for nothing?
00:25:37 <elliott> j-invariant: I'm not sure ... I think it's because duals are basically infinitesimals
00:25:53 <elliott> just implemented in the same way as Q is implemented on top of Z, or C on top of R
00:26:05 <elliott> pikhq: the thing is, this differentiation is *precise*, and has no more overhead or complexity than using, say, complex numbers
00:26:15 <elliott> (of course there is overhead when using the symbolic types, but this does precise numeric differentiation too!)
00:26:24 <elliott> brb
00:27:24 <pikhq> elliott: Very very nice.
00:27:28 <j-invariant> elliott: what happens if you dualize dual numbers?
00:27:55 <elliott> ill try in a minute
00:33:21 <pikhq> elliott: BTW, that is totally awesome. Really truely awesome.
00:33:24 <pikhq> God I love mathematics.
00:34:21 <coppro> I want to do my matrix math in Haskell
00:35:14 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:37:49 <j-invariant> matrix math in Haskell
00:37:52 <j-invariant> oops
00:38:20 <zzo38> coppro: Did you write a program for matrix math in Haskell?
00:50:37 <zzo38> Would you like to TeXnicard contest?
00:52:34 <coppro> zzo38: I did not
00:53:05 <zzo38> coppro: Did you find someone else's program to make matrix math in Haskell?
00:55:13 -!- sebbu has quit (Read error: Connection reset by peer).
00:55:27 <coppro> zzo38: no
00:55:40 -!- sebbu has joined.
01:00:41 <zzo38> <[:]ra+s2s1[Al1rl2xY]xD>
01:05:46 <zzo38> What do you think might be the best way to implement the "English" feature of TeXnicard? (It is the feature to change word forms and change numbers to words, and it is meant to work also with languages other than English, too.)
01:06:32 <elliott> j-invariant: i think it does nothing, just like complicating (technical term!) complex numbers
01:07:22 <elliott> j-invariant: (a+a'd)+(b+b'd)d [
01:07:24 <elliott> erm
01:07:29 <elliott> j-invariant: (a+a'd)+(b+b'd)d = ...simplify it yourself i'm too lazy to :P
01:09:54 <elliott> *Main> sq' x
01:09:54 <elliott> (x + x)
01:09:57 <elliott> does more simplifications now
01:10:39 <elliott> pikhq: another advantage of this method --
01:10:46 <elliott> pikhq: numeric differentiation of a function f requires 2 calls to f
01:10:56 <zzo38> How do you represent "b is a power of ten" in TNT?
01:10:58 <elliott> pikhq: automatic differentiation of a function f is not only more precise, but only requires 1 call
01:11:05 <elliott> pikhq: (to f extended to the duals)
01:11:19 -!- Mathnerd314 has quit (Ping timeout: 264 seconds).
01:11:28 <elliott> pikhq: so if f takes seven hours to compute (don't laugh -- automatic differentiation is used to differentiate whole physics simulations!), automatic differentiation is *much* faster!
01:12:20 <olsner> couldn't you make it data Dual t = Dual t (Dual t) to get all the nth-derivatives too?
01:12:37 <elliott> olsner: you could also do that just by iterating deriv :P
01:12:44 <elliott> deriv :: (Num t) => (Dual t -> Dual t) -> (t -> t)
01:12:45 <elliott> deriv f x = nf (f (Dual x 1))
01:12:55 <elliott> well, sort of
01:12:57 <elliott> chop off the nf part
01:13:02 <elliott> nf :: Dual t -> t
01:13:02 <elliott> nf (Dual _ x') = x'
01:13:17 <elliott> olsner: hmm or maybe not
01:13:29 <elliott> olsner: hmm i think you can do it with normal dual
01:13:41 <elliott> olsner: since Dual t (Dual t) ~ Dual (Dual t) (Dual t), with the first one being (Dual n 0)
01:13:47 <elliott> olsner: and Dual t already includes Dual (Dual t)
01:13:58 <elliott> olsner: what would the argument look like for "Dual t (Dual t)"?
01:14:01 <elliott> deriv f x = nf (f (Dual x 1))
01:14:04 <elliott> would it be
01:14:10 <elliott> deriv2 f x = nf (f (Dual x (Dual 0 1)))?
01:14:13 <elliott> having trouble visualising it
01:15:12 -!- Mathnerd314 has joined.
01:15:17 -!- zzo38 has quit (Quit: Do not write below this line. Place stamp here. You must be present to win. No purchase necessary.).
01:15:59 <elliott> hey j-invariant what would the second argument be :P
01:16:10 <j-invariant> to what?
01:16:32 <elliott> j-invariant: given data Dual2 t = Dual2 t (Dual2 t)
01:16:42 <elliott> j-invariant: what's the equivalent of "deriv f x = nf (f (Dual x 1))" but to do a second derivative
01:16:48 <elliott> nf just accesses the second field btw
01:16:49 <j-invariant> oh this is the full taylor series?
01:16:59 <elliott> deriv2 f x = nf2 (f (Dual2 x (Dual2 0 1)))?
01:17:02 <elliott> I'm really not sure
01:17:02 -!- zzo38 has joined.
01:17:05 <elliott> or is it (Dual2 1 1) there?
01:17:11 <zzo38> Hay! I told you not to write below this line!
01:17:12 -!- zzo38 has left (?).
01:17:18 <elliott> I VIOLATE YOUR RULES
01:17:31 <olsner> the second argument would probably still just be '1', relying on polymorphism to create the right Dual version of 1
01:18:01 <elliott> olsner: that would turn out to be (Dual 1 0)
01:18:05 <elliott> for a second derivative
01:18:09 <elliott> olsner: erm or first
01:18:13 <elliott> olsner: but what would a second be?
01:18:16 <elliott> you've really confused me dude :D
01:18:32 <Vorpal> Deewiant, down?
01:18:40 <Deewiant> Nah, just laggy
01:18:54 <j-invariant> elliott: I mean it's Dual2 f (Dual2 f' (Dual2 f'' (Dual2 f''' ...)))?
01:19:05 -!- Sgeo has joined.
01:19:09 <elliott> j-invariant: wow would that actually work?
01:19:18 <olsner> I think the only difference might be in the use of the nf function, let's say you make it nf 0 (Dual2 x _) = x; nf n (Dual2 _ x') = nf (n-1) x'
01:19:21 <elliott> j-invariant: except, the problem here is that f is a function not a number to start with :P
01:19:23 <j-invariant> I thought that's what you were going for
01:19:33 <elliott> j-invariant: that sounds cool, but actually I am just trying to do second derivative :-)
01:19:35 <elliott> f''(x)
01:19:46 <elliott> f'(x) = nf f(x + 1d)
01:19:48 <elliott> f''(x) = ?
01:20:27 <Vorpal> Deewiant, very much down I think
01:20:30 <Vorpal> I timed out
01:20:32 <olsner> (that is, nf n is the nth-derivative, with n=0 being the value itself)
01:20:55 <elliott> olsner: heh
01:21:20 <Deewiant> Vorpal: Now I did too
01:21:25 <Sgeo> Shockingly, if I force myself not to IRC, I'll find something else to do
01:21:31 * Sgeo glares at the Braid demo menacingly
01:21:48 <Deewiant> Vorpal: Oh well, I've had enough for today anyway
01:21:50 * Mathnerd314 <3 Braid so much that he can't play it
01:21:51 <Sgeo> Anyways, going to try going back on my meds tomorrow
01:21:57 <fizzie> http://p.zem.fi/ovya -- that just makes no sense at all, zlib uncompress() and java.util.zip.Inflate are supposed to do the same thing, as far as I can determine.
01:22:02 <Vorpal> Deewiant, up
01:22:03 <Sgeo> Today, I'll still try to do something
01:22:07 <Vorpal> Deewiant, and I will hand you the resource
01:22:14 <Deewiant> Fine
01:22:23 <Sgeo> Mathnerd314, as in, don't trust yourself to quit?
01:22:31 <Deewiant> Vorpal: Slow to log in still...
01:22:58 <Mathnerd314> Sgeo: no, I watched a playthrough online, in such excruciating detail that there's no point in playing it
01:23:05 <Vorpal> still sending me chunks, slowly
01:23:15 <olsner> data Dual2 t = Dual2 t (Dual2 t) is incidentally just an infinite list of t's
01:23:27 <elliott> olsner: indeed it is
01:23:32 <Sgeo> I'm sort of watching a blind LP, but only up to the point that I solved already
01:23:34 <elliott> olsner: i still don't understand how it works though
01:23:42 <Vorpal> Deewiant, close to down though
01:23:48 <Deewiant> Yep
01:24:07 <Sgeo> World 4's Hunt is fun
01:24:19 <elliott> olsner: wait, all this is pointless
01:24:21 <elliott> we have second derivatives already
01:24:24 <elliott> sq'' :: (Num t) => t -> t
01:24:25 <elliott> sq'' = deriv (deriv sq)
01:24:30 <elliott> *Main> sq'' x
01:24:30 <elliott> 2
01:24:41 <elliott> *Main> sq'' 1.0
01:24:41 <elliott> 2.0
01:25:02 <Vorpal> Deewiant, likely down again
01:25:13 <Deewiant> Down-ish
01:25:51 -!- metalman has joined.
01:26:03 -!- metalman has left (?).
01:26:09 <Vorpal> downish indeed
01:26:13 <elliott> why doesn't everyone differentiate this way
01:26:14 <elliott> it's perfect
01:27:16 <Sgeo> What's deriv's type and definition?
01:27:22 <elliott> deriv :: (Num t) => (Dual t -> Dual t) -> (t -> t)
01:27:22 <elliott> deriv f x = nf (f (Dual x 1))
01:27:26 <Mathnerd314> elliott: what about sin x?
01:27:39 <elliott> olsner: it seems that writing nderiv which takes the number of derivs as a param is impossible in haskell
01:27:41 <elliott> due to the stupid type system
01:27:57 <Mathnerd314> probably just need type-level naturals
01:28:01 <elliott> Mathnerd314: well i'd have to implement sin over dual numbers because IIRC it's in the relevant typeclass, Real or something
01:28:03 <Sgeo> pikhq just mentioned something about Dual numbers on FB
01:28:05 <elliott> so right now it can't do that.
01:28:13 <Sgeo> I'm still clueless
01:28:14 <elliott> Sgeo: well he noticed me talking about them. so
01:28:21 <olsner> elliott: I think you can do that with polymorphic recursion or what they call it
01:28:31 <Sgeo> epsilon^2 = 0
01:28:34 <elliott> Sgeo: no.
01:28:44 <elliott> Sgeo: dual number is a + bd for a and b, d is just like i, you can think of it conceptually as d^2 = 0
01:28:56 <elliott> Sgeo: (a+a'd) + (b+b'd) = (a+b)+(a'+b')d
01:29:09 <elliott> Sgeo: (a+a'd) * (b+b'd) = ab + (ab'+a'b)d
01:29:10 <Sgeo> AIIIEEEEEEEEE
01:29:19 <elliott> Sgeo: say f* is the obvious extension of f to the dual numbers
01:29:28 <elliott> Sgeo: then f'(x) = nf f*(x+1d)
01:29:35 <elliott> where nf(a+a'd) = a'
01:29:35 <Mathnerd314> elliott: I'm betting you can also think of it as a Taylor series.
01:29:41 <elliott> Sgeo: what the hell is AIIIEEEEEEEEE about that
01:29:47 <elliott> too many letters/!
01:29:48 <elliott> *?!
01:29:50 <elliott> it's trivial
01:29:52 <Sgeo> d^2=0 where d=/=0?
01:30:01 <elliott> Sgeo: i said you can think about it CONCEPTUALLY
01:30:40 <elliott> d^2 = d*2
01:30:44 <elliott> d = (0 + 1d), obviously
01:30:52 <elliott> by applying the rule for multiplication we find the result is (0+0d) = 0
01:31:05 <elliott> but the important thing is that d is /not/ a real, it's a dual
01:31:19 <elliott> just like there is no real number whose square is -1
01:31:42 -!- FireFly has quit (Quit: swatted to death).
01:31:54 <Sgeo> So d is just a nonzero number, that when squared, is 0. Why do you keep yelling "CONCEPTUALLY"
01:31:58 <Sgeo> And nonreal
01:32:21 <elliott> Sgeo: CONCEPTUALLY because otherwise you'll go crazy.
01:32:30 <j-invariant> it's odd that d^2=0 does not imply that d=0
01:32:32 <Sgeo> It's just another dimension
01:32:34 <elliott> anyway we have
01:32:36 <elliott> f(x) = x^2
01:32:37 <elliott> ergo
01:32:38 <elliott> f(x) = x*x
01:32:41 <elliott> and we want to work out f'(x)
01:32:49 <elliott> well, extend it to the duals
01:32:56 <elliott> f*(a+a'd) = (a+a'd) * (a+a'd)
01:33:00 <elliott> ergo
01:33:15 <elliott> f*(a+a'd) = aa + (aa'+a'a)d
01:33:16 <elliott> ergo
01:33:18 <Sgeo> I'll wiki it later
01:33:28 <elliott> f*(a+a'd) = a^2 + (aa')^2d
01:33:37 <elliott> now let's say we feed it (x+1d) for real x
01:33:55 <elliott> er wait i made a mistake
01:33:59 <elliott> <elliott> f*(a+a'd) = aa + (aa'+a'a)d
01:34:00 <elliott> ergo
01:34:07 <elliott> f*(a+a'd) = a^2 + (2aa')d
01:34:10 <elliott> now let's say we feed it (x+1d) for real x
01:34:20 <elliott> f*(x+1d) = x^2 + (2*1*x)d
01:34:20 <elliott> i.e.
01:34:25 <elliott> f*(x+1d) = x^2 + (2x)d
01:34:33 <elliott> now let's say we take the unreal (infinitesimal part of this)
01:34:42 <elliott> nf f*(x+1d) = 2x
01:34:46 <elliott> so, basically, for any function f
01:34:52 <elliott> f'(x) = nf f*(x + 1d)
01:35:01 <elliott> Sgeo: you don't need to wiki it, i just explained it in the simplest terms possible
01:35:05 <elliott> and actually the WP article does not include this
01:35:15 <Sgeo> I'll reread clog later
01:36:13 <elliott> olsner: hm I think you are right
01:36:16 <elliott> olsner: that the existing Dual holds us back
01:36:19 <elliott> because each deriv has a different type
01:36:28 <elliott> we need Dual t, Dual (Dual t), Dual (Dual (Dual t)), etc.
01:36:31 <elliott> i'll try Dual2
01:38:09 <elliott> (Dual a a') * (Dual b b') = Dual (a*b) ((a*b')+(a'*b))
01:38:13 <elliott> olsner: *regrettably* I can't see how this can work
01:38:20 <elliott> olsner: (Dual here is Dual2 now, data Dual t = Dual t (Dual t))
01:38:25 <ais523> fizzie: you know fungot's anti-spam features?
01:38:37 <ais523> could you turn them off in PM? spamming isn't an issue there, and it'd make it harder to test things
01:38:51 <elliott> olsner: also, how would one define d?
01:38:54 <elliott> oh wait nm
01:39:35 <elliott> olsner: any ideas wrt *?
01:40:26 <elliott> olsner: second derivatives do work like this though ... but I'm not sure these are dual numbers any more
01:40:32 <elliott> also, they don't have a nice prettyprinting :)
01:40:40 <elliott> olsner: what we really want is (Dual n t) for every nat n
01:40:50 <elliott> olsner: then nderiv could just dependent-type it up
01:40:57 <elliott> j-invariant: think this would be worth doing in Coq? :p
01:41:50 <fizzie> ais523: Isn't the only anti-spamming measure related to the chatting feature? Or do you want to somehow "test" that?
01:42:31 <elliott> olsner: well actually, you can do type-level nats in haskell
01:42:34 <elliott> olsner: am i insane enough to try
01:42:40 <olsner> elliott: of course you are
01:42:47 <oerjan> fungot fungot fungot
01:42:47 <fungot> oerjan: contestmaster without eir consent. if
01:43:04 <elliott> olsner: you do realise that Nth derivatives worked like this, just not Nth being parameterisable? :D
01:43:15 <fizzie> Sounds agoran.
01:43:47 <fizzie> I can turn them off in PM in theory, but not very fast, certainly not today.
01:44:41 <j-invariant> elliott: do you have a theory of calculus?
01:45:43 <elliott> j-invariant: in what sense?
01:45:49 <Sgeo> What is e^epsilon?/
01:45:52 <j-invariant> to specify the dual numbers
01:46:38 <elliott> j-invariant: sorry, I'm not understanding :/
01:46:50 <olsner> elliott: yeah, I just disregarded that immediately because N wasn't parameterisable :)
01:47:32 <elliott> olsner: http://sprunge.us/BWGX now get me a generic dN that works for all Dual types
01:47:35 <elliott> (protip: type classes)
01:47:47 <j-invariant> elliott: well something that says the 'd' part is the derivative
01:48:33 <elliott> j-invariant: I don't really have any formal backing to it other than "it works", no :)
01:48:40 <elliott> j-invariant: d is a bit of a misnomer here -- it's actually \epsilon really
01:48:48 <j-invariant> no point then
01:48:53 <elliott> j-invariant: why not?
01:49:04 <j-invariant> well you wouldn't get anything new from it would you?
01:49:15 <elliott> j-invariant: perhaps not ... but it sure is interesting
01:49:21 <elliott> and I think a theory can develop organically around it perhaps
01:49:50 <elliott> j-invariant: nf (f*(x + \epsilon)) -- I can imagine this is a theorem of non-standard analysis
01:49:53 <elliott> although I suppose I can't really be sure
01:49:59 <elliott> actually it might not be, since multiplication is different here
01:50:07 <elliott> olsner: actually hmm it's more fromInteger I want
01:51:32 <elliott> {-# LANGUAGE GADTs, EmptyDataDecls, FlexibleInstances, FlexibleContexts #-}
01:51:34 <elliott> ALWAYS A GOOD SIGN
01:52:36 <Mathnerd314> elliott: my favorite is NoImplicitPrelude
01:52:42 <elliott> {-# LANGUAGE GADTs, EmptyDataDecls, FlexibleInstances, FlexibleContexts, UndecidableInstances #-}
01:52:44 <elliott> WHAT COULD POSSIBLY GO WRONG
01:53:40 <olsner> hmm, I'm doing this wrong somehow, all my nth-derivaties end up the same as the first derivative
01:55:09 <elliott> Vorpal: Notch is playing Minecraft on a live stream.
01:55:13 <elliott> Vorpal: For some reason, it is Indev.
01:55:33 -!- tswett has joined.
01:55:38 <tswett> Hei
01:55:49 <oerjan> God kveld
01:56:11 <elliott> tswett: vordin
01:56:13 <tswett> oerjan, the closest language I know to yours is English. :P
01:56:24 <tswett> Is it Norwegian?
01:56:28 <tswett> elliott: I don't know what that language is.
01:56:38 <elliott> tswett: Vordkïp.
01:56:39 <oerjan> tswett: yes, as is "Hei"
01:56:43 <tswett> That word resembles "morning", but I imagine it's a coincidence.
01:57:00 <tswett> "Hei" is Norwegian? It's also Finnish, unless I've been steered horribly wrong.
01:57:08 <oerjan> could be
01:57:22 <oerjan> `translatefromto fi en hei
01:57:38 <tswett> `echo How are you feeling today, HackBot?
01:57:40 <HackEgo> How are you feeling today, HackBot?
01:57:40 <HackEgo> hey
01:57:49 <olsner> it's also in english, but spelled 'hey'
01:57:53 <tswett> Translations in a mere twenty seconds!
01:57:56 <elliott> "Ooh and a pig! Hello piggy! [kills the pig]" --Notch, playing -- for some reason -- an old vrsion of Minecraft.
01:57:58 <elliott> *version
01:58:01 <tswett> olsner: you have a point, there!
01:58:05 <elliott> oerjan: `translatefromto X en = `translatefrom X
01:58:23 <elliott> we're anglocentrists :P
01:58:26 <oerjan> `run ls bin/trans*
01:58:27 <HackEgo> bin/translate \ bin/translatefromto \ bin/translateto
01:58:37 <oerjan> elliott: YOU SO WRONG
01:58:37 <tswett> So, let's see how intuitive Finnish is. Can I just look in a dictionary and construct valid sentences?
01:59:18 <elliott> oerjan: hm so I am
01:59:27 <oerjan> fizzie: YOUR EXPERTISE IS NEEDED
01:59:30 <olsner> tswett: does *any* language allow you to do that?
01:59:30 <elliott> tswett: isn't finnish meant to be incredibly difficult to learn :D
02:00:12 <tswett> olsner: English, if you already know English. :P
02:00:18 <elliott> oh it's an old recording, not live
02:00:27 <oerjan> olsner: _maybe_ esperanto?
02:01:02 <tswett> Si tú hace él con español, tú no vas a ir horriblemente incorrecto.
02:01:05 <fizzie> I don't think that will work, but I can comment on validity if you like.
02:01:29 <olsner> elliott: in (Dual x 1), doesn't that need to do something special for higher derivatives?
02:01:45 <j-invariant> 1 = Dual 1 0 ?
02:01:50 <tswett> Minun kalani kutistuu.
02:01:52 <olsner> j-invariant: yes
02:01:54 <tswett> There, did I get it right?
02:01:58 <elliott> olsner: quite possibly!
02:02:00 <elliott> Could not deduce (Num (Dual n Integer))
02:02:00 <elliott> from the context (Foo (S n), Num (Dual n t), TN n)
02:02:03 <elliott> j-invariant: haskell is STUPID
02:02:07 <elliott> it can't unify t==Integer :D
02:02:09 <j-invariant> dndn
02:02:12 <j-invariant> hehe
02:02:16 <elliott> class (TN n) => Foo n where
02:02:16 <elliott> d :: Dual n Integer
02:02:16 <elliott> instance Foo Z where
02:02:16 <elliott> d = Dual0 0 1
02:02:16 <elliott> instance (Num (Dual n Integer), TN n) => Foo (S n) where
02:02:17 <elliott> d = DualN 0 1
02:02:19 <elliott> this is working I think!
02:02:26 <elliott> but, it's Integer-only
02:02:30 <elliott> so i'll have to fix that
02:02:35 <olsner> more fromInteger? :)
02:02:46 <elliott> oh sweet, it stack overflows
02:02:53 <elliott> like a boss
02:03:05 <elliott> wait, how ...
02:04:56 <elliott> instance (Num t) => Num (Dual Z t) where
02:04:56 <elliott> fromInteger n = Dual0 (fromInteger n) 0
02:04:58 <elliott> instance (TN n, Num t, Num (Dual n t)) => Num (Dual (S n) t) where
02:04:58 <elliott> fromInteger n = DualN (fromInteger n) 0
02:05:04 <elliott> i suppose that this definition may be defective...
02:05:06 <Sgeo> God hates fractions!
02:05:07 <fizzie> tswett: Yes, that is valid. "My fish is getting smaller."
02:05:46 <fizzie> Though the "minun" part is not especially necessary, the suffix is enough.
02:05:49 <elliott> olsner: how is this not halting.
02:06:14 <elliott> *Main> :set -XFlexibleContexts
02:06:15 <elliott> *Main> d :: (Foo Z) => Dual Z Integer
02:06:15 <elliott> *** Exception: stack overflow
02:06:15 <elliott> *Main>
02:07:27 <elliott> oh it's my show
02:08:31 <elliott> *Main> d :: (Foo Z) => Dual Z Integer
02:08:31 <elliott> (0 + 1*d)
02:08:39 <elliott> d :: Dual (S Z) Integer
02:08:40 <elliott> (0 + (1 + 0*d)*d)
02:08:41 <elliott> JOY!
02:08:56 <elliott> ugh
02:09:01 <elliott> olsner: I have to write all my definitions twice
02:09:04 <elliott> data Dual n t where
02:09:04 <elliott> Dual0 :: t -> t -> Dual Z t
02:09:04 <elliott> DualN :: (TN n) => t -> Dual n t -> Dual (S n) t
02:09:05 <elliott> because of this
02:09:08 <Sgeo> Factor!
02:09:09 <elliott> has to be two separate Num instances
02:09:10 <elliott> any ideas?
02:09:14 <elliott> Sgeo: what.
02:09:16 <j-invariant> why don't you make Dual0 trivial?
02:09:23 <j-invariant> like the identity function
02:09:36 <Sgeo> elliott, you shouted out the name of some concatenative language
02:09:41 <Sgeo> So I did the same =P
02:10:05 <elliott> j-invariant: yeah i will
02:10:13 <elliott> then first-order stuff is (Dual 1 t)
02:10:20 <oerjan> UNDERLOAD!
02:11:07 <elliott> j-invariant: hypothesis: any sufficiently complicated Haskell program contains an ad hoc, informally-specific, bug-ridden, slow implementation of half of Agda
02:11:21 <j-invariant> or at least a good chunc of Peano Arithmetic
02:11:28 <elliott> :)
02:11:31 <j-invariant> ..in the type system
02:11:31 <elliott> in the type system, that is.
02:11:32 <elliott> ha
02:11:33 <j-invariant> lol
02:12:29 <elliott> j-invariant: wait if Dual0 is identity, what's d :: Dual 0 t
02:12:32 <elliott> 0?
02:12:34 <elliott> I think so, yeah, 0
02:12:37 <elliott> zeroth derivative
02:12:43 <elliott> Could not deduce (Eq (Dual n t))
02:12:43 <elliott> from the context (S n ~ S n2, TN n2)
02:12:47 <elliott> that little ~ is the sign meaning "you're fucked"
02:13:09 <elliott> ok it's working
02:13:14 <Sgeo> Can duals be used to integrate?
02:13:24 <Sgeo> Although that doesn't really make much sense, but whatever
02:14:07 * oerjan ponders the possibility of reading fortune cookies while adding "in the type system"
02:14:23 <oerjan> oleg probably does that
02:14:25 <elliott> Sgeo: i... maybe
02:15:33 <elliott> i mean integrals are sort of f^(-1) :P
02:15:48 <elliott> as in f^(2) = second derivative
02:15:54 <coppro> yeah
02:16:03 <fizzie> Vorpal: I in fact looked at the disassembled asm, and Notch *has* that bug there. He allocates a (xsize*ysize*zsize*5)/2 byte[] (that's the size of the uncompressed data) and then calls Deflater.deflate() on that byte array to compress the chunk update. If it won't all fit, it will just get truncated.
02:16:11 <fizzie> s/asm/bytecode/
02:17:03 <elliott> *Main> d :: Dual (S (S Z)) Double
02:17:03 <elliott> (0.0 + (1.0 + 0.0*d)*d)
02:17:04 <elliott> ^_^
02:17:22 <elliott> j-invariant: this is actually working! just, hideously
02:17:39 -!- cal153 has quit.
02:18:04 <Sgeo> But if derivatives with duals just gives a number, what number could make sense for integrals, given that you always have a constant
02:18:08 <Sgeo> arbitrary constant
02:19:06 <fizzie> I have no idea how to communicate the bug there, posting on the getsatisfaction.com site sounds pretty much useless.
02:19:53 <elliott> olsner: wait what is the nf signature for this?
02:20:15 <elliott> fizzie: Notch "says" he's fixing getsatisfaction bugs but I doubt he's smart enough to understand your incisive analysis.
02:20:43 <elliott> Sgeo: erm well actually derivatives with duals give duals
02:20:46 <elliott> we just ignore the standard part
02:21:43 <fizzie> elliott: Yes, and the "common problems" list is 78 pages of 20 items (so >1500 items), and they get sorted by voting order, and that sort of a "problem" is probably rather unlikely to get any votes at all.
02:22:02 <elliott> fizzie: Tweet him?
02:22:08 <elliott> fizzie: Admittedly it might take several tweets
02:22:10 <elliott> *tweets.
02:22:28 <fizzie> If I can describe the issue in 140 chars, I'll consider that.
02:23:27 <elliott> fizzie: Bug: You allocate (xsz*ysz*5)/2 byte[] for compressed chunk data; if it's bigger, it gets truncated
02:23:38 <fizzie> Yes, something like that could work.
02:23:43 <elliott> fizzie: Bug: You allocate (xsz*ysz*5)/2 byte[] for compressed SMP chunk data; if it's bigger, it gets truncated
02:23:46 <elliott> That's better.
02:23:53 <elliott> (Perhaps noting client vs. server might help, too...)
02:23:57 <fizzie> Seeing actual code in there might make him look at it.
02:24:32 <oerjan> fizzie: not zsz?
02:24:43 -!- chickenzilla has joined.
02:24:45 <fizzie> "@notch SMP server bug: byte[x*y*z*5/2] for Deflater.deflate() in some cases not large enough, causes truncated messages"
02:24:48 <fizzie> That's just 120 chars.
02:25:05 <fizzie> I can't be sure of his variable names since it's obfuscacated.
02:25:19 <tswett> See, I know Finnish grammar. :P
02:25:37 <tswett> Vocabulary is all I need now!
02:25:59 <fizzie> tswett: Try something with more suffixes. Like "Also for a coffee drinker" in a single word. (That's one of our stock examples for justifying our statistical-morphemes based language models.)
02:26:26 -!- elliott has set topic: Also for a coffee drinker | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
02:26:30 <elliott> All so, for a coffee drinker.
02:26:35 <tswett> I have to wonder if linguists first saw that every word has initial stress in Finnish, and then concluded that everything without a stressed syllable must not be a word.
02:26:49 <elliott> Also, for... a coffee drinker?
02:26:59 -!- cal153 has joined.
02:27:03 <tswett> Also, fora cough, ye drinker.
02:27:16 <oerjan> Alsof, or a coffee drinker?
02:27:45 <elliott> Al Sofor: a coffee drinker?
02:27:56 <elliott> David slowed slightly as his ears, also for a coffee drinker, sped up.
02:28:11 <tswett> Don't forget the "his pace".
02:28:16 -!- cal153 has quit (Client Quit).
02:28:22 <elliott> tswett: Oh yeah, that makes the sentence /much/ more meaningful :P
02:28:47 <oerjan> aerodynamic ear propulsion
02:29:17 <elliott> j-invariant: wait what _is_ the type of nf?
02:29:20 <elliott> class (TN n, Num t) => DualFuncs n t where
02:29:20 <elliott> d :: Dual n t
02:29:20 <elliott> st :: Dual n t -> t
02:29:23 -!- cal153 has joined.
02:29:25 <elliott> oh!
02:29:31 <elliott> nf :: Dual (S n) t -> Dual n t
02:29:37 <elliott> now let's see if Haskell will accept that (doubtful!)
02:30:30 <elliott> it can even go out of the typeclass
02:30:44 <elliott> oh, so can st
02:31:10 <tswett> Whelp. There's only one way to learn Finnish.
02:31:21 <elliott> and d for that matter
02:31:23 <elliott> tswett: what way is that?
02:31:25 <pikhq> Be born in Finland?
02:31:27 <oerjan> yep, you have to get into the sauna
02:31:36 <tswett> I've forgotten it.
02:31:39 <oerjan> and drink plenty
02:32:36 <elliott> (DualS a a') * (DualS b b') = DualS (a*b) ((a*b')+(a'*b))
02:32:42 <elliott> I still can't figure out how to make this work.
02:32:43 <elliott> olsner: any ideas?
02:32:47 <elliott> data Dual n t where
02:32:47 <elliott> DualZ :: t -> Dual Z t
02:32:48 <elliott> DualS :: (TN n) => t -> Dual n t -> Dual (S n) t
02:32:52 <elliott> TN just means Type Natural
02:33:01 <elliott> it bawls about infinite types
02:33:30 <elliott> I mean I think in the latter sum
02:33:36 <elliott> we need to cast a and b to DualSes
02:33:36 <pikhq> fizzie: 「コヒー飲み者の為にも」 *could* be considered a single word. Though it's really hard to say, because the notion of "word" in Japanese is rather... Vague.
02:33:39 <elliott> but is this even possible?
02:33:59 <pikhq> (kohînomimononotamenimo)
02:34:30 <pikhq> Erm, コーヒー, not コヒー.
02:34:39 <pikhq> s/kohî/kôhî/
02:34:46 <elliott> or add an instance declaration for (Num (Dual n t))
02:34:47 <elliott> >_<
02:35:26 <tswett> Here we go.
02:35:31 <fizzie> elliott: Incidentally, if I tweet like that, he'll probably just "fix" it by removing the "/2" from it... but I guess it's better than nothing. (Also Java Inflater doesn't seem to export zlib compressBound() function that'd give him an actual upper bound to use.)
02:35:48 <tswett> The only way to learn Finnish is via the Conversational Finnish course from the Foreign Service Institute.
02:35:55 <elliott> fizzie: wait, does he actually just assume compression will always halve the data?
02:36:08 <pikhq> tswett: I'm highly inclined to say "bullshit" on that.
02:36:20 <tswett> Okay, there may be other ways.
02:36:23 <elliott> olsner: guess what?
02:36:25 <tswett> But this is the only way I've found.
02:36:27 <elliott> olsner: IncoherentInstances
02:36:32 <fizzie> elliott: No, that's the uncompressed size. It' s 2.5 bytes per block. (Some data is stored as nybbles.)
02:36:35 <elliott> LOL DOESN'T EVEN WORK
02:36:39 <Sgeo> elliott, please tell me that you're talking about someone other than Notch
02:36:48 <pikhq> tswett: Though I suspect their courses are pretty close to the only *actual courses* that will get you competence in the language, surely not the only way.
02:36:50 <elliott> Sgeo: no, i'm not, why
02:37:08 <Sgeo> I'm going to assume then that someone is misunderstanding someone
02:37:14 <pikhq> (seriously, most language courses are absolutely, positively terrible, and actually no better than a freaking phrasebook)
02:38:02 <fizzie> Sgeo: Well, he *is* assuming that the compressed output it always <= than the uncompressed.
02:38:40 <elliott> No instance for (Num (Dual n t))
02:38:40 <Sgeo> Hmm... naive, but I can imagine not realizing that that's not always the case unless casually mentioned
02:39:01 <elliott> olsner: I think this is one of those cases where Haskell just doesn't want to play.
02:39:14 <tswett> Yeah, when I searched for 'learn finnish', every single Google result was useless.
02:39:34 <tswett> And I even looked through all 2.7 million of them.
02:39:38 <Sgeo> <spam>
02:39:41 <Sgeo> Soon holidays
02:39:51 <Sgeo> Hmm.. Isn't Soon ***SPOILER***
02:40:04 <Sgeo> Wait, it's not a spoiler. He's dead
02:40:15 <olsner> elliott: yeah, abusing the type system will usually end up like that...
02:40:32 <Sgeo> Also, isn't Azure City kind of ***SPOILER***
02:40:53 <oerjan> elliott: maybe you need a type class for what "n" is there
02:40:55 <elliott> Sgeo: What.
02:41:02 <pikhq> tswett: s/finnish/any language ever/ and you'll have similar results.
02:41:04 <elliott> oerjan: I do; it's TN
02:41:05 <Sgeo> elliott, lame OOTS references
02:41:06 <elliott> oerjan: type natural
02:41:14 <olsner> and my Dual2 version is working perfectly except it doesn't produce the right derivatives
02:41:22 <elliott> oerjan: it's just that, even though every constructor for Dual satisfies (TN n)
02:41:31 <elliott> oerjan: haskell doesn't realise this implies that Dual n t implies TN n
02:41:33 <tswett> pikhq: huh, I guess I haven't tried that with very many languages.
02:41:40 <elliott> oerjan: so because i use something that must be polymorphic over all duals in this case
02:41:45 <elliott> oerjan: it says "hey!! you don't have instances for this"
02:41:52 <elliott> oerjan: even though I have instances for the Z and (TN n) => (S n) case
02:42:06 <elliott> because GADTs can't have typeclass constraints on the actual type, just the constructors :(
02:42:12 <pikhq> tswett: The issue is that most people have this crazy idea that memorising phrases will eventually create fluency.
02:42:26 <pikhq> Or that memorising grammar rules will do the same.
02:42:36 <oerjan> hm
02:42:51 <elliott> oerjan: wanna try and fix it? :D
02:43:16 <tswett> Weird.
02:43:45 <pikhq> Yeah, it works about as well as memorising multiplication tables produces competence at mathematics.
02:44:01 <elliott> http://www.youtube.com/watch?v=sQriw-tiFBU So suave.
02:44:17 <tswett> Huh. Is there a way to tell Google Chrome to download a particular URL?
02:44:43 <elliott> tswett: Um, Ctrl+S?
02:44:46 <elliott> Right click link save as?
02:44:47 <elliott> tswett: wget?
02:45:42 <tswett> Ctrl+S is disabled. There is no link. The only computer I have access to is running Windows.
02:46:15 <Sgeo> tswett, data: url?
02:46:23 <Sgeo> Probably my favorite thing to do
02:46:25 <Sgeo> >.>
02:47:14 <elliott> Sgeo: Why is that your... favourite thing to do?
02:47:23 <elliott> tswett: Why is Ctrl+S disabled, and how?
02:47:28 <elliott> tswett: Presumably you cannot download a wget port.
02:47:48 <Sgeo> elliott, seems easier than installing wget etc
02:47:56 <tswett> I guess Chrome doesn't let you Ctrl+S something that hasn't loaded.
02:48:16 <Sgeo> Recently did that to help a girl download some sound file for use in her presentation
02:48:16 <tswett> Sgeo: you can use a data: URL to do that?
02:48:39 <Sgeo> tswett, data:text/html,<a href="http://example.com/some.wav">Download</a>
02:48:50 <Sgeo> There, you have a link
02:49:56 <elliott> oerjan: basically the issue is
02:49:59 <elliott> instance (Num t) => Num (Dual Z t) where
02:49:59 <elliott> instance (TN n, Num t, Num (Dual n t)) => Num (Dual (S n) t) where
02:50:09 <elliott> oerjan: do not, together, constitute an instance for (Num (Dual n t)) in Haskell's mind
02:50:25 <elliott> oerjan: because, even though every constructor of Dual has (TN n) in effect, this constraint is not on the type itself (and cannot be)
02:51:00 <Sgeo> elliott, use .... my mind is blank trying to come up with a sufficiently similar dynamically-typed language
02:51:20 <elliott> Sgeo: there is absolutely no call for a dynamically-typed language here; it is merely that the type system is too weak
02:51:44 <elliott> when your logic can't prove a given statement (and you really want to prove it), you don't switch to an inconsistent logic (which a freely typed language is), you switch to a more powerful one
02:52:31 <Sgeo> I really want to prove 1=2 >.>
02:53:13 <elliott> Sgeo: Why.
02:53:47 <Sgeo> Because I was trying to be somewhat funny, and also a power powerful, consistent logic would not help there, yet an inconsistent one would
02:55:04 <olsner> elliott: I think I found the missing magic now: http://hpaste.org/paste/42405/automatic_differentiation#p42407
02:55:19 <elliott> data Dual t = Dual t (Dual t)
02:55:20 <elliott> olsner: fail
02:55:25 <elliott> olsner: this makes Shows completely unreadable
02:55:32 <elliott> olsner: I'm trying to do it the proper way -- a hierarchy of Dual types
02:55:39 <elliott> i.e. length-parameterised lists
02:56:10 <elliott> olsner: that does look cool though
02:56:15 <elliott> olsner: it's just, Show will be so ugly :/
02:56:16 <olsner> elliott: sure, Show always gives an infinite result :)
02:56:29 <elliott> olsner: any ideas around that? other than not using Deriv directly
02:56:39 <Sgeo> Bank of America blocks WikiLeaks. WikiLeaks claims to have dirt on Bank of America
02:56:41 <Sgeo> This is fun
02:57:08 <elliott> Sgeo: *claimed to, ages ago
02:57:12 <elliott> well, _implied_
02:57:27 <elliott> olsner: i mean your solution is more elegant obviously
02:57:32 <elliott> olsner: it's just, :(
02:57:36 <elliott> olsner: I want my hierarchy :P
02:57:42 <elliott> j-invariant: any opinions?
02:58:59 <tswett> Sgeo: ah, how useful.
02:59:19 <olsner> elliott: Eq is a bit interesting too
02:59:32 <elliott> olsner: oh. indeed. that is quite a problem.
02:59:39 <elliott> olsner: e.g. consider piecewise functions.
03:01:13 <elliott> olsner: do you know coq?
03:01:58 <olsner> nope, never used it, only heard of it
03:02:21 <elliott> olsner: well I'm going to have a stab at it in Coq :P
03:02:29 <olsner> good luck :D
03:02:54 <elliott> Inductive Dual T : nat -> Type :=
03:02:54 <elliott> | dualZ : T -> Dual T 0
03:02:54 <elliott> | dualS : forall n, T -> Dual T n -> Dual T (S n).
03:02:54 <elliott> Implicit Arguments dualS [n].
03:02:57 <elliott> olsner: it's not difficult!
03:03:00 <elliott> and those are /real/ naturals
03:03:03 <elliott> as in, "42" works there
03:03:51 <olsner> probably much better suited for what you were trying to do than haskell
03:04:10 <elliott> olsner: yeah, but at the same time less -- instead of simple things like floats, you get constructive reals and other craziness :-)
03:04:27 <olsner> anyway, time for bed now that I've made the code output all the derivatives
03:04:30 <elliott> olsner: I think my original solution is the most elegant right now ... but yours is really nice
03:04:33 <elliott> if not for the infinite shows and no eq
03:04:38 <elliott> ugh, no eq is the worst part
03:04:45 <elliott> olsner: could you add, like, a list terminator?
03:04:54 <elliott> olsner: and then have one d for each possible length
03:05:01 <elliott> olsner: that way if you didn't use infinite lists it'd all come out finite
03:06:04 <elliott> lawl i think i've just kept olsner up for the next ten hours
03:07:30 <olsner> list terminators are ugly, but maybe it's possible to detect at which point all remaining derivatives will be 0
03:08:09 <elliott> olsner: ugly, but not as ugly as that show output, man
03:08:12 <olsner> or do something like use the longest list length of the two inputs to + and *, then let deriv construct a suitable length for what you asked it to do
03:08:56 <olsner> but it's like ... an ugly workaround for not having infinite memory and time available
03:09:39 <olsner> I'd rather just remove show and eq and say that duals are not showable and not comparable :)
03:13:06 <elliott> olsner: you need comparable
03:13:13 <elliott> olsner: foo n | n < 0 = bonk | otherwise = burp
03:13:23 <elliott> olsner: perfectly well-defined on reals, so it should be on duals
03:16:06 -!- augur has joined.
03:18:54 -!- augur_ has joined.
03:19:32 -!- augur has quit (Read error: Connection reset by peer).
03:23:14 -!- bsmntbombdood has joined.
03:25:14 <elliott> olsner: wtf @ the Integral restriction
03:25:18 <elliott> olsner: that makes it useless for actual differentiation :(
03:29:39 * pikhq has achieved the bad ending!
03:29:50 <elliott> j-invariant: *Main> sq' x
03:29:50 <elliott> (x * 2)
03:29:50 <elliott> *Main> sq'' x
03:29:50 <elliott> 2
03:29:54 <elliott> pikhq: Congraturation!
03:29:58 <elliott> pikhq: Now behold ^
03:30:07 <pikhq> elliott: :D :D
03:31:09 <elliott> *Main> deriv 500 sq x
03:31:09 <elliott> 0
03:31:12 <Sgeo> Integral retriction?
03:31:15 <Sgeo> pikhq, what game?
03:31:16 <elliott> Sgeo: now fixed.
03:32:39 <pikhq> Sgeo: Shin Megami Tensei: Persona 3 FES (The Journey). (ペルソナ3FES『Episode Yourself』)
03:33:21 <j-invariant> cool
03:33:39 <elliott> j-invariant: haha great Dual can't be a Real because toRational has to return ... a rational
03:33:43 <elliott> and obviously duals have no rational expression
03:33:54 <elliott> class (Real a, Enum a) => Integral a where
03:33:57 <elliott> so I can't do Integral.
03:34:01 <elliott> Solution: FAKE REAL INSTANCE
03:34:28 <pikhq> elliott: Well, Real is a really abused class already.
03:34:32 <Sgeo> You can't do integrals because duals aren't reals?
03:34:41 * Sgeo huhs
03:34:45 <Sgeo> As in, WTF
03:34:46 <oerjan> well that you cannot do Integral is even more obvious. that's not _supposed_ to work for fractional classes.
03:34:51 <elliott> Sgeo: it is not what you think it is
03:34:54 <elliott> oerjan: well yes.
03:35:05 <Sgeo> Oh, Integral as in.. right
03:35:09 <elliott> j-invariant: wait what is the rule for *division*?
03:35:18 <elliott> of duals
03:35:33 <elliott> oh wikipedia has it
03:35:33 <elliott> sort of
03:36:06 <elliott> ugh
03:36:15 <elliott> hmm
03:36:20 <j-invariant> I always just do (f(x))^-1 and use the d x^n = n x^(n-1) rule
03:39:01 <elliott> instance (Fractional t) => Fractional (Dual t) where
03:39:01 <elliott> (Dual a a') / (Dual b b')
03:39:01 <elliott> | b == 0 = Dual (a'/b') 0
03:39:01 <elliott> | otherwise = Dual (a/b) (((b*a')-(a*b')) / (c*c))
03:39:03 <elliott> such hideousness
03:39:27 <elliott> erm c is b there
03:39:37 <elliott> ugh needs more conversion
03:40:28 <pikhq> And now to have the end song stuck in my head for a bit.
03:41:51 <elliott> pikhq: How bad was the bad ending?
03:42:14 <pikhq> elliott: Life ceased to exist!
03:42:20 <elliott> pikhq: Seriously? :P
03:42:24 <pikhq> Yes, seriously.
03:42:34 <elliott> pikhq: Well, you sure didn't win the game.
03:42:44 <elliott> Why is it giving you an ending song? :P
03:42:52 <pikhq> Cause it ended.
03:43:01 <pikhq> You could even go to a new game+ after that.
03:43:16 <pikhq> Granted, it's *maybe* 5 hours from the good ending. Sooo...
03:43:38 <pikhq> (more if you're a completionist)
03:45:30 -!- augur_ has changed nick to augur.
03:47:08 <elliott> j-invariant: oh god I have to implement Floating ... actually I have no idea why I'm blaming you
03:47:11 <elliott> but still
03:47:17 <elliott> what the fuck is the square root of (a+a'd)???
03:48:32 <elliott> oerjan: actually since there's (Real a, Fractional a) => RealFrac a I beg to differ; clearly there /are/ Real Fractionals
03:49:07 <oerjan> elliott: i was speaking about Integral
03:49:13 <elliott> oerjan: oh right :D
03:50:26 <elliott> oerjan: wanna write sqrt and sin and cos for dual numbers/?!?!?! or uh just tell me how to i guess
03:52:28 <oerjan> i have no idea but i _am_ expecting this to either break down or become horribly complicated (essentially encapsulating _all_ the derivatives) at about this point
03:53:08 <oerjan> as you are leaving simple ring operations behind
03:54:36 <elliott> oerjan: perhaps -- but, then, this is used widely in practice
03:54:41 <elliott> oerjan: i'm not implementing some random idea I had :)
03:54:53 <elliott> combining this with symbolic numbers is _fun_:
03:54:54 <elliott> *Main> deriv 1 x5 x
03:54:54 <elliott> (((x * x) * (x * x)) + ((((x * x) * (x * 2)) + ((x * 2) * (x * x))) * x))
03:55:02 <elliott> (that actually simplifies to the right thing though)
03:55:08 <elliott> (x5 is \x -> x^5)
03:55:13 <oerjan> ok
03:56:26 -!- __s has joined.
03:57:28 <__s> Does it count as a JIT if it compiles into an alternative format? As in, can there be AST JITs?
03:57:35 <elliott> *Main> deriv 1 x5 x
03:57:35 <elliott> (((x ^ 2) ^ 2) + ((((x ^ 2) * (x * 2)) + ((x * 2) * (x ^ 2))) * x))
03:57:38 <elliott> that's (slightly) better
03:57:45 <elliott> __s: I don't understand your question.
03:57:52 <__s> I wrote a befunge JIT
03:58:01 <__s> But it doesn't do machine code
03:58:28 <__s> Instead, it builds an AST. It seems to be fast enough though, outpaces my last interpreter on adder, primegen, mandelbrot
03:58:55 <__s> And my last interpreter was nearing 4x any other interpreters I could find
03:59:07 <elliott> __s: erm, does it support p and g?
03:59:10 <__s> Yes
03:59:13 <elliott> and yes, that still counts as a JIT
03:59:23 <__s> At p, it rebuilds if it isn't dead code or a nop
03:59:25 <elliott> __s: I bet it's slower than fizzie's jitfunge :-) (that did Befunge-98 too ... "sort of")
03:59:29 <elliott> __s: (and did native code)
03:59:33 <elliott> __s: but very impressive!
03:59:36 <elliott> is your code available?
03:59:38 <__s> LLVM?
03:59:40 <__s> Yes
04:00:01 <__s> https://github.com/serprex/Befunge
04:00:38 <__s> Don't mind the commit message, I haven't coded for the past week and I'd fallen into depression so I'm riding a bit of a coding high right now
04:01:55 <__s> I figure next step is to add an optimization pass on the ast, include some special case opcodes. Constant propagation should be very useful with how befunge programs are written
04:02:27 <pikhq> __s: It compiles just in time, making it a JIT.
04:03:06 <oerjan> next: a JTL compiler
04:03:41 <__s> So it's just that normally a JIT needs to generate machine code to pay for the cost of a JIT?
04:03:49 <pikhq> oerjan: Well, math on the duals is very *similar* to math on the complex numbers...
04:03:59 <pikhq> __s: Yeah.
04:04:12 <__s> I figure static interpreters bolted on top of dynamic would otherwise appear on platforms that don't allow machine code generation
04:06:08 <elliott> <oerjan> next: a JTL compiler
04:06:11 <elliott> oerjan: CLC-INTERCAL has one of those.
04:06:20 <elliott> oerjan: named very similarly to your pun IIRC
04:07:33 <oerjan> it _would_ make sense to have that in INTERCAL
04:10:01 <elliott> oerjan: my method /cannot/ yet differentiate (1/x), it seems :D
04:10:35 <elliott> oh, division is just plain broken
04:10:39 <pikhq> elliott: It'd be surprising if it could, actually.
04:10:50 <elliott> pikhq: not *really*
04:11:01 <elliott> aha the issue is that I have no subtraction I think :D
04:11:05 <pikhq> I'm *really* not sure how you could get ln(x) out of that easily.
04:11:23 <oerjan> um ln(x) is the integral
04:11:25 <elliott> pikhq: thankfully I don't have to! because last i checked the derivative of 1/x doesn't involve logarithms
04:11:35 <elliott> this snark is unwarranted though -- I just made the same mistake in another conversation!
04:11:53 <pikhq> oerjan: GAAAH
04:12:00 <pikhq> oerjan: And to think, I got an A in calc I.
04:12:11 <elliott> pikhq: I got an A in addition
04:12:38 <oerjan> elliott: never take fourier analysis, ok?
04:13:57 <elliott> oerjan: :<
04:14:01 <elliott> oerjan: i don't like you
04:14:20 * oerjan wonders if elliott was wooshed there
04:16:27 <j-invariant> to find the integral of log you can use parts on 1 * log(x)
04:17:23 <elliott> oerjan: most likely
04:46:40 <elliott> Vorpal: http://i.imgur.com/fOopp.jpg
04:48:23 -!- TLUL has joined.
04:51:36 -!- __s has left (?).
04:55:49 -!- jcp has quit (Quit: Later).
05:04:29 <elliott> oerjan: hm is the signum of 24 - 145d (1 + 0d) or (1 - 1d)?
05:05:57 <oerjan> i'd say the first
05:06:29 <oerjan> since a small adjustment has no effect on a real signum that isn't close to 0
05:06:48 <elliott> oerjan: but (1-1d) ~= 1 :)
05:06:55 <elliott> but right, yeah, you are of course correct
05:07:01 <elliott> I didn't even realise 'cuz I'm dumb
05:07:35 <elliott> *Main> deriv 1 recip 3
05:07:35 <elliott> -0.1111111111111111
05:07:36 <oerjan> this is also the case for nonstandard reals
05:07:39 <elliott> oerjan: great success.
05:07:55 <elliott> oerjan: right well these are almost hyperreals really :
05:07:56 <elliott> :)
05:08:00 <elliott> which is why I borrowed the st name
05:08:08 <elliott> erm
05:08:10 <elliott> not hyperreals
05:08:12 <elliott> non-standard reals
05:08:30 <oerjan> i'm not sure of the terminology there myself
05:08:46 <elliott> oerjan: hm what's |a+bd|? I think it's just |a|+bd
05:08:48 <elliott> but am not sure
05:08:58 <elliott> e.g., |0-1d| would = 0-1d
05:09:02 <elliott> which is, of course, <0
05:09:11 <elliott> but having it = 0+1d seems very silly... or does it?
05:09:17 <elliott> wait, |-d| of course = d
05:09:23 <elliott> so |a+a'd| = |a|+|a'|d
05:09:29 <elliott> right?
05:09:39 <oerjan> um not quite
05:09:43 <elliott> oerjan: hm right...
05:09:50 <oerjan> if a and a' have the same sign, it is
05:09:56 <elliott> oerjan: right...
05:10:41 <oerjan> basically it's |x|= x if x > 0 and -x if x < 0 and d makes no difference for comparison with 0
05:11:06 <elliott> oerjan: yeah
05:11:10 <elliott> I'll just use comparisons
05:11:18 <oerjan> (unless the large part is 0)
05:13:09 <elliott> hmph, I think this introduces an (Ord t) dependency on my Num instance
05:13:14 <elliott> since abs has to do a comparison
05:13:15 <elliott> oh no wait
05:13:22 <elliott> I can use signum, can't I?
05:14:08 <oerjan> probably since you only need to compare to 0
05:16:35 <elliott> instance (Ord t) => Ord (Dual t) where
05:16:35 <elliott> compare (Dual a a') (Dual b b') =
05:16:35 <elliott> case compare a b of
05:16:35 <elliott> EQ -> compare a' b'
05:16:35 <elliott> x -> x
05:16:41 <elliott> why does this think it needs (Num t) in the head?
05:17:54 <elliott> I can't figure it out
05:18:17 <oerjan> do you have a Num requirement on Dual itself somehow?
05:18:54 <elliott> data Dual t = Dual t (Dual t) | Zero
05:18:55 <elliott> nope
05:18:58 <elliott> OH
05:19:00 <elliott> instance (Num t) => Eq (Dual t) where
05:19:04 <elliott> no idea how that go tthere
05:19:15 <elliott> oh
05:19:16 <elliott> because of 0
05:19:51 * oerjan doesn't see why you need 0 to compare for equality
05:19:56 <elliott> Dual a b == Zero = a == 0 && b == Zero
05:19:56 <elliott> Zero == Dual a b = a == 0 && b == Zero
05:20:09 <elliott> oerjan: so apparently, my code thinks the derivative of abs is 1
05:20:30 <oerjan> only for x > 0, hopefully
05:21:34 <elliott> oerjan: oh wait, that's the actual derivative, isn't it
05:21:45 <elliott> correction: my code computes the derivative of abs PERFECTLY
05:21:48 * pikhq comes to an odd realisation...
05:21:53 <elliott> pikhq: what
05:21:59 <oerjan> "only for x > 0, hopefully"
05:22:05 <pikhq> Technically, almost all of this game is optional.
05:22:09 <elliott> oerjan: indeed.
05:22:22 <pikhq> There are 7 mandatory fights. Total.
05:22:34 <pikhq> Literally everything else can be skipped.
05:22:36 <elliott> pikhq: Play it skipping everything that isn't vital. I dare you.
05:23:27 <pikhq> elliott: Well, the boss fights would be *insanely* hard.
05:23:42 <pikhq> elliott: Except that on a new game plus, you keep your levels and personæ.
05:24:32 <pikhq> So you could have the infinity plus one sword and be able to one-shot everything but the optional boss.
05:25:33 <pikhq> Still. Damn. This game has a lot of room for speedrunning.
05:25:35 <elliott> *Main> deriv 1 abs x
05:25:35 <elliott> *** Exception: /home/elliott/code/adiff/diff.hs:(51,4)-(58,11): Non-exhaustive patterns in case
05:25:39 <elliott> TIL: Breaking laws breaks laws.
05:25:47 <elliott> *Main> signum x
05:25:47 <elliott> (signum x)
05:25:52 <elliott> I suppose that things might, hypothetically, not like that.
05:26:01 <pikhq> Because you can skip everything but 7 bosses and cutscenes.
05:26:34 <elliott> pikhq: Insanely hard -- but there'd only be 7 of them.
05:26:45 <elliott> pikhq: So go for it. From the start. If you absolutely NEED to get some kind of weapon, get the one you can get without doing anything.
05:26:49 <elliott> And BEAT THE FUCKING BOSSES.
05:27:01 <elliott> pikhq: And put it on YouTube.
05:27:05 <pikhq> Probably impossible without really fucking up the RNG.
05:27:25 <pikhq> But with a new game plus, entirely possible, and I could start right now.
05:28:22 <Sgeo> Why am I: Awake. Not having eaten yet. And having done absolutely no work whatsoever?
05:28:52 <elliott> Sgeo: Because you don't like sleeping, you don't like eating, and you don't like working.
05:28:54 <hagb4rd> vacation?
05:29:04 <hagb4rd> drugs?
05:29:19 <Sgeo> I'm going to go back on my meds tomorrow
05:29:33 <elliott> HAPPY MEDS
05:29:41 <pikhq> elliott: Seriously though, this is already a fairly hard game. And it's one of the easiest games from Atlus.
05:29:46 -!- jcp has joined.
05:30:04 <elliott> pikhq: I'm sorry, but if you don't start from scratch and do the bare minimum to complete the game, we can't be friends any more.
05:30:24 <pikhq> I'm strongly suspecting that grinding is mandatory without TASing.
05:30:36 <Sgeo> pikhq, what game?
05:30:52 <pikhq> Simply because you aren't getting any persona other than freaking Orpheus if you do that...
05:31:02 <elliott> pikhq: OK then. Complete the game doing it normally, but make sure you finish *only* with the infinity plus one sword. Nothing else.
05:31:10 <elliott> pikhq: Then new game plus and do the 7 boss fights and nothing else.
05:31:21 <pikhq> (which is like playing Pokémon with just the starter, *never leveling*)
05:31:38 <pikhq> (almost exactly, in fact.)
05:31:43 <elliott> I want to beat Pokémon with an unlevelled starter now :P
05:31:48 <Sgeo> I don't see a game name in scrollback
05:31:51 <elliott> GOOOOOOOO PIDGEY!
05:31:54 <pikhq> Sgeo: Persona 3.
05:31:55 <elliott> (I know that's not a starter. But shut up.)
05:31:59 <Sgeo> Ah
05:32:24 <pikhq> elliott: By comparison, starting a new game plus now would be like playing Pokémon with only a level 100 Mewtwo.
05:32:33 <pikhq> And then only doing the gym battles.
05:32:40 <tswett> Kansansatu, karhu, pala, suu, kettu, -pa, viimein, pohjoinen, päästä, juusto pääsi suusta...
05:32:44 <elliott> pikhq: No, because you have non-infinity+1-sword items.
05:32:48 <elliott> pikhq: Discard them now and do the 7 boss fights.
05:32:53 <tswett> I'm speaking Finnish, see? :P
05:33:41 <tswett> Now to stuff all these words into my brain!
05:34:13 <pikhq> elliott: On a new game plus you merely keep your cash, the items equipped, and your persona compendium. Which basically lets you *purchase* any persona you previously had.
05:34:19 <pikhq> elliott: Oh, and levels. Can't forget that.
05:34:25 <elliott> pikhq: Do not purchase anything.
05:34:34 <elliott> pikhq: Discard all non-infinity-plus-one-sword items. Discard all cash.
05:34:40 <pikhq> elliott: Except the persona needed.
05:34:43 <elliott> pikhq: No.
05:34:46 <elliott> pikhq: Do not buy that either.
05:34:49 <elliott> pikhq: (Can you avoid doing so?)
05:34:53 <Sgeo> Discard #esoteric
05:34:57 <pikhq> elliott: No, this is actually impossible.
05:35:09 <elliott> pikhq: Buy the cheapest Persona possible.
05:35:12 <elliott> Discard the rest of the cash.
05:35:15 <pikhq> elliott: Orpheus.
05:35:17 <elliott> pikhq: Enter first battle. Continue until the last boss is completed.
05:35:23 <elliott> pikhq: It should be fine, since you have that magical sword. Good luck :P
05:35:25 <pikhq> elliott: Unleveled starter...
05:35:30 <elliott> pikhq: ...with magic sword.
05:35:41 <pikhq> elliott: "Infinity plus one sword" is a trope name. It's actually *referring* to the persona.
05:35:55 <elliott> pikhq: I know it was a trope name ... but aww, I hoped it was a real sword.
05:36:02 <pikhq> Sadly, one of the bosses is immune to physical attacks.
05:36:13 <pikhq> So having the best *sword* in the game won't get you all the way through.
05:36:16 <elliott> pikhq: OK. Start game. Purchase persona. Discard all other cash and items. Boss fights.
05:36:24 <elliott> pikhq: And that doesn't matter; you can just do that one tediously and impossibly, surely?
05:36:34 <pikhq> elliott: Null. Physical.
05:36:38 <pikhq> elliott: You. Cannot. Hurt. It.
05:36:44 <elliott> pikhq: Then how is it killed? :p
05:36:49 <pikhq> elliott: Magic.
05:36:58 <elliott> pikhq: How do you obtain the relevant magic?
05:37:03 <pikhq> elliott: Persona.
05:37:13 <elliott> pikhq: Including the infinity+1 one?
05:37:38 <pikhq> The infinity+1 one can one-shot everything but a single optional boss that appears only in a new game plus.
05:37:49 <elliott> pikhq: Skip the boss.
05:38:23 <elliott> pikhq: No?
05:39:07 <elliott> pikhq: No?
05:39:07 -!- evincar has joined.
05:39:11 <elliott> hi evincar
05:39:16 <evincar> Hey elliott.
05:39:34 <evincar> What's the project and/or topic?
05:39:39 <pikhq> And anyways, this game is almost impossibly difficult if you can't do things like "healing" or "more than a few points of damage".
05:39:57 <elliott> pikhq: BUT IT CAN ONE-SHOT THEM.
05:40:02 <elliott> evincar: Various! I'm about to embed myself.
05:40:07 <pikhq> elliott: With one-shotting, yes, it's really easy.
05:40:09 <elliott> I've done some automatic differentiation code. It's fun.
05:40:11 <elliott> pikhq: So go do it.
05:40:21 <pikhq> But good ending!
05:40:42 <evincar> elliott: Into...what, exactly?
05:40:45 <pikhq> And technically I don't have the infinity-plus-one sword! Just the next-closest thing!
05:40:49 <elliott> evincar: Bed, duh.
05:41:04 <elliott> pikhq: Replay it. Make sure you finish with only the infinity-plus-one.
05:41:05 <evincar> elliott: Oh, you mean embedden. :P
05:41:14 <elliott> pikhq: New game plus. Discard all other items. One-shot boss fights.
05:41:17 <elliott> The end.
05:41:41 <pikhq> That will probably be a bit tedious, but easily doable.
05:41:47 <elliott> pikhq: Go do it.
05:41:55 <elliott> pikhq: YouTube the whole new game plus.
05:42:05 <elliott> evincar: Right now I'm ordering pikhq to do silly things with a game I've never played.
05:42:17 <pikhq> BTW, you should play this game.
05:42:35 <evincar> elliott: Oh, be nice.
05:43:18 <elliott> evincar: But this is nice!
05:43:28 <elliott> pikhq: I would ... except I have no PlayStation N, and Wikipedia suggested etc.
05:43:31 <elliott> (For some N.)
05:43:33 <evincar> I'm considering the terrible idea of creating a font authoring system.
05:43:34 <pikhq> 2.
05:43:38 <evincar> It's terrible because it's big, not because it's bad.
05:43:41 <pikhq> Which is like $99.
05:45:32 * tswett enters 31 cards into his flash card program so he can stuff them into his brain.
05:45:44 <elliott> evincar: What, isn't FontForge painful enough?
05:45:54 <elliott> pikhq: Fine, buy it for my Christmas present.
05:46:03 <pikhq> elliott: No income!
05:46:13 <evincar> elliott: No, less like FontForge/Fontographer/whateverthefontingfontsoftware and more like Metafont, but less like TeX.
05:46:14 <elliott> pikhq: YOU'RE NOT BUYING ME A PRESENT?!
05:46:46 <elliott> pikhq: What kind of hardware do you need to emulate a PS2?
05:46:54 <evincar> Also, I just realised I have the June 1957 issue of MAD, which contains an article by Donald Knuth.
05:46:56 <pikhq> Uh, quite good?
05:47:13 <elliott> pikhq: Approx. specs?
05:47:19 <elliott> evincar: Awesome! The system of measurements?
05:47:23 <evincar> "The Potrzebie System of Weights and Measures"
05:47:29 <pikhq> evincar: :)
05:47:30 <elliott> <3
05:48:06 <elliott> Wow, I cannot pronounce Potrzebie.
05:48:16 <elliott> pikhq: Approx. specs? :p
05:48:39 <pikhq> elliott: Uh.
05:48:44 <pikhq> elliott: 4 core, really good GPU?
05:49:11 <evincar> elliott: I pronounce it according to the Polish pronunciation, since, y'know, family's Polish and all...
05:49:29 <elliott> evincar: What /is/ the Polish pronunciation of that?
05:49:33 <evincar> "Pot-sheb-yeh" is all I can do for you without IPA or SAMPA.
05:49:39 <elliott> evincar: BOORING
05:49:46 <elliott> Potterzebie, but without the te.
05:49:59 <oerjan> the sh is voiced, no?
05:50:01 <elliott> IMPOSSZEBIE
05:50:17 <elliott> pikhq: So my new laptop won't do it. :(
05:50:25 <evincar> oerjan: Depends on your accent, but it usually isn't, I don't think.
05:50:30 <oerjan> oh
05:51:23 <elliott> pikhq: (2.13 GHz modern Core 2 Duo, 4 GiB RAM, high-end integrated graphics (GeForce 230M 256MB))
05:51:44 <elliott> pikhq: Oh, the PS2 is the Emotion Engine bullshit.
05:51:52 <elliott> pikhq: With, like, seventy processors ...
05:51:53 <pikhq> Yuh.
05:52:11 <elliott> pikhq: Hmm. I could hook the PlayStation up to the laptop display, though, couldn't I?
05:52:17 <elliott> (It's a stupid Mini DisplayPort thing, but I can adapter.)
05:52:23 <elliott> pikhq: (I have no TV in my room right now ...)
05:52:26 <pikhq> Probably.
05:52:29 <elliott> (TODO: Fix that. Some day.)
05:52:36 <elliott> pikhq: Oh, do the recent PS2 models have digital out?
05:52:39 <elliott> Or just analogue?
05:52:45 <elliott> I don't like me no analogue vidyas.
05:52:50 <pikhq> PS3 does.
05:53:08 <elliott> pikhq: PS3 can't play PS1 games and is expensive.
05:53:09 <pikhq> Older ones, like mine, are backwards compatible.
05:53:14 <pikhq> All of them play PS1 games.
05:53:25 <elliott> pikhq: Oh, it's PS1 but not PS2. Right.
05:53:32 <pikhq> No, this one is PS2.
05:53:37 <elliott> Yes. I know.
05:53:41 <elliott> pikhq: PS3 is incredibly ugly anyway, pre-Slim; the PS2 design has always been really nice IMO.
05:53:43 <pikhq> Erm. Yeah.
05:53:48 <elliott> And Slim and after is no-PS2, right?
05:53:55 <elliott> So yeah, I kinda want an actual PS2.
05:53:59 <pikhq> Yeah.
05:54:01 <coppro> elliott: just download a ps2 emulator
05:54:14 <elliott> coppro: I think we've established that my hardware is not up to that.
05:54:37 <elliott> coppro: Or?
05:55:31 <elliott> pikhq: Today on "Names Wikipedia Likes To Use For Being More 'Neutral' Or Technically Correct That Nonetheless Confuse Just About Every Fucking Person Who Sees Them":
05:55:35 <elliott> pikhq: http://en.wikipedia.org/wiki/Corrugated_fiberboard (Cardboard)
05:55:48 <elliott> pikhq: http://en.wikipedia.org/wiki/Fixed-wing_aircraft (Aeroplane/Airplane)
05:56:00 <elliott> pikhq: http://en.wikipedia.org/wiki/Association_football (Football/English football/soccer)
05:56:11 <elliott> It wouldn't be so bad, if they didn't make EVERY LINK use that terminology too.
05:56:23 <coppro> elliott: that one is required too
05:56:29 <coppro> s/too/
05:56:33 <elliott> coppro: ?
05:56:50 <coppro> elliott: "football" is a page about all football games generally
05:56:53 <elliott> coppro: As a Brit, I would /vastly/ prefer Soccer to the current name.
05:57:03 <elliott> ("Soccer" was invented by an Englishman, anyway.)
05:57:12 <elliott> coppro: Nobody says "association football".
05:57:15 <evincar> Hmm. I may have to say I *had* that MAD issue, as I can't seem to find it at the moment. It may have been in such poor condition that it got thrown away without my realising it. But I know I've read it, and it was an original printing.
05:57:16 <elliott> Nobody says "corrugated fiberboard".
05:57:18 <augur> elliott: JS?
05:57:29 <elliott> NOBODY says "fixed-wing aircraft" apart from maybe people who already know what they are in /detail/.
05:57:32 <pikhq> elliott: At least, nobody says "association football" in the past century.
05:57:37 <elliott> augur: what about JS?
05:57:41 <elliott> pikhq: Indeed.
05:57:46 <augur> elliott: are you skilled in it?
05:57:51 <pikhq> elliott: "Soccer" *is* a contraction of that, after all.
05:58:00 <augur> i know what a fixed-wing aircraft is :|
05:58:04 <augur> not that i'd say it, but
05:58:06 <elliott> Yes, but nobody says that.
05:58:13 <elliott> augur: I know all about its horrible, horrible corners and I can write code in it.
05:58:14 <augur> rotating-wing aircraft!
05:58:23 <elliott> It is a horrible language, and I would like to avoid doing so whenever possible.
05:58:23 <elliott> Why?
05:58:25 <augur> elliott: and video games? do you play them?
05:58:34 <elliott> augur: Uh, on occasion, yes.
05:58:37 <augur> scifi?
05:58:49 <elliott> augur: Sure, why not.
05:58:57 <augur> would you like to make a game with me?
05:59:08 <elliott> augur: Um. Does it involve coding JavaScript?
05:59:15 <augur> or C#
05:59:20 <elliott> augur: Why C#.
05:59:23 <augur> unity3d
05:59:48 <Sgeo> I'm C#-enabled
05:59:55 <elliott> augur: I refuse to work on anything Sgeo works on.
06:00:02 <elliott> augur: Would there be a server-side part? :p
06:00:15 <augur> elliott: possibly, but preferably not
06:00:16 <elliott> Unity looks like it doesn't have real JS, just "UnityScript", anyway.
06:00:21 <augur> this is true
06:00:25 <Sgeo> elliott, you've worked on PSOX
06:00:28 <elliott> augur: There's also Boo, which is python and thus horrible.
06:00:31 <Sgeo> Mostly deleting stuff, but still
06:00:36 <elliott> Sgeo: Only to try and de-shittify it (which didn't work).
06:00:51 <elliott> augur: Are you /sure/ there's not a server-side part that I could lovingly craft in Haskell?
06:00:53 <Sgeo> Removing its sandboxing mechanisms is "de-shittifying it"?
06:00:56 <elliott> Sgeo: Yes.
06:00:59 <augur> elliott: im sure :(
06:01:01 <augur> oh haskell
06:01:03 <elliott> augur: In fact, why don't you just use OpenGL and the whole thing can be in Haskell. :p
06:01:05 <augur> my dearest haskell
06:01:20 <augur> elliott: because unity is a nice little cross-platform engine
06:01:31 <Sgeo> F#!
06:01:35 <elliott> augur: It's also closed-source, which -- being a fag -- makes me want to stay well away from it.
06:01:42 <evincar> elliott: He's right, you know. Unity is alright.
06:01:43 <augur> yeah well.
06:01:47 <elliott> (Note: Fag justification possibly flimsy.)
06:01:58 <augur> elliott: you're also a homosexual.
06:01:59 <evincar> Sgeo: I spit on .NET.
06:02:01 <elliott> Oh and it looks like its UI does its own widgets, ew. (See, even flimsier.)
06:02:14 -!- sebbu2 has joined.
06:02:15 <augur> i think you can dick around with UI stuff
06:02:17 <Sgeo> elliott, just like The GIMP!
06:02:19 <augur> im not sure.
06:02:26 <Sgeo> [in the past][I think]
06:02:40 <elliott> Sgeo: Um, the GIMP invented GTK+ because /there were no toolkits/.
06:03:04 <augur> so does anyone want to work on a scifi videogame?
06:03:14 <elliott> augur: So in conclusion, I'll work on your Unity-based, UnityScript-or-C game if it's actually OpenGL-based and Haskell. Hell, I demand a change from sci-fi to fantasy and from video game to drinking game while I'm at it.
06:03:25 <augur> lol
06:03:40 <elliott> augur: No but seriously, you should do it in OpenGL and Haskell.
06:03:40 <Sgeo> I can learn UnityScript >.>
06:03:57 * Sgeo has weird... things with these sorts of languages
06:04:05 <elliott> augur: Sgeo wants to be part of your project solely for the "reputation" and "fame" it will bring.
06:04:05 -!- pingveno has quit (Ping timeout: 240 seconds).
06:04:16 <augur> Sgeo: i already have a rough idea of how i want the game to go, and i have a bit of code already, i just want someone to work with
06:04:32 <oerjan> elliott: an opengl drinking game in Haskell? sounds like the thing.
06:04:32 <evincar> elliott: Functional programming languages have never seemed particularly well-suited to game development, in my mind.
06:04:36 <elliott> augur: You really don't want to work with Sgeo. (I am doing a service to Sgeo here as well as you :P)
06:04:39 <elliott> evincar: FRP.
06:04:50 <elliott> evincar: The only reason they seem unsuited is because the default IO monad model is _broken_.
06:05:04 <elliott> evincar: There is a functional way to do effects, FRP; it's sort of like event-based programming, but purely functional.
06:05:22 <Sgeo> elliott, I'm assuming augur is not an idiot. And you don't think I'm an idiot, do you?
06:05:33 <elliott> Sgeo: I refuse to comment.
06:05:34 <evincar> elliott: Let me guess. The state of the program is a function of the current moment and all events that have happened up to the current moment?
06:05:38 <elliott> evincar: No.
06:05:43 <elliott> evincar: That's the shitty, non-functional model.
06:05:48 <evincar> elliott: Well, that's what it ought to be. ;P
06:05:53 <evincar> Haha...
06:05:55 -!- sebbu has quit (Ping timeout: 264 seconds).
06:05:56 <elliott> evincar: No, that's just the State monad, faked as a function.
06:06:01 <Sgeo> elliott, you once defended me when Vorpal made a comment...
06:06:03 <elliott> In fact it's the IO monad faked as the State monad faked as a function.
06:06:15 <oerjan> Sgeo: we'll consider that question once you've done your homework... >:)
06:06:16 <elliott> evincar: Seriously -- there are ways to do games elegantly and functionally, and if I wasn't about to go to bed I'd be happy to explain.
06:06:17 -!- pingveno has joined.
06:06:20 <evincar> The only place that'd work is in something like Flash, methinks...
06:06:26 <elliott> oerjan: Kick ban him! Given into temptation!
06:06:27 <evincar> ...that is, what I said.
06:06:40 * pikhq waits for Death
06:06:47 <oerjan> elliott: he clearly stated that he procrastinated just fine without the channel
06:07:01 <elliott> oerjan: yes, but he can procrastinate without irritating me :)
06:07:15 <elliott> bah humbug!
06:07:21 <evincar> elliott: Well, another time, perhaps. I don't doubt it, I just find that it's easier for me to use an imperative style for realtime apps and leave declarative for editors and stuff like that.
06:07:27 <elliott> and a sodding rubbish christmas to you lot, too!
06:07:34 <evincar> G'night?
06:07:45 <elliott> evincar: Were I to explain it to you you'd be converted, but MY BODY NEEDS TO GO UNCONSCIOUS GOD DAMMIT.
06:07:54 <evincar> s/?/./
06:07:55 <Sgeo> elliott, night, and happy <insert generic but still not applcable wishes here>
06:08:01 -!- elliott has quit (Quit: so long, fuckers).
06:08:46 <Sgeo> elliot, feel free to explain it to me when you're back, I'd love to learn
06:09:25 <evincar> Sgeo: You got "so long, fuckers"ed.
06:09:51 * Sgeo wishes he was a ... *gets slapped*
06:10:34 -!- j-invariant has quit (Quit: leaving).
06:11:18 <augur> elliott is so hilarious
06:13:41 <evincar> A character, certainly.
06:14:53 <Sgeo> U+ED?
06:15:03 <Sgeo> (the only letters in his name that are hex numerals)
06:16:08 <evincar> Nah, I'm pretty sure he lives far into the private-use area.
06:16:13 <oerjan> omg he is secretly ed!
06:17:04 <tswett> Words stuffed. That took about ninety seconds per word. Now let's see if I can understand any of this story whatsoever.
06:19:00 <tswett> "Karhulla oli juustonpala suussa." Something to do with a bit of cheese and a mouth.
06:19:21 <tswett> A bear, a bit of cheese, and a mouth.
06:19:23 <oerjan> `translate Karhulla oli juustonpala suussa.
06:19:29 <HackEgo> Bear was a piece of cheese in your mouth.
06:19:39 <tswett> I'm sure that's exactly what it means.
06:20:07 <tswett> Okay. -lla denotes the adessive case, which means... either in or on, lemme see.
06:20:15 <oerjan> `translate Karhulla
06:20:18 <HackEgo> Karhulla
06:20:24 <tswett> On.
06:20:25 <oerjan> `translatefromto fi en Karhulla
06:20:26 <HackEgo> Bear
06:20:34 <tswett> Now, "oli"... some form of "olla".
06:20:38 <oerjan> `translatefromto fi en oli
06:20:45 <HackEgo> was
06:20:51 <oerjan> `translatefromto fi en juustonpala
06:20:54 <HackEgo> a piece of cheese
06:20:54 <tswett> Third-person singular indicative past. "Was".
06:21:08 <oerjan> `translatefromto fi en suussa
06:21:09 <HackEgo> mouth
06:21:20 <tswett> I think "juusto" is "cheese"; who knows what the "n" is all about. "Pala" is "bit".
06:21:27 <oerjan> The bear had a piece of cheese in its mouth, perhaps?
06:21:37 <tswett> Finally, -ssa is "in".
06:21:47 <tswett> So. "On the bear was a cheese-bit in the mouth."
06:22:01 <tswett> Or, more idiomatically, "The bear had a piece of cheese in its mouth."
06:22:11 <oerjan> yay
06:22:18 <Gregor> `translateto en a piece of cheese
06:22:19 <HackEgo> a piece of cheese
06:22:24 <Gregor> Err
06:22:27 <Gregor> `translateto fi a piece of cheese
06:22:29 <HackEgo> pala juustoa
06:22:48 <tswett> Gregor, your bot's translations into English are truly brilliant.
06:22:54 <oerjan> `translateto no a piece of cheese
06:22:56 <HackEgo> et stykke ost
06:23:04 <tswett> The phrase "a piece of cheese" captures every nuance of the phrase "a piece of cheese".
06:23:23 <tswett> Okay. Next sentence...
06:23:32 <oerjan> tswett: oh i don't know, it's a bit imprecise
06:23:51 <oerjan> i mean, what was the cheese's motivation?
06:24:05 <tswett> "Kettu pyysi sitä monta kertaa, mutta karhu ei sitä ketulle antanut."
06:24:30 <tswett> Well, "kettu" means "fox". So... something about a fox. "Karhu" is still "bear". I think "mutta" might be "but".
06:24:37 <tswett> `translate "Kettu pyysi sitä monta kertaa, mutta karhu ei sitä ketulle antanut.
06:24:39 <HackEgo> &quot;Fox asked for it many times, but the bear does it gives the fox.
06:24:52 <Gregor> tswett: It's just Google.
06:25:10 <tswett> Gregor, your bot's invocations of Google are truly brilliant.
06:25:25 <oerjan> apart from the missing ei -> not, that was pretty understandable...
06:25:36 <tswett> Indeed.
06:25:47 <tswett> Well, I don't recognize any of the other words, so I'm just going to move on to the next sentence.
06:26:29 <tswett> "Kettu kysyi viimein: 'Tiedätkö mistä nyt tuuli käy?'"
06:26:49 <tswett> The fox does something finally: "Something something something something something?"
06:26:56 <tswett> `translate Kettu kysyi viimein: 'Tiedätkö mistä nyt tuuli käy?'
06:28:30 <oerjan> `echo ping
06:29:14 <tswett> Gregor: the source-of-fun has stopped yielding fun! Labor in order to make us feel better!
06:29:34 -!- hagb4rd has quit (Quit: hagb4rd).
06:29:46 <HackEgo> No output.
06:30:22 <tswett> Oh, I'm just going to use a google.
06:30:30 <oerjan> http://i.imgur.com/a4yhf.jpg
06:30:33 <tswett> El zorro finalmente preguntó: "¿Sabe usted donde el viento es ahora?"
06:30:50 <oerjan> `echo ping
06:30:53 * tswett changes the output language.
06:30:54 <tswett> The fox finally asked: "Do you know where the wind is now?"
06:31:36 <tswett> So, I can read a lot of this, but not most of it.
06:32:30 <HackEgo> ping
06:33:57 <HackEgo> No output.
06:34:05 <tswett> `echo ping 19 38 59 (resonance mode, damping at level 7)
06:34:14 <HackEgo> ping 19 38 59 (resonance mode, damping at level 7)
06:37:13 -!- hagb4rd has joined.
06:42:27 -!- evincar has quit (Quit: Sleep?).
06:57:32 -!- church1 has quit (Ping timeout: 272 seconds).
07:07:02 <Sgeo> What is 0/epsilon?
07:12:56 <Sgeo> So, I want to find f'(5) where f(x) = x^2
07:14:05 <Sgeo> (5+eps)^2 = 25 + 2*5*eps + eps^2
07:14:13 <Sgeo> = 25 + 10eps
07:14:28 <Sgeo> - 25 = 10eps
07:14:32 <Sgeo> /eps = 10
07:14:37 <Sgeo> Correct result, awesome
07:15:30 <Sgeo> I'd try it with e^x but don't know how to do n^eps, is it 0 or something weird like that?
07:15:53 <Sgeo> I can find out!
07:16:25 <oerjan> e^eps is probably 1+eps
07:17:24 <Sgeo> e^eps must equal something + eps...
07:17:34 <Sgeo> oerjan, why 1?
07:17:46 <oerjan> it has to be close to 1 because eps is close to 0
07:18:44 <oerjan> more generally, i find the approximation e^x ~ 1+x for small x is useful for head estimates...
07:20:12 <Sgeo> Now, for the dual part of eps^eps
07:20:42 <Sgeo> (1+eps)^(1+eps) = something + 0eps
07:20:42 -!- TLUL has quit (Read error: Connection reset by peer).
07:20:45 <Sgeo> o.O
07:21:00 <Sgeo> Did I screw that up? Yes I did I think
07:21:06 <Sgeo> I think I forgot the derivative of x^x
07:21:45 <Sgeo> something + eps
07:22:04 <oerjan> x^x + x^x * ln x
07:23:43 <oerjan> i am assuming that f(x + y*eps) = f(x) + y*f'(x)*eps for f a function differentiable at x
07:24:08 <Sgeo> That's what Wiki says I think
07:25:18 -!- TLUL has joined.
07:44:00 -!- hagb4rd has quit (Quit: hagb4rd).
07:49:25 -!- hagb4rd has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:36:55 -!- Sgeo has quit (Read error: Connection reset by peer).
08:43:08 -!- pingveno has quit (Ping timeout: 260 seconds).
08:45:03 -!- pingveno has joined.
08:49:48 -!- oerjan has quit (Quit: Good night).
09:54:06 -!- MigoMipo has joined.
10:18:45 -!- ais523 has quit (Remote host closed the connection).
10:23:53 -!- Phantom_Hoover has joined.
11:09:36 -!- hagb4rd has quit (Ping timeout: 272 seconds).
11:56:24 -!- TLUL has quit (Quit: *disappears in a puff of orange smoke*).
12:07:09 -!- Zuu has quit (K-Lined).
12:11:06 <Vorpal> <elliott> Vorpal: http://i.imgur.com/fOopp.jpg <-- what the hell is that?
12:18:55 -!- FireFly has joined.
12:18:55 -!- FireFly has quit (Changing host).
12:18:55 -!- FireFly has joined.
12:50:33 -!- hagb4rd has joined.
13:09:59 <Phantom_Hoover> Vorpal, some kind of hyperdungeon?
13:16:38 <Ilari> Actually, I don't see any odd geometry in that...
13:16:55 * Phantom_Hoover swatpans Ilari --==\#/
13:17:10 <Ilari> Ouch.
13:22:19 <Ilari> Based on blockiness, I guess its from minecraft...
13:32:35 <Vorpal> Phantom_Hoover, ?
13:32:40 <Vorpal> Phantom_Hoover, oh the image
13:32:42 <Vorpal> Phantom_Hoover, perhaps
13:33:10 <Vorpal> Phantom_Hoover, man made in large parts I suspect
13:33:12 <fizzie> The "shadowy" spots look abnormal.
13:36:29 <Vorpal> fizzie, same do the cages
13:36:58 <Vorpal> it must be man-made
13:37:20 <fizzie> Sure, but I mean "abnormal" in the sense of "not like the usual lighting rules".
13:37:46 <Vorpal> fizzie, indeed
13:38:25 <Vorpal> fizzie, it's the default texture pack I think
13:38:59 <fizzie> Could be, I haven't looked at that lately. :p
13:40:07 <Vorpal> fizzie, btw I'm handing out free records (subject to limited availability)
13:41:08 <fizzie> I'm going to log on soon(ishly) to test things.
13:44:04 <Vorpal> fizzie, to test what?
13:44:23 <fizzie> The "don't jump if blocked" best-effort test.
14:06:35 <Phantom_Hoover> I love the TV Tropes Troper Tales pages...
14:07:26 <Phantom_Hoover> I bet you thought Wolfram had the largest ego possible without collapsing under its own weight.
14:07:28 <Phantom_Hoover> You were wrong.
14:08:44 <Phantom_Hoover> Fortunately, Mary Sue has been cleansed of self-nominations.
14:11:00 <Phantom_Hoover> In other news, I finally worked out the relationship between differentiation and integration in my head, 3 years after learning calculus.
14:11:44 <Phantom_Hoover> I am now content with the world.
14:12:26 <Phantom_Hoover> http://tvtropes.org/pmwiki/pmwiki.php/TroperTales/EverybodyHatesMathematics
14:21:59 <Vorpal> wow
14:23:12 <olsner> Phantom_Hoover: hmm, what's the relation between integration and differentiation?
14:23:25 <Phantom_Hoover> olsner, seriously?
14:24:13 <Phantom_Hoover> The whole "int_a^bf(x)dx = F(a)-F(b)" bit?
14:24:24 <Phantom_Hoover> *F(b)-F(a)
14:24:38 <olsner> I mean, did you just realize what the words mean, or did you find a more profound relationship?
14:25:46 <Phantom_Hoover> I realised why it happens in the first place.
14:30:20 <Ilari> And since everybody hates matematics... It is easy to disinform using creative statistics... :-)
14:32:34 <olsner> Phantom_Hoover: it "happens"? I've always thought integration and differentiation was something you *did* rather than something that just happens
14:33:04 <Phantom_Hoover> olsner, "the reason differentiation and integration are inverses of each other", then.
14:38:46 <olsner> I never managed to learn the definition of integration, but for me integration means semi-intelligently guessing a function that has the correct derivative
14:39:28 <olsner> and then they're simply inverses by definition :)
14:49:04 <Phantom_Hoover> olsner, yes, but the other meaning of (definite) integration is the calculation of the area under a curve.
14:49:40 <Phantom_Hoover> Which has, on the face of it, absolutely nothing to do with gradients of curves at a point.
15:08:45 * Phantom_Hoover installs GNUstep with a feeling of self-hatred.
15:12:18 <olsner> cut wrist, install gnustep?
15:12:35 <Phantom_Hoover> Not just gnustep!
15:12:39 <Phantom_Hoover> gnustep-devel!
15:12:56 <Phantom_Hoover> ("dev" isn't fancy enough for the GNUstep people, apparently.)
15:16:53 <Phantom_Hoover> OTOH, Oolite is worth it.
15:23:49 <olsner> http://www.youtube.com/watch?v=D1sXuHnf_lo
15:29:56 <Quadrescence> i have some NeXTSTEP shit
15:29:59 <Quadrescence> anyone wanna buy it
15:39:25 <Phantom_Hoover> No.
15:40:24 <Phantom_Hoover> I'm only installing GNUstep because Oolite was originally written in Objective-C, and noöne could think of a better way to port it to other platforms.
15:41:01 <Quadrescence> well I still have two nextstep pizza boxes
15:41:06 <Quadrescence> and a megapixel monitor
15:41:12 <Quadrescence> and other BULLSHIT i want to get rid of
15:50:25 -!- elliott has joined.
15:54:19 <elliott> 07:29:56 <Quadrescence> i have some NeXTSTEP shit
15:54:19 <elliott> 07:29:59 <Quadrescence> anyone wanna buy it
15:54:20 <elliott> only a cube.
15:57:52 <Quadrescence> tru
15:57:57 <Quadrescence> every1 luvs the cube
15:58:04 <Quadrescence> but i only have slabs of shit
15:58:14 <elliott> Quadrescence: well do you have anything that can actually boot
15:59:05 <Quadrescence> yes
15:59:11 <Quadrescence> one of the slabs boots up fine
15:59:18 <Quadrescence> the other doesn't (idk why)
16:01:14 <elliott> hm what keyboard/mouse ports do they have, wikipedia doesn't say
16:13:23 -!- reiffert has quit (Ping timeout: 276 seconds).
16:13:28 -!- reiffert has joined.
16:15:46 -!- Gracenotes has quit (Remote host closed the connection).
16:19:17 -!- Gracenotes has joined.
16:25:45 <fizzie> Making a case more cubical than flat seems to be a surefire way of attracting people.
16:26:29 <fizzie> I have that SGI Indy slab ("Indigo without the 'go'", referring to the performance), and it's irrefutably more boring than the O2s, no matter that their hardware doesn't differ *that* much.
16:28:02 <fizzie> (The O2 is a sort of a rounded cubeish thing.)
16:28:46 <fizzie> (Admittedly it does also have many more megahurts too.)
16:33:59 -!- poiuy_qwert has joined.
16:35:36 -!- p_q has quit (Ping timeout: 265 seconds).
17:01:06 -!- sftp has quit (Read error: Operation timed out).
17:01:35 -!- sftp has joined.
17:01:43 -!- Sasha has joined.
17:16:00 -!- elliott_ has joined.
17:16:00 -!- elliott_ has quit (Client Quit).
17:16:05 <elliott> fizzie: ERROR: Permission to fis/mcmap.git denied to ehird.
17:16:06 <elliott> fizzie: Plzfix?
17:16:25 <elliott> fizzie: I think you pretty much have to add people individually as contributors :P
17:16:29 <elliott> I has two useful commits to push.
17:17:51 <Deewiant> Can't you make a pull request
17:18:16 <elliott> Deewiant: Yes, but fizzie said it was going to be public-push, and that sounds more fun than having my own repo. :p
17:20:20 <fizzie> Yes, I can add you as a collabomator there, soon. (What's the two things?)
17:21:08 <elliott> fizzie: //coords, which does some printin' of coordy actions (because F3 gets overwritten with graphs a lot), and I changed the "pure white" colour to in fact just use the terminal's default colours, so it works on lightbulb-y terminals too.
17:21:11 <elliott> (i.e. light-backgrounded)
17:21:18 <elliott> *backgrounded.)
17:23:00 <elliott> fizzie: Is it "easy" to inject chat packets?
17:23:05 <elliott> If so, I'll make //coords do that.
17:23:25 <elliott> (The colour code syntax would be nice, too; I know it involves that wavy S thing.)
17:25:53 <fizzie> Sure.
17:26:12 <fizzie> inject_to_client(packet_new(PACKET_CHAT, "foo")); will probably make 'foo' appear on the client.
17:26:23 <fizzie> (Just #include "common.h" and "protocol.h" for that.)
17:27:58 <fizzie> And the color code syntax is just §-in-UTF8 followed by a character out of [0-9a-f], the palette is also somewhere.
17:28:15 <fizzie> Or you can look at the color code decoding to map between palette and terminal colors.
17:29:13 <fizzie> UTF-8 in strings probably might not be quite safe, but you can use something like "foo \xc2\xa7dbar" to get bar in color d.
17:29:16 <elliott> fizzie: If I put the actual UTF-8 byte in the source, you'll hate me, won't you?
17:29:21 <elliott> Aww, see, see, you preempted me.
17:29:26 <fizzie> Yes, and it's not a byte, it's two.
17:29:30 <elliott> Yes, yes, yes.
17:29:33 <elliott> You PEDANT.
17:29:38 <elliott> fizzie: Oh man, I have to use sprintf. Isn't that great?
17:30:31 <elliott> I'll just make a 96-byte buffer; 's a power of two, and my envelope calculations tell me it'll work right up until Notch switches to 128-bit coordinates.
17:31:15 <fizzie> What should I write in the collaborator thing? Is it a github account name or what? Are you that "ehird" guy?
17:31:41 <elliott> fizzie: I may be that ehird guy, yes.
17:31:45 <elliott> And I think that's what you put in there, yes.
17:32:00 <elliott> I am also that alise guy, but I use that account even less than this one.
17:32:13 -!- Goosey has quit (Read error: Connection reset by peer).
17:32:22 <fizzie> Well, it's there. And ooh, it has a completion thing.
17:32:56 <elliott> So, wait, are packet_news garbage collected?
17:33:58 <fizzie> No, but when you hand a packet to inject_foo, the corresponding proxy thread will deallocate it when it has been injected.
17:34:11 <elliott> Ah.
17:34:21 <elliott> fizzie: What is your favourite colour?
17:34:36 <elliott> (I need to pick a colour for the mcmap chat messages that isn't red (hMod) or purple (COBOLSERVER 3000).)
17:34:51 <fizzie> Aw, I was going to go all purple.
17:35:10 <elliott> fizzie: I think ineiros would strike down upon thee.
17:35:36 <fizzie> The pink is quite sexy too, but I guess that's rather close to purple.
17:35:54 -!- j-invariant has joined.
17:36:25 <elliott> Is yellow used for anything?
17:36:32 <elliott> Hmm, yes, it is, but I forget what.
17:36:37 <elliott> Is that the "main" server messages?
17:36:45 <fizzie> I vaguely recall seeing yellow somewhere, but not sure where.
17:36:49 <j-invariant> any luck with the differentatiation
17:36:53 <elliott> I'll go with cyan.
17:37:02 <fizzie> Right, the "left the game" "joined the game" messages are in yellow.
17:37:08 <elliott> j-invariant: well, yep; it works properly, for Nth derivatives, parameterisable N, and finite shows
17:37:28 <elliott> j-invariant: basically I added a new constructor Zero that is, semantically, identical to (fix (Dual 0))... but of course all the operations on it terminate strictly and the like
17:37:34 <elliott> and it can be printed more simply
17:38:18 <elliott> fizzie: So I want colour 11. So... \xc2\xa7b?
17:38:32 <fizzie> Sounds right.
17:40:59 -!- chickenzilla has left (?).
17:47:47 <elliott> fizzie: Pushing now.
17:47:54 <elliott> fizzie: (You will probably *really* want to rewrite cmd_say.)
17:48:12 <elliott> fizzie: There you go.
17:48:30 <elliott> fizzie: Three lovely commits; commands now give output to chat, too, in cyan, and //coords works.
17:48:33 <Phantom_Hoover> elliott, got Oolite working; may not play MC for several days.
17:48:35 <elliott> To print your current coordinates.
17:48:44 <elliott> fizzie: Also shows white as the terminal's default colour.
17:48:45 <elliott> Such happy.
17:50:13 <elliott> fizzie: Interestingly, (0,0) isn't the spawn; it's three chunks that were presumably the original spawn, then a biome disconinuity.
17:50:21 <elliott> I guess the spawn was changed right away for whatever reason.
17:56:32 <fizzie> Yeah, I f3'd the spawn a while ago.
17:56:46 <fizzie> Maybe they moved it when starting the game, who knows.
18:01:32 -!- radams976 has joined.
18:02:10 <elliott> radams976: hi
18:03:15 -!- radams976 has quit (Client Quit).
18:03:25 <Phantom_Hoover> Don't byte the noobs!
18:05:08 <olsner> but we can still nibble them, can't we?
18:05:15 <Phantom_Hoover> Yes.
18:10:42 <j-invariant> nybble?
18:11:27 <Vorpal> <Ilari> And since everybody hates matematics... It is easy to disinform using creative statistics... :-) <-- only almost all, not all
18:12:39 <Vorpal> <Quadrescence> and a megapixel monitor <-- what
18:14:32 <elliott> What is "what" about that.
18:14:34 <elliott> Megapixel = 1M pixels.
18:14:52 <elliott> fizzie: I've pushed an incredibly important update; it is rather vital that everyone upgrades now.
18:14:59 <olsner> but where can you even find non-megapixel monitors nowadays? except on like mobile phones?
18:15:11 <Vorpal> <elliott> fizzie: Oh man, I have to use sprintf. Isn't that great? <-- sn
18:15:21 <elliott> Vorpal: Shut up.
18:15:21 <Quadrescence> Vorpal: it is the name of NeXT's monitor
18:15:37 <elliott> Vorpal: (There was no way it could overflow the buffer, as the variables in question are fixed-size.)
18:15:39 <elliott> (Integers.)
18:15:54 <Quadrescence> http://www.monitorworld.com/Monitors/next/megapixel.html
18:15:59 <Vorpal> Quadrescence, a
18:16:00 <Vorpal> ah*
18:16:35 <Vorpal> <elliott> fizzie: I've pushed an incredibly important update; it is rather vital that everyone upgrades now. <-- what is it?
18:16:45 <elliott> Vorpal: Vital.
18:16:47 <elliott> Also an update.
18:17:53 <Vorpal> elliott, no way
18:18:10 <elliott> Vorpal: No way what?!
18:18:15 <Vorpal> elliott, that it is vital
18:18:19 <elliott> Of course it is.
18:18:22 * Vorpal slaps test with a super-large, super-smelly, decaying digitally-enhanced reinforced IRC-grade trout
18:18:25 <Vorpal> huh
18:18:29 <Vorpal> I had that alias here
18:18:29 <elliott> See?
18:18:31 <Vorpal> wtf
18:18:33 <elliott> Vital.
18:18:34 <Vorpal> elliott, I wonder why
18:18:40 <Vorpal> I'll remove it from my cleint
18:18:41 <elliott> Vorpal: Because of the 90s.
18:18:45 <Vorpal> client*
18:19:01 <elliott> http://www.urbandictionary.com/define.php?term=trout-slap <-- Look, it even has pages of Urban Dictionary entries with lots of probably-not-ever-used-more-than-once sexual definitions.
18:19:05 <elliott> That's the mark of authenticity, that is.
18:19:13 <Vorpal> XD
18:20:17 -!- wareya has quit (Read error: Connection reset by peer).
18:20:35 -!- wareya has joined.
18:24:10 <olsner> "The only time a Singaporean is capable of forming a complete English sentence on IRC" :)
18:24:15 <elliott> haha
18:26:14 -!- j-invariant has quit (Quit: -).
18:38:05 -!- j-invariant has joined.
18:42:16 <Gregor> HEY GUYS I'm on a plane
18:44:44 <olsner> Gregor: have you had it with the snakes on it yet?
18:45:31 <Gregor> *sexual joke in poor taste*
18:47:35 <elliott> fizzie: I'm refactoring all the non-[CHAT] messages to use chat(); that okay with you?
18:47:40 <Vorpal> hippos in a helicopter at least rhymes.
18:47:49 <elliott> Well.
18:47:53 <elliott> Also apart from [PLAYER] appear/disappear.
18:47:57 <elliott> Because that would just be irritating.
18:48:13 <olsner> what is that thing you're working on anyway?
18:48:17 <elliott> Actually turns out I already did that.
18:48:22 <elliott> olsner: A Minecraft server proxy that does all kinds of fancy stuff.
18:48:28 <olsner> oh, nice
18:48:31 <olsner> I guess
18:48:34 <Vorpal> olsner, I assume you play mc
18:48:44 <elliott> "Assume"?
18:48:45 <elliott> On what grounds?
18:48:46 <Vorpal> (since almost everyone does)
18:48:49 <olsner> Vorpal: you can assume whatever you want :P
18:48:50 <elliott> That's ... not even false.
18:48:53 <Vorpal> elliott, a Swede.
18:48:54 <Vorpal> elliott, too
18:48:59 <elliott> ...
18:49:10 <Vorpal> elliott, like, more than half of the Swedes I know seem to have mc
18:49:45 <olsner> *more* than half? that implies you know more than two swedes!
18:49:51 <elliott> git push is so slow.
18:50:11 <Vorpal> elliott, blame git or github
18:50:19 <Vorpal> olsner, tens!
18:50:21 <elliott> I'll blame ssh.
18:50:28 <elliott> Since git pushes are usually very fast and GitHub's HTTP is very fast.
18:50:31 <Vorpal> elliott, ssh is fast in general
18:50:39 <olsner> it seems to imply that anyway, it depends on what it takes for you to think it "seems" like someone has mc
18:50:46 <elliott> I would like to see bzr push faster than this over ssh. Ha.
18:50:49 <olsner> specifically, on whether I "seem" to have mc
18:51:00 <Vorpal> olsner, you don't seem to have it
18:51:13 <Vorpal> olsner, seem was used in the sense of clothing
18:51:14 <elliott> olsner: LOL CONVERSING WITH VORPAL
18:51:37 <fizzie> What messages are those?
18:51:38 <Vorpal> (also to the north-left)
18:51:47 <fizzie> I don't think the map-mode changes make sense in the client stream really.
18:51:48 <elliott> fizzie: Mode setting ones, and nothing else at all. :p
18:51:54 <fizzie> Well, that's I guess a matter of opinion.
18:51:57 <olsner> elliott: what's so lol about that?
18:52:01 <elliott> fizzie: Oh. Well, I've already pushed it. You can revert if you want, it's just that I never look at the console.
18:52:09 <elliott> fizzie: (And I can easily imagine someone, e.g. redirecting it to a file.)
18:52:13 <elliott> olsner: <Vorpal> olsner, seem was used in the sense of clothing
18:52:32 <fizzie> I don't have a very strong opinion on it, so I guess I'll just let it be.
18:52:45 <olsner> oh, I missed that line, but that's spelled 'seam' afaik
18:52:52 <Vorpal> elliott, randomness
18:53:08 <elliott> olsner: it is, but it did helpfully derail the conversation without you getting an answer :)
18:53:28 <Gregor> FLOODTIME
18:53:29 <Gregor> * gamax92 has joined ##javascript
18:53:29 <Gregor> <gamax92> may i ask you a question
18:53:29 <Gregor> <Gregor> gamax92: First you have to check the schedule to see whether this is an Approved Questions Hour, then you have to file a question request at the web site in the /topic.
18:53:29 <Gregor> <gamax92> i dont have the question, my friend does
18:53:30 <fizzie> Meh, the cart-riding will need a more complicated thing. :/
18:53:32 <Gregor> <Gregor> gamax92: Well then he'll have to fill out the question request form.
18:53:33 <Gregor> * gamax92 has left ##javascript
18:53:35 <Gregor> <Gregor> Am I a bad person? :P
18:53:39 -!- Sgeo has joined.
18:53:49 <elliott> Gregor: Yes, and that's why we love you.
18:54:21 <olsner> elliott: hmm, did I ask anything that wasn't answered?
18:54:30 <Gregor> :P
18:55:02 <elliott> olsner: well, OK, you didn't ask a question, but you implied one
18:55:08 <elliott> <olsner> it seems to imply that anyway, it depends on what it takes for you to think it "seems" like someone has mc <olsner> specifically, on whether I "seem" to have mc
18:55:19 <olsner> elliott: <Vorpal> olsner, you don't seem to have it
18:55:34 <elliott> olsner: <Vorpal> olsner, you don't seem to have it <Vorpal> olsner, seem was used in the sense of clothing
18:55:39 <elliott> olsner: this is one of the things that vorpal likes to call "jokes"
18:56:06 <elliott> fizzie: Can I add timestamps to the [CHAT]/[PLAYER] things?
18:57:03 <olsner> elliott: hmm, right, and that derailed something?
18:57:21 <elliott> olsner: yes, the minecart fell off the track.
18:57:22 <elliott> wait what?
18:57:56 <fizzie> elliott: You mean on-console? Why not.
18:58:34 <elliott> fizzie: I'm doing all my edits with vi without syntax highlighting or automatic indentation; can I have a hardcore prize?
18:58:47 <fizzie> I'm not sure there is a prize.
18:58:54 <elliott> fizzie: But I want a prize.
18:59:02 <olsner> now to find the right way to construct this PDPE
18:59:22 <elliott> fizzie: Can I conflict with math.h names? :p
19:02:02 <olsner> oh, this one from a week ago: <elliott> https://gist.github.com/657234#LID75 In which olsner manages to make me hate long mode.
19:02:12 <olsner> did you mean that specific line? what's wrong about it?
19:02:23 <elliott> olsner: MAGIC FLAGS AND BITS AND PGE AND WHAT
19:04:32 <olsner> mmkay, well paging involves flags, what's the big deal? :)
19:04:45 <elliott> olsner: DFFFF
19:05:34 <elliott> fizzie: You do realise that every time you call do_die, it's with "%s", msg, thus making the printf part of do_die rather useless? :p
19:05:52 <fizzie> That's not very true.
19:06:02 <fizzie> Or of it is, it wasn't when I wrote it.
19:06:04 <fizzie> There's the dief macro still.
19:06:09 <fizzie> It's not my fault if I don't use it.
19:06:22 <fizzie> (Because the instances have been changed to stopfs.)
19:06:27 <fizzie> (And I think those still use do_die.)
19:07:12 <elliott> fizzie: Oh, so you do.
19:07:12 <elliott> Darn.
19:07:34 <elliott> fizzie: (I want to make do_die use log(), but I can't, really, because it does two prints.)
19:07:49 <Vorpal> elliott, and?
19:07:53 <elliott> Vorpal: And what?
19:08:04 <elliott> Prediction: <Vorpal> ...logarithms...
19:08:07 <Vorpal> elliott, why is it an issues it uses 2 prints
19:08:12 <elliott> Because log() does one print.
19:08:23 <Vorpal> elliott, yes.... and?
19:08:29 <elliott> And it timestamps them.
19:08:35 <elliott> So I can't use log() in do_die().
19:08:40 <fizzie> I do use math.h here and there, I'm not sure how I feel about the name-conflict.
19:08:44 <Vorpal> elliott, are they macros?
19:08:50 <elliott> Vorpal: ...???
19:08:53 <elliott> fizzie: OK, I'll rename it.
19:09:06 <elliott> fizzie: printlog, probably.
19:09:09 <elliott> Or logprintf.
19:09:15 <Vorpal> elliott, do_log
19:09:16 <elliott> Or log_print :P
19:09:21 <elliott> do_ is a silley prefix.
19:09:24 <elliott> log_print is good.
19:09:27 <Vorpal> elliott, true
19:09:32 <Vorpal> elliott, log_format?
19:09:37 <Vorpal> log_fmt
19:09:41 <elliott> log_printf.
19:09:43 <fizzie> Yes, the do_ prefix is not visible to calling code.
19:09:45 <Vorpal> or that
19:09:47 <olsner> sounds like you want a va_list variant of log or something like that
19:09:52 <fizzie> It's just the underlying function for the die/dief/log/logf macros.
19:09:55 <elliott> olsner: not really, it's more involved than that
19:10:07 <elliott> olsner: I need a va_list variant that also takes /another/ format and two extra args for that one :P
19:10:35 <fizzie> olsner: Yes, the code in question does one vfprintf and one fprintf and expects them to be concatenated.
19:10:41 <fizzie> Anyway, you can just use a buffer there.
19:11:10 <olsner> vararg-macros perhaps? #define foo(fmt, ...) real_log_printf("%d" fmt, timestamp(), ##__VA_ARGS__)
19:11:13 <fizzie> s/log/stop/g
19:11:45 <olsner> I think the ## magic is an gcc-extension though, without that you'll have interesting issues when doing foo("bar") with no extra args
19:12:43 <olsner> what's the problem with doing two prints though?
19:14:08 <fizzie> olsner: The "print" adds the timestamp, so the calling code -- which does fprintf(stderr, "DIE: %s:%d: ", file, line); vfprintf(stderr, fmt, ap); -- would end up having those two things split in two separate timestamped lines.
19:14:12 <elliott> right
19:14:16 -!- pikhq has quit (Ping timeout: 276 seconds).
19:15:03 <fizzie> Incidentally, the ## gcc-onliness is why I have a die() macro and a dief() macro separately. (Though I already have nested functions and whatnot, so gcc-extensions aren't really much of an issue.)
19:15:48 <nooga> hey
19:15:57 <nooga> do you guys know some debuggers for DOS?
19:16:05 <olsner> there's DEBUG
19:16:10 <nooga> meh
19:16:32 <olsner> djgpp might include a gdb for dos
19:16:50 <nooga> i want to tap into one game's memory and check some stuff there
19:16:58 <olsner> that gdb probably only works with DPMI or dos4gw though
19:17:26 <fizzie> elliott: Have fun fixing conflicts with what I just pushed to github, though.
19:18:02 <fizzie> I also fixed the leak you had added in cmd_slap.
19:18:11 <hagb4rd> hell..this awesome footage make one's flesh creep
19:18:27 <Phantom_Hoover> Zuh?
19:18:29 <hagb4rd> --> http://www.youtube.com/watch?v=cJrtROuQFfk&list=PL408EDD9348488A28&index=11&playnext=4&fmt=18
19:18:33 <elliott> fizzie: If this were scapegoat ...
19:20:03 <fizzie> I sort of liked the "//goto: usage: //goto x z" over "usage: //goto x z", but whatevers.
19:20:33 <olsner> hagb4rd: koyaanisqatsi is boring
19:20:59 <elliott> fizzie: Really? It seemed like super-weird duplication to me.
19:21:06 <hagb4rd> is it? it's the final scene right
19:21:14 <fizzie> elliott: I'm super-weird like that.
19:21:36 <hagb4rd> guess you have to tune in someway.. or just be in the right mood
19:21:50 <elliott> fizzie: Guess how lucky I am?
19:21:56 <elliott> fizzie: That's right! I get to rewrite handle_chat!
19:22:07 <fizzie> Why's that?
19:22:12 <elliott> fizzie: log_print
19:23:07 <fizzie> Just use a glib string and g_string_append_printf/g_string_append/g_string_append_whatever instead of those separate prints.
19:23:08 <elliott> fizzie: Hmm, is there a "more efficient" way than str_join to build up a big ol' string incrementally in glib?
19:23:13 <elliott> See, look at that, you're so helpful.
19:24:07 <fizzie> GString *s = g_string_new(""); and so on; then at the end you do a "gchar *cstr = g_string_free(s, FALSE);" and it gets rid of the glib string structures but gives you the single c-string back.
19:24:22 <elliott> glib is so weird.
19:24:51 <elliott> (But, so I don't end up saying it in my head all the time when coding: LOLOLOL CONSTRUCT A NEW G-STRING ahem.)
19:25:16 <olsner> sounds like something stuffed with loads of dynamic allocations and indirection... how will you handle out-of-memory errors in log_print? :)
19:25:25 <fizzie> olsner: It's not "real" logging.
19:25:29 <elliott> I won't! Yaaaay.
19:25:35 <fizzie> olsner: It's just whatever ends up in the stdout of the program.
19:25:43 <elliott> But you can totally tee it to a file, man.
19:25:49 <Phantom_Hoover> hagb4rd, why does the rocket change a short way into that video?
19:25:59 <elliott> fizzie: http://library.gnome.org/devel/glib/stable/glib-String-Chunks.html This is probably better than a GString, but GStrings look more convenient.
19:26:05 <elliott> (LOLOLOLOL CONVENIENT G-STRING HAHA ahem.)
19:26:24 <hagb4rd> Phantom_Hoover? ..this is the challanger
19:26:35 * Phantom_Hoover laughs.
19:26:36 <fizzie> You're printing out silly text to the console, I'd really just go with the convenient choice.
19:26:41 <Phantom_Hoover> That is definitely not the Challenger.
19:27:12 <hagb4rd> you're right
19:27:30 <hagb4rd> it's not even a space shuttle
19:27:41 <Phantom_Hoover> For one thing, the Challenger disaster was 4 years after Koyaanisqatsi was released; for another, that rocket is clearly a Saturn V in the early bits of the video.
19:27:51 <Phantom_Hoover> It changes to something else after it takes off.
19:28:06 <hagb4rd> changes?
19:28:11 <hagb4rd> it blows up
19:28:31 <Phantom_Hoover> No, I mean the rocket that blows up is not a Saturn V.
19:28:45 <hagb4rd> yes.. changing some states.. you can say indeed
19:29:07 <hagb4rd> particle transformation matrix
19:30:47 <elliott> What.
19:33:48 <elliott> char stamp[23];
19:33:48 <elliott> time_t now = time(NULL);
19:33:48 <elliott> struct tm *tm = localtime(&now);
19:33:48 <elliott> strftime(stamp, sizeof(stamp), "%FT%H:%M:%s%z", tm);
19:33:48 <elliott> printf("%s ", stamp);
19:33:48 <elliott> vprintf(fmt, ap);
19:33:50 <elliott> putchar('\n');
19:34:01 <elliott> fizzie: Why is, instead of the timezone, it printing :?
19:34:06 <elliott> There's some garbage after the space but I think that's handle_chat.
19:34:17 <elliott> 2010-12-19T19:30:�` [CHAT] 'Welcome to a322.org Minecraft server'
19:34:17 <elliott> 2010-12-19T19:30:�v�� [PLAYER] appear: fizzief
19:34:17 <elliott> 2010-12-19T19:30: [CHAT] <ehird> What's that? You think you fixed it? HAHAHAHA
19:34:20 <elliott> Ooh, no.
19:34:25 <elliott> The first two have corruption before the space.
19:34:29 <elliott> So /something/ is WRONG.
19:34:39 <hagb4rd> Phantom_Hoover, another question: can you tell me which rocket-part it is, focused by the cam in that epic falling sequence
19:35:11 <Phantom_Hoover> It's a thruster and the tattered remains of the hull above it.
19:35:49 <elliott> fizzie: How fast can fungot generate babble?
19:35:49 <fungot> elliott: a worker is any body of the rule defining a specific
19:35:51 <elliott> fizzie: The command-line version.
19:36:12 <fizzie> Not too fast. I can benchmark quickly. Depends also on the model. How so?
19:36:15 <Phantom_Hoover> A second-stage thruster, too, since the first stage has at least 3.
19:36:55 <hagb4rd> thats kind of precise :) thx
19:36:58 -!- Sasha has quit (Remote host closed the connection).
19:37:40 <elliott> fizzie: Turns out it doesn't matter!
19:38:01 <fizzie> The command-line version is a Perl script, though; one could whip up a trivial C version to be real fast. And it does the whole disk-reading-all-the-time (though I suppose disk cache will take care of that).
19:38:14 <fizzie> The Perl script is probably slower than the Befunge code.
19:39:00 <fizzie> 16 words per second with europarl.
19:40:24 <elliott> `addquote <fizzie> The Perl script is probably slower than the Befunge code.
19:40:52 <HackEgo> 251) <fizzie> The Perl script is probably slower than the Befunge code.
19:41:13 <elliott> fizzie: Any ideas w/ my string corruption?
19:42:46 <fizzie> Not immediately. Pastebin the surroundings of the function too?
19:43:15 <elliott> fizzie: http://sprunge.us/ZBYY
19:43:21 <elliott> fizzie: Or do you mean the functions around it? 'cuz that would be weird.
19:43:41 <elliott> Aha... %s must be wrong.
19:43:49 <elliott> 2010-12-19T19:32:[corruption]
19:43:57 <hagb4rd> <elliott>fizzie: Why is, instead of the timezone, it printing :? <-- maybe timezone is not set?
19:43:59 <elliott> %s The number of seconds since the Epoch, 1970-01-01 00:00:00 +0000
19:43:59 <elliott> (UTC). (TZ)
19:44:01 -!- pikhq has joined.
19:44:02 <elliott> OK, that explains little, but I want %S.
19:44:04 <elliott> hagb4rd: no, it is
19:44:08 <hagb4rd> k
19:44:13 <fizzie> Yes, I managed to not notice that.
19:44:23 <elliott> Still, that corruption don't look like seconds to me.
19:44:55 <fizzie> I just read %H:%M, looked at your pasted examples, went "hours and minutes, okay" and didn't wonder about seconds.
19:45:07 <elliott> 2010-12-19T19:44:22+ [CHAT] 'Welcome to a322.org Minecraft server'
19:45:08 <elliott> 2010-12-19T19:44:22+  [PLAYER] appear: fizzief
19:45:09 <elliott> What.
19:45:19 <elliott> "+" doesn't rightlook.
19:45:36 <fizzie> It's the right character there to be the first-thing-of-timestamp.
19:45:41 <elliott> Indeed.
19:45:53 <elliott> Oh, I'm without enough space.
19:45:59 <elliott> fizzie: Still, I would like it if it appended Z for UTC.
19:46:08 <elliott> fizzie: In fact, perhaps it doesn't really need to put the timestamp there at all.
19:46:13 <elliott> fizzie: People know what timezone they're in, right?
19:46:18 <fizzie> Usually.
19:46:43 <fizzie> Or you could s/localtime/gmtime/, put a Z in there manually, and just say it logs in sensible-time instead of local-time.
19:46:44 -!- Sasha has joined.
19:47:01 <fizzie> Or, or, or! Timestamp in Internet time!
19:47:15 <elliott> <fizzie> Or you could s/localtime/gmtime/, put a Z in there manually, and just say it logs in sensible-time instead of local-time.
19:47:19 <elliott> If this were meant to be a useful log, sure.
19:47:27 <elliott> But actually it's just so that you can see general timestamps :P
19:47:53 <elliott> fizzie: In fact, I probably shouldn't bother logging dates. Nobody *really* wants to log this to a file.
19:48:13 <fizzie> Yes, %H:%M:%S or even [%H:%M:%S] could be okay.
19:48:31 <elliott> fizzie: There's already bra-kets around the [CHAT] and the like, so that would look weird.
19:48:36 <fizzie> I guess.
19:48:52 <fizzie> It's not a very serious matter, the formatting of this thing.
19:48:54 * elliott separates it out into a print_timestamp function to use in do_die.
19:48:57 <elliott> fizzie: YES IT IS
19:49:30 <fizzie> Did you already merge in my changes that add more plain printfs inside world.c? :p
19:50:25 <elliott> fizzie: Not yet!
19:50:37 <elliott> fizzie: BTW, I'm making DIEs go to stdout, since they're part of the "log".
19:50:39 <elliott> Is that okay?
19:51:02 -!- pikhq has quit (Ping timeout: 240 seconds).
19:52:05 <elliott> oh
19:53:46 <fizzie> Sure.
19:54:03 <Phantom_Hoover> elliott, why are you doing quantum physics in an MC mapping tool?
19:54:22 <elliott> Phantom_Hoover: Because.
19:54:49 <fizzie> Phantom_Hoover: It's not just a mapping tool, it's nowadays also a slapping tool.
19:55:01 <Phantom_Hoover> Goody!
19:55:40 -!- pikhq has joined.
19:55:59 <fizzie> java.io.IOException: Bad packet id 200 at gk.b(SourceFile:89) at jq.c(SourceFile:149) at jq.c(SourceFile:9) at pf.run(SourceFile:59) -- ooh, haven't seen that one before.
19:59:02 -!- ais523 has joined.
19:59:35 <elliott> elliott@dinky:~/code/mcmap$ ./mcmap -x 2 -s 300x a322.org:25566
19:59:35 <elliott> 19:58:53 [DIE] main.c:171: Invalid window size: 300x
19:59:43 <elliott> fizzie: I think I just unintentionally enterprisey'd your option parsing.
20:00:06 <elliott> fizzie: Sh... should I put it back? :p
20:00:48 -!- pikhq has quit (Ping timeout: 260 seconds).
20:01:07 <fizzie> What does "enterprisey'd" mean, exactly?
20:01:57 <elliott> elliott@dinky:~/code/mcmap$ ./mcmap -x 2 -s 300x a322.org:25566
20:01:58 <elliott> 19:58:53 [DIE] main.c:171: Invalid window size: 300x
20:01:59 <elliott> fizzie: That.
20:02:19 <fizzie> Oh, right.
20:02:26 <fizzie> Well, I don't mind.
20:02:30 <elliott> YAY ENTERPRISEY
20:02:30 <fizzie> It *is* a bit silly, though.
20:02:36 <elliott> fizzie: Yes, but, unified functions!
20:02:50 <elliott> fizzie: The alternative is die_due_to_user_error_f and die_due_to_code_error_f. :P
20:03:01 <elliott> Actually I think I've seen that line-number-in-user-error thing in some other big software package. Apache?
20:03:42 <elliott> print_log("[BAD] Unknown packet id: 0x%02x", t);
20:03:43 <elliott> It's bad.
20:03:56 <elliott> *log_print
20:04:07 <elliott> fizzie: Can I make a print_log function that prints the logarithm of a given number? :p
20:04:48 <fizzie> That could actually be a dief there.
20:04:55 <fizzie> Because it's actually going to die.
20:05:06 <elliott> fizzie: Oh, it is? Wonderful.
20:05:20 <fizzie> Feel free to make it a die instead of log+return 0.
20:05:26 <elliott> fizzie: "Dief" is such a wonderful word.
20:05:29 <elliott> It's so... Nazi.
20:05:30 <elliott> DIEF!
20:05:38 <elliott> I may be slightly mad.
20:05:56 <elliott> elliott@dinky:~/code/mcmap$ ./mcmap -x -y -s 300x300 a322.org:25566
20:05:56 <elliott> 20:05:14 [DIE] main.c:144: Option parsing failed: Cannot parse integer value '-y' for -x
20:06:04 <elliott> I think that the "Option parsing failed:" bit there is slightly redundant.
20:06:23 <fizzie> Those are directly from glib's option-parser, I guess.
20:06:33 <elliott> Indeed.
20:06:40 <fizzie> At least I can't recall writing such a thing.
20:06:42 <elliott> Now to pull in your changes.
20:06:48 <elliott> fizzie: You wrote "Option parsing failed:", though.
20:06:50 <elliott> Which is just silley.
20:06:52 <elliott> (Well, lowercase o.)
20:06:54 <fizzie> Oh, I did?
20:07:00 <elliott> Yes.
20:07:10 <elliott> Auto-merging main.c
20:07:10 <elliott> Auto-merging protocol.c
20:07:10 <elliott> Auto-merging world.c
20:07:10 <elliott> CONFLICT (content): Merge conflict in world.c
20:07:10 <elliott> Automatic merge failed; fix conflicts and then commit the result.
20:07:17 <elliott> fizzie: I think the merge went much more badly than git suggests.
20:07:28 <elliott> <<<<<<< HEAD
20:07:28 <elliott> log_print("[PLAYER] appear: %s", name);
20:07:28 <elliott> =======
20:07:28 <elliott> if (name)
20:07:28 <elliott> {
20:07:29 <elliott> printf("[PLAYER] appear: %s\n", name);
20:07:31 <elliott> >>>>>>> dddd7178398e71bc67ef5aaa9312f0a40d8ed4b0
20:07:33 <elliott> Heh.
20:07:39 <fizzie> It's not much of a conflict there.
20:08:00 <elliott> Indeed.
20:08:15 <elliott> fizzie: "VEHICLE"? Heh.
20:08:20 <elliott> [TRANSPORTATION MECHANISM]
20:08:33 <fizzie> I originally wrote CART, but I think the same thing will apply to BOATs.
20:08:41 <elliott> fizzie: Anyway, apparently by "a bunch", you mean "three".
20:08:47 <elliott> Yes, a whole THREE printfs you added! Oh god!
20:08:55 <fizzie> Three's a... bunch.
20:09:22 <fizzie> They are more in the nature of debugging messages than actual sensible user messages, but, well.
20:09:28 <fizzie> Who wouldn't want to see some entity ids?
20:10:09 <fizzie> Vorpal: Coincidentally! I think I fixed the "red streaks" problem.
20:10:30 <elliott> fizzie: So, uh, I didn't get any debug messages.
20:10:33 <elliott> Oh, I think I forgot to `make'.
20:10:41 <elliott> No, I didn't.
20:10:45 <elliott> 20:09:22 [CHAT] 'Welcome to a322.org Minecraft server'
20:10:45 <elliott> ^C[VEHICLE] Mounted 855718elliott@dinky:~/code/mcmap$
20:10:46 <elliott> What.
20:10:57 <elliott> Oh.
20:10:59 <elliott> I forgot to loggify them.
20:12:21 <elliott> fizzie: Mind if I go all OCD and make everything have a four-char [XXXX]?
20:12:36 <fizzie> Nnnno, if you seriously don't have anything better to do. :p
20:13:08 <elliott> fizzie: It's Christmas, why would I have anything better to do? :)
20:13:23 <elliott> fizzie: I think I might make the die prefix [GAK!].
20:13:28 <elliott> That's four bytes, after all!
20:13:31 <elliott> Well, six.
20:14:45 <fizzie> Or DIEF, you seemed to like it.
20:15:33 <elliott> fizzie: So does your thing handle pig-riding?
20:15:54 <fizzie> I don't quite know.
20:15:59 <fizzie> I'm trying to test a boat now.
20:16:26 <elliott> 20:15:49 [DIED] main.c:147: Cannot parse integer value '-y' for -x
20:16:28 <elliott> SO DAMN ENTERPRISEY.
20:17:43 <elliott> fizzie: OK, pushed my enterprises.
20:17:59 <nooga> i don't believe that there's a way to run gdb under DOS
20:18:03 <nooga> in dosbox for example
20:18:10 <fizzie> I don't quite remember how to make a boat.
20:18:15 <elliott> nooga: djgpp
20:18:17 <elliott> no?
20:18:21 <elliott> fizzie: It's a U shape.
20:18:25 <elliott> fizzie: Bottom two rows.
20:18:27 <elliott> Sticks or wood, I forget.
20:18:42 <fizzie> Wood-U worked.
20:19:08 <fizzie> Oo, works.
20:19:55 * elliott considers making his Minecraft start-up script start mcmap.
20:19:56 <fizzie> [VEHICLE] mounted 867873
20:19:56 <fizzie> [VEHICLE] unmounted 867873 by destroying
20:20:07 <fizzie> (That was before your changes.)
20:20:33 <elliott> fizzie: You might want to remove the IDs and make it (to modify the message in mine) "[INFO] Mounted vehicle.", "[INFO] Dismounted vehicle by destroying.", etc.
20:20:45 <elliott> fizzie: (It's dismount, not unmount :P)
20:21:35 <fizzie> Dismounted the filesystem.
20:21:46 <elliott> fizzie: Blame Unix.
20:22:55 <fizzie> Pushed a memory leak fix for your handle_chat. :p
20:25:58 <elliott> fizzie: It's not my fault C sucks. :p
20:26:19 <elliott> fizzie: What would be really nice is if scaling scaled the little people indicators too... I know you already know of that, though.
20:27:16 -!- pikhq has joined.
20:28:50 <pikhq> So, my stepdad randomly decided to swap out routers.
20:29:06 <pikhq> His new router hands back 192.168.1.1 for every DHCP request.
20:29:08 <fizzie> Yeah, I should probably just buy a polygon-filler and draw the indicators with that.
20:29:38 <pikhq> Meaning there's several systems on the same network with the same IP address.
20:30:06 <elliott> pikhq: Completely randomly? :P
20:30:11 <elliott> pikhq: And: AWESOME.
20:30:17 <pikhq> Erm, sorry, 192.168.1.2, not 192.168.1.1.
20:30:21 <pikhq> But, yeah.
20:30:26 <pikhq> It just hands the same damned IP back.
20:30:27 <elliott> pikhq: Put OpenWRT on it.
20:30:28 <fizzie> It's the one-person router.
20:30:45 <pikhq> He stopped working on it because "works for me".
20:31:10 <pikhq> elliott: I'll probably do that to the old one.
20:32:00 <elliott> pikhq: Was there any reason to change the router? :P
20:32:08 <pikhq> elliott: None!
20:32:29 <elliott> fizzie: Do you really have to buy one? I mean, you just do one more/less pixel each time.
20:33:17 <fizzie> Well, the rectangles are already with FillRect.
20:33:27 <fizzie> The triangle-drawing is a bitmap though.
20:33:35 <pikhq> Whoo, the old one is currently supported by OpenWRT.
20:33:43 <fizzie> I guess eight-directional triangles I could just special-case instead of using a general-purpose polygon routine.
20:33:54 <fizzie> Well, I'll fix that at point X.
20:34:24 <elliott> fizzie: N-directional triangles would be fun too, though.
20:35:31 <fizzie> Yes, but I don't want to redraw the map all the time just when you move your head around.
20:35:44 <fizzie> (And it seems to send an awful amount of the player-look packets.)
20:35:49 <elliott> fizzie: You could just redraw the triangules.
20:36:02 <fizzie> The code is not clever enough to repaint only part of the background.
20:36:54 <elliott> fizzie: But it's enterprisey!
20:37:01 <fizzie> Away now.
20:37:18 <elliott> fizzie: ENTERPRISEY
20:37:41 <elliott> Vorpal: Major mcmap updates.
20:40:39 <nooga> meh
20:40:58 <nooga> gdb does not recognize this game as executable
20:41:06 <elliott> nooga: Well, djgpp is like, extended-only.
20:41:14 <elliott> nooga: Hmm ...
20:41:20 <elliott> nooga: gdb can do remote debugging via serial port.
20:41:24 <nooga> the game uses dos4gw i thinkk
20:41:27 <elliott> nooga: Perhaps you can convince a compiler to cross-compile for DOS with support for that?
20:41:30 <elliott> Also, djgpp has its own stuff.
20:41:34 <elliott> nooga: Oh, so you don't have the code.
20:41:36 <elliott> nooga: I think you're fucked.
20:41:41 <elliott> Try DOSEmu maybe? It might have gdb support.
20:41:51 <elliott> fizzie: I think mcmap should come with its own service manager, to restart mcmap if it ever dies.
20:43:56 <nooga> weeelll
20:44:01 <nooga> i tried using dosbox debugger
20:44:28 <nooga> but the game won't run properly when dosbox is in debug mode
20:46:46 <elliott> fizzie: What would you say little patches of black would be, in post-halloween terrain?
20:47:23 <Phantom_Hoover> Pumpkins, if you haven't mapped them.
20:47:25 <Phantom_Hoover> Reeds, too.
20:47:37 <elliott> Phantom_Hoover: Pumpkins have a mapping.
20:47:44 <Phantom_Hoover> Reeds, then?
20:47:48 <elliott> Phantom_Hoover: (You might want to "git pull && make"; there have been a lot of updates t'day.)
20:48:09 <elliott> Phantom_Hoover: Answer: Shrooms.
20:48:24 <Phantom_Hoover> elliott, on sabbatical due to getting Oolite back, remember?
20:48:33 <elliott> Phantom_Hoover: Psht.
20:48:34 <olsner> grr, bochs' debugger only displays the lower 32 bits of address space when you ask it to dump the page tables
20:48:47 <Phantom_Hoover> elliott, psht to you too, sir!
20:50:01 <elliott> olsner: Try remote gdb. :p
20:50:06 <elliott> (Note: Requires kernel support.)
20:50:13 <elliott> (I think.)
20:50:14 <olsner> since it seems I have made my current page table work maybe I won't bother, but it would be really nice if it could a) actually display all mapped pages, b) check for errors in the page tables and complain visibly
20:50:18 <elliott> (And a serial port driver.)
20:50:29 <olsner> hmm, how would kernel support be involved in asking bochs what it's emulating?
20:54:06 -!- Phantom_Hoover_ has joined.
20:54:17 <elliott> olsner: eh?
20:54:25 <elliott> olsner: remote gdb requires a serial driver, I mean
20:54:29 <elliott> and I think kernel support
20:55:17 -!- nooga has quit (Ping timeout: 245 seconds).
20:55:28 <olsner> surely that is not required to connect gdb to bochs
20:55:41 <elliott> olsner: You mean ... debug bochs itself?
20:55:50 <elliott> I mean debug your kernel as it runs in qemu/bochs (qemu has better support IIRC).
20:56:00 <olsner> no, I am talking about debugging the thing running in bochs
20:56:04 <elliott> Although, actually, bochs has all the support, right?
20:56:08 <elliott> Can't you just use bochs/gdb?
20:56:23 <olsner> I can, but gdb is useless for this debugging
20:57:02 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
20:57:05 <elliott> olsner: can't you just do
20:57:08 <elliott> print (*locationofpagetables)
20:57:10 <elliott> or is it not that simple
20:57:41 <olsner> well, I already know what bytes the tables contain, what I'm interested in is what it's being interpreted as so that I can see what's wrong
20:58:18 <elliott> alright then
20:58:30 <elliott> fizzie: Hmm, it would be nice if your current (x,z) coordinates were in a corner of the mcmap window.
20:58:58 <fizzie> Why don't any of you file these things in the github?
20:59:27 <fizzie> Anyway, it would also be nice to have (optional) coordinate labels (say 100 block divisions) at the edge of the window too.
20:59:40 <elliott> fizzie: I'm a developer, dammit, USERS file bugs, not me!
20:59:59 <fizzie> Well, you can also implement that as you will, but you'd better do the text-drawing ELEGANTLY.
21:00:00 <pikhq> o.O'
21:00:02 <fizzie> SDL doesn't do text.
21:00:07 <elliott> fizzie: I'm not sure what you mean with coordinate labels, though?
21:00:14 <fizzie> Like maps have.
21:00:20 <elliott> fizzie: Also, I'd just use a TOTALLY SNAZZY BITMAP FONT that I would have JUST MADE UP AT THE TIME.
21:00:21 <elliott> And ah.
21:00:36 <pikhq> Japanese for "prostitution" is 売春. Literally, "selling youth".
21:00:46 <elliott> fizzie: But, um, SDL_ttf.
21:00:52 <elliott> pikhq: That's the japs for ya!
21:00:53 <fizzie> That's not part of SDL.
21:01:01 <elliott> fizzie: No, but you have it installed already. :p
21:01:10 <pikhq> Because a euphemism ceased to have non-euphemistic usage.
21:01:13 <elliott> (glib isn't part of SDL either.)
21:01:24 <fizzie> elliott: Not the development packages.
21:01:32 <elliott> fizzie: Well, that's your fault!
21:01:38 <elliott> fizzie: I think I had to install glib-dev. :p
21:08:51 -!- nooga has joined.
21:18:15 -!- nooga has quit (*.net *.split).
21:18:18 -!- FireFly has quit (*.net *.split).
21:18:21 -!- ineiros has quit (*.net *.split).
21:18:22 -!- jix has quit (*.net *.split).
21:18:34 -!- wareya has quit (*.net *.split).
21:18:37 -!- bsmntbombdood has quit (*.net *.split).
21:18:39 -!- rodgort has quit (*.net *.split).
21:18:41 -!- yiyus_ has quit (*.net *.split).
21:18:41 -!- fxkr has quit (*.net *.split).
21:18:43 -!- fungot has quit (*.net *.split).
21:18:44 -!- fizzie has quit (*.net *.split).
21:18:49 -!- Sasha has quit (*.net *.split).
21:18:52 -!- MigoMipo has quit (*.net *.split).
21:18:52 -!- pingveno has quit (*.net *.split).
21:18:54 -!- Leonidas has quit (*.net *.split).
21:18:55 -!- tswett has quit (*.net *.split).
21:18:57 -!- yiyus has quit (*.net *.split).
21:19:03 -!- sebbu2 has quit (*.net *.split).
21:19:09 -!- sshc has quit (*.net *.split).
21:19:11 -!- myndzi has quit (*.net *.split).
21:19:15 -!- lifthrasiir has quit (*.net *.split).
21:19:18 -!- j-invariant has quit (*.net *.split).
21:19:26 -!- Ilari_antrcomp has quit (*.net *.split).
21:19:26 -!- Ilari has quit (*.net *.split).
21:19:37 -!- mycroftiv has quit (*.net *.split).
21:19:48 -!- Slereah has quit (*.net *.split).
21:19:56 -!- Phantom_Hoover_ has quit (*.net *.split).
21:19:59 -!- Sgeo has quit (*.net *.split).
21:20:02 -!- elliott has quit (*.net *.split).
21:20:05 -!- hagb4rd has quit (*.net *.split).
21:20:25 -!- olsner has quit (*.net *.split).
21:20:31 -!- Mathnerd314 has quit (*.net *.split).
21:20:44 -!- quintopia has quit (*.net *.split).
21:20:50 -!- Vorpal has quit (*.net *.split).
21:20:54 -!- Gregor has quit (*.net *.split).
21:23:02 -!- nooga has joined.
21:23:02 -!- Phantom_Hoover_ has joined.
21:23:02 -!- Sasha has joined.
21:23:02 -!- Sgeo has joined.
21:23:02 -!- j-invariant has joined.
21:23:02 -!- wareya has joined.
21:23:02 -!- elliott has joined.
21:23:02 -!- hagb4rd has joined.
21:23:02 -!- FireFly has joined.
21:23:02 -!- MigoMipo has joined.
21:23:02 -!- pingveno has joined.
21:23:02 -!- sebbu2 has joined.
21:23:02 -!- bsmntbombdood has joined.
21:23:02 -!- tswett has joined.
21:23:02 -!- Mathnerd314 has joined.
21:23:02 -!- quintopia has joined.
21:23:02 -!- rodgort has joined.
21:23:02 -!- Leonidas has joined.
21:23:02 -!- jix has joined.
21:23:02 -!- ineiros has joined.
21:23:02 -!- yiyus_ has joined.
21:23:02 -!- Slereah has joined.
21:23:02 -!- yiyus has joined.
21:23:02 -!- fxkr has joined.
21:23:02 -!- Ilari_antrcomp has joined.
21:23:02 -!- fungot has joined.
21:23:02 -!- Ilari has joined.
21:23:02 -!- fizzie has joined.
21:23:02 -!- Vorpal has joined.
21:23:02 -!- sshc has joined.
21:23:02 -!- lifthrasiir has joined.
21:23:02 -!- myndzi has joined.
21:23:02 -!- mycroftiv has joined.
21:23:02 -!- olsner has joined.
21:23:02 -!- Gregor has joined.
21:24:04 <fizzie> elliott: I like it, it prevents me from leaving any warnings around.
21:24:05 <Sgeo> Dear clog: I love you forever. Please don't die again.
21:24:07 -!- Gracenotes has quit (Ping timeout: 240 seconds).
21:24:38 -!- pikhq has quit (Excess Flood).
21:25:01 -!- pikhq has joined.
21:27:37 -!- oerjan has joined.
21:29:00 <elliott> fizzie: So how do you feel about the wonderful wonderful GPLv2?
21:32:57 <fizzie> I don't feel very strongly about licenses, as long as they are something sensible. GLfunge is GPLv2, I think.
21:32:59 <elliott> fizzie: Oh, I'll just bundle https://github.com/antirez/linenoise for simplicity. It can probably do the same things as this.
21:33:05 <elliott> (editline sucks ass, it turns out.)
21:35:00 <fizzie> I'm not sure I'd go to the trouble of bloating that thing with a real line-editing library (even one that says "20k lines of code" as if twenty whole thousand lines is somehow small), but then again, I'm not the one doing it.
21:35:22 <fizzie> The line-editing will be something like ten times the size of mcmap itself, though.
21:35:32 <fizzie> wc -l *.c *.h => 2433.
21:35:52 <elliott> fizzie:
21:35:52 <elliott> * line editing lib needs to be 20,000 lines of C code.
21:35:53 <elliott> erm
21:35:55 <elliott> /* linenoise.h -- guerrilla line editing library against the idea that a
21:35:56 <elliott> * line editing lib needs to be 20,000 lines of C code.
21:36:04 <elliott> fizzie: It's just from the guy who made Redis; I found it when googlign.
21:36:05 <elliott> *googling.
21:36:10 <elliott> fizzie: There's a good chance it does what editline doesn't.
21:36:15 <elliott> So, *shrug*.
21:36:25 <elliott> Although it is actually 21k lines. :p
21:36:36 <elliott> fizzie: But anyway, you're "meant" to just include it in your program.
21:36:38 <elliott> (And hey, Android uses it.)
21:36:41 <fizzie> Okay, it is a bit more reasonably sized.
21:37:36 <elliott> fizzie: What, 21k is more reasonable than 20k?
21:38:10 <elliott> fizzie: You can just place leaves like that?
21:38:13 <elliott> fizzie: Dude, let us place bedrock.
21:38:22 <fizzie> I'd rather you didn't.
21:38:32 <fizzie> Since it's not possible to actually get rid of it.
21:38:48 <elliott> fizzie: You - so boring.
21:39:56 <ais523> hmm, I'm planning to put unobtanium in one of my computer games
21:40:06 <ais523> the theory being that it's completely indestructable or movable by any means whatsoever
21:40:07 <fizzie> If I'm looking at the right https://github.com/antirez/linenoise then linenoise.c is 599 lines (544 sloc), and linenoise.h is 56 lines (50 sloc); so if there isn't a lot more code hidden somewhere, it does look more reasonably-sized.
21:40:21 <elliott> Oh, indeed, it is. I wonder how I miscounted.
21:40:21 <ais523> thus, it's completely useless; it has a bunch of highly useful properties, but there's no way to actually obtain the stuff to use it yourself
21:40:27 <elliott> ais523: that's bedrock :P
21:40:44 <elliott> ais523: (bedrock is useful because you can build indestructable buildings out of it; so making it non-unobtainium would make it uselessium)
21:40:50 <ais523> yep, I thought there might be an equivalent
21:40:53 <elliott> fizzie: Can I replace mcmap with a shell script that starts mcmap.real under ledit? :p
21:40:55 <ais523> *it might be an equivalent
21:41:06 <fizzie> You can do that at home.
21:41:12 <ais523> it's just that unobtainum is a hilarious name for it, as it's normally used as a placeholder name for incredibly valuable fictional materials
21:41:15 <elliott> Right, but not in polite company.
21:41:31 <elliott> fizzie: I'd use ncurses, but that would screw up >file.
21:42:40 <elliott> fizzie: I think I'll try the actual readline.
21:42:48 <elliott> And TAINT THE CODE.
21:44:33 <augur> elliott!
21:44:34 <fizzie> If you *want*, you could add some #ifdefs that let the taint-fearing user disable that bit.
21:44:40 * augur taints elliott's code
21:44:52 <elliott> fizzie: It is the FSF's considered opinion that that does not prevent the STD from spreading.
21:44:59 <elliott> Unfortunately, they are probably right.
21:46:27 <Phantom_Hoover_> elliott, the whole clisp thing is rather more complex than "he made it readline-compatible".
21:46:40 <fizzie> Well, you could create a fork in github. (Though would a person then be allowed to contribute same code to both projects?)
21:46:45 <elliott> Phantom_Hoover_: I know how complex it is.
21:46:48 <Sgeo> taint, as in, forced to use GPL?
21:47:09 <elliott> fizzie: I think I might just include readline and force you to GPL it, because it, unlike all the other libraries, does not mess up when other input comes along.
21:47:34 <elliott> fizzie: (Perhaps one day someone will write a better line-reader and we can round up all 2 contributors to get them to agree to a license change.)
21:47:36 <elliott> :p
21:48:03 <fizzie> Well, if you make it work with readline, that's all right for me.
21:52:20 <elliott> Ooh, silly-todo: Option to rl_ding() when someone mentions your name. :-)
21:52:56 -!- BRASIL has joined.
21:53:28 <Phantom_Hoover_> BRASIL
21:55:07 <oerjan> SAMBA!
21:55:29 <hagb4rd> olé
21:57:12 <Deewiant> elliott: Is rlwrap or equivalent not an option
21:57:14 * oerjan vaguely suspects hagb4rd of confusing spanish and portuguese
21:57:32 <elliott> Deewiant: Sort of, but it's nicer to have it directly in there (and fizzie won't let me turn mcmap into a shell script.)
21:57:43 <fizzie> But you can do that at home already!
21:57:56 <Deewiant> I'd just let people turn it into a shell script
21:58:09 <fizzie> Or make your own startup script start mcmap within some sort of readline-wrapper and minecraft.
21:58:30 <fizzie> I just don't want the "main" branch to require some arbitrary readline-wrappers to run.
21:58:54 <elliott> fizzie: Right. Thus building it in :P
21:59:01 <Deewiant> You don't need to require it
21:59:13 <elliott> Anyway I'd have to do, like, 99% of the work anyway if I was using fread etc.
21:59:15 <Deewiant> Make a script that checks for the existence of rlwrap/whatever in some preferred order and picks the first it finds
21:59:19 <elliott> In fact more, since readline() handles allocation for me.
21:59:21 <elliott> So nyah.
22:01:47 * oerjan does a whois and now vaguely suspects hagb4rd of being a native spanish speaker
22:02:04 <hagb4rd> nope.. right you are
22:02:49 -!- BRASIL has left (?).
22:03:57 <fizzie> elliott: Or you could use glib's "read a line with automagic allocations" function, and the wrapper you prefer.
22:04:20 <elliott> fizzie: "I'm fizzie look at me I'm fizzie." SORRY FIZZIE I'VE ALREADY WRITTEN THE READLINE CODE AND JUST NEED TO HANDLE SIGNALS
22:04:20 <Deewiant> elliott: You could use glib!
22:04:22 <fizzie> (But I don't mind the readline dependency either, so whatever makes you happy.)
22:04:24 <elliott> I wish it didn't have to be this way.
22:04:29 <elliott> But it is.
22:04:32 <elliott> Deewiant: Yeah, using glib is ALWAYS fun
22:04:45 <hagb4rd> i'd like to learn more languages.. i love spanish, and as far as i know at least written are spanish and port. very similar
22:04:47 <fizzie> "Just need to handle signals" doesn't sound very nice either.
22:06:13 <hagb4rd> but it sounds very differently @oerjan
22:06:31 <oerjan> hagb4rd: yeah it's just that i think olé is very stereotypically just spanish. however i _did_ have to look it up to check it isn't in portuguese :D
22:06:37 <elliott> <fizzie> "Just need to handle signals" doesn't sound very nice either.
22:06:43 <elliott> fizzie: readline is /meant/ to do it, it just isn't doing it properly :D
22:06:50 <Deewiant> editline?
22:07:10 <fizzie> I hope you're not sullying my oh-so-pristine utility with ugly and hacky workarounds.
22:07:18 <oerjan> <- doesn't _actually_ know either of them
22:08:16 <elliott> fizzie: Absolutely not!
22:08:23 <elliott> Deewiant: Editline fucks up when someone else talks.
22:08:24 <elliott> Long story.
22:08:34 <elliott> Also it didn't handle signals either, so shut up and let me fix this bug :P
22:10:21 <elliott> 22:09:41 [DIED] main.c:81: proxy thread (server -> client) write failed
22:10:27 <elliott> fizzie: That... should that happen?
22:10:35 <elliott> char *line = readline("> ");
22:10:35 <elliott> if (*line) add_history(line);
22:10:35 <elliott> inject_to_server(packet_new(PACKET_TO_ANY, PACKET_CHAT, line));
22:10:35 <elliott> free(line);
22:10:55 <fizzie> Well, it happens if you get disconnected for any reason.
22:14:14 <elliott> fizzie: Oh -- it was "Chat message too long."
22:14:16 <elliott> fizzie: What's the max length?
22:14:29 <fizzie> About a hundred bytes.
22:14:44 <fizzie> 103 or something, IIRC.
22:15:17 <fizzie> Possibly s/bytes/characters, not entirely sure on that.
22:15:38 <fizzie> (It needs to be in UTF-8.)
22:16:05 <elliott> > /playerlist
22:16:05 <elliott> 22:15:22 [CHAT] Player list (1/10): ehird
22:16:08 <elliott> fizzie: Booyah.
22:16:18 <elliott> Now just a bit of signal-handling and WE'RE DONE
22:16:35 <elliott> OK, so it also segfaults on ^D despite resetting the terminal correctly; I've no idea why.
22:16:49 <fizzie> /who is an alias for that.
22:16:56 <elliott> Oh, it is? Thanks.
22:17:14 <hagb4rd> do you guys like electro music?.. in case you
22:17:22 <elliott> fizzie: It's probably thread-related issues, I bet.
22:17:30 <hagb4rd> aer in need of a little distraction --> http://www.youtube.com/watch?v=3qCFSYAgbAI&list=PL408EDD9348488A28&index=33&playnext=5&fmt=18
22:17:43 <hagb4rd> in case ..sry
22:18:07 <elliott> fizzie: Heh, //coords doesn't work on the console for obvious reasons.
22:18:13 <elliott> fizzie: Nor //goto. But "whatever", I say.
22:18:23 <elliott> fizzie: (Unless you have a generic send_chat_to_server_maybe function somewhere?)
22:19:21 <fizzie> No, I don't. You could check for // and call cmd_parse instead of inject_to_server if you like.
22:19:53 * oerjan wonders why you double /'s in minecraft...
22:20:05 <fizzie> The interface for cmd_parse is a bit strange, it'd be something like cmd_parse(line+2, strlen(line)-2);
22:20:12 <elliott> oerjan: you don't, it's mcmap's command syntax
22:20:18 <oerjan> ah
22:20:21 <elliott> oerjan: since /foo are server commands, we decided to play it safe
22:20:31 <elliott> oerjan: (since we intercept the chat packets)
22:20:38 <oerjan> makes sense
22:21:07 <fizzie> As long as the server doesn't start to implement any // commands.
22:21:28 <elliott> fizzie: I am happy to slit Notch's throat in that case.
22:22:19 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:24:46 <elliott> Function: void rl_free (void *mem)
22:24:46 <elliott> Deallocate the memory pointed to by mem. mem must have been allocated by malloc.
22:24:47 <elliott> Useful!
22:29:13 <elliott> fizzie: Does glib have any special signal-handler functions?
22:32:42 <fizzie> I don't recall having used any.
22:34:45 <fizzie> The underlying threads are pthreads (at least that'd be my assumption), and those have signal masks if you want to mess with which thread handles signals, but I'm not sure if glib's threading side exposes that.
22:34:55 <fizzie> It's a bit platform-specific weirdness.
22:35:06 <fizzie> Signals and threads don't tend to be a happy combination.
22:36:26 -!- zeotrope has joined.
22:37:53 <elliott> fizzie: Yeah ... I just want these signal handlers to execute, in, like, "every thread".
22:39:43 <fizzie> As far as I know, you can't do *that* in a plain pthreads thing. With luck you can just make sure it executes in one particular thread.
22:40:16 <elliott> fizzie: So "just do the readline in another thread" was your way of saying "ha ha". :p
22:40:38 <fizzie> I didn't really know readline dabbles with signals.
22:41:17 <fizzie> In retrospect I guess it has to for the terminal-caused ones, but anyhow.
22:41:18 <elliott> Function: int rl_set_signals (void)
22:41:19 <elliott> Install Readline's signal handler for SIGINT, SIGQUIT, SIGTERM, SIGALRM, SIGTSTP, SIGTTIN, SIGTTOU, and SIGWINCH, depending on the values of rl_catch_signals and rl_catch_sigwinch.
22:41:23 <elliott> fizzie: How else do you think it resets the terminal?
22:41:26 <elliott> I suppose I could use an atexit...
22:42:07 -!- nooga has quit (Ping timeout: 265 seconds).
22:42:19 -!- Sgeo_ has joined.
22:42:44 <elliott> An alternate interface is available to plain readline(). Some applications need to interleave keyboard I/O with file, device, or window system I/O, typically by using a main loop to select() on various file descriptors. To accomodate this need, readline can also be invoked as a `callback' function from an event loop. There are functions available to make this easy.
22:42:48 <elliott> fizzie: WHY DIDN'T YOU SAY SO
22:43:02 -!- Sgeo has quit (Ping timeout: 240 seconds).
22:43:29 -!- nooga has joined.
22:43:41 <fizzie> I'm not entirely sure that will help you.
22:44:05 <elliott> Probably not.
22:44:07 <fizzie> Given that you can'd do "wait for SDL events" and "select() on a fd" simultaneously.
22:44:48 <fizzie> Also, I think I'll be sleeping now.
22:46:35 <fizzie> I think hooking to atexit is where SDL does it's emergency cleanup too.
22:46:51 <fizzie> Though actually I'm not quite sure.
22:47:48 <fizzie> It might also install signal handlers of its own, because if the SDL_Init is before the blockinmg "wait-for-connections" call, you can't interrupt it with ^C any more.
22:49:39 <fizzie> Are you entirely sure you don't want to do the input-line handlinmg cleanly in another process?-)
22:49:50 <elliott> fizzie: Was that your lag or mine?
22:50:06 <fizzie> Which lag?
22:50:45 <elliott> fizzie: Tons of messages came in at once.
22:50:52 <elliott> Seems 'twas mine.
22:50:58 <fizzie> Could even have been freenode's
22:51:57 <elliott> fizzie: Dude.
22:52:04 <elliott> fizzie: That is the first time you have ever not terminated a sentence properly.
22:53:18 <oerjan> SURELY WE ARE IN THE END TIMES
22:54:16 <fizzie> I tried my very best, but my fingers betrayed me.
22:54:54 <elliott> fizzie: Do you guys not have heating in Finland?
22:55:19 <fizzie> Technically I'm already asleep, so I'll just blame the dream-fizzie.
22:55:53 <Phantom_Hoover_> elliott, I don't have heating in Scotland!
22:55:54 <fizzie> And no, we just cuddle with polar bears when it gets too cold.
22:56:16 <elliott> fizzie: AWWWWWbrb moving to Finland
23:04:03 * Sgeo_ growls at being unable to block blocks of IPs larger than /16 in MediaWiki
23:04:41 * Sgeo_ wants to block a /0 block
23:05:50 <elliott> Sgeo_: Um, you do realise you mean a /1, right?
23:06:12 <Sgeo_> Does /1 include every single IP address?
23:06:33 <elliott> Sgeo_: It's 1/1 of the address space, so you work it out.
23:07:51 <Sgeo_> http://www.mediawiki.org/wiki/Help:Range_blocks
23:07:59 <Sgeo_> That suggests that /1 is half of the address space
23:08:17 <Sgeo_> Wait, do IPs greater than 127. exist?
23:08:24 <Sgeo_> Yes they do
23:08:26 <oerjan> ELLIOTT IS TEH WRONG
23:08:42 <elliott> Oh, indeed ...
23:08:59 <elliott> Sgeo_: Anyway, it's not "a" /0 block, it's "the" /0 block.
23:11:04 * Sgeo_ WTFs at a spambot talking about a "lethal dose"
23:11:10 <Sgeo_> Way to bring in the customers there
23:11:30 <oerjan> lethal dose of spam
23:15:08 <elliott> oerjan: Read as sperm. What.
23:15:11 <Sgeo_> http://wikisuperosity.com/index.php?title=Special:RecentChanges
23:15:18 <olsner> "Disclaimer: [it's slow], because it's written in python. Eventually I'll rewrite it an C and it'll be very, very fast."
23:15:27 <elliott> olsner: haha
23:15:33 <elliott> olsner: what's that about
23:15:49 <oerjan> elliott: your brain actually managed to invent something worse than a lethal dose of spam. congratulations.
23:15:56 <olsner> elliott: about that "redo" thing someone posted on progit (make killer)
23:16:06 <elliott> [[Superosity is the greatest comic in existence. There are many comics in existence that have earned genius-level Comic Quotient's (CQ) for short periods of time. Calvin and Hobbes demonstrated that a CQ of 145 was possible by combining beautiful artwork, kinetic humor, and philosophically balanced characters with a semi-episodic story structure. Jim Davis, the creator of Garfield, once earned a CQ of 136 for a six month period in the late 1980s
23:16:06 <elliott> and has consistently held himself in the mid 120's by applying a consistently minimalistic banality. Scott Adams, creator of Dilbert, holds the honor of maintaining 128 for more than six years in a row. Family Circus, on the other hand, continues to exist in syndication despite a CQ below 80.
23:16:06 <elliott> Superosity however, holds the distinction of having achieved an average CQ of 193 over the last ten years. This places it approximately five and a half standard deviations away from the average mainstream comic. This singular fact would appear to be mysterious if not for the concomitant fact that creator Chris Crosby is truly a creative genius of the type that Greek Myths would be written about (and by) if this were presently a Greek World.]]
23:16:13 <elliott> Sgeo_: Why does this wiki exist, and how can I stop it existing.
23:16:32 <elliott> olsner: oh, it's chris2's!
23:17:45 <Sgeo_> elliott, wait, you found genuine content that wasn't touched?
23:17:54 <elliott> Sgeo_: That is not genuine content, that is a pile of shit.
23:18:03 <elliott> fizzie: [[mcmap: ../../src/xcb_io.c:249: process_responses: Assertion `(((long) (dpy->last_request_read) - (long) (dpy->request)) <= 0)' failed.]]
23:18:09 <elliott> fizzie: I AM TOTALLY CLOSE TO WORKING THIS OUT
23:18:24 <olsner> elliott: who's that?
23:18:41 <elliott> olsner: he invented tumblelogs and did a bunch of other things too
23:18:46 <elliott> (w/ http://anarchaia.org/)
23:19:13 <elliott> olsner: oh -- he did not write the program
23:19:15 <elliott> just posted the reddit link
23:19:20 -!- Phantom_Hoover_ has quit (Remote host closed the connection).
23:20:20 * Sgeo_ ponders making a Python script that will autoblock every IP
23:20:52 <elliott> Sgeo_: You could just disable editing.
23:20:55 <elliott> Or protect every page.
23:21:21 <Sgeo_> elliott, I think I'd need access to server-side config stuff to disable editing?
23:21:36 <elliott> Vorpal: fizzie: https://github.com/fis/mcmap; now with chatting support. (I accidentally called it readline in the commit message, oh well.)
23:21:51 <elliott> Vorpal: Doesn't handle // commands because of internal structure, but it's fully readline-enabled.
23:22:02 <elliott> I think that redirecting output to a file now doesn't work for some reason, however; I'll fix it later.
23:22:11 <elliott> Sgeo_: Probably. If the rest of the pages are like that then spam is an improvement.
23:22:47 -!- j-invariant has quit (Quit: leaving).
23:25:24 <Sgeo_> elliott, genuine content:
23:25:26 <Sgeo_> http://wikisuperosity.com/index.php?title=List_of_Superosity_Characters
23:26:54 <Sgeo_> Even more: http://wikisuperosity.com/index.php?title=Boardy
23:32:16 <Sgeo_> You can never accuse me of not having esoteric taste
23:32:27 <Sgeo_> Hmm, eccentric might be a better word
23:34:57 <fizzie> elliott: I'm pleasantly surprised at how small the commit is. I was expecting something quite a lot more horrible. (Yes, yes, I'm still asleep.)
23:35:12 <elliott> fizzie: Yes, well, they do call me the God Of Code.
23:35:24 <elliott> fizzie: (Really, though, the only bug was ^D and ^C handling, which required thought more than anything else.)
23:35:49 <elliott> fizzie: (Readline thankfully does the right thing if you \r before printing, \n after, and then force it to redraw the line.)
23:36:07 <elliott> fizzie: Re: redirecting to a file -- but now it has industry-standard timestamping!
23:36:46 <elliott> fizzie: BTW, hypothetically, it might be nice if snow-covered things just got tinted.
23:36:52 <elliott> fizzie: Rather than, you know, becoming invisible in a sea of snow.
23:36:55 <elliott> (On overhead view.)
23:37:12 <fizzie> elliott: It doesn't quite do completely the right thing.
23:37:23 <fizzie> If you write an input line that's longer than the offending input, the trailing bits are left.
23:37:48 <fizzie> You probably need a \r<clear-to-end-of-line>[new output]\n instead of just \r[new output]\n.
23:38:06 <elliott> fizzie: Very well then. (I should probably get a global set up for is_doing_readline_stuff to separate all this out.)
23:38:12 <fizzie> 01:23:21 [CHAT] Player list (2/10): ehird, fizziefjoi jojoi joi jjoisdfjoisdaof josadf joasdf joosajifd
23:38:12 <fizzie> 01:23:35 [CHAT] <ehird> Hello there, asleep-ghost.joi jojoi joi jjoisdfjoisdaof josadf joasdf joosajifd
23:38:15 <elliott> fizzie: (And also that'd let you disable readline at compile time, for all the embedded system uses.
23:38:22 <elliott> uses.)
23:38:24 <elliott> *uses.)
23:38:37 <elliott> fizzie: Vorpal apparently runs mcmap on another machine to the one he connects on for no apparent reason.
23:38:45 <elliott> fizzie: Perhaps we should OPTOMIZE(tm) for LATENCY.
23:38:48 <fizzie> I thought he had quasi-sensible reasons.
23:39:01 <elliott> fizzie: "Um, uh, RAM something this, full screen that."
23:39:01 <fizzie> Anyway, it tries to be low-latency, though not very hard.
23:39:20 <elliott> fizzie: It seems that he has a machine with not much RAM and a good GPU, and lots of RAM and a crap GPU.
23:39:22 <fizzie> Mainly what it does is "forward the packet immediately after reading it".
23:39:23 <elliott> One may speculate freely.
23:39:43 <elliott> fizzie: Tomorrow, I might see about saving the map state to a file.
23:40:07 <fizzie> Anyway re clean-end-of-line, I don't mind if you just do \x1b[K instead of actually using the proper sequences from terminfo.
23:40:08 <elliott> Also giving reeds a colour. They need one.
23:40:12 <elliott> fizzie: Oh, of course.
23:40:20 <fizzie> Given that it already does colors with hardcoded escapes.
23:40:26 <elliott> I was thinking printing spaces or something; I'm kinda dumb.
23:40:30 <Sgeo_> Wow, the meds are really helping me focus on anything but homework
23:42:38 <oerjan> Sgeo_: *facepalm*
23:44:11 <fizzie> At some point you could add auto-wrapping (maybe even try it dumbly at spaces/hyphens when it looks okay) to forcibly conform the 100-char limit. Just in case one pastes in something and forgets to think about it.
23:44:17 <fizzie> But now really honestly gone.
23:44:20 -!- reiffert has left (?).
23:45:24 -!- FireFly has quit (Quit: swatted to death).
23:48:09 <elliott> oerjan: I think you should ban Sgeo_.
23:48:22 <elliott> oerjan: his request was, after all, in spirit eternal: if I give in to the temptation to IRC instead of homeworking, ban me.
23:48:25 <elliott> therefore you must
23:48:45 <Sgeo_> elliott, why do you hate me so>
23:48:46 <Sgeo_> ?
23:48:56 <elliott> I hate everyone equally.
23:48:59 <elliott> You just get special treatment.
23:50:08 -!- hagb4rd has quit (Quit: hagb4rd).
23:52:36 <Sgeo_> elliott, what do you think of BitCoins?
23:53:11 -!- cheater99 has joined.
23:56:58 -!- cheater99 has quit (Read error: Connection reset by peer).
2010-12-20
00:00:50 * Mathnerd314 will get some when the getting's good. (but not before)
00:05:09 <oerjan> Mathnerd314: ah but when ordinary people _think_ the getting's good is just when schemes are about to collapse >:)
00:06:01 <oerjan> (applies to stocks, pyramid schemes and bubbles in general)
00:06:03 <Mathnerd314> oerjan: what makes you think I'm an ordinary person?
00:07:45 <oerjan> Mathnerd314: believing you are smarter than the market is the first warning sign >:)
00:07:54 <oerjan> (also a lack of sense of humor)
00:08:31 <Mathnerd314> hmm, I'll agree I should take an economics course or two, but it's pretty hard to claim I'm dumber than average
00:09:07 <Mathnerd314> (and I do have a sense of humor; I just don't use it since it tends to distract from the point at hand)
00:13:47 -!- cheater99 has joined.
00:14:44 <elliott> what oerjan said
00:15:24 <coppro> everyone should take an economics course
00:15:30 <elliott> Sgeo_: well i object to any use of bitcounts to sell data.
00:15:33 <elliott> Sgeo_: other than that i have no opinion
00:15:34 <coppro> it should be a prequisite to having an opinion
00:16:39 <elliott> coppro: and to hell with anyone who self-educates amirite
00:17:00 <coppro> elliott: self-education is ok. but you have to pass the test.
00:17:28 <elliott> coppro: heh. guess that'll ensure economics doesn't get too much innovation then!
00:17:44 <coppro> elliott: no, you're still allowed to innovate
00:17:47 <coppro> just not to have an opinion
00:18:31 <elliott> coppro: obviously you're not being serious, but that doesn't stop you being stupid too.
00:19:30 <coppro> elliott: I was only half kidding
00:19:48 <coppro> people should actually not be allowed to argue about government spending until they know the definition of the word "externality"
00:19:50 <elliott> coppro: indeed. it's the best way to say wrong things without being called out on it.
00:19:52 <elliott> (note: cynical)
00:20:16 <elliott> coppro: there are plenty of autodidactic geniuses. and there are plenty of college-educated morons.
00:20:31 <elliott> who passed exams, even.
00:20:53 <coppro> elliott: I know this fact
00:21:34 -!- cheater99 has quit (Read error: Connection reset by peer).
00:27:03 <pikhq> Everyone should know economics. *Especially* anyone who thinks about touching anything to do with the government.
00:27:35 <pikhq> Also, stupidity should be more painful.
00:27:49 <elliott> I support this painful-stupidity proposal
00:28:14 * oerjan is strongly against
00:28:49 <elliott> oerjan: But think of the politicians screaming in pain on the TV.
00:28:57 <pikhq> And the voters!
00:28:59 <elliott> oerjan: (It would trigger for doing stupid things, not for being stupid, which is a different thing entirely.)
00:32:08 -!- majawana has joined.
00:36:59 <elliott> Lava pit at (-2241,1966).
00:37:06 <elliott> ((x,z))
00:38:15 -!- cheater99 has joined.
00:39:52 <elliott> Nice tree at (-2009,1653); however I want wood so it shall die.
00:41:32 -!- cheater99 has quit (Read error: Connection reset by peer).
00:43:12 <Sgeo_> I want to slap everyone who thinks of Bitcoins as a way to be free of transaction fees
00:44:48 -!- hagb4rd has joined.
00:50:30 -!- pikhq has quit (Ping timeout: 260 seconds).
00:50:46 <elliott> Supposedly "VORPAL WAS HERE".
00:52:52 <elliott> (-1777,1324) -- nice cave. Explore sometime.
00:57:26 <elliott> There used to be clay at (-1675,966), but it's all mine now.
00:57:51 <elliott> Pretty damn tall dual-bodied tree just after that, too.
00:58:13 -!- cheater99 has joined.
01:03:05 -!- cheater99 has quit (Read error: Connection reset by peer).
01:03:49 -!- hIchamAT has joined.
01:04:32 -!- hIchamAT has left (?).
01:19:05 <olsner> great, there's a convenient instruction for swapping the 'gs' segment when entering/leaving the kernel, but interrupt handlers can be called from both user and kernel mode - you need to figure out which context you came from and swapgs conditionally
01:20:58 -!- cheater99 has joined.
01:23:58 <elliott> I DID IT
01:25:52 -!- cheater99 has quit (Read error: Connection reset by peer).
01:32:53 <Vorpal> elliott, did what?
01:33:05 <elliott> Vorpal: walked from (-4000,4000) to spawn
01:33:09 <elliott> you had a sign on the way, i put one next to it
01:33:18 <Vorpal> elliott, what did that sign say
01:33:23 <Vorpal> I completely don't remember it
01:33:33 <elliott> Vorpal: VORPAL / WAS / HERE
01:33:40 <Vorpal> elliott, wasn't that on the very marker?
01:33:44 <elliott> ?
01:33:49 <elliott> -4000, not 4000
01:33:52 <elliott> it's north-ways
01:33:55 <Vorpal> elliott, oh
01:33:56 <elliott> Vorpal: I put "BUT THEN EHIRD WAS HERE AND IT WAS MUCH COOLER" next to it, anyway. :p
01:34:02 <Vorpal> elliott, :P
01:34:34 <Vorpal> elliott, the marker at 4k,4k has a sign on top saying "Vorpal was here, and he was great"
01:35:49 -!- Slereah has quit (Ping timeout: 276 seconds).
01:36:48 <elliott> Vorpal: Anyway, pull mcmap; it has been muchly modified today.
01:40:13 -!- Slereah has joined.
01:43:36 -!- cheater99 has joined.
01:43:46 <elliott> Vorpal: hm interesting http://www.minecraftwiki.net/wiki/Griefing doesn't list /anything/ about teleportation
01:43:56 <elliott> I think fizzie may be the first one to discover this rather crippling bug.
01:45:53 <Deewiant> The Hacks subsection lists flying and noclip, which are arguably worse
01:46:21 <elliott> Deewiant: Arguably?
01:46:25 <elliott> Deewiant: This thing can take down a server for minutes.
01:46:37 <elliott> Deewiant: Hell, arbitrary lengths of time (travel to 2^60 anyone?)
01:46:52 <Deewiant> Oh right, the DOS thing
01:46:55 <Deewiant> Forgot about that
01:47:23 -!- cheater99 has quit (Read error: Connection reset by peer).
01:48:06 <elliott> Deewiant: Maybe I should tell Notch about it on Twitter by pinging him -- you know, full disclosure and all that... :-P
01:50:16 <elliott> Deewiant: Oh, and you could fill up some poor bastard's disk too.
02:01:53 <elliott> Vorpal: Yes. At risk.
02:02:29 -!- zzo38 has joined.
02:03:25 <elliott> Vorpal: Are you so much at risk that you've given up playing?
02:03:52 -!- cheater99 has joined.
02:04:09 <Vorpal> elliott, details
02:05:39 -!- cheater99 has quit (Read error: Connection reset by peer).
02:22:24 -!- cheater99 has joined.
02:22:27 <majawana> who's up for some coffee?
02:25:18 <elliott> yes
02:25:53 -!- cheater99 has quit (Read error: Connection reset by peer).
02:26:47 -!- majawana has left (?).
02:37:18 -!- augur has quit (Remote host closed the connection).
02:38:08 <zzo38> I want no coffee, please
02:40:41 <elliott> Vorpal: how's it a mess?
02:42:24 -!- cheater99 has joined.
02:44:13 <Vorpal> elliott, well... it's messy
02:44:14 <Vorpal> !
02:44:38 -!- cheater99 has quit (Read error: Connection reset by peer).
02:45:48 -!- augur has joined.
03:01:21 -!- cheater99 has joined.
03:04:05 -!- cheater99 has quit (Read error: Connection reset by peer).
03:15:06 -!- zeotrope has quit (Ping timeout: 265 seconds).
03:15:26 -!- hagb4rd has quit (Ping timeout: 240 seconds).
03:20:24 <Vorpal> oerjan, there?
03:20:31 <Vorpal> oerjan, math question
03:20:36 -!- cheater99 has joined.
03:20:49 <oerjan> AAAAAAAAAAAAAAAAAAAaa
03:20:51 <Vorpal> oerjan, for every m in Z_+ there is an n in Z_+ such that m^n (mod 65) == 64
03:20:55 <Vorpal> oerjan, that is the theory
03:20:56 <oerjan> i mean, hi
03:20:57 <Vorpal> is it true?
03:21:22 <oerjan> oh hm
03:21:32 <oerjan> lessee 65 = 13*5
03:21:48 <Vorpal> oerjan, it was something with prime, right
03:22:10 <oerjan> ok so it's false e.g. for m = 5
03:22:13 <Vorpal> hm
03:22:31 <Vorpal> actually the equation is not correct for the problem
03:22:43 <Vorpal> since the problem in question gives 1 after 64
03:22:46 <Vorpal> there is no 0
03:22:54 <Vorpal> (stacking items in minecraft)
03:23:07 <elliott> so it's mod_63 really
03:23:07 <Vorpal> so wrong equation
03:23:07 -!- cheater99 has quit (Read error: Connection reset by peer).
03:23:22 <Vorpal> elliott, but then you couldn't get stacks of 64
03:23:30 <elliott> 0 = stack of 1
03:23:33 <elliott> 1 = stack of 2
03:23:34 <elliott> ...
03:23:40 <Vorpal> hm
03:23:41 <elliott> erm
03:23:42 <Vorpal> ah
03:23:42 <elliott> mod_64 really
03:23:43 <elliott> then
03:23:45 <elliott> 63 = stack of 64
03:24:15 <Vorpal> $ factor 64
03:24:15 <Vorpal> 64: 2 2 2 2 2 2
03:24:54 <Vorpal> elliott, yet 3 works
03:25:39 <oerjan> Vorpal: actually the primeness has nothing to do with it, it's false for m = 65 which obviously generalizes
03:25:48 <oerjan> (that equation)
03:25:49 -!- boily has joined.
03:26:44 <Vorpal> oerjan, hm
03:27:24 <Vorpal> oerjan, then same question but given that instead of 0 it goes to 1
03:27:42 <Vorpal> oerjan, so that f(64) = 64, f(65) = 1
03:27:54 <oerjan> Vorpal: you haven't yet defined anything clearly
03:28:00 <Vorpal> oerjan, true
03:28:05 <Vorpal> oerjan, I don't know how to define it
03:28:15 <Vorpal> oerjan, it is an iterative algorithm I want to study really
03:28:25 <oerjan> well then give the bloody algorithm
03:28:29 <Vorpal> oerjan, yeah
03:28:31 <Vorpal> lets see
03:28:58 <Vorpal> you have a number m. You can perform one operation on it. That operation is to double it
03:29:00 <Vorpal> however
03:29:21 <Vorpal> if it goes to 65 you get 1 back
03:29:33 <oerjan> what if it goes _above_ 65?
03:29:40 <Vorpal> anything above 64 gives you the value - 64
03:29:46 <oerjan> ok
03:29:47 <Vorpal> such that 66 - 64 = 2
03:29:49 <Vorpal> and so on
03:30:06 <elliott> oerjan: basically there's a bug. you can duplicate a stack of N into two stacks of N.
03:30:19 <oerjan> f(x) = let y = 2*x in if y > 64 then y-64 else y
03:30:21 <elliott> oerjan: vorpal wants to know: if you duplicate a stack until you have a 64 stack + leftovers, then do the same to the leftovers
03:30:23 <Vorpal> oerjan, now, will repeatedly duping it sooner or later give you exactly 64
03:30:25 <elliott> oerjan: do you ever end up with just 64s?
03:30:26 <elliott> and no leftovers
03:30:45 <Vorpal> so far most it took me is 3 "wraparounds"
03:31:31 <oerjan> oh hm well this is the same as doubling mod 64, really
03:31:40 <oerjan> and asking whether you ever reach 0
03:31:53 <Vorpal> oerjan, maybe.
03:31:54 <oerjan> which is indeed true
03:32:00 <Vorpal> oerjan, for all starting values?
03:32:08 <Vorpal> right
03:32:16 <oerjan> six doublings gives you 0 (mod 64)
03:32:22 <Vorpal> right
03:34:06 <oerjan> a stack of odd size should give you that in exactly six
03:34:16 <Vorpal> oerjan, probably
03:34:28 <Vorpal> hm
03:34:33 <Vorpal> oerjan, how do you calculate that
03:34:40 <Vorpal> just out of interest
03:34:42 -!- hagb4rd has joined.
03:34:48 <oerjan> oh and i think the most wraparounds are if you start with 63
03:35:18 <coppro> Vorpal: 2^6 = 64
03:35:24 <Vorpal> ah right
03:35:39 <oerjan> Vorpal: well it hits 0 (mod 64) when the number becomes divisible by 2 six times, each doubling adds one
03:36:46 <oerjan> 63 -> 62 -> 60 -> 56 -> 48 -> 32 -> 64 with all except the last step wrapping
03:36:57 -!- Quadrescence has quit (Quit: omghaahhahaohwow).
03:37:30 <Vorpal> ah right
03:38:11 <oerjan> and that's the most you can get, since the final step hitting 64 cannot wrap
03:38:27 <Vorpal> indeed
03:38:38 -!- augur has quit (Ping timeout: 240 seconds).
03:38:57 <oerjan> actually the number of wraps is the same as the number of set bits minus 1, i think
03:39:05 <Vorpal> hah
03:39:06 <oerjan> oh wait
03:39:32 <oerjan> yes, i think so
03:39:38 -!- cheater99 has joined.
03:39:56 <Vorpal> elliott, ls ~/.minecraft/resources/streaming
03:40:05 <Vorpal> elliott, those are records
03:40:15 <Vorpal> elliott, but we only have two records
03:40:18 <Vorpal> yet there are more .mus
03:40:20 <Vorpal> huh
03:40:20 <elliott> yes, c4183274982347whatever has mentioned it
03:40:30 <Vorpal> elliott, so how can we get the other .ogg
03:40:40 <Vorpal> elliott, that are missing
03:40:46 <Vorpal> $ ls
03:40:46 <Vorpal> 11.mus 13.mus 13.ogg blocks.mus cat.mus cat.ogg chirp.mus far.mus mall.mus mellohi.mus stal.mus strad.mus ward.mus where are we now.mus
03:40:47 <Vorpal> I mean
03:40:58 <elliott> shrug
03:41:01 <Vorpal> surely we can extract the missing ones somehow
03:41:15 <elliott> .mus looks like Finale music score
03:41:19 <elliott> or
03:41:23 <elliott> "SCORE Music Publishing System"
03:41:26 <Vorpal> elliott, they are "data" days file
03:41:43 <elliott> I would guess Finale.
03:41:43 <elliott> *Maybe.*
03:41:49 <Vorpal> elliott, don't think so
03:42:01 <Vorpal> why would he distribute that
03:42:02 -!- cheater99 has quit (Read error: Connection reset by peer).
03:42:12 <Ilari> oerjan: BTW: Grains are quite nasty for digestive system. And the bad effects are not limited to digestive system, those can show up as who knows what problems in who knows where (joints, heart, brain, you name it...).
03:42:14 <elliott> shrug
03:42:19 <Vorpal> elliott, probably just metadata
03:42:30 <elliott> -rw-r--r-- 1 elliott elliott 1.5M Nov 10 18:00 /home/elliott/.minecraft/resources/streaming/strad.mus
03:42:32 <elliott> Vorpal: DOUBTFUL
03:42:39 <elliott> probably some tracker thing
03:42:39 <Vorpal> elliott, hm
03:42:40 <elliott> maybe
03:42:45 <Vorpal> elliott, yeah
03:42:45 <elliott> -rw-r--r-- 1 elliott elliott 1.1M Nov 10 17:59 13.mus
03:42:45 <elliott> -rw-r--r-- 1 elliott elliott 1.1M Nov 10 17:59 13.ogg
03:42:48 <elliott> -rw-r--r-- 1 elliott elliott 1.3M Nov 10 17:59 cat.mus
03:42:48 <elliott> -rw-r--r-- 1 elliott elliott 1.3M Nov 10 17:59 cat.ogg
03:42:49 <elliott> insert obvious theory
03:43:01 <Vorpal> elliott, xor?
03:43:12 <elliott> Vorpal: maybe binary audio data but in another format. but sure, xor to see if you can get the ogg header
03:43:23 -!- hagb4rd has quit (Ping timeout: 240 seconds).
03:43:25 <Vorpal> elliott, didn't you write a program for it?
03:43:53 <Vorpal> elliott, exactly as many bytes long
03:44:07 <Vorpal> if different format I would expect it to differ a bit
03:45:10 <elliott> Vorpal: a program for what?
03:45:14 <elliott> but yeah, i expect they're the same data
03:45:29 <Vorpal> elliott, a program for xoring router firmware
03:46:05 <elliott> Vorpal: oh. no, i stole one off the interwebs
03:46:13 -!- boily has quit (Quit: leaving).
03:46:14 <elliott> but uh, it's just putchar(getchar()^3590835904) :P
03:46:18 <elliott> easy to do with even python
03:46:21 <elliott> since all you need to find is the ogg header
03:47:11 <Vorpal> yeah
03:47:15 <Vorpal> elliott, btw http://www.minecraft.net/resources/
03:48:00 <elliott> heh
03:48:08 <elliott> wonder if you can replace them easily? probably already done
03:49:34 <Vorpal> elliott, anyway "meh" at trying to figure out scheme for "encryption"
03:49:49 <Vorpal> elliott, presumably decompiling is easier
03:49:50 <elliott> "meh" at iterating through 256 values, xoring a few bytes, and comparing them? srsly?
03:50:01 <Vorpal> elliott, meh at writing any code this time of the day
03:50:34 -!- augur has joined.
03:50:58 -!- hagb4rd has joined.
03:52:01 <elliott> Vorpal: Well, it's not a simple xor cipher.
03:52:11 <Vorpal> elliott, oh?
03:52:29 <elliott> Tested all combos.
03:52:32 <elliott> 'O,\x8d\xbf'
03:52:37 <elliott> Should be OggS.
03:52:47 <Vorpal> huh
03:53:53 <oerjan> to xor, xor not to xor, that is the question
03:54:15 <elliott> might be iterative xor of some kind, whatever
03:57:18 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
03:58:38 -!- cheater99 has joined.
03:58:38 <zzo38> I sometimes make a stupid mistake. I made a stupid mistake I accidentally typed q=malloc(strlen(s)+strlen(stack_ptr->text)); instead of q=malloc(strlen(s)+strlen(stack_ptr->text)+1); but I fixed it now. Now it can do things like this:
03:58:44 <zzo38> <[:]ra+s2s1[Al1rl2xY]xD>
03:58:47 <zzo38> <[:]ra+s2[;]ra+s10[ddl1xrl2x1+d256-0 1diQY]xD>
03:59:52 <zzo38> Do you think I made some progress with this program now? (I added various other features too, including a few fixed and new data structures.)
04:00:38 -!- hagb4rd2 has joined.
04:00:51 <zzo38> It actually has some similarities to dc and Underload. Do you think it is?
04:02:14 -!- hagb4rd has quit (Ping timeout: 240 seconds).
04:03:57 -!- cheater99 has quit (Read error: Connection reset by peer).
04:04:04 <zzo38> Any Underload program without S can be directly written in TeXnicard by converting one character to one character, in fact.
04:07:03 <Vorpal> XD
04:07:16 <Vorpal> night →
04:12:56 -!- elliott has quit (Quit: Leaving).
04:13:21 <zzo38> Hay you! What time is it on the moon right now?
04:14:09 <oerjan> heh
04:15:37 <oerjan> i think that question doesn't have a definite answer
04:16:52 <oerjan> any more than "what time is it on earth now" does
04:18:53 <zzo38> oerjan: I believe you.
04:19:53 -!- cheater99 has joined.
04:20:27 <oerjan> although in addition, the day on the moon is a lot longer than on earth, about a month long
04:20:44 <zzo38> Do you like my general plan of TeXnicard? (The plan is it makes .tex and .mf and so on from the .cards file, and then .dvi and .*gf, and then from those it creates MIFF and send the results to ImageMagick to process.)
04:21:07 <zzo38> (Which means, that to use TeXnicard, you also need TeX, METAFONT, and ImageMagick.)
04:21:12 <oerjan> because the moon always has the same face towards the earth, and goes around in a (moon, not calendar) month
04:21:18 <oerjan> *around it
04:22:34 <oerjan> although it's still short compared to venus's day which is only a bit different from a venus _year_
04:22:36 <zzo38> oerjan: Yes, that is what a "month" is, isn't it?
04:22:48 -!- Wamanuz4 has joined.
04:23:32 <oerjan> yeah but the calendar months aren't exactly those months in our calendar, because they were stretched to get exactly 12 in a year
04:23:32 -!- cheater99 has quit (Read error: Connection reset by peer).
04:24:05 <oerjan> unlike the islamic and jewish ones, afair
04:24:10 <zzo38> oerjan: Yes. I know that.
04:24:38 <oerjan> and probably the chinese too iirc
04:26:20 -!- Wamanuz3 has quit (Ping timeout: 264 seconds).
04:30:11 <zzo38> Will you be part of the TeXnicard contest?
04:30:28 <oerjan> no.
04:30:44 <zzo38> Have you ever used Magic Set Editor?
04:30:56 <oerjan> no.
04:31:48 <zzo38> Do you have any high resolution templates for Magic: the Gathering cards? I should need templates with a better quality than the ones Wizards of the Coast uses.
04:32:56 * oerjan leaves that question for anyone else who might play magic
04:35:42 -!- pikhq has joined.
04:38:00 <pikhq> http://www.engadget.com/2010/12/19/wireless-carriers-openly-considering-charging-per-service/ FUCK YOU PHONE COMPANIES.
04:38:03 <pikhq> FUCK YOU.
04:39:32 <zzo38> Of course, Magic: the Gathering might not be the first templates we make for TeXnicard. But it should be done eventually. However, none of these templates will be included with TeXnicard, you will have to download them separately, because they are not part of TeXnicard.
04:40:23 -!- cheater99 has joined.
04:42:53 -!- cheater99 has quit (Read error: Connection reset by peer).
04:46:14 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
04:46:27 -!- evincar has joined.
04:49:33 -!- poiuy_qwert has joined.
04:59:23 -!- cheater99 has joined.
05:02:32 -!- cheater99 has quit (Read error: Connection reset by peer).
05:10:49 -!- Sgeo_ has joined.
05:19:23 -!- cheater99 has joined.
05:22:02 -!- cheater99 has quit (Read error: Connection reset by peer).
05:36:35 -!- evincar has left (?).
05:38:16 -!- pikhq has quit (Ping timeout: 265 seconds).
05:38:23 -!- cheater99 has joined.
05:39:51 -!- pikhq has joined.
05:40:28 -!- cheater99 has quit (Read error: Connection reset by peer).
05:52:38 -!- hagb4rd2 has quit (Ping timeout: 240 seconds).
05:57:23 -!- cheater99 has joined.
06:00:08 -!- cheater99 has quit (Read error: Connection reset by peer).
06:16:23 -!- cheater99 has joined.
06:19:16 -!- cheater99 has quit (Read error: Connection reset by peer).
06:20:04 <Sgeo_> I'm addicted to blockexplorer.com
06:20:31 <coppro> bitcoin is dumb
06:20:42 <coppro> it's too scarce
06:24:52 <coppro> ais523: hey, quick random questoin
06:25:04 <coppro> why does ESR associate you with Discordianism here: http://esr.ibiblio.org/?p=2491
06:28:39 <zzo38> Would you be interested in a program converting MSE set symbol files into TeXnicard format?
06:31:33 <coppro> not really
06:31:45 <coppro> I haven't touched MSE code at all in a while
06:31:59 <pikhq> zzo38: Oh, right, you're making something much less revolting than MSE!
06:32:00 <pikhq> :D
06:32:24 <zzo38> This would probably be done by writing METAFONT macros for the various symbol combines, symmetry, and so on, in .mse-symbol files.
06:32:40 <zzo38> pikhq: Are you interested in MSE and/or TeXnicard?
06:33:21 <pikhq> zzo38: I'm a bit interested in TeXnicard, because my experience using MSE in the past has been rather painful.
06:33:51 <pikhq> Especially the Linux port.
06:33:57 <pikhq> Sorry, coppro, but ow.
06:34:50 <zzo38> pikhq: OK. Do you have any suggestions/comments for TeXnicard? I might consider them. (I also found MSE a bit painful, which is one of the reasons I am writing TeXnicard. In addition, it should run the same on Linux as Windows, no need to make separate ports.)
06:35:23 -!- cheater99 has joined.
06:35:33 <pikhq> zzo38: Currently, no real comments, except "Ooooh, good typesetting".
06:35:49 <pikhq> zzo38: Oh, well. It would be nice if it were easier to create new templates for cards.
06:36:08 <pikhq> MSE's whole spriting approach is a bit obtuse.
06:36:26 <zzo38> pikhq: Well, yes, it will use TeX for typesetting the cards (and ImageMagick for rendering them).
06:37:04 <zzo38> pikhq: Yes, it would be nice for a better way to create new templates. What would be good is some GUI program that allows placing the fields.
06:37:16 <pikhq> Mmm.
06:37:54 <coppro> pikhq: no offense taken
06:38:03 <coppro> linux port is a rickety thing at bets
06:38:04 <zzo38> After writing the main TeXnicard program, I might write some additional utilities, which can be used for such things as these.
06:38:04 <coppro> *best
06:38:09 <coppro> which is kind of why I gave up
06:38:27 -!- cheater99 has quit (Read error: Connection reset by peer).
06:38:32 <pikhq> coppro: I know I spent a full freaking day patching it to *build*.
06:38:36 <pikhq> Not *work*, just *build*.
06:39:04 <pikhq> I'd probably have better luck going through winelib.
06:40:45 <zzo38> pikhq: Well, then good thing that TeXnicard probably will not require any such things as that. If it does require a few patches though, they should be very few, and can be made in a .ch file.
06:41:30 <coppro> pikhq: really? yuk
06:41:38 <coppro> I can at least get it to build
06:41:49 <coppro> but then again, autoconf is happy with my system
06:41:56 <coppro> (which is itself a miracle)
06:42:08 <zzo38> coppro: What things don't work with MSE in Linux?
06:42:15 <coppro> zzo38: oh, lots of things
06:42:28 <coppro> zzo38: there's one menu that crashes it about 50 % of the time
06:42:37 <coppro> it's like my arch-nemesis
06:42:44 <coppro> there's some bug deep in wx it's triggering I think
06:43:04 <pikhq> coppro: I was using Gentoo at the time.
06:43:12 <pikhq> coppro: And Gentoo tends to expose a *lot* of build system bugs.
06:43:19 <coppro> or some random arbitrary input restriction that the debug build doesn't check for and is inconsistent across platforms
06:43:28 <coppro> wxWidgets absolutely loves those
06:43:54 <coppro> wxWidgets is a piece of shit
06:45:00 <zzo38> Well, obviously I am not using wxWidgets for TeXnicard. (Any utility programs that go with it probably won't use wxWidgets either.)
06:45:09 <coppro> zzo38: I would hope
06:45:19 <coppro> I would not wish wxWidgets upon anyone
06:45:31 <pikhq> Cross-platform UI is basically agony.
06:46:00 <pikhq> Qt is probably the best. wxWidgets... Works sometimes.
06:46:23 <pikhq> GTK is, of course, not native anywhere but X.
06:49:13 <coppro> yeah
06:49:18 <coppro> but Qt has its own pains
06:49:30 <pikhq> Yeah, it does.
06:50:03 <zzo38> Well, I will figure out what GUI toolkit (if any) to use, when it is time to write the utility programs.
06:52:00 <zzo38> What pains does Qt have?
06:52:19 <pikhq> Windows and OS X.
06:52:38 <coppro> also build steps
06:53:01 <coppro> build systems suck enough already that you don't need MOC to screw things up more
06:54:13 <zzo38> Do you have any advice for me to make TeXnicard, in terms of: random number generators, sorting and grouping, pattern matching, word form adjustment (such as plurals and number to words), ?
06:54:53 -!- cheater99 has joined.
06:55:27 <coppro> RNG: don't write it yourself, pick a solid algorithm
06:55:44 <coppro> sorting: don't write it yourself, pick a solid algorithm
06:55:44 -!- cheater99 has quit (Read error: Connection reset by peer).
06:55:55 <coppro> pattern matching: don't write it yourself, use ML
06:56:15 <pikhq> coppro: TeX.
06:56:21 <pikhq> coppro: He's writing it himself.
06:56:22 <pikhq> :)
06:56:51 <zzo38> coppro: OK, then what solid algorithms should be used?
06:57:30 <zzo38> (For sorting, C does have a qsort command for sorting, which could be used for a part of it, maybe)
06:57:41 <zzo38> And what is ML?
07:00:22 <coppro> pikhq: I know :P
07:00:28 <coppro> rofl
07:00:47 <oerjan> zzo38: i think that ML part was a joke
07:00:53 -!- hagb4rd has joined.
07:01:32 <zzo38> oerjan: OK.
07:01:47 <zzo38> But what algorithm to use for random numbers, which is suitable for this program?
07:03:24 <zzo38> And again, what would be best for matching patterns and keywords?
07:04:02 <oerjan> although of course ML _is_ good for writing languages in
07:07:34 -!- pikhq has quit (Ping timeout: 255 seconds).
07:09:31 -!- pikhq has joined.
07:12:05 -!- cheater99 has joined.
07:14:43 -!- cheater99 has quit (Read error: Connection reset by peer).
07:31:23 -!- cheater99 has joined.
07:34:06 -!- cheater99 has quit (Read error: Connection reset by peer).
07:36:17 -!- zzo38 has quit (Remote host closed the connection).
07:37:25 -!- pikhq has quit (Ping timeout: 260 seconds).
07:39:04 -!- pikhq has joined.
07:50:53 -!- cheater99 has joined.
07:53:14 -!- cheater99 has quit (Read error: Connection reset by peer).
07:59:23 -!- hagb4rd has quit (Ping timeout: 240 seconds).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:10 -!- Sgeo_ has quit (Quit: Leaving).
08:02:13 -!- hagb4rd has joined.
08:09:38 -!- cheater99 has joined.
08:13:12 -!- cheater99 has quit (Read error: Connection reset by peer).
08:17:10 -!- ais523 has quit (Remote host closed the connection).
08:28:23 -!- cheater99 has joined.
08:30:28 -!- cheater99 has quit (Read error: Connection reset by peer).
08:47:23 -!- cheater99 has joined.
08:49:36 -!- cheater99 has quit (Read error: Connection reset by peer).
09:01:39 <fizzie> "Included in the release today is leaf decay, working server-side inventory, throwable eggs, and less system hungry servers."
09:01:48 <fizzie> I give that thing rather good odds of breaking mcmap.
09:04:25 <oerjan> BUT CAN YOU MAKE OMELETTES?
09:06:23 -!- cheater99 has joined.
09:08:58 <fizzie> Maybe if you craft a bucket of lava, an iron ingot and an egg together.
09:09:03 -!- cheater99 has quit (Read error: Connection reset by peer).
09:10:29 -!- sftp_ has joined.
09:10:49 -!- sftp has quit (Ping timeout: 240 seconds).
09:25:38 -!- cheater99 has joined.
09:28:02 -!- cheater99 has quit (Read error: Connection reset by peer).
09:44:23 -!- cheater99 has joined.
09:47:42 -!- cheater99 has quit (Read error: Connection reset by peer).
09:53:01 -!- sftp has joined.
09:53:05 -!- sftp_ has quit (Ping timeout: 250 seconds).
10:00:29 -!- sftp_ has joined.
10:00:35 <nooga>
10:00:53 -!- sftp has quit (Ping timeout: 250 seconds).
10:04:21 -!- cheater99 has joined.
10:07:35 -!- cheater99 has quit (Read error: Connection reset by peer).
10:19:43 -!- cheater99 has joined.
10:21:05 -!- atrapado has joined.
10:23:42 -!- cheater99 has quit (Read error: Connection reset by peer).
10:27:50 -!- hagb4rd has quit (Ping timeout: 240 seconds).
10:39:42 -!- cheater99 has joined.
10:40:31 -!- cheater99 has quit (Read error: Connection reset by peer).
10:42:07 -!- sftp has joined.
10:42:38 -!- sftp_ has quit (Ping timeout: 240 seconds).
10:46:36 -!- sftp_ has joined.
10:47:00 -!- sftp has quit (Ping timeout: 272 seconds).
10:56:57 -!- cheater99 has joined.
10:58:29 -!- cheater99 has quit (Read error: Connection reset by peer).
11:03:28 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
11:05:38 -!- poiuy_qwert has joined.
11:10:30 -!- sftp has joined.
11:12:09 -!- wareya has quit (Read error: Connection reset by peer).
11:12:13 -!- sftp_ has quit (Ping timeout: 276 seconds).
11:13:01 -!- wareya has joined.
11:15:17 -!- cheater99 has joined.
11:17:00 -!- sftp_ has joined.
11:17:24 -!- sftp has quit (Ping timeout: 272 seconds).
11:19:02 -!- cheater99 has quit (Read error: Connection reset by peer).
11:23:58 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
11:25:38 -!- poiuy_qwert has joined.
11:35:45 -!- cheater99 has joined.
11:39:07 -!- cheater99 has quit (Read error: Connection reset by peer).
11:43:58 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
11:45:38 -!- poiuy_qwert has joined.
11:55:49 -!- cheater99 has joined.
11:58:26 -!- sftp_ has quit (Remote host closed the connection).
12:00:14 -!- cheater99 has quit (Read error: Connection reset by peer).
12:03:58 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
12:05:25 -!- Quadrescence has joined.
12:05:38 -!- poiuy_qwert has joined.
12:16:47 -!- cheater99 has joined.
12:18:58 -!- atrapado has quit (Remote host closed the connection).
12:19:51 -!- cheater99 has quit (Read error: Connection reset by peer).
12:23:58 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
12:25:38 -!- poiuy_qwert has joined.
12:30:40 -!- pikhq has quit (Ping timeout: 255 seconds).
12:32:23 -!- pikhq has joined.
12:36:17 -!- cheater99 has joined.
12:40:49 -!- cheater99 has quit (Read error: Connection reset by peer).
12:43:37 <fizzie> Vorpal, elliott: "Just asking, have you forgot about the drop + pickup = intact item bug?" → "no, that's fixed as part of the server-side inventory". No more infinitely durable diamond pickaxes.
12:43:58 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
12:45:38 -!- poiuy_qwert has joined.
12:47:09 <fizzie> (And a rather weird comment about "'Collaborating' in chests will be way more fun when you can see each others mouse pointers".)
12:48:02 <Vorpal> fizzie, ouch, when will it be released
12:48:26 <fizzie> Today.
12:48:31 <fizzie> At some unspecified time.
12:48:57 <fizzie> It might also very easily fix the item-placement thing, but that's probably just a good thing.
12:52:45 <Vorpal> fizzie, what item-placement thing?
12:52:54 <fizzie> Oh, right, you weren't around.
12:53:17 <fizzie> I built Deewiant's tree by forcibly placing leaves, yet another instance of server not verifying client-sent values.
12:53:34 <fizzie> But the same thing could obviously be used to place an infinite amount of any block type at all.
12:53:53 <fizzie> (Except possibly bedrock, there is supposedly a special check against that.)
12:55:05 <Vorpal> fizzie, heh
12:57:17 -!- cheater99 has joined.
12:58:38 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
13:00:56 -!- cheater99 has quit (Read error: Connection reset by peer).
13:05:31 <Vorpal> fizzie, anything mentioned about torches btw?
13:06:13 <fizzie> Not in the twitter. "Included in the release today is leaf decay, working server-side inventory, throwable eggs, and less system hungry servers."
13:06:22 <fizzie> Or did I paste that already?
13:06:26 <fizzie> Yes, I did.
13:06:42 <fizzie> And the official server-mod support "early next year".
13:07:57 <Vorpal> hm
13:08:16 <Vorpal> fizzie, time to switch to alternative auth system then
13:08:34 <Vorpal> and log in early
13:13:04 -!- poiuy_qwert has joined.
13:16:45 -!- cheater99 has joined.
13:21:47 -!- cheater99 has quit (Read error: Connection reset by peer).
13:27:22 -!- Quadrescence has quit (Quit: omghaahhahaohwow).
13:27:37 -!- Quadrescence has joined.
13:35:22 -!- FireFly has joined.
13:37:30 -!- cheater99 has joined.
13:43:05 -!- cheater99 has quit (Read error: Connection reset by peer).
13:44:17 -!- tswett has quit (Read error: Operation timed out).
13:50:31 -!- Quadrescence has quit (Quit: omghaahhahaohwow).
13:55:50 -!- pikhq has quit (Ping timeout: 240 seconds).
13:58:03 -!- pikhq has joined.
13:58:15 -!- cheater99 has joined.
13:58:24 -!- oerjan has quit (Quit: leaving).
14:01:47 -!- cheater99 has quit (Read error: Connection reset by peer).
14:05:05 -!- Quadrescence has joined.
14:08:02 -!- tswett has joined.
14:18:15 -!- cheater99 has joined.
14:22:13 -!- cheater99 has quit (Read error: Connection reset by peer).
14:37:53 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
15:04:39 <Vorpal> fizzie, you know those mobile core 2 duo's that make a high pitched noise when they wake up from C4? I can't run mcmap on that laptop due to the noise, it wakes up a lot (even discounting network traffic).
15:05:19 <Ilari> Heh... Reminds me of my other computer that makes noise with high network traffic.
15:05:53 <Vorpal> Ilari, well, it doesn't so much here, anyway I tried with a local server and local client on the same computer... and traffic over lo never made noise before
15:06:18 <Vorpal> and just client + server does not cause the noise
15:06:30 <Vorpal> so something like... 1200 wakeups / second according to powertop
15:06:41 <Vorpal> some of that will be network, but it seems far from all
15:06:46 <fizzie> My other box makes a very annoying whine whenever the display card needs to draw anything 3D.
15:07:15 <Vorpal> heh
15:07:39 <Vorpal> fizzie, anyway, any idea about those extra wakeups?
15:08:49 <fizzie> Not immediately, no. It shouldn't be busy-polling anything when nothing happens, and there aren't any high-frequency timers. (But it's maybe not very performance-optimized in general.)
15:09:05 <Ilari> Heh... 10.3 pinging 10.1, ping times are ~23.4ms. 10.1 pinging 10.3, ping times are ~1.55ms...
15:09:05 <Vorpal> ḧm okay
15:09:30 <Vorpal> Ilari, asymmetric paths do exist
15:09:37 <Vorpal> (might not be the case here)
15:09:58 <Ilari> The paths are symmetric (only one exists).
15:10:14 <Vorpal> Ilari, could be slow firewall on one side maybe?
15:10:28 -!- MigoMipo has joined.
15:10:51 <Ilari> Well, one computer (10.1) is much slower than the other, but that doesn't explain why ping times just worsen and worsen...
15:11:20 <Ilari> The first ping time has increased by almost 50-fold from what it was inititally...
15:11:30 <Vorpal> Ilari, check load?
15:11:47 <Vorpal> if one is swap trashing...
15:12:17 <Vorpal> Ilari, also 10.1, is that a 16-bit IP? XD
15:12:38 <Ilari> Load average: 0.00
15:12:48 <Vorpal> huh
15:13:01 <Vorpal> Ilari, what does (h)top say?
15:13:53 <Ilari> About what? That load average was from top...
15:13:55 <Vorpal> fizzie, anyway the system in question seems to jump between C4 mwait (90.7%) and C0 (5.5%) with the rest accounted by in C2 mwait
15:14:01 <Vorpal> Ilari, well, memory usage
15:14:27 <Vorpal> fizzie, just standing still in MC
15:14:41 -!- elliott has joined.
15:14:45 <Vorpal> some bad scheduling from the linux kernel there I suspect
15:15:03 <Ilari> Over half of memory free or discarable.
15:15:11 <Ilari> *discarable
15:15:20 <Ilari> Swap use less than 1MB.
15:15:25 <Vorpal> Ilari, how very strange, has it worked well before?
15:16:25 <elliott> 20:30:11 <zzo38> Will you be part of the TeXnicard contest?
15:16:25 <elliott> 20:30:28 <oerjan> no.
15:16:25 <elliott> 20:30:44 <zzo38> Have you ever used Magic Set Editor?
15:16:25 <elliott> 20:30:56 <oerjan> no.
15:16:25 <elliott> 20:31:48 <zzo38> Do you have any high resolution templates for Magic: the Gathering cards? I should need templates with a better quality than the ones Wizards of the Coast uses.
15:16:31 <elliott> <oerjan> Funny you should mention it, why yes I do!
15:16:38 <Vorpal> XD
15:16:42 <Vorpal> Ilari, oh wait, is any of the firewalls rate limiting or such?
15:16:43 <elliott> Note: Last line never happened.
15:16:49 <Vorpal> elliott, aww
15:16:53 <Ilari> Pinging IPv6 link-local address of the same box is fast (~0.5ms).
15:16:59 <Ilari> Nope.
15:17:07 <elliott> 22:20:31 <coppro> bitcoin is dumb
15:17:07 <elliott> 22:20:42 <coppro> it's too scarce
15:17:09 <Vorpal> Ilari, .... what
15:17:10 <elliott> coppro: divisible to 8 decimal places
15:17:13 <Vorpal> Ilari, that's just absurd
15:17:14 <elliott> 22:24:52 <coppro> ais523: hey, quick random questoin
15:17:14 <elliott> 22:25:04 <coppro> why does ESR associate you with Discordianism here: http://esr.ibiblio.org/?p=2491
15:17:18 <elliott> coppro: because esr is a fuckfaced moron?
15:17:18 <Vorpal> Ilari, ARP issues?
15:17:29 <Vorpal> though arp *should* cache
15:17:56 <Ilari> Both have correct-looking ARP tables.
15:18:06 <Vorpal> and routing tables?
15:18:19 <Vorpal> Ilari, is it just a switch in between or is the setup more complex?
15:18:34 <Ilari> Seem sane. And yes, only one switch.
15:18:47 <Vorpal> also, there was that one network card that notified every n bytes, not every packet
15:18:57 <Vorpal> was it that rt8192 one?
15:19:58 <fizzie> elliott: "... I discovered that INTERCAL had nucleated an entire weird little subculture of esoteric-language designers around itself, among whom I had come to be regarded as sort of a patriarch in absentia ..." (esr); did you know that's how you regard him?
15:19:59 <elliott> coppro: you just told zzo not to write something himself, /thrice/
15:20:10 <elliott> fizzie: Yes, I did, thanks to ais523 quoting it.
15:20:26 <elliott> fizzie: Funny, 'cuz we all seem to be pretty quiet about our esr worship.
15:20:43 <elliott> fizzie: OH, does he mean how when we came in here every day we said "Praise be to esr, giver upon to us of C-INTERCAL's glory?"
15:20:46 <elliott> Yeah. Yeah, I remember taht.
15:20:48 <elliott> *that
15:21:02 <Vorpal> elliott, except you linking to a webcomic named after him all the time!
15:21:09 <Vorpal> (note, hyperbole)
15:21:11 <elliott> Vorpal: No, no, it's Eric Raymond, not Eric S. Raymond.
15:21:18 <elliott> Totally different guy that looks and behaves identically.
15:21:23 <Vorpal> hah
15:21:41 <elliott> fizzie: BTW -- proper readline erasing -- that escape sequence doesn't really work, because readline actually uses multiple physical-terminal-lines (they're physical, you can touch them and they're fuzzy!)
15:21:43 <elliott> And I just got up!
15:22:12 <elliott> fizzie: And telling readline "undisplay everything, dammit" is difficult because, well, it's not really designed for multithreaded use -- and how can you call rl_shoo_you_bastard() when readline() is blocking?
15:22:15 <Ilari> But that every n bytes wouldn't explain why it was initially fast... Also, the other direction also slows down, but much slower (factor of about 3 currently)
15:23:12 <elliott> fizzie: So there isn't really a function for that. There *are* some functions to save and restore internal state, but if I save state, replace the line with "" to get it to be one line, redraw, erase the line, print out whatever, restore the state, and tell it to redraw, it gives me a blank line I can't type into; enter works to send nothingness, ^A^K does nothing but lets me type, and I think ^A might actually work like that -- I suspect it is s
15:23:12 <elliott> omehow saving the mark and point and whatnot but not the text.
15:23:34 <elliott> fizzie: Perhaps the text-replacing function actually writes to the pointer; I looked at readline's source and it just did "sp->line = readline_line", except with more words there.
15:24:33 <fizzie> elliott: You could make all output go through the readline'ing thread; have it select() (or alike) on both a pipe (of output, from other threads) and stdin, and call that readline callback interface when stdin has data. Though that would only help for the blocking part, not how to properly interlace input and output.
15:24:41 <elliott> 01:01:39 <fizzie> "Included in the release today is leaf decay, working server-side inventory, throwable eggs, and less system hungry servers."
15:24:41 <elliott> 01:01:48 <fizzie> I give that thing rather good odds of breaking mcmap.
15:24:57 <elliott> fizzie: Oh, look at that, I can forget mcmap ever existed for a while!
15:25:10 <elliott> <fizzie> elliott: You could make all output go through the readline'ing thread; have it select() (or alike) on both a pipe (of output, from other threads) and stdin, and call that readline callback interface when stdin has data. Though that would only help for the blocking part, not how to properly interlace input and output.
15:25:22 <elliott> fizzie: The blocking part ain't no problem; log_print() is called from elsewhere. I was talking as
15:25:30 <elliott> fizzie: Mr. Readline Architect, circa 1995, not realising multithreading exists:
15:25:44 <elliott> "But why do you need rl_go_away()? You can't call it while readline() is blocking, so it would never do anything!"
15:25:52 <elliott> <elliott> fizzie: The blocking part ain't no problem; log_print() is called from elsewhere. I was talking as
15:25:52 <elliott> <elliott> fizzie: Mr. Readline Architect, circa 1995, not realising multithreading exists:
15:25:53 <elliott> Great.
15:25:58 <elliott> I've started splitting my IRC lines Minecraft-style.
15:26:09 <fizzie> Anyway, elsewhere, must get home.
15:26:51 <elliott> 05:07:57 <Vorpal> hm
15:26:51 <elliott> 05:08:16 <Vorpal> fizzie, time to switch to alternative auth system then
15:26:51 <elliott> 05:08:34 <Vorpal> and log in early
15:27:01 <elliott> Vorpal: Or just get an hMod plugin that makes all items durable.
15:27:53 <Vorpal> elliott, that works too
15:28:14 <elliott> Vorpal: So, uh, we should duplicate every block. Now.
15:28:40 <Ilari> What I guess that slowdown might be is that continuous pinging pollutes some connection tracking tables and the system then has to search for the active entry...
15:31:13 -!- j-invariant has joined.
15:32:19 <Vorpal> Ilari, hm but ICMP? connection tracking?
15:32:24 <Vorpal> well maybe
15:32:40 <Vorpal> Ilari, anyway, do you do something strange with contrack and icmp?
15:34:04 <Ilari> Actually there goes that theory... 10.1 has no firewall rules.
15:34:19 <Vorpal> Ilari, kernel bug or shoddy hardware?
15:34:39 <Ilari> Both 10.1 and 10.3 run the same kernel version (but diffrent archs).
15:34:40 <Vorpal> and does it reach a cap in ping time? Or does it keep getting worse still?
15:34:54 <Ilari> I think it goes worse and worse...
15:35:08 <Ilari> But it is fairly slow process...
15:35:18 <Vorpal> Ilari, what does rebooting do to it?
15:35:35 <Ilari> These systems are not to be rebooted.
15:35:41 <Vorpal> ah
15:35:48 <Vorpal> bbl food is ready
15:36:21 <elliott> olsner: you're as clever as someone else!
15:36:22 <elliott> http://www.reddit.com/r/haskell/comments/ejf1t/on_the_search_for_mathematical_truth_and/c18jhx0
15:36:26 <elliott> "The Dual numbers is actually the same idea as in the Dif numbers, but the Dif implementation has a lazy infinite tower of derivatives.
15:36:26 <elliott> Also, you can do symbolic derivation with Dif if you want to"
15:36:52 <j-invariant> hey elliott I want to program this in haskell http://en.wikipedia.org/wiki/Inverse_limit
15:37:25 <elliott> j-invariant: are you sure that's even possible? :)
15:37:43 <j-invariant> well I asked that question in #haskell and someone just said "try it"
15:37:50 <j-invariant> so I don't konw
15:37:57 <elliott> "The Dif type is the type of differentiable numbers. It's an instance of all the usual numeric classes. The computed derivative of a function is is correct except where the function is discontinuous, at these points the derivative should be a Dirac pulse, but it isn't."
15:38:04 <elliott> j-invariant: i think that's code for "oh man that looks hard" :)
15:38:14 <tswett> Gregor: stop making me disconnect from Sine. :P
15:38:42 <elliott> The best way to stop disconnecting from Sine is to stop connecting to Sine.
15:39:10 <tswett> I disagree.
15:40:07 <elliott> abs p@(D x x') = D (abs x) (signum p * x')
15:40:10 <elliott> why didn't i think of that
15:40:19 <elliott> my code is way longer
15:41:50 <Ilari> Heh... Floodpinging 10.1 does loads of packet loss (I got 85% packet loss) if done in longer bursts...
15:44:05 <elliott> hey this is great
15:44:12 <elliott> it has all the Floating algorithms! :)
15:45:04 -!- sftp has joined.
15:46:12 <Vorpal> Ilari, huh. check dmesg
15:46:19 <elliott> j-invariant:
15:46:20 <elliott> sin = lift (cycle [sin, cos, negate . sin, negate . cos])
15:46:20 <elliott> cos = lift (cycle [cos, negate . sin, negate . cos, sin])
15:46:24 <Vorpal> Ilari, for any strange non-iptables limiting that may happen
15:46:33 <elliott> lift :: (Num a) => [a -> a] -> Dif a -> Dif a
15:46:33 <elliott> lift (f : _) (C x) = C (f x)
15:46:33 <elliott> lift (f : f') p@(D x x') = D (f x) (x' * lift f' p)
15:46:33 <elliott> lift _ _ = error "lift"
15:46:46 <elliott> j-invariant: best way to implement sin/cos ever
15:48:09 <Vorpal> that last line looks weird
15:48:26 <Ilari> Nothing strange in dmesg...
15:48:36 <Vorpal> (that was to elliott, the last line I said)
15:48:41 <j-invariant> could you it like sin' = cos ; cos' = -sin ? and get the 4-cycle for free
15:48:42 <elliott> Vorpal: why?
15:48:50 <tswett> elliott: what does D denote?
15:48:52 <j-invariant> since it can differentiate compositions
15:48:58 <elliott> tswett: dual numbers
15:49:06 <Vorpal> elliott, hm... oh wait misread the type signature. Now it makes more sense.
15:49:06 <tswett> Ah. Neat.
15:49:06 <elliott> well, infinitely-stacked dual numbers
15:49:09 <elliott> j-invariant: hm possibly
15:49:13 <elliott> j-invariant: wouldn't you have to integrate though?
15:49:30 <elliott> to take advantage of that
15:52:30 <elliott> take 42 . show $ sin d
15:52:30 <elliott> "0.0 + 1.0 + -0.0 + -1.0 + 0.0 + 1.0 + -0.0"
15:52:41 <elliott> lol @ -0.0
15:54:30 <Ilari> Having -0 is handy in some numerical calculations.
15:54:58 <elliott> indeed
15:55:01 <Ilari> (in case 0 is some kind of branch split for some function).
15:56:30 <elliott> *Main> deriv 1 tan (1.1*pi)
15:56:30 <elliott> 1.1055728090000843
15:56:33 <elliott> j-invariant: yay
15:57:45 <Ilari> Database of fixed SSL _private_ keys... Why do people use non-PFS ciphers?
16:00:03 -!- Phantom_Hoover has joined.
16:00:37 <Ilari> Yes, if ciphersuite is not PFS, you can passively capture session and later decrypt it using server private key. That does not work with PFS ciphersuites...
16:01:25 <elliott> ha
16:02:26 <elliott> j-invariant: :( second derivative of tan is 0 here
16:02:31 <elliott> oh wait no
16:02:38 <elliott> just "deriv 2 tan" doesn't work
16:04:14 <elliott> nderiv 0 f = f
16:04:14 <elliott> nderiv n f = deriv (nderiv (n-1) f)
16:04:16 <elliott> does not work :(
16:06:09 <j-invariant> had a go at inverse limit but it didn't work
16:07:40 * elliott 's brain asks him what it would be like if there was a third type-of-types among Set and Prop called Coset which was defined as a codata, thus allowing infinite types... ow, that hurts
16:08:23 <j-invariant> X = X -> X?
16:08:46 <elliott> j-invariant: that isn't allowed by the codata rules is it?
16:08:48 <elliott> only X = blah -> X
16:08:58 <elliott> anyway you couldn't do that unless (->) was in Coset
16:09:05 <j-invariant> oh right I se
16:09:12 <elliott> i.e. if you have Setprop which is a supertype of Set and Prop and then Coset, and both of those are in Type
16:09:16 <elliott> then (->) could be on Setprop
16:09:19 <elliott> and you couldn't have a function like that
16:09:24 <j-invariant> so Set could be a subset of Coset, and (->) : Set -> Coset -> Coset
16:09:50 <elliott> or that, yep
16:10:03 <elliott> j-invariant: but there's curry's paradox there isn't there?
16:10:15 <elliott> oh, no
16:10:20 <elliott> curry's paradox is only for X->X
16:10:24 <elliott> which we couldn't construct
16:10:25 <elliott> hm interesting
16:10:50 <elliott> j-invariant: we can construct a proposition, then, that an infinite number of things imply that ...[hang]
16:10:53 <elliott> useful!
16:11:24 <elliott> hm i wonder how you'd define coset concretely
16:13:54 <j-invariant> plus if you have infinite types you would probably need infinite terms... and they can hold an infinite amount of information
16:15:19 <elliott> j-invariant: well no, i mean, you can already have infinite terms with codata
16:15:38 <elliott> so sets : cosets :: terms : codata terms
16:15:44 <elliott> no?
16:16:40 <elliott> olsner: I seem to have broken your code somewhere along the line.
16:20:14 <j-invariant> elliott: http://www.youtube.com/user/TheCatsters#p/c/E337D7DEA972E632/10/SpCyaNi257w
16:20:34 <j-invariant> these cone things are neat, no clue if they can be computed though
16:22:11 <elliott> j-invariant: so little is computable :(
16:23:33 <Vorpal> elliott, down?
16:24:07 <elliott> Vorpal: Seemingly.
16:24:11 <elliott> Vorpal: I like how snow is just some elevated floor.
16:24:14 <elliott> As in, the bit marked SNOW.
16:24:40 <Vorpal> elliott, yeah
16:24:45 <Vorpal> elliott, added for completeness
16:39:10 <elliott> Apparently Notch can't rename Minecraft accounts.
16:39:14 <elliott> Question: Why.
16:39:30 <Ilari> Bad database design?
16:39:37 <elliott> Also: http://minecraft.net/haspaid.jsp
16:39:40 <elliott> Ilari: Obviously.
16:39:43 <elliott> Notch is a terrible coder.
16:40:21 <elliott> Vorpal: [[@jeb_ @mattmagician points out that minecraft.net/minecraft-server.zip is missing! Could you check if it's in the SECRET_ROLLBACK folder?]]
16:40:29 <elliott> SECRET_ROLLBACK.
16:40:51 <elliott> Vorpal: Oh man, I've figured out why updates are always so buggy.
16:40:55 <elliott> Vorpal: [[The first stage of inventory prediction works fine now.. Now to test rollbacks and errors..]] -- six hours ago.
16:41:04 <elliott> Vorpal: This man implements, tests and releases things in the space of *hours*.
16:41:07 <elliott> "Tests".
16:41:29 <Deewiant> elliott: The floor is snow, so of course snow is just elevated floor. ;-P
16:41:39 <elliott> Deewiant: Indeed. Can I blow up the TNT?
16:41:42 <Deewiant> Nope.
16:41:47 <elliott> Deewiant: Can I blow up the TNT, please?
16:41:50 <Deewiant> Nope.
16:41:53 <elliott> Deewiant: Can I blow up the TNT, pretty please?
16:41:55 <Deewiant> Nope.
16:42:05 <elliott> Deewiant: I'm going to blow up the TNT and you have to strangle me in the next 24 hours to stop me.
16:42:13 <Deewiant> Nope.
16:42:48 <Ilari> What TNT?
16:43:05 <elliott> Ilari: In Minecraft. :p
16:43:22 <elliott> Deewiant: What if I lined the TNT's cage with obsidian?
16:43:26 <elliott> And then blew it up?
16:43:38 <Deewiant> If you just want to blow up any TNT, that can be arranged.
16:43:46 <elliott> Deewiant: Well, no, it has to be this TNT.
16:43:59 <fizzie> Deewiant: You should ask ineiros for a bedrock walls for the TNT room. :p
16:44:19 <Deewiant> Lining it with obsidian would break the layout of the place and can't be done trivially.
16:44:24 <Deewiant> So, nope.
16:44:25 <Ilari> What does TNT look like? I hope that game does not mix up dynamite and TNT. :-)
16:44:37 <elliott> Ilari: It does.
16:44:55 <fizzie> Well, in Painterly (at least with my options) TNT actually is "creeper bombs".
16:45:04 <elliott> You can make it dynamite too.
16:45:09 <elliott> Deewiant: If you don't let me blow up the TNT, I'll cry.
16:45:17 <Deewiant> Then do.
16:45:22 <elliott> Deewiant: Waah.
16:45:23 <elliott> Deewiant: Waah.
16:45:24 <elliott> Deewiant: Waah.
16:45:24 <elliott> Deewiant: Waah.
16:45:48 <Ilari> In dynamite, the actual explosive substance is nitroglycerine. TNT is trinitrotolunene, which is itself explosive...
16:46:16 <elliott> Ilari: Yes, but this way I get to blow up Deewiant's room of TNT, which is way more fun.
16:46:54 <Deewiant> I believe there's been a miscommunication: no, you don't get to.
16:47:12 <Ilari> How much TNT is there anyway?
16:48:58 -!- poiuy_qwert has joined.
16:50:12 <fizzie> Wasn't it 22 blocks in each room?
16:50:39 <fizzie> I mean, 22 blocks of the item type that's being presented in the particular room; not 22 blocks of TNT in each room.
16:50:45 <Deewiant> Yes, with a few exceptions (chest, sand, gravel)
16:52:13 <Ilari> How much 22 blocks of TNT would be?
16:53:11 <Deewiant> One block is supposedly 1 m^3
16:56:21 <Ilari> 1m^3 of TNT would be 1654kg, so about 36.4 metric tons... That would give quite an explosion...
17:00:52 <Vorpal> elliott, down?
17:01:04 -!- Phantom_Hoover_ has joined.
17:01:19 -!- Phantom_Hoover_ has quit (Client Quit).
17:04:38 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
17:30:51 <tswett> Since a block is a cubic meter, I guess the characters are pretty short.
17:31:12 <elliott> tswett: We're 1.7 blocks tall.
17:32:40 <tswett> We're short.
17:32:43 -!- Phantom_Hoover_ has joined.
17:36:46 <elliott> tswett: Not so short as I.
17:37:47 <Vorpal> uh yeah that's short
17:37:54 <Vorpal> 1.9 is more reasonable
17:38:04 <elliott> What was that.
17:38:14 <elliott> Oh god, upgrade.
17:38:17 <Vorpal> to tswett
17:39:21 <elliott> SO WHAT ABOUT THESE OPTIONAL UPDATES EH
17:39:56 <elliott> * Made SMP servers save chunks way less often in most cases. Chunks don’t resave if they got saved in the last 30 seconds
17:39:59 <elliott> What the hell did they do before.
17:40:12 <elliott> * Moving too far away from a container, or having it blow up, closes the inventory screen
17:40:12 <elliott> * Fixed /kill
17:40:12 <elliott> * Introduced leaf decay again. It acts differently from before
17:40:13 <elliott> (1) LAME
17:40:14 <elliott> (2) LAME
17:40:16 <elliott> (3) Yay
17:40:22 <elliott> * On a whim, added super exclusive clan cloaks for Mojang Employees
17:40:22 <elliott> ...
17:41:00 * pikhq has coffee
17:41:09 <pikhq> kannhąi!
17:41:18 <Phantom_Hoover_> pikhq, coffee is the drink of the DEVIL!
17:41:50 <pikhq> Phantom_Hoover_: Then PRAISE BE UNTO THAT DARK LORD!
17:42:34 <elliott> Phantom_Hoover_: Man, as an Englishman, I have to say that coffee is a pretty good idea.
17:43:27 <Vorpal> elliott, stupid you restarting the client
17:43:34 <Vorpal> elliott, if you just reconnected it worked
17:44:01 <pikhq> elliott: Just because you like tea doesn't forbid you from liking coffee.
17:44:11 <elliott> Vorpal: You realise I could always just use my backup?
17:44:16 <elliott> pikhq: MIX THEM TOGETHER
17:44:24 <Vorpal> elliott, except you couldn't log in then?
17:44:34 <elliott> Vorpal: *shrug*
17:44:40 <elliott> Vorpal: I'm not about to never upgrade again.
17:44:47 <elliott> Anyway --
17:44:58 <elliott> Hoover Heavy Industries' tactical and strategic test is complete.
17:45:02 <pikhq> elliott: Not actually that good, sadly.
17:45:15 <elliott> It was a resounding success, and our skill and quality on the defence and offence fronts is vastly improved.
17:45:31 <elliott> Our clients will begin to see the higher-quality service in our work immediately.
17:45:42 <elliott> That is all.
17:46:06 <elliott> wait.
17:46:08 <elliott> [[Those of you coming in late may not be aware that (1) INTERCAL is the longest-running and most convoluted joke in the history of programming language design, and (2) all modern implementations of this twisted, sanity-sucking horror are descended from one that I tossed off as a weekend hack in 1990 here in the town of Malvern Pennsylvania (the manual describing the language goes back to 1972 but before my C-INTERCAL there hadn’t been a running
17:46:08 <elliott> implementation available in about a decade).]]
17:46:10 <elliott> that's /not even false/
17:46:13 <elliott> CLC-INTERCAL
17:46:16 <elliott> hell, even J-INTERCAL
17:46:26 <elliott> well, not even true
17:46:29 <elliott> but not even false, it's way beyond false
17:46:38 <elliott> it's simply _wrong_
17:47:07 <pikhq> elliott: I would like to give him the benefit of the doubt and say that at the time he wrote that it may have been true.
17:47:19 <pikhq> I'm not sure why, though. That fucker says stupid shit sometimes.
17:47:34 <elliott> pikhq: That was written /this year/.
17:47:41 <pikhq> *facepalm*
17:47:47 <elliott> pikhq: Praising himself for, uh, getting ais to track down all the old C-INTERCAL revisions.
17:48:03 <pikhq> He is such an egotist asshat.
17:48:03 <elliott> pikhq: "whilst I was off doing the Mr. Famous Guy thing on behalf of open source) I discovered that INTERCAL had nucleated an entire weird little subculture of esoteric-language designers around itself, among whom I had come to be regarded as sort of a patriarch in absentia…."
17:48:23 <pikhq> ... Patriarch? We call him an egotist asshat!
17:48:42 -!- elliott has set topic: ~THE INTERCAL-BASED SUBCULTURE OF ESOTERIC-LANGUAGE DESIGNERS~ ~GREETINGS TO OUR PATRIARCH IN ABSENTIA, ERIC S. "GIGANTIC PENIS" RAYMOND~ ~PREVIOUS ESR WORSHIPS AVAILABLE AT http://tunes.org/~nef/logs/esoteric/?C=M;O=D~.
17:49:02 <pikhq> LMAO
17:49:49 <elliott> I think I'm going to start referring to ais as "ais523, hail Eris, all hail Discordia!, a doughty Englishman", like esr did in that post.
17:49:51 <elliott> (http://esr.ibiblio.org/?p=2491)
17:50:14 <pikhq> Does ais523 have anything to do with Discordianism?
17:50:16 -!- elliott has set topic: http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
17:50:20 <elliott> pikhq: Nope. Not that I know of at least.
17:50:28 <pikhq> Aside from having said "Hail Eris!" once or twice.
17:50:35 <Phantom_Hoover_> Is he a doughty fellow?
17:50:45 <pikhq> Phantom_Hoover_: That's quite subjective.
17:50:55 <pikhq> He is most certainly an Englishman, though.
17:52:11 <elliott> Ilari: Relevant: http://abstrusegoose.com/329
17:52:14 <elliott> Ilari: (To you, that is.)
17:52:19 <Phantom_Hoover_> Can we troll him?
17:52:57 <Phantom_Hoover_> Or at least point out that we hold him in an amused sort of contempt?
17:53:33 <pikhq> I doubt he'd listen.
17:53:37 <pikhq> He makes RMS seem humble.
17:56:54 <tswett> So, which of you guys invented the Internet? Was it you, elliott?
17:57:01 <elliott> Yes.
17:57:11 <j-invariant> I took the initiative of creating the internet
17:57:24 <tswett> Cool. Good work on that.
17:57:29 <pikhq> I willo-on-haven created the first IMP.
17:57:39 <tswett> Both of you, its creator and its taker-of-initiative-of-creating.
17:57:47 <pikhq> Though before that, I willo-on-haven changed my name and time traveled.
17:58:35 <tswett> Is that infix "on" pronounced the same way as the preposition "on", or is it pronounced /ʌn/ or something?
17:58:39 <j-invariant> http://upload.wikimedia.org/wikipedia/commons/3/35/Phoc96v1.jpg
17:59:23 <Ilari> You know you have gotten too much milk fat when: Your trousers no longer fit because they are too big... :-)
17:59:42 <pikhq> tswett: I dunno, it's a somewhat obscure H2G2 reference.
18:01:36 <elliott> pikhq: Not that obscure.
18:02:09 <pikhq> elliott: Really obscure would involve Lintilla, yeah.
18:02:18 <pikhq> (how many people have actually listened to the radio series, anyways?)
18:02:44 <elliott> 2. And a half.
18:08:00 -!- Mathnerd314 has quit (Disconnected by services).
18:08:16 -!- Mathnerd314_ has joined.
18:08:54 -!- Mathnerd314_ has changed nick to Mathnerd314.
18:21:58 <elliott> i think i'm going to capture conor mcbride
18:22:02 <elliott> and force him to complete epirgam
18:22:03 <elliott> *epigram
18:22:44 <elliott> http://hackage.haskell.org/package/ad ;; automatic differentiation like 10x as polished as mine
18:26:03 <elliott> ineiros: upgrade plz
18:26:32 <ineiros> Maybe I'll downgrade instead!
18:26:52 <ineiros> Is hMod updated as well?
18:29:04 <elliott> ineiros: Hey, it might "just work". MIGHT
18:29:16 <elliott> ineiros: hmm
18:30:15 <elliott> ineiros: well, if you installed some plugin to stop trying to authenticate with minecraft.net
18:30:34 <pikhq> Now, what to do with this router?
18:30:36 <elliott> ineiros: then we could just fail to login and keep an older version
18:30:56 -!- sebbu2 has changed nick to sebbu.
18:31:13 <elliott> ineiros: http://wiki.nexua.org/Plugin:AuthCraft
18:31:14 <ineiros> elliott: Nah, I'm not doing that.
18:31:18 <elliott> ineiros: AuthCraft is a replacement for MineSecurity since MineSecurity is no longer supported and has inventory bugs. AuthCraft serves one main purpose in two different ways, it allows server-side authentication by making the user create a password upon logging into the server. This is helpful when the MineCraft authentication servers are down, or if you are hosting your own MineCraft server that does not require Minecraft authentication - also
18:31:18 <elliott> known as offline mode.
18:31:20 <elliott> ineiros: Aww. Why not?
18:31:32 <elliott> It would last until hMod is updated
18:31:34 <elliott> *updated.
18:31:39 <pikhq> And yes, it does in fact support OpenWRT.
18:31:46 <fizzie> hMod's usually been pretty fast.
18:31:55 <pikhq> Ideas?
18:32:12 <fizzie> Anyway, why would you play before the all-important mcmap's fixed either? (Admittedly I've gotten two of the new packets handled already.)
18:34:03 <elliott> I think ineiros just secretly hates oklopol for not having bought the game yet and wants to make sure he never gets in.
18:34:06 <elliott> 'Tis the only explanation.
18:35:09 <elliott> ineiros's silence is like unto admitment.
18:39:03 <pikhq> Well, I could just use it as a really overblown switch...
18:46:36 <pikhq> Oh, dur. VLANs. Hooray, having some utility.
18:51:11 <elliott> ineiros: I am going to CONTINUALLY CONNECT TO THE SERVER.
18:53:45 <Gregor> MOP
18:54:51 <elliott> I wonder if my https://github.com/fis/mcmap/commit/3a1eae914d55b525004b08225c31e1d3623dd4eb commit message couldn't have been a little harsher on the GPL.
18:55:59 -!- j-invariant has quit (Quit: leaving).
19:06:09 <Deewiant> Minor patch 1.0_01 is up
19:07:58 <elliott> Deewiant: Ain't it grand?
19:08:21 <elliott> Deewiant: Notch's schedule: Two hours of coding, ten minutes of testing, five minutes of uploading; then ten hours of minor fix updates.
19:08:22 <Deewiant> Not really
19:08:26 <elliott> It's AGILE!
19:08:50 <elliott> "I’ve also heard about weird item duplication bugs with dropped items" OHOHOHOHOHOHOHO
19:08:54 <elliott> "and a severe performance reduction." >_<
19:09:35 <elliott> My GOD he's not joking.d
19:09:40 <elliott> Deewiant: Is it incredibly slow for you too?
19:09:45 <Deewiant> I haven't updated
19:10:25 <elliott> Deewiant: Not even to beta? Heh.
19:10:32 <Deewiant> No, I've just stayed connected
19:11:18 <elliott> Items have tooltips now
19:11:25 <elliott> Deewiant: You have not been in Mount Hoover, have you?
19:11:29 -!- zzo38 has joined.
19:11:44 <Deewiant> Not in it, no
19:11:53 <elliott> Vorpal: And you?
19:13:01 -!- zzo38 has set topic: This topic message does not have Theorem-nature. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
19:14:49 <Vorpal> elliott, no
19:17:33 <Vorpal> elliott, what was the rarer thing he mentioned in the blog post
19:17:36 <Vorpal> has anyone found out?
19:17:50 <elliott> Vorpal: Dunno.
19:20:27 -!- Sasha has quit (Read error: Connection reset by peer).
19:21:47 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
19:23:30 -!- j-invariant has joined.
19:27:13 <zzo38> If you want to make a ROM from NAND-gates, what is the minimum number of NAND gates you will need?
19:28:45 <j-invariant> zzo38: do you mean, given n bits of static information: How many NAND gates are needed to give a function 2^(log n) -> 2 that addresses the information?
19:29:37 <j-invariant> 2 = {0,1}
19:30:35 <zzo38> j-invariant: Actually I mean something a bit different. I mean that if you have a certain number of bits of address, a certain number of bits of data, and a certain file which must be encoded into ROM.
19:31:15 <j-invariant> so it is roughly what I said but with the same n bits but to construct the function 2^k -> 2^l instead?
19:31:45 <zzo38> (And there is the possibility that some parts of the data are unimportant, so it doesn't matter what will be read out when accessing that data.)
19:32:28 <elliott> zzo38: that possibility seems to cloud the issue to me ...
19:32:30 <zzo38> j-invariant: Yes, more like that.
19:32:33 <elliott> i declare all parts of the data unimportant
19:32:36 <elliott> tada! i can do it with 0 anythings
19:33:48 <j-invariant> You could find a lower bound with some work in terms of information complexity, and an upper bound by construcing the ROM function
19:33:58 <zzo38> elliott: But some of it is definitely going to be important. Like, maybe you have 1024 bytes of ROM, but only 1000 bytes used.
19:34:08 <zzo38> (That means there is 24 unimportant bytes)
19:34:12 <j-invariant> I think theyll be quite far apart though, because it's a difficult problem
19:36:01 <zzo38> In addition, there is one more thing, which is the total delay caused by the NAND gates.
19:43:46 <j-invariant> I wonder if there is a good way to optimize NAND circuits? good enough that a reasonable solution would be to generate the stupidest possible ROM function then just optimize it to get one with low number of gates/
19:45:48 <elliott> Vorpal: If one hears a sort of whooshing, ominous sound like "whrrrrrrrrrrrrrrrrrrrrrrrrrrkowww" in the background when underground in survival single player on peaceful mode WHAT DOES IT MEAN
19:46:04 <elliott> Vorpal: I thought it was the Nether sound but no, it was like something... I don't know, arriving from another dimension. :p
19:48:16 <Phantom_Hoover_> Mob spawning from mob spawner?
19:48:39 -!- poiuy_qwert has joined.
19:48:47 <elliott> Phantom_Hoover_: But it's on peaceful.
19:49:50 <elliott> Phantom_Hoover_: Got a video of the mob spawner noise?
19:50:42 <Vorpal> elliott, huh
19:50:55 -!- Sasha has joined.
19:51:02 <elliott> Vorpal: It was sort of like the noise a train going past really close would make ... except without any train noises, and quiet.
19:51:12 <elliott> Like the sound of wind going past, except no whistling, and made "gravelley".
19:51:16 <elliott> *"gravelly".
19:51:34 <Vorpal> elliott, oh, gravy!
19:51:41 <Vorpal> (no idea)
19:52:47 <Phantom_Hoover_> elliott, mobs still spawn from mob spawners on SSP/
19:52:54 <Phantom_Hoover_> Even on peaceful.
19:52:59 <elliott> Just checked; yes, that was the sound.
19:53:03 <elliott> Phantom_Hoover_: What, creepers etc.?
19:53:05 <elliott> Or just sheep?
19:53:15 <Phantom_Hoover_> elliott, whatever mob it makes.
19:53:29 <elliott> Phantom_Hoover_: OK, so by "peaceful", it means "PEACEFUL UNTIL YOU HEAR THAT FUCKING SOUND"?
19:53:42 <Phantom_Hoover_> elliott, yep!
19:53:59 <elliott> Phantom_Hoover_: The way you're talking implies to me that you found this out in the way known as "the hard way".
19:54:01 <zzo38> Does it mean you cannot hurt each other, and it blocks your movement?
19:54:05 <Phantom_Hoover_> OTOH, avoiding dungeons is a) trivial and b) creeper free IIRC.
19:54:05 <elliott> [[In Peaceful difficulty, Monster Spawner blocks will still appear, but any spawned mobs will disappear the instant they spawn. This makes it easy to make the aforementioned trap without any trouble.]]
19:54:10 <Phantom_Hoover_> elliott, no, Vorpal told me.
19:54:11 <elliott> Phantom_Hoover_: Me thinks you are wrong.
19:54:14 <elliott> [[In Peaceful difficulty, Monster Spawner blocks will still appear, but any spawned mobs will disappear the instant they spawn. This makes it easy to make the aforementioned trap without any trouble.]]
19:54:17 <elliott> Phantom_Hoover_: Vorpal is usually wrong.
19:54:33 <Phantom_Hoover_> Well, I assume you'd still get the noise from it.
19:54:38 <elliott> Indeed.
19:54:38 <Vorpal> what?
19:54:48 <Vorpal> Phantom_Hoover_, of course mob spawners do what elliott said
19:54:48 <elliott> In the mean time I shall play on mute.
19:55:25 <elliott> Vorpal: I'm scared though.
19:55:36 <elliott> Phantom_Hoover_: Avoiding dungeons is not easy when you're building a staircase mine.
19:55:57 <Phantom_Hoover_> elliott, "if you see cobble, act appropriately".
19:56:32 <elliott> Phantom_Hoover_: Except I /don't/ see cobble, but now every stair down I make I'm going to be scared shitless. :p
19:56:59 <Phantom_Hoover_> Well, if it comforts you, I can hear spiders next to me in my mine constantly.
19:57:25 <elliott> Phantom_Hoover_: On /Peaceful/?
19:57:47 <Phantom_Hoover_> No, on Normal.
19:58:00 <elliott> HAVE FUN WITH THAT
19:58:43 <elliott> Phantom_Hoover_: All I want is some damn iron.
20:01:32 -!- pingveno has quit (Read error: Connection reset by peer).
20:01:54 -!- pingveno has joined.
20:02:55 -!- pingveno has quit (Read error: Connection reset by peer).
20:03:35 <zzo38> elliott: We won't give you any iron!!
20:06:53 -!- pingveno has joined.
20:11:57 <fizzie> Okay, pushed mcmap update to the beta protocol.
20:12:29 <elliott> Is like a magic.
20:12:45 <fizzie> It's been tested in the Notchy fashion, i.e. not much. I managed to open the inventory, move an arrow from one slot to another, and it didn't yet crash; I could also take a step or two.
20:13:08 <elliott> fizzie: Can you make that DATA %s print [DATA] %s and the packet print [PACK] or something? Wait, wait, never mind, I *refuse* to argue about the formatting of debug prints.
20:13:34 <fizzie> I'll fix that the next time I have to enable those.
20:13:51 <elliott> + log_print("IMMINENT CRASH, reading tail for log");
20:13:52 <elliott> So kind.
20:13:58 <elliott> DIEF.
20:14:07 <elliott> error: Your local changes to 'main.c' would be overwritten by merge. Aborting.
20:14:11 <elliott> Methinks I'll abandon those changes.
20:14:32 <elliott> fizzie: Whoa -- please explain how "man git revert" manages to work.
20:16:15 <fizzie> It's easier to see what action actually caused the bug if it prints out that thing before collecting the next 256 bytes or so for the dump.
20:17:13 <fizzie> And I don't know; strace | grep git says it goes directly to git-revert.1.gz, presumably based on some index somewhere.
20:18:20 <fizzie> Incidentally, since the new packets I've seen have had IDs 65, 66, 67, 68 and 6a, I wouldn't be very surprised if there were a 0x69-id inventory-related packet that will still crash mcmap; for example something related to having multiple players do things on the same inventory.
20:18:27 <fizzie> Oh, and I haven't tried chests and such at all.
20:18:42 <elliott> fizzie: But "man foo bar" = man foo; man bar.
20:18:49 <fizzie> Yes, I know.
20:18:50 <elliott> So I don't see how an index can override that.
20:19:13 <fizzie> Well, if it tries the whole line with spaces first, and then splitted only after.
20:19:20 <fizzie> Look at the source, of course.
20:19:29 <elliott> :p
20:19:31 <fizzie> (I just wanted the rhyme-alike.)
20:22:38 <fizzie> Hopefully by the time ineiros has the server updated and my missing packets turn up, some other people have already bothered to figure the protocol out. (I'm a bit suspicious of the 0xae packet too; it might be just trailing edge when some packet-size-change has made the parser be confused as to where another packet ends. In particular, it looks suspiciously much like the player-position-and-look packet's rear end.)
20:23:43 <fizzie> Right, it doesn't actually seem to happen.
20:24:11 <fizzie> It was probably just my messed-up health-update handling that caused me to add that; I'll remove it. (I had a similar issue with a non-existing "0x7f" packet too.)
20:25:28 <fizzie> Dying and respawning seems to leave regions of the map flickering, which is really quite bizarre.
20:25:49 <fizzie> I mean, it shouldn't be able to flicker unless the server keeps sending chunk-updates or block-setting packets.
20:30:17 <elliott> fizzie: Mind if I make an OMG OPTIMISED build target?
20:30:27 <fizzie> Oh, sure, do that.
20:30:34 <fizzie> It can be OPTOMIZED by default, too.
20:30:36 <elliott> 'Cuz it's, you know, SO SLOW.
20:30:39 <elliott> fizzie: Very well.
20:30:40 <Deewiant> funroll-loops
20:30:47 <elliott> Deewiant: Ricer ricer ricer.
20:30:49 <fizzie> Deewiant: The funniest loops ever.
20:30:49 <elliott> 4EVA
20:30:54 <elliott> Do a funroll.
20:32:15 <fizzie> Not just -funroll-loops, but -funroll-all-loops.
20:32:27 <fizzie> The option description is: "This usually makes programs run more slowly."
20:33:38 <elliott> :D
20:33:52 <elliott> protocol.c:634: error: dereferencing type-punned pointer will break strict-aliasing rules
20:33:57 <elliott> fizzie: Your program doesn't compile with -O3 because of -Werror.
20:34:25 <zzo38> fizzie: Which one makes programs run more slowly, -funroll-loops or -funroll-all-loops ?
20:34:30 <elliott> The latter.
20:34:47 <elliott> fizzie: Can that type-punning be fixed or should I just disable -Werror for the optimised build?
20:35:13 <fizzie> Yes, it can be fixed with the union trick. I'll do that.
20:35:17 <elliott> -rwxr-xr-x 1 elliott elliott 68K Dec 20 20:34 mcmap
20:35:18 <fizzie> It's a bit ugly-looking now, anyway.
20:35:24 <elliott> Heh, the OPTOMIZED(tm) build is smaller.
20:35:29 <elliott> (It uses -combine -fwhole-program.)
20:38:32 <elliott> fizzie:
20:38:36 <elliott> protocol.c: In function ‘packet_double’:
20:38:36 <elliott> protocol.c:634: warning: dereferencing type-punned pointer will break strict-aliasing rules
20:38:36 <elliott> protocol.c:639: warning: dereferencing type-punned pointer will break strict-aliasing rules
20:38:36 <elliott> main.c: In function ‘proxy_thread’:
20:38:37 <elliott> protocol.c:359: warning: dereferencing pointer ‘state’ does break strict-aliasing rules
20:38:39 <elliott> Those are all the warnings.
20:39:17 <fizzie> Better protocol.c in place. Though IIRC it would've been okay also to use just a float variable and access that via char *, wasn't there a special exception to strict-aliasing rule that you could access any memory via (unsigned) char*?
20:39:23 <fizzie> Still, the union thing works too.
20:39:24 <elliott> Who knows.
20:40:15 <elliott> fizzie: You may want to consider turning on -O2 in the debug build; a lot of warnings are missed without it.
20:40:16 <fizzie> I think I missed that one warning.
20:40:20 <Vorpal> fizzie, working on porting to new protocol?
20:40:27 <fizzie> Vorpal: Already done, to some extent.
20:40:32 <Vorpal> fizzie, large changes?
20:40:49 <Vorpal> fizzie, and is the docs for the protocol public or did they reverse engineer that quickly?
20:40:59 <fizzie> I reverse-neggineered it myself.
20:41:13 <fizzie> Admittedly I don't understand all the inventory packets, but I don't need to, for map-making.
20:41:15 <elliott> fizzie: HOW OFFENSIVE
20:41:23 <Vorpal> fizzie, ah
20:41:31 <fizzie> Health packet went from one byte to two (took me a while to catch that, since it just desynced the packet reading; yay for not having a length field in there) and then a slew of inventory-related packets.
20:41:49 <Vorpal> fizzie, why did it go to two bytes I wonder
20:41:51 <fizzie> I have probably not catched them all, I suspect some need interaction from multiple players. So it might still go crashy-crashy.
20:42:03 <fizzie> Caught.
20:42:14 <Vorpal> fizzie, caught?
20:42:17 <Deewiant> You can access anything through a char* safely but doing something like (a*)(char*)(b*) is no more correct than (a*)(b*)
20:43:34 <fizzie> Deewiant: Well, yes, but "double d; unsigned char *db = (unsigned char *)&d; db[0] = ...; ...; db[7] = ...;" should be fine, assuming that I do put in the proper values?
20:43:41 <elliott> fizzie: Pushing the OPTOMIZED(tm) version now; to get the old type of build, do "make debug" (which just does @$(MAKE) --no-print-directory DEBUG=1, making it ever-so-slightly slower.)
20:43:56 <Deewiant> fizzie: Yes; like said, you can access anything through a char*
20:44:01 <elliott> (No, "debug: all DEBUG=1" doesn't work; the CFLAGS get set before that happens.)
20:44:15 <elliott> fizzie: Oh, I broke it. Lemme fix.
20:44:53 <elliott> Pushing the fix now.
20:44:58 <elliott> (The problem was that I tried to indent things.)
20:45:31 <fizzie> Deewiant: How was it with the union trick? "union { double d; unsigned char b[8]; } db; db.b[0] = ...; ...; db.b[7] = ...; return db.d;"?
20:45:47 <elliott> Yes.
20:45:54 <j-invariant> "The problem is languages which have such universal type inference don’t provide the same safety that languages with local or no type inference can provide"
20:46:03 <elliott> j-invariant: heh what
20:46:14 <elliott> j-invariant: is it trying to say "type inference generates too-general types"?
20:46:22 <j-invariant> I think someone got their head screwed on backwards http://www.codecommit.com/blog/scala/universal-type-inference-is-a-bad-thing
20:46:25 <Deewiant> fizzie: Yes, basically. Although strictly speaking that is invalid C, all implementations I know of support it.
20:46:50 <fizzie> I'll let it be like that for now then, since I already made it like that.
20:46:54 <fizzie> Hmm, interesting:
20:46:56 <fizzie> main.c: In function ‘log_print’:
20:46:56 <fizzie> /usr/include/bits/stdio2.h:115: sorry, unimplemented: inlining failed in call to ‘vprintf’: function body not available
20:46:56 <fizzie> main.c:496: sorry, unimplemented: called from here
20:47:00 <elliott> j-invariant: well they're a scala fan, of course their head isn't quite right
20:47:03 <j-invariant> "In some sense, type inference weakens the type system by no longer providing the same assurance about a block of code." let me translate that "I never wrote more than one page of ocaml. Certainly never used the module system."
20:47:04 <elliott> fizzie: What.
20:47:06 <Vorpal> fizzie, what
20:47:13 <fizzie> That's what it said when I went "make".
20:47:15 <elliott> fizzie: Just looks like it's trying to inline vprintf and can't.
20:47:16 <elliott> Heh.
20:47:17 <elliott> fizzie: Does it error out?
20:47:23 <fizzie> Well, yes.
20:47:28 <elliott> fizzie: You /really/ want to get rid of -Werror for the optimised build.
20:47:31 <elliott> That ... uh, might fix that.
20:47:32 <elliott> Maybe.
20:47:33 <elliott> What the fuck.
20:47:44 <elliott> CFLAGS += -O3 -combine -funroll-loops -fwhole-program
20:47:50 <elliott> That's not even -fricer level.
20:48:14 <Vorpal> elliott, does -funroll-loops actually help?
20:48:18 <Vorpal> elliott, have you profiled?
20:48:23 <elliott> Vorpal: Nope.
20:48:26 <elliott> And I'm not gonna, either.
20:48:32 <Vorpal> elliott, then why do you use it
20:48:36 <elliott> 'Cuz it's ricer.
20:48:45 <elliott> I doubt it's going to go any /slower/, at least.
20:48:47 <Vorpal> elliott, usually it is a pessimisation
20:48:50 <elliott> Since I can't think of a single unrollable loop in there.
20:48:56 <Vorpal> elliott, -Os is better often
20:49:03 <elliott> Vorpal: Of course it is.
20:49:05 <elliott> But this is the ricer build.
20:49:15 <elliott> And -Os is pointless with glibc.
20:49:15 <Vorpal> elliott, of what?
20:49:20 <elliott> mcmap.
20:49:28 <Vorpal> ...
20:49:30 <elliott> The most resource intensive program -- evar.
20:49:32 <Vorpal> elliott, why on earth
20:49:38 <elliott> 'S why it needs such optimisation.
20:49:57 <Vorpal> elliott, only time when -O3 helps tend to be when you are basically CPU bound in numerical computations
20:50:08 <elliott> Just like mcmap.
20:50:20 <elliott> Well, I have dietlibc here.
20:50:23 <Vorpal> it isn't really
20:50:30 <elliott> fizzie: I'll add a target to use gcc -fucking-small and link with dietlibc. :p
20:50:43 <elliott> (It enables the space-saving optimisations described in Ucking 98.)
20:50:51 <elliott> *Ucking et al. 98.)
20:53:14 <Vorpal> fizzie, does the porting still work btw?
20:53:30 <elliott> fizzie: Useless dietlibc support added! (Prizes to the first person who can compile glib and SDL with the dietlibc and get mcmap to link.)
20:53:35 <fizzie> For the record, not using -Werror wouldn't have helped; it's an error, not a warning. (Though I have zero clue why bits/stdio2.h defines vprintf with the always_inline option.)
20:53:41 <elliott> I'M ON A ROOOOOOOOOOOOOOOLL
20:53:47 <elliott> fizzie: Have you fixed it?
20:54:24 <Vorpal> fizzie, what system? And I still don't have pkg-config files for zlib on ubuntu 10.04 LTS btw.
20:54:29 <fizzie> Well, no, not yet. I don't really know what mcmap could be doing wrong there; it just calls vprintf, after including stdio.h and stdarg.h.
20:54:31 <Vorpal> (so I need to patch make file every time so far
20:54:32 <Vorpal> )
20:54:36 <elliott> j-invariant: lol "I am not quite sure I buy your argument." from the /creator/ of Scala
20:54:41 <elliott> in the comments
20:54:53 <elliott> Vorpal: You shouldn't need to patch it now.
20:55:11 <Vorpal> elliott, oh? You changed it?
20:55:12 <Vorpal> nice
20:55:13 <j-invariant> heh
20:55:15 <elliott> Something like "make libs='gio-2.0 sdl zlib' LDFLAGS+='-lzlib'" should work.
20:55:16 <elliott> Maybe.
20:55:24 <elliott> IIRC foo+=bar doesn't really work properly from the command line...
20:55:32 <elliott> properly as in it doesn't execute after the makefile's definitions
20:55:35 <elliott> so it gets overridden
20:55:36 <elliott> except, ah
20:55:38 <elliott> it won't in this case
20:55:41 <elliott> Something like "make libs='gio-2.0 sdl zlib' LDFLAGS='-lzlib'" should work.
20:55:43 <elliott> definitely
20:55:45 <elliott> well, -lz
20:55:48 <elliott> you know what flags it needs, presumably
20:55:49 <elliott> erm
20:55:52 <elliott> Something like "make libs='gio-2.0 sdl' LDFLAGS='-lzlib'" should work.
20:55:55 <elliott> fff
20:55:58 <fizzie> Or you could keep a local branch with the patched Makefile and "git rebase" on master after pulling, that'll work automagically each time the Makefile doesn't drastically change.
20:56:10 <Vorpal> elliott, key stuck?
20:56:15 <elliott> Vorpal: No, I kept correcting in.
20:56:16 <elliott> *it.
20:56:23 <elliott> Vorpal: $ make libs='gio-2.0 sdl' LDFLAGS='-lz'
20:56:27 <elliott> Fill in appropriate flags for -lz.
20:56:29 <elliott> That should work.
20:56:41 <Vorpal> fizzie, mmm
20:56:43 <elliott> (But I won't "guarantee" it always will, since libs is, like, a private variable!)
20:56:51 <Vorpal> elliott, just -lz worked for me
20:56:57 <elliott> Vorpal: So that invocation worked? Good.
20:57:05 <Vorpal> elliott, well before
20:57:09 <Vorpal> elliott, I haven't tried it now
20:57:09 <elliott> You may want to "make clean" if you have .os lying around; the optimised build won't generate them, so.
20:57:15 <Vorpal> elliott, I edited the makefile before anyway
20:57:24 <Vorpal> elliott, I don't plan to update just yet, I'm still connected
20:59:05 <fizzie> I can only find a single reference to someone getting that inline-failed message for vprintf in particular (usually it's just their own functions), and there is no resolution, the guy just ends up removing -fwhole-program.
20:59:15 <elliott> YES!! AN IRON PICKAXE!!
20:59:23 <elliott> fizzie: what gcc version?
20:59:37 <Vorpal> elliott, why not diamond?
20:59:45 <Vorpal> elliott, and iron is trivial
20:59:46 <elliott> Vorpal: Because I don't have any diamond; this game isn't very old.
20:59:51 <Vorpal> ah
20:59:55 <elliott> And no it isn't, I've been mining for iron with stone pickaxes for way too long.
20:59:59 <elliott> Even now I only have enough for this and one more pickaxe.
21:00:05 <elliott> I'm building a staircase down, so...
21:00:08 <Vorpal> elliott, mcmap?
21:00:13 <elliott> Vorpal: On single-player?
21:00:15 <fizzie> gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5, Ubuntu whatsitcalled, package version 4:4.4.4-1ubuntu2. Whatever it installs by default, anyway.
21:00:19 <Vorpal> elliott, well, minutor then
21:00:24 <elliott> fizzie: Personally, I would edit the system header to remove that always-inline thing, but I'm crazy like that.
21:00:28 <Vorpal> elliott, it is a decent mapping tool when you have the world
21:00:31 <elliott> gcc (Debian 4.4.5-8) 4.4.5
21:00:31 <elliott> for me
21:00:47 <elliott> Vorpal: Cheatin', man. I've only turned Peaceful on because I'm a wimp.
21:00:55 <Vorpal> fizzie, my system has gcc 4.4.3 btw
21:00:58 <Vorpal> elliott, XD
21:01:08 <Vorpal> fizzie, "linaro"?
21:01:12 <elliott> NO NO NO
21:01:14 <elliott> A SPIDER JUST SLURPED
21:01:17 <elliott> BUT I'M ON PEACEFUL
21:01:22 <Vorpal> elliott, bug?
21:01:27 <elliott> THERE IS *NO WAY* A MOB SPAWNER CAN HAVE A SPIDER BE ALIVE FOR LONG ENOUGH TO MAKE A SLURPING NOISE
21:01:31 <elliott> I CONCLUDE THAT THE BETA HAS BROKEN PEACEFUL MODE
21:01:35 <elliott> DEAR GOD
21:01:37 <Vorpal> whops
21:02:11 <Vorpal> wait, is beta 1.0_01 ?
21:02:14 <elliott> Hearing mob spawner noise + hearing things moving about when there's nothing outside the window, in the day time, and it sounds like it's near you + hearing spider slurp when in your mines, near where the mob spawner was
21:02:15 <Vorpal> how does that make sense
21:02:16 <elliott> = AAAAAAAAAAAAAAAAAAA
21:02:22 <elliott> Vorpal: It was 1.0, but then he fixed it five minutes later.
21:02:39 <elliott> "I will work on the MacOSX launch bug tomorrow!"
21:02:41 <Vorpal> elliott, yes the _01 I get
21:02:49 <Vorpal> elliott, the 1.0 bit I don't get
21:02:52 <elliott> Vorpal: Because it's the first version of beta.
21:02:57 <Vorpal> elliott, 1.0 sounds like final release
21:02:58 <Vorpal> oh okay
21:03:06 <elliott> "Well, holy moly, beta is out. We'll update the website and increase the price now. :D" ;; Aren't you *already* a millionaire?
21:03:09 <fizzie> Vorpal: That's what it says nowadays. Linaro's some sort of linux-on-ARM advocacy group.
21:03:20 <Vorpal> fizzie, huh
21:03:27 <elliott> Apparently it's still 25% off the full price.
21:03:34 <elliott> How much money does the man want for such a buggy game?
21:03:48 <Vorpal> elliott, well hopefully it won't be buggy when it reaches stable
21:03:48 <elliott> fizzie: http://www.markshuttleworth.com/archives/427
21:03:49 <elliott> Hmm.
21:04:07 <elliott> fizzie: Presumably they include Linaro optimisations, but I can't imagine how they'd touch non-ARM-target builds.
21:04:16 <fizzie> Anyway, the headers end up having the always-inline attributes (for vprintf and others) when __GNUC_PREREQ(4,3) and __GNUC_STDC_INLINE__ is defined.
21:05:01 <elliott> fizzie: Undefined the latter. :p
21:05:03 <elliott> *Undefine
21:05:46 <Vorpal> hm
21:05:55 <fizzie> elliott: http://p.zem.fi/pjsm
21:06:03 <Vorpal> fizzie, which ubuntu version?
21:06:04 <fizzie> I don't think they want me to. :p
21:06:10 <elliott> fizzie: I ...
21:06:14 <fizzie> Vorpal: The official one.
21:06:22 <fizzie> I can never remember the numbers.
21:06:24 <fizzie> 10.10?
21:06:25 <elliott> fizzie: "-D_GNU_SOURCE=1 -D_REENTRANT" Ain't them new?
21:06:27 <elliott> And yes, 10.10
21:06:38 <fizzie> Right, the Perfect Ten.
21:06:46 <Vorpal> I stay on LTS
21:07:09 <fizzie> elliott: Those are added from pkg-config somewhere.
21:07:40 <fizzie> Or maybe not.
21:08:03 <fizzie> Oh, right, for --cflags sdl.
21:08:53 <elliott> fizzie: Welp, SORRY but your computer is not hardcore enough for the optimised edition.
21:09:34 <fizzie> Heh, with -U__GNUC_STDC_INLINE__ instead I get:
21:09:36 <fizzie> In file included from /usr/include/stdio.h:930,
21:09:36 <fizzie> from /usr/include/SDL/SDL_stdinc.h:37,
21:09:36 <fizzie> from /usr/include/SDL/SDL_main.h:26,
21:09:36 <fizzie> from /usr/include/SDL/SDL.h:30,
21:09:36 <fizzie> from world.c:5:
21:09:37 <fizzie> /usr/include/bits/stdio2.h: In function ‘printf’:
21:09:39 <fizzie> /usr/include/bits/stdio2.h:105: error: invalid use of ‘__builtin_va_arg_pack ()’
21:10:35 -!- elliott has quit (Read error: Connection reset by peer).
21:11:04 <Vorpal> fizzie, what distro does ellitott use?
21:11:14 <fizzie> Debian nowadays, I think.
21:11:17 <fizzie> At least at the moment.
21:11:31 -!- elliott has joined.
21:12:00 <Vorpal> ah
21:12:23 <zzo38> I should need a good quality random number generator that will first generate a seed value or take it from user input, and then can generate random numbers based on the algorithm, such that it will be the same all computers (so that you can play duplicate draft). Which algorithm should work good? Is the one in METAFONT good?
21:13:22 <fizzie> I'm not exactly sure how mcmap manages to trigger the problem, since a test program that just has a main and a vprintf-function like that works just fine.
21:13:23 -!- elliott has quit (Read error: Connection reset by peer).
21:13:43 -!- elliott has joined.
21:14:22 <Vorpal> fizzie, was it gcc 4.5.x?
21:14:29 <Vorpal> if so: not surprised
21:14:34 <elliott> 13:11:04 <Vorpal> fizzie, what distro does ellitott use?
21:14:36 <elliott> Why?
21:14:48 <elliott> zzo38: mersenne twister
21:14:52 <Vorpal> elliott, well not same as fizzie I guess
21:15:12 <Vorpal> elliott, but iirc mersenne isn't a CPRNG+
21:15:16 <Vorpal> s/+/?/
21:15:33 <elliott> Vorpal: Is zzo38 doing cryptography?
21:15:35 <fizzie> Vorpal: I already mentioned the version, didn't I?
21:15:42 <elliott> I don't think he is.
21:15:44 <fizzie> 4.4.5.
21:15:47 <Vorpal> elliott, true, he isn't
21:15:51 <Vorpal> fizzie, hm huh
21:16:11 <elliott> zzo38: You may also want to consider http://en.wikipedia.org/wiki/Blum_Blum_Shub.
21:16:12 <Vorpal> fizzie, yes, couldn't find it when scrolling bacl
21:16:14 <Vorpal> back*
21:16:25 <elliott> But Mersenne twister is very popular.
21:16:44 <zzo38> elliott: No. I am looking for one that is suitable for TeXnicard.
21:16:57 <elliott> zzo38: Welp, Mersenne twister of Blum Blum Shub are my recommendations.
21:17:33 <Vorpal> elliott, isn't blum blum shub rather slow (hm, wtf at that name btw)
21:17:44 <elliott> Vorpal: He's writing this in TeX, it's going to be slow.
21:17:48 <zzo38> "The generator is not appropriate for use in simulations, only for cryptography, because it is very slow."
21:17:50 <fizzie> Blum's the slowest thing in the world.
21:17:55 <elliott> Vorpal: And it was invented by Blum, Blum and Shub.
21:18:00 <elliott> But yes, I'd go for Mersenne.
21:18:07 <elliott> It's just Vorpal whined about not being crypto-ready. :p
21:18:09 <zzo38> elliott: I am writing the program in Enhanced CWEB.
21:18:12 <elliott> zzo38: Ah.
21:18:15 <elliott> zzo38: http://en.wikipedia.org/wiki/Mersenne_twister
21:18:18 <elliott> zzo38: Just use that, everyone does.
21:18:26 <elliott> There's even pseudocode on the page.
21:18:55 <elliott> http://en.wikipedia.org/wiki/Mersenne_twister#Implementations <-- Now here's a section that needs extreme cutting.
21:19:14 <Vorpal> yeah it's decent if you don't need a CPRNG
21:19:15 <fizzie> MT's very popular indeed.
21:19:35 <elliott> http://en.wikipedia.org/wiki/Linoleum_%28programming_language%29 LOL BLATANT ADVERTISEMENT
21:19:58 <fizzie> Also Marsaglia (of "Random numbers fall mainly in the planes") posted what he likes best in comp.lang.c not far ago, IIRC.
21:20:26 <fizzie> s/)/ fame)/
21:20:38 <Vorpal> fizzie, planes? is that the thing about PRNG and attractor analysis?
21:20:45 <nooga> ha!
21:20:53 <nooga> i just wrote my first trainer
21:20:54 <nooga> :D
21:21:02 <zzo38> elliott: OK I can use Mersenne twister
21:21:11 <Vorpal> nooga, trainer for?
21:21:16 <nooga> B.A.D
21:21:30 <Vorpal> nooga, never heard of it, what is it?
21:21:33 <nooga> space shooter for DOS by Webfoot, hard to find
21:21:37 <nooga> nothing special
21:21:47 <fizzie> Vorpal: Well, the high-dimensional lattice structure thing, yes. Probably just that.
21:21:48 <elliott> I am going to venture -- with sound off -- into the territory of Minecraft on Supposedly Peaceful.
21:21:51 <elliott> And I will have my fucking sword at the ready.
21:22:16 <nooga> elliott: finally I just decided to write small, offline memory dump analyser
21:22:16 <elliott> Armourless no less.
21:22:16 <fizzie> The mcmap build works without -combine -fwhole-program, but of course that's loser-talk.
21:22:20 <elliott> nooga: heh
21:22:34 <nooga> instead of patching dosbox debugger
21:22:38 <elliott> fizzie: As long as you put go-faster flares on, I guess it's okay.
21:22:41 <nooga> with new functions
21:23:22 <elliott> O god.
21:23:24 <elliott> It's too scary.
21:23:28 <zzo38> What is the best way to initialize the seed if no user seed has been specified?
21:23:41 <Gregor> time(NULL)^getpid()
21:23:42 <elliott> zzo38: "Another issue is that it can take a long time to turn a non-random initial state (notably the presence of many zeros) into output that passes randomness tests. A small lagged Fibonacci generator or linear congruential generator gets started much more quickly and usually is used to seed the Mersenne Twister with random initial values."
21:23:53 <elliott> zzo38: As for the input to that, try the current time. :p
21:24:42 <zzo38> Gregor: OK. (I want to ensure it works on both Windows and UNIX systems, however. I could put a change tag there if needed.)
21:25:10 <elliott> zzo38: Don't seed it directly like that.
21:25:26 <elliott> zzo38: Seed a Fibonacci generator or whatever with that, run it for a bit, and seed the Mersenne twister with its output.
21:26:04 <zzo38> elliott: OK, maybe I can do with Fibonacci generator.
21:26:10 <zzo38> For seeding it.
21:26:31 <elliott> fizzie I need therapy because of spiders.
21:26:55 <elliott> I have to pause the game every two seconds because I'm frightened to death that a spider will jump out of a corner and ravage me.
21:27:22 <zzo38> No actually you have to win a big spider more bigger than you. You also need to make a copy of the game on VHS tape.
21:27:24 <nooga> i HATE spiders
21:27:32 <fizzie> elliott: Just for giggles I tried it with gcc-4.5 in addition to gcc-4.4 too, and what it did was to remove the warning for the vprintf call in main.c:log_print, but add instead two similar warnings for both the printf and the vprintf calls in main.c:do_die. I'm not sure they've quite debugged the whole -combine thing.
21:27:53 <elliott> fizzie: You could use "cat" instead. :p
21:28:08 <elliott> fizzie: Now I need therapy.
21:28:21 <fizzie> Also the function for which it gives the warning depends on the order of the source files on the command line.
21:28:36 <zzo38> elliott: No you don't need therapy. You need a VHS tape.
21:28:45 <elliott> I do?
21:29:01 <zzo38> Yes.
21:29:02 <fizzie> Oh, it's a bit different warning: "/usr/include/bits/stdio2.h:115:1: sorry, unimplemented: inlining failed in call to ‘vprintf’: redefined extern inline functions are not considered for inlining"
21:29:49 <zzo38> You need a VHS tape and a big spider.
21:31:00 <elliott> [[# This may raise some eyebrows but I'm restricting the use of eval(*), setTimeout(string, ..), setInterval(string, ..) and Function(..). Don't dynamically include a script either (good call @bga_!). This list may grow if I discover another way of getting eval in so please don't bother. This rule targets the dynamic creation and running of js only (creating dynamic animations or whatever is fine). Note that setTimeout and setInterval with functi
21:31:00 <elliott> on arguments are still okay! I'm doing this for aesthetic reasons, mostly. The most fun of creating a demo is hand tuning it!]]
21:31:12 <Vorpal> <Gregor> time(NULL)^getpid() <-- uh, what if pid wraps around in the same second!?
21:31:13 <Vorpal> ;P
21:31:17 <elliott> Apparently the JS1k guy thinks he's cool enough to disallow procedural generation of programs.
21:31:23 <elliott> Way to eliminate a major source of compression and creativity!
21:31:45 <Gregor> elliott: That's laaaaame
21:31:53 <elliott> Gregor: Totally is.
21:32:02 <Vorpal> elliott, JS1k?
21:32:02 <elliott> Gregor: Why would you even do that? Dynamic inclusion of scripts, OK. But the others??
21:32:07 <elliott> Vorpal: Exactly what it sounds like.
21:32:14 <Vorpal> elliott, javascript 1000?
21:32:21 <Gregor> elliott: You should read my eval paper!
21:32:24 <elliott> Vorpal: *1024 +byte
21:32:26 <elliott> Gregor: Well, link it already.
21:32:30 <Gregor> http://sss.cs.purdue.edu/projects/dynjs/eval-TR.pdf
21:32:45 <elliott> If it isn't pun-titled I refuse.
21:33:18 <Gregor> OH BUT IT IS
21:33:24 <elliott> <3
21:33:24 <Vorpal> elliott, have you seen any enemies on peaceful yet?
21:33:37 <elliott> Vorpal: No, I'm too much of a pussy to unpause for more than a few seconds.
21:33:41 <elliott> Wow, I can't believe this is 1k: http://js1k.com/2010-first/demo/635
21:33:47 <elliott> c=document.body.children[0];h=t=150;L=w=c.width=800;u=D=50;H=[];R=Math.random;for($ in C=c.getContext('2d'))C[$[J=X=Y=0]+($[6]||'')]=C[$];setInterval("if(D)for(x=405,i=y=I=0;i<1e4;)L=H[i++]=i<9|L<w&R()<.3?w:R()*u+80|0;$=++t%99-u;$=$*$/8+20;y+=Y;x+=y-H[(x+X)/u|0]>9?0:X;j=H[o=x/u|0];Y=y<j|Y<0?Y+1:(y=j,J?-10:0);with(C){A=function(c,x,y,r){r&&a(x,y,r,0,7,0);fillStyle=c.P?c:'#'+'ceff99ff78f86eeaaffffd45333'.substr(c*3,3);f();ba()};for(D=Z=0;Z<21;Z++){
21:33:47 <elliott> Z<7&&A(Z%6,w/2,235,Z?250-15*Z:w);i=o-5+Z;S=x-i*u;B=S>9&S<41;ta(u-S,0);G=cL(0,T=H[i],0,T+9);T%6||(A(2,25,T-7,5),y^j||B&&(H[i]-=.1,I++));G.P=G.addColorStop;G.P(0,i%7?'#7e3':(i^o||y^T||(y=H[i]+=$/99),'#c7a'));G.P(1,'#ca6');i%4&&A(6,t/2%200,9,i%2?27:33);m(-6,h);qt(-6,T,3,T);l(47,T);qt(56,T,56,h);A(G);i%3?0:T<w?(A(G,33,T-15,10),fc(31,T-7,4,9)):(A(7,25,$,9),A(G,25,$,5),fc(24,$,2,h),D=B&y>$-9?1:D);ta(S-u,0)}A(6,u,y-9,11);A(5,M=u+X*.7,Q=y-9+Y/5,8);A(8,M,
21:33:47 <elliott> Q,5);fx(I+'¢',5,15)}D=y>h?1:D",u);onkeydown=onkeyup=function(e){E=e.type[5]?4:0;e=e.keyCode;J=e^38?J:E;X=e^37?e^39?X:E:-E}
21:33:51 <elliott> Very very impressive.
21:34:42 <Vorpal> no procedural generation kind of ruins it
21:36:09 <elliott> Yeah.
21:36:14 <Gregor> I SEE A SETINTERVAL BLORP BLORP
21:36:27 <elliott> Gregor: That's from the last competition; also, he only disallowed *string* setIntervals.
21:36:34 <elliott> Vorpal: Well, you can still procedurally generate, just not procedurally generate *code*.
21:36:36 <Gregor> I SEE A STRING SETINTERVAL BLORP BLORP
21:36:40 <elliott> Genetic algorithms vs. genetic programming.
21:36:44 <elliott> Gregor: That's from the last poop.
21:36:51 <elliott> http://js1k.com/2010-first/demo/593 MOTHERFUCKING ANIMATED LASERS
21:37:55 <elliott> Gregor: You should have attributed the opening quote to Douglas "Secretly Satan" Crockford.
21:37:57 <elliott> You know it's true.
21:38:07 <Vorpal> elliott, silly
21:38:14 <Vorpal> (lack of code gen)
21:38:17 <elliott> Yeah.
21:39:57 <elliott> "To this end, we have built an infrastructure that automatically loads over 10,000 web pages." "And have since put it to work downloading porn."
21:40:20 <Gregor> We probably have a not-insubstantial amount of porn downloaded, yeah.
21:41:42 <elliott> Gregor: Put up a torrent of all of them :P
21:42:33 <Gregor> $ du -hc cache
21:42:33 <Gregor> 6.4G cache
21:43:32 <elliott> Gregor: So?
21:43:36 <elliott> Gregor: There are torrents bigger than that.
21:43:45 <Gregor> I wasn't saying that was infeasible at all :P
21:43:52 <Gregor> Also, that's only half our cache.
21:44:00 <elliott> Gregor: Do eet.
21:44:10 <Gregor> Probably a lot of it ISN'T porn though D-8
21:44:36 <elliott> Gregor: You probably got some kiddie pr0n in there, too, and also of course heaps of copyrighted material so GOOD LUCK redistributing that :P
21:44:53 <elliott> " To illustrate the power of eval, consider the following example, which is one way to
21:44:53 <elliott> implement objects using only functions and local variables."
21:44:57 <elliott> BRB, ADOPTING THIS IN ALL MYCODE.
21:44:58 <elliott> *MY CODE.
21:44:59 <Gregor> I really don't think there's child porn in the top 10,000 most popular sites ...
21:45:07 <elliott> YOU WANNA BET
21:45:08 <elliott> And:
21:45:12 <elliott> You didn't consider unpopular sites? LAME
21:46:19 <elliott> Gregor: What's that new function syntax JS1.93458345whatever introduced?
21:46:24 <Vorpal> fizzie, there?
21:46:32 <Gregor> elliott: function(x) x
21:46:39 <Vorpal> fizzie, need help debugging the possible collaboration thingy?
21:46:49 <Vorpal> (if you have a server I could try going there)
21:46:57 <elliott> Gregor: To illustrate the power of eval, consider the following example, which is one way to
21:46:57 <elliott> implement objects using only functions.
21:46:59 <elliott> Point = function() {
21:46:59 <elliott> return {x:0, y:0};
21:46:59 <elliott> }
21:47:02 <elliott> Gregor: U JELLY?
21:47:15 <elliott> <Gregor> CURSES! FOILED AGAIN!
21:47:27 <Gregor> elliott: That doesn't implement objects, it just leans on the pre-existing implementation of objects.
21:47:30 <elliott> Gregor: Also, does anything actually support function(x) x yet...?
21:47:34 <elliott> <Gregor> elliott: That doesn't implement objects, it just leans on the pre-existing implementation of objects.
21:47:38 <elliott> Gregor: So does yours :P
21:47:40 <zzo38> How good is Xorshift random number generator?
21:47:41 <elliott> eval is a function which is an object.
21:47:42 <elliott> Also strings.
21:47:45 <Gregor> elliott: Only Mozilla, and it's not even part of standard ES, so nothing will.
21:47:47 <elliott> zzo38: Not as good as Mersenne.
21:47:50 <fizzie> Vorpal: I'll save that to some point when it naturally crashes; if I have any luck, someone has figured the protocol out by then.
21:47:51 <elliott> Gregor: lawl
21:47:59 <Vorpal> fizzie, hah
21:47:59 <elliott> zzo38: Oh, wait.
21:48:02 <elliott> zzo38: It's Marsaglia.
21:48:05 <elliott> zzo38: Yes, that should be just fine.
21:48:11 <elliott> zzo38: Just steal the implementation from http://en.wikipedia.org/wiki/Xorshift :P
21:48:36 <zzo38> elliott: That is the page I looked at! The only problem is, what is the best way to seed it?
21:48:46 <elliott> zzo38: Looks like it comes pre-seeded to me.
21:49:17 <elliott> zzo38: But, um, if seeding it with time() or whatever isn't enough, you could use a http://en.wikipedia.org/wiki/Linear_congruential_generator.
21:49:21 <zzo38> elliott: I can see that. That is why I need to make it seedable by external.
21:50:03 <zzo38> I ought to use a generator good enough that even WotC could use it for making booster packs and it would be difficult to predict what cards you are going to get.
21:50:44 <elliott> Gregor: Point = function(){
21:50:45 <elliott> return (function(o){
21:50:45 <elliott>
21:50:45 <elliott> })(function(f){return f((function(f,x){return x}),(function(f,x){return x}))}
21:50:45 <elliott> }
21:50:54 <elliott> Gregor: Skeleton of an example which implements objects using only functions.
21:51:10 <elliott> (That function it's being called with is lambda-calculus-style (0,0) :P)
21:51:17 <Gregor> elliott: I don't think you fully understand the notion of an illustrative example :P
21:51:29 <elliott> Gregor: You should have put that in with "..." in the body.
21:51:34 <elliott> Leaving the body as an exercise to the reader.
21:51:57 <Gregor> Results
21:52:03 <Gregor> Results are left as an exercise to the reader.
21:52:09 <elliott> " Any assignment to
21:52:10 <elliott> an undeclared variable in JavaScript, including in an eval, will implicitly declare the
21:52:10 <elliott> variable in the global scope, becoming globally visible and polluting the namespace.
21:52:10 <elliott> For instance, executing eval(”x=4”) in a scope that does not include x will declare x in
21:52:10 <elliott> the global scope and assign it the value 4."
21:52:12 <elliott> tl;dr javascript sucks
21:52:58 <elliott> Gregor: Now you've made me want to write Pong In Five Statements D:
21:53:29 <elliott> [[ Of course the above code could be implemented straight-
21:53:29 <elliott> forwardly without eval as:
21:53:29 <elliott> Resources[”message ” + userInput]]]
21:53:36 <elliott> Gregor: Ever considered Resources.messages[userInput]? :P
21:54:16 <Gregor> elliott: That's not the above code.
21:54:21 <Gregor> elliott: That's code similar to the above code.
21:54:26 <elliott> Gregor: No, but it is a better solution :P
21:54:36 <Gregor> elliott: Yes, it is, and we go into that later.
21:54:46 <elliott> Gregor: Your eval("Resources.message_" + validate(userInput)) isn't the same code as that either.
21:54:51 <elliott> Depending on the definition of validate :P
21:54:57 <Gregor> Fair enough *shrugs*
21:55:06 <zzo38> elliott: If using Xorshift, what would be the best way to modify the registers for seeding? Should we change "w"? Should we add the seed number to all of "x" and "y" and "z" and "w"? How should it be entered into a bibliography?
21:55:11 <elliott> Gregor: I'm jus' pickin' on you 'cuz I'm jealous.
21:55:44 <Gregor> Jealous of all the porn our autostuff downloaded.
21:55:47 <elliott> zzo38: * Marsaglia (July 2003). "Xorshift RNGs". Journal of Statistical Software Vol. 8 (Issue 14). http://www.jstatsoft.org/v08/i14/paper.
21:55:51 <elliott> zzo38: would be the bibliography reference.
21:56:07 <Vorpal> ... XD
21:56:11 <zzo38> elliott: OK. What formatting should be used?
21:56:36 <elliott> The seed set for xor128 is four 32-bit integers x,y,z,w not all 0, while the seed set for MWC is three 32-bit integers
21:56:36 <elliott> x,y,z and an initial c<a, excluding the two cases x=y=z=c=0, and x=y=z=b-1,c=a-1.
21:56:37 <Vorpal> zzo38, doesn't bibtex handle that?
21:56:41 <elliott> zzo38: Basically, it comes pre-seeded.
21:56:57 <elliott> zzo38: So I would change all of them.
21:57:08 <Vorpal> elliott, won't it generate the same stream all the times if the seed is the same?
21:57:17 <elliott> zzo38: Just set x, y, z and w according to successive values of whatever seeder RNG you have, seeded itself with time() or similar.
21:57:19 <zzo38> I think I will put the bibliography directly before the index.
21:58:47 <zzo38> elliott: I am not using BibTeX. I am using Enhanced CWEB to write this program, I told you already. What would be a very simple seeder RNG for this?
21:59:33 <zzo38> Vorpal: It can use seed from timer (and possibly other things), but it is OK if it generate the same stream with the same seed, it is supposed to be like that so that you can enter the seed manually in case you want to play duplicate draft, or something similar.
22:00:03 <elliott> zzo38: I did not say BibTeX.
22:00:04 <Vorpal> mhm
22:00:10 <elliott> Vorpal said BibTeX.
22:00:13 <Vorpal> yeah
22:00:16 <zzo38> OK
22:00:32 <zzo38> Vorpal: OK you tell me the formatting to use, then.
22:00:33 <elliott> zzo38: Simple seeder RNG would be Fibonacci generator or linear congruential generator.
22:00:57 <zzo38> elliott: OK.
22:03:19 * nooga cracker
22:03:38 <nooga> btw. who did this skyway's levels renderings?
22:03:50 <elliott> nooga: ?
22:06:27 <elliott> pikhq: OMake review: Oh hey the website looks nice. And so simple too!
22:06:27 <elliott> $ omake --install
22:06:28 <elliott> omake: Symbol `FamErrlist' has different size in shared object, consider re-linking
22:06:28 <elliott> OMakeroot already exists, overwrite (yes/no)? yes
22:06:28 <elliott> *** omake: creating OMakeroot
22:06:28 <elliott> *** omake: creating OMakefile
22:06:29 <elliott> *** omake: project files OMakefile and OMakeroot have been installed
22:06:31 <elliott> *** omake: you should edit these files before continuing
22:06:33 <elliott> pikhq: Fuck this shit.
22:06:35 <elliott> pikhq: (All builds are similarly noisy.)
22:06:45 <elliott> And you get stuck with a useless OMakeroot file that apparently you usually don't need to edit.
22:09:28 <Vorpal> zzo38, no idea if you don't use bibtex
22:11:52 <zzo38> Vorpal: I am using Enhanced CWEB to write this program. You can just tell me what parts ought to be bold and so on, and what paragraph formatting you think is good for bibliography.
22:13:25 <pikhq> elliott: God that's stupid.
22:13:52 <Vorpal> zzo38, I don't know, doesn't it depend on citation style?
22:13:55 <elliott> pikhq: It even tells me that it's looking for g++ when I try to compile a C file, and when it finds it, then looks for gcc.
22:13:58 <elliott> Why did you have to look for g++?
22:14:34 <elliott> pikhq: I am starting to think that the best short-term solution is to write a GNU Make library of sorts...
22:14:46 <elliott> pikhq: So you can just do "include lib.make" and have most everything sorted.
22:14:48 <zzo38> Vorpal: I don't know either. What does citation style means?
22:16:06 <Vorpal> I'll let elliott explain
22:16:15 <elliott> I'll let Vorpal explain
22:16:21 <Vorpal> (hardvard, oxford, Vancouver and so on)
22:16:33 <elliott> Harvard, Oxford, Vancouver, Pyongyang.
22:16:49 <pikhq> Pyongyang citation style‽
22:17:03 <zzo38> Which style should I use?
22:17:07 <elliott> zzo38: Pyongyang!
22:17:14 <elliott> You just credit everything to Dear Leader.
22:17:16 <elliott> It's really simple.
22:17:19 <elliott> Here's what a citation looks like:
22:17:22 <elliott> [1] Dear Leader.
22:17:29 <elliott> pikhq: Actually, a GNU make library would be really useful...
22:18:02 <zzo38> elliott: That is no good! I need to use a proper style. Which style is good for literate programming?
22:18:48 <elliott> zzo38: No idea.
22:20:28 <Vorpal> elliott, stop trolling zzo38
22:20:55 <elliott> Vorpal: I use the Pyongyang style all the time![1]
22:20:56 <elliott> [1] Dear Leader.
22:21:28 <zzo38> elliott: I don't really care what style you use. But for me it is insufficient.
22:21:59 <pikhq> PRAISE BE TO THE DEAR LEADER OF THE DEMOCRATIC PEOPLE'S REPUBLIC OF CHOSON!
22:22:22 <olsner> elliott: you broke my code? it works for me :)
22:22:34 <elliott> olsner: not when you define a Floating instance :P
22:22:37 <elliott> and also add | Zero
22:22:43 <elliott> pikhq: map = $(foreach a,$(2),$(call $(1),$(a)))
22:22:44 <elliott> pikhq: o = $(call map,origin,o map MAKE)
22:22:50 <elliott> pikhq: This is an actual example from the GNU make documentation.
22:22:56 <pikhq> *vomit*
22:23:44 <elliott> define hello
22:23:44 <elliott> hello: ;
22:23:44 <elliott> @echo hi
22:23:44 <elliott> @echo bye
22:23:44 <elliott> endef
22:23:45 <elliott> $(hello)
22:23:50 <elliott> pikhq: Valid GNU make. (Yes, the ; is required.)
22:23:55 <elliott> pikhq: So this means a library is actually feasible ...
22:24:03 <elliott> define hello
22:24:03 <elliott> hello: ;
22:24:03 <elliott> @echo hi
22:24:03 <elliott> @echo bye
22:24:03 <elliott> endef
22:24:04 <elliott> This even works. :p
22:25:40 <zzo38> Well, I put some macros in the limbo area for bibliography. I still don't know what style to use.
22:26:18 <zzo38> And I still don't know what parts to make bold, slanted, etc
22:27:55 -!- j-invariant has quit (Quit: leaving).
22:28:38 <elliott> pikhq: Do you know how to disable all implicit Make rules?
22:30:23 <olsner> elliott: make --help or man make?
22:30:38 <elliott> olsner: asking pikhq is easier
22:30:56 <olsner> ... but slower
22:31:00 <elliott> but easier
22:32:08 <olsner> I know what it is now that I've looked it up in the make -h output, you could too
22:32:51 <Vorpal> elliott, and you tell me to google for stuff?
22:33:06 <elliott> olsner: i'm busy reading the whole manual
22:33:09 <elliott> which is much less useful
22:33:24 <elliott> I wish you could write $(foo bar, baz) for $(call foo, bar, baz)
22:34:21 <olsner> ah, making every multiple-word variable expansion a function call ... I can't see why that wouldn't work, it's such an obvious improvement too
22:34:59 <olsner> why do you read the *whole* manual when all you want to know is one option?
22:35:29 <olsner> that's like... an implementation of 'head' that always reads to EOF before printing anything
22:35:53 <olsner> "ooh, found it! now I just have to remember it until I get to the end of the manual!"
22:38:41 <elliott> olsner: :D
22:39:18 <elliott> olsner: right now I'm grappling with the seemingly-impossible task: "Turn 'a b c' into 'a,b,c'."
22:39:34 <olsner> $(shell) and sed
22:41:03 <elliott> joinwith = $(if $(2),$(firstword $(2))$(if $(wordlist 2,$(words $(1)),$(1)),$(1)$(call joinwith,$(1),$(wordlist 2,$(words $(1)),$(1))),),)
22:41:05 <elliott> YAAAAAAAAAAAAAAAAAAAAAAAAAAAY
22:41:08 <elliott> pikhq: YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY
22:41:13 * elliott gushes blood from every pore
22:41:15 <elliott> YAAAAAAAAAAAAAAAAAAAAAAAY
22:41:23 <olsner> elliott: wtf, my eyes are bleeding :(
22:41:31 <elliott> olsner: YAAAAAAAAAAAAAAAAAAAAAY
22:42:30 <elliott> olsner: doesn't even work :D
22:42:58 <olsner> make it work, then comment it out and replace with the silly sed solution
22:43:06 <elliott> olsner: that's not PORTABLE to OS/2
22:43:24 <olsner> well, wtf *is* portable to OS/2?
22:43:32 <elliott> aha i had $(1) instead of $(2)
22:43:33 <elliott> EASY
22:43:34 <elliott> MSITAKE
22:43:35 <elliott> *MISTAKE
22:44:08 <olsner> hmm, on second thought, I might have made some code that worked on both Linux and OS/2 :(
22:44:14 -!- Phantom_Hoover_ has quit (Quit: Leaving).
22:44:24 <elliott> define joinwith
22:44:24 <elliott> $(if $(2),
22:44:24 <elliott> $(firstword $(2))
22:44:24 <elliott> $(if $(wordlist 2,$(words $(2)),$(2)),
22:44:24 <elliott> $(1)
22:44:24 <elliott> $(call $(0),$(1),$(wordlist 2,$(words $(2)),$(2)))
22:44:26 <elliott> ,),)
22:44:28 <elliott> endef
22:44:30 <elliott> i give up
22:44:32 <elliott> there has to be another way
22:45:07 <elliott> EMPTY :=
22:45:07 <elliott> SPACE := $(EMPTY) #
22:45:07 <elliott> COMMA := ,
22:45:16 <elliott> olsner: that comment is solely there to show that, yes, gnu make is crazy!
22:45:18 <elliott> SPACE := #
22:45:20 <elliott> DOES NOT WORK
22:45:21 <elliott> but
22:45:23 <elliott> SPACE := $(EMPTY) #
22:45:23 <elliott> DOES
22:45:51 <olsner> (I don't remember if I had any code that was shared, or if the OS/2 and Linux parts were disjoint)
22:46:02 <elliott> olsner: you wrote OS/2 parts? why :D
22:46:16 <olsner> elliott: because it needed to run on OS/2
22:46:27 <olsner> or it *involved* OS/2 is more correct
22:47:24 <elliott> "The value function provides a way for you to use the value of a variable without having it expanded"
22:47:26 <elliott> MWAHAHAHAHA
22:47:29 <elliott> olsner: why.
22:47:37 <olsner> elliott: because.
22:47:39 <elliott> "The eval function is very special"
22:47:43 <olsner> *because?
22:47:44 <elliott> In the really, really retarded sense of "special".
22:48:08 <elliott> ifdef bletch
22:48:08 <elliott> ifeq "$(origin bletch)" "environment"
22:48:09 <elliott> bletch = barf, gag, etc.
22:48:09 <elliott> endif
22:48:09 <elliott> endif
22:48:11 <elliott> funny, mr. manual;
22:48:13 <elliott> that's how i feel about gnu make
22:48:48 <olsner> Mark writes, "advice that is true for life as well as code."
22:48:48 <olsner> # The colon is very important. DO NOT TOUCH.
22:48:58 <elliott> :D
22:49:23 <elliott> [["This is used all over our app," writes Anthony Arnold, "I get rid of them when I see them. What's wrong with !String.IsNullOrEmpty((s ?? "").ToString())"
22:49:23 <elliott> public static bool IsRealString(object s)
22:49:23 <elliott> {
22:49:23 <elliott> return s != null && !String.IsNullOrEmpty(s.ToString());
22:49:23 <elliott> }]]
22:49:31 <elliott> Why is that even on the daily wtf?
22:49:39 <elliott> ZOMG IT DOESN'T USE THE *ABSOLUTE NEWEST* CONSTRUCTS
22:49:43 <elliott> NOT PRESENT IN MOST OTHER LANGUAGES
22:49:45 <elliott> IT'S EVIL CODE
22:49:45 <Vorpal> <elliott> SPACE := $(EMPTY) # <-- why not " " ?
22:49:52 <elliott> Vorpal: you mean SPACE := " "?
22:49:59 <Vorpal> elliott, yeah
22:49:59 <elliott> that defines it to literally be quote mark, space, quote mark
22:50:01 <elliott> duh
22:50:05 <Vorpal> elliott, oh...
22:50:09 <Vorpal> elliott, how silly
22:50:09 <olsner> elliott: hopefully that's sarcasm and that other construct is considered equally bad
22:50:12 <elliott> you are clearly a make n00b luz3r
22:50:18 <elliott> olsner: I doubt it
22:50:23 <elliott> olsner: oh wait
22:50:26 <elliott> olsner: just looked at it :D
22:50:28 <elliott> yeah okay
22:50:28 <elliott> lol
22:51:25 <olsner> or maybe the submitter thinks that's the best way to do it and the wonder of clarity
22:51:27 <Vorpal> elliott, C#?
22:51:36 <elliott> Vorpal: prolly
22:51:38 <Vorpal> what the heck does ?? do there
22:51:41 <olsner> and as the readers we're supposed to go "lol, the *real* wtf, etc"
22:51:45 <Vorpal> I do not remember
22:52:11 <olsner> presumably s ?? foo means s != null ? s : foo
22:52:13 <elliott> yep
22:52:19 <elliott> olsner: btw i want to get rid of implicit rules in the makefile, not on the command line
22:52:29 <elliott> so -h does not help :P
22:53:08 <Vorpal> elliott, all:\n$(MAKE) -<switch> realall
22:53:14 <Vorpal> (NOTE: DON'T DO THIS)
22:53:21 <elliott> echo $(subst $(SPACE),$(COMMA),$(LD.FLAGS))
22:53:23 <elliott> HAHA IT WORKS
22:53:26 <olsner> you could ... $(filter) on MAKEFLAGS (or whatever it's called), then call make recursively if implicit rules are not disabled
22:53:34 <elliott> Vorpal: I might, actually, except the way olsner does it.
22:53:38 <elliott> I can't really think of a cleaner solution. :p
22:53:54 <Vorpal> elliott, you would need one per target
22:53:55 <Vorpal> !!
22:54:02 <elliott> Vorpal: nope
22:54:05 <olsner> put an if around your whole makefile, and use MAKECMDGOALS along with a catch-all rule to implement the wrapper
22:54:05 <elliott> Vorpal: %: \n ...
22:54:11 <Vorpal> elliott, oh my
22:54:13 <elliott> but yeah, what olsner said
22:54:31 <olsner> and remember to handle an empty list of goals
22:55:25 <olsner> I remember doing this once (not for the purpose of adding -r though) and deciding that it didn't end up that ugly after all
22:55:25 <Vorpal> olsner, won't the first rule be invoked then?
22:55:56 <olsner> Vorpal: put everything in an if so only the wrapper part is visible when you've decided you need to wrap
22:56:01 <Vorpal> why not BSD make
22:56:06 <Vorpal> isn't it much nicer iirc
22:57:05 <Vorpal> elliott, didn't mk have problems with spaces in the filenames?
22:57:26 <elliott> mk, yes, I think so.
22:57:34 <Vorpal> what about make?
22:57:36 <elliott> BSD make is less featureful, so I can't bend it into usefulness.
22:57:44 <elliott> Vorpal: It works *if* you take precautions at every point to make it work.
22:58:04 <Vorpal> elliott, a make library?
22:58:13 <elliott> Vorpal: Yes.
22:58:20 <elliott> Vorpal: The idea is that you can make your Makefile look something like this:
22:58:26 <elliott> include useful.make
22:58:29 <olsner> a make library? intriguing
22:58:36 <elliott> $(call c-program, foo, *.c)
22:58:38 <elliott> Or the like.
22:58:45 <Vorpal> elliott, does it do the deps thingy then
22:58:49 <Vorpal> so you get those .d files
22:58:50 <elliott> Vorpal: Yes, it will.
22:59:03 <elliott> Vorpal: It'll also hopefully have easy ways to add pkgconfig libraries to the mix, without manually doing $(shell pkg-config ...).
22:59:20 <Vorpal> elliott, and if the package only has foo-config?
22:59:33 <Vorpal> as in /usr/bin/motif-config (I hope not!)
22:59:35 <elliott> Vorpal: Well, then you get to add support yourself. Or maybe I'll have specific stuff for that :p
22:59:39 <elliott> Also, *allegro-config would be more realistic.
22:59:55 <Vorpal> elliott, well okay, I don't know which packages still use only that old style
23:00:06 <Vorpal> allegro would be reasonable to presume
23:00:10 <Vorpal> it is so.... backwards
23:00:17 <elliott> Allegro is nice though. :p
23:00:24 <Vorpal> elliott, SDL isn't bad either
23:00:30 <elliott> Allegro does more stuff for you.
23:00:45 <Vorpal> elliott, true, but it feels rather outdated somehow (yes yes, allegro 5...)
23:00:45 <elliott> Ugh, how can one make a submake not print "make[1]:"? I want to use $(MAKE) to be a Good Citizen but I don't want it to think "ooh, recursion!".
23:00:52 <zzo38> I have used SDL. It does work.
23:00:59 <Vorpal> no one doubted that
23:01:26 <Vorpal> olsner, dailywtf?
23:01:35 <zzo38> olsner: What is the point of such a code?
23:02:30 <olsner> zzo38: Indeed.
23:02:46 <zzo38> TeX sometimes makes overfull boxes. I fixed it by setting \emergencystretch=\hsize
23:04:24 <zzo38> olsner: Yes I have seen that code in Daily WTF.
23:05:04 <pikhq> elliott: Don't use a submake?
23:05:20 <elliott> pikhq: Give me another way to disable the default set of implicit rules.
23:05:34 <elliott> (Than filtering on MAKEFLAGS and re-making with --no-builtin-rules if it isn't there.)
23:05:44 <pikhq> Oh!
23:06:18 <pikhq> So that's what you're doing.
23:07:11 <elliott> pikhq: Yeah.
23:07:12 <Vorpal> elliott, just manually redefine a replacement for each built in rule
23:07:16 <Vorpal> ;P
23:07:24 <elliott> Vorpal: There is no way to know exactly what built-in rules are defined. :p
23:07:35 <elliott> Except maybe INVOKING MAKE TO ASK IT!11271892 (Even if this is possible: NO.)
23:07:47 <Vorpal> elliott, make -p
23:07:57 <Vorpal> elliott, then write a parser in make
23:08:07 <Vorpal> elliott, generate a makefile, and include it
23:08:09 <Vorpal> or something
23:08:20 <Vorpal> elliott, note: not a good idea
23:08:31 <elliott> lawl#
23:08:33 <elliott> *lawl
23:08:35 -!- zzo38 has quit (Remote host closed the connection).
23:09:05 <Vorpal> elliott, hm is make classified as an expert system or not?
23:09:19 <elliott> Yes.
23:09:27 <elliott> In fact "Recursive Make Considered Harmful" explicitly describes it as one.
23:09:30 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:09:41 <Vorpal> elliott, I wonder if you could turn it into a probabilistic expert system!
23:11:17 <elliott> Aha.
23:11:18 <elliott> MAKELEVEL=0.
23:11:53 <elliott> make: *** No rule to make target `sdf'. Stop.
23:11:53 <elliott> make: *** [sdf] Error 2
23:11:56 <elliott> Now to get rid of that pesky second line.
23:12:06 <elliott> pikhq:
23:12:06 <elliott> .RECIPEPREFIX
23:12:06 <elliott> The first character of the value of this variable is used as the character make assumes is introducing a recipe line. If the variable is empty (as it is by default) that character is the standard tab character. For example, this is a valid makefile:
23:12:06 <elliott> .RECIPEPREFIX = >
23:12:06 <elliott> all:
23:12:08 <Vorpal> elliott, not sure you can
23:12:09 <elliott> > @echo Hello, world
23:12:10 <elliott> The value of .RECIPEPREFIX can be changed multiple times; once set it stays in effect for all rules parsed until it is modified.
23:12:13 <elliott> LOL WAT.
23:12:26 <Vorpal> elliott, what is a "recipe" in make
23:12:43 <Vorpal> oh
23:12:44 <elliott> Vorpal: The actual shell script with make variable inclusions and the like.
23:12:47 <Vorpal> right
23:12:50 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:13:02 <Vorpal> elliott, can it be set to two chars
23:13:09 <Vorpal> elliott, so you can do space indented makefile
23:13:11 <Vorpal> or even mixed
23:13:21 <elliott> .RECIPEPREFIX := $(SPACE) *should* work.
23:13:28 <elliott> But you'd really want space-or-tab, which I think is impossible.
23:13:32 <Vorpal> ah
23:13:55 <Vorpal> elliott, I know it would confuse the hell out of most editor's mode for makefiles
23:14:03 <Vorpal> emacs would probably hate you
23:14:05 <Vorpal> same for kate
23:14:11 <pikhq> GNU Make really could do with a "break compatibility" option so that it can have saner syntax.
23:14:27 <pikhq> But, then, GNU would fuck it up somehow.
23:14:31 <Vorpal> yeha
23:14:32 <Vorpal> yeah*
23:14:35 <Vorpal> write your own?
23:15:01 <Vorpal> pikhq, all of this channel would thank you
23:15:08 <pikhq> Like turn $@ into $THE_TARGET_FOR_THIS_HERE_GNU_(GNU'S_NOT_UNIX)_MAKE_RECIPE_WILL_BE_PUT_IN_PLACE_OF_THIS_STRING
23:16:44 <elliott> Vorpal: Hey, my plan if this doesn't work out is to write my own Make-alike.
23:16:56 <elliott> Vorpal: Where in $(...), the code in ... is just interpreted in a pure, functional language.
23:17:02 <elliott> With PROPER LISTS, god dammit.
23:18:22 <Vorpal> hah
23:18:28 <olsner> you don't need lists, you can just use space-delimited strings! it's so much easier!
23:18:54 <elliott> olsner: Especially when your filenames have spaces in them!
23:19:20 <olsner> since you can't use such files with make, make users will not create such files :D
23:19:29 <elliott> olsner: you can, actually
23:19:32 <elliott> just reaaally painfully
23:20:02 <Vorpal> elliott, what about filenames with : in them
23:20:26 <Vorpal> can you do foo: bar is a nice file.interesting extension.really fun : something
23:20:30 <elliott> Vorpal: I think foo\:: bar might be valid
23:20:31 <elliott> if not,
23:20:34 <elliott> foo := foo:
23:20:35 <elliott> $(foo): bar
23:20:36 <elliott> probably is
23:20:39 <Vorpal> elliott, hah
23:20:51 <elliott> when in doubt, make a fucking variable
23:21:09 <Vorpal> elliott, mpw make!
23:21:15 <Vorpal> (just because)
23:21:18 <Vorpal> elliott, ever used it?
23:21:33 <Vorpal> it has it's own syntax, using non-ascii for stuff like : and \
23:21:43 <Vorpal> (macroman ftw)
23:22:00 <Vorpal> elliott, ?
23:22:02 <elliott> Vorpal: i've seen it.
23:22:06 <elliott> when trying to compile your cfunge port
23:22:14 <Vorpal> elliott, I didn't port cfunge...
23:22:18 <Vorpal> elliott, I ported ick
23:22:32 <Vorpal> porting cfunge would be insane
23:23:12 <elliott> oh joy, there's commas in my function argument
23:23:19 <elliott> time to mutilate my vital organs
23:23:23 <Vorpal> hah
23:23:46 <Vorpal> elliott, the issue is that make is doing this on a textual level
23:23:51 <elliott> you don't say
23:23:59 <Vorpal> elliott, I mean, it is rather insane
23:23:59 <elliott> oh wait my cat function seems broken
23:24:00 <elliott> neat!
23:24:02 <Vorpal> even for shells
23:24:02 <elliott> just like real cats
23:24:11 <elliott> always...broken
23:24:34 <elliott> ok you know what? fuck $(LD.FLAGS) for now
23:24:48 <Vorpal> elliott, why are you using that name
23:24:55 <Vorpal> elliott, LDFLAGS is kind of more common
23:25:00 <elliott> HAHAHAHAHAHAHAHA THE ISSUE IS THAT I HAD NEWLINES IN MY MACRO
23:25:13 <olsner> Vorpal: this is not the channel for "common" and you know it
23:25:16 <Vorpal> elliott, wait what
23:25:18 <elliott> Vorpal: because "CFLAGS" is stupid; I'm rationalising all the variable names and then defaulting them to the common name
23:25:26 <Vorpal> elliott, ah
23:25:26 <elliott> e.g. CC.FLAGS := $(CFLAGS)
23:25:28 <Vorpal> elliott, nice idea
23:25:31 <elliott> I may end up lowercasing it to cc.flags for less annoyance :P
23:25:34 <Vorpal> elliott, seen it done before though
23:25:46 <Vorpal> elliott, WHY NOT SHOUT WHEN YOU CAN. ALSO IT'S TRADITIONAL!
23:26:23 <Vorpal> "Tradition, tradition, where would we be without tradition" <-- I know this is a quite from somewhere, but I can't remember where
23:26:58 <elliott> define default
23:26:58 <elliott> $(eval,ifndef $(1)
23:26:58 <elliott> $(1) := $(2)
23:26:58 <elliott> endif)
23:26:58 <elliott> endef
23:27:00 <Vorpal> (I think, some play)
23:27:01 <elliott> aww, doesn't quite work
23:27:02 <Vorpal> (or such)
23:30:26 <elliott> hahaa it works
23:30:31 <Vorpal> elliott, how?
23:30:35 <elliott> define default_body
23:30:36 <elliott> ifeq ($$(origin $(1)), undefined)
23:30:36 <elliott> $(1) := $(2)
23:30:36 <elliott> endif
23:30:36 <elliott> endef
23:30:37 <elliott> default = $(eval $(call default_body,$(1),$(2)))
23:30:43 <Vorpal> whaaat
23:30:54 <Vorpal> that makes no sense
23:30:57 <elliott> I'm not sure why the make example for ?= uses origin like that though
23:31:01 <elliott> Vorpal: I think that
23:31:01 <elliott> $(eval
23:31:02 <elliott> foo
23:31:03 <elliott> bar)
23:31:06 <elliott> gets all its whitespace flattened
23:31:11 <elliott> whereas a multi-line macro can have any whitespace it wants
23:31:17 <elliott> i.e. $(foo bar baz) has all its newlines normalised to spaces
23:31:22 <elliott> whereas the body of a multi-line macro does not
23:31:24 <elliott> thus explaining the above
23:31:25 <Vorpal> elliott, ouch
23:31:46 <elliott> " If the variable variable-name has an empty value, the text-if-true is effective; otherwise, the text-if-false, if any, is effective. The rules for expansion and testing of variable-name are identical to the ifdef directive."
23:31:46 <elliott> ah
23:31:48 <elliott> so origin is morep recise
23:31:50 <elliott> *more precise
23:32:29 <Vorpal> elliott, ...what does origin do now again?
23:32:41 -!- cheater99 has joined.
23:32:46 -!- cheater99 has quit (Read error: Connection reset by peer).
23:32:48 <elliott> Vorpal: horrible things: http://www.gnu.org/software/make/manual/make.html#Origin-Function
23:33:11 <Vorpal> elliott, *decides to leave minecraft running overnight*
23:33:21 <Vorpal> I hope it won't do anything insane like swap trash
23:34:25 <Vorpal> elliott, oh my
23:35:27 -!- cheater99 has joined.
23:36:11 <elliott> quote = '$(subst ','\'',$(1))'#'
23:36:15 <elliott> Vorpal: Guess what that comment is for.
23:36:27 <elliott> Vorpal: Answer: To stop Emacs thinking the rest of the Makefile is in a quote.
23:36:39 <Vorpal> elliott, emacs fails parsing then
23:36:40 <elliott> EXAMPLE USAGE:
23:36:41 <elliott> define c-program
23:36:41 <elliott> ;
23:36:41 <elliott> $(call cat, $(CC) $(CC.FLAGS) $(CPP.FLAGS)) \
23:36:41 <elliott> -o $$(call quote,$$@) \
23:36:41 <elliott> $$(foreach src,$$^,$$(call quote,$$(src)))
23:36:43 <elliott> endef
23:37:02 <Vorpal> elliott, I have no idea what that does. I never used call in make even
23:37:08 -!- cheater99 has quit (Read error: Connection reset by peer).
23:37:10 <elliott> Vorpal:
23:37:13 <elliott> foo = $(2) $(1)
23:37:16 <elliott> $(call foo,a,b) => b a
23:37:23 <Vorpal> yearh
23:37:26 <Vorpal> yeargh*
23:37:30 <elliott> Vorpal: quote = '$(subst ','\'',$(1))'#'
23:37:35 <Vorpal> elliott, did it turn a variable into a function?
23:37:36 <elliott> Vorpal: So, we have literal ', a call, and a literal '.
23:37:40 <elliott> The call transforms ' into '\''.
23:37:41 <elliott> So:
23:37:45 <elliott> $(call quote,a' b)
23:37:46 <elliott> ->
23:37:50 <elliott> 'a'\'' b'
23:37:51 <Vorpal> !!!!!!
23:37:52 <pikhq> Wow. 9 months after the election, Iraq finally forms a government.
23:37:54 <elliott> Which is how you shell-represent "a' b".
23:37:58 <elliott> Vorpal: And yes, it does; string-based!
23:38:00 <elliott> Vorpal: Remember that
23:38:01 <Vorpal> !!!!!!!!!!!!!!!!!!
23:38:01 <elliott> define foo
23:38:02 <elliott> ...
23:38:02 <elliott> endef
23:38:05 <elliott> just defines a string too.
23:38:15 <Vorpal> elliott, not a string foo?
23:38:18 <Vorpal> XD
23:38:22 <elliott> Yes yes yse.
23:38:23 <elliott> *yes.
23:38:25 <Vorpal> yeah
23:38:46 <Vorpal> wow, $(flavor ...) looks even worse
23:38:49 <elliott> $ make
23:38:49 <Vorpal> than origin
23:38:49 <elliott> cc -o 'foo' 'foo.c'
23:38:50 <elliott> Bit ugly though.
23:38:52 <elliott> SOLUTION?
23:38:53 <elliott> Another function!
23:39:00 <elliott> That only quotes if there's any quote-needing characters.
23:39:01 <elliott> To quote.
23:39:16 <elliott> I am, by the way, laughing.
23:39:24 <Vorpal> elliott, oh?
23:39:29 <elliott> Yes.
23:39:31 <elliott> This is very silly.
23:39:43 <Vorpal> elliott, yes, yes it is
23:39:59 <elliott> OK, I think if I do
23:40:03 <Vorpal> $(info text...)
23:40:03 <Vorpal> This function does nothing more than print its (expanded) argument(s) to standard output. No makefile name or line number is added. The result of the expansion of this function is the empty string.
23:40:04 <Vorpal> uh
23:40:07 <Vorpal> @echo ?
23:40:12 <elliott> Vorpal: Anywhere in the makefile, silly.
23:40:13 <elliott> $(filter-out %a%,$(1))
23:40:14 <elliott> erm
23:40:16 <Vorpal> elliott, oh right
23:40:20 <elliott> $(filter-out %a%,$(1))$(filter-out %b%,$(1))$(filter-out %c%,$(1))...
23:40:25 <elliott> for every single safe character
23:40:28 <elliott> then I can do kwote
23:40:32 <Vorpal> elliott, this in absurd
23:40:44 <elliott> Wait, no. Argh.
23:41:15 <elliott> I think I'm going to start listening to emo just to accurately convey my mood right now.
23:41:21 <Vorpal> elliott, ouch
23:41:24 <Vorpal> elliott, that's bad
23:41:29 <Vorpal> elliott, you need a VHS (??)
23:41:33 * elliott slits the wrists of his inner programmer
23:41:36 <elliott> Vorpal: And a big spider!
23:41:40 <Vorpal> elliott, and that
23:41:46 <elliott> SCCS
23:41:47 <elliott> Any file n is extracted if necessary from an SCCS file named either s.n or SCCS/s.n. The precise recipe used is ‘$(GET) $(GFLAGS)’. The rules for SCCS are terminal (see Match-Anything Pattern Rules), so SCCS files cannot be generated from another source; they must actually exist.
23:41:48 <elliott> WHY DOES THIS EVEN EXIST
23:41:50 <Vorpal> elliott, and a big RMS plush figure
23:42:08 <elliott> Vorpal: Oh man, I would buy that if and only if it's in the pose of eating stuff it picked from its feet.
23:42:15 <elliott> ...and then promptly burn it.
23:42:15 <elliott> Twice.
23:42:21 <Vorpal> elliott, I doubt rms does that
23:42:26 <elliott> HAHAHA
23:42:30 <Vorpal> elliott, what?
23:42:40 <Vorpal> elliott, [citation needed]
23:42:42 <elliott> Vorpal: http://www.youtube.com/watch?v=I25UeVXrEHQ
23:42:42 -!- oerjan has joined.
23:42:46 <elliott> Vorpal: skip to 1:47
23:42:54 <Vorpal> elliott, not sure I will...
23:42:55 <elliott> Vorpal: (Note: You really, really don't want to.)
23:42:55 <Vorpal> but hm
23:43:08 <Vorpal> elliott, indeed I won't
23:44:06 <elliott> Vorpal: Writing a make replacement sounds SO lovely right now.
23:44:08 <Vorpal> elliott, "8.12 Functions That Control Make" <-- don't all in some sense
23:44:21 <Vorpal> elliott, keyword: NOT TEXTUAL
23:44:26 <Vorpal> (as in, binary file format!)
23:44:29 <elliott> Sexual make. (Wait, what?)
23:44:30 <oerjan> 07:16:25 <elliott> 20:31:48 <zzo38> Do you have any high resolution templates for Magic: the Gathering cards? I should need templates with a better quality than the ones Wizards of the Coast uses.
23:44:35 <oerjan> 07:16:31 <elliott> <oerjan> Funny you should mention it, why yes I do!
23:44:37 <oerjan> 07:16:38 <Vorpal> XD
23:44:52 <oerjan> IT'S GOOD TO SEE YOU ENJOYING YOURSELVES
23:44:56 <elliott> <oerjan> 07:16:25 <elliott> 20:31:48 <zzo38> Do you have any high resolution templates for Magic: the Gathering cards? I should need templates with a better quality than the ones Wizards of the Coast uses.
23:44:56 <elliott> <oerjan> 07:16:31 <elliott> <oerjan> Funny you should mention it, why yes I do!
23:44:56 <elliott> <oerjan> 07:16:38 <Vorpal> XD
23:44:56 <elliott> <oerjan> IT'S GOOD TO SEE YOU ENJOYING YOURSELVES
23:45:02 <elliott> IT'S GOOD TO SEE YOU ENJOYING OURSELVES
23:45:12 <Vorpal> elliott, wait what
23:45:18 <elliott> <Vorpal> elliott, wait what
23:45:19 <Vorpal> elliott, you mean "good to see us"
23:45:24 <elliott> It's good to see wait what!
23:45:26 <oerjan> redundant elliott is redundant
23:45:28 <elliott> <elliott> <Vorpal> elliott, wait what
23:45:28 <elliott> <Vorpal> elliott, you mean "good to see us"
23:45:32 <elliott> IT'S GOOD REDUNDANT
23:45:54 <Vorpal> elliott is indeed redundant (not just redundant elliott!)
23:46:14 <Vorpal> after all, we have Gregor
23:46:32 <elliott> Gregor serves my purpose?
23:46:35 <oerjan> Vorpal: that X Y is X is an old meme
23:46:40 <elliott> oerjan: he probably knows.
23:46:42 <elliott> one would assume.
23:46:42 <Vorpal> elliott, well no, but zzo fills the rest
23:46:43 <elliott> perhaps.
23:46:50 <elliott> Vorpal: I will cause your death.
23:46:52 <oerjan> elliott: _probably_, but he _is_ Vorpal
23:47:01 <Vorpal> <oerjan> Vorpal: that X Y is X is an old meme <-- you don't say!??!?!
23:47:07 <Vorpal> :P
23:47:35 <Vorpal> elliott, I can only presume that is your intention
23:47:37 <elliott> pikhq: Quick, help me design a Make replacement.
23:47:43 <Vorpal> elliott, use macroman
23:47:45 <Vorpal> (not)
23:47:58 <elliott> Macro Man.
23:47:59 <oerjan> call it "fake"
23:47:59 <Vorpal> elliott, should it be TC?
23:48:04 <elliott> Vorpal: Why not :P
23:48:12 <elliott> oerjan: Bake. Cake. Shake. Lake. Sake. Rake.
23:48:14 <elliott> Quake.
23:48:17 <elliott> Take.
23:48:21 <Vorpal> elliott, well... there are arguments in both directions
23:48:26 <Vorpal> elliott, but yeah, TC
23:48:38 <elliott> Vorpal: Not making it TC would make it harder to support useful features.
23:48:40 <Vorpal> elliott, I seem to remember that "rake" is taken
23:48:44 <Vorpal> for some build system
23:48:46 <elliott> Indeed. So's cake.
23:48:49 <Vorpal> elliott, is it? huh
23:48:55 <elliott> So's bake, it seems.
23:48:55 <Vorpal> elliott, no that's a lie!
23:49:03 <elliott> Sake is taken too.
23:49:13 <Vorpal> elliott, construct?
23:49:23 <Vorpal> hm too long
23:49:27 <elliott> Vorpal: Cons, the tool that SCons is inspired by :P
23:49:33 <Vorpal> ah...
23:49:42 <Vorpal> elliott, is cons even worse than scons?
23:49:51 <elliott> Well, it's Perl. YMMV.
23:49:53 <Vorpal> ah
23:49:58 <Vorpal> YMMV indeed
23:50:17 -!- poiuy_qwert has joined.
23:50:26 <Vorpal> elliott, make is a Swedish word btw
23:50:29 <elliott> Vorpal: At Least It's Not CMake(TM)
23:50:40 <Vorpal> elliott, alinc?
23:50:48 <elliott> What does make mean in svedish?
23:50:56 <Vorpal> elliott, "husband"
23:51:08 <Vorpal> elliott, also w
23:51:32 <Vorpal> elliott, so you could call the program spouse?
23:51:57 <elliott> Heh.
23:52:11 <Vorpal> elliott, this is like taking cockney rhyme to a new level
23:52:14 <Vorpal> or something
23:52:18 <elliott> "emake" is my work-in-progress name, but. That's boring.
23:52:20 <elliott> (Extended Make)
23:52:24 <Vorpal> elliott, emake is used
23:52:30 <elliott> shake has quite a nice qwerty-feel.
23:52:35 <elliott> Oh, right, erlang.
23:52:38 <Vorpal> yep
23:52:40 <elliott> Thankfully nobody uses erlang :P
23:52:47 <Vorpal> elliott, I think there is another emake too
23:53:33 <Vorpal> elliott, you mean, last.fm, ubuntu (couchdb), Ericsson, ejabberd (forgot the company behind it) and so on?
23:53:46 <elliott> Vorpal: Yep.
23:53:48 <elliott> None of those exist.
23:53:51 <Vorpal> elliott, ah
23:53:58 <Vorpal> elliott, so ubuntu is a lie?
23:53:58 -!- cheater99 has joined.
23:54:04 <elliott> Yes.
23:54:17 <Vorpal> elliott, explains why the bug reports seem to stay open forever
23:54:19 <elliott> Mark Shuttleworth has actually just managed to embed mind-control into an .iso; your screen is, in fact, blank for the duration of Ubuntu's use.
23:54:25 <elliott> It's a sick, sick joke he is playing on us all.
23:54:30 <Vorpal> elliott, lucky I'm on arch
23:54:31 <elliott> Ugh, "%: Makefile" doesn't do the right thing. :P
23:54:32 <elliott> brb
23:54:32 <Vorpal> atm
23:54:49 <Vorpal> elliott, so what *does* %: Makefile do?
23:57:29 <Vorpal> elliott, mc data values make no sense
23:58:11 <Vorpal> elliott, a number of blocks, wall signs, furances, pumpkins and so on, can face different directions
23:58:23 <Vorpal> you would think east/west/south/north would be same for all
23:58:25 <Vorpal> no
23:58:29 <elliott> heh
23:59:09 <Vorpal> Ground levers:
23:59:10 <Vorpal> * 0x5: Lever points west when off.
23:59:10 <Vorpal> * 0x6: Lever points south when off. (Note that unlike the other types of switch, this version will not power wires around the block it is sitting on.)
23:59:11 <Vorpal> what?
23:59:26 -!- cheater99 has quit (Ping timeout: 240 seconds).
23:59:31 <elliott> lol
2010-12-21
00:00:07 <Vorpal> elliott, also stairs use a different direction-encoding scheme
00:00:09 <Vorpal> as well
00:00:22 <Vorpal> as ladders YET another one
00:06:18 -!- Mathnerd314 has quit (Ping timeout: 260 seconds).
00:10:14 -!- pikhq has quit (Ping timeout: 240 seconds).
00:12:30 -!- pikhq has joined.
00:18:41 -!- Sgeo has joined.
00:22:06 <elliott> ifneq "$(findstring $(SPACE),$(CURDIR))" ""
00:22:06 <elliott> $(error Your work area is under a directory whose name contains a space. While it's possible to beat make into working with such directories, it's surprisingly hard and causes more problems than it solves. So, sorry, but don't do that)
00:22:06 <elliott> endif
00:22:16 <elliott> --salma-hayek, another (and much larger, multi-file) make "framework"
00:22:25 <Sgeo> If I fail this course, my GPA will go from 3.86 to a number larger than 3.61
00:22:35 <Vorpal> elliott, you will do it I presume?
00:22:41 <Vorpal> Sgeo, GPA?
00:22:56 <elliott> Vorpal: GPA = stupid numeric measure of success in USA
00:22:57 -!- cheater99 has joined.
00:23:02 <Vorpal> elliott, ah
00:23:09 <elliott> Vorpal: And I don't know if I'll do it; it really is a *huge* pain and it's also impossible to use lists like that, I think.
00:23:11 <Sgeo> 4.0 being straight As
00:23:23 <Vorpal> Sgeo, so don't fail it?
00:23:36 <Sgeo> Vorpal, do half a semester's worth of work in one night?
00:24:12 <elliott> Sgeo: On, what, xor swapping in Perl?
00:24:21 <olsner> elliott: make framework == fail, make library == potentially not fail
00:24:23 <Vorpal> Sgeo, so why didn't you?
00:24:37 <elliott> olsner: "framework" in so far as it defines targets like "all" and "clean" for you :P
00:24:39 <pikhq> Vorpal: "GPA" = "Grade Point Average". Essentially an averaging of grades, with A=4.0, B=3.0, C=2.0, D=1.0, F=0.0.
00:24:40 <Sgeo> Vorpal, I missed a deadline, then got scared of checking whether it would be possible to submit
00:24:41 <Vorpal> Sgeo, I mean, why didn't you work
00:24:44 <Sgeo> And it kind of snowballed
00:24:50 <Vorpal> ...
00:24:52 <elliott> "Scared"?
00:24:54 <elliott> What?
00:24:56 <elliott> Sgeo: ?
00:24:57 <olsner> at least using the framework/library distinction I read in a random blog post a while ago, dunno if there's any official definition of it
00:24:58 <Vorpal> night →
00:25:04 <pikhq> It's a very bizzare "measure" of academic performance.
00:25:13 <elliott> olsner: well with make it's more like... ball of mud vs. ball of mud :D
00:25:17 <pikhq> Especially as the given out grades are essentially arbitrary.
00:25:47 <Sgeo> elliott, yes, scared
00:25:53 <elliott> Sgeo: Howso exactly?
00:25:58 <Sgeo> Of the thing closing so I couldn't submit work
00:26:09 <elliott> "scared of checking whether it would be possible to submit"
00:26:15 <elliott> Sgeo: You said scared of checking.
00:26:17 <elliott> Not scared of it closing.
00:26:32 <Sgeo> Well, I ended up not checking. Or looking at it. Or doing anything else
00:26:37 <elliott> Sgeo: ...why?
00:27:10 -!- sftp has quit (Ping timeout: 272 seconds).
00:27:26 -!- cheater99 has quit (Ping timeout: 240 seconds).
00:27:48 <elliott> Gregor: You... forced a new WebKit build into Safari?
00:27:50 <elliott> WHY GOD WHY
00:27:59 <Sgeo> elliott, early adapter?
00:28:09 <elliott> <Sgeo> Well, I ended up not checking. Or looking at it. Or doing anything else
00:28:09 <elliott> <elliott> Sgeo: ...why?
00:28:11 <elliott> Question not answered yet.
00:28:35 <Sgeo> elliott, because I was scared.
00:28:45 <elliott> Sgeo: Of /what/
00:28:47 <olsner> grades are useless
00:29:03 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
00:29:04 <Sgeo> Of it being too late to do anything
00:29:12 <olsner> except for getting into the next level of education where you can achieve: more useless grades
00:29:13 <Sgeo> elliott, you think that this was rational?
00:29:15 <Sgeo> It wasn't
00:29:15 <elliott> Sgeo: Yes, but you said scared of /checking/.
00:29:21 <elliott> No, but irrational is one thing.
00:29:23 <elliott> Completely stupid is another.
00:29:39 <elliott> olsner: but then you get a ph.d.!
00:29:57 * pikhq declares it to be time for more Shin Megami Tensei: Persona 3 FES
00:30:08 <olsner> elliott: orly? I didn't
00:30:24 <elliott> olsner: then you didn't get enough useless grades
00:30:31 <elliott> pikhq: do what i said :P
00:30:41 -!- poiuy_qwert has joined.
00:31:23 <olsner> eugh, these x86 assembly instructions are so damned long :(
00:32:42 <elliott> olsner: write your OS in MIPS and then just write a MIPS emulator in x86 asm
00:34:14 <olsner> or ARM, I have arbitrarily decided that I like ARM assembly more than MIPS
00:34:21 <olsner> MIPS is easier to decode though
00:35:03 <elliott> olsner: yes but with mips you can, one day, perhaps run on jsmips
00:35:37 <olsner> perhaps!
00:35:37 -!- pikhq has quit (Ping timeout: 276 seconds).
00:36:00 <olsner> or maybe look into Alpha which has that PAL thingy
00:36:04 <olsner> which sounds cool
00:36:07 <elliott> olsner: alpha is super-complex :P
00:36:08 <elliott> iirc
00:36:56 -!- pikhq has joined.
00:37:12 <olsner> hmm, right, not so cool to emulate... but potentially for writing stuff in
00:37:25 <elliott> olsner: write it in MIX, not MMIX, MIX
00:37:36 <olsner> as in, write a microkernel directly in PAL or something
00:37:43 <pikhq> Man. This game has an in-game calendar.
00:37:48 <pikhq> The End of the World is marked on it.
00:38:18 <elliott> "By default, the Make rules should compile and link with ‘-g’, so that executable programs have debugging symbols. Users who don't mind being helpless can strip the executables later if they wish."
00:38:20 <olsner> not sure what you can do with it though, and wikipedia didn't have a complete description so I'll assume there's not a lot of online information about it
00:38:26 <elliott> yeah, I use the debugging symbols in my binaries ALL THE TIME
00:38:43 <elliott> olsner: define pal
00:39:07 <pikhq> 20100131, in fact.
00:39:29 <olsner> elliott: it's a microcodeish thing that allows you to define custom assembler instructions (really function calls into PAL code)
00:39:49 <elliott> olsner: psht, why not overwrite the actual microcode of the x86
00:39:50 -!- cheater99 has joined.
00:39:55 <elliott> to do bytebytejump!
00:40:00 <elliott> pikhq: heh
00:40:17 <olsner> elliott: that would be awesome, if only you could make your own
00:40:28 <olsner> maybe I should get a job at intel or something
00:40:40 <elliott> olsner: you can
00:40:57 <elliott> olsner: linux lets you write to microcode with a file in /proc if it's enabled at kconfig time
00:41:04 <elliott> olsner: for applying microcode updates from intel
00:41:07 <elliott> or something
00:41:12 <elliott> olsner: all you have to do is figure out the format and instructions!
00:41:25 <olsner> ... and intel's private key for microcode updates?
00:42:32 <elliott> olsner: well, let's put it this way
00:42:39 <elliott> olsner: either you can figure it out by reading the linux kernel source,
00:42:46 <elliott> olsner: or /intel's cpus actually check the key themselves/
00:42:56 <elliott> now, the latter would be an amazing feat of silicon
00:42:57 <elliott> but i doubt it
00:43:31 <olsner> as I understand it, what's in linux is just glue code for sending the contents of intel's microcode files into the cpu
00:43:59 <elliott> olsner: so you're saying the cpu actually has silicon/microcode on it to verify a public key?
00:44:00 <elliott> hmm
00:44:00 <olsner> i.e. mostly useless for anyone wanting to construct their own microcode file
00:44:25 <oerjan> elliott: the key wouldn't actually have to be assymetric, would it?
00:44:39 <elliott> oerjan: well no i was about to correct that but decided not to :D
00:44:49 <oerjan> *asymmetric
00:45:36 <olsner> elliott: it could also have plain x86 code that does it - every x86 cpu comes with an x86 cpu after all
00:45:50 <elliott> olsner: well, yes.
00:45:54 <elliott> olsner: TIAS :P
00:46:02 <elliott> (I accept no responsibility if etc.)
00:46:14 <olsner> TIAS?
00:46:19 <elliott> olsner: Try It And Snorkel
00:46:22 <elliott> Or See.
00:46:24 <elliott> But probably snorkel.
00:46:41 <olsner> I do wonder what happens if you send random data as the microcode thing
00:46:50 <elliott> olsner: TIAS!
00:47:01 <elliott> (Tiaras Impede Actually Snorkelling)
00:47:02 * oerjan watches olsner brick his computer
00:47:50 -!- cheater99 has quit (Ping timeout: 240 seconds).
00:48:43 <elliott> olsner: so how can I make everything depend on the Makefile I wonder
00:48:45 <elliott> you must answer
00:49:13 <olsner> this sounds promising: "The microcode update is volatile and needs to be uploaded on each system boot i.e. it doesn't reflash your cpu permanently, reboot and it reverts back to the old microcode."
00:50:40 <elliott> olsner: it probably won't brick it then! now cat /dev/urandom to it
00:51:04 <elliott> olsner: http://www.urbanmyth.org/microcode/
00:51:08 <elliott> olsner: this may help sorta
00:51:17 <olsner> elliott: yep, found
00:51:44 <elliott> what's the filename for microcode again?
00:51:48 <elliott> i wanna see if i can cat it :P
00:52:13 <olsner> it's a text file, with many sets of updates (for different models, presumably), each is a list of 32-bit hexadecimal values
00:52:31 <olsner> you can: apt-get install intel-microcode :)
00:52:34 <elliott> heh
00:53:10 <elliott> dammit, make needs a
00:53:20 <elliott> $(.WHAT_DEFAULT_GOAL_WILL_BE_AT_THE_END_OF_EVALUATION)
00:54:09 <olsner> most of the data sets seem to have a header (a bunch have 12 words, the last entry in the file has 36 words of header)
00:57:23 <elliott> olsner: please tell me you're actually gonna try writing to the file
01:00:35 -!- cheater99 has joined.
01:01:06 <olsner> first problem: finding out which of all these updates belong to my CPU model
01:01:06 <pikhq> SOON THERE SHALL BE SATAN
01:01:24 <pikhq> AND I SHALL BE INVINCIBLE
01:03:31 <olsner> nice, the code that teases apart the file-of-all-updates into the right per-cpu update is in the kernel
01:04:20 <elliott> heh
01:04:20 -!- cheater99 has quit (Read error: Connection reset by peer).
01:07:57 <elliott> elliott@dinky:~/code/useful-make$ ls
01:07:58 <elliott> foo.c foo.d Makefile useful.make
01:07:58 <elliott> elliott@dinky:~/code/useful-make$ rm foo.d
01:07:58 <elliott> rm: cannot remove `foo.d': No such file or directory
01:07:59 <elliott> spot the error
01:08:27 <olsner> foo.d\ \ Makefile?
01:09:36 <elliott> olsner: nope
01:10:43 <elliott> olsner: GUESS AGAIN MY FRIEND
01:18:33 <elliott> olsner: answer: \ foo.d
01:21:06 -!- cheater99 has joined.
01:23:13 -!- cheater99 has quit (Read error: Connection reset by peer).
01:25:20 <olsner> hmm, looks like I won't have time to do this microcode thingy until after christmas
01:25:45 <Sgeo> According to the academic calendar, the grades are due in a week
01:25:51 <Sgeo> So maybe I can still pull this off
01:28:42 <olsner> (it suddenly involved a reboot because I don't have kernel modules installed for my running kernel)
01:29:22 <elliott> olsner: rebooting takes until after christmas?
01:29:22 <olsner> and microcode loading (which might print some numbers when running) and msr reading (which could also tell me those numbers) both require loading some specific kernel modules
01:29:26 <olsner> elliott: yep
01:29:30 <elliott> :D
01:29:36 <elliott> olsner: can't you just modprobe
01:29:37 <olsner> no time for planned downtime!
01:29:39 <elliott> the one advantage of dynamic modules!
01:29:44 <elliott> they save uptime
01:29:59 <olsner> hmm, using modprobe solves not having the modules installed?
01:30:24 <elliott> olsner: well you can always recompile the kernel, install it, and use modprobe, no>?
01:30:25 <elliott> *no?
01:30:33 <elliott> or even just compile the modules themselves?
01:30:34 <elliott> and modprobe them?
01:30:48 <elliott> Makefile:2: *** commands commence before first target. Stop.
01:30:50 <elliott> SHUT UP YOU PIECE OF SHIT
01:31:24 <elliott> lol it was because i had indentation
01:33:55 <Sgeo> I'm starting to think I put about as much effort into school as a high school dropout, I just happen to be lucky
01:34:35 <olsner> hmm, I could just reinstall the kernel package I had when I last booted :)
01:35:22 <olsner> dmesg after modprobe microcode says: sig=0x10677, pf=0x10, revision=0x703 <-- those are the droids I should be looking for
01:35:53 <pikhq> There's snow in Australia right now.
01:35:58 <pikhq> On the summer. Fucking. Solstice.
01:37:56 <elliott> w.t.f.is.this.
01:38:04 <elliott> define compile
01:38:04 <elliott> @echo $(call quote,$(1))
01:38:04 <elliott> $(2)
01:38:04 <elliott> endef
01:38:04 <elliott> works
01:38:07 <elliott> define compile
01:38:07 <elliott> @echo $(call quote,$(1))
01:38:08 <elliott> @$(2)
01:38:10 <elliott> endef
01:38:12 <elliott> says missing separator
01:38:16 <Sgeo> pikhq, therefore, Global Warming is a lie!
01:38:19 <elliott> AND
01:38:22 <elliott> define compile
01:38:22 <elliott> @echo $(call quote,$(1))
01:38:23 <elliott> @$(2)
01:38:23 <elliott> endef
01:38:25 <elliott> works, but still prints $(2)
01:38:31 <elliott> WHAT THE FUCK IS HAPPEN;FGHING
01:39:21 <elliott> define c-dep-rule
01:39:21 <elliott> $(1).d : $(1).c ; $(call compile,DEP $(1).c,
01:39:21 <elliott> $(CC.INVOKE) -M -MG \
01:39:21 <elliott> -MT $(call quote,$(2)) \
01:39:21 <elliott> -MF $(call quote,$(1).d) \
01:39:22 <elliott> $(1).c)
01:39:23 <elliott> endef
01:39:25 <elliott> pikhq: behold the ugly
01:40:09 -!- cheater99 has joined.
01:40:57 <elliott> oh, i needed MOAR BACKSLUSHES
01:41:12 <elliott> nope wait avoided
01:42:46 <elliott> elliott@dinky:~/code/useful-make$ make
01:42:47 <elliott> DEP foo.c
01:42:47 <elliott> CC foo.c
01:42:47 <elliott> elliott@dinky:~/code/useful-make$ make clean
01:42:47 <elliott> rm -f 'foo' 'foo.d'
01:42:49 <elliott> pikhq: Oh god this is hideous.
01:43:13 -!- cheater99 has quit (Read error: Connection reset by peer).
01:44:14 <olsner> hmm, this thing only contains 2012 bytes of microcode
01:45:04 <oerjan> when the snow crust carries a man at summer solstice, spring will be late
01:45:25 <elliott> olsner: I think they only contain "patches".
01:46:33 <oerjan> (ancient northern norwegian proverb)
01:46:56 <olsner> grr, forgot about how 4-byte ints take 4 bytes each - it's actually 8k :)
01:49:26 <elliott> define c-program-body
01:49:26 <elliott> $(call c-program-rule,$(1))
01:49:26 <elliott> $(call c-dep-rule,$(1),$(1))
01:49:26 <elliott> $(if $(cleaning),,-include $(1).d)
01:49:26 <elliott> endef
01:51:05 <elliott> pikhq: olsner: http://sprunge.us/ejFR useful.make
01:51:07 <elliott> http://sprunge.us/YEbG Makefile
01:51:12 <elliott> Warning: MOST HIDEOUS HACK IN THE HISTORY OF HACKS.
01:51:22 <elliott> FEATURES CODE LIKE
01:51:22 <elliott> quote = '$(subst ','\'',$(1))'#'
01:51:23 <oerjan> "The language for Apex is sort of a combination of TECO and Sam."
01:51:27 <elliott> and
01:51:29 <elliott> define c-dep-rule
01:51:29 <elliott> to-clean += $(1).d
01:51:30 <elliott> $(1).d : $(1).c ; $(call compile,DEP $(1).c,
01:51:30 <elliott> $(cc.invoke) -M -MG \
01:51:30 <elliott> -MT $(call quote,$(2)) \
01:51:30 <oerjan> http://scientopia.org/blogs/goodmath/2010/12/19/apex-my-editor-project/
01:51:30 <elliott> -MF $(call quote,$(1).d) \
01:51:32 <elliott> $(1).c)
01:51:34 <elliott> endef
01:51:48 <elliott> oerjan: <3
01:52:07 <elliott> but, dammit, Apex is already a cpressey language!
01:53:32 <elliott> nobody gonna call me out on that? :P
01:54:07 -!- FireFly has quit (Quit: swatted to death).
01:54:15 <elliott> pikhq: not gonna cry at my useful.make?
01:58:06 <oerjan> elliott: google does not seem to support that claim much
01:58:28 <elliott> oerjan: it was actually a language i managed to trick cpressey into semi-designing before he buggered off irc :)
01:58:36 <oerjan> heh
02:00:09 -!- cheater99 has joined.
02:04:09 -!- cheater99 has quit (Read error: Connection reset by peer).
02:09:01 <elliott> elliott@dinky:~/code/useful-make$ make
02:09:01 <elliott> DEPfoo.c
02:09:01 <elliott> CCfoo.c
02:09:01 <elliott> foo.c: In function ‘main’:
02:09:01 <elliott> foo.c:2: error: expected ‘;’ before ‘}’ token
02:09:02 <elliott> (command was: cc -o 'foo' 'foo.c')
02:09:03 <elliott> make: *** [foo] Error 1
02:09:05 <elliott> aww yeah
02:09:11 <elliott> define do
02:09:12 <elliott> @echo $(call quote,$(SPACE)$(SPACE)$(1)$(TAB)$(2)); $(strip $(3)) || ( \
02:09:12 <elliott> exit=$$$$?; \
02:09:13 <elliott> echo ' (command was: '$(call quote,$(strip $(3)))')'; \
02:09:15 <elliott> exit $$$$exit \
02:09:18 <elliott> )
02:09:19 <elliott> endef
02:09:21 <elliott> I'm a four-dollar programmer.
02:09:23 <elliott> pikhq: ^
02:18:22 <pikhq> elliott: There is no God.
02:18:32 <elliott> pikhq: No -- I am god, see.
02:18:40 <elliott> pikhq: I got the number of $s right on my *second try*.
02:18:43 <pikhq> No, you are Loki.
02:18:49 <elliott> I went straight from $? to $$$$?.
02:18:49 <Sgeo> What language is this?
02:18:52 <elliott> That is how in tune I am with make right now.
02:18:54 <pikhq> Sgeo: Make.
02:18:56 <elliott> Sgeo: Make, of the GNU variety.
02:19:01 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
02:19:08 * Sgeo decides not to learn it
02:19:16 <elliott> Sgeo: It's not a language, it's a build system.
02:19:22 <elliott> A BUILD SYSTEM THAT I HAVE PERVERTED
02:19:25 <elliott> GAHAHAHAHAHA
02:19:34 <Sgeo> Oh, that's alright then
02:19:37 <elliott> NO IT'S NOT
02:19:43 <elliott> IT IS SO, /SO/ NOT ALL RIGHT
02:20:22 <Sgeo> Oh it's "Oh. Well, that's all right then"
02:20:39 -!- cheater99 has joined.
02:20:49 -!- poiuy_qwert has joined.
02:22:29 <Sgeo> http://www.american-buddha.com/hitchhikersolong8.htm how is this legal? Or is it not?
02:22:45 <elliott> Clearly it is totally legal.
02:23:19 -!- cheater99 has quit (Read error: Connection reset by peer).
02:25:38 <pikhq> Sgeo: Copyright is enforced via civil law. Making it trivial to violate without fear of retribution if you're not a big enough target.
02:28:06 <elliott> pikhq: http://sprunge.us/STBN useful.make, slightly less horrific version.
02:28:20 <elliott> pikhq: Semi-recommended reading now, as it merely provides insight into using and abusing make, rather than also inflicting mortal pain :P
02:32:05 <elliott> pikhq: No?
02:38:36 * pikhq attempts to gain 20 to 30 levels
02:39:01 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
02:39:18 <elliott> pikhq: REEAD IT
02:39:23 <pikhq> I could beat the game, but I want to completely break it first.
02:40:05 <Sgeo> pikhq, what game is this?
02:40:07 -!- cheater99 has joined.
02:40:15 <Sgeo> Wait, didn't I ask previously?
02:40:16 <pikhq> Shin Megami Tensei: Persona 3 FES
02:40:41 <pikhq> AKA "really fucking hard".
02:40:41 * Sgeo wishes that all the effort that goes into mining Bitcoins was redirected to Folding@Home
02:40:51 -!- poiuy_qwert has joined.
02:41:53 -!- cheater99 has quit (Read error: Connection reset by peer).
02:46:09 <olsner> ah, I have now found the microcode that matches my CPU (both rev 0x705 and 0x703)
02:46:32 <olsner> (change random parts and go? :D)
02:46:37 <pikhq> The mooks have mediarahan. WHY.
02:46:42 <pikhq> (mediarahan is a full party heal)
02:47:53 <olsner> incidentally, the size of the patch doubled in size between those two revs
02:48:31 <elliott> * Sgeo wishes that all the effort that goes into mining Bitcoins was redirected to Folding@Home
02:48:34 <elliott> i suppose you hate hashcash, too
02:48:50 <Sgeo> elliott, how much effort is put into hashcash, anywhere?
02:48:59 <Sgeo> Does Hashcash even see use?
02:49:02 <elliott> Sgeo: um, very little, just like bitcoins
02:49:24 <Sgeo> People apparently have purchased lots of expensive GPUs for Bitcoins
02:49:30 <elliott> Sgeo: So?
02:50:00 <elliott> fizzie: Would you be upset if I replaced the mcmap makefile with another one that's about 11 lines long, much clearer, and depends on an awful hideous monstrosity file I'm writing called useful.make? :-)
02:52:30 <elliott> real0m1.961s
02:52:30 <elliott> Aha.
02:52:42 <elliott> mcmap's current Makefile is broken and doesn't generate the .ds.
02:56:23 -!- poiuy_qwert has quit (Read error: Operation timed out).
02:56:54 -!- poiuy_qwert has joined.
02:58:39 -!- cheater99 has joined.
03:01:25 -!- cheater99 has quit (Read error: Connection reset by peer).
03:04:25 <elliott> pikhq: So... you ever generated filenames with spaces in them using make?
03:04:39 <pikhq> Not really.
03:05:17 <elliott> pikhq: Darn.
03:05:25 <elliott> pikhq: (I'm trying to fix useful.make's handling of that right now.)
03:14:47 <elliott> pikhq: I should just give up, shouldn't I.
03:17:39 -!- cheater99 has joined.
03:20:40 -!- cheater99 has quit (Read error: Connection reset by peer).
03:22:15 <elliott> WHY DOES IT DO THIS TO ME
03:22:40 <Sgeo> elliott, because you don't go to sleep at night
03:22:51 <elliott> it's just 3:22 am fuck off
03:23:01 * Sgeo was trying to be humerous
03:23:04 <Sgeo> humouros
03:23:08 <Sgeo> I can't spell today
03:24:07 <Sgeo> Ok, now I'm cracking up
03:26:17 <elliott> pikhq: So... do you happen to know a variant of $(foreach) that works for escaped spaces?
03:30:20 <augur> im afraid to make my videogame :(
03:31:43 <Sgeo> augur, don't turn into me >.> [yes I know that makes no sense]
03:31:51 <pikhq> Not really.
03:34:02 <augur> Sgeo: wat
03:34:21 <Sgeo> augur, crippling fear preventing you from getting something done
03:34:28 <augur> Sgeo: oh, well
03:34:35 <augur> im afraid to do it because i want to EXPERIENCE the game
03:34:50 <augur> and if i MAKE the game, ill be intimately familiar with it from the outset
03:34:58 <augur> there wont be anything wondrous to experience
03:35:37 <Quadrescence> hm which one of you talented young minds wants to write about something interesting on my BLOG
03:36:17 <elliott> Quadrescence: i don't know. such a shame that links can only be clicked once before they expire forever
03:36:23 <elliott> i hope you choose wisely
03:37:09 -!- cheater99 has joined.
03:37:52 <Quadrescence> i know : (
03:38:37 <Sgeo> Wait what?
03:39:48 <Quadrescence> anyway if someone is interested in posting something cool i'm totes down with it but ideally it should probably contain a little math or compsci
03:40:47 -!- cheater99 has quit (Read error: Connection reset by peer).
03:41:28 <elliott> oh WRITE about something
03:41:32 <elliott> i thought you said read
03:41:40 <Quadrescence> no write
03:41:48 <elliott> just link to the #esoteric logs
03:41:52 <elliott> instant blog post
03:41:57 <Quadrescence> no #esoteric logs are terrible
03:42:03 <Quadrescence> they are the worst ever
03:42:16 <elliott> i don't think you'll find much support for that statement on #esoteric
03:42:34 <elliott> especially considering how popular logreading is
03:45:30 <Quadrescence> so anyway are there any interested ppl
03:49:08 <elliott> doubtful, i can't recall ever seeing anyone in here do any work voluntarily
03:49:58 <Quadrescence> it's not really work
03:50:18 <Quadrescence> it's an outlet to Talk About Something Interesting
03:50:35 <elliott> through work
03:50:56 -!- augur has quit (Read error: Connection reset by peer).
03:51:13 -!- augur has joined.
03:52:08 <Quadrescence> elliott: well i don't want someone writing who'd feel like they're doing work
03:57:02 <elliott> pikhq: So this horrible hack turns out to be really nice actually: http://sprunge.us/HBNM
03:57:09 -!- cheater99 has joined.
03:59:53 <elliott> pikhq: Hey ho?
03:59:53 -!- cheater99 has quit (Read error: Connection reset by peer).
04:11:13 <pikhq> Hee ho!
04:11:48 <pikhq> elliott: That's pretty nice if you ignore the contents of useful.make.
04:12:51 <elliott> pikhq: It's getting better, actually: http://sprunge.us/MbZN
04:13:05 <elliott> Oh, ignore the commented-out defines...
04:13:12 <pikhq> You're making GNU make usable.
04:13:14 <pikhq> God.
04:13:26 -!- kanzure has joined.
04:13:36 <kanzure> what iz this place
04:15:03 <pikhq> この場所は皆が英語で話せる所です。けど、僕は英語で話したくないので、日本語で話してる。^_^
04:15:30 <elliott> kanzure: a place of death and diere
04:15:32 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
04:15:34 <elliott> and DIEF DIEF DIEF
04:15:35 <kanzure> elliott: lovely
04:15:39 -!- cheater99 has joined.
04:15:42 <elliott> kanzure: or a channel for esoteric programming languages
04:15:43 <elliott> YOU DECIDE
04:16:05 <kanzure> i will, fine
04:16:15 <elliott> kanzure: we're all awaiting your decision!
04:16:28 <elliott> pikhq: Apparently, because you talk in English, you speak Japanese.
04:16:30 <elliott> pikhq: A feat of logic.
04:16:49 <pikhq> elliott: Google Translate fails horribly.
04:17:07 <pikhq> elliott: It turns a negative into a positive and ignores the "want to" suffix.
04:17:10 <elliott> pikhq: :P
04:17:37 <pikhq> "This is a place where everyone speaks English. But, since I don't want to speak English, I'm speaking Japanese."
04:18:55 -!- poiuy_qwert has joined.
04:18:55 -!- cheater99 has quit (Read error: Connection reset by peer).
04:21:29 <elliott> fizzie: Can I replace the Makefile with http://sprunge.us/HBNM plus a 100-line-or-so-black-box include file? :p
04:26:05 <oerjan> elliott: diere? dief?
04:26:38 <elliott> oerjan: Dief! Dief! Dief!
04:26:52 * oerjan feels severy whooshed
04:26:59 <oerjan> *severely
04:27:47 <elliott> oerjan: dief is the name of a macro in mcmap's code; I just felt it suitably ... die-y. It sounded very Nazi in a wonderful way! (Best sentence. Best sentence.)
04:27:50 <elliott> DIEF!
04:28:02 <elliott> (Pronounced "dye-ff".)
04:28:39 <oerjan> apparently it means "thief" in dutch
04:28:47 <oerjan> but then, no one understand dutch anyhow
04:28:51 <oerjan> *understands
04:29:07 * oerjan hits his fingers for bad spelling
04:34:39 -!- cheater99 has joined.
04:39:10 -!- cheater99 has quit (Read error: Connection reset by peer).
04:41:44 <pikhq> oerjan: Especially not the Dutch.
04:41:56 <pikhq> It's a big game they play with foreigners.\
04:41:58 <oerjan> that was implied.
04:42:08 <pikhq> Much like Swedish without the bork bork bork.
04:42:37 <oerjan> or the danish http://www.youtube.com/watch?v=s-mOy8VUEBk
04:44:07 <elliott> LOG QUOTE OF THE DAY
04:44:08 <elliott> 16:10:03 * oerjan has _never_ masturbated to the curry-howard isomorphism. should i try it?
04:44:28 * oerjan has no recollection of that quote
04:44:39 <elliott> it was after
04:44:45 <elliott> 16:09:24 <dixon> HEY LOOK GUYS I CAN PRETEND I'M A MATHEMATICIAN BECAUSE I CAN WRITE PROOFS IN COQ fapfapfapfapfap etc
04:44:45 <elliott> 16:09:31 * Sgeo_ should probably learn what the Curry-Howard isomorphism
04:44:46 <elliott> 16:09:33 <Sgeo_> *is
04:44:51 <elliott> (and some other stuff, but)
04:45:42 <oerjan> i am pretty sure i didn't actually try it, though
04:45:55 <elliott> oerjan: you have done a disservice to science.
04:46:37 <Sgeo> Dear Facebook: When I download my data, I want to download all of it. That includes the messages to/from a girl who blocked me.
04:46:44 <coppro> win2 6
04:47:00 <elliott> coppro: TYPE BETTER
04:47:06 <elliott> and lose some windows
04:47:08 <elliott> Sgeo: MEGAN
04:47:09 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
04:47:27 <Sgeo> elliott, I thought you hated xkcdsucks
04:47:57 <elliott> xkcd sucks, xkcdsucks is just stupid as of late
04:48:04 <elliott> http://xkcdexplained.com/ is perfect though
04:48:29 <Sgeo> elliott, it seems to have ended
04:48:46 <elliott> Yes, that's part of what's so perfect about it.
04:49:18 -!- poiuy_qwert has joined.
04:51:43 <Sgeo> I do kind of like the latest xkcd, though the "bitches" bit seems overdone
04:51:53 <Sgeo> Randall is now making references to his own comic
04:52:33 <Sgeo> Actually, the latest xkcd is awesome, especially if you subtract the flaws. It's a wonderful message
04:55:39 -!- cheater99 has joined.
04:56:02 <elliott> oerjan: look what you have done:
04:56:04 <elliott> ./08.11.01:01:10:32 * psygnisfive manually masturbates oerjan for feminine hysteria
04:56:04 <elliott> ./08.11.01:01:17:32 * psygnisfive manually masturbates oerjan for fun
04:56:14 <elliott> damn you!
04:56:41 <oerjan> i am _so_ sorry for destroying your innocence in this way
04:56:52 <oerjan> *MWAHAHAHA*
04:56:57 <elliott> why did it have to be so
04:57:28 <elliott> 01:15:07 * oerjan is not particularly hysterical today, or feminine for that matter.
04:57:29 <elliott> 01:15:38 <oerjan> perhaps.
04:57:29 <elliott> 01:17:22 <psygnisfive> doubly good then!
04:57:29 <elliott> 01:17:32 * psygnisfive manually masturbates oerjan for fun
04:57:29 <elliott> 01:19:37 <oerjan> hey, a deer outside the window
04:57:29 <elliott> 01:26:12 <psygnisfive> cute :D
04:57:31 <elliott> 01:36:12 <pikhq> Yeah, that mundane magic page is one of the most brilliant things I've read in a long time.
04:57:34 <elliott> 01:36:44 <fizzie> Er, misread that as "hey, a deer masturbates outside the window" "cute".
04:57:38 <elliott> 01:37:08 <oerjan> thank you, fizzie.
04:58:07 -!- cheater99 has quit (Read error: Connection reset by peer).
04:59:18 <oerjan> not that there is anything wrong with that.
04:59:50 <elliott> oerjan: as a deer, i concur.
04:59:53 -!- elliott has quit (Quit: TO CUTENESS!).
05:00:17 <Sgeo> MY MIND'S EYE! MY POOR MIND'S EYE!
05:01:09 <oerjan> it's just the universe's way to attempt to shock you out of procrastination.
05:02:05 <Sgeo> I may have more time than I thought
05:02:21 <Sgeo> If I don't have as much time as I now think I might have, I might as well accept the 3.6 GPA
05:14:39 -!- cheater99 has joined.
05:16:48 <pikhq> Sgeo: Hardly anybody will care about your GPA.
05:18:17 -!- cheater99 has quit (Read error: Connection reset by peer).
05:28:37 <pikhq> Eclipse begin!
05:28:55 <oerjan> wait, now?
05:29:31 <pikhq> Total lunar eclipse tonight; it's penumbral right now.
05:29:47 <pikhq> Should be more obviously visible in about an hour when the moon hits the umbra.
05:29:52 <coppro> wait now
05:29:55 <pikhq> And be total about an hour after that.
05:29:57 <coppro> oh yeah
05:29:58 <coppro> good
05:30:01 <coppro> thought I had my timing off
05:30:13 <oerjan> i know that, i just thought it was several hours until it
05:30:35 <pikhq> The penumbra screws your concept of timing!
05:31:26 <oerjan> sadly the moon here looks like it's about to set :(
05:32:47 <pikhq> oerjan: http://upload.wikimedia.org/wikipedia/commons/6/6d/Visibility_Lunar_Eclipse_2010-12-21.png According to this, you will just barely be able to totality as the moon sets.
05:33:07 <pikhq> Erm, to see totality
05:35:09 -!- cheater99 has joined.
05:36:03 <Sgeo> I think I'm going to eat
05:36:19 -!- cheater99 has quit (Read error: Connection reset by peer).
05:36:21 <Sgeo> I won't miss anything if this is the last time I look at the moon for the next hour, will I?
05:36:29 <coppro> nope
05:36:34 <coppro> the real fun is when you get totality
05:36:42 <coppro> or at least when the umbra hits
05:36:46 <pikhq> Sgeo: Well, the moon will be slowly darkening for the next hour.
05:36:59 <pikhq> Not much to see until it gets close to the umbra, though.
05:53:09 -!- cheater99 has joined.
05:55:38 -!- cheater99 has quit (Read error: Connection reset by peer).
06:12:09 -!- cheater99 has joined.
06:15:08 -!- cheater99 has quit (Read error: Connection reset by peer).
06:24:01 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
06:31:39 -!- cheater99 has joined.
06:34:01 <augur> eclipse!
06:34:48 <pikhq> Hooray!
06:35:13 <oerjan> ever so slightly
06:35:22 * oerjan just took a trip outside to check
06:36:59 -!- cheater99 has quit (Read error: Connection reset by peer).
06:36:59 <pikhq> It's actually pretty nice here.
06:37:01 <pikhq> Straight up.
06:38:06 <oerjan> um i am assuming it cannot look much different in america :D
06:38:21 <pikhq> oerjan: Well, it's just a nice night out, and the moon is straight up.
06:38:49 <pikhq> (no, but seriously, don't you know? The American moon is MUCH better than yours!)
06:39:01 <pikhq> (why else do you think we had to go there?)
06:39:02 <oerjan> AND made of cheese, too
06:39:17 <oerjan> ours is just made of cardboard
06:41:00 <pikhq> Yeah. We go and mine it, because it's the only way for America to get good cheese.
06:41:20 <oerjan> sounds legit to me
06:46:46 <augur> pikhq: where are you??
06:48:39 * Sgeo is still eating :/
06:53:09 -!- cheater99 has joined.
06:54:05 <pikhq> augur: Colorado.
06:54:12 <augur> o
06:57:12 -!- cheater99 has quit (Read error: Connection reset by peer).
07:14:09 -!- cheater99 has joined.
07:17:59 -!- cheater99 has quit (Read error: Connection reset by peer).
07:21:20 -!- oerjan has quit (Quit: leaving).
07:34:39 -!- cheater99 has joined.
07:37:58 -!- cheater99 has quit (Read error: Connection reset by peer).
07:42:42 <pikhq> Totality. :D
07:43:05 <Sgeo> pikhq is Facebook-stalking me =P
07:43:26 <Sgeo> And Mr. Totality is an enemy combatant obviously
07:43:30 <pikhq> I FACEBOOK-STALK EVERYONE.
07:43:40 <pikhq> But especially you.
07:54:21 <quintopia> pikhq: it's still lighter on one side...will it not get totally red?
07:54:39 -!- cheater99 has joined.
07:55:16 <pikhq> quintopia: It will towards the time of greatest eclipse, 08:16:56 UTC.
07:55:47 <quintopia> ah
07:56:57 -!- SgeoN1 has joined.
07:57:10 -!- cheater99 has quit (Read error: Connection reset by peer).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:05 -!- FireFly has joined.
08:11:48 -!- boily has joined.
08:14:09 -!- cheater99 has joined.
08:16:22 -!- cheater99 has quit (Read error: Connection reset by peer).
08:24:24 -!- boily has quit (Quit: leaving).
08:29:42 -!- atrapado has joined.
08:33:09 -!- cheater99 has joined.
08:33:50 -!- SgeoN1 has quit (Quit: Bye).
08:37:20 -!- cheater99 has quit (Read error: Connection reset by peer).
08:54:09 -!- cheater99 has joined.
08:57:27 -!- cheater99 has quit (Read error: Connection reset by peer).
08:58:18 -!- atrapado has quit (Read error: Connection reset by peer).
08:59:37 -!- Sgeo has quit (Ping timeout: 255 seconds).
09:14:09 -!- cheater99 has joined.
09:19:55 -!- cheater99 has quit (Read error: Connection reset by peer).
09:35:46 -!- Slereah has quit (Ping timeout: 260 seconds).
09:36:39 -!- cheater99 has joined.
09:40:45 -!- cheater99 has quit (Read error: Connection reset by peer).
09:53:15 -!- frodatio has joined.
09:53:31 -!- frodatio has left (?).
09:53:34 <Ilari> 2.98 /8s in APNIC pool (the allocation threshold is about 2 /8s)...
09:56:39 -!- cheater99 has joined.
09:59:41 -!- cheater99 has quit (Read error: Connection reset by peer).
10:16:09 -!- cheater99 has joined.
10:19:49 -!- cheater99 has quit (Read error: Connection reset by peer).
10:20:46 -!- Slereah has joined.
10:25:16 -!- Sasha2 has joined.
10:28:25 -!- javawizard has joined.
10:33:10 -!- Sasha has quit (*.net *.split).
10:33:13 -!- jcp has quit (*.net *.split).
10:33:13 -!- dbc has quit (*.net *.split).
10:33:22 -!- javawizard has changed nick to jcp.
10:34:04 -!- dbc has joined.
10:34:56 -!- ais523 has joined.
10:36:39 -!- cheater99 has joined.
10:40:37 -!- cheater99 has quit (Read error: Connection reset by peer).
10:40:56 -!- ais523 has quit (Remote host closed the connection).
10:47:59 -!- ais523 has joined.
10:57:09 -!- cheater99 has joined.
10:59:58 -!- cheater99 has quit (Read error: Connection reset by peer).
11:04:17 -!- cal153 has quit (Ping timeout: 265 seconds).
11:12:13 -!- oerjan has joined.
11:13:40 <oerjan> <pikhq> Totality. :D
11:13:51 <oerjan> it got too cloudy here :(
11:16:39 -!- cheater99 has joined.
11:20:15 -!- cheater99 has quit (Read error: Connection reset by peer).
11:35:15 -!- ais523 has quit (Remote host closed the connection).
11:36:39 -!- cheater99 has joined.
11:38:29 -!- atrapado has joined.
11:40:43 -!- cheater99 has quit (Read error: Connection reset by peer).
11:40:45 -!- atrapado has changed nick to roper.
11:40:58 -!- roper has changed nick to atrapado.
11:57:01 -!- cheater99 has joined.
11:59:57 -!- cheater99 has quit (Read error: Connection reset by peer).
12:16:01 -!- cheater99 has joined.
12:18:34 -!- ais523 has joined.
12:20:25 -!- cheater99 has quit (Read error: Connection reset by peer).
12:28:09 -!- ais523 has quit (Read error: Connection reset by peer).
12:29:27 -!- ais523 has joined.
12:36:33 -!- cheater99 has joined.
12:37:17 <ais523> hmm, a page linked from reddit turned out to be incapable of scrolling without javascript turned on
12:37:24 <ais523> of all the things that people use javascript for, that's pretty weird
12:37:33 <ais523> (I opened it in w3m, in the end, so it wouldn't use the CSS either)
12:39:02 -!- cheater99 has quit (Read error: Connection reset by peer).
12:49:28 -!- pikhq has quit (Ping timeout: 276 seconds).
12:50:59 <Ilari> Javascript or is it javashit? :-)
12:51:02 -!- pikhq has joined.
12:52:32 <ais523> Ilari: there's nothing fundamentally wrong with JavaScript (in fact, it's a very nice language, although the DOM is irritating), but people try to use it in all sorts of contexts where they probably shouldn't
12:55:01 -!- cheater99 has joined.
12:58:16 -!- cheater99 has quit (Read error: Connection reset by peer).
13:14:31 -!- cheater99 has joined.
13:17:56 -!- cheater99 has quit (Read error: Connection reset by peer).
13:34:01 -!- cheater99 has joined.
13:36:23 -!- cheater99 has quit (Read error: Connection reset by peer).
13:46:56 -!- Sasha has joined.
13:49:39 -!- Sasha2 has quit (Ping timeout: 250 seconds).
13:52:29 -!- cheater99 has joined.
13:58:07 -!- cheater99 has quit (Read error: Connection reset by peer).
14:15:32 -!- cheater99 has joined.
14:16:25 -!- Slereah has quit (Ping timeout: 255 seconds).
14:19:19 -!- cheater99 has quit (Read error: Connection reset by peer).
14:36:28 -!- cheater99 has joined.
14:41:07 -!- cheater99 has quit (Read error: Connection reset by peer).
14:58:00 -!- cheater99 has joined.
15:01:22 -!- cheater99 has quit (Read error: Connection reset by peer).
15:02:53 -!- ais523 has quit (Remote host closed the connection).
15:15:17 -!- Slereah has joined.
15:18:30 -!- cheater99 has joined.
15:19:42 -!- hagb4rd has joined.
15:19:56 -!- wareya_ has joined.
15:22:08 -!- cheater99 has quit (Read error: Connection reset by peer).
15:22:52 -!- wareya has quit (Ping timeout: 240 seconds).
15:33:26 -!- sftp has joined.
15:40:06 -!- cheater99 has joined.
15:44:56 -!- cheater99 has quit (Read error: Connection reset by peer).
15:56:16 -!- elliott has joined.
15:56:27 <elliott> http://www.foxnews.com/opinion/2010/12/21/woke-kids-lunar-eclipse/ ;; apparently this is what passes for an article these days
15:57:07 <elliott> erm then again clicking a random link on that page only seems to show a tagline for me too, so maybe Fox don't want me to see their articles for fear of mocking them :D
16:02:06 -!- cheater99 has joined.
16:04:22 -!- Phantom_Hoover has joined.
16:05:35 -!- cheater99 has quit (Read error: Connection reset by peer).
16:12:50 -!- j-invariant has joined.
16:13:25 <Ilari> "Times like these will never happen again.". Err... TLEs happen about once per 17 months on average (oh, and there's apparently two next year) and are visible from about half of the planet at once...
16:14:07 <j-invariant> misinformation in the news
16:14:19 <j-invariant> that's something that will happen again!
16:16:21 <elliott> Ilari: yeah I think there's more article but the server isn't showing it
16:16:33 <elliott> nope wait
16:16:39 <elliott> http://www.foxnews.com/world/2010/12/21/report-evacuated-suspicious-odor/ was just a tagline before but it isn't now
16:16:47 <elliott> so heh, the entire article is "Times like these will never happen again."
16:17:05 <elliott> maybe he means that the democrats and gays are going to band together and blow up the moon
16:17:16 <j-invariant> elliott: I got a decent chunk of cats done in coq now
16:18:00 <j-invariant> the proofs are awful though, don't know how to sort that
16:18:04 <elliott> j-invariant: This many? http://www.stitching-dreams.co.uk/images/Bundle%20of%20KittensMed.jpg
16:18:12 <elliott> More seriously though, cool.
16:18:23 <Ilari> For some reason I can't seem to access anything under nasa.gov (it won't resolve).
16:18:23 <elliott> I forget why I abandoned my impl. based on that one paper...
16:18:25 <j-invariant> hehe
16:18:40 <elliott> I do know that whenever I start doing algebraic structures, it fails round about at ... what point was it
16:18:48 <j-invariant> Im going on the catsters youtube videos
16:18:51 <Ilari> Doing the resolutions manually works, no idea why the recursive nameserver can't resolve it.
16:19:11 <elliott> I think it was the first one that was just two other structures combined
16:19:16 <elliott> I think all my operations became ambiguous or something
16:19:30 <j-invariant> elliott: well that's useful actually - if you know what it is that made you give up I could try it out (too see if what I have falls apart or not)
16:19:35 <elliott> but it worked *really* nicely before that with coercions and all ... can't remember if I ever did it with categories though
16:19:50 <elliott> j-invariant: well, that was when i gave up doing algebraic structures, not categories :)
16:20:01 <elliott> j-invariant: An implementation of the structures with categories would be interesting, though.
16:20:25 <elliott> Preferably with coercions from stronger structures to weaker ones, and then defining "op" on e.g. magmas
16:20:31 <elliott> so that all calls to op downcast the structure or whatever
16:20:34 -!- co345at_office_i has joined.
16:20:34 <co345at_office_i> dude u want this http://ihaxor.hpage.com/get_file.php?id=911760&vnr=411870
16:20:34 -!- co345at_office_i has left (?).
16:20:35 <j-invariant> I think I would need an example of algebra done inside category theory to get me started though
16:20:35 <elliott> well
16:20:36 <elliott> you do like
16:20:44 <Ilari> For some reason it started to wrk...
16:21:05 <elliott> Definition {A : Magma} (x : A) (y : A) := op A x y
16:21:08 <elliott> I think
16:21:09 <elliott> erm
16:21:12 <elliott> Definition opp {A : Magma} (x : A) (y : A) := op A x y
16:21:18 <elliott> oh, to hell with it, I've forgotten; I'll try again!
16:21:26 <elliott> j-invariant: yeah i'm not sure how to do it with categories really
16:21:42 <elliott> j-invariant: I have a feeling that Coq-with-categories would end up being a lot of fluff to get it cooperating with the categories
16:21:45 <Ilari> And yes, NASA does confirm the two TLEs for next year... :->
16:22:42 <elliott> hacking a complex makefile while writing Coq ... this can only go well
16:22:44 <j-invariant> elliott: proofs are really verbose - I think I have to have my categories act as a model of an abstract theory or something, so all the mess doesn't leak in to proofs
16:23:02 <Phantom_Hoover> foo
16:23:06 -!- cheater99 has joined.
16:23:19 <elliott> j-invariant: you could do that thing where you declare a model with axioms and then you "prove" them according to a concrete structure
16:23:23 <elliott> though i've forgotten how to do that in coq
16:23:26 <elliott> something with sections or something
16:23:26 <elliott> or modules
16:23:38 <j-invariant> I'll look into that
16:23:42 -!- j-invariant has quit (Quit: leaving).
16:24:24 <Phantom_Hoover> elliott, it's Section <name>., then some Variable declarations, then End. IIRC.
16:24:34 <elliott> Phantom_Hoover: right, yes
16:24:44 <Phantom_Hoover> Where each Variable is an axiom.
16:24:48 <elliott> then you can code everything to the "axioms" which you have actually proved according to the gnarly concrete structure
16:26:12 -!- cheater99 has quit (Read error: Connection reset by peer).
16:28:03 <oerjan> Ilari: um the unusual thing is supposedly that the eclipse is on the same day as the solstice (in american time zones)
16:29:07 * elliott takes a look at <co345at_office_i> dude u want this http://ihaxor.hpage.com/get_file.php?id=911760&vnr=411870
16:29:10 <oerjan> i read something about this only happening every 500 years.
16:29:22 <elliott> well it's a folder called psyBNC2.3.1 but that actually contains what looks like mIRC :P
16:30:11 <Phantom_Hoover> oerjan, I fail to see the actual *significance* of that.
16:30:12 <oerjan> !haskell 17/12 * 365
16:30:39 <elliott> oh j-invariant left i was just about to say something i remembered
16:30:45 <oerjan> Phantom_Hoover: it's news!
16:30:46 <Phantom_Hoover> I mean, extremely improbable astronomical things happen pretty regularly, since there are a lot of them.
16:30:58 <oerjan> !echo hi
16:30:59 <EgoBot> hi
16:31:07 <oerjan> !haskell 17/12 * 365
16:31:08 <EgoBot> 517.0833333333334
16:31:53 <oerjan> Gregor: i think it would be somehow nice if the timeout stuff didn't include the time EgoBot needs to drag itself out of bed, is my suspicion
16:32:51 <elliott> :D
16:33:03 <elliott> oerjan: you see, botte does everything really quickly ...
16:34:05 <elliott> ecord Magma := mkMagma {
16:34:05 <elliott> M : Set;
16:34:05 <elliott> o : M -> M -> M
16:34:05 <elliott> }.
16:34:05 <elliott> Coercion Magma_to_Set (m : Magma) : Set := M m.
16:34:10 <elliott> that's the basic idea
16:34:12 <elliott> except *Record
16:34:14 <oerjan> no it doesn't, because it's not _here_
16:34:29 <elliott> except that since Coq is stupid we need
16:34:36 <elliott> Record Magma := mkMagma {
16:34:36 <elliott> magmaM : Set;
16:34:36 <elliott> magmaO : M -> M -> M
16:34:36 <elliott> }.
16:34:43 <elliott> because otherwise we get clashes later, because coq is a douchebag
16:34:47 <elliott> so moving on, anonymous log-reader,
16:35:30 <elliott> Record Magma := mkMagma {
16:35:30 <elliott> magmaM : Set;
16:35:30 <elliott> magmaO : magmaM -> magmaM -> magmaM
16:35:30 <elliott> }.
16:35:30 <elliott> Coercion Magma_to_Set (m : Magma) : Set := magmaM m.
16:35:31 <elliott> Definition o {M : Magma} (a : M) (b : M) :=
16:35:33 <elliott> magmaO M a b.
16:35:35 <elliott> see that??? BEYOOTIFUL
16:35:47 <elliott> this is the point where i get bored for a while
16:38:12 <Vorpal> <oerjan> no it doesn't, because it's not _here_ <-- haven't you realised that elliott does not know the difference between present and future tense by now?
16:38:32 <oerjan> ah yes, timeless elliott
16:38:32 <elliott> that's disturbingly close to the truth :)
16:38:57 <elliott> IT'S NOT LEFT-RECURSIVE DAMMIT I TOLD YOU IT HAS NO ASSOCIATIVITY
16:39:02 <Vorpal> elliott, I would say it *is* the truth based on the data we have
16:39:13 <elliott> fuck off, I'm battling Coq
16:39:25 <Vorpal> also very elliottish
16:43:28 <elliott> YES IT FUCKING WORKS
16:43:36 -!- cheater99 has joined.
16:44:17 <elliott> what, why are you complaining
16:44:18 <elliott> dammit coq
16:44:43 <elliott> "Error: Notation _ * _ is already defined at level 40 with arguments
16:44:43 <elliott> at level 40, at next level while it is now required to be at level 40
16:44:43 <elliott> with arguments at next level, at next level."
16:44:59 <elliott> i am pretty sure those two are equivalent :D
16:45:04 <elliott> oh wait no
16:45:09 <elliott> the first one is at level 40 i think
16:49:26 -!- cheater99 has quit (Read error: Connection reset by peer).
16:52:58 <elliott> pikhq: "The convention of using the same suffix ‘.l’ for all Lex files regardless of whether they produce C code or Ratfor code makes it impossible for make to determine automatically which of the two languages you are using in any particular case."
16:54:53 <elliott> "Ratfor was invented by the people who invented C. After inventing C, they realized that they had made a mistake (too many semicolons) and they fixed it in Ratfor, although it was too late for C." --Stanford
16:55:03 <elliott> (Okay, so not STANFORD THEMSELVES.)
16:56:00 <Vorpal> elliott, scapegoat question
16:56:08 <elliott> I'll try.
16:56:37 <Vorpal> elliott, have I understood it correctly in that it allows you to, for example, filter commits by some commiters (such as esr)
16:56:50 <elliott> Not "really".
16:56:53 <elliott> Sort of. Kinda.
16:57:35 <elliott> I mean, yes, you could use a script to whitelist every non-esr commit, and in a hypothetical infinitely-flexible version, you could define a branch to be "not-authored-by-esr", but in the version I'm planning to implement, no, there is no native support for that.
16:58:03 <elliott> I think branches will end up as, in my version, explicitly-whitelisted or automatic, to control whether patches trickle in without being explicitly pulled in.
16:58:44 <Vorpal> elliott, ah. Because based on that rather simplistic explanation there are some obvious issues. Trivial one being, committer a writes a function foo, but you filter him. In another file, committer b (which you white list) changes something to call this function foo.
16:59:02 <Vorpal> (and the obvious issue arise)
16:59:12 <elliott> for x in ; do \
16:59:12 <elliott> @echo ' RM$x'; rm -f $x || ( exit=$$?; echo ' (command was: rm -f $x)'; exit $$exit ); \
16:59:12 <elliott> done
16:59:14 <elliott> Well that's not right ...
16:59:30 <elliott> Vorpal: Obviously patches to patches you don't have don't get applied.
16:59:43 <Vorpal> elliott, so the compile will then break as one would expect
16:59:50 <elliott> No shit, sherlock.
16:59:52 <elliott> But no, what you describe is not a feature of scapegoat at all, it is merely something that can be done with an extended, general implementation.
17:00:06 <elliott> Therefore don't tell me how useless it is, I /know/ how useless it is; good thing it's not a feature, then.
17:00:28 <elliott> It's simply that if you let branches be predicates for whether a patch is accepted, then
17:00:28 <Vorpal> elliott, right, I saw you discuss this some days ago with ais.
17:00:35 <elliott> (\p => p.author != (hash of esr))
17:00:41 <elliott> is a valid branch, albeit one with rather few files in it.
17:00:48 <elliott> (given C-INTERCAL, which he wrote most of)
17:00:49 <Vorpal> hah
17:01:54 <elliott> The idea was that @tip would point to a complex formula specifying "the most recent (or was it oldest?) maximally-merged branch".
17:02:12 <elliott> But at that point you've got a full programming language and at least for now I've vetoed it, and will special-case @tip.
17:02:43 <Vorpal> elliott, ah, but TC branch description sounds fun!
17:02:52 <elliott> It would definitely not be TC.
17:05:23 <elliott> http://www.mcsweeneys.net/links/dreamjobs/dreamjobs5.html Ouch.
17:06:38 -!- cheater99 has joined.
17:09:06 <elliott> WHAT THE FUCK MAKE
17:09:11 <elliott> HOW CAN A VARIABLE /LOSE/ VALUES
17:09:30 -!- cheater99 has quit (Read error: Connection reset by peer).
17:09:35 <elliott> to_clean += $(1) $(2:.c=.o) $(2:.c=.d)
17:09:41 <elliott> fff
17:09:42 <elliott> OH
17:09:45 <elliott> it's to-clean
17:09:47 <elliott> not to_clean
17:10:38 <oerjan> underscoring the difference
17:15:07 <elliott> pikhq: http://sprunge.us/gZOC
17:15:21 <elliott> pikhq: useful.make -- now with implicit rules and more readability!
17:16:38 <elliott> fizzie: Heh, I was just about to whine at you for making a curses dependency, but I see you've made it readline.
17:27:08 -!- cheater99 has joined.
17:28:57 -!- cal153 has joined.
17:30:28 -!- cheater99 has quit (Read error: Connection reset by peer).
17:31:14 -!- atrapado has quit (Read error: Connection reset by peer).
17:33:04 -!- MigoMipo has joined.
17:33:30 -!- oerjan has quit (Quit: Good night).
17:37:58 -!- olsner has quit (Quit: Leaving).
17:41:03 <elliott> Vorpal: quick! what's the variable name of the tree in which we're out-of-tree-building to?
17:41:11 <elliott> BUILDDIR is ugly because of the repeated D
17:44:44 <Vorpal> elliott, ANITVPATH?
17:44:54 <elliott> Vorpal: wut.
17:44:54 <Vorpal> (since iirc VPATH works kind of the other way)
17:45:12 <Vorpal> (well, not really)
17:45:24 <elliott> *ANTI, then
17:45:32 <Vorpal> oh
17:45:33 <Vorpal> right
17:45:38 <Vorpal> didn't notice the typo
17:45:40 <elliott> yeah I'm not sure whether to get source files from another directory, or to put build files in another directory
17:45:52 <elliott> "GNU Standard" is to put build files in . and look for sources elsewhere, but that's a bit inconvenient
17:46:01 <elliott> as opposed to "make" by default putting stuff into build/
17:46:13 <Vorpal> elliott, it is kind of useful when you have a configure script and you have different builds against the same tree
17:46:25 <elliott> Vorpal: "make BUILDDIR=x" "make BUILDDIR=y"
17:46:26 <elliott> etc
17:46:48 <Vorpal> elliott, make DEBUG=1 BUILDDIR=debug vs. cd debug && make
17:46:54 <elliott> Vorpal: also, the Makefile would have to figure out what directory it's in to figure out where all the files are, which just screams "MORE GNU MAKE FUNCTION FUN" to me :)
17:46:56 <elliott> <Vorpal> elliott, make DEBUG=1 BUILDDIR=debug vs. cd debug && make
17:46:57 <elliott> you mean
17:47:06 <elliott> make DEBUG=1 BUILDDIR=debug vs. cd debug && ../configure --enable-debug && make
17:47:08 <Vorpal> elliott, it is a bit messier without a configure script yes
17:47:11 <elliott> first one sounds nicer to me
17:47:16 <Vorpal> elliott, the thing with configure is that you do it once
17:47:20 <Vorpal> then just make in the future
17:47:25 <Vorpal> as you update the version control
17:47:36 <elliott> Vorpal: 99.999999999999999999999% of times that's not what happens.
17:47:46 <Vorpal> elliott, it is when you are a developer
17:47:52 <elliott> because the makefile changes. or because you remove the source tree. or any number of reasons. (yes, i know /you/ don't0
17:47:53 <elliott> *don't)
17:47:55 <elliott> as a developer --
17:48:02 <elliott> it's easiest just to keep the default build/ directory.
17:48:04 -!- cheater99 has joined.
17:48:07 <elliott> hell, you could even make DESTDIR=debug by default if DEBUG is on
17:48:09 <Vorpal> elliott, as an end user, sure it isn't
17:48:12 <elliott> and then
17:48:13 <elliott> $ make
17:48:13 <elliott> vs.
17:48:18 <elliott> erm
17:48:18 <elliott> and then
17:48:20 <elliott> $ make debug=1
17:48:21 <elliott> vs.
17:48:24 <Vorpal> elliott, quite
17:48:24 <elliott> $ cd debug && make
17:48:32 <elliott> the former is actually more convenient because you don't have to cd back afterwards
17:48:37 <elliott> (if you want to)
17:48:45 <Vorpal> elliott, often you want do run the binary though
17:48:48 <Vorpal> if you are a developer
17:48:50 <elliott> Vorpal: build/mcmap :P
17:49:24 <Vorpal> elliott, I tend to not trust that for anything large. Imagine: wesnoth: can not find data files
17:49:24 <elliott> Vorpal: and for users, "$ cd mcmap && make" is much nicer than "$ cd mcmap && mkdir build && make -f ../Makefile"
17:49:32 <elliott> which is how it'd look in this case
17:49:40 <Vorpal> well
17:49:41 <elliott> Vorpal: i.e. programs that need to be installed to be tested
17:49:43 <elliott> (i.e. bad programs)
17:49:52 -!- hagb4rd has quit (Ping timeout: 245 seconds).
17:49:56 <Vorpal> elliott, well, they tend to often run from the build dir too
17:50:05 <Vorpal> because the devs get fed up with installing when testing
17:50:07 <elliott> Vorpal: add a "make test" target
17:50:11 <elliott> .PHONY: test
17:50:18 <elliott> test: mcmap ; cd build; ./mcmap
17:50:21 <Vorpal> elliott, that is probably for the regression test suite
17:50:23 <elliott> *: build/mcmap
17:50:26 <elliott> Vorpal: try-it-out ffs
17:50:32 <elliott> mcmap doesn't even have an install target :P (although if I can convince fizzie to let me replace the Makefile with one using useful.make, it'll automagically get one)
17:50:32 <Vorpal> elliott, also mcmap need options
17:50:40 <elliott> Vorpal: oh jesus shut up and write a shell script
17:50:40 -!- cheater99 has quit (Read error: Connection reset by peer).
17:50:51 <Vorpal> elliott, I didn't say your solution was bad
17:51:01 <Vorpal> elliott, just that the alternative isn't as bad as you make it out to be
17:51:07 <elliott> Sure. But it is without a configure script.
17:51:14 <elliott> gnu make is so broken :( You can't make targets depend on variable values.
17:51:15 <elliott> as in
17:51:19 <elliott> %.o: %.c $(CFLAGS)
17:51:19 <elliott> as in
17:51:23 <Vorpal> elliott, sometimes a configure script is the sanest option
17:51:24 <elliott> if CFLAGS change, the objects need rebuilding
17:51:28 <elliott> Vorpal: not for mcmap.
17:51:34 <Vorpal> elliott, well duh
17:51:39 <elliott> <elliott> if CFLAGS change, the objects need rebuilding
17:51:39 <Vorpal> elliott, I was thinking larger thing.
17:51:45 <elliott> Vorpal: yeah, no, configure is never the right option.
17:51:54 <Vorpal> elliott, Gregor disagrees
17:52:00 <Vorpal> so does pikhq
17:52:13 <elliott> actually, pikhq hates autotools almost as much as i do.
17:52:24 <elliott> Vorpal: but nice argument from authority...
17:52:26 <Vorpal> elliott, yes but he think it is the least of bad alternatives iirc
17:52:33 <elliott> Vorpal: no, he likes makefiles.
17:52:38 <elliott> Gregor: If you ever want to update me on your current opinions... just let me know.
17:52:47 <elliott> Gregor: After all, you are like unto a god, and everything you say is immediately entered into my mind.
17:53:13 <Vorpal> elliott, well, I pretty much agree with Gregor's arguments for why configure is sometimes good. That is why I refer to him instead of restating them
17:53:19 <Vorpal> since I know he told you before
17:53:41 <Vorpal> not appeal to authority thus
17:53:46 <elliott> Vorpal: Actually, he said configure is better than SCons, CMake, and plain-untailored-Makefiles when stuff is semi-complex and needs to be portable.
17:53:48 <elliott> This is because:
17:53:53 <elliott> 1. SCons sucks ass.
17:53:58 <Vorpal> sure, when you *can* avoid configure that is a good idea
17:54:03 <elliott> 2. CMake sucks ass.
17:54:06 <Vorpal> I do not love configure either
17:54:13 <elliott> 3. Retards can't write Makefiles.
17:54:20 <Vorpal> but in some cases it is the least bad of options
17:54:28 <elliott> Only if you ignore the right option.
17:54:32 <Vorpal> elliott, how do you crosscompile with useful.make?
17:54:45 <Vorpal> elliott, specifically a cross toolchain
17:54:46 <elliott> Vorpal: make cc=your-crosscompiling-gcc-name
17:54:48 <Vorpal> (not canadian)
17:55:10 <elliott> Vorpal: But, uhh, if you're going to form opinions based on what is essentially a 115-line proof of concept ...
17:55:18 <Vorpal> elliott, of course not
17:55:23 <elliott> It does everything mcmap's current Makefile does, plus some.
17:55:30 <Vorpal> elliott, mhm
17:55:39 <elliott> Now why the fuck is it not regenerating the .ds at this point ...
17:55:41 <elliott> *not regenerating
17:56:01 <Vorpal> bbl
17:57:02 <fizzie> elliott: Right, the curses bits are there just because I used the curses attempt as a basis for the readline thing. Anyway, basically what it does is to use rl_replace_line("", 0); rl_redisplay(); to make the "readline area" contain just "> ", then wipe that with \r\e[K, print out the output, then rl_insert_text() the old text back and rl_forced_update_display() it on screen. (But since messing around with the readline buffer isn't exactly safe while some code
17:57:02 <fizzie> is inside readline(), I had to use that alternative, callback-driven interface.)
17:57:57 <elliott> fizzie: Rite.
17:58:19 <fizzie> I would have to see the useful.make before I can make any sensible decisions; the current Makefile isn't exactly complicated either. (Especially if you get rid of the build-it-with-"-combine -fwhole-program" parts, which would I think happen also with the include useful.make solution.)
17:58:39 <elliott> fizzie: The current Makefile has such features as "doesn't actually build the .d files properly".
17:58:50 <elliott> (This is why useful.make seemed to be almost half a second slower at building the whole program.)
17:59:02 <elliott> Or at least it didn't build them properly last time I checked.
18:00:15 <elliott> (useful.make isn't exactly the *prettiest* thing -- GNU Make metaprogramming, yay -- but it doesn't do anything "awful", it's just a bit ugley. It's something I'm planning to maintain separately and beyond mcmap, though, so it's not like I've made the Makefile simpler by just shoving it into another file. It's more generic than that.)
18:00:21 <elliott> Also this will give an install target for free.
18:00:30 <elliott> And do out-of-tree builds.
18:01:03 <fizzie> Well, "whatever". As long as the build system doesn't get in the way.
18:01:14 <elliott> MWAHAHAHA WORLD DOMINATION SHALL BE MINE
18:02:02 <fizzie> I did switch from pkg-config zlib to just plain '-lz', since that is such a quasi-standard thing, and my work-workstation didn't have zlib installed inside pkg-config either.
18:03:26 <elliott> Oh, I dropped the debug target for "make debug=1", but to be fair, "make debug" was pretty slow because of the recursion.
18:03:43 <fizzie> Oh, and I did some protocol-updates based solely on that one wiki; I was a bit suspicious of one of their changes. Will have to test those new things tonight.
18:04:04 -!- j-invariant has joined.
18:05:00 <fizzie> I definitely don't care about the build system speed, given the size of the project. (So far things like "make clean; make debug" have been <2 seconds.)
18:05:03 <Vorpal> elliott, that mc bug with peaceful in single player you mentioned
18:05:08 <Vorpal> did you confirm actual monsters?
18:05:17 <elliott> Vorpal: No, I'm too much of a pussy to.
18:05:31 <elliott> j-invariant: I remembered how I did the structures.
18:05:37 <Vorpal> elliott, I haven't seen anything about it elsewhere
18:06:12 <fizzie> (Food now.)
18:07:18 <j-invariant> elliott: want to have a look at my draft?
18:08:18 <Vorpal> elliott, sure it was on peaceful?
18:08:31 <j-invariant> I should try and define a group
18:08:34 -!- cheater99 has joined.
18:08:37 <Vorpal> elliott, maybe you changed it by mistake
18:08:41 <Vorpal> or a bug changed it
18:09:10 <elliott> j-invariant: sure
18:09:13 <elliott> Vorpal: no, it was peaceful.
18:09:34 <elliott> j-invariant: Record Magma := mkMagma {
18:09:34 <elliott> magmaM : Set;
18:09:34 <elliott> magmaO : magmaM -> magmaM -> magmaM
18:09:34 <elliott> }.
18:09:34 <elliott> Coercion Magma_to_Set (m : Magma) : Set := magmaM m.
18:09:35 <elliott> Definition op {M : Magma} (a : M) (b : M) :=
18:09:36 <elliott> magmaO M a b.
18:09:38 <elliott> Infix "*" := op (at level 40, no associativity).
18:09:40 <elliott> j-invariant: that's the basic idea
18:09:42 <elliott> then you do things like
18:09:44 <elliott> Record Semigroup := mkSemigroup {
18:09:46 <elliott> semigroupMagma : Magma;
18:09:48 <elliott> semigroupIsAssociative :
18:09:50 <elliott> forall a b c : semigroupMagma,
18:09:52 <elliott> a * (b * c) = (a * b) * c
18:09:54 <elliott> }.
18:09:56 <elliott> (that code doesn't work because * is already defined in coq, but whatever)
18:10:44 <elliott> j-invariant: but iirc this falls down later
18:10:48 <elliott> j-invariant: but yeah i'd like to see your draft
18:10:49 <j-invariant> I have been putting up with things like magmaO M a (magmaO M b c) everywhere
18:10:54 <elliott> heh
18:11:13 <elliott> j-invariant: the nice thing about the coercions is, you can have "Foo" be a InsertStructureHere with all the proofs bundled in and the like,
18:11:16 <elliott> j-invariant: but also say (x : Foo)
18:11:21 <elliott> because of the coercion to Set
18:11:56 <j-invariant> http://coq.pastebin.com/1jd3Ey51
18:12:50 -!- cheater99 has quit (Read error: Connection reset by peer).
18:13:26 <elliott> looking
18:14:09 <elliott> j-invariant: you've certainly got much further than i ever did
18:14:16 <elliott> worries me slightly that the category definitions are a bit ugly though
18:14:27 <elliott> but wow
18:14:39 <j-invariant> I'm surprised myself, I didn't expect to be able to defined CAT
18:15:05 <elliott> remind me to photoshop a picture of a cat to be made out of smaller versions of itself sometime
18:15:07 <elliott> cat of small cats
18:15:18 <elliott> IIRC the paper I read defined Cat
18:15:34 <elliott> very nice though
18:17:35 <j-invariant> I wonder if I keep going with it.. if it will not collapse
18:17:55 <elliott> j-invariant: I hope not, it'd be awesome if you could get the algebraic structures on top of that... then it might be a decent alternative to the crappy coq stdlib
18:18:18 <j-invariant> yeah notice I use -nois which means nothing from Coq library gets used
18:18:39 <elliott> yeah ... for some reason that didn't undefine the * notation for me though when i did those structures just now
18:19:14 <elliott> fizzie: Pushed the new build system; if you don't look at useful.make it's all nice and pretty. "make" does an OPTOMIZED(tm) build (well, just -O3; -funroll-loops is probably not helpful), "make debug=1" does a DEBUGGERISED(tm) build. "make clean" works, "make install" doesn't exist right now, "make objdir=foo" does what you'd expect, and you can set CFLAGS and the like if you don't know what cc.flags is.
18:19:32 <elliott> fizzie: It niceifies the build output by default, but prints out the full command whenever anything goes wrong; V=1 makes it print everything (and this is automatically turned on if you use -n.)
18:19:45 <elliott> "make clean all" fails to generate the .ds properly due to an obscure bug, but I'm looking into that now.
18:19:59 <elliott> And I used -lz rather than pkg-configging zlib.
18:20:05 <elliott> It builds into build/ by default.
18:21:28 <elliott> (But "make objdir=." does work, if you're crazy.)
18:21:57 <Vorpal> elliott, can't reproduce the issue you mentioned on peaceful in my games
18:22:09 <elliott> Vorpal: Well, it /was/ near a mob spawner.
18:22:14 <j-invariant> elliott: but if you look at say lines 370 to 417. All that crap does is prove that Ff o (eta o nu) = (Ff o eta) o nu = (eta o Gf) o nu = eta o (Gf o nu) = eta o (nu o Hf)
18:22:17 <elliott> Because my STAIRCASE MINE IS ABOVE A MOB SPAWNER AAAA.
18:22:21 <Vorpal> elliott, hm, don't know anyone near me
18:22:29 <elliott> Vorpal: *any one :p
18:22:37 <elliott> j-invariant: yeah, it is a bit verbose ... but
18:22:39 <Vorpal> elliott, nor any two
18:22:45 <elliott> j-invariant: at least you proved it, I never got anywhere near that with mine
18:23:24 <j-invariant> crazy idea: Maybe you could make a new category theory proof language... which uses Coq under the hood?
18:23:45 <j-invariant> it could even just be commutative diagrams
18:24:48 <elliott> Vorpal: No sounds so far...
18:24:56 <elliott> j-invariant: that would be nice ... sounds complicated though :)
18:25:02 <j-invariant> yeah
18:25:06 <Vorpal> bbl
18:25:08 <elliott> j-invariant: it'd be nice if category theory turns out to be a useful basis for "typed" computation
18:25:17 <elliott> j-invariant: like how intuitionistic logic is useful for that, via type theory
18:25:23 <elliott> and lambda calculus
18:25:47 <elliott> Vorpal: what scares me a bit is that i have various tunnels of varying litness..
18:26:02 <j-invariant> yeah I don't see how that's possible because all the functions in category theory are just A --> B.. that's my ignorance though
18:26:16 <elliott> j-invariant: it is a bit hard to imagine yeah
18:28:03 -!- pikhq has quit (Ping timeout: 240 seconds).
18:30:06 -!- cheater99 has joined.
18:30:23 -!- pikhq has joined.
18:31:07 <Vorpal> elliott, hm
18:31:07 -!- cheater99 has quit (Read error: Connection reset by peer).
18:31:43 <elliott> Vorpal: I mean, can a spider spawned by a mob spawner manage to trigger off do-a-slurp-sound before it evaporates?
18:32:03 <j-invariant> elliott: do you happen to know what's the "simplest nontrivial theorem" for monoids?
18:32:08 <Vorpal> elliott, no clue
18:32:22 <Vorpal> elliott, I never seen them show up either like that
18:32:25 <elliott> j-invariant: alas no
18:32:26 <j-invariant> I'll try and define moniod but I don't know what to say about them
18:32:38 <elliott> http://en.wikipedia.org/wiki/Monoid#Relation_to_category_theory :-)
18:32:50 <elliott> "Likewise, monoid homomorphisms are just functors between single object categories. So this construction gives an equivalence between the category of (small) monoids Mon and a full subcategory of the category of (small) categories Cat. Similarly, the category of groups is equivalent to another full subcategory of Cat."
18:32:52 <elliott> j-invariant: prove that :P
18:34:08 <j-invariant> huh I have n oidea how to define a subcategory..
18:34:48 <elliott> j-invariant: maybe it's just (ob A) subtype-of (ob B)?
18:34:49 <elliott> i think the name was ob
18:34:50 <elliott> i forget
18:34:53 <elliott> the type of the category
18:39:26 <j-invariant> ah that could work
18:39:47 <elliott> j-invariant: i guess you might need to include that the operations are equivalent but i forget so
18:39:49 <elliott> uh
18:39:56 <elliott> basically the main thing would be having the types be subtypes i think
18:40:06 <j-invariant> "operations are equivalent" <-- Functor :D
18:41:00 -!- Sgeo has joined.
18:44:52 <Vorpal> elliott, beta is laggy as fuck
18:44:54 <Vorpal> elliott, on a local game
18:45:04 <elliott> Vorpal: pretty, but restarting it helps
18:45:08 <elliott> i keep opening minecraft twice by mistake
18:45:15 <Vorpal> uh?
18:45:20 <elliott> *pretty laggy,
18:45:23 <Vorpal> elliott, anyway it is way slower than alpha
18:45:32 <elliott> Vorpal: now i've fallen into a cavern and there's diamond but i'm busy running around scared shitless putting torches everywhere because oh god what if there really are monsters
18:45:49 <Vorpal> elliott, I found no indications of that
18:46:04 <Vorpal> elliott, the game is from pre-halloween btw (not that it should matter)
18:47:04 <Vorpal> elliott, I considered doing some mega scale engineering in that game, smoothing out the discontinuities somewhat, at least for the areas I visit
18:47:12 <elliott> Vorpal: there is also gold though... and iron ... and diamond
18:47:24 <Vorpal> you fell?
18:47:25 <Vorpal> elliott, how?
18:47:25 <elliott> i have 64+33 coal though so I can come back to that
18:47:36 <Vorpal> elliott, did you dig right below yourself
18:47:38 <elliott> Vorpal: turns out when i removed a block to make my stairs go down further
18:47:39 <elliott> no
18:47:41 <elliott> i just didn't notice
18:47:44 <elliott> since it was obscured by darkness
18:47:55 <Vorpal> elliott, so why didn't you use torches?
18:48:29 <elliott> Vorpal: I was about to place them FFS
18:48:30 <elliott> it looked solid
18:48:33 <elliott> heh redstone, too bad i don't need it
18:48:36 -!- cheater99 has joined.
18:48:59 <elliott> SERIOUSLY? a single diamond?
18:49:01 <elliott> fuck y'all
18:49:27 <elliott> shietloads of redstone though ... and coal
18:49:45 <elliott> but i have enough coal for now
18:50:16 <Vorpal> elliott, lightstone on bottom of deep sea is pretty from the surface
18:50:22 <Vorpal> like random lights spread out
18:50:24 <elliott> heh
18:50:26 <Vorpal> especially nice at night
18:50:42 <elliott> and uh there's also water and lava and stuff so I bet these caverns branch a lot but I have lots of iron and a single diamond
18:50:44 <elliott> so this is enough forn ow
18:50:46 <elliott> *for now
18:50:53 <Sgeo> I have until Sunday
18:51:19 <elliott> note to self: bunch of torches + torch on cobblestone = entrance to cavern
18:51:42 <elliott> more gold! wish gold was useful in any way at all
18:51:43 <Vorpal> elliott, idea to make creeper safe: small island, middle of ocean, 10 high obsidian tower. 3x3 or such. With ladder inside
18:51:46 <elliott> apart from like, compass
18:51:48 <Vorpal> elliott, and steel door
18:51:52 <Vorpal> elliott, at both ends
18:51:54 <elliott> Vorpal: heh
18:51:58 -!- cheater99 has quit (Read error: Connection reset by peer).
18:51:59 <Vorpal> elliott, then at top, a floating castle
18:52:05 <Vorpal> or at least
18:52:12 <Vorpal> structurally unsound
18:52:18 <Vorpal> elliott, the castle need not be obsidian
18:52:34 <Vorpal> which saves on both annoyance and "fuuuu that was misplaced"
18:52:45 <Vorpal> well, probably make it obsidian just near the shaft
18:52:56 <Vorpal> elliott, do you think this is safe?
18:53:41 <elliott> Vorpal: well, the castle would need to have no holes in the top.
18:53:47 <elliott> *on the top
18:53:53 <elliott> and you'd still see enemies if it had a glass ceiling :)
18:54:04 <Vorpal> elliott, you could cover it with torches on top
18:54:08 <Vorpal> without too much issues
18:54:44 <Vorpal> elliott, but obviously, and exit there would use doors
18:54:53 <Vorpal> (iron probably)
18:55:13 <Vorpal> elliott, still it is a lot less annoying than a obsidian fort on the ground
18:55:16 <elliott> what's to stop a creeper getting in the obsidian fort? or is the top closed?
18:55:24 <Vorpal> elliott, well yes
18:55:39 <Vorpal> elliott, there could be doors to the top but as I said it would be floating above any ground
18:55:42 <elliott> Vorpal: what's to stop a creeper getting on top, and blowing up your castle's connection to the obsidian?
18:55:43 <Vorpal> elliott, and it would be lit on top
18:55:44 <elliott> wouldn't matter, but
18:55:52 <Vorpal> elliott, how could it
18:55:57 <elliott> Vorpal: spawning there
18:56:04 <Vorpal> elliott, but it is LIT ON TOP!
18:56:08 <Vorpal> as I said several times
18:56:09 <Deewiant> Regarding the slowness, from Notch's Twitter: "I have a scary feeling the lag some people get might be leaf decay. Grraaaaahhh!!"
18:56:16 <elliott> Vorpal: it doesn't spawn there, it spawns below the castle
18:56:19 <elliott> on top of the obsidian
18:56:30 <Vorpal> elliott, uh
18:56:33 <fizzie> Deewiant: Misread as "lead decaf".
18:56:33 <Vorpal> elliott, what?
18:56:44 <elliott> nm.
18:56:45 <Vorpal> elliott, the obsidian shaft goes from ground to middle of bottom of castle
18:56:50 <Vorpal> elliott, how could it spawn on top
18:57:03 <elliott> so it's not floating?
18:57:11 <fizzie> elliott: http://p.zem.fi/kdvd -- is there a reason it does DEP for all but one of the source files twice?
18:57:16 <Vorpal> elliott, no, I corrected that above
18:57:28 <elliott> fizzie: Um, what. Let me take a look at useful.make.
18:57:54 <Vorpal> elliott, while a floating castle is indeed awesome, it has the disadvantage of being annoying to enter and exit
18:58:00 <elliott> fizzie: Can you clean and run it with V=1?
18:58:09 <elliott> (Don't do make clean all, do make clean; make all V=1.)
18:58:39 <elliott> cc -Wall -Werror -std=gnu99 -pthread -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/SDL -O3 -M -MG -MF build/map.d map.c
18:58:40 <elliott> cc -Wall -Werror -std=gnu99 -pthread -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/SDL -O3 -M -MG -MF build/map.d map.c
18:58:45 <elliott> How strange, it's doing the exact same thing twice.
18:58:56 <elliott> I suspect an objdir bug at this point.
18:59:02 <elliott> Since it worked fine before I added objdir support.
18:59:33 <fizzie> http://p.zem.fi/g1cc but yes, it looks like that.
18:59:43 <Ilari> Hah... (about PCRM): "If these guys are against your dietary recommendations, you're probably doing something right, so I'm going to take this one as a win."
19:00:04 * elliott does make -d V=1 2>&1 >foo to check
19:01:30 <elliott> Prerequisite `map.c' is older than target `build/map.d'.
19:01:30 <elliott> Prerequisite `build' is newer than target `build/map.d'.
19:01:30 <elliott> Prerequisite `Makefile' is older than target `build/map.d'.
19:01:30 <elliott> Must remake target `build/map.d'.
19:01:50 <elliott> fizzie: It seems it decides it needs to do it all again after it re-makes after satisfying the .d dependencies the first time.
19:02:35 <elliott> Aha... hmm.
19:03:20 <elliott> fizzie: Pushing a fix.
19:03:38 <elliott> tl;dr if you just want something to exist, not to update when it gets newer, make it a |-dependency.
19:03:41 <fizzie> Oh, there's a client update too?
19:04:29 <fizzie> It's weird how it nowadays sends trees (or at least their leaves) before any other blocks.
19:04:33 <elliott> Pushin' now.
19:04:35 <fizzie> Must be leaf-decay-related.
19:05:06 <elliott> fizzie: Fixed.
19:05:44 <fizzie> http://zem.fi/~fis/what.png -- that thing in the upper-left corner does not fill me with confidence.
19:05:46 <elliott> " * Mysteriously, with the 1.2.0_02 update on November 4th, all Jack-O-Lanterns on worlds were converted back into pumpkins."
19:05:46 <elliott> *"*
19:06:14 <fizzie> It also isn't static, it keeps flickering.
19:07:13 <elliott> gold tools are stupid, right?
19:07:20 <Vorpal> what is new in 1.0.2?
19:07:27 <fizzie> The durability is the same as wood, wasn't it?
19:07:30 <elliott> Vorpal: "on November 4th"
19:07:31 <elliott> fizzie: Heh.
19:07:37 <elliott> fizzie: Also, that top-left is REAL. It's CHAOS.
19:07:43 <Vorpal> elliott, reading comprehension failure
19:07:47 <Vorpal> elliott, you that is
19:07:55 <Vorpal> elliott, now read what I said again
19:07:56 <elliott> wait, compasses are IRON
19:08:03 <elliott> Vorpal: oh.
19:08:05 <elliott> Vorpal: bugfixes.
19:08:16 <Vorpal> elliott, nothing on his blog, nothing on minecraft wiki
19:09:16 <elliott> Yay I'm on fire.
19:09:34 -!- cheater99 has joined.
19:09:52 <fizzie> http://zem.fi/~fis/what2.png -- it's also not the only chaotic region.
19:10:26 <Vorpal> fizzie, it's the even rarer thing! missingno
19:11:33 <elliott> fizzie: Visit it and SEE THE CHAOS.
19:12:29 <fizzie> I've visited, but nothing special is visible to the client.
19:12:41 <fizzie> It might be that it goes over y=128, though.
19:13:04 -!- cheater99 has quit (Read error: Connection reset by peer).
19:13:15 <elliott> Deewiant: BTW, you're missing gold and iron ore from your emporium.
19:13:24 <Deewiant> I know.
19:13:24 <elliott> fizzie: It does? How?
19:14:08 <fizzie> Well, protocol-wise the y coordinates go all the way up to 255, so he might have just relaxed the limits.
19:14:25 <Phantom_Hoover> The room is slowly filling with smoke...
19:14:29 <fizzie> It might also be that the trees at max-alt are related.
19:14:40 <fizzie> I didn't bother exactly counting which height it was at.
19:14:41 <Phantom_Hoover> I feel that chimneys should prevent this.
19:14:55 <elliott> It sucks having your house in a boring area.
19:15:10 <elliott> fizzie: Can you actually build above 128 though, now?
19:15:27 <elliott> http://www.minecraftwiki.net/wiki/Soul_Sand Since when is it called soul sand.
19:15:29 <fizzie> I'll try to get up there to see.
19:15:34 <elliott> http://www.minecraftwiki.net/wiki/Netherrack Since when is it called netherrack.
19:15:46 <elliott> Stupid tooltips.
19:15:46 <fizzie> "That's a nice netherrack you've got there."
19:15:58 <elliott> Yeah, I can't even figure out that name ... at all.
19:16:18 <elliott> http://www.reddit.com/r/Minecraft/comments/eoxvk/sincere_thank_you_to_notch_for_the_tooltips/c19ufzq?context=3
19:16:24 <Deewiant> rack as in wrack, I guess
19:16:26 <elliott> "# The name "Netherrack" is not a misspelling of "Netherrock". [2]
19:16:26 <elliott> # It could also possibly be based on one or more of several definitions of rack having to do with suffering."
19:17:41 <fizzie> The server-side inventory did fix that item-placement thing.
19:18:06 <Sgeo> I should eat
19:18:10 * Phantom_Hoover makes a respirator out of a blanket.
19:18:22 <elliott> http://evilmousestudios.com/tronic/ Heh, someone got to the "single-colour texture pack thing" before me (well, sort of), except theirs is HD.
19:19:41 <fizzie> Teleporting still works, though with health on it's a bit dangerous. (Read: you pretty much die always.)
19:21:08 <Phantom_Hoover> fizzie, how does it work?
19:21:50 <Vorpal> wait, gun powder is sulphur now?
19:21:56 <Vorpal> (says tooltip)
19:22:20 <Vorpal> half-step is stone slab
19:22:51 <fizzie> Phantom_Hoover: The server trusts client-sent "player position" packets pretty much absolutely, except it checks whether the path would go through solid blocks; so our teleportation command just sends two faked player-position commands, one to move from (px,py,pz) to (px,+128,pz), then another from there to (tx,+128,tz), where p is current player position and t the target.
19:23:09 <fizzie> Then gravity will take care of getting the player down from y=128.
19:23:37 <Vorpal> fizzie, you can target lakes
19:23:43 <fizzie> That's true.
19:23:56 -!- pikhq has quit (Ping timeout: 264 seconds).
19:24:03 <Vorpal> fizzie, you need to indicate if a lake is 1 or 2 deep!
19:24:34 <elliott> Lakes aren't everywhere.
19:24:57 <Vorpal> elliott, common enough that it is still somewhat useful
19:25:05 <fizzie> Maybe it could keep the player flying with repeated move packets, and construct a temporary water basin below, then let you drop.
19:25:07 <elliott> Vorpal: But a322 has health off anyway.
19:25:19 <elliott> fizzie: Actual flying is a known griefer thing, so that should actually work.
19:25:20 -!- pikhq has joined.
19:25:20 <Vorpal> elliott, yep, but it breaks armour
19:25:34 <Vorpal> elliott, only in classic iirc
19:25:34 <elliott> Vorpal: But there's no health ... you don't need armour ...
19:25:38 <elliott> Ah, okay.
19:25:46 <elliott> Still.
19:25:47 <elliott> Vorpal: But there's no health ... you don't need armour ...
19:25:49 <Vorpal> elliott, I like the look of the armour
19:25:55 <fizzie> I might check whether you still get falling damage even if you "move" the player down from the highest point, but I suspect it just counts the drop from max-y to ground.
19:25:56 <elliott> So don't teleport.
19:26:07 <elliott> fizzie: Move down 128 times.
19:26:22 <fizzie> I think it will still count the whole thing as a single jump.
19:26:31 <fizzie> But I'll test at some point.
19:26:47 <elliott> Oh *joy*, a lava lake.
19:27:11 <fizzie> There's also a byte on the movement packets that is set when the player is on the ground, I'm not sure exactly what that does. The wiki says it's for "detecting flying".
19:27:14 <Vorpal> elliott, yet another one
19:27:23 <Vorpal> elliott, or at the old altitude?
19:29:28 <Vorpal> elliott, course literature in one of your favourite areas. I have no doubt you will say the book sucks
19:29:40 <Vorpal> ("Interaction design")
19:29:57 <elliott> Vorpal: Interaction design != HCI.
19:30:06 <elliott> Vorpal: Anyway most HCI stuff is bullshit.
19:30:10 <Vorpal> elliott, yeah
19:30:16 <Vorpal> elliott, course literature and so on
19:30:34 <Vorpal> and it seems to cover HCI in parts at least
19:30:36 -!- cheater99 has joined.
19:31:20 <elliott> And I died.
19:31:53 <Vorpal> elliott, authors are Sharp, Rogers and Preece. If those names mean anything to you (they don't to me)
19:32:00 <elliott> To be explicit: I died, losing most of my possessions, and will now be transported to a spawn point from which I have no idea how to get to my house, which I built after wandering frustratedly at the bad map.
19:32:06 <elliott> Vorpal: Don't to me.
19:32:19 <Vorpal> elliott, anyway, why didn't you mark your path and so on
19:32:27 <Vorpal> elliott, or use an inventory editor and teleporter
19:32:38 <Vorpal> elliott, or next time, create a new world when you find the current one sucks
19:32:48 <elliott> Vorpal: Because as I said, I was wandering frustratedly. The first coal I found, after walking for, like, a day, I punched through.
19:32:49 <elliott> Light streamed in.
19:32:52 <elliott> The mountain was ONE DEEP.
19:32:54 <elliott> I got ONE PIECE OF COAL.
19:33:05 -!- cheater99 has quit (Read error: Connection reset by peer).
19:33:07 <elliott> Then finally I found a nice mountain with trees and set up shop.
19:33:15 <Vorpal> elliott, I would have generated a new map at that point
19:33:22 <elliott> Vorpal: I /was/ regenerating the world; I'd done it like five times, and decided I'd stop.
19:33:35 <elliott> Heh. A tree I hollowed out.
19:34:26 <fizzie> Aw, mcmap is definitely not as pretty as some of the competition, like the http://minecraftam.com/ thing.
19:34:52 <elliott> fizzie: But who uses mcmap for the map?
19:34:57 <elliott> >:P
19:35:10 <Deewiant> It's the only thing I use it for, when I use it
19:35:23 <elliott> fizzie: Looks like it needs a server mod to work.
19:35:25 <elliott> (automap)
19:35:34 <elliott> I may be wrong.
19:35:42 <fizzie> I don't think it does. "The mod/map is entirely clientside, meaning you can use it in singleplayer or on any SMP server, regardless of what mods it has."
19:35:52 <elliott> "# The mod/map is entirely clientside, meaning you can use it in singleplayer or on any SMP server, regardless of what mods it has."
19:35:53 <elliott> Hmm.
19:35:54 <fizzie> But it is a client-side mod, not a nifty proxy tool like ours.
19:36:00 <elliott> Oh, it's talking about http://minecraftam.com/MM.aspx.
19:36:03 <elliott> fizzie: Yeah, proxies are more fun.
19:36:30 <elliott> fizzie: If you made your map lighting-savvy (i.e. torches light thiings up), and jigged the colours a bit, I think it'd be fine.
19:37:05 <Sgeo> SMP server?
19:37:36 <fizzie> Sgeo: "Survival multiplayer."
19:37:37 <Vorpal> <fizzie> Aw, mcmap is definitely not as pretty as some of the competition, like the http://minecraftam.com/ thing. <-- sure, but which one runs on my system? mcmap, it has less requirements
19:37:42 <Sgeo> Ah
19:39:53 <Vorpal> fizzie, it's path marking thing looks useful
19:39:56 <Vorpal> to ehird at least
19:40:10 -!- Sgeo has left (?).
19:40:14 -!- Sgeo has joined.
19:40:21 <Sgeo> Linden Lab closed the Teen Grid
19:40:33 <Sgeo> This is not as big a victory for anti-age-segregationists as it sounds
19:41:15 <Sgeo> Users between 13-16 have to be with an "affiliated organization" separate from the main part of SL
19:41:20 <Sgeo> erm, 13-15
19:41:40 <elliott> All 1 people in here who play or care about Second Life thank you for that information.
19:41:47 <Vorpal> it doesn't sound like a victory either way
19:41:50 <Vorpal> I mean, who cares about SL
19:41:58 <Vorpal> (in here at least)
19:42:23 <elliott> Vorpal: BUT BECAUSE I'M BETWEEN 13 AND 16 ... NOBODY UNDERSTANDS M3... 0R MY UNKONVENSIONAL SPELUNG... WITHOUT SOMEWHERE I CAN BE TRULY UNDERSTOOD... A SECOND LIFE...
19:42:29 <elliott> ..... HOW WILL I BE ABLE TO AVOID CUTTING MYSELF????/
19:42:38 <elliott> ;__;
19:42:46 <elliott> MOVING ON
19:42:48 <fizzie> octocat_sad.gif
19:42:57 <Vorpal> fizzie, is that github?
19:43:09 <fizzie> Yes, I got it the other day.
19:43:21 <elliott> http://www.youtube.com/watch?v=8hm3E2cGQE4
19:43:27 <fizzie> http://github.com/images/error/octocat_sad.gif and then some sort of "the server, it is error" page.
19:43:41 <elliott> (The error is a reference to those.)
19:43:45 <elliott> (I think.)
19:43:46 <Vorpal> elliott, "Minecraft AutoMap requires Windows, the .NET Framework 4, and the XNA Framework 4.0."
19:43:52 <elliott> Vorpal: Mono :P
19:43:57 <Vorpal> elliott, not xna iirc
19:43:57 <elliott> Okay, so XNA might be difficult.
19:44:09 <Vorpal> elliott, also last I looked mono went to 3.5
19:44:11 <Vorpal> not to 4
19:44:20 <elliott> It goes to etc.
19:44:30 <Vorpal> elliott, 11?
19:44:35 <Phantom_Hoover> AAAAAAAAA MY EYES
19:44:36 <elliott> Yes yes.
19:44:45 <Vorpal> Phantom_Hoover, what
19:45:10 <Phantom_Hoover> Vorpal, DID I MENTION THIS ROOM IS FULL OF SMOKE
19:45:26 <Phantom_Hoover> AND I CAN'T OPEN THE DOOR OR THE SMOKE DETECTOR WILL GO OFF
19:45:33 <elliott> It's not the nicotine that kills! It's the smo-oo-ooke, the smoooke!
19:45:45 <Vorpal> Phantom_Hoover, so put out the fire
19:45:52 <elliott> Cancer, it's the smoke! Heart disease, it's the smoke. It's the smoooooooooke!
19:46:06 <elliott> It's the, it's the inhalation, it's the smooooke, the smooooooooke!
19:46:24 <Vorpal> Phantom_Hoover, and there is this thing in fireplaces that kind of open and closes above them
19:46:27 <Vorpal> did you open it
19:46:32 <Vorpal> not sure what the English word is
19:46:34 <Phantom_Hoover> Vorpal, I'll get in trouble if the fire goes out!
19:46:37 <Vorpal> spjäll in Swedish
19:46:41 <elliott> Phantom_Hoover is burning his parents.
19:46:48 <Vorpal> Phantom_Hoover, so talk to some grown up?
19:47:01 <elliott> Vorpal: Phantom_Hoover is *burning his parents*.
19:47:05 <Phantom_Hoover> Vorpal, they didn't CARE
19:47:09 <elliott> Also they live in Antarctica and there is nobody else within a seventy mile radius.
19:47:11 <Phantom_Hoover> On account of being on fire.
19:47:17 <Vorpal> uh
19:47:24 <Vorpal> sure
19:47:37 <elliott> It's the smooooooooke.
19:48:24 * Phantom_Hoover opens the door anyway.
19:50:38 -!- cheater99 has joined.
19:52:36 -!- cheater99 has quit (Read error: Connection reset by peer).
19:52:50 <elliott> "The first time I played the game I didn't know that I'd picked up clay, and I was wondering why the hell cooking eggs turned them into bricks..."
19:53:37 <elliott> http://i.imgur.com/WNTDy.png whoa.
19:54:33 <Slereah> OH GOD I CAN SEE FOREVER
19:58:44 <elliott> "Get this. Framerate goes back to normal if you're beside trees and you look straight up at the sky...
19:58:44 <elliott> Look back down, and I'm right back to 2fps from 40-60fps looking up."
19:58:47 <elliott> Vorpal: Notch quality.
19:59:06 <elliott> I propose we define "notch" to mean "very low/poor". It even SOUNDS like it means "small". Notch.
19:59:52 <Deewiant> "Notch" already has a meaning or ten.
20:00:13 <Sgeo> Crud
20:00:16 <Sgeo> I MISSED MY FINAL
20:00:57 <coppro> you're a retard
20:01:11 <coppro> missed missed or can-still-run-to-be-late missed
20:01:20 <Sgeo> missed missed
20:01:28 <Vorpal> Sgeo, why did you do that
20:01:28 <Sgeo> I must admit though, the "Crud" part is a lie
20:01:33 <Sgeo> It's an optional final
20:01:35 <coppro> oh
20:01:36 <Vorpal> Sgeo, alarm clock?
20:01:43 <Sgeo> That can only help one's grade... my grade cannot be helped
20:01:48 <coppro> lol
20:01:57 <coppro> I have to write a final tomorrow
20:02:00 <coppro> last one
20:02:05 <coppro> stupid balsdkfjals
20:02:12 <coppro> anyway, I'm going in search of food
20:02:14 <coppro> see yzs
20:03:26 <elliott> Vorpal: I MADE IT BACK HOME
20:03:33 <elliott> <Deewiant> "Notch" already has a meaning or ten.
20:03:37 <elliott> Oh, it does, doesn't it...
20:04:17 <elliott> HA I've lost all my iron.
20:05:08 <fizzie> "Noun, sense 1. An affectionate synonym for 'vagina'. See also gash. Noun, sense 2. Someone with whom you basically just get drunk and/or high and have sex, usually on a short term basis. Compare to "your girl" or "a ho", both are higher on the intimacy ladder." (Urban Dictionary.)
20:05:56 <fizzie> Also the OED site has gone all multimedia and web 2.1 on me.
20:06:06 <elliott> fizzie: For every word, there is a sexual definition for it on Urban Dictionary.
20:06:17 <Deewiant> Wrong.
20:06:20 <elliott> Most likely several.
20:06:36 <elliott> Deewiant: You know, I had this /terrible/ feeling you were about to say "Wrong." when I said that.
20:06:53 <elliott> Deewiant: I decided amending it to s/every/almost every/, but then I decided not to edit my joke just because of you :P
20:07:12 <elliott> *considered
20:07:22 <fizzie> Well, OED 'notch': "4. In various /fig./ uses. a. /coarse/ slang. The female genitals."
20:07:33 <elliott> fizzie: Still. :p
20:07:42 <elliott> fizzie: BTW, does mcmap >foo work with the new IO superplexer?
20:08:01 <elliott> if (pipe(pipefd) != 0)
20:08:01 <elliott> goto no_terminal;
20:08:02 <elliott> ...
20:08:02 <elliott> no_terminal:
20:08:02 <elliott> return;
20:08:02 <elliott> }
20:08:04 <fizzie> Yes, without isatty(0) && isatty(1) it should just write into stdout as usual and not start it.
20:08:07 <elliott> One would think "return;" might suffice.
20:08:20 <fizzie> Right, I was planning to have some sort of initialization done below there.
20:08:27 <elliott> fizzie: But can it support reading from plain stdin?
20:08:29 <fizzie> But then I couldn't invent anything to initialize.
20:08:36 <fizzie> Well, no, it doesn't do that at the moment.
20:08:41 <elliott> 'cuz then we can have RIDICULOUSLY BLOATED BOTS that require Minecraft to be running for no good reason!
20:09:00 <fizzie> Well, I can certainly add that.
20:09:07 <fizzie> It sounds like a good thing to have!
20:09:38 <fizzie> Anyhoo, also on OED 'notch': "N. Amer. colloq. and regional. to the notch and variants: to the right standard, to perfection, exactly." That can't be right...
20:09:48 <Vorpal> elliott, nice (about getting back)
20:10:06 -!- cheater99 has joined.
20:10:50 <fizzie> "notch effect n. Materials Sci. the increase in the susceptibility of a specimen to fracture caused by the presence of a notch." -- but this could be generalized into some sort of software breakage use.
20:12:02 <elliott> fizzie: Have you got a testing server up on the beta server or something? My computer isn't strong enough to run the server properly, and I'd like to do some mcmap codeine.
20:12:16 -!- cheater99 has quit (Read error: Connection reset by peer).
20:14:33 <fizzie> No, I've just been running it locally, and I don't feel like starting to add port-forwarding rules and all that to open things up.
20:14:53 <elliott> fizzie: Woot, I have a commit on my hands and no way to test it :P
20:15:19 <elliott> console.c:114: error: pointer targets in passing argument 1 of ‘cmd_parse’ differ in signedness
20:15:19 <elliott> cmd.h:4: note: expected ‘unsigned char *’ but argument is of type ‘char *’
20:15:21 <elliott> Oh please.
20:17:32 <fizzie> Where are you getting a char * for cmd_parse, anyway?
20:17:40 <Phantom_Hoover> <Sgeo> That can only help one's grade... my grade cannot be helped ← ...how
20:18:07 <Phantom_Hoover> You've made it clear that the course is for simpletons and you are failing?
20:18:31 <fizzie> Or alternatively, what do you need cmd_parse for?
20:18:32 <elliott> fizzie: readline.
20:18:37 <elliott> fizzie: And for //foo at the console.
20:18:42 <fizzie> It already works.
20:18:49 <elliott> fizzie: Really? Does inject_to_server do It?
20:18:50 <elliott> *do it?
20:19:00 <fizzie> https://github.com/fis/mcmap/commit/c336bce1afe12eb80f18bef1686766f4d8f43ee4
20:19:11 <fizzie> Okay, I *think* it works.
20:19:16 -!- wareya_ has quit (Ping timeout: 276 seconds).
20:19:17 <fizzie> I haven't actually tried it.
20:19:31 <fizzie> Anyway, I reworked it so that inject_to_server'd packets are processed as if they came from the client.
20:19:43 <fizzie> So it should be indistinguishable from client-sent chat.
20:19:50 <elliott> Ah.
20:20:01 <elliott> fizzie: What happens if you do //slap <99 chars>?
20:20:05 <elliott> In-game.
20:20:13 <elliott> And what happens if you type "a" 101 times at the console?
20:20:20 <fizzie> You probably will get kicked.
20:20:27 <elliott> Right ...
20:20:58 <fizzie> Or actually not at 101, but certainly at 105 or so. It was somewhere around there.
20:21:11 <fizzie> Either truncating or auto-splitting could be a nice feature.
20:21:25 <fizzie> Truncating would be more IRCy. :p
20:21:34 <fizzie> (Auto-splitting would be more "user-friendly IRC client"y.)
20:21:56 <elliott> "The Alpha server will check the message to see if it begins with a '/'. If it doesn't, the username of the sender is prepended and sent to all other clients (including the original sender). If it does, the server assumes it to be a command and attempts to process it. A message longer than 100 characters will cause the server to kick the client. This limits the chat message packet length to 103 bytes. Note that this limit does not apply to incomi
20:21:56 <elliott> ng chat messages as the server may have prepended other information, not limited to, but usually including, a username."
20:22:09 <elliott> fizzie: Infalliprotocollywiki says it's 100.
20:22:09 <fizzie> Ah, so it was 103 bytes per packet.
20:23:12 <fizzie> I wonder if it's 100 characters or 100 bytes. Could be either.
20:23:30 <elliott> Easy (but boring) to check.
20:23:44 <elliott> Hey Deewiant, set up a server so I can test things. (I'm just going to bug random people until somebody does.)
20:23:57 <Deewiant> Tell me how (I'm on Windows)
20:24:51 <fizzie> Deewiant: Run minecraft_server.exe.
20:25:01 <fizzie> (I've seen that mentioned on the download site.)
20:25:01 <elliott> Deewiant: What fizzie said.
20:25:07 <Deewiant> Link it.
20:25:08 <elliott> Deewiant: Also turn off monsters and PvP, or I'll eat your soul.
20:25:09 <fizzie> It's 100 bytes, not 100 chars.
20:25:22 <Deewiant> elliott: I'll put it on "hard".
20:25:25 <elliott> Deewiant: http://minecraft.net/download/Minecraft_Server.exe
20:25:25 <fizzie> http://minecraft.net/download/Minecraft_Server.exe?v=1292963092965
20:25:29 <elliott> Deewiant: And you can't control the difficulty.
20:25:32 <elliott> Just monsters and pvp on vs off.
20:25:40 <Deewiant> Meh, lame.
20:25:44 <elliott> I think.
20:25:50 <fizzie> elliott: If you're going to be the only person there, how does PvP matter?-)
20:26:04 <elliott> fizzie: Because Deewiant will probably drop in and punch me to death.
20:26:05 <fizzie> And it seems to be 100 bytes, not 100 characters.
20:26:10 -!- wareya has joined.
20:26:19 <fizzie> "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" works, "äääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääääää" kicks me off.
20:26:27 <Deewiant> It doesn't have any pvp/monster settings
20:26:39 <elliott> Deewiant: Yes it does.
20:26:41 <Deewiant> But, tar.us.to:25565 may or may not work.
20:26:46 <fizzie> That's the "server.properties" file it generates somewhere.
20:26:48 <Deewiant> This GUI doesn't, and the help command doesn't list any.
20:26:53 <elliott> Same directory, I think.
20:27:14 <elliott> 20:26:38 [DIED] main.c: 106: proxy thread (client -> server) write failed
20:27:18 <elliott> Did you just take it down, Deewiant?
20:27:24 <Deewiant> [INFO] ehird [/91.105.117.134:33325] logged in with entity id 4393
20:27:25 <Deewiant> [INFO] ehird lost connection: disconnect.overflow
20:27:31 <elliott> Lolz whats.
20:27:40 <elliott> fizzie: Your mcmap, 'tis insufficient.
20:27:41 <Deewiant> Now it happened to fizzie too.
20:27:43 <elliott> It works now, second connect.
20:27:52 <elliott> Then I got kicked off.
20:27:59 <fizzie> I connected, got packet updates for a while, then got dumped.
20:28:00 <elliott> Without an error thist ime.
20:28:01 <elliott> *this time.
20:28:10 <fizzie> 'tis weird; it works if I connect to localhost.
20:28:11 <elliott> fizzie: Nice beta support :P
20:28:20 <elliott> fizzie: Are you surey ou're on the beat server?
20:28:20 <elliott> *beta
20:28:23 <elliott> *sure you're
20:28:27 <fizzie> Well, yes.
20:28:29 -!- cheater99 has joined.
20:28:35 <Deewiant> Well, TEST FAST.
20:28:37 <elliott> WELL THIS WORKS
20:28:38 <fizzie> 2010-12-21 21:15:44 [INFO] Starting minecraft server version Beta 1.0
20:30:10 <elliott> Trying without mcmap now.
20:30:35 <elliott> Deewiant: EOFException even without mcmap.
20:30:42 <Deewiant> Well, I don't know.
20:30:44 <fizzie> 22:27:49 server -> client packet 0xff size 4294967048
20:30:45 <elliott> Deewiant: Concludion: ERGO ROUTER FAIL (or server fail or something)
20:30:48 <fizzie> That's probably not all right.
20:32:00 <Deewiant> Haven't had problems with any other kinds of servers thus far, so I blame the software.
20:32:50 -!- cheater99 has quit (Read error: Connection reset by peer).
20:32:51 <elliott> Deewiant: Considering it works for fizzie, that's a rather odd conclusion. :p
20:33:01 <Deewiant> Does it work for fizzie?
20:33:10 <elliott> fizzie says it works for fizzie. As in, using a server on localhost.
20:33:10 <Deewiant> Oh, his server, you meant.
20:33:14 <Deewiant> He's not running it on Windows.
20:33:33 <fizzie> Deewiant: Does it say "Beta 1.0" for the version? (Though I don't suppose there are any others yet.)
20:33:42 <Deewiant> [INFO] Starting minecraft server version Beta 1.0
20:33:49 <fizzie> And it's Java, you know, write once, run anywhere, platform-agnostic.
20:33:54 <elliott> Deewiant: Y'could try:
20:33:54 <elliott> http://minecraft.net/download/minecraft_server.jar?v=1292963598077
20:33:56 <elliott> java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
20:34:13 <fizzie> That's what I use to start it; though it might be just timing-related things, or worldgen-related things.
20:34:23 <Deewiant> I've written Java software with Windows-only hacks to make stuff work better.
20:34:41 <fizzie> No, you don't understand, write once, run ANYWHERE.
20:34:47 <fizzie> (I've been indoctramotated.)
20:34:49 <Deewiant> Anywho, nogui version running.
20:35:00 <fizzie> The noogie version.
20:35:23 <Deewiant> Shrug.
20:35:26 <elliott> Write everywhere, run once.
20:35:36 <Deewiant> Crash, give up.
20:36:15 <elliott> fizzie: So hey, dem forwarded ports.
20:36:20 <elliott> :p
20:36:28 <fizzie> Blonk. Yes, it certainly does seem to break even on a direct connection.
20:36:36 <fizzie> Deewiant: Any interesting messages in the server console?
20:36:47 <Deewiant> This time it printed a few SocketExceptions.
20:36:57 <Deewiant> java.net.SocketException: Software caused connection abort: recv failed
20:36:57 <Deewiant> at java.net.SocketInputStream.socketRead0(Native Method)
20:37:04 <Deewiant> java.net.SocketException: Connection reset by peer: socket write error
20:37:05 <Deewiant> at java.net.SocketOutputStream.socketWrite0(Native Method)
20:37:12 <Deewiant> Between ehird's join and quit
20:38:00 <fizzie> http://www.minecraftforum.net/viewtopic.php?f=17&t=110437 "my friends server has just been updated but me and a few other people are constantly crashing with errors such as: - internal exception: Java.EOFException - minecraft connection lost Internal exception: java.net.socket exception: socket caused connection abort: recv failed"
20:38:16 <Deewiant> Notch Engineering strikes again.
20:38:25 <elliott> It's Notch quality
20:38:27 <elliott> *quality.
20:38:33 <fizzie> "I'm having exactly the same problem - I've tried on multiple servers, and on both my mac and pc machines - I tried updated java to the latest version, I've tried deleting my MC /bin directory and getting new files downloaded, nothing seems to be working."
20:38:48 <elliott> "I'm beginning to hate Java -_-"
20:38:50 <elliott> Hate the Notch, not the game.
20:39:04 <elliott> Although hate Java too.
20:39:06 <elliott> So basically just hate.
20:40:53 <elliott> Deewiant: Ooh -- "Bad packet id 158".
20:40:57 <elliott> fizzie: ^
20:40:58 <Deewiant> Is the server-ip in server.properties an address to bind to or its external IP?
20:41:04 <elliott> DESYNCHRONISPORPOISE
20:43:13 <elliott> Deewiant: No idea.
20:43:31 <Vorpal> gah, -22 C outside
20:44:09 <Vorpal> who called -10 C or whatever it was "really fucking cold" last week or so?
20:44:13 <elliott> pikhq i think
20:44:14 <Deewiant> How much snow?
20:44:30 <Vorpal> Deewiant, well, it snowed a lot yesterday and the day before that
20:44:38 <Vorpal> Deewiant, but it rarely snow when THIS cold
20:44:39 <Deewiant> cm-depth
20:45:10 <Vorpal> Deewiant, snow blower used yesterday, hasn't snowed since then. So about 1 cm where it was used. Almost 2 meters in other places
20:45:26 <Vorpal> Deewiant, hard to tell what it actually is since it tends to blow up against walls around here
20:45:29 <Deewiant> Don't you have weather services?
20:45:45 <Vorpal> Deewiant, you mean, the weather services us with a lot of snow? ;P
20:45:56 <Vorpal> Deewiant, sure, there is SMHI
20:45:57 <Deewiant> I mean that snow depth is a well-defined value :-P
20:46:05 <Deewiant> That they should report
20:46:10 <Vorpal> Deewiant, and I don't know where to find it on there
20:47:31 <elliott> isthesnowdepthinswedentodayreallyfuckingdeep.com: "YES"
20:47:37 <elliott> There's your value.
20:48:06 <Vorpal> elliott, well, at least over a meter I'd say
20:48:11 <Vorpal> but I can't find official values
20:48:51 <elliott> fizzie: The command-output-appears-as-CHAT is a regression.
20:48:59 -!- cheater99 has joined.
20:49:02 <elliott> fizzie: It's all neon-coloured and unreadable now for those of us with lightbulb terminals.
20:49:21 <Vorpal> elliott, no one uses those anyway
20:49:23 <Vorpal> so a feature
20:49:23 <Deewiant> Vorpal: Use http://www.smhi.se/vadret/vadret-i-sverige/snodjup
20:49:24 <Vorpal> not a bug
20:49:41 <elliott> Vorpal: I use one, and I'm the only person who isn't fizzie who's contributed code, so there.
20:50:02 <fizzie> Doesn't the same apply for server-sent yellow messages?
20:50:12 <Vorpal> Deewiant, closest observation is 32, but it is not very near
20:50:20 <Vorpal> Deewiant, and due to wind it is much deeper locally
20:50:41 <fizzie> I think it's more harmonically harmonious when it does the same color-thing it does for all; there's the no-color option already, anyway.
20:50:45 <elliott> fizzie: Yes, but that's "less" problematic.
20:50:53 <elliott> I don't mind the colours, I just don't like command output to be arbitrarily coloured.
20:51:00 <Vorpal> fizzie, easy fix, force bg to black
20:51:03 <elliott> The only reason they're coloured in the client is because there's no other good way to indicate.
20:51:11 <elliott> In the console, there's [INFO] vs [CHAT] to indicate.
20:51:20 <Vorpal> elliott, make it an option
20:51:23 <elliott> (Especially considering that the coords response isn't chat by any reasonable definition of CHAT.)
20:51:23 -!- cheater99 has quit (Read error: Connection reset by peer).
20:51:23 <Vorpal> I prefer coloured
20:51:32 <elliott> Vorpal: I'm talking to fizzie, not you.
20:51:36 <Vorpal> elliott, calling it a regression is just wrong
20:51:51 <fizzie> It's chat by the definition that "it's something sent to the client as chat".
20:52:08 <elliott> fizzie: Well, yes, but //coords is more info generated by mcmap than chat.
20:52:17 <fizzie> Also, it makes //command and /command outputs work exactly the same.
20:52:27 <elliott> fizzie: I mean, this way, /mode changes/ come out as [CHAT]... which is just weird.
20:52:42 <fizzie> I didn't want mode changes to be reported to the client chat, anyway. :p
20:52:48 <elliott> Anyway, -c is broken.
20:52:51 <elliott> > //coords
20:52:51 <elliott> 20:52:11 [CHAT] §b//coords: x=-601, z=-16, y=68
20:53:11 <elliott> Hmm, ^D is broken too, I'll fix that.
20:53:13 <Vorpal> <fizzie> I didn't want mode changes to be reported to the client chat, anyway. :p <-- nor me
20:53:18 <elliott> Is there any special way to restore the terminal or is it atexited?
20:53:50 <fizzie> console_cleanup() does the readline term-deprep if readline has been initialized.
20:53:59 <elliott> fizzie: What about closing sockets and stuff?
20:54:25 <fizzie> What did you want ^D to do?
20:54:46 <elliott> fizzie: Quit; but I've already made it do that.
20:54:46 <fizzie> If you want to exit, just exit; the cleanup is also atexit'd.
20:54:49 <elliott> OK.
20:55:12 <elliott> Indeed, 'tis worky.
20:55:32 <fizzie> And right, the nocolor-mode doesn't actually parse the color codes at all. I guess it would be better if it did but just didn't print the escape codes.
20:55:35 <elliott> fizzie: I'm going to let it send blank messages 'cuz that's totally useful. (If that's okay.)
20:55:42 -!- olsner has joined.
20:55:52 <fizzie> If it's possible, sure.
20:56:04 <fizzie> I haven't tried a zero-length string chat message.
20:56:05 <elliott> It is, yes.
20:56:29 <fizzie> Well, if the server doesn't mind getting those, by all means make it possible to send those too.
20:56:41 <elliott> Considering I've sent many before, yes. :P
20:57:06 <elliott> >
20:57:07 <elliott> 20:56:29 [CHAT] <ehird> !
20:57:07 <elliott> >
20:57:07 <elliott> 20:56:30 [CHAT] <ehird> !
20:57:07 <elliott> >
20:57:10 <elliott> But they show as blank in Minecraft.
20:57:19 <elliott> fizzie: I think there's a printing code bug.
20:57:28 <elliott> fizzie: ! might be printing 1 char of an uninitialised buffer.
20:57:29 <elliott> Maybe.
20:57:40 <elliott> It didn't print ! before you rewrote the console code, so.
20:58:03 <fizzie> Hmm.
20:58:18 <fizzie> I can take a look at that if you want.
20:58:28 <elliott> Well, it's possibly something to look at.
20:58:31 <fizzie> If you push the empty-message sending version.
20:58:43 <elliott> Doing so.
20:59:25 <elliott> fizzie: Done
20:59:27 <elliott> *Done.
20:59:31 <fizzie> Okkay.
20:59:47 <elliott> Okkkkkkkkay.
21:00:56 <elliott> fizzie: Hmm. Should I make debug=1 builds go into a debug/ directory? I think I keep accidentally mixing -g and -O3 objects.
21:01:03 <elliott> (Or I could just make debug=1 be the default.
21:01:10 <elliott> *default.)
21:01:18 <olsner> I find it a good idea to give each configuration its own output directory
21:01:55 <elliott> mm
21:02:15 -!- Goosey has joined.
21:02:22 <Goosey> Anyone know of a good high traffick image hosting site?
21:02:36 <elliott> Goosey: lemonparty.org
21:02:44 <elliott> It hosts an image and it's high-traffic.
21:02:55 <Goosey> No
21:02:58 <Goosey> I'm not going there
21:03:01 <Goosey> you bastard
21:03:13 <Goosey> Nice try though
21:03:49 <elliott> fizzie: Got any nicer target directory names than _debug and _build? :p (Underscores to allow mental filtering-out in directory listings.)
21:05:03 <elliott> (I am slowly -- but steadily -- leading mcmap onto the path of Java EE.)
21:05:13 <elliott> (I plan to port useful.make to Ant in a few days.)
21:05:24 <Vorpal> aieee!
21:05:42 <olsner> to ... ant?
21:06:00 <elliott> olsner: Yes. But it will also require Maven.
21:06:07 <Vorpal> elliott, maven?
21:06:17 <elliott> Vorpal: You really don't want to know.
21:06:29 <Vorpal> elliott, actually I do
21:06:38 <elliott> http://en.wikipedia.org/wiki/Apache_Maven#Example
21:06:39 <elliott> have fun.
21:06:42 <Vorpal> it can't be worse than ant
21:06:49 <elliott> No, but it's close.
21:06:59 * Vorpal waits for browser to load
21:06:59 <elliott> And yes, those XML files get WAY more enterprisey and generic and bloated for even simple projects.
21:07:18 <elliott> p.s. http://i.imgur.com/T1cao.jpg
21:07:24 <Sgeo> Phantom_Hoover, different course
21:07:29 -!- cheater99 has joined.
21:07:38 <elliott> Sgeo: I was unaware your college offered non-moronic courses?
21:07:55 <Vorpal> elliott, I presume maven still doesn't do proper dependency handling
21:08:12 <Sgeo> The course I'm failing seems to be decent, except for problems that are my problems and not the course's
21:08:18 <elliott> Vorpal: Fucked if I know.
21:08:25 <fizzie> elliott: Bugfixed the no-color mode: https://github.com/fis/mcmap/commit/188d632 (and that's actually your bug; it used to be a fwrite(msg, 1, msglen, stdout); and you log_print'ified it even though obviously (for some values of...) msg might not be null-terminated. (Otherwise I wouldn't have had a msglen parameter.)
21:08:40 <Sgeo> elliott, no, the optional final course is a chemistry course, a bit moronic, but I'm not failing it
21:09:15 <elliott> fizzie: Well, uh, your mother.
21:09:37 <elliott> fizzie: And no, you didn't quite bugfix it in that it still spews colour codes :P
21:09:47 <elliott> But yeah.
21:10:26 <elliott> In fact I'll fix thatn ow.
21:10:30 <elliott> that now.
21:10:44 <Vorpal> elliott, make it an option!
21:10:48 -!- cheater99 has quit (Read error: Connection reset by peer).
21:10:54 <Vorpal> fizzie, I do like the colour codes btw.
21:11:04 <elliott> Vorpal: You like it spewing colour codes when colour is off?
21:11:05 <Vorpal> makes output easier to read
21:11:16 <elliott> Vorpal: Please stop pinging me about mcmap.
21:11:17 <Vorpal> elliott, oh, hm. If it is turned off ...
21:11:22 <elliott> The no bitching policy applies.
21:11:26 <fizzie> Right, well, yes. It might be best that you just use the color-code parsing routine always, and nocolor-test away the escape-code outputs.
21:11:30 <Vorpal> elliott, not to you, only to fizzie
21:11:35 <Vorpal> elliott, I never agreed it to you
21:12:01 <elliott> Vorpal: Stop pinging me to whine about mcmap.
21:13:03 <elliott> fizzie: Pushed what "might" be a fix; untested due to lack of server that'll stay up long enough to check.
21:13:44 <Sgeo> The humans are dead
21:14:29 <Vorpal> elliott, why
21:14:38 <elliott> Vorpal: Because I said so.
21:14:42 <Vorpal> elliott, local server?
21:14:54 <elliott> Not enough processing power to run Minecraft, the server, and mcmap at the same time.
21:15:05 <elliott> At least, not without waiting a minute for it to stabilise.
21:15:12 <elliott> (Probably.)
21:15:20 <Vorpal> elliott, uh, mcmap is not heavy. So run server on one computer, client and mcmap on another
21:15:22 <Vorpal> problem solved
21:15:29 <Vorpal> elliott, I /know/ you have an imac too
21:15:29 <Vorpal> so
21:15:32 <elliott> Vorpal: I do not have reasonable access to another computer.
21:15:40 <Vorpal> elliott, so where is the imac?
21:15:42 <elliott> The iMac is in a box and there's no free sockets here that I know of.
21:15:47 <Vorpal> ah
21:15:48 <elliott> My router also only has one Ethernet port.
21:15:55 <Vorpal> elliott, wireless?
21:15:59 <fizzie> I don't see why the fix wouldn't work; and I've put in quite a lot of untested code.
21:16:05 <elliott> Vorpal: Or I could just push without testing, like Notch.
21:16:10 <Vorpal> elliott, hah
21:16:13 <fizzie> And like me!
21:16:17 <elliott> mcmap: at least as stable as the game itself!
21:16:36 <fizzie> At least I haven't sold a million copies of mcmap and made them auto-update. :p
21:16:40 <Vorpal> when will ineiros update the server
21:16:48 <elliott> Vorpal: When hMod updates and he's sufficiently drunk.
21:16:55 <elliott> (Obviously one can only upgrade servers when inebriated.)
21:17:01 <fizzie> I can take care of the latter, but I don't know how to speed up the former.
21:17:17 <elliott> fizzie: Get hey0 drunk too?
21:18:12 <elliott> fizzie: So, do you want to have some fun by looking into my GNU Make metaprogramming bug?
21:18:28 <elliott> It would make "make clean all" SLIGHTLY more convenient for all mcmap users!
21:20:30 <fizzie> Nnnnot right now.
21:21:20 <elliott> define c-program-body
21:21:20 <elliott> to-install += $(1)
21:21:20 <elliott> to-clean += $(1) $(2:.c=.o) $(2:.c=.d)
21:21:20 <elliott> $(objdir)/$(1): $(2:%.c=$(objdir)/%.o) Makefile | $(objdir) ; \
21:21:20 <elliott> $(call do,LINK,$(objdir)/$(1),$(cc.link) -o $(objdir)/$(1) \
21:21:21 <elliott> $(2:%.c=$(objdir)/%.o))
21:21:22 <elliott> $(if $(cleaning),,-include $(2:%.c=$(objdir)/%.d))
21:21:24 <elliott> endef
21:21:26 <elliott> fizzie: HOW CAN YOU NOT WANT TO DEBUG THINGS LIKE THAT
21:26:59 -!- cheater99 has joined.
21:27:44 * elliott pushes
21:28:02 <elliott> Okay, I think the build system "vaguely" complete now.
21:28:24 <elliott> Being able to set objdir in a less hacky manner in the Makefile should be possible (need to figure out how to handle that in useful.make), and an install target would be useful, but it's pretty good.
21:28:53 <elliott> Although you have to do "make clean debug=1" for it to clean a debug build properly. Although that might be the Right Thing.
21:31:29 -!- cheater99 has quit (Read error: Connection reset by peer).
21:34:25 <elliott> Heh. Lua lets you drop parens for single-argument functions.
21:34:28 <elliott> Well, seemingly.
21:34:35 <elliott> Oh, only for string and list literals? What.
21:41:52 <elliott> changequote(` ',`
21:41:53 <elliott> ')
21:41:54 <elliott> MWAHAHAHA M
21:41:55 <elliott> *M4
21:42:18 -!- pikhq has quit (Ping timeout: 255 seconds).
21:45:43 <Phantom_Hoover> elliott, what're you doing m4 for?
21:45:49 <elliott> Phantom_Hoover: No reason whatsoever.
21:46:59 -!- cheater99 has joined.
21:47:46 -!- cheater99 has quit (Read error: Connection reset by peer).
21:49:33 <Phantom_Hoover> I motion that m4 be made an honourary esolang.
21:49:46 -!- Mathnerd314 has joined.
21:50:10 <Phantom_Hoover> All in favour?
21:52:06 <elliott> Phantom_Hoover: It always has been.
21:55:00 <Phantom_Hoover> But not OFFICIALLY!
21:55:33 <Sgeo> That reminds me, I still have to send a message to Fidelity
21:57:22 <Phantom_Hoover> Sgeo, what are the properties of the entity you call Fidelity?
21:57:53 <Sgeo> Phantom_Hoover, possibly having possession of materials related to BancSTAR
21:58:18 <elliott> Sgeo: Wait, it's a *person*?
21:58:19 <elliott> Called Fidelity?
21:58:32 <Phantom_Hoover> There are *people* called Fidelity?
21:58:33 <Sgeo> elliott, wait, I implied it's a person?
21:58:45 <elliott> Hmm. Okay, so you didn't.
21:58:54 <elliott> Oh it's that!
21:58:58 <elliott> You realise a corporation would prefer to forget bancstar ever existed right?
21:58:59 <Phantom_Hoover> Sgeo, I assume he assumed it was Alluded To Female.
21:59:15 <Vorpal> elliott, uh. female names like that were once common (not that specific attribute)
21:59:32 <Sgeo> There are people called Faith and Hope
21:59:37 <elliott> Vorpal: Well yes, but it's also 2010 here.
21:59:43 <elliott> And... Fidelity?
21:59:43 <Phantom_Hoover> Sgeo, in direct violation of Hoover's Naming Law.
21:59:51 <elliott> Faith and Hope I can kind of understand, even though they're terrible names.
21:59:52 <elliott> Fidelity??
22:00:02 <Vorpal> elliott, I think Honesty also happened
22:00:25 <elliott> Vorpal: I think this is God's way of telling us that he likes eugenics.
22:00:59 <elliott> What was that Python-y-syntaxed language that was on the level of C?
22:01:06 <Sgeo> Cython?
22:01:07 <Phantom_Hoover> "Felicity". If you EVER have the urge to call a child "Fidelity", at least extend that kindness to it.
22:01:20 <Sgeo> Oh, the think like Vala but with Pythony syntax1
22:01:22 <elliott> Sgeo: No.
22:01:23 <Sgeo> !
22:01:23 <elliott> Unrelated to Python.
22:01:27 <elliott> And no, not that either (Genie).
22:01:39 <elliott> The homepage had a screenshot of some mandelbrot program written in it, I think.
22:01:46 <elliott> Low-fi site, IIRC it had no CSS.
22:02:08 <Sgeo> Phantom_Hoover, Felicia Day?
22:02:27 <Phantom_Hoover> Sgeo, what?
22:02:40 <Sgeo> "Felicity" kind of sounds like "Felicia"
22:02:45 <elliott> ...
22:03:03 <Phantom_Hoover> Sgeo, and "Seth" sounds a bit like "Zath".
22:03:08 <Phantom_Hoover> With a voiced "th".
22:03:09 <elliott> Which sounds a bit like Zach.
22:03:12 <elliott> Which sounds a bit like Exactly.
22:03:16 <Phantom_Hoover> THAT IS WHAT YOU ARE CALLED NOW.
22:03:16 <elliott> Which sounds a bit like Eggsactly.
22:03:21 <elliott> Which sounds a bit like eggs.
22:03:23 <Sgeo> I've been called Zach before
22:03:25 <elliott> Which are OVARIES.
22:03:30 -!- cheater99 has joined.
22:03:31 <elliott> What I'm saying is, Sgeo is ovaries.
22:03:40 <elliott> Via logic.
22:03:41 <Phantom_Hoover> elliott sounds a bit like "Elliot" which sounds a bit like "Eliott".
22:03:53 <elliott> Phantom_Hoover: I will make your intestines into a stew.
22:03:54 <Phantom_Hoover> Q.E.D.
22:04:11 <Phantom_Hoover> elliott, sorry, is that sound a ł rather than an l?
22:04:30 <elliott> heh
22:04:34 <fizzie> "Thou‑Shalt‑Not‑Commit‑Adultery Pulsifer?" he said, when she'd finished.
22:04:35 <fizzie> "That sort of name was quite common in those days," said Anath­ema. "Apparently there were ten children and they were a very religious family. There was Covetousness Pulsifer, False‑Witness Pulsifer‑"
22:04:35 <elliott> Wow, I didn't realise that the Soviety government owned Tetris. :)
22:05:01 <elliott> fizzie: Suffer-The-Little-Children-Onto-Me Jones.
22:05:17 <Phantom_Hoover> elliott, fun fact: my real name has an "mhn" in it!
22:05:26 <elliott> Phantom_Hoover: Phantomhn Hoover?
22:05:35 <Phantom_Hoover> That's the principle!
22:05:52 <Sgeo> Phantomhnoover
22:06:00 <elliott> Phantom_Hoover: I don't think I ever want to know your real name, you're just Phantom to me.
22:06:05 <elliott> It would be weird.
22:06:10 -!- Phantom_Hoover has changed nick to Phamhntom_Hoover.
22:06:28 -!- elliott has changed nick to J_Edgar_Hoover.
22:06:33 <J_Edgar_Hoover> Phamhntom_Hoover: BROTHER.
22:07:17 <Vorpal> fizzie, good omens?
22:07:17 -!- cheater99 has quit (Read error: Connection reset by peer).
22:07:21 <fizzie> Vorpal: Yes.
22:07:27 <Phamhntom_Hoover> Vorpal, you need to *ask*?
22:07:41 <Phamhntom_Hoover> fizzie, how can you quote books in about 30 seconds?
22:07:42 <Vorpal> Phamhntom_Hoover, yes, well, it was some time ago I read it
22:07:54 <Vorpal> I think Pyramids is underquoted
22:07:58 <Vorpal> but that's just me
22:07:58 <Phamhntom_Hoover> Surely you don't have a library a metre to your left.
22:08:00 <fizzie> Phamhntom_Hoover: It's this thing called computers, they can sort and search data pretty fast!
22:08:15 <Phamhntom_Hoover> fizzie, but did you know that putting books on computers is PIRACY?
22:08:47 <Phamhntom_Hoover> God, I love weird little phonemes that appear in about 2 languages.
22:08:49 <fizzie> http://ngrams.googlelabs.com/datasets ← the worst pirates of them all.
22:09:05 <J_Edgar_Hoover> Gyaah, I like Pyramids but I don't want to support Vorpal by quoting it.
22:09:18 <Phamhntom_Hoover> http://en.wikipedia.org/wiki/Voiced_labiodental_plosive
22:09:25 <J_Edgar_Hoover> Von Labiodental.
22:09:31 <Phamhntom_Hoover> It isn't used in _a single language_.
22:09:37 <J_Edgar_Hoover> "It's used in TWENTY!"
22:09:45 <Phamhntom_Hoover> It turns up occasionally in two.
22:10:03 <fizzie> Phamhntom_Hoover: NameDB (which is pretty small, only 30000 names) says there's two "mhn"-containing names, Adhamhnan (Irish-Gaelic, "little Adam") and Domhnall (Scots-Gaelic, "ruler of the earth").
22:10:18 <Phamhntom_Hoover> fizzie, no comment.
22:10:19 <Vorpal> J_Edgar_Hoover, take for instance this stunned seagull (note: quoting from memory, YMMV)
22:10:36 <fizzie> Naming someone "ruler of the earth" sounds a bit... suspicious.
22:10:44 <J_Edgar_Hoover> Phamhntom_Hoover: Didn't you say it started with A?
22:10:48 <J_Edgar_Hoover> Or is that my bad memory?
22:10:50 <Phamhntom_Hoover> J_Edgar_Hoover, no comment.
22:10:57 -!- J_Edgar_Hoover has changed nick to Adhamhnan.
22:11:08 <Vorpal> does /usr/share/words contain person names?
22:11:13 <fizzie> "Frankly, we should be catching these people earlier. I mean, if you have a kid named 'Death-tron' enrolled in school..."
22:11:15 <Adhamhnan> Suspiciously close to "Saddam", I might add.
22:11:16 <Adhamhnan> As in HUSSEIN.
22:11:31 <Phamhntom_Hoover> Vorpal, yes, that's what takes up all your disk space!
22:11:33 <Adhamhnan> fizzie: Source?
22:11:38 <Adhamhnan> Googling just showed one archived TV Tropes discussion page. :p
22:11:51 <fizzie> Adhamhnan: That Ozy and Millie webcomic, though I located that quote from the aforementioned tvtropes discussion page.
22:12:04 <fizzie> Last time I was reminded of it I actually bothered to find the actual strip too.
22:12:20 <Adhamhnan> " In other news, Penguin Classics has decided not to publish all the commas removed from Humboldt’s Gift by Mr. Bellow while he was originally revising the manuscript."
22:12:21 <Adhamhnan> Wat.
22:12:23 <Adhamhnan> *"In
22:12:43 <Sgeo> o.O
22:12:53 <Phamhntom_Hoover> Adhamhnan, it's cited to Ozy and Millie, so the original source will be a PNG.
22:13:06 <Adhamhnan> Phamhntom_Hoover: Right. Unless someone goes and transcribes them all.
22:13:07 <Sgeo> The template I made is #411 on most transcluded templates
22:13:09 <fizzie> http://www.ozyandmillie.org/d/20040603.html
22:13:13 <Adhamhnan> IT'S THEORETICALLY POSSIBLE
22:13:17 <Adhamhnan> Sgeo: Ego ego ego.
22:13:31 <Phamhntom_Hoover> fizzie, Jesus.
22:13:38 <Phamhntom_Hoover> How the hell did you do that?
22:13:39 <Adhamhnan> fizzie is Jesus.
22:13:44 <Sgeo> Adhamhnan, you reminded me of it recently
22:13:46 <Adhamhnan> He just flipped through every comic, sequentially, until he found that one.
22:13:50 <Adhamhnan> With his cyborg mind.
22:13:52 <fizzie> Phamhntom_Hoover: That's nothing strange: it's in a published book, and Google books search finds things inside the speech bubbles.
22:13:55 <Adhamhnan> (Jesus is a cyborg.)
22:14:00 <Goosey> I KNEW IT
22:14:01 <Phamhntom_Hoover> fizzie, O.o
22:14:04 <fizzie> http://www.google.com/search?tbs=bks%3A1&tbo=1&q=ozy+and+millie+%22death-tron%22&btnG=Search+Books
22:14:05 <Adhamhnan> fizzie: ...I love you.
22:14:10 <Adhamhnan> I cannot ever imagine thinking,
22:14:16 <Adhamhnan> "Oh! I remember! They published those comics in a book."
22:14:20 <Adhamhnan> "Hmm... Google transcribe books..."
22:14:23 <Adhamhnan> "To Google Book Search!"
22:14:26 <fizzie> It even highlights the word inside the bubble.
22:14:33 <Adhamhnan> "Aha, there it is... now what comic number is it... there we GO..."
22:14:36 <Adhamhnan> "...aaaaand link it."
22:14:38 <Adhamhnan> In, what, seconds.
22:15:13 <fizzie> Well, the book name says it's 2004, and after seeing it in context, I remembered the whole sequence was about eradicating evil, so that was just "/evil" in the 2004 archive.
22:15:15 -!- zzo38 has joined.
22:15:40 <j-invariant> elliott: equality of functors is annoying.....
22:15:40 <Adhamhnan> fizzie: Do you have anything, you know, useful in your brain? :p
22:15:43 <Adhamhnan> (Not that I do.)
22:15:49 <Adhamhnan> j-invariant: isn't it just equality of functions?
22:15:52 <Adhamhnan> which is, admittedly, just as annoying
22:15:56 -!- Adhamhnan has changed nick to elliott.
22:16:27 <j-invariant> if you just have simple functions f,g : X -> Y then f = g is forall x, f x = g x.
22:16:40 <elliott> right... are the functors more complex?
22:16:42 <elliott> oh, they are, aren't they
22:16:59 <j-invariant> Let C,D be categories and F,G : C -> D functors. Then we need to say that forall X, FX=GX and only then can we even state that for all f : X -> Y, Ff = Gf
22:17:11 <j-invariant> because Ff and Gf have different types (unless FX=GX and FY=GY)
22:17:21 <j-invariant> and Coq does not like that...
22:17:59 <elliott> j-invariant: you could do it in the same way as subtypes? maybe?
22:18:11 <elliott> j-invariant: except, just use a bijection
22:18:15 <elliott> j-invariant: i.e. make it Ff <==> Gf
22:18:21 <j-invariant> well I don't know about subtypes
22:18:23 <elliott> where <==> is just a function bijection
22:18:29 <elliott> well by subtypes i just mean like...
22:18:32 <elliott> yeah just go for a bijection?
22:18:41 <elliott> forall f:X->Y, Ff <===> Gf
22:18:48 <elliott> where <===> is just two functions, both ways
22:18:52 <elliott> and a proof of equality
22:18:56 <fizzie> Phamhntom_Hoover: Incidentally, I think it's done with OCR, and it's not especially good, since the regular-google excerpt text contains "HAVE ft WD NAMED DEATH-TRON", so it's gotten the "A KID" part wrong.
22:18:57 <elliott> i.e. to (fro x) = x and fro (to x) = x
22:19:33 <fizzie> I can sort of see A → ft, but W → KI is a bit less believable.
22:19:54 <elliott> Heh
22:19:55 <fizzie> Or the other way around.
22:19:56 <elliott> *Heh.
22:19:59 * Phamhntom_Hoover laments the lack of names equivalent to "dark lord".
22:20:29 <elliott> Phamhntom_Hoover: "Phantom Hoover".
22:21:47 <j-invariant> elliott: line 306 of http://coq.pastebin.com/hRgqWQ6H - same thing as before except with SET now
22:22:22 <elliott> j-invariant: looks pretty good to me? I might be missing something
22:22:34 <Phamhntom_Hoover> OCaml: worth learning?
22:22:50 <elliott> Phamhntom_Hoover: Maybe.
22:23:01 <Phamhntom_Hoover> Worse than Haskell?
22:23:02 <elliott> Phamhntom_Hoover: It's like Haskell but impure, strict and unsafe. Also very, very, very, very, very, very fast.
22:23:08 <j-invariant> it's a type error "Hom' (MapOb C D G X) (MapOb C D G Y)" while it is expected to have type "Hom' (MapOb C D F X) (MapOb C D F Y)".
22:23:08 <elliott> Competitive with C.
22:23:14 <elliott> j-invariant: ahh
22:23:15 <j-invariant> but we know that GX = FX...
22:23:24 <elliott> j-invariant: you need to do equality elimination?
22:23:25 <Phamhntom_Hoover> elliott, speed is for the weak!
22:23:29 -!- cheater99 has joined.
22:23:35 <elliott> j-invariant: like make it H and prove FX=HX and GX=HX
22:23:45 <j-invariant> I might just start fresh and see if I can set things with this in mind
22:25:46 <j-invariant> I'm not sure if A=B means we have a map A-->B
22:26:11 -!- cheater99 has quit (Read error: Connection reset by peer).
22:26:17 <j-invariant> it's more "use A or B, doesn't matter"
22:26:36 <elliott> j-invariant: well yeah, but you can say A<=>B instead of A=B if coq doesn't like A=B
22:26:37 <elliott> and it's the same
22:26:44 <elliott> (obviously you have to define <=>)
22:26:54 <elliott> well, "the same"
22:27:01 <elliott> every set of the same cardinality is equal by that definition
22:27:02 <fizzie> "We paid for a product, whether it was finished or not, and we as customers deserve to have a working product. Therefore using us as guinea pigs throwing nonfunctional code at us is not right." Yet another way to solve any sort of an energy crisis would be to figure out a way to extract energy from all this indignation.
22:27:19 <j-invariant> that might be too relaxed?
22:27:35 <elliott> j-invariant: maybe ... but it'll definitely work
22:27:41 <elliott> j-invariant: and i personally think sets with the same cardinality *are* the same :)
22:27:57 <Phamhntom_Hoover> <elliott> Phamhntom_Hoover: It's like Haskell but impure, strict and unsafe. Also very, very, very, very, very, very fast. ← so wait, it doesn't have the nice bits of Haskell but is faster?
22:28:00 <elliott> fizzie: At the same time, anyone complaining about a bug in ANY WAY and saying that Minecraft isn't tested at all gets told "lol UR the tester".
22:28:08 <elliott> fizzie: Which is just silly.
22:28:13 <elliott> Phamhntom_Hoover: It's still a functional language.
22:29:01 <elliott> Anyone know that Python-ish C-level language? I distinctly recall it ...
22:30:56 <elliott> Aww man, you were able to store things in your 2x2 inventory crafting area until the beta update.
22:30:58 <elliott> I didn't know that.
22:31:37 <elliott> Vorpal: The super-rare thing is just a single person's special outfit.
22:31:52 <elliott> fizzie: "The downside of the mojang cape is that everyone thinks it's an item and therefore they can kill me to receive one" --C41813981398189.
22:31:55 <elliott> fizzie: I think we have a duty here.
22:32:12 <elliott> [["The mojang cape is [...] an item and therefore they can kill me to receive one" --/r/Minecraft; hopefully intentional.)
22:32:15 <elliott> *("
22:32:27 <fizzie> Heh, clevur.
22:33:02 <fizzie> But wasn't the cape thing already mentioned in the same list as the "even more rare" thing?
22:33:18 <elliott> fizzie: Jeb doth beggeth to differ; http://i.imgur.com/XJDhN.png
22:33:42 <elliott> I suggest we track Notch down and brutally murder him, repeatedly, in a futile attempt to get the cape.
22:33:50 <elliott> Or just because DAMMIT NOTCH.
22:33:57 <Phamhntom_Hoover> elliott, then what?
22:34:02 <elliott> Phamhntom_Hoover: Then we kill him some more.
22:34:04 <fizzie> Oh, okay; so it's a single-person special thing in addition to the cape.
22:34:11 <Goosey> Why are we suggesting to kill notch?
22:34:12 <Phamhntom_Hoover> Who else will be masochistic enough to develop his code further?
22:34:18 <Phamhntom_Hoover> Goosey, because he's an IDIOT.
22:34:26 <Goosey> Other than that
22:34:32 <fizzie> Because CAPE.
22:34:52 <elliott> Goosey: Because god dammit Notch.
22:34:57 <Goosey> lol
22:35:16 <elliott> This is for a bug. And this is for another bug! And we'll be here until Saturday!
22:36:08 <Goosey> Speaking of Minecraft
22:36:13 <Goosey> It's so fucking laggy
22:36:29 <elliott> Goosey: Yes, it's because of DEAF LECAY.
22:36:31 <Goosey> I can play crysis, but not minecraft?
22:36:32 <Phamhntom_Hoover> elliott, "This is for a bug! This is for the 43 bugs and 3 "fixes" of entertaining aspects of gameplay you removed in the bugfix!"
22:36:42 <Goosey> So if i delete all the trees in an area....:D
22:36:44 <elliott> Phamhntom_Hoover: This is because you're Swedish!
22:36:52 <elliott> This is just because I hate you!
22:37:02 <elliott> fizzie: http://twitter.com/Ridder_Graniet/status/17306802005741569 http://twitter.com/notch/status/17306923489566720
22:37:17 <elliott> "Notch could be the ultimate troll if he wanted to be.
22:37:18 <elliott> How hilarious would it be if he made one more release which was incredibly and purposefully broken and then retired from Minecraft."
22:37:28 <elliott> Isn't he already making releases that are incredibly and purposefully broken?
22:37:29 <Goosey> I'd do it
22:37:35 <elliott> I can't think of any other explanation for the bugs.
22:37:46 <fizzie> "<S1lver94> please make that minecraft can handle ä,ü and ö" "<notch> coming tomorrow, I fixed it before I left work today" -- I didn't even know they were broken.
22:37:48 <Goosey> I'm going to block the patch updater and run old minecraft :/
22:37:55 <elliott> http://i.imgur.com/SQhzh.png What.
22:38:00 <elliott> Goosey: good luck using SMP
22:38:01 <Phamhntom_Hoover> elliott, because Notch does not actually understand coding.
22:38:07 <elliott> Phamhntom_Hoover: http://i.imgur.com/SQhzh.png Indeed.
22:38:23 <Goosey> I don't play smp much
22:38:24 <Goosey> too broken
22:38:36 <elliott> Phamhntom_Hoover: LOL DUPLICATION.
22:38:39 <elliott> "Every time you throw a tool, two or more of that same tool are thrown. Each of those, when picked up, can also duplicate when thrown.
22:38:39 <elliott> When you die, every tool you have is thrown, and is subject to the same duplication.
22:38:39 <elliott> The best part is is that duplicated tools are unusable. The server detects them as duplicates, and thus are immediately destroyed after one use. Add this to the few PKers that camp the spawn point and you get tools everywhere."
22:38:45 <elliott> LOL SMP
22:38:47 <Phamhntom_Hoover> It still eludes me why anyone would decide to have two completely separate lumps of code for single- and multiplayer/
22:38:53 <elliott> Goosey: SMP isn't all that buggy if you disable the survival part.
22:38:55 <elliott> i.e. health.
22:39:04 <Phamhntom_Hoover> It's *obvious* that SP is just a special case of MP.
22:39:11 <elliott> http://i.imgur.com/GNrcO.jpg MY SOULMATE
22:39:50 <Goosey> elliott, inventory
22:39:52 <elliott> "Beta, taking everything working in alpha and breaking it, and then adding leaf decay."
22:39:53 <elliott> "You can either have leaf decay or everything else, make up your minds."
22:40:05 <elliott> Goosey: Well, it's server-side now. So duplication is broken. :p
22:40:09 <elliott> (It was a feature!)
22:40:12 <Goosey> Idc about leaf decay
22:40:16 <Phamhntom_Hoover> I'm not playing MC until Notch fixes things to ineiros' high standards.
22:40:18 <Vorpal> <elliott> fizzie: "The downside of the mojang cape is that everyone thinks it's an item and therefore they can kill me to receive one" --C41813981398189. <-- hah
22:40:26 <elliott> "It is complete anarchy in there right now...
22:40:27 <elliott> The laws of physics don't even apply. I got in a boat and sank through the ground."
22:40:32 <fizzie> I'd still like to know if adding 360*24*60*60*1000 to the value in ~/.minecraft/bin/version will automagically block the updating functionality (for the next year) without disabling the logging-in thing.
22:40:44 <elliott> *cough*
22:40:53 <elliott> Turning and turning in the widening gyre
22:40:54 <elliott> The falcon cannot hear the falconer;
22:40:54 <elliott> Things fall apart; the centre cannot hold;
22:40:54 <elliott> Mere anarchy is loosed upon the world,
22:40:54 <elliott> The blood-dimmed tide is loosed, and everywhere
22:40:54 <elliott> The ceremony of innocence is drowned;
22:40:56 <elliott> The best lack all conviction, while the worst
22:40:58 <elliott> Are full of passionate intensity.
22:41:03 <elliott> Didn't you know that was about the Minecraft beta?
22:41:30 <elliott> (And not a single fuck was given that day.)
22:41:40 <elliott> "on one server I got in a boat, which forced me out of the server from some java socket error. then when I came back both me and the boat were still there. then the boat left my clone sitting in the air and decided to repeatedly smash itself into a stone wall. this all took place in my mine."
22:41:54 <elliott> "on one server I got in a boat, which forced me out of the server from some java socket error. then when I came back both me and the boat were still there. then the boat left my clone sitting in the air and decided to repeatedly smash itself into a stone wall. this all took place in my mine."
22:41:56 <elliott> erm
22:41:58 <elliott> "Inaccurate. That JPEG has a much better framerate than Minecraft on Windows 7 64 currently.{I used to get 30-40 in Alpha on Far}"
22:41:59 -!- cheater99 has joined.
22:42:05 <elliott> 0 FPS, fuck yeah.
22:42:29 <Vorpal> `addquote <Goosey> I can play crysis, but not minecraft?
22:42:40 <HackEgo> 252) <Goosey> I can play crysis, but not minecraft?
22:43:01 <elliott> <Phamhntom_Hoover> I'm not playing MC until Notch fixes things to ineiros' high standards.
22:43:07 <elliott> Maybe we should just get the hellworld out again.
22:43:15 <Goosey> elliott, I used to get 150-160 :/
22:43:19 <elliott> YOU WANT CHAOS?! I'LL GIVE YOU CHAOS!!
22:43:21 <Goosey> now I get 10-15 at best
22:43:43 <Goosey> Honestly
22:43:47 <Goosey> when I think of the source for minecraft
22:43:53 <Phamhntom_Hoover> If MC were any less fun to play, I wouldn't be playing it until Notch left and Donald Knuth rewrote it from scratch.
22:44:04 <Goosey> I can't help but think how terribly obfuscated and inefficient it is
22:44:05 <zzo38> Maybe they should just get rid of Minecraft. If more people want it someone can make using GNU GPL v3 or later version, with different people, might improve slightly.
22:44:15 <Goosey> it probably looks like rat shit
22:44:18 <elliott> Goosey: I don't think anyone's actually analysed the performance.
22:44:18 <Phamhntom_Hoover> Goosey, the best part is that Notch is going to RELEASE it!
22:44:26 <elliott> `addquote <zzo38> Maybe they should just get rid of Minecraft. If more people want it someone can make using GNU GPL v3 or later version, with different people, might improve slightly.
22:44:26 <Phamhntom_Hoover> Once everyone's stopped buying.
22:44:27 <HackEgo> 253) <zzo38> Maybe they should just get rid of Minecraft. If more people want it someone can make using GNU GPL v3 or later version, with different people, might improve slightly.
22:44:43 <Phamhntom_Hoover> Which, given the state of beta, I would estimate to be in about 3 weeks.
22:44:58 <Vorpal> <fizzie> I'd still like to know if adding 360*24*60*60*1000 to the value in ~/.minecraft/bin/version will automagically block the updating functionality (for the next year) without disabling the logging-in thing. <--- does that work?
22:44:58 <Sgeo> http://www.youtube.com/watch?v=NbTEVbQLC8s
22:45:03 <Vorpal> for now I mean
22:45:06 <Goosey> vorpal
22:45:07 <Goosey> let me try
22:45:15 -!- cheater99 has quit (Read error: Connection reset by peer).
22:45:16 <fizzie> Vorpal: If I knew, I wouldn't have to wonder.
22:45:38 <Vorpal> I have a copy of the old version
22:45:38 <elliott> fizzie: You could just try, with an old backup.
22:45:40 <fizzie> I have a feeling it won't, since it'd be so easy I'd have seen it on the forumlons.
22:45:40 <elliott> If you have one.
22:45:53 <elliott> fizzie: If you mean minecraftforum, um, the average IQ is something like "duck" there.
22:46:13 <Goosey> loaded flatgrass
22:46:14 <Goosey> no lag
22:46:17 <Goosey> stupid trees
22:46:17 <fizzie> Also, I have gotten the updates when I've just copied the minecraft.jar in place and left the new-version "version" file in place, so I think it does check the .jar files too, but that's just me.
22:46:26 <fizzie> BURN THE TREES.
22:46:32 <elliott> <Sgeo> http://www.youtube.com/watch?v=NbTEVbQLC8s
22:46:35 <elliott> what is this terrible thing
22:47:00 <Sgeo> elliott, come on do the Qt 4 dance!
22:47:03 <elliott> gtfo
22:47:15 <elliott> fizzie: Why hasn't someone modded the client to say to the server, "oh ho, yes, yes, I am version 34589734589345 and my hash is bork"?
22:47:16 <Phamhntom_Hoover> Sgeo, go download Oolite and play it for a while. It should stop you talking for a while.
22:47:17 <Vorpal> Goosey, so did changing that version actually work?
22:47:23 * Sgeo wants there to be a GTK+ dance
22:47:25 <elliott> fizzie: It's _possible_, by definition, anyway.
22:48:14 <fizzie> Maybe someone has; I haven't tried to find out a way to play with the old version (and still participate in the authentication stuff) very hard.
22:48:59 <Goosey> Vorpal, nope :/
22:49:55 <elliott> Does *nobody* know of that language?
22:51:21 <Vorpal> elliott, which language?
22:51:45 <elliott> Vorpal: It had a Python-y syntax but was about as low level as C. *Not* related to Python like Cython is or anything.
22:51:59 <fizzie> Can you tell us anything more about it?
22:52:04 <elliott> Quite barebones web page; I think it had no CSS or something although IIRC there was a screenshot on the left or right with some mandelbrot written in it running... I think with a tiling WM, unantialiased X fonts?
22:52:06 <elliott> fizzie: Nope, I don't recall much.
22:52:09 <elliott> It was on reddit once, I think.
22:52:12 <Vorpal> elliott, vala?
22:52:12 <elliott> I'm not very helpful. :p
22:52:14 <elliott> Vorpal: No.
22:52:18 <elliott> Vorpal: Vala isn't Python-like at all.
22:52:24 <Vorpal> elliott, okay
22:52:26 <elliott> Genie, which is Vala's alternative "frontend", is, but no.
22:52:33 <elliott> It had indentation-based syntax etc.
22:52:50 <Vorpal> elliott, no clue
22:52:54 <elliott> Grr
22:52:57 <elliott> *Grr.
22:52:59 <elliott> :p
22:53:11 -!- zzo38 has set topic: The closer you are to the batsman, the sillier you are. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:53:15 <Vorpal> elliott, only indention based languages I know of are: python, haskell, make
22:53:28 <Vorpal> or at least, only ones I can remember atm
22:53:38 <Vorpal> elliott, was it mentioned in here?
22:53:38 <elliott> Vorpal: It wasn't a well-known thing.
22:53:43 <elliott> I think I linked it ... maybe.
22:53:43 <Vorpal> elliott, if so you could grep the logs
22:53:55 <j-invariant> I'm stumped.
22:54:07 <zzo38> I try to look at the MSE codes to learn some things that I might or might not use to make TeXnicard.
22:54:16 <elliott> j-invariant: My arms are a bloody stump.
22:55:36 <fizzie> One thing that might be very likely to block the updates would be just to rewrite the "version" field of the response the launcher gets for "http://www.minecraft.net/game/getversion.jsp?..." (with a transparent-Squid and a script or whatever) to whatever you have; that way the launcher just won't try to download new packages, but it will still use the has-logged-in session ID for server connections. (Of course assumes the server is old enough to speak the same
22:55:36 <fizzie> protocol.)
22:55:57 <Vorpal> Phamhntom_Hoover, oolite looks... primitive?
22:56:12 <elliott> Minecraft looks... primitive?
22:56:15 <Vorpal> Phamhntom_Hoover, heck, even vegastrike has better graphics
22:56:25 <Vorpal> elliott, fair enough, but in a different way
22:56:29 <Sgeo> Dammit, elliott, I was going to say the same
22:56:34 <elliott> Vorpal: Oolite is an Elite clone.
22:56:35 <elliott> So.
22:56:39 <Vorpal> elliott, hm okay
22:56:56 <Sgeo> And to that you would have responded with indignation
22:56:57 <elliott> Vorpal: If it looks better than http://upload.wikimedia.org/wikipedia/en/c/c4/BBC_Micro_Elite_screenshot.png, it's doing it right. :p
22:56:58 <j-invariant> idea: induction on syntax
22:57:11 <elliott> j-invariant: to implement a compiler?
22:57:24 <Phamhntom_Hoover> Vorpal, well, there are expansion packs with extremely advanced graphics.
22:57:24 <elliott> or interpreter, whatever
22:57:29 <j-invariant> for equality of functors
22:57:40 <Phamhntom_Hoover> So much so that I cannot use them since they break my graphics card.
22:57:41 <elliott> j-invariant: ah
22:58:11 <Vorpal> Phamhntom_Hoover, ever played EV override?
22:58:15 <Vorpal> Phamhntom_Hoover, you might love it
22:58:16 <Phamhntom_Hoover> No.
22:58:19 <elliott> http://en.wikipedia.org/wiki/Oolite_%28video_game%29#Critical_reception_and_reviews Rather well-praised.
22:58:33 <Sgeo> I'm not going to say I like it, but I got Vegastrike's interstellar movement stuck in my head. The idea of being fast when little gravity is acting on you, and slowing down near large masses
22:58:54 <Vorpal> Phamhntom_Hoover, classic mac, doesn't run under sheepshaver. So you need a real classic mac for it. Or an ppc mac os x with classic emulation
22:58:57 <Phamhntom_Hoover> Sgeo, how utterly silly.
22:59:01 <Vorpal> a*
22:59:17 <Phamhntom_Hoover> Vorpal, Oolite is cross-platform in a beautifully hideous way!
22:59:33 <Vorpal> Phamhntom_Hoover, right, ev override was shareware
22:59:47 <Vorpal> Phamhntom_Hoover, ambrosia software (I presume you heard about it)
23:00:11 <elliott> 10.10.27:18:53:21 <catseye> ===> Checking for vulnerabilities in python26-2.6.6nb2
23:00:11 <elliott> 10.10.27:18:53:21 <catseye> Package python26-2.6.6nb2 has a denial-of-service vulnerability, see http://secunia.com/advisories/41279/
23:00:11 <elliott> 10.10.27:18:53:32 <catseye> same for python25
23:00:11 <elliott> 10.10.27:18:53:38 <catseye> i guess i could try python24
23:00:22 <Phamhntom_Hoover> It uses Objective-C and the original Mac version was very OS X dependent, so all ports use the GNUstep libraries!
23:00:24 <Vorpal> elliott, looks like freebsd
23:00:28 <elliott> Vorpal: NetBSD
23:00:32 <Vorpal> elliott, ah
23:00:34 <elliott> s/NetBSD/Big Brother/
23:00:38 <elliott> s/Big Brother/Friend Computer/
23:00:43 <elliott> s/Friend Computer/NO YOU CAN'T INSTALL PYTHON/
23:01:17 <Vorpal> (ambrosia software is right up there along with spiderweb software amongst "cool sharware companies")
23:01:21 <Vorpal> elliott, don't you agree?
23:01:27 <elliott> Maybe.
23:01:27 <Phamhntom_Hoover> Vorpal, see http://wiki.alioth.net/index.php/Griff_Industries for the ultra-cool OpenGL my-computer-breakery.
23:01:29 -!- cheater99 has joined.
23:01:40 <elliott> Vorpal: Ambrosia soured me a bit.
23:01:57 <Vorpal> elliott, how so?
23:02:05 <Sgeo> <3 Microsoft Allegiance
23:02:08 <elliott> They have this audio tool that lets you multiplex/redirect/etc. audio streams that I used to be able to record what's coming out of the sound and save it; except that its
23:02:21 <Vorpal> its?
23:02:30 <Goosey> i hate day/night cycle
23:02:31 <elliott> "trial period is over" mode was to randomly say "Hey, this is not registered, I am a generic female voice" (well, not /exactly/ that) over your recordings.
23:02:31 <Vorpal> elliott, stop doing mc cutting on irc!
23:02:37 <Goosey> I JUST WANT TO BUILD DAMNIT
23:02:40 <elliott> Very irritating.
23:03:00 <Vorpal> elliott, ev override had unusual trial period over stuff too
23:03:05 <elliott> Vorpal: btw http://en.wikipedia.org/wiki/Multiwinia
23:03:11 <Vorpal> elliott, heard about it
23:03:27 <Phamhntom_Hoover> <3 Introversion
23:03:30 <Vorpal> elliott, oh and introversion is also right up there among cool companies
23:03:41 <elliott> Introversion is *the* coolest company.
23:03:49 <elliott> One disc has Windows/Mac/Linux binaries, and is the only disc sold.
23:03:54 <elliott> Another disc has the freaking SOURCE CODE.
23:03:59 <elliott> And they allow mods to be redistributed.
23:04:03 <j-invariant> or I could just add another axiom to Category
23:04:19 <elliott> So you can *buy a disc with the source code on* and *redistribute your modifications, even as binaries*.
23:04:22 <Sgeo> Meh, I rather disliked Uplink. Loved the music, not so much the game
23:04:29 <Sgeo> Then again, I only tried the trial version
23:04:32 <Sgeo> Is Darwinia better?
23:04:34 <elliott> The game is awesome.
23:04:38 <Phamhntom_Hoover> Sgeo, that is because, as has been established, you have terrible taste.
23:04:45 <elliott> Darwinia I haven't played due to not having a good enough computer when it came out.
23:04:46 <Vorpal> <elliott> Introversion is *the* coolest company. <-- no
23:04:50 <elliott> Vorpal: Yes. It really is.
23:04:56 <Vorpal> elliott, they never released the final darwinia upgrade for linux
23:05:05 <Vorpal> elliott, that took them down a notch
23:05:06 <elliott> Vorpal: I see. So what company is better?
23:05:15 <elliott> If you can't name one: SORRY, still the coolest.
23:05:16 <Phamhntom_Hoover> elliott, I had great fun once I worked out that with a single relatively-high risk hack you can get a million currencies.
23:05:18 <Vorpal> elliott, well, I don't know any. But they are not perfect
23:05:27 <elliott> Phamhntom_Hoover: Heh. I could never get the storyline to start.
23:05:28 <Vorpal> elliott, still they are cool, but that thing soured me a bit
23:05:28 <elliott> brb.
23:05:28 -!- cheater99 has quit (Read error: Connection reset by peer).
23:05:43 <Sgeo> Maybe I shouldn't have read about the storyline
23:05:54 <Phamhntom_Hoover> So you can go from crappy starting equipment, with some bank-oriented upgrade to OMGAWESOME supercomputer.
23:06:00 <Vorpal> <elliott> Darwinia I haven't played due to not having a good enough computer when it came out. <-- wait what
23:06:07 <Phamhntom_Hoover> *upgrades
23:06:11 <Sgeo> Maybe I'll try it agan
23:06:13 <Sgeo> again
23:06:15 <Vorpal> elliott, darwinia (awesome awesome) has *retro* graphics
23:06:30 <Sgeo> Is there a Darwinia trial?
23:06:32 <Vorpal> elliott, it is low polygon
23:06:37 <Vorpal> Sgeo, think so
23:06:38 <Phamhntom_Hoover> Sgeo, there's a demo.
23:06:43 <Sgeo> Awesome
23:06:46 <Vorpal> ah yeah demo
23:06:50 <Vorpal> not the full thing of course
23:06:53 <Sgeo> Maybe after Monday I'll try it
23:07:03 <Vorpal> Sgeo, first thing: disable mouse gesture interface
23:07:07 <Vorpal> it is bloody annoying
23:07:07 <Phamhntom_Hoover> Uplink doesn't work on modern Linux systems, though, due to the evils of shared libraries.
23:07:10 <Sgeo> And Braid. And get back to work on the Project
23:07:17 <Vorpal> Phamhntom_Hoover, ouch
23:07:23 <Phamhntom_Hoover> Vorpal, I know!
23:07:24 <Sgeo> And ban all IPs on Wikisuperosity
23:07:26 <Sgeo> ANd and and
23:07:28 <Vorpal> Phamhntom_Hoover, was uplink the nuclear war one?
23:07:38 <Sgeo> Vorpal, Uplink's the "hacking" one
23:07:40 <Phamhntom_Hoover> Vorpal, no, the Hollywood hacking simulator.
23:07:45 <Vorpal> oh
23:07:48 <Vorpal> I never played it
23:07:50 <Vorpal> sounds cool
23:08:14 <Phamhntom_Hoover> OTOH, after completing the storyline about 5 times and hacking into every system in existence twice I got bored.
23:08:16 <elliott> it had a real shell
23:08:31 <elliott> you could delete a box's os
23:08:38 <elliott> and it'd die
23:08:42 <elliott> forever
23:08:46 <Phamhntom_Hoover> NB: never side with ARC in the story mode; spreading that virus is ridiculously hard/
23:09:09 <Sgeo> I downloaded a revelation.exe from a fansite once. Never opened it, never intended to
23:09:34 <Sgeo> Except maybe in a VM
23:09:36 <Vorpal> Phamhntom_Hoover, I presume a chroot with older linux would work
23:09:40 <Vorpal> Phamhntom_Hoover, when approx?
23:09:51 <Vorpal> wait... 2001
23:09:53 <Phamhntom_Hoover> Also, if you run the revelation you get from the Arunmor campaign, you get a 30-second, autonomous way of taking out any server.
23:10:02 <Phamhntom_Hoover> Vorpal, it was their first game.
23:10:07 <Vorpal> little chance of automagic deb chroot then
23:10:15 <Phamhntom_Hoover> Subversion looks so cool.
23:10:27 <Vorpal> Phamhntom_Hoover, link?
23:10:37 <elliott> you could deposit into a bank
23:10:40 <elliott> and
23:10:40 <Phamhntom_Hoover> http://www.introversion.co.uk/subversion/ is the development blog.
23:10:56 <elliott> the money woiyuold be there
23:11:01 <Phamhntom_Hoover> It's extremely sporadic.
23:11:05 <elliott> in a new game
23:11:17 <Phamhntom_Hoover> elliott, oh, if you got caught?
23:11:20 <elliott> would
23:11:22 <elliott> yup
23:11:24 <Vorpal> Phamhntom_Hoover, what is the game about?
23:11:28 <Vorpal> Phamhntom_Hoover, subversion I mean
23:11:38 <Phamhntom_Hoover> In the full version, at least, you could hack into the police servers and get people framed.
23:11:41 <Sgeo> <3 the Uplink music
23:11:47 <Phamhntom_Hoover> It's a pretty common mission.
23:11:52 <elliott> yep
23:12:13 <Phamhntom_Hoover> Although IIRC you can't get the elliptic curve decipherer in the demo, so good luck with that.
23:12:47 <Phamhntom_Hoover> Vorpal, Subversion is AFAIK a Mission Impossibley game where you're the nerd in the van.
23:13:34 <Vorpal> Phamhntom_Hoover, awesome
23:13:40 <Phamhntom_Hoover> DEFCON is also pretty cool.
23:13:47 <Vorpal> Phamhntom_Hoover, that was the nuclear one
23:14:02 <Phamhntom_Hoover> Especially since you can have a pretty good time in MP even if you only get the demo.
23:14:25 <Sgeo> http://www.youtube.com/watch?v=RXyHhyDzE7w LISTEN TO IT
23:15:23 <Phamhntom_Hoover> You know what else was awesome?
23:15:29 <Phamhntom_Hoover> The soundtrack for Micro Men.
23:15:51 <Phamhntom_Hoover> Of course, since it was a fringe docudrama that only aired on BBC 4, it'll never be released.
23:15:59 <Vorpal> Phamhntom_Hoover, have a copy of uplink?
23:16:16 <Phamhntom_Hoover> Vorpal, on the old family Mac.
23:16:20 <Phamhntom_Hoover> Not on this computer.
23:16:22 <Phamhntom_Hoover> Anyway, http://www.youtube.com/watch?v=2y8IkcUGV9w
23:16:23 <Vorpal> Phamhntom_Hoover, for linux?
23:16:35 <elliott> buy it.
23:16:37 <Phamhntom_Hoover> Skip forward until music is playing.
23:16:45 <Vorpal> elliott, if it doesn't run any more...
23:17:09 <elliott> quake ii still runs!
23:17:12 <Phamhntom_Hoover> I loved that thing...
23:17:14 <Sgeo> elliott, advocating purchasing data?
23:17:15 <elliott> just use a chroot
23:17:17 <Phamhntom_Hoover> elliott, it's libgtk1 IIRC.
23:17:21 <Sgeo> I think the world is ending
23:17:22 <elliott> so?
23:17:28 <Phamhntom_Hoover> Or some other stupidly low version.
23:17:29 <Vorpal> Phamhntom_Hoover, *gah*
23:17:36 <Phamhntom_Hoover> Sgeo, it's purchasing from INTROVERSION.
23:17:38 <Phamhntom_Hoover> Q.E.D
23:17:47 <Phamhntom_Hoover> Vorpal, watch Micro Men to take your mind off it.
23:18:06 <Vorpal> Phamhntom_Hoover, nah, after I listen to the video Sgeo linked
23:18:19 <Vorpal> it reminds me of Perfect Dark music (but more awesome than that)
23:18:27 <Vorpal> (though Perfect Dark was a pretty awesome game)
23:18:43 <Phamhntom_Hoover> Man, that music brings back memories.
23:18:53 <Phamhntom_Hoover> (The Uplink music.)
23:18:58 <zzo38> Try the game(s) I made. I made many different kind.
23:19:29 <Phamhntom_Hoover> zzo38, you are not Introversion.
23:20:12 <Sgeo> You can download the soundtrack from Introversion I think
23:20:24 <Vorpal> that soundtrack is long
23:20:41 <zzo38> Phamhntom_Hoover: You are correct about that. But maybe try it anyways.
23:20:47 <Phamhntom_Hoover> Vorpal, are you watching Micro Men
23:21:09 <Vorpal> Phamhntom_Hoover, no, the one Sgeo linked
23:21:23 <Sgeo> According to a YouTube commentor, there may be a glitch in the video
23:21:27 <Phamhntom_Hoover> Vorpal, the Uplink soundtrack is long, obviously.
23:21:31 -!- cheater99 has joined.
23:21:42 <Vorpal> Phamhntom_Hoover, I will watch the other one when you help me find uplink (I bought darwinia, after I tried it)
23:21:49 <Vorpal> (I never buy something before trying)
23:22:10 <Sgeo> Vorpal, what time?
23:22:18 <Phamhntom_Hoover> Vorpal, http://www.introversion.co.uk/uplink/downloads/uplink-demo-1.54.sh
23:22:18 <Sgeo> 7:50 some awesomeness
23:22:30 <Phamhntom_Hoover> You should be able to fix it better than I.
23:22:41 <Vorpal> Phamhntom_Hoover, I meant full version
23:22:45 <zzo38> Do you like this kind of game http://zzo38computer.cjb.net/games/xnazzyball.png or http://zzo38computer.cjb.net/games/meskilb.png or http://zzo38computer.cjb.net/games/oldgamescreen/009.png or http://zzo38computer.cjb.net/games/DiskCatch2.png or http://zzo38computer.cjb.net/mzx1/ASCMZXTO/screen.png
23:22:54 <Phamhntom_Hoover> Vorpal, not sure.
23:23:04 <Phamhntom_Hoover> I think I got the Mac version from Ambrosia.
23:23:10 <Phamhntom_Hoover> zzo38, NO.
23:23:10 <Sgeo> zzo38, DF clone?
23:23:13 <zzo38> Probably you don't know without a description.
23:23:15 <Vorpal> Phamhntom_Hoover, they were involved?
23:23:25 <zzo38> Sgeo: What is DF clone?
23:23:29 <Phamhntom_Hoover> Vorpal, they're Introversion's Mac distributor AFAIK.
23:23:37 <Vorpal> zzo38, I hate puzzle games in general
23:23:43 <Vorpal> Phamhntom_Hoover, ah
23:23:44 <Sgeo> zzo38, the graphics of that last screenshot look like they're from Dwarf Fortress
23:23:47 <Phamhntom_Hoover> For Darwinia, Multiwinia, DEFCON and Uplink.
23:23:51 <Vorpal> ah
23:24:09 <Vorpal> Phamhntom_Hoover, their trial-over stuff is on crack however
23:24:10 <zzo38> Sgeo: They aren't. They are the CP437 character set, though.
23:24:18 <Phamhntom_Hoover> Sgeo, but less literate.
23:24:19 <Vorpal> (as exemplified by elliott)
23:24:34 <Phamhntom_Hoover> Vorpal, are you watching Micro Men yes
23:24:34 -!- cheater99 has quit (Read error: Connection reset by peer).
23:24:36 <Phamhntom_Hoover> *yet
23:24:40 <Vorpal> Phamhntom_Hoover, uplink still
23:24:48 <Vorpal> Phamhntom_Hoover, several minutes left
23:24:53 <Sgeo> Phamhntom_Hoover, sorry about upstaging you
23:25:04 <Phamhntom_Hoover> Sgeo, you watch Micro Men.
23:25:14 <Sgeo> After the Uplink soundtrack is over
23:25:16 <Phamhntom_Hoover> It's like the best thing the BBC have made since forever.
23:25:37 <Vorpal> Phamhntom_Hoover, well. We will see.
23:25:56 <Sgeo> Vorpal, there's glitching around 11:20
23:26:07 <Vorpal> Phamhntom_Hoover, but uplink music reminds me of Perfect Dark in parts
23:26:08 <Vorpal> not all parts though
23:26:13 <Vorpal> but I guess that is only natural considering the genre
23:26:20 <Sgeo> Glitching ends before 11:30
23:26:24 <Phamhntom_Hoover> Hey, I have a copy of Perfect Dark somewhere!!
23:26:43 <Vorpal> Phamhntom_Hoover, well, it doesn't work well under mupen64plus
23:26:47 <Vorpal> Phamhntom_Hoover, that is all I can say
23:26:47 <zzo38> For the last screen-shot, if you want information (and list of things that are not true in the "Criticize" section), see: http://www.digitalmzx.net/wiki/index.php?title=Super_ASCII_MZX_Town
23:26:51 <Phamhntom_Hoover> I've never *played* it, and I'm not entirely confident it or the second-hand N64 work, but..
23:27:04 <Vorpal> Phamhntom_Hoover, hah
23:27:14 <Vorpal> Phamhntom_Hoover, it is, or was, an awesome game
23:27:30 <Phamhntom_Hoover> Vorpal, <3 Rogue Squadron, incidentally.
23:27:39 <elliott> Vorpal: the only reason pirating minecraft was acceptable for demoing is because there is no demo offered. you can easily figure out whether you'll like uplink from the demo. if you just want to pirate it, fine, but don't phrase it as trying-before-you-buy.
23:27:42 <elliott> and don't expect Phamhntom_Hoover to help you
23:28:05 <Vorpal> Phamhntom_Hoover, never played that
23:28:09 <Vorpal> Phamhntom_Hoover, genre?
23:28:22 <Phamhntom_Hoover> Vorpal, space-sim-but-not-really.
23:28:27 <Vorpal> Phamhntom_Hoover, hm
23:28:50 <Phamhntom_Hoover> It *should* be a space sim, but exactly one of the levels are in anything that could be called space.
23:28:52 <zzo38> Sgeo: Now do you like this game?
23:29:35 <Phamhntom_Hoover> It hardened me against escort missions early on.
23:29:48 <elliott> <elliott> Vorpal: the only reason pirating minecraft was acceptable for demoing is because there is no demo offered. you can easily figure out whether you'll like uplink from the demo. if you just want to pirate it, fine, but don't phrase it as trying-before-you-buy.
23:29:48 <elliott> <elliott> and don't expect Phamhntom_Hoover to help you
23:30:06 <Sgeo> "Some of the puzzles do not work correctly except on the author's computer"
23:30:26 <Sgeo> Oh, those criticisms are all jokes?
23:30:42 <Sgeo> We're not supposed to kill BIG_MONSTER?
23:30:47 <zzo38> Sgeo: That isn't true, though. Everything in the criticisms list is untrue.
23:30:51 <j-invariant> elliott: axioms like forall {X X' Y}, ObEq X X' -> Hom X Y -> Hom X' Y can't be realized
23:30:57 <Phamhntom_Hoover> Rogue Squadron and OoT were basically the first games I played.
23:31:05 <Sgeo> zzo38, Criticisms says to kill the BIG_MONSTER...
23:31:05 <elliott> j-invariant: goodbye constructivism :P
23:31:15 <j-invariant> there needs to be a way...
23:31:44 <zzo38> Sgeo: Yes you shouldn't kill BIG_MONSTER. (You can't, anyways. But even if you could, you shouldn't. You should kill MEDIUM_SIZE_MONSTER though, because they are bad and BIG_MONSTER can help you to beat them.)
23:32:25 <zzo38> Understand?
23:32:38 * Sgeo decides not to trust zzo38 to write cross-platform software
23:32:54 * Phamhntom_Hoover decides not to trust zzo38 for ANYTHING.
23:33:14 <Sgeo> "so you have to use the same forked version of MegaZeux that zzo38 wrote"
23:33:34 <zzo38> Sgeo: This game is cross-platform software. Most of the software I write is cross-platform software and most of it works. (I have even tested some of my programs on Linux and they work.)
23:33:46 -!- pikhq has joined.
23:34:08 <Vorpal> Phamhntom_Hoover, so what about that micromen
23:34:15 <Vorpal> Phamhntom_Hoover, decent music, but that's it
23:34:18 <Sgeo> zzo38, I meant in the sense of "is likely to write his own fork of the platform and make it run exclusively on that"
23:34:19 <zzo38> Sgeo: That is for Part II. Part I does not require it (but does work with my version of MegaZeux). I have only compiled my forked version of MegaZeux on Windows, but it should work on other operating system, too.
23:34:30 <Phamhntom_Hoover> Vorpal, Philistine.
23:34:34 <Vorpal> Phamhntom_Hoover, hm?
23:34:35 <Phamhntom_Hoover> I expected as much!
23:34:45 <Vorpal> Phamhntom_Hoover, I loved uplink music!
23:35:02 <elliott> i bet Vorpal wouldn't even like the IT crowd!
23:35:07 <elliott> RABBLE RABBLE
23:35:09 <Sgeo> I love The IT Crowd!
23:35:10 <zzo38> Sgeo: O, that is what you mean. Still, you should be able to compile the one with PZX-feature on any operating system with C and SDL.
23:35:19 <Phamhntom_Hoover> elliott, well, I did show him the "Have you tried turning it off and on again clip".
23:35:23 <Vorpal> elliott, is that the one I seen a clip from where the technobable made sense?
23:35:28 <Phamhntom_Hoover> He responded positively.
23:35:30 <elliott> Vorpal: Probably.
23:35:36 <Phamhntom_Hoover> Vorpal, that's a sign of QUALITY.
23:35:43 <Vorpal> elliott, something about the global interrupt table in the NT kernel or such
23:35:50 <Vorpal> which made absolutely perfect sense
23:35:52 <Sgeo> I've only seen seasons 1 and 2 :(
23:35:55 <Vorpal> Phamhntom_Hoover, quite!
23:36:00 <elliott> Vorpal: yes, that
23:36:15 <Phamhntom_Hoover> Sgeo, Season 3... hmm...
23:36:25 <Phamhntom_Hoover> I'm trying to remember if there's been a Season 4.
23:36:28 <zzo38> Phamhntom_Hoover: What things you didn't trust me with? Maybe some things I cannot properly be trusted but some things I can do it why didn't you trust it??
23:36:32 <elliott> I've only seen sporadic episodes; last I watched was the (Street) Countdown one.
23:36:43 <Vorpal> elliott, I read about NT internals (don't ask why, I don't know). And I can tell you it was a perfectly sensible (if somewhat unlikely) problem description
23:36:50 <Phamhntom_Hoover> elliott, was that the one where Moss ends up justifying the Iraq war?
23:37:09 <elliott> Phamhntom_Hoover: I forget.
23:37:23 <Phamhntom_Hoover> No, wait, that one was the one where he invents the bra.
23:37:29 <elliott> Vorpal: IIRC it had one issue
23:37:40 <elliott> Vorpal: in that he said you wanted X to happen when in fact you didn't, i.e. the opposite
23:37:40 <Vorpal> elliott, oh?
23:37:42 <elliott> or something
23:37:46 <zzo38> Why don't you tell me why? If you tell me why and it is a genuine mistake, I can attempt to correct it.
23:37:46 <Vorpal> elliott, ah could be
23:38:01 <Vorpal> elliott, don't remember exactly
23:38:05 <Goosey> I'm making practical applications for redstone :/
23:38:16 <Vorpal> Goosey, such as the CPU?
23:38:23 <Goosey> well that would lag...
23:38:26 <elliott> Until redstone can control an automatic mining machine, I don't acre.
23:38:27 <elliott> *care.
23:38:45 <Goosey> that would pwn
23:38:51 <Phamhntom_Hoover> Vorpal, obviously one of the idiots on the 8th floor tried writing his own drivers for the printer and called Moss for help.
23:39:02 <Vorpal> Phamhntom_Hoover, haha
23:39:09 <Phamhntom_Hoover> THINGS THAT NEED TO HAPPEN: BOfH cameo on the IT Crowd.
23:40:26 <Vorpal> XD
23:40:29 -!- cheater99 has joined.
23:41:01 <Phamhntom_Hoover> Even better: the BOfH IS Renham Industries' network operator.
23:41:25 <elliott> *Reynholm, you ... thing.
23:41:34 <elliott> http://www.reynholm.co.uk/
23:41:56 <Phamhntom_Hoover> elliott, shh!
23:42:06 <elliott> wat
23:42:14 <Phamhntom_Hoover> Moving from the sublime to the ridiculous: Richmond is the BOfH in disguise!
23:42:24 <zzo38> Do you like any of the games in this list? BJACK BUMPERSH COLORSOL COLORSPI DANCEKEY DOWN ELEMENTA FATHER GIVEAWAY HACKBITS KNAR MAKETEN MAZEMAN MINES MUDCAGE MUTCHNAM PUZGEN PUZZLEX QCOOKIE SKEDALS SNAKEBIT SOVMINGA STARSTAK STARWARS STEPTILE STOKER WUMPUS9 .
23:44:56 <Goosey> END THE VELOCIRAPTORS TYRANNY! BOARD UP YOUR HOMES!
23:44:56 -!- cheater99 has quit (Read error: Connection reset by peer).
23:45:35 <Phamhntom_Hoover> zzo38, NO, WE DON'T AND WE NEVER WILL
23:45:53 * Goosey hides after remembering this is a akcd hate club
23:45:59 <elliott> Akcd!
23:46:02 <elliott> The best web comic!
23:46:10 <elliott> http://akcd.com/ THE BEST SPAM PAGE
23:46:17 <Goosey> xkcd...
23:46:26 <elliott> Goosey: Note: I only hate xkcd post-around-comic-400.
23:46:31 <elliott> It used to be excellent.
23:46:43 <zzo38> Phamhntom_Hoover: What did you not like about this game?
23:46:44 <Goosey> why is it not anymore?
23:46:54 <Goosey> and I like the black hat guy though :/
23:47:02 <elliott> Goosey: Because Randall went insane?
23:47:02 <Sgeo> "so you have to use the same forked version of MegaZeux that zzo38 wrote"
23:47:05 <Sgeo> whoops
23:47:05 <elliott> Or just ran out of ideas.
23:47:15 <Sgeo> "Your helpdesk request has been successfully received. You have been automatically allocated the ticket number O65LRV2T. Please record this number in a safe place."
23:47:59 -!- cheater99 has joined.
23:50:08 -!- cheater99 has quit (Read error: Connection reset by peer).
23:51:02 * Sgeo has a Reynhold Industries ID card!
23:53:02 <Sgeo> SQL Query: SELECT `userid`, `username`, md5(`password`) FROM `intranet_users`
23:53:56 <zzo38> I am still in progress of Part II game, so I didn't put SMALL_MONSTER yet, but SMALL_MONSTER is neither good nor bad. Now BIG_MONSTER is good, MEDIUM_SIZE_MONSTER is bad, and SMALL_MONSTER is neither good nor bad; this works isn't it?
23:54:11 <zzo38> Sgeo: Now I am going to steal your ticket number and sell it in the black market for access cards.
23:56:51 <Goosey> hm
23:57:02 <Goosey> I created a semi controllable oscillator in mc
23:57:14 <elliott> there are known oscillators
23:57:21 <Goosey> mine changes speed bitch
23:58:03 -!- j-invariant has quit (Quit: leaving).
23:58:29 * Sgeo sics a female dog on Goosey
2010-12-22
00:04:01 <Goosey> what is the point in even trying to protect a game
00:04:09 <Goosey> its going to get cracked anyways
00:05:35 <Sgeo> Make it harder for lazier people to pirate it
00:05:56 <Goosey> It's just a matter of copying and pasting a cracked exe
00:06:02 <Goosey> I'm lazy and I can do that
00:06:06 -!- cheater99 has joined.
00:06:13 <Goosey> then again I also crack my own games sometimes, so I guess I'm not that lazy
00:08:41 <Sgeo> 1 or 2 requests a second shouldn't accidentally DoS anyone, should it?
00:09:12 <Sgeo> Target is using Dreamhost
00:11:10 -!- cheater99 has quit (Read error: Connection reset by peer).
00:11:31 <elliott> Sgeo: um that's not a very good idea prolonged
00:11:59 <Sgeo> :/
00:12:22 -!- Phamhntom_Hoover has quit (Ping timeout: 245 seconds).
00:14:07 <Sgeo> elliott, hm?
00:15:25 <elliott> Sgeo: well how long would you be making such requests for
00:15:34 <Sgeo> ~18 hours
00:16:08 <Sgeo> Maybe not all at one time
00:16:11 -!- zzo38 has quit (Quit: You forgot about the AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA****************************\\\\\\\\\\\\\\\\\\\\\\).
00:16:31 <Sgeo> At any rate, I just contacted someone who might have administrative control of the wiki
00:17:02 <Sgeo> "Hi. Do you have control over the wiki? Unofficial policy seems to be
00:17:02 <Sgeo> that unregistered edits should be disabled for the time being. I've
00:17:03 <Sgeo> been contemplating writing a bot to ban IPs, but I'd really rather
00:17:03 <Sgeo> not. There should be a simple setting somewhere, I think."
00:17:14 <elliott> Sgeo: 1-2 edits a second for 18 hours?
00:17:15 <elliott> L O L
00:17:25 <Sgeo> elliott, 1-2 bans a second
00:17:30 <elliott> *requests
00:17:37 <elliott> i'm assuming it's on a shitty server
00:17:39 <elliott> which i find very likely
00:18:39 <Sgeo> All I know is Dreamhost
00:19:12 -!- j-invariant has joined.
00:20:19 <elliott> well maybe
00:20:21 <elliott> WHY NOT
00:20:27 <elliott> it'll probably be slightly slower.
00:21:15 <elliott> I improved http://esolangs.org/wiki/Main_Page
00:27:07 -!- cheater99 has joined.
00:29:57 -!- cheater99 has quit (Read error: Connection reset by peer).
00:31:28 <elliott> CVSup is written in Modula-3.
00:34:12 <elliott> Seriously! What is this language!
00:37:50 <Sgeo> MediaWiki.org uses what looks like a Linspire icon
00:40:02 <elliott> I MUST FIND THIS LANGUAGE.
00:42:31 <Sgeo> LOL at http://www.mediawiki.org/wiki/MediaWiki:Newarticletext
00:46:04 -!- cheater99 has joined.
00:49:27 -!- cheater99 has quit (Read error: Connection reset by peer).
00:53:23 <elliott> tswett: hey, any slashes program ending with \ is invalid, right?
00:59:30 * Sgeo slashes elliott's head off
01:01:28 <elliott> tswett: And what about //foo/? Does that terminate immediately, or $wtf forever?
01:05:39 -!- cheater99 has joined.
01:09:31 -!- cheater99 has quit (Read error: Connection reset by peer).
01:18:15 <elliott> *Main> run "/abc/def/abc"
01:18:15 <elliott> ""
01:18:17 <elliott> Tha's no' ri'.
01:21:54 <elliott> *Main> replace "abc" "def" "helloabc"
01:21:54 <elliott> "defc"
01:21:55 <elliott> what
01:22:01 <elliott> oh!
01:23:44 -!- Gracenotes has joined.
01:25:37 -!- cheater99 has joined.
01:27:56 -!- j-invariant has quit (Quit: leaving).
01:31:34 -!- cheater99 has quit (Read error: Connection reset by peer).
01:33:00 <elliott> <monochrom> the name of the game. the length of the string. the crime of the time. the dog ate my moon.
01:33:01 <elliott> Deep.
01:45:13 -!- MigoMipo has quit (Quit: Quit).
01:47:37 -!- cheater99 has joined.
01:49:46 -!- FireFly has quit (Quit: swatted to death).
01:50:58 -!- cheater99 has quit (Read error: Connection reset by peer).
02:05:14 <Goosey> Oh my God
02:05:15 <Goosey> This
02:05:16 <Goosey> is
02:05:17 <Goosey> the
02:05:17 <Goosey> most
02:05:24 <Goosey> epic keygen music I have ever heard
02:05:54 <Goosey> The dancing pirate is awesome too
02:06:35 -!- cheater99 has joined.
02:07:39 -!- cheater99 has quit (Read error: Connection reset by peer).
02:23:35 -!- cheater99 has joined.
02:24:08 <pikhq> Someone's playing DDR, I see.
02:24:52 <elliott> ?
02:28:04 -!- cheater99 has quit (Read error: Connection reset by peer).
02:33:13 -!- oerjan has joined.
02:36:39 <oerjan> <elliott> tswett: hey, any slashes program ending with \ is invalid, right?
02:36:48 <elliott> indeed not
02:36:50 <elliott> the program just terminates
02:36:52 <oerjan> any slashes program consisting solely of \, you mean
02:36:53 <elliott> according to my interpretation of the spec
02:36:54 <elliott> right
02:36:57 <elliott> well, no
02:36:59 <elliott> oerjan: foo\
02:37:01 <elliott> that prints foo and exits
02:37:06 <oerjan> yep
02:37:08 <elliott> because when there's not enough program to execute, program execution stops
02:37:15 <elliott> i wrote a haskell slashes impl
02:37:18 <oerjan> the spec is quite clear on that point.
02:37:27 <elliott> http://sprunge.us/ICgN
02:37:29 <elliott> probably very slow
02:37:37 <elliott> but quite elegant
02:37:42 <oerjan> otoh the perl implementation may not be entirely correct on //.../ stuff, there was a discussion
02:37:48 <elliott> mine infloops on that
02:37:52 <elliott> i read the discussion
02:38:26 <oerjan> ah yes it was a perl special case feature interfering
02:44:00 -!- cheater99 has joined.
02:44:35 <Goosey> http://www.youtube.com/watch?v=98ew0VtHmik
02:46:26 <Sgeo> Goosey, wtf?
02:46:26 -!- cheater99 has quit (Read error: Connection reset by peer).
02:48:32 <elliott> pikhq: I figured how to do N-arg c lambdas.
02:48:58 <elliott> pikhq: basically fn((int a, int b, int c), ...) using "join_args_commas args" inside fn and "join_args_semicolons", this also lets us do type inferrence
02:49:03 <elliott> this is just a note to self, amend http://sprunge.us/IOdM tomorrow
02:49:42 <elliott> Also pikhq should link me to his copyable lambda code so I can base it off that.
02:50:02 <Goosey> Sgeo, Revolution
02:55:42 <oerjan> elliott: ^
02:55:55 <oerjan> (yoy forgot to ping yourself ;) )
02:55:56 <elliott> oerjan: ?
02:55:59 <elliott> oh
02:55:59 <elliott> heh
02:56:05 <oerjan> *you
02:57:37 -!- elliott has quit (Quit: Leaving).
03:02:33 -!- cheater99 has joined.
03:06:41 -!- cheater99 has quit (Read error: Connection reset by peer).
03:22:33 -!- cheater99 has joined.
03:27:06 -!- cheater99 has quit (Read error: Connection reset by peer).
03:31:10 -!- oerjan has quit (Quit: leaving).
03:42:33 -!- cheater99 has joined.
03:43:55 -!- cheater99 has quit (Read error: Connection reset by peer).
03:51:58 -!- augur_ has joined.
03:54:38 -!- augur has quit (Ping timeout: 240 seconds).
03:56:59 -!- augur_ has changed nick to augur.
04:00:00 -!- cheater99 has joined.
04:06:10 -!- cheater99 has quit (Read error: Connection reset by peer).
04:06:43 -!- sftp has quit (Remote host closed the connection).
04:19:37 <pikhq> It has been *years* since I played FFX, and I still have the freaking Hymn of the Fayth stuck in my head.
04:19:47 <pikhq> Dammit UEMATU!
04:20:33 -!- cheater99 has joined.
04:24:15 -!- cheater99 has quit (Read error: Connection reset by peer).
04:36:39 -!- pikhq has quit (Ping timeout: 260 seconds).
04:38:16 -!- pikhq has joined.
04:40:03 -!- cheater99 has joined.
04:42:09 -!- cheater99 has quit (Read error: Connection reset by peer).
04:50:06 <Ilari> Hah... PCRM has published bottom 5 cookbooks for the year... Of course, knowing what PCRM does, good work from writers of those 5.
04:50:57 <coppro> ha
04:52:39 <Ilari> PCRM, CSPI, PETA... All part of same bunch...
04:55:15 <Ilari> And all have doublespeak names...
04:56:41 <coppro> they're in league with each other?
04:56:58 <Ilari> AFAIK, Yes.
04:58:03 -!- cheater99 has joined.
04:59:28 <Ilari> And the "best" cookbooks of the year on list PCRM did are all vegan (caveat!) or vegetarian (not so good).
05:00:24 <coppro> caveat?
05:00:37 <Ilari> Essentially means "Watch out!"
05:01:02 -!- cheater99 has quit (Read error: Connection reset by peer).
05:01:04 <coppro> I know what a caveat is
05:01:07 <coppro> what is the caveat?
05:02:20 <Ilari> Vegan diet without supplementing leads to nutrional defiencies.
05:02:47 <coppro> k
05:02:59 <Ilari> And that it isn't good for health even when when supplementing is an understatement.
05:03:52 <coppro> xkcd is only funny today because of previous xkcd
05:04:08 <Ilari> Oh, and having herbivore without signaficant predators in any ecosystem is a recipe for disaster.
05:08:25 <Ilari> Even with plant-based diet one must choose the animal products well to avoid trouble with defiencies. And there are some plant products that are not acutely toxic but still just plain unfit for human consumption.
05:09:26 <coppro> Ilari: There is no indication that a cultivating omnivore is no less dangerous
05:11:40 <Ilari> Perhaps... But that "herbivore on top of food chain" disaster has been seen time and time again...
05:11:57 <coppro> Sure
05:12:07 <coppro> But our situation has never truly occurred
05:12:12 <coppro> in the known history of life
05:14:17 -!- Gracenotes has quit (Ping timeout: 265 seconds).
05:16:57 -!- cheater99 has joined.
05:17:17 <Ilari> And also, agriculture as presently practiced is really destructive to the environment and health.
05:17:47 <coppro> sure
05:18:06 <coppro> an obvious economical consequence that will not be overcome until necessary
05:19:31 -!- cheater99 has quit (Read error: Connection reset by peer).
05:20:08 <Sgeo> elliott: I met someone with more nostalgia than myself.
05:20:15 <Ilari> Really destructive to health: Second worst health-related disaster humankind has ever experenced.
05:20:46 <coppro> Ilari: why do you say health?
05:20:54 <coppro> also what do you consider #1?
05:22:23 <Ilari> Actually, #1 was also related to agriculture...
05:22:32 <coppro> and that is?
05:23:00 <Ilari> The beginning of agriculture with cereal grains. That was REALLY ugly.
05:23:10 <coppro> oh, yes
05:23:17 <coppro> but we got over that one, more or less
05:23:24 <Sgeo> hmm?
05:24:43 <Ilari> One can tell from remains of human skull around the time of beginning of argriculture if it is remains of hunter-gatherer or of member of agricultural tribe with one look if one knows what to look for...
05:25:10 <Ilari> The diffrence is just so massive.
05:25:19 <Sgeo> Yeah, not about to abandon agriculture, thank you very much
05:26:02 <Ilari> Well, there are way better ways (for human health and environment) to do agriculture than what is presently done. And the reason why these changes are not done is economics.
05:29:09 <Ilari> It is cheaper to do half-assed job and expend lots of fossil resources than to do it properly.
05:31:31 <Ilari> This is closely related to reasons why seed oils and margarine are promoted as "healthy" and why butter is demonized as "unhealthy".
05:32:49 <coppro> Ilari: economics is not about money
05:35:31 -!- cheater99 has joined.
05:36:09 <Ilari> Oh, and organization closely related to PCRM (CSPI) is the one who made restaurants switch from frying with tallow, lard and co to frying with partially hyrogenated plant fats (the unhealthiest fats in existence).
05:37:21 <coppro> Ilari: no
05:38:01 <coppro> the public has thankfully managed to straighten out the difference between saturated, cis-unsaturated, and trans-unsaturated fats, thankfully
05:39:47 -!- cheater99 has quit (Read error: Connection reset by peer).
05:40:53 <Ilari> Oh, and don't forget the diffrence between trans fats from partial hydrogenation (why these are even allowed?) and vaccinic acid/conjugated linolic acid (seem to be healthy).
05:42:26 <coppro> yeah, that's true
05:42:38 <coppro> our body can process a few naturally-occuring trans-unsaturated fats
05:43:38 <Ilari> Still, one often hears statements about fats that can be only explained by 1) Who gives the statement has absolutely no clue about what they are talkin about. 2) The statement is just plain disinformation.
05:43:53 <Ilari> Or intentional attempt to mislead the public...
05:46:56 <Ilari> Wonder what is efficency of conversion of linolic acid into archadonic acid in the body... Is it real bad like ALA->EPA/DHA conversion or way better than that?
05:47:38 <coppro> Ilari: do you understand why trans fats are bad for you?
05:50:25 <Ilari> Oh, and techno trans fats don't occur alone. Hydrogenation also produces dihydrovitamin-K1 from vitamin K1. Little is known about that compound, but the little that is known is chock full of red flags...
05:54:18 <coppro> Ilari: I repeat my question
05:55:23 <Ilari> Nope, the biochemical basis of why trans fats are unhealthy could be rather interesting reading...
05:56:00 -!- cheater99 has joined.
05:59:24 -!- cheater99 has quit (Read error: Connection reset by peer).
06:01:35 <Ilari> Hmm... Eldaic acid (the infamous trans fat) has the double bond in position 9 (and most well-known desaturase acts on just that position)...
06:02:45 <Ilari> desaturating position 6 would create C=C-C-C=C group (which is somewhat unstable).
06:15:33 -!- cheater99 has joined.
06:18:48 -!- cheater99 has quit (Read error: Connection reset by peer).
06:35:02 -!- cheater99 has joined.
06:38:51 -!- cheater99 has quit (Read error: Connection reset by peer).
06:54:59 -!- cheater99 has joined.
06:56:25 -!- oerjan has joined.
06:58:11 -!- cheater99 has quit (Read error: Connection reset by peer).
07:00:43 <pikhq> "For your Consideration, The Firms of Dutton & Riverhead Books of New York City, Publishers of Ken Follett, Darin Strauss, David Rees, and the RZA, Present in the English Language: A Further Compendium of Complete World Knowledge in "The Areas Of My Expertise" Assembled and Illumined by Me, John Hodgman, A Famous Minor Television Personality*, Offering More Information Than You Require On subjects as Diverse As: The Past (As There Is Always
07:00:43 <pikhq> More of It), The Future (As There is Still Some Left), All of the Presidents of the United States, The Secrets of Hollywood, Gambling, The Sport of the Asthmatic Man (Including Hermit-Crab Racing), Strange Encounters with Aliens, How to Buy a Computer, How to Cook an Owl, And Most Other Subjects, Plus: Answers To Your Questions Posed via Electronic Mail, And: 700 Mole-Man Names, Including Their Occupations."
07:00:49 <pikhq> *Formerly a Former Professional Literary Agent and Professional Writer, AKA "The Deranged Millionaire"
07:00:52 <pikhq> Now there's a title.
07:04:13 <quintopia> pikhq: i only know of it due to hodgman's association with joco and the list of hobo names
07:14:00 -!- cheater99 has joined.
07:14:20 <Sgeo> How difficult would it be to port zzo38's MegaZeux stuff to Flash?
07:17:10 -!- cheater99 has quit (Read error: Connection reset by peer).
07:32:59 -!- cheater99 has joined.
07:37:06 -!- cheater99 has quit (Read error: Connection reset by peer).
07:41:16 -!- sexygirl153 has joined.
07:41:19 -!- sexygirl153 has quit (Client Quit).
07:42:06 <oerjan> cal153: THAT WAS TOO OBVIOUS
07:42:34 <cal153> launched 2 copies of mirc by mistake >.>
07:43:06 <oerjan> you mean that is your _actual_ alternative nick? very well then.
07:43:21 <cal153> indeed so
07:53:01 -!- cheater99 has joined.
07:55:03 <Ilari> Hmm... New set of IPv4 allocation reports is coming soon...
07:57:26 -!- cheater99 has quit (Read error: Connection reset by peer).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:45 <Ilari> Hmm... 2.96x/8...
08:09:43 <Ilari> IPv6 depletion is still at 0.027%. Wonder if they manage to deplete even one IPv6 block next year (oh, and there are 506 of them free currently)...
08:13:03 -!- cheater99 has joined.
08:16:34 -!- cheater99 has quit (Read error: Connection reset by peer).
08:18:17 -!- Gracenotes has joined.
08:18:22 <fizzie> elliott: Build system weirdness: http://p.zem.fi/bow4 -- the actual link failure is because on some systems just having "gio-2.0" is not enough to pull in gthread fluff, so libs also needs "gthread-2.0"; but it fails in a bit funny way.
08:18:39 <fizzie> With V=1 it fails the way you'd expect, with the failing link step last and no extra fluff after.
08:19:54 <Ilari> At least no weird header / library incompatiblities.
08:22:49 <fizzie> I think a quoting thing is involved.
08:23:06 <fizzie> Corresponding useful.make snippet:
08:23:08 <fizzie> define do
08:23:09 <fizzie> echo '$(SPACE)$(SPACE)$(1)$(TAB)$(2)'; \
08:23:09 <fizzie> $(strip $(3)) || ( \
08:23:09 <fizzie> exit=$$?; \
08:23:09 <fizzie> echo ' (command was: $(strip $(3)))'; \
08:23:09 <fizzie> exit $$exit \
08:23:11 <fizzie> )
08:23:13 <fizzie> endef
08:24:20 <fizzie> And it ends up executing: echo ' LINK _build/mcmap'; cc [..] || ( exit=_build/cmd.o _build/console.o [..]; echo '...'; exit xit )
08:25:26 <fizzie> Yes, just stupidly quadruplicating the $$s into $$$$s makes it work.
08:26:10 <fizzie> I'm assuming some double-expansion there somewhere; maybe once on the definition and once on use?
08:26:26 <fizzie> (GNU Make 3.81.)
08:32:31 -!- cheater99 has joined.
08:35:50 -!- cheater99 has quit (Read error: Connection reset by peer).
08:51:33 -!- cheater99 has joined.
08:57:47 -!- cheater99 has quit (Read error: Connection reset by peer).
09:11:57 -!- cheater99 has joined.
09:14:29 -!- cheater99 has quit (Read error: Connection reset by peer).
09:19:01 -!- Sgeo has quit (Read error: Connection reset by peer).
09:30:35 -!- cheater99 has joined.
09:37:50 -!- cheater99 has quit (Read error: Connection reset by peer).
09:53:31 -!- cheater99 has joined.
09:57:31 -!- cheater99 has quit (Read error: Connection reset by peer).
10:02:49 -!- Mathnerd314 has quit (Ping timeout: 276 seconds).
10:05:33 -!- MigoMipo has joined.
10:13:31 -!- cheater99 has joined.
10:14:45 -!- cheater99 has quit (Read error: Connection reset by peer).
10:30:01 -!- cheater99 has joined.
10:34:05 -!- cheater99 has quit (Read error: Connection reset by peer).
10:46:21 -!- MigoMipo has quit (Remote host closed the connection).
10:50:05 -!- cheater99 has joined.
10:54:25 -!- cheater99 has quit (Read error: Connection reset by peer).
11:10:33 -!- cheater99 has joined.
11:14:52 -!- cheater99 has quit (Read error: Connection reset by peer).
11:29:33 -!- cheater99 has joined.
11:34:02 -!- cheater99 has quit (Ping timeout: 245 seconds).
11:45:40 -!- cheater99 has joined.
11:48:19 -!- cheater99 has quit (Read error: Connection reset by peer).
11:48:59 -!- Vorpal_ has joined.
11:49:28 -!- Vorpal has quit (Ping timeout: 272 seconds).
12:04:33 -!- cheater99 has joined.
12:10:24 -!- cheater99 has quit (Read error: Connection reset by peer).
12:25:59 -!- cheater99 has joined.
12:30:10 -!- cheater99 has quit (Read error: Connection reset by peer).
12:33:52 -!- Vorpal_ has changed nick to Vorpal.
12:45:59 -!- cheater99 has joined.
12:48:39 -!- cheater99 has quit (Read error: Connection reset by peer).
13:04:33 -!- cheater99 has joined.
13:08:26 -!- cheater99 has quit (Read error: Connection reset by peer).
13:14:39 <fizzie> "* Rewrote Leaf Decay for the seventeenth time, and as a result..
13:14:39 <fizzie> * .. fixed HUGE fps drops in single player
13:14:39 <fizzie> * .. fixed players getting spammed with data and getting disconnected in SMP
13:14:39 <fizzie> * .. felt like a sexy programming god
13:14:39 <fizzie> * Fixed the item dupe bug in SMP"
13:14:55 <fizzie> I'm not sure that third subitem there is a good sign, but at least it's (supposedly) fixed now.
13:17:21 -!- Phantom_Hoover has joined.
13:19:51 <Phantom_Hoover> Has MC been patched to a working state yet?
13:22:45 <fizzie> That's what they say.
13:22:52 <fizzie> <fizzie> "* Rewrote Leaf Decay for the seventeenth time, and as a result..
13:22:52 <fizzie> <fizzie> * .. fixed HUGE fps drops in single player
13:22:52 <fizzie> <fizzie> * .. fixed players getting spammed with data and getting disconnected in SMP
13:22:52 <fizzie> <fizzie> * .. felt like a sexy programming god
13:22:52 <fizzie> <fizzie> * Fixed the item dupe bug in SMP"
13:22:54 <fizzie> <fizzie> I'm not sure that third subitem there is a good sign, but at least it's (supposedly) fixed now.
13:23:00 <fizzie> This was just before your join.
13:23:46 <fizzie> Oh, and the beta 1.1 update he posted was further updated to 1.1_01 because 1.1 "contained a bug where no text worked anywhere in the game because the newly made font.txt didn’t make it into package when building.."
13:24:00 <fizzie> But such issues are the norm when you're dealing with a "sexy programming god".
13:24:20 <Phantom_Hoover> NOTCH: the man with the ego to dwarf Wolfram's.
13:24:35 -!- cheater99 has joined.
13:25:00 <fizzie> "Of course, that font bug doesn't happen except when testing through the live system.. Hold on.." -- "Yes, I ran the game right after it went on the live system, and saw the bug =)"
13:25:18 <Phantom_Hoover> http://en.wikipedia.org/wiki/Infinity_%28MMOG%29
13:25:19 <fizzie> So he doesn't have any sort of system in place that'd test the binary blob he pushes into the world-wide updates.
13:25:23 <fizzie> How clevur.
13:26:14 <fizzie> "groooan, updated to 1.1_02, mandatory for client and server, fixing the container not opening with empty hands bug [7 minutes ago via web]"
13:26:15 <Phantom_Hoover> I like the fact that it has 4 awards despite the fact that only a combat simulator with next to no of the promised features has been released.
13:26:42 <Phantom_Hoover> fizzie, this is the first time I've ever seen you actually mocking someone.
13:27:40 -!- cheater99 has quit (Read error: Connection reset by peer).
13:27:51 <fizzie> It's like the sort of stuff I do with mcmap, except that I have an audience of, uh, four, instead of 855793.
13:43:35 -!- cheater99 has joined.
13:46:45 -!- cheater99 has quit (Read error: Connection reset by peer).
13:52:58 -!- ais523 has joined.
14:02:59 -!- cheater99 has joined.
14:06:45 -!- cheater99 has quit (Read error: Connection reset by peer).
14:12:58 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
14:14:22 <ais523> hmm, a site seems to have replaced an article with an entirely different article about a vaguely similar subject, in response to it being slashdotted
14:15:36 -!- Phantom_Hoover has joined.
14:16:58 -!- j-invariant has joined.
14:21:38 <Phantom_Hoover> oerjan, as a mathematician, what is your opinion on whether 0 \in N?
14:23:07 <oerjan> it differs by mathematical subject
14:24:33 <fizzie> 0 is round and N is all acute-angly, I don't thing the former belongs in the latter.
14:24:51 -!- cheater99 has joined.
14:25:36 <fizzie> Incidentally, I wonder if programmers in general (due to the whole zero-indexing thing) are more likely to put 0 in N than a random sampling of other people. Maybe someone should do a poll.
14:25:48 -!- cheater99 has quit (Read error: Connection reset by peer).
14:29:54 -!- elliott has joined.
14:32:30 <elliott> 00:25:26 <fizzie> Yes, just stupidly quadruplicating the $$s into $$$$s makes it work.
14:32:38 <elliott> fizzie: But I just /replaced/ them with $$s from $$$$s.
14:32:50 <elliott> Fair enough though.
14:33:00 <elliott> It's because I use do both in template rules and real rules. TODO: fix.
14:34:00 <elliott> 23:04:13 <quintopia> pikhq: i only know of it due to hodgman's association with joco and the list of hobo names
14:34:04 <elliott> the hobo names are in the previous book.
14:34:45 <elliott> 23:41:16 --- join: sexygirl153 (~cal@c-24-4-207-72.hsd1.ca.comcast.net) joined #esoteric
14:34:45 <elliott> 23:41:19 --- quit: sexygirl153 (Client Quit)
14:34:47 <elliott> 2004 repeats itself
14:36:41 <elliott> 06:25:36 <fizzie> Incidentally, I wonder if programmers in general (due to the whole zero-indexing thing) are more likely to put 0 in N than a random sampling of other people. Maybe someone should do a poll.
14:36:49 <elliott> fizzie: I think 0 should be in N but accept that it usually isn't
14:40:17 <elliott> $ make
14:40:18 <elliott> LINK_build/mcmap
14:40:18 <elliott> cc: _build/cmd.o: No such file or directory
14:40:18 <elliott> cc: _build/console.o: No such file or directory
14:40:18 <elliott> cc: _build/main.o: No such file or directory
14:40:18 <elliott> cc: _build/map.o: No such file or directory
14:40:20 <elliott> cc: _build/protocol.o: No such file or directory
14:40:22 <elliott> cc: _build/world.o: No such file or directory
14:40:24 <elliott> I, uh, regret adding OBJDIR support.
14:43:27 -!- cheater99 has joined.
14:45:26 <elliott> fizzie: Oh well, actually turns out $$ -> $$$$ works perfectly for everything. Pushed it without realising I'd not done anything else, sorry if that causes conflcits.
14:46:53 -!- cheater99 has quit (Read error: Connection reset by peer).
14:46:56 <oerjan> when things don't work, add more dollars
14:47:02 <ais523> what escaping format is there that requires quadrupling of dollars?
14:47:40 <elliott> ais523: GNU Makke
14:47:42 <elliott> *Make
14:47:46 <elliott> ais523: GNU Make metaprogramming
14:47:47 <elliott> to be exact
14:48:35 <ais523> heh, you're trying to show GNU make TC?
14:48:40 <elliott> ais523: no
14:48:45 <elliott> ais523: this is actual code used in an actual project :)
14:48:49 <ais523> boring
14:48:52 <elliott> ais523: well, the latter because ... I bugged fizzie until he let me put it in
14:49:06 <elliott> ais523: /boring/? I've practically proved GNU make TC /accidentally/ in the process of using it
14:49:14 <elliott> which, if you've ever used GNU make, you will understand is not very usual
14:49:26 <elliott> define clean-recipe
14:49:26 <elliott> $(foreach x,$(to-clean),$(call do,RM,$(objdir)/$(x),rm -f $(objdir)/$(x))
14:49:26 <elliott> )
14:49:27 <elliott> $(call do,RMDIR,$(objdir),rmdir $(objdir) 2>/dev/null || true)
14:49:27 <elliott> endef
14:49:27 <elliott> clean: ; $(clean-recipe)
14:49:32 <elliott> that newline before the ) is *required* :)
14:49:40 <elliott> and you must define clean like that ... I'm still not sure why
14:49:54 <ais523> I'm more used to portable make than GNU make
14:50:03 <elliott> ais523: define c-program-body
14:50:03 <elliott> to-install += $(1)
14:50:03 <elliott> to-clean += $(1) $(2:.c=.o) $(2:.c=.d)
14:50:03 <elliott> $(objdir)/$(1): $(2:%.c=$(objdir)/%.o) Makefile | $(objdir) ; \
14:50:03 <elliott> $(call do,LINK,$(objdir)/$(1),$(cc.link) -o $(objdir)/$(1) \
14:50:04 <elliott> $(2:%.c=$(objdir)/%.o))
14:50:05 <elliott> $(if $(cleaning),,-include $(2:%.c=$(objdir)/%.d))
14:50:07 <elliott> endef
14:50:09 <elliott> ## $(call c-program,foo,foo.c bar.c) -- compiles foo.c and bar.c into foo
14:50:11 <elliott> c-program = $(eval $(call c-program-body,$(strip $(1)),$(strip $(2))))
14:50:13 <elliott> ais523: GNU Make is SO MUCH MORE FUN.
14:50:39 <elliott> the actual escaped thing, btw:
14:50:40 <elliott> define do
14:50:40 <elliott> @echo '$(SPACE)$(SPACE)$(1)$(TAB)$(2)'; \
14:50:40 <elliott> $(strip $(3)) || ( \
14:50:40 <elliott> exit=$$$$?; \
14:50:40 <elliott> echo ' (command was: $(strip $(3)))'; \
14:50:42 <elliott> exit $$$$exit \
14:50:44 <elliott> )
14:50:46 <elliott> endef
14:53:10 <Deewiant> elliott: I do hope it's a GNUmakefile and not a Makefile!
14:53:21 <elliott> Deewiant: You hope wrong :-)
14:53:38 <elliott> Deewiant: The Makefile itself is perfectly portable to any make with, uh, "include file" and "$(call foo,bar,baz)".
14:53:53 <elliott> Deewiant: But if it doesn't have its own implementation of useful.make built in, well, I even included a GNU Make one for you.
14:54:04 <elliott> See? It's kindness.
14:54:18 <Deewiant> Do most makes have that stuff? :-P
14:54:49 <elliott> Deewiant: Only decent ones. Sadly, there are no decent makes.
14:54:51 <fizzie> Incidentally, I'm not entirely certain the deps work; "make ; touch world.h ; make" => Nothing to be done for `all' for the latter case.
14:55:14 <elliott> fizzie: Hmm
14:55:39 <fizzie> Another objdir-related thing, I believe.
14:55:42 <elliott> _build/cmd.d: /usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h world.h
14:55:42 <elliott> _build/console.d: /usr/include/glib-2.0/gio/gzlibdecompressor.h console.h world.h
14:55:43 <elliott> _build/main.d: common.h protocol.h console.h map.h world.h
14:55:43 <elliott> _build/map.d: /usr/include/SDL/SDL_timer.h /usr/include/SDL/SDL_version.h world.h
14:55:43 <elliott> _build/world.d: /usr/include/glib-2.0/gio/gzlibdecompressor.h map.h world.h
14:55:47 <elliott> fizzie: Indeed X-D
14:55:51 <fizzie> Since "make objdir=. ; touch world.h ; make objdir=." rebuilds the necessary bits.
14:55:54 <elliott> fizzie: I swear this thing was perfect and un-buggy before I added objdir.
14:55:57 <elliott> Do you believe me? :P
14:56:19 <elliott> Hmm, am I going to have to set cc's output here?
14:56:50 <elliott> Well, you can give it an objprefix.
14:56:58 <elliott> Oh, wait.
14:56:58 <elliott> Hmm.
14:57:37 <elliott> Wait.
14:57:42 <elliott> fizzie: Why would it be objdir-related?
14:58:07 <elliott> I mean, the CWD in all the .d files' context is the mcmap source tree root.
14:58:12 <elliott> So the filenames are *right*.
14:58:12 <fizzie> I just based that judgement on the fact that objdir=. makes it work.
14:58:19 <j-invariant> hey I think I solved the problem elliott but I have to go
14:58:22 <elliott> Oh, sure, I agree, I'm just confused.
14:58:24 <elliott> j-invariant: awesome! how?
14:58:48 <j-invariant> well it seems a bit weird but I define equality of objects in terms of equality of morphisms
14:58:58 <elliott> j-invariant: that sounds really nice
14:59:06 <j-invariant> so A = B is defined as having f : A -> B, g : B -> A, with fg = id and gf = id
14:59:30 <j-invariant> I haven't typed it up yet but we'll see!
14:59:44 <elliott> j-invariant: wait
14:59:48 <elliott> j-invariant: that's just a bijection!
14:59:54 <elliott> j-invariant: that's what i've been telling you to do all along :-)
15:00:10 <j-invariant> oh geez you are right
15:00:17 <j-invariant> yeah I remember yuo saying that..
15:00:36 <elliott> well, at least i know i'm a perfect, infallible genius now
15:00:37 <j-invariant> well I think it will work anyway bbl
15:00:41 <j-invariant> lol
15:01:03 <j-invariant> it makes the definition of a category simpler too
15:01:06 -!- j-invariant has quit (Quit: leaving).
15:02:24 <elliott> OH
15:02:27 <elliott> world.o: world.c \
15:04:21 <elliott> exit: 1: Illegal number: 4957exit
15:04:26 <elliott> $L"~!O_)!_)£O_)@~F:!
15:04:53 -!- cheater99 has joined.
15:04:59 <fizzie> Heh, sounds like it got the $$ PID there now. :p
15:05:04 <elliott> yep
15:05:11 <elliott> fizzie: you know what? I'm making two nearly-identical do functions
15:05:18 <elliott> one with $$, one with $$$$
15:05:36 <fizzie> I'm not going to look inside useful.make anwyay.
15:05:40 <elliott> GOOD
15:05:42 <elliott> nobody should
15:05:44 -!- FireFly has joined.
15:05:54 <elliott> it's the skeleton in your beautiful build system's closet
15:09:01 -!- cheater99 has quit (Read error: Connection reset by peer).
15:14:44 <elliott> fizzie: Hey, hMod is actually beta'd; https://github.com/traitor/Minecraft-Server-Mod/
15:14:46 <elliott> Just not as a release.
15:14:51 <elliott> Quick! Get ineiros intoxicated!
15:15:14 <elliott> https://github.com/traitor/Minecraft-Server-Mod/blob/master/build.xml Ahahahant.
15:15:55 <elliott> [Minecraft-Server-Mod] http://bit.ly/gRtj3z Erik Broes - Added item.getDamage()/item.setDamage()
15:15:57 <elliott> I like the last one.
15:21:58 <fizzie> You might consider adding also "-MT $(objdir)/$*.d" in addition to "-MT $(objdir)/$*.o" (you can use multiple -MTs), that way it should then rebuild the depfile also when any of the headers change. (Currently I think it only rebuilds deps when the associated source file itself changes.)
15:23:04 <elliott> $(objdir)/%.d: %.c Makefile | $(objdir)
15:23:04 <elliott> $(call do,DEP,$<,$(cc.invoke) -M -MG -MT $(objdir)/$*.o -MF $@ $<)
15:23:07 <elliott> fizzie: Hmm.
15:23:12 <elliott> fizzie: Yes, you are right, I will do that.
15:24:17 <elliott> Indeed.
15:24:41 <elliott> fizzie: "make clean all" still doesn't work, though, because make is astonishingly braindead.
15:25:28 <fizzie> As for hMod, I'm not sure even an intoxicated ineiros would care enough to start testing pre-release things.
15:25:56 <elliott> I have a theory that ineiros is Notch.
15:26:22 <elliott> fizzie: Can you make very, very sure he's not Swedish?
15:26:46 <fizzie> Well, he doesn't *look* Swedish, but of course you never know.
15:26:51 -!- cheater99 has joined.
15:27:44 <elliott> fizzie: Hell, I've seen *you* (well, in a dream), and you didn't look Finnish!
15:28:06 <elliott> Then again, I'm pretty sure you were on the blacker side of brown. So maybe not very accurate.
15:28:22 <elliott> Also you wore sunglasses and were bald.
15:28:39 <elliott> Wait, were you bald or did your hair just look like thick fibre-optic cables...
15:28:46 <elliott> Oh, for heaven's sake, I don't know.
15:28:46 -!- cheater99 has quit (Read error: Connection reset by peer).
15:28:56 <fizzie> I'm not sure if there's any sort of product to test for Swedishness.
15:29:10 <fizzie> Incidentally, http://www.amazon.com/Parent-Child-Testing-Product-Pack/dp/B002A6HXL6/ -- "Parent Child Testing Product, 5 Pack", $10035.98.
15:29:19 <elliott> fizzie: Erm, Lutefisk : Norwegians :: ? : Swedes?
15:29:56 <elliott> fizzie: Man, that parent child testing product looks judgemental.
15:41:59 <elliott> pikhq: I just had a horriterrible idea.
15:42:48 <elliott> pikhq: You know the GNU System thing you mentioned?
15:46:51 -!- cheater99 has joined.
15:50:01 -!- cheater99 has quit (Read error: Connection reset by peer).
15:52:55 -!- sftp has joined.
15:59:52 <oerjan> elliott: Surströmming.
16:00:00 <elliott> oerjan: Right.
16:00:04 <elliott> fizzie: Feed him that and see if he survives.
16:00:33 <Vorpal> elliott, only a very small group of swedes like surströmming
16:00:33 <elliott> oerjan: just checking, you being a lutefisk fan, Surströmming isn't something delicious? :D
16:00:35 <elliott> (I know what it is.)
16:00:45 <elliott> Vorpal: nope all of you
16:00:50 <Vorpal> elliott, the majority think it is weird and wouldn't touch it.
16:00:58 <elliott> http://upload.wikimedia.org/wikipedia/commons/7/7c/Surstroemmngsklaemma.png every swede eats this every day
16:01:26 <Vorpal> elliott, then I'm no Swede by your definition. Nor is some 90% of the rest of population
16:01:39 <elliott> Vorpal: of course
16:01:51 <Vorpal> elliott, it is a local speciality in parts of north Sweden.
16:02:07 <oerjan> elliott: by all i've read, surströmming is far more vile than lutefisk
16:02:07 <Vorpal> (and always beware of that)
16:02:13 <Vorpal> oerjan, quite
16:02:28 <Vorpal> oerjan, and lutfisk occurs in Sweden to.
16:02:41 <Vorpal> oerjan, almost none like it these days
16:02:59 <elliott> northern sweden sounds like crazy land
16:04:35 <Vorpal> elliott, quite
16:13:17 <Ilari> What the heck is that (and I hope that milk is whole milk...)?
16:14:12 <elliott> Ilari: It's DISGUSTINGNESS
16:14:26 <elliott> "Surströmming with potatoes, onion on tunnbröd."
16:14:59 <elliott> Ilari: Surströmming itself is, of course, rotting fish.
16:15:09 <elliott> Because god dammit, we're Swedes, we're vikings, we're HARDCORE.
16:15:36 <elliott> [[In April 2006, several major airlines (such as Air France and British Airways) banned the fish citing that the pressurized cans of fish are potentially explosive. The sale of the fish was subsequently discontinued in Stockholm's international airport. Those who produce the fish have called the airline's decision "culturally illiterate," claiming that it is a "myth that the tinned fish can explode."[6]]]
16:15:41 <elliott> I support cultural illiteracy.
16:15:54 <Ilari> Or at least pretend that way... Well, in the past, real hardcore people existed...
16:26:30 <Goosey> The lagging in mc is somewhat fixed
16:26:34 <Goosey> i get 40 fps now
16:35:03 <elliott> oerjan: as the premier wiki sysop, you should slap cpressey for decreasing the sum total of the world's happiness significantly: http://esolangs.org/w/index.php?title=Talk:Brainfuck&curid=1138&diff=20541&oldid=20540
16:37:12 <elliott> erm
16:37:16 <elliott> "In addition, no well-defined algorithm has yet been devised that a universal Turing machine is demonstrably incapable of executing." --[[Esolang:Turing machine]]
16:37:18 <elliott> that's just stupid
16:37:35 <elliott> either we define well-defined algorithm = list of instructions in a TC language, and it's a tautology
16:37:53 <elliott> or "determine whether a Turing machine halts" is a well-defined algorithm that a UTM is demonstrably incapable of executing
16:37:54 -!- wareya has quit (Read error: Connection reset by peer).
16:38:02 <elliott> someone rewrite that
16:38:51 -!- wareya has joined.
16:49:35 <Vorpal> <elliott> Because god dammit, we're Swedes, we're vikings, we're HARDCORE. <-- only some madmen up north
16:50:11 <Vorpal> <Ilari> What the heck is that (and I hope that milk is whole milk...)? <-- why do you hope that
16:51:45 <Vorpal> elliott, hm I just had the mad idea of a brainfuck supercompiler
16:52:23 <elliott> Bah, if it's not a specialiser I don't acre.
16:52:24 <elliott> *care.
16:52:50 <Vorpal> elliott, well, I was thinking along the lines of partial evaluation
16:52:52 <elliott> (Okay, so supercompilers do usually do something close to specialisation.)
16:52:57 <elliott> Vorpal: Specialisation == partial evaluation.
16:53:29 <Vorpal> elliott, but it seems rather tricky for bf, since the alias analysis is basically a hell, and figuring out previous state is not always that easy.
16:53:53 <Vorpal> elliott, yes quite
16:54:18 <Vorpal> elliott, I never claimed those were different.
16:54:25 <elliott> Yes, well, the more abstract a language it is the better you can compile it (dynamism is a separate factor that makes compilation more difficult; it just happens that more abstract languages tend to be more dynamic).
16:54:36 <elliott> So it's hardly surprising that compiling BF well is near-impossible. :p
16:54:42 <Vorpal> elliott, mutable state makes it a lot trickier too
16:54:59 <elliott> Vorpal: Well, mutable state is effectively an anti-abstraction and an element of dynamism, so yeah.
16:55:13 <Vorpal> elliott, oh *looks up what dynamism is exactly*
16:55:24 <elliott> Vorpal: Dynamic languages are very dynamic.
16:55:29 <elliott> Vorpal: Changing things at runtime = dynamism.
16:55:38 <Vorpal> ah
16:55:45 <elliott> Vorpal: Scheme's ability to redefine + is dynamism; it makes Scheme harder to compile efficiently, since you can't inline calls to it.
16:55:54 <Vorpal> elliott, is "things" here code? or data too?
16:55:58 <elliott> Anything.
16:56:20 <elliott> Smalltalk's extreme late binding is dynamism; it makes Smalltalk harder to compile because you have to do a lot of table lookups by strings, rather than hardcoding memory locations to load, store, and jump to.
16:56:31 <Vorpal> elliott, by /strings/?
16:56:44 <elliott> Vorpal: Yes; "foo abc: 3" looks up "abc:" in foo and passes it 3.
16:56:55 <elliott> Vorpal: If you change the abc: method, and call whatever method did "foo abc: 3", it will get the new method.
16:57:06 <elliott> This is because everything is looked up at the latest possible moment -- right when it's used, i.e. late binding.
16:57:06 <Vorpal> elliott, can't you compile identifiers into some table and then use that integer to look up
16:57:08 <elliott> Which is dynamism.
16:57:11 <Vorpal> like an atom table
16:57:16 <elliott> Vorpal: Sort of.
16:57:18 <elliott> Well, yes.
16:57:21 <elliott> But it's not quite that simple.
16:57:24 <elliott> Anyway, it was just an example.
16:57:25 <Vorpal> hm
16:57:28 <Vorpal> yeah
16:57:42 <Vorpal> elliott, but doing it by strings sound incredibly stupid
16:57:51 <Vorpal> sounds*
16:57:53 <elliott> Well, yes; I forget how most Smalltalks do it.
16:58:20 <Vorpal> elliott, now you made me imagine a bashtalk (along the lines of bashforth)
16:58:49 <elliott> Vorpal: BTW, the insane idea I was going to tell to pikhq but he's not here: GNUGNUGNU/Linux. It's Linux, and then everything on top of that that can feasibly be GNU *IS*. That means even GNU inetutils. Additionally, everything is done The GNU Way, no matter how impractical that is.
16:58:54 <elliott> Vorpal: For instance, all package management will be done with GNU stow.
16:59:15 <Vorpal> elliott, what does inetutils contain now again
16:59:19 <elliott> Vorpal: ping etc.
16:59:22 <Vorpal> ah
16:59:24 <Vorpal> elliott, stow?
16:59:32 <elliott> Vorpal: inetutils is maintained by the *wonderful human being* called ams.
16:59:34 <elliott> You may have heard of him.
16:59:51 <elliott> Stow is:
16:59:52 <elliott> "GNU Stow is a program for managing the installation of software packages, keeping them separate (/usr/local/stow/emacs vs. /usr/local/stow/perl, for example) while making them appear to be installed in the same place (/usr/local)."
16:59:54 <Vorpal> elliott, the tla sounds familiar, that is all
17:00:06 <elliott> Its design is based on Carnegie-Mellon's Depot.
17:00:07 <elliott> http://www.gnu.org/software/stow/manual.html
17:00:28 <Vorpal> elliott, the separate thing reminds me of gobolinux and such
17:00:41 <elliott> Yes, well, it's a much older concept than that. :p
17:00:47 <pikhq> GNU Stow is positively bleh.
17:00:55 <elliott> pikhq: Heh, have you actually used it? :)
17:00:57 <elliott> Vorpal: Anyway ams is an IRC jackass and troll.
17:01:12 <elliott> Vorpal: Who is probably rms' secret lover or something.
17:01:16 <pikhq> elliott: Yes; the GNU System testing images used it.
17:01:36 <elliott> pikhq: They're HURD-based, though, aren't they?
17:01:45 <Vorpal> elliott, not familiar
17:01:46 <pikhq> elliott: IIRC, it's intended to be replaced with Stowfs.
17:01:48 <pikhq> elliott: Yeah.
17:01:54 <Vorpal> elliott, I think I heard ams in some other context
17:02:03 <elliott> pikhq: See, mine is meant for Linux, because then we can SPREAD THE GOSPEL to other platforms.
17:02:12 <Vorpal> oh duh
17:02:14 <elliott> pikhq: Anyway stow seems like a "good idea" to me apart from the implementation details.
17:02:15 <elliott> Vorpal: ?
17:02:20 <elliott> pikhq: i.e. using symlinks.
17:02:29 <Vorpal> elliott, of course it sounded familiar. AMS.
17:02:34 <elliott> Vorpal: heh
17:03:02 <Vorpal> elliott, which seems to be rather overloaded btw
17:04:10 <pikhq> elliott: Yeah, stow's actually quite alright aside from implementation details.
17:04:17 <elliott> Vorpal: once he asked me a question about C99 and I first quoted POSIX to him, which he said didn't count because it wasn't C99, I pointed out that it was unlikely to contradict the C standard (IIRC it was the behaviour of free(NULL) or something); I then found a C99 draft standard /newer/ (2007) than C99 itself, and quoted that to him, and he said that a draft didn't count since it wasn't C99, I said I don't have a copy of C99 to hand but I doub
17:04:17 <elliott> t it changed since C99 was published, and then he called me a liar because C99 wasn't published in 2007, and then when I said he was being awfully rude to someone who went out of their way to help, he /ignored me.
17:04:23 <pikhq> elliott: Which is why stowfs was a WIP.
17:04:23 <elliott> That was before I knew who he was.
17:04:26 <elliott> Pleasant chap. :p
17:04:41 <Vorpal> elliott, heh
17:04:51 <elliott> Vorpal: (Later he started whining at the distro maintainers to make all software in the repositories Free As In FSF because it was an issue of "respect" for your users.)
17:05:00 <elliott> Vorpal: (Apparently he doesn't actually /use/ the distro.)
17:05:09 <Vorpal> elliott, as for POSIX not contradicting, true. However POSIX may define something that C99 leaves undefined. That happened.
17:05:16 <elliott> Vorpal: Although he did ask about progress on a MIPS port, so he could run it on some netbook by the same company as rms' TOTALLY-FREE netbook.
17:05:18 <elliott> (The one he uses.)
17:05:26 <elliott> ~Free As In FSF netbook buddies~
17:05:32 <elliott> <Vorpal> elliott, as for POSIX not contradicting, true. However POSIX may define something that C99 leaves undefined. That happened.
17:05:34 <elliott> yes, but still.
17:06:08 <Vorpal> elliott, also, I have run into systems that don't follow the C standard on free(NULL). I think they were all ancient or embedded though
17:06:19 <pikhq> Of course, even if it is a behavior unique to POSIX, that's still quite important.
17:06:22 <elliott> Vorpal: yes, but he was very explicit about wanting C99's take.
17:06:40 <pikhq> After all, most everything but Windows these days are going to give credence to POSIX.
17:06:47 <pikhq> s/are/is/
17:06:51 <elliott> Vorpal: but just lol @ calling someone who quotes a draft of a post-1999 revision to C99 a liar for implying that C99 was published in 2007.
17:07:06 <Vorpal> indeed wtf
17:07:25 <elliott> pikhq: Anyway, the GNU Operating System seemingly does not include an init system.
17:07:29 <elliott> At least from scanning http://www.gnu.org/software/software.html.
17:07:57 <pikhq> elliott: 404!
17:07:57 <Vorpal> elliott, what does hurd use then?
17:08:06 <Vorpal> pikhq, remove the final dot
17:08:09 <pikhq> elliott: But anyways, I'm reasonably certain it uses init.
17:08:16 <elliott> Vorpal: Um, HURD? I think it just uses a shell script.
17:08:19 <elliott> Or SysV.
17:08:22 <elliott> <pikhq> elliott: 404!
17:08:22 <Vorpal> elliott, ah
17:08:23 <elliott> What's 404?
17:08:33 <pikhq> elliott: HTTP Error 404!
17:08:35 <Vorpal> elliott, it is file not found
17:08:42 <elliott> pikhq: wat.
17:08:44 <elliott> http://www.gnu.org/software/software.html
17:08:45 <elliott> ^ not 404
17:08:46 <Vorpal> (note: totally not what you meant)
17:09:00 <Vorpal> pikhq, as I said, you probably copied the ending dot on the line
17:09:06 <pikhq> elliott: The . at the end got into the link because it's entirely valid!
17:09:14 <elliott> pikhq: Your client sucks donkey dick!
17:09:25 <Vorpal> pikhq, quite, but I made my client apply a heurstic at that.
17:09:26 <elliott> (Technical term for clients that are too correct about URLs.)
17:09:48 <pikhq> elliott: Your URL is a giant donkey dick!
17:09:51 <Deewiant> Maybe I should have my site have all pages end in .html.
17:09:57 <elliott> Deewiant: *.html..
17:10:01 <elliott> Deewiant: I terminated your sentence for you.
17:10:17 <elliott> http://www.gnu.org/software/mdk/ oh man so useful
17:10:39 <elliott> I love how some of the software links just go to empty directories.
17:10:59 <elliott> http://www.gnu.org/software/myserver/ GNU HTTPD!
17:11:18 <pikhq> elliott: Well, it's not like GNU only hosts things useful to the GNU system.
17:11:27 <elliott> pikhq: No, but that's a list of GNU packages.
17:11:36 <elliott> i.e. the bulk of the platonic ideal GNU Operating System.
17:11:38 <pikhq> elliott: Here's what it takes to get it into GNU proper: give a FSF copyright assignment.
17:11:43 <elliott> And most of it is USELESS.
17:11:46 <elliott> pikhq: Well, yes.
17:12:00 <elliott> But still. That list is an amazing glob of worthlessness, with like 10 useful things in it.
17:12:08 <pikhq> Yeah, well. Yeah.
17:12:25 <ais523> hmm, wtf? reddit shows a link on /r/programming/ at +1009 with 852 comments
17:12:32 <elliott> ais523: what about it?
17:12:39 <ais523> but when I click at it, it's on +0 with 3 comments
17:12:47 <elliott> ais523: cache... but still, wow.
17:12:52 <ais523> that's quite a cache effect
17:12:52 <pikhq> "reddit is under heavy load right now, sorry. Try again in a few minutes."
17:12:53 <Vorpal> <elliott> http://www.gnu.org/software/mdk/ oh man so useful <-- missing ending dot!
17:13:05 <ais523> I'll try again later
17:13:22 <elliott> http://codu.org/projects/trac/ggc http://codu.org/projects/trac/gggc
17:13:24 <ais523> hmm, it's actually happening to every link there
17:13:27 <elliott> http://codu.org/projects/trac/ggggc
17:13:32 <pikhq> The displayed karma is random.
17:13:32 <elliott> I think I've figured out Gregor's versioning system.
17:13:36 <elliott> "Duplicate the first letter."
17:13:54 <Deewiant> "Prepend g."
17:14:14 <elliott> Deewiant: Maybe the first one was called c, and it collected everything, not just garbage.
17:14:35 <pikhq> What was the acronym for that, anyways?
17:14:45 <elliott> "Gregor's General-purpose Generational Garbage Collector."
17:14:54 <pikhq> Ah, right.
17:14:58 <pikhq> The Gs!
17:15:19 <elliott> [# Never ever EVER have interior pointers. Ever. EVER. GGGGC relies on all GC pointers being to the base of an object.]]
17:15:22 <elliott> *[[#
17:15:32 <elliott> Gregor: Any way to relax that? I really want to use GGGGC for this project, but ...
17:15:40 <ais523> hmm, it'd be simpler still to have a GC that required all pointers to be NULL
17:15:46 <ais523> then you could just garbage-collect everything on the heap
17:15:46 <elliott> Gregor: What if the interior pointers are always to the start of a given element in a structure?
17:15:53 <elliott> Gregor: (And I can specify which element at pointer-creation-time.)
17:16:21 <pikhq> elliott: Interior pointers make garbage collection both painful and slow.
17:17:12 <Vorpal> elliott, why do you need interior pointers?
17:17:13 <elliott> pikhq: Let's put it this way: the only kind I really need is "__typeof__(s->x) *foo = gc_pointer_to(s, offsetof(s, x));".
17:17:17 <elliott> Vorpal: 'cuz I do.
17:17:22 <elliott> Well.
17:17:23 <elliott> Maybe.
17:17:52 <Vorpal> elliott, just keep an extra pointer around?
17:17:55 <Vorpal> elliott, to the base I mean
17:18:50 <elliott> hmm, wait
17:18:55 <elliott> would this even disallow (some_string + n)?
17:19:13 <Vorpal> elliott, well duh
17:19:21 <elliott> right
17:19:24 <elliott> any way to relax that Gregor? :P
17:19:39 <Vorpal> elliott, some_string[n]
17:19:46 <elliott> no, I need a fix in the _GC_.
17:19:49 <elliott> Vorpal: note: strings will always have their lengths encoded before them.
17:19:58 <elliott> so the GC will always know where a string ends, even just having a pointer to the start
17:20:07 * Phantom_Hoover returns.
17:20:15 <Vorpal> elliott, <pikhq> elliott: Interior pointers make garbage collection both painful and slow.
17:20:28 <Vorpal> elliott, and the GC will always know the end anyway
17:20:37 <Vorpal> same as free() does know the end of the allocated block
17:20:41 <elliott> Vorpal: Yes, but in this case it's /one special case/. I realise it won't be as fast, I just need it decent.
17:20:45 <elliott> It'll still beat boehm.
17:21:11 <Vorpal> elliott, why is indexing so hard?
17:21:13 <Vorpal> just wondering
17:21:28 <elliott> Vorpal: The question is not "do I need (s+n)?", it's "can I make GGGGGGGGGGGGC support (s+n)?".
17:21:45 <Vorpal> elliott, do you know /why/ it is slow to suppor that?
17:21:50 <elliott> Yes
17:21:52 <Vorpal> support*
17:21:53 <elliott> *Yes.
17:21:54 <elliott> stupid numpad
17:22:12 <Vorpal> elliott, what XD
17:22:27 <elliott> I pressed the . numpad key, but numlock was off so it did [del], which did nothing since i was at eol.
17:22:44 <elliott> I used the numpad . because I had already completed the sentence, and moved my hands away without realising.
17:22:48 <elliott> So it was the closest ..
17:22:50 <elliott> *".".
17:22:52 <Vorpal> my numpad seems broken btw
17:23:02 <Vorpal> somehow , -> 0 and 0 -> nothing
17:23:08 <elliott> I don't like my numpad, it gives me bad habits.
17:23:09 <Vorpal> wtf
17:23:21 <elliott> I only recently started being able to type numbers with the normal row.
17:23:43 <elliott> I think I might just use boehm.
17:23:44 <Vorpal> elliott, only time I use numpad is for navigation in various games
17:23:47 <elliott> It's good enough.
17:24:03 <Vorpal> elliott, interior pointers is an option for boehm iirc. And it slows it down even more
17:24:21 <elliott> Vorpal: Presumably on by default due to the commonness of (s+n)...
17:24:56 <Vorpal> elliott, I think it is a global-variable-before-GC_init() style of option
17:24:59 <Vorpal> not sure
17:25:08 <pikhq> Vorpal: Default.
17:25:13 <Vorpal> pikhq, hm
17:25:14 <elliott> Right.
17:25:18 <Vorpal> pikhq, that's stupid
17:25:22 <elliott> Not really.
17:25:22 <pikhq> Vorpal: It tries not to break behavior of anything that's valid C.
17:25:26 <elliott> (s+n) is very common.
17:25:49 <pikhq> Though it will gleefully change various forms of undefined behavior, which can break programs.
17:25:51 <Vorpal> pikhq, but if you were doing manual memory management you would need a pointer to the base anyway, or you couldn't call free() on it
17:28:49 <elliott> Vorpal: I mean using (s+n) temporarily, calling a function with it.
17:28:53 <elliott> Not throwing away s completely from the program.
17:29:01 <elliott> (What, would GGGGGGGGGGGGGGGGGGGGGGGGC support that?)
17:29:49 <pikhq> elliott: I'm not sure GGGGC is conservative.
17:30:05 <pikhq> ... No, wait, it'd have to be.
17:30:18 <pikhq> I think?
17:30:19 <elliott> pikhq: It isn't.
17:30:25 <pikhq> Okay, then.
17:30:26 <elliott> pikhq: You have to do all reads and writes through a macro because Gregor is a masochist.
17:30:31 <elliott> Well, a sadist. But he uses it himself.
17:30:33 <elliott> So masochist too.
17:30:43 <pikhq> There is no freaking way you're getting internal pointers to work without much pain and agony.
17:30:59 <elliott> pikhq: yes, but is string_function(s+n) okay, as long as you keep a hold of s in the calling function?
17:31:08 <pikhq> In other news: bsnes's unsupported game list is down by one.
17:31:34 <Vorpal> elliott, if the parent function still holds a pointer to it?
17:31:39 <elliott> Vorpal: Yes.
17:31:44 <pikhq> elliott: Does it move objects around in memory?
17:31:53 <pikhq> And, of course, rewrite pointers?
17:31:58 <pikhq> If it doesn't, then that will work.
17:32:03 <Vorpal> elliott, then I don't see why it is an issue if you also have an internal pointer
17:32:43 <elliott> It should be fine then.
17:32:59 <elliott> So can OGGGGGGGGGGGGGGGGGGGGGGGGGGC collect garbage in a separate thread, too? :p
17:33:09 <Vorpal> elliott, O?
17:33:21 <Vorpal> elliott, also define each of those Gs you just used
17:33:30 <Vorpal> ;P
17:34:04 <elliott> OGGGGGGGGGGGGC was just a reference to that OGC name thing.
17:34:13 <Vorpal> elliott, OGC?
17:34:18 <elliott> Uh, http://www.eatliver.com/img/2008/3028.jpg.
17:34:26 <elliott> UK government organisation.
17:34:33 <Vorpal> ah
17:35:00 <elliott> [[A spokesman for OGC said: “It is true that it caused a few titters among some staff when viewed on its side, but on consideration we concluded that the effect was generic to the particular combination of the letters OGC - and it is not inappropriate to an organisation that’s looking to have a firm grip on Government spend.”]]
17:35:09 <elliott> "and it is not inappropriate to an organisation that’s looking to have a firm grip on Government spend."
17:35:27 <Vorpal> elliott, yeah wtf about that
17:35:38 <elliott> Vorpal: It's called a joke.
17:35:54 <Vorpal> elliott, is it really that far fetched
17:35:57 <Vorpal> if so ugh
17:36:04 <elliott> Vorpal: "that far fetched"?
17:36:06 <elliott> It's bloomin' obvious.
17:41:57 <Vorpal> back
17:42:06 <Vorpal> elliott, I guess I must have used a bloom filter then
17:42:16 <Vorpal> (okay, bad pun)
17:45:32 -!- Sgeo has joined.
17:45:48 -!- Mathnerd314 has joined.
17:47:59 -!- j-invariant has joined.
17:54:26 -!- oerjan has quit (Quit: Good night).
18:15:19 <j-invariant> elliott?
18:16:39 <elliott> hi
18:17:47 <j-invariant> this isomorphism notion is Ob -> Ob -> Type, rather than -> Prop. Do you think that matters? I could redefine what an equivalence relation is to allow Type instead of Prop
18:18:01 <elliott> j-invariant: yeah i don't think it matters
18:18:05 <elliott> j-invariant: Coq Prop is rather restricted IMO
18:18:35 <j-invariant> I just don't want to go another 300 lines and realize I made a mistake
18:19:45 <j-invariant> elliott: and what about equality of maps? should f = g be in Prop or Type?
18:20:53 <elliott> j-invariant: I think if one thing is in Type all of them should be
18:21:01 <elliott> j-invariant: but, is it possible to make the isomorphism -> Prop by restricting it?
18:21:04 <elliott> if not, eh, it doesn't matter
18:21:14 <elliott> I end up putting sets into Type all the time, no reason not to put Props there
18:21:19 <elliott> coq doesn't have proof irrelevance anyway
18:21:59 <j-invariant> it's just for equality of functors, we have F=G meaning that Ff=Gf but Ff : FX -> FY and Gf : GX -> GY
18:22:13 <j-invariant> so we need a way to cast FX <-> GX
18:22:55 <elliott> yeah
18:23:08 <elliott> it seems fine to me
18:23:46 <elliott> Gregor: is extensive generic (void *) hackery ok with GGGGGGGGGC?
18:38:11 <ais523> elliott: I don't see how any GC can manage that, if it actually collects things
18:38:20 <ais523> what about storing pointers in files and reading them back later?
18:38:46 <elliott> ais523: actually, I just mean having things like linked lists with (void *) elements
18:40:24 <ais523> hmm, today I learnt that most new Windows software with an auto-updater installs its executables the equivalent of suid root
18:40:29 <ais523> to avoid UAC prompts when it updates
18:40:33 <ais523> that... defeats the point
18:40:33 <elliott> heh
18:48:40 -!- OoS has joined.
18:48:43 <OoS> Hi :-)
18:48:53 <elliott> hi
18:49:54 <OoS> I'm just clearing out some old computer books to make space for a few new ones :-/
18:54:10 <elliott> OoS: BUY MORE BOOKSHELVES
18:54:42 <ais523> oh, I just keep them mixed with a bunch of other books in a pile on the floor
18:54:48 <ais523> or occasionally, in other people's bedrooms
18:55:01 <ais523> (general rule of house physics: people are loath to throw out anything in their own bedroom, you can exploit this fact)
18:55:14 <OoS> I have 14 shelves of books (mostly programming / computing / caving)
18:55:38 <OoS> Plus more in boxes / cupboards :-(
18:55:42 <elliott> ais523: that's brilliant
18:55:48 <Vorpal> ais523, hah
18:56:12 <elliott> ais523: now progress to Joey Hess stage -- use that for all possessions, and live in yurts
18:56:23 <OoS> ais523: wouldn't work, my girlfriend loves to throw stuff out
18:56:27 <elliott> optimal debian-developing hobo status achieved
18:56:44 <Vorpal> elliott, who is that guy
18:57:05 <elliott> Vorpal: http://kitenet.net/~joey/blog/
18:57:08 <elliott> Vorpal: he wrote the debian-installer
18:57:11 <elliott> among other things
18:57:21 <OoS> Besides, I'm getting rid of stuff I likely won't need. Assembly programming books for 68000, 6809...
18:57:26 <elliott> he lives in a yurt. http://kitenet.net/~joey/yurt/
18:57:35 <Vorpal> elliott, oh the guy with palm <something> investigation?
18:57:38 <elliott> Vorpal: yeah
18:57:45 <elliott> Vorpal: his living expenses are flat 0, IIRC
18:57:54 <Vorpal> <elliott> he lives in a yurt. http://kitenet.net/~joey/yurt/ <-- as in, permanently?
18:57:57 <elliott> Vorpal: yes.
18:58:11 <Vorpal> elliott, somewhere warm I assume? or a hoax?
18:58:24 <elliott> Dunno how warm it is. Probably relatively.
18:58:28 <elliott> not a hoax, no, he really lives like that
18:58:43 <fizzie> Erdős famously did the "hobo mathematician" thing.
18:58:59 <Vorpal> elliott, uh, does he have a more normal house as well?
18:59:04 <elliott> Vorpal: No.
18:59:05 <Vorpal> fizzie, oh? I didn't know that
18:59:10 <elliott> Vorpal: As I said, his expenses are roughly 0.
18:59:17 <elliott> Mortgage or rent = expense.
18:59:30 <Vorpal> elliott, aiee! http://kitenet.net/~joey/blog/pics/snowyurt.jpg
18:59:34 <fizzie> Vorpal: "Possessions meant little to Erdős; most of his belongings would fit in a suitcase, as dictated by his itinerant lifestyle. Awards and other earnings were generally donated to people in need and various worthy causes. He spent most of his life as a vagabond, traveling between scientific conferences and the homes of colleagues all over the world."
18:59:37 <fizzie> ... "He would typically show up at a colleague's doorstep and announce "my brain is open," staying long enough to collaborate on a few papers before moving on a few days later. In many cases, he would ask the current collaborator about whom he (Erdős) should visit next. His working style has been humorously compared[by whom?] to traversing a linked list."
18:59:37 <elliott> Vorpal: you're a swede, be more hardcore.
18:59:51 <Vorpal> elliott, well, we have thick walls for a reason
18:59:58 <elliott> Vorpal: VIKING
18:59:59 <Vorpal> elliott, it's around -25 C outside now
19:00:02 <elliott> Vorpal: VIKING
19:00:06 <Vorpal> elliott, I'm not :P
19:00:48 <fizzie> It's -12.75 in Otaniemi now (it's far easier to browse to outside.hut.fi than to amble to the thermometer in the window), but they've predicted -15 to -25 for christmas.
19:01:23 <elliott> Vorpal: oh ofc, I forgot ikiwiki
19:01:26 <elliott> Vorpal: he wrote ikiwiki too
19:01:42 <OoS> The yurt looks cool. I've slept in worse places.
19:02:04 <elliott> it would be kinda cool to do the hobo thing, but i need an internet connection... and heating
19:02:11 <elliott> well
19:02:14 <elliott> a good internet connection, rather
19:02:28 <Deewiant> He's got both :-P
19:02:30 <fizzie> Meh, outside.hut.fi should really respond to finger requests, that's how all the cool internet-connected coffee pots / cola vending machines / etc. used to be connected.
19:02:32 <Vorpal> elliott, see image on the page you linked
19:02:50 <Vorpal> fizzie, what XD
19:03:02 <elliott> Deewiant: I see no evidence of a /good/ internet connection
19:03:11 <Deewiant> elliott: I see no evidence of a bad one
19:03:17 <Vorpal> elliott, ethernet
19:03:25 <elliott> It's America, isn't it?
19:03:28 <elliott> So it's gonna be like 2 Mbit.
19:03:29 <Deewiant> heh
19:03:31 <Vorpal> elliott, who knows where the ethernet goes
19:03:38 <Vorpal> elliott, presumably to a *HOUSE*?
19:03:39 <elliott> Into a dead badger, obviously.
19:03:41 <elliott> Running Linux.
19:03:49 <elliott> Vorpal: I think it's some way away from a friend's house or something.
19:03:55 <Vorpal> elliott, hm
19:03:57 <elliott> I don't have his living situation exactly memorised, that would be creepy :P
19:04:05 <fizzie> Vorpal: See for example the finger RFC (1288) chapter 2.5.5 "Vending machines": http://www.ietf.org/rfc/rfc1288.txt
19:04:05 <Vorpal> fizzie, -12? that's nothing
19:04:22 <Vorpal> slow to load
19:04:50 <fizzie> IETF tends to be. There's faster places to get RFCs from, of course.
19:05:11 <Vorpal> fizzie, wait a second.... this isn't april
19:05:14 <Vorpal> fizzie, so wtf
19:05:27 <elliott> Fingering vending machines sounds a bit niche.
19:05:36 <fizzie> It's what all the cool universities had.
19:06:06 <Vorpal> "Vending machines should NEVER NEVER EVER eat money." <-- this make it sound like a joke rfc (it is too unrealistic)
19:06:14 <fizzie> I think I had one Internet book from the pre-web era, it listed a few fingerable vending machines around the world.
19:06:20 <Vorpal> (also, doesn't fit into a serious rfc, would use MUST then)
19:06:33 <Vorpal> fizzie, XD
19:07:17 <fizzie> It's very useful to see how many bottles of cola there are in some California university's cs department's corridor X.
19:07:19 <Vorpal> "Sound implementation of Finger is of the utmost importance. Implementations should be tested against various forms of attack. In particular, an RUIP SHOULD protect itself against malformed inputs. Vendors providing Finger with the operating system or network software should subject their implementations to penetration testing."
19:07:30 <Vorpal> uh, that last sentence sounds....
19:07:54 <Vorpal> (seriously, was finger named to maximise uncomfortableness of using the names?)
19:10:26 <Deewiant> Earnest named his program after the idea that people would run their fingers down the who list to find what they were looking for.
19:10:47 <fizzie> The earliest Finger RFC (742) from 1977 is pretty non-modern; port numbers in octal and it isn't really much of a protocol at that point.
19:12:29 <ais523> why would anyone write port numbers in octal?
19:13:07 <fizzie> "ICP to socket 117 (octal, 79. decimal) and establish two 8-bit connections."
19:15:12 -!- j-invariant has quit (Quit: leaving).
19:15:20 -!- micahjohnston has joined.
19:15:26 <elliott> <Deewiant> Earnest named his program after the idea that people would run their fingers down the who list to find what they were looking for.
19:15:27 <elliott> Seriously?
19:15:31 <elliott> That's the stupidest etymology ever.
19:16:26 <Vorpal> fizzie, ICP?
19:17:14 <fizzie> Vorpal: I don't really know what it refers to; I strongly suspect it's not the modern web-cache thing.
19:17:29 <fizzie> RFC123 speaks of ICPs.
19:17:33 <Vorpal> fizzie, I don't know the modern meaning either
19:17:50 <Deewiant> ICP was on ARPANET
19:18:03 <Deewiant> http://en.wikipedia.org/wiki/Network_Control_Program
19:18:24 <Vorpal> ah
19:18:53 <fizzie> Right. Anyway, the ICP socket number 79 does match the current Finger TCP port number, so I guess they just reused that.
19:19:34 <fizzie> And maybe ICP socket numbers used to be in octal, then.
19:21:23 <fizzie> One wonders if some day this "HTTP" thing will sound equally quaint and historical.
19:21:44 <Deewiant> One would hope so.
19:22:18 <elliott> You had to use your hands? etc.
19:22:35 <Vorpal> elliott, that sounds even dirtier!
19:22:42 <elliott> Video Game Boy #1: You mean you have to use your hands?
19:22:43 <elliott> Video Game Boy #2: That's like a baby's toy!
19:22:49 <elliott> (Thank imdb for the really-useful character names.)
19:23:06 <Vorpal> elliott, what movie is it from?
19:23:19 <elliott> Bttfii.
19:23:26 <elliott> Pronounced "butt-fee", clearly.
19:23:50 <Vorpal> elliott, oh back to the future
19:23:52 <Vorpal> right
19:23:56 <Vorpal> was ages since I saw that
19:24:08 <elliott> Number two. :p
19:24:17 <Vorpal> elliott, also ages ago I saw it
19:24:27 <Vorpal> elliott, was it 3 in total? I don't remember
19:24:29 <elliott> Hahah: http://www.theasylum.cc/product.php?id=174 Titanic II.
19:24:35 <elliott> Is there anything The Asylum won't push out?
19:24:43 <elliott> Vorpal: Yes. Unless they've made Bttfiv.
19:24:58 <Vorpal> elliott, "the asylum"?
19:26:00 <elliott> Vorpal: The people who brought you such quality films as "The Da Vinci Treasure", "Pirates of Treasure Island", "Snakes on a Train", "AVH: Alien vs Hunter", "Transmorphers", "The Terminators" and "Paranormal Entity".
19:26:10 <elliott> Also Sir Arthur Conan Doyle's Sherlock Holmes with ROBOTIC DINOSAURS.
19:26:11 <Vorpal> elliott, snakes on a train?
19:26:15 <elliott> http://en.wikipedia.org/wiki/The_Asylum
19:26:17 <elliott> Vorpal: Yes.
19:26:19 <Vorpal> elliott, also I never heard of any of these movies
19:26:25 <elliott> Vorpal: No -- but you may have heard of
19:26:30 <elliott> The Da Vinci Code
19:26:33 <elliott> Pirates of the Caribbean
19:26:35 <elliott> Snakes on a Plain
19:26:39 <elliott> Alien vs Predator
19:26:40 <Deewiant> s/Plain/Plane/
19:26:41 <elliott> Transformers
19:26:42 <Vorpal> elliott, yes, the first is a book and suchs
19:26:43 <elliott> Terminator
19:26:44 <Vorpal> sucks*
19:26:46 <elliott> and Paranormal Activity.
19:26:47 <Vorpal> yes of course
19:26:53 <Vorpal> elliott, not the last one
19:26:57 <Vorpal> but all the other ones
19:27:07 <elliott> Right. Now observe: http://upload.wikimedia.org/wikipedia/en/3/32/Quartermainskulls.jpg
19:27:39 <elliott> And now you understand what The Asylum does.
19:27:41 <Vorpal> elliott, what an obvious rip off
19:27:43 <elliott> (Well, probably.)
19:27:59 <Vorpal> elliott, how come lucasfilm didn't sue them?
19:28:01 <elliott> Vorpal: Yes, but to be fair, the Sherlock Holmes film that http://en.wikipedia.org/wiki/Sherlock_Holmes_%282010_film%29 rips off did NOT have exploding dinosaurs, as far as I am aware.
19:28:03 <Vorpal> elliott, or is it parody?
19:28:09 <elliott> Vorpal: Not parody... well, sort of.
19:28:44 <elliott> Vorpal: It's hard to distinguish the two sides close to the line dividing super-blatant, super-terrible ripoffs and super-blatant, super-terrible ripoffs that make fun of themselves.
19:29:01 <elliott> But god dammit, ROBOTIC DINOSAURS.
19:29:24 <elliott> "As to where this film fits into the Canon of Sherlock Holmes is unclear." --Wikipedia
19:29:29 <Vorpal> XD
19:29:39 <elliott> In the BEST PLACE.
19:30:37 -!- Phantom_Hoover_ has joined.
19:30:39 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
19:30:43 <fizzie> "Not to be confused with Sherlock Holmes (2009 film)." I was confused there a bit; I saw some Sherlock Holmes trailers somewhere, and wondered how I managed to miss exploding dinosaurs.
19:31:02 <elliott> fizzie: UNFORTUNATELY YOU SAW ONLY THE TRAILERS FOR THE INFERIOR MOVIE
19:31:12 <elliott> Seriously, I would rather watch the terrible one with exploding dinosaurs.
19:31:16 <fizzie> The inferior movie looked quite silly too.
19:32:02 <fizzie> I mean, purely based on the trailer it looked like it was more explosions and action and so on, whereas from the "Sherlock Holmes" part I was expecting something, you know, that'd have involved, I don't know, thinking.
19:32:35 <Deewiant> Trailers tend to concentrate on explosions and action.
19:33:11 <Vorpal> I always dislike trailers for that reason
19:33:12 <elliott> fizzie: From what I've heard it was actually a pretty good film.
19:33:20 <Deewiant> It was.
19:33:21 <elliott> fizzie: Supposedly they slowed some of the fight sequences to fit more thinking in there. :p
19:33:33 <elliott> You want a bad trailer?
19:33:34 <elliott> http://www.youtube.com/watch?v=ND7tU8JME_g
19:33:36 <elliott> Try Office Space's.
19:33:38 <fizzie> That's true, and Holmes is a pretty active guy even in the books; it just looked somewhat overdone.
19:34:11 <elliott> "...comes a movie about people who go to work" You know, I don't recall Office Space involving very much going to work at all.
19:35:26 <Phantom_Hoover_> elliott, Sherlock Holmes actually got pretty good writeups according to WP/
19:35:32 <elliott> Phantom_Hoover_: <elliott> fizzie: From what I've heard it was actually a pretty good film.
19:35:34 <Phantom_Hoover_> The Asylum's version.
19:35:38 <elliott> Oh.
19:35:39 <elliott> Awesome.
19:36:05 <elliott> "CIA sets up Wikileaks Task Force. They're calling it WTF."
19:36:28 <Sgeo> elliott, .. are they trying to put the entire plot in the trailer?
19:36:33 <Vorpal> elliott, where is that from?
19:36:39 <elliott> Sgeo: Pretty much.
19:36:40 <elliott> Vorpal: reddit.
19:36:44 <elliott> http://www.washingtonpost.com/wp-dyn/content/article/2010/12/21/AR2010122105498.html
19:36:47 <elliott> "Officially, the panel is called the WikiLeaks Task Force. But at CIA headquarters, it's mainly known by its all-too-apt acronym: W.T.F."
19:36:58 <Vorpal> elliott, XD
19:38:03 <Phantom_Hoover_> Conclusion: the Asylum's film titles are utterly hilarious.
19:40:44 <elliott> TRANSMORPHERS
19:41:39 <Phantom_Hoover_> There is something seriously messed up with my graphics drivers.
19:42:31 <Goosey> well then fix it
19:42:32 <Goosey> duhhh
19:42:59 -!- wareya has quit (Ping timeout: 240 seconds).
19:43:08 <elliott> Gregor: YO ARE YOU THERE
19:43:15 <Gregor> Never
19:45:15 <Vorpal> Gregor, websplat on google results pages is weird
19:45:35 -!- wareya has joined.
19:45:51 <Gregor> Vorpal: That's how Google does images.
19:46:03 <Vorpal> Gregor, ah
19:46:24 <elliott> Gregor: Does SPS actually work at all?
19:46:30 <elliott> OK, correction.
19:46:42 <elliott> Gregor: How easy would it be to port SPS to non-apt?
19:47:08 <elliott> And, um, oh, it looks like you've thrown out all the code... which was in D.
19:47:17 <elliott> SO I GUESS THE QUESTION IS IRRELEVANT
19:48:42 <Vorpal> Gregor, the flags on http://wiki.inspircd.org/Main_Page don't get the proper yellow border
19:48:44 <Vorpal> any idea why?
19:49:09 <Vorpal> Gregor, they don't seem to use !important
19:50:43 <elliott> ...What on earth has that got to do with Gregor.
19:51:43 <Vorpal> elliott, websplat...
19:51:49 <elliott> Ohh.
19:52:24 <Vorpal> elliott, it was mentioned less than 1/5th of a screenful above
19:58:10 <Sgeo> Apparently, Vorpal assumes that everyone has the same setup as him
20:02:13 -!- OoS has left (?).
20:04:40 <elliott> Gregor: PING.
20:06:15 <elliott> ugh, my OS makes it unnecessarily ugly to write haskell code
20:06:39 <Vorpal> Sgeo, well, even on a small monitor it would be in the same screenfull
20:06:54 <Vorpal> elliott, how do you mean?
20:07:15 <elliott> Vorpal: all the OS' structures are strict, and it has several unsafe operations due to them being immutable
20:07:33 <elliott> Vorpal: for instance, a directory can't be a lazy tree accessed purely, because it can change, and it's evaluated strictly
20:07:42 <elliott> meaning efficient directory-traversing haskell code has to iterate, impurely
20:08:49 <Vorpal> elliott, hm, what does directory traversing haskell code do now normally?
20:10:03 <Phantom_Hoover_> elliott, what OS?
20:11:56 <elliott> Phantom_Hoover_: any :)
20:11:58 <elliott> Vorpal: Be ugly?
20:12:07 <elliott> Vorpal: Do a lot of IO, basically.
20:17:24 <Gregor> Blargh
20:17:41 <elliott> Gregor: what
20:17:56 <Gregor> elliott: What was that latest ping, the one that wasn't discovering that SPS killed itself :P
20:19:22 <elliott> Gregor: Nothing at all, I just wanted to see you try and answer my question that is now a non-question.
20:19:26 <Vorpal> elliott, ever finished adventure?
20:20:14 <Vorpal> elliott, as in. /usr/games/adventure
20:20:18 <elliott> Vorpal: nope
20:20:23 <elliott> Vorpal: navigation and spelunking
20:20:25 <elliott> my two mortal enemies
20:20:39 <Vorpal> elliott, ... why do you play minecraft then?
20:21:01 <elliott> Vorpal: CUBE
20:21:02 <Vorpal> elliott, anyway, I find adventure somewhat hard to navigate in, simply because it is textual. I can't really visualise where I am thus
20:34:07 -!- Sasha2 has joined.
20:34:08 -!- Sasha has quit (Ping timeout: 264 seconds).
20:39:53 <pikhq> In other news, the repeal of DADT has been signed into law.
20:40:31 <pikhq> Why do I say "In other news"?
20:40:48 <Phantom_Hoover_> Dunno. Did you or I start saying it first?
20:41:07 <pikhq> I dunno.
20:43:52 <Vorpal> wow, someone made a page with what xyzzy did in hundreds of different text adventure games
20:44:15 -!- calamari has joined.
20:47:57 -!- sebbu has quit (Read error: Connection reset by peer).
20:48:03 -!- calamari_ has joined.
20:48:37 -!- calamari has quit (Ping timeout: 245 seconds).
20:48:45 -!- sebbu has joined.
20:48:49 -!- calamari_ has changed nick to calamari.
20:52:38 -!- calamari has quit (Read error: Operation timed out).
20:56:31 <elliott> Phantom_Hoover_: http://lumeniki.referata.com/wiki/Mercan
20:56:48 <elliott> http://lumeniki.referata.com/wiki/Merca "Songist"
20:56:54 <Phantom_Hoover_> Note insanity.
20:57:45 <elliott> http://lumeniki.referata.com/wiki/Bodily_excretion
20:57:49 <elliott> MY FAVOURITE BODILY SECRETIONS
20:58:51 -!- Phantom_Hoover__ has joined.
21:01:06 <elliott> Phantom_Hoover__:
21:01:06 <elliott> <elliott> http://lumeniki.referata.com/wiki/Bodily_excretion
21:01:06 <elliott> <elliott> MY FAVOURITE BODILY SECRETIONS
21:01:15 <elliott> Doodie, nightwater, smells, nosechewiw and misstrasauce.
21:01:43 <Phantom_Hoover__> That is creepu.
21:01:46 <Phantom_Hoover__> *creepy
21:01:48 <Phantom_Hoover__> And insane.
21:01:57 -!- Phantom_Hoover_ has quit (Ping timeout: 245 seconds).
21:02:15 -!- calamari has joined.
21:03:00 <Gregor> That IS creepu.
21:03:30 <elliott> The most crêpe thing I have ever seen.
21:03:40 <Sgeo> Previous versions had "Menstrual blood"
21:03:49 <elliott> At the top? :p
21:03:58 <Sgeo> Sadly, no :(
21:04:00 <elliott> Aww, no, he hates menstrual blood.
21:04:07 <elliott> Sgeo: Sadly? Are you like, a fan of menstrual blood?
21:04:22 <elliott> Phantom_Hoover__: http://lumeniki.referata.com/wiki/Jesus_%28carnation_Norm_Chomskywalker%29
21:04:27 <elliott> what
21:04:31 <Phantom_Hoover__> Ah, yes.
21:04:48 <Sgeo> This guy doesn't seriously think he's a yeti, does he?
21:04:55 <Phantom_Hoover__> That has cut deeply through his vaguely-manifested sanity.
21:05:01 <Phantom_Hoover__> He loves Noam Chomsky.
21:05:11 <elliott> I like Chomsky.
21:05:21 <elliott> Phantom_Hoover__: http://lumeniki.referata.com/wiki/EncyclopediaDracula apparently ed gives you diarrhoea
21:05:25 <Phantom_Hoover__> He really likes Chomsky.
21:05:29 <elliott> In the dramatica sense, not the... other sense.
21:05:34 <Gregor> Somebody add Santorum to that bodily-excretions list :P
21:05:40 <elliott> http://lumeniki.referata.com/wiki/Norm_Chompsky
21:05:44 <elliott> HOW MANY CHOMSKY ARTICLES ARE THERE
21:05:52 <elliott> http://lumeniki.referata.com/wiki/Chomsky
21:05:53 <Phantom_Hoover__> elliott, FAR TOO MANY
21:06:04 <elliott> Gregor: http://lumeniki.referata.com/wiki/Mostsade what
21:06:14 <elliott> Gregor: But sandorum is only partly excretion!
21:06:19 <elliott> Gregor: *santorum
21:06:23 <Sgeo> Is there any way to get this guy some mental health help?
21:06:34 <elliott> "Free software vs closed source" ;; rms would cry at this title
21:06:37 <Gregor> elliott: It's only partially /bodily/, it's all excretion in that it's excreted.
21:06:43 <elliott> Sgeo: I like him just how he is
21:06:51 <elliott> Gregor: You excrete lube?
21:06:53 <Phantom_Hoover__> Sgeo, the thing is, he's been showing some sanity lately.
21:07:19 <Phantom_Hoover__> I mean, actual, coherent, well-thought-out arguments.
21:07:19 <Gregor> elliott: Excreted just means that it comes out of the body, and after the acts that produce santorum, that's where it comes from :P
21:07:39 <Sgeo> Is the Venn Diagram correct?
21:07:43 <elliott> Gregor: Well, sure. ARGUABLY
21:08:00 <elliott> <Gregor> Clearly we must EXPERIMENT to determine for sure. Who volunteers?!
21:08:29 <Phantom_Hoover__> Sgeo, what Venn diagram?
21:08:38 <Sgeo> Phantom_Hoover__, the wiki logo
21:08:46 <Sgeo> Does it display all possible combinations?
21:09:31 <elliott> Gregor: So, how easy would a HYPOTHETICAL SPS IMPLEMENTATION be to port to non-APT?
21:09:32 <Phantom_Hoover__> Sgeo, that is... that is not a Venn diagram. I don't think it's *meant* to be a Venn diagram.
21:09:51 <elliott> Phantom_Hoover__: http://lumeniki.referata.com/wiki/File:Dude.jpg it is dude
21:10:02 <Gregor> elliott: Most of SPS wasn't apt-related at all, it just used that to make guesses about versions.
21:10:02 <elliott> You're not the phattest tom, really.
21:10:07 <elliott> Gregor: And to install packages :P
21:10:29 <Gregor> That's more-or-less independent of SPS proper.
21:10:47 <Phantom_Hoover__> elliott, FUN FACT: that is a real picture of the King of the Dudes.
21:10:50 <elliott> Gregor: Good; how long until SPS 2 is out.
21:10:56 <elliott> Phantom_Hoover__: i.e. you
21:11:05 <Gregor> elliott: Seven billion years.
21:11:13 <elliott> Gregor: Can I pay you to make it go faster?
21:11:17 <Phantom_Hoover__> elliott, no, some 19th-Centure New York socialite.
21:11:27 <elliott> Centure?
21:11:28 <Phantom_Hoover__> *Century
21:11:29 <Gregor> elliott: Sure, you'll bring it down to three billion years.
21:11:29 <elliott> "A journalist of the New York American, Blakely Hall, made Wall famous, proclaiming him in 1888 "King of the Dudes" for having won the "Battle of the Dudes" against Robert "Bob" Hilliard, another sartorial dude when, during the blizzard of 1888, he strode into a bar clad in gleaming boots of patent leather that went to his hips.[4] Nevertheless, some historians still consider it was Hilliard who won that dude battle.[8]"
21:11:36 <elliott> Gregor: How much money for three weeks?
21:11:36 <Sgeo> He's a centaur?
21:11:56 <Gregor> elliott: Sorry, there isn't enough money.
21:12:00 <Phantom_Hoover__> elliott, I love that quote.
21:12:14 <Gregor> elliott: It still needs to be based on SOME packaging system y'know :P
21:12:15 <Phantom_Hoover__> Gregor, let us suppose that there was enough money.
21:12:22 <Phantom_Hoover__> How much money would that be?
21:12:43 <Gregor> Phantom_Hoover__: Creating more money just decreases its value, the fundamental issue is that there's not enough /value/ in the universe.
21:13:07 <Phantom_Hoover__> Gregor, let us suppose there was enough value.
21:13:12 <Phantom_Hoover__> How much value would that be?
21:13:17 <Sgeo> I would have said that the universe isn't large enough to store the smallest possible description
21:13:23 <Phantom_Hoover__> (In valunits).
21:14:07 <Gregor> Phantom_Hoover__: Sadly, the limitation of the speed of light prevents anyone from getting that much value to me in less than three weeks, and also if formed into a sphere, its radius would be greater than three lightweeks.
21:14:32 <Phantom_Hoover__> Gregor, let us suppose the speed of light was big enough.
21:14:38 <Phantom_Hoover__> How big would it have to be?
21:15:17 * Phantom_Hoover__ ponders the tactical mind of the guy who wrote the navy reserve expansion to Oolite.
21:15:18 <Gregor> Phantom_Hoover__: Changing the speed of light would be a fundamental enough change to the universe that value would reduce proportionally.
21:15:41 <Phantom_Hoover__> The tactics seem to be "let's fly VERY SLOWLY at the enemy until they come into radar range!"
21:16:19 <Phantom_Hoover__> Gregor, I don't want to associate fundamental constants any more today.
21:18:49 <Phantom_Hoover__> I spent a depressing amount of my life convincing my chemistry teacher that yes, changing the fine structure constant /would/ affect the rate of enzyme function.
21:20:21 <pikhq> Gregor: What would you estimate is the value of a brick of antigold?
21:21:00 <Gregor> Pretty damned valuable, but we couldn't store it, so it would be far more likely to destroy the Earth and therefore decrease overall global value.
21:21:43 <pikhq> Sure we could. I went to the frictionless pully store and got myself a vacuum bottle for it.
21:24:07 <Vorpal> Gregor, let us suppose the value constant of the universe was big enough. How big would it have to be?
21:24:16 <Vorpal> (it's dimensionless)
21:28:43 <elliott> <Gregor> elliott: It still needs to be based on SOME packaging system y'know :P
21:28:47 <elliott> You could just factor out the few functions it needs.
21:29:56 <elliott> <Gregor> Phantom_Hoover__: Sadly, the limitation of the speed of light prevents anyone from getting that much value to me in less than three weeks, and also if formed into a sphere, its radius would be greater than three lightweeks.
21:30:02 <elliott> Gregor: It does not matter that the money gets to you in 3 weeks.
21:30:06 <elliott> Only that it is completed 3 weeks after it arrives.
21:30:50 <elliott> Gregor: BTW, what is cunionfs that unionfs isn't
21:30:51 <elliott> *?
21:31:21 -!- micahjohnston has left (?).
21:34:19 <elliott> Vorpal: http://ishmodupdated.com/
21:34:44 <elliott> As a blind, retarded hamster I support this motion of equality.
21:35:10 <Gregor> elliott: cunionfs is a per-process union FS. Every process may see a unique union.
21:35:21 <elliott> Gregor: Ahh. So it's Plan 9, implemented in FUSE.
21:35:27 <elliott> Gregor: Yes?
21:35:39 <elliott> *Plan 9's namespaces, but same thing :P
21:36:25 <Gregor> Pretty much.
21:37:00 <Gregor> It was just supposed to be the /usr-mounting part of SPS, the rest is what chooses what to union there, installs things, etc, but then I decided "blar" and din't reimplement the rest :P
21:37:15 <elliott> Gregor: Hey, you should make it based on an arbitrary function rather than just getpid.
21:37:26 <elliott> Gregor: That would be COOL. and impractical and COOL.
21:38:45 <Gregor> And impossible to do in FUSE.
21:38:52 <Gregor> The only reason it's possible with FUSE is that I have /proc
21:40:53 <tswett> elliott: if a Slashes program ends with \, it simply stops.
21:40:58 <elliott> tswett: Right.
21:41:07 <elliott> Gregor: Is an FS kernel module so hard? :P
21:41:32 <tswett> And //foo/ terminating immediately would be special behavior, it seems.
21:41:51 <elliott> tswett: //foo/ infinite loops, no?
21:41:58 <tswett> Right, I should think so.
21:42:00 <Gregor> elliott: I have no idea, I've never written any kernel code.
21:42:10 <elliott> Gregor: ask ais523, his students are writing a KEYLOGGER!
21:42:14 <elliott> despite this not being possible with vanilla linux
21:42:16 <Gregor> Oooooooooh
21:42:18 <Gregor> Ahhhhhhhhh
21:42:37 <elliott> Gregor: And despite them being so incompetent as to write size_t for sizeof because Eclipse completed size as that.
21:42:42 <elliott> Gregor: (Note: They are Masters' students.)
21:43:10 <Gregor> I figured with that kind of incompetence they had to be PhD students.
21:43:41 <elliott> Gregor: In the UK we optimise incompetence on all levels.
21:49:25 <elliott> Gregor: So is cunionfs actually stable? :P
21:52:51 <elliott> Gregor: I, uh ...
21:52:55 <elliott> That doesn't sound good.
21:55:21 <Gregor> Last I checked cunionfs itself was pretty solid.
21:56:47 <elliott> Gregor: Can I call it cuneiformfs?
21:56:59 <Gregor> I will not stop you from renaming it :P
21:57:06 <elliott> Also, "last I checked" -- has it got less stable since then? :P
21:57:24 <Gregor> It's possible that the FUSE APIs have changed in incompatible ways :P
21:58:00 <elliott> Gregor: How old is it exactly? X-D
21:58:10 <Gregor> Older than time itself.
21:58:51 <Gregor> 20 months apparently
21:58:53 <elliott> Gregor: 2009 -- older than time itself.
21:58:55 <elliott> heh
21:59:15 <elliott> 06:05 Changeset [3:3045e8c02021] by Gregor Richards <Richards@…>
21:59:16 <elliott> cunionfs/cunionfs.c: Support for symlinks.
21:59:30 <elliott> I can see that by the end of its development it had already been feature-complete for quite a while!
21:59:34 <elliott> Specifically, for a whole two revisions.
22:01:52 <elliott> Gregor: Maybe I'll just use stow :P
22:02:05 <Gregor> I really don't care.
22:02:17 <elliott> Gregor: But how will you get my royalty money
22:02:19 <elliott> *money?
22:03:31 <Gregor> In principle SPS is like stow, minus the fact that stow has a rather "static" view of the installed directory. SPS just lets multiple users see different views. Since that's almost always useless in "non-enterprise" settings anyway, do whateverTF you want.
22:03:38 <Phantom_Hoover__> What's cunionfs?
22:03:54 <elliott> Gregor: But I /am/ an Enterprise and I want to give you five billion monies.
22:04:12 <Gregor> Phantom_Hoover__: The only component of SPS I ever ported to C :P
22:04:19 <Phantom_Hoover__> SPS?
22:04:27 <Gregor> Phantom_Hoover__: cunionfs is a unionfs that lets each process see its own union.
22:04:34 <Gregor> Phantom_Hoover__: SPS is dead. Long live SPS.
22:04:37 <elliott> cunionfs is leftist scum, basically.
22:04:46 <Phantom_Hoover__> elliott, do I get five billion monies for writing gravity?
22:04:48 <elliott> Down with the unions!
22:04:54 <elliott> Phantom_Hoover__: No. You get six!
22:05:08 <elliott> Phantom_Hoover__: Did you ever do collision?
22:05:16 <Phantom_Hoover__> elliott, in a sense!
22:05:42 <Phantom_Hoover__> If two point masses (i.e. black holes) collide, the system divides by zero and crashes.
22:05:59 <Phantom_Hoover__> Just like in real life!
22:06:00 <elliott> Phantom_Hoover__: I ... I really hope our universe works like that.
22:06:25 <Phantom_Hoover__> *note: I am unsure if singularities actually "exist" in GR.
22:06:57 <Phantom_Hoover__> In the sense that they are either entirely in your past or in your future, so they can't really do anything.
22:08:14 <elliott> Phantom_Hoover__: Make it instead blow everything up.
22:08:17 <elliott> Crashing is so boring.
22:08:35 <Phantom_Hoover__> elliott, blowing things up? That'll be 20 gajillion moneys.
22:08:42 <elliott> Phantom_Hoover__: http://ishmodupdated.com/
22:08:43 <Phantom_Hoover__> *monies
22:09:02 <Phantom_Hoover__> elliott, did you do that?
22:09:10 <elliott> No.
22:09:13 <Phantom_Hoover__> http://isthatcherdeadyet.co.uk/
22:09:23 <Phantom_Hoover__> A correlation!
22:09:30 <Phantom_Hoover__> But what is the causal relation...
22:09:45 <Phantom_Hoover__> Well, Thatcher wasn't dead, then hmod wasn't updated.
22:10:00 <Phantom_Hoover__> So logically, killing Thatcher will update hMod.
22:10:05 <elliott> Shouldn't it be no, not not.
22:10:41 <elliott> Oh, it's "NOT YET".
22:10:44 <elliott> My zoom broke it.
22:11:16 <Phantom_Hoover__> elliott, sooo.
22:11:25 <elliott> Phantom_Hoover__: ?
22:11:35 <Phantom_Hoover__> Remind me how to do the collision mechanics for non-trivial shapes.
22:12:29 <elliott> Phantom_Hoover__: Make a rectangle. Collide that rectangle.
22:12:34 <elliott> Make the rectangle slightly smaller than the object.
22:12:40 <elliott> Gregor can attest to this method's effectiveness.
22:12:53 <Phantom_Hoover__> WebSplat's collision detection is the suck
22:13:00 <elliott> Except for working well, yes, yes it is :P
22:13:22 <Phantom_Hoover__> Also, surely compiled CL can be a little more decadent than JS?
22:13:52 <elliott> Gregor: Please explain to Phantom_Hoover__ that rectangle collision is how the world works.
22:14:04 <elliott> Er, "the world" being "2D games"
22:14:07 <elliott> *games".
22:14:23 <Phantom_Hoover__> elliott, the big problem with that is that it handles rotation horribly.
22:14:41 <elliott> Phantom_Hoover__: Why?
22:14:49 <elliott> You just rotate the rectangle.
22:15:04 <Phantom_Hoover__> elliott, and then how do you actually *check* if there's a collision?
22:15:32 <elliott> Phantom_Hoover__: "Does this rectangle intersect with this other rectangle?"
22:16:40 <Phantom_Hoover__> elliott, I can't think of an efficient way to do so that doesn't extend to arbitrary polygons.
22:16:53 <Phantom_Hoover__> Or at least triangles and ellipses.
22:17:28 <elliott> http://en.wikipedia.org/wiki/Collision_detection#Video_games
22:17:33 <elliott> Phantom_Hoover__: You don't tilt the rectangles, obviously.
22:17:38 <elliott> You still keep the lines straight.
22:17:54 <elliott> You just rotate the rectangle and interpolate from that to make another rectangle; at least that's what /I'd/ do.
22:17:55 <Phantom_Hoover__> <elliott> You just rotate the rectangle.
22:17:59 <elliott> Yes, yes, yes, shut up.
22:18:12 <elliott> Phantom_Hoover__: Of course you could do arbitrary collision and it'd probably work... but surely there are more worthwhile things to spend CPU time on.
22:18:29 <Phantom_Hoover__> So basically we're back to "split shape up into lots of little rectangles and use rectangle method."
22:18:40 <elliott> Nope.
22:18:44 <elliott> One rectangle per shape.
22:18:52 <Phantom_Hoover__> And when you tilt?
22:18:54 <elliott> But, ehh, I may be wrong, ask Gregor :P
22:19:01 <Phantom_Hoover__> Or rotate?
22:19:05 <elliott> Phantom_Hoover__: Tilt the rectangle; from that, compute another, straight-edged rectangle, with the approximate same dimensions.
22:19:15 <elliott> (You can do this without actually tilting the rectangle, obviously.)
22:19:31 <Phantom_Hoover__> elliott, I do not understand what you are saying at all.
22:19:38 <Phantom_Hoover__> Some sort of diagram is in order.
22:19:52 <elliott> Phantom_Hoover__: Don't worry -- I don't either.
22:20:41 <Phantom_Hoover__> elliott, last thing: do we want accurateish physics or speed?
22:21:09 <elliott> Phantom_Hoover__: If we can get 30fps with semi-decent hardware (i.e. better than our laptops) I'm happy with it.
22:21:13 <elliott> And that's in Amber, not Lisp.
22:21:25 <elliott> Phantom_Hoover__: (I think programming the whole world to a 30 Hz tick is the simplest.)
22:21:46 <elliott> Phantom_Hoover__: But, eh -- do general polygon collision.
22:21:48 <elliott> It might just be fast enough.
22:22:01 <Phantom_Hoover__> I don't know how to do that!
22:22:05 <elliott> Phantom_Hoover__: But if bullets are objects too, then we might be looking at thousands of objects at once :P
22:22:07 <elliott> Phantom_Hoover__: So figure it out!
22:22:09 <Phantom_Hoover__> That's basically how this got started!
22:22:12 <elliott> Phantom_Hoover__: Okay fine.
22:22:15 <elliott> Phantom_Hoover__: Do it any way you want.
22:22:18 <elliott> Or just google :P
22:22:27 <elliott> Phantom_Hoover__: http://gpwiki.org/index.php/Polygon_Collision
22:22:28 <Phantom_Hoover__> Gregor, how would you do this.
22:22:34 <elliott> Complete with broken images, but there you go.
22:22:43 -!- Gracenotes has quit (Remote host closed the connection).
22:22:46 <Phantom_Hoover__> [[In order to prevent embarrassing situations where game objects move right through each other without even noticing, a lot of games utilize some kind of collision detection system. ]]
22:23:11 <Phantom_Hoover__> Pshht.
22:23:32 <Phantom_Hoover__> elliott, FWIW, bullets I think would be done as a specialised kind of object.
22:23:58 <Phantom_Hoover__> With negligible mass or something, and when they hit something they disappear.
22:24:10 <elliott> Phantom_Hoover__: http://www.flipcode.com/archives/Basic_Collision_Detection.shtml
22:24:16 <elliott> http://pogopixels.com/blog/2d-polygon-collision-detection/
22:25:04 <Phantom_Hoover__> elliott, I think we should kind of map out what game we want to make.
22:25:16 <elliott> Phantom_Hoover__: I HAVE NO IDEA YOU'VE REELED ME INTO THIS WITH GRAVITY
22:25:27 <Phantom_Hoover__> i.e. multiplayer deathmatch or something a bit more lasting?
22:31:33 <elliott> Gregor: Is there a way to use OGGGGGGGGGGGGGGGGC without having it automatically-pointer-typedef the defined structures and similar magic?
22:32:54 -!- Gracenotes has joined.
22:33:19 <elliott> pikhq: You know about GCC nested functions, right?
22:33:42 <coppro> nested functions are hilarious
22:33:49 <coppro> I love the way they're implemented (read: not)
22:34:10 <elliott> coppro: Right. Returning them is non-kosher, right?
22:34:15 <coppro> elliott: very
22:34:19 <coppro> elliott: they live on the stack
22:34:59 <elliott> coppro: Hmm. Can one use __builtin_whatever to access gcc's implementation of Ayn Rand^W^WObjectivist-C blocks from a non-Shrugging-Atlas language?
22:35:07 <Phantom_Hoover__> elliott, IIRC the GCC manual says "you can pass the function pointer if you want, but really bad things will happen if you call it after the parent function's stack frame has exited."
22:35:10 <elliott> coppro: Those copy, I think.
22:35:18 <coppro> elliott: blocks?
22:35:28 <coppro> no, those have their own fun
22:35:33 <elliott> coppro: Meaning?
22:35:54 <coppro> elliott: their implementation is different
22:36:01 <elliott> coppro: Precisely.
22:36:05 <coppro> a __block variable IIRC is actually heap-allocated
22:36:07 <elliott> coppro: Can I access their implementation outside of Objective-C?
22:36:10 <coppro> and ref-counted
22:36:12 <coppro> elliott: -fblocks
22:36:13 <elliott> I don't care how ugly or difficult it is.
22:36:19 <elliott> coppro: Does that just ... enable them in regular C?
22:36:23 <coppro> yes
22:36:29 <elliott> coppro: Awesome.
22:36:33 <elliott> coppro: (Is there a reason it isn't awesome?)
22:36:38 <coppro> hrm wait
22:36:42 <coppro> my gcc doesn't appear to have it
22:36:45 <coppro> clang does though
22:36:48 <pikhq> That's a clang thing.
22:36:50 <elliott> $ gcc -fblocks
22:36:50 <elliott> gcc: no input files
22:36:56 <elliott> OK, does gcc have anything similar?
22:37:00 <elliott> I /can/ use clang ... if I have to.
22:37:05 <coppro> pikhq: blocks are implemented in some GCCs aren't they?
22:37:19 <coppro> elliott: gcc complaining about no input files trumps gcc complaining about other options
22:37:25 <elliott> coppro: heh
22:37:35 <elliott> oh right, Apple added them to clang directly, didn't they?
22:37:38 <coppro> hell, sometimes gcc will compile before finding out it doesn't know what an option does
22:37:44 <coppro> elliott: I had thought they were in some GCCs
22:37:46 <coppro> I could be wrong
22:37:55 <elliott> maybe
22:38:01 <coppro> clang certainly does
22:38:04 <elliott> http://www.google.com/search?q=objective-c+blocks+gcc&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:unofficial&client=iceweasel-a
22:38:04 <coppro> and certainly has -fblocks
22:38:06 <elliott> doesn't look like it
22:38:07 <coppro> (also -foverloading)
22:38:14 <elliott> coppro: maybe just in Apple's gcc?
22:38:18 <coppro> elliott: maybe
22:38:24 <coppro> but then the source would have to be available
22:38:27 <coppro> so unlikely
22:38:40 <elliott> coppro: basically I'm implementing a language that compiles down to "something gcc or clang (depending on which I pick) accepts"
22:38:44 <coppro> (and Apple knows better than to piss RMS off by trying to avoid the GPL)
22:38:46 <elliott> coppro: and it has lambdas.
22:38:47 <elliott> so
22:38:55 <coppro> blocks sound like a reasonable solution
22:39:05 <elliott> right
22:39:13 <elliott> it's just i'd rather stick with gcc for ... little reason other than being a luddite
22:39:15 <coppro> (and overloading)
22:39:23 <elliott> coppro: overloading for what?
22:39:27 <coppro> elliott: functions of course
22:39:39 <elliott> coppro: what, why would I enable that?
22:39:48 <coppro> elliott: because I'm trolling you
22:39:56 <elliott> coppro: :p
22:39:57 <Sasha2> anyone know of a good Minecraft server?
22:40:09 <elliott> Sasha2: yes, I know of one.
22:40:10 <coppro> Sasha2: {}
22:40:16 <coppro> so no
22:40:31 <Sasha2> elliott, care to divulge this information with me?
22:40:33 <elliott> coppro: I actually think my language might have function overloading, but it'd be done at the compiler level
22:40:38 <elliott> Sasha2: nope! it's down anyway
22:40:49 <elliott> coppro: I'm already doing my own mangling, for namespaces.
22:40:50 <Sasha2> eh
22:40:57 <coppro> elliott: yeah, I can't imagine a meta-compiler getting a lot out of -foverloading
22:41:26 <elliott> coppro: I wonder how hard it is to add gdb support for a language. :)
22:41:37 <elliott> (mostly just demangling, since I think #line and the like will already have gdb show the correct source lines)
22:41:38 <coppro> elliott:I wonder too... :p
22:41:54 <coppro> what about expression evaluation?
22:41:58 <coppro> gdb can't do that for C
22:42:00 <coppro> much less your language
22:42:20 <elliott> coppro: let's just say that gdb has its own little language and leave it at that :P
22:42:30 <elliott> coppro: I'm still using C structs and stuff... well, depends how much Gregor's GGGGGGGGC mangles structs
22:42:33 <elliott> Gregor: how much does it mangle structs?
22:55:06 <Vorpal> elliott, btw, for what it is worth, I talked with a prof doing compsci (the "mathy" kind of compsci even) some days ago, and I asked about the issue with what TC really is (mentioning the example with "one-program-only" languages). He said that the original definition of turing-complete really had no concept of input separate from the program, thus it being somewhat ill-defined.
22:55:37 <elliott> Well, yes. But I don't see how you can formulate ais523's proof without some notion of input.
22:55:58 <Vorpal> elliott, however, he argued that input should /probably/ be considered part of the program
22:56:27 <elliott> Probably, yes, but I can't see how to word ais523's proof without it.
22:56:47 <Vorpal> elliott, maybe the proof doesn't work then?
22:57:07 <elliott> Vorpal: No, I mean, I can't see how you'd even /state/ the false proof without having a notion of input.
22:57:18 <Vorpal> elliott, hm
22:57:33 <elliott> I may be wrong.
22:57:42 <elliott> Although you can maybe just rewrite:
22:57:49 <Vorpal> elliott, this is about the price I presume?
22:57:56 <elliott> run([P], I) as run([P(I)]).
22:58:02 <elliott> Where [...] means "the language's equivalent of".
22:58:07 <elliott> But how do you define that for brainfuck? or a CA?
22:58:09 <elliott> Vorpal: The price of what?
22:58:13 <elliott> Oh, the prize. Yes.
22:58:14 <Vorpal> elliott, wolfram?
22:58:19 <elliott> <elliott> run([P], I) as run([P(I)]).
22:58:19 <elliott> <elliott> Where [...] means "the language's equivalent of".
22:58:19 <elliott> <elliott> But how do you define that for brainfuck? or a CA?
22:58:19 <Vorpal> elliott, damn english
22:58:43 <Vorpal> I don't know enough about the details of that prize proof to make any sort of constructive comment with regards to it
22:58:54 <Vorpal> elliott, and brainfuck is easy. It is fine without IO. P''
22:59:04 <Vorpal> if that is what you meant
22:59:09 <elliott> Vorpal: No, you do not understand at all.
22:59:24 <Vorpal> elliott, then what did you mean?
22:59:38 <elliott> Let's say our current form is run(P,I) where P is the program string and I is the input. Let [Q] denote a program string with semantics equivalent to the mathematical expression Q.
22:59:46 <elliott> Now let's say the input-less run is run'.
22:59:49 <elliott> We can rewrite:
22:59:56 <elliott> run([P], I) as run'([P(I)]).
23:00:00 <Vorpal> right
23:00:03 <elliott> But I do not know how to define [f(x)] for e.g. Brainfuck, cellular automata, etc.
23:00:18 <Vorpal> elliott, classical for brainfuck P(I) would be P+"@"+I iirc
23:00:22 <elliott> With Brainfuck you'd have to do a lot of tape-tracking probably.
23:00:26 <elliott> Vorpal: ...wow, you really don't understand at all.
23:00:32 <Vorpal> elliott, oh you meant like that
23:00:34 <Vorpal> right
23:00:35 <elliott> Vorpal: If you do that why remove input from the equation?
23:00:39 <elliott> You'd gain nothing.
23:01:21 <Vorpal> hm true
23:02:01 <Vorpal> elliott, for a CA, what would be P be? the initial state? The rules?
23:02:27 <Vorpal> I presume the former, but then that seems the same as input
23:03:24 <Vorpal> elliott, but yeah it is a tricky issue in general.
23:03:39 <elliott> Vorpal: P would be the initial state.
23:03:41 <elliott> The rules are the language.
23:03:46 <elliott> initial state = program
23:03:47 <Vorpal> right
23:03:51 <elliott> True, CAs don't have input.
23:03:53 <elliott> So bad example.
23:04:00 <Vorpal> elliott, right, that is why I got confused
23:05:03 <Vorpal> elliott, still, I don't think we can define TC sensibly with I/O. Imagine hooking a bf, somehow crippled to be non-TC (exactly how is not important for the concept), but able to do IO to something able to do TC calculations
23:05:46 <Vorpal> elliott, what was Sgeo's bf thing called now again?
23:05:59 <Vorpal> same idea basically (except with something more interesting)
23:06:13 <elliott> <Vorpal> elliott, still, I don't think we can define TC sensibly with I/O. Imagine hooking a bf, somehow crippled to be non-TC (exactly how is not important for the concept), but able to do IO to something able to do TC calculations
23:06:20 <elliott> Sure; the combination of those two is TC.
23:06:25 <Vorpal> elliott, yeah
23:06:29 <elliott> TC + non-TC system = TC.
23:10:03 <elliott> Vorpal: Unrelatedly, got a better way to write this C99 program? http://sprunge.us/BLMO
23:10:25 <Vorpal> elliott, I'm not in a C-ish mode really atm. but I'll take a look
23:10:54 <Vorpal> elliott, that's err... interesting
23:11:01 <elliott> Indeed :P
23:11:22 <elliott> Can't figure out how to do it in one assignment.
23:11:25 <Vorpal> elliott, I never used variable length elements at the end of structs that were not only allocated dynamically
23:11:38 <Vorpal> elliott, well you could probably do that
23:11:47 <Vorpal> elliott, but I thought you wanted to avoid the extra struct
23:11:49 <Vorpal> which is harder
23:11:54 <elliott> Vorpal: Well, yes, I would rather.
23:12:08 <elliott> TBH, I'll probably end up dynamically allocating it and copying the string in.
23:12:12 <elliott> i.e.
23:12:19 <elliott> ByteString *str = malloc(sizeof ByteString + 3);
23:12:22 <elliott> str->length = 3;
23:12:24 <elliott> str->alloc = 3;
23:12:32 <elliott> strcpy(str->bytes, "abc");
23:12:33 <Vorpal> elliott, I got a hunch how to do it in one assignment. I have no clue how to do it without defining a new struct type
23:12:39 <elliott> Vorpal: One assignment would be cool.
23:12:49 <Vorpal> elliott, need to look something up for it
23:13:19 <Vorpal> return (funge_vector) { .x = x, .y = y };
23:13:24 <Vorpal> elliott, you can do that sort of stuff
23:13:34 <Vorpal> elliott, (btw, this makes splint go mad :D)
23:13:45 <Vorpal> elliott, I suspect you could use the same general idea here
23:14:03 <elliott> Vorpal: I already tried that.
23:14:07 <elliott> Vorpal: You can't cast a struct.
23:14:09 <elliott> That syntax is LIES.
23:14:19 <elliott> Vorpal: You can't even do
23:14:22 <elliott> ByteString x = { ... }
23:14:23 <Vorpal> elliott, ah... so it's rather special cased syntax
23:14:27 <elliott> because it thinks "abc" is non-constant
23:14:31 <elliott> because the pointer could be ANYTHOMG!!
23:14:33 <elliott> or something
23:14:35 <Vorpal> elliott, err
23:14:40 <elliott> seriously
23:14:40 <Deewiant> If you want a pointer to something you need to allocate storage for it, you can't do that in one assignment
23:14:50 <elliott> Deewiant: True.
23:14:52 <Vorpal> elliott, you can assign a constant string, you just did: __str0_v = {3,3,"abc"};
23:14:55 <elliott> It's compiler output anyway. So no big deal.
23:14:56 <elliott> Vorpal: nope
23:15:01 <elliott> Vorpal: not with ByteString
23:15:04 <elliott> Vorpal: VLAs are special
23:15:06 <elliott> in the retarded sense
23:15:07 <Vorpal> elliott, ah right
23:15:20 <Vorpal> elliott, why not make it a char*, then you could I think
23:15:23 <Vorpal> or cost char*
23:15:33 <elliott> Vorpal: Because that's another memory allocation for no reason?
23:15:47 <Vorpal> elliott, well, it would make an extra pointer
23:16:03 <Vorpal> elliott, but the string would go in .rodata
23:16:18 <elliott> ByteString *str = malloc(sizeof ByteString + 3);
23:16:18 <elliott> str->length = 3;
23:16:18 <elliott> str->alloc = 3;
23:16:18 <elliott> memcpy(str->bytes, "abc", 3);
23:16:20 <elliott> That should do.
23:16:22 <Vorpal> elliott, suggestion: don't use C
23:16:24 <elliott> str can be reallocated willy-nilly anyway.
23:16:27 <elliott> Vorpal: it's COMPILER OUTPUT.
23:16:33 <Vorpal> elliott, ah...
23:16:36 <Vorpal> elliott, LLVM IR!
23:16:38 <elliott> I'm not writing a compiler that compiles to Haskell, that would just be ridiculous.
23:16:40 <elliott> Vorpal: Ugh
23:16:45 <Vorpal> elliott, :P
23:16:47 <elliott> Vorpal: I'm doing lambdas, you know! :p
23:16:52 <Vorpal> elliott, compiling to haskell sounds fun
23:16:54 <elliott> Vorpal: Which means I'm probably using clang, for its blocks-in-C support.
23:17:06 <Vorpal> elliott, why not use pikhq's code for that
23:17:07 <Vorpal> :D
23:17:20 <Vorpal> didn't he even have closures
23:17:35 <elliott> Vorpal: Not ones you could return.
23:17:40 <elliott> Which is KINDA IMPORTANT
23:19:21 <elliott> [[They never go back to fix bugs where they occur. They write new code to workaround the earlier failure case. I asked why they don't go back and just fix the bug where it happens. I was told "We can't go back and change it. That code's already done!" Their solution for insuring that failing code will be able to get to its workaround is the GOTO statement. GOTO is sprinkled liberally around other code, pointing to functions and routines that do n
23:19:21 <elliott> ot exist yet. If, down the road, it is discovered that the old code has a bug, they find out which GOTOs exist in that code that do not point to anything yet, pick one, and write the workaround there.]]
23:19:24 <elliott> They've clearly never heard of COME FROM.
23:20:38 <elliott> I wonder if (Gregor) GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGC works with clang.
23:20:53 <elliott> Vorpal: You know what everyone loves??? NAME MANGLING
23:28:22 <pikhq> elliott: You can return the nested function pointers so long as they don't close.
23:28:34 <Vorpal> elliott, well... there are some reasonable cases for it. something like module_func_arity could work for some languages, except the one I know that would want that allows any valid atom for module and function name
23:28:42 <pikhq> elliott: Which is why my code did manual management of closing instead of using GCC's closing.
23:28:47 <elliott> M2myM7awesome_function
23:29:05 <pikhq> Also, it's technically not guaranteed to work at all, it just happens to.
23:29:06 <Vorpal> elliott, but what about names like is-int?
23:29:20 <elliott> unsupported
23:29:27 <Vorpal> elliott, so it isn't a scheme-ish
23:34:13 <Vorpal> elliott, what language are you compiling?
23:34:30 <elliott> amber
23:34:42 <Vorpal> elliott, never heard of it, is it an esolang?
23:34:47 <elliott> no
23:34:48 <Vorpal> which sort of esolang the
23:34:50 <Vorpal> elliott, ah
23:34:53 <Vorpal> elliott, then what is it? :D
23:35:14 <elliott> brb
23:39:28 <Phantom_Hoover__> Vorpal, it's his C-with-lambdas-and-GC.
23:41:36 <Vorpal> Phantom_Hoover__, and something that needs name mangling too
23:45:55 <elliott> Phantom_Hoover__: Not quite true. plz leave explainin' to me
23:46:29 <Vorpal> elliott, waiting for that
23:46:44 <Vorpal> elliott, going to sleep in 5-10 minutes
23:46:53 <elliott> Vorpal: Yes, yes.
23:46:54 <elliott> I was busy.
23:46:55 <elliott> Okay, so.
23:47:19 <elliott> Vorpal: Basically it's a language whose semantics map very directly to C, but with GC, lambdas, saner structure declarations, nicer syntax, foreach and the like, ETC.
23:47:39 -!- cheater99 has joined.
23:47:40 <Vorpal> hm nice
23:47:44 <elliott> Vorpal: It reuses (most of) the C standard library (well, with our own string structure and library), and creating bindings is as easy as making a new module, converting (automatically) a C header, and mangling them.
23:47:47 -!- cheater99 has quit (Read error: Connection reset by peer).
23:47:51 <elliott> e.g. SDL_Foo you probably want as sdl.foo.
23:48:01 <elliott> Vorpal: The target market is basically game development.
23:48:26 <elliott> Vorpal: The idea is that you don't need bindings at all because the calling convention is exactly the same, etc.
23:48:36 <elliott> Name mangling is for the namespaces/modules.
23:48:44 <elliott> M2myM7awesome_function is my.awesome.function.
23:48:58 <Vorpal> hm nice
23:49:08 <elliott> name := M<length><identifier><name> | _<identifier>
23:49:25 <Vorpal> elliott, you need some bindings to handle your "saner structs"
23:49:35 <Vorpal> elliott, or can you just include a C header file?
23:50:16 <Vorpal> elliott, and you probably need some kind of C-string<->sane-string mapping too
23:50:47 <elliott> <Vorpal> elliott, you need some bindings to handle your "saner structs"
23:50:55 <elliott> By saner structs I just mean you access stack and heap allocates ones the same :P
23:51:01 <Vorpal> ah
23:51:03 <elliott> In fact I might not have stack structs.
23:51:07 <elliott> <Vorpal> elliott, and you probably need some kind of C-string<->sane-string mapping too
23:51:07 <Vorpal> elliott, so . = -> ?
23:51:10 <elliott> Yes, that's the one thing that will be mapped.
23:51:14 <elliott> (just s ===> s->bytes)
23:51:20 <elliott> (since they're kept null-terminated)
23:51:26 <elliott> Vorpal: But yeah, I might just have heap structs only. Not sure.
23:51:30 <elliott> No pointer type, I think.
23:52:04 <Vorpal> elliott, hm. That will make interfacing with stuff like sdl and allegro a bit more painful
23:52:09 <elliott> Vorpal: Why?
23:52:18 <Vorpal> elliott, I'm pretty sure there are foo **bar style pointers there
23:52:30 <elliott> Vorpal: Well, right, I'll have to see. I can't have totally-general pointers though 'cuz of the GC.
23:52:39 <elliott> (The first program (well, game) written in it will be Allegro-based. Or SDL.)
23:53:05 <Vorpal> elliott, I have to say I find sdl nicer. Even though allegro is higher level
23:53:23 <elliott> Vorpal: I'm going to look at Allegro 5.
23:53:29 <elliott> Since it's out real-soon-now.
23:53:34 <Vorpal> elliott, I never really found any use for more than blitting sprites, rotation and drawing primitives. All of which SDL can do
23:53:40 <Vorpal> elliott, yeah I haven't looked at allegro5
23:53:46 <Vorpal> only at the older one
23:53:51 <elliott> Vorpal: Well, it's a 2D game here.
23:53:56 <elliott> But with quite a lot of things to keep track of.
23:54:07 <Vorpal> elliott, right, I written 2D games with both allegro and sdl.
23:54:11 <Vorpal> I have*
23:54:31 <elliott> I blame Phantom_Hoover__ for this endeavour entirely, BTW.
23:54:33 <elliott> Well, not the language.
23:55:12 <Vorpal> elliott, so, do you think you will complete this project within the next few months?
23:55:17 <Vorpal> or will it be put on hold
23:55:20 <Vorpal> like a lot of other things
23:55:21 <Sgeo> Why was Vorpal asking about PSOX?
23:55:26 <elliott> Vorpal: Well, Phantom_Hoover__'s already written some code and is writing more.
23:55:38 <elliott> Admittedly it's in Common Lisp, but Phantom_Hoover__ writing code is rare enough that at least some dedication appears to exist.
23:55:56 <Vorpal> elliott, he codes?
23:56:00 <Vorpal> elliott, I wasn't aware of that
23:56:06 <elliott> Vorpal: I think this is his fifth program. Phantom_Hoover__?
23:56:14 <Vorpal> elliott, I thought he was purely theoretical
23:56:32 <elliott> I'm purely theoretical. I don't exist in practice.
23:56:49 <Vorpal> elliott, and you... code a shitload. Just you do breadth-first not depth-first.
23:57:06 <elliott> :p
23:57:20 <elliott> Vorpal: Well, Amber is specifically designed to be really easy to compile to C.
23:57:36 <Vorpal> elliott, still requires writing a parser
23:57:38 <elliott> Once I have a parser, it should be pretty trivial.
23:57:39 <Vorpal> as far as I can tell
23:57:39 <elliott> Vorpal: Well, yes.
23:57:49 <elliott> Vorpal: I'm probably going to write the compiler in Python for the "it's there"-ness of it.
23:57:59 <Vorpal> elliott, and parsers I can't help with. Anything more complex than parsing, say, brainfuck I hate
23:58:14 <elliott> Vorpal: (The game is probably going to be commercial-but-comes-with-source-that-you-can-distribute-modifications-of, so having the compiler be portable is an added bonus.)
23:58:24 <Phantom_Hoover__> elliott, 5 is probably generous.
23:58:38 <elliott> But yeah, I'll be using one of those magic-BNF-parser tools. The C compiler time will dwarf whatever time it takes to translate to C, anyway.
23:58:44 <Vorpal> elliott, when I absolutely have to parse I tend to do it as basic as possible. Absolutely no "lenient in what you accept"
23:58:46 -!- Sasha has joined.
23:59:02 <Vorpal> elliott, what is the game btw?
23:59:24 <Vorpal> elliott, magic-BNF? lex and yacc?
23:59:25 -!- Sasha2 has quit (Read error: No route to host).
23:59:32 <elliott> Vorpal: 2D Newtonian mechanics third-person space flight/combat simulator. We're not sure exactly /what/ it's going to be yet, but something like that.
23:59:35 <elliott> Vorpal: Definitely Newtonian.
23:59:45 <elliott> Vorpal: Imagine Asteroids, times a few billion.
23:59:54 <elliott> Vorpal: Also: Localised changes to the laws of physics as a tactical weapon!
2010-12-23
00:00:04 <Vorpal> elliott, asteroids. Don't think I actually played that
00:00:16 <Vorpal> elliott, isn't it like Ambrosia's Maelstrom?
00:00:19 <elliott> Vorpal: It's that thing where you're a triangle and there are hollow rocks around you.
00:00:26 <elliott> http://upload.wikimedia.org/wikipedia/en/1/13/Asteroi1.png
00:00:32 <elliott> And you spin around shooting them.
00:00:53 <Vorpal> elliott, do large ones break into smaller when hit?
00:01:04 <elliott> Yes.
00:01:06 <Vorpal> elliott, if so it is exactly like maelstrom, except with worse graphics
00:01:19 <elliott> To be fair, it almost certainly predated Maelstrom by a long, long time :P
00:01:24 <elliott> (1979)
00:01:25 <Vorpal> elliott, yes quite
00:01:31 <Vorpal> elliott, you played the latter?
00:01:38 <elliott> Maelstrom is a 1992[1] clone of Asteroids with an improved graphics and interface.[2][3] Many of Ambrosia's subsequent shareware titles followed in a similar formula.
00:01:40 <elliott> I haven't.
00:01:50 <Vorpal> elliott, http://en.wikipedia.org/wiki/File:Maelstrom_screenshot.png
00:01:56 <elliott> I have used exactly two Macs in my life for more than a few seconds, I think.
00:02:10 <elliott> One was someone else's eMac I used once, the other is my iMac.
00:02:16 <elliott> Although to be fair it's rapidly approaching three.
00:02:19 <Vorpal> emac... what one was that now again?
00:02:31 <elliott> Vorpal: you know the original iMac?
00:02:33 <elliott> Like that, but white.
00:02:39 <Vorpal> eh
00:02:57 <Vorpal> elliott, I do know the original imac. And it came in a snow white edition later. And flower power
00:03:29 <elliott> http://www.extensions.in.th/post/emac/emac2.jpg
00:03:34 <elliott> It was short for "education Mac".
00:03:43 <elliott> The eMac, short for education Mac, was a Macintosh desktop computer made by Apple Inc. It was originally aimed at the education market, then available as a cheaper mass market option over Apple's second generation iMac. The eMac design closely resembled first-generation iMacs. It sports a PowerPC G4 processor significantly faster than the older iMac's G3 processor, and a larger 17" flat display.
00:03:47 -!- Sgeo_ has joined.
00:03:47 -!- cheater99 has joined.
00:04:07 <Vorpal> that looks OS-X-ish
00:04:13 <elliott> Naw.
00:04:15 <elliott> OS 8, OS 9.
00:04:19 <Vorpal> on the image it does
00:04:20 <elliott> Although it did last for several years under OS X, yes
00:04:22 <elliott> *yes.
00:04:25 <elliott> Until 2005.
00:04:26 <Vorpal> ah
00:04:28 <elliott> Well, 2005/2006.
00:04:30 <elliott> But nobody bought it.
00:04:45 <elliott> Vorpal: Anyway we've ruled out MMO because MMO physics, synchronisation and servers sounds like FUN (read: pain).
00:04:56 <elliott> Vorpal: So it's either going to be a deathmatch game or [insert other thing here].
00:05:12 <Vorpal> elliott, I know a guy good at MMO
00:05:14 <Vorpal> a swede
00:05:21 <Vorpal> elliott, I think he went by the name notch
00:05:24 <Vorpal> you may ask him
00:05:29 <elliott> Vorpal: You have a strange definition of good.
00:05:33 <Vorpal> elliott, XD
00:05:39 <elliott> Vorpal: Also of MMO, Minecraft servers rarely have /that/ many people on them :P
00:05:54 <Vorpal> elliott, indeed. AND IT IS ALREADY BUGGY!
00:05:54 -!- cheater99 has quit (Read error: Connection reset by peer).
00:06:01 <Sgeo_> BZFlag!
00:06:11 <elliott> Vorpal: I feel kinda bad doing copyleft ...
00:06:23 <Sgeo_> BZFlag servers have lots of people on them!
00:06:23 <Vorpal> elliott, alt: it is MMO for minecraft
00:06:27 <Vorpal> (massive there = 10)
00:06:36 <Vorpal> elliott, XD
00:06:38 -!- Sgeo has quit (Ping timeout: 240 seconds).
00:06:41 <Sgeo_> (and lots of cheating, but I digress)
00:06:48 <Vorpal> elliott, and copyleft rocks!
00:06:53 <Vorpal> elliott, you are seeing the light
00:07:01 <elliott> Vorpal: (As in, the game will be released under "sorta-copyleft": it's copyleft, except you can't distribute anything more than patches in public, basically.)
00:07:10 <elliott> Because otherwise people could just post the entire source :P
00:07:28 <Sgeo_> elliott, you're turning evil?
00:07:43 <elliott> Sgeo_: Yes; mwahahaha, look at my fangs.
00:07:59 <elliott> So evil that I'm considering putting it on a torrent site as a potential solution for slow sales.
00:08:03 <elliott> MWAHAHAHAHA
00:08:08 <elliott> (Note: Phantom_Hoover__ is not nearly as insane as me.)
00:08:30 <Phantom_Hoover__> elliott, of the two of us, who thought of the negative mass engine?
00:08:35 <Vorpal> elliott, hm "On July 5, 2006, an "educational configuration" of the iMac Core Duo was introduced, discontinuing and replacing the entire eMac line. The new iMac has a Combo drive rather than a SuperDrive and a smaller hard disk of 80 GB."
00:08:40 <Vorpal> elliott, this sound feeble
00:08:54 <Vorpal> elliott, I mean, for education you want power machines
00:09:00 <elliott> Vorpal: Are you being serious.
00:09:01 <elliott> Phantom_Hoover__: Well, okay, you.
00:09:17 <elliott> Phantom_Hoover__: But I'm crazy enough to want to release the whole thing as free-as-in-beer and open source after sales trickle off!
00:09:33 <Phantom_Hoover__> Pssht, Notch thought of that.
00:09:43 <elliott> TAKE THAT, CAPITALISM! I AM GOING TO BE AS NONCONFORMIST AND HIPPIE AS I CAN WHILE STILL RELYING ON THE SALE OF DATA TO MAKE A LIVING!
00:09:51 <Vorpal> elliott, yes quite. We all have Core 2 Quad or better in most labs at university. (so there are a few old ones with p4 and CRT iirc, but they are an exception)
00:09:59 <elliott> Vorpal: education != uni
00:10:01 <elliott> education = school
00:10:07 <elliott> = budget of approx. £0
00:10:12 <Vorpal> (and they are only there because other computers are non-legacy)
00:10:25 <Vorpal> (and we need parport programmers for some stuff)
00:10:28 <Vorpal> (like FPGAs)
00:10:31 <elliott> MIT still use Athena :P
00:10:42 <Vorpal> elliott, yeah but that is software. There is no excuse
00:10:48 <Phantom_Hoover__> elliott, FUN FACT: as far as I can tell, the Edinburgh Council computers all have BT branding as their screensavers.
00:10:59 <Vorpal> Phantom_Hoover__, BT?
00:11:00 <elliott> Phantom_Hoover__: wat.
00:11:02 <Phantom_Hoover__> And they refer to their "customers", which annoys me intensely.
00:11:02 <elliott> Vorpal: British Telecom.
00:11:08 <Vorpal> huh
00:11:10 <Vorpal> Phantom_Hoover__, WAT
00:11:11 <Phantom_Hoover__> YOU ARE A COUNCIL. NOT A BUSINESS.
00:11:13 <elliott> Heh, customers of the government.
00:11:20 <Phantom_Hoover__> LIVE WITH IT.
00:11:25 <elliott> Isn't it more like the government is *our* customer?
00:11:28 <elliott> Sort of.
00:11:36 <elliott> Well, really, the government is our contractor.
00:11:40 -!- infanticide has joined.
00:11:42 <elliott> We just seem to forget that every now and then.
00:11:44 <elliott> infanticide: GAK!
00:11:52 <infanticide> :)
00:11:56 <Phantom_Hoover__> It's more like "commercial metaphors can only lead to naïvety".
00:12:19 <elliott> Phantom_Hoover__: Sure.
00:12:29 <elliott> Phantom_Hoover__: But the government are definitely supposed to work for us. :p
00:12:34 <Vorpal> elliott, anyway, why athena?
00:12:41 <Vorpal> elliott, I mean.... there is no excuse to use that
00:12:51 <elliott> Vorpal: Because they invented it, and they have a LOT of machines with it.
00:12:58 <elliott> Vorpal: Hey, it runs gnome now. :p
00:13:03 <elliott> (And is based on Ubuntu, now, I think)
00:13:05 <Sgeo_> "og:url - The canonical, permanent URL of the page representing the entity. When you use Open Graph tags, the Like button posts a link to the og:url instead of the URL in the Like button code."
00:13:07 <Sgeo_> WTF
00:13:15 <elliott> Sgeo_: What?
00:13:22 <Sgeo_> That doesn't sound the least bit abusable
00:13:30 <Sgeo_> http://developers.facebook.com/docs/reference/plugins/like
00:13:32 <Vorpal> elliott, wait, a second, isn't athena just a GUI toolkit?
00:13:39 <elliott> Sgeo_: what
00:13:41 <elliott> Vorpal: no
00:13:48 <Vorpal> elliott, oh
00:13:57 <elliott> Vorpal: Athena is just what some people call Xaw, because Project Athena at MIT (involving DEC and IBM) created it
00:14:11 <elliott> Vorpal: Athena created X11, Kerberos and Zephyr.
00:14:27 -!- Zuu has joined.
00:14:28 <Vorpal> elliott, ah
00:14:29 -!- Zuu has quit (Client Quit).
00:14:48 <elliott> Vorpal: tl;dr: if MIT wants to have a bunch of semi-thin clients, they buy a bunch of expensive workstations, put Unix on them, invent X11 and Kerberos, connect them to a server, and call them thin clients.
00:14:53 <elliott> "Students would have access to (for the time) high performance graphical workstations, capable of 1 million instructions per second and having 1 megabyte of RAM and a 1 megapixel display." <-- THIN CLIENT
00:15:03 -!- Zuu has joined.
00:15:59 <Vorpal> elliott, well, if you need to do advanced computation then a lot of local resources might be good
00:16:07 <elliott> Vorpal: They're used to run Emacs :P
00:16:29 <Vorpal> elliott, see!
00:16:36 <elliott> ha
00:16:44 <elliott> eight megabytes and constantly swapping, not one!
00:16:49 <elliott> (okay, so they've been upgraded since then)
00:16:54 <elliott> Vorpal: http://blog.spang.cc/images/clean-athena.png Athena as of a few years ago.
00:17:03 <elliott> Vorpal: I understand it has been upgraded to be Ubuntu-based since then and probably the visuals too.
00:17:06 <pikhq> elliott: Well, when they started getting high-quality workstations was much more expensive than getting high-quality X terminals and UNIX systems.
00:17:11 <elliott> Vorpal: (That's GNOME 2.8. *In 2008.*)
00:17:25 <elliott> pikhq: X terminals didn't exist because X11 didn't exist.
00:17:31 <Vorpal> <elliott> Vorpal: http://blog.spang.cc/images/clean-athena.png Athena as of a few years ago. <-- still decent
00:17:35 <elliott> pikhq: They bought high-end workstations: 1 MIPS, 1 MB RAM, 1 megapixel display.
00:17:36 <Vorpal> compared to the original
00:17:39 <pikhq> elliott: ...
00:17:40 <elliott> Vorpal: 2.8!!!
00:17:44 <pikhq> elliott: Dear God.
00:17:46 <Vorpal> elliott, what version is gnome now. 2.16?
00:17:47 <pikhq> elliott: The overkill.
00:17:47 <Vorpal> I forgot
00:17:48 <elliott> pikhq: They /invented X/ to run on these.
00:17:50 <elliott> Vorpal: 2.32.
00:18:05 <elliott> Vorpal: 2.8 came out in 2004.
00:18:06 <pikhq> elliott: Okay, Athena would have made sense if X terminals were easily available.
00:18:11 <pikhq> elliott: But holy God that's nuts.
00:18:15 <elliott> pikhq: *AWESOME
00:18:16 <elliott> pikhq: Not nuts!
00:18:23 <Vorpal> pikhq, awesome for the students there
00:18:26 <pikhq> elliott: Okay, yes, I was actually looking for "crazy awesome".
00:18:28 <elliott> pikhq: Anyway, they all have their own copy of GNOME I think.
00:18:33 <elliott> Just /some/ apps are on a server.
00:18:40 <elliott> I think Emacs is, for instance.
00:18:42 <elliott> Maybe.
00:18:44 <Vorpal> elliott, except those at the AI lab. They had lisp machines
00:18:47 <elliott> Dunno about Firefox.
00:18:57 <Vorpal> (at some point at least)
00:19:03 <elliott> Vorpal: I'm pretty sure anyone could go down to the AI Lab :P
00:19:05 <pikhq> Vorpal: Lisp machines were falling out of vogue by the time Athena came into play.
00:19:11 <Vorpal> pikhq, ah
00:19:25 <pikhq> Though MIT almost certainly still had plenty at the AI lab.
00:19:29 <elliott> Athena started in 1983.
00:19:33 <elliott> So not "really".
00:19:41 <elliott> But yeah, it didn't take long for them to decline.
00:19:57 <elliott> Were they Symbolics, though? I doubt it.
00:20:02 <elliott> Since Symbolics grew out of the AI Lab.
00:20:20 <pikhq> Probably the AI Lab-built machines.
00:21:02 -!- Phantom_Hoover__ has quit (Remote host closed the connection).
00:21:50 <pikhq> It amazes me that X actually has support code for widget libraries.
00:22:01 -!- cheater99 has joined.
00:22:08 <pikhq> Even though it was last used over a decade ago.
00:23:38 <elliott> widget libraries?
00:23:42 <elliott> presumably not gtk etc
00:24:32 <pikhq> Xaw and Motif.
00:24:48 <pikhq> They called out to Xt.
00:25:06 -!- cheater99 has quit (Read error: Connection reset by peer).
00:25:10 <Vorpal> night →
00:25:28 <elliott> pikhq: People still use Xaw. And Motif.
00:25:40 <Sgeo_> If Vorpal moves left, will time move backwards back into day?
00:25:51 <elliott> DEEP.
00:28:06 <elliott> pikhq: I NEED LANGUAGE SUGGESTIONS
00:29:28 <Sgeo_> elliott, Falcon Factor Haskell C C++ Java Newspeak Smalltalk Ur Python BancSTAR Brainfuck
00:29:34 <Sgeo_> ^^in no particular order
00:29:37 <elliott> Fail at interpreting my statement.
00:30:59 <elliott> pikhq: What would JESUS put in a language???
00:31:44 <elliott> coppro:
00:31:45 <elliott> elliott@dinky:~$ clang -fblocks bar.c -o bar
00:31:45 <elliott> /tmp/cc-FT8NmW.o:(.rodata+0x20): undefined reference to `_NSConcreteGlobalBlock'
00:31:47 <elliott> coppro: :(
00:32:40 <elliott> coppro: You never told me blocks don't work as regular function pointers :|
00:32:50 <pikhq> elliott: Jesus would put salvation into a language, and everyone else would turn it into C++.
00:32:52 <Sgeo_> elliott, something that prevents debuggers and statements used in a debugging context from working properly. You need faith that the program will work properly.
00:34:36 <elliott> "Clang doesn't yet provide an easy way to use blocks on platforms that don't have built-in operating system support (e.g., SnowLeopard)."
00:34:40 <elliott> pikhq: Can I see your copying code?
00:35:03 <pikhq> elliott: That line is bullshit.
00:35:13 <pikhq> elliott: http://compiler-rt.llvm.org/ You just need that library installed.
00:35:20 <elliott> pikhq: Right. Apparently it's not so mature though.
00:35:27 <elliott> (They linked to that in the same comment.)
00:36:13 <elliott> pikhq: But srsly, you can't use blocks as function pointers.
00:36:15 <elliott> i.e. useless to me
00:36:19 <elliott> No?
00:36:35 <pikhq> http://sprunge.us/eFJC There's a self-contained example.
00:36:53 <elliott> <elliott> pikhq: But srsly, you can't use blocks as function pointers.
00:36:54 <elliott> Is this true?
00:37:01 <pikhq> Hmm. Yeah, it is.
00:37:26 <elliott> <pikhq> http://sprunge.us/eFJC There's a self-contained example.
00:37:31 <elliott> Any way to avoid being explicit with the closure?
00:37:38 <elliott> That's kind of a pain as a compiler-writer.
00:37:38 <pikhq> No.
00:38:05 <elliott> What's the name of the compiler-rt lib?
00:38:20 <elliott> There's librt but it's not that.
00:40:31 <elliott> pikhq: Are you suuure I can't avoid explicit closing?
00:40:59 -!- cheater99 has joined.
00:41:31 <pikhq> elliott: If you can avoid ever popping the function off the stack, you can use GCC's automatic closing.
00:41:40 -!- zzo38 has joined.
00:41:56 <elliott> pikhq: Hmm. Well, can I just list all the variables mentioned in the function body and that would be sufficient?
00:42:12 <elliott> pikhq: Also: How do you avoid invoking gcc's automatic closing in that code?
00:42:17 <zzo38> Should C have a allocprintf command?
00:42:32 <elliott> zzo38: To do what?
00:42:43 <zzo38> elliott: What do *you* think?
00:42:50 <elliott> zzo38: I have no idea.
00:43:00 <pikhq> elliott: I do not ever use any variable from the enclosing scope.
00:43:07 <Sgeo_> zzo38, how difficult would it be to port MegaZeux to Flash?
00:43:12 <zzo38> elliott: You cannot guess what I meant?
00:43:14 <elliott> pikhq: Heh.
00:43:16 <elliott> zzo38: No.
00:43:29 -!- cheater99 has quit (Read error: Connection reset by peer).
00:43:29 <zzo38> Sgeo_: I don't know. But I suggest you don't port MegaZeux to Flash.
00:43:56 <Sgeo_> :(
00:43:57 <zzo38> Can you compile C programs with SDL into Flash? If so, then it is easy. But I don't think you can do that.
00:44:08 <elliott> Well, you can compile C to Flash.
00:44:12 <elliott> A guy ported Doom to Flash that way.
00:45:07 <zzo38> Sgeo_: Why do you want it in Flash anyways? It is much better native (it will both be faster and will not require a Flash player).
00:45:34 <Sgeo_> So more people will play MegaZeux games!
00:46:11 <zzo38> Sgeo_: MegaZeux will compile on most operating systems, including Nintendo DS.
00:47:02 <Sgeo_> It's impossible to get lazy people to go through that effort to play what feels like a flash game
00:47:04 <zzo38> (But if you can find a way to compile C programs with SDL into Flash, you can try compiling mzxrun only into Flash, although I still don't like it.)
00:51:03 <zzo38> Sgeo_: Mainstream MegaZeux executables are available for most common operating systems. For my version, executable is available only on Windows to download, but it works on other operating systems too. If anyone wants to contribute executables of my MegaZeux in other operating system, I might post a link to those ones too.
00:51:53 <zzo38> elliott: What I meant by "allocprintf" is one that is like
00:52:15 <zzo38> "sprintf" but it automatically allocates it too.
00:52:43 <elliott> zzo38: allocsprintf would be a better name. GLib has that, by the way.
00:53:10 <zzo38> elliott: I didn't know that before.
00:53:17 <elliott> zzo38: http://library.gnome.org/devel/glib/stable/glib-String-Utility-Functions.html#g-strdup-printf
00:53:58 <zzo38> But that's for GNOME isn't it?
00:54:24 <elliott> zzo38: No.
00:54:29 <elliott> zzo38: GLib is portable.
00:54:45 <elliott> zzo38: And works in programs with any type of interface; it does not depend on any interface library.
00:54:59 <zzo38> Well, either way, I am writing the program without such functions because it doesn't have it, I was just mentioning something that I might find useful. It is not absolutely necessary.
00:55:51 <pikhq> zzo38: Glib just happens to be heavily used by Gnome; it's a fairly generic "throw everything in that should've been part of the C library" sort of thing, though.
00:56:09 <pikhq> Well, it also has that revolting object system.
00:57:12 <elliott> Yes, but you don't have to link that in. :p
00:58:25 <zzo38> Sgeo_: Have you played my MegaZeux game yet, though? (It is recommended you download my copy of both the world file and the MegaZeux program, but you don't have to (for Part I).)
00:58:59 <Sgeo_> pikhq, what's horrible about it?
00:59:16 <Sgeo_> I mean, besides trying to use it in its native language?
00:59:31 -!- cheater99 has joined.
00:59:57 <zzo38> What I know is that when I need a object system in a C program, I will write one that is suited for that specific program that I am writing.
01:00:24 <Sgeo_> zzo38, that's because you're zzo38 >.>
01:01:28 <elliott> GLib is pretty awful in reality :P
01:01:29 -!- cheater99 has quit (Read error: Connection reset by peer).
01:01:47 <Sgeo_> elliott, to use from C, or even from a language like Vala/Genie?
01:01:58 <elliott> GLib is just awful full stop.
01:02:03 <elliott> But it has some useful functions.
01:02:48 <zzo38> I have written more of TeXnicard already. Including pattern matching.
01:03:48 <elliott> pikhq: srsly though, I don't think Debian has a compiler-rt package.
01:04:02 <zzo38> elliott: What is a compiler-rt package?
01:04:13 <elliott> A thing for LLVM.
01:05:38 <elliott> aha
01:05:42 <elliott> libblocksruntime-dev
01:05:45 <elliott> split out by stupid debian
01:06:04 <elliott> pikhq: Are you sure there's no way to cast a block to a function pointer?
01:07:26 <zzo38> I have a idea of esolang that nearly everything must be done by solving a halting problem. What is the minimum number of other things needed?
01:10:17 <pikhq> None that I know of.
01:12:58 <elliott> pikhq: Bleh, I can't figure this out at all...
01:15:22 -!- zzo38 has quit (Remote host closed the connection).
01:16:21 <elliott> pikhq: Why is parsing such a pain.
01:17:01 -!- cheater99 has joined.
01:19:29 -!- cheater99 has quit (Read error: Connection reset by peer).
01:22:19 -!- ais523 has quit (Remote host closed the connection).
01:24:03 -!- calamari has quit (Quit: Leaving).
01:24:22 <elliott> pikhq: Maybe I should just write the compiler in Haskell.
01:24:42 -!- infanticide has left (?).
01:34:07 <elliott> pikhq: HOW DO YOU FEEL ABOUT NESTED COMMENTS
01:34:33 -!- cheater99 has joined.
01:35:05 -!- pikhq has quit (Ping timeout: 250 seconds).
01:36:03 -!- cheater99 has quit (Read error: Connection reset by peer).
01:36:52 -!- pikhq has joined.
01:47:22 <Sgeo_> 109.8lbs
01:47:35 <Sgeo_> And that's considering I didn't eat much today
01:47:41 <Sgeo_> Maybe I'll be ok on Feb 10th
01:51:31 -!- cheater99 has joined.
01:52:22 <elliott> pikhq: HOW SHOULD I PARSE
01:54:00 -!- cheater99 has quit (Read error: Connection reset by peer).
02:00:02 -!- FireFly has quit (Quit: swatted to death).
02:00:34 <elliott> pikhq: ping
02:04:22 <pikhq> GNIP
02:05:18 <elliott> pikhq: HOW DO I PARSE
02:05:33 <pikhq> Using GNIP.
02:06:17 <elliott> pikhq: ;_;
02:06:21 <elliott> pikhq: Even Parsec is a bit of a bitch.
02:09:59 -!- cheater99 has joined.
02:11:17 -!- wareya_ has joined.
02:12:26 -!- cheater99 has quit (Read error: Connection reset by peer).
02:14:34 -!- wareya has quit (Ping timeout: 276 seconds).
02:19:44 <elliott> pikhq: You should make a parser library.
02:28:33 -!- cheater99 has joined.
02:31:11 -!- cheater99 has quit (Read error: Connection reset by peer).
02:38:07 <Mathnerd314> elliott: seen "Yacc is dead"?
02:38:23 <elliott> Mathnerd314: yep. and every response to it. and the author's re-response.
02:38:32 <elliott> but it doesn't really help my current situation :)
02:42:09 * Mathnerd314 goes back to debugging his language
02:44:02 <elliott> Mathnerd314: what lang?
02:44:56 <Mathnerd314> my lang. a pre-pre-pre-release version of what will eventually rule the earth
02:45:08 <elliott> Mathnerd314: brief overview? and no, /my/ lang will rule the earth.
02:46:04 <Sgeo_> Chrome's been acting up again lately
02:46:15 <Sgeo_> I'm almost tempted to switch back to Opera
02:46:50 <Mathnerd314> elliott: it has message passing, and pattern matching, and multiple dispatch, and... the rest is part of the front-end I have to implement
02:46:58 <elliott> Mathnerd314: strongly typed?
02:47:09 <Mathnerd314> dynamically typed
02:47:35 -!- cheater99 has joined.
02:47:36 <elliott> Mathnerd314: worthless
02:47:42 <elliott> Mathnerd314: is it purely functional or impure?
02:48:05 <Mathnerd314> the type system is part of the front-end
02:48:10 <Mathnerd314> purely functional
02:48:21 <elliott> Mathnerd314: hmm. maybe not entirely worthless then
02:48:34 <elliott> Mathnerd314: message passing/multiple dispatch have a lot of overlap -- why not just pick one?
02:49:09 <Mathnerd314> it has both; they're implemented in the same lines of code
02:49:09 -!- cheater99 has quit (Read error: Connection reset by peer).
02:49:19 <elliott> Mathnerd314: that's not a reason
02:49:38 <elliott> careful, thought-out design taking into account what to exclude as well as what to include > "it didn't take many lines of code so I threw it in"
02:49:39 <Mathnerd314> umm... because I like power, and this is more powerful?
02:49:55 <elliott> so far every time you've used the word power it's been to justify a bad idea ... but very well.
02:50:29 <Mathnerd314> actually, it doesn't *really* have pattern-matching
02:50:37 <elliott> i didn't even object to pattern matching
02:51:25 <Mathnerd314> yeah, that's why it doesn't have it. because it has no data structures.
02:51:28 <Sgeo_> Is it "more power" to drop the strong typing from Haskell? More power in that case -> suck
02:51:50 <Mathnerd314> Sgeo_: it has no type system yet. OK?
02:52:10 <Sgeo_> Mathnerd314, I was commenting on the idea of "power", not your language speciically
02:52:10 <elliott> Mathnerd314: if it has no data structures, what do you send messages to?
02:52:14 <Sgeo_> specifically
02:52:14 <elliott> also: how do you decide what dispatch to use?
02:52:45 <Mathnerd314> elliott: environments
02:52:50 <elliott> Mathnerd314: go on.
02:53:26 <Mathnerd314> an environment takes some code and evaluates it. I have an environment which can construct other environments
02:54:29 <Mathnerd314> and which dispatches to them
02:54:30 <elliott> i still think that having both message passing /and/ multiple dispatch is a design flaw. or at least an indicator of badly-thought-out design.
02:55:21 <elliott> coppro: wait, how do lambda expressions in C++0x compare, for compiling to?
03:02:28 <Sgeo_> I'm going to go watch a video on Ur
03:02:33 <Sgeo_> Maybe I'll warm up to it
03:02:45 <elliott> Sgeo_: You won't unless you have a decent grasp of dependent types.
03:03:00 <elliott> pikhq: In which a company announces that their BSD-licensed fork of the BSD-licensed LimeChat, which they do not name or link to in the press release, will be sold in the Mac App Store for $9. http://www.codeux.com/textual/future.php
03:03:33 <Sgeo_> 18min
03:03:39 <elliott> pikhq: New item on my TODO list: Offer free builds, encourage people to link to it with "Textual" as the link text for googlebombing.
03:03:39 <Sgeo_> I don't have that kind of time :(
03:03:46 <elliott> Sgeo_: No, you can spend it on IRC instead.
03:03:50 <elliott> Of course you have 18min.
03:04:12 <Sgeo_> elliott, if I start thinking it's ok to watch lengthy videos when I should be working, I'm screwed
03:04:59 -!- cheater99 has joined.
03:06:52 -!- cheater99 has quit (Read error: Connection reset by peer).
03:11:19 -!- wareya_ has changed nick to wareya.
03:13:34 <Sgeo_> http://www.khanacademy.org/ good way to learn some more advanced math?
03:15:28 <elliott> um i don't really see anything there i would consider very advanced
03:15:47 <elliott> khanacademy seems to be universally popular though.
03:18:10 <Sgeo_> DEAR FLASH: FUCK YOU FUCK YOU FUCK YOU FUCK YOU
03:18:35 <Sgeo_> Sometimes, when playing YouTube videos, the audio will keep going and the video will stop
03:18:57 <elliott> I blame Windows.
03:20:11 <Sgeo_> elliott, I see stuff about linear algebra
03:20:27 <elliott> Sgeo_: and?
03:20:37 <Sgeo_> It's stuff I don't know
03:20:44 <elliott> That doesn't mean it's advanced stuff.
03:22:59 -!- cheater99 has joined.
03:25:21 -!- cheater99 has quit (Read error: Connection reset by peer).
03:32:56 -!- oerjan has joined.
03:35:08 <elliott> hi oerjan
03:35:15 <oerjan> the ho
03:36:44 <elliott> oerjan: the ho what?
03:36:55 <elliott> http://esolangs.org/w/index.php?title=Udage&diff=20547&oldid=20545 <-- i totally schooled that cpressey dude
03:37:07 <oerjan> the ho de hi
03:37:47 <elliott> haha, and some classic Graue rage:
03:37:49 <elliott> [[I reverted your purge of Talk:Udage because that isn't the way wikis work. You do not own that page, nor do you own the Udage article. Do not delete valid information from this site again. --Graue 19:16, 10 Oct 2005 (GMT)]]
03:40:53 <Sgeo_> So, if I try to pretend PSOX never existed, and try to remove all traces of it ever existing, I'll be yelled at?
03:41:33 -!- cheater99 has joined.
03:42:34 -!- cheater99 has quit (Read error: Connection reset by peer).
03:42:50 <oerjan> Sgeo_: sheesh, obviously you'll be yelled at regardless
03:43:09 <oerjan> _maybe_ a bit more in that case
03:45:07 <elliott> the basic thing to understand, Sgeo_, is that people like yelling at you
03:49:41 <oerjan> precisely!
03:50:03 <Sgeo_> I know you all secretly love me
03:50:08 <oerjan> Sgeo_: NOW DO YOUR HOMEWORK
03:51:55 <elliott> oerjan: you should ban Sgeo_.
03:52:09 <oerjan> that doesn't help.
03:52:45 <oerjan> also with my own procrastination that would be bad karma.
03:54:51 <elliott> oerjan: no, i just want you to ban him to make him go away
03:58:08 -!- cheater99 has joined.
04:00:21 -!- cheater99 has quit (Read error: Connection reset by peer).
04:16:01 -!- cheater99 has joined.
04:17:34 -!- cheater99 has quit (Read error: Connection reset by peer).
04:20:06 <elliott> http://en.wikipedia.org/wiki/Computable_number#Formal_definition computable dedekind cuts -- awesome!
04:22:49 <Ilari> Hmm... Last 30 days allocation lists for APNIC, 16x/14, 6x/13, 4x/12. That's about 11Mi addresses (plus then there are the <250k allocations...)
04:23:39 <Sgeo_> http://www.amazon.com/Wishing-Well-Making-Your-Every/dp/078686561X . This book. This horrible, evil book
04:25:06 <Ilari> Also intersting to look at raw allocation counts for 250k+ allocations: 5 for RIPE, 1 for ARIN, 1 for LACNIC, 2 for AfriNIC and 26(!) for APNIC.
04:26:33 <Ilari> Runner-up in large allocations: RIPE with 5.25Mi. That's not even half of APNIC.
04:29:42 <Sgeo_> As a kid, I had a bad reaction to the woowoo in that book
04:30:18 <Sgeo_> Some people find comfort in that sort of BS. I found abject fear that haunts me to this day
04:32:36 <pikhq> 5 forms of the final boss remaining.
04:33:02 <Ilari> Allocations this month: ARIN: 1 693 696. AfriNIC: 384 000. LACNIC: 1 095 936, RIPE: 3 953 920, APNIC: 12 063 232. Yes, APNIC allocated way more addresses than all the other RIRs COMBINED.
04:33:33 -!- cheater99 has joined.
04:34:32 <elliott> Sgeo_: You're fucking crazy.
04:35:09 <Sgeo_> elliott, the claims of that book have had such a profound negative influence on me
04:35:35 <elliott> Sgeo_: Did I mention that you're fucking crazy?
04:35:54 <Sgeo_> elliott, are you unaware of how easily kids can be affected by this sort of stuff?
04:36:07 <elliott> Sgeo_: No, no, I'm not quite sure you *understand*: you're fucking crazy.
04:36:47 -!- cheater99 has quit (Read error: Connection reset by peer).
04:37:23 <pikhq> 3 forms remaining...
04:37:31 <Sgeo_> pikhq, YouTube it all
04:37:55 <elliott> pikhq: Are you doing it with just the infinity-plus-one and mandatory bosses?
04:37:57 <elliott> pikhq: If not: wtf i hate you
04:38:56 <Sgeo_> There's different woowoo I believed as a kid, that wasn't so traumatic
04:39:11 <pikhq> elliott: I'm finishing my first playthrough dammit.
04:39:18 <elliott> pikhq: ur lame
04:39:22 <pikhq> And the final boss is still a pain with the infinity-plus-one.
04:39:30 <Sgeo_> elliott, did you just call Ur lame/
04:39:33 <pikhq> You see, it has 12 forms. You have to kill each one.
04:39:36 <elliott> Sgeo_: shut up
04:40:07 <pikhq> Each one is a difficult boss in and of itself.
04:40:59 <elliott> pikhq: lawl
04:41:25 <pikhq> Except I one-shot each one.
04:41:37 <pikhq> I just need to have enough full-SP-heal items to get through.
04:41:41 <pikhq> Which I do.
04:41:58 <Sgeo_> I find no fear in the idea of an afterlife, only comfort. In the idea of being able to control reality with your mind, I find the most horrible painful fear.
04:42:07 <pikhq> FINISHED.
04:45:04 <pikhq> SATAN DEFEATS ALL
04:45:46 <elliott> pikhq: Good ending.
04:46:08 <pikhq> elliott: Yes, I used Satan to defeat the end of the world.
04:46:12 <elliott> Sgeo_: You can do that, it happens by sending a few signals down to effectors which effect changes in the world around them.
04:46:42 <Sgeo_> pikhq, it would be better if it were an unwilling Anti-Christ
04:47:19 <pikhq> elliott: I could've used Odin instead; would that have made you feel better?
04:47:57 <elliott> pikhq: No.
04:48:04 <pikhq> elliott: Messiah?
04:48:05 <elliott> Sgeo_: Why aren't you in abject terror?
04:48:08 <elliott> pikhq: NO. SATAN
04:48:16 <pikhq> Okay, then. Satan it was.
04:48:24 * pikhq rocks the devil horns
04:48:34 <Sgeo_> Because the only real way for my mind to affect reality is limited
04:48:58 <Sgeo_> My OCDish thoughts of people dying aren't going to kill them
04:49:02 <elliott> Not very limited if you're an atom.
04:49:05 <elliott> Also, what.
04:49:09 <elliott> What the fuck has OCD got to do with that what
04:49:33 <Sgeo_> I thought OCD has to do with more severe unwanted thoughts than normal
04:49:48 <elliott> I don't think you have any idea what OCD is, shut up
04:50:12 <Sgeo_> Well, I'm pretty sure there is a name for what I just described. I don't think I have it, but
04:50:44 <elliott> Sgeo_: Um, thinking things you don't want to?
04:50:48 <elliott> Here's a name for that: existing.
04:50:57 <Sgeo_> elliott, but more severely and painfully than normal
04:50:59 <pikhq> Sgeo_: OCD implies obsessive compulsions. And that it's a disorder.
04:51:03 <elliott> Sgeo_: Umm... painfully?
04:51:08 <elliott> Sgeo_: Just checking -- are we talking physical pain here
04:51:51 <Sgeo_> elliott, I don't know, ask the person I was talking to
04:51:59 <Sgeo_> IRL
04:52:15 <elliott> Sgeo_: YOU JUST TALKED ABOUT "[THAT]LY" THOUGHTS, IF THEY DON'T EVEN CORRELATE WITH YOUR ONE-LINE DESCRIPTION THEN YOUR STATEMENT WAS BEYOND MEANINGLESS >_<
04:52:33 -!- cheater99 has joined.
04:54:38 <Sgeo_> Well, you know what sort of thoughts I'm talking about, you said they were a part of existing
04:54:55 <elliott> Let's call it QRD. For the sake of argument.
04:55:04 <elliott> If your thoughts did not involve the mentioned pain, how can you even say they are QRDly?
04:55:36 <Sgeo_> Because the other attribute of being unwanted is still there
04:55:36 -!- cheater99 has quit (Read error: Connection reset by peer).
05:01:10 <elliott> Sgeo_: So let's say that a giraffe is an animal with spots and a long neck.
05:01:22 <elliott> Sgeo_: Therefore jaguars are giraffey.
05:01:46 <Sgeo_> Ok, maybe I shouldn't have said OCDish, or maybe my understanding is wrong
05:01:49 <Sgeo_> Or inaccurate
05:07:36 <elliott> whoa myndzi is pronounced mind-zy
05:07:39 <elliott> i think
05:07:41 <elliott> 02:19:02 <myndzi> ironic seeing as how i use a y in my nick for a long i sound
05:07:51 <Ilari> Yeah, in large allocations, APNIC allocated almost 3 times more allocations than rest of the world combined...
05:08:15 <Ilari> (last 30 days)
05:08:18 <elliott> heh
05:08:21 <oerjan> elliott: "mind's eye" hth
05:08:23 <elliott> Ilari: so how long until the end now
05:08:25 <elliott> oerjan: WHOA
05:08:27 <elliott> oerjan: omg.
05:08:29 <elliott> oerjan: wow.
05:08:35 <elliott> oerjan: i thought it was just... "min-dzi"
05:08:37 <elliott> min[imum] dzi
05:08:43 <elliott> like mindy but with more z
05:08:44 <elliott> whoa.
05:08:46 <elliott> you have blown my mind
05:08:47 <elliott> how
05:08:47 <elliott> even
05:08:48 <elliott> what
05:09:01 <Ilari> IANA depletion in this or next month, APNIC depletion sometime in next year...
05:09:06 <oerjan> elliott: mind you i don't have real confirmation of this theory
05:09:14 <elliott> oerjan: ;_;
05:09:16 <elliott> my lasdmklrt
05:11:35 -!- cheater99 has joined.
05:12:35 <Ilari> Those who model RIR depletions are starting to have their doubts to their models...
05:14:15 <Sgeo_> Ilari, hm?
05:14:15 -!- cheater99 has quit (Read error: Connection reset by peer).
05:15:20 <Ilari> If you want to see example, look at the latest note to the IPv4 Address Report.
05:17:07 <Ilari> Hah: "[...]which, by the way, currently predicts that IANA will hand out its last IPv4 address blocks on 10 June 2011[...]". That was September this year. Now the prediction is February (and probably too optimistic)...
05:18:19 <Ilari> The main problem with predicting exhaustions: Badly behaved distributions and changes to distribution parameters...
05:19:02 <Sgeo_> I'll take door number e!
05:19:06 <pikhq> It's still going!
05:19:23 <pikhq> There's optional post-game content!
05:22:08 <Sgeo_> http://tr.froup.com/tr.pl?1671
05:24:43 <Ilari> The spread between highest and lowest daily allocation rates (for days with allocations) is more than factor of 1000.
05:26:57 -!- elliott has quit (Quit: Leaving).
05:29:14 -!- elliott has joined.
05:29:16 <elliott> 13:31:46 <Phantom_Hoover> I borrowed it without intent to return.
05:29:17 <elliott> 13:31:52 <Vorpal> Phantom_Hoover, that's nasty
05:29:21 -!- elliott has quit (Remote host closed the connection).
05:30:31 -!- cheater99 has joined.
05:33:59 -!- cheater99 has quit (Read error: Connection reset by peer).
05:37:58 <pikhq> It's been an hour since I beat the final boss and I'm still playing the game.
05:38:08 <pikhq> Not merely seeing cutscenes, oh no. Still playing.
05:38:09 <pikhq> God.
05:39:38 -!- elliott has joined.
05:39:39 <elliott> 20:33:49 <cpressey> actually damn, everything can be mass-nouned
05:39:41 <elliott> 20:33:59 <cpressey> "we don't have enough mousepad yet"
05:39:44 -!- elliott has quit (Remote host closed the connection).
05:39:59 * pikhq wonders what elliot is doing
05:40:21 -!- elliott has joined.
05:40:24 <elliott> 20:59:39 <cpressey> C is an awesome language
05:40:25 <elliott> 21:01:03 <cpressey> it's like nuclear lego
05:40:30 -!- elliott has quit (Remote host closed the connection).
05:42:49 <pikhq> Going crazy. Got it.
05:43:24 * oerjan picks up a dropped t and stabs pikhq with it
05:45:23 <pikhq> oerjan: I was talking to elliot, not elliott, of course.
05:46:07 <oerjan> TOO BAD YOU DIDN'T SAY THAT BEFORE I FATALLY STABBED YOU
05:46:44 <pikhq> Aaand the game is finally freaking over.
05:50:01 -!- cheater99 has joined.
05:52:28 -!- cheater99 has quit (Read error: Connection reset by peer).
05:55:27 -!- Sasha2 has joined.
05:55:27 -!- Sasha has quit (Read error: Connection reset by peer).
05:57:01 -!- wareya has quit (Ping timeout: 276 seconds).
05:58:44 -!- wareya has joined.
06:08:33 -!- cheater99 has joined.
06:10:49 -!- cheater99 has quit (Read error: Connection reset by peer).
06:19:06 -!- oerjan has quit (Quit: leaving).
06:26:59 -!- cheater99 has joined.
06:28:12 -!- cheater99 has quit (Read error: Connection reset by peer).
06:44:33 -!- cheater99 has joined.
06:48:54 -!- cheater99 has quit (Read error: Connection reset by peer).
07:01:41 -!- Zuu has quit (Read error: Connection reset by peer).
07:04:34 -!- cheater99 has joined.
07:07:16 -!- cheater99 has quit (Read error: Connection reset by peer).
07:10:33 -!- Zuu has joined.
07:15:32 -!- augur has changed nick to Aug10.
07:16:43 -!- Aug10 has changed nick to augur.
07:23:34 -!- cheater99 has joined.
07:24:08 -!- zzo38 has joined.
07:25:27 <zzo38> Welcome to the esoteric programming channel!
07:25:33 -!- Goosey has quit (Quit: When the chips are down, well, the buffalo is empty).
07:28:35 -!- cheater99 has quit (Read error: Connection reset by peer).
07:33:55 -!- zzo38 has quit (Quit: No brain, no headache.).
07:44:34 -!- cheater99 has joined.
07:48:14 -!- cheater99 has quit (Read error: Connection reset by peer).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:04:06 -!- cheater99 has joined.
08:06:20 -!- cheater99 has quit (Read error: Connection reset by peer).
08:18:34 -!- roper has joined.
08:19:35 -!- oerjan has joined.
08:22:34 -!- cheater99 has joined.
08:26:01 -!- cheater99 has quit (Read error: Connection reset by peer).
08:33:31 -!- Phantom_Hoover has joined.
08:42:04 -!- cheater99 has joined.
08:44:53 -!- cheater99 has quit (Read error: Connection reset by peer).
08:49:44 <Ilari> The Lagerholm estimate jumed to "Today's IANA depletion date estimate: 2011-01-16".
08:51:14 <Ilari> What threw: It: 2Mi allocations to AU from APNIC.
08:54:32 <Ilari> 2.66 blocks in RIR pool...
08:59:32 -!- cheater99 has joined.
09:01:34 -!- Sgeo_ has quit (Read error: Connection reset by peer).
09:03:05 -!- cheater99 has quit (Read error: Connection reset by peer).
09:05:25 <Ilari> About 11M addresses left until APNIC gets another blocks, triggering X-day immediately.
09:16:02 -!- oerjan has quit (Quit: leaving).
09:18:34 -!- cheater99 has joined.
09:23:12 -!- cheater99 has quit (Read error: Connection reset by peer).
09:33:21 <Phantom_Hoover> Ilari, tell me when civilisation is about to ennd.
09:33:23 <Phantom_Hoover> *end
09:33:29 <Phantom_Hoover> I want to have popcorn handy.
09:34:17 <Ilari> Sorry, insufficient data to estimate that. :-/
09:37:34 -!- cheater99 has joined.
09:39:36 -!- cheater99 has quit (Read error: Connection reset by peer).
09:52:52 -!- wareya_ has joined.
09:52:54 -!- nefasto has joined.
09:55:34 -!- cheater99 has joined.
09:55:40 -!- wareya has quit (Ping timeout: 240 seconds).
09:58:51 -!- cheater99 has quit (Read error: Connection reset by peer).
10:12:13 -!- nefasto has quit (Quit: http://irc2go.com/).
10:14:59 -!- cheater99 has joined.
10:17:06 -!- cheater99 has quit (Read error: Connection reset by peer).
10:32:35 -!- cheater99 has joined.
10:35:22 -!- cheater99 has quit (Read error: Connection reset by peer).
10:51:07 -!- cheater99 has joined.
10:53:41 -!- cheater99 has quit (Read error: Connection reset by peer).
11:09:35 -!- cheater99 has joined.
11:13:03 -!- cheater99 has quit (Read error: Connection reset by peer).
11:29:07 -!- cheater99 has joined.
11:33:04 -!- cheater99 has quit (Read error: Connection reset by peer).
11:48:35 -!- cheater99 has joined.
11:50:24 <Vorpal> <elliott> 20:59:39 <cpressey> C is an awesome language
11:50:24 <Vorpal> <elliott> 21:01:03 <cpressey> it's like nuclear lego
11:50:24 -!- cheater99 has quit (Read error: Connection reset by peer).
11:50:43 <Vorpal> the only problem with that analogy is that C is way less modular
11:51:21 <Vorpal> (so, it is like lego, except when it comes to one of the key defining properties of lego)
11:52:03 <Phantom_Hoover> cpressey was on?
11:52:38 <Vorpal> Phantom_Hoover, at some point I presume
11:55:20 <Phantom_Hoover> 23:24:08 --- join: zzo38 (~zzo38@h24-207-49-17.dlt.dccnet.com) joined #esoteric
11:55:20 <Phantom_Hoover> 23:25:27 <zzo38> Welcome to the esoteric programming channel!
11:55:52 <Phantom_Hoover> I'd be baffled if anyone else did it, but zzo has desensitised me to his weirdness.
12:07:53 -!- cheater99 has joined.
12:13:02 <Ilari> Okay, why is stunnel trying to create localhost-only AF_INET port and then trying to connect to it?
12:16:47 <Vorpal> Ilari, what is stunnel for now again?
12:17:14 <Ilari> Similar to inetd, but listens for TLS connections instead of plaintext.
12:17:40 <Vorpal> hm
12:17:49 <Ilari> "trying" because it doesn't work and as result, stuff keeps failing...
12:17:55 <Vorpal> Ilari, must be config issues
12:17:57 <Vorpal> or bugs
12:18:14 <Vorpal> (I think that exhausted all possibilities :P)
12:22:01 <Vorpal> Ilari, has it worked before?
12:22:41 <Ilari> Yes it has.
12:23:05 <Vorpal> Ilari, so what did you change (if anything?)
12:23:38 <Ilari> Hmm... Maybe it has always done that localhost connect thingy...
12:23:56 <Vorpal> Ilari, well, presumably it hasn't always been failing
12:24:44 <Vorpal> hm, is lo up when you get to userspace on linux?
12:24:52 <Vorpal> or does some early init script start lo
12:26:02 <Vorpal> ah, /etc/rc.sysinit has /sbin/ifconfig lo 127.0.0.1 up
12:26:24 <Vorpal> right after udev basically
12:27:07 <Ilari> Ah, apparently strunnel is configured to use AF_INET instead of AF_UNIX for temporary internal sockets. Bleh.
12:27:28 <Vorpal> Ilari, the whole "temporary internal sockets" thing sounds weird
12:27:42 <Vorpal> Ilari, however, connecting over lo should work on every sane system
12:28:10 <Vorpal> if someone has a crazy enough firewall that it doesn't work, then it is really their own issue
12:29:47 <Vorpal> $ unbound-control dump_cache | wc -l
12:29:48 <Vorpal> 26297
12:29:48 <Vorpal> heh
12:30:08 <Vorpal> for wc -c it is 1286918
12:30:25 <Ilari> recompiling strunnel with saner settings....
12:30:49 <Vorpal> $ unbound-control dump_cache | grep -E 'IN[ \t]*A' | wc -l
12:30:49 <Vorpal> 4702
12:31:09 <Vorpal> 1805 in AAAA
12:31:10 <Vorpal> hm
12:31:24 <Vorpal> so where is the bulk
12:31:40 -!- augur has quit (Ping timeout: 240 seconds).
12:31:45 <Vorpal> IN NS is 971, IN SOA is 1417
12:32:11 <Vorpal> $ unbound-control dump_cache | grep -E '^;' | wc -l
12:32:11 <Vorpal> 6728
12:32:12 <Vorpal> hah
12:33:17 <Vorpal> wait, that seems wrong above
12:33:32 <Vorpal> quite, the \t didn't expand it seems
12:34:51 -!- cheater99 has quit (Read error: Connection reset by peer).
12:34:52 <Vorpal> unbound-control dump_cache | grep -Eo $'IN[ \t]*[^ \t]+' | awk '{print $2}' | sort -n | uniq -c | sort -n
12:34:53 <Vorpal> hm
12:35:07 <Vorpal> I think the parsing fails somewhat
12:35:25 <Vorpal> ah + there gives more reasonable results...
12:35:53 -!- augur has joined.
12:39:51 <Ilari> Hah... stunnel segfaulted.
12:40:32 <Vorpal> Ilari, why is it an issue that it uses AF_INET and lo?
12:43:10 <Vorpal> unbound-control dump_cache | sed '/START_MSG_CACHE/q' | grep -Ev '^;' | grep IN | awk '{print $4}' | sort -n | uniq -c | sort -n
12:43:11 <Vorpal> hah
12:43:23 <Vorpal> and NS dominates.
12:43:25 <Ilari> Firewall rules.
12:43:32 <Vorpal> Ilari, they restrict lo?
12:43:38 <Vorpal> Ilari, if so they are utterly bonkers
12:44:19 <Vorpal> Ilari, you should setup a data diode or whatever it is called on lo. Just firewall is too insecure!
12:45:50 <Ilari> Stunnel crashes even if client doesn't try to send client certificate.
12:48:09 <Vorpal> Ilari, but why are you firewalling lo to this insane degree?
12:49:19 <Ilari> There's stunnel3 compat binary as well. Crashes just as good when connecting.
12:49:43 <Vorpal> Ilari, yeah, but uh, why are you firewalling lo to this degree. That is the real wtf
12:50:32 -!- cheater99 has joined.
12:53:30 <Ilari> Tried stunnel 3.26 too. Crashes on connect.
12:53:40 -!- sftp_ has joined.
12:54:02 -!- sftp has quit (Ping timeout: 245 seconds).
12:54:21 <Ilari> -> Stunnel sucks...
12:54:36 <Vorpal> Ilari, just fix the insane firewall rule
12:54:51 <Vorpal> Ilari, really, what are the rules for lo?
12:55:23 <Ilari> Same as global, plus few extra ports allowed.
12:55:34 <Vorpal> Ilari, why are you surprised stuff breaks then
12:56:08 <Ilari> I expect software to use AF_UNIX for local stuff internally, not AF_INET to loopback.
12:56:18 <Vorpal> Ilari, the usual way is to check for invalid state (and on ipv6 for rt type 0), then the rule after that/those is generally "if loopback, allow"
12:56:30 <Vorpal> Ilari, you expect too much
12:56:49 <Vorpal> Ilari, besides, what does it add to security? I doubt anything.
12:57:01 <Deewiant> Windows-portable software will likely not use AF_UNIX for anything.
12:57:08 <Vorpal> Deewiant, that too
12:57:26 <Ilari> I actually have built version of stunnel that uses AF_UNIX as it should. Except that that crashes if client tries to connect...
12:57:36 <Vorpal> Ilari, probably because few people use it
12:58:10 <Vorpal> Ilari, also, shouldn't you use something like selinux or similar to limit what unix sockets each program can use
12:58:14 -!- oerjan has joined.
12:58:18 <Ilari> It crashes inside SSL client certificate routines, which AFAIK come before it tries to use internal sockets...
12:58:18 <Vorpal> oerjan, hi
12:58:25 <oerjan> g'day
12:58:26 <Vorpal> Ilari, hm.
12:58:40 <Vorpal> Ilari, I suggest you go back to the previous working setup and try again
12:59:04 <oerjan> damn rsi acting up again :(
12:59:11 <Vorpal> oerjan, rsi?
12:59:33 <Vorpal> oerjan, (as in, which meaning of rsi)
12:59:45 <oerjan> the one which it's painful to type out
12:59:51 * oerjan ducks
13:00:18 <Vorpal> oerjan, ah that would be "Register Storage Immediate"
13:00:18 * oerjan then whimpers
13:00:27 <Ilari> It crashes instantly after receiving the client certificate...
13:00:38 <Vorpal> Ilari, even on the previous working setup?
13:00:41 * oerjan swats Vorpal -----###
13:00:54 <Vorpal> oerjan, use speech to text or something
13:01:00 <Vorpal> oerjan, it would be a good laugh
13:01:28 <oerjan> this laptop doesn't actually have a microphone. also i hate unnecessary sounds.
13:03:07 <Ilari> Okay, 3.26 works (including invoking the program) if I don't send a client ceritificate. 4.34 crashes even if I don't send it.
13:03:28 <Vorpal> Ilari, is this with or without insane firewall setup?
13:03:43 <Vorpal> Ilari, for purposes of debugging you should test if it affects anything
13:03:52 <Vorpal> bbl
13:08:11 <Vorpal> oerjan, no external mic?
13:09:50 <oerjan> no
13:09:52 <Vorpal> oerjan, also, I never imagined you as one using a laptop.
13:10:02 <Vorpal> oerjan, I mean, a vt100 sounds more your style
13:10:08 <oerjan> :D
13:10:08 <Vorpal> or maybe a workstation
13:10:19 <Vorpal> that would work too
13:10:26 <oerjan> sure, when i was at the university...
13:10:41 <Vorpal> oerjan, yeah, but laptop just doesn't suite you!
13:10:53 <Vorpal> oerjan, at least use a desktop
13:11:01 <Vorpal> even I use a desktop at home
13:12:58 <Vorpal> oerjan, besides laptops are not comfortable for long time use (say, more than a 4-5 hours / day)
13:13:10 <oerjan> you don't say. *ouch*
13:13:53 <Vorpal> oerjan, the touchpad is useless. And the trackpoint finger gets sore after a few hours
13:14:14 <Vorpal> mouse ends up at wrong height often.
13:14:24 <oerjan> i don't mind the touchpad, there is no trackpoint
13:14:24 <Vorpal> and of course the monitor is in the wrong place
13:15:26 <Vorpal> oerjan, and the travel distance on laptops sucks
13:16:45 <Vorpal> oerjan, at least I hope it has full sized keys
13:16:45 <oerjan> well i don't actually bring it anywhere anyhow
13:16:54 <oerjan> yes
13:17:28 <Vorpal> oerjan, anyway, they are inferior to a proper mechanical keyboard
13:18:18 <Ilari> Ah, found out why stunnel crashes: OpenSSL library/header mismatch.
13:18:49 <Ilari> Now it works even with client certs...
13:21:57 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
13:22:01 -!- Phantom_Hoover_ has joined.
13:36:48 -!- cheater99 has quit (Read error: Connection reset by peer).
13:39:49 <Vorpal> what was that site to find shortest path on wikipedia?
13:39:56 <Vorpal> between two articles
13:40:31 <oerjan> Gregor had a game based on it
13:40:41 <Vorpal> oerjan, I remember some automated tool for it
13:40:46 <oerjan> ah
13:40:53 <fizzie> There are several.
13:41:13 <Vorpal> fizzie, right, happen to know where to find one?
13:41:15 <fizzie> Quick googling found me http://thewikigame.com/ but not the one that had the psychedelic color-flashery and link-dropping feature.
13:41:35 <Vorpal> fizzie, the one I remember was just a pain white page
13:41:37 <fizzie> (That one has a few game modes though.)
13:41:38 <Vorpal> fizzie, like, no css
13:42:00 <Vorpal> fizzie, and I don't want it as a game, I want it as a tool that tells me the shortest path.
13:42:09 <fizzie> Oh, that.
13:42:29 <Vorpal> fizzie, yes, I googled but can't find it
13:42:38 <fizzie> http://www.netsoc.tcd.ie/~mu/wiki/ ?
13:42:42 <fizzie> (It's linked from Wikipedia.)
13:42:45 <Vorpal> heh
13:43:10 <Vorpal> fizzie, hm, I guess that works. Not the one I thought of. But any tool that does the job is okay
13:43:20 <fizzie> It's a bit dated (March 2008) now.
13:43:26 <Vorpal> ah
13:43:29 -!- Phantom_Hoover has joined.
13:45:17 -!- Phantom_Hoover_ has quit (Ping timeout: 245 seconds).
13:45:17 <fizzie> There's also http://www.xltd.com/WikiMindMap/WikiPath.htm but that's not one I remember having seen before. That one doesn't say which day's dump they're using.
13:46:02 <Vorpal> fizzie, it could be http://www.netsoc.tcd.ie/~mu/wiki/ if they redesigned that page. The result page looks similar to what I remember
13:46:21 <fizzie> I guess they could've just prettified it up a bit.
13:47:56 <Vorpal> fizzie, anyone know what the longest path is (excluding those of infinite length due to lack of any links between)
13:49:10 <fizzie> "Several people were asking about what's known as the "diameter" of Wikipedia, that is, the distance between the two articles furthest apart (the longest shortest path if that makes any sense to you). This was in fact the original goal of the project but it turned out not to be very interesting. Wikipedia has giant "tails", almost linear linked lists of articles that stretch out for 70 links."
13:49:16 <fizzie> That's on that six-degrees page.
13:49:26 <Vorpal> ah
13:49:40 <fizzie> "Even when I special-cased out that string of 70 boring articles, a new one appeared (I think it was linked pages about administrations of Myanmar or something)."
13:49:45 <ineiros> Hello.
13:49:49 <Vorpal> fizzie, heh
13:49:50 <Vorpal> ineiros, hi
13:50:04 <fizzie> But the center of wikipedia (in March 2008) was "2007".
13:51:09 <oerjan> didn't they change policy to include less year links in articles?
13:51:26 <oerjan> i think i saw some being edited away at one time
13:53:05 <oerjan> don't recall if it was before or after 2008 though
13:53:21 <Vorpal> fizzie, hm, I wonder if wikipedia has an Eulerian path...
13:53:27 <Vorpal> probably not
13:53:40 -!- yiyus has quit (Read error: Operation timed out).
13:54:22 <Vorpal> a Hamiltonian path would be interesting as well
13:54:52 <fizzie> There are pages with no incoming links and multiple outgoing links (like some disambig pages), so no.
13:55:00 <oerjan> both of those only need three articles with either no paths out or no ... right
13:55:42 <Vorpal> fizzie, what about the set of all pages that can be reached from the centre.
13:55:55 <Vorpal> still, dead ends I guess
13:55:56 <Vorpal> hm
13:56:06 <oerjan> you need paths both ways
13:56:10 <Vorpal> oerjan, yeah
13:56:15 <fizzie> Yes; I don't know about the strongly-connected component, though.
13:56:27 <Vorpal> so, we need to carefully tweak the pages so that such a graph is possible
13:56:36 <oerjan> even then it can easily fail i think
13:56:43 <fizzie> Yes, probably.
13:56:47 <Vorpal> hm
13:56:50 <fizzie> "A directed graph is Eulerian if it is strongly connected and every vertex has equal in degree and out degree."
13:56:58 <fizzie> That sounds like it's unlikely to hold.
13:57:04 <oerjan> for eulerian path you cannot have too many with an odd number of in/out neighbors
13:57:23 <Vorpal> fizzie, so Hamiltonian path might be more feasible
13:57:26 <oerjan> oh wait _directed_ too
13:57:39 <fizzie> Well, the links are quite naturally directed.
13:58:36 -!- Phantom_Hoover_ has joined.
14:00:38 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
14:05:34 -!- cheater99 has joined.
14:06:38 <Vorpal> ineiros, ??? at your server
14:06:45 <Vorpal> ineiros, I got in, but wtf
14:07:21 <Vorpal> ineiros, I'm waiting for the real world to be back before I try again
14:07:32 <Vorpal> ineiros, you have some completely weird place there now
14:07:51 <Phantom_Hoover_> Vorpal, screenshot?
14:08:18 <Vorpal> fizzie, try yourself. There were a number of monster spawner cages embedded in the ground near spawn. And it wasn't the usual world.
14:08:36 <Vorpal> and empty inventory
14:08:41 <fizzie> Well, it was also beta 1.1_02 and no hMod.
14:08:45 <fizzie> So I assume it's for testing.
14:08:48 <Vorpal> ah
14:09:01 <Vorpal> well, not much point in playing on it
14:25:33 <Phantom_Hoover_> How do I get Debian to let me install Sid packages if necessary, but use the Squeeze packages by default?
14:27:50 <fizzie> Add both to sources.list, then write an APT preferences file to prefer squeeze, but include sid with a lower priority.
14:27:55 <fizzie> Cf. http://jaqque.sbih.org/kplug/apt-pinning.html
14:30:48 <Phantom_Hoover_> fizzie, not working!
14:31:15 <fizzie> Well, it has worked for me for a mixed-distribution Debian. How is it not working?
14:31:46 <Phantom_Hoover_> apt-get upgrade still lists insanely huge numbers of packages to upgrade!
14:32:15 <fizzie> Oh, http://wiki.debian.org/AptPreferences is the official version of above.
14:33:43 <fizzie> What about "apt-get --dry-run -t testing upgrade", does that want to upgrade the world too?
14:34:46 <fizzie> It should be no different than using the preferences-file driven pinning, though.
14:35:22 <Phantom_Hoover_> fizzie, assuming I can s/testing/squeeze/, since that's what's on all of my apt lines.
14:35:45 <fizzie> Well, you could try both. I think they should be usable interchangeably there.
14:36:44 <Phantom_Hoover_> fizzie, OK, got it working.
14:42:09 -!- elliott has joined.
14:43:53 <oerjan> it's eliottt!
14:44:27 <elliott> indeed
14:45:11 <elliott> 04:59:04 <oerjan> damn rsi acting up again :(
14:45:13 <elliott> oerjan: not carpal tunnel?
14:45:50 <oerjan> i don't know precisely
14:45:56 <elliott> 05:12:58 <Vorpal> oerjan, besides laptops are not comfortable for long time use (say, more than a 4-5 hours / day)
14:46:04 <elliott> Vorpal: i've been using this laptop exclusively for many months now
14:46:41 <elliott> oerjan: i hope you enjoyed vorpal criticising every aspect of your computer, i bet you're going to replace it now
14:46:47 <elliott> with all that new knowledge
14:47:09 <oerjan> very nice sarcasm
14:47:25 <Phantom_Hoover_> elliott, quick, give me a Debian mirror adress!
14:47:28 <Phantom_Hoover_> *address
14:47:36 <elliott> Phantom_Hoover_: se.mirrors.kernel.org
14:47:38 <elliott> iirc
14:47:55 <elliott> wait no
14:48:07 <elliott> 05:46:02 <Vorpal> fizzie, it could be http://www.netsoc.tcd.ie/~mu/wiki/ if they redesigned that page. The result page looks similar to what I remember
14:48:08 <elliott> erm
14:48:13 <elliott> http://mirrors.se.kernel.org/debian/
14:48:13 <elliott> Phantom_Hoover_: ^
14:48:16 <elliott> why?
14:49:12 <elliott> 06:06:38 <Vorpal> ineiros, ??? at your server
14:49:12 <elliott> 06:06:45 <Vorpal> ineiros, I got in, but wtf
14:49:12 <elliott> 06:07:21 <Vorpal> ineiros, I'm waiting for the real world to be back before I try again
14:49:12 <elliott> 06:07:32 <Vorpal> ineiros, you have some completely weird place there now
14:49:12 <elliott> 06:07:51 <Phantom_Hoover_> Vorpal, screenshot?
14:49:13 <elliott> 06:08:18 <Vorpal> fizzie, try yourself. There were a number of monster spawner cages embedded in the ground near spawn. And it wasn't the usual world.
14:49:17 <elliott> anyone got a screeny
14:49:28 <elliott> 06:25:33 <Phantom_Hoover_> How do I get Debian to let me install Sid packages if necessary, but use the Squeeze packages by default?
14:49:31 <elliott> Phantom_Hoover_: YOU NEVER, EVER DO THAT.
14:49:34 <elliott> Phantom_Hoover_: DO. NOT. DO. THAT.
14:49:43 <Phantom_Hoover_> ...
14:50:04 <elliott> Phantom_Hoover_: Rephrase. Do not do that unless you /really, really know what you're doing/. *REALLY.*
14:51:12 <elliott> Phantom_Hoover_: Just manually dpkg -i the few packages from sid you really want.
14:51:31 -!- FireFly has joined.
14:53:19 <elliott> 06:08:18 <Vorpal> fizzie, try yourself. There were a number of monster spawner cages embedded in the ground near spawn. And it wasn't the usual world.
14:53:26 <elliott> Vorpal: you didn't destroy them, did you?
14:55:08 <Vorpal> elliott, why do you ask
14:55:48 <elliott> In case you did. You said "were".
14:55:51 <elliott> Past tense.
14:56:00 <elliott> fizzie: Is there a way to get into that blocked-off tunnel near spawn? :p
14:56:22 <elliott> oh god monsters are on
14:57:36 <Phantom_Hoover_> See those craters?
14:57:41 <Phantom_Hoover_> Me and a couple of creepers.
14:58:40 <elliott> i'm scared
15:00:40 <elliott> Killed a fucking zombie with my bare fucking hands, chickened out, disconnected.
15:02:02 <oerjan> zombie chickens
15:02:13 <elliott> Phantom_Hoover_: A creeper and a skeleton are currently molesting me from the game over screen.
15:02:19 <elliott> Oh, now a zombie too.
15:02:38 <elliott> Phantom_Hoover_: So I should have rounded up a few enemies if anyone else wants to go on :P
15:02:41 <elliott> Phantom_Hoover_: Did I mention I ran into the creeper to avoid the horrible fate of zombies?
15:03:11 -!- Phantom_Hoover_ has quit (Quit: holidays).
15:03:12 <elliott> bitches can't climb up trees
15:04:48 <elliott> the mob spawners just spawn pigs :(
15:04:51 <elliott> fizzie: Got any explanation for this? :P
15:05:09 <elliott> fizzie: right clicking while holding a feather on dirt or sth ->
15:05:10 <elliott> 15:04:27 [INFO] Connecting to a322.org:25566...
15:05:12 <elliott> erm,
15:05:14 <elliott> 15:04:23 [DIED] protocol.c: 359: Unknown packet id: 0xee (dir 2)
15:05:37 <fizzie> Probably desynced due to <insert reason>.
15:05:55 <fizzie> I still can't quite "get over" not adding a length field in the "protocol".
15:06:14 <elliott> So has anyone actually done anything other than build a blocked-off tunnel at spawn? :p
15:06:30 <elliott> fizzie: Holding down right click w/ feather -> pretty reliable crash if you walk
15:07:41 -!- MigoMipo has joined.
15:07:45 <fizzie> I'll take a look at home, hopefully. Though there's a movie-watching thing, so I might not have time.
15:08:03 <elliott> fizzie: So is the server staying like this? :p
15:08:21 <fizzie> I don't know; I haven't heard anything from ineiros except the "hello" on-channel.
15:09:08 <elliott> fizzie: Let's just say yes, 'cuz this is pretty awesome.
15:09:17 <elliott> we can COLOMIJIGGER
15:09:20 <elliott> *MIZE
15:09:37 <fizzie> dir 2 is PACKET_TO_SERVER, though, so it got desynk'd in the client-to-server stream, which is nice, because that one tends to be less complicated and easier to anamalyze.
15:09:49 <elliott> heh
15:10:53 <fizzie> Packet ID 0x05 at least seems to have been completely repurposed, so I'll have to update for that.
15:11:16 <elliott> Iron at (17,-153) for whenever I'm not shitfaced.
15:11:20 <elliott> Shtifaced scared that is.
15:11:27 <elliott> My terminology does not have to sense-make to be use-make.
15:12:56 <elliott> What @ (45,-242).
15:13:47 <elliott> THINGS THAT DO NOT WORK: Jumping off a cliff to get down
15:14:04 <elliott> > //coords
15:14:05 <elliott> 15:13:29 [CHAT] //coords: x=41, z=31, y=63
15:14:05 <elliott> > //coords
15:14:05 <elliott> 15:13:30 [CHAT] //coords: x=41, z=31, y=63
15:14:11 <elliott> fizzie: There's a blank line after the chat prompt.
15:14:14 <elliott> Printing bug?
15:14:18 <elliott> No, wait.
15:14:22 <elliott> 15:08:40 [INFO] Starting up...
15:14:22 <elliott> 15:10:36 [CHAT] //coords: x=17, z=-153, y=65
15:14:22 <elliott> 15:12:21 [CHAT] //coords: x=45, z=-242, y=85
15:14:26 <elliott> Blank line before that last one too.
15:20:21 <ineiros> Hello.
15:21:20 <ineiros> elliott: The placed spawners apparently only spawn pigs. I would like to have the capability to edit them, though. But hey, free bacon.
15:22:20 <ineiros> I thought to have something else there for a few days until the hMod is stable again.
15:23:09 <ineiros> Also, if someone wants to have maps at some point, you should point me to a system that can handle the current mess.
15:25:22 <elliott> ineiros: You use cartomograph, right?
15:25:27 <elliott> Also: plz keep it like this, it's awesome.
15:25:32 <elliott> (As in this map.)
15:29:22 <elliott> 15:28:41 [DIED] protocol.c: 359: Unknown packet id: 0x19 (dir 2)
15:29:24 <elliott> after building cloth
15:30:51 <ineiros> elliott: No, pymap.
15:31:05 <fizzie> ineiros: Why didn't you just patch the region?
15:32:38 <ineiros> fizzie: Setting the extents manually caused an exception elsewhere in the code. Didn't have motivation to look further into the code.
15:33:18 <fizzie> Also, wasn't it pynemap instead of pymap?
15:33:41 <ineiros> fizzie: Yes, my bad.
15:34:14 <fizzie> I haven't tried the others; Cartographer 5's Linux port didn't have extents-setting features.
15:34:32 <fizzie> Someone has done a google-maps driven map already, though, http://www.triangularpixels.com/Junk/TectonicusTest/map.html
15:36:03 <fizzie> http://www.minecraftwiki.net/wiki/Programs_and_Editors#Mappers says of one that it's the "The fastest mapper available; capable of processing very large maps. Supports multiple modes including cave maps and resource highlighting." but it seems to be Windows-only, according to them little icons.
15:39:37 <fizzie> I still want to do that google maps / openlayers -based web-tile-mapper at some point, though I'd prefer if it had quasi-real-time player markers and such from a server plugin too.
15:46:10 <elliott> fizzie: The Google Maps ones take up many-the-gigs of storage space, I gather.
15:46:55 <fizzie> They could have a limited-size cache and on-the-fly generation.
15:47:59 <elliott> fizzie: That'll not slow the server down at all, nope.
15:48:01 <elliott> :p
15:48:45 <fizzie> Well, it could be done on some other box with the world rsync'd every now and then. Not sure how easy it is to add real-life geodata on top of gmaps. (Or openlayers.)
15:48:49 <elliott> "Minecraft is about to go up in price, so today is your last chance to buy it for €10. Obviously I recommend it. When it officially reaches beta today, the main niggles with the mutliplayer will be gone and the price will be €15." -- yes, those niggles like not being able to duplicate shit :)
15:49:36 -!- Sasha2 has quit (Ping timeout: 240 seconds).
15:50:17 <elliott> "I stock up on wood. I stock up on stone. I stock up on metal. I even take some sand. Then I fret that the sand and wood is taking too much potential ham-space, and ditch it. Then I stock up on water. Then I wonder if I should go looking for more diamond to make armour with. Then I wonder if my beacon is tall enough. Then I wonder if I have enough pickaxes.
15:50:18 <elliott> Then I stop being such a dithering prick and set light to the portal."
15:50:39 <elliott> "I’m almost ready. The only thing wrong with this scene is that it doesn’t feel very dramatic. I’m going to *hell*, there should be some spectacle here.
15:50:39 <elliott> I turn around and look at the closest tree for a while, then set fire to it. It starts a forest fire that rages across the hill behind me, enclosing the portal between a crescent of fire and the water of the bay."
15:50:45 <elliott> I, too, solve all problems with forest fires.
15:52:11 <elliott> "This is when I discover the rock beneath me is not in fact rock, but a sea of screaming faces that stick to my feet in such a way that I can barely move. Shit like this is going in my TripAdvisor review, Nether. Two stars MAX."
15:52:59 <elliott> "I bolt back down as the fireball hits above. OK, I saw it. It’s about three blocks this way, then five that way, then a couple up and whunk! I’ve struck obsidian. Congratulations, Tom, you’ve discovered the thing you just came out of."
16:10:55 <elliott> fizzie: [[The Settlers 7: Paths to a Kingdom
16:10:55 <elliott> Super horrible DRM problems aside, this is a fresh air of old school game design, almost feeling board-game like at times. 4/5]]
16:11:05 <elliott> fizzie: Notch -- he hates stupid horrible DRM problems.
16:11:12 <elliott> Like, say, depending on a single server to play the game.
16:11:16 <elliott> *game in multiplayer.
16:11:25 <elliott> And bundling forced updates with the validation.
16:16:18 <elliott> [[Sonic the Hedgehog 4: Episode 1
16:16:18 <elliott> Too little, too late. Sonic in an undead zombie by now. 2/5]]
16:16:26 <elliott> Coming soon to Minecraft -- zombies that aren't undead.
16:19:16 -!- pikhq has quit (Ping timeout: 255 seconds).
16:21:11 -!- pikhq has joined.
16:23:56 <elliott> ineiros: FWIW, there are supposedly-stable pre-compiled builds of the beta-updated development hMod.
16:24:40 <Vorpal> <fizzie> Someone has done a google-maps driven map already, though, http://www.triangularpixels.com/Junk/TectonicusTest/map.html <-- I seen at least two different programs that does it
16:25:27 <elliott> *I've.
16:25:45 <Vorpal> ineiros, when will the server go back to normal btw?
16:25:54 <Vorpal> I would guess when hmod is updated
16:26:03 <Vorpal> right?
16:30:51 <elliott> Or never.
16:31:01 <elliott> The maps would be cleaner. :p
16:31:08 <elliott> I'm even getting used to dying! A LOT!
16:34:55 <fizzie> elliott: Based on the hmod github commit-log, it's still seeing quite a lot of development, so I'd personally still wait a while. (Though of course for bleeding-edge testing...)
16:35:18 <elliott> fizzie: Isn't that the motto of the League of Notch Apologists? "YOU'RE the testers!"
16:38:43 <Vorpal> elliott, that is only because haven't built anything really complicated. Sure the stairs were massive, but they didn't actually take that long. Something like fizzie's house and bunker is a lot more work
16:39:06 <Vorpal> so yeah, we should go back to the proper map when we have a working hmod
16:39:30 <elliott> Vorpal: You could just say "MY HOUSE!! MY BEAUTIFUL BEAUTIFUL FORTRESS!!" and be done with it rather than coming up with complicated excuses.
16:39:47 <Deewiant> That /is/ what he said.
16:39:54 <Vorpal> Deewiant, quite
16:41:33 <elliott> Deewiant: Well, no, he said "You wouldn't know! You're not like fizzie!"
16:41:34 <elliott> Compare:
16:41:37 <elliott> <Vorpal> elliott, that is only because haven't built anything really complicated. Sure the stairs were massive, but they didn't actually take that long. Something like fizzie's house and bunker is a lot more work
16:41:38 <elliott> <Vorpal> so yeah, we should go back to the proper map when we have a working hmod
16:41:38 <elliott> vs.
16:41:45 <elliott> <Vorpal> I don't want that, I'd lose my house.
16:42:21 <elliott> YES! k3 is still available!
16:44:52 <Vorpal> elliott, in other words, you got annoyed because I didn't fit your baseless image of me as someone who constantly whines when I tried to discuss in a civil manner and with proper justification for the statement.
16:45:07 <elliott> Oh snap, time for some quality Vorpal indignation.
16:45:26 <Vorpal> elliott, actually I'm amused.
16:48:27 <elliott> anyone want K3?
16:55:57 <elliott> elliott@dinky:~/k$ chmod +x lin/k
16:55:57 <elliott> elliott@dinky:~/k$ lin/k
16:55:57 <elliott> K 3.2 2005-06-25 Copyright (C) 1993-2004 Kx Systems
16:55:57 <elliott> LIN32 2CPU 3805MB dinky.local 0 EVAL
16:55:57 <elliott> 2+2
16:55:57 <elliott> 4
16:55:59 <elliott> ^_^
17:05:00 <Vorpal> elliott, k3?
17:05:58 <elliott> K, the language, version 3.
17:06:20 <Vorpal> elliott, open source?
17:06:31 <elliott> you know what K is ...
17:06:43 <elliott> and no. in fact i just found the interp against after olegfink linked me to nsl.com's copy
17:06:46 <Vorpal> elliott, I don't remember the details no
17:06:58 <elliott> it's like J but different.
17:07:01 <Vorpal> ah
17:15:55 * elliott reads the manual
17:16:25 <elliott> "K-Lite is a time-limited, reduced version of K which enables interested develop-
17:16:25 <elliott> ers to learn the language and develop small applications. K-Lite consists of the K
17:16:25 <elliott> language and interpreter, GUI software, and ASCII file read/write capability. It
17:16:25 <elliott> does not include connections, file mapping, interprocess communications or
17:16:25 <elliott> runtime capabilities." <-- hmm, this copy doesn't seem to be time limited
17:16:30 <elliott> *time-limited
17:17:39 <elliott> oh, the manual is old
17:17:43 <elliott> for K-Lite 2.0
17:17:45 <elliott> whereas this is real K 3.2
17:18:40 -!- jix has quit (Read error: No route to host).
17:21:39 -!- jix has joined.
17:22:10 <elliott> hmm no it is the EVALuation version I think since it says EVAL
17:23:38 <elliott> "For example, Logical Or is denoted by | and Logical And is denoted by & in both K and C."
17:23:40 <elliott> Er. Not quite.
17:42:20 <Gracenotes> NOT QUITE
17:42:45 <elliott> Knot quilt.
17:49:56 -!- elliott has quit (Remote host closed the connection).
17:52:14 -!- elliott has joined.
17:57:03 -!- cheater99 has quit (Quit: Leaving).
17:57:04 -!- jix has quit (Ping timeout: 276 seconds).
17:57:30 -!- jix has joined.
17:59:31 * pikhq now wonders how quickly it can take to go from 0 to the first boss in here.
17:59:44 <pikhq> Come on, absurdity.
17:59:53 <pikhq> And poor grammar.
18:03:38 <pikhq> All of a few minutes?
18:04:32 <elliott> wat
18:04:43 <pikhq> I'm just guessing.
18:05:19 <pikhq> Okay, bit more than that.
18:06:12 <pikhq> First hour or so skipped though.
18:06:44 <elliott> pikhq: are you doing the infinity-plus-one-all-that's-necessary run?
18:06:47 <elliott> if so: <3
18:06:49 <pikhq> Yes.
18:06:54 <elliott> pikhq: videoing it? :P
18:07:01 <pikhq> Not atm.
18:07:56 * pikhq saveth not!
18:10:37 <Vorpal> pikhq, which game?
18:10:40 <elliott> Persona 3.
18:10:58 <Vorpal> ah
18:11:45 <pikhq> Speedrunning is easy with most of the game being optional.
18:11:55 <Vorpal> right
18:12:25 <elliott> pikhq: Is this going to give you a terrible ending? :P
18:12:30 <Vorpal> text adventure speed run. How would you measure it?
18:12:38 <Vorpal> in number of commands?
18:12:45 <pikhq> elliott: Not necessarily.
18:12:53 <elliott> Vorpal: Yes, that's how it's done.
18:12:57 <Vorpal> elliott, ah
18:13:01 <pikhq> elliott: But the good ending would be PAINFUL.
18:13:08 <elliott> Vorpal: Take a look at this: http://www.the-spoiler.com/ADVENTURE/Infocom/trinity.1.html
18:13:30 <elliott> Including comments.
18:13:56 <pikhq> elliott: There's a 260 floor dungeon. It is only mandatory at the very end of the good ending.
18:15:02 <elliott> pikhq: Can you one-shot it? :P
18:15:17 <pikhq> I can one-shot everything!
18:15:32 <elliott> pikhq: Can you do the bad ending, then go back and do the good ending?
18:15:47 <elliott> If so: do that, just so you can say you did the ABSOLUTE MINIMUM REQUIRED TO COMPLETE IT the first time.
18:15:49 <pikhq> I can load from a savepoint, yes.
18:16:04 <elliott> Save right before the bad/good diverge point :P
18:16:21 <pikhq> There's a few minutes from there to the bad ending.
18:16:35 <elliott> Eh?
18:17:12 <pikhq> You choose whether to accept that the world will end or try to fight Death.
18:17:20 <elliott> lawl
18:28:30 -!- j-invariant has joined.
18:28:40 <elliott> hi j=
18:28:43 <elliott> *j-invariant
18:28:55 <j-invariant> hey
18:29:02 <elliott> speaking of coq
18:29:03 <elliott> http://en.wikipedia.org/wiki/Computable_number#Formal_definition
18:29:09 <elliott> defining computable reals by computable dedekind cuts
18:29:13 <elliott> so cool
18:30:24 <elliott> (ok so that has very little to do with coq but still)
18:31:26 <j-invariant> that's so simple, I had always thought dedekind cuts would be really complicated to do
18:34:02 -!- roper has quit (Quit: Abandonando).
18:35:09 <elliott> j-invariant: I wonder what pi looks like
18:35:32 <pikhq> Okay, seems it takes 45 minutes to get through the intro stuff.
18:36:03 <elliott> fizzie: Not going to play on the HARDCORE SERVER?
18:36:10 <pikhq> And suddenly... SATAN!
18:37:21 <elliott> j-invariant: still, it seems simpler than the complicated usual approximation-function definition
18:37:27 <elliott> j-invariant: and also the continued fraction definition
18:38:16 <elliott> fizzie: I'm spending the night in a pitch black 1x1x2 hole with things making noises right next to me.
18:42:24 <Vorpal> <pikhq> elliott: There's a 260 floor dungeon. It is only mandatory at the very end of the good ending. <-- large floors?
18:42:36 -!- Sasha has joined.
18:43:20 <elliott> j-invariant: hmm i should implement computable dedekind cuts
18:43:24 <tswett> If it's pitch-black hole, mobs can spawn in it.
18:43:33 <j-invariant> not sure how you do arithmetic with them
18:43:35 <elliott> tswett: As I said, it's 1x1. So they'd have to spawn... on me.
18:43:41 <elliott> j-invariant: me neither ...
18:43:54 <elliott> tswett: Technically, they have .3 m above my head to cram into.
18:44:17 <elliott> Aaand the server went down.
18:44:23 <tswett> Hm. Perhaps you and them are both really narrow, or something. I don't know if they can spawn there or not.
18:44:39 <Vorpal> pikhq, if they are large, is it randomly generated or something (or at least generated + hand edited, actually making that many floors, if large, by hand sounds painful)
18:45:52 <tswett> You know, I would probably get some enjoyment out of a game that is just a randomly-generated world that you can explore.
18:45:59 <tswett> Do nothing else. Just explore.
18:51:42 <Vorpal> elliott, local game: larger overhang than mt hoover. Also it turns 90 degrees halfway out. And there is no scenery cut off to explain it (that game is all post-halloween)
18:52:04 <pikhq> Vorpal: It is mostly randomly-generated.
18:52:27 <Vorpal> pikhq, hm okay
18:52:37 <pikhq> Vorpal: And changes each time you go to a floor.
18:52:39 <Vorpal> pikhq, I guess it isn't very story-heavy then?
18:52:41 <Vorpal> pikhq, ha
18:53:02 <pikhq> Oh, it's very story-heavy. The design of the single dungeon is just irrelevant to the story.
18:53:22 <Vorpal> elliott, wow there are 2 more overhangs like it visible from under the middle one
18:53:36 <pikhq> And aside from the very end of the good ending, it's entirely optional.
18:53:38 <Vorpal> elliott, and a rather large floating island
18:53:44 * Vorpal takes screenshots
18:54:00 <Vorpal> pikhq, is there just /one/ good ending?
18:54:25 <Vorpal> pikhq, also I didn't mean if the game was story-heavy. I meant if the gameplay in that dungeon was
18:54:33 <elliott> This house should do me for the night.
18:54:39 <elliott> Although a creeper will fuck it up.
18:54:42 <elliott> Shit, I only have three hearts.
18:54:48 <elliott> How do you get health back again? It isn't coming back naturaly.
18:55:09 <Deewiant> Eat.
18:56:32 <j-invariant> do any of you play minecraft on ubuntu?
18:56:50 <elliott> Deewiant: I have no food.
18:56:53 <elliott> j-invariant: I play it on Debian
18:56:55 <elliott> so close enough
18:56:56 <elliott> why?
18:57:00 <j-invariant> just wondering if you have to do any fixes to make it work?
18:57:06 <j-invariant> didn't work when I tried it
18:57:09 <Deewiant> elliott: So you won't get health back.
18:57:32 <elliott> Deewiant: how do i get food again :D
18:57:34 <elliott> j-invariant: well you need the sun jvm
18:57:36 <elliott> sun-java6-*
18:57:41 <elliott> or at least, that fixes it for some people
18:57:45 <elliott> j-invariant: what problems did you have?
18:57:59 <Deewiant> elliott: Mushrooms, fish, pigs, apples
18:58:08 <tswett> How do you get apples?
18:58:14 <Deewiant> Can't remember.
18:58:19 <tswett> Also, some mushrooms will hurt you, if I remember correctly.
18:58:34 <fizzie> I play on Ubuntu with the default openjdk, and it works just fine for me, but indeed for many it doesn't seem to.
18:58:36 <pikhq> Vorpal: Ah.
18:58:54 <j-invariant> I think the graphics rendenring was completely wrong, but maybe I should try again with the upgrade
19:00:02 <elliott> Suspicious lack of noises tonight.
19:00:07 <elliott> Deewiant: Gonna play on the survival server?
19:00:17 <elliott> Deewiant: It's all ~hardcore~ now although it is night time so you may want to wait some minutes.
19:00:18 <Deewiant> Not for a while.
19:00:37 <pikhq> elliott: Fun fact: you only get the infinity-plus-one sword after the first boss.
19:00:39 <Vorpal> elliott, an exposed dungeon up in the very tip of the overhang!!
19:00:48 <pikhq> elliott: Said boss is entirely beatable without leveling.
19:00:53 <elliott> pikhq: Sounds ... silly.
19:01:29 <pikhq> elliott: It's essentially scripted up until then.
19:02:03 <pikhq> Vorpal: There's precisely two endings.
19:02:24 <elliott> j-invariant: how do you do "apply recordConstructor." in Coq without it complaining about not being able to find a value for a variable?
19:02:27 <elliott> I want it to become the new goal
19:02:32 <elliott> dunno if you know
19:03:25 <elliott> Aww, a zombie swimming, how cute.
19:03:28 <elliott> And a creeper.
19:03:34 <elliott> Wait, what? It's LIGHT now, why are you appaering now.
19:03:49 <elliott> Haha burn
19:06:05 <j-invariant> elliott: eapply
19:06:30 <j-invariant> ~~~~~
19:07:44 -!- wareya_ has quit (Ping timeout: 264 seconds).
19:08:57 <j-invariant> elliott: any ideas about this proof
19:09:03 <j-invariant> http://i.imgur.com/n4gcr.png
19:09:27 <j-invariant> I have mn = id, nm = id, etc.. and I want to show that Ff = m Gf v
19:12:35 <elliott> fizzie: That lasted long.
19:12:43 <elliott> j-invariant: no idea :/
19:12:47 <fizzie> Yes, I foolishly tried out mcmap.
19:12:59 <elliott> j-invariant: eapply has me trying to prove things on ?7
19:13:04 <elliott> rather than getting me to specify ?7 first
19:13:08 <elliott> or is there a tactic for that too?
19:13:12 <j-invariant> elliott: yeah if that happens you are in trouble
19:13:16 <elliott> fizzie: can you please bring bacon? :{
19:13:32 <j-invariant> say you have category with identity compose and some axioms..
19:13:33 <elliott> j-invariant: hmm there's a command to declare a subgoal with a specified type right?
19:13:58 <j-invariant> then a good way is instead of eapply Build_Category. you can do apply (Build_Category <definition of identity> <definition of compose>). tehn you get goals left over for all the axioms
19:14:08 <j-invariant> that's how I get around the ? stuff
19:14:13 <fizzie> Strange stuff; mcmap goes into a 100% CPU utilization loop.
19:14:21 <j-invariant> but it can be difficult to write the definitions in situ
19:14:27 <elliott> fizzie: you sure do listen to my pleas :P
19:14:36 <fizzie> I don't have any bacon to bring.
19:14:45 <elliott> fizzie: there's a mob spawner at spawn.
19:14:47 <elliott> it makes lots of pigs
19:14:53 <elliott> punch => food
19:15:08 <fizzie> Well, as soon as I get mcmap to actually let me in.
19:15:17 <j-invariant> elliott: I'mk stating to think that teh theorem isn't true
19:15:23 <j-invariant> need more assumptions
19:17:34 <elliott> fff now I need to refer to Z's ^
19:17:35 <elliott> but it's Q's
19:17:40 <elliott> and i've forgotten how to override scope
19:18:14 -!- Wamanuz4 has quit (Remote host closed the connection).
19:22:14 <elliott> fizzie: oh god spider noises
19:23:15 -!- Wamanuz has joined.
19:24:01 <Vorpal> elliott, I haven't had those in single player, but I have had strange noises
19:25:41 <j-invariant> elliott: http://coq.pastebin.com/v1Lb81As
19:26:16 <j-invariant> elliott: the proofs are kind of a mess, and it's been hard work - but I got equality of functors defined
19:26:29 -!- wareya has joined.
19:27:52 <j-invariant> elliott: (if there is a neater way to define functor equality, I'll take it!)
19:29:45 <j-invariant> need natural transforms next
19:30:28 <elliott> fizzie: Lagg.
19:30:38 <elliott> j-invariant: i don't know of one, way further than i've got
19:30:47 <fizzie> Lagg indeed.
19:31:00 <fizzie> I threw out three bacon, I don't know if they disapparated somewhere. Hope not.
19:31:19 <elliott> fizzie: They were in my inventory when I spawned falling into nothingness.
19:31:25 <fizzie> Okay.
19:31:41 <elliott> fizzie: You can stay at my house, FWIW. If you're staying on that is.
19:31:41 <fizzie> I'm not going to start actually playing there, though, I just wanted to check if mcmap worked.
19:31:55 <elliott> fizzie: See how boring you are?!
19:31:59 <elliott> BOERING
19:37:49 <j-invariant> elliott: want to do natural transforms for me? LOL this is making me exausted
19:38:15 <elliott> j-invariant: er let me think of an excuse :D
19:38:22 <j-invariant> its' probably going to be another 300 lines
19:38:42 <elliott> j-invariant: and they said Coq couldn't get any more academic!
19:38:47 <elliott> you showed them!
19:39:22 <j-invariant> I really do want to define limits via cones though
19:39:43 <elliott> hehe
19:40:28 <elliott> p^3 <= (3*(q^3)))).
19:40:28 <elliott> grr
19:40:33 <elliott> how do you do that if p's ^ is in Z_scope
19:40:36 <elliott> but q's ^ is in positive_scope?
19:40:59 <j-invariant> something liek (q^3)%Z_scope
19:41:31 <elliott> oh yeah
19:41:40 <elliott> j-invariant: well no q is positive_scop
19:41:40 <elliott> e
19:41:41 <elliott> but yeah
19:44:24 <elliott> j-invariant: (
19:44:24 <elliott> ((p^3)%Z) <=
19:44:24 <elliott> (Z_of_nat (nat_of_P (3*(q^3))%positive))
19:44:24 <elliott> )%Z)).
19:44:26 <elliott> this will never work :D
19:45:31 -!- sebbu has quit (Read error: Connection reset by peer).
19:45:49 <j-invariant> just type the full names lol
19:45:58 -!- sebbu has joined.
19:49:52 <elliott> fun H : Q =>
19:49:52 <elliott> let p := Qnum H in
19:49:52 <elliott> let q := Qden H in
19:49:52 <elliott> Zle_bool (p ^ 3) (let q' := Z_of_nat (nat_of_P q) in 3 * q' ^ 3)
19:49:54 <elliott> thanks tactics
19:51:19 <elliott> what's the tactic that proves True again :D
19:52:13 <j-invariant> tauto
19:53:42 <elliott> ============================
19:53:42 <elliott> forall r s : Q,
19:53:43 <elliott> Is_true
19:53:43 <elliott> (let p := Qnum r in
19:53:43 <elliott> let q := Qden r in
19:53:43 <elliott> Zle_bool (p ^ 3) (let q' := Z_of_nat (nat_of_P q) in 3 * q' ^ 3)) /\
19:53:46 <elliott> ~
19:53:47 <elliott> Is_true
19:53:49 <elliott> (let p := Qnum s in
19:53:51 <elliott> let q := Qden s in
19:53:53 <elliott> Zle_bool (p ^ 3) (let q' := Z_of_nat (nat_of_P q) in 3 * q' ^ 3)) ->
19:53:55 <elliott> r < s
19:53:57 <elliott> well this looks fun.
19:55:00 <j-invariant> what's Is_true?
19:55:04 <elliott> j-invariant: from Bool
19:55:08 <elliott> it's just if x then True else False
19:55:16 <elliott> j-invariant: hmm i'd be better off using match rather than destructing with Qnum and Qden right?
19:55:16 <j-invariant> oh I see
19:55:29 <j-invariant> wait that means the theing is decidible
19:55:37 <j-invariant> well no because it's quantified
19:55:43 <elliott> j-invariant: right
19:55:48 <Vorpal> elliott, http://sporksirc.net/~anmaster/minecraft/screenshots/overhang/
19:55:52 <Vorpal> elliott, that beats mt hoover eh?
19:55:54 <j-invariant> if you destruct s it should simplify to the same thing
19:56:06 <elliott> gah, i've forgotten all the tactics
19:56:29 <j-invariant> yeah I wish there was another way to twirte proof, some sort of hand waving magic way
19:56:57 <Vorpal> elliott, take http://sporksirc.net/~anmaster/minecraft/screenshots/overhang/2010-12-23_19.57.42.png for example. That are two huge overhangs next to each other, not a full arch
19:57:00 <elliott> j-invariant: yeah like writing some stuff on paper, saying "the rest is left as an exercise to the reader", and calling it a day
19:57:05 <elliott> j-invariant: why do we need computers to do it anyway!
19:57:15 <elliott> Vorpal: heh
19:57:41 <Vorpal> elliott, the rest of the pictures in that dir are quite nice too, showing off the THIRD huge overhang which is hidden in the picture I linked.
19:57:58 <elliott> j-invariant: I think that maybe "x = tt" is easier to work with than "if x then True else False"
19:58:36 <j-invariant> lol
19:58:49 <Vorpal> elliott, you can't get up on one of them because it overhangs all around
19:59:00 <Vorpal> elliott, the other two (including the largest one) you can get up on just fine
19:59:28 <elliott> (if Zle_bool (p1 ^ 3) (3 * Z_of_nat (nat_of_P q1) ^ 3)
19:59:29 <elliott> then True
19:59:29 <elliott> else False) /\
19:59:29 <elliott> ~
19:59:29 <elliott> (if Zle_bool (p2 ^ 3) (3 * Z_of_nat (nat_of_P q2) ^ 3)
19:59:29 <elliott> then True
19:59:32 <elliott> else False) -> p1 # q1 < p2 # q2
19:59:38 <elliott> "do arithmetic yourself computer."
19:59:41 <elliott> zomg it worked!11
20:00:16 <elliott> Error: Omega: Unrecognized predicate or connective: Qlt
20:00:17 <elliott> you suck, Omega.
20:01:44 <elliott> j-invariant: wanna do my proof for me? :p
20:01:54 <Vorpal> elliott, there is an image on the improbable dungeon inside the overhang too
20:02:57 <j-invariant> elliott: wait a second omega should handle Qle
20:03:00 <j-invariant> Qlt I mean
20:03:11 <elliott> j-invariant: a second omega? it wouldn't even run once, because of that
20:03:22 <j-invariant> import QArith and stuff?
20:03:25 <elliott> j-invariant: what upsets me is that it can't match (Is_true (... Zle_bool ...)) to Zle ...
20:03:32 <elliott> j-invariant: oh i have an idea
20:03:33 <elliott> j-invariant: instead of
20:03:35 <elliott> D : Q -> bool
20:03:37 <elliott> what if it was
20:03:41 <elliott> D : Q -> Prop
20:03:49 <elliott> D_decide : forall x, (D x) \/ ~(D x)
20:03:58 <elliott> that'd give less Is_true crap right?
20:07:28 <Vorpal> fizzie, you might want to check out http://sporksirc.net/~anmaster/minecraft/screenshots/overhang/ too
20:09:02 <elliott> ============================
20:09:03 <elliott> (1 ^ 3 <= 3 * Z_of_nat (nat_of_P 1) ^ 3)%Z
20:09:05 <elliott> that's decidable you stupid prover
20:10:19 <j-invariant> compute?
20:11:29 <elliott> oh, indeed, that works
20:11:30 <elliott> thanks :P
20:11:50 <Vorpal> elliott, is this awesome: http://sporksirc.net/~anmaster/minecraft/screenshots/overhang/2010-12-23_19.59.38.png
20:11:57 <Vorpal> elliott, (see the dungeon!)
20:12:09 <elliott> darn now what's the thing to do ~(x=y)
20:12:12 <elliott> for constructors x and y
20:12:22 <elliott> ah congruence
20:12:26 <j-invariant> discriminate
20:12:38 <elliott> (Gt = Gt -> False) -> False
20:12:48 <elliott> j-invariant: look at that filthy coq, with its ~~p!
20:13:04 <j-invariant> lol
20:13:12 <elliott> congruence sorts it out though :P
20:13:19 <elliott> forall r s : Q,
20:13:19 <elliott> match r with
20:13:19 <elliott> | p # q => (p ^ 3 <= 3 * Z_of_nat (nat_of_P q) ^ 3)%Z
20:13:19 <elliott> end /\
20:13:19 <elliott> ~ match s with
20:13:20 <elliott> | p # q => (p ^ 3 <= 3 * Z_of_nat (nat_of_P q) ^ 3)%Z
20:13:22 <elliott> end -> r < s
20:13:24 <elliott> NOW IS FUN TIEM
20:13:33 <elliott> Error: Omega: Unrecognized predicate or connective: Qlt
20:13:35 <elliott> I wonder why that is
20:13:37 <elliott> doesn't omega do rats??
20:14:01 <elliott> Vorpal: a creeper exploded one block from my house :)
20:14:28 <Vorpal> elliott, ouch
20:14:36 <Vorpal> elliott, was it obsidian?
20:14:44 <elliott> no, wood, but as i said, one block outside of blast radius
20:14:47 <elliott> not the creeper one block away
20:14:48 <elliott> sorry
20:14:50 <elliott> to be fair, i hit it with my sword
20:14:58 <elliott> obviously, it got scared
20:14:58 <Vorpal> hm
20:15:08 <Vorpal> elliott, scared to death
20:15:17 <elliott> yes. scared to explosion.
20:15:27 <Vorpal> elliott, yes, it dies when it explodes
20:15:43 <elliott> match r with
20:15:43 <elliott> | p # q =>
20:15:43 <elliott> match
20:15:43 <elliott> match p with
20:15:43 <elliott> | 0%Z => 0%Z
20:15:43 <elliott> | (' x')%Z =>
20:15:45 <elliott> match
20:15:47 <elliott> match p with
20:15:49 <elliott> | 0%Z => 0%Z
20:15:51 <elliott> | (' x'0)%Z =>
20:15:53 <elliott> ...
20:15:55 <elliott> j-invariant: compute on this was a bad idea
20:15:57 <elliott> "match match" :D
20:16:23 -!- augur has quit (Remote host closed the connection).
20:16:37 <elliott> j-invariant: are you sure omega is meant to do Q?
20:16:53 <j-invariant> yeah I think it does
20:16:59 <elliott> hmm
20:17:03 <elliott> i've imported QArith :/
20:17:46 <j-invariant> oh no it does
20:17:57 <j-invariant> Z
20:18:17 <elliott> Require Import QArith.
20:18:17 <elliott> Require Import Omega.
20:18:18 <elliott> right
20:19:05 <j-invariant> Coq version 8.3 is before all a transition version with refinements or extensions of the existing features and libraries and a new tactic nsatz based on Hilbert’s Nullstellensatz for deciding systems of equations over rings. <--- interesting
20:19:15 <elliott> p1 : Z
20:19:15 <elliott> q1 : positive
20:19:15 <elliott> p2 : Z
20:19:15 <elliott> q2 : positive
20:19:15 <elliott> ============================
20:19:15 <elliott> (p1 ^ 3 <= 3 * Z_of_nat (nat_of_P q1) ^ 3)%Z /\
20:19:17 <elliott> ~ (p2 ^ 3 <= 3 * Z_of_nat (nat_of_P q2) ^ 3)%Z ->
20:19:19 <elliott> p1 # q1 < p2 # q2
20:19:21 <elliott> induction here doesn't look promising
20:19:28 <elliott> the conversions make things more painful here :/
20:19:33 <j-invariant> does omega prove it?
20:19:38 <elliott> no, omega doesn't do Qlt
20:19:41 <elliott> # is Qmake
20:19:55 <elliott> wish it was Q := Z*(q:Z)*(q>0)
20:20:00 <j-invariant> oh well change it to p1 * q2 < p2 * q1
20:20:10 <elliott> j-invariant: is there a premade lemma for that? :P
20:20:23 <j-invariant> then you just need p1 * q2 < p2 * q1 iff p1 # q1 < p2
20:20:24 <j-invariant> #q2
20:20:51 <elliott> yeah
20:21:01 <elliott> I hope QArith has that
20:21:16 <elliott> Notation QDen p := (Zpos (Qden p)).
20:21:16 <elliott> aha
20:22:12 <elliott> H0 : (p1 ^ 3 <= 3 * ' q1 ^ 3)%Z
20:22:12 <elliott> H1 : ~ (p2 ^ 3 <= 3 * ' q2 ^ 3)%Z
20:22:12 <elliott> ============================
20:22:12 <elliott> p1 # q1 < p2 # q2
20:22:15 <elliott> looks less frightening now
20:23:16 <elliott> j-invariant: lame, stdlib doesn't have that theorem
20:23:42 -!- augur has joined.
20:26:15 <elliott> Lemma foo :
20:26:15 <elliott> forall (p1 p2 : Z) (q1 q2 : positive),
20:26:15 <elliott> (p1*'q2 < p2*'q1)%Z -> (p1#q1 < p2#q2)%Q.
20:26:15 <elliott> auto.
20:26:15 <elliott> Qed.
20:26:18 <elliott> that was surprisingly painless
20:26:59 <elliott> H1 : ~ (p2 ^ 3 <= 3 * ' q2 ^ 3)%Z
20:27:01 <elliott> just need to get this to be >
20:28:28 <elliott> Lemma Znot_ge_lt : forall n m:Z, ~ n >= m -> n < m.
20:28:29 <elliott> yay
20:29:35 -!- impomatic has joined.
20:29:47 <elliott> set (H2 := Znot_le_gt (p2^3) (3*'q2^3) H1).
20:29:47 <elliott> destruct H1.
20:29:50 <elliott> j-invariant: is there a nicer way to do this?
20:30:14 <elliott> in fact that doesn't even work
20:30:18 <j-invariant> dunno, I tend to build everything from scratch
20:30:41 <elliott> j-invariant: I thought I wanted "rewrite Znot_le_gt in H1" but that doesn't work
20:30:47 <elliott> H1 : ~ (p2 ^ 3 <= 3 * ' q2 ^ 3)%Z
20:30:48 <elliott> and iw ant
20:30:53 <elliott> H1 : (p2 ^ 3 > 3 * ' q2 ^ 3)%Z
20:30:58 <elliott> Lemma Znot_le_gt : forall n m:Z, ~ n <= m -> n > m.
20:30:59 <elliott> but
20:31:00 <j-invariant> see if you can rwewrite all the Q stuff in Z, then use omega for it
20:31:04 <elliott> rewrite Znot_le_gt in H1 doesn't work
20:31:07 <elliott> j-invariant: yeah that's what i've done
20:31:11 <j-invariant> oh okay
20:31:14 <elliott> but omega can't solve it
20:31:18 <elliott> so I still need to get this rewrite out of the way
20:31:21 <elliott> and i'm not sure how
20:31:31 <j-invariant> let me try it in Coq
20:32:20 <elliott> j-invariant: want the file
20:32:27 <j-invariant> yeah
20:32:49 <elliott> j-invariant: http://sprunge.us/BbLA
20:33:47 <elliott> j-invariant: I think Coq would be better if all the propositions weren't named... so instead of H1 and the like, there were just the types
20:33:51 <j-invariant> I have an idea
20:33:57 <elliott> and also all the proofs in Cut would just be the type with nothing before :
20:33:58 <j-invariant> letm e try this out
20:34:03 <elliott> it's hard to figure out names :P
20:36:10 <j-invariant> dammit
20:36:40 <j-invariant> it things A -> B is not quantifier free?
20:37:38 <elliott> j-invariant: well that's a forall :D
20:37:40 <elliott> j-invariant: just intro it
20:38:20 <j-invariant> wait a second, maybe it's not even true
20:38:42 <elliott> j-invariant: um i should hope not, since it's the example on wikipedia
20:38:46 <elliott> for a computable dedekind cut
20:39:08 <elliott> j-invariant: so it must be true, by wikipedian infallibility
20:39:18 <elliott> j-invariant: i think ic an hack the proof if youc an make "rewrite Znot_le_gt in H1" work :P
20:42:39 <j-invariant> tested it in haskell and found no counter example
20:43:24 <elliott> lol, when coq users can't prove something they do it in haskell instead
20:44:07 <Quadrescence> j-invariant is my favorite thing ever
20:44:29 <Quadrescence> i was writing an article once on near-integers, modular forms, and the j-invariant
20:44:30 <Quadrescence> :O
20:44:56 <Quadrescence> just thought i might say that
20:45:40 <elliott> D_true_ex_gt : forall r, D r -> (exists s, s > r /\ D s)
20:45:43 <elliott> j-invariant: lol now THIS
20:45:46 <elliott> j-invariant: this looks unfun
20:45:53 <elliott> (I "admit"ted the previous one and am moving on for now)
20:45:57 <elliott> r : Q
20:45:58 <elliott> H : match r with
20:45:58 <elliott> | p # q => (p ^ 3 <= 3 * ' q ^ 3)%Z
20:45:58 <elliott> end
20:45:58 <elliott> ============================
20:45:58 <elliott> exists s : Q,
20:46:00 <elliott> r < s /\ match s with
20:46:02 <elliott> | p # q => (p ^ 3 <= 3 * ' q ^ 3)%Z
20:46:05 <elliott> end
20:46:07 <elliott> LOOKS EASY HUH
20:46:11 -!- oerjan has quit (Quit: Good night).
20:46:25 <impomatic> Weather.Outside="frightful"; Fire.Delightful=true; Lights.Luminosity=WayDownLow; for (int i=1; i<=3; i++) { LetItSnow(); }
20:46:47 <Vorpal> elliott, can't you encode the statement in SAT or SMT and try an automated prover (iirc coq is interactive?)
20:47:05 <elliott> Vorpal: that's a rather ... generic statement
20:47:11 <Vorpal> elliott, well yes
20:47:16 <elliott> coq has a ton of automatic solvers, none of them want to touch this :)
20:47:21 <Vorpal> elliott, ah...
20:47:22 <elliott> as far as i can tell
20:47:43 <Vorpal> elliott, I was thinking about using something like alt-ergo or cvc3
20:47:45 <elliott> step one is finding an s that satisfies
20:48:07 <elliott> j-invariant: any ideas about what s to try? :p
20:48:42 <Vorpal> elliott, what exactly are you trying to prove? I don't know co
20:48:43 <Vorpal> coq*
20:49:15 <elliott> Vorpal: i'm trying to prove that D(p/q) = p^3 <= 3*(q^3) is a (computable) dedekind cut
20:49:24 <elliott> proving that it's the cube root of three is for after i have arithmetic. :p
20:49:39 <elliott> Vorpal: i.e. Yet Another approach to the computable reals
20:49:50 <Vorpal> elliott, I guess I can't help until I first check what the heck dedekind cut is
20:50:01 <elliott> Vorpal: you ... don't know?
20:50:07 <Vorpal> elliott, can't say I do no
20:50:24 <elliott> Vorpal: http://en.wikipedia.org/wiki/Dedekind_cut
20:50:28 <elliott> they're the "usual" definition of the reals
20:50:45 <elliott> Vorpal: the computable version is described in http://en.wikipedia.org/wiki/Computable_number#Formal_definition starting "There is another equivalent definition"
20:50:48 <Vorpal> oh right, the definition is familiar
20:50:55 <Quadrescence> Vorpal: hi
20:50:55 <Vorpal> elliott, but I don't think I ever heard it's name
20:51:09 <elliott> Vorpal: *its
20:51:14 <Deewiant> "Usual"?
20:51:21 <elliott> Deewiant: well, i'd say so
20:51:23 <Vorpal> Deewiant, well not sure about that.
20:51:32 <elliott> Deewiant: dedekind cuts and cauchy sequences are the main ways
20:51:32 <Quadrescence> elliott: that's not an approach to computable reals
20:51:39 <elliott> Quadrescence: what aren't?
20:51:45 <Quadrescence> elliott: whatever you're doing
20:51:45 <Deewiant> I'd say the Cauchy sequence definition is far more common
20:51:54 <Vorpal> elliott, the second one really cauched on!
20:51:56 <elliott> Deewiant: that may be so
20:52:06 <elliott> Quadrescence: that's both unhelpful and unjustified
20:52:06 <Vorpal> (sorry, but oerjan wasn't here)
20:52:25 <Quadrescence> elliott: if you want computable reals, you have to start talking about bounds and turing machines
20:52:40 <elliott> Quadrescence: I know what computable reals are. There are several approaches.
20:52:56 <elliott> e.g. approximation functions, continued fractions, and this one, computable dedekind cuts
20:53:25 <Quadrescence> "computable dedekind cuts" sounds like a terrible idea
20:54:04 <elliott> Quadrescence: on what grounds?
20:54:06 <j-invariant> actually what are computable reals?
20:54:11 <elliott> j-invariant: reals that are computable :-)
20:54:20 <j-invariant> elliott: yeah but that's too vauge
20:54:21 <elliott> Vorpal: clever use of shadows to give 32-colour images in minecraft: http://www.minecraftwiki.net/images/c/c4/Dither2.jpg
20:54:33 <Quadrescence> j-invariant: a number which there is a finite process for computing the digits of to arbitrary precision
20:54:35 <Slereah> Markov made a nice article on that
20:54:37 <elliott> "In mathematics, particularly theoretical computer science and mathematical logic, the computable numbers, also known as the recursive numbers or the computable reals, are the real numbers that can be computed to within any desired precision by a finite, terminating algorithm. Equivalent definitions can be given using μ-recursive functions, Turing machines or λ-calculus as the formal representation of algorithms."
20:54:42 <elliott> there are tons of definitions i'd say
20:54:46 <elliott> but they're all equivalent. probably
20:54:47 <j-invariant> are they all equivalent?
20:54:53 <elliott> well, wp says so.
20:55:08 <Slereah> A computable number was basically just defined as (f(x) - g(y))/h(z)
20:55:18 <Slereah> Where all three functions are computable processes
20:55:28 <Quadrescence> :|
20:55:39 <Slereah> Owait
20:55:52 <Slereah> (f(x) - g(x)) / (1+h(x))
20:56:16 <Quadrescence> :|
20:56:21 <Slereah> wot
20:56:57 -!- augur has changed nick to YeshuaLord.
20:57:19 -!- YeshuaLord has changed nick to augur.
20:57:55 <elliott> ineiros: Can I have some bacon?
21:00:34 <Quadrescence> also Deewiant is certainly right that the cauchy seq. defn is the usual defn of the reals
21:00:45 <elliott> sure, but dedekind cuts aren't actually niche.
21:01:14 <j-invariant> I always thought I was alone with my cauchy sequences
21:01:38 <Slereah> Who cares about the reals
21:01:44 <elliott> http://en.wikipedia.org/wiki/Construction_of_the_real_numbers damn, wp lists dedekind second
21:01:47 <Slereah> The whole set of reals is useless!
21:01:51 <elliott> quick, let's edit it to prove Quadrescence wrong
21:02:05 <Slereah> Aleph one of it is basically not found in nature!
21:02:26 <Quadrescence> elliott: No, my evidence is from reading books
21:02:30 <Quadrescence> not Wikipedia all day
21:02:36 <elliott> wikipedia disproves all books, obviously
21:03:27 <Slereah> Cauchy sequence may be first because it's the most intuitive?
21:03:47 <Quadrescence> PROBABLY
21:05:08 <pikhq> 3 math classes. :D
21:14:40 <elliott> Vorpal: notch should reintroduce holes in the bedrock, except make them correspond to holes in the nether ceiling
21:20:41 <elliott> Vorpal: :( he's going to add degrade-on-hit
21:21:02 <elliott> Vorpal: there's a creeper jumping outside my door
21:25:21 <Vorpal> <elliott> Vorpal: :( he's going to add degrade-on-hit
21:25:21 <Vorpal> err
21:25:25 <Vorpal> elliott, what do you mean
21:25:39 <elliott> Vorpal: as in, your pick can break midway through mining obsidian
21:25:42 <elliott> because it's every hit that degrades it
21:25:59 <Vorpal> elliott, what the...
21:26:09 <Vorpal> elliott, so it won't last as long as before?
21:26:12 <elliott> sure it will
21:26:18 <elliott> the damage will be less
21:26:25 <elliott> also, apparently block damage will last for like 10 seconds after you stop mining
21:26:25 <Vorpal> ah
21:26:30 <elliott> so you have time to change to a new pick
21:26:30 <elliott> but still
21:26:34 <elliott> i liked degrade-on-break
21:26:44 <Vorpal> elliott, not as bad then as it could be
21:27:11 <elliott> CREEPER JUST TO THE RIGHT OF MY DOOR HOLY FUCKING SHIT
21:27:21 <Vorpal> elliott, change to peaceful?
21:27:29 <elliott> Vorpal: on SMP?
21:27:34 <elliott> i killed it anyway
21:27:36 <elliott> easy enough
21:27:36 <Vorpal> ah
21:27:55 <elliott> waiting for someone to log in, kill some pigs, and share the bacon with me; I'll provide lodging in my house in return
21:27:58 <Vorpal> elliott, well I'm waiting for the old world. Not really worth building anything in the current world
21:27:59 <elliott> Only 2.5 hearts left :/
21:27:59 -!- impomatic has left (?).
21:28:12 <elliott> Vorpal: no reason this world can't be brought out occasionally
21:28:19 <elliott> it's fun, i've already built a tall house
21:28:28 <elliott> and will mine once i can get coal for torches
21:28:31 <Vorpal> elliott, see, I like predictability
21:28:40 <elliott> what?
21:29:30 <Vorpal> elliott, "logging on thinking you will work on whatever your current project is. Huh, what, not the usual world?!"
21:29:43 <elliott> Vorpal: Or we could have it on predictable days ...
21:29:48 <elliott> Say every two weeks or something.
21:30:05 <elliott> If you're going to say "no just trash it permanently": I built a house I like too, you know.
21:30:14 <elliott> Except mine's in the survival world.
21:30:35 <Vorpal> elliott, well, donate to ineiros so he can get a good VPS to run all the servers on side by side
21:30:44 <elliott> Or just have the survival world come out at predictable times.
21:30:59 <Vorpal> elliott, but yes I think we should switch world whenever you feel like working on glass cube
21:31:12 <Vorpal> that sounds good, switch away from the glass cube one then
21:31:48 <elliott> Vorpal: Are you just trying to be a dick, or are you really so dense that you'll demand that the peaceful world is kept constantly because of ~YOUR BEAUTIFUL HOUSE~ while completely disregarding the fact that I've built things in the survival world, too, and plan to continue doing so?
21:32:22 <Vorpal> elliott, but you are the only one who built stuff there
21:32:26 <Vorpal> elliott, you against all the other ones?
21:32:47 <elliott> Vorpal: I didn't say "trash the peaceful world".
21:32:50 <elliott> I said "have the survival world occasionally".
21:33:05 <elliott> Besides, the beta update for hMod won't be out for a little while, and this is only the first day of the survival server.
21:33:14 <Vorpal> elliott, yeah, maybe one day per moth
21:33:16 <Vorpal> month*
21:33:24 <Vorpal> elliott, or whenever hmod breaks due to upgrade
21:33:30 <Vorpal> the latter seems fair
21:33:41 <elliott> Vorpal: I agree, let's only have your house when hMod breaks.
21:34:25 <Vorpal> elliott, ... the other way around
21:34:42 <Vorpal> elliott, but I predict it will break fairly often
21:34:43 <elliott> Ahh, I see; your house is worth more because you made it.
21:34:45 <elliott> Your arguments, they are stellar.
21:34:51 <Vorpal> elliott, no it is the hmod world.
21:35:05 <Vorpal> elliott, further, it also happens to contain a LOT more
21:35:09 <Vorpal> built by other people
21:35:19 <Vorpal> elliott, fizzie, nailor, ineiros, PH and so on
21:35:36 <Vorpal> elliott, so you hate the "wonder's of the world" thing.
21:35:58 <Vorpal> (if you strawman me, then you get the same shit back)
21:36:01 <elliott> j-invariant: any luck?
21:39:25 -!- zzo38 has joined.
21:39:45 <j-invariant> elliott: the proof is 3 lines :D
21:39:48 <Vorpal> elliott, or you could just switch topic...
21:39:50 <Vorpal> like you did
21:39:58 <elliott> j-invariant: of what?
21:40:02 <elliott> which part i mean
21:40:13 <j-invariant> equivalence relation on natural transform
21:40:22 <elliott> oh, not my dedekind cuts :P
21:40:28 <elliott> right
21:40:30 <elliott> cool, though
21:42:08 <elliott> j-invariant: have you seen http://coq.inria.fr/stdlib/Coq.Logic.IndefiniteDescription.html?
21:43:21 <elliott> ineiros: I'll bribe you for bacon. :p
21:43:46 <Gregor> elliott: In retrospect, cunionfs is awesome :P
21:44:25 <elliott> Gregor: What's so awesome about it? :p
21:44:44 <zzo38> I should make a program to copy a CD/DVD with error emulation and other options. In case of error, it makes a error emulation file that the driver will emulate errors when reading the copy.
21:45:57 <elliott> Gregor: I'm considering writing a package manager based on it, please tell me it actually works well >_>
21:46:26 <Gregor> elliott: Oh it works fine, that's never been the issue, it just doesn't do much (it's just a per-process union FS)
21:46:32 <zzo38> Also a function to tell it to copy the entire disc even if it says only part of it has data, try copying everything anyways even if it says nothing there.
21:47:30 <Gregor> elliott: But what I imagine it's most useful for is building packages in a constrained environment where you don't want "smart" configuration dragging in dev packages you didn't want.
21:48:28 <Gregor> elliott: As well as, of course, "enterprise"y environments like I said before.
21:48:32 <elliott> <Gregor> elliott: But what I imagine it's most useful for is building packages in a constrained environment where you don't want "smart" configuration dragging in dev packages you didn't want.
21:48:36 <elliott> ITT: Debian and Fedora both have this
21:49:10 <Gregor> Yeah, but they do that in a fairly-bizarre way, this is just "let me see this, OK now they're in /usr"
21:49:24 <elliott> Gregor: So can you mount / as a cuneiformfs? :P
21:50:00 <Gregor> I was thinking about that, and my answer is yes-and-no. You could, if you're willing to do that first-thing then do (most) everything else under chroot.
21:50:46 <Gregor> The only real problem is that the directories you mount under it need to exist, but for them to exist they need to be in another FS (to be unioned in)
21:52:18 <elliott> <Gregor> I was thinking about that, and my answer is yes-and-no. You could, if you're willing to do that first-thing then do (most) everything else under chroot.
21:52:19 <elliott> switch_root
21:52:22 <elliott> silly
21:52:27 <elliott> it's what initramfses do IIRC
21:52:38 <elliott> and it pulverises your existing / :P
21:52:45 <Gregor> That doesn't resolve the issue I mentioned later.
21:53:06 <Gregor> The directories you're going to mount /other/ filesystems to need to exist, but for them to exist, they need to ... already exist :P
21:54:08 <pikhq> Hello there.
21:54:22 <pikhq> To have two degrees instead of 1, I need: 1 extra class.
21:56:18 <j-invariant> elliott: http://coq.pastebin.com/xnGjabR6 line 481
21:57:02 <j-invariant> don't look at lines nera 200 :P
21:57:26 <j-invariant> that stuff is awful but I don't know a better way
21:57:49 <elliott> j-invariant: i like it, i also think that it will never work as an stdlib :D
21:58:34 <j-invariant> elliott: I'm going to try to define universal cones so I can get things like products
21:59:28 <elliott> sounds good
21:59:45 <elliott> Gregor: For a stow-alike, are there any advantages to cunionfs over unionfs? :p
22:00:00 <j-invariant> why wont it work as a stdlib?
22:00:08 <elliott> j-invariant: well it might with enough layering
22:00:16 <elliott> j-invariant: i just mean, if you have to build categories like that all the time
22:00:48 <j-invariant> elliott: I think (but I have to study this first) you can define a 'type theory' category, and just use that for everything
22:00:50 <Gregor> elliott: Yes, every process can see its own stowish environment, giving it the build advantage I mentioned before, as well as the ability to have conflicting packages installed simultaneously, etc. Whether that's an advantage to you depends on what you want *shrugs*
22:01:03 <elliott> Gregor: That's an sps-alike, not a stow-alike :P
22:01:15 <elliott> Gregor: But yeah, compelling.
22:01:22 <j-invariant> elliott: but that might be like defining a self interpreter for coq so..
22:01:25 <elliott> Gregor: Now guarantee that cunionfs is stable enough to use in Kitten :P
22:01:26 <Gregor> elliott: For a stow-alike, are there any advantages to unionfs over ... stow?
22:01:30 <elliott> j-invariant: yeah ...
22:01:34 <elliott> j-invariant: also it'd be rather abstract
22:01:37 <Gregor> elliott: I can't guarantee anything, it's F/OSS :P
22:01:38 <elliott> j-invariant: like coding ASTs manually
22:01:43 <elliott> Gregor: stow uses ... symlinks.
22:01:46 <elliott> Ask pikhq for the gory details.
22:01:57 <elliott> Note: Symlinks are pretty much the devil.
22:02:15 <elliott> Gregor: Well, half-guarantee then :P
22:02:15 <j-invariant> I would like to implement something like Knuth Bendix completion to automatically prove theorems
22:02:35 <pikhq> Gregor: GNU stow does nothing more than looking in the stow directory and checking for files that aren't symlinked into the path.
22:02:55 <Gregor> elliott: I have fair confidence that cunionfs is sufficiently stable, and that any stability issues are sufficiently minor that they could be fixed in short order.
22:03:10 <pikhq> It's not *terrible*, but it's only one step removed from Slackware's "untar things to root".
22:03:38 <elliott> Gregor: By you or me :P
22:03:41 <Gregor> pikhq: Well, it claims to be a package manager for people who don't want package managers, right? :P
22:03:53 <Gregor> elliott: By me if they're interesting :P
22:04:04 <elliott> Stow is the official package manager of the GNU Operating System.
22:04:07 <elliott> True story.
22:04:13 <elliott> And cpio the official archiver :P
22:04:17 <Gregor> elliott: Frankly, I'd very much like to see a package manager properly integrated with cunionfs, so it's in my best interest to be helpful.
22:04:40 <elliott> Gregor: Note: It would not plug into an existing package manager, it'd be an entirely new one based on cunionfs :P
22:04:44 <elliott> If you don't like it, SUX2BEU.
22:04:44 * pikhq is definitely going to end up with a dual major, then.
22:05:06 <pikhq> 3 credit hours extra for the freaking second major? Hells yes.
22:05:10 <elliott> pikhq: Mathematical Knitting and Advanced Haberdashery?
22:05:11 <Gregor> elliott: My integration with dpkg was ... spotty at best, mainly because dpkg (as with all other package managers) is wildly unsuited to union-based "transient" packages.
22:05:22 <pikhq> elliott: CS and mathematics.
22:05:33 <elliott> pikhq: U BORIN
22:05:45 <elliott> I would pay endless amounts of money for a degree in Advanced Haberdashery.
22:06:07 <elliott> Gregor: To be honest, the actual package manager part looks suspiciously close to "untar into /pkg/x" the way this is looking :P
22:06:08 * pikhq bestows upon elliott a B.A. in Advanced Haberdashery.
22:06:18 <elliott> pikhq: yæy
22:06:30 <Gregor> elliott: If it has SOME dependency management beyond that, that'd be nice :P
22:06:46 <Gregor> pikhq: I increasingly regret not getting a minor in archaeology when I had the chance :(
22:06:57 <elliott> Gregor: Yes, but the actual install part :P
22:07:09 <pikhq> Gregor: I could also pick up a minor in just about anything.
22:07:15 <pikhq> Gregor: Er, anything liberal arts-y.
22:07:17 <elliott> Sidenote on archaeology: Indiana Jones films -- 10x better if he sat there doing actual archaeology when shit was doing down? Answer: yes.
22:07:30 <pikhq> Gregor: You see, the liberal arts requirements are completely undefined.
22:07:41 <pikhq> Except in terms of credit hours needed.
22:07:48 <Gregor> elliott: I see no reason why the /install/ would be anything else, it's just the runtime choice of packages to union in that's interesting.
22:07:56 <Gregor> pikhq: Awesome. Awesome to the max.
22:08:19 <zzo38> How I would do it, is package manager operating by pipes. I would do it other programs are also operating by pipes.
22:09:58 <elliott> Gregor: Wait, you mean when you do "emacs" it should create a new union with ONLY THE THINGS EMACS NEEDS?
22:10:14 <elliott> Gregor: That has the major flaw that looking at /usr/bin with emacs would make me go wtf and get angry at my computer for being too smart :P
22:10:26 <elliott> Also bash.
22:12:01 <elliott> Gregor: Or is that not what you meant.
22:14:23 <elliott> Gregor: :|
22:15:33 <elliott> I hypothesise that Gregor cannot see his IRC client from inside his current process.
22:16:37 <j-invariant> frustrating: Terminal objects are defined by universal cones on the empty diagram... but universal cones are defined in terms of terminal object. So i have to define terminal objects twice
22:18:44 -!- zzo38 has quit (Remote host closed the connection).
22:21:45 <elliott> Vorpal: I have pioneered a new type of mining.
22:22:00 <elliott> j-invariant: mutually recursive objects!
22:22:29 <j-invariant> mutual recursion is terrifying
22:23:44 <elliott> Gregor: oi
22:24:39 <Vorpal> elliott, oh?
22:25:26 -!- sshc has quit (Quit: leaving).
22:26:28 <Vorpal> elliott, any details?
22:29:45 <fizzie> Don't you mean: A New Kind of Mining.
22:30:45 <elliott> fizzie: Yes. I call it: Creeper mining.
22:30:50 <elliott> fizzie: It also works for cutting down trees.
22:31:30 <elliott> fizzie: Basically, you keep all your possessions in a chest. Then at night you walk out, see somewhere you'd like to mine/chop, and get a creeper there.
22:31:32 <elliott> Then you walk into it.
22:32:33 * Gregor reappears.
22:32:43 <Gregor> elliott: No, I do not mean that when you type "emacs", it should create a new union.
22:33:06 <elliott> Gregor: But that would be awesometerrible :P
22:33:47 <Gregor> elliott: The unions are, at the minimal, by process-level, but most users would probably opt to just have their own master list, and the system would presumably have a semi-compulsory list. Users could of course opt to make more/less restricted lists for individual processes if they so desired, but the default (for sanity) would be to /behave/ as a per-user package system, while providing sufficient abstraction for per-process.
22:34:45 <Gregor> Think of it like open fds: If you keep on opening new shit, it's going to have the same std{in,out,error}, unless you or it opt not to.
22:34:49 <elliott> Gregor: How does one actually add a new union?
22:35:40 <Gregor> elliott: CUNIONFS_DIRS environment variable, which (originally, Idonno if I reimplemented this in cunionfs (yet) or not) was backed by a per-user configuration file, backed by a per-system configuration file.
22:36:11 <Gregor> But since environment variables are passed exactly like fds, that abstraction fits best.
22:36:58 <elliott> Gregor: Hmm
22:37:07 <elliott> Gregor: Woo me with its features
22:37:17 <elliott> fizzie: The saddest creeper: standing in a tree, facing the leaves, so that it will never see anything.
22:37:54 <Gregor> elliott: I don't have sufficient motivation to try so hard; if you want each process to have its own unique and easily-malleable view of the FS, you want cunionfs. Otherwise, you don't.
22:38:17 <elliott> Gregor: I don't, but I do want semi-sane builds and stow-like package management :P
22:39:31 <Gregor> In my opinion "stow-like" is a bad compromise. So long as you have everything separated, there's no need to use something so clunky as a whole-system union to view it.
22:40:03 -!- zzo38 has joined.
22:40:36 -!- zzo38 has set topic: The sillier you are to the batsman, the closer you are. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:41:29 <Gregor> But then, once again, it comes down to needs/wants: If you want more flexibility in what individual users/processes/whatever sees, then you really don't have all that many options .. it's either a smarter unionfs or something that clunks together a bunch of PATH, LD_LIBRARY_PATH, CFLAGS, LDFLAGS, etc etc environment variables.
22:41:40 <Gregor> If you don't, don't use it :P
22:41:43 <elliott> <Gregor> In my opinion "stow-like" is a bad compromise. So long as you have everything separated, there's no need to use something so clunky as a whole-system union to view it.
22:41:50 <elliott> What would you have as the usual configuration, then, if not "all packages exposed"?
22:41:52 <zzo38> Do you have time now to review my TeXnicard program so far? http://sprunge.us/RgEZ
22:42:50 <Gregor> elliott: "All packages" could very well have conflicting packages in it. The default would be defined by the package manager. It would probably be what most distros consider a "task", or just whatever the system maintainer cared to make default.
22:43:44 <elliott> Gregor: I'm just saying that in general, 99.9% of the packages would be available, since two conflicting packages are rather rare to install
22:43:55 <Gregor> Remember, packages have versions too.
22:44:09 <elliott> Gregor: OK then, the default would be the largest set of non-conflicting packages or whatever.
22:44:12 <elliott> Gregor: But that's still stow-like
22:44:35 <Gregor> e.g. with stow, macports, etc you can have multiple versions of programs/libraries installed. Then you can swap them out when there are incompatibilities, bugs, whatever. A cunionfs-based system would let you work around such bugs on a per-process basis without having to do anything particularly crazy.
22:45:11 <Gregor> But once again, all the cases I've listed where cunionfs gives you advantages over something whole-system are sort of corner-cases, I just argue that there are sufficiently many such corner cases that giving the flexibility /might/ be worthwhile *shrugs*
22:45:31 <elliott> Gregor: To be honest, I'd go straight to unionfs if not for the nice-builds thing. That seems compelling to me.
22:45:43 <elliott> Hmm, well, how easy is it to change the union of a unionfs/aufs mount without umounting?
22:45:46 <elliott> If not easy: CUNIONFS IT IS
22:45:50 <ineiros> Anyone up for bacon?
22:46:01 <Gregor> elliott: I have no idea, probably not difficult.
22:46:04 <elliott> ineiros: Well. Uh. I sorta died enough that I have full health now. But you can come see my house!
22:46:34 <zzo38> ineiros: Why do you ask?
22:48:23 <pikhq> elliott: Not very hard; mount -o remount
22:48:34 <elliott> pikhq: Is there any window of not-workingness for the mount?
22:48:56 <elliott> Gregor: Still, I could avoid chroots entirely with cunionfs... right? For building, I mean.
22:49:05 <Gregor> Yes
22:49:24 <Gregor> You'd just say "give me these dev packages, OK now build"
22:50:06 <pikhq> elliott: The inodes aren't guaranteed to remain the same across a remount, but otherwise everything continues to work.
22:50:44 <j-invariant> elliott: I need to design a language for category theory (so I can automatically compute things like duals)
22:51:00 <elliott> j-invariant: yea
22:51:15 <zzo38> j-invariant: Do you have ideas how you can do that?
22:51:34 <j-invariant> zzo38: not yet but I am wondering if it could be done in terms of category theory
22:51:51 <zzo38> j-invariant: How much do you know of category theory?
22:53:04 <j-invariant> zzo38: I think I finally have the basic definitions down, but that took a long time
22:59:54 <j-invariant> but I think the mindset can take a long time to learn because a lot of things can be descrivbed in this language in a very conscice way which you would not expect
23:01:08 <Vorpal> elliott, like TNT, creepers destroy a percentage of the blocsk
23:01:11 <Vorpal> blocks*
23:02:28 <zzo38> Vorpal: What is the percentage?
23:06:55 <zzo38> Someone told me that Wikipedia will be removed. Is that true?
23:07:35 <j-invariant> zzo38: I doubt it unless there is a good reason
23:07:51 <j-invariant> without an explanation there is no reason to beleive it
23:08:06 <zzo38> j-invariant: They told me it is because they have no more money.
23:08:15 <j-invariant> oh that sounds like a hoax
23:08:28 <j-invariant> dammit!
23:08:42 <j-invariant> I went to wikipedia to click on the advert bar.. now its gone
23:09:52 <zzo38> j-invariant: I look too and it is gone. I also looked in the meta and in the preferences and did not find information about it.
23:12:14 <Vorpal> j-invariant, the bar at the top of http://wikimediafoundation.org/wiki/Donate looks rather bad though
23:12:31 <j-invariant> bad? they have 12.5 million dollars
23:12:43 <zzo38> Vorpal: O, that is where they moved it to.
23:12:53 <Vorpal> j-invariant, oh wait, it needs js
23:12:53 <j-invariant> thanks Vorpal that's what I was looking for
23:13:03 <Vorpal> j-invariant, that looks very very different when I allow it in no-script
23:13:30 <elliott> oh i thought you were mentioning Vorpal for no reason XD
23:14:07 <Vorpal> elliott, who?
23:14:13 <Vorpal> (who was mentioning I mean)
23:14:16 <Vorpal> (zzo or j-inv)
23:15:03 <Vorpal> elliott, hm, I suspect you have me on ignore.
23:15:26 <Vorpal> oh well
23:15:46 <Vorpal> he can't take being wrong I guess.
23:16:41 <zzo38> Vorpal: But what if you are being unsure instead of just plainly wrong?
23:17:02 <Vorpal> zzo38, what? I'm not wrong. elliott is
23:17:17 <Vorpal> zzo38, please read what I actually wrote
23:17:22 <zzo38> Vorpal: I didn't mean you personally. I meant in general.
23:17:25 <Vorpal> ah
23:17:37 <Vorpal> zzo38, what about it
23:18:52 <zzo38> Vorpal: Maybe I am not writing clearly.
23:19:12 <Vorpal> zzo38, maybe.
23:23:38 <zzo38> Now review TeXnicard program! Tell me if there is any mistake, thing I forgot, opinion, question, etc. http://sprunge.us/RgEZ
23:23:52 <zzo38> And did you notice I changed a few words around in the topic message for this channel, today?
23:26:01 <zzo38> Tell me if (in your opinion) I did the random numbers correctly.
23:29:22 <ineiros> Vorpal, fizzie, elliott and others who might care: I put the normal world back up, without hMod. The backups are now unattended and done without turning the level saving off, so there's a good chance they won't all go as planned.
23:31:51 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:42:09 <Vorpal> ineiros, heh
23:42:40 <Vorpal> ineiros, is it without monsters?
23:44:47 <elliott> ineiros: /msg
23:58:07 <j-invariant> elliott: "The concrete details of a given construction may be messy, but if the construction satisfies a universal property, one can forget all those details: all there is to know about the construct is already contained in the universal property" - quoted from Dear Learder Wikipedia
23:58:50 <j-invariant> so it's sort of like proof irrelevance, but for general constructions
23:58:51 <elliott> j-invariant: it's like a philosophy of life!
23:59:21 <elliott> j-invariant: hmm, that reminds me of how in non-dependent functional langs, you can encode values as their type's fold combinator
23:59:42 <j-invariant> that is the univesral property :P
23:59:55 <elliott> yeah
2010-12-24
00:00:37 <j-invariant> http://www.cs.nott.ac.uk/~gmh/cat5.txt
00:00:57 <j-invariant> initial F-algebra
00:01:17 <j-invariant> no clue about GADT though
00:02:02 <j-invariant> I think F-algebra will work for all simple data types
00:02:35 <elliott> j-invariant: lol you might want to try and make your library multiple files
00:02:46 <elliott> it's gonna be like 10,000 lines when you're done
00:03:06 <j-invariant> I don't know how X)
00:03:23 <elliott> j-invariant: I think "Require Import Foo." will work if Foo.v is in .
00:03:38 <j-invariant> it would be good to compile each bit seperately
00:04:06 <elliott> j-invariant: if you ever manage to construct lists and map inside this ... I dare you to extract "map"
00:04:20 <elliott> it'll be the ugliest fucntion ever
00:04:20 <j-invariant> hmm
00:04:21 <elliott> *function
00:04:24 <elliott> (when extracted)
00:04:34 <j-invariant> I might be able to contribute to Evolution of a haskell programmer...
00:04:57 <elliott> j-invariant: :D
00:04:58 <elliott> brilliant
00:06:32 <elliott> j-invariant: I wish Coq did some ugly special-casing for nats ... they're so slow and limited
00:06:39 <elliott> I know there's the binary nats somewhere, but ...
00:07:01 <j-invariant> yeah numbers must be implemented in binary, peano is only useful for theory
00:07:25 <elliott> j-invariant: still, even the binary nats aren't so hot
00:07:34 <elliott> j-invariant: I'd like it if it just special-cased nat and represented it internally as a machine word / bignum
00:07:43 <elliott> but still allowed you to destruct on S to decrement one, etc
00:07:45 <elliott> *etc.
00:08:03 <j-invariant> that's a funny idea
00:08:04 <elliott> fact and the like would be slow, but they wouldn't use up 34238490424 jiggabytes of memory
00:08:09 <elliott> j-invariant: funny how?
00:08:37 <j-invariant> I mean where would the implemeentaiton get the idea to use binary?
00:08:49 <j-invariant> and more generally what else could it optimize
00:08:54 <elliott> j-invariant: oh, I meant just hardcoding it ;-)
00:08:57 <elliott> it's ugly as hell, certainly
00:08:59 <elliott> but nats are very common
00:09:15 <j-invariant> yes numbers seem to be special in some sense
00:09:26 <j-invariant> I've never understood that
00:09:43 <elliott> what do you mean? you mean that numbers tend to be more useful/common than non-number structures?
00:10:01 <elliott> I think that's because we looked at the most useful algebraic structures and called them numbers, and decided the less useful ones didn't count as numbers
00:10:57 <elliott> Gregor: I think I will build it on top of cunionfs... is performance ok? i've always felt like fuse is slow but that may just be bias
00:11:22 -!- Sgeo has joined.
00:11:33 <j-invariant> natural numbers are universal in the category of discrete dynamical systems
00:12:13 <elliott> j-invariant: i think it may be due to our bias -- we think numbers are interesting, so we tend to look more into something once we see numbers appear
00:12:16 <elliott> and disregard things that aren't so numbery
00:12:20 <elliott> I mean, in a very general sense
00:12:25 <elliott> thus why numbers seem pretty darn common
00:12:56 <j-invariant> elliott: I cannot come up with any counter-argument to that but I don't think it's true
00:13:13 <elliott> j-invariant: when in doubt, i like to blame humans :)
00:13:21 <Vorpal> gah some words got stuck on my head
00:13:22 <elliott> j-invariant: i mean, let's put it this way
00:13:34 <elliott> j-invariant: there's as much mathematics not involving numbers as there is mathematics involving numbers.
00:13:38 <Vorpal> for some reason I keep thinking of the phrase "high performance JIT cheese"
00:13:47 <elliott> j-invariant: so the /only/ factor in consideration here is, why do the mathematics /we've explored/ involve numbers a lot?
00:13:51 <elliott> and i suspect the answer is: because we like numbers
00:14:23 <Gregor> elliott: I haven't tested performance much 8-D
00:14:32 <elliott> Gregor: That is not reassuring :-\
00:14:42 <elliott> Gregor: https://codu.org/projects/trac/sps/changeset/6%3A8584c8e2c0ed/cunionfs Why did you do this, I don't like it :p
00:14:55 <elliott> p.s.
00:14:58 <elliott> char *dotfile;
00:14:58 <elliott> sprintf(dotfile, "%s%s", curd, CUNIONFS_DOTFILE);
00:15:00 <elliott> lol unallocated?
00:15:05 <elliott> oh wait you allocate it later
00:17:39 <Gregor> elliott: I do that so that you can't cause packages to do things they ought to be finding files at weird paths which just-so-happen to have the right names.
00:17:56 <elliott> Gregor: Your sentence does not parse.
00:18:01 <elliott> "cause packages to do things they ought to be finding files at weird paths"
00:18:38 <Gregor> elliott: I do that so that you can't cause packages to do things they oughtn't to by finding files at weird paths which just-so-happen to have the right names.
00:19:35 <elliott> Gregor: I don't get it :P
00:19:37 <elliott> Example?
00:20:30 <Gregor> You have / mounted as cunionfs, and a version of sudo that isn't smart about checking the permissions of the sudoers file (it assumes only root can write to /etc). You make your own sudoers file in /home/mrhappy/evil/etc/sudoers, then mount that over / with cunionfs.
00:21:18 <elliott> Gregor: Heh. Actually come to think of it I'll probably end up with / being an aufs of {regular filesystem, cunionfs for /bin /lib /share etc.}
00:21:28 <elliott> e.g., process-specific /var and /home sounds "no".
00:21:44 <elliott> Union of a union... you know what, this is an EXCELLENT argument for /usr.
00:22:29 -!- hagb4rd has joined.
00:22:37 <Gregor> That's just a specific case, it's not really solved by contracting your unions a bit :P
00:23:00 <Gregor> And no, I assumed you'd have something else mounted over /var, /home and /root if you don't have /home/root, those are all silly to union.
00:23:05 <Vorpal> elliott, as expected, getting lava from spawn no longer works
00:23:18 <j-invariant> elliott: could a brain exist which was obsessed with something other than numbers?
00:23:42 <elliott> j-invariant: Sure, why not.
00:23:53 <j-invariant> maybe it would self destruct
00:23:57 <hagb4rd> buenas
00:24:00 <elliott> j-invariant: I don't see why.
00:24:11 <elliott> Gregor: Maybe I'll have no /bin, /lib, /share, and put it all in a cunionfs /usr :P
00:24:23 <elliott> Gregor: / = {/usr, /var, /home, /tmp, /boot} or something.
00:24:30 <elliott> Gregor: / = {/usr, /var, /home, /tmp, /boot, /etc} or something.
00:24:43 <Gregor> That was the original intention behind SPS :P
00:24:58 <Gregor> Well, I had a /bin and /lib for really-core stuff (libc, coreutils)
00:25:15 <Gregor> (So that if for some reason your package setup was punked, you weren't completely screwed)
00:26:31 <elliott> Gregor: <Gregor> Well, I had a /bin and /lib for really-core stuff (libc, coreutils)
00:26:35 <elliott> Gregor: cal(1) is really-core? :P
00:26:57 <Gregor> Dude, my system won't even BOOT without cal.
00:27:32 <elliott> Gregor: The nice thing is that with Kitten, you're always completely screwed.
00:27:35 <elliott> So I don't have to worry about that
00:27:37 <elliott> *that!
00:27:55 <Vorpal> Gregor, did you have stuff like fsck and mount in /bin too?
00:28:08 <elliott> Gregor: On a more srs note, I can't really have a cunionfs /, because I have no initramfs in Kitten :P
00:28:12 <elliott> So / kinda has to be a real drive.
00:28:26 <elliott> DESCRIPTION
00:28:26 <elliott> switch_root moves already mounted /proc, /dev and /sys to newroot and makes newroot the new root filesystem and starts init
00:28:26 <elliott> process.
00:28:26 <elliott> WARNING: switch_root removes recursively all files and directories on the current root filesystem.
00:28:27 <Gregor> Vorpal: Yeah
00:28:28 <elliott> I wonder why it has to do that.
00:28:37 <elliott> BURN YOUR BRIDGES!
00:29:17 <Vorpal> elliott, to shrink the tmpfs size to 0 iirc
00:30:02 <Vorpal> night →
00:31:31 <elliott> Gregor: Do I get extra points if my package manager is Haskell?
00:31:39 <Gregor> No :P
00:32:15 <elliott> Gregor: WHY NOPT
00:32:16 <elliott> *NOT
00:32:30 <Gregor> BECAUSE HASKELL KILLED MY FAMILY
00:32:39 <elliott> Gregor: Mine too!
00:33:00 <Gregor> OMG JOIN US IN ##haskellkilledmyfamilyanonymous
00:33:07 <elliott> DONE
00:33:12 <elliott> YOU'RE NOT THERE
00:33:22 <elliott> ALSO YOU'RE NOT ANONYMOUS
00:33:43 <elliott> Gregor: Actually, shipping Haskell with a statically linked system sounds slightly stupid, as the executable will probably be around 100 MiB :P
00:36:55 <Gregor> I wouldn't be surprised if GHC can't even make static executables (without some hacking)
00:37:12 <elliott> Gregor: It can, I just tried.
00:37:21 <Gregor> Well, THERE GOES THAT THEORY.
00:37:25 <elliott> elliott@dinky:~$ ghc hello.hs -static -optl="-static" -optl="-pthread" ; ls -lh a.out
00:37:25 <elliott> compilation IS NOT required
00:37:26 <elliott> -rwxr-xr-x 1 elliott elliott 1.7M Dec 24 00:36 a.out
00:37:37 <elliott> Post-stripping:
00:37:39 <elliott> -rwxr-xr-x 1 elliott elliott 1.2M Dec 24 00:37 a.out
00:37:40 <elliott> NOT BAD ACTUALY
00:37:42 <elliott> *ACTUALLY
00:38:28 <elliott> That's actually pretty damn good ...
00:40:32 <elliott> Gregor: Dammit man -- the package manager has to be functionally pure now.
00:40:39 <elliott> Gregor: You've turned my OS into a bad recreation of NixOS.
00:40:50 <elliott> Gregor: _|_, and that's a middle finger, not the bottom value.
00:42:09 <elliott> Gregor: Um. Question.
00:42:15 <elliott> Gregor: Is "nm -a" supposed to work on statically linked executables?
00:42:17 <elliott> (Unstripped ones.)
00:42:35 <elliott> $ file hello
00:42:35 <elliott> hello: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, for GNU/Linux 2.6.18, not stripped
00:42:39 <elliott> OK, it did actually work then :P
00:54:03 <elliott> Gregor: Wait, can you add to the unioned directories without restarting a process?
00:59:58 <elliott> Gregor: :p
01:00:07 -!- FireFly has quit (Quit: swatted to death).
01:09:13 <zzo38> 65 pages so far!
01:09:29 <elliott> Gregor: y/n?
01:10:05 <zzo38> Guess how many pages there will be when it is done. (Remember it also will have the function to read commands from DVI, as well.) When it is done, we can see how close you are to correct answer.
01:10:29 <j-invariant> what is it?
01:11:09 <zzo38> j-invariant: Are you asking me?
01:12:07 <zzo38> j-invariant: If you are: It is TeXnicard.
01:12:23 <Gregor> elliott: At present, no. Adding that wouldn't be particularly major, and it's something that's in the Eternal Todo o' Abandoned Projects :P
01:12:32 <zzo38> (Remember the page count of 65 pages also includes the index, summary of chunks, and table of contents.)
01:12:55 <elliott> Gregor: that's kinda dealbreaking ... you have to restart your whole X just to see the new package you installed or whatever
01:13:00 <elliott> or even init, if you want it at every levle
01:13:01 <elliott> *levl
01:13:04 <elliott> *leve-fucking-l
01:15:35 <elliott> Gregor: or am i mistaken :P
01:15:42 <zzo38> How I think package manager should work, is, if you want to install a package, you add it to the dependency list of the "locally installed packages" package.
01:15:52 <Gregor> elliott: Adding that wouldn't be particularly major, and it's something that's in the Eternal Todo o' Abandoned Projects. Just need a way to tell the process "I want you to reevaluate my package list like so", probably by a file-write.
01:16:11 <elliott> Gregor: Right, I'm just checking that, in fact, this has the major of issue requiring an effective-reboot to isntall a package :P
01:16:42 <zzo38> Do you like my ideas about package managers? Do you think they are wrong for some reason(s)?
01:16:54 <elliott> zzo38: "based on pipes" isn't very descriptive
01:17:21 <Gregor> elliott: If you want it to be visible to everyone, it's just a matter of putting it in the global configuration file. If you want it to be visible to a user, it's a matter of putting it in their user configuration file. If you want it to be visible to some process or process group, that's more tricky.
01:17:44 <elliott> Gregor: OK, so it rereads the config file all the time?
01:17:51 <elliott> I was unaware that it had configuration files.
01:17:59 <Gregor> elliott: I haven't re-added the configuration files :P
01:18:16 <elliott> Gregor: So what you're TRYING to say is:
01:18:17 <Gregor> elliott: The way it worked in D was with that daemon (the name of which I can't remember) which informs a process when a file has changed.
01:18:23 <elliott> <Gregor> If you want it to be visible to anyone, reboot.
01:18:28 <elliott> <Gregor> If you want it to be visible to a user, reboot.
01:18:33 <elliott> <Gregor> If you want it to be visible to some process or process group, reboot.
01:18:38 <elliott> That is the actual state. Yes? :P
01:18:42 <elliott> <Gregor> elliott: The way it worked in D was with that daemon (the name of which I can't remember) which informs a process when a file has changed.
01:18:45 <Gregor> elliott: Look, you just dug up a project that I abandoned midway and you're expecting it to have features that are still on the TODO list. Fuck you.
01:18:49 <elliott> Gregor: fam, but nobody uses it any more
01:18:59 <elliott> gamin is used, which is a daemonless impl of the api
01:19:07 <elliott> Gregor: I'm not expecting, I'm just /checking/
01:19:17 <elliott> Since your previous statement implied that there were, in fact, configuration files.
01:19:26 <zzo38> elliott: I mean, for example: wg -MR0 ftp://example.org/packages/* | pm -tQ | ...
01:19:33 <elliott> zzo38: wg?
01:19:38 <Gregor> elliott: You're also expecting me to remember the exact state I abandoned it in.
01:19:51 <elliott> Gregor: Well, you did just say that in retrospect it was pretty awesome earlier :P
01:20:05 <zzo38> elliott: This is just an example of new programs I might make if I make a distro. wg is like wget except that multiple retrieval is sent to stdout as a tape archive.
01:20:07 <Gregor> elliott: And it is :P
01:20:12 <zzo38> And pm is package manager.
01:20:34 <elliott> Gregor: I'ma go for aufs, with the magical property of allowing me to remount without reooting :P
01:20:35 <elliott> *rebooting
01:20:50 <elliott> (Unless "mount -o remount" would work with cunionfs? Wait, FUSE, so no.)
01:21:02 <zzo38> elliott: But what about the other idea, that if you want to install a package, you add it to the dependency list of the "locally installed packages" package?
01:21:10 <elliott> zzo38: Sure.
01:21:43 <zzo38> Do some package managers do that?
01:22:33 <elliott> Probably.
01:23:22 <zzo38> Do any package managers work by pipes? Some new programs are not pipe but some old UNIX programs are designed with pipe operation, and I think it is good idea and new programs in UNIX should also work like that too.
01:25:11 <zzo38> I mean, probably some programs on UNIX can already work with pipes, such as: curl http://example.org/mail.tar.gz | zcat | tar -x
01:26:17 -!- Wamanuz2 has joined.
01:27:36 <zzo38> So that is how I want to make a Linux distribution, nearly all program are operated by doing pipes. Including the window manager.
01:31:33 -!- BlSlereah has joined.
01:32:28 -!- hagb4rd has quit (*.net *.split).
01:32:31 -!- augur has quit (*.net *.split).
01:32:31 -!- Wamanuz has quit (*.net *.split).
01:32:40 -!- Slereah has quit (*.net *.split).
01:32:50 -!- augur has joined.
01:32:51 <zzo38> *.net *.split
01:33:05 <elliott> Vorpal: not minecrafting?
01:44:21 <elliott> fizzie: WHAT THE FUCK
01:45:08 <elliott> fizzie: So, I come out of the track from nailor's cabin. Floor is obsidian. I break my cart while in it as usual. Normally I go into the lava below and catch fire for like, 0.25s before going back to normal. Except this time, I *stayed in the fire, died, and lost all my possessions*.
01:45:14 <elliott> fizzie: I WANT MY FUCKING STUFF BACK, NOTCH ;__;
01:48:29 -!- pikhq has quit (Ping timeout: 250 seconds).
01:49:26 <elliott> Iiiiit's Notch Quality!
01:50:29 -!- pikhq has joined.
01:52:17 <zzo38> s/ch//
01:54:35 <elliott> j-invariant: i need help
01:58:53 -!- hagb4rd has joined.
02:07:06 <j-invariant> elliott: heh me too
02:07:08 <j-invariant> whats up?
02:07:17 -!- zzo38 has quit (Quit: If God Had Intended Us To Play In Ten Tones Per Octave, Then He Would Have Given Us Ten Fingers.).
02:07:37 <j-invariant> I am sick of trying to defin a symbolic category, it's really hard
02:07:45 <elliott> p : Z
02:07:45 <elliott> q : positive
02:07:45 <elliott> H : (p ^ 3 <= 3 * ' q ^ 3)%Z
02:07:45 <elliott> ============================
02:07:45 <elliott> exists s : Q,
02:07:46 <elliott> p # q < s /\ match s with
02:07:47 <elliott> | p0 # q0 => (p0 ^ 3 <= 3 * ' q0 ^ 3)%Z
02:07:49 <elliott> end
02:07:51 <elliott> j-invariant: must prove.
02:09:17 <elliott> j-invariant: i.e. "given an underestimate of 3root(3), generate a closer underestimate"
02:14:24 <elliott> j-invariant: any ideas? :/
02:14:32 <j-invariant> I'm trying something righ tnow
02:16:06 <j-invariant> p/q |--> (2*p^3 + 3*q^3)/(3*q*p^2) tends toward the cube root of 3 but it never satisfies p^3 <= 3q^3
02:16:38 <j-invariant> if you look at the continued fraction you get one on either side of cuberoot(3), so you could just take all the odd ones... but that means implementing all the continued fraction stuff
02:18:21 <elliott> j-invariant: yeah and that kinda defeats the point
02:18:47 <j-invariant> you can get a recurrence from the continued fraction for quadratics, but I think there is a theorem that says a state machine can't generate the continued fraction of any higher irrationality
02:18:49 <elliott> j-invariant: I think this "computable Dedekind cut" approach would be nice if not for the proofs :/
02:19:18 <elliott> j-invariant: really? that theorem
02:19:24 <elliott> j-invariant: would mean you can't use continued fractions for computable reals...
02:20:00 <j-invariant> I stated it wrong
02:20:33 <elliott> ah
02:21:24 <j-invariant> http://arxiv.org/pdf/1012.1709
02:22:45 <j-invariant> The continued fraction expansion of an algebraic number of degree at least
02:22:45 <j-invariant> three cannot be generated by a finite automaton.
02:23:55 <elliott> j-invariant: that's not good is it?
02:24:05 <elliott> j-invariant: I mean could Coq do it? I don't actually know what computational class Coq is
02:26:51 <j-invariant> elliott: my guess is that constructive dedekind cuts are what intuitionists that have never seen a computer use
02:27:24 <elliott> j-invariant: :D
02:28:37 <elliott> j-invariant: have you ever used c-corn's constructive reals?
02:28:41 <j-invariant> no
02:29:15 <elliott> hm what does :> mean again? in a coq type
02:29:16 <elliott> as opposed to :
02:29:21 <elliott> in a record field declaration
02:29:48 <j-invariant> it's something to do with pretening the record is another type
02:31:38 <elliott> weird
02:31:46 <elliott> j-invariant: hmm you mean like
02:31:51 <elliott> Record blah := mkBlah { foo :> nat; bar : ... }
02:31:54 <elliott> you could use a blah as a nat?
02:32:47 <j-invariant> yes
02:32:56 <j-invariant> well I don't really know I don't use that, but it's something like that
02:33:00 <elliott> j-invariant: I could do algebraic structures like that!
02:33:02 <elliott> TIME TO TRY IT OUT
02:33:23 <elliott> leave king dedede... sorry, dede.v for now
02:33:26 <j-invariant> I still haven't been able to define this damned symbolc category
02:33:32 <elliott> j-invariant: what category is it exactly?
02:33:51 <j-invariant> actually it's just graphs, that's a simpler way to think of it.
02:34:18 <elliott> how do you disable the coq stdlib in the file again? :/
02:34:21 <elliott> oh wait i have it here somewhere
02:34:27 <j-invariant> actually graph isn't right
02:34:34 <elliott> (*
02:34:34 <elliott> *** Local Variables: ***
02:34:34 <elliott> *** coq-prog-args: ("-emacs-U" "-nois") ***
02:34:34 <elliott> *** End: ***
02:34:34 <elliott> *)
02:34:35 <elliott> right?
02:35:03 <j-invariant> The idea is: Inductive Symbolic_Maps : nat -> nat -> Type := f 3 4 | h 2 1 | k 2 1 | m 3 4.
02:35:09 <j-invariant> er
02:35:16 <j-invariant> that was a bad example
02:35:30 <j-invariant> lets take Inductive Symbolic_Maps : nat -> nat -> Type := f 3 4 | h 4 1 | k 1 6 | m 3 4.
02:35:44 <elliott> is 3 the type w/ three elements?
02:35:45 <elliott> here
02:35:54 <j-invariant> no just the number 3, or it could be any symbolc
02:36:07 <j-invariant> so f : Symbolic_Maps 3 4
02:36:17 <elliott> ah
02:36:50 <j-invariant> then we need something like lists, Inductive Symbolic_Mappings : nat -> nat -> Type := nil : forall x, Symbolic_Mappings x x ; cons : forall a b c, Symbolic_Map a b -> Symbolic_Mappings b c -> Symbolic_Mappings a c.
02:37:34 <j-invariant> So the identity is nil and composition is append.. then things like (f o g) o (k o h) = (f o (g o k)) o h would be provable by reflexivity
02:37:49 <j-invariant> but a functor from Symbolic -> C would prove the same identity in any other category
02:38:26 <j-invariant> right now, to prove (f o g) o (k o h) = (f o (g o k)) o h .. it takes 300 lines of proof script
02:44:10 <elliott> j-invariant: I wish Coq had like, a minimal stdlib with it
02:44:14 <elliott> giving eq, exists, that kind of stuff
02:44:18 <elliott> rather than having to code it myself
02:44:41 <j-invariant> You can use mine
02:45:02 <elliott> j-invariant: got a link again?
02:45:21 <j-invariant> http://pastebin.com/BQaW0Cdb this is before I start defining category
02:45:43 <elliott> thanks, I'll nab useful bits from there as I go :)
02:45:43 <j-invariant> Decidable is spelled wrong :/
02:45:50 <elliott> j-invariant: Coq has And/Or built in doesn't it?
02:45:56 <elliott> what does "# Arguments." do :P
02:45:58 <j-invariant> no
02:46:24 <j-invariant> mispaste, should have been Set Implicit Arguments.
02:47:35 <elliott> j-invariant: I think set implicit arguments actually gets in my way
02:47:46 <elliott> it's nice to have to specify what gets implicit-ified
02:49:34 <elliott> Inductive or (P Q : Prop) : Prop :=
02:49:34 <elliott> | zig : P -> or P Q
02:49:34 <elliott> | zag : Q -> or P Q.
02:49:36 <elliott> i like my names more
02:53:45 <j-invariant> heheh
02:54:29 * Sgeo assassinates Active Worlds's asinine update methods
02:58:30 <elliott> Error: Unknown interpretation for notation "_ /\ _".
02:58:32 <elliott> what does that mean again?
02:58:39 <elliott> oh
02:58:51 <elliott> there we go
03:00:17 <j-invariant> :( my symbolic category does not work
03:00:41 <elliott> :/
03:00:48 <elliott> j-invariant: i've defined up to abelian groups, now to watch the whole thing fall apart as i try and do rngs
03:01:01 <j-invariant> rings because that has two operations?
03:01:09 <elliott> j-invariant: because it's a combination of two structures, basically
03:01:15 <elliott> j-invariant: and my structures have set fields
03:01:23 <elliott> j-invariant: I might restructure them to be Prop-records parameterised on type
03:01:27 <elliott> but IIRC that didn't work last time I tried
03:01:40 <j-invariant> this really sucks, F(f o g) doesn't evaluate to Ff ' Fg, should have known that
03:01:45 <j-invariant> Ff o Fg
03:02:10 <j-invariant> they are equal, but F(f o g) evaluates to Ff o (Fg o Fidentity) -- because of the way the category is made
03:02:41 <j-invariant> but if I make composition syntactic in the symbolic category then I don't get the proofs for free.. damned either way
03:03:25 <elliott> Record pseudo_ring := {
03:03:25 <elliott> pr_ag :> abelian_group;
03:03:25 <elliott> pr_sg :> semigroup;
03:03:25 <elliott> pr_left_dist :
03:03:25 <elliott> forall a b c :
03:03:28 <elliott> i mean do you write pr_ag or pr_sg
03:03:31 <elliott> both give you problem
03:03:32 <elliott> s
03:03:40 <elliott> if I could refer to the record itself somehow there, that might work
03:03:55 <elliott> j-invariant: who needs proofs for free :)
03:03:58 <j-invariant> me!
03:04:29 <j-invariant> http://coq.pastebin.com/DzVkdQbV <- broken
03:04:45 <j-invariant> starts at line 629
03:04:59 <elliott> j-invariant: i did your proof
03:05:02 <elliott> j-invariant: just add one line
03:05:03 <elliott> Admitted.
03:05:05 <j-invariant> elliott: I'll just use a syntactic compose, and write a decision theorem
03:05:52 <j-invariant> I will not admit defeat
03:08:15 <elliott> Record magma S := {
03:08:15 <elliott> mg_S :> Set := S;
03:08:15 <elliott> mg_op : mg_S -> mg_S -> mg_S
03:08:15 <elliott> }.
03:08:15 <elliott> Implicit Arguments mg_op [S m].
03:08:16 <elliott> Theorem magma_is_set : forall S (m : magma S), mg_S m = S.
03:08:18 <elliott> intros; apply refl.
03:08:20 <elliott> Qed.
03:08:22 <elliott> now THIS might work!!
03:09:07 <j-invariant> what's that theorem about?
03:10:06 <elliott> j-invariant: just checking coercion works :P
03:10:22 <j-invariant> ah
03:10:44 <j-invariant> the biggest problem for me is I don't want to use Set
03:11:01 <j-invariant> I need something like NxN/~ for some equivalence
03:11:10 <j-invariant> I thought category theory would solve it :/
03:11:18 <j-invariant> well, it does - I just don't see how yet
03:13:02 <elliott> j-invariant: category theory solves EVERYTHING!!!!!!!
03:13:20 <j-invariant> it bloody well better after all this hard work :p
03:18:29 <elliott> j-invariant: i got pseudorings!
03:18:54 <j-invariant> cool
03:19:52 <elliott> j-invariant: got any nice theorems about pseudorings/rngs? :p
03:19:56 <elliott> i wanna see if this actually works
03:20:08 <j-invariant> I don't even know what it is LOL
03:20:15 <j-invariant> something weaker than ring
03:20:29 <elliott> j-invariant: http://en.wikipedia.org/wiki/Pseudo-ring
03:20:43 <elliott> j-invariant: abelian ring (R,+) and semigroup (R,*) where * and + distribute
03:22:22 <elliott> Ring
03:22:22 <elliott> Pseudoring with identity element 1 for • (monoid)
03:22:25 <elliott> aha
03:22:35 <elliott> so i just need it to be that my pseudo-ring's semigroup must be a monoid too
03:23:32 <elliott> Record ring S := {
03:23:32 <elliott> rg_S :> pseudo_ring S;
03:23:32 <elliott> rg_sg_is_monoid : monoid (pr_sg rg_S)
03:23:32 <elliott> }.
03:23:32 <elliott> what.
03:23:34 <elliott> that was stupid easy.
03:23:55 <elliott> time to try Z I guess
03:24:29 <j-invariant> try to prove 0*x = 0 in ring
03:24:51 <elliott> j-invariant: heh damn you, i have to figure out what 0 is in this case... the problem is that everyone says * at the lower levels
03:24:54 <elliott> even though it turns into + in higher structurse
03:24:56 <elliott> *structures
03:24:59 <elliott> and everyone says 1 even when it's 0
03:25:03 <elliott> SO CONFUZZLING
03:26:50 <elliott> S : Set
03:26:50 <elliott> R : ring S
03:26:50 <elliott> a : R
03:26:50 <elliott> ============================
03:26:50 <elliott> mn_1 * a = mn_1
03:26:53 <elliott> i think this is a problem with my scheme
03:27:00 <elliott> every structure on the same set looks the same to coq
03:28:24 <elliott> ============================
03:28:24 <elliott> monoid ?385
03:28:25 <elliott> hnnnnnnng
03:28:37 <elliott> j-invariant: are you sure coq doesn't have a tactic for "let me specify this ?385 now"? :(
03:28:43 <j-invariant> it does
03:28:47 <j-invariant> instantiate (1 := ...)
03:29:03 <elliott> j-invariant: no, but like
03:29:05 <elliott> instantiate 1.
03:29:08 <elliott> and it becomes the new goal
03:29:46 <elliott> j-invariant: and pushes the current goal to the end
03:30:50 <elliott> j-invariant: surely it must exist, i mean it'd be so useful
03:31:11 <j-invariant> oh I don't think that exists
03:31:16 <j-invariant> yeah that would bereally useful though
03:37:57 <elliott> I think I'm going to write eval in c using exec to call out to gcc, dlopen and dlsym... tomorrow.
03:37:57 <elliott> Suck it, Lisp weenies.
03:37:58 -!- Sasha has quit (Read error: Connection reset by peer).
03:37:58 <elliott> ...or just use libtcc, which looks like it can do it out of the box.
03:38:06 -!- Mathnerd314 has quit (Disconnected by services).
03:38:22 -!- Sasha has joined.
03:38:23 -!- Mathnerd314_ has joined.
03:39:00 -!- Mathnerd314_ has changed nick to Mathnerd314.
03:48:11 <elliott> I wonder how I can avoid just reinventing Nix.
03:50:52 <elliott> [[Fair enough response to the half-block question. Real question: How long did it take you to become proficient enough a coder to make Minecraft?
03:50:53 <elliott> I did my first programming when I was eight. I'm 30 now.]]
03:51:02 <elliott> Fun fact: Notch's programming skills decrease every passing day.
03:51:05 <elliott> Also:
03:51:07 <elliott> [[Any chance of getting a female player model? Also, how about some optional skinnable clothing that can be used with your model?
03:51:07 <elliott> Possibly, yes, but how do I make a cube based female model without being extremely silly and/or slightly objectifying?]]
03:51:16 <elliott> Notch has no idea how to make a female model without giving it gigantic breasts.
04:04:21 -!- elliott has quit (Quit: Leaving).
04:50:56 <pikhq> Hmm. Xiph is working on a new audio codec...
04:51:24 <pikhq> http://people.xiph.org/~xiphmont/demo/celt/download1/celt-0.10.0-32.flac This is what it sounds like at *32 kbps*.
04:53:47 <j-invariant> wow
04:54:01 <j-invariant> hard to beleive
04:54:24 -!- j-invariant has quit (Quit: leaving).
04:54:30 <Quadrescence> pikhq: wanna write something on my blog
04:54:48 <Quadrescence> unless you have a blog (then there would be no point!!!)
04:55:01 * pikhq haþ no blog
04:56:11 <Quadrescence> pikhq: ok, well you seem like an intelligent, fun-loving guy
04:56:20 <Quadrescence> u should """""guest post"""""
05:04:29 <Quadrescence> pikhq: r u interested?
05:06:11 <pikhq> Perhaps.
05:08:51 * Sgeo once tried to sudo on his school's Linux system
05:09:13 <Sgeo> Mistook that console window for the console window for my system
05:10:37 <Quadrescence> pikhq: u should www.symbo1ics.com/blog
05:15:20 <Mathnerd314> Sgeo: did it get noticed?
05:16:40 <Sgeo> Mathnerd314, no idea
05:16:46 <Sgeo> I sent some mail to the sysadmin about it
05:18:53 <Mathnerd314> Sgeo: any relation to xkcd?
05:20:03 <Sgeo> xkcd is the reason that I thought of it just now
05:20:56 <Quadrescence> http://25.media.tumblr.com/tumblr_lc1hqgvA8F1qzymhso1_500.gif
05:23:15 * Sgeo pukes on Quadrescence
05:23:27 <Quadrescence> STOP THAT SGEO
05:23:52 <Sgeo> Quadrescence, you're the one who posted that disgusting link
05:25:09 <Quadrescence> http://media.damnfunnypictures.com/photos/j0xqdn9-animal-tortoise-turtle-ucumari.jpg
05:26:11 <Sgeo> I prefer that to the comic
05:35:06 * Mathnerd314 goes back to reading llvm
05:48:47 -!- pikhq has quit (Ping timeout: 265 seconds).
05:50:32 -!- pikhq has joined.
06:10:20 <pikhq> http://www.zreomusic.com/listen All that is synthed. It sounds *far* to good to be synthed...
06:10:39 -!- oerjan has joined.
06:10:40 <pikhq> Well, aside from being unhumanly accurately played.
06:11:37 <Mathnerd314> hmm, I'm always surprised by what *isn't* synthed
06:14:03 <Mathnerd314> seriously, there ought to be no real barriers to me deciding to make some music *right now*
06:15:44 <oerjan> except talent.
06:15:47 * oerjan ducks
06:16:21 <Mathnerd314> well, yeah, I'll agree that reading documentation is always a good idea
06:16:48 <pikhq> oerjan: This is why only Gregor makes music here.
06:17:02 <pikhq> He is not a man! He is walking, typing, hat-wearing talent!
06:17:52 <oerjan> and simultaneously!
06:18:30 <oerjan> even while chewing gum!
06:18:36 <Mathnerd314> there's Isle of Tune, but it's too limited: http://isleoftune.com/
06:19:43 <pikhq> As such is his talent!
06:19:53 <pikhq> He is so talented that he is talent *with talent*!
06:21:01 <Mathnerd314> but AFAICT, there's no single FLOSS "music making" program
06:31:29 <pikhq> Who needs a program?
06:31:35 <pikhq> All you need is talent!
06:31:54 <pikhq> With talent, you can just bit-bang out the FLAC you want!
06:32:12 <pikhq> (note: I in no way advocate actually bit-banging a FLAC to generate music. God no.)
06:32:47 <Sgeo> bit-bang?
06:32:57 <Sgeo> O... literally writing the bits?
06:33:27 <Sgeo> Actually, what would such a thing sound like?
06:33:55 <Sgeo> Obviously, I should do it
06:35:03 <quintopia> Sgeo: tristan perich writes one-bit music: music played by an arduino without a dac (and therefore using nothing but square waves)
06:37:09 <Mathnerd314> pikhq: then what are you advocating?
06:38:47 <quintopia> Mathnerd314: this is FLOSS afaict: http://chuck.cs.princeton.edu/release/
06:38:58 <quintopia> if you like live coding :P
06:39:07 <pikhq> Mathnerd314: I don't know, but it should be PAINFUL
06:40:03 <quintopia> i also once composed a piece in audacity
06:40:06 <quintopia> from scratch
06:40:09 <quintopia> that was painful
06:41:02 <Mathnerd314> pikhq: life is pain. so that's satisfied.
06:41:19 <quintopia> word to the wise: never try to do anything involving more than a handful of tracks in audacity. it will blow up and do really freaky things
06:41:51 <pikhq> quintopia: Doesn't it anyways?
06:42:23 <quintopia> pikhq: it didn't blow up until 20 tracks on my old fast memoriful computer
06:42:34 <quintopia> on this one it can't record a single track for more than five seconds...
06:47:30 -!- zzo38 has joined.
06:53:51 -!- wareya has quit (Read error: Connection reset by peer).
06:54:16 -!- wareya has joined.
06:56:11 <zzo38> Ha ha! Now push the "EXPLODE" button and your television set will explode.
07:01:13 <Sgeo> Hey, I used Audacity to record my karaoke!
07:01:19 * pikhq pushes zzo38's EXPLODE button
07:01:38 <Quadrescence> zzo38: since pikhq is not interested in writing on my blog, do you wanna
07:01:43 <zzo38> Sgeo: Does it work?
07:01:52 -!- Zuu has quit (Read error: Connection reset by peer).
07:01:55 <zzo38> Quadrescence: What do you want written on it? It depends.
07:01:55 <Sgeo> zzo38, I have a scapegoat for my horrible singing!
07:02:03 <Quadrescence> zzo38: http://symbo1ics.com/blog/
07:02:10 <Quadrescence> stuff about stuff
07:02:34 <Quadrescence> write whatever you want as long as it's expository in nature (and ideally about math or compsci?!?!?!)
07:03:41 <Quadrescence> (enable js)
07:04:02 <quintopia> i know a blog written entirely in haskell that uses no js
07:04:29 <Quadrescence> yeah damn cale
07:04:30 <quintopia> it contains several tech topics
07:04:31 <zzo38> Quadrescence: What do you want me to do, add comments?
07:04:36 * pikhq is now frightened.
07:04:39 <Quadrescence> zzo38: no, i'd give you an account
07:04:48 <pikhq> FFXII has an optional boss with 50 million HP.
07:04:48 <Quadrescence> zzo38: and you could write a (some) posts about whatever if you wanted
07:04:55 <pikhq> It can apparently take 12 hours.
07:06:12 <zzo38> Quadrescence: No, it is very slow. I prefer PhlogJournal (in which I can just create plain text files with the correct names and everything else goes by itself).
07:06:30 <quintopia> https://faidio.visuallycreated.com:8002/blog/view.cgi?id=5 here's how you make a blog in haskell. i don't know haskell so i don't know how creative this is.
07:07:18 <Quadrescence> zzo38: what
07:07:49 <pikhq> http://static.tvtropes.org/pmwiki/pub/images/yiazmat3.jpg Each one of those dots is a full health bar.
07:08:17 <zzo38> Quadrescence: I mean this gopher://zzo38computer.cjb.net:70/1phlog*a it is much faster and simpler. No account or anything needed, just a directory in your computer.
07:08:32 <quintopia> 12 hours seems reasonable
07:08:43 <quintopia> can you save your progress and come back to it?
07:09:03 <Sgeo> zzo38, did you write PhlogJournal yourself?
07:09:07 * Sgeo guesses yes
07:09:10 <zzo38> Sgeo: Yes, I wrote it myself.
07:09:20 * Sgeo is obviously a future psychic
07:09:22 <Quadrescence> zzo38: the point is that anyone can have an account and anyone can log in and everything is secure
07:09:52 <zzo38> Sgeo: And here is the code for it: gopher://zzo38computer.cjb.net:70/0phlog*f0 (you can use netcat to download it if you want to)
07:10:18 <zzo38> Quadrescence: Then why don't you juse use ssh then?
07:10:18 <Sgeo> Grrrrr
07:10:26 <Sgeo> Why doesn't Chrome support gopher?
07:10:33 -!- Zuu has joined.
07:10:33 <Sgeo> Does Opera support gopher?
07:10:45 <Quadrescence> zzo38: I want several people to have access, and since I type math, I want javascript to be enabled
07:11:20 <zzo38> Sgeo: Neither Chrome or Opera does. But you can use netcat: echo 'phlog*f0' | nc -q -1 zzo38computer.cjb.net 80 > PhlogJournal.php
07:11:43 <Quadrescence> that is the worst way to view a blog :(
07:12:03 <Sgeo> Quadrescence, that's downloading the source for the engine
07:12:08 <Quadrescence> oh okay
07:12:43 <quintopia> what's cool about phlog?
07:13:38 <zzo38> quintopia: Well, look at the codes if you want to. It is very simple but does calendars, comment system, and more.
07:13:58 <zzo38> Without slowing down your computer with JavaScript and images and stuff like that.
07:14:56 <Quadrescence> zzo38: WHAT ABOUT LATEX RENDERING WITH NATIVE FONTS
07:15:25 <Quadrescence> that's the only thing I really use JS for
07:15:29 <quintopia> i'm getting a 501 on your nc command up thhere? :/
07:15:46 <zzo38> Quadrescence: Then just use LaTeX to make a printout.
07:15:56 <zzo38> quintopia: Sorry, that is because I accidentally typed 8 instead of 7.
07:15:57 <quintopia> Quadrescence: that's lame. images are okay.
07:16:06 <zzo38> Change the 8 to 7 (they are close to each other on the keyboard)
07:16:09 <zzo38> And then it will work.
07:16:14 <Quadrescence> quintopia: no it's quite not lame
07:16:29 <quintopia> thx
07:16:31 <Quadrescence> quintopia: images assume the user has some sized screen at some resolution
07:17:01 <zzo38> I prefer Plain TeX to typeset the mathematics and then can publish the DVI file if we need to make a report about mathematical things.
07:17:07 <Ilari> Port 70/TCP? Gopher?
07:17:16 <zzo38> Ilari: Yes.
07:17:30 <Quadrescence> zzo38: the point of a blog is to blog, and one can use TeX to do stuff on it
07:18:13 <zzo38> Quadrescence: Could you write a blog program in TeX?
07:18:30 <Quadrescence> what?
07:18:35 <Quadrescence> one *could* I guess
07:18:48 <quintopia> Quadrescence: i think it's fair to use JS to detect screen size. it's less lame than printing text in all kinds of crazy positions to simulate tex, imo.
07:18:48 <Quadrescence> do you mean "a tex program on the blog"?
07:19:11 <Quadrescence> quintopia: what
07:19:36 <quintopia> there really should be a css way to do that though :/
07:19:50 <Quadrescence> images are just a poor option when you can do native TeX typesetting and use Real Fonts
07:19:58 <Quadrescence> mathml is bad, but jsmath is good
07:20:06 <zzo38> Quadrescence: No, I mean a blog program in TeX. Like, you might use ssh to send files and stuff, perhaps message send protocol or something for comments, and then HTTP/FTP/Gopher to download the DVI file.
07:20:17 <quintopia> jsmath is slow and hangs a lot. it annoys me.
07:20:28 <Quadrescence> quintopia: it needs to render
07:20:33 <Ilari> Ah, lynx supports gopher...
07:20:35 <zzo38> quintopia: Yes it is slow on my computer too.
07:20:45 <Quadrescence> I agree it's slow, but it's not TOO slow
07:20:58 <Quadrescence> I'd rather have nice looking output :)
07:21:04 <zzo38> Quadrescence: I think it is too slow.
07:21:10 <quintopia> i agree with zzo38
07:21:13 <quintopia> also the hanging thing
07:21:18 <Quadrescence> for rendering TeX in real time?
07:21:23 <Quadrescence> I think that's quite fast really.
07:21:36 <quintopia> how about we just not render it in real time, eh?
07:21:44 <Ilari> zzo38: AFAIK, no need to point MX record to host itself, A/AAAA records are enough for mail delivery...
07:21:58 <Quadrescence> quintopia: because that defeats the whole purpose of it
07:22:24 <Quadrescence> that's why browsers are getting better and better JS engines
07:22:25 <Quadrescence> etc
07:22:47 <quintopia> we just need to petition the w3c to add tex rendering stuff to the html standards.
07:22:48 <zzo38> Ilari: Are you refering to my domain name? If I don't enter the MX record, I think cjb.net services will handle it.
07:22:59 <quintopia> let the browser do it fast instead of in js slowly
07:23:07 <Quadrescence> quintopia: i agree with that
07:23:07 <quintopia> but having it pre-rendered
07:23:10 <Ilari> "zzo38computer.cjb.net. 300 IN MX 0 zzo38computer.cjb.net.".
07:23:23 <Quadrescence> quintopia: but right now it's the best we have. and mathml blows
07:23:32 <Quadrescence> :(
07:23:52 <quintopia> Quadrescence: i didn't know. i'll test it real quick to see what you mean
07:24:01 <zzo38> Ilari: Yes, I did that so that CJB service will not process the mail.
07:24:25 <Mathnerd314> Quadrescence: mathml doesn't blow that bad
07:25:13 <Quadrescence> yes it does
07:25:37 <Quadrescence> it is a piece of shit, designed by a web committee, not mathematicians or typographers
07:28:38 <Mathnerd314> and... how does that cause it to be bad?
07:29:06 <Ilari> zzo38: CJB inserts their own MX record if you don't put one?
07:29:11 <Quadrescence> Well if you've ever examined either the output or the markup, you'd understand Mathnerd314
07:30:12 <quintopia> so tex4ht renders the math stuff as a png apparently. add to that a script to switch out which image to use depending on resolution i think you'd have something looking reasonable and running fast until we get a proper standard
07:31:00 <Quadrescence> I highly favor native fonts, because they scale with the text around it, have the correct baseline, and don't look like shit when printed
07:31:12 <Quadrescence> especially with monochrome laser printers
07:31:31 <zzo38> Ilari: Yes I think they do.
07:31:39 <quintopia> print? who prints?
07:31:41 <quintopia> treekiller
07:31:44 <Quadrescence> I print a ton
07:31:58 <Quadrescence> here's my current To Read stack http://i.imgur.com/U2uzT.jpg
07:32:14 <Quadrescence> all of which I printed
07:33:17 <quintopia> okay
07:33:22 <Quadrescence> :)
07:33:29 <quintopia> googling your nick i find that you do a lot of math reading and tex stuff
07:33:35 <Quadrescence> yes
07:33:38 <quintopia> i can see where that might be an issue for you
07:34:02 <Ilari> zzo38: Ah, that explains it. If querying MX records for foo. doesn't produce any results, MTAs assume implicit 'foo. 0 IN MX 0 foo.'.
07:34:19 <Quadrescence> quintopia: tex4ht is a great application, I don't deny that
07:34:30 <Quadrescence> i just like the output I have I guess :S:S:S:S
07:34:31 <quintopia> i also didn't realize quadrescence was a made up word...what is it supposed to mean?
07:34:40 <Quadrescence> idk it's made up
07:34:55 <quintopia> yes but you get to make up a def too :P
07:35:09 <Quadrescence> quad represents four facets of my mind~
07:35:47 <quintopia> i have one more facet than you. i win.
07:35:52 <quintopia> good night
07:35:56 <Quadrescence> time cube
07:36:13 <Quadrescence> EARTH HAS 4 CORNER
07:36:13 <Quadrescence> SIMULTANEOUS 4-DAY
07:36:13 <Quadrescence> TIME CUBE
07:36:13 <Quadrescence> IN ONLY 24 HOUR ROTATION.
07:36:13 <Quadrescence> 4 CORNER DAYS, CUBES 4 QUAD EARTH- No 1 Day God.
07:36:15 <zzo38> jsMath doesn't even support a lot of commands of TeX. And the ones it does support, is all incomplete.
07:36:22 <Quadrescence> zzo38: what?
07:36:24 <Quadrescence> no...
07:36:38 <Quadrescence> zzo38: It supports the math typesetting, and that's rather complete
07:37:56 <Quadrescence> and looks exquisite if you have STIX fonts installed (free)
07:37:56 <zzo38> I typed \^^47amma and it says "Unknown control sequence '\^'"
07:38:09 <zzo38> And it can't make \def or \the\count255 or anything like that either
07:38:13 <Quadrescence> you can
07:38:21 <Quadrescence> just in the config files
07:38:24 <Quadrescence> on demand? no
07:38:38 <Quadrescence> I don't know why you'd type \^^47 anyway
07:38:42 <zzo38> O, \def works.
07:38:54 <zzo38> But \the is broken.
07:39:04 <Quadrescence> It's for typesetting math
07:39:08 <Quadrescence> that is it
07:39:21 <Quadrescence> if you want to typeset TeX documents, use TeX
07:39:39 <Quadrescence> if you want to typeset math using TeX on webpages, use jsmath
07:39:51 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101026210630]).
07:45:21 -!- Sgeo has quit (Read error: Connection reset by peer).
07:48:57 <zzo38> \mathchar doesn't work.
07:51:05 <Quadrescence> zzo38: what is a practical use case of \mathchar
07:51:58 <zzo38> \kern only partially works.
07:52:36 <zzo38> Quadrescence: You can look at the TeXbook for some examples.
07:52:48 <Quadrescence> I know what it is. I am asking for a practical use case for a website.
07:53:03 <Quadrescence> that LaTeX doesn't solve.
07:54:37 <Quadrescence> zzo38: SORRY, I AM TAKING OFFENSE TO YOUR INANE PROBLEMS WITH JSMATH!!!
07:56:22 <zzo38> I think TeX works better. If you want to make a math report, you can use TeX.
07:56:59 <zzo38> Also, the \hbox command in jsMath is completely broken.
07:57:01 <Quadrescence> Yes, if you want to make a math report for publication, yes
07:57:20 <Quadrescence> if you want to write a blog, absolutely not
07:58:19 <zzo38> Actually I think TeX can be good for math blog. You should just need ssh.
07:58:51 <Quadrescence> gross
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:39 <zzo38> The broken \hbox is probably the most serious mistake in jsMath, I think.
08:12:56 <Quadrescence> zzo38: i'd agree
08:22:43 <zzo38> But regardless of how well jsMath works or doesn't work, it is still slow!!
08:28:58 <zzo38> 250 Your request for doing nothing has been completed successfully.
08:37:25 -!- zzo38 has quit (Quit: Leg before wicket.).
09:13:25 -!- MigoMipo has joined.
10:09:54 -!- asiekierka has joined.
10:09:56 <asiekierka> hey
10:10:06 <asiekierka> me and my friend made this in my own game -> http://64pixels.org/christmas.png
10:14:07 -!- cheater99 has joined.
10:19:50 -!- hagb4rd has quit (Ping timeout: 240 seconds).
10:20:16 -!- cheater99 has quit (Read error: Connection reset by peer).
10:37:03 -!- cheater99 has joined.
10:43:21 -!- cheater99 has quit (Read error: Connection reset by peer).
10:55:19 -!- Anon899 has joined.
10:55:55 -!- Anon899 has left (?).
11:00:03 -!- cheater99 has joined.
11:06:11 -!- cheater99 has quit (Read error: Connection reset by peer).
11:23:03 -!- cheater99 has joined.
11:31:45 -!- cheater99 has quit (Read error: Connection reset by peer).
11:40:13 -!- asiek2erka has joined.
11:42:48 -!- asiekierka has quit (Ping timeout: 240 seconds).
11:46:33 -!- cheater99 has joined.
11:52:33 -!- cheater99 has quit (Read error: Connection reset by peer).
12:09:05 -!- cheater99 has joined.
12:14:41 -!- cheater99 has quit (Read error: Connection reset by peer).
12:17:04 -!- FireFly has joined.
12:19:48 -!- Wamanuz2 has quit (Remote host closed the connection).
12:21:17 -!- Wamanuz2 has joined.
12:27:19 -!- impomatic has joined.
12:30:24 -!- cheater99 has joined.
12:35:36 -!- cheater99 has quit (Read error: Connection reset by peer).
12:52:08 -!- BlSlereah has changed nick to Slereah.
12:52:15 -!- cheater99 has joined.
13:22:57 -!- Wamanuz2 has quit (Remote host closed the connection).
13:23:23 -!- Wamanuz2 has joined.
13:40:51 -!- yiyus_ has quit (Ping timeout: 260 seconds).
13:45:01 -!- Wamanuz3 has joined.
13:45:01 -!- Wamanuz2 has quit (Read error: Connection reset by peer).
13:52:17 -!- yiyus has joined.
14:23:22 -!- cheater99 has quit (Read error: Connection reset by peer).
14:40:50 -!- cheater99 has joined.
15:12:44 -!- poiuy_qwert has joined.
15:16:00 -!- cheater99 has quit (Read error: Connection reset by peer).
15:27:37 -!- elliott has joined.
15:30:12 <elliott> http://xkcd.com/838/ This... is actually close to having potential.
15:30:33 <elliott> Get rid of the girl in the middle panel and just make it him wondering and it would be decent.
15:32:18 <elliott> 20:51:24 <pikhq> http://people.xiph.org/~xiphmont/demo/celt/download1/celt-0.10.0-32.flac This is what it sounds like at *32 kbps*.
15:32:19 <elliott> pikhq: Whoa.
15:32:55 <elliott> pikhq: heh Tom's Diner cameo at the end
15:33:24 <elliott> 21:10:37 <Quadrescence> pikhq: u should www.symbo1ics.com/blog
15:33:28 <elliott> oh jesus christ that is the worst blog ever
15:33:39 <elliott> wasn't it on reddit recently
15:33:50 -!- cheater99 has joined.
15:34:30 <elliott> 22:14:03 <Mathnerd314> seriously, there ought to be no real barriers to me deciding to make some music *right now*
15:34:30 <elliott> 22:15:44 <oerjan> except talent.
15:34:30 <elliott> 22:15:47 * oerjan ducks
15:34:30 <elliott> 22:16:21 <Mathnerd314> well, yeah, I'll agree that reading documentation is always a good idea
15:34:34 <elliott> i have no response
15:35:58 <elliott> 22:41:19 <quintopia> word to the wise: never try to do anything involving more than a handful of tracks in audacity. it will blow up and do really freaky things
15:35:58 <elliott> 22:41:51 <pikhq> quintopia: Doesn't it anyways?
15:36:04 <elliott> audacity is possibly the worst software ... ever
15:36:50 <elliott> 23:03:41 <Quadrescence> (enable js)
15:36:57 <elliott> desperately trying to figure out a justification for having a blog depend on js now.
15:42:37 -!- j-invariant has joined.
15:44:14 <j-invariant> hey elliott
15:44:17 <elliott> hi
15:44:34 <j-invariant> look at the proof on line 746 http://coq.pastebin.com/rkDjqYFH
15:44:50 <j-invariant> then see 877 where it gets mapped to a different category
15:46:32 <elliott> ok
15:46:58 <elliott> j-invariant: nice
15:47:08 <j-invariant> really exciting
15:47:08 -!- cheater99 has quit (Read error: Connection reset by peer).
15:47:20 <elliott> j-invariant: this is getting close to the point where i understand nothing though :)
15:47:25 <j-invariant> this gives a general way to prove things automatically
15:47:41 -!- Mathnerd314 has joined.
15:48:16 <elliott> 02:10:06 <asiekierka> me and my friend made this in my own game -> http://64pixels.org/christmas.png
15:48:18 <elliott> asiek2erka: what.
15:50:53 <j-invariant> I'm not sure if I should start keep developing this or try and simplify it and clean it up
15:51:17 <j-invariant> it's too bad I can't bootstrap it.. because it would be a lot easier to define category theory if i already had it
15:51:32 <j-invariant> logical consistency prohibits it
15:52:27 <elliott> j-invariant: not if you did everything coinductively! maybe :P
15:52:43 <elliott> j-invariant: I'd keep going, it's "clean enough"
16:03:45 <elliott> j-invariant: I am not sure how to prove that 0+x = x in a ring at all, with my model
16:04:02 <j-invariant> 0+x = x isn't an axiom?
16:04:36 <elliott> [[Error: Impossible to unify "mg_op b" with "mg_op b".]] wat
16:04:44 <elliott> j-invariant: not that i can tell
16:04:53 -!- cheater99 has joined.
16:04:55 <elliott> oh wait
16:04:57 <oerjan> sure it is
16:04:57 <elliott> j-invariant: yes, it is
16:05:00 <elliott> j-invariant: I mean 0*x = 0
16:05:02 <j-invariant> yeah that is so stupid, Coq should check if the string representations are the same - and show implicit parameters if they are
16:05:10 <elliott> "Error: Impossible to unify "mg_op b" with "mg_op b"." ;; lol ok so my system does work
16:05:13 <elliott> coq just prints it confusingly
16:05:17 <elliott> oh i already said that
16:05:19 <elliott> and yeah OK
16:05:25 <oerjan> elliott: i think i wrote a proof of 0*x = 0 on this channel once
16:07:34 <Mathnerd314> 0*x = (0+0)*x = 0*x+0*x --> cancel --> 0*x = 0
16:07:55 <elliott> `addquote <oerjan> elliott: i think i wrote a proof of 0*x = 0 on this channel once
16:08:00 <elliott> your crowning achievement as a mathematician
16:08:07 <HackEgo> 254) <oerjan> elliott: i think i wrote a proof of 0*x = 0 on this channel once
16:08:10 <elliott> Mathnerd314: that needs you to prove that a = a+a means a =0
16:08:14 <elliott> *a = 0
16:08:40 <j-invariant> x=a+x -> x-x=a+x-x -> 0=a
16:09:05 <elliott> Theorem foo S (R : ring S) :
16:09:05 <elliott> forall a, (pr_mul (p:=R) a (mn_1 (m:=pr_ag R))) = (mn_1 (m:=pr_ag R)).
16:09:08 <elliott> hard enough just to formulate it!
16:09:52 <Mathnerd314> thus... why Coq / etc. are not good for proving theorems
16:12:51 <elliott> Mathnerd314: thus why unjustified generalisation
16:12:52 <elliott> stfu
16:12:55 <elliott> S : Set
16:12:55 <elliott> R : ring S
16:12:55 <elliott> a : R
16:13:02 <elliott> lol i just realised i structured this in a way that I can't prove a:S
16:13:10 <elliott> OH WELL time to soldier on
16:14:30 <elliott> is 0+a = a left identity or right?
16:14:33 <elliott> similarly a+0 = a
16:15:18 <elliott> Theorem bar S (R : ring S) :
16:15:19 <elliott> forall a, (pr_add (p:=R) a mn_1) = a.
16:15:19 <elliott> intros.
16:15:19 <elliott> unfold pr_add.
16:15:19 <elliott> apply mn_right_ident.
16:15:19 <elliott> Qed.
16:15:21 <elliott> it's a start
16:17:01 -!- cheater99 has quit (Read error: Connection reset by peer).
16:25:01 <oerjan> left
16:31:49 -!- oerjan has quit (Quit: Later).
16:32:18 -!- cheater99 has joined.
16:34:37 -!- cheater99 has quit (Remote host closed the connection).
16:40:15 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
16:41:53 -!- poiuy_qwert has joined.
16:58:03 -!- poiuy_qwert has quit (Read error: Operation timed out).
16:59:51 <Mathnerd314> elliott: rewrite rules are superior
17:00:07 <elliott> Mathnerd314: for... theorem proving?
17:00:12 <elliott> Mathnerd314: you have no fucking clue what you're talking about
17:00:24 <Mathnerd314> really? why?
17:00:42 <elliott> Mathnerd314: I am eagerly awaiting your proof of the four-colour theorem in a term rewriting language
17:00:47 <elliott> until then, no.
17:01:51 -!- poiuy_qwert has joined.
17:17:20 <Mathnerd314> elliott: does writing Coq in a term rewriting language count?
17:17:47 <elliott> Mathnerd314: Anyone can Greenspun. The answer is no.
17:18:10 <elliott> Good luck: (1) Finding out how on earth you use term rewriting evaluation to "prove" something, especially without a powerful type system; (2) Formulating the proof.
17:18:27 <elliott> (3) Formulating the proof _without Coq's large array of tactics_, no less.
17:20:15 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
17:21:52 -!- poiuy_qwert has joined.
17:22:19 <Mathnerd314> actually, it's pretty simple. I define equality to be two constructs, "rewrite to" and "rewrite from", and then Coq proofs are term-rewriting proofs, and Coq's tactics are then term rewriting strategies
17:26:06 <elliott> Mathnerd314: hahahaha
17:26:11 <elliott> Mathnerd314: i take it you have no idea how coq actually works
17:27:00 <Mathnerd314> maybe; my conception is probably inaccurate in the details
17:27:09 <elliott> j-invariant: any progress btw?
17:27:16 <elliott> Mathnerd314: more than the details, I'd say ...
17:27:30 <j-invariant> I'm tired :(
17:28:13 <elliott> j-invariant: category theory solves all problems! including tiredness!
17:31:38 <j-invariant> elliott: the big picture is that category theory just organises things and seperates concerns, you still need to construct things by hand (e.g. using inductive definitions, recursive functions, composites) - so I might try and rewrite the equation prover thing without the categorical frame so I can use it to prove the early lemmas
17:32:19 <elliott> that would be cool
17:32:52 <j-invariant> right now it just interprets everything as (typed) lists, with composition as append -- I think I could also add in things like fg = id
17:33:50 <j-invariant> on the other hand its a lot of work and I don't know if it will survive being turned upside down like that
17:35:26 -!- Zuu has quit (Ping timeout: 260 seconds).
17:35:54 <j-invariant> maybe I should just press on and define limits
17:37:49 <elliott> that's what i'd do
17:40:15 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
17:41:34 -!- cheater99 has joined.
17:41:53 -!- poiuy_qwert has joined.
17:42:16 <Mathnerd314> elliott: here we are... Coq tactics *are* rewrite rules
17:42:24 <elliott> Mathnerd314: wrong, they're programs
17:42:35 <elliott> in fact IIRC they can even not halt (j-invariant?)
17:42:57 <Mathnerd314> rewrite rules are programs, and can be non-terminating
17:43:42 <elliott> Mathnerd314: Coq tactics *are* brainfuck programs
17:43:49 <elliott> brainfuck programs are programs, and can be non-terminating
17:44:00 <elliott> Mathnerd314: Coq tactics *are* rule 110 initial states
17:44:00 <elliott> etc.
17:44:33 <Mathnerd314> elliott: no, they're rewrite rules. they take propositions and turn them into other propositions.
17:44:43 <elliott> err. not really.
17:44:47 <Mathnerd314> brainfuck programs aren't that general
17:45:01 <elliott> um, what?
17:45:10 <elliott> send proposition on stdin, get new proposition on stdout.
17:45:56 -!- poiuy_qwert has quit (Client Quit).
17:47:40 <Mathnerd314> hmm, we seem to different definitions. I interpret rewrite rules as "most general thing ever invented". you seem to interpret them as "esoteric thing nobody uses"
17:48:56 <elliott> firstly, those two aren't definitions.
17:48:59 <elliott> secondly, I like rewrite rules perfectly well.
17:49:06 <elliott> thirdly, as they aren't definitions, they prove nothing.
17:49:34 <Mathnerd314> s/definitions/assumptions/ then
17:49:58 <elliott> well, they also aren't interpretations.
17:50:03 <elliott> so i have no idea whatsoever what you are trying to convey
17:50:54 <j-invariant> in Coq you have a situation like x:T, y:B, z:B->T->W |- _ : W
17:51:42 <j-invariant> tactics fill in the gap. e.g. you might do apply z. then you get x:T, y:B, z:B->T->W |- z _ _ : W
17:52:12 <Mathnerd314> elliott: we have different assumptions, leading to differing opinions/interpretations. so I am wondering where we start to disagree.
17:52:41 <j-invariant> if you take contexts and programming problems you can view tactics as rewrite rules
17:52:45 <elliott> Mathnerd314: what are our differing assumptions? how are they at all relevant to the situation at hand? what do you think the situation at hand is?
17:53:25 <j-invariant> it's useless to do so because we're not interested in the tactic language
17:54:00 <j-invariant> it's just some tacky script language that helps you program faster, like typeclasses in haskell or macros in lisp
17:54:01 <Mathnerd314> j-invariant: that makes sense.
17:55:47 -!- elliott_ has joined.
17:55:48 <j-invariant> the way you use it is more like (an advanced version of) prolog
17:56:01 <j-invariant> because it has pproof search and unification and such
17:56:10 <elliott_> a _very_ advanced version of prolog :P
17:57:39 <Mathnerd314> I guess I was too busy living in meta-meta-land to notice ;-)
17:59:21 -!- elliott has quit (Ping timeout: 260 seconds).
18:02:11 <j-invariant> what's the scoop with rewrite systems anyway
18:02:43 <j-invariant> aren't they just another universal computer?
18:03:26 <Mathnerd314> yeah, but they're a "nice" universal computer, nicer IMO than lambdas
18:03:56 <j-invariant> why?
18:05:06 <elliott_> fizzie: Deewiant: The server is back up, BTW. Don't think ineiros pinged you two yesterday.
18:05:09 <elliott_> (Without hMod though.)
18:05:34 <elliott_> j-invariant: they are pretty nice because you can implement most other things in terms of them ... and also pattern matching on constructors comes "built in", there's no special notion of a constructor
18:05:55 <j-invariant> when you write down a rewrite system: You don't know if it's confluent or not do you?
18:06:00 <elliott_> j-invariant: as in, implement other things /nicely/ in terms of them
18:06:17 <elliott_> I think confluence is overrated
18:06:20 <j-invariant> is there any use of a non-confluent rewrite system?
18:06:32 <elliott_> yes, for computing
18:06:54 <j-invariant> non-deterministic computing?
18:06:57 <elliott_> no?
18:07:02 <elliott_> how is it nondeterministic?
18:07:29 <elliott_> j-invariant: do you mean like, given "foo x = x; foo (bar x y) = quux x y", you don't know which rule to apply for "foo (bar a b)"?
18:07:43 <elliott_> j-invariant: because, generally you have a rule for this -- e.g. "most specific match", so it'd be the second
18:07:50 <elliott_> built into the language
18:09:06 <j-invariant> but imposing that restriction makes the system confluent
18:09:56 <elliott_> j-invariant: then yes, you do know whether it's confluent or not: it is!
18:12:11 <elliott_> j-invariant: you may be interested in the Q language http://q-lang.sourceforge.net/ and its successor http://code.google.com/p/pure-lang/ (which, inexplicably, is very fast; faster than Python etc.)
18:14:34 <elliott_> well, fast; i should say efficient
18:15:13 <elliott_> j-invariant: also rewriting languages are pretty "extensible"
18:15:23 <elliott_> i.e., you can easily add new cases to a function from "anywhere", codewis
18:15:24 <elliott_> e
18:15:34 <elliott_> j-invariant: which means you don't need typeclasses
18:15:42 <elliott_> say you have a few constructors for your new numeric type
18:15:44 <elliott_> then all you have to do is
18:15:51 <elliott_> add (C1 ...) (C1 ...) = ...
18:15:52 <elliott_> add (C1 ...) (C2 ...) = ...
18:15:53 <elliott_> etc.
18:16:04 <elliott_> and if infix + is bound to add, then it all magically works
18:17:18 <j-invariant> thats useful
18:20:03 <elliott_> j-invariant: but when doing term rewriting stuff i *do* miss lambdas a bit ... I think there could be a term rewriting language that somehow makes rules themselves first class, so you could pass around anonymous rules
18:20:06 <elliott_> but i haven't seen that done yet
18:20:42 <Mathnerd314> j-invariant: I don't think people use non-confluent systems by choice; it's just that they don't bother adding in the rules to make it confluent
18:21:14 <j-invariant> there's some new(ish) pattern languages but I haven't been able to find the books on them yet so dunno
18:22:22 <j-invariant> Mathnerd314: I just mean, you are able to write down non-confluent systems -- so how do we make use of that?
18:22:25 <Mathnerd314> elliott_: that's the programming language I'm trying to write
18:22:42 <elliott_> Mathnerd314: message passing and multiple dispatch are not pattern matching. sorry.
18:23:14 <Mathnerd314> elliott_: the messages passed are rewrite rules
18:23:21 <j-invariant> what's the difference? :D
18:23:40 <elliott_> j-invariant: also term rewriting lets you do fun things like this
18:23:42 <elliott_> > foldl (+) 0 [a,b,c,d,e,f,g];
18:23:42 <elliott_> 0+a+b+c+d+e+f+g
18:23:45 <elliott_> :p
18:24:16 <j-invariant> whats new ??
18:25:43 <elliott_> j-invariant: well, it's just a silly example.
18:25:48 <elliott_> but it's still pretty neat.
18:25:54 <elliott_> (foldl is defined the normal way)
18:26:31 <j-invariant> what if I made a rule
18:26:39 <j-invariant> random = 1 ; random = 2 ; random = 3
18:26:42 <j-invariant> then random + random ?
18:26:51 <elliott_> > random=1;random=2;random=3;
18:26:51 <elliott_> > random;
18:26:51 <elliott_> warning: rule never reduced: random = 2;
18:26:51 <elliott_> warning: rule never reduced: random = 3;
18:26:51 <elliott_> 1
18:27:02 <elliott_> j-invariant: basically I'd say "random = 1; random = 2; random = 3" is an invalid program
18:27:08 <elliott_> since you have ambiguous rules
18:27:21 <j-invariant> it must be very hard to recognize valid/invalid programs
18:27:35 <elliott_> j-invariant: not really
18:27:37 <elliott_> well may be
18:27:39 <elliott_> *maybe
18:27:44 <j-invariant> is there an algorithm?
18:27:49 <elliott_> probably, but i don't know it
18:27:56 <elliott_> i mean it depends on your rule for specificity
18:28:00 <elliott_> j-invariant: it's easy not to write invalid programs though IME
18:28:04 <elliott_> I would never write anything like that random thing
18:28:08 <elliott_> j-invariant: i mean, you know in haskell
18:28:21 <elliott_> how many times do you write a haskell program with two "f (X ...) ... = ..." that are ambiguous?
18:28:24 <elliott_> I never do
18:30:14 -!- impomatic has left (?).
18:38:22 <Mathnerd314> j-invariant: in my language, that would make random a type. (particularly, the type containing only 1, 2, and 3)
18:40:31 <elliott_> err, does that make any sense? types are more like predicates
18:41:33 <Mathnerd314> my type predicates are all "reachable by running rewrite rules"
18:41:45 <elliott_> e.g.,
18:41:45 <elliott_> nat 0 = true
18:41:45 <elliott_> nat (S n) = nat n
18:41:45 <elliott_> nat _ = false
18:42:25 <Mathnerd314> so "nat = 0; nat = S n" would specify the type nat
18:42:36 <elliott_> then e.g.
18:42:37 <elliott_> :: if nat n then nat (fact n) else true
18:42:37 <elliott_> fact 0 = S 0
18:42:37 <elliott_> fact (S n) = S n * fact n
18:42:41 <elliott_> Mathnerd314: really?
18:42:47 <elliott_> Mathnerd314: so "S S" is a nat?
18:42:50 <elliott_> surely you mean "nat = S nat"
18:43:04 <Mathnerd314> oh, yeah. good point.
18:43:37 <elliott_> hmm, if we say that "x:f" = "f x" and also have -> for boolean implication (i.e. true->Q = Q, false->Q = true), then
18:43:40 <elliott_> :: n:nat -> (fact n):nat
18:43:40 <elliott_> fact 0 = S 0
18:43:40 <elliott_> fact (S n) = S n * fact n
18:43:42 <elliott_> would be correct
18:45:06 * Mathnerd314 just has fact nat = nat
18:45:43 <elliott_> that doesn't make any sense
18:45:47 <j-invariant> fac nat = {1,2,6,24,...}
18:45:49 <elliott_> N! is not N
18:45:58 <elliott_> N being naturals
18:46:03 <elliott_> j-invariant: that i could understand.
18:46:35 <elliott_> !1+i.11
18:46:35 <elliott_> 1 2 6 24 120 720 5040 40320 362880 3.6288e6 3.99168e7
18:46:38 <elliott_> j-invariant: J has that :P
18:47:25 <Mathnerd314> elliott_: curses, you're right. fact nat : nat
18:47:37 <elliott_> i see. what does "a : b" mean?
18:47:44 <elliott_> presumably it reduces down to a rewrite rule of some kind.
18:49:48 <Mathnerd314> it's an upper bound; it says "the set of results of rewriting 'fact nat' will produce a subset of the natural numbers"
18:50:15 <Mathnerd314> = is a lower bound
18:52:29 <elliott_> Mathnerd314: i don't suppose you have an algorithm for typechecking this
18:53:09 <Mathnerd314> not a general algorithm; with that I could solve everything. but for specific cases I do
18:54:41 <elliott_> j-invariant: can you explain to Mathnerd314 why a type system without a type checker is useless, I'm too lazy to
18:54:56 <elliott_> now I'm imagining Coq going "You might have proved this! I can't tell!"
18:56:41 <Mathnerd314> elliott_: you can check bounds on types easily
18:57:07 <elliott_> Mathnerd314: if you can't check types in general, it's not a type system
18:57:26 -!- oerjan has joined.
18:57:42 <Mathnerd314> ok, it's not a type system. it's a proof system.
18:57:50 -!- Gracenotes has quit (Quit: ...).
18:58:03 <elliott_> Mathnerd314: a proof system that can't tell you whether your proof is valid or not?
18:58:03 <elliott_> useful!
18:58:36 <Mathnerd314> sorry, it's the thing you prove proofs about. I don't know what you call that.
18:59:08 <j-invariant> there are two things to consider
18:59:11 <j-invariant> * What can you compute?
18:59:14 <j-invariant> * What can you define?
19:00:04 <j-invariant> a turing machine computes and defines recursive sets. ZFC computes nothing but defines a huge chunk of mathematics
19:00:13 <j-invariant> much more than just recursive sets
19:01:45 <elliott_> <Mathnerd314> sorry, it's the thing you prove proofs about. I don't know what you call that.
19:01:47 <elliott_> what?
19:01:55 <elliott_> j-invariant: zfc scares me
19:02:28 <elliott_> j-invariant:
19:02:31 <elliott_> oops
19:02:32 <elliott_> mistype
19:03:31 <elliott_> hmm
19:03:36 <elliott_> I think I am going to write a parser generator
19:03:46 <oerjan> no!
19:03:53 <oerjan> write a generator parser instead
19:04:21 <oerjan> also, merry christmas
19:04:51 <Mathnerd314> elliott_: it's a system, with semantics. you can "run" the statements with =, producing results, and you can "infer" the statements with :, producing bounds
19:06:40 <elliott_> oerjan: it's the 24th you bum
19:07:24 <oerjan> elliott_: christmas starts officially 17:00 today in norway
19:07:34 <elliott_> oerjan: really? that's just weird.
19:07:37 <elliott_> you guys are stupid and smelly.
19:07:39 -!- elliott_ has changed nick to elliott.
19:07:43 <Mathnerd314> elliott_: and you can prove things about running and inference.
19:07:44 -!- elliott has quit (Changing host).
19:07:44 -!- elliott has joined.
19:07:51 <oerjan> that's when they ring all the church bells
19:07:52 <elliott> Mathnerd314: you can't prove anything if you don't have a type checker
19:08:28 <Mathnerd314> wtf? 2+2=4; there's no stinking type checker
19:08:56 <elliott> Mathnerd314: what/
19:08:58 <elliott> *what?
19:09:11 <elliott> it's a proof system, yes? presumably one based on some kind of type theory.
19:09:15 <oerjan> elliott: i have this theory it may be a holdover from when days were considered to start at sunset (as the jews still do for sabbath etc.)
19:09:15 <elliott> therefore you need a type checker to check your proofs.
19:09:22 <elliott> by your own admission you don't have a general typechecker
19:09:27 <elliott> oerjan: yeah yeah, silly nord
19:10:08 * Mathnerd314 reads wikipedia more
19:10:20 <Mathnerd314> elliott: it's an "abstract machine"
19:11:02 <elliott> are you just reading wikipedia, picking random vaguely-related words from there, and applying them?
19:11:12 <elliott> so far I have not a single idea how your system works, what it's intended to do, or what components it has at all
19:11:21 <elliott> I have no idea how you expect to be able to write and verify proofs.
19:11:42 <Mathnerd314> yes, precisely.
19:11:57 <j-invariant> ...
19:12:03 <elliott> do you know yourself?
19:12:06 <Mathnerd314> no.
19:12:12 <elliott> Mathnerd314: then why are you wasting my time?
19:12:29 <j-invariant> elliott: he imght just be too tired at this point
19:12:41 <elliott> j-invariant: are you sure you're not generalising from a sample of 1? :D
19:12:48 <j-invariant> from all the arguing LOL
19:13:01 <j-invariant> yeah I might be
19:13:58 <Mathnerd314> elliott: do you want an accurate answer?
19:14:07 <elliott> Mathnerd314: sure?
19:14:38 * Mathnerd314 starts preparing his 100-page thesis
19:15:23 <elliott> Mathnerd314: on why you're wasting my time?
19:15:39 <Mathnerd314> yes. probably won't be 100 pages though.
19:17:58 -!- j-invariant has quit (Quit: leaving).
19:27:53 <Mathnerd314> elliott: http://pastebin.com/SvDE6sZr
19:28:37 <elliott> "10. He has an inflated ego (from being good at math)" <-- I wonder what to call this, it's not a self-fulfilling prophecy ... hmm ...
19:28:47 <elliott> also i demand 100 pages
19:31:34 * Mathnerd314 writes his college essays
19:41:28 <fizzie> elliott: <ineiros> Vorpal, fizzie, elliott and others who might care: [...]
19:42:00 <fizzie> But right, Deewiant was left out.
19:43:11 <elliott> Poor Deewiant.
19:47:50 <elliott> 'Tis rather lonely on there right now.
19:49:48 <elliott> fizzie: Incidentally, I found your secret chest. It's empty.
19:51:07 <fizzie> No, it's not.
19:51:24 <fizzie> Or do you mean the thing under my floorboards in the house?
19:51:39 <elliott> fizzie: I mean the thing with the secret entrance to the left of your fire.
19:51:47 <fizzie> Oh, right.
19:51:54 <fizzie> That's not very secret.
19:52:01 <elliott> fizzie: To be fair, I am very dense.
19:52:10 <oerjan> elliott the black hole
19:52:19 <elliott> I don't think I'll bother taking out all your floorboards, though. :p
19:52:25 <fizzie> There's also another chest under the floor in front of that chest, but that's currently empty also.
19:52:35 <fizzie> I moved stuff elsewhere.
19:52:55 <fizzie> Okay, back to socializing. -¥
19:53:00 <fizzie> What.
19:53:04 <fizzie> ->
19:59:39 <elliott> GOD FUCKING DAMMIT
19:59:42 <elliott> NOTCH YOU BASTARD
19:59:54 <elliott> HOW COME DESTROYING MY CART WHILE I'M IN IT
19:59:56 <elliott> SUFFOCATES ME
20:00:01 <elliott> I WANT MY POSSESSIONS BACK NOTCH
20:13:31 -!- cheater99 has quit (Read error: Connection reset by peer).
20:15:19 -!- SimonRC has quit (Ping timeout: 265 seconds).
20:18:50 <asiek2erka> elliott go play my game
20:18:53 <asiek2erka> http://64pixels.org
20:18:53 <asiek2erka> :FD
20:18:54 <asiek2erka> :D*
20:19:18 <elliott> I don't run Java programs that aren't Minecraft.
20:19:33 <asiek2erka> :[
20:21:19 <elliott> Port it to Haskell. :p
20:21:30 <asiek2erka> you do it
20:22:02 -!- SimonRC has joined.
20:22:09 <elliott> Gimme the source then.
20:22:31 <asiek2erka> elliott i have not obfuscated the code
20:22:34 <asiek2erka> you can easily decompile it
20:22:34 <asiek2erka> :)
20:22:38 <elliott> decompiled code != source
20:22:55 <asiek2erka> it is almost equal nowadays
20:22:59 <asiek2erka> both of them are ugly in my case
20:23:46 <elliott> i haven't found a decent open-source java compiler
20:24:38 <elliott> *decompiler
20:24:39 <elliott> not compiler
20:25:39 <asiek2erka> elliott - http://64pixels.org/christmas.png
20:25:42 <asiek2erka> this is something in my game
20:25:44 <asiek2erka> reconsider playing it
20:25:45 <asiek2erka> :D
20:25:54 <elliott> asiek2erka: i saw in the looks. i also said "what.".
20:26:20 <asiek2erka> but
20:26:23 <asiek2erka> there's multiplayer!
20:26:23 <elliott> *logs
20:26:24 <elliott> not looks
20:26:25 <elliott> fff i can't spell
20:26:47 <elliott> maybe if you explain wtf http://64pixels.org/christmas.png is
20:27:04 <asiek2erka> A very ASCII Christmas
20:27:13 <asiek2erka> 6 screenshots glued together
20:27:16 <asiek2erka> of this giant scene
20:28:08 <elliott> i don't get the relevance of the bible quote ... well, except that christmas used to be vaguely related to christianity after they took it from the pagans, but that seems to be a rather tenuous link
20:28:33 <asiek2erka> uhhhhhhhhhhh
20:28:36 <asiek2erka> christmas
20:28:54 <elliott> Christmas = the joys of rampant consumerism; your point?
20:29:08 <asiek2erka> that is not what it is supposed to be
20:29:49 <elliott> asiek2erka: is it "supposed" to be anything? there's no evidence at all that jesus was born on the 25th, and in fact the historical record very clearly shows that it was picked to coincide with a pagan day
20:30:01 <elliott> i don't remember the last time i saw christmas associated with christianity in... any way at all really
20:30:02 <oerjan> asiek2erka: um, you do realize elliott is this channel's resident semi-militant atheist?
20:30:12 <elliott> oerjan: i'm not a semi-militant atheist, and it's not about that
20:30:21 <elliott> I just don't see how modern christmas is related to christianity in any way
20:30:25 -!- cheater99 has joined.
20:31:01 <oerjan> elliott: hey i added the semi- just to avoid your protests :D
20:31:14 <elliott> I wouldn't have been confused if the bible quote even /mentioned/ jesus at all :p
20:31:46 <asiek2erka> elliott: it's what the angels said when Christ was born AFAIK
20:31:50 <asiek2erka> said or sang
20:31:57 <elliott> asiek2erka: I don't think that actually happened :-P
20:32:03 <elliott> oerjan: well, /r/atheism irritates me as much as anyone :P ... so at least I'm not a typical reddit atheist!
20:32:06 <asiek2erka> elliott: well christians believe it did
20:32:18 <elliott> asiek2erka: I'm nitpicking at this point :P
20:32:28 <asiek2erka> also you can never be 100% sure
20:32:36 <oerjan> s/at this point/always/
20:32:57 * oerjan geeses
20:33:00 <elliott> asiek2erka: Indeed -- that's why I worship the tiny china teapot orbiting around the sun in an elliptical orbit between the Earth and Mars.
20:33:02 -!- cheater99 has quit (Client Quit).
20:33:06 <elliott> I trust it will bring me salvation.
20:33:17 <elliott> (side note: that would be a way better fake religion than FSM)
20:33:17 -!- cheater99 has joined.
20:33:33 <asiek2erka> elliott: it's your belief, go ahead
20:33:37 <asiek2erka> but i agree with the side note
20:33:37 -!- wareya has quit (Read error: Connection reset by peer).
20:33:38 <asiek2erka> TOTALLY
20:33:54 <elliott> Tomorrow I will celebrate The Day of the Revelation of the Teapot.
20:34:09 <asiek2erka> how much believers does your religion have
20:34:14 <asiek2erka> we are proud to have over a billion
20:34:21 -!- wareya has joined.
20:34:25 <elliott> You measure the accuracy of beliefs by how many people believe them?
20:34:29 <asiek2erka> no
20:34:32 -!- cheater99 has quit (Read error: Connection reset by peer).
20:34:39 <asiek2erka> just that so many people believe us. why
20:34:42 <elliott> But, uh, me and Bertrand Russell, which is pretty damn good company if you ask me.
20:34:59 <elliott> asiek2erka: Um, because Christians went crusading to convert all the evil nonbelievers quite a while back and it worked surprisingly well ...?
20:35:12 <asiek2erka> elliott: Well, I can't disagree with this argument
20:35:13 <elliott> As opposed to all the Buddhist missionaries going around.
20:35:30 <elliott> (Solipsist missionaries are the best though.)
20:35:42 <elliott> ("I'm just saying ... I don't really exist. Only you do. Think about it.")
20:36:14 <asiek2erka> well
20:36:22 <asiek2erka> Christians took Pagan holidays for their own use to stop paganism
20:36:45 <elliott> Surprisingly effective.
20:36:48 <asiek2erka> yes!
20:36:55 <elliott> Do you consider that a good thing?
20:37:01 <asiek2erka> well
20:37:08 <asiek2erka> i do not accept the fact we christians used force
20:37:19 <asiek2erka> (lol spanish inquisition)
20:37:22 <asiek2erka> but we've changed since then
20:37:31 <asiek2erka> we don't do spanish inquisitions anymore, do we
20:37:49 <elliott> asiek2erka: Do you really think all of Christianity is united with a single opinion?
20:38:05 <asiek2erka> not all
20:38:10 <elliott> You're saying "we" like you're a group of 10 likeminded people, not a group of N billion people believing the same basic vague thing but with millions of differences beyond that.
20:38:40 <asiek2erka> but
20:38:41 <asiek2erka> haven't we
20:38:48 <elliott> What?
20:38:53 <asiek2erka> also why are you arguing with a 13-year-old
20:38:58 <asiek2erka> that's the most nonsensical thing ever
20:39:05 <elliott> What.
20:39:37 <oerjan> indeed. asiek2erka, go to your room!
20:39:48 <elliott> Is asiek2erka /asking/ me to discount his opinions based on his age?
20:40:09 <elliott> wait, isn't asiek2erka polish?
20:40:09 <oerjan> elliott: a sure sign of immaturity if i ever saw one!
20:40:26 <elliott> i seem to recall christianity having a very strong grip on poland ... going by my source for all information about poland ... that's right ... nooga!
20:40:50 <elliott> very reliable if you ask me
20:40:59 <oerjan> i recall recently seeing some headline about polish church attendance taking a nosedive
20:41:21 <asiek2erka> elliott no
20:41:33 <asiek2erka> i am telling you why the hell are you arguing with someone that should be less intelligent than you
20:41:35 <asiek2erka> it's like trolls
20:41:40 <asiek2erka> they take you down to their level
20:41:46 <asiek2erka> then beat you with their stupid argumentatino
20:42:10 <elliott> so if you're older than someone you're smarter than them?
20:42:31 <oerjan> asiek2erka: um this is #esoteric. here age is not the strongest indicator of intelligence by far.
20:42:34 <asiek2erka> usually
20:42:35 <elliott> oerjan: sure, but it's more the early years that matter I would expect fwiw
20:42:40 <elliott> to make someone christian
20:42:41 <asiek2erka> you had more experience in life
20:42:47 <oerjan> if it is anywhere
20:42:48 <elliott> asiek2erka: lol
20:42:56 <asiek2erka> elliott look
20:43:00 <asiek2erka> what about we just go like this
20:43:02 <asiek2erka> you believe what you want
20:43:04 <asiek2erka> i believe what i want
20:43:08 <asiek2erka> and let's live in peaced
20:43:09 <asiek2erka> peace*
20:43:12 <elliott> it's been minutes since i questioned anything you said.
20:43:18 <elliott> well apart from the age-intelligence correlation. which is just stupid.
20:44:16 <asiek2erka> let's go back to what we started
20:44:17 <asiek2erka> christmas
20:44:41 <asiek2erka> "The word Christmas originated as a compound meaning "Christ's Mass"."
20:45:35 <elliott> http://retire-well-life.com/wp-content/uploads/2009/12/santa-claus.jpg Pictured: Jesus.
20:45:54 <asiek2erka> However, in Chronographai, a reference work published in 221, Sextus Julius Africanus suggested that Jesus was conceived on the spring equinox, popularizing the idea that Christ was born on December 25.
20:46:01 <asiek2erka> One of your arguments is right
20:46:07 <asiek2erka> We do not know when Jesus was really born
20:46:12 <asiek2erka> it was only a suggestion and everyone said "ok"
20:46:39 <elliott> there are better estimates
20:46:44 <elliott> IIRC it's something like July
20:46:58 <elliott> well, if the historical jesus actually exists, which is arguable, but anyway
20:46:58 <asiek2erka> he New Testament does not give a date for the birth of Jesus. <- that means any guesses cannot be 100% sure even for christians
20:47:09 <elliott> right ... because everything not in the new testament is false?
20:47:16 <asiek2erka> no
20:47:25 <asiek2erka> for christians the new testament is 100% true
20:47:26 <asiek2erka> while
20:47:29 <asiek2erka> the rest may not be 100% true
20:47:33 <elliott> <asiek2erka> for christians the new testament is 100% true
20:47:37 <elliott> yes, er, hate to break it to you, but that's not even remotely so.
20:47:37 <asiek2erka> and no
20:47:43 <asiek2erka> do not get on apocryphas
20:47:58 <elliott> I don't know of a single person who follows even the new testament 100% to the letter.
20:48:09 <Vorpal> hello
20:48:14 <elliott> Vorpal: hello
20:48:19 <asiek2erka> it is true but nobody reads it because nobody cares!
20:48:23 <Vorpal> <fizzie> elliott: <ineiros> Vorpal, fizzie, elliott and others who might care: [...] <-- he is included in others
20:48:32 <asiek2erka> most Christians, at least in Poland, declare they are christians
20:48:33 <elliott> Yes, but it didn't ping him, so. :p
20:48:34 <asiek2erka> but do not do anything
20:48:39 <Vorpal> also, happy xmas everyone
20:48:41 <asiek2erka> they just declare and... maybe pray every evening
20:48:47 <asiek2erka> and do not give a **** about anything else
20:48:54 <elliott> I'm a Muslim! I demonstrate my Musliminity by doing nothing.
20:48:59 <Vorpal> (In Sweden we celebrate the 24th.)
20:49:12 <elliott> Vorpal: Yes, yet more evidence that you're uncivilised backwater vikings.
20:49:35 <Vorpal> elliott, rather, the reverse
20:49:48 <elliott> Cool; I'm a viking.
20:50:30 <Vorpal> elliott, the other reverse
20:50:34 <Vorpal> (everyone else is backwards)
20:50:46 <Vorpal> elliott, but yes you probably are a viking as well
20:50:57 <Vorpal> a backwards one maybe
20:51:09 <elliott> Someone get on Minecraft, it is terribly quiet today.
20:51:12 <asiek2erka> Vorpal: you mean he's a gnikiv!? [/lamejoke]
20:51:18 <Vorpal> asiek2erka, XD
20:51:25 -!- cheater99 has joined.
20:51:28 <Vorpal> elliott, nah, I'm going to dig into this ioctl
20:51:39 <elliott> And mine it for ore?
20:51:45 <Vorpal> elliott, ... what?
20:51:50 <Vorpal> XD
20:52:08 <Vorpal> elliott, been porting the pc-speaker tune playing code from freebsd to linux. As an user space app in this case.
20:52:12 <Vorpal> almost done
20:52:19 <asiek2erka> are you going to craft a pc speaker from an ioctl and the user space
20:52:32 <Vorpal> elliott, I have a problem however. beep(1) is GPL. Not GPL2. GPL.
20:52:41 <elliott> Vorpal: So?
20:52:49 <Vorpal> elliott, and there are some magic constants I need from there
20:53:00 <elliott> Vorpal: Those aren't copyrightable.
20:53:02 <Vorpal> elliott, because I haven't been able to find docs on the IOCTL
20:53:06 <Vorpal> ioctl*
20:53:21 <elliott> Small magic numbers aren't copyrightable; even if they are, another program's copy of them isn't.
20:53:28 <Vorpal> elliott, it is rather large. Over 9000
20:53:34 <Vorpal> (over 90000 even!)
20:53:50 <elliott> Vorpal: Srsly -- not copyrightable. If the author of beep didn't invent those constants, there is no justification for saying its license applies.
20:54:06 <Vorpal> elliott, it is something like jiffies per timer interrupt of original IBM XT timer
20:54:15 <Vorpal> don't have the computer with the code on turned on atm
20:54:17 <Vorpal> (just got home)
20:54:17 -!- cheater99 has quit (Read error: Connection reset by peer).
20:54:46 <elliott> What Painterly glass texture do you use? :p
20:54:58 <Vorpal> elliott, the same as I told you about before
20:55:03 <elliott> I forget. >_>
20:55:43 <Vorpal> (don't you hate it when someone says "same place as usual" when you ask where something is? I certainly do)
20:56:17 <elliott> TO MOUNT HOOVER!
20:56:24 <Vorpal> elliott, it has a thin white border, it has some glints in opposite corners
20:56:31 <elliott> Ah. The one I currently have then.
20:56:34 <elliott> I don't like the fact that it has two glints.
20:57:25 <elliott> Vorpal: I've died twice -- yesterday and today -- because of destroying the cart while I was in it pushing me into the block below and me suffocating.
20:57:50 <elliott> It didn't happen when health was off; I did sink but I didn't suffocate and I could easily jump back up. I don't know whether to blame health or the beta update. Sigh.
20:57:59 <Vorpal> elliott, huh
20:58:18 <elliott> Just happened again! Disconnected before I died though. Please, god, don't make me waste more of my diamond. Let me be back above.
20:58:27 <elliott> NOPE I DIED LOL
20:58:34 <Vorpal> elliott, stop doing it then
20:58:55 <elliott> It's a habit; it's more efficient. It's Notch's bug, not mine. Now to run to the minecart station.
20:58:56 <Vorpal> elliott, I mean, doing it again and again just to complain isn't likely to be very constructive since notch is not here
20:59:18 <elliott> I KEEP FORGETTING
20:59:48 <Vorpal> elliott, can you forget that you dislike me?
21:00:40 <elliott> Ha -- my inventory duplicated.
21:00:43 <elliott> But I can't pick up any of it.
21:00:48 <Vorpal> elliott, heh
21:00:55 <elliott> Also there's a minecart on fire.
21:01:00 -!- Sgeo has joined.
21:01:00 <Sgeo> c
21:01:01 <Vorpal> ...
21:01:01 <elliott> Except it's a booster on the *other* track.
21:01:21 <Vorpal> elliott, dw mentioned something about something similar up north some days ago
21:01:21 <elliott> No wait!
21:01:23 <Vorpal> before beta
21:01:26 <elliott> *My* cart overlapped the booster.
21:01:29 <elliott> As in, exactly on top of each other.
21:01:34 <elliott> My cart has somehow gone onto the other track, and caught fire.
21:01:53 <elliott> Also, it is seemingly invincible. I can move though it and it won't move, and I can't destroy it.
21:01:56 <elliott> NOTCH QUALITY ENGINEERING
21:02:23 <Vorpal> elliott, the option in the painterly customiser is: "I want windows with reflections in the corners."
21:02:49 <elliott> Right.
21:03:30 <Sgeo> Things can catch fire in MC?
21:03:43 <elliott> ...yes.
21:03:44 <Vorpal> elliott, I can just dump the cookie it remembers things with I guess
21:03:55 <Sgeo> Project: FUCK THE WORLD
21:04:01 -!- poiuy_qwert has joined.
21:04:14 <Vorpal> elliott, http://sprunge.us/fYdb
21:04:26 <Sgeo> If you do that, I want to see screenshots
21:04:45 <Vorpal> Sgeo, they don't burn for long mostly
21:04:52 <Vorpal> and a lot of stuff don't burn at all
21:05:11 <Vorpal> elliott, I never seen minecarts burning at all. And since they are iron they shouldn't
21:05:28 <elliott> asiek2erka: http://art.penny-arcade.com/photos/1135238941_tVKGy-L.jpg
21:05:29 * elliott trolling
21:05:42 <elliott> Vorpal: Well, things could also pass through it. And it was invincible.
21:06:58 <Vorpal> elliott, probably a bug then
21:07:03 <Vorpal> elliott, does it actually boost?
21:07:08 <elliott> Vorpal: As I said, it wasn't a booster.
21:07:12 <Vorpal> elliott, oh
21:07:14 <elliott> Vorpal: It was just perfectly overlapped with the booster, which still moves.
21:07:14 <Vorpal> elliott, missed that
21:07:21 <elliott> I have no idea how it teleported to where the booster is.
21:07:22 <Vorpal> elliott, I bet it is a client bug then
21:07:29 <elliott> Vorpal: This was after disconnecting and reconnecting.
21:07:38 <Vorpal> elliott, what if you reconnect again?
21:07:42 <elliott> I think I did...
21:07:46 <Vorpal> hm
21:07:47 <elliott> Anyway, everything caught fire when I fell under the track.
21:07:54 <elliott> So presumably it teleported from there ... to where the booster was ... on the other track.
21:07:55 <elliott> SOMEHOW
21:08:02 <elliott> And became pass-through (like see-through except, you know).
21:08:04 <elliott> And invincible.
21:08:05 <Vorpal> elliott, is there any lava under the track?
21:08:21 <elliott> Yes. At least I recall burning, and I think there's obsidian there.
21:08:51 <Vorpal> elliott, idea: clear out a space tall enough to stand in below, then you won't suffocate I think, instead you /ought/ to fall through, and just get some fall damage
21:09:00 <Vorpal> and then be able to walk up given facilities for that
21:09:01 <Sgeo> How much can lava spread? Can it be pumped?
21:09:20 <Vorpal> Sgeo, which sort of lava?
21:09:22 <elliott> Vorpal: Or just wait for health to disappear again :P
21:09:27 <Sgeo> Vorpal, whichever
21:09:35 <Vorpal> Sgeo, well, define spread.
21:09:47 <Sgeo> Flow across the world
21:09:53 <Sgeo> Consuming everything
21:10:01 <Vorpal> Sgeo, 4 tiles on flat ground iirc
21:10:09 <elliott> "I mean, even a racist clock is right twice a day."
21:10:10 <Vorpal> Sgeo, it can flow over an edge and get another 4
21:10:19 <Vorpal> elliott, what
21:10:27 <Vorpal> elliott, in fact, what is a racist clock
21:10:35 <elliott> Vorpal: --Gabe, Penny Arcade
21:10:59 -!- cheater99 has joined.
21:11:24 <elliott> Are porkchops good for two uses, or is that just SMP bugs duplicating it?
21:11:45 <Vorpal> elliott, as far as I know they 1) don't stack 2) go away in one use
21:11:45 <elliott> Bugs, it seems.
21:11:55 <elliott> Vorpal: It goes away, then it reappears. Picking something up replaces it in its slot.
21:12:03 <elliott> But I think if you right click while the dupe is there it works.
21:12:03 <Vorpal> elliott, so infinite pork?
21:12:07 <elliott> Vorpal: No.
21:12:09 <elliott> It disappears the second time.
21:12:13 <elliott> Because of logic.
21:12:19 <Vorpal> elliott, .... does it heal the second time?
21:12:24 <elliott> I think so.
21:12:30 <elliott> But I dunno; my health bar is full.
21:12:30 <Vorpal> this makes no sense
21:12:35 <elliott> It wasn't very reliable on the survival server.
21:12:41 <elliott> So I don't really know.
21:12:48 <elliott> Feel free to jump off a cliff and test it :P
21:13:03 -!- cheater99 has quit (Read error: Connection reset by peer).
21:13:09 <elliott> STUCK ON A FENCE
21:13:16 <elliott> The Hoover farm is terribly positioned.
21:13:21 <elliott> You have to jump almost over it to get to the mines the way I do.
21:13:22 <Vorpal> elliott, ... how?
21:13:29 <elliott> Vorpal: Jumpin' onto it
21:13:32 <Vorpal> elliott, uh. why not walk around it a bit
21:13:37 <elliott> I was above it.
21:13:40 <elliott> Then I jumped, and miscalculated.
21:13:44 <elliott> Slam, fence. Boing boing boing.
21:13:45 <Vorpal> elliott, you don't want to jump onto the farmland anyway
21:13:48 <elliott> *Boingy boingy boingy.
21:14:26 <Vorpal> elliott, uh did you take the long stairs. Don't they go just past?
21:14:34 <elliott> Go past what?
21:15:08 <Vorpal> elliott, go past the point of the end of the farm, such that the farm is alongside the straight stairs
21:16:11 <elliott> Nope.
21:16:14 <elliott> They emerge a little bit from the farm.
21:16:17 <Vorpal> elliott, thing I don't like with painterly: every pack icon has a creeper
21:16:21 <elliott> But yes, I could go straight but I'd have to turn after that.
21:16:27 <elliott> Vorpal: Is there something wrong with that? :P
21:16:42 <elliott> Ahhh, home sweet Hoover Heavy Industries Research Facility.
21:16:49 <Vorpal> well, you don't see it often, but mmm... I don't like creepers
21:18:11 <Vorpal> elliott, does mcmap work yet?
21:18:17 <elliott> Vorpal: Yes. More or less.
21:18:21 <elliott> It crashes "sometimes".
21:18:32 <elliott> I wonder if phanty would object to me expanding the HHI research facility; it is rather small.
21:19:35 <Sgeo> HHI?
21:19:51 <elliott> Sgeo: Hoover Heavy Industries.
21:19:58 <elliott> Our services include many services. All our services are secret.
21:20:07 <elliott> If you wish to make use of our services, contact us with money.
21:22:43 <Sgeo> "After experimenting with the device for nearly two days, three Baptist Pastors were hospitalized with broken hips, two 14 year old girls were accidentally impregnated, and one 10-year old boy had his testicles permanently damaged."
21:23:41 <elliott> Sgeo: BEST DEVICE EVER
21:23:58 <Sgeo> elliott is now a Microsoft fan.
21:24:02 <oerjan> wut
21:24:05 <elliott> Sgeo: wat
21:24:09 <Sgeo> http://www.landoverbaptist.org/2010/december/luciferstoychest2010.html
21:24:17 <elliott> Oh man, I thought it was a real thing :(
21:24:25 <oerjan> oh landoverbaptist
21:25:22 <elliott> "Discerning Christian parents will immediately recognize the "Mindflex" as a crudely designed masturbation device. Simply put, it is cheap imitation of Scientology's, E-Meter - "E" meaning, "Eeeee!" or "OUCH!" as our team of specialists can attest to after squatting down on both devices for seven days."
21:25:55 <oerjan> elliott: here's for you http://www.reddit.com/r/circlejerk/comments/eqw92/i_wish_atheist_redditors_a_very_merry_xmas/
21:26:16 <elliott> oerjan: ah, /r/circlejerk ... the more moderate version of the rest of reddit
21:26:35 * oerjan is browsing r/all
21:27:24 <oerjan> i guess this is a sign of advanced addiction
21:27:31 <elliott> Vorpal: sec
21:27:35 <elliott> Vorpal: http://www.minecraftforum.net/viewtopic.php?f=25&t=55700&start=300
21:27:45 -!- SgeoN1 has joined.
21:27:45 <elliott> Vorpal: leave the map one off but turn on better grass and light is what i'd recommend :P
21:27:47 <elliott> erm
21:27:50 <Vorpal> elliott, hm
21:27:53 <elliott> http://www.minecraftforum.net/viewtopic.php?f=25&t=55700
21:28:08 <elliott> Vorpal: bettergrass requires betterlight, so
21:28:11 <elliott> at least for now
21:28:14 <SgeoN1> Dear computer: What the fucking fucking fuck?
21:28:21 <Vorpal> elliott, EINSUFFICIENTCOMPUTER
21:28:27 <elliott> Vorpal: um i used it
21:28:30 <elliott> Vorpal: it's fine
21:28:35 <elliott> Vorpal: barely slows down at all
21:28:44 <elliott> Vorpal: the slowdown was from me also using far and fancy which my computer can't even remotely handle /anyway/
21:28:49 <Vorpal> elliott, besides I like the worse light. Useful when building something to match up an overhang
21:28:53 <SgeoN1> Windows, or something claiming to be such, I guess, told me it was low on memory
21:29:01 <Vorpal> elliott, you can see exactly where you need to go based on the shadow :P
21:29:09 <SgeoN1> Now the screen is blank
21:29:52 <Vorpal> SgeoN1, I never had that happen on linux (har har)
21:29:55 -!- cheater99 has joined.
21:30:05 * SgeoN1 wonders if there's any malware that fakes that
21:30:09 <Vorpal> (it generally never told me first, and I blame nvidia when things went shit)
21:30:24 <SgeoN1> Ibwasnt running much
21:31:00 <Vorpal> SgeoN1, yeah, and OOM should not cause that
21:31:02 -!- Sgeo has quit (Ping timeout: 240 seconds).
21:31:04 <Vorpal> it never has for me
21:31:23 <SgeoN1> §simoleon!
21:31:51 <SgeoN1> Encyclopædia
21:32:16 -!- cheater99 has quit (Read error: Connection reset by peer).
21:32:44 <Vorpal> elliott, nah, I don't want better light, it seems to make things look dark based on screenshots
21:33:28 <Vorpal> elliott, all I want is to make 2/3rd side grass work with painterly and biome grass
21:33:44 <elliott> Vorpal: it doesn't, i've used it
21:33:52 <elliott> it's easy to uninstall, just rm -rf bin
21:33:57 <elliott> just give it a try :p
21:34:35 -!- SimonRC has quit (Ping timeout: 265 seconds).
21:36:17 -!- SimonRC has joined.
21:39:10 <fizzie> Yeah, I think you either have to choose no side-grass, inconsistent side-grass or just single-color all-grass.
21:41:12 <Vorpal> fizzie, there isn't no-side grass iirc, Even the default pack has some side grass
21:41:23 <Vorpal> fizzie, does it work with the small setting on side grass?
21:41:39 <fizzie> No.
21:41:49 -!- Sgeo has joined.
21:41:49 <Vorpal> fizzie, but it does for the default texture pack!
21:42:11 <fizzie> Yeah, but the thing that loads from texture packs can't biomize sidecrass, I think. Or something like that, anyway.
21:42:11 <Sgeo> Damn farkers can be idiots. I think about half of them aren't sure if Landover Baptist is parody
21:42:18 <elliott> fizzie: Or you can have biome-compliant 1/1 grass.
21:42:20 <Sgeo> http://www.fark.com/cgi/comments.pl?IDLink=5847704
21:42:22 <Vorpal> fizzie, is there any mode for that?
21:42:25 <elliott> With Better Grass. :p
21:42:37 <Vorpal> elliott, I don't want /complete/ side grass
21:42:45 <Vorpal> elliott, I want the 2/3rd option in painterly
21:42:45 <elliott> Vorpal: Um, that's what Better Grass does.
21:42:50 <Vorpal> elliott, yes and I don't want that
21:43:00 <elliott> Well, tough, you can't have it.
21:43:33 <Vorpal> elliott, quite, but probably there is some other mod
21:44:10 <fizzie> It'll probably get officially fixed too at some point. Ot
21:44:10 <elliott> Vorpal: There isn't.
21:44:19 <fizzie> It's there in the top-ten of getsatisfaction common-problems.
21:44:32 <Vorpal> fizzie, true
21:45:03 <elliott> asiek2erka: Your game won't even start.
21:46:05 <elliott> So how goes SMP.
21:46:13 <asiek2erka> elliott yes it will
21:46:18 <elliott> asiek2erka: No it won't, I just tried.
21:46:22 <asiek2erka> what are you using
21:46:23 <elliott> Unless there's a special key to start.
21:46:29 <asiek2erka> Sun's JVM? OpenJDK?
21:46:33 <asiek2erka> JamVM? HotSpot?
21:46:37 <asiek2erka> IcedTea?
21:46:56 <elliott> OpenJDK, and no, I'm not changing; if it doesn't work, it's a problem in your code. And Sun's JVM *is* HotSpot, and IcedTea *is* OpenJDK (well, almost; slightly different VM is the only difference.)
21:46:57 <asiek2erka> also browser or download
21:47:00 <elliott> Browser.
21:47:05 <asiek2erka> elliott try download
21:47:09 <elliott> No.
21:47:14 <asiek2erka> i haven't tested it in openjdk yet
21:47:21 <asiek2erka> i dont even know where the **** you can get openjdk for windows
21:47:44 <elliott> "Download and install the open-source JDK 6 for Ubuntu 8.04 (or later), Fedora 9 (or later), Red Hat Enterprise Linux 5, openSUSE 11.1, Debian GNU/Linux 5.0, or OpenSolaris. If you came here looking for JDK 6 product binaries for Solaris, Linux, or Windows, which are based largely on the same code, you can download them from java.sun.com."
21:47:56 <elliott> The code is basically identical.
21:48:00 <elliott> So it's your code's fault; fix it.
21:48:12 <asiek2erka> i can't if i can't see what's wrong
21:48:13 <asiek2erka> >:(
21:48:19 <asiek2erka> does OpenJDK implement javax.imageio
21:48:28 <asiek2erka> and javax.swing
21:48:28 <elliott> OpenJDK implements everything.
21:48:33 <elliott> I see the menu, I just can't select any of the options.
21:48:37 <asiek2erka> click on the window
21:48:38 <elliott> Using arrow keys, WASD, space, enter.
21:48:38 <asiek2erka> duhh
21:48:41 <elliott> I did. Duhh.
21:48:43 <asiek2erka> what
21:48:48 <asiek2erka> arrows should work perfectly
21:48:54 <asiek2erka> click on the select menu a few times
21:48:55 -!- cheater99 has joined.
21:49:02 <fizzie> It does implement the ImageIO stuff, though there were some OpenJDK imageio bugs I had to work-around in one project.
21:49:13 <fizzie> Something related to filters, I forget what exactly.
21:49:28 <Vorpal> asiek2erka, what is this game (note I only have openjdk and/or icedtea as well)
21:49:34 <asiek2erka> Vorpal it should work
21:49:36 <asiek2erka> http://64pixels.org
21:49:42 <asiek2erka> it's an ASCII infinite open world game
21:49:48 <asiek2erka> with logic circuits
21:49:51 <asiek2erka> and multiplayer
21:49:59 <Vorpal> asiek2erka, wait, why do I get dejavu
21:50:08 <elliott> asiek2erka: Add WASD keys.
21:50:19 <elliott> Vorpal: BUT ZOMG, JEB VISITED!1129012012
21:50:22 <elliott> MOJANG FAMOUS
21:50:25 <Vorpal> heh
21:50:30 <asiek2erka> elliott i did
21:50:36 <elliott> Well, they don't do anything.
21:50:40 <asiek2erka> C:\Documents and Settings\[username]\.64pixels\config.txt
21:50:41 <Vorpal> asiek2erka, also ascii?
21:50:44 <asiek2erka> add a line "wsad-mode=1"
21:50:49 <Vorpal> asiek2erka, I see graphics
21:50:50 <elliott> asiek2erka: No. Make them work by default.
21:50:53 <asiek2erka> elliott no
21:50:55 <elliott> Vorpal: It's DOS codepage.
21:50:59 <elliott> Vorpal: So what idiots think "ASCII" is.
21:51:01 <asiek2erka> i do not like WSAD
21:51:10 <elliott> asiek2erka: They do nothing by default, so there is no reason not to have them work.
21:51:10 -!- cheater99 has quit (Read error: Connection reset by peer).
21:51:16 <Vorpal> asiek2erka, do arrow keys work then
21:51:24 <asiek2erka> Vorpal yes
21:52:03 <Vorpal> elliott, if it is a dos code page, it seems unlikely to work under linux?
21:52:10 <asiek2erka> elliott
21:52:14 <asiek2erka> the charset is a raw dump of the CGA ROM
21:52:17 <asiek2erka> and it's stored that way
21:52:24 <asiek2erka> therefore IBM should hate me by now
21:52:28 <asiek2erka> as the CGA ROM is most likely copyrighted
21:52:30 <Vorpal> http://64pixels.org/scr5.png "64pixels 0.0.3.1, a random creation" <-- the hell
21:52:38 <Vorpal> elliott, doesn't that look familiar to you
21:52:41 * Sgeo falls in love with the Landover Baptist Bible Quizes
21:52:49 <elliott> Vorpal: One might consider it is intentional.
21:52:57 <Vorpal> elliott, sure, but the title!
21:52:57 <elliott> That's not the player thing, anyway.
21:53:03 <Vorpal> elliott, true.
21:53:12 <elliott> Does this thing have any monsters?
21:53:17 <asiek2erka> no
21:53:21 <elliott> It is intensely boring.
21:53:27 <asiek2erka> make a logic circuit
21:53:33 <elliott> I can do that without being a smiley face.
21:53:39 <asiek2erka> http://www.youtube.com/watch?v=0M90Hq4u3nQ
21:53:42 <fizzie> Font.getStringBounds was bugged in OpenJDK, and TextLayout.getBounds() returned Y=x in Sun's runtime, Y=-x in OpenJDK. And there was some unidentifiable problem in that doing AffineTransformOp.filter() didn't work, while drawImage() with the op did. I think all these have long since been fixed, though, this was two years ago.
21:53:44 <Vorpal> asiek2erka, are you a developer on this? (are there any other ones?)
21:53:50 <Vorpal> asiek2erka, and, how many people play it?
21:53:53 <elliott> You know, having right-clicking instantly erase anything is perhaps not such a good idea for vandalism prevention.
21:53:57 <elliott> Vorpal: JEB PLAYED IT ONCE BEST GAME EVER
21:54:04 <asiek2erka> Vorpal: yes, GreaseMonkey helps me a bit
21:54:07 <asiek2erka> also it's been on indiegames.com
21:54:10 <Vorpal> heh
21:54:11 <asiek2erka> about 15-20 people played it so far
21:54:14 <Vorpal> right
21:54:18 <asiek2erka> or maybe more
21:54:19 <elliott> "The idiot of the channel helps me occasionally!"
21:54:41 <asiek2erka> i'm putting that into the game's protocol
21:54:42 <asiek2erka> forever
21:54:45 <elliott> Wait, is the space just randomly filled?
21:54:51 <asiek2erka> elliott yes
21:54:53 <asiek2erka> naturally
21:54:57 <elliott> ...so you've built like two things.
21:55:20 <asiek2erka> there are more
21:55:26 <asiek2erka> but our server admin destroyed the forum database
21:55:33 <elliott> ...and that destroyed the world
21:55:36 <elliott> http://64pixels.org/mods.html In what universe does this count as modding?
21:55:42 <Vorpal> elliott, if you call GM the "idiot of the channel"... what do you call asiek2erka?
21:55:44 <elliott> OMG I CONFIGURED FIREFOX TODAY -- TOTALLY MODDED
21:55:48 <Vorpal> asiek2erka, and why the nick change
21:55:49 <elliott> Vorpal: 13.
21:55:54 <asiek2erka> also stop demotivating me
21:55:56 <Vorpal> elliott, ah
21:55:59 <elliott> (it's ok, he said I could discriminate based on age!)
21:56:23 <Vorpal> elliott, are you 14 or 15 now? I forgot
21:56:31 <asiek2erka> well i'm 14 in 2 weeks
21:56:32 <elliott> Vorpal: 15. :p
21:56:36 <Vorpal> elliott, ah.
21:56:48 <Vorpal> elliott, still 13 emotionally sometimes.
21:56:57 <elliott> Yeah, and you're so mature.
21:57:06 <Vorpal> elliott, did I claim that? I don't think I did.
21:57:10 <asiek2erka> i think Vorpal is much nicer than you
21:57:18 <Vorpal> I guess I'm flattered
21:57:22 <elliott> I'm an asshole? Wow, I never realised.
21:57:26 <asiek2erka> yes, yes you are
21:57:31 <Vorpal> no comments on that
21:57:33 <asiek2erka> but you were the one who said it
21:57:35 <asiek2erka> :P
21:58:12 * elliott wonders if asiek2erka actually knows what Inland Revenue is at all.
21:59:00 * asiek2erka wonders if elliott has to be so !@#$ing picky
21:59:08 <elliott> Yep.
21:59:22 <elliott> I took the topmost flowers and nothing happened.
21:59:29 <asiek2erka> elliott oh no
21:59:31 <asiek2erka> rebuild the heap now
21:59:36 <asiek2erka> also wait, you got the game to work? :P
21:59:43 -!- asiek2erka has changed nick to asie[afk].
21:59:45 <elliott> Umm. No, I don't think I'm going to bother to figure out how to switch blocks./
21:59:56 <elliott> "DON'T LEAVE CLOCKS RUNNING THEY WASTE BANDWIDTH" -- how on earth.
22:00:03 <elliott> Does it make a network connection for every tick or something?
22:00:19 <Vorpal> elliott, local game or multiplayer?
22:00:23 <elliott> Multiplayer.
22:00:29 <Vorpal> ah
22:00:37 <Vorpal> elliott, now to work on the pc speaker player coder
22:00:38 <Vorpal> code*
22:00:48 <elliott> One wonders if it is not asie[afk] and GreaseMonkey merely not knowing what "bandwidth" means.
22:01:39 <Vorpal> elliott, perhaps.
22:07:53 -!- cheater99 has joined.
22:09:02 <Vorpal> /*
22:09:02 <Vorpal> * Emit tone of frequency thz for given number of centisecs
22:09:02 <Vorpal> */
22:09:02 <Vorpal> static void tone(unsigned int thz, unsigned int centisecs)
22:09:09 <Vorpal> elliott, thz sounds so strange
22:09:19 <Vorpal> make me think of THz
22:10:01 -!- cheater99 has quit (Read error: Connection reset by peer).
22:14:20 -!- elliott has quit (Ping timeout: 272 seconds).
22:21:05 -!- elliott has joined.
22:23:02 -!- zzo38 has joined.
22:26:35 <Vorpal> what, the program runs okay under gdb but malfunctions when ran alone
22:26:55 -!- cheater99 has joined.
22:27:18 <elliott> gdb quality.
22:27:47 <Vorpal> elliott, XD
22:27:53 <Vorpal> elliott, valgrind reports nothing
22:27:57 <zzo38> Vorpal: That has happened to me before, but I figured out the problem and corrected it.
22:27:59 <fizzie> That's not really very "what".
22:28:03 <Vorpal> and it still malfunctions under valgrind
22:28:15 <fizzie> gdb does affect uninitialized memory contents and such.
22:28:29 <Vorpal> fizzie, but 1) valgrind reports nothing 2) it still malfunctions there
22:28:32 <fizzie> Though valgrind often catches that sort of stuff, admittedly.
22:28:33 <elliott> i probably shouldn't wander around minecraft with nothing to do.
22:28:45 <Vorpal> fizzie, my guess atm is that ptrace changes something about how the system call works
22:28:48 <Vorpal> fizzie, maybe EINTR
22:28:49 <Vorpal> or such
22:28:57 <elliott> why are there little blue pixels in my painterly trees
22:29:02 <Vorpal> which I /should/ handle, but who knows if that is buggy
22:29:35 -!- cheater99 has quit (Read error: Connection reset by peer).
22:36:24 <zzo38> Did you know I have played D&D game today?
22:40:14 <Vorpal> oh I found it
22:40:27 <elliott> Mrf, what's the keys to rearrange tabs in xchat again?
22:40:30 <Vorpal> fizzie, the bug was actually that I typoed argv[1] as argv[0]
22:40:33 <elliott> I accidentally moved #esoteric to the left of freenode.
22:40:33 -!- hagb4rd has joined.
22:40:39 <elliott> Vorpal: Just mv the program before executing it.
22:40:44 <Vorpal> fizzie, that plus a number of coincidences
22:40:50 <Vorpal> elliott, quite esoteric yeah
22:41:05 <Vorpal> yay it seems to work
22:41:39 <Vorpal> the strings from http://svn.freebsd.org/viewvc/base/release/8.1.0/usr.sbin/spkrtest/spkrtest.sh?revision=210188&view=markup is now playable on a linux pc speaker!
22:42:21 <Vorpal> elliott, sounds better on my thinkpad, where it is just a pure tone through the usual speakers
22:42:36 <elliott> Vorpal: Let's build a hi-fi USB PC speaker.
22:42:41 <Vorpal> elliott, XD
22:42:45 <elliott> So you can listen to it in all its glory on a laptop.
22:42:49 <elliott> A *real* one too -- as in the actual same mechanics.
22:42:56 <Vorpal> elliott, well my desktop has that
22:43:05 <elliott> Vorpal: But is it hi-fi?
22:43:10 <elliott> Vorpal: Are all the components isolated?
22:43:11 <Vorpal> elliott, I doubt it
22:43:15 <Vorpal> elliott, however this needs root to run.
22:43:23 <Vorpal> which makes me nervous while debugging
22:43:23 <elliott> LAME
22:43:28 <Vorpal> elliott, blame linux
22:43:32 <Vorpal> elliott, I need to open /dev/console
22:43:37 <Vorpal> elliott, and do some ioctls on it
22:43:47 <Vorpal> elliott, this needs either running from a vt
22:43:50 <Vorpal> or as root under X
22:44:02 <Vorpal> elliott, so it won't need root if you run it from a vt
22:44:19 <elliott> Heh; how weird.
22:44:45 <Vorpal> elliott, well, I guess it is because /dev/console depends on the owner of the current console. And when you are in X then X owns that vt
22:44:52 <elliott> Vorpal: Why on earth does that thing write to a choices file?
22:44:54 <Vorpal> elliott, and X runs as root
22:44:59 <elliott> Couldn't it just assign to a variable?
22:45:04 <Vorpal> elliott, I have no idea
22:45:30 <Vorpal> elliott, on freebsd it needs root too iirc, but only because the default permissions of /dev/speaker
22:46:25 -!- cheater99 has joined.
22:46:26 -!- Wamanuz3 has quit (Read error: Connection reset by peer).
22:46:33 <Vorpal> elliott, hm... also I'm not sure if I can get the exact timing of freebsd. After all, on freebsd this happens in kernel
22:46:39 <Vorpal> and well, there is no buffer
22:46:52 -!- Wamanuz3 has joined.
22:46:54 <elliott> I wonder if I could transfer the IΞ type system to a term rewriting system.
22:47:45 <Vorpal> elliott, btw I made the backend code very easy to replace for different systems. Should be just two functions to rewrite (plus maybe some POSIX-isms) to port it to windows. If anyone wants to
22:48:08 <Vorpal> (those functions: beep(freq, duration_in_ms), sleep(duration_in_ms)
22:48:11 <Vorpal> )
22:48:26 -!- cheater99 has quit (Read error: Connection reset by peer).
22:49:07 <elliott> Vorpal: Um, did you really call it sleep()?
22:49:09 <elliott> In a C program?
22:49:16 <elliott> POSIX hates you.
22:49:19 <Vorpal> elliott, no
22:49:25 <Vorpal> elliott, I call it hw_beep and hw_sleep
22:49:31 <elliott> Ah.
22:49:32 <Vorpal> elliott, and I don't call it "duration_in_ms" either
22:49:43 <elliott> Vorpal: Couldn't you just usleep(x*whatever_factor_i_forget)
22:49:59 <Vorpal> elliott, usleep: no such thing in POSIX-2008. Besides it isn't portable C.
22:50:04 <hagb4rd> unbelievable.. just made a bet with a friend that the incredible machine of elliott is online, keepin the synapses of the rest well heated
22:50:05 <Vorpal> elliott, I use nanosleep
22:50:14 <Vorpal> elliott, since that is what replaced usleep
22:50:16 <hagb4rd> merry xmas folks ;)
22:50:20 <elliott> hagb4rd: wat./
22:50:29 <elliott> i'm always online
22:50:30 <Vorpal> elliott, usleep was made obsolete in POSIX 2001 and removed in 2008
22:50:32 <Vorpal> hagb4rd, same!
22:50:35 <elliott> i live on the internet
22:50:42 <elliott> Vorpal: no you're destroying all the synapses
22:50:48 <elliott> FUN FACT i have no physical form
22:50:52 <hagb4rd> np.. it's good to have you here
22:50:53 <Vorpal> <elliott> Vorpal: no you're destroying all the synapses
22:50:53 <Vorpal> what
22:51:06 <Vorpal> elliott, maybe you misread: <hagb4rd> merry xmas folks ;) <Vorpal> hagb4rd, same!
22:51:12 <elliott> I actually can't leave, watch:
22:51:12 -!- elliott has left (?).
22:51:12 -!- elliott has joined.
22:51:14 <elliott> DAMN
22:51:20 <Vorpal> you cycled
22:51:35 <Vorpal> elliott, I can't leave however (channel is sticky in bouncer, it will filter /part)
22:51:35 <elliott> It is my punishment, to stay in here for eternity. Well, specifically, to stay in here for eternity with Vorpal.
22:52:18 <elliott> So is anybody going to MC today? :p
22:52:22 * hagb4rd giggles
22:52:27 <Vorpal> elliott, I was on for a bit, but pc speaker is funnier!
22:52:55 <zzo38> I played D&D game today. Do you think I won?
22:53:10 <Vorpal> elliott, I should upload this code, but I don't know the license. Seeing as I pretty much had to reverse engineer beep(1) to figure out how to do it on linux (really, the docs for how you interface with kernel drivers on linux *sucks*)
22:53:44 <Vorpal> elliott, and beep(1) is, as far as I can tell, GPL. The date is 1994 and the GPL is /not/ versioned. Nor is there "any future version" clause. This means in fact GPL1
22:53:47 <elliott> Vorpal: just GPL v1 it?
22:54:00 <elliott> after all, GPL v1 is BSD-compatible
22:54:03 <Vorpal> elliott, yeah but I have no clue what GPL v1 actually is.
22:54:05 <elliott> so if you stole BSD cdoe that's ok
22:54:11 <elliott> Vorpal: http://www.gnu.org/licenses/gpl-1.0.html
22:54:13 <elliott> GNU GENERAL PUBLIC LICENSE
22:54:14 <elliott> Version 1, February 1989
22:54:18 <fizzie> Vorpal: Win32 api has a Beep(DWORD dwFreq, DWORD dwDuration) in kernel32.dll that spoke directly to PC speaker; it was dropped in Vista/WinXP 64-bit (because MessageBeep did the whole beep-via-sound-card thing, unlike kernel32 Beep); and in Windows 7 they brought Beep() back but made it pass through to a sound card.
22:54:21 <Vorpal> elliott, I clearly stated that this file was same as freebsd one with minimal changes
22:54:23 <elliott> Vorpal: erm gpl v2 is from june 1991
22:54:28 <Vorpal> hm
22:54:31 <elliott> so it probably means gpl 2.
22:54:39 <zzo38> Vorpal: I think it says if it says "GPL" with no version number, you can use any version you want to unless the copyright holder tells you otherwise.
22:54:54 <elliott> zzo38: for a program predating GPL v2, even?
22:54:58 <zzo38> Or if the license is included with the program, you would use that one.
22:54:58 <Vorpal> elliott, basically, why should I write the parser code for that convoluted string when I just need to replace some types and calls and rewrite two functions
22:55:01 <elliott> Vorpal: Just say "This program is licensed under the same license as the beep tool from [wherever]."
22:55:09 <Vorpal> (I do not believe in NIH)
22:55:18 <elliott> I believe in NIH!
22:55:41 <zzo38> elliott: I think if it says "GPL" with no version specified, and the license text is not included anywhere with the program, you are permitted to use any version of the GPL. (I think I read somewhere that it works that way?)
22:55:43 <Vorpal> elliott, oh. Noodly Interspace Horror?
22:55:51 <elliott> yes.
22:55:58 <Vorpal> elliott, isn't that a codename for flying spaghetti monster?
22:56:08 <elliott> zzo38: That's not true ... imagine before GPL version 2 came out. It wasn't called v1, it was just called the GPL.
22:56:16 <elliott> zzo38: So code licensed under "GPL" then is definitely version 1.
22:56:28 <Vorpal> ah wait
22:56:32 <zzo38> elliott: Then, OK.
22:56:32 <Vorpal> it has a COPYING
22:56:35 <Vorpal> which is GPL2
22:56:43 <zzo38> Vorpal: OK then it is whatever version the COPYING file says.
22:56:44 <Vorpal> right
22:56:50 <elliott> Vorpal: I don't consider reverse engineering to be virally, though.
22:57:02 <elliott> Vorpal: Copying non-trivial code, yes.
22:57:09 <elliott> Figuring out how it works and reimplementing it... naw.
22:57:19 <Vorpal> elliott, 1193180 btw
22:57:25 <elliott> Vorpal: 349783498
22:57:31 <Vorpal> elliott, won't work.
22:57:38 <Vorpal> elliott, it is not the right magic constant
22:57:43 <elliott> 3459358
22:57:48 <Vorpal> again won't work
22:58:05 <Vorpal> elliott, anything but the one I gave and frequency will be off
22:58:07 <elliott> Vorpal: Plz make shipping go faster.
22:58:13 <Vorpal> elliott, of the tool?
22:58:16 -!- zzo38 has quit (Remote host closed the connection).
22:58:17 <elliott> No.
22:58:24 -!- Wamanuz4 has joined.
22:58:25 -!- Wamanuz3 has quit (Ping timeout: 255 seconds).
22:58:26 <Vorpal> elliott, what do you mean then
22:58:32 <elliott> OF MAH LAPTOP
22:58:48 <Vorpal> elliott, ah, I don't have any inside connections at apple
22:58:49 <Vorpal> can't help
22:59:09 <elliott> I know Steve Jobs' zombie brother.
22:59:16 <elliott> But he disowned him, so GUESS THAT WON'T HELP.
22:59:18 <Vorpal> hm
22:59:28 <Vorpal> if system is loaded it won't play correctly
22:59:32 <elliott> Also, it's been dispatched, so it's probably not Apple's problem any more :P
22:59:34 <elliott> Vorpal: What?
22:59:35 <elliott> Oh.
22:59:38 <elliott> Loaded in that sense.
22:59:40 <Vorpal> elliott, no buffer
22:59:43 <Vorpal> so...
22:59:47 <Vorpal> elliott, maybe I should try to give it real time priority?
22:59:56 <Vorpal> I wonder what function is used for that
23:00:09 <elliott> Vorpal: Just renice yourself.
23:00:09 <elliott> I think.
23:00:33 <Vorpal> elliott, right, I was thinking real time IO priority as well
23:00:37 <elliott> Vorpal: If you try and get realtime priority when using the Brain Fuck Scheduler and you're not root, you get isochronous priority (which X runs at); it's sort of like just-below-realtime.
23:00:50 <elliott> If only it worked with non-root :P
23:01:01 <Vorpal> elliott, right, but since almost everyone use X you will end up needing root /anyway/
23:01:12 <Vorpal> besides it won't /fail/ without real time priority.
23:01:53 * elliott decides wood-bricks aren't nice, recustomises painterly
23:02:11 <elliott> Vorpal: Have you seen that insane Painterly Christmas thing?
23:02:15 <elliott> Stone becomes ice. :p
23:02:20 <elliott> Sound effect dissonance!
23:02:28 <Vorpal> elliott, yes....
23:02:35 <Vorpal> elliott, remember that fizzie took screenshots?
23:02:37 <Vorpal> you were on iirc
23:02:38 <elliott> I might try it. You know, just for Christmas.
23:02:41 <elliott> Vorpal: Yes, I believe I didn't look.
23:02:44 <Vorpal> ah
23:04:04 <elliott> I wish the Painterly chests/benches/furnaces/doors were less ornate.
23:04:06 <elliott> It's weird.
23:04:48 <fizzie> They're a bit overdone.
23:04:55 -!- cheater99 has joined.
23:05:21 <elliott> Also the ice doesn't tile very well at all.
23:05:49 -!- Wamanuz4 has quit (Read error: Connection reset by peer).
23:06:10 -!- Wamanuz4 has joined.
23:06:44 -!- cheater99 has quit (Read error: Connection reset by peer).
23:08:47 -!- oerjan has quit (Quit: Good night).
23:11:26 <Vorpal> elliott, hm now how to change IO priority
23:12:18 <elliott> Dunno.
23:12:59 <Vorpal> ah found it
23:13:01 <Vorpal> love google
23:13:22 <Vorpal> great, my man ioprio_set doesn't mention what headers
23:13:43 <Vorpal> should report that as a bug
23:13:48 <Vorpal> to where
23:14:50 <fizzie> Vorpal: Incidentally, since you're already running as root and worried about exact scheduling, why not sched_setscheduler a SCHED_FIFO >0 priority for your process? That way you'd get it to hang the whole machine when it goes wrong.
23:15:05 <Vorpal> fizzie, ... huh
23:15:25 <Vorpal> fizzie, are you /sure/?
23:15:41 <fizzie> Sure about hanging or sure about that being a good idea?
23:15:57 <elliott> Heh, brilliant.
23:16:02 <Vorpal> Glibc does not provide wrapper for these system calls; call them using syscall(2).
23:16:07 <Vorpal> that is why there is no header...
23:16:09 <elliott> :D
23:16:33 <Vorpal> elliott, on the other hand, there is another issue: where the heck do I get the macros mentioned in the man page
23:16:59 <Vorpal> also I doubt it will help anyway
23:17:09 <elliott> Vorpal: why do you need any macros?
23:17:10 <Vorpal> it seems block device IO specific
23:17:11 <elliott> just use syscall()
23:17:17 <elliott> <fizzie> Vorpal: Incidentally, since you're already running as root and worried about exact scheduling, why not sched_setscheduler a SCHED_FIFO >0 priority for your process? That way you'd get it to hang the whole machine when it goes wrong.
23:17:17 <elliott> I doubt it
23:17:20 <elliott> since fizzie is infallible
23:17:31 <Vorpal> elliott, because int ioprio_set(int which, int who, int ioprio); and for the last argument you use macros to construct it
23:17:33 <Vorpal> says the man pae
23:17:35 <Vorpal> page*
23:17:52 <Vorpal> elliott, it doesn't document the raw values for it
23:17:57 <elliott> Vorpal: cpp(1)
23:18:00 <Vorpal> just that it is a bitmask and you use these macros...
23:18:03 <Vorpal> elliott, ...
23:18:08 <Vorpal> elliott, anyway it won't help me
23:18:26 <fizzie> ./include/linux/ioprio.h: IOPRIO_WHO_PROCESS = 1,
23:18:26 <fizzie> ./include/linux/ioprio.h: IOPRIO_WHO_PGRP,
23:18:26 <fizzie> ./include/linux/ioprio.h: IOPRIO_WHO_USER,
23:18:38 <fizzie> (Grepping *.[ch] inside the kernel.)
23:18:47 <asie[afk]> elliott
23:18:55 <asie[afk]> a clock emits 120 bytes a second per player
23:18:59 <asie[afk]> that's what we mean by bandwidth
23:19:19 <elliott> 120p B/s, oh noes!!
23:19:20 <Vorpal> fizzie, yes those I have no problem with
23:19:25 -!- asie[afk] has quit.
23:19:26 <elliott> Max 255 players, no?
23:19:28 <Vorpal> fizzie, I meant IOPRIO_PRIO_VALUE
23:19:37 <Vorpal> fizzie, IOPRIO_PRIO_CLASS and IOPRIO_PRIO_DATA too
23:19:37 <elliott> So maximum 32 KiB/s.
23:19:39 <elliott> HOW HORRIBLE
23:19:53 <fizzie> Vorpal: ./include/linux/ioprio.h:#define IOPRIO_PRIO_VALUE(class, data) (((class) << IOPRIO_CLASS_SHIFT) | data)
23:19:55 <fizzie> The same place?
23:20:17 <Vorpal> fizzie, right
23:20:30 <Vorpal> fizzie, anyway it won't really help me, since it seems to be block device specific
23:20:33 <fizzie> Notably they're not in my /usr/include/linux, just in the kernel source tree's include/linux subdir.
23:20:38 <Vorpal> and all I do is ioctls on a char device
23:20:53 <Vorpal> fizzie, great...
23:21:10 <fizzie> Setting the scheduler would help you in the "won't let other processes get in the way" sense, but I'm not really recommending that.
23:21:32 <elliott> Just hang the system for the duration of the song. :p
23:21:51 <Vorpal> fizzie, actually I don't dare use SCHED_FIFO, SCHED_RR looks more interesting
23:22:21 <fizzie> I don't think it's any easier on the system.
23:22:27 <Vorpal> elliott, well actually I won't, since I sleep, not busy wait
23:22:32 <fizzie> It still will pre-empt everything with a lower static priority.
23:22:35 <fizzie> "Since a nonblocking infinite loop in a process scheduled under SCHED_FIFO or SCHED_RR will block all processes with lower priority forever, a software developer should always keep available on the console a shell scheduled under a higher static priority than the tested application. This will allow an emergency kill of tested real-time applications that do not block or terminate as expected."
23:22:40 <Vorpal> fizzie, hrrm
23:22:49 <elliott> Vorpal: I lie my head on my pillow and busy-wait for eight hours.
23:23:11 <Vorpal> elliott, good night then (assuming that is how it should be read)
23:23:21 <Vorpal> elliott, also, you are going to bed early?
23:23:25 -!- cheater99 has joined.
23:24:13 <elliott> Vorpal: <Vorpal> elliott, well actually I won't, since I sleep, not busy wait
23:24:26 <elliott> "I lie" as in every night.
23:24:28 <elliott> Who needs sleep.
23:24:58 -!- cheater99 has quit (Read error: Connection reset by peer).
23:25:03 <elliott> Vorpal: I'm probably going to bed semi-early in the interest of seeing /some/ sort of light on Christmas, though. :p
23:26:27 <Vorpal> fizzie, Finland uses the proper 24th too right?
23:27:42 <fizzie> Yes. Well, for the gift-giving part and so on; the 25th is still Christmas too.
23:27:49 <Vorpal> elliott, to guarantee proper execution in the face of swap trashing I should probably memlock myself too ;P
23:28:24 <fizzie> Instead of sleep-based wait-times (which of course ignore the time you spend thinking before you invoke sleep), you might run a fixed-interval timer with a resolution small enough that you can perform all your song-related actions at the times when that fires. (Disclaimer: I don't really know how the pc-speaker IO works, and whether that's a blocking sort of thing or not.)
23:29:41 <Vorpal> fizzie, it is just ioctls
23:30:04 <Vorpal> fizzie, anyway, it seems to work well with just a -20 nice and normal scheduler
23:30:39 <Vorpal> fizzie, and your suggestion would involve rather heavy rewriting, which I don't want
23:30:55 <elliott> "The ucs2 and utf8 character sets do not support supplementary characters that lie outside the BMP." ~~MySQL
23:31:07 <fizzie> Right. Well, you could pre-build a list of actions that you do on each timer-tick, it should (theoretically speaking, anyway) be a bit more accurate than "do a thing, then sleep", which will add the "do a thing" time to all sleep values.
23:31:13 <Vorpal> fizzie, including making the playstring thingy reentrant
23:31:54 <Vorpal> fizzie, actually it will be less like the original (freebsd speaker kernel driver)
23:31:58 <Vorpal> which also sleeps
23:32:05 <Vorpal> and works the same way
23:32:26 <Vorpal> elliott, uh... what? ucs2: yeah okay, that makes sense.
23:32:27 <fizzie> I guess it depends on whether you want to match that or to conform to some sort of an ideal.
23:32:29 <Vorpal> but utf8?
23:32:42 <Vorpal> fizzie, well I want to match
23:32:42 <elliott> Vorpal: MYSQL QUALITY
23:33:37 <Vorpal> also TOS theme on pc speaker is awesome "l2b.f+.p16a.c+.p l4mn<b.>e8a2mspg+e8c+f+8b2"
23:34:22 <fizzie> The mlock/mlockall thing could be a thing to do, of course.
23:34:58 <elliott> Anyone know how to insert UTF-8 chars with a mysql query?
23:35:06 <elliott> i.e. what escape sequences or functions or whatever
23:35:34 <elliott> ah, seems like it's CHAR()
23:36:07 <fizzie> I don't think I've got my PC speaker connected. I wonder how accurate the emulations are.
23:36:46 <fizzie> Dosbox has a 360-line PC speaker emulation code; it looks a bit simplistic compared to something like resid-fp. (Admittedly the PC speaker itself is rather simplistic compared to SID, too.)
23:39:36 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:41:25 -!- cheater99 has joined.
23:41:38 <Vorpal> ah found docs
23:41:48 <Vorpal> elliott, no need for GPLv2 any more
23:41:56 <Vorpal> will probably do *BSD then
23:42:03 <elliott> Vorpal: WTFPL
23:42:14 <Vorpal> elliott, not BSD compatible iirc
23:42:29 <elliott> Vorpal: Yes it is?
23:43:02 <elliott> Vorpal: If you mean "but I based it on BSD code", you can still license your parts as WTFPL. Admittedly that's silly. But no, WTFPL is 100% BSD-compatible.
23:43:03 -!- cheater99 has quit (Read error: Connection reset by peer).
23:43:21 <elliott> DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
23:43:22 <elliott> TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
23:43:22 <elliott> 0. You just DO WHAT THE FUCK YOU WANT TO.
23:43:25 <elliott> It's hard to not be compatible with that.
23:43:27 <Vorpal> elliott, it is based on BSD yeah
23:43:29 <elliott> (Also FSF-certified Free!)
23:43:44 <Vorpal> elliott, and the mix is absurd
23:43:47 <elliott> Vorpal: Right, then you can't remove the draconian BSD restrictions (such as requiring attribution).
23:43:54 <Vorpal> elliott, since the bulk of the code is the BSD code
23:43:56 <elliott> Vorpal: Hey, plenty of projects include BSD-licensed code but aren't BSD themselves, and the like. :p
23:44:02 <elliott> Admittedly generally not in the same file.
23:44:12 <Vorpal> elliott, the code that is not is basically main() + some linux specific functions
23:44:27 <elliott> I still feel kinda dirty planning to copyleft things.
23:44:38 <Vorpal> elliott, actually I split it in multiple files because I thought it would be larger than it turned out to be
23:46:52 <fizzie> Do a pulseaudio output option if you've run out of code to write. :p
23:47:16 <Vorpal> fizzie, ... what? Can it drive the pc speaker?
23:47:22 <elliott> fizzie: --lag-more
23:47:25 <elliott> fizzie: or --high-latency
23:47:41 <Vorpal> also, pc speaker or nothing
23:47:49 <fizzie> No, I just mean an emulation.
23:48:14 <Vorpal> fizzie, for non-x86?
23:48:27 <fizzie> Right, and for us "no speaker connected" folks. :p
23:48:28 <Vorpal> fizzie, also, shouldn't I use jackd then instead
23:48:36 <Vorpal> fizzie, well sucks to be you :P
23:48:47 <Vorpal> fizzie, /If/ I write anything it will be jackd
23:49:14 <fizzie> I don't think it really matters, since you would just be producing a PCM audio signal; anything that can play that back would be just fine, timing-wise.
23:49:23 <fizzie> It's not like the audio needs to be synchronized with anything.
23:49:47 <elliott> libao obviously
23:49:55 <fizzie> If you want to be a PC speaker purist, conduct a case study of a hundred PC speakers, then try to get as close to the same sound as possible.
23:49:57 <Vorpal> fizzie, actually I should procedurally generate a soundfont, load it into the sound card, and then play midi
23:50:03 <elliott> <Vorpal> fizzie, actually I should procedurally generate a soundfont, load it into the sound card, and then play midi
23:50:04 <elliott> MT-32.
23:50:10 <elliott> Make a PC speaker soundfont for an MT-32.
23:50:14 <elliott> It would be GLORIOUS.
23:50:18 <Vorpal> elliott, I would, except I don't have one to test with
23:50:23 <Vorpal> elliott, I only have a sb live
23:50:47 <fizzie> Doesn't ALSA have some sort of a PC speaker generic-PCM output driver? You could then run your emulated audio out via that. (It would probably sound quite horrible.)
23:51:02 <elliott> Vorpal: You can have mine (note: no, it cost me £200).
23:51:07 <elliott> Or was it £60.
23:51:08 <elliott> One of the wto.
23:51:13 <elliott> *two.
23:51:23 <elliott> fizzie: Awesome.
23:51:27 <Sgeo> Not the least bit creepy how easy it is to find my dad and step-mom's names
23:51:29 <elliott> fizzie: How far could you recurse it, I wonder.
23:51:29 <Sgeo> Not at all
23:51:35 <elliott> Sgeo: Indeed, Seth Gold.
23:51:39 <elliott> Easy-to-find names are a sign of creepiness.
23:51:43 <Vorpal> elliott, you have one!?
23:51:45 <Vorpal> elliott, awesome
23:51:59 <elliott> Vorpal: Yes. Also a theremin.;
23:52:01 <elliott> s/;$//
23:52:11 <Vorpal> elliott, is it a professional one
23:52:14 <elliott> Vorpal: Hooking up the MT-32 to an iMac didn't really work so well, though; I got it working, sort of.
23:52:21 <elliott> The theremin? Yes, it's a Moog.
23:52:23 <Vorpal> elliott, or one of those with a knob for one of the things
23:52:25 <Vorpal> elliott, wow
23:52:30 <elliott> Not their high-end model (that's *lots of money*), but yes.
23:52:34 <elliott> Got it off eBay.
23:52:43 <elliott> It's BLACK WOOD... which isn't really stylish, but there you go.
23:52:43 <Vorpal> elliott, practising much?
23:52:51 <elliott> Vorpal: No, the theremin is nearly impossible to play.
23:53:03 <Vorpal> elliott, I seen people play it well
23:53:03 <elliott> I'm willing to sell it :P
23:53:08 <Vorpal> elliott, it just require practise
23:53:12 <fizzie> elliott: You could pull out that ALSA's bit that converts the PCM signal into PC speaker programming, then use the emulation to turn that into a PCM signal, and then just iterate until it converges. (Well, except that it might well not converge or converge to something really boring; but at least a large number of time.)
23:53:15 <elliott> Vorpal: It needs a surgeon's hands.
23:53:24 <elliott> And that's not really something you can practice at.
23:53:49 <Vorpal> elliott, well I have a Roland FP-4 piano. Decent (but not state of the art)
23:54:03 <Vorpal> and I prefer to play that
23:54:08 <Deewiant> Where'd you get the MT-32?
23:54:25 <elliott> Deewiant: eBay too.
23:54:34 <Vorpal> elliott, what sort of connector do you use for it?
23:54:35 <elliott> Deewiant: You can't buy them new, and they don't really degrade, so. :p
23:54:40 <elliott> Vorpal: Audio. Analogue audio.
23:54:45 <elliott> Vorpal: Oh, theremin?
23:54:48 <elliott> Audio. Analogue audio.
23:54:49 <elliott> But MT-32 too.
23:54:52 <Vorpal> elliott, no the MT-32
23:54:55 <elliott> Right.
23:54:57 <elliott> It has a MIDI input and an audio out.
23:55:03 <Vorpal> elliott, ah
23:55:03 <elliott> The fat jack-style things.
23:55:15 <fizzie> Deewiant: Some things in life money can't buy -- for everything else there is eBay. (Paraphrased from that MasterCard ad.)
23:55:21 <Vorpal> elliott, is that the same as the normal circular one?
23:55:29 <Vorpal> elliott, or is it some other one
23:55:37 <Vorpal> elliott, for midi I mean
23:55:41 <elliott> Vorpal: http://en.wikipedia.org/wiki/TRS_connector
23:55:43 <elliott> Oh, the MIDI one.
23:55:46 <elliott> Dunno, I'll check in a minute.
23:55:48 <Vorpal> elliott, yes
23:55:49 <elliott> I have cables for it, FWIW.
23:55:51 <elliott> brb
23:55:54 <Vorpal> elliott, and how did you get that to work with a mac
23:56:05 <elliott> Vorpal: Via adapter, I think.
23:56:10 <Vorpal> elliott, ah
23:56:11 <elliott> brb
23:56:23 <Vorpal> I have a gameport<->midi cable
23:56:28 <Vorpal> that I can use with this sound card
23:56:33 <fizzie> I would certainly guess the usual DIN-5 if it's "jack-style".
23:56:53 <Vorpal> fizzie, I think he thought I asked about the audio
23:57:02 <Vorpal> anyway, midi over usb sucks
23:57:18 <Vorpal> no opto-isolation
23:57:48 <Vorpal> and also, as far as I know, less real time guarantees
23:58:37 <fizzie> What I think is funny is those hybrid "3.5mm analog stereo / optical S/PDIF" connectors. It's just like a regular stereo plug except there's basically a LED deep inside there.
23:59:20 <fizzie> (What will they think of next!)
23:59:34 <Vorpal> fizzie, to save on connectors?
23:59:38 <Vorpal> or what
23:59:55 <fizzie> Yeah, you only need one hole in the laptop or whatever.
23:59:55 -!- cheater99 has joined.
2010-12-25
00:00:04 <Vorpal> fizzie, I think my sb live card has S/PDIF
00:00:18 <Vorpal> but hm
00:00:22 <Vorpal> it is probably all dusty
00:00:25 <fizzie> The USB stick I have has one of those. There's a little piece of plastic that converts it into the usual optical S/PDIF connector: http://ecx.images-amazon.com/images/I/61JztQ1Y7eS._AA1500_.jpg
00:00:27 <Vorpal> since I never used that hole
00:00:46 <fizzie> Don't they tend to have some plastic covers in there?
00:01:13 <Vorpal> fizzie, there is S/PDIF listed in alsamixer, but I don't think I have any connector that isn't either 3.5 mm style or gameport
00:01:16 * Vorpal checks
00:01:30 <fizzie> Which hardware is this?
00:02:19 <Vorpal> fizzie, sb live 5.1
00:02:26 <Vorpal> fizzie, PCI card
00:02:38 <Vorpal> and indeed, only the connector styles I mentioned
00:02:40 <fizzie> My motherboard-integrated Intel HD Audio thing does (coaxial) S/PDIF via a header on the motherboard; had to get the coax connector back-panel plate separately. I guess something similar could be done on some sound cards too.
00:02:41 -!- cheater99 has quit (Read error: Connection reset by peer).
00:03:05 <Vorpal> fizzie, I'm pretty sure the card does /some/ digital output however
00:03:19 <fizzie> http://upload.wikimedia.org/wikipedia/commons/d/d0/Sound_Blaster_Live!_5.1.jpg -- there's something that says "SPDIF" up there.
00:03:43 <fizzie> I'm not entirely sure what the topmost orange connector is either, from this angle.
00:04:09 <Vorpal> fizzie, I could check the back...
00:04:15 <fizzie> Looks like another stereo plug in another image.
00:04:43 <Vorpal> fizzie, can't tell the symbol, it is under the case metal
00:04:54 <fizzie> "ANALOG (center and subwoofer)/DIGITAL OUT (front and rear SPDIF digital outputs) via 4-pole 3.5 mm minijack on rear bracket" says a spec sheet.
00:05:01 <fizzie> So it's actually another hybrid thing.
00:05:10 -!- Slereah has quit (Ping timeout: 272 seconds).
00:05:12 <Vorpal> fizzie, but an electrical sort?
00:05:20 <fizzie> "4-pole" sounds like that, yes.
00:05:32 <Vorpal> fizzie, I only every used green and pink (and gameport)
00:05:35 <Vorpal> ever*
00:08:13 <Vorpal> hm. fizzie you should write a midi->speaker string thingy
00:08:23 <Vorpal> so we can get the whole TOS on there
00:09:14 <fizzie> Right, with some strong-AI modules to understand the semantics and reconstruct the best possible rendition out of a polyphonic midi file.
00:10:43 <Vorpal> fizzie, well, I don't demand that
00:11:10 <fizzie> I don't know the speaker string syntax. Is there a spec for that?
00:11:18 <Vorpal> fizzie, sec
00:11:25 <Vorpal> fizzie, http://www.freebsd.org/cgi/man.cgi?query=speaker&apropos=0&sektion=0&manpath=FreeBSD+8.1-RELEASE&format=html
00:11:29 <Vorpal> fizzie, scroll down a bit
00:11:41 <Vorpal> fizzie, until you see a two column bit
00:11:58 <Vorpal> (though some of the text before and after is relevant too)
00:12:38 <fizzie> It did look quite BASICy indeed.
00:13:24 <Vorpal> fizzie, yeah I think it is similar, with some minor changes
00:13:47 <Vorpal> " The `octave-tracking' feature and the slur mark are new."
00:14:57 <Vorpal> "The MB, MF, and X primitives of PLAY are not useful in a timesharing environment and are omitted."
00:15:01 <Vorpal> I wonder what those did
00:15:45 <fizzie> MF/MB are probably "play in foreground/play in background" switches.
00:15:56 <Vorpal> and X?
00:16:11 <fizzie> And X defererences a pointer, basically. :p
00:16:15 <fizzie> http://zem.fi/~fis/qbc.html#QEw4MDNl
00:16:19 <Vorpal> fizzie, heh?
00:16:43 <fizzie> It's followed by a string representation of a variable's address, and it goes and executes that.
00:16:56 <fizzie> I guess you could also consider it a subroutine call.
00:17:01 <Vorpal> fizzie, why...
00:17:16 <fizzie> You don't need to construct long strings that way.
00:17:25 <Vorpal> fizzie, you could call PLAY several times?
00:17:49 <fizzie> Yes, but that way you can do a hierarchical string that includes other parts several times.
00:17:54 <Vorpal> hm
00:17:55 <Vorpal> okay
00:18:07 <Vorpal> fizzie, well not strange they don't want that, since it was done in the kernel
00:18:08 <fizzie> Note: I don't really know what it's for. The example given is pretty contrived.
00:18:22 <Vorpal> haha
00:19:19 <Vorpal> fizzie, now I want to play monkey island on the pc speaker. I know I seen that on youtube somewhere (it is probably in ~/tmp or maybe /mnt/old-system/home/anmaster/tmp or such
00:20:12 <Vorpal> ah found the MT-32 version of it
00:20:23 <Vorpal> which is awesome too
00:20:59 <Vorpal> wait, no, that is a different version of monkey island
00:21:15 <Vorpal> still, awesome music
00:23:36 <Vorpal> ah found the mt-32 one of the same game
00:23:47 <Vorpal> (as I had the pc-speaker one of)
00:25:46 -!- j-invariant has joined.
00:28:54 <Deewiant> http://www.youtube.com/watch?v=a324ykKV-7Y has a bunch of versions of the monkey island tune for the interested
00:30:47 <fizzie> When I was walking to a friend's graduation party thing, there was a dude at the local train station underpass playing the Monkey Island tune on a melodica.
00:31:50 <fizzie> (Actually it turned out the "dude" (which we only noticed really briefly, as we were in a hurry to get that party) was a quasi-friend of ours, who was also at the same graduation event thing too.)
00:32:23 <fizzie> (Also, we hadn't realized that and started to tell him an interesting story about someone playing the Monkey Island tune under the railway station while we passed by.)
00:32:25 <Vorpal> Deewiant, the one I thought of was http://www.youtube.com/watch?v=7DLoSAb1-bc
00:32:53 <Vorpal> fizzie, XD
00:33:18 <Vorpal> fizzie, you thought it was some beggar or such?
00:33:28 <fizzie> Well, I think they like to be called "street musicians".
00:33:33 <Vorpal> fizzie, ah.
00:33:40 <fizzie> But sure, though the choice of song did make us wonder.
00:33:51 <Vorpal> fizzie, yeah, those poor comp sci students
00:33:52 <fizzie> The "uh, it was actually I" realization was a bit awkwardly entertaining.
00:36:13 <fizzie> The song's a perennial favourite of everybody. I think I've seen a recording of Press Play On Tape performing it somewhere too.
00:36:28 <Vorpal> <Deewiant> http://www.youtube.com/watch?v=a324ykKV-7Y has a bunch of versions of the monkey island tune for the interested
00:36:29 <Vorpal> hm
00:36:41 <Vorpal> I thought MT-32 was a standalone box?
00:36:49 <Vorpal> and that card is FUCKING huge
00:37:14 <Deewiant> The LAPC-I is an MT-32 compatible card
00:37:17 <fizzie> They put it on an ISA card too, I think.
00:37:18 <fizzie> Right.
00:37:21 <Deewiant> That is an ISA card.
00:37:29 <fizzie> I didn't take a look.
00:37:30 <Sgeo> Is it really that acceptable for a language to make no distinction between x(5) and x=5?
00:37:41 <Vorpal> also... are they all from the same version of monkey island?
00:37:56 <Vorpal> I thought it was made for MT32
00:37:58 <Vorpal> -23*
00:37:59 <Vorpal> gah
00:38:01 <Vorpal> -32*
00:38:15 <Vorpal> so it shouldn't sound better on more recent hardware
00:38:20 <Deewiant> They are from the same
00:38:30 <Vorpal> Deewiant, then how can it sound better than MT-32?
00:38:31 <Deewiant> And, as typical for games of the time, it has different versions for different cards.
00:38:45 <Vorpal> Deewiant, yes quite. But some of them were made /after/ monkey island iirc
00:38:48 <Sgeo> http://www.youtube.com/watch?v=h6A0CsU3fh8
00:39:03 <Deewiant> And if you noticed the last annotation, the final one played ("CD audio quality" or whatever it was called) is from a different version
00:39:09 <Deewiant> But the ones before that are from the same.
00:39:15 <Vorpal> Deewiant, yes quite
00:39:21 <Vorpal> ah
00:39:24 <Vorpal> Deewiant, didn't noticed that
00:40:15 <Vorpal> Deewiant, and adlib was quite decent (unlike gameblaster) though nowhere near MT-32 of course
00:40:35 <fizzie> First two versions sound curiously unlike.
00:40:40 <Vorpal> fizzie, yeah...
00:41:00 <Vorpal> the ultrasound one is good, but I think the MT-32 is even better.
00:41:00 <fizzie> Not that there's a very good standard for the PC beeper, of course.
00:41:13 <fizzie> Card looks like a full-size ISA one.
00:41:25 <fizzie> I have a 256K add-on memory card of that size somewhere.
00:41:34 <Vorpal> and SB16 sounded bad
00:42:06 <Vorpal> fizzie, dude I believe in my computer case it would be inside the harddisk bay at that size!!
00:43:38 <fizzie> I don't think there's supposed to be *that* much difference between Adlib's OPL2 FM synthesis and SB16's OPL3; the latter just adds features. (Of course many things that play on SB16 are actually sampled stuff, I guess.)
00:43:50 <fizzie> (If that's in the video, I'm not that far yet.)
00:44:06 <Vorpal> fizzie, the MT-32 sounds better than the SB16
00:44:09 <Vorpal> by far
00:44:18 <fizzie> Well, *that*'s not surprising.
00:44:22 <Vorpal> fizzie, true
00:44:33 <Vorpal> the SCC-1 is nice too
00:44:54 <Vorpal> but the ultrasound is really bad considering it comes after the MT-32
00:45:19 <Vorpal> the SCC-1 is mainly crisper
00:45:37 <Vorpal> which I don't really think fits
00:45:47 <fizzie> I also have a GUS MAX somewhere; GUS is a rather PC-demoscene-famous thing. It's not a bad piece of hardware, compared to the similar-cost SB16.
00:45:54 <fizzie> Has some on-board memory for wavetabley stuff.
00:46:08 <fizzie> Tracker music players could do hardware-accelerated mixing on that.
00:46:17 <Vorpal> fizzie, right, but I don't really care about anything that sounds /worse/ than an MT-32 :P
00:46:31 <fizzie> That just depends what you play with it.
00:46:58 <Vorpal> fizzie, anything designed to make use of MT-32's capabilities :P
00:47:21 <Vorpal> (pc speaker is an exception)
00:47:40 <fizzie> I'm not entirely sure that's a fair benchmark.
00:47:48 -!- cheater99 has joined.
00:47:57 <fizzie> In unrelated news, the new Special Edition re-orchestrated re-played soundtrack doesn't sound half bad.
00:47:59 <Vorpal> (but the segment between pc speaker and MT-32 I find throughoutly boring)
00:48:11 <Vorpal> fizzie, oh? link?
00:48:23 <fizzie> It's that last thing in the video.
00:48:46 <Vorpal> fizzie, didn't it have the issue of not doing the proper transition-and-blend thingy?
00:48:52 <Vorpal> or was that monkey island 2 only?
00:49:10 <Vorpal> "iMUSE" I think it was called
00:50:07 <fizzie> Well, that sounds possible.
00:50:16 <fizzie> Since it's recorded-on-real-instruments stuff.
00:50:17 <Vorpal> fizzie, iirc elliott played it or something
00:50:31 <Vorpal> fizzie, basically you got lots of CD seeking even
00:51:19 <fizzie> I haven't actually played it. (Though I did try out that episodic what-was-it-called modern thing, which was I-guess-nice but nothing that much to, as they say, write home about.)
00:51:31 <Vorpal> fizzie, though if recoreded in *perfect* sync (note: impossible with real instruments) you could mix the channels
00:51:48 <Vorpal> fizzie, what episodic thing?
00:51:55 <fizzie> Tales of Monkey Island.
00:51:59 <fizzie> Telltale Games' thing.
00:52:24 <fizzie> "Free wovels! Get them while they're wovel!" (Heard from a wovel salesman in the game.)
00:53:44 <fizzie> Also there were some chuckle-worthy jokes about "U Tubes".
00:53:55 <Vorpal> fizzie, ... there is no excuse for that pun which doesn't even really work
00:54:09 <Vorpal> wait, misread it
00:54:14 <Vorpal> as "free wolves"
00:54:16 <Vorpal> somehow
00:54:22 <Vorpal> okay, now it makes more sense XD
00:54:48 <Vorpal> <fizzie> Telltale Games' thing. <-- never heard of that
00:55:10 -!- MigoMipo has quit (Read error: Connection reset by peer).
00:56:04 <fizzie> The company, or the game?
00:56:21 <Vorpal> fizzie, the phrase in the line I highlighted
00:56:30 <Vorpal> fizzie, I have no idea IF it is a company or a game
00:56:51 <fizzie> Telltale Games is the company, and Tales of Monkey Island is the game.
00:56:57 <Vorpal> ah
00:57:04 <Vorpal> fizzie, well neither then
00:57:49 <fizzie> They've done episodic-style modern adventure games into existing "franchises"; that Monkey Island game, and some Sam & Max stories, and I don't know what else.
00:59:42 <Vorpal> hm should I use the FreeBSD name in the BSD license
00:59:44 <Vorpal> or my own
00:59:49 <Vorpal> since it is based on freebsd code
00:59:58 <Vorpal> I mean in the line "The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project."
01:00:06 <Vorpal> (I do not plan to re-license it under GPL)
01:00:41 <Vorpal> fizzie, any idea?
01:02:03 <Vorpal> hm
01:02:59 <Vorpal> meh, I'll settle for something like:
01:03:01 <Vorpal> (In part) Copyright (c) 2010 Arvid Norlander. All rights reserved.
01:03:01 <Vorpal> (In part) Copyright (c) 1992-2010 The FreeBSD Project. All rights reserved.
01:03:19 <Vorpal> (the "all rights reserved" amuse me)
01:06:47 <Vorpal> elliott, fizzie: http://sporksirc.net/~anmaster/software/pcspeak.tar.xz
01:06:55 <Vorpal> if you want to play with the software
01:08:50 <elliott> <fizzie> The song's a perennial favourite of everybody. I think I've seen a recording of Press Play On Tape performing it somewhere too.
01:09:02 <elliott> They've done an *awesome* version of it segued into LeChuck's theme.
01:09:28 <elliott> <Deewiant> The LAPC-I is an MT-32 compatible card
01:09:37 <elliott> Deewiant: Proper compat or just one of those ones with its default soundfont?
01:10:13 <elliott> Can confirm that the PC speaker and Tandy ones are the same game.
01:10:32 <Deewiant> The Roland LAPC-I contains an MT-32 compatible synthesizer
01:10:49 <elliott> Also, you can't compare cards with the MT-32 based on one track, since the MT-32 is far more reprogrammable than any of the others.
01:10:53 <elliott> <Vorpal> fizzie, didn't it have the issue of not doing the proper transition-and-blend thingy?
01:11:06 <elliott> That's the CD version of MI1, but it didn't even have iMUSE; it was just slightly less smooth.
01:11:18 <elliott> MI2 has never been CD-soundtracked and was the first to use iMUSE.
01:11:23 <elliott> Special Edition != CD rerelease.
01:11:23 <Vorpal> elliott, what did you do to that line, it only highlighted /part/ of it
01:11:29 <Vorpal> right, it ended just after >
01:11:36 <elliott> <Vorpal> fizzie, basically you got lots of CD seeking even
01:11:43 <Vorpal> elliott, you did it again
01:11:44 <elliott> Was MI2 even released on CD when it came out?
01:11:47 <elliott> <Vorpal> fizzie, though if recoreded in *perfect* sync (note: impossible with real instruments) you could mix the channels
01:11:50 <elliott> iMUSE didn't mix any channels.
01:11:58 <Vorpal> but no longer
01:11:58 <elliott> It waited until an appropriate transition point and jumped to the appropriate transition.
01:12:01 <elliott> They were handmade.
01:12:05 <Vorpal> elliott, right
01:12:19 <elliott> I don't like the Special Edition theme; the main lead isn't pronounced enough.
01:12:25 <elliott> There's a Telltale Games guy on the esowiki, btw.
01:12:41 <elliott> Vorpal: just xchat copying colour codes for some reason
01:12:54 <Vorpal> elliott, but it only did it 2 out of 3 times
01:12:58 <elliott> Deewiant: Vorpal doesn't see annotations, re: <Deewiant> And if you noticed the last annotation, the final one played ("CD audio quality" or whatever it was called) is from a different version
01:13:05 <elliott> since he uses some youtube-dl thing, not flashl.
01:13:08 <elliott> *flash.
01:13:16 <Vorpal> elliott, and the modes of this channel should filter colour codes
01:13:19 <elliott> Vorpal: I think it's based on the precise moon-phase.
01:13:25 <elliott> Also, no, annoying colours are GREAT!
01:13:26 <Vorpal> elliott, aaah
01:13:32 <elliott> Vorpal: Aaaaah?
01:13:40 <Vorpal> elliott, (moon phase)
01:13:47 <fizzie> Irssi shows "< elliott> H<HVorpalH>H fizzie, ..." with inverse-video Hs.
01:13:54 <Vorpal> fizzie, hah
01:14:18 <elliott> Vorpal: Have you ever actually played the Monkey Island games?
01:14:31 <hagb4rd> i luv them
01:14:35 <Vorpal> elliott, no, it is on my todo list however
01:14:51 <Vorpal> elliott, but I never really liked point and click
01:14:58 <Vorpal> elliott, I prefer more free form in general
01:15:14 <Vorpal> elliott, open world I love (ev override is very open world)
01:15:16 <hagb4rd> for 5: where is the fuel for the chainsaw?
01:15:44 <elliott> 1 is great (but short; once you've beaten it once it only takes like 2-3 hours to do), 2 is probably the best adventure game ever written, and 3 (Curse of) is excellent too (although basically just ignore-retconned 2's ending and didn't involve Ron Gilbert; it is still good, however; note that it's 640x480x8. ScummVM can play it.) 4 (Escape from) is utter terrible keyboard-controlled 3D dreck and should be avoided at all costs.
01:15:51 <Vorpal> and there is the craziness of the puzzles too
01:15:52 <elliott> Tales I haven't played yet.
01:15:56 <Vorpal> I prefer RPG in general
01:16:05 <elliott> Vorpal: Of course you use the rubber chicken with a pulley in the middle to cross over the chasm ...
01:16:07 <elliott> What are you, an idiot?
01:16:19 <elliott> (Note: Actual spoiler.)
01:16:28 <Vorpal> elliott, I heard about that example before
01:16:33 <Vorpal> so I'm not spoiled by you
01:17:10 <Vorpal> elliott, but yeah I don't really enjoy exploring the combinatorial explosion of all items in all places at all times
01:17:16 <Vorpal> which is what it seems like pretty much
01:17:20 <elliott> Vorpal: Not really.
01:17:23 <Vorpal> unless you use spoilers
01:17:26 <elliott> You just have to sense a pun when one comes along.
01:17:37 <elliott> The combine-X-with-Y approach only happens when you're really stuck.
01:17:51 <Vorpal> elliott, so is "<elliott> Vorpal: Of course you use the rubber chicken with a pulley in the middle to cross over the chasm ..." from a pun?
01:18:03 <elliott> Vorpal: To be fair, it comes with the pulley.
01:18:09 <elliott> And there's a line conveniently crossing the chasm.
01:18:21 <elliott> But, okay, so that one isn't terribly intuitive, but it /is/ lampshaded in the actual game. :p
01:18:26 <Vorpal> elliott, what about the rubber chicken?
01:18:37 <Vorpal> I mean, the pulley, sure
01:18:40 <elliott> It comes with the pulley.
01:18:49 <Vorpal> elliott, which seems rather weird
01:18:55 <elliott> Yes, well.
01:19:00 <elliott> The Voodoo Lady is weird.
01:19:00 <Vorpal> I never seen a rubber chicken with a pulley built in before
01:19:16 <Vorpal> come to think of it...
01:19:21 <Vorpal> I never seen a rubber chicken
01:19:24 <Vorpal> rubber ducks sure
01:19:26 <Vorpal> but not chicken
01:19:41 <fizzie> They serve different roles.
01:19:54 <elliott> http://media.photobucket.com/image/rubber%20chicken%20with%20a%20pulley%20in%20the%20middle/ErDracu/Pollo.jpg
01:19:56 <elliott> WHAT NOW
01:19:58 <elliott> SCIENCE
01:20:03 <fizzie> For one thing, rubber chickens are far more floppy and less bath-toyey.
01:20:10 <elliott> Perfect for crossing chasms.
01:20:30 <Vorpal> elliott, not science. Just... technology
01:20:37 <elliott> It disproves science.
01:20:43 <Vorpal> elliott, so how much load can it take?
01:20:57 <elliott> Vorpal: Approximately one (1) Guybrush Threepwood./
01:20:59 <elliott> s/\/$//
01:21:12 <Vorpal> elliott, I meant the real-world one
01:21:25 <elliott> Vorpal: Approximately one (1) Guybrush Threepwood.
01:21:34 <elliott> (Turns out they live in a world where everything is tiny.)
01:21:49 <Vorpal> har
01:22:57 <elliott> Was Tales really released in 2009? jeez.
01:23:37 <hagb4rd> painted with deluxe paint.. btw ;)
01:23:47 <fizzie> Tales wasn't relatively speaking too far on the "horrible annoying puzzlery" scale, but it did have its share. (And personally I am most annoyed by those cases where I clearly know what to do, it has a reasonable probability of being the right thing, but I just can't seem to figure out how to communicate that to the game through the UI.)
01:24:15 <hagb4rd> brushguy
01:24:45 <Vorpal> fizzie, yeah that sucks
01:24:46 <elliott> indeed
01:24:49 <elliott> named after guy.brush
01:24:59 <elliott> since deluxe paint used .brush
01:25:10 <hagb4rd> it did
01:25:57 <fizzie> Guybrush Threepwood, Mighty Pirate(TM).
01:26:04 <hagb4rd> one of the first apps using thi terminology, as far as i know
01:26:09 <Mathnerd314> elliott: do you still think I wasted your time?
01:26:16 <Vorpal> why on earth is niceness value so backwards. In other words: why does *nix use an inverse of the more straight-forward concept "priority"?
01:26:20 <hagb4rd> wanna buy a map? *g
01:26:23 <Vorpal> elliott, ^
01:26:24 <elliott> Mathnerd314: Everyone always wastes my time!
01:26:36 <elliott> Vorpal: So they could use C's default initialisation to 0? :)
01:26:44 <elliott> OK, so that would work with priority too I guess.
01:26:50 <elliott> Vorpal: I suspect positive nice values came much before negative.
01:26:57 <Vorpal> hm
01:27:04 <Mathnerd314> elliott: ok...
01:27:05 <fizzie> Also it's nicer.
01:27:11 <Vorpal> elliott, so they started with lower-valued priority?
01:27:25 <elliott> probably, yes
01:27:35 <Vorpal> fizzie, you are trespassing on oerjan's territory!
01:28:40 <Mathnerd314> elliott: so is that a yes?
01:28:53 <elliott> Mathnerd314: it's file_not_found
01:29:02 <Vorpal> elliott, I think I might want to write 4'33" for the pc speaker
01:30:11 <Mathnerd314> Vorpal: it's called "mute button"
01:30:16 <elliott> Vorpal: That's 273 seconds. So, if ...
01:30:21 <elliott> How many Hz does one 386 cycle take?
01:30:30 <elliott> Rather.
01:30:37 <Vorpal> elliott, actually the time tempo to give it
01:30:41 <fizzie> Non-audible-frequency beeps were a common-ish way of doing sub-second resolution delays in some system.
01:30:44 <elliott> How many one-cycle instructions can you fit into one second of 386 execution?
01:30:45 <Vorpal> I just need to figure out*
01:30:50 <Vorpal> got dropped from it
01:30:50 <elliott> At 12 MHz.
01:31:05 <Vorpal> elliott, presumablly 1/12 MHz?
01:31:11 <Vorpal> that is
01:31:18 <Vorpal> 1/(12 MHz) btw
01:31:34 <elliott> Vorpal: Right. So 83 ns for one instruction.
01:31:44 <Vorpal> elliott, assuming it takes one cycle
01:32:15 <Vorpal> elliott, anyway, the tool doesn't work like that
01:32:38 <elliott> Vorpal: OK, 2^23 nops on a 12 MHz 386.
01:32:44 <elliott> Assuming a 1-cycle nop.
01:32:52 <elliott> That's close to 4'33", except as a power of two.
01:33:08 <Vorpal> elliott, ... but how does that help me?
01:33:10 <elliott> (Man, even 386s are /fast/.)
01:33:17 <elliott> Vorpal: Well, you can do it without even touching the PC speaker!
01:33:25 <Vorpal> elliott, but I don't have a 386
01:33:32 <elliott> That way you can listen to 4'33" even if you don't have a PC speaker to listen to it with.
01:33:50 <fizzie> "Early in production, Intel discovered a bug that could cause a system to unexpectedly halt when running 32-bit software. Not all of the processors already manufactured were affected, so Intel tested its inventory.
01:33:56 <fizzie> Processors that were found to be bug-free were marked with a double-sigma (ΣΣ), and affected processors were marked "16 BIT S/W ONLY". These latter processors were sold as good parts, since at the time 32 bit capability was not relevant for most users. Such chips are now extremely rare."
01:34:04 <fizzie> That's so very nice.
01:34:12 <elliott> That's where 3-core AMDs come from.
01:34:19 <elliott> 4-core AMDs born with Down's syndrome.
01:34:22 <Vorpal> elliott, here is the easy version: "". Note: program exits right away and it continues playing in background
01:34:36 <elliott> Vorpal: But how will I know when to stop listening?
01:35:01 <fizzie> It's a bit like the "only connections to IP addresses inside Finland" cheaper-rate thing our ISP used to offer.
01:35:07 <Vorpal> elliott, use a wall clock
01:35:20 <elliott> http://en.wikipedia.org/wiki/Wall_clock_time
01:35:23 <Vorpal> fizzie, so no google for example
01:35:25 <elliott> Vorpal: Yes, but I need a process that runs for 4'33" to do that.
01:35:30 <elliott> Vorpal: Which my example gave.
01:35:37 <elliott> <Vorpal> fizzie, so no google for example ;; I doubt Google existed then
01:35:41 <Vorpal> ah
01:35:43 <Vorpal> true
01:35:44 <fizzie> Vorpal: It was around 1991, so no Google anyway.
01:35:53 <Vorpal> fizzie, aaah THAT far back
01:35:59 <fizzie> (Disclaimer: Year is purely guesswork.)
01:36:06 <elliott> 1991, before the dinosaurs got wiped out.
01:36:09 <elliott> When Jesus roamed the Earth
01:36:13 <Vorpal> elliott, oh?
01:36:22 <Vorpal> elliott, he was long lived then
01:36:31 <Vorpal> of we have exponential year length
01:36:39 <elliott> http://farm1.static.flickr.com/172/431306643_528c65a6b3.jpg
01:36:55 <Vorpal> elliott, ...
01:37:34 <hagb4rd> elliot: "Brushes can be cut from the background by using the box, freehand, or polygon selection tools. They can then be used in the same manner as any other brush or pen. This functionality is simpler to use than the "stamp" tool of Photoshop or Alpha Channels as provided in later programs. Brushes can also be rotated and scaled, even in 3D. After a brush is selected, it appears attached to the mouse cursor,
01:37:34 <hagb4rd> providing an exact preview of what will be drawn. This allows precise pixel positioning of brushes, unlike brushes in Photoshop CS3 and lower, which only show an outline." --wikipedia, on the amiga version of deluxe paint (1985!) [appendix]
01:37:45 <Vorpal> ooh found a quickcam in a box
01:37:49 <Vorpal> I wonder if it works with linux
01:37:56 <Vorpal> (logitech quickcam express)
01:38:05 <Vorpal> (one of those with a pyramid base)
01:38:15 <fizzie> It's popular enough to probably do.
01:38:22 <Vorpal> hm
01:38:28 <hagb4rd> i loved it *sigh
01:38:36 <Vorpal> hagb4rd, loved what?
01:38:43 <Vorpal> fizzie, some googling suggests a out of kernel driver, which seems unmaintained
01:38:50 <hagb4rd> deluxe paint
01:38:56 <Vorpal> hagb4rd, never heard of it
01:38:57 <fizzie> Quickcam-in-a-box, sounds like a trademark.
01:39:27 <fizzie> Vorpal: Well, you were a mac guy, weren't you? (I ay misremember.)
01:39:30 <Vorpal> "This functionality is simpler to use than the "stamp" tool of Photoshop or Alpha Channels as provided in later programs."
01:39:35 <Vorpal> hagb4rd, I see an issue here
01:39:58 <Vorpal> hagb4rd, mostly in that it won't 1) do blending very well 2) follow where you drag the mouse
01:40:02 <elliott> <Vorpal> ooh found a quickcam in a box
01:40:03 <elliott> <Vorpal> I wonder if it works with linux
01:40:03 <elliott> <Vorpal> (logitech quickcam express)
01:40:03 <elliott> <Vorpal> (one of those with a pyramid base)
01:40:07 <elliott> I HAD ONE OF THOSE OMG.
01:40:12 <elliott> Such shitty quality.
01:40:16 <Vorpal> elliott, it's usb
01:40:18 <hagb4rd> vorpal: a painting app, i remember from the amiga, with quite innovative, and impressing func.
01:40:20 <Vorpal> and yes shitty quality
01:40:33 <Vorpal> hagb4rd, ah, so not for retouching photos then
01:41:03 <hagb4rd> ithttp://en.wikipedia.org/wiki/Deluxe_Paint#Functionality
01:41:04 <elliott> Vorpal: Also, careful with what you say about Deluxe Paint.
01:41:08 <hagb4rd> sry
01:41:08 <elliott> http://ui28.gamespot.com/475/full20040105092056_2.gif <-- It produced things like this.
01:41:19 -!- cheater99 has quit (Read error: Connection reset by peer).
01:41:21 <hagb4rd> http://en.wikipedia.org/wiki/Deluxe_Paint vorpal
01:41:26 <Vorpal> elliott, okay, good for drawing
01:42:01 <elliott> "the character's name derived from the file used to store his image data. Contrary to popular belief however, the original source sprite was not named "guy.brush" as the file extension used was ".bbm" and not ".brush". The file was in fact named "guybrush.bbm", the "brush" portion of the file name being included by the artist behind the character, Steve Purcell." <-- aww
01:42:03 <elliott> OH WELL
01:43:29 <hagb4rd> aye :)
01:44:00 <elliott> http://www.effectgames.com/demos/canvascycle/?sound=1 ;; these are beautiful btw, colour cycling
01:44:04 <elliott> (turn sound on)
01:44:23 <fizzie> Vorpal: gspca (which is in mainline kernel nowadays) supports at least some hw revisions of quickcam express.
01:44:37 <Vorpal> fizzie, oh nice
01:44:44 <Vorpal> fizzie, will try that when I recompile kernel
01:44:46 <Sgeo> Who is Pull?
01:44:48 <Vorpal> (going to anyway)
01:44:54 <elliott> Sgeo: ?
01:44:55 <Vorpal> Sgeo, what?
01:45:11 * Sgeo is being silly. Look at the image of the game
01:45:15 <Vorpal> or wait
01:45:21 <Vorpal> *tries on ubuntu box*
01:45:23 <Vorpal> ah
01:45:30 <Vorpal> fizzie, so... what program does one use then?
01:45:52 <fizzie> /* QuickCam Express */
01:45:52 <fizzie> {USB_DEVICE(0x046d, 0x0840), .driver_info = BRIDGE_STV600 },
01:46:05 <elliott> Vorpal: Anything? Cheese is popular for photo/video-taking, I gathe.r
01:46:07 <elliott> *gather.
01:46:09 <fizzie> You can lsusb to see if it has those ids.
01:46:22 <j-invariant> elliott: are there any games iwth graphics like that throughout?
01:46:26 <fizzie> Just dmesg for v4l messages about finding a new device. :p
01:46:33 <Vorpal> fizzie, fizzie nop, 0x0870
01:46:34 <elliott> j-invariant: On the Amiga, I would expect so.
01:46:41 <Vorpal> fizzie, same for the first id
01:46:48 <j-invariant> I want to play them
01:46:49 <elliott> j-invariant: Perhaps none quite so beautiful,t hough; they look quite high-res.
01:47:04 <fizzie> Well, it could still be compatible. Or handled by something else.
01:47:11 <elliott> j-invariant: btw do you know about IΞ?
01:47:21 <Vorpal> fizzie, hm
01:47:25 <j-invariant> no what is that
01:47:37 <fizzie> /* Dexxa WebCam USB */
01:47:38 <fizzie> {USB_DEVICE(0x046d, 0x0870), .driver_info = BRIDGE_STV602 },
01:47:48 <fizzie> That's in the same list.
01:47:59 <Vorpal> fizzie, aah
01:48:04 <elliott> j-invariant: a really awesome dependently typed lambda calculus extension that does it in a totally different way to everything else
01:48:10 <elliott> j-invariant: see these posts (I haven't found a better source):
01:48:14 <fizzie> Marketing names are of course always pretty random.
01:48:19 <elliott> http://lukepalmer.wordpress.com/2009/02/18/dependent-types-are-ridiculously-easy/
01:48:22 <elliott> http://lukepalmer.wordpress.com/2009/03/25/system-ig-semantics/
01:48:28 <elliott> http://lukepalmer.wordpress.com/2009/04/12/some-constructions-in-ixi/
01:48:33 <elliott> http://lukepalmer.wordpress.com/2009/04/29/dana-actual-progress/
01:48:35 <elliott> http://lukepalmer.wordpress.com/2009/06/06/recursive-types-in-ixi/
01:48:41 <elliott> wish someone other than luke talked about it though :P
01:48:46 <elliott> j-invariant: oh you can ignore the system-ig-semantics one...
01:48:51 <elliott> that's ig not iXi
01:49:06 <j-invariant> im really in love with this color cycling stuff :(
01:49:24 <j-invariant> someone should make a game with these graphics
01:49:35 <elliott> it's really cool because the type system is sort of, to the side
01:49:38 <elliott> j-invariant: that would be awesome
01:49:45 <elliott> i'm nowhere near a good enough artist to though :P
01:49:48 <Vorpal> the image quality: aieee
01:50:21 <elliott> j-invariant: the problem is that palette cycling only works for some things
01:50:24 <elliott> so you can't do all animation withi t
01:50:31 <elliott> *with it
01:50:52 <elliott> j-invariant: and also the way some of these are done you'd have very little palette left ... that is, on "authentic" hardware
01:51:08 <fizzie> I have some el-cheapo webcam which for some reason worked a lot better in Windows than in Linux for non-daylight levels. I suspect some sort of amplifier AGC thing not being handled properly.
01:51:33 <elliott> j-invariant: anyway you should read those posts about i\Xi, it's a really cool system
01:51:48 <elliott> the posts get better as you go down :p
01:52:04 <elliott> j-invariant: it has things like a universal set ... but is still consistent-looking
01:52:11 <elliott> *the universal set, I suppose
01:54:23 <Vorpal> <j-invariant> im really in love with this color cycling stuff :( <--- what colour cycling?
01:54:52 <Vorpal> fizzie, ah yes mine seems to have some issues in here too
01:55:01 <j-invariant> Vorpal: http://www.effectgames.com/demos/canvascycle/?sound=1
01:55:03 <elliott> Vorpal: the one i linked.
01:55:07 <elliott> note: requires js, best with sound turned on
01:56:00 <Vorpal> elliott, heh, cool
01:56:04 <elliott> "But there's also a case to be made that we all *really really suck* at
01:56:04 <elliott> a game we joined under a horridly stupid misunderstanding of what it
01:56:05 <elliott> was all about, and that this is actually still the first era." -- teucer, talking at the end of B's supposed 7th (I think) era
01:56:05 <Vorpal> but where does the cycling come into it
01:56:13 <elliott> Vorpal: it's done entirely by changing the entries in a palette table
01:56:17 <elliott> the actual pixel values stay the same
01:56:22 <elliott> they're just mapped to different RGBs with the palette table
01:56:30 <elliott> (this is how you did it on actual hardware, very common)
01:56:44 <Vorpal> elliott, they change it midway through or such?
01:56:52 <elliott> Vorpal: it changes every frame
01:56:55 <Vorpal> ah
01:56:56 <elliott> that's what makes it look like it's animated
01:57:00 <elliott> they never touch the actual image
01:57:06 <elliott> just the palette
01:57:13 <Vorpal> aha
01:57:29 <elliott> "
01:57:29 <elliott> Pragmatism is Agora's way of ensuring stability. B's is emergencies -
01:57:29 <elliott> if things are breaking down, we have an emergency."
01:57:36 <Vorpal> elliott, if doing it through the middle of a refresh you could get more colours maybe
01:57:48 <elliott> Vorpal: Possibly. That would be a bitch though. :p
01:57:54 -!- cheater99 has joined.
01:58:07 <elliott> "As for the present situation with the 2E issue, I'm gonna do what we
01:58:07 <elliott> always do: enumerate the Woobleverses and try to recombine and/or
01:58:07 <elliott> destroy as many as possible."
01:58:11 <elliott> Gee, B, what do you wanna do tonight?
01:58:26 <elliott> The same thing we do every night, players -- try to figure out a consistent gamestate!
01:58:44 <elliott> ALTERNATIVELY
01:58:51 <elliott> The same thing we do every night, players -- have an Emergency!
02:00:11 <j-invariant> elliott: what's good about that XI thing?
02:00:12 -!- cheater99 has quit (Read error: Connection reset by peer).
02:00:20 <elliott> j-invariant: it's just cool :P
02:00:25 <elliott> j-invariant: i think it's more elegant than regular type systems
02:00:29 <elliott> j-invariant: since you don't need the concept of a type
02:00:31 <elliott> you just have predicates
02:00:37 <elliott> it's sort of "more integrated"
02:01:51 <Vorpal> elliott, do you watch youtube in the browser
02:01:52 <Vorpal> ?
02:02:03 <Vorpal> elliott, if so, does sound and video sync properly for you?
02:02:34 <elliott> Vorpal: Yes, and yes. It didn't use to because of no native x86-64 player, but it works now.
02:02:47 <elliott> (I'm using the native x86-64 Flash.)
02:02:53 <Vorpal> elliott, but I thought there wasn't a native one currently?
02:03:12 <elliott> Vorpal: there is, I don't think it's totally "final" though, but Debian's package uses it... at least on squeeze
02:03:20 <Vorpal> heh
02:03:34 <Vorpal> elliott, I get perfect sync in mplayer btw
02:03:42 <elliott> Yes, well, that's hardly surprising.
02:03:46 <Vorpal> elliott, :P
02:03:52 <Vorpal> elliott, and I have for the past years
02:04:04 <elliott> Vorpal: I didn't use Linux the past years.
02:04:12 <Vorpal> true
02:04:13 <elliott> In OS X, btw, everything syncs up perfectly, but Flash likes to take 100% of the CPU.
02:04:24 <elliott> I am, incidentally, not planning to run Flash on my new laptop. :p
02:04:27 <Vorpal> elliott, does it under linux (take 100%?)
02:04:33 <elliott> Vorpal: No.
02:04:38 <elliott> Adobe just really hate Steve Jobs.
02:04:49 <Vorpal> elliott, I assume you will use linux on that air?
02:05:11 <elliott> I'm planning to dual-boot it. I can't throw away OS X because of EFI updates and, well, it is nice in some ways.
02:05:28 <elliott> But I'm gonna stick Ubuntu on it. :p
02:05:48 <elliott> Not sure how much Kitten will like such foreign hardware.
02:05:51 <Vorpal> elliott, without or with flash?
02:06:03 <elliott> Who knows :p
02:06:03 <Vorpal> elliott, uh, couldn't you make kitten support it?
02:06:18 <elliott> Vorpal: Yes, but even Ubuntu's support was flaky as of a year or two ago.
02:06:21 <elliott> (For Macs.)
02:06:24 <Vorpal> elliott, elilo?
02:06:30 <elliott> Vorpal: Nobody uses elilo :p
02:06:30 <Vorpal> or grub2?
02:06:36 <elliott> GRUB 2 wasn't stable then.
02:06:50 <Vorpal> elliott, well, people used elilo when grub2 didn't yet exist iirc
02:08:57 <elliott> The BIOS emulation is the most common thing to do, I think
02:08:59 <elliott> *think.
02:09:02 <elliott> Since that's automatic.
02:09:33 <Vorpal> elliott, bootcamp?
02:09:38 <Vorpal> or what?
02:09:58 <Vorpal> elliott, also iirc it works well with freebsd
02:10:00 <Vorpal> (EFI that is)
02:10:09 <elliott> Vorpal: Boot Camp is just the marketing name for (1) an EFI update that added BIOS emulation, and (2) a tool that partitions your drive for you then reboots.
02:10:15 <elliott> (1) is the important thing here.
02:10:45 <Vorpal> elliott, ah, so how does EFI know if you want BIOS emulation for a given partition?
02:11:15 <elliott> Vorpal: It ... doesn't; it just starts emulatin' that thar BIOS if it looks like the bootloader wants a BIOS. I'm not sure how it works. Maybe EFI has different boot sectors.
02:12:04 <Vorpal> elliott, I presume you still have to deal with GUID partition tables?
02:12:15 <elliott> Vorpal: Well, "deal"; (GNU) fdisk supports them.
02:12:19 <elliott> (Or was it GNU?)
02:12:23 <Vorpal> elliott, the kernel needs to support it
02:12:36 <Vorpal> elliott, I think parted handles it too btw
02:12:43 <elliott> Right, I meant parted.
02:13:02 <Vorpal> is parted gnu?
02:13:53 <elliott> I think so.
02:13:56 <elliott> Yes.
02:14:01 <Vorpal> elliott, but... it is good?
02:14:11 <elliott> Well, I wouldn't go that far!
02:14:21 <Vorpal> elliott, it actually is
02:14:34 <Vorpal> elliott, with gparted it is a bliss compared to fdisk
02:14:43 <elliott> I like fdisk.
02:14:48 <Vorpal> wait, it is tricky to edit partition type manually from gparted
02:14:49 <elliott> The commands are shorter. :p
02:14:51 <Vorpal> so that lacks
02:14:57 <Vorpal> not sure about from parted
02:15:24 <Vorpal> elliott, I ended up having to use fdisk to touch up the partition types afterwards a few times
02:16:39 -!- cheater99 has joined.
02:17:29 <elliott> fizzie: Vorpal: http://www.youtube.com/watch?v=mYZXNVHVfhc The excellent Press Play On Tape Monkey Island theme / LeChuck's theme thing.
02:19:08 <Vorpal> elliott, decent performance
02:19:27 <elliott> The LeChuck part is better IMO.
02:19:35 <Vorpal> elliott, but not same as the intro melody iirc?
02:19:36 <elliott> But then, LeChuck's theme is /really/ catchy.
02:19:40 <Vorpal> elliott, some minor variations
02:19:40 -!- cheater99 has quit (Read error: Connection reset by peer).
02:19:43 <elliott> Vorpal: Indeed not; it changes at 1 minutes something.
02:20:01 <Vorpal> elliott, well even before that
02:20:13 <elliott> Vorpal: No, all that's the actual theme.
02:20:19 <Vorpal> elliott, hm
02:20:35 <Vorpal> elliott, I prefer monkey island 2 theme personally
02:20:52 <elliott> The one I linked gets rather metal at the end. :p
02:21:02 <Vorpal> elliott, yeah....
02:21:08 <Vorpal> elliott, I doubt it does that in the game?
02:21:15 <elliott> No ... but it totally should.
02:21:21 <elliott> All the game songs loop cleanly. :p
02:21:32 <Vorpal> elliott, wouldn't it be anachronistic?
02:22:18 <elliott> Vorpal: Almost everything in MI2 is anachronistic. Observe: http://www.mrbillsadventureland.com/reviews/m-n/monkeyR/stans1.jpg
02:22:24 <Vorpal> elliott, I have to say I prefer the game theme song (even discarding the metal bit)
02:22:27 <elliott> (Also "Ask me about LOOM(tm).")
02:23:03 <Vorpal> hah
02:23:06 <Vorpal> elliott, LOOM?
02:23:10 <elliott> The game.
02:23:20 <elliott> There's a guy who gives you a sales pitch for it in the SCUMM Bar.
02:23:33 <elliott> (SCUMM would also count as an anachronism, except it can sort of pass as not being one.)
02:25:59 <Vorpal> SCUMM not being the VM?
02:28:22 <elliott> Vorpal: SCUMM = Script Creation Utility for Maniac Mansion, the engine used for Maniac Mansion and then the Monkey Island games.
02:28:26 <elliott> Along with every other LucasArts adventure game.
02:28:37 <elliott> ScummVM is just a program that runs SCUMM games... along with several other engines, but :P
02:30:36 <Vorpal> <elliott> Along with every other LucasArts adventure game. <-- http://en.wikipedia.org/wiki/GrimE
02:31:04 <elliott> Vorpal: Yes, well, up to then.
02:31:12 <Vorpal> elliott, quite so
02:31:12 <elliott> Vorpal: To be fair, only one good GrimE game was ever released.
02:31:19 <Vorpal> elliott, oh?
02:31:24 <Vorpal> elliott, which one?
02:31:25 <elliott> (Grim Fandango; the only other was Escape from Monkey Island, which was beyond terrible.)
02:31:46 <elliott> Grim Fandango is probably the #1 or #2 best adventure game ever, though -- and that's *despite* the keyboard-arrow-button controls.
02:31:53 <Vorpal> elliott, then what came after GrimE?
02:31:54 <elliott> Which are *terrible*, and yet it still comes out on top for being just that good.
02:32:00 <elliott> Vorpal: Nothing; LucasArts stopped making adventure games.
02:32:07 <elliott> Telltale have their own thing, but that's years later.
02:32:10 <Vorpal> ah
02:32:25 <elliott> LucasArts pretty much just do Star Wars games... well, until the two Special Edition rereleases of Monkey Island.
02:33:41 <elliott> Seriously, how do you move XChat tabs. Eurgh.
02:33:48 <elliott> I can't get #esoteric back in its rightful place.
02:34:29 <Vorpal> elliott, when I use xchat I use the tree list view
02:34:33 <Vorpal> and sorted by name
02:34:59 <elliott> Vorpal: Yes, well, I'm using tabs.
02:36:46 -!- cheater99 has joined.
02:38:17 <j-invariant> elliott: http://coq.pastebin.com/sjjga8Uj
02:38:59 <j-invariant> this looks like a nice way to bootstrap, just set up enough machinary so that you can automatically prove equations - then start developing the theory
02:39:17 -!- cheater99 has quit (Read error: Connection reset by peer).
02:39:35 <elliott> #
02:39:35 <elliott> Section PublicService.
02:39:40 <elliott> j-invariant: make this "Section Socialism."
02:39:42 <elliott> :D
02:39:45 <j-invariant> hehe
02:39:50 <elliott> yeah that looks much nicer
02:39:59 <j-invariant> it would be a lot more effective if it took equations like fg = id into account (rather than just solving associativity) HINT HINT elliott
02:40:27 <j-invariant> im just saying that because I don't know how to implement it :/
02:41:10 * Sgeo may switch to Pigdin from Digsby
02:41:12 <elliott> j-invariant: you think *I* know? i'm an amateur :D
02:41:13 <j-invariant> elliott: look at line 314 though. I need to prove a complicated equation, so I name the symbolic category - ask it for the proof, then functor map it into MY category
02:41:44 <j-invariant> makes the proof so much easier
02:41:50 <elliott> yeah it looks awesome
02:41:54 <elliott> i should learn category theory properly
02:41:59 <Sgeo> Features I need: To know when a particular person goes online
02:42:09 <Sgeo> And more importantly right now, a log of when everyone goes on and offline
02:42:16 <elliott> <Sgeo> Features I need: To know when a particular person goes online
02:42:18 <elliott> Um, Pidgin does that ...
02:42:20 <Sgeo> A bit late for that now
02:42:28 <elliott> <Sgeo> And more importantly right now, a log of when everyone goes on and offline
02:42:29 <j-invariant> elliott: this is whatt I am using mostly http://www.scss.tcd.ie/Edsko.de.Vries/ct/catsters/linear.php
02:42:30 <Sgeo> elliott, I know. Reread what I wrote
02:42:33 <elliott> Uhh, it might do th-- why do you want that.
02:42:39 <j-invariant> elliott: but programming it helps a LOT
02:43:09 <Sgeo> My friend's gf is worried about him, he was supposed to meet up with her, asked when I last spoke with him
02:43:30 <Vorpal> Sgeo, do you mean on irc?
02:43:37 <Sgeo> Vorpal, MSN
02:43:38 <elliott> Vorpal: Nobody uses IRC.
02:43:40 <Vorpal> oh
02:43:55 <Vorpal> elliott, ... your statement is absurd given the medium of it's transmission
02:44:12 <elliott> Vorpal: You know what I mean, though.
02:44:26 <Vorpal> elliott, no one non-tech savey
02:44:37 <Vorpal> (% typos)
02:44:46 <Sgeo> Eh, some tech morons manage to get on sometimes
02:45:21 <Vorpal> Sgeo, rare though
02:45:31 <Vorpal> at least in channels like this
02:45:34 <Vorpal> #ubuntu is another thing
02:46:11 <j-invariant> elliott: right now I can automatically prove all equations of the form f(g(1h)1)(i(j1)1)k = (f1g)((1(h1))(il))k (for example) because they both get reduced to f(g(h(i(j(k1)))))
02:46:39 <elliott> j-invariant: that is really awesome ... can coq even do that normally?
02:46:45 <j-invariant> elliott: but it would be useful to be able to add reductions like pq --> 1 so that it could prove stuff like pp1qq = 1
02:47:13 <j-invariant> elliott: well you can do it without category theory, but it's the "same thing" really
02:47:22 <j-invariant> you have to program it of course
02:47:37 <elliott> <j-invariant> elliott: but it would be useful to be able to add reductions like pq --> 1 so that it could prove stuff like pp1qq = 1
02:47:44 <elliott> can't you just like, add that as an equality theorem
02:47:49 <elliott> and eliminate for equality in the tactics?
02:47:50 <elliott> generalising
02:48:39 <j-invariant> that's what I do now: have to use tactics for each rewrite (that includes working your way into the middle of a deep expression you want to rewrite it), what I mean is the automatic equation prover should be able to take these sort of equations into account too
02:49:02 <j-invariant> a proof like (fg)(hk) = f((gh)k) needs like 40 rewrites or something
02:49:54 -!- FireFly has quit (Quit: swatted to death).
02:50:17 <j-invariant> (N.B. this is only difficult because "=" is an arbitrary equivalence relation, proving this stuff is really easy if it's actual equality)
02:50:31 <Sgeo> elliott, did you reread my line?
02:50:35 <elliott> Sgeo: yes
02:50:46 <elliott> j-invariant: put a "do_common_elimination" thing at the start and end of every tactic
02:50:50 <elliott> so it's "automatic" most of the time
02:51:10 <j-invariant> elliott: I can't implement do_common_elimination! that's too difficult
02:51:20 <elliott> j-invariant: well you can eliminate equality as a tactic, right>
02:51:21 <elliott> ?
02:51:24 <j-invariant> no
02:51:25 <elliott> just make that do_common_elimination for now
02:51:26 <elliott> and expand it later
02:51:27 <elliott> *right?
02:51:30 <elliott> j-invariant: oh. what can you do?
02:51:33 <elliott> **can*
02:53:12 <j-invariant> elliott: see http://coq.pastebin.com/sjjga8Uj line 72. That says that if f = f' then fg = f'g.. you have to apply it manually if you want to prove something like (jh)k = 1k given jk = 1
02:53:19 <j-invariant> I mean jh = 1
02:56:12 -!- cheater99 has joined.
02:57:26 <j-invariant> elliott: which is a huge hassle... but now I can just state an equation in the symbolic category, which then gets proved automatically.. and I just map the equation back into my category!
02:57:42 -!- cheater99 has quit (Read error: Connection reset by peer).
02:59:16 <j-invariant> I would guess the genenral theory of typed equations would be decidible though?
02:59:39 <j-invariant> actually no you can encode the word problem can't you...
02:59:44 <elliott> j-invariant: that is awesome
03:00:00 <elliott> j-invariant: hmm can you do language syntax extensions in coq?
03:00:03 <elliott> like, not as expressions
03:00:08 <elliott> but actually defining things like "Record x := y"
03:00:21 <elliott> j-invariant: if not, write a preprocessor for using coq with categories :)
03:00:24 <j-invariant> elliott: you need to hack into the ocaml stuff to do that
03:00:28 <elliott> things like "Category blah ..."
03:00:33 <elliott> just do a preprocessor, way easier than hacking ocaml
03:00:44 <j-invariant> elliott: well it would be easier to just make a new programming language that checks with Coq to see that everything checks out
03:00:58 <elliott> j-invariant: are you sure? this way you get tactics for free
03:01:11 <elliott> j-invariant: a preprocessor just has to transform some half-assedly parsed text into Coq boilerplate :P
03:01:14 <elliott> for defining a category or whatever
03:01:20 <j-invariant> heh yeah thats true
03:01:34 <elliott> j-invariant: you can even shout it CATEGORY to show that it's not going to be parsed decently :P
03:02:31 <elliott> j-invariant: this is really cool though
03:02:42 <elliott> j-invariant: hey is Lam a category? for lambda calculus
03:02:43 <elliott> Hask is
03:02:48 <elliott> but LC doesn't really have types
03:02:49 <elliott> so i guess not
03:02:54 <j-invariant> elliott: yeah I feel like with this I might be able to speed up a bit
03:02:59 -!- wareya_ has joined.
03:03:40 <Vorpal> night →
03:06:01 <j-invariant> elliott: one category I really want to get defined is one where objects are prolog terms and maps are substitutions
03:06:01 -!- wareya has quit (Ping timeout: 250 seconds).
03:06:38 <j-invariant> elliott: so e.g. {X|-->e(Y,k)} : f(X,g(X)) ---> f(e(Y,k),g(e(Y,k)))
03:07:59 -!- wareya has joined.
03:08:12 -!- wareya_ has quit (Ping timeout: 272 seconds).
03:08:15 <j-invariant> there's a book that shows how to implement unification on it
03:09:04 <elliott> j-invariant: that is awesome. do that :D
03:10:03 <elliott> j-invariant: what about CHR?
03:11:27 <j-invariant> well that is jsut syntax stuff
03:11:32 <j-invariant> no actual execution
03:14:39 <elliott> ah
03:14:42 -!- cheater99 has joined.
03:14:45 <elliott> i don't know much about chr
03:15:11 <j-invariant> http://www.cs.man.ac.uk/~david/categories/programs/
03:15:20 <j-invariant> stealing ths stuff once I get the scene set
03:15:55 <elliott> http://www.cs.man.ac.uk/~david/categories/programs/x.cat huh what is this, category theory in ML?
03:16:22 -!- cheater99 has quit (Read error: Connection reset by peer).
03:19:19 <elliott> j-invariant: do the Hask category next :D
03:20:15 <j-invariant> no way lol
03:20:19 <j-invariant> you do it
03:20:29 <j-invariant> I don't even know wha the Hask is
03:20:47 <j-invariant> can define simple data types using initiality, though - that needs to be tested out
03:21:11 <elliott> j-invariant: Hask is the category of Haskell types
03:21:16 <elliott> category-extras uses it :)
03:23:51 <elliott> j-invariant: so to implement Hask you need to implement Haskell's type system... and I think probably most of the values too :P
03:24:08 <elliott> j-invariant: http://hackage.haskell.org/packages/archive/category-extras/0.53.5/doc/html/Control-Category-Hask.html
03:24:11 <elliott> j-invariant: Make it clearer when we are dealing with the category (->) that we mean the category of haskell types via its Hom bifunctor (->)
03:27:28 <elliott> j-invariant: any opinions on lambda Prolog?
03:29:14 <j-invariant> what do you mean
03:29:21 <j-invariant> I don't use it
03:30:35 <elliott> j-invariant: any interesting insights, i guess
03:33:10 -!- cheater99 has joined.
03:34:53 -!- cheater99 has quit (Read error: Connection reset by peer).
03:39:05 <Mathnerd314> elliott: I'm going off to tell children that Santa is coming to a town near them, but will only visit their house if they're asleep. Anything else I should tell them?
03:39:53 <Sgeo> "Punching trees gives me wood"
03:40:40 <Sgeo> http://www.levelupstudios.com/punching-trees-gives-me-wood
03:42:06 <elliott> Mathnerd314: "I killed your parents."
03:42:44 <Mathnerd314> elliott: *young, impressionable children*
03:42:58 <Sgeo> REMEMBER ME
03:43:24 <elliott> Mathnerd314: "I killed your parents... while they slept. If you sleep... well, who knows what could happen?"
03:43:29 <j-invariant> Tell them that Santa only exists because people beleive in it, and that they should be very careful not to beleive in anything BAD incase it becomes real. And then make up a scary story about this happening in the past with a terrible monster
03:43:40 <Sgeo> j-invariant, I hate you.
03:43:44 <elliott> "Of course... Santa only brings presents to those who sleep."
03:43:50 <elliott> Mathnerd314: "So, you know... it's your decision..."
03:44:41 <Mathnerd314> elliott: you realize that their parents are standing right next to them, and the call is probably on speakerphone?
03:44:53 <j-invariant> Sgeo: whuy
03:45:09 <elliott> Mathnerd314: "The reason why your parents seem to be next to you is ... they're replaced with duplicates."
03:45:14 <elliott> Mathnerd314: "And they want your lungs..."
03:45:33 <Mathnerd314> elliott: I don't think I can get this all in before they hang up
03:45:43 <elliott> Mathnerd314: practice talking REALLY QUICKLY
03:45:49 <Sgeo> j-invariant, when I was a little kid, I read a book about the power of wishes. Being a kid, I believed it.
03:46:03 <Sgeo> I really wish I never read that book
03:46:08 <elliott> j-invariant: note -- Sgeo is crazy
03:46:08 <j-invariant> hehe
03:46:53 <Mathnerd314> elliott: also, the people sitting next to *me* will overhear and pull we away from the phone
03:47:02 <Mathnerd314> s/we/me/
03:47:13 <elliott> Mathnerd314: wrestle with bears to practice your self-defence skills
03:47:32 <Sgeo> How long is this phone conversation that you can talk about it right now?
03:47:37 <Mathnerd314> elliott: this is just getting more and more insane.
03:47:43 <elliott> Mathnerd314: "Santa loves you... but he has a secret. If you swap around two letters in his name... it becomes Satan."
03:47:47 <elliott> Mathnerd314: [whisper] "Behind you."
03:48:08 <Mathnerd314> Sgeo: it's Norad tracks Santa, and my shift is in an hour
03:48:18 <Mathnerd314> elliott: that's more like it
03:48:24 <Sgeo> Ah
03:48:51 <Sgeo> Why propagate lying to little kids?
03:48:59 <elliott> lawl
03:49:05 <elliott> Santa is EVIL CHRISTIAN LIES
03:50:06 * Sgeo wonders if there's been any studies on how being taught that Santa is real or not as a kid affects the kid
03:50:46 <elliott> It doesn't.
03:51:43 -!- cheater99 has joined.
03:51:44 <Mathnerd314> elliott: you know from experience?
03:52:33 <elliott> Mathnerd314: From what I know of Sgeo finding out Santa wasn't real traumatised him and caused him to dedicate his life to overcoming the evil lies of Santa or something, so I hardly find the topic worth discussing *shrug*
03:53:10 <Mathnerd314> anyone seen the new Tron?
03:53:11 -!- cheater99 has quit (Read error: Connection reset by peer).
03:53:27 <elliott> not I
03:53:28 <Sgeo> elliott, uh, no
03:53:42 <elliott> Sgeo: I may have exaggerated slightly.
03:53:52 <Sgeo> elliott, I was raised Jewish
03:54:39 <elliott> Precisely.
03:54:41 <elliott> Jewish Santa.
04:00:44 <Mathnerd314> elliott: how did you get to be so insane?
04:01:56 <j-invariant> Is the new TRON good?
04:02:57 <elliott> Mathnerd314: ENDLESS AMOUNTS OF DRUGS*
04:02:58 <elliott> *lies
04:03:16 <elliott> j-invariant: The soundtrack is good (Daft Punk), dunno about the film :-P
04:04:16 <Mathnerd314> random google/twitter/reddit link: http://mimeti.ca/journal/?p=1481
04:05:57 <elliott> "# Tagged Christianity, Gnu, Jeff Bridges as Richard Stallman, root access, Sun Microsystems, Tron: Legacy"
04:05:59 <elliott> lol @ first tag
04:06:04 * elliott tries to figure that out :D
04:10:14 -!- cheater99 has joined.
04:11:05 -!- zzo38 has joined.
04:11:39 <Mathnerd314> yeah, a post carefully designed to be so obscure that elliott can't understand it
04:11:56 <elliott> ok it's christianity because of sacrifice son i think
04:11:58 <elliott> I THINK
04:11:58 -!- cheater99 has quit (Read error: Connection reset by peer).
04:13:10 -!- zzo38 has set topic: Count the seconds it takes to stop thinking about this sentence. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:13:31 <Mathnerd314> -1
04:13:34 <elliott> argh :D
04:13:43 -!- elliott has set topic: IT IS CHRISTMAS AND SO WE WILL NOT HAVE ANY CONFUSING TOPICS | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:13:48 <zzo38> elliott: It's Christianity because it is Christmas, I think.
04:14:03 <elliott> but that has nothing to do with tron
04:14:06 -!- Mathnerd314 has set topic: IT IS SECULAR CHRISTMAS AND SO WE WILL NOT HAVE ANY CONFUSING TOPICS | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:15:12 <zzo38> Is "The sillier you are to the batsman, the closer you are." a confusing topic? (Probably it is because I switched a few words around)
04:16:09 <elliott> Yes :P
04:16:24 <elliott> google's right sidebar has baubles
04:17:13 -!- elliott has set topic: IT IS PAGAN YULE AND SO WE WILL NOT HAVE ANY CONFUSING TOPICS | HAPPY TWO DAYS AFTER FESTIVUS | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:17:42 <zzo38> The "proper" way is "The closer you are to the batsman, the sillier you are." (but of course it is not completely proper either)
04:17:47 <zzo38> O, now the new topic message is OK.
04:18:00 <zzo38> You can make Yule as well as Christmas, now!!
04:18:01 <j-invariant> is that cricket?
04:18:07 <elliott> i think so
04:18:09 <zzo38> j-invariant: What do *you* think?
04:18:23 <Mathnerd314> elliott: I don't see baubles
04:18:31 <j-invariant> I can't decide because I find it odd that "sillier" is a cricket concept
04:19:06 <zzo38> j-invariant: "Sillier" isn't really a cricket concept. But the fielders standing very close to the striking batsman are said to be in the "silly" position.
04:19:28 <j-invariant> oh
04:19:44 <elliott> aha
04:19:46 <elliott> http://www.google.com/search?q=christmas&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:unofficial&client=iceweasel-a
04:19:49 <j-invariant> I will try watching cricket next time it's on TV
04:19:52 <elliott> it's only for "christmas"
04:19:59 <j-invariant> I ifeel like I am mssing out
04:20:06 <zzo38> (I don't think they say that the ones closer are "sillier", though.)
04:20:31 <elliott> j-invariant: don't worry, IIRC zzo38 says he has never watched a game of cricket
04:20:42 <elliott> j-invariant: so obviously you can reach this level of enjoyment without ever playing it or seeing it played
04:21:02 <j-invariant> lol
04:21:09 <zzo38> elliott: You are correct, I don't even know what channel it is on. (Or if it is on any channel in where I am, at all.)
04:21:22 <j-invariant> so you are a fan of cricket without having seen any games?
04:21:22 <elliott> j-invariant: so watching it is completely superfluous!
04:21:27 <elliott> yes, isn't it great :D
04:21:30 <j-invariant> I like this idea
04:21:43 <elliott> i think i'm going to be a fan of, uhh
04:21:48 <elliott> american football
04:21:53 <elliott> gonna buy ALL the rulebooks
04:22:00 <elliott> mark the superbowl in my calender
04:22:03 <elliott> not gonna watch it though
04:22:14 <elliott> *calendar
04:22:28 <zzo38> If I had time, and I know what channel, I might watch a Test match.
04:22:43 <elliott> but what about when they go for the real thing?!
04:22:56 <zzo38> elliott: What real thing?
04:23:04 <elliott> the non-Test match!
04:23:12 <Sgeo> Insane asylums: Where the sane go insane
04:23:14 <Sgeo> </tasteless>
04:23:18 <zzo38> elliott: That isn't what Test match means.
04:23:26 <elliott> bah!
04:23:38 <elliott> Sgeo: Don't worry, your stay will be peaceful.
04:24:05 <zzo38> Test match means the long game, with simpler rules but more strategy.
04:25:13 <elliott> i didn't even realise it was festivus :(
04:25:27 <j-invariant> what's festivus?
04:25:56 <elliott> j-invariant: http://en.wikipedia.org/wiki/Festivus
04:25:58 <elliott> j-invariant: For the rest of us.
04:26:04 <elliott> [["Festivus" was a term used by the 2000 Baltimore Ravens of the National Football League (NFL) and their fans to denote the NFL Playoffs. During the season, Ravens head coach Brian Billick, wanting his players to focus on every game, banned the word "playoffs." Players substituted the term "festivus" for playoffs and "Festivus Maximus" for the Super Bowl. The Ravens eventually won the 2001 Festivus Ma
04:26:04 <elliott> ximus, Super Bowl XXXV.]]
04:26:11 <elliott> I love it when Wikipedia humours other people's jokes for a sentence
04:26:18 <elliott> "The Ravens eventually won the 2001 Festivus Maximus"
04:26:39 <elliott> [[# In 2007, in a commercialization of the holiday, the first Festivus Pole Lot opened [20] in downtown Milwaukee.]] oh the irony
04:27:26 <j-invariant> I wish they would play Seinnfeld on TV
04:27:46 <elliott> i think they do ... on one of Sky's 7 billion channels
04:28:19 <elliott> at least here.
04:28:45 -!- cheater99 has joined.
04:30:33 -!- cheater99 has quit (Read error: Connection reset by peer).
04:42:00 -!- j-invariant has quit (Quit: leaving).
04:42:32 -!- pikhq has quit (Ping timeout: 264 seconds).
04:43:25 -!- elliott has quit (Quit: Leaving).
04:44:21 -!- pikhq has joined.
04:47:12 -!- cheater99 has joined.
04:48:38 * Sgeo wonders if elliott realizes I often rail against things that haven't affected me personally. I am utterly against faith healing, although no one I know has fallen for that BS. I am against thinking that vaccinations cause autism.
04:48:40 <Sgeo> etc. etc.
04:49:20 -!- cheater99 has quit (Read error: Connection reset by peer).
04:55:50 <zzo38> I am trying to think of what kind of algorithms and so on to use in TeXnicard for plurals and other word forms.
04:57:44 <zzo38> Maybe a list of patterns such as "]:1:s" and so on, but what do with other word forms?
04:59:31 <Sgeo> I am against drunk driving, texting while driving, and tired driving, but that might not be the best example -- I haven't learned to drive yet, and I have fears
05:00:07 <zzo38> Sgeo: I haven't learn to drive and never plan to. I don't want to have driving license, please.
05:01:34 -!- SgeoN1 has quit (Quit: Bye).
05:05:47 -!- cheater99 has joined.
05:08:17 -!- cheater99 has quit (Read error: Connection reset by peer).
05:25:13 -!- cheater99 has joined.
05:26:52 -!- cheater99 has quit (Read error: Connection reset by peer).
05:43:42 -!- cheater99 has joined.
05:44:51 -!- cheater99 has quit (Read error: Connection reset by peer).
05:46:15 * Sgeo vaguely gets offended at "Rides the short bus"
06:01:48 -!- cheater99 has joined.
06:03:25 -!- cheater99 has quit (Read error: Connection reset by peer).
06:05:30 -!- oerjan has joined.
06:06:10 <zzo38>
06:08:48 -!- zzo38 has quit (Remote host closed the connection).
06:09:56 <oerjan> <elliott> I love it when Wikipedia humours other people's jokes for a sentence
06:11:52 <oerjan> like in http://en.wikipedia.org/wiki/Will_Smith#Family_and_early_life. actually it looks sillier now than when i last saw it.
06:13:29 <oerjan> just an edit from yesterday though, so will probably be reverted
06:13:44 <quintopia> they should leave it :P
06:14:15 <oerjan> oh it wasn't _entirely_ serious before, it just that someone yesterday made it ungrammatical
06:17:54 <quintopia> filebin.ca is down
06:18:03 <quintopia> what's a non-suck file upload site these days?
06:20:12 -!- cheater99 has joined.
06:21:32 -!- cheater99 has quit (Read error: Connection reset by peer).
06:23:12 <oerjan> *it's
06:23:49 <quintopia> well yes. it does suck that it's down
06:23:52 <quintopia> make a recommendation
06:38:11 -!- cheater99 has joined.
06:40:55 -!- cheater99 has quit (Read error: Connection reset by peer).
06:56:43 -!- cheater99 has joined.
06:59:31 -!- cheater99 has quit (Read error: Connection reset by peer).
07:02:15 <pikhq> Merry Christmas!
07:02:30 <pikhq> (mêri kurisumasu!)
07:02:45 <pikhq> s/mêri/merî/
07:04:20 <oerjan> merry christmas
07:04:42 * oerjan chews som dried fish
07:04:44 <oerjan> *some
07:06:35 <pikhq> How Norwegian of you.
07:07:37 <oerjan> it's a norwegian specialty, although really i think it's mostly sold to tourists these days :D
07:09:35 <oerjan> stockfish it's called in english, according to the bag
07:10:26 <oerjan> in this case, dried haddock
07:10:43 <pikhq> Never heard of it. It just really seemed to me that dried fish would be something exceptionally Norwegian for some reason.
07:10:56 <oerjan> oh wait
07:11:24 <oerjan> it's also exported in large amounts to southern europe and (the worst quality) africa
07:13:40 <oerjan> although i don't think they usually eat it without further preparation
07:14:37 <oerjan> "Beside oil, gas, and income from the merchant fleet, stockfish is Norway's longest sustained export commodity, and the socioeconomically most profitable export over the centuries.
07:14:47 -!- cheater99 has joined.
07:16:44 <oerjan> oh ... and it's of course the pre-stage to lutefisk!
07:17:18 <pikhq> Aaaah, so it's a traditional part of the traditional penance!
07:17:18 -!- cheater99 has quit (Read error: Connection reset by peer).
07:17:19 <pikhq> :P
07:17:27 <oerjan> heh :D
07:18:38 * oerjan considered buying lutefisk, but apparently it cannot be prepared in microwave </bachelor frog>
07:20:11 <oerjan> "After sorting by quality, most of the stockfish is exported to Portugal, Italy and Croatia. In Norway and Iceland, the stockfish is mostly used as a snack and for lutefisk production. In Italy and Portugal, the fish (called stoccafisso) is soaked and used in various courses, and is viewed as a delicacy.
07:21:04 <pikhq> oerjan: According to Wikipedia, "Lutefisk sold in North America may also be cooked in a microwave oven."
07:21:14 <pikhq> Because here in AMERICA we disbelieve in proper cooking!
07:21:18 <oerjan> ah.
07:21:56 <oerjan> well the package had no instructions for microwaving, unlike basically all the other ready-meals
07:22:59 <pikhq> It amuses me that lutefisk is more commonly eaten in the US than in Norway...
07:23:22 <pikhq> (largely courtesy of Scandinavian immigrants up north)
07:23:25 <oerjan> heh. well iirc there are more people of norwegian ancestry in the US than in norway
07:23:41 <pikhq> Probably.
07:24:55 <pikhq> Hmm. Perhaps I should actually try lutefisk.
07:25:02 <coppro> pikhq: If you guys disbelieve in proper cooking, what do the Texans do?
07:25:22 * oerjan assumes they put everything on the barbecue
07:25:36 <pikhq> oerjan: Not only. But stereotypically, yes.
07:25:58 <coppro> ah, no, there you would be mistaken
07:26:06 <coppro> the Texans are actually aware of another cooking method
07:26:12 <pikhq> Deep frying!
07:26:16 <pikhq> Oh how they love it.
07:26:30 <coppro> a little too much, if you know what I mean
07:26:30 <oerjan> ah.
07:27:12 <pikhq> Allow me to introduce you to "chicken-fried steak".
07:27:20 * oerjan has vaguely <strike>heard</strike>read on reddit about deep fried bacon
07:27:20 <pikhq> It is a *deep fried steak*.
07:27:50 <pikhq> And it's actually fairly typical in the South.
07:28:16 <pikhq> Oh, and served with gravy.
07:28:27 <pikhq> As is mandatory.
07:29:04 <oerjan> consider a spherical texan in vacuum...
07:29:25 <pikhq> (the name comes because it's made very similarly to fried chicken. Another typical food.)
07:29:30 <pikhq> (also delicious.)
07:34:12 -!- cheater99 has joined.
07:36:38 -!- cheater99 has quit (Read error: Connection reset by peer).
07:37:07 -!- Sgeo has quit (Read error: Connection reset by peer).
07:38:14 -!- hagb4rd has quit (Ping timeout: 240 seconds).
07:53:18 -!- cheater99 has joined.
07:55:19 -!- cheater99 has quit (Read error: Connection reset by peer).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:11:48 -!- cheater99 has joined.
08:12:49 -!- poiuy_qwert has joined.
08:13:47 -!- cheater99 has quit (Read error: Connection reset by peer).
08:30:49 -!- cheater99 has joined.
08:32:47 -!- cheater99 has quit (Read error: Connection reset by peer).
08:49:12 -!- cheater99 has joined.
08:50:14 -!- oerjan has quit (Quit: leaving).
08:50:46 -!- sebbu2 has joined.
08:51:11 -!- cheater99 has quit (Read error: Connection reset by peer).
08:53:36 -!- sebbu has quit (Ping timeout: 260 seconds).
09:07:47 -!- cheater99 has joined.
09:09:11 -!- cheater99 has quit (Read error: Connection reset by peer).
09:25:49 -!- cheater99 has joined.
09:27:36 -!- cheater99 has quit (Read error: Connection reset by peer).
09:44:12 -!- cheater99 has joined.
09:47:05 -!- cheater99 has quit (Read error: Connection reset by peer).
10:03:44 -!- cheater99 has joined.
10:05:32 -!- cheater99 has quit (Read error: Connection reset by peer).
10:14:59 -!- hagb4rd has joined.
10:22:10 -!- cheater99 has joined.
10:25:31 -!- cheater99 has quit (Read error: Connection reset by peer).
10:40:50 -!- cheater99 has joined.
10:43:53 -!- cheater99 has quit (Read error: Connection reset by peer).
10:44:35 <Vorpal> morning
10:47:32 -!- Slereah has joined.
10:47:42 <Quadrescence> Vorpal: hi
10:48:18 <Vorpal> merry <day after xmas> I guess
10:48:27 <Quadrescence> it is xmas here tho
10:49:19 <Vorpal> Quadrescence, well, it's the 25th here, but only in Scandinavia (as far as I know) does the celebration take place on the proper day, the 24th
10:49:33 <Vorpal> ;P
10:50:23 <Quadrescence> i see
10:50:30 <Quadrescence> Vorpal: i pmed u
11:00:51 -!- cheater99 has joined.
11:03:18 -!- cheater99 has quit (Read error: Connection reset by peer).
11:04:38 -!- hagb4rd has quit (Ping timeout: 240 seconds).
11:20:12 -!- cheater99 has joined.
11:21:26 <Vorpal> anyone happens to know if handlers registered with atexit() are called on ctrl-c?
11:21:40 -!- cheater99 has quit (Read error: Connection reset by peer).
11:21:51 <Vorpal> or if I need a signal handler
11:23:21 <Vorpal> seems like the answer is no
11:24:01 <Vorpal> signal handlers it is then
11:38:16 -!- cheater99 has joined.
11:39:47 -!- cheater99 has quit (Read error: Connection reset by peer).
11:56:25 -!- cheater99 has joined.
12:03:02 -!- cheater99 has quit (Ping timeout: 240 seconds).
12:03:54 <fizzie> Yes, they are only called on normal exit.
12:04:09 <fizzie> Not for signal-caused termination.
12:15:51 -!- cheater99 has joined.
12:16:38 <Vorpal> fizzie, hm
12:16:58 <Vorpal> fizzie, do you know if calling complex stuff in a signal handler is safe if you exit at the end?
12:17:22 <Vorpal> fizzie, basically I just want to stop any sound generation in the beeper program if it is ctrl-ced
12:17:22 -!- cheater99 has quit (Read error: Connection reset by peer).
12:17:36 <Vorpal> fizzie, so I need a ioctl, then exit()
12:17:39 <Vorpal> an*
12:17:47 <Vorpal> and I'm not sure that is allowed in signal handlers
12:18:56 <fizzie> I'm not entirely sure. But perhaps there were some relaxations of the rules if the signal handler doesn't exist.
12:19:36 <Vorpal> fizzie, I thought so, but I can't find any mention of it
12:19:54 <fizzie> ncurses' signal handlers do manage the terminal cleanup (incl. raw → cooked input flip) on signals, so it must be possible.
12:20:02 <Vorpal> hm
12:24:03 <fizzie> Hm.
12:24:14 <fizzie> tcsetattr is in fact in the list of signal-safe functions, so they can call that.
12:24:16 <Vorpal> I do mask off all signals, so that should not be an issue at least
12:24:18 <fizzie> Unfortunately, ioctl is not.
12:24:22 <Vorpal> fizzie, gah
12:25:24 <fizzie> I assume it is because ioctl seems to be the sort of "catch-all" function of doing everything that doesn't fit anywhere else.
12:25:47 <fizzie> The list does include all kinds of IO stuff.
12:25:53 <Vorpal> hm
12:26:13 <Vorpal> fizzie, so I guess I need a volatile sig_atomic_t then
12:26:37 <fizzie> Well, there is that solution. Your sleeps should be interrupted by the signal anyway, I guess.
12:27:17 <Vorpal> fizzie, yes quite. But what if someone hits ctrl-c when it isn't sleeping, sure not likely, but it could happen
12:27:17 <fizzie> It might be "safe enough" to risk, though. And of course there's not much you can do if you get SIGKILL'd during a beep.
12:27:27 <Vorpal> which means I can't keep it off the "fast path"
12:27:33 <Vorpal> fizzie, hm
12:27:34 <Vorpal> true
12:28:21 <fizzie> You could sig-mask everything during the call to ioctl(); I think the only thing that's likely to break is if you call your beep-ioctl() while in the middle of another beep-ioctl() call.
12:28:24 <Vorpal> fizzie, ooh wait, init can (and afaik does) ignore kill. You could ptrace init (hm does that actually work?) and inject the beeping code into it.
12:28:25 <Vorpal> XD
12:28:51 <Vorpal> fizzie, you mean sigmask while calling it in the signal handler?
12:29:03 <fizzie> No, in the app side.
12:29:35 <Vorpal> fizzie, how would that help, the ioctl is just "start playing note at this frequency", then I have to sleep and do another ioctl to stop it playing
12:29:36 <fizzie> Or does sigblock just ignore it, instead of keeping it pending? I haven't really done much messing with signals.
12:30:09 <Vorpal> oh wait, you mean like that
12:30:10 <Vorpal> hm
12:30:31 <fizzie> I guess blocking does mean actual ignoring.
12:30:40 <Vorpal> hm
12:30:44 <fizzie> It would be nice if there was some way of keeping the signal in the pending state until it's safe to handle.
12:31:25 <fizzie> No, it actually does work the way I think it would, I think.
12:31:28 <fizzie> "If the action associated with a blocked signal is anything other than to ignore the signal, and if that signal is generated for the thread, the signal shall remain pending until it is unblocked, --"
12:31:50 <Vorpal> hm
12:32:02 <fizzie> So you could hopefully that way make sure the signal is handled when you're safely (for some values of safe) outside the ioctl.
12:32:55 <fizzie> Of course if you want to be literal with the spec, just avoiding the in-ioctl call-ioctl case doesn't make it fully proper.
12:33:30 <Vorpal> hah
12:33:33 <fizzie> Or you could fork(), let the child handle the beeping (and ^C-from-terminal reception), and have the parent issue an extra "stop with the beep" ioctl whenever the child terminates.
12:33:48 -!- cheater99 has joined.
12:34:15 <fizzie> Doesn't help if someone deliberately sends a SIGTERM (or some other) first to the parent, then to the child.
12:35:39 <fizzie> (Well, except if you add in the parent a signal handler to kill+wait the child first, and only then stop the beeping.)
12:36:11 -!- cheater99 has quit (Read error: Connection reset by peer).
12:36:40 <Vorpal> fizzie, this seems a lot more complex :P
12:37:02 <Vorpal> did the sig_atomic_t now
12:37:41 <Vorpal> fizzie, also debugging this /does/ make me nervous. sudo valgrind feels so.... scary
12:40:20 <fizzie> For debugging, could you just temporarily sudo chown the device node? (Or does it test against something else?)
12:43:38 <Vorpal> fizzie, do you know why kernel code seems to shun floating point?
12:44:11 <Vorpal> fizzie, well, the device node is /dev/console, which is as far as I know a bit special, in that it depends on the current vt
12:44:21 <Vorpal> I don't know what messing with chown there would do
12:44:34 <Vorpal> fizzie, possibly it would mess something up
12:45:44 <Vorpal> I could however run it from a non-X vt
12:45:52 <Vorpal> that should change permissions.
12:46:15 <Vorpal> hm actually it doesn't
12:46:25 -!- oerjan has joined.
12:47:07 <fizzie> Floating point doesn't exist everywhere, which might be a good reason to shun it.
12:47:18 <Vorpal> fizzie, I use the same interface as beep(1) but I can't even get beep to work on a vt as a normal user, though I remember that it worked in the past, and the man page states it should work
12:47:26 <Vorpal> (see section "ioctl wackiness"
12:47:27 <Vorpal> )
12:52:27 -!- cheater99 has joined.
12:54:40 <Vorpal> fizzie, fun: http://en.wikipedia.org/wiki/PC_speaker#Pulse-width_modulation
12:54:54 -!- cheater99 has quit (Read error: Connection reset by peer).
12:57:24 <Vorpal> fizzie, btw I think I found out why that tandy sounded so different from the ibm in that video
12:57:45 <Vorpal> according to wikipedia tandy had 3 channels
12:57:51 <Vorpal> unlike the ibm which had one
13:00:37 <Vorpal> it was mentioned in http://en.wikipedia.org/wiki/GW-BASIC not sure how reliable it is
13:11:28 -!- cheater99 has joined.
13:14:55 -!- cheater99 has quit (Read error: Connection reset by peer).
13:21:07 <fizzie> Ooh, three-channel beeping.
13:26:19 -!- TLUL has joined.
13:26:51 <TLUL> Message on all protocols: Merry Christmas!!!!!
13:29:28 -!- cheater99 has joined.
13:32:14 -!- cheater99 has quit (Read error: Connection reset by peer).
13:48:41 -!- cheater99 has joined.
13:50:58 -!- cheater99 has quit (Read error: Connection reset by peer).
13:56:41 <Vorpal> fizzie, quite
13:57:10 <Vorpal> fizzie, btw... tried MT-32 emulation in scummvm. But... ALSA lib pcm.c:7245:(snd_pcm_recover) underrun occured
13:57:20 <Vorpal> I think it may be time to upgrade this computer
13:58:03 <Vorpal> besides it didn't sound like the videos
13:58:12 <Vorpal> (why I wonder)
13:58:26 <Vorpal> (it sounded like even more advanced synthing)
13:58:33 <Vorpal> could be sample rate or something I guess
13:58:38 -!- oerjan has quit (Quit: leaving).
13:59:53 <Vorpal> huh, my thinkpad has two cards in /proc/asound... card0 and card29
14:00:13 <Vorpal> card29/id says ThinkPadEC
14:00:17 <Vorpal> card0/id says Intel
14:00:22 <Vorpal> card0 is what I would expect
14:01:28 <Vorpal> ThinkPadEC just has one control in alsamixer, named Console. And it is just mute/unmute, no volume control
14:03:10 -!- Mathnerd314 has quit (Disconnected by services).
14:03:31 -!- Mathnerd314_ has joined.
14:04:14 -!- Mathnerd314_ has changed nick to Mathnerd314.
14:07:30 -!- cheater99 has joined.
14:08:58 -!- cheater99 has quit (Read error: Connection reset by peer).
14:10:43 -!- Mathnerd314 has quit (Disconnected by services).
14:13:14 -!- Mathnerd314 has joined.
14:21:34 -!- FireFly has joined.
14:25:30 -!- cheater99 has joined.
14:27:35 -!- cheater99 has quit (Read error: Connection reset by peer).
14:30:21 <fizzie> Sounds like a ThinkPad console beep.
14:31:21 <fizzie> The motherboard-integrated Radeon card has an Alsa entry too, because there's a HDMI port that can be used for audio output.
14:31:36 <fizzie> There's a single alsamixer control called "S/PDIF", and it's also just mute/unmute.
14:32:26 -!- ais523 has joined.
14:43:42 -!- cheater99 has joined.
14:45:37 -!- cheater99 has quit (Read error: Connection reset by peer).
14:48:01 -!- TLUL has changed nick to TLUL|afk.
14:57:28 -!- TLUL|afk has changed nick to TLUL.
15:02:16 -!- cheater99 has joined.
15:03:31 -!- cheater99 has quit (Read error: Connection reset by peer).
15:07:03 -!- TLUL has changed nick to TLUL2.
15:07:33 -!- TLUL2 has changed nick to TLUL.
15:13:02 -!- ais523 has quit (Ping timeout: 240 seconds).
15:13:17 -!- TLUL has changed nick to TLULbot_.
15:13:18 -!- TLULbot_ has quit (Changing host).
15:13:18 -!- TLULbot_ has joined.
15:14:14 -!- TLULbot_ has changed nick to TLUL2.
15:14:35 -!- TLUL2 has changed nick to TLUL3.
15:14:57 -!- TLUL3 has changed nick to TLUL4.
15:15:22 -!- TLUL4 has changed nick to TLUL5.
15:16:25 -!- TLUL5 has changed nick to TLUL.
15:16:26 -!- TLUL has quit (Changing host).
15:16:26 -!- TLUL has joined.
15:20:14 -!- cheater99 has joined.
15:21:48 -!- cheater99 has quit (Read error: Connection reset by peer).
15:32:24 -!- hagb4rd has joined.
15:37:44 <Vorpal> <fizzie> Sounds like a ThinkPad console beep. <-- ah perhaps
15:38:16 -!- cheater99 has joined.
15:38:38 <Vorpal> fizzie, the thinkpad just beeps using the normal speakers. Normal volume control affects it
15:40:28 -!- cheater99 has quit (Read error: Connection reset by peer).
15:57:16 -!- cheater99 has joined.
15:58:07 -!- ais523 has joined.
15:59:02 -!- cheater99 has quit (Read error: Connection reset by peer).
16:04:12 -!- oerjan has joined.
16:15:25 -!- cheater99 has joined.
16:17:30 -!- cheater99 has quit (Read error: Connection reset by peer).
16:17:47 -!- Slereah has quit (Ping timeout: 240 seconds).
16:21:25 -!- Slereah has joined.
16:33:49 -!- cheater99 has joined.
16:36:34 -!- cheater99 has quit (Read error: Connection reset by peer).
16:46:22 -!- jcp has quit (Ping timeout: 265 seconds).
16:53:16 -!- jcp has joined.
16:53:19 -!- cheater99 has joined.
16:54:55 -!- cheater99 has quit (Read error: Connection reset by peer).
17:11:19 -!- cheater99 has joined.
17:13:19 -!- cheater99 has quit (Read error: Connection reset by peer).
17:21:49 -!- Wamanuz5 has joined.
17:23:09 -!- Wamanuz4 has quit (Read error: Operation timed out).
17:29:51 -!- cheater99 has joined.
17:32:13 -!- cheater99 has quit (Read error: Connection reset by peer).
17:32:59 <nooga> hoooh
17:33:26 <oerjan> haaah
17:34:12 <ais523> hieeee
17:34:42 <ais523> I've been meaning to ask; what /is/ the other meaning of esoteric?
17:34:45 <ais523> the non-programming one, that is
17:35:00 <oerjan> hidden mystic knowledge?
17:35:10 <ais523> hmm, perhaps
17:35:27 <oerjan> "confined to and understandable by only an enlightened inner circle; "a compilation of esoteric philosophical theories"
17:35:41 <Slereah> Well, that is basically also the meaning we use!
17:35:45 <Slereah> Except less magical
17:35:47 <oerjan> `define esoteric
17:35:58 <Slereah> `swedish esoteric
17:36:01 <Slereah> !swedish esoteric
17:36:27 <HackEgo> isutereec
17:36:35 <HackEgo> * confined to and understandable by only an enlightened inner circle; "a compilation of esoteric philosophical theories" \ [23]wordnetweb.princeton.edu/perl/webwn \ * Esotericism or Esoterism is a term with two basic meanings. In the dictionary sense of the term, "esoterism" signifies the holding of opinions
17:36:37 <EgoBot> esutereec
17:36:43 <oerjan> ooh it's working
17:37:11 <oerjan> huh
17:37:18 <oerjan> `swedish esoteric
17:37:19 <HackEgo> isutereec
17:37:22 <oerjan> !swedish esoteric
17:37:23 <EgoBot> esutereec
17:37:35 <oerjan> MUST BE DIFFERENT DIALECTS
17:38:14 <Slereah> Swedish and finno-swedish
17:42:15 <nooga> russe-norsk
17:42:42 <nooga> ( http://en.wikipedia.org/wiki/Russenorsk )
17:43:18 <oerjan> i don't think that survived the soviet union. maybe it'll redevelop now...
17:44:30 <oerjan> although nowadays it's probably replaced by english
17:46:32 <nooga> uhuh
17:48:26 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101026210630]).
17:48:49 -!- cheater99 has joined.
17:52:13 -!- cheater99 has quit (Read error: Connection reset by peer).
18:19:17 <nooga> uhuh
18:19:33 <oerjan> ^echo uhuh
18:19:33 <fungot> uhuh uhuh
18:22:30 <nooga> anyone tried Scala?
18:22:32 <nooga> or Io?
18:42:14 -!- TLUL has left (?).
18:42:27 -!- TLUL has joined.
18:49:59 -!- KingOfKarlsruhe has joined.
19:27:13 -!- elliott has joined.
19:28:21 <ais523> oh, hi elliott btw
19:28:27 <elliott> hi ais523!
19:28:29 <elliott> happy christmas
19:28:36 <elliott> and/or other holiday of various kinds
19:28:36 <ais523> (saying "btw" at the end of that makes it look like the channel's been active...)
19:28:44 <ais523> and indeed, insert typical christmas greeting here
19:28:58 <elliott> i got SICP :)
19:29:06 <ais523> have you read it today?
19:29:18 <elliott> like ten pages! finally i am a real programmer
19:30:29 <elliott> `addquote * oerjan considered buying lutefisk, but apparently it cannot be prepared in microwave </bachelor frog>
19:30:31 <HackEgo> 255) * oerjan considered buying lutefisk, but apparently it cannot be prepared in microwave </bachelor frog>
19:30:45 <elliott> only a Norwegian could decide not to bother with the delights of lutefisk because it would be too inconvenient
19:33:11 <elliott> 04:47:07 <fizzie> Floating point doesn't exist everywhere, which might be a good reason to shun it.
19:33:14 <elliott> And also it is scary.
19:33:34 <elliott> 05:57:10 <Vorpal> fizzie, btw... tried MT-32 emulation in scummvm. But... ALSA lib pcm.c:7245:(snd_pcm_recover) underrun occured
19:33:39 <elliott> Vorpal: You did pirate the ROMs, right?
19:33:53 <elliott> Doesn't work without them.
19:33:58 <elliott> 09:34:42 <ais523> I've been meaning to ask; what /is/ the other meaning of esoteric?
19:34:07 <elliott> ais523: Aleister Crowley magick, except more general
19:34:23 <elliott> ais523: that's a hideous overgeneralisation, but
19:34:48 <elliott> anybody stupid enough to think #esoteric on freenode would be about esoterica probably hasn't got a better definition themselves
19:36:04 <elliott> i am, incidentally, very tired
19:40:38 <ais523> so am I
19:40:49 <ais523> I haven't been online recently because I've been pretty ill
19:40:58 <ais523> still am, actually, but Christmas takes precedence for some reason
19:41:38 <elliott> sorry to hear it
19:41:43 <oerjan> heck, some people put off dying until after christmas
19:41:44 <elliott> did those keyloggers ever get written?
19:41:51 <ais523> oh right, I have to mark those somehow
19:41:59 <ais523> they've been submitted, and I have a bunch of them to mark
19:42:03 <ais523> but I haven't dared to actually look at them yet
19:42:09 <ais523> and now may not be a good time
19:43:19 <elliott> heh
19:43:29 <ais523> I need to find a suitable VM to mark them in
19:43:35 <ais523> and it'll be a pain rebooting it all the time
19:43:56 <ais523> a) because the kernel modules in question probably won't unload properly, b) because the very nature of the problem means that pretty much any error will just crash the system
19:46:44 <elliott> ais523: qemu? that can boot without assembling a hard disk image
19:47:02 <elliott> ais523: -kernel bzImage -initrd foo -append root=blah
19:47:08 <elliott> well, root= just beind an example
19:47:49 <elliott> http://syntensity.com/static/python.html <-- CPython, compiled to LLVM bitcode, compiled to JavaScript.
19:50:23 <elliott> ais523: here's a riddle/thought experiment for you
19:50:30 <elliott> ais523: (car '()) is an invalid Scheme program.
19:50:37 <elliott> ais523: is (eval '(car '())) a valid Scheme program?
20:01:41 <elliott> Gregor: http://syntensity.com/static/python.js
20:15:51 -!- Wamanuz5 has quit (Remote host closed the connection).
20:18:17 -!- Wamanuz has joined.
20:24:08 -!- zzo38 has joined.
20:25:01 <zzo38> Although I have never watched any cricket game on television or in a stadium, I have heard the game on the radio, I have seen photographs, and I have seen scorecards.
20:30:29 <elliott> > ((evil '(lambda (x) x) '())
20:30:29 <elliott> '(hello))
20:30:29 <elliott> Error: attempt to call a non-procedure
20:30:29 <elliott> ('hello '())
20:30:30 <elliott> huh what
20:33:58 <elliott> [[ Interesting, but please, the wiki is really not a discussion board. We were using it that way before, but it sucked. Tell the forum about this matter. --Graue 02:02, 24 May 2006 (UTC)]], in reply to ais523
20:34:05 <elliott> Graue must hate us so much :)
20:34:20 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
20:34:33 <zzo38> elliott: I disagree. The wiki works better as the discussion board than the forum we have. IRC can also be used for discussion.
20:37:09 -!- Sgeo has joined.
20:37:25 * Sgeo needs to take a chill pill sometimes
20:38:00 <oerjan> liquid nitrogen with raspberry flavor
20:38:37 <Sgeo> =P lol
20:38:52 * Sgeo wonders what it would take to have solid nitrogen
20:42:47 <oerjan> 63.153 K, -210.00 °C, -346.00 °F
20:43:52 <oerjan> hm that's only about 15 °C below boiling
20:48:02 <ais523> elliott: I think everyone disagrees with em on that
20:48:15 <ais523> wikis make very good forums
20:48:25 <ais523> I find them much more convenient than most actual forums
20:48:32 <elliott> ais523: I agree completely -- I was remarking on the fact that /none/ of Graue's policies seem to be popular
20:48:41 <zzo38> ais523: I think you are correct. I agree with you about that
20:48:54 <elliott> The "no categories without discussing" thing is just weird, the keeping "User:" in links is weird too...
20:49:00 <ais523> zzo38: I have watched cricket games, actually
20:49:16 <ais523> it's rarely worth going to a stadium to actually watch the game, the field's so big you can hardly see what's going on, on TV works a lot better
20:49:20 <ais523> (I've watched them both ways)
20:49:23 <elliott> so, anyway, I'm trying to beat cpressey at his own game
20:49:26 <ais523> also, I agree with User: in links
20:49:38 <ais523> if you know me from Wikipedia, I'm a stickler for namespace separation
20:49:57 <elliott> specifically, I'm trying to beat him at the "Scheme subset with a short self-interpreter" game
20:50:14 <elliott> since, well, even reading the first few pages of SICP does things like this to you
20:50:42 <zzo38> elliott: You can ignore any policies that don't work that are bad except for the one about public domain. (Even wikipedia has one rule "ignore all rules" and it is basically of a similar idea; if the rule doesn't work, do something else. But also fix things to meet the rule if they should. There are rules for a reason!)
20:50:55 <elliott> zzo38: that's not such a wise idea, at least it wasn't when Graue was around
20:51:00 <elliott> his reaction to people breaking policies was to yell at them a lot
20:51:03 <elliott> :)
20:51:09 <ais523> only once, but it was pretty famous
20:51:15 <ais523> combined with a mass revert of changes and a short ban
20:51:22 <elliott> ais523: more than once
20:51:25 <ais523> really?
20:51:31 <ais523> the year categories thing is the only thing I can think of
20:51:33 <elliott> yes, I found another Graue-rage recently, lemme grep the logs
20:51:38 <zzo38> ais523: You have watched at a stadium and television. What match was it and where was the stadium?
20:51:38 <elliott> ais523: wasn't he against them?
20:51:51 <ais523> zzo38: it was Edgbaston stadium in Birmingham, more than once
20:52:04 <ais523> elliott: not in principle, e was against the fact they were implemented without asking for permission first
20:52:24 <ais523> e doesn't mind the categories /themselves/
20:52:40 <Sgeo> What was wrong with the year categories?
20:52:48 <elliott> <ais523> elliott: not in principle, e was against the fact they were implemented without asking for permission first
20:52:54 <elliott> ais523: grr, ever said something and then been unable to find it in the logs?
20:53:06 <zzo38> elliott: You are correct partially I think, of course there are rules for a reason. But you have to know the purpose of the rules too.
20:53:09 <ais523> elliott: I can't remember
20:53:18 <zzo38> ais523: I mean, what was the match format?
20:53:20 <ais523> it seems plausible that I've done that, but I can't think of an occasion on which it's happened
20:53:32 <ais523> zzo38: five-day, either international or county
20:53:40 <ais523> but not seeing all five days
20:53:40 <elliott> 10.12.22:19:37:47 <elliott> haha, and some classic Graue rage:
20:53:40 <elliott> 10.12.22:19:37:49 <elliott> [[I reverted your purge of Talk:Udage because that isn't the way wikis work. You do not own that page, nor do you own the Udage article. Do not delete valid information from this site again. --Graue 19:16, 10 Oct 2005 (GMT)]]
20:53:47 <Sgeo> Is Graue even still active?
20:53:47 <ais523> more commonly 1 or 2
20:53:51 <ais523> Sgeo: nope
20:53:53 <elliott> (he wiped the talk page after it got big, IIRC)
20:53:55 <ais523> e only wakes up in emergencies nowadays
20:54:13 <Sgeo> That's more active than I
20:54:15 <Sgeo> >.>
20:54:24 <elliott> (I agree with not blanking the pages, but the reaction is a bit over-the-top)
20:54:29 <ais523> me, Keymaker and cpressey deal with most of the spam problem, that's pretty much the only thing that normally needs admin intervention
20:54:55 <zzo38> ais523: Well, that is OK. If there is enough of wrong thing that is emergency, it ought to be corrected like that.
20:54:57 <elliott> ais523: I like how cpressey didn't even realise he was a sysop until I told him
20:55:01 <elliott> ais523: despite him deleting pages before that
20:55:49 <elliott> grr, I just realised I'm basically cheating at the self-interpreter game
20:55:53 <elliott> accidentally
20:56:16 <elliott> because I'm using various non-trivial procedures, and then just including them in the self-interpreter with
20:56:18 <elliott> (foo . ,foo)
20:56:20 <elliott> in the default environment
20:56:29 <elliott> i.e., abusing metacircular privileges to vastly inflate the language
20:57:17 * Sgeo is excited for the upcoming release of Newspeak, despite not having enough time to submit my trivial IDE changes
20:57:32 <Sgeo> Well, change. And it would probably be easier to describe the change than to package it up in any way
20:57:43 <elliott> uh oh
20:57:45 <elliott> my mouse is ... leaking
20:58:40 -!- elliott has left (?).
20:58:44 -!- elliott has joined.
21:00:22 <elliott> ais523: is there an idealised algol self-interp? :)
21:02:13 <ais523> it doesn't have I/O, so no
21:02:39 <ais523> also, the interesting subsets are incapable of self-interpreting due to being FSMs
21:02:52 <Sgeo> elliott, I assume that's a metaphor for trying to avoid me?
21:03:00 <elliott> Sgeo: what
21:03:11 <Sgeo> What could a mouse possibly leak?
21:03:11 <elliott> ais523: you don't need IO, just have a program that is a function
21:03:14 <elliott> taking a program and returning the result
21:03:17 <Sgeo> *non-biological mouse
21:03:21 <elliott> Sgeo: i wish i knew
21:04:16 <ais523> that reminds me of my /quit I think my computer is on fire
21:04:35 <ais523> elliott: it doesn't have any sort of string type either
21:04:48 <ais523> not even an easy equivalent to lists
21:04:57 <elliott> ais523: sounds useful!
21:05:11 <ais523> idealised, see?
21:05:28 <Sgeo> Have I actually talked about Alluded To Female enough in here for her to be called Alluded To Female?
21:05:38 <elliott> Sgeo: No, and please don't make it that way.
21:05:45 <ais523> PSOX!
21:05:49 <elliott> ais523: assume a perfectly spherical programming language in a vacuum
21:06:09 <Sgeo> So why did you mention Alluded To Female the other day?
21:06:21 <elliott> I did?
21:06:51 <ais523> elliott: hmm, you know, say, Iterable<bool[8]> from Java, or your equivalent in insert-favourite-programming-language-here?
21:07:01 <elliott> ais523: sure
21:07:06 <ais523> that's pretty much as close to a string as you can get in Idealised Algol
21:07:10 <Sgeo> When I said something about sending a message to Fidelity, and you thought Fidelity was her name
21:07:29 <ais523> it's probably close enough to work from
21:07:29 <elliott> ais523: so all strings are 8 bytes? :)
21:07:37 <ais523> no
21:07:37 <elliott> (say yes)
21:07:39 <elliott> darn
21:07:52 <ais523> they're things that support the same methods as a list of 8-bit characters would
21:08:00 <elliott> ais523: oh, bool
21:08:02 <elliott> not byte
21:08:05 <ais523> yep
21:08:19 <ais523> who needs data types other than booleans?
21:08:35 <ais523> (actually, IA's type system is hilarious; it's based around 1-bit integers and 0-bit integers)
21:08:40 <elliott> ais523: idealised algol has functions, does it not?
21:08:43 <ais523> (and the 0-bit integers are used more often)
21:08:46 <elliott> then why does it need booleans?!
21:08:49 <ais523> it does, but only in the typed lambda calculus sense
21:08:55 <Sgeo> 0-bit... integers..
21:09:07 <ais523> I suppose it doesn't actually need booleans
21:09:07 <elliott> ais523: you can do booleans in typed lambda calculus :P
21:09:15 <elliott> *the typed
21:09:20 <ais523> on the other hand, I think they end up equivalent in the final circuitry
21:09:58 <ais523> (that is, \a\b.a and \a\b.b are wired the same way as true and false)
21:09:59 <elliott> your language is bloated! I'm switching to Idealised Concurrent Lambda Calculus
21:10:32 <elliott> ais523: how generic is idealised algol? e.g. could there be a VHDL compiler outputting idealised algol?
21:10:39 <ais523> you have three or possibly four base types: command (0-bit int), integer (1-bit int), variable (like bool* in C), and perhaps Semaphor
21:10:43 <ais523> *semaphore
21:10:51 <elliott> 0-bit int is just data () = (), surely?
21:10:54 <ais523> there's some debate as to whether the semaphores are intrinsically needed
21:10:56 <ais523> elliott: yep
21:11:06 <ais523> but it can still be evaluated for its side effects
21:11:07 <elliott> ais523: also, like (bool *) sans pointer arithmetic, one presumes
21:11:13 <ais523> and yes
21:11:21 <ais523> more like (bool &) from C++, except everyone hates C++
21:11:25 <elliott> ais523: I would call 0-bit int "the unit type"
21:11:31 <elliott> 0-bit integer just makes it sound strange for no real reason
21:11:31 <ais523> or ref bool from ML
21:11:36 <elliott> ais523: *bool ref
21:11:36 <ais523> elliott: oh, we normally call it "command"
21:11:39 <ais523> but that sounds even weirder
21:11:41 <ais523> elliott: err, yes
21:11:50 <elliott> in ML, type parameters come first, because inconsistency is a virtue
21:12:28 <ais523> IA/ICA is pretty heavily inspired by ML, actually
21:12:42 <ais523> except it's call-by-name
21:13:11 <ais523> (this makes it difficult to determine whether it's lazy or eager, it has properties of both; mostly lazy, I think)
21:13:21 <Sgeo> 4:30 I quit IRC
21:13:23 <Sgeo> (local time)
21:13:38 <Sgeo> No, elliott. Not forever.
21:14:01 <elliott> you have 16 minutes
21:14:03 <elliott> oerjan!
21:14:13 * oerjan commends tswett on counting the number of sand particles in Nubia
21:14:55 <oerjan> no wonder he was away from the channel so long
21:15:06 <Sgeo> oerjan, hmm?
21:16:49 <elliott> wow, beating cpressey is really hard
21:17:41 <elliott> oerjan: can you get a rubber hose to beat cpressey with?
21:18:04 <ais523> elliott: just steal something from a shop, kill the Kops that come after you, and take theirs
21:18:12 <ais523> (note: this may only work in NetHack, not in Real Life)
21:18:43 -!- poiuy_qwert has joined.
21:18:46 <elliott> ais523: killing the Kops is not exactly /easy/
21:18:53 <ais523> it is, Kops are pretty rubbish
21:18:55 <oerjan> elliott: here ===================================
21:18:58 <ais523> it's the shopkeeper that's the issue
21:19:03 <ais523> the Kops are just there to get in the way
21:19:10 <elliott> ais523: oh, the Kops are fine, I forgot
21:19:14 <elliott> ais523: I was thinking of the Watch
21:19:22 <elliott> who, er, bad memories
21:19:36 <elliott> ineiros: YO HMOD UPDATE OUT CUZ IT'S LIKE THEI T
21:19:38 <elliott> *THE IT
21:19:47 <Sgeo> elliott, you escaped the watch IIRC
21:20:09 <elliott> Sgeo: Correction -- I, pressing the keys that #nethack told me to, escaped the Watch.
21:20:12 <elliott> #nethack is a very good player.
21:30:12 <Sgeo> Well, bye all
21:30:24 <Sgeo> Bye all.
21:30:35 <zzo38> I am sorry I am late.
21:30:44 <zzo38> ais523: What was the result of the match?
21:30:45 -!- Sgeo has quit (Quit: Leaving).
21:33:10 <ais523> zzo38: I can't remember
21:33:12 <ais523> it was ages ago
21:33:19 <ais523> I don't think I was supporting either team
21:34:11 <elliott> emacs appears to rearrange itself in my task bar if i move it
21:34:15 <elliott> go next to firefox, stupid thing!
21:34:22 <elliott> no, don't go next to two firefoxes
21:34:22 <zzo38> I found a description of algorithm for plurals, I might use something similar with TeXnicard.
21:34:27 <elliott> I dragged you next to /one/
21:35:24 <zzo38> But first I should add conditional processing commands @< ... @>
21:35:43 <zzo38> Or perhaps @[ ... @]
21:36:02 <zzo38> ais523: Do you need to support either team?
21:36:52 <zzo38> ais523: Do you remember if there were any ties or draws?
21:37:04 <elliott> wow
21:37:07 <elliott> my program has a cadadr in it
21:37:09 <elliott> (cadadr e)
21:37:20 <ais523> zzo38: draws are quite common, ties are pretty rare
21:37:25 <ais523> (draws happen when you run out of time)
21:39:32 <zzo38> ais523: How common are draws? (I have only seen a few scorecards, so I don't know.)
21:43:49 <ais523> pretty common
21:44:03 <ais523> sometimes sides get greedy and get too many runs, then can't win in time
21:44:17 <ais523> and sometimes sides stall for a draw because they know that declaring would probably make them lose
21:44:40 <ais523> sometimes, about half the games are draws
21:44:45 <elliott> grr, I think I might have to convert my defines into lets
21:44:55 <ais523> (to the extent that county cricket introduced a tiebreak rule for draws, to stop people doing it so much)
21:45:33 <coppro> declare?
21:45:46 <ais523> concede the rest of your innings
21:45:49 <zzo38> coppro: Declare an innings closed is you end your current innings early.
21:46:08 <ais523> you only do it when you think you'll win anyway, and fear that if you continue you'll end up running out of time and only getting a draw
21:48:50 <elliott> OK, I /think/ I have BEGIN and DEFINE support now.
21:52:49 <elliott> ugh, my default environment is going to be ugly though
21:52:51 <elliott> since I have no LIST
21:53:24 <elliott> (cons (cons 'cons cons) ...)
21:53:30 <elliott> Cons cons cons cons cons cons cons.
21:57:09 <zzo38> Here is one possible rule (I don't know how well it would work): If one side has wasted more time than the other side in total, and the game is running out of time while the side wasting more time is the batting side, the batting side loses. (I don't know how well such a rule would work.)
21:59:37 <ais523> how can you tell if a side is wasting time?
21:59:44 <ais523> the rule actually used is based on runs per over
21:59:48 <ais523> which is similar, in a way
21:59:57 <ais523> in that timewasting tends to be quite low on runrate
22:00:09 <ais523> whereas trying to hurry up so you can declare tends to be quite hich
22:00:10 <ais523> *high
22:03:16 <elliott> "I need help with another scheme question. I have four different functions that check four conditions to determine validity of the input. Each function checks one condition and returs a boolean. Normally, I would just check ((func1) && (func2) && .....)and print out the boolean. But appearantly Scheme48 doesn't allow logic operators. So How do I check the four functions without using logic operators?"
22:03:56 <ais523> it'd be something like (lazy-and (func1) (func2) (func3) (func4)), although I don't know what the function's actually called in Scheme
22:04:11 <elliott> ais523: "and", and it's a special form; but I know this, I was just quoting it for amusement.
22:04:12 -!- wareya has quit (Read error: Connection reset by peer).
22:04:16 <zzo38> ais523: I don't know if you can tell if a side is wasting time much, except possibly in a computer game. Or maybe with TV recording. I don't know.
22:04:20 <elliott> [[I tried doing cond( (func1) (cond( (func2) (cond (func3) (cond (func4)#T))))) but it returns
22:04:20 <elliott> Warning: invalid variable reference
22:04:20 <elliott> cond
22:04:20 <elliott> #{Package 173 user}
22:04:20 <elliott> ; no values returned]]
22:04:23 <elliott> ^ lol
22:04:54 -!- wareya has joined.
22:05:37 <zzo38> Maybe runs per over might work. Either way, if you think you could tell which side wasted more time in the match in total, do you think my rule would work? (I don't know for sure?)
22:09:37 <elliott> In any case, I strongly think that the primitive for assigment
22:09:37 <elliott> should be SET and not SET!. In fact, since no one likes assignment
22:09:37 <elliott> anyway, I don't see any reason why anyone should object to just
22:09:37 <elliott> leaving this undefined in the standard.
22:09:51 <elliott> -- Kent M Pitman, the RRRS standardisation list, 1984
22:09:54 <elliott> If only.
22:13:39 <zzo38> elliott: What is it that you are making?
22:14:52 <elliott> zzo38: I am attempting to implement an interpreter of a restricted subset of Scheme in that subset, such that the self-interpreter is shorter than that of Chris Pressey's Pixley effort (http://catseye.tc/projects/pixley/) without the language being much bigger at all.
22:17:51 <zzo38> OK. Try to make that.
22:23:51 -!- j-invariant has joined.
22:27:01 <elliott> wow I think this self-interpreter might actually work right now
22:27:04 -!- TLUL has changed nick to TLUL5.
22:27:09 -!- TLUL5 has changed nick to Cook_Me_Flax.
22:27:19 <elliott> well, if I fix the ONE OR TWO errors :P
22:28:27 <elliott> hmm, where _is_ that unterminated list
22:30:55 <elliott> ais523: you never tried that riddle, did you?
22:31:07 <elliott> well
22:31:08 <elliott> "riddle"
22:31:12 <elliott> in a very lose sense of the word
22:41:28 <elliott> ugh, more bugs
22:42:11 <zzo38> This is the document I found about English plural: http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html (I plan to use a somewhat more generic algorithm in TeXnicard)
22:42:14 -!- zzo38 has quit (Remote host closed the connection).
22:43:38 <j-invariant> What is TeXnicard?
22:45:05 <elliott> yay damian conway
22:48:05 <j-invariant> im not sure ym little finger can take much more proving
22:48:49 <elliott> j-invariant: you prove things with your little finger?
22:48:55 <elliott> i tend to use my other fingers, too
22:49:47 -!- TLUL_ has joined.
22:50:14 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
22:50:25 <j-invariant> even with Ctrl moved to the caps-lock key, it's taking a beating with all these lemmas
22:50:51 <elliott> j-invariant: the best place for ctrl is where alt is (on pc keyboards) IMO, that's where it originally was
22:50:54 <elliott> and alt was at the extremities
22:51:00 <elliott> originally = on ibm pc keyboards
22:51:01 <j-invariant> hmm
22:51:12 <elliott> although on os x of course this is done by default
22:51:14 <elliott> well, with apple keyboards
22:51:20 <j-invariant> any idea how to tell emacs this ? :D
22:51:26 <elliott> not in emacs, though, which still uses ctrl...
22:51:36 <elliott> j-invariant: dunno, what OS?
22:51:41 <j-invariant> ubuntu
22:52:04 <coppro> elliott: I have to say I like them where they are
22:52:38 -!- Cook_Me_Flax has quit (Ping timeout: 240 seconds).
22:52:55 <elliott> j-invariant: system → preferences → keyboard → layouts → options... → ctrl key position → ...never mind, it doesn't have an option for it
22:53:04 <elliott> j-invariant: you could mess around with xkb. but that way madness lies.
22:54:53 <elliott> j-invariant: telling emacs, though... I /think/ you can tell it to consider another key to be C-
22:55:07 <elliott> but i don't know how.
23:00:40 <elliott> wait /what/
23:01:41 -!- ais523 has quit (Remote host closed the connection).
23:04:08 <elliott> ok this /almost/ works
23:05:10 <Vorpal> <elliott> Vorpal: You did pirate the ROMs, right? <-- I found some copies on an old floppy. It said "this is totally legal" on the sticker
23:05:23 <elliott> Vorpal: I meant as opposed to not having the ROMs. :p
23:05:33 <Vorpal> elliott, I do have the roms yes
23:05:40 <Vorpal> elliott, it failed in a different way before that
23:05:46 <Vorpal> elliott, which was to exit
23:05:55 <Vorpal> elliott, and the music /plays/, it just stutters
23:06:00 <Vorpal> every now and then
23:06:00 <elliott> Vorpal: Note: The MT-32 has a superior sound to the emulator, even when it works properly.
23:06:06 <elliott> And, also, uses less CPU.
23:06:12 <elliott> Did I mention ScummVM can interface with a real MT-32?
23:06:17 <Vorpal> elliott, I don't have one
23:06:18 <elliott> What I'm saying is: BUY IT FROM ME GOD DAMMIT.
23:06:21 <Vorpal> so that doesn't help
23:06:26 <Vorpal> elliott, don't you want to use it
23:06:29 <Vorpal> elliott, free shipping?
23:06:46 <Vorpal> also I have nowhere to put it anyway
23:06:49 <elliott> Vorpal: Free shipping if the price is at least \epsilon more than the cost of shipping :p
23:06:50 <elliott> *:P
23:06:52 <elliott> Also, it's not big.
23:07:05 <Vorpal> elliott, approx dimensions?
23:07:22 <elliott> Umm... it's wider and about as long as this 13" laptop, I'd say. Pretty flat; just enough for a display and some knobs.
23:07:25 <elliott> Light, too.
23:07:32 <elliott> Vorpal: http://upload.wikimedia.org/wikipedia/en/0/05/MT_32.jpg
23:07:34 <elliott> Not big.
23:07:46 <Vorpal> elliott, that doesn't really show the scale
23:07:48 <elliott> Vorpal: http://www.chrisguitars.com/rol-mt32.jpg
23:07:51 <elliott> Vorpal: Comparison with big power brick.
23:08:04 <Vorpal> ah
23:08:19 <Vorpal> elliott, won't fit. Only place I have is on top of the tower case really
23:08:37 <elliott> Just put it on the floor :P
23:08:59 <elliott> Alternatively, I'M SELLING AN AUTHENTIC SNAKE-OIL-COATED HOUSING STATION FOR THE MT-32.
23:09:05 <elliott> Only $1e9999999999999999999999.
23:09:19 <Vorpal> elliott, besides, the actual copy of the game for scummvm I have includes some *.ogg renderings that sound like the mt-32
23:09:22 <Vorpal> and that don't stutter
23:09:29 <Vorpal> and that scummvm seems able to use
23:09:33 <elliott> Vorpal: Is that Monkey Island 1?
23:09:40 <elliott> Vorpal: If so, those are rips of the CD tracks.
23:09:42 <Vorpal> elliott, 1 and 2. Have only tried 1 so far
23:09:51 <Vorpal> both have *.ogg
23:09:54 <elliott> Vorpal: Right, 2 you don't need MT-32 for, just tell it to use Adlib.
23:10:01 <elliott> Vorpal: Oh, and BTW, you want to turn on aspect ratio correction in the ScummVM settings.
23:10:02 <Vorpal> elliott, but adlib sounds horrible
23:10:04 <Vorpal> I heard that
23:10:08 <elliott> Vorpal: Not for MI2. It's designed for Adlib.
23:10:11 <elliott> (More or less.)
23:10:11 <Vorpal> elliott, oh
23:10:24 <Vorpal> elliott, aspect ratio correction?
23:10:33 <Vorpal> elliott, won't it just resize the window?
23:10:34 <elliott> Vorpal: Yes. global scummvm settings -> graphics.
23:10:47 <elliott> Vorpal: tl;dr the games are 320x200. This was shown on a 4:3 monitor.
23:10:49 <elliott> i.e. non-square pixels.
23:11:00 <elliott> i.e. everything will look subtly wrong if you don't turn on aspect ratio correction.
23:11:01 <Vorpal> yeargh
23:11:11 <elliott> Vorpal: You probably want 2x or 3x scaling (with no filters) too.
23:11:16 <elliott> Higher is better, since there's less error in the aspect ratio correction then.
23:11:18 <Vorpal> elliott, btw xdpyinfo or whatever thinks I have (very slightly) non-square pixels
23:11:31 <Vorpal> the dpi differs in like 1-2. I think it is wrong
23:11:36 <elliott> Vorpal: I think that's just because you have non-square pixel distance, possibly.
23:11:40 <elliott> With the actual pixels still being square.
23:12:01 <Vorpal> elliott, well measuring and dividing by pixels gives it as square
23:12:10 <elliott> Fair enough then.
23:12:12 <Vorpal> but the difference is too small to actually be certain about
23:12:26 <elliott> Now to figure out how my self-interpreter is broken.
23:12:41 <elliott> Ahhhhhh-ha!
23:12:43 <elliott> It isn't.
23:12:48 <elliott> I was just foolishly using an INVALID PROGRAM.
23:13:16 <Vorpal> elliott, I mean, I /could/ use the steel calipers I have. But the risk of scratching screen is high
23:13:27 <Vorpal> elliott, also I don't think it would be enough for the width
23:14:42 <Vorpal> elliott, it could be some integer rounding error for the dpi I guess
23:15:03 <elliott> http://i.imgur.com/WhkPl.gif <-- Oh man, time to get some wood, I'm all out. La la la... la la la... WHAT AAAAAAAA
23:15:12 <elliott> (on SMP, apparently)
23:15:21 <elliott> Better with TNT though :P
23:15:40 <fizzie> Two of these three monitors report non-equal X/Y DPI numbers too.
23:15:42 <fizzie> $ xdpyinfo | grep -i resolution:
23:15:42 <fizzie> resolution: 93x95 dots per inch
23:15:42 <fizzie> resolution: 99x98 dots per inch
23:15:42 <fizzie> resolution: 96x96 dots per inch
23:15:58 <Vorpal> elliott, wait, water on the wood?
23:16:04 <Vorpal> elliott, oh right, you did that?
23:16:25 <elliott> Vorpal: No.
23:16:29 <Vorpal> elliott, we have 2 or 3 "water trees" on our server
23:16:34 <elliott> We do?
23:16:54 <Vorpal> elliott, two near 4000,4000, I made one (4x4x2 pool) and PH made one (1x1x1 pool)
23:17:00 <Vorpal> elliott, and a third one elsewhere iirc
23:17:06 <Vorpal> somewhere northeast of spawn
23:17:07 <elliott> Oh, so a tree in water. Right.
23:17:38 <elliott> Feck, it do not wurk.
23:17:39 <Vorpal> elliott, that happens too
23:17:47 <elliott> This a bads!
23:18:03 <elliott> $ mzscheme -f diuerse.scm
23:18:03 <elliott> (begin (define x (quote x)) x)
23:18:03 <elliott> (begin x)
23:18:03 <elliott> x
23:18:03 <elliott> car: expects argument of type <pair>; given ()
23:18:04 <Vorpal> elliott, or rather, way east from spawn there is a waterfall with multiple partially submerged trees
23:18:06 <elliott> WHAT HAVE I EVER DONE TO YOU
23:18:18 <Vorpal> elliott, this was natural
23:19:13 <elliott> If I fix this bug, though, I think I've beaten cpressey.
23:19:27 <elliott> Although I'll want to implement a compiler to C, so we can have a wonderful Diuerse interpreter in C.
23:19:36 <elliott> Well. With a hardcoded program.
23:20:08 <Vorpal> elliott, beaten him at what?
23:21:18 <fizzie> Beaten him with what?
23:21:51 <fizzie> "A ray of sunlight is made up many atoms." -- Plan 9 from Outer Space.
23:22:20 <fizzie> Supposedly with "of" in there, that might be a typo of whoever made this script transcription thing.
23:23:14 <Vorpal> fizzie, well, not of sunlight, But what about a ray of CME? (Coronal Mass Ejection iirc)
23:23:41 <elliott> Vorpal: Beaten him at "a Scheme subset with a short self-interpreter".
23:24:05 <elliott> My language is slightly bigger than his (but smaller in some other aspects), but the self-interpreter is shorter and simpler.
23:24:08 <Vorpal> elliott, oh, but didn't he hate the begin keyword?
23:25:04 <fizzie> Vorpal: "Take a can of your gasoline. Say this can of gasoline is the sun. Now you spread a thin a line of it to a ball, representing the Earth. Now, the gasoline represents the sunlight, the sun particles. Here we saturate the ball with the gasoline, the sunlight. Then we put a flame to the ball. The flame will speedily travel around the Earth, back along the line of gasoline to can, or the sun itself. It will explode this source, and spread to every place tha
23:25:04 <fizzie> t gasoline, or sunlight, touches. Explode the sunlight here, Gentlemen, and you explode the universe."
23:25:20 <elliott> Vorpal: I could do without begin, it'd just be slightly uglier. I don't know that he hates it, anyway, and Scheme has no keywords; "begin" is a perfectly valid symbol, for instance. But, yes, the BEGIN special form.
23:25:39 <elliott> fizzie: That is my new favourite science.
23:25:57 <Vorpal> fizzie, ... this is so.... absurd
23:26:01 <fizzie> It's about a solaronite bomb.
23:26:44 -!- oerjan has quit (Quit: BOOOM).
23:26:58 <elliott> Explode The Sunlight Here, Gentlemen, And You Explode The Universe sounds like a post-post-indie post-post-post-pre-'pata-post-hipster album title.
23:27:02 <elliott> Okay, so not really.
23:27:05 <elliott> BUT IT WOULD, IN A BETTER UNIVERSE.
23:27:10 <fizzie> Oh no, oerjan must've stumbled across some solaronite. Bye bye, universe.
23:27:19 <elliott> RIP universe a long time ago -- recently.
23:27:40 <Vorpal> elliott, I wonder what would happen in MC if the admin was to /give 64 blocks of 0 to a player
23:27:44 <Vorpal> (that is air iirc)
23:27:50 <elliott> Vorpal: I don't think you can hold air.
23:28:15 <fizzie> Also the "space soldier" bad guy is called Eros.
23:28:45 <Vorpal> fizzie, .... ....
23:28:57 <fizzie> I wonder if pre-beta you could have placed air (with the item-placement hack) as opposed to mining.
23:30:07 <fizzie> At least with /give you can (or could) give someone water/lava source blocks, and they could hold those just fine. (They were rendered as thin, flat squares of water/lava when held in the hand.)
23:30:56 <fizzie> And protocol-wise the "no block" code tends to be -1, not 0. So it could do something.
23:31:47 <elliott> fizzie: Minepedia is very adamant that you can't do any funny stuff with air, at least: http://www.minecraftwiki.net/wiki/Air
23:32:40 <fizzie> "There's no item with id 0"
23:32:48 <fizzie> Apparently not, then.
23:33:25 <fizzie> Water is nice and animated in the inventory too.
23:33:55 <fizzie> Both spring and block forms have the same tooltip ("Water").
23:34:02 <elliott> $ mzscheme -f diuerse.scm
23:34:02 <elliott> (quote x)
23:34:06 <elliott> No, no, no ...
23:34:12 <elliott> fizzie: Portals even have a nice inventory icon. :p
23:34:19 <elliott> As in, actual portal block. It just dies after a few seconds if you place it.
23:35:08 <fizzie> The non-source water block is pretty silly. You can place a block of still, non-flowing water anywhere, apparently.
23:35:29 <elliott> Awesome.
23:36:42 -!- calamari has joined.
23:36:42 <elliott> It works!
23:36:45 -!- sshc has joined.
23:36:58 <calamari> hi
23:37:54 <elliott> hi
23:41:28 <elliott> hm I think that my procedures may not support recursion as-is
23:41:54 <elliott> indeed
23:43:04 <calamari> working on something fun?
23:44:01 <elliott> calamari: semi-fun
23:44:14 <elliott> calamari: a self-interpreter for a tiny subset of Scheme
23:44:28 <elliott> the goal is to beat cpressey by having a shorter self-interpreter with a language about as small :)
23:44:53 <calamari> cool
23:45:30 <elliott> currently I have a 66-line interpreter which does everything except recursion.
23:45:46 <elliott> and which I think can make self-interpret by changing (define (f ...) ...) to (define f (lambda (...) ...)).
23:45:49 <elliott> well, and adding recursion :P
23:46:15 <Deewiant> That's kind of like having a C compiler that doesn't support loops
23:46:43 <elliott> Deewiant: Technically, all I have to do is fix DEFINE.
23:47:04 <elliott> Deewiant: I could have it so that in (define name value), name is in value's scope. Except not really, because that'd be infinite recursion etc.
23:47:15 <elliott> But the way I do it, define is basically a let around the rest of the program.
23:47:23 <elliott> So I'm not quite sure what to do.
23:48:24 <Deewiant> For define, all you need to do is implement macros and convert (define (f ...) ...) to (define f (lambda (...) ...)) using them
23:48:35 <elliott> Deewiant: That's not the issue.
23:48:44 <Deewiant> I know, I was being snarky.
23:48:52 <elliott> Right.
23:49:05 <elliott> The real issue is that "(define x (lambda () (x)) ..." doesn't work, because it just adds x to the environment in which it evaluates "...".
23:49:10 <elliott> *x)))
23:49:16 <elliott> And it's not exactly clear how to fix this.
23:49:28 <elliott> I could add list mutation, but, uh, that's a lot of additional complexity and ugliness and horrible and ugh.
23:49:38 <elliott> Wait!
23:49:40 <elliott> Actually I can just fix define.
23:49:43 <elliott> Wait, no, I can't.
23:49:46 <elliott> Can I? Maybe.
23:49:55 <elliott> Maybe if I add another parameter to EVIL to denote ... no, no.
23:50:00 <elliott> But if ... no.
23:50:32 <elliott> Deewiant: Fix my program, yo!
23:50:43 <Deewiant> s/bugs//
23:50:46 <Deewiant> Done
23:50:46 <Vorpal> elliott, how goes the C game language thing?
23:50:58 <Vorpal> well, not quite c
23:51:12 <elliott> Vorpal: Waiting for Phantom_Hoover to return from his mandatory six-day relative-visiting-hell. (Note: Hell may be exaggerating. Slightly!) :p
23:51:35 <Vorpal> elliott, actually I had guests from US this evening. Very nice.
23:51:58 <elliott> Yes, but this is IRELAND.
23:52:21 <Vorpal> they are not old relatives however, but rather young friends of my mom.
23:52:41 <elliott> "mom"? You've turned into one of them already!
23:52:56 <Vorpal> elliott, oh right "mum" in UK
23:53:30 -!- TLUL_ has changed nick to TLUL.
23:54:25 <elliott> Grr, this is actually really subtle.
23:54:32 <elliott> Clearly I did not read sufficient amounts of SICP today.
23:56:05 * elliott notes:
23:56:06 <elliott> T3X.ORG : Goodbye
23:56:06 <elliott> Due to a revision of German law (the controversial JMStV), I will take this site off-line on 2010-12-31 until some degree of legal certainty has been established.
23:56:08 <elliott> and for posterity:
23:56:10 <elliott> Looking for Scheme 9 from Empty Space?
23:56:11 <elliott> It is now hosted at these locations:
23:56:11 <elliott> http://tx97.net/s9fes/
23:56:13 <elliott> http://telegraphics.com.au/s9fes/
23:56:15 <elliott> http://www.sacrideo.us/s9fes/
23:56:17 <elliott> http://xivilization.net/~marek/s9fes/
23:56:19 <elliott> Thanks for giving the code a new home!
2010-12-26
00:00:27 <elliott> ((equal? (car e) 'lambda)
00:00:27 <elliott> (lambda (args)
00:00:27 <elliott> (evil
00:00:27 <elliott> (car (cdr (cdr e))) ;;
00:00:27 <elliott> (append (bind (car (cdr e)) args) env))))
00:00:35 <elliott> Hmm.
00:00:49 <elliott> Pixley solves this problem by just Y-combinatoring, but, uh, ...
00:03:12 <elliott> Nobody have any fantastically enlightening opinions to give?
00:03:47 <j-invariant> evil??
00:04:50 <elliott> j-invariant: It's what I called eval to not step on the built-in R5RS procedure.
00:13:20 <elliott> Great, it doesn't self-interpret...
00:13:29 <Gregor> Hello, HEATHENS
00:14:48 <elliott> Gregor: YO.
00:14:50 <elliott> Gregor: Fix my 'terp.
00:15:04 <elliott> In fact, everyone fix my 'terp.
00:15:21 <Gregor> NOWAY BIACH
00:15:21 <elliott> Gregor: If you don't want to do that, write a paper about this: http://syntensity.com/static/python.js
00:15:26 <j-invariant> just have something that turns "lambda" into lambda and you're done
00:15:36 <elliott> CPython compiled to LLVM compiled to JavaScript.
00:15:39 <elliott> j-invariant: nope, it's a scope problem
00:15:48 <elliott> j-invariant: basically "(define x y) ..." is the same as (let ((x y)) ...)
00:15:55 <elliott> so obviously can't self-reference at all :-/
00:15:58 <j-invariant> scope is always difficult..
00:16:03 <elliott> I mean I'm just doing
00:16:07 <elliott> (define mock
00:16:07 <elliott> (lambda (f)
00:16:07 <elliott> (f f)))
00:16:08 <elliott> for now
00:16:11 <elliott> and having everything be ugly
00:16:15 <elliott> but i have a subtle bug now, in self-interpreting
00:16:18 <elliott> which is just making me the sads.
00:18:13 <elliott> specifically
00:18:15 <elliott> cons: expects 2 arguments, given 1: (car #<procedure:car>)
00:24:40 -!- RachelS has joined.
00:24:51 <elliott> hi RachelS
00:25:14 <RachelS> hello Elliot
00:26:44 <elliott> RachelS: this channel is about esoteric programming languages, btw
00:27:02 <RachelS> Ah yes I've visited your wiki
00:27:11 <elliott> right, a lot of people come in here expecting other things :p
00:27:21 <RachelS> I had no expectations
00:31:23 -!- Wamanuz has quit (Read error: Connection reset by peer).
00:31:50 -!- Wamanuz has joined.
00:33:10 -!- RachelS has left (?).
00:34:38 -!- ineiros_ has joined.
00:39:44 -!- ineiros has quit (*.net *.split).
00:46:11 <j-invariant> I hate re-writing :/
00:51:02 <elliott> ineiros_: hMod, it is the out.
00:52:35 -!- calamari_ has joined.
00:53:47 -!- calamari has quit (Quit: Bye).
00:54:02 -!- calamari_ has changed nick to calamari.
01:35:48 <j-invariant> elliott: I'm running out o fmotivation :(
01:38:36 <elliott> j-invariant: but category theory!
01:38:41 <j-invariant> I know
01:39:02 <j-invariant> I'ull make a roadmap
02:10:14 -!- hagb4rd has quit (Ping timeout: 240 seconds).
02:20:16 -!- Wamanuz has quit (Remote host closed the connection).
02:24:07 -!- Wamanuz has joined.
02:27:07 <elliott> does anyone else want to try the Pixley Challenge? :-P
02:27:42 -!- Sasha has quit (Read error: Connection reset by peer).
02:28:07 -!- Sasha has joined.
02:32:41 <j-invariant> what is it?
02:33:56 <elliott> j-invariant: "Write a self-interpreter in a subset of R5RS Scheme. Optimise for the shortness of the interpreter and secondarily the size of the language. You may make it metacircular, but using EVAL itself is probably verboten in my opinion."
02:34:02 <elliott> j-invariant: (That's what I just wrote now, not a quote.)
02:34:08 <elliott> It must be able to interpret itself, obviously.
02:34:12 <j-invariant> oh it has to be scheme
02:35:36 <elliott> j-invariant: well you could do it to common lisp if you wanted i guess
02:35:40 <elliott> but scheme is simpler to implement
02:38:04 <elliott> j-invariant: why, what lang were you thinking of?
02:50:24 -!- benuphoenix has joined.
02:55:06 -!- benuphoenix has quit (Ping timeout: 272 seconds).
03:05:02 -!- pikhq has quit (Ping timeout: 255 seconds).
03:07:00 -!- pikhq has joined.
03:17:03 <elliott> oh man, this is so close to working
03:18:08 <pikhq> Oh?
03:19:08 <elliott> pikhq: yep, my metacircular subset-of-Scheme interpreter
03:20:29 <elliott> procedure ...e/diuerse/d2.scm:34:5: expects 2 arguments, given 1: ((procedure? e) e)
03:20:31 <elliott> hm, what :)
03:26:56 <elliott> pikhq: fix my code!
03:29:25 <pikhq> Insufficient Calvin & Hobbes.
03:30:20 <bsmntbombdood> fuck yeah scheme
03:31:13 <pikhq> bsmntbombdood!
03:31:22 <pikhq> I've not seen you actually say something in ages!
03:31:24 <bsmntbombdood> hello
03:36:23 <elliott> bsmntbombdood: less talking more pixley challenging
03:39:41 <bsmntbombdood> needs more call/cc
03:40:45 <elliott> bsmntbombdood: if you can make the self-interpreter smaller by doing CALL-WITH-CURRENT-CONTINUATION ... be my guest but i find it unlikely
03:41:34 -!- pikhq has quit (Ping timeout: 276 seconds).
03:42:38 -!- pikhq has joined.
03:44:16 <elliott> pikhq: so how do i order some piks from the hq
03:47:34 -!- Wamanuz has quit (Ping timeout: 276 seconds).
04:09:29 <elliott> http://projectfortress.sun.com/Projects/Community/blog/ReplaceFancyPantsTerminology Guy L. Steele thinks that instead of saying "Commutative[Q,*]" we should say "OrderDoesn'tMatter[Q,*]". What.
04:11:54 <bsmntbombdood> yes, throw away existing, formally-defined terminology so someone doesn't have to learn something
04:12:19 <j-invariant> this has nothing to do with programming languages... this post is PR or something
04:13:04 <elliott> yeah i like the fortress guys but ... what on earth made him think that
04:14:35 <j-invariant> too much chrismas spirit or someshing
04:21:54 <elliott> I wonder if floating point has any "useful" properties ... i.e. can you restate basic identities in them given some well-defined error term or whatever?
04:22:15 <elliott> like being able to say that a+b = b+a+error, except I'm pretty sure floating point addition is at least commutative ...
05:03:36 <elliott> pikhq: Holy shit. WebTV is still marketed and sold.
05:03:38 <elliott> pikhq: As the "MSN TV".
05:06:28 -!- FireFly has quit (Quit: swatted to death).
05:12:08 -!- calamari has quit (Quit: Leaving).
05:13:50 -!- elliott has quit (Remote host closed the connection).
05:14:49 <pikhq> Holy shit. People still buy that crap?
05:18:29 <Quadrescence> http://i.imgur.com/U4mPS.png
05:18:39 <Quadrescence> rms doesn't quite give the same air as jimbo wales
05:20:56 -!- pikhq has quit (Ping timeout: 264 seconds).
05:22:37 -!- pikhq has joined.
05:32:29 -!- Sgeo has joined.
05:39:40 <j-invariant> are the ashes on?
05:40:50 <pikhq> I'm afraid some murderous robots from the planet Krikkit took them. Something about the "Wooden Bail"...
06:05:43 <bsmntbombdood> i hate floats
06:05:53 <bsmntbombdood> rational bignums ftw
06:06:07 <Sgeo> DIE FLOATING POINT DIE
06:06:23 <bsmntbombdood> indeed
06:06:49 <Sgeo> And I hate anyone who sees a coordinate system in the form of 0.54, fails to realize that it's internally an int that, in that example, stores 54, and decides to model it with floating point
06:06:59 * Gregor <3 floating point
06:09:19 * Sgeo hits Gregor with a banking program written by an idiot who used floating-point to represent currency
06:09:34 <Gregor> Ooooh, that's bad ...
06:11:42 -!- pikhq has quit (Ping timeout: 260 seconds).
06:12:41 -!- pikhq has joined.
06:20:18 -!- TLUL has quit (Ping timeout: 265 seconds).
06:22:06 -!- Mathnerd314 has joined.
06:38:31 -!- wareya has quit (Ping timeout: 260 seconds).
06:39:34 -!- zzo38 has joined.
06:40:12 <j-invariant> zzo38: are the ashes on
06:41:11 <zzo38> j-invariant: I don't know. Did you ask a question about TeXnicard after I quit earlier today?
06:41:21 <j-invariant> yes what is TeXnicard
06:41:21 -!- wareya has joined.
06:42:03 <zzo38> j-invariant: TeXnicard is a program designed for making high-quality production quality cards such as Magic: the Gathering and so on, and also pack generation, statistics, and more.
06:42:30 <coppro> why is stats and stuff in TeX
06:42:32 <coppro> that seems totally wrong
06:42:34 <zzo38> It uses TeX to do the typesetting, METAFONT for fonts and set symbols, and ImageMagick to put everything together and apply.
06:42:40 <coppro> like 100% totally totally wrong
06:42:43 <j-invariant> oh cool zzo38 that sounds good
06:42:43 <zzo38> coppro: The stats and stuff is not in TeX.
06:42:47 <coppro> zzo38: oh
06:42:54 <coppro> j-invariant: basically he's trying to replace MSE
06:43:00 <zzo38> TeXnicard is not written entirely in TeX. It only uses TeX for the typesetting.
06:43:02 <coppro> knowing zzo38 it will likely not happen
06:43:06 <coppro> but if it does, <3
06:45:23 <zzo38> I have actually already written much of TeXnicard already.
06:47:19 <zzo38> It is already 71 pages long so far.
06:47:41 <coppro> pages?
06:47:45 <coppro> you measure code in pages?
06:48:15 <zzo38> coppro: Yes. (Note this count also include the index and table of contents)
06:48:41 <coppro> oh god
06:48:44 <coppro> are you using CWEB?
06:48:50 <zzo38> coppro: I am using Enhanced CWEB.
06:48:54 <coppro> oh dear
06:49:24 <zzo38> coppro: Is such a thing wrong?
06:51:59 <coppro> CWEB makes me twitch
06:52:13 <zzo38> coppro: Why?
06:52:52 <coppro> because it's so focused on making documentation out of code
06:53:11 <coppro> but this is usually unnecessary
06:53:40 <coppro> you're doing something wrong if you need a paragraph of text to accomplish each paragraph of code
06:53:58 <zzo38> coppro: A paragraph of text is not necessary for most of the paragraphs of code.
06:54:07 <zzo38> But sometimes it is useful to do so.
06:54:24 <coppro> in which regular comments usually do fine
06:54:36 <Sgeo> coppro, Factor separates code and docs into separate files
06:55:02 <zzo38> Even for the ones without, it is useful to organize into chapters, use code chunk rearrange, index, and more things.
06:55:11 <coppro> Sgeo: that I disagree with too
06:55:32 <coppro> there should really be two sorts of docs
06:55:39 <coppro> API docs and comments
06:55:49 <coppro> API docs are "how to use this piece of code"
06:55:52 <zzo38> Code and explanation is printed together in one book.
06:56:08 <coppro> while comments let someone looking at a confusing block of code understand it
06:56:12 <coppro> API docs should be separate
06:56:15 <zzo38> Mostly the explanations are about the "higher purpose" of the code.
06:56:30 <zzo38> It can be written as you write a book.
06:56:30 <coppro> putting API docs in comments and exracting them automatically is ok
06:58:26 <zzo38> I generally only put explanations where I think it to be necessary or if it is an interesting thing to put in the book.
06:59:34 <zzo38> Enhanced CWEB has other features too, such as change files, and code generation (I used some @{ ... @} blocks for interpreted codes for code generation in this program, too)
07:06:34 <zzo38> What I see with literate programming, is basically, the program is also a book. Or in other words, the book is also a computer program. It goes both ways.
07:08:56 <zzo38> Even TeX itself is written in WEB!!
07:11:43 -!- oerjan has joined.
07:15:18 <coppro> yeah, typical documentation does usually leave the super-high-level concepts out in the dust
07:15:53 <zzo38> Dust?
07:16:29 <oerjan> DRIVE THEM OUT INTO THE SAHARA
07:16:45 <coppro> zzo38: as in the coders leave it behind
07:16:46 <coppro> in their heads
07:17:13 <zzo38> oerjan: What does the Sahara have anything to do with this?
07:17:38 <oerjan> i hear it's rather dusty
07:18:15 <zzo38> coppro: Yes. That *is* one thing you do in this book. Explain it and read it at many levels, because you can read the explanation of the "higher purpose" of each chunk (and chapter), and the cross-reference of the other chunk, too.
07:18:35 <coppro> zzo38: I still believe CWEB is overkill
07:19:01 <zzo38> coppro: That is OK, you don't have to use it. I use it, though.
07:19:04 <coppro> k
07:19:15 <oerjan> 20:09:29 <elliott> http://projectfortress.sun.com/Projects/Community/blog/ReplaceFancyPantsTerminology Guy L. Steele thinks that instead of saying "Commutative[Q,*]" we should say "OrderDoesn'tMatter[Q,*]". What.
07:19:20 <oerjan> 20:11:54 <bsmntbombdood> yes, throw away existing, formally-defined terminology so someone doesn't have to learn something
07:19:38 <oerjan> it's also imprecise, since "order doesn't matter" would tend to imply associativity as well
07:19:42 <bsmntbombdood> oh hello oerjan
07:19:50 <oerjan> hi
07:20:09 * Sgeo is so stupid sometimes
07:20:22 <Sgeo> Trying to do 4 chapters in one night, then 7 page essay the following day
07:20:35 <Sgeo> Well, just finished one of the chapters, at any rate
07:21:08 <bsmntbombdood> i am finally learning haskell ^_^
07:21:12 <coppro> you still have class
07:22:00 <Sgeo> coppro, the grades are due in by Tuesday, the professor saidn "Can you get in the review questions and a final paper by Sunday?"
07:22:01 <oerjan> <j-invariant> are the ashes on?
07:22:20 <oerjan> suddenly half the channel seems to be interested in cricket...
07:22:29 <coppro> Sgeo: where the hell are you in school
07:22:46 <j-invariant> I thought it might help me with my mathematics
07:22:57 <coppro> you're in the land of disregarding the establishment clause, right?
07:23:00 <Sgeo> There are no more classes, classes ended last week I think, no, that was finals week I think
07:23:21 <coppro> lol
07:23:30 <coppro> my school has a rule against assignments in exams
07:23:40 <coppro> usually complaining doesn't do much because they make it due earlier
07:23:59 <Sgeo> coppro, there's something you're not grasping: All of this stuff was due over the course of the semester.
07:24:01 <coppro> but it would probably actually work if you tried it now given that classes ended three weeks ago
07:24:05 <coppro> Sgeo: oh
07:24:08 <coppro> so you're just an idiot
07:24:14 <Sgeo> coppro, yes.
07:24:24 <coppro> k the
07:25:13 <Sgeo> This is like suddenly not showing up to class for half a semester, then trying to do all the homework and exams in a fixed time period...... and putting THOSE off until well beyond reason
07:25:26 <Sgeo> I'm never taking an online class again.
07:30:14 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101026210630]).
07:30:36 <j-invariant> Sgeo what happened?
07:30:58 <Sgeo> j-invariant, I stopped even looking at the online course for a few months
07:31:05 <j-invariant> why?
07:31:17 <j-invariant> were you fed up or juts thought it wasn't necessary?
07:31:41 <Sgeo> j-invariant, because. I was overdue with one thing, and it sort of snowballed. And yeah, I may have been a bit cocky, come to think of it. Usually, in my mind, "computer course" == "easy A"
07:32:08 <j-invariant> aw that sucks, what is the course about?
07:32:31 <Sgeo> Cryptography and Computer Security
07:32:37 <Sgeo> Anyways, this question looks fun
07:33:15 -!- zzo38 has set topic: If you do not have access to IRC, then please do not read this notice. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
07:33:43 <oerjan> zzo38: hey, think of the poor log readers! </joke>
07:35:58 <j-invariant> cryptography is an actual science
07:36:16 <j-invariant> like you have to weigh up advantages and stuff
07:36:53 <oerjan> sadly based partly on unproved conjectures
07:37:07 <Sgeo> "Organizations may be willing to pay more for security products if the perceived risk is high, even if its completely off the mark from the actual risk. For instance, currently, in the U.S., a lot of money is being spent on controversial back-scatter machines for airports. It is unclear that the machines are effective, however, in the minds of many, the risk of terrorist attack outweights the risk of automobile accidents, although the latt
07:37:08 <Sgeo> er claim many more lives, and might be a more worthwhile thing to invest against (depending on what can be invested on to prevent such accidents with effectiveness)."
07:37:10 <Sgeo> Sorry
07:37:20 <Sgeo> I think I'm not forming my ideas coherently anymore
07:38:32 <zzo38> Can you find a proof, counterexample, or proof that there is no proof?
07:38:51 <oerjan> zzo38: was that a response to me?
07:39:06 <zzo38> Or proof of the opposite, even though you can find no counterexample?
07:39:12 <zzo38> oerjan: Partially, yes.
07:39:16 <j-invariant> it's based on evidence rather than mathematical proof
07:40:22 <oerjan> zzo38: one _might_. finding a proof would require proving the P!=NP conjecture.
07:41:12 <oerjan> the opposite might be somewhat weaker
07:43:00 <oerjan> while there is no actual proof of P!=NP yet, there are some results that imply the "easy" methods of complexity theory cannot work to resolve it
07:43:43 <j-invariant> I always wanted to learn those theorems
07:43:54 <j-invariant> think it would take years though..
07:44:16 <j-invariant> there are statements like that about fermats last thoerem and four color thoerem? I think
07:44:35 <oerjan> i haven't heard about those...
07:44:46 <j-invariant> maybe that's my imagination
07:45:12 <oerjan> there were of course many false leads, which might vaguely be interpreted as such theorems
07:46:09 <zzo38> Is there such a thing as a proof that there is no proof that there is a proof of such a theorem?
07:47:19 <Sgeo> Wooo!
07:47:24 <Sgeo> 2 chapters down, 2 to go
07:47:45 <Sgeo> Didn't even read the chapter, just the questions :/
07:47:55 <Sgeo> I don't think I mentioned computing even once... oh, I did
07:48:00 <Sgeo> Railed against the Cloud a bit
07:48:01 <oerjan> zzo38: probably. there are some restrictions though. for example if you proved that there was no disproof of fermat's last theorem, then you would have proved it... this is because there is an explicit, if non-terminating algorithm to find any counterexample.
07:48:42 <oerjan> oh and proofs that there are no proof need to be conditional on the consistency of the system, to avoid godel's theorems
07:48:48 <zzo38> oerjan: O, I guess you are right! That would work. A counterexample is a disproof.
07:49:16 <zzo38> oerjan: Ah, you must be right about that too.
07:50:11 <zzo38> How many years before IRC did Hofstadter write the GEB book?
07:51:25 <oerjan> IRC is from 1988 and GEB was published in 1979
07:51:43 <j-invariant> how come it's popular now?
07:51:49 <oerjan> says wikipedia
07:53:14 -!- j-invariant has quit (Quit: leaving).
07:53:37 <Sgeo> 7 page paper. Written on lack of sleep. It's going to be fun on a bun
07:56:11 -!- pikhq has quit (Ping timeout: 255 seconds).
07:57:09 <oerjan> Sgeo: just hope you don't wake up and discover it consists only of repetitions of "All work and no play makes Seth a dull boy"
07:57:51 -!- pikhq has joined.
07:58:51 <Sgeo> lol
07:59:41 <zzo38> oerjan: Well, it will be glad that it doesn't say that! (It says "Jack" instead of "Seth")
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:51 <oerjan> well in any case i'm sure his paper will set a shining example
08:01:38 <zzo38> oerjan: Do you think he has enough shiny ink?
08:01:44 <Sgeo> I watched that movie a long time ago. I remember nothing about it
08:01:54 <Sgeo> Watched it at a sleepover iirc
08:02:01 <Sgeo> Or I could be hallucinating
08:02:20 <Sgeo> I think there was also The Excorcist, which I declined to watch, and some stupid movie about Martians
08:02:38 <Sgeo> I think I've only ever been to one sleepover in my life, so
08:02:43 <Sgeo> Except on a class trip
08:02:47 <Sgeo> I'm rambling
08:03:34 <Sgeo> Supposedly, I didn't eat on that trip
08:04:15 <Sgeo> Or I could be misremembering someone screaming about that at me, my memory of the trip itself is hazy
08:04:19 <oerjan> so it was an evil camp where they starved children. got it.
08:04:29 <Sgeo> But it sounds like something I might do, but that's not reliable
08:04:42 <Sgeo> oerjan, there was almost certainly food. I can just imagine myself not touching it thogh
08:04:53 <Sgeo> Maybe I drank Ensure. Used to have Ensure for lunch every day
08:05:05 <zzo38> If everything is an illusion and nothing exists, do you think he definitely overpaid for his carpet, or do you think the money you used to pay for it is all hallucination?
08:05:20 <oerjan> zzo38: is that a quote?
08:05:47 <oerjan> ah woody allen
08:05:55 <zzo38> oerjan: No. It is something I wrote in the margin of a book, next to a similar quote.
08:06:41 <oerjan> zzo38: it could be both... even illusionary money can be a scarce resource
08:07:01 <zzo38> oerjan: OK.
08:07:17 <oerjan> which iiuc is all that matters to economists
08:07:53 <oerjan> in fact our modern money is quite close to being an illusion already
08:07:56 -!- CoBa has joined.
08:08:01 <zzo38> But then, everything being an illusion and nothing exists, does not *make* it he definitely overpaid for his carpet, directly. It might imply such a thing *indirectly*, though.
08:08:09 <zzo38> (For example, if the carpet is expensive)
08:08:58 <oerjan> zzo38: i am quite sure woody allen was joking, anyway
08:09:38 <zzo38> oerjan: Yes, of course. But this quote was in a book about philosophy (along with many other things, some of which are jokes).
08:11:00 -!- CoBa has quit (Quit: ).
08:22:57 <zzo38> This philosophy also contains a recipe for some Chinese food:
08:23:20 <zzo38> 1 pcs. chicken, 4 pcs. preserved beancurd, some gingar, chive, salt, sugar, gourmet powder, syrup, perfune, wine.
08:23:49 <zzo38> After wash, apply the preserved beaucurd, gingar, chive, salt, monosodium, sugar, syrup, perfume, wine into the bally of chicken, sew with iron needle.
08:24:13 <zzo38> After scalded by boiling water, pour water on duck, apply the syrup on the skin.
08:24:16 <zzo38> Hang it with cancel.
08:24:26 <zzo38> Then roast the chicken for ripe and skinn turn into gold-red colour.
08:29:32 -!- zzo38 has quit (Quit: Surely you are joking, Mr. Feynman!).
08:35:47 -!- asiekierka has joined.
08:35:52 <asiekierka> http://pastebin.com/idZbZm8A <- my work of yesterday
08:36:40 <asiekierka> app stored in app.txt, in binary (for example: 0000 0011, non-01 chars are ignored)
08:38:47 <asiekierka> brainf**k can be implemented in it so it seems turing-complete
08:40:12 <oerjan> asiekierka: don't you mean s/shift/rotate/ ?
08:40:34 <asiekierka> yes, yes i do
08:40:51 <asiekierka> the interpreter is not really good
08:40:52 <asiekierka> but it works
08:40:55 <asiekierka> i've tested all the commands
08:41:14 <oerjan> i assume those shift/rotate operations are what makes it more than a pushdown automaton in power
08:41:44 <asiekierka> well
08:41:45 <asiekierka> is it any good
08:44:45 <oerjan> it seems a bit run-of-the-mill to me
08:59:08 <Sgeo> 3/4
09:00:54 <asiekierka> 3/4 what
09:01:11 <Sgeo> Chapters of Review Questions
09:04:23 <asiekierka> 0000 0000 0111
09:04:24 <asiekierka> 1000 0001 1101 0000 1101 0111 0001 1100 0111 0001 1100 0111 1001
09:04:31 <asiekierka> code to duplicate value on the top of the stack
09:04:34 <asiekierka> well, not quite
09:04:45 <asiekierka> 0000 0000 0111
09:04:45 <asiekierka> 1000 0001 1101 0000 1101 0111 0001 1100 0111 0001 1100 0110 0110 1001
09:05:33 <asiekierka> i'll have to work on it
09:14:59 <asiekierka> 0000 0000 0110 0110
09:14:59 <asiekierka> 1000 0001 1101 0000 1101 0111 0001 1100 0111 0001 1100 0110 0110 1001
09:15:01 <asiekierka> there, fixed
09:15:05 <asiekierka> first line is initalization
09:15:10 <asiekierka> second line is copy
09:15:20 <asiekierka> you're left with two values, counting from the top of the stack they're 0, 2, 2
09:16:43 <Sgeo> "If we think of documentation as a written work of nonfiction (or, perhaps, fiction)"
09:18:25 <asiekierka> <oerjan> it seems a bit run-of-the-mill to me
09:18:32 <asiekierka> that inspired me for a name for my esolang
09:18:34 -!- variable has joined.
09:18:36 <asiekierka> stackmill
09:20:04 <Sgeo> variable = "I am too tired to actually think of anything creative here";
09:20:07 <asiekierka> http://pastebin.com/FADctGjY
09:20:32 <variable> Sgeo, ?
09:20:53 <Sgeo> My way of both saying hi and trying and failing to be humorous
09:21:05 <variable> Sgeo, variable == "I don't like being googled'
09:21:10 <variable> and Hi
09:21:53 <variable> http://codepad.org/R1ydyMJ8 --> does anyone see anything wrong with this implementation of brainfuck ?
09:22:06 <Sgeo> Oh, I wasn't saying you weren't creative
09:22:09 <Sgeo> I was saying I was
09:22:18 <Sgeo> I am doing half a semester's worth of homework in one night
09:22:21 <asiekierka> variable i don't think so
09:22:25 <variable> sorry http://codepad.org/7jjWZ8QN
09:22:31 <asiekierka> but you could keep a stack of instruction pointers for the [...]
09:22:36 <asiekierka> that would speed it up A LOT
09:22:48 <variable> asiekierka, yeah - but it would complicate the code :-)
09:22:52 <asiekierka> yes
09:23:08 <variable> asiekierka, problem is .. its Not Working for any code with []s
09:23:10 <variable> but I don'
09:23:13 <variable> but I don't see why
09:23:28 <variable> Sgeo, what class?
09:23:40 <Sgeo> Cryptography and Computer Security
09:23:53 <variable> Sgeo, fun - the best class :-)
09:24:13 <Sgeo> variable, unless you screw up like I have and don't do any work for a few months
09:24:35 <variable> asiekierka, do you see anything wrong with my [ and ] implementation ?
09:24:47 <variable> Sgeo, ha
09:25:27 <oerjan> variable: the test for ] should be != 0, not == 0
09:25:46 <asiekierka> variable i am busy porting my stackmill interp to the GBA
09:25:48 <asiekierka> stackmill is my own esolang
09:26:13 <variable> oerjan, oh woops. that was a copy/paste error ;-)
09:27:15 <variable> I wish I knew this channel existed
09:27:24 <Sgeo> oerjan, hah! I'm getting more work done while in here than I ever have while forced out!
09:27:27 <variable> my computers are named after esoteric programming languages
09:27:33 <oerjan> your wish has been fulfilled!
09:27:34 <variable> ie AlphaBeta Bork,
09:27:38 <variable> BrainFk
09:27:39 <variable> etc
09:27:46 <oerjan> Sgeo: heh
09:27:54 <variable> Sgeo, knew != know
09:28:36 <oerjan> variable: wishes sometimes tend to come with uncomfortable delays
09:28:45 <oerjan> sadly
09:29:13 * Sgeo decides not to state his sexual wishes in the channel
09:29:44 <Sgeo> ^^even that might have been a bit much
09:30:06 <oerjan> Sgeo: i don't think that is very revealing
09:30:18 <Sgeo> It might give variable a wrong impression
09:30:27 <variable> oerjan, thanks for the bugfix
09:30:42 <oerjan> you're welcome
09:30:42 <variable> now.. to see if I make it just as simple... without the stack/programsize limitation \
09:32:11 <variable> ,[.,] --> cat in brainfuck :-)
09:33:38 <fizzie> ^show cat
09:33:38 <fungot> ,[.,]
09:33:55 <fizzie> Our "echo" command is a bit on the whimsical side.
09:33:58 <fizzie> ^echo Hello?
09:33:58 <fungot> Hello? Hello?
09:34:03 <variable> :-|
09:34:06 <variable> ^help
09:34:06 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
09:34:11 <fizzie> ^code
09:34:14 <fizzie> ^source
09:34:14 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
09:34:20 <fizzie> I always forget which one it is.
09:34:26 <variable> :-)
09:34:48 <variable> someone should rewrite it in INTERCAL
09:35:11 <fizzie> I'm guessing that'd be a good idea if that someone were paid by line.
09:35:38 <fizzie> fungot: Say something insightful this time?
09:35:39 <fungot> fizzie: and the blots are removed from that player loses one blue vc. a unique instance of a
09:35:41 <fizzie> ^style
09:35:42 <fungot> Available: agora* alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa speeches ss wp youtube
09:35:44 <fizzie> ^style irc
09:35:44 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
09:35:54 <fizzie> fungot: The agora style isn't very insightful.
09:35:55 <fungot> fizzie: what language? answered my question already
09:36:52 <Sgeo> fizzie, you don't know of Agora?
09:37:18 <Sgeo> Also, blots are OLD
09:37:23 <Sgeo> Oldie oldie old
09:37:26 <fizzie> Sgeo: I do, but it stil doesn't make that very insightful.
09:37:52 <fizzie> Yes, well, the model was built out of some sort of a collection of both current and historical rules.
09:39:35 <variable> its 430 AM
09:39:41 * variable has NO idea why I'm up
09:46:17 -!- pikhq has quit (Ping timeout: 260 seconds).
09:48:08 -!- pikhq has joined.
10:07:36 -!- oerjan has quit (Quit: leaving).
10:29:28 <asiekierka> yay
10:29:35 <asiekierka> ported my interpreter to GBA
10:29:38 <asiekierka> and found a bug in libgba's printf
10:29:45 <asiekierka> so i had to use an itoa
10:45:05 <variable> libgba ?
10:45:11 <variable> game boy advanced/
10:45:18 <variable> also -> what bug?
11:03:20 -!- Wamanuz has joined.
11:04:30 <asiekierka> printf("%d",i) for i values over 9 breaks
12:09:34 -!- FireFly has joined.
13:15:17 -!- oerjan has joined.
13:16:17 <oerjan> <asiekierka> printf("%d",i) for i values over 9 breaks
13:16:36 <oerjan> someone thought %d was for "digit"? :D
13:19:59 <Vorpal> asiekierka, hm... reported the bug?
13:21:16 <Vorpal> asiekierka, hm is it a freestanding or a hosted environment?
13:21:21 <Vorpal> (in the C sense)
13:21:49 <Vorpal> quoting C99: "A conforming freestanding implementation shall accept any strictly conforming program that does not use complex types and in which the use of the features specified in the library clause (clause 7) is confined to the contents of the standard headers <float.h>, <iso646.h>, <limits.h>, <stdarg.h>, <stdbool.h>, <stddef.h>, and <stdint.h>. "
13:22:13 <Vorpal> notably this does not include stdio.h
13:23:27 <Vorpal> I'm not sure, but I *think* this means that *iff* it is a freestanding implementation, then it can do what the hell it wants in stdio.h, including making demons fly out of your nose.
13:23:50 <Vorpal> err wait no
13:24:16 <Vorpal> "A conforming implementation may have extensions (including additional library functions), provided they do not alter the behavior of any strictly conforming program³⁾"
13:24:57 <Vorpal> "³⁾ This implies that a conforming implementation reserves no identifiers other than those explicitly reserved in this International Standard."
13:25:06 <Vorpal> hm
13:25:39 <Vorpal> well that last bit is not in the bit that is specifically about freestanding
13:25:50 <Vorpal> so I'm not sure how you should interpret it
13:27:48 <Vorpal> atm I'm tying to figure out this statement: "A program that is correct in all other aspects, operating on correct data, containing unspecified behavior shall be a correct program and act in accordance with 5.1.2.3."
13:30:12 <asiekierka> Vorpal
13:30:13 <asiekierka> about the bug
13:30:21 <asiekierka> it only happens in the best GBA emulator available, NO$GBA
13:30:27 <asiekierka> it doesn't happen on the worse emulators (VisualBoyAdvance)
13:30:28 <asiekierka> or the real thing
13:30:55 <Vorpal> (btw, of those headers required in a freestanding environment, only stdarg.h and float.h are non-trivial.)
13:31:09 <Vorpal> asiekierka, maybe it isn't the best emulator then
13:32:20 <Vorpal> (actually, it seems float.h is trivial too)
13:42:06 <asiekierka> Vorpal sadly it is
13:42:11 <asiekierka> it implements the most features and quirks
13:42:13 <asiekierka> out of all emulators
13:42:36 <asiekierka> has a debugger (paid, though)
13:42:41 <asiekierka> and is recommended by most homebrew devers
13:44:07 -!- variable has quit (Read error: Connection reset by peer).
13:44:33 -!- variable has joined.
14:11:52 <Ilari> Errr... What does printf("%d",i) do if i is 10 on that platform?
14:13:53 <asiekierka> it prints 10
14:13:53 <asiekierka> obviously
14:14:00 <asiekierka> but on GBA with the NO$GBA emulator
14:14:06 <asiekierka> (which is the best emulator for it)
14:14:08 <asiekierka> it crashes the machinr
14:14:10 <asiekierka> machine*
14:15:11 <Ilari> Figured out what instruction inside printf crashes it?
14:18:42 <asiekierka> i don't care
14:18:47 <asiekierka> it does not happen on the real thing
14:18:48 <asiekierka> so it's OK
14:19:13 <asiekierka> and i've just found a custom itoa function for that
14:32:24 -!- variable has quit (Read error: Operation timed out).
14:34:38 -!- variable has joined.
14:41:47 -!- Phantom_Hoover has joined.
14:42:02 <Phantom_Hoover> Hi, everybody!
14:44:42 <asiekierka> hey
14:51:08 <Vorpal> hello
14:51:43 <Vorpal> while it is quite easy to write a Makefile that fails with -j2 or such, I wonder if you can write one that fails *without* -j2.
14:52:00 <Vorpal> and that works reliably with -j2
14:52:23 <Vorpal> I mean, if you only wanted to make it work *sometimes* with -j2, and never without -j it would be rather trivial.
15:07:57 <Ilari> How could such makefile even be constructed? It would have to contain race condition or unstated dependency...
15:11:28 <Ilari> And that kind of stuff tends to make it nondeterministic...
15:12:56 <Ilari> ... Unless the executables do some bizarre stuff...
15:13:24 <Ilari> But then the makefile would probably lock up if run without -j2...
15:14:35 <Vorpal> hm
15:15:42 <Vorpal> Ilari, well it could build and run an executable that checked /proc/<pid of parent>/<whatever> for command line
15:15:52 <Vorpal> cheating though
15:18:23 <asiekierka> http://esoteric.voxelperfect.net/wiki/Stackmill
15:45:01 <Phantom_Hoover> Vorpal, has ineiros updated the server yet?
15:50:11 <Vorpal> Phantom_Hoover, as far as I know it worked yesterday morning yes
15:50:27 <Phantom_Hoover> ...and, I just died.
15:50:29 <Phantom_Hoover> In lava.
15:50:34 <Phantom_Hoover> With my full inventory.
15:50:37 <Phantom_Hoover> Due to a bug.
15:50:40 <Phantom_Hoover> Effing Notch.
15:54:06 <Phantom_Hoover> Also, the advice I was given by the intel-gfx people to fix my graphics drivers has resulted in them being stupid with normal-maps.
16:02:37 -!- sftp_ has quit (Remote host closed the connection).
16:10:26 <Vorpal> Phantom_Hoover, was the bug exiting a minecraft by breaking it?
16:10:36 <Phantom_Hoover> Vorpal, yes.
16:10:44 -!- asiekierka has quit.
16:11:03 <Vorpal> oh wait, you been away, ehird complained about it too
16:11:50 <Vorpal> btw, wrote guide for how to get a h8300-hitachi-hms cross toolchain working on modern Linux.
16:11:58 <Vorpal> if anyone needs that I could upload it somewhere
16:12:19 <Vorpal> (you need quite a few patches to make it build and work on recent systems)
16:13:04 <Vorpal> people who might care: Anyone who has a Lego RCX and want to write C code for it (custom firmware).
16:26:14 <Vorpal> anyway http://sporksirc.net/~anmaster/lego/rcx-toolchain-guide/guide.html
16:31:01 -!- elliott has joined.
16:34:30 <Vorpal> elliott, hi
16:34:43 <elliott> hi
16:34:45 <Vorpal> Phantom_Hoover, where did that happen btw?
16:34:53 <Phantom_Hoover> elliott, an MC bug ate my inventory!
16:34:54 <Vorpal> Phantom_Hoover, I think removing the lava below might help
16:35:08 <Vorpal> elliott, he is talking about the hitting minecraft bug
16:35:25 <Phantom_Hoover> Vorpal, erm... IIRC it was the subtree end of the subtree-crossroads link.
16:35:37 <elliott> The spawn is a lie.
16:35:43 <elliott> Phantom_Hoover: Yes, it's happened to me. Several times.
16:35:48 <elliott> Phantom_Hoover: Get out of your cart before hitting it, it's all that helps.
16:35:57 <Vorpal> Phantom_Hoover, crossroad being the tunnel to fizzie's?
16:36:04 <Phantom_Hoover> Vorpal, yes.
16:36:06 <Vorpal> right
16:42:12 <Vorpal> why is it so laggy
16:42:32 <elliott> Hoover Heavy Industries accepts no responsibility for anyone who is heavy, or industrious. That is all.
16:42:53 -!- sebbu2 has quit (Read error: Connection reset by peer).
16:43:01 <Vorpal> elliott, are you behind the lagginess?
16:43:18 <elliott> I suspect the server is torrenting.
16:43:26 <Vorpal> hm
16:43:28 <Vorpal> well it is down now
16:43:36 <elliott> Or else the beta is really so bad that three people is too much work.
16:43:45 -!- sebbu has joined.
16:43:46 <Phantom_Hoover> elliott, in other news, the Xorg Intel graphics developers have failed me!
16:43:47 <Vorpal> ineiros_, what is going on?
16:44:06 <Vorpal> elliott, were you doing something strange when it went down?
16:44:09 <Vorpal> (or PH)
16:44:17 <elliott> Vorpal: No.
16:44:21 <elliott> Vorpal: Stop asking.
16:44:37 <Phantom_Hoover> Vorpal, I was heading northwards, towards ineiros..
16:44:45 <Phantom_Hoover> What the hell is that thing.
16:44:49 <elliott> (If it were an HHI activity, it would be secret anyway, so there is no point in asking; but lagging the server is not good for business, so that is extremely unlikely.)
16:44:51 <elliott> Phantom_Hoover: What thing.
16:44:57 <Phantom_Hoover> The crenellated wall, with torches.
16:45:01 <elliott> Phantom_Hoover: Pic?
16:45:05 <Phantom_Hoover> I was looking at it when the server failed
16:45:18 <elliott> Pic would be nice :P
16:45:28 <Phantom_Hoover> Don't have one, but if you went towards ineiros' fortress from spawn you'd've seen it.
17:17:38 -!- sftp has joined.
17:17:53 <Vorpal> elliott, fizzie: mcmap bug report: planting a sapling: "[DIED] protocol.c: 361: Unknown packet id: 0x40 (dir 2)"
17:17:58 <elliott> I'm
17:17:59 <elliott> oops
17:18:14 <elliott> Vorpal: I don't dig into the protocol stuff mostly; fizzie's your man there.
17:18:23 <Vorpal> elliott, ah oka[DIED] protocol.c: 361: Unknown packet id: 0x40 (dir 2)y
17:18:24 <Vorpal> gah
17:18:30 * Vorpal STABS SYNERGY
17:18:34 <elliott> Oka[DIED] protocol.c: 361: Unknown packet id: 0x40 (dir 2)y yourself.
17:18:39 <Vorpal> elliott, okay was what I said
17:18:44 <elliott> Vorpal: Have you tried that maintained fork of Synergy?
17:18:44 <Vorpal> but then I got a pseduo-paste
17:18:52 <Vorpal> elliott, well, I probably should
17:18:54 <elliott> "Synergy+ and Synergy have now combined efforts. Visit the new Synergy website."
17:18:55 <elliott> heh
17:19:03 <elliott> http://synergy-foss.org/
17:19:14 <elliott> "Synergy+ and Synergy have now merged! However, we'll still be using the old synergy-plus source code repository and mailing lists (just because there's no reason to migrate away). For those of you who are new: Synergy+ was started by Sorin Sbârnea and Nick Bolton in 2009 for the purpose of fixing bugs in the original version by Chris Schoeneman (which had temporarily paused development in 2006). Synergy+ and original Synergy have now combined e
17:19:14 <elliott> fforts for the benefit of the Open Source community."
17:19:21 <Vorpal> elliott, I use whatever is called synergy on in the package repo. And since one is ubuntu the other arch then it might cause issues
17:19:33 <elliott> Vorpal: Try http://synergy-foss.org/packages/?C=M;O=D.
17:19:42 <Vorpal> elliott, yeah, will shortly
17:19:56 <elliott> Vorpal: Debian squeeze appears to still have old-Synergy, and links to the website which now says "lol go here instead".
17:19:57 <elliott> So heh.
17:26:29 -!- j-invariant has joined.
17:35:23 <Phantom_Hoover> Recovered my laptop from the idiotic hoard.
17:35:26 <Phantom_Hoover> *hoarde
17:57:55 -!- sebbu2 has joined.
17:59:06 -!- Leonidas_ has joined.
18:01:53 -!- sebbu has quit (Read error: Connection reset by peer).
18:01:53 -!- Leonidas has quit (Read error: Operation timed out).
18:01:54 -!- sebbu2 has changed nick to sebbu.
18:11:47 -!- sebbu has quit (Read error: Connection reset by peer).
18:12:29 -!- sebbu has joined.
18:18:32 <elliott> Phantom_Hoover: They... took your laptop? And you didn't immediately kill them?
18:18:50 <Phantom_Hoover> elliott, no, since I would have got in trouble for that.
18:19:08 <elliott> Phantom_Hoover: Vorpal: Look at this: http://i.imgur.com/YF0nLl.jpg
18:19:09 <elliott> See sign.
18:19:13 <elliott> SEEMS IT'S A KNOWN BUG
18:19:16 <Phantom_Hoover> I locked the screen before I gave in, so they couldn't do anything.
18:19:24 <elliott> Notch Quality Engineering
18:19:55 <Vorpal> elliott, but how did they manage to get stuff into it?
18:20:09 <elliott> Vorpal: Dig into it, make space, put things there.
18:20:20 <elliott> Vorpal: Or, no, wait.
18:20:24 <elliott> Vorpal: I'm fairly sure that's a real hole.
18:20:36 <elliott> Disguised as an imaginary one.
18:20:40 <Vorpal> elliott, haha
18:20:53 <elliott> "hey! I made it last night :) I'm glad people enjoy it. I'ts supposed to look like a chunk error."
18:20:54 <elliott> Indeed.
18:23:07 <Vorpal> elliott, why did you loose connection? server said it was due to disconnect.genericReason on his side
18:23:15 <elliott> Vorpal: I closed the game :P
18:23:20 <elliott> Without disconnecting first.
18:23:21 <Vorpal> elliott, how?
18:23:22 <Vorpal> ah
18:23:32 <elliott> To watch http://www.youtube.com/watch?v=SCJeUvqFuA0.
18:23:39 <elliott> The music was getting in the way.
18:26:23 <Vorpal> elliott, he has an issue, all won't go off at once (you need something like redstone activation to get all to start counting down at once)
18:26:48 <elliott> Vorpal: Doesn't matter, it worked anyway (and impressive result)
18:26:56 <Phantom_Hoover> Anyone have a convenient link to a rant on the "This page is best viewed with <condition>." things you see everywhere?
18:27:00 <elliott> Vorpal: You'll notice a familiar figure when he reconnects :P
18:27:09 <elliott> Phantom_Hoover: http://www.anybrowser.org/campaign/
18:28:06 <j-invariant> the explosion was cool
18:28:37 <j-invariant> the water in minecraft it not realistic
18:29:16 <elliott> j-invariant: you can generate infinite water from a 2x2 pool
18:29:19 <elliott> because of PHYSICS!
18:29:37 <Phantom_Hoover> elliott, what's the familiar figure?
18:29:44 <elliott> It looks like the statue of liberty :P
18:29:51 <elliott> I thought it was intentional but maybe not.
18:29:56 <Vorpal> <elliott> Vorpal: You'll notice a familiar figure when he reconnects :P <-- hm?
18:30:00 <elliott> See above.
18:30:24 <elliott> Phantom_Hoover: "Obsidian is banned because it takes too long to destroy" "Fire is banned because it can crash clients" "Lava is banned because it can lag the server." "Water is banned because it can lag the server." "Ice is banned because it creates water when destroyed" "TNT is banned because it lags the server."
18:30:33 <elliott> Phantom_Hoover: Reddit Minecraft server -- you can, like, put GRASS and WOOD and COBBLES down!
18:31:12 <Phantom_Hoover> elliott, they're a public, high-visibility server.
18:31:20 <Phantom_Hoover> What'd you *expect*?
18:31:21 <elliott> Phantom_Hoover: They've /banned water/.
18:31:29 <elliott> I have never seen that before.
18:32:08 <Vorpal> elliott, but what about natural water and lava?
18:32:18 <elliott> Vorpal: DON'T LOOK AT IT
18:32:25 <Vorpal> or did they remove it?
18:32:30 <elliott> I doubt it :P
18:32:36 <Vorpal> bbl
18:32:46 <elliott> Phantom_Hoover: Can I expand the HHI research facility?
18:32:58 <Phantom_Hoover> Fine.
18:33:20 <Phantom_Hoover> Provided there are no externally-visible alterations to Mt. Hoover
18:33:29 <elliott> Phantom_Hoover: There won't be. Well, unless I accidentally dig to the outside.
18:53:40 <j-invariant> oh geez you have to play minecraft in browser...
18:54:08 <elliott> j-invariant: um no
18:54:13 <elliott> j-invariant: just download the .jar
18:54:22 <elliott> nobody plays in browser ... partly because nothign works with it
18:54:26 <elliott> i don't even think you can use texture packs in-browser
18:54:31 <elliott> http://minecraft.net/download/Minecraft.jar?v=1293389628306
18:54:47 <elliott> that's if you've paid ofc
18:54:51 <elliott> classic is browser-only
18:55:16 <j-invariant> ...
18:55:21 <elliott> ?
18:55:35 <j-invariant> I don't want to buy it, I don't even know if it works
18:55:52 <elliott> j-invariant: pirate it and see? :p
18:56:01 <j-invariant> :S
18:56:13 <elliott> j-invariant: it does work though ...
18:56:17 <elliott> at least on debian and i know plenty of players on ubuntu
18:56:37 <j-invariant> it's just, I was trying it in browser. No wonder /that/ doesn't work
18:56:58 <elliott> you mean Classic in browser?
18:57:01 <elliott> yeah that doesn't work for me either
18:57:04 <elliott> i just get a black screen
18:57:06 <elliott> Alpha works perfectly though
18:57:46 <ineiros_> You need the Sun's (still can't get myself to say Oracle's) JVM for it to work.
18:57:54 <Phantom_Hoover> Well, "perfectly" is a relative term.
18:58:08 <elliott> ineiros_: I use OpenJDK.
18:58:11 <elliott> ineiros_: So, nope.
18:58:14 <Phantom_Hoover> "Notch" and "perfectly" are not words which fit comfortably together.
18:58:16 <elliott> Oh, for it = ClassiC?
18:58:17 <elliott> *Classic?
18:58:21 <elliott> Alpha works with OpenJDK for me at least.
18:58:25 <elliott> Faster than Whoracle's.
18:58:33 <ineiros_> elliott: Whoa, you got it to work with that?
18:58:59 <elliott> ineiros_: Yes. It didn't work at first, but now it does and it's faster than Sun's./
18:59:28 <elliott> ineiros_: http://sprunge.us/GJET Those are my packages (on Debian testing).
18:59:47 <elliott> My launch script:
18:59:50 <elliott> #!/bin/sh
18:59:50 <elliott> exec java -Xmx2048M -Xms1024M -cp "$(dirname "$0")/launcher.jar" net.minecraft.LauncherFrame
18:59:58 <ineiros_> elliott: Yes, being faster is no surprise. But at least the previous versions didn't work. I have to try that when I get my new system.
19:00:02 <elliott> ineiros_: I think maybe you have to use Sun the first time and then it works.
19:00:13 <elliott> ineiros_: Like, maybe the initial log-in only works with Sunnnnnnnn's.
19:01:30 -!- p_q has joined.
19:03:00 -!- MigoMipo has joined.
19:03:50 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
19:05:01 -!- ais523 has joined.
19:05:46 -!- Leonidas_ has changed nick to Leonidas.
19:16:47 -!- Mathnerd314 has joined.
19:31:13 <Phantom_Hoover> [[Wrong language. It's a shame for me that C isn't used so much these days for applications.]]
19:31:21 <Phantom_Hoover> —An idiot.
19:31:33 <Phantom_Hoover> Note that the wrong language is Objective-C.
19:42:25 <elliott> Context?
19:45:11 <Phantom_Hoover> http://aegidian.org/bb/viewtopic.php?t=3216&start=0&postdays=0&postorder=asc&highlight=
19:45:39 <Phantom_Hoover> One of the many threads where someone turns up to the Oolite boards and says "Hey, let's make this an MMO!"
19:47:10 <Phantom_Hoover> Except this time the very well-founded reasons for not doing so are shrugged aside, and the person ploughs on regardless.
19:48:31 <Phantom_Hoover> Highlights include the word "fidicurially".
19:49:31 -!- KingOfKarlsruhe has joined.
19:50:54 -!- KingOfKarlsruhe has left (?).
19:51:52 <Vorpal> Phantom_Hoover, as far as I can tell "fidicurially" is not a word, does it context let you figure out the intended meaning of it? (If so: what is it?)
19:52:14 <Phantom_Hoover> Vorpal, he meant "fiduciary".
19:52:44 <Vorpal> Phantom_Hoover, a word I have to admit I'm not familiar with either
19:52:47 * Vorpal looks it up
19:52:56 <Phantom_Hoover> Monetary?
19:53:11 <Phantom_Hoover> English: the Perl of human languages.
19:53:34 <j-invariant> elliott: thoughts on functor equality?
19:53:38 <Vorpal> "a person who holds assets in trust for a beneficiary; "it is illegal for a fiduciary to misappropriate money for personal gain""
19:53:39 <Vorpal> hm
19:54:19 <Vorpal> Phantom_Hoover, I have no doubt there are weird words like this in Swedish too, some that I know, some that I don't
19:54:28 <elliott> j-invariant: does it work? if so it's good :P
19:54:31 <j-invariant> elliott: so a functor F:C-->D maps objects of C into D like X:C |- FX : D, but also maps maps like f : X --> Y |- Ff : FX --> FY
19:55:05 <j-invariant> elliott: I did manage to define it earlier but the proof is horrific. Hoping to simplify it
19:55:40 <elliott> that would be nice
19:56:34 <j-invariant> elliott: this time I define it like F = F' when we have an isomorphism i between FX and F'X, and (dependent pair) Ff . pi1 iso Y = pi1 iso X . F'f
19:57:33 <j-invariant> elliott: http://coq.pastebin.com/nFRZJ7cR
19:58:12 <j-invariant> elliott: even with the proof machine on my side it's not looking good :/ line 580
19:59:43 <elliott> yeah that looks scary
20:01:13 <Phantom_Hoover> j-invariant, aaaaaaa
20:07:26 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
20:08:20 <Vorpal> j-invariant, what are you trying to prove today?
20:08:59 <Vorpal> ineiros_, elliott: is the server about to be hmodified or has it recently been?
20:09:18 <j-invariant> Vorpal: I just want to show that '=' is an equivalence relation
20:09:43 <Vorpal> j-invariant, doesn't coq has that in the its standard library or such?
20:09:51 <j-invariant> no it's my own definition
20:10:33 <Vorpal> j-invariant, how does the standard library do then?
20:10:36 <Vorpal> do it*
20:10:57 <j-invariant> I don't use that library here
20:14:21 <fizzie> ineiros_: I've used OpenJDK and OpenJDK only, and I've actually told you this.
20:14:54 <Vorpal> j-invariant, yeah but is it as messy as the way you do it?
20:15:07 <Vorpal> (well not sure it is messy, but you seemed to imply that)
20:15:19 <elliott> Vorpal: it's a totally different structure. so.
20:15:21 <Vorpal> fizzie, btw saw what I said above about mcmap crashing on placing a sapling?
20:15:22 <Vorpal> elliott, ah
20:15:42 -!- Wamanuz has quit (Ping timeout: 260 seconds).
20:16:32 <j-invariant> I need to prove Ff o fgX = fgY o Gf, Gf o ghY = ghX o Hf |- Ff o (fgY o ghY) = (fgX o ghX) o Hf
20:17:21 <j-invariant> first step is to change the goal into (Ff o fgY) o ghY = fgX o (ghX o Hf). Then you can use the hypothesis
20:19:38 <fizzie> Vorpal: No, been away. I'll take a look at some point, still more christmasy things to do first though.
20:20:14 -!- Wamanuz has joined.
20:23:12 <fizzie> 0x40 is not a (wiki-)known packet type, so it probably has just gotten desynchronized again.
20:23:20 <j-invariant> I need a decision producedure that does rewrites, not just associativity
20:23:26 <j-invariant> elliott: :)
20:23:26 <elliott> j-invariant: I think I have a better structure for algebraic things now.
20:23:32 <j-invariant> oh neat
20:23:33 <j-invariant> how does it work?
20:23:37 <elliott> Definition is_ring S plus plus0 times times1 :=
20:23:37 <elliott> is_pseudo_ring S plus plus0 times /\
20:23:37 <elliott> is_monoid S times times1.
20:23:38 <elliott> like that
20:23:53 <elliott> then e.g. integers are the ring (Z,+,0,*,1)
20:24:16 <j-invariant> that could work actually
20:25:10 <elliott> yeah, unfortunately I think there may be one issue
20:25:17 <elliott> Definition is_pseudo_ring S plus plus0 times :=
20:25:17 <elliott> is_abelian_group S plus plus0 /\
20:25:17 <elliott> is_semigroup S times.
20:25:18 <elliott> Definition is_ring S plus plus0 times times1 :=
20:25:18 <elliott> is_pseudo_ring S plus plus0 times /\
20:25:18 <elliott> is_monoid S times times1.
20:25:24 <elliott> you might have to prove (S,*) is a semigroup /twice/
20:25:26 <elliott> because of that
20:25:27 <elliott> but maybe not
20:26:57 <j-invariant> what about having
20:27:20 <j-invariant> Definition is_pseduo_ring S plus plus0 times semigroupPrf := is_abelian_group S plus plus0.
20:28:14 <j-invariant> in fact, you could just have is_pseudo_ring ... := True. because it takes both proofs as arguments
20:28:35 <elliott> j-invariant: nah, because
20:28:40 <elliott> j-invariant: then you have to do "eapply"
20:28:42 <elliott> which doesn't really work
20:28:44 <elliott> this is much easier to prove
20:28:45 <elliott> also,
20:28:45 <Vorpal> fizzie, hm...
20:28:48 <elliott> Theorem Z_ring : is_ring Z Zplus 0%Z Zmult 1%Z.
20:28:54 <elliott> and then having is_ring -> is_lower_thing
20:28:56 <elliott> is much nicer to do IMO
20:29:00 <j-invariant> okay
20:29:16 <Vorpal> fizzie, well, if it got desynced... well I was just working on my tree farm before
20:29:29 <Vorpal> cutting down trees and so on
20:29:51 <Vorpal> fizzie, also I believe PH just parted a second before or so. I don't know if he rejoined again
20:29:56 <elliott> j-invariant: man, omega can't prove (a*b*c) = (a*(b*c)) in Z
20:29:57 <elliott> how stupid si that
20:29:58 <elliott> *is
20:31:33 -!- calamari has joined.
20:31:38 <calamari> hi
20:32:54 <elliott> hi
20:33:01 <elliott> j-invariant: http://sprunge.us/ECba includes (really simple!) proof that stdlib Z is a ring
20:33:27 <elliott> j-invariant: erm it's duplicatd
20:33:30 <elliott> j-invariant: just cut everything after Qed.
20:35:54 <Sasha> "...[I]n 1902, the American company Hamilton Beach patented the first electric vibrator available for retail sale, making the vibrator the fifth domestic appliance to be electrified, after the sewing machine, fan, tea kettle, and toaster, and about a decade before the vacuum cleaner and electric iron."
20:38:24 <Vorpal> wrong channel?
20:38:36 <Vorpal> (or was it completely out of any context?)
20:38:57 <elliott> Isn't pasting things without context a CHANNEL TRADITION.
20:38:59 <Vorpal> s/out of/without/
20:39:16 <Vorpal> elliott, hm true
20:39:46 <Vorpal> elliott, btw if seems a sapling can grow if you stand on it, and you will suffocate then.
20:39:57 <elliott> Indeed.
20:40:25 <Vorpal> elliott, I have not yet hit that myself, but saw it on the wiki. Makes me a bit nervous about my tree farm
20:41:52 <j-invariant> this equivalence of functors is just not working
20:49:44 <tswett> elliott: omega the ordinal number? What does it mean for an ordinal number to prove a statement?
20:50:03 <elliott> tswett: Omega the tactic.
20:51:06 <tswett> Ah. Is it supposed to be a tactic that figures stuff out automatically?
20:52:03 <elliott> tswett: Yes. :p
20:52:12 <elliott> tswett: I forget the exact solver it uses.
21:05:46 <elliott> j-invariant: I think I have up to integral domains
21:17:29 <j-invariant> oh yeah try fields
21:18:17 <j-invariant> elliott: see eq_functors_lemma1 and 2. http://coq.pastebin.com/HRiZqtC9
21:18:26 <elliott> <j-invariant> oh yeah try fields
21:18:28 <elliott> NOT RIGHT NOW :D
21:18:30 <elliott> too much pain
21:18:40 <elliott> j-invariant: that first lemma is the ... wow.
21:18:48 <elliott> the second is even more wow.
21:19:06 <j-invariant> I just copy the proof state and turn it into a lemma
21:19:37 <j-invariant> they are very simple theorems, it's just proving them takes a lot of effort and typing..
21:20:07 <j-invariant> but if I had a decision procedure that took equations of the form fg = id into account :(
21:20:22 <j-invariant> actually I don't think it would handle these
21:22:17 <j-invariant> elliott: but programming a solver that takes inverses into account is probably really hard
21:22:48 -!- variable has quit (Read error: Operation timed out).
21:23:07 <elliott> j-invariant: you can make a lot of effort now and have it easy later ... or you can continually make a lot of slightly milder effort forever ... i usually do the latter :-)
21:23:25 -!- variable has joined.
21:23:32 <j-invariant> well I'm not even sure if throwing in inverses is still decidible
21:23:41 -!- invariable has joined.
21:23:46 -!- invariable has quit (Remote host closed the connection).
21:24:57 -!- variable has quit (Remote host closed the connection).
21:25:22 -!- variable has joined.
21:25:28 <elliott> variable: stop varying your name
21:25:52 <variable> elliott, I can't help it
21:25:54 <variable> :-)
21:26:00 * variable is variable
21:26:23 <j-invariant> maybe Knuth-Bendix
21:26:31 <j-invariant> but I don't know much about Knuth-Bendix
21:28:56 <elliott> variable: you haven't been here before have you? hi
21:30:10 <variable> elliott, I would hope I've been here before - you couldn't program without me :-)
21:30:20 <variable> also: hi
21:30:23 <elliott> variable: Sure you can!
21:30:28 <elliott> variable: Joy is Turing-complete.
21:30:40 <elliott> Technically it has top-level function definitions but you don't /need/ them.
21:30:45 <elliott> variable: BCT, also, has no variables.
21:30:53 <elliott> Heck, Brainfuck doesn't... but you could consider tape cells variables.
21:30:58 <elliott> *brainfuck
21:31:04 * variable googles
21:31:11 <elliott> variable: http://esolangs.org/wiki/BCT :)
21:31:34 <variable> elliott, BCT would be my next computer.... (my computer names are esoteric programming languages)
21:31:52 <elliott> Really? Ha
21:31:59 <elliott> "And over here we have brainfuck..."
21:32:52 <variable> So far I have AlphaBeta, Babbage, and ByteByte :-)
21:33:23 <elliott> fungot: say hi to variable
21:33:24 <fungot> elliott: i was doing hw instructions would be and., and in the alternative syntax for c
21:44:52 <j-invariant> elliott: help!
21:46:10 <elliott> j-invariant: ?
21:47:09 <Sgeo> Joy has no variab.. hmm, I guess that makes sense. Factor's variables are conveniences
21:47:21 -!- calamari has quit (Quit: Bye).
21:47:28 <Sgeo> Maybe I should learn Joy
21:47:46 <variable> http://esoteric.voxelperfect.net/wiki/Joy doesn't exist
21:47:49 <Sgeo> Learning Factor might have been like learning an impure language instead of haskell for a first functional language
21:47:52 <Sgeo> Joy isn't esoteric
21:47:57 <Vorpal> elliott, down?
21:48:08 <elliott> Vorpal: no
21:48:25 <elliott> variable: http://en.wikipedia.org/wiki/Joy_%28programming_language%29
21:48:29 <oerjan> variable: try Underload for the esoteric version :)
21:48:29 <elliott> variable: http://www.latrobe.edu.au/philosophy/phimvt/joy.html
21:48:31 <j-invariant> elliott: I need a way to prove these lemmas quickly
21:48:34 <elliott> Underload, yeah
21:48:39 <elliott> j-invariant: no idea, sorry :(
21:49:05 <Sgeo> Ok, Joy syntax is ugly to my eyes
21:49:37 <Sgeo> Although I'm just having an immediate knee-jerk reaction
21:49:42 <elliott> Joy is wonderful.
21:49:42 <Sgeo> I'm going to go AFK for a bit
21:49:52 <oerjan> ^ul (12)S(*a(~:)~*^~):((1)S)~*~((2)S:*)~*:(~:()~)~*^(a(:^)*~a(*()~)~*^~^):^
21:49:54 <fungot> 122112122122112112212112122112112122122112122121121122122112122122112112122121122122112122122112112212112122122112112122112112212112112212211212212112212212112112212211212212112112212112122112112122121122122112122122112112122112112212212112122112112212112112212212112122112112122122112122121121122122121122122112122122112112 ...too much output!
21:49:59 <Vorpal> ineiros_, what the heck is going on with your connection?
21:50:05 <Sgeo> elliott, I don't need two concatenative languages competing for my heart
21:50:08 <Vorpal> elliott, and presumably also joyful
21:50:51 <j-invariant> elliott: maybe some way to extend the prover
21:51:54 <elliott> Sgeo: You'd hate Joy, it doesn't have aaaaaaaaaaaany libraries at all.
21:52:21 <Sgeo> Neither does LSL. Oh wait, I hate LSL (but for different reasons)
21:52:41 <Sgeo> Actually, that is an issue with LSL, come to think of it
21:54:50 <oerjan> ^ul (0)S((0)(1))(~:^:S*a~^~*a*~:^):^
21:54:50 <fungot> 011010011001011010010110011010011001011001101001011010011001011010010110011010010110100110010110011010011001011010010110011010011001011001101001011010011001011001101001100101101001011001101001011010011001011010010110011010011001011001101001011010011001011010010110011010010110100110010110011010011001011010010110011010010110 ...too much output!
21:55:07 <Sgeo> TIL that The Blue Valley has named parts
21:55:17 <Sgeo> http://modarchive.org/index.php?request=view_by_moduleid&query=37685
21:56:03 <j-invariant> what program is good for playing s3m files?
21:56:17 <ineiros_> Vorpal: I may have used the connection again. Maybe I should try to setup some connection priorization at some point.
21:56:23 <Sgeo> j-invariant, http://www.youtube.com/watch?v=KUn9SYdPF4A&feature=related is the same thing fwiw
21:56:34 <Sgeo> But um... hm
21:56:36 <Sgeo> VLC?
21:57:39 <Sgeo> o.O http://www.aufgang.org/koch/homepage/music.asp
22:04:14 <Vorpal> ineiros_, well it seems completely lag spiky atm
22:05:50 <Vorpal> ineiros_, maybe you should give backup bulk priority or something?
22:06:13 <Vorpal> ineiros_, I'm giving up on mining obsidian atm
22:06:35 <fizzie> Well, xmp is one sensible app for s3m files.
22:06:44 <fizzie> For some values of sensible.
22:06:47 <Vorpal> ineiros_, connection lost
22:06:55 <fizzie> The mikmod player is pretty horrible.
22:09:19 <fizzie> VLC plays with ModPlug-derived code, I think.
22:10:09 <Vorpal> ineiros_, tell me when it is up?
22:10:19 <elliott> Vorpal: Or just wait.
22:10:36 <elliott> <Sgeo> o.O http://www.aufgang.org/koch/homepage/music.asp
22:10:37 <elliott> What?
22:11:50 <ineiros_> Should be up now.
22:28:27 <j-invariant> The ashes is on
22:30:44 <j-invariant> zzo: what are the rules
22:36:06 -!- chickenzilla has joined.
22:56:32 <j-invariant> why would a .xm file be 30 MB?
22:56:50 <quintopia> 0_0
22:57:10 <quintopia> someone is using lots of very large samples
22:57:35 <j-invariant> oh wait it's only 4 MB, not sure what happened there
22:57:39 <j-invariant> maybe I just misread it
23:10:41 <Sgeo> http://www.youtube.com/watch?v=IZ2BcvowYl8
23:10:52 * Sgeo gets AW nostalgia issues from seeing the stone path
23:11:27 <Sgeo> oh, it's not a play of the plot of Legend of Zelda?
23:11:28 <Sgeo> Meh
23:13:30 <j-invariant> I like the music
23:13:39 <Sgeo> Hmm, agreed
23:47:41 <fizzie> Maybe it was 30 megabits? That's close-ish to 4 MB.
23:47:48 <j-invariant> haha
2010-12-27
00:02:25 -!- wareya has quit (Ping timeout: 276 seconds).
00:03:56 -!- wareya has joined.
00:09:00 -!- MigoMipo has quit (Read error: Connection reset by peer).
00:11:54 -!- chickenzilla has left (?).
00:21:44 -!- FireFly has quit (Quit: swatted to death).
00:31:51 <Sgeo> "J It is unbeatable if you have RSI and need to type as little characters as possible for a task that can be applied to a whole array."
00:33:42 <elliott> Ha ha it's funny because J programs are short?
00:35:34 <Sgeo> http://www.rfc1149.net/blog/2010/12/09/something-nice-about-every-language-i-use/
00:35:48 <Sgeo> Ha ha, it's the best thing the person could come up with to say about J
00:37:25 <Sgeo> I think I should learn Ada
00:43:46 <Sgeo> "The experienced C programmer will probably be a bit frustrated with the attention to details required by the Ada compiler. You will not have your favorite "tricks" available to fool the compiler into doing something out of the ordinary. The Ada compiler cannot be fooled."
00:50:36 -!- oerjan has quit (Quit: Good night).
00:52:39 <Sgeo> Wow, some people really hate Ada
00:59:08 <Sgeo> Dear tutorial: Do you HAVE to use a sample program with deliberately horrible style to show an example Ada program?
00:59:12 <Sgeo> http://www.infres.enst.fr/~pautet/Ada95/chap02.htm
00:59:17 <Sgeo> http://www.infres.enst.fr/~pautet/Ada95/e_c02_p1.ada
00:59:38 <elliott> <Sgeo> I think I should learn Ada
00:59:42 <elliott> Why?
00:59:46 <elliott> It's one of the worst languages ever.
01:00:11 <Sgeo> From my understanding, it's mostly syntax issues?
01:00:27 <elliott> Much more than that.
01:01:39 <Sgeo> It does seem to have SOME supporters. Not many.
01:02:09 <Sgeo> I got this idea that it's a good language for safety assurances
01:02:17 <elliott> Sgeo: The human extinction movement has supporters, so do Republicans.
01:04:08 <j-invariant> http://www.vhemt.org/ whnat the fuck?
01:04:33 <j-invariant> they just want to decrease the number of people, not go exitinct
01:04:57 <Sgeo> j-invariant, some of them do want humanity to go extinct
01:05:35 <Sgeo> They make a distinction between those who support extinction and those who just want to see the human population decrease significantly
01:06:08 <j-invariant> ahh
01:06:16 <j-invariant> it's an important difference!
01:06:19 <Sgeo> They compare humanity to cancer
01:06:28 <Sgeo> http://video.google.com/videoplay?docid=-4369876000541116073#
01:07:52 <Sgeo> About the difference: http://www.vhemt.org/ecology.htm#whyv
01:08:09 <Sgeo> "Q: Why extinction? Why not just get our population down to a sustainable size?
01:08:09 <Sgeo> VHEMT Supporters favor this goal, while Volunteers see extinction as the only sure way to avoid breeding ourselves back to todays density."
01:10:48 <j-invariant> doesn't really make sense to call yourself a member of Human Extinction Movement in that case :/
01:18:35 <elliott> j-invariant: VHEMT is very stupid
01:18:41 <elliott> hardly worth expecting consistency of them
01:19:04 <elliott> "the best solution to overpopulation is lack of population!"
01:19:40 <elliott> also it would (probably) leave the planet without any sentience which is /very/ stupid
01:20:06 <elliott> ineiros_: The spawn protection area is waaay too big.
01:20:07 <j-invariant> why?
01:20:09 <Sgeo> I remember on the news seeing some environmental cleanup program that was projected to take 99 years.
01:20:12 <elliott> j-invariant: why what?
01:20:17 * Sgeo wonders what VHEMT thinks of that
01:20:39 <j-invariant> why should earth be sentient?
01:20:39 <elliott> j-invariant: why would it be bad to be without sentience, you mean?
01:21:01 <j-invariant> yes
01:21:13 <elliott> j-invariant: I hold sentience to be intrinsically valuable.
01:21:20 <j-invariant> based on what?
01:21:31 <elliott> j-invariant: It's an axiom.
01:21:39 <elliott> What's ZFC based on?
01:21:40 <j-invariant> :(
01:22:00 <elliott> (At least "sentience is valuable" is a lot less likely to be inconsistent than ZFC...)
01:24:47 <j-invariant> btw, if eta : F --> G is a natural transformation for functors F,G : C --> D. Then X : C |- etaX : FX --> GX
01:25:28 <j-invariant> I need some 'respectfulness' condition on it like X = X' -> etaX = etaX'
01:25:51 -!- sebbu has quit (Read error: Connection reset by peer).
01:26:20 <elliott> j-invariant: i think i'm going to link to your file in #epigram and ask them what it looks like in epigram 2 >:)
01:26:21 * elliott troll
01:26:30 <j-invariant> wait let me paste it
01:26:31 -!- sebbu has joined.
01:26:47 <Vorpal> elliott, see bug report for mcmap on mc
01:29:19 <elliott> Vorpal: "too much work for way too little gain"
01:29:26 <elliott> i.e. something dereferences it and i can't figure out what because of glib :)
01:29:29 <Vorpal> 02:28:24 [CHAT] <ehird> Woot, now it segfaults.
01:29:29 <Vorpal> 02:28:26 [CHAT] ehird left the game.
01:29:29 <Vorpal> 02:28:30 [CHAT] <BCxVAhWQxi> heh
01:29:29 <Vorpal> 02:28:48 [CHAT] <BCxVAhWQxi> ehird quality engineering
01:29:30 <Vorpal> elliott, ^
01:29:39 -!- zzo38 has joined.
01:29:42 <elliott> Vorpal: Technically it didn't segfault.
01:29:45 <elliott> It just closed the map window.
01:30:06 <j-invariant> that's the lastest http://coq.pastebin.com/cxeeG9qt
01:30:16 <Vorpal> elliott, that statement still applies
01:30:46 <elliott> j-invariant: i can't bring myself to do it, they're too nice, the epigram folk
01:33:31 <Vorpal> elliott, why would it be trolling to ask that?
01:33:55 <elliott> Vorpal: hehe... epigram is (sort of (kind of)) entirely vapourware ... more specifically they have an implementation but Epigram Itself: The User Language isn't on top of it yet
01:34:37 <Vorpal> so you would just get a "no idea yet"?
01:34:51 <elliott> Vorpal: More likely "oh, go away"
01:35:56 -!- sebbu2 has joined.
01:35:56 <zzo38> How simple is it to make a electronic circuit for receiving a call display information?
01:37:44 <j-invariant> elliott: but I'm not sure how to define Component_respectful
01:38:31 <elliott> j-invariant: heck if I know :D
01:38:42 -!- sebbu has quit (Ping timeout: 246 seconds).
01:38:48 <j-invariant> :p
01:38:56 <elliott> have you ever used idris?
01:39:00 <j-invariant> no
01:39:19 <elliott> hm
01:41:35 -!- zzo38 has quit (Quit: The end of this sentence is false, but the beginning of it is true.).
01:42:00 * elliott starts thinking about his old transaction type
01:46:42 <elliott> Transaction ok? transformed? after-ok? result
01:46:42 <elliott> A function -- given a world W that satisfies (ok? W), and a
01:46:42 <elliott> continuation that takes a world s.t. (transformed? W), and a
01:46:42 <elliott> value of type result, and returns a new world W',
01:46:42 <elliott> s.t. (after-ok? W'), returns the new world W'.
01:46:43 <elliott> Transaction (\_ -> True) (\w -> fileIsOpenInWorld? filename w) (\w -> fileIsClosedInWorld? filename w) File
01:46:46 <elliott> really ugly though ...
01:46:51 <elliott> I wonder if it reduces to some elegant thing when strippe ddown
01:46:56 <elliott> *stripped down
01:47:13 <elliott> (that would be the result of "openFile" given a filename)
01:47:52 <elliott> (readCharFromFile, given a filename, would look something like "Transaction (\w -> fileIsOpenInWorld? filename w) (\_ -> True) (\_ -> True) Char")
01:47:56 -!- variable has quit (Read error: Connection reset by peer).
01:48:14 <elliott> (then ofc you'd have to prove that the file is open in the world at type-checking time, which could probably be done automatically in most cases)
01:49:09 <j-invariant> seems pretty complicated
01:49:09 -!- variable has joined.
01:49:47 <elliott> j-invariant: yeah it is but I think the "core" of it is pretty simple
01:50:12 <j-invariant> that#s the important thoing
01:50:31 <elliott> j-invariant: you want a certain value, and also a world which satisfies a relevant condition; to get it, you must give it a world that satisfies /its/ (the transaction's) relevant condition, and also show that the world at the end will be acceptable to it
01:50:38 <elliott> for instance, opening a file without closing it is a type error in this system
01:50:43 <elliott> because of the postcondition in openFile
01:50:58 <elliott> it's basically just "IO result" except really-overly-typed
01:51:36 -!- pikhq has quit (Ping timeout: 255 seconds).
01:52:17 <elliott> i wish oklopol would come back
01:53:37 -!- pikhq has joined.
01:57:55 -!- Sgeo__ has joined.
01:58:25 <j-invariant> elliott: how do you find out about VEHMT?
01:58:39 <elliott> um it's pretty well-known, dunno how i heard of it
01:58:47 <j-invariant> had not heard of it
01:59:13 <Sgeo__> Chrome's been acting up lately
01:59:19 <Sgeo__> I'm tempted to switch back to Opera
01:59:20 -!- Sgeo has quit (Ping timeout: 255 seconds).
02:06:06 -!- sshc_ has joined.
02:09:32 -!- sshc has quit (Ping timeout: 264 seconds).
02:11:36 -!- sshc_ has quit (Ping timeout: 240 seconds).
02:12:41 -!- sshc has joined.
02:14:09 -!- pingveno has quit (Read error: Operation timed out).
02:16:52 -!- pingveno has joined.
02:18:26 -!- cheater99 has joined.
02:19:01 -!- cheater99 has quit (Read error: Connection reset by peer).
02:19:38 -!- sshc has quit (Read error: Connection reset by peer).
02:19:44 -!- sshc has joined.
02:25:55 -!- Wamanuz has quit (Ping timeout: 276 seconds).
02:26:15 <elliott> s[99],*r=s,*d,c;main(a,b){char*v=1[d=b];for(;c=*v++%93;)for(b=c&2,b=c%7?a&&(c&17?c&1?(*r+=b-1):(r+=b-1):syscall(4-!b,b,r,1),0):v;b&&c|a**r;v=d)main(!c,&a);d=v;}
02:26:22 <elliott> I wonder if this has been beaten yet.
02:26:27 -!- sshc has quit (Read error: Connection reset by peer).
02:26:34 -!- sshc has joined.
02:30:49 -!- variable has quit (Read error: Connection reset by peer).
02:31:57 -!- sshc has quit (Ping timeout: 260 seconds).
02:32:02 -!- variable has joined.
02:32:39 -!- sshc has joined.
02:35:44 -!- cheater99 has joined.
02:37:09 -!- cheater99 has quit (Read error: Connection reset by peer).
02:37:16 <Mathnerd314> I wonder if it could be beaten by Haskell
02:38:09 <Mathnerd314> probably too much looping though :-/
02:38:14 -!- sshc has quit (Ping timeout: 240 seconds).
02:38:38 -!- sshc has joined.
02:38:47 <j-invariant> Mathnerd314: http://www.jaist.ac.jp/~hirokawa/tool/
02:41:12 <Mathnerd314> GHC is a rewriting tool? news to me :p
02:44:12 -!- sshc has quit (Ping timeout: 260 seconds).
02:44:49 -!- sshc has joined.
02:47:03 <elliott> <j-invariant> Mathnerd314: http://www.jaist.ac.jp/~hirokawa/tool/
02:47:05 <elliott> what is that
02:47:14 <elliott> Mathnerd314: do you know what it does, though?
02:47:57 <Mathnerd314> something like "glorious glasgow haskell compiler"...
02:48:10 <elliott> Mathnerd314: i mean the c progam
02:48:11 <elliott> *program
02:48:42 <Mathnerd314> it's obviously a brainfuck interpreter (just ask google)
02:50:41 -!- sshc has quit (Ping timeout: 260 seconds).
02:50:56 -!- sshc has joined.
02:53:44 -!- cheater99 has joined.
02:56:33 <Vorpal> Deewiant, your wonders of the world looks blown up
02:57:01 <Vorpal> elliott, was it you?
02:57:29 -!- cheater99 has quit (Read error: Connection reset by peer).
02:57:37 <Vorpal> Deewiant, HUGE hole, several exhibits broken
02:58:29 <Vorpal> who was that /bastard/
02:58:40 <quintopia> watching a binary counter count up is quite hypnotic
02:59:41 <Mathnerd314> Vorpal: link?
03:01:23 <Vorpal> Mathnerd314, on minecraft
03:02:24 * Mathnerd314 suddenly deeplinking into other people's computers
03:03:33 <Mathnerd314> (not)
03:05:04 -!- sshc has quit (Ping timeout: 276 seconds).
03:11:11 <Sgeo__> Can't really vandalize other's stuff on AW!
03:11:15 <Sgeo__> >.>
03:14:16 -!- cheater99 has joined.
03:16:44 -!- cheater99 has quit (Read error: Connection reset by peer).
03:22:20 <elliott> back
03:24:43 <Vorpal> elliott, was it you?
03:24:45 <Sgeo__> I know what I'm going to write my 7 page paper about
03:24:49 <elliott> Vorpal: ?
03:24:51 <Sgeo__> Misplaced trust
03:25:16 <Vorpal> elliott, someone blew up Deewiant's "wonders of the world"
03:25:17 <Sgeo__> Includes everything from SQL Injections and XSS attacks to social engineering
03:25:30 <Vorpal> elliott, I suspect you or PH
03:25:33 <elliott> Vorpal: o_O
03:25:46 <Vorpal> elliott, no one else would do it
03:25:55 <Sgeo__> Blew up? With an explosion, or mining it out?
03:26:09 <elliott> Vorpal: Was it the TNT room or something?
03:26:19 <elliott> I can imagine people blowing that up accidentally ... but then I'm me.
03:26:27 <Vorpal> elliott, the TNT room. but it had a huge radius
03:26:35 <Vorpal> elliott, it more or less cut the building in half
03:26:38 <Vorpal> across it
03:26:52 <elliott> Sure it wasn't a chunk loading error? :p
03:26:52 <Sgeo__> This doesn't happen in AW =P
03:26:58 <Vorpal> elliott, yes...
03:27:04 <Vorpal> elliott, it had no straight edgers
03:27:06 <Vorpal> edges
03:27:14 <elliott> It was a joke.
03:27:20 <Vorpal> right
03:27:36 <Vorpal> elliott, whoever it was, I suggest we all help in rebuilding the other walls at least
03:27:43 <Vorpal> and the rock below it
03:27:49 <Sgeo__> I'd help if I was in minecraft
03:27:54 <elliott> I think I have some snow left.
03:27:56 <Sgeo__> And didn't have a 7 page paper to write
03:27:56 <elliott> I'll come see. :/
03:28:00 <elliott> Vorpal: Do you know coordinates for teleporting?
03:28:05 <Vorpal> err sec
03:28:11 <Sgeo__> Hmm, are there any topics in computer security that don't come down to misplaced trust?
03:28:11 <Vorpal> elliott, armour-friendly or near?
03:28:23 <elliott> Vorpal: Near.
03:28:33 <Vorpal> -717, 928
03:28:40 <elliott> Starting MC ...
03:28:41 <Sgeo__> Protecting from natural disasters I guess. Or could that be "Misplaced trust in God" >.>
03:29:00 <elliott> Reflections on Trusting Trusting Trust.
03:29:03 <elliott> Holy shit what is *that*.
03:29:14 <elliott> (not there yet)
03:29:25 <elliott> oh wheat
03:33:14 -!- cheater99 has joined.
03:35:32 -!- cheater99 has quit (Read error: Connection reset by peer).
03:39:01 <elliott> ///goto -717 928
03:39:03 <elliott> oops
03:39:04 <elliott> //goto -717 928
03:40:58 * Sgeo__ laffs at elliott
03:41:07 <elliott> what
03:41:25 <Sgeo__> oh, it wasn't you accidentally inputting into IRC twice
03:45:16 <Mathnerd314> "oh wheat" <- awesome
03:52:16 -!- cheater99 has joined.
03:53:10 <elliott> Mathnerd314: wat
03:54:00 <Mathnerd314> I'm going to say "oh wheat" whenever I see something surprising
03:56:23 -!- sshc has joined.
03:56:24 -!- cheater99 has quit (Read error: Connection reset by peer).
04:02:31 <elliott> Mathnerd314: ah. in this case it was actually wheat.
04:04:22 <Sgeo__> Is wheat useful? Do you need to eat to live in MC?
04:04:58 <elliott> Yes. No.
04:05:10 <elliott> (Although that will be an option in the final game.)
04:06:29 <Sgeo__> I am going to be a gibbering idiot by the end of the night
04:07:10 <elliott> Sgeo__: Why.
04:07:20 <Sgeo__> 7 page research paper
04:07:20 <j-invariant> newtons second law
04:07:25 <elliott> Sgeo__: OH NO A WHOLE SEVEN PAGE
04:07:25 <elliott> S
04:07:32 <Sgeo__> Trying to get it done before my professor wakes up
04:07:55 <Sgeo__> Also, I didn't even start on it
04:09:51 -!- sshc has quit (Read error: Operation timed out).
04:15:46 -!- wareya has quit (Read error: Connection reset by peer).
04:15:59 <Mathnerd314> what's it about? maybe you can distribute it
04:18:24 <Sgeo__> Cryptography and Computer Security
04:18:32 <Sgeo__> I think I'll talk about misplaced trust
04:18:37 <Sgeo__> Which is incredibly broad
04:19:09 <elliott> in security, all trust is misplaced.
04:20:40 <Sgeo__> Can't really afford not to trust the compiler, though. The risk is somewhat small, but the lengths that would need to be gone through to migitate that risk
04:20:46 <Sgeo__> Same with hardware
04:21:14 -!- wareya has joined.
04:21:15 <Sgeo__> Unless you're Wikileaks and you foolishly accept hardware from the U.S. Gov't or something
04:22:29 <elliott> <Sgeo__> Can't really afford not to trust the compiler, though. The risk is somewhat small, but the lengths that would need to be gone through to migitate that risk
04:22:38 <elliott> Sgeo__: http://www.dwheeler.com/trusting-trust/
04:22:40 <elliott> Sgeo__: trusting trust has been solved.
04:23:08 <elliott> the risk is somewhat large, actually; Trusting Trust was (thought to be) the only truly unbreakable hack
04:26:17 <Sgeo__> Does anyone actually do it?
04:27:16 <Sgeo__> How do you determine if something is bit-for-bit identical?
04:27:17 <elliott> Sgeo__: Um, you don't do it if you don't strongly distrust your machine.
04:27:44 <elliott> <Sgeo__> How do you determine if something is bit-for-bit identical?
04:27:52 <elliott> Sgeo__: You could use the second, trusted compiler it mentions to write a program to do so.
04:28:43 <variable> elliott, have you read Double Computing
04:28:48 <variable> to counter trusting trust
04:28:52 <elliott> <elliott> Sgeo__: http://www.dwheeler.com/trusting-trust/
04:28:54 <elliott> it's Double Compiling
04:28:56 <elliott> and that's what the link is
04:29:06 <variable> oh wait - you were describing that
04:29:10 <elliott> Diverse Double Compiling technically
04:29:11 <elliott> yeah :)
04:29:18 <variable> I don't get why its so good
04:29:30 <variable> its OBVIOUS that if you have a second trusted compiler you could defeat the attack
04:29:37 <elliott> variable: no, it's not that obvious
04:29:45 <variable> but how do you gain that trust?
04:30:01 <variable> elliott, why not?
04:30:09 <elliott> because it's about compiling the _compiler_
04:30:17 <elliott> variable: you can ultimately trust your own software.
04:30:34 <elliott> if you're not interested in going that far, you can trust something that isn't yourself. but that is more trustworthy than your untrusted box.
04:31:31 <variable> elliott, if I have a compiler which I trust which compiles source code which I trust which is a compiler then I could use that second compiler to compile other programs without fear
04:31:32 <variable> correct?
04:31:47 <elliott> variable: no. not if you don't trust the system library
04:31:55 <elliott> variable: anyway, the point is that -
04:32:01 <elliott> variable: the system programs are compiled with the untrusted compiler
04:32:05 <elliott> you want to know: is the system compromised?
04:32:08 <elliott> DDC lets you check.
04:32:21 <elliott> it isn't about compiling programs you can trust, it's about /seeing whether the system is trustable/
04:32:27 <variable> elliott, ah ok
04:32:33 <variable> that makes about 100x more sense now
04:32:41 <Sgeo__> How can a trusted compiler on an untrusted system be trusted?
04:32:49 <Sgeo__> Static-linking only, etc?
04:34:20 <elliott> Sgeo__: just write everything yourself
04:34:33 <elliott> Sgeo__: the only syscalls you need are "read from standard input" and "write to standard output" pretty much
04:34:51 <elliott> if write("yes") gives "no" you can easily test for that :-P
04:36:55 <j-invariant> great now i have a comma category
04:37:13 <Sgeo__> Karma karma karma karma chameleon
04:37:44 <Sgeo__> *karma
04:39:39 <elliott> j-invariant: what's that one?
04:40:28 <j-invariant> elliott: I have no idea..
04:40:32 <elliott> lol
04:41:21 <j-invariant> you have functors A --F--> C <--G-- B and the comma category F,G is sort of like generalized commutative squares with maps being C-maps and B-maps in parallel
04:42:10 <j-invariant> you can define natural transforms in terms of it, and also the category of cones
04:42:36 <j-invariant> the category of cones makes sense, but thats a really simplified specific case of the comma category
04:44:22 <Vorpal> night
04:45:45 * Sgeo__ vaguely onders if Sputnik is still in orbit
04:48:43 <coppro> win 48
04:49:01 <elliott> Sputnik 1 burned up on 4 January 1958, as it fell from orbit upon reentering Earth's atmosphere, after travelling about 60 million km (37 million miles) and spending 3 months in orbit.[5]
04:50:30 <elliott> elliott@dinky:~/code/arthou$ make
04:50:31 <elliott> gfortran hello.f95 -o hello
04:50:31 <elliott> strip -s hello
04:50:31 <elliott> elliott@dinky:~/code/arthou$ ./hello
04:50:31 <elliott> Hello, world!
04:50:32 <elliott> I wonder why the space.
04:55:42 <j-invariant> now I've broke the 1000 line mark http://coq.pastebin.com/7tueVQYx
04:55:48 <elliott> yay
04:55:51 <elliott> program hello
04:55:58 <elliott> write(*,"(A)") "Hello, world!"
04:55:59 <elliott> end program hello
04:56:10 <elliott> doesn't work ...
04:56:14 <elliott> A needs length after it
04:56:31 <j-invariant> desperately needing a better prover though
04:56:57 <elliott> write(*,"('Hello, world!')")
04:56:58 <elliott> that works, but ugh
04:58:00 <elliott> print '(A)', 'Hello, world!'
04:58:01 <elliott> tada
04:58:25 <elliott> can't make it a function though
05:00:11 <elliott> subroutine say(s)
05:00:11 <elliott> character s*(*)
05:00:11 <elliott> print '(A)', s
05:00:11 <elliott> end subroutine say
05:00:11 <elliott> program arthou
05:00:12 <elliott> call say('Hello, world!')
05:00:14 <elliott> end program arthou
05:00:16 <elliott> there
05:01:27 <j-invariant> know a good text for Knuth Bendix?
05:02:24 <elliott> unfortunately not
05:05:33 <elliott> good night
05:05:34 -!- elliott has quit (Quit: Leaving).
05:10:51 -!- j-invariant has quit (Quit: leaving).
05:16:04 <variable> What is the requirements for adding a language to esolang ?
05:16:50 <quintopia> um
05:17:01 <quintopia> make sure it's well-specified
05:17:08 <quintopia> and/or hilarious
05:17:45 <variable> quintopia, ie - can I announce a new one (derivative of brainfuck) on it or should I announce it on a personal blog first?
05:18:31 <quintopia> go right ahead and post it
05:18:38 <quintopia> add it to the language list
05:18:41 <variable> alright
05:19:02 <quintopia> and make sure you put it in the brainfuck derivatives category so we know not to bother reading it :P
05:19:08 <variable> quintopia, heh
05:19:42 <quintopia> no i'll probably read it to see if it adds anything brilliant
05:20:03 <variable> its brainfuck with one extra operator "~" which changes the value at the program counter by the amount at the stack pointer to allow for self modifying programs
05:20:05 <variable> nothing special
05:21:08 <Sgeo__> program counter... it can only self modify at ~ points?
05:21:22 <quintopia> stack pointer?
05:21:37 <quintopia> the bracket stack?
05:21:54 <variable> Sgeo__, yes
05:22:30 <quintopia> oh
05:22:36 <quintopia> you mean the data pointer
05:22:38 <quintopia> got it
05:22:57 <quintopia> it changes it to the pointed to value? or adds it?
05:23:02 <variable> adds
05:23:15 <quintopia> hmm
05:23:23 <variable> hrm - I just thought of a better idea
05:23:38 <quintopia> yeah that sounds like a silly thing to do
05:23:54 <quintopia> self-modifying brainfuck already does full self-modificatin
05:24:03 <variable> quintopia, it already exists?
05:24:13 * variable couldn't find it
05:24:22 <quintopia> well yeah...every variant of bf already exists :P
05:24:26 <Sgeo__> Hey, maybe we could do research into finite and limited self modification
05:24:49 <Sgeo__> Maybe, like the way there are classes of computational complexity, such as TC, there are classes of self-modifyingness
05:24:50 <quintopia> http://esoteric.voxelperfect.net/wiki/Self-modifying_Brainfuck
05:25:26 <variable> :-}
05:26:43 <Sgeo__> Sounds difficult to write code to manipulate what you want and when
05:27:11 <Sgeo__> First step for convenience might be shifing everything over for easy..wait that would modify the source
05:27:19 <Sgeo__> Oh! In the source code, include markers
05:27:21 <quintopia> Sgeo__: i suspect that like TCness, it will be hard to limit it in such a way that creates an in-between class between trivial self-modification (aka, the ~ thing that only changes a command once to something else) and full on self-modification where the entire continuation can be replaced by something else
05:27:56 <Sgeo__> Well, ~ is already nicely in between the full thing and no self-mod
05:28:00 <Sgeo__> So it's a start
05:29:08 <quintopia> Sgeo__: it seems like it gives you no more flexibility than SMETANA's line-swapping paradigm does
05:29:21 <Sgeo__> quintopia, does it give less?
05:29:28 <Sgeo__> Because that in and of itself would be interesting IMO
05:29:29 <quintopia> i think it does actuually
05:29:33 <quintopia> but it's hard to tell
05:29:59 <Sgeo__> variable, please don't take this hard
05:30:06 <quintopia> because you can only change a ~ to something other than a ~ exactly once
05:30:15 <quintopia> whereas you can swap lines as many times as you want
05:30:24 <variable> Sgeo__, hrm ?
05:30:46 <Sgeo__> variable, the near uselessness of ~, I mean. Well, actually, it is useful as an object of study, so
05:30:53 <variable> Sgeo__, i recognized it wasn't exactly useful
05:31:06 <variable> I was using it so the user could modify the program
05:31:11 <variable> with input
05:31:20 <variable> " Well, actually, it is useful as an object of study, so" --> how so?
05:31:27 <Sgeo__> variable, we're discussing it
05:31:32 <Sgeo__> That's what I meant
05:31:46 <Sgeo__> I think it's interesting, and want to keep exploring levels of self-mod
05:31:54 <Sgeo__> I also have a 7 page paper to write :/
05:31:59 <variable> on what topic?
05:32:10 * variable wants to get into theoretical comp sci
05:32:13 <Sgeo__> Cryptography and Computer Security
05:32:23 <variable> Sgeo__, oh right - the one you pushed off...
05:32:30 <variable> or someone here did :-
05:32:49 <Sgeo__> variable, me
05:33:08 <Sgeo__> I still have a non paper assignment in the same class
05:33:09 <Sgeo__> So
05:33:11 <Sgeo__> FUN
05:33:24 <variable> heh
05:33:31 <variable> my classes are thankfully ove
05:33:58 <quintopia> iei
05:36:28 <quintopia> i think the minimum change you need to BF to make it fully self-modifying is a ~ that appends the character under the data pointer to the program
05:38:19 -!- sftp has quit (Read error: Connection reset by peer).
05:38:33 <Sgeo__> Hmm, that raises the question of the definition of "fully"
05:39:03 <Sgeo__> In theory, old code stays forever part of the program, but you could rewrite everything and never be in the old code again
05:39:03 <quintopia> "the entire continuation can be replaced by something else"
05:39:10 <Sgeo__> right
05:39:56 <quintopia> i think that's a reasonable definition
05:40:35 <quintopia> a program is fully self-modifying if it can ever reach a point that it is executing only code that did not exist before it started running
05:41:23 <quintopia> (or rather, did not exist outside of the input /to/ the program)
05:43:09 <quintopia> it should also be true that the code that can be created in this way is fully as powerful as the language itself
05:43:40 <Sgeo__> quintopia, how does that tie in with halting
05:43:52 <quintopia> or else languages that let you add a bounded-time subset of the original code would qualify
05:44:03 <Sgeo__> e.g. added code doesn't return to the old code iff added code doesn't halt
05:44:09 <Sgeo__> (think eval())
05:44:37 <Sgeo__> Is that less powerful than full self-mod?
05:44:57 <Sgeo__> Wait, that depends if there's a HALT instruction, doesn't it?
05:45:13 <quintopia> Sgeo__: if the underlying language is capable of non-halting computations, any modified code should also be capable of not halting
05:45:32 <quintopia> s/any//
05:46:46 <quintopia> i think that one could prove existence of programs for which haltingness and return-to-pre-existing code are fully separable problems
05:47:12 <quintopia> aka, you can show that it will not return to pre-existing code even if you can't prove it will halt
05:47:35 <quintopia> although, maybe not for all fully self-modifying languages
05:47:55 -!- zzo38 has joined.
05:48:35 <quintopia> in fact, i bet i could prove that there exist programs that one cannot prove whether or not it returns to pre-existing code
05:48:46 <quintopia> i'll have to think about it
05:50:51 -!- zzo38 has set topic: EGASSEMTERCESATONSISIHT | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
05:51:27 <quintopia> yes, it is zzo38. there is no way anyone could guess what that message says, so it must be secret.
05:52:28 <zzo38> quintopia: Are you sure?
05:53:10 <quintopia> alright i've got it. construct a program P that takes a program M and then does "GOTO 0" when it halts. Now pass it as input to a program Q that prints "RUNNING" and then appends the input code to its own code. Pass this program to your executes-preexisting-code-again decider
05:53:40 <quintopia> if the decider says it does, then it says M halts. if it says it doesn't then it says M does not halt
05:54:51 <quintopia> so... fully self-modifying as i defined it is not a decidable class.
05:55:11 <quintopia> alt. proof: apply rice's thm.
05:57:10 <Sgeo__> How is "pre-existing" defined?
05:57:18 <Mathnerd314> zzo38: it depends on how good one is at reading.
05:57:40 <Sgeo__> 1:00 I get to work
06:02:47 <quintopia> Sgeo__: "pre-existing"="invariant at program initialization irrespective of the input"
06:03:20 <Sgeo__> So, does self-modification without accepting input to determine the modifications not count as self-modifying?
06:03:51 <quintopia> i wouldn't consider it that, personally
06:03:53 <Mathnerd314> yes, because you can undo it into a normal program
06:03:58 <quintopia> ^
06:06:18 <quintopia> perhaps another way of defining it is in terms of a state machine: if it can create new states and has the potential of abandoning entirely the set of states it was initialized with
06:09:06 <Mathnerd314> what about a quine that copies itself and then executes on the copy?
06:11:05 <quintopia> i think i have a definition that reduces it to exactly what i'm trying to get at
06:13:15 <quintopia> a language is SM-complete if it is possible to create a program where there comes a point in its execution such that the entire continuation is dependent ONLY upon the contents of the input string and the contents of the program itself at initialization is completely irrelevant
06:16:50 <quintopia> (the quine program would not be such a program ad therefore says nothing about whether its underlying language is SM-complete)
06:26:13 <Mathnerd314> so... if one can write an interpreter in the language?
06:26:49 <zzo38> This is almost getting confusing...
06:28:15 <Sgeo__> quintopia, the contents of the program at initialization are what lets it self-modify
06:28:40 <Sgeo__> If you can have a program that doesn't use those features, then the language isn't SM-complete by your definition
06:28:55 <Sgeo__> afaict
06:29:29 <Sgeo__> Take Befunge/index.php, and make x the only legal program
06:29:34 <quintopia> Sgeo__: no, i said the entire /continuation/ at /some point in its execution/ is independent of the program at init
06:30:07 <Sgeo__> hmm
06:33:29 * Mathnerd314 thinks the entire concept of self-modification is a throwback to machine code and is otherwise useless
06:34:07 <Sgeo__> Mathnerd314, as useless as Brainfuck?
06:35:02 <Mathnerd314> "useless" in terms of not granting one any more power
06:35:08 <quintopia> ha
06:35:42 <quintopia> we should discuss how one could use it to grant one less power
06:35:57 <Sgeo__> Oooh
06:36:22 <Sgeo__> Can you have SM-complete yet still have the option to limit ... yeah, you shuld
06:36:25 <Sgeo__> should
06:37:11 <quintopia> Mathnerd314: maybe self-modification grants one no more power, and the same is surely true of introspection/reflection, but both can make a lot of programs a whole lot easier to write
06:38:29 <quintopia> Sgeo__: i suspect we could come up with a SM-complete language that that is only primitive recursive
06:39:03 <Mathnerd314> SM-code is just another form of mutation. and mutation is ugly compared to calculation. (IMO, obviously)
06:39:12 <Sgeo__> I'd need to study up on primitive recursive
06:39:38 <Sgeo__> Are there languages where the only mutation is self-modification? I think I've seen it
06:40:38 <quintopia> Mathnerd314: it is a whole lot easier to update an application without taking it offline if you have SM built in.
06:41:13 * Mathnerd314 is running out of battery
06:41:26 <quintopia> plug in!
06:41:32 <Sgeo__> Updating is mutation! It must die!
06:41:44 <Sgeo__> From now on, only write perfect code!
06:42:01 <Sgeo__> Hmm, you can update without self-mod if the application is just an interpreter
06:42:04 <Mathnerd314> Sgeo__: no! use copy-on-write and then garbage-collect!
06:42:22 <quintopia> Sgeo__: in underload, self-mod is the only form of flow control. does that count?
06:42:43 <Sgeo__> hmm
06:42:55 <Sgeo__> There wasn't something stronger?
06:43:03 <quintopia> stronger?
06:43:06 <Sgeo__> No variables, just constants, modified by SM?
06:43:12 <Sgeo__> That sort of thing
06:43:16 <quintopia> ahm
06:43:36 <quintopia> hold on
06:44:01 <quintopia> so you mean like all input is written immediately into the program?
06:44:29 <Sgeo__> Hmm, not sure
06:44:29 <quintopia> and all data is stored in the program?
06:44:44 <Sgeo__> Maybe I haven't seen it before
06:44:54 <quintopia> Aubergine would qualify there, although it has conventional flow control (gotos)
06:45:56 <quintopia> (on a side note, Aubergine is one of my favorite languages on the wiki. i couldn't say why.)
06:47:59 <Sgeo__> "(This reference implementation is buggy. The "or" on line 15 should be an "and," and against all logic, the "<" on line 44 should be a "<=.")"
06:48:01 <Sgeo__> lolwat
06:48:44 <quintopia> yeah i wrote that
06:49:03 <quintopia> because i had to make those changes to the ref impl to make it work
06:49:09 <Sgeo__> Why not just fix it?
06:49:15 <Sgeo__> Oh, you don't control the interp?
06:49:18 <zzo38> Consider [[IINC]]. Is that relevant? Maybe if you remove the line values and make it modify the commands instead?
06:49:21 <quintopia> it's not my language
06:49:53 <quintopia> zzo38: you do it :P
06:50:29 <zzo38> I mean hypothetically.
06:51:35 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101026210630]).
06:54:02 <zzo38> I don't know if you can make a new kind of esolang out of purely self-modifying.
06:54:54 <Sgeo__> What's that language where all instructions must come from input
06:55:02 <Sgeo__> According to quintopia, it's SM-complete
06:55:07 <zzo38> [[Easy]]
06:55:36 <zzo38> Sgeo__: Is Easy the right one?
06:55:48 <Sgeo__> Yes
06:56:46 <quintopia> hmmm
06:56:46 <Sgeo__> Actually, that seems Forth-like
06:56:55 <Sgeo__> The whole program is interpreting the program thing
06:57:01 <quintopia> yeah, i'd say that's SM-complee
06:57:15 <quintopia> although
06:57:29 <quintopia> one could also argue that it is more an interpreter than a language
06:58:11 <quintopia> actually, there's a problem
06:58:16 <Sgeo__> quintopia, how is an interpreter that never leaves interpreter mode not as SM-complete as a program in an SM-complete language that gets completely overwritten?
06:58:23 <quintopia> the : command is guaranteed to always be executed again
06:58:42 <quintopia> and it occurs at the end of a program regardless of the input
06:58:54 <quintopia> so there is pre-existing code that always gets executed again
06:59:00 <quintopia> so it's disqualified
07:00:53 <quintopia> Sgeo__: it's possible that any TC language is SMC by virtue of such interpreters being possible. i'll have to think about it.
07:02:26 <quintopia> http://bash.org/?926695 i'm gonna play this at a party some night :P
07:22:48 -!- zzo38 has quit (Remote host closed the connection).
07:29:29 <Sgeo__> I'm scared that if I describe what an SQL injection is, and don't provide a source, my professor will think I'm plagiarising or something.
07:31:06 <coppro> do you have standards for common knowledge?
07:31:51 <quintopia> meh, do it anyway
07:40:34 <coppro> quintopia: I recommend making sure it's not your computer
07:40:55 <coppro> twiddling bits is a fantastic way to screw your system up in precise ways
07:41:03 <coppro> (or use a VM)
07:43:40 <quintopia> coppro: i was thinking of building a system just to play on
07:43:50 <quintopia> can rebuild it from scratch the next day
07:47:40 <Quadrescence> who wants to play detective
07:52:30 -!- cal153 has quit (Ping timeout: 255 seconds).
07:53:56 <coppro> Quadrescence: ?
07:55:25 <Sgeo__> Bobby Tables!
07:57:37 <quintopia> i love playing detective
07:57:53 <Quadrescence> ok
07:57:57 <Quadrescence> http://i.imgur.com/EUswg.jpg
07:57:57 <Quadrescence> http://i.imgur.com/d5vDN.jpg
07:57:57 <Quadrescence> http://i.imgur.com/feroG.jpg
07:57:57 <Quadrescence> http://i.imgur.com/WbMEs.jpg
07:57:58 <quintopia> i mean the dressing up like a gumshoe and playing cat and mouse with attractive widows part
07:58:00 <Quadrescence> figure who did it
07:58:06 <quintopia> i don't actually like solving mysteries
07:58:10 <Quadrescence> because it happened a little while ago
07:59:14 <Sgeo__> 2 mins, I get back to work
07:59:19 <Sgeo__> Next paragraph etc
07:59:25 <Sgeo__> 1min
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:26 <Sgeo__> Now railing about Diaspora's piece of shit security
08:06:23 <Sgeo__> Fuck you EasyBib, that is NOT an invalid URL
08:16:50 <Sgeo__> FUCK
08:16:51 <Sgeo__> FUCK YOU
08:17:17 <Sgeo__> Wait, nevermind
08:17:24 <Sgeo__> Wait, no. I'm still saying fuck you
08:17:37 <Sgeo__> Actually, I have no idea.
08:28:43 -!- aloril has quit (Ping timeout: 265 seconds).
08:29:50 -!- marmar has joined.
08:29:56 <marmar> ciao
08:30:21 <Sgeo__> Hi
08:30:46 <marmar> !list
08:31:00 <Sgeo__> marmar, hm?
08:31:05 <Sgeo__> What are you trying to do?
08:31:33 -!- marmar has left (?).
08:37:17 -!- asiekierka has joined.
08:37:18 <asiekierka> hello
08:37:26 <asiekierka> http://esoteric.voxelperfect.net/wiki/Stackmill
08:37:32 <asiekierka> could you please look at the commands list
08:37:41 <asiekierka> and tell me if there's a command i could replace
08:37:49 <asiekierka> to be "duplicate topmost element on stack"
08:38:13 <asiekierka> i was thinking division or multiplication
08:39:24 <Sgeo__>
08:39:44 <asiekierka> what
08:39:49 <Sgeo__> Oh, sorry
08:39:54 <Sgeo__> Didn't look at the page
08:40:15 <asiekierka> i think multiplication as it's far easier to implement with add/sub than division
08:40:31 <asiekierka> duplicate topmost element on stack would save a lot of cycles for possible programmers
08:40:35 -!- aloril has joined.
08:40:42 <asiekierka> for example to duplicate a value of 10000
08:40:47 <asiekierka> you have to execute like... 100000 commands
08:43:07 <Sgeo__> "Seriously, cloud computing was the original motivation for the language." -- Gilad Bracha on Newspeak
08:43:20 <Sgeo__> Hmm, suddenly, I'm not so sure how much I like this language
08:43:39 <Sgeo__> Well, the language itself is fine, but can I morally support this language when that is its goal?
08:43:54 <Sgeo__> Maybe it's not really that cloud-extremist
08:43:58 <Sgeo__> I should relax
09:36:50 -!- ais523 has quit (Remote host closed the connection).
09:58:50 -!- MigoMipo has joined.
10:00:07 <Sgeo__> "This is exactly equivalent to an SQL injection vulnerability, except in a language other than Javascript."
10:00:10 <Sgeo__> Ok I'm tired
10:02:24 <Quadrescence> http://i.imgur.com/ST7Cg.jpg
10:02:25 <Quadrescence> http://i.imgur.com/ST7Cg.jpg
10:02:26 <Quadrescence> http://i.imgur.com/ST7Cg.jpg
10:02:28 <Quadrescence> http://i.imgur.com/ST7Cg.jpg
10:05:31 <Sgeo__> I can't tell if that's NSFW or not
10:06:18 * Sgeo__ decides that it is
10:08:49 <asiekierka> Sgeo__
10:08:50 <asiekierka> it's not NSFW
10:08:55 <asiekierka> it's Not Safe For Any Kind Of Life Or Sanity
10:09:28 <Sgeo__> asiekierka, the only thing that matches that description is death
10:13:43 <Sgeo__> Ah, BZFlag
10:14:02 <Sgeo__> Talked about BZFlag two years ago, as an example of cheating in ga... no, I didn't actually
10:14:07 <Sgeo__> Well, I'm using it now =P
10:15:36 -!- asiekierka has quit (Ping timeout: 255 seconds).
10:19:44 -!- pingveno has quit (Ping timeout: 255 seconds).
10:21:49 -!- pingveno has joined.
10:23:59 -!- sebbu has joined.
10:27:18 -!- sebbu2 has quit (Ping timeout: 255 seconds).
10:31:44 -!- oerjan has joined.
10:44:50 <Sgeo__> Now talking about Trusting Trust
10:46:46 <Sgeo__> http://cm.bell-labs.com/who/ken/trust.html this is it?
10:46:51 <Sgeo__> This is the whole thing?
10:53:18 <Sgeo__> http://www.schneier.com/blog/archives/2006/01/countering_trus.html I actually understand this
11:05:56 -!- cheater99 has joined.
11:07:54 <Sgeo__> It's so... obvious, really
11:18:30 -!- cheater99 has quit (Read error: Connection reset by peer).
11:38:15 -!- augur has changed nick to Agu10sInternet.
11:38:27 -!- Agu10sInternet has changed nick to augur.
11:47:34 <oerjan> http://www.mezzacotta.net/owls/ :D
11:49:07 * Sgeo__ dares oerjan to read every Mezzacotta strip
11:49:28 <oerjan> nice try
11:53:06 <Sgeo__> What am I on again?
11:53:10 <Sgeo__> Social engineering
11:57:26 -!- pingveno has quit (Ping timeout: 240 seconds).
11:59:33 -!- pingveno has joined.
12:18:01 <Sgeo__> "What are some similarities and differences between prank calls and attacks such as SQL injections?"
12:18:06 <Sgeo__> It's official, I'm insane.
12:19:00 * Sgeo__ clarifies "prank calls"
12:27:51 <Sgeo__> 6 seemingly unrelated comp sec topics in one paper
12:27:53 <Sgeo__> Sensible!
12:37:21 -!- asiekierka has joined.
12:39:43 -!- impomatic has joined.
13:01:33 -!- cheater99 has joined.
13:19:28 -!- asiekierka has quit (Ping timeout: 260 seconds).
13:22:57 -!- MigoMipo has quit (*.net *.split).
13:22:59 -!- variable has quit (*.net *.split).
13:23:04 -!- dbc has quit (*.net *.split).
13:27:41 -!- MigoMipo has joined.
13:27:41 -!- variable has joined.
13:27:41 -!- dbc has joined.
13:34:55 -!- pingveno has quit (Ping timeout: 276 seconds).
13:36:18 -!- pingveno has joined.
13:42:29 -!- MigoMipo_ has joined.
13:45:53 -!- variable has quit (Read error: Operation timed out).
13:45:55 <Ilari> Heh... I'm seeing how small space one can pack the complete list of all allocated unicast IPv4 addresses...
13:46:06 -!- MigoMipo has quit (Ping timeout: 260 seconds).
13:47:49 <Ilari> So far, 1/8th of the address space processed, about 2328 bytes output...
13:50:06 -!- variable has joined.
13:51:30 <Vorpal> fizzie, mcmap got desynced somehow when placing a torch high up. Garbage on map
13:52:58 -!- jix has quit (Ping timeout: 276 seconds).
13:53:23 -!- jix has joined.
13:54:54 -!- Wamanuz has joined.
13:58:10 * Sgeo__ breathes
13:58:19 <Sgeo__> I submitted everything the professor asked for
13:58:26 <Sgeo__> Let me try to do more
13:58:32 <Sgeo__> Increase my odds
14:00:21 -!- Wamanuz has quit (Ping timeout: 260 seconds).
14:05:55 -!- Wamanuz has joined.
14:06:08 -!- cheater99 has quit (Ping timeout: 240 seconds).
14:06:53 -!- asiekierka has joined.
14:20:07 -!- cheater99 has joined.
14:21:02 <Ilari> The program I wrote compressed bitmap (4Gib) of all allocated/delegated IPv4 address ranges to 29376 bytes...
14:22:15 -!- Wamanuz2 has joined.
14:24:27 -!- Wamanuz has quit (Ping timeout: 265 seconds).
14:25:39 <asiekierka> Ilari can you send the decompressor and the compressed file
14:30:42 -!- pikhq has quit (Ping timeout: 272 seconds).
14:30:56 -!- variable has quit (Read error: Connection reset by peer).
14:31:18 <Ilari> Actually, I designed the format more for random access into compressed bitmap than to be decompressed...
14:32:08 -!- variable has joined.
14:32:12 -!- pikhq has joined.
14:32:31 * Ilari checks what xz does with the data...
14:34:20 <oerjan> well if you have random access, surely decompression is just a for loop over that :)
14:34:36 <asiekierka> Ilari even if it's slow, do eet
14:35:15 <Ilari> Well, there are faster methods to decompress that data than loop over random access...
14:40:38 * Sgeo__ might find that data useful at some point
14:40:47 * Sgeo__ wants to ban all IPs from a certain wiki
14:40:58 <Sgeo__> Can just ban every /16 block, but that's tedious
14:41:09 <Sgeo__> I mean, of course I'd use a bot, but still
14:41:17 <Sgeo__> I feel deranged
14:42:39 <oerjan> patch source code?
14:43:25 <Sgeo__> I don't have that kind of control over it
14:43:36 <Sgeo__> If I did, I'd set the setting that blocks anons from editing
14:43:52 * Sgeo__ finally gets to use his Evil Wanda laugh in his FB status
14:55:49 <Vorpal> Sgeo__, /all/ IPs?
14:55:55 <Vorpal> wouldn't that forbid everyone
14:56:02 <Sgeo__> That would forbid anonymous users
14:56:18 <Sgeo__> I wouldn't select the option to ban logged in users with those IPs
14:56:50 <Vorpal> Sgeo__, tried captcha?
14:57:01 <Sgeo__> Vorpal, I don't have that level of access
14:57:12 <Vorpal> Sgeo__, can't you ask someone who /has/ that level of access?
14:57:24 <Sgeo__> I don't think any such person is active
14:57:41 <Ilari> It doesn't let to ban above /16 size?
14:58:08 <Sgeo__> Ilari, nope
15:01:42 <Ilari> And now the data even roundtrips through compressor and decompressor I wrote...
15:02:47 <Sgeo__> Am I deranged for comparing SQL injections to prank calls on The Simpsons?
15:11:00 <Sgeo__> ....CRAP
15:11:08 <Sgeo__> My presentation doesn't have a works cited
15:20:04 <Sgeo__> That's it
15:20:09 <Sgeo__> That's all the work I can do
15:20:15 <Sgeo__> I don't think there's anything else I can do
15:20:18 <Sgeo__> I need to breathe
15:21:42 -!- impomatic has left (?).
15:56:05 -!- elliott has joined.
15:56:14 <Vorpal> elliott, hi
15:56:24 <elliott> yawn
15:57:39 <elliott> 22:42:54 <coppro> j-invariant: basically he's trying to replace MSE
15:57:39 <elliott> 22:43:00 <zzo38> TeXnicard is not written entirely in TeX. It only uses TeX for the typesetting.
15:57:39 <elliott> 22:43:02 <coppro> knowing zzo38 it will likely not happen
15:57:39 <elliott> 22:43:06 <coppro> but if it does, <3
15:57:47 <asiekierka> http://twcywesit21c.tumblr.com/
15:57:56 <elliott> coppro: erm you have seen that TeXnicard is used by writing code in an underload-style language? :D
15:58:23 <elliott> coppro: btw /Enhanced/ CWEB is zzo's own version of CWEB.
15:59:04 -!- ineiros_ has quit (Ping timeout: 276 seconds).
16:00:00 <asiekierka> hi elliott
16:00:06 <asiekierka> http://esolangs.org/wiki/Stackmill
16:00:21 <elliott> 23:24:05 <coppro> Sgeo: oh
16:00:21 <elliott> 23:24:08 <coppro> so you're just an idiot
16:00:30 <elliott> coppro: no no you don't understand, he has a crippling fear of deadlines!
16:00:31 -!- ineiros has joined.
16:00:35 <elliott> asiekierka: seen.
16:04:55 <elliott> 00:38:47 <asiekierka> brainf**k can be implemented in it so it seems turing-complete
16:04:59 <elliott> asiekierka: i edited the page to correct this
16:05:12 <elliott> asiekierka: you have implemented a /finite-tape/ version of brainfuck which only proves it is at least a finite state machine
16:05:50 <elliott> asiekierka: also see http://esolangs.org/wiki/Talk:Stackmill
16:06:38 <elliott> 01:21:53 <variable> http://codepad.org/R1ydyMJ8 --> does anyone see anything wrong with this implementation of brainfuck ?
16:06:52 <elliott> variable: as long as "quick" doesn't mean in the sense of execution speed, in which case it's going to be very slow ...
16:07:21 <elliott> 01:30:18 <Sgeo> It might give variable a wrong impression
16:07:31 <elliott> sgeo i'm sorry but i don't think any impression you could give would be wrong
16:07:48 -!- elliott_ has joined.
16:07:52 -!- elliott_ has quit (Remote host closed the connection).
16:09:01 <elliott> 05:30:12 <asiekierka> Vorpal
16:09:01 <elliott> 05:30:13 <asiekierka> about the bug
16:09:01 <elliott> 05:30:21 <asiekierka> it only happens in the best GBA emulator available, NO$GBA
16:09:01 <elliott> 05:30:27 <asiekierka> it doesn't happen on the worse emulators (VisualBoyAdvance)
16:09:01 <elliott> 05:30:28 <asiekierka> or the real thing
16:09:01 <asiekierka> i think I see how BCT can be implemented
16:09:07 <elliott> well erm i hate to state the obvious...
16:09:10 <asiekierka> elliott it is the best emulator
16:09:17 <asiekierka> i'm sorry but every NDS developer uses it
16:09:19 <asiekierka> well
16:09:20 <asiekierka> not developer
16:09:21 <elliott> but an emulator with a bug not in the real hardware that other emulators don't have does not *sound* like the best, i'm afraid
16:09:25 <asiekierka> but people who want to emulate the thing
16:09:43 <asiekierka> well it is the only one which can emulate almost all commercial games properly
16:09:53 <elliott> sry, don't buy it. I see "LOL NO$GBA IS SO K33WL" all the time but I've never seen any evidence for it
16:10:11 <asiekierka> it is because it has a really good debugger
16:10:15 <asiekierka> and
16:10:20 <asiekierka> it can run a lot of stuff well
16:10:23 <elliott> debugging is not to do with emulation
16:12:19 <asiekierka> after checking BCT
16:12:32 <oerjan> elliott: i read that as that the emulator may be the only one to have this particular bug, but all the others have _more_ :D
16:12:57 <asiekierka> i am sure it's doable
16:12:58 <elliott> oerjan: possibly ... but printf("%d",99) crashing an emulator suggests to me that it might be a widdle bit of a big bug
16:13:05 <asiekierka> 0 = pop value
16:13:08 <oerjan> you'd think
16:13:26 <asiekierka> 1 = if value is nonzero (1), put next input value on stack and shift up
16:13:29 <oerjan> asiekierka: yeah i mentioned BCT because it looked to me like it would be easier
16:13:34 <asiekierka> that's BCT in Stackmill
16:13:37 <asiekierka> i do not have a working implementatino
16:13:40 <asiekierka> implementation*
16:13:42 <asiekierka> but i can prove it is possible
16:14:25 <asiekierka> i do not give up that easily
16:14:27 -!- variable has quit (Read error: Operation timed out).
16:14:32 <asiekierka> but i will have to backport some stuff from BF algorithms
16:14:34 <elliott> 23:29:29 <Sgeo__> I'm scared that if I describe what an SQL injection is, and don't provide a source, my professor will think I'm plagiarising or something.
16:14:47 <elliott> oh man yeah i get punished for knowing things all the time because you're not expected to know simple things like that in university!
16:14:53 <elliott> i'd be careful even saying 2+2=4 personally
16:16:03 <elliott> 23:59:14 <Sgeo__> 2 mins, I get back to work
16:16:03 <elliott> 23:59:19 <Sgeo__> Next paragraph etc
16:16:03 <elliott> 23:59:25 <Sgeo__> 1min
16:16:04 <elliott> 23:59:59 --- log: ended esoteric/10.12.26
16:16:04 <elliott> 00:00:00 --- log: started esoteric/10.12.27
16:16:04 <elliott> 00:05:26 <Sgeo__> Now railing about Diaspora's piece of shit security
16:16:17 <elliott> Sgeo__: a good less-than-five minutes of solid work i see!
16:16:32 <elliott> oh wait you meant in your ... um ... i don't really want to give it the title essay
16:16:32 <elliott> man
16:16:34 <elliott> i am grouchy today
16:16:38 <elliott> oerjan: have you got any kittens
16:16:39 <oerjan> elliott: at least for 1+1=2 you can cite russell/whitehead
16:16:45 <oerjan> nope
16:16:56 <elliott> http://esolangs.org/wiki/Talk:Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php
16:16:57 <elliott> hey look
16:17:00 <elliott> a new esolang to make!!
16:17:09 <elliott> Brainfuck/w/index.php?title=Talk:Brainfuck/index.php is going to be the BEST. ESOLANG. EVER
16:17:31 <asiekierka> http://esoteric.voxelperfect.net/wiki/Stackmill#Turing-completeness
16:19:22 <oerjan> <elliott> i am grouchy today <-- no _i'm_ grouchy
16:20:49 <asiekierka> is that kind of thing OK
16:21:01 -!- variable has joined.
16:21:05 <oerjan> asiekierka: you might also want BCT's top level loop and exit condition
16:22:19 <oerjan> and of course, that's not very explicit...
16:23:03 <asiekierka> oerjan - check again, like this?
16:23:08 <oerjan> hm the exit condition might be slightly tricky.
16:23:50 <oerjan> oh you solved that part.
16:24:11 <asiekierka> therefore i've shown that using the current command set it is possible to implement BCT in my language
16:24:19 <elliott> oerjan: write bf interpreter in scheme plz
16:24:24 <elliott> need for silly troll language
16:24:50 <asiekierka> also
16:24:56 <asiekierka> why the **** did i port Stackmill to the GBA
16:25:04 <asiekierka> and ran a fibonacci program on it
16:25:17 <asiekierka> the weakness of Stackmill is a need to run a time-consuming loop to duplicate/move a number
16:25:18 -!- atrapado has joined.
16:25:19 <oerjan> asiekierka: actually it's the halting that's slightly tricky, since you have to be able to do that on every 0 instruction...
16:25:43 <asiekierka> oerjan: do the check after the command runs
16:26:21 <asiekierka> push a check value on stack (0 - halt, 1 - no halt)
16:26:22 <oerjan> asiekierka: it's not the checking that's tricky, it's the actual halting... although maybe it's not that hard
16:26:32 <asiekierka> if it'll be 0
16:26:34 <asiekierka> the loop will terminate
16:26:37 <asiekierka> if it's 1, it will restart
16:26:41 <asiekierka> at the beginning of the loop
16:26:44 <asiekierka> the check value will be popped
16:26:47 <asiekierka> there you go
16:27:35 <oerjan> asiekierka: you have to do that check after each 0 command though
16:27:44 <asiekierka> oerjan: it will do it in the loop
16:27:52 <asiekierka> one run of the loop = one command parsed
16:27:53 <asiekierka> if i only know how to do a "x==[constant]" check in Stackmill
16:27:55 <asiekierka> i'd implement it
16:27:59 <asiekierka> knew*
16:29:03 <oerjan> asiekierka: i see, i was thinking of a compiler BCT -> Stackmill
16:29:07 <asiekierka> oh
16:29:19 <asiekierka> i am thinking of an interpreter there
16:29:25 <oerjan> similar to your brainfuck example
16:29:30 <asiekierka> input: the program, looped on and on
16:29:34 <asiekierka> output: nothing
16:29:41 <asiekierka> a compiler may very well be impossible
16:29:45 <oerjan> an interpreter has the disadvantage that you need to keep both the program and the data in the stack
16:29:50 <asiekierka> no you don't
16:29:57 <asiekierka> input: the program, looped on and on
16:30:03 <asiekierka> you just have to send the program ad infinitum
16:30:10 <asiekierka> real-world example: glue both ends of the program tape together
16:30:20 <oerjan> asiekierka: i would not consider that a proof of TC-ness
16:30:37 <oerjan> it's too cheating
16:30:41 <asiekierka> well in that case it's not TC
16:30:47 <asiekierka> thank you very much
16:31:00 <asiekierka> unless WAAAAAIT
16:31:02 <oerjan> yes it is.
16:31:08 <asiekierka> you could do this
16:31:12 <asiekierka> [command, check][command, check]
16:31:16 <asiekierka> [] - loop
16:31:17 <oerjan> these are not unsolvable problems.
16:31:19 <asiekierka> if the check is 0
16:31:24 <asiekierka> ALL the command/check loops will be ignored
16:31:27 <asiekierka> up to the program halting
16:31:36 <asiekierka> :D
16:31:43 <asiekierka> so the compiled version looks like this
16:31:46 <oerjan> asiekierka: yeah but you need to do it a bit more subtly than that
16:31:51 <asiekierka> oerjan: what
16:32:03 <asiekierka> why
16:32:07 <asiekierka> the solution works, is that not enough
16:32:13 <oerjan> asiekierka: you sometimes need to be able to go to the next command _without_ skipping it
16:32:21 <asiekierka> if the check is 1
16:32:22 <asiekierka> it won't skip it
16:32:32 <asiekierka> and will have normal program flow
16:32:41 <asiekierka> if the check is 0 (read: stack empty)
16:32:41 <oerjan> ...if the check is 1 how do you exit the first loop?
16:32:47 <asiekierka> oerjan: why would you have to
16:32:52 <asiekierka> the check is 0 when the stack is empty
16:33:07 <asiekierka> the main loop would also exit as the last check executed would be a 0
16:33:07 <oerjan> _because you want to run the next command_!
16:33:33 <asiekierka> i thought it's "after each 0 command, halt if the stack is empty"
16:33:42 <oerjan> yes.
16:33:46 <asiekierka> that's what i do
16:33:55 <oerjan> but what does your solution do if the stack is nonempty?
16:34:00 <asiekierka> the check will be a 1
16:34:12 <asiekierka> oh wait
16:34:13 <asiekierka> hmm
16:34:15 <asiekierka> you got me there
16:34:27 <asiekierka> oh right, hmm
16:35:15 <asiekierka> [pop previous stack value -> command -> check -> shift up and push a 0 so it quits the loop] pop the 0 -> shift down, giving the true check value [pop -> next command...
16:35:17 <asiekierka> here
16:35:21 <asiekierka> this is a way to make it work
16:36:20 <asiekierka> STACK AFTER CHECK:
16:36:25 <asiekierka> 1(data)
16:36:36 <asiekierka> (if the check was positive)
16:36:40 <asiekierka> STACK AFTER QUITTING THE LOOP:
16:36:42 <asiekierka> 0(data)1
16:36:46 <asiekierka> STACK BEFORE ENTERING THE NEXT LOOP:
16:36:48 <asiekierka> 1(data)
16:37:03 <asiekierka> STACK BEFORE RUNNING THE COMMAND:
16:37:04 <asiekierka> (data)
16:37:17 <elliott> oerjan: You Know You're a Haskeller When: you write a scheme program without realising that it needs to be initialised with an infinite stream of 0s
16:38:17 <oerjan> elliott: yay
16:38:31 <elliott> oerjan: fix it for me >:|
16:38:44 <oerjan> elliott: use set-cdr! ? >:)
16:38:55 <asiekierka> it is complex but i believe i can pull off a BCT compiler
16:39:04 <oerjan> or what it's called
16:39:06 <asiekierka> it is VERY complex so i'll have to make an actual app for it
16:39:09 <elliott> oerjan: ...hey that will actually work!
16:39:10 <elliott> oerjan: thanks dude
16:39:24 <oerjan> you're welcome
16:41:03 <elliott> oerjan: hmm I just realised that I basically have to put my whole "interpret" procedure in the argument to H
16:41:09 <elliott> since presumably it doesn't have access to the super-Turing environment
16:44:14 <oerjan> asiekierka: i think there's still a problem there
16:44:18 <elliott> oerjan: 1. Comments in -- style are too hard to mention cause they do not stop the eye-flow as // vertical slashes do. 2. Comments in /**/ style are too easy to enter from the right numeric keyboard, but {--} style require shift + some keys in the middle of keyboard.
16:44:18 <elliott> From phisiological point of view - putting the right hand to the right for comments tells the body "i'm putting a comment", but putting {--} in some way tells the body - I still type-in the code part.
16:45:14 <nooga> i'm thinking about new general purpose programming language
16:45:34 <oerjan> asiekierka: the "pop the 0" from the different loops accumulate
16:45:48 <asiekierka> oerjan no
16:46:05 <elliott> hmm I need Banana Scheme opinions
16:46:06 <oerjan> elliott: saw that in r/programming
16:46:07 <asiekierka> the loop pops VALUE #1, does the command, pushes VALUE #1, moves it and pushes #2
16:46:15 <asiekierka> the un-loop pops #2, moves VALUE #1 back
16:46:16 <elliott> I need to use eval in this program
16:46:20 <elliott> so I need to pass an environment
16:46:25 <elliott> so I need to do (scheme-report-environment version)
16:46:29 <elliott> For R5RS, version=5.
16:46:33 <elliott> But what is it for Scheme-1?
16:46:45 <elliott> (scheme-report-environment 5.1)? :p
16:46:54 <elliott> (scheme-report-environment '5H)?
16:47:04 <elliott> optional procedure: (interaction-environment)
16:47:04 <elliott> This procedure returns a specifier for the environment that contains implementation-defined bindings, typically a superset of those listed in the report. The intent is that this procedure will return the environment in which the implementation would evaluate expressions dynamically typed by the user.
16:47:06 <elliott> Or that will work!
16:47:12 <oerjan> asiekierka: the problem isn't what happens inside the loops, but what happens between them once you decide to skip them
16:47:53 <oerjan> you're popping a 0 in each gap
16:48:02 <oerjan> a swap instead might work
16:49:25 -!- Wamanuz2 has quit (Remote host closed the connection).
16:49:38 <asiekierka> i'm stuck
16:49:41 <asiekierka> Wait, no
16:49:48 <elliott> > (run '(+))
16:49:48 <elliott> Scheme 48 heap overflow
16:49:51 <nooga> hi asiekierka
16:49:51 <asiekierka> that is not a problem as we are quitting the loop, right?
16:49:56 <asiekierka> if we are halting
16:50:00 -!- Wamanuz2 has joined.
16:50:01 <asiekierka> i do not care about what happens to the stack
16:50:09 <asiekierka> and we're halting only when the stack is empty
16:50:19 <asiekierka> the stack will constantly return zeros when empty
16:50:20 <oerjan> asiekierka: well you still might not want it to crash...
16:50:25 <asiekierka> oerjan: It won't
16:50:30 <oerjan> oh in that case it should be fine
16:50:32 <asiekierka> Yes
16:50:41 <asiekierka> so turing-completeness is theoretically proved
16:50:44 <asiekierka> not practically, thouh
16:50:46 <asiekierka> though*
16:51:37 <oerjan> yeah but it _should_ be just a cut-and-paste compilation once you found out what each part becomes
16:51:40 <asiekierka> Yes
16:51:47 <oerjan> er
16:51:53 <asiekierka> So can I state that this is turing-complete
16:51:53 <asiekierka> or
16:51:57 <oerjan> s/cut-and-paste/search-and-replace/
16:52:00 <asiekierka> should I make a practical one first
16:52:30 <oerjan> i think you should make it at least as explicit as the brainfuck version is
16:52:52 <elliott> oerjan: now now, a mathematician can't demand full specification from others
16:52:54 <asiekierka> yes
16:52:55 <asiekierka> i will tomorrow
16:52:56 <elliott> that's hypocritical!
16:52:56 <asiekierka> gtg bye
16:52:58 <elliott> asiekierka: just handwave it
16:53:00 <elliott> say it's probably TC
16:53:05 -!- asiekierka has quit.
16:53:24 <nooga> hehe
16:53:28 <nooga> elbląg
16:54:09 * oerjan swats elliott -----###
16:54:20 <Vorpal> elliott, *prod*
16:54:23 <elliott> Vorpal: what
16:54:33 <elliott> oerjan: shut up, i'm sad because scheme48 heap overflows on my program, und- OH
16:54:35 <elliott> OHHHHH. I SEE.
16:54:44 <Vorpal> elliott, about when do you plan to work on that thing?
16:54:48 <elliott> oerjan: thx rubber ducky
16:54:56 <elliott> Vorpal: on the wonders of the world?
16:54:59 <Vorpal> elliott, yeah
16:55:00 <elliott> I'm a bit busy coding right now :p
16:55:07 <elliott> forgot to turn minecraft off
16:55:17 <elliott> I'll loot my stock a bit later to see what there is
16:55:31 <elliott> > (run '(+))
16:55:31 <elliott> Scheme 48 heap overflow
16:55:33 <elliott> WHAT HAVE I DONE TO YOU
16:55:36 <Vorpal> elliott, just want to know when I can expect you there so we don't miss constantly miss each other with half a minute :P
16:55:48 <elliott> i think i'll have breakfast first :p
16:55:52 <oerjan> elliott: memory leak?
16:55:55 <Vorpal> elliott, wait what
16:56:09 <Vorpal> elliott, when did you move to US or whatever
16:56:20 <elliott> Vorpal: hey shut up, ais523 has been on us timezone before and the like :)
16:56:46 <elliott> and oerjan just does it discreetly
16:56:54 <elliott> oerjan: well ...
16:57:03 <elliott> oerjan: I think possibly scheme48 handles cyclic lists badly
16:57:12 <oerjan> elliott: oops
16:57:26 <elliott> oerjan: all that /should/ be happening here is it incrementing the first element of after (after = 0:after)
16:57:28 <elliott> ('+ (interpret (cdr p) before (cons (+ (car after) 1) (cdr after))))
16:57:32 <elliott> and then seeing the null is list and returning
16:57:35 <elliott> ((null? p) (cons before after))
16:57:40 <elliott> oh, possibly it's /printing/ it that isn'tw orking
16:57:54 <elliott> nope
16:57:56 <elliott> let's try mzscheme
16:58:04 -!- variable has quit (Read error: Operation timed out).
16:59:03 <Sgeo__> Let's try Racket
16:59:06 * Sgeo__ gets shot
16:59:53 <elliott> elliott@dinky:~/code/bwipttbip$ mzscheme -if bwipttbip.sc1
16:59:54 <elliott> Welcome to MzScheme v4.2.1 [3m], Copyright (c) 2004-2009 PLT Scheme Inc.
16:59:54 <elliott> > (run '(+))
16:59:54 <elliott> reference to undefined identifier: H
16:59:54 <elliott> > (define (H x y) #t)
16:59:54 <elliott> > (run '(+))
16:59:56 <elliott> grmbl
17:00:00 <elliott> Sgeo__: done.
17:00:01 <elliott> well.
17:00:04 <elliott> technically that's slightly pre-Racket.
17:01:39 <oerjan> afk
17:17:46 <elliott> "The air on which Haskell programmers seem to thrive reeks of foul stench of cargo cult mathematics, something in which I don’t want to be a part." -- Quadrescence, clogging up my proggit with bullshit
17:17:51 <elliott> Quadrescence: gtfo of my front page
17:19:19 * oerjan didn't see that
17:19:57 <elliott> oerjan: can you just ban him or something, he's a persistent troll with no interest in esolangs who just bothers everyone and also says "u" for "you" :{
17:20:14 <elliott> also that is clearly a direct attack on the secret cabal of haskellers >:)
17:20:58 <oerjan> no dammit
17:21:09 <elliott> psht
17:21:12 <oerjan> also beware, i am _damn_ grumpy today
17:21:17 <elliott> i'll have to find a more loyal haskeller
17:21:33 <oerjan> BUT YOU JUST MADE UP THAT QUOTE
17:21:56 <elliott> oerjan: er what quote
17:22:31 <oerjan> that air and stench one
17:22:42 <elliott> oerjan: no, that's on reddit right now.
17:22:49 <elliott> oerjan: http://www.reddit.com/r/programming/comments/es29o/the_air_on_which_haskell_programmers_seem_to/
17:23:08 <elliott> symbo1ics.com is his stupid blog which he keeps bugging everyone in here to write a post on.
17:23:15 <Quadrescence> elliott: no you
17:23:29 <Quadrescence> elliott: yeah I've invited people to write things if they wish
17:23:35 <elliott> banning me is so cliché it's happened like 4 times by now
17:23:40 <Quadrescence> but I'm done bugging people about it. I just made an open offer
17:25:30 <elliott> well at least you're well on your way to becoming just as overly-dramatically acerbic as Stanislav without actually having decent opinions to back it up, i predict imminent internet fame
17:25:38 <elliott> or at least proggit. what's the difference.
17:25:49 <Quadrescence> elliott: u mad
17:26:13 <elliott> proggit is bad enough without your crap.
17:26:32 <Quadrescence> i didn't post it btw
17:26:38 <Sgeo__> Wait, is .. was about to ask
17:26:43 <elliott> Quadrescence: also considering you just mentioned IIRC /two days ago/ that you were finally learning haskell i seriously doubt you're even /close/ to competent enough to have a decent opinion on it.
17:26:51 <elliott> but let's not let that stop us.
17:26:51 <Quadrescence> elliott: what?
17:26:55 <Sgeo__> Quadrescence, do you just accept all programming related thoughts?
17:26:58 <Quadrescence> when did I mention I was learning haskell
17:27:16 <elliott> oh wait bsmntbombdood said that
17:27:16 <Quadrescence> elliott: i wrote a blog post about haskell like 2 months ago
17:27:16 <elliott> lawl
17:27:49 <elliott> i suppose it's too much to expect you to realise that nobody likes Num, it's a historical relic
17:28:14 <elliott> [18:36] <Quadrescence> mauke: I'm not talking to Haskell inter-
17:28:15 <elliott> preters, I'm talking to humans over the internet.
17:28:23 <elliott> except that [Num t => t] is valid with existential quantification.
17:28:26 <elliott> so it's hardly a nitpick.
17:28:44 <Quadrescence> elliott: if I said "forall", maybe it would!
17:29:39 <Quadrescence> actually what am i saying "forall"
17:29:52 <Sgeo__> fuckyouall
17:30:13 <Sgeo__> You are having a heated debate over a failure in communication.
17:30:22 <Ilari> Ping times: 65.4ms and 1.5ms...
17:30:32 <Quadrescence> yeah for once i agree with Sgeo__ :)
17:30:55 <elliott> Sgeo__: no, no we're not
17:31:00 -!- Mathnerd314 has joined.
17:31:12 <elliott> Sgeo__: I'm having a non-heated shit-slinging over the fact that Quadrescence is a moron and just about every sentence in the post is either blatantly incorrect or stupid.
17:31:33 <Quadrescence> elliott: r u mad cuz i attacked haskell
17:31:48 <Sgeo__> elliott, I have no comment about the rest of the post, but Quadrescence and the rest of the world need to figure out how to talk to eachother
17:31:49 <elliott> no, i don't even /like/ haskell all that much
17:32:03 <elliott> Sgeo__: the problem is firmly Quadrescence's.
17:32:43 <Sgeo__> In breakdowns of communication, the prolem is firmly whoever things that it's the other side's fault entirely
17:32:56 <Sgeo__> Well, ok, not "firmly"
17:33:24 <elliott> Sgeo__: i'm not sure you quite understand: he did not write a post about how mauke is an idiot for being a pedant, this is one minor point in a whole gigantic, shining orb of idiocy.
17:33:25 <Sgeo__> I'm going to go back to napping now
17:35:05 <Quadrescence> elliott: y u so mad
17:35:43 <elliott> the only thing even vaguely "mad" is mild irritation that proggit is being clogged up with another idiotic headline. the rest is just you being a moron :)
17:36:34 <Quadrescence> some programmer found it sensible. i guess he is probs an idiot too eh
17:37:19 <elliott> wait, SOME PROGRAMMER?!?!
17:37:24 <elliott> holy shit, those are some credentials there
17:37:29 <Quadrescence> you bet
17:37:41 <elliott> got another programmer on line three, says VB is the best language ever and anything with esoteric in the name is a tool of the devil
17:37:43 <elliott> gotta agree with him
17:37:48 <elliott> see you, satanic cocksuckers
17:37:49 -!- elliott has left (?).
17:38:06 <Quadrescence> he seems upset
17:38:20 -!- elliott has joined.
17:38:25 <elliott> decided satanism is the thing for m
17:38:27 <elliott> *e
17:38:57 <Quadrescence> wb elliott, master programmer of #esoteric
17:39:14 <elliott> sorry no, i think you're forgetting: Mr. VB
17:40:21 <Quadrescence> Mr VB doesn't vent about his favorite website being clogged with nonsense, he just Continues On His Way
17:40:57 <elliott> and uses VB, yep.
17:41:03 <elliott> and thinks we're all going to hell.
17:41:05 <elliott> nice guy.
17:41:45 <Quadrescence> that is very nice of you to elaborate on his opinions. perhaps you can tell me more about who he is because i am curious why he posted my non-sensical blog
17:41:54 -!- sshc has joined.
17:42:08 <elliott> well you see he's magical.
17:46:14 <Quadrescence> so are you, master elliott
17:46:35 <elliott> lord over my domain. all ~seven of us.
17:47:57 <Vorpal> hm I wonder where Deewiant is
17:48:55 -!- sftp has joined.
17:49:01 <elliott> Vorpal: do you know how to merge two LVM volumes?
17:51:22 <oerjan> Vorpal: doing something deewiant, probably
17:54:31 <elliott> anyone want to fix my interpreter? >:)
17:54:53 <Quadrescence> elliott: where is it
17:55:04 -!- Wamanuz2 has quit (Read error: Connection reset by peer).
17:55:04 <elliott> on my filesystem
17:55:43 <elliott> hmph wait why the fuck does that run out of heap
17:55:50 <elliott> whaat
17:55:57 <elliott> ohh.
17:56:07 <elliott> (define (interpret p before after)
17:56:07 <elliott> (eval
17:56:07 <elliott> `(letrec ((interpret (lambda (p before after) ,interpret-code)))
17:56:07 <elliott> (interpret ',p ',before ',after))
17:56:07 <elliott> (interaction-environment)))
17:56:17 <elliott> methinks ',after might not like to be evaluated if after is infinite
17:56:33 <elliott> > (eval `',zeroes (interaction-environment))
17:56:33 <elliott> [hang]
17:56:34 <elliott> indeed
17:57:16 -!- Wamanuz2 has joined.
17:57:54 -!- atrapado has quit (Quit: Abandonando).
18:02:34 <elliott> oerjan: can i troll you please? http://esolangs.org/wiki/Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php
18:02:40 <elliott> oerjan: is this language Turing complete or not? ;)
18:02:53 <elliott> oerjan: it can run any computation that brainfuck can, just so long as it halts
18:03:49 -!- Sgeo__ has left (?).
18:03:55 -!- Sgeo__ has joined.
18:04:08 <Sgeo__> What the fuck am I doing that XChat interprets as "close this tab"?
18:04:13 -!- Wamanuz3 has joined.
18:04:21 <Sgeo__> Also, you're all addicted to /index.php
18:04:26 <Sgeo__> Also, I'm gibbering mess
18:04:52 <elliott> Sgeo__: Actually, I'm just addicted to reacting to spammers that spam "Talk:foo" for ridiculous foo by creating a language named foo, so that Talk:foo cannot be reasonably protected.
18:04:54 <Sgeo__> It's freezing cold outside, I haven't had a good night's sleep for... um
18:04:54 <elliott> Basically I hate the admins.
18:05:14 <elliott> Also all these foo languages are basically trolls against the concept of a computational class.
18:05:47 <Sgeo__> elliott, what did you think of the disussion of SM-complete?
18:06:04 <elliott> Sgeo__: To be honest I glossed over it as it didn't seem very interesting.
18:06:31 <oerjan> elliott: it's not TC, since you cannot emulate an arbitrary turing machine computation in it
18:06:48 <elliott> oerjan: sure you can -- just so long as it halts
18:06:50 -!- Wamanuz2 has quit (Ping timeout: 255 seconds).
18:06:57 <oerjan> where "emulation" requires a halting computation for the translation, naturally
18:07:02 <elliott> oerjan: you can even sort of emulate an infinite computation
18:07:10 <elliott> oerjan: by running it for N steps for paramaterisable N
18:07:31 <elliott> oerjan: also, you can trivially construct a program which is valid iff a given Turing machine computation halts, so it's /super-Turing/ and /sub-Turing/ at the same time
18:07:34 <elliott> oerjan: confused yet?
18:08:23 <elliott> 02:46:46 <Sgeo__> http://cm.bell-labs.com/who/ken/trust.html this is it?
18:08:23 <elliott> 02:46:51 <Sgeo__> This is the whole thing?
18:08:24 <oerjan> elliott: sorry, but i believe TC requires you to be able to translate a computation which you don't know whether halts or not, and give a valid program as result
18:08:30 -!- asiekierka has joined.
18:08:31 <asiekierka> hai
18:08:41 <elliott> Sgeo__: Yes, that is the thing that made the most common opinion to be that computer trust was inherently limited.
18:08:49 <elliott> For at least a decade.
18:09:26 <elliott> oerjan: sure. but then, it is super-Turing in a way -- you can construct a program which, given an error-compliant implementation, behaves differently when given a halting turing machine program vs. a non-halting one
18:09:35 <elliott> oerjan: even if one of these cases is an error -- this is edging close to Kimian quines!
18:10:36 <Sgeo__> Kim Jong-Il writes quines?
18:10:44 <asiekierka> Sgeo__ I LOL'D
18:10:47 <oerjan> eek
18:11:26 <elliott> Sgeo__: what
18:11:29 <elliott> oh.
18:11:32 <elliott> shaddap :D
18:11:33 <elliott> oerjan: eek at what?
18:12:25 <oerjan> elliott: well your language reminds me of promise problems
18:13:10 <oerjan> and the issue of detecting whether something is a valid problem is a completely different task to detecting what the answer is if it is
18:13:41 <elliott> oerjan: but consider this:
18:13:52 <elliott> (lambda (p) ...run turing machine p, discard all output, print out "YAY!"...)
18:13:54 <oerjan> of course since your language has no IO the second task is actually trivial for it
18:14:05 <elliott> oerjan: given a strictly-erroring implementation, you can run this program with various inputs to determine whether the given turing machine halts
18:14:46 <elliott> oerjan: now imagine a simple shell script wrapper: do this. if the program halts, run it on an actual turing machine emulator. if the program does not halt, run it an infinite number of times. first telling it to execute instruction 1, then 2, etc., given the previous state
18:14:54 <elliott> oerjan: now obviously the infinite loop here means the wrapper is providing a lot of the TCness
18:14:57 <oerjan> elliott: yes. but then you are essentially solving the first task, which means you are not _really_ making use of only legal programs in the first place
18:15:02 <elliott> sure
18:15:13 <elliott> but I'm saying that an error-conformant implementation is both::
18:15:15 <elliott> *both:
18:15:18 <oerjan> and then of course that is super-turing
18:15:24 <elliott> - super-Turing (can solve halting problem for Turing machines)
18:15:31 <elliott> - and sub-Turing (can't emulate all of them with valid programs)
18:15:41 <elliott> and can be made TC by combining the first with a simple conditional infinite loop
18:15:54 <elliott> tl;dr WTF IST DIS
18:17:37 <elliott> oerjan: also consider: a non-error-conforming implementation is TC
18:17:44 <elliott> oerjan: and can be implemented on a turing machine
18:17:48 <elliott> (just use a bf interpreter)
18:17:58 <elliott> oerjan: because non-halting programs will have their undefined behaviour be "run forever" :)
18:18:39 <oerjan> i am just saying, it's a promise problem and confusing the different subproblems of it will just give nonsense
18:18:52 <elliott> oerjan: don't you think i'm /trying/ to give nonsense?
18:19:04 <oerjan> OF COURSE NOT. THAT WOULD BE _EVIL_
18:19:18 -!- dbc has quit (*.net *.split).
18:19:23 <elliott> oerjan: it is, as i said, a troll :)
18:21:26 <elliott> http://esolangs.org/w/index.php?title=User:Chris_Pressey&diff=20610&oldid=20565 am i a bad person now
18:22:23 <oerjan> ...i already did a similar correction, as did cpressey
18:22:54 <oerjan> oh it's a user page
18:22:54 <elliott> oerjan: but not on his user page :D
18:23:13 <elliott> oerjan: http://esolangs.org/w/index.php?title=User:Chris_Pressey&diff=11261&oldid=7997 oh that's okay then
18:23:14 <oerjan> then yes, clearly genocidal evil madness
18:23:34 <elliott> you know what's a really tempting smart-vandal target?
18:23:36 <elliott> [[Template:Catseye]] :D
18:24:20 <oerjan> you don't say
18:25:03 <elliott> oerjan: btw can you delete http://esolangs.org/wiki/Template:Catseye/inner, it's been unused for ages :trollface:
18:27:40 <oerjan> BUT OF COURSE
18:29:14 <elliott> oerjan: well when will it be done??
18:31:10 <oerjan> I NEVER SAID ANYTHING ABOUT "WILL"
18:32:29 * Mathnerd314 never figured out the difference between "could" and "would"
18:32:33 <Vorpal> elliott, when is the ETA on that macbook air?
18:32:51 <elliott> Vorpal: it's delivered via tiny particles in the air, you wait for them to spontaneously assemble to form a laptop
18:32:53 <elliott> it's lighter that way
18:32:55 <elliott> no packaging required
18:32:56 <Vorpal> elliott, and more importantly: will it be beefy enough to run dwarf fortress
18:33:05 <elliott> Vorpal: Maybe :P
18:33:25 <oerjan> the ETA are far too busy blowing up things in spain
18:33:26 <elliott> Vorpal: 2.1 GHz semi-recent Core 2 Duo, 4 GiB RAM, and a decent GPU but that hardly matters for Dwarf Fortress.
18:33:28 <Vorpal> elliott, doesn't it use text UI iirc?
18:33:48 <Vorpal> elliott, so shouldn't you be able to get an account on bsmntbombdood's computer and play it over ssh?
18:33:49 <elliott> Vorpal: Well, it renders its own UI which uses sprites that are mostly DOS codepage 437 plus some extra ones (like a dwarf glyph).
18:33:55 <Vorpal> ah
18:33:57 <elliott> There is a server for doing it over telnet/ssh, though.
18:34:04 <elliott> But I doubt bsmntbombdood would do that :P
18:34:27 <elliott> Vorpal: http://upload.wikimedia.org/wikipedia/en/8/80/Curses-tileset.gif this is what dwarf fortress looks like; notice the bearded dwarves
18:35:04 <Vorpal> elliott, is it CPU bound or memory bound?
18:35:33 <Vorpal> actually, memory bound is the wrong word
18:35:45 <elliott> Vorpal: http://df.magmawiki.com/index.php/DF2010:System_requirements http://df.magmawiki.com/index.php/DF2010:Maximizing_framerate
18:35:45 <Vorpal> since that would seem to refer to memory speed
18:35:54 <elliott> "DF is not particularly RAM-hungry. Expect the process to allocate between 300 and 700 MB with medium regions. With 512MB you may be a bit on the short side, but 1 GB is absolutely sufficient. World Generation can eat up far more than that, but Generation will only be slower if not more RAM is available. Otherwise the influence of RAM on game speed is limited, as DF is not loading and offloading big ch
18:35:54 <elliott> unks of data much."
18:36:17 <Vorpal> elliott, 1 GB for dwarf fortress or 1 GB for the entire system I wonder
18:36:25 <elliott> Vorpal: Entire system, I think.
18:36:38 <elliott> Vorpal: I gather that just about anything can play Dwarf Fortress if you're okay with only seeing a handful of tiles at a time.
18:37:24 <elliott> Vorpal:
18:37:25 <elliott> CPU: AMD 7750x2 BE @ 2.7GHz
18:37:25 <elliott> MBO: Gigabyte GA-MA78G-DS3h
18:37:25 <elliott> RAM: 4GB DDR2 800
18:37:25 <elliott> GPU: XFX GTX260
18:37:27 <elliott> Game version: 31.08 - graphics
18:37:27 <elliott> World size: Medium region (default, nonmodified)
18:37:29 <elliott> Embark size: 5x5
18:37:31 <elliott> Age of fort: 6 years
18:37:33 <elliott> Number of dwarves: 140
18:37:35 <elliott> Average fps: 6-14
18:37:46 <elliott> Vorpal: Note extremely low average fps (it controls input too; apparently 5-15 fps is clumsy for text/mouse input)
18:37:47 <Vorpal> heh
18:38:04 <Vorpal> elliott, what makes it so CPU hungry?
18:38:29 <elliott> Vorpal: It's reaaaaaaaaaally advanced.
18:38:38 <elliott> Vorpal: For instance, world generation basically simulates the whole world for ages.
18:38:51 <elliott> Procedural up the wazoo.
18:39:00 <Vorpal> elliott, well... that would happen /before/ actual gameplay, no?
18:39:03 <elliott> Yes.
18:39:09 <elliott> Vorpal: Then after that, it's just really complex nature algorithms and everything affecting everything else, from what I gather.
18:39:20 <elliott> I mean, each dwarf has its own AI (well, presumably).
18:39:23 <Vorpal> (so while annoying to wait, it is not a major issue)
18:40:01 <elliott> "Can't really give any solid recommendations, but I can share my findings between my machines. A 3.0Ghz P4 w/ 1GB of RAM ran the new version a little slower than the old. Another machine with a dualcore 2.0Ghz processor and 2GB of RAM ran it even slower. And my main machine, a quadcore @2.3Ghz with 3.25 GB of RAM ran significantly faster than the old version."
18:40:02 <Vorpal> elliott, in most games each create has it's own AI on some level. Otherwise all copies would do the exact same actions at a given point in time.
18:40:27 <elliott> Vorpal: You know why Minecraft is slow?
18:40:45 <elliott> Vorpal: Imagine if Notch was a crazy perfectionist who spent less time making the game fun than making it RIDICULOUSLY COMPREHENSIVE and had a magic infinite-speed computer.
18:40:51 <elliott> Vorpal: That's why DF is slow.
18:40:53 <Vorpal> elliott, java mostly. It is slower in the beginning when stuff hasn't been jitted.
18:40:57 <elliott> Er, no.
18:40:59 <Vorpal> elliott, he
18:41:02 <Vorpal> heh*
18:41:05 <elliott> It's slow because it's handling thousands and thousands of blocks and shit at the same time.
18:41:11 <elliott> OK, so Java doesn't help, but still.
18:41:15 <Vorpal> elliott, for minecraft, yeah quite
18:41:22 <elliott> It's OK in Minecraft because not that much is going on at any given time.
18:41:31 <Vorpal> elliott, anyway, playing it locally gives lower FPS than playing SMP
18:41:37 <Vorpal> only for desktop
18:41:47 <Vorpal> for my laptop both give same (and lower) FPS
18:42:26 <Vorpal> probably because my desktop has a good GPU but a somewhat dated CPU. And my laptop has a decent CPU but intel graphics
18:43:29 <elliott> I'm optimistic about the Air's performance.
18:43:40 <elliott> I think it'll probably be faster than my old iMac, which is good enough for me. :p
18:43:49 <elliott> Also SSD.
18:44:46 <Ilari> Java performance... Java is quite performant, but has some rough edges that really murder performance if hit (large switch statements and virtual method calls).
18:45:10 <elliott> Ilari: Switch statements being slow, who'da thunk it.
18:47:48 <Ilari> Apparently (at least the most common) JVM can't use jump tables to optimize switches.
18:48:33 <elliott> I think you can switch on strings in java.
18:49:15 <Ilari> Well, yes, but even when switching on small integers it is slow.
18:49:37 <elliott> yeah
18:50:11 <asiekierka> back
18:51:33 <Ilari> And some array-intensive code can be slow too (because of bounds checking)...
18:52:03 <nooga> now is time for... PINK FLOYD :F
18:52:19 <nooga> which recording should I choose hmmm
18:53:03 -!- dbc has joined.
18:53:11 <pikhq> Dark Side of the Moon is always good.
18:57:07 <nooga> nah
18:57:12 <nooga> i mean yes
18:57:15 <nooga> but not now
19:06:16 <nooga> ah
19:06:18 <nooga> shine on you
19:11:17 <pikhq> Yeah, "Wish You Were Here" is a pretty good album...
19:13:47 <Vorpal> ineiros, skype again?
19:16:06 <pikhq> Ooooh. 27C3 started.
19:16:58 <ineiros> Vorpal: Yes.
19:17:28 -!- Phantom_Hoover has joined.
19:23:55 <Phantom_Hoover> fizzie, mcmap failed with 19:21:23 [DIED] protocol.c:305: Unknown packet id: 0x68
19:26:14 <elliott> Phantom_Hoover: As we've said, you failed.
19:26:22 <Phantom_Hoover> How?
19:26:50 <elliott> Phantom_Hoover: rm mcmap *.o
19:26:52 <elliott> Phantom_Hoover: make
19:26:55 <elliott> Phantom_Hoover: _build/mcmap ...
19:26:58 <elliott> You were using the old version.
19:27:21 <Phantom_Hoover> elliott, screw it, I'm removing it and recloning./
19:27:39 <elliott> Phantom_Hoover: You just did ./mcmap. It builds into _build/mcmap.
19:27:43 <elliott> ./mcmap was your old build.
19:27:44 <elliott> Duh.
19:28:38 <Phantom_Hoover> Oh, sorry for not realising you'd changed the location of the executable from some vague references mixed with wrong advice.
19:30:51 <Sgeo__> I kind of like the presentation I made
19:36:18 <Phantom_Hoover> Sgeo__, what was it on and should I care?
19:37:06 <Sgeo__> Phantom_Hoover, the incredibly vague topic of "misplaced trust", which I used to cover SQL injections, XSS, games, trusting trust, and social engineering
19:37:26 <Phantom_Hoover> OK, I seriously cannot see anyone else on the server.
19:40:23 -!- zzo38 has joined.
19:40:40 * Phantom_Hoover guts .minecraft/bin
19:41:08 * Sgeo__ needs to put food on his stomach soon
19:41:27 <Phantom_Hoover> Sgeo__, eat your copies of ActiveWorlds.
19:41:34 <pikhq> Sgeo__: So, that's like writing about "formal reasoning" for a math class, then?
19:41:53 <Phantom_Hoover> Full of essential semimetals!
19:42:39 <Sgeo__> pikhq, hm. I don't think it's _that_ relatively broad, but close
19:42:39 <elliott> Phantom_Hoover: Why do you keep dying?
19:42:44 <Phantom_Hoover> Some packets must be being dropped...
19:42:47 <Phantom_Hoover> Or somesuch.
19:42:55 <elliott> Phantom_Hoover: You're stupid.
19:42:58 <elliott> Phantom_Hoover: We can't see each other either.
19:43:01 <elliott> Phantom_Hoover: It's a glitch due to teleporting.
19:43:04 <elliott> Known.
19:43:07 <elliott> It happens to us all the time.
19:43:12 <elliott> We just don't want to reconnect because this is fun.
19:43:20 <Vorpal> indeed
19:43:22 <Sgeo__> Did you ever discover who blew up the wonders of the world?
19:43:25 <Phantom_Hoover> You could have told me, rather than waiting for me to complain and then being smug.
19:43:41 -!- Sgeo__ has changed nick to Sgeo.
19:43:58 <Vorpal> Phantom_Hoover, we told you in game
19:44:02 * Sgeo shaves
19:44:15 <Sgeo> (not literally)
19:44:16 <elliott> Phantom_Hoover: We /did/ tell you. Several times.
19:44:23 <Phantom_Hoover> Vorpal, oh, you mean when I was connecting and disconnecting constantly?
19:44:35 <Vorpal> Phantom_Hoover, no, before that iirc
19:45:04 <Phantom_Hoover> And I wasn't following the conversation; I assumed you couldn't see me but could see each other, and there was no evidence to the contrary.
19:46:03 <Vorpal> Phantom_Hoover, except what we said
19:47:08 <Vorpal> Phantom_Hoover, uninstall painterly?
19:47:09 <Vorpal> why?
19:47:10 <elliott> Phantom_Hoover: We said we couldn't.
19:47:20 <elliott> Phantom_Hoover: There. Is. Nothing. You. Can. Do. It. Is. A. Problem. That. Only. We. Can. Solve. Stop. Messing. With. Things.
19:47:30 <zzo38> Is there a journal or book for citing Martin Pool? Is there some other algorithms?
19:47:31 <Phantom_Hoover> Vorpal, because I gutted .minecraft before you told me.
19:47:41 <Vorpal> elliott, notch could solve it too
19:47:44 <elliott> Phantom_Hoover: WE TOLD YOU AS SOON AS YOU ENTERED.
19:47:45 <Phantom_Hoover> elliott, please don't just assume I'm a fool.
19:47:55 <Vorpal> Phantom_Hoover, your own fault for not reading what we said
19:48:02 <Vorpal> otherwise we have to assume you are a fool
19:48:14 <asiekierka> hi zzo
19:48:16 <asiekierka> hi zzo thirty-eight
19:48:31 <Phantom_Hoover> Erm... no, you can tell me after I notice the problem.
19:48:37 <Phantom_Hoover> And start complaining.
19:48:39 <zzo38> elliott: I think it is because you kill Phantom_Hoover. Possibly, but not necessarily, by mistake (and/or indirectly).
19:49:03 <oerjan> zzo38 knows too much
19:49:12 <Phantom_Hoover> Rather than saying how stupid I am after missing a single comment a long time ago when I had to reconnect anyway because of an unrelated chunk error.
19:49:29 <elliott> Phantom_Hoover: We told you while you were walking around in the actual thing, post-chunk-error.
19:49:51 <zzo38> asiekierka: Do you like my program?
19:50:34 <Phantom_Hoover> elliott, not at all clearly; I read it as me being invisible to you and you being invisible to me, but both of you being visible to each other.
19:50:46 <elliott> Phantom_Hoover: Nope, we can both see you but nobody can see us.
19:51:05 <elliott> Phantom_Hoover: BTW, I detonated a TNT in HHI headquarters.
19:51:10 <elliott> Phantom_Hoover: ...but nothing got hurt.
19:51:13 <elliott> This is because I am a magician.
19:51:33 <Vorpal> Phantom_Hoover, I could post scrollback from mcmap then...
19:51:44 <Vorpal> and you can see how wrong you are
19:51:55 <Phantom_Hoover> Vorpal, the scrollback I've just been looking at?
19:53:35 -!- Wamanuz4 has joined.
19:54:47 <Sgeo> Going to watch some DS9 today
19:54:50 <Sgeo> Maybe
19:55:21 <Sgeo> "Captive Pursuit" sounds boring
19:56:00 <Sgeo> "The Federation ambassador from Betazed, Lwaxana Troi, visits the station, but develops an affection for Odo.
19:56:00 <Sgeo> "
19:56:08 -!- Wamanuz3 has quit (Ping timeout: 240 seconds).
19:56:15 <Sgeo> (Not "Captive Pursuit". "The Forsaken")
19:56:18 <Sgeo> Of course she does
19:56:41 <zzo38> Sgeo: Why don't you watch DS78565398 yesterday, instead of watching DS9 today?
19:56:44 <nooga> do we have a doctor here?
19:57:16 <Sgeo> Bucket, irc medical advice
19:57:17 <Sgeo> ...dammit
19:57:23 <Sgeo> fungot, medical advice
19:57:23 <fungot> Sgeo: anything else i could make the alpha key work and not really consistent with a decent product, if they didn't have methods?
19:58:01 <Sgeo> http://irc.peeron.com/xkcd/bucket/literal_irc%20medical%20advice.txt
19:58:45 <nooga> uhm
19:58:52 <nooga> i think i'm allergic to something
19:59:05 <zzo38> nooga: Are you allergic to you?
19:59:21 <oerjan> we _do_ have a nutrition freak :D
19:59:28 <nooga> it never happened but now sudenly i'm red and i'm shaking
19:59:32 <nooga> besides that i feel good
19:59:34 <Vorpal> elliott, reconnecting, but slow
19:59:34 <Sgeo> nooga, call a doctor?
19:59:35 <nooga> really strange
20:00:08 <zzo38> nooga: Yes, call a doctor. They can see you directly and since they are a doctor they might know better about this kind of things, too.
20:00:27 <nooga> i will wait until it stops
20:00:29 <Sgeo> FWIW, my dad is a doctor. I think I know what he'll say: "I refuse to give advice about someone I don't know"
20:00:37 <Sgeo> And I think I agree
20:00:41 <nooga> and if it does not want to stop, then i will call the doc
20:00:54 <oerjan> nooga: yeah it will stop one way or the other *cough*
20:00:55 * Vorpal prods elliott
20:01:04 <nooga> oerjan: :P
20:01:17 <nooga> i'm the one with skin cancer though ;f
20:01:24 <oerjan> ouch
20:01:31 <nooga> (post)
20:02:07 <oerjan> which reminds me, i just yesterday saw a link to http://en.wikipedia.org/wiki/M%C3%BCnchausen_by_Internet
20:02:08 <nooga> mhmhhm
20:02:21 <oerjan> (no accusation implied)
20:02:24 <nooga> :F
20:02:29 <nooga> okay, i will shut up
20:04:05 <elliott> <Sgeo> "Captive Pursuit" sounds boring
20:04:09 <elliott> Sgeo: You do realise you can't skip DS9 episodes.
20:04:42 <Sgeo> Are they less skippable than SG-1 episodes? Because I successfully avoided a boring SG-1 episode
20:05:02 <Sgeo> I mean, I'll watch it of course
20:05:07 <Sgeo> But just wondering
20:05:07 <elliott> Sgeo: SG-1 is basically entirely non-linear.
20:05:10 <elliott> You can skip every episode.
20:05:24 <elliott> DS9 is heavily linear and has many important B-plots in otherwise irrelevant episodes.
20:05:49 * Sgeo wants to see more about the Dominion War dangit
20:07:09 <Vorpal> ineiros, more skype?
20:07:23 <elliott> ineiros: ASTOP TALKING TYO PEOPLE ON THE INTERNET WE ARE DOEING SEIROUS 0BUSINESPK!!!!890
20:08:04 <Vorpal> I think it is just down
20:10:18 <Phantom_Hoover> Well, I'll be off...
20:10:22 -!- Phantom_Hoover has quit (Quit: Leaving).
20:10:53 <oerjan> nooga: you still alive?
20:11:39 <oerjan> well that was that, then.
20:11:53 <oerjan> remember kids, always call the doctor in time.
20:12:10 * oerjan does not actually follow his own advice much
20:12:50 <ineiros> Vorpal: No more.
20:15:05 <Ilari> nooga: Skin cancer? The almost-harmless kind or the nasty kind?
20:15:24 -!- variable has joined.
20:24:23 <elliott> Vorpal: "Seeds are dried to a moisture content of less than 6%. The seeds are then stored in freezers at -18°C or below. Because seed DNA degrades with time, the seeds need to be periodically replanted and fresh seeds collected for another round of long-term storage."
20:24:40 <Vorpal> elliott, heh
20:27:04 -!- asiekierka has quit.
20:36:11 <zzo38> What is computation class of Brainfuck/w/index.php?title=Talk:Brainfuck/index.php language? Is it the same powerful or not, than BlooP with the REDPROGRAM command added?
20:36:43 <elliott> zzo38: It's sub-Turing, but a fully compliant interpreter can be used to solve a super-Turing problem: determining whether a Turing machine halts or not.
20:36:46 <elliott> Confused yet?
20:38:12 <zzo38> elliott: Yes I realized that. But exactly what sub-Turing class is it? And of course a proper interpreter that gives error must be super-Turing to work properly. It is confused!!
20:38:25 <elliott> It is very confused indeed.
20:38:41 <elliott> zzo38: It's a rather powerful sub-Turing class, I don't think it has a name.
20:38:58 <elliott> For most sub-Turing classes ST, there is a program p \in TC such that halts(p) but p \not\in ST.
20:39:11 <elliott> Whereas \forall p \in TC, halts(p) implies p \in ST.
20:39:12 <Vorpal> elliott, prod
20:39:19 <elliott> (Calling this one ST.)
20:39:50 <Sgeo> System.out.print.some.more.dots.because.java.loves.dots.man("ow!")
20:40:23 <zzo38> elliott: Invent a name for it if it has no name
20:41:59 <zzo38> But do you know the computational class of BlooP+REDPROGRAM? BlooP is sub-Turing, if you add REDPROGRAM command in, it will still halt, but exactly by how much does it affect its computational class?
20:42:52 <zzo38> s/sub-Turing,/sub-Turing;/
20:44:15 <elliott> I do not know.
20:44:30 <elliott> zzo38: What is REDPROGRAM, again?
20:44:32 <zzo38> Are you going to make the computational class of Brainfuck/w/index.php?title=Talk:Brainfuck/index.php called "Ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha ha class"?
20:45:50 <zzo38> elliott: First I will define GREENPROGRAM. There is a catalog of all programs ordered by length and alphabetical order of FlooP programs. GREENPROGRAM takes the catalog program number (all numbered consecutively) and the input number. REDPROGRAM is the same but the catalog only contains programs
20:45:56 <zzo38> that halt for all values of their input.
20:46:32 <zzo38> (So if GREENPROGRAMs 1 to 99 halt and 100 doesn't but 101 halts, then REDPROGRAM #100 is the GREENPROGRAM #101.)
20:46:50 <elliott> zzo38: Can you say "REDPROGRAM f(x)+3"?
20:46:53 <elliott> For some function f.
20:46:54 <elliott> And variable x.
20:47:41 <zzo38> elliott: I am assuming in this variant of BlooP, that the REDPROGRAM command takes two numbers as input, which can be specified in any way you can specify numbers, just like any other function.
20:48:03 <elliott> OK. Why two numbers?
20:48:06 <elliott> Shouldn't it be one?
20:48:21 <zzo38> (BlooP is sub-Turing, always halts; FlooP is BlooP+MU-LOOPs)
20:48:38 <zzo38> elliott: Two numbers, because one is the catalog program number, the other is the input to that program.
20:48:47 <elliott> ah
20:49:34 <elliott> Vorpal: Quick, is unionfs1, unionfs2 or aufs "better"?
20:49:42 <Vorpal> elliott, no idea
20:49:52 <elliott> Psht.
20:50:12 <pikhq> elliott: They're all terrible. elliottunionfs is the only choice.
20:50:27 <elliott> pikhq: Why are they terrible.
20:50:41 <elliott> Also, elliottunionfs would consist of me forking Gregor's cunionfs and making it usable :P
20:50:52 <pikhq> elliott: Because they don't have elliott's magic sauce on them!
20:51:08 <elliott> That... I am not planning to put my "magic sauce" anywhere near a Kitten.
20:51:20 <elliott> Wow, this Tomas M guy really hates unionfs and really loves aufs.
20:51:31 <elliott> http://www.unionfs.org/ <-- Register a domain for open source research project X, use it to attack X!
20:51:40 <pikhq> No, I did not mean semen.
20:52:06 <zzo38> Do you have any idea about the computation class for BlooP+REDPROGRAM?
20:52:09 * elliott mentally notes to never use Slax.
20:52:28 <elliott> pikhq: We all know what a sick, perverted furry you are now!
20:52:33 <elliott> Tsk tsk tsk.
20:53:28 <oerjan> zzo38: i think BlooP + REDPROGRAM is superturing, no?
20:53:47 <oerjan> because you can determine if any program halts, by binary search
20:54:14 <elliott> oerjan: are you sure?
20:54:18 <zzo38> oerjan: Yes it might seem so. Can you prove? Still, programs in BlooP+REDPROGRAM still always halt, and you have no access to GREENPROGRAM or BLUEPROGRAM.
20:54:23 <elliott> oerjan: REDPROGRAM just runs a program
20:54:28 <elliott> zzo38: you do have access to GREENPROGRAM, you can generate it
20:54:37 <elliott> even a sub-turing language can enumerate all valid floop programs
20:54:51 <elliott> oerjan: you can't really distinguish two different programs which output the same thing given some input
20:54:53 <elliott> so you can't tell what program it ran
20:55:12 <zzo38> elliott: But how can you match the catalog numbers between GREENPROGRAM and REDPROGRAM, especially if you cannot call GREENPROGRAM?
20:55:25 <elliott> zzo38: I am not sure.
20:55:31 <oerjan> elliott: oh hm
20:55:48 <oerjan> zzo38: er what is the _output_ of the REDPROGRAM function?
20:55:52 <zzo38> (I think you cannot even call BLUEPROGRAM; there is a diagonal argument saying you cannot do so.)
20:56:25 <zzo38> oerjan: The output of the REDPROGRAM function is a single number. (Numbers in BlooP and FlooP are natural numbers, which are unbounded.)
20:56:39 <elliott> presumably, by program zzo38 means one-argument function
20:56:41 <pikhq> elliott:
20:56:44 <elliott> pikhq:
20:56:51 <pikhq> elliott: You're the one going on about magic sauce near a kitten.
20:56:59 <zzo38> elliott: Yes, I mean a function taking one number argument and one number output.
20:57:22 <elliott> pikhq: BUT WHO BROUGHT THE SUBJECT UP
20:57:29 <zzo38> (It is possible to encode many numbers in one number. There are multiple ways to do so.)
20:57:51 <pikhq> elliott: Þou hast.
20:58:00 <elliott> <pikhq> elliott: Because they don't have elliott's magic sauce on them!
20:58:18 <zzo38> pikhq: Is it tomato sauce, or pesto sauce?
20:58:32 <pikhq> elliott: Þou art þe one wiþ þe mind in þe gutter.
20:58:45 <zzo38> Or taco sauce?
20:59:06 <elliott> Hmm. How much more inefficient is reading/writing to a loopback device, vs. a real partition?
20:59:54 <zzo38> pikhq,elliott: Look that only elliott wrote "Kitten", and pikhq wrote something else (and, in addition, did not mean semen).
21:02:22 <elliott> pikhq: So, stowfs is some hurd only thing right?
21:02:48 <pikhq> elliott: Quite.
21:02:56 <elliott> pikhq: Lame.
21:03:00 <pikhq> elliott: Though the *concept* would be fairly easy to do elsewhere.
21:03:13 <elliott> pikhq: What's the difference between stowfs and a unionfs?
21:03:31 <pikhq> elliott: The stowfs automagically handles the union.
21:03:38 <elliott> pikhq: Uh, so does unionfs?
21:03:53 <pikhq> You drop a folder into /stow/ and its contents automagically becomes part of the union.
21:03:53 <oerjan> ok if REDPROGRAM m n is just the result of running halting program m on input n, then i don't see how to use that for anything useful
21:03:59 <pikhq> UnionFS doesn't do that.
21:04:30 <pikhq> You could probably make a userspace unionfs-alike do it in an afternoon, though.
21:05:59 <elliott> pikhq: Or just use unionfs and have a daemon watching /stow/ with gamin.
21:05:59 <zzo38> oerjan: You would somehow have to calculate a number "m". You might do so from other known halting programs. I don't know.
21:06:13 <pikhq> elliott: Less elegant!
21:06:26 <elliott> "unionfs also stops unioning at mount points, which is really annoying and makes it unusable for a lot of purposes. e.g. a lot of the path-translation stuff in fakeroot could be avoided (and robustness improved) if you could union-mount the fakeroot directory over / before running the fakerooted command, so the changes that `make install' or whatever did landed in the fakerooted directory, but it norma
21:06:26 <elliott> lly saw the original /. But this doesn't work because of the mount-point-traversal problem."
21:06:27 -!- j-invariant has joined.
21:06:28 <elliott> Hmm.
21:06:34 <elliott> pikhq: Sure, but more elegant than stow.
21:06:51 <pikhq> Oh, by far.
21:06:56 <zzo38> And I don't know if quining helps at all.
21:08:34 <j-invariant> +3
21:08:37 <Vorpal> elliott, hm *prod
21:09:39 <elliott> Vorpal: ?
21:10:22 <Vorpal> (you found it)
21:12:33 <j-invariant> I wawtched the ashes fora b it
21:12:35 <j-invariant> zzo
21:12:45 <j-invariant> I don't know the rules
21:13:16 <zzo38> j-invariant: What ground did they play and what scores?
21:13:26 <j-invariant> I dont know
21:14:22 <Vorpal> j-invariant, what game?
21:14:33 <j-invariant> cricket
21:14:38 <Vorpal> ah
21:15:02 <Vorpal> j-invariant, the game that no one who isn't a fan can understand at all
21:15:18 <j-invariant> I don't know the rules
21:16:02 <Vorpal> (at least with football, which I'm no fan of, I dislike it even, I know that the point is to get the ball into the side of the game area that isn't guarded by your own guy. Then there are various arcane stuff like "off sides" rules or whatever)
21:16:19 <Vorpal> (but cricket just looks random)
21:16:59 <Vorpal> (random to the point of mornington crescent)
21:17:32 <zzo38> In cricket the basically idea is that the bowler bowls the ball, the batsman should then try to hit it so that the fielders do not break the wicket. If they break the wicket, the batsman is out. Otherwise, the batsmen can run back and forth earning points, and stop when you think it is not safe.
21:17:55 <Vorpal> zzo38, see, lots more jargon than you need to describe football
21:18:11 <Vorpal> (I didn't understand it, I got lost halfway through)
21:18:20 <j-invariant> zzo38: that's funny because I saw all of that except the part with the guy running back and forth
21:18:28 <zzo38> Vorpal: That may be.
21:18:50 <zzo38> j-invariant: He didn't run probably because he decided it wasn't safe to run.
21:19:08 <elliott> pikhq:
21:19:08 <elliott> stowfs
21:19:09 <elliott> ... is a special mode of unionfs.
21:19:10 <elliott> --hurd wiki
21:19:11 <j-invariant> zzo38: and also that process does not sound like it takes very long - how is the overall game so long?
21:19:40 <zzo38> (When you step out of behind the popping crease (the popping crease is the line on the ground you have to stand behind to be safe), the fielder can throw the ball at the wicket and break it, and then you are out.)
21:19:41 <elliott> "I'm the goddamn batsman." etc.
21:20:14 <j-invariant> lol
21:20:58 <zzo38> j-invariant: The reason the game is long is because you will often defend so that you can continue and hope to score runs later. Also, there are eleven players in a team, there must be two batsmen in play at all times, so the innings isn't finished until ten batsmen are out (unless you declare).
21:21:44 <zzo38> So basically the batsmen try to score and the fielders try to break the wicket so that the batsmen cannot score.
21:22:08 <Vorpal> elliott, how is the glass cube going?
21:22:16 <Vorpal> elliott, weren't you going to do it during xmas?
21:22:21 <j-invariant> thanks zoo
21:22:23 <j-invariant> thanks zzo38
21:22:24 <elliott> Vorpal: Still xmas holidays here!
21:22:39 <Vorpal> elliott, well yes but *during*, it won't last forever
21:22:49 <zzo38> j-invariant: There are other rules too, but I have described the basically the way the game works.
21:23:46 <Vorpal> elliott, I plan to spread out and build an underwater base, so I might claim a large lake if you don't
21:23:55 <Vorpal> elliott, it will need 128x128 too so...
21:24:13 <elliott> elliott@dinky:/pkg$ ls foobar
21:24:13 <elliott> elliott@dinky:/pkg$ ls -l foobar
21:24:13 <elliott> total 0
21:24:13 <elliott> -rw-r--r-- 1 root root 0 Dec 27 21:23 x
21:24:13 <elliott> elliott@dinky:/pkg$ ls foobar
21:24:14 <elliott> x
21:24:23 <elliott> I think I may want to set udba=notify. If only it wasn't erroring on that ...
21:24:46 <zzo38> j-invariant: Did you ever notice anything in the game that I have not described?
21:24:58 <elliott> (btw ls foobar/x worked before all that)
21:25:02 <j-invariant> zzo38: well no, one thing was the filming
21:25:14 <j-invariant> they vary the speed of time quite sharply
21:25:38 <j-invariant> I would rather they didn't
21:26:17 <zzo38> j-invariant: That is just for instant replays and all of that kind of stuff so you can watch on television, it has nothing to do with the rules of the game. (If you do not like it, you might be able to go to the stadium?)
21:26:53 <elliott> anyone used aufs?
21:27:41 <Vorpal> elliott, iirc that is like the single non-bugfix patch in arch kernel
21:27:46 <Vorpal> (I use vanilla kernel though)
21:27:54 <elliott> Vorpal: doesn't answer my question :p
21:28:09 <Vorpal> elliott, presumably every arch user not using a custom kernel then
21:28:21 <Vorpal> unless it is a module
21:28:23 <Vorpal> not sure
21:28:26 <elliott> Vorpal: "use"
21:28:29 <elliott> Vorpal: it's a filesystem.
21:28:35 <Vorpal> yes
21:28:37 <elliott> a union filesystem.
21:28:40 <elliott> so no, i doubt every arch user uses it.
21:28:45 <elliott> as they'd have to mount it manually
21:28:49 <Vorpal> elliott, but if the code is loaded into the kernel then it has been used in one sense
21:28:59 <elliott> ...
21:29:03 <elliott> are you trying to be unhelpful?
21:29:31 <Vorpal> elliott, yes same as you are when you do not answer which lake you plan to use. Since I'm just going to pick a large one at random then for this project
21:29:36 * Sgeo feels like a douchebag
21:29:37 <Vorpal> maybe the one east of spawn
21:29:40 <Vorpal> who knows
21:29:55 <Sgeo> Said something I know I shouldn't have said, even though I only had good intentions
21:30:10 <Vorpal> Sgeo, this is not your diary. This is IRC.
21:30:11 <elliott> Vorpal: east of spawn will invoke server's wrath.
21:30:17 <Vorpal> elliott, depends on how far
21:30:31 <Vorpal> elliott, I was planning the one near the TNT test
21:30:41 <Vorpal> or maybe one of the large one to the west
21:30:47 <Sgeo> Are you rebuilding Deewiant's stuff?
21:30:56 <elliott> pikhq: KITTEN WILL SHIP ONLY WITH GNUSTEP MWAHAHAHAAHAHAHAAHAHAAHIAHAAHAHAHAAIAIDIOJASHAJKLASDJFKG;ALD JN
21:31:05 <Vorpal> Sgeo, that is done
21:31:11 <Sgeo> o.O awesome
21:31:55 <Vorpal> elliott, or I could make an artificial lake between my place and mth
21:31:59 <Vorpal> or something
21:32:06 <elliott> Vorpal: not too close.
21:32:37 <Vorpal> elliott, well I'm not sure yet. Or I could help on the cube if you start within the next few minutes (<5 minutes)
21:33:02 <elliott> Vorpal: Err, help how?
21:33:14 <Vorpal> elliott, draining water, digging, stuff like that
21:33:16 <elliott> RIP OpenSolaris -- the last System V derivative.
21:33:20 <Vorpal> elliott, marking out edges
21:33:23 <elliott> Vorpal: Link me to those possible locations again? :P
21:33:27 <Vorpal> elliott, opensolaris died? how?
21:33:33 <elliott> Vorpal: Oracle have cancelled it.
21:33:36 <elliott> "OpenSolaris was just one of many Sun projects acquired by the proprietary database vendor Oracle, and although several of the others (Java, OpenOffice, and MySQL) have had their fair share of headaches and battles since the acquisition, OpenSolaris is the only one to be scrapped outright. A leaked Oracle memo announced the move in September, under which upcoming "Solaris 11" releases might be availabl
21:33:36 <elliott> e through a "technology partner program," but the open source version marches straight for the grave."
21:33:47 <elliott> System V is now dead, dead, dead!
21:33:56 <elliott> Well.
21:34:02 <Vorpal> elliott, have to find it
21:34:02 <elliott> *RIP OpenSolaris -- the last _free_ System V derivative.
21:34:13 <nooga> heheh
21:34:17 <elliott> Also the first, I think.
21:34:19 <elliott> So it's not that big a deal.
21:34:24 <nooga> i'm experimenting with SPARC machines
21:34:26 <Vorpal> ouch
21:35:01 <Vorpal> elliott, http://sporksirc.net/~anmaster/tmp/placement.png
21:35:06 <nooga> and i've recently met a team from Wroclaw's technical university that wants to build experimental, distributed OS for SPARCs
21:35:38 <nooga> and they love Plan 9
21:35:53 <Vorpal> elliott, what about the previous version
21:35:57 <Vorpal> elliott, that one is still available no
21:36:01 <Vorpal> elliott, and could be forked or?
21:36:07 <elliott> Vorpal: Well, presumably. I doubt it will be.
21:36:09 <Vorpal> if it can't be forked, then it was never free
21:36:17 <Vorpal> elliott, hm
21:36:21 <elliott> Vorpal: Hmm. That overlay makes it hard to see if there's any good mountains nearby.
21:36:28 <elliott> Vorpal: I need a mountain nearby for: (1) Entrance, and (2) Mining.
21:36:36 <elliott> Alt 2 is out; all that's near is sand.
21:36:42 <nooga> minecraft = price wall
21:36:43 <Vorpal> elliott, you get more stuff when mining below surface
21:36:49 <elliott> Vorpal: Sure, but still.
21:36:51 <elliott> nooga: "Price wall"?
21:36:55 <elliott> It's still pretty damn cheap.
21:37:09 <Vorpal> cheaper than most games
21:37:19 <elliott> Even the final price ($20 I think) is cheaper than most games.
21:37:24 <elliott> Modern games cost like £40 here.
21:37:37 <Vorpal> I wonder how buggy final will be
21:37:39 <Vorpal> presumably very
21:37:46 <Vorpal> (and then a number of bug fixes for it)
21:37:52 <elliott> Adventure mode sounded fun until I read that you can't even place or remove blocks.
21:37:56 <elliott> Remove blocks that you didn't place, sure.
21:38:01 <elliott> But you should have to build things to get by!
21:38:07 <elliott> Complete a circuit to open a door, say.
21:38:15 <Vorpal> mhm
21:38:44 <elliott> Alt 1 or Alt 3 ... hmm.
21:38:49 <Vorpal> elliott, anyway you have to check topo map to find mountains (which you don't need)
21:38:56 <elliott> Alt 1 is slightly closer to civilisation and spawn.
21:39:16 <elliott> Vorpal: Alt 3 has less water around it than Alt 1, right?
21:39:29 <elliott> I really want it surrounded by water. Grr. I might have to explode some land.
21:39:32 <Vorpal> elliott, hard to tell
21:40:14 <Vorpal> elliott, for alt 1 I reserve the right to develop the waterfall area near it.
21:40:27 <elliott> Vorpal: I could explode the land in-between,t hough?
21:40:27 <Vorpal> elliott, I think that grown a bit since then
21:40:32 <elliott> That currently blocks off alt 1 from waterfall area.
21:40:36 <Vorpal> elliott, also the mines cover much
21:40:59 <Vorpal> elliott, as in, that has the underground dock and huge lava lake area
21:41:04 <elliott> Vorpal: Tell you what. Do you know the coords of alt 1 and alt 3?
21:41:06 <elliott> I'll look at both personally.
21:41:12 <Vorpal> elliott, hm no I don't.
21:41:16 <Vorpal> I could teleport there approx
21:41:23 <Vorpal> (by map clicking)
21:41:34 <elliott> Vorpal: That would be nice. I think it's about 10 ROUs above the ROU.
21:41:40 <elliott> On that map.
21:42:07 <Vorpal> well alt 3 I been past a few times
21:42:13 <Vorpal> alt 1 I believe I gone past once
21:42:29 <elliott> Vorpal: We both bring 256 cobbles?
21:42:40 <elliott> Vorpal: 512 cobbles is enough for a 129x129 border at sea level.
21:43:19 <Vorpal> elliott, connection rest
21:43:21 <Vorpal> reset*
21:43:35 <elliott> Vorpal: You okay bringing 256 cobbles?
21:44:04 <elliott> PH: I've borrowed 256 cobbles on extended loan, hope you don't mind. Put some back in there.
21:44:07 <elliott> Will return soon enough.
21:44:13 <Vorpal> elliott, well I don't have 256 with me atm
21:44:28 <elliott> Vorpal: How many, then?
21:44:43 <j-invariant> what is this about 256 cobbles?
21:44:46 <Vorpal> elliott, 10
21:44:52 <Vorpal> elliott, I was on my way when you said it
21:44:56 <elliott> j-invariant: minecraft :P
21:45:03 <elliott> Vorpal: Can't you /home and //goto?
21:45:18 <elliott> Dear PH: I've borrowed another 256. Sorry.
21:45:34 <Vorpal> elliott, no due to lag I can't get out of /homed area (steel door)
21:45:56 <Vorpal> elliott, you landed and parted game
21:45:59 <Sgeo> Surely it's annoying gathering materials?
21:46:04 <elliott> Vorpal: Chunk loading error.
21:46:12 <elliott> Sgeo: Yes, it is. Although stone is ridiculously common so cobbles are easy.
21:46:38 <Sgeo> I suppose if collecting stuff didn't exist, the game wouldn't be fun?
21:46:57 <Sgeo> finite resources etc
21:48:51 <elliott> Sgeo: It'd be fun. That's what Classic was.
21:48:52 <elliott> But this is more fun.
21:52:10 <Sgeo> ....why does chess boxing exist?
21:54:29 <Sgeo> There needs to be snow in MC
21:56:04 <nooga> elliott: i would pay... 5 eur for such a game
21:56:21 <elliott> nooga: because why? the "bad" graphics?
21:56:25 <Sgeo> nooga, come play in Active Worlds!
21:56:27 <coppro> snow in MC?
21:56:28 <coppro> no
21:56:28 <elliott> Sgeo: there is snow in MC, you dolt.
21:56:32 <coppro> MC is snow-free
21:56:34 <elliott> coppro: "no"?
21:56:36 <elliott> there's snow in it.
21:56:41 <coppro> the hallowed halls shall ever remain clean
21:56:56 -!- KingOfKarlsruhe has joined.
21:57:02 <coppro> http://www.biostatistics.ca/wp-content/themes/biostatistics/images/mc-building.jpg
21:57:23 <Sgeo> Gregor?
21:57:29 <coppro> ^MC
21:57:40 -!- KingOfKarlsruhe has left (?).
21:57:58 <Sgeo> I don't know why a pink tie made me think of him. If the building were wearing a hat that would be more sensible
21:58:12 <nooga> elliott: no, because the autor is already too rich and he can't code
21:58:25 <coppro> (unfortunately this view of the building no longer exists as they are putting a building roughly where the camera would have been)
21:58:58 <Sgeo> I still have to know why the building is wearing a tie
21:59:12 <elliott> because it's professional
21:59:18 <coppro> http://www.orientation.math.uwaterloo.ca/2010/pinktie.php
22:00:09 <j-invariant> ashes 4th test is starting now in ITV4
22:00:56 * Sgeo suddenly wants a pink tie
22:01:20 <coppro> lol
22:02:29 <zzo38> j-invariant: Who won the toss?
22:03:01 <coppro> the bit about the dean's tie isn't entirely accurate. There are a number of reproductions given out on special occasions
22:03:31 <coppro> (but the right to give them out is reserved for the dean)
22:03:34 <zzo38> coppro: I have seen some mathNEWS stuff even though I do not live in that province.
22:03:41 <coppro> zzo38: yeah, I recall
22:03:54 <j-invariant> zzo38: I didn't know if there was a toss
22:04:06 <coppro> they've garble warble fashes
22:04:30 <zzo38> j-invariant: There is always a toss at the beginning of each match. That is how they decide who goes first.
22:04:54 <j-invariant> of a coin?
22:05:17 <Sgeo> coppro, um
22:05:30 <zzo38> j-invariant: Yes, a coin.
22:05:47 * Sgeo assumes that coppro is just joking around or somesuch, and is not having a stroke
22:06:01 <coppro> Sgeo: I'm joking
22:06:08 <coppro> if you don't get the joke, I'm quite ashamed of you
22:06:37 <Sgeo> I mostly got that it wasn't serious, but what was humorous about it?
22:08:13 <j-invariant> Sgeo: it was nonsenes
22:08:29 <Sgeo> But why was coppro spouting nonsense/
22:09:02 <zzo38> j-invariant: Whoever wins the coin toss gets to decide who goes first (one team bats while the other team fields, and then after one innings they switch). There is some strategy involved in making this decision.
22:09:23 <j-invariant> zzo38: how can it be strategic, everyone has to have their turn
22:10:20 <zzo38> j-invariant: The strategy has to do with the conditions of the ground and of the weather.
22:10:37 <coppro> it was not nonsense
22:10:44 <j-invariant> zzo38: really?
22:10:48 <coppro> http://www.google.com/search?client=ubuntu&channel=fs&q="garble+warble+fashes"&ie=utf-8&oe=utf-8
22:10:52 <fizzie> coppro: They've table warble farble.
22:11:10 <Sgeo> OH
22:11:13 <Sgeo> It's been a while
22:11:42 <Sgeo> :/
22:11:43 <zzo38> j-invariant: Yes. There is strategy in this game involving timing, ground conditions, weather, relative abilities of the players, endurance, and other things.
22:12:14 <zzo38> (For example, if the ball has bounced on the pitch a lot, it might make dents in the pitch.)
22:12:47 <j-invariant> ah that would make it harder to bowl
22:12:57 <zzo38> Yes.
22:14:01 <Sgeo> What-the-fucks-his-name dies in that book. And in the 5th book. And in the first book.
22:14:29 * Sgeo vaguely wonders if that's spoilery
22:14:36 <j-invariant> zzo38: hey there are actually two batsmen, and they both run back and forth
22:15:11 <zzo38> j-invariant: Yes. That is correct. One is the striking side. If they run an odd number of times, they will have swapped positions.
22:15:45 <j-invariant> zzo38: thiss is getting more complicated all the time
22:16:58 <pikhq> Sgeo: Slartibartfast?
22:17:05 <Sgeo> pikhq, no
22:17:08 <zzo38> It does seem to get more complicated all the time, but the rules have logical sense, the rules aren't just completely random.
22:17:14 <elliott> j-invariant: As Gregor said, the game of cricket is so complicated that the human mind can either understand it, or all other games.
22:17:15 <pikhq> Agrajag?
22:17:21 <Sgeo> Yes
22:17:33 <fizzie> I had a computer called that.
22:17:44 <pikhq> fizzie: Did Arthur kill it in a fit of rage?
22:18:24 <fizzie> No, though it did have a habit of saying "CPU Fan Error - press F1 to continue" at boot-time.
22:18:31 <j-invariant> lol elliott
22:18:49 <coppro> I like how not only has Agrajag died every time to Arthur in some way, but /everything Arthur has ever eaten or caused the death of has been a reincarnation of Agrajag/
22:18:58 <zzo38> elliott: The rules may be complicated, but not as much as some games. There are more complicated games. I think Quintuple Arcana is probably more complicated (in fact, so complicated that nobody has written out all the rules yet).
22:19:10 <Sgeo> coppro, hmm, didn't remember that
22:19:36 <Sgeo> coppro, the sperm whale?
22:20:02 <coppro> Sgeo: yes
22:20:28 <coppro> haha
22:20:38 <coppro> so I have this throwaway email address I use sometimes
22:20:46 <pikhq> zzo38: Yeah, but most of those games aren't popular sports.
22:20:50 <coppro> the website said it will be terminated by Dec 8; it's still there
22:20:58 <zzo38> pikhq: Yes.
22:21:20 <j-invariant> the ball hit the edge of the field?
22:22:16 <zzo38> j-invariant: If the ball hits the boundary before anyone else catches it (or if someone catches it while it is outside the boundary), the batsman scores four points (or six points if it hasn't hit the ground yet).
22:22:36 <zzo38> You can score without having to run in this case.
22:22:37 <j-invariant> I would have thought he wasn't supposed to get it rigpht outside
22:23:23 <pikhq> Cricket kinda is, if you happen to have allegiance to Her Majesty Elizabeth the Second, by the Grace of God, of the United Kingdom of Great Britain and Northern Ireland, and of Her other Realms and Territories, Queen, Head of the Commonwealth, Defender of the Faith.
22:24:40 <zzo38> pikhq: Is that relevant?
22:25:10 <pikhq> zzo38: It's not very popular outside of Her Realms.
22:25:12 <j-invariant> and how come cricket AND baseball exist in the same world? and football and soccer
22:25:33 <j-invariant> basketball and volleyball
22:25:43 <zzo38> j-invariant: Probably because they are different games.
22:26:04 <j-invariant> how many games are there?
22:26:08 <Sgeo> j-invariant, next you'll say that only one of C and C++ should exist or... oh wait, there's a good argument for that
22:26:19 <pikhq> j-invariant: There are *many* varieties of football. It just so happens American football and association football are the two most popular.
22:26:39 <Sgeo> coppro hates me now
22:26:54 <pikhq> j-invariant: Likewise, there are many bat-and-ball games, baseball and cricket being the two most popular.
22:26:56 <zzo38> Probably a lot. Even with card games, some people will make up some variant rules; with chess, there is FIDE chess but many people will make up variants; etc.
22:27:04 <j-invariant> the crowd are making an ominous jeer
22:27:15 <pikhq> j-invariant: I can't say anything similar for basketball and volleyball, though; those are very unrelated games.
22:27:22 <j-invariant> it's not clear whether the batsman hit the ball or not
22:27:23 -!- variable has quit (Read error: Operation timed out).
22:27:26 <coppro> volleyball is a net sport
22:27:27 <pikhq> About the only thing in common is the term "ball".
22:27:40 <coppro> net sports overlap with racquet sports
22:27:48 <j-invariant> rugby and american football
22:28:03 <pikhq> j-invariant: Yes, rugby is another football game.
22:28:27 <zzo38> j-invariant: That does sometimes happen. Sometimes they have a TV camera that they can record it and watch more accurately. But other than that it is the umpire's decision to make once someone appeals.
22:28:43 <j-invariant> they even have a heat vision camera
22:28:44 -!- variable has joined.
22:29:01 -!- Sgeo has changed nick to unaffiliated.
22:29:02 <pikhq> There's also Australian and Canadian football. See, tons of football games.
22:29:07 -!- unaffiliated has changed nick to Sgeo.
22:29:11 <Sgeo> Registered
22:32:24 <j-invariant> zzo38: the batsman dived to get past the line before the ball with pushed against the wiket. It was close to within 1/30th of a second but he made it
22:33:26 <zzo38> j-invariant: OK.
22:33:53 <j-invariant> I'm surprised that it is so close
22:34:22 <j-invariant> wicket
22:35:54 <zzo38> Of course such a thing might happen sometimes. Like other things might happen sometimes, too.
22:36:03 <j-invariant> tennis and badmington
22:36:30 <zzo38> I don't know how common it is to be that close within 1/30th of a second, but of course it is possible.
22:36:38 -!- cheater99 has quit (Ping timeout: 240 seconds).
22:37:10 <j-invariant> zzo38: I imagine things come closer as the skill of the players increases - so these playes must be very good
22:37:49 <j-invariant> unless it was just random
22:38:26 <zzo38> j-invariant: I would imagine that is probably the case. It is a Test match, so it is the highest level first-class and they would have good players there. But it can happen just by random, too.
22:40:06 <j-invariant> What does 4/283 mean, as a score>
22:40:19 <elliott> back
22:41:02 <zzo38> j-invariant: It means they have scored 283 points in 4 wickets (in this sense, a "wicket" means the play before you are out (being out is also called "losing a wicket" or "fall of wicket")).
22:41:50 <zzo38> (It can sometimes get confusing that "wicket" means two things until you are used to it, then it isn't really any more confusing than any other words meaning two things.)
22:42:05 <j-invariant> I see
22:46:59 <j-invariant> does anyone happen to know if there is a meterology channel on here?
22:48:00 <zzo38> I don't know.
22:48:14 <nooga> harm
22:49:09 -!- cheater99 has joined.
22:49:29 <zzo38> I would like an opinion. Should I use Martin Pool's algorithm (but in a more generalized way)? Is there a journal or book to cite in the bibliography?
22:49:43 <elliott> Vorpal: down?
22:50:09 <elliott> ineiros: Ping.
22:50:58 <j-invariant> one of the players got hit by the ball and he wont get back up
22:51:22 <j-invariant> well they cut away and now everything is back to normal
22:53:22 <j-invariant> that must suck, playing with a sore knee
22:53:55 <j-invariant> zzo38: is that something which orders like 1,2,3,4,5,6,7,8,9,10,11,... rather than 1,10,11,2,3,4,... ?
22:54:12 <zzo38> j-invariant: Yes.
22:54:38 <j-invariant> zzo38: I don't like those but that's just because the basic algorithm is simpler, maybe some people find this easier to use or something
22:54:57 <Vorpal> elliott, up?
22:55:26 -!- oerjan has quit (Quit: leaving).
22:55:41 <elliott> Vorpal: yes
22:56:11 <zzo38> j-invariant: Well, I am using it to make the program versatile. You can modify the S table to adjust the sorting algorithm that my program uses.
23:04:58 <zzo38> What is the correct bibliography citation to use?
23:15:08 <elliott> NOTE TO SELF BEEP BEEP BEEP: (-200, 1000) IS CUBE
23:18:00 <Sgeo> Cube?
23:24:24 <Sgeo> I think the reason I'm scared of this episode is it reminds me of VOY
23:27:29 <elliott> Sgeo: Cube = 128x128x128
23:27:37 <elliott> Glass walls/floor. Lit by lava
23:27:38 <elliott> *lava.
23:28:05 <Sgeo> W
23:28:06 <Sgeo> T
23:28:07 <Sgeo> F
23:28:08 <Sgeo> WTF
23:28:29 <nooga> minecraft bots
23:28:33 <nooga> are there any?
23:28:45 <Sgeo> This is a happy WTF, but still a WTF
23:28:47 <quintopia> mobs?
23:29:09 <Sgeo> I do not deserve to get an A.
23:29:42 <nooga> bots
23:30:31 <j-invariant> Sgeo: is that for the class you forgot about?
23:30:35 <Sgeo> Yes
23:33:55 <Vorpal> elliott, got bus error from mcmap
23:33:56 <Vorpal> wtf
23:34:05 <elliott> Vorpal: I Blame Notch.
23:34:13 <Vorpal> elliott, also not it fails to connect
23:34:21 <elliott> Vorpal: That happens sometimes.
23:34:22 <elliott> Keep tryin'.
23:34:26 <elliott> I think minecraft.net is the slow.
23:38:39 <nooga> bots
23:58:33 -!- zzo38 has quit (Remote host closed the connection).
2010-12-28
00:00:18 <Gregor> BLORP
00:01:00 <Gregor> I was over at a friends' yesterday, and they were playing Rock Guitar Band Hero Idol Game. They told me to play, and I said I only would if I "sung" by playing the melodica through the mic.
00:01:08 <Gregor> Long story short, five-minute guitar solo to Free Bird on melodica: Best idea ever?
00:04:42 <pikhq> Gregor: YES.
00:08:57 <elliott> Gregor: :D
00:09:41 <Gregor> They play in some club every Tuesday. If I can figure out a reasonable approximation in a day, I could troll a whole crowd of people who think they're musicians. It would be ... quite entertaining.
00:11:08 -!- augur has changed nick to AaronBurr.
00:11:14 -!- AaronBurr has changed nick to augur.
00:11:54 <Mathnerd314> Sgeo: why don't you deserve an A? you know the material, right?
00:13:33 <Sgeo> Mathnerd314, do people who put off half a semester's worth of work for the last 48 hours or so ... beyond what should have been the absolute deadline, deserve As?
00:13:45 <elliott> ineiros: http://wiki.hey0.net/index.php/Flatfile_Configuration#kits.txt
00:14:03 <j-invariant> Sgeo: "easy A"
00:14:06 <Mathnerd314> Sgeo: yes, if you've learned the material.
00:14:06 <Sgeo> Is getting this A really going to be a decent punishment for my brain?
00:14:23 <Sgeo> Mathnerd314, I answered a chapter's review questions without even looking at the chapter
00:14:43 <Mathnerd314> Sgeo: excellent!
00:14:51 <Mathnerd314> (assuming you got them right)
00:14:56 <Sgeo> They're not "What is X Y Z" sort of things
00:15:16 <Sgeo> They're more out-of-the-box. They test creativity and some understanding, I guess, but not knowledge
00:15:25 <elliott> Sgeo: We already know your university is crap.
00:16:30 <Mathnerd314> Sgeo: yeah, that chapter seems pretty useless
00:16:59 -!- MigoMipo_ has quit (Read error: Connection reset by peer).
00:17:36 <Mathnerd314> example question, just to confirm?
00:21:55 <Sgeo> "Most people think of security as a cost to projects, products, or services: the cost of analyzing a system for vulnerabilties, the cost of providing products or processes to detect unwanted activities, the cost of products or processes to prevent or mitigate wanted activities, and so on. But security can also be considered a benefit, such as when adding security to a product attacts more customers or enables a provider to raise a product's p
00:21:55 <Sgeo> rice. Discuss the various ways that security provides economic benefit, not only to an enterprise but also to a nation."
00:24:02 -!- Sgeo has left (?).
00:24:06 -!- Sgeo has joined.
00:25:40 <pikhq> elliott: What else leads us to believe his university is crap?
00:26:29 <Mathnerd314> Sgeo: what's the course on? "Ethical implications of software"
00:26:33 <coppro> pikhq: the fact that it's crap
00:26:42 <coppro> does it have an IRC network or channel>
00:26:44 <coppro> ?
00:26:46 <pikhq> coppro: I'm asking for details.
00:26:49 <coppro> all the cool unis do
00:26:56 <elliott> pikhq: All his courses are taught by stupid people. All his courses have stupid people in them.
00:26:58 <coppro> (we got a Christmas card from Oxford this year!)
00:27:07 <elliott> pikhq: It's Random State University with thousands upon thousands upon thousands of students.
00:27:11 <Mathnerd314> coppro: what's MIT's irc channel?
00:27:19 <elliott> pikhq: And he's in a course titled "Computer Information Systems" (IIRC).
00:27:30 <elliott> pikhq: Or something similarly not-*even*-software-engineering course.
00:27:45 <pikhq> elliott: Okay, so... He could do *worse*, but we're not exactly talking good here.
00:28:10 <coppro> Mathnerd314: dunno
00:28:13 <coppro> but they better have one
00:28:24 <elliott> <Mathnerd314> Sgeo: what's the course on? "Ethical implications of software"
00:28:25 <elliott> :D
00:28:32 * coppro usually twitches at the mention of software engineering
00:28:34 <pikhq> *cough*University of Phoenix*cough*
00:28:36 <Mathnerd314> s/ethic/economic/
00:28:56 <elliott> if MIT has an IRC channel they'll be too elitist to let anyone else know about it :)
00:29:19 * pikhq usually twitches at the idea of programming being a lecture-teachable skill rather than being a hard-earned craft.
00:29:30 <coppro> pikhq: I twitch at that too
00:29:33 <Mathnerd314> coppro: so what unis *do* you know with IRC channels, since you clearly have a small sample size?
00:29:41 <coppro> Mathnerd314: McGill, UW, and Oxford
00:29:56 <pikhq> coppro: Up there with the idea that a CS degree is a course in programming.
00:30:02 <coppro> pikhq: oh god
00:30:07 <coppro> brick science!
00:30:32 <coppro> pikhq: the university of phoenix is the anticool
00:31:00 <Sgeo> Cryptography and Computer Security is the course
00:31:16 <pikhq> Degrees from the Crazy Drunk Hobo School of Dubious Merit are more valuable.
00:31:34 <coppro> Sgeo: did you cover buffer overruns in extreme detail?
00:31:54 <Sgeo> No. Unless I skipped that material by accident
00:31:58 <Mathnerd314> pikhq: CS ought to be part of math, and programming should either be part of engineering or obliterated as a profession
00:32:07 <Sgeo> Since I didn't real much of the textbook like I was supposed to
00:32:10 <coppro> Mathnerd314: like at my school!
00:32:10 <pikhq> Mathnerd314: CS in my mind *is* a field of mathematics.
00:32:14 <coppro> Sgeo: your course is fail then
00:32:21 <pikhq> Mathnerd314: And programming is quite obviously a craft.
00:32:22 <coppro> CS absolutely is a field in mathematics
00:32:31 <coppro> programming is a craft
00:32:35 <pikhq> Mathnerd314: To which engineering can be applied.
00:32:38 <coppro> an SE degree is debatably a programming degree
00:32:46 <coppro> but that's more okay
00:32:49 <coppro> since it's engineering
00:32:52 <Mathnerd314> hmm, ok.
00:33:15 <Sgeo> What, do you want to read the paper I wrote?
00:33:22 <elliott> <Mathnerd314> pikhq: CS ought to be part of math, and programming should either be part of engineering or obliterated as a profession
00:33:26 <elliott> lol @ the latter.
00:33:31 <elliott> CS is already mathematics (at decent places).
00:33:34 <j-invariant> obliterated by an AI
00:33:38 <Mathnerd314> Sgeo: you wrote a paper? is it full of complete BS?
00:33:41 <elliott> software engineering (i.e. programming) is a perfectly valid discipline.
00:33:42 <coppro> elliott: decent places are few and far between
00:33:43 <elliott> Mathnerd314: it's not a "paper".
00:33:56 <elliott> coppro: 90% of everything is crap, but you avoid it, don't you?
00:34:03 <Sgeo> Mathnerd314, it's full of not very in depth discussion about a somewhat random hodgepodge of topics
00:34:16 <pikhq> If it were up to me, "CS" would be dubbed "computational mathematics" or some such.
00:34:24 <coppro> elliott: yes
00:34:36 <coppro> pikhq: CS and CM are two separate disciplines at UW, actually
00:34:41 <Mathnerd314> Sgeo: then no. I think I've heard enough to know that taking that course is not worthwhile
00:34:53 <coppro> CM courses have a high overlap with CS and AM
00:34:55 <elliott> pikhq: CS is "computing theory".
00:34:56 <pikhq> coppro: ♥
00:35:04 <elliott> Note: not the same as computability.
00:35:06 <coppro> http://www.ucalendar.uwaterloo.ca/1011/COURSE/course-CM.html is the CM courses
00:35:19 <elliott> pikhq: CS is not about computers and it is not a science; it is about computing, and it is a field of mathematics -- computing theory.
00:35:24 <elliott> "computing theorist" isn't as catchy though.
00:35:29 <elliott> (How about "mathematician" instead.)
00:35:43 <Sgeo> elliott, are you sure that the plot for this DS9 episode wasn't cribbed from VOY?
00:35:56 <pikhq> Sgeo: Almost certainly the other way around.
00:36:04 <elliott> Sgeo: Which episode?
00:36:06 <pikhq> Sgeo: VOY gleefully cribbed stuff poorly.
00:36:11 <Sgeo> Captive Pursuit
00:36:15 <elliott> DS9 is 99.99999% good and Voyager is like 100 - epsilon% bad, so.
00:36:24 <coppro> when I look at the CM courses, though
00:36:26 <elliott> Sgeo: 1993. It predates Voyager.
00:36:27 <coppro> I don't quite see the point
00:36:27 <Mathnerd314> coppro: how does applying there work? are there a lot of US students?
00:37:04 <pikhq> Mathnerd314: Probably quite a few; it's not terribly hard for a US student to go to Canada for school.
00:37:12 <elliott> bonus: Canada
00:37:31 <Mathnerd314> pikhq: thus the question :p
00:38:02 <coppro> Mathnerd314: applying? what about it?
00:38:07 <coppro> you apply, you might get accepted...
00:40:16 <Mathnerd314> hmm, nvm then
00:40:34 <coppro> or do you mean to specific programs?
00:41:44 <coppro> also, Mathnerd314, where do you go to?
00:41:58 * Mathnerd314 is in HS still
00:42:01 <coppro> (there are a fair number of US students at UW, btw)
00:42:02 <coppro> oh right
00:42:13 <elliott> fizzie: Vorpal found your throne. also me.
00:42:14 <coppro> if you're considering applying to UW, I definitely recommend it
00:42:21 <coppro> grade 11?
00:42:24 <elliott> <coppro> you apply, you might get accepted...
00:42:24 <elliott> <Mathnerd314> hmm, nvm then
00:42:30 <elliott> Man, if I might get /rejected/, what's the point!
00:43:00 <Mathnerd314> coppro: no, senior with a procrastination habit :p
00:43:21 <Sgeo> Mathnerd314, try not to turn into me
00:43:34 <coppro> Mathnerd314: oh. You'd fit in perfectly then!
00:43:45 <Mathnerd314> Sgeo: parents are reviewing essays ATM
00:43:46 <elliott> all your highschool year names are stupid
00:44:11 <Mathnerd314> elliott: which name would this be?
00:44:17 <Vorpal> fizzie, it seems it is next to the cube being built
00:44:32 <coppro> I concur with elliott
00:44:39 <coppro> Mathnerd314: freshman sophomore junior senior
00:44:40 <coppro> wth
00:44:43 <coppro> especially sophomore
00:44:51 <elliott> coppro: and then it STARTS OVER AGAIN AT "COLLEGE" WHAT
00:44:58 <elliott> Oh yeah, I'm a freshman. But last year I was a senior!
00:45:15 <coppro> grades, forms, or years please
00:45:39 <Sgeo> Considering how screwed up my college experience has been, I don't like to use those terms
00:45:44 <Mathnerd314> coppro: don't forget the missing metric system either :p
00:47:09 <coppro> that one is just funny
00:47:16 <coppro> Sgeo: you should see UW
00:47:27 <Sgeo> hm?
00:47:39 <coppro> nth year doesn't even mean much
00:47:47 <coppro> because of co-op, failures, etc.
00:49:16 <elliott> <Sgeo> Considering how screwed up my college experience has been, I don't like to use those terms
00:49:17 <elliott> what
00:49:37 <Sgeo> elliott, first few semesters, didn't have a full course load
00:49:38 <Sgeo> etc.
00:50:01 <coppro> oh, that too
00:50:07 <coppro> it's kind of funny, actually
00:50:31 <coppro> the registrar's office tries to keep track of which term you are in by assigning "1A" "1B" "2A" to people but half the time it doesn't work
00:50:49 <coppro> (and "4C" and "4D" terms happen)
00:50:57 <coppro> even though those are officiall still 4B
00:51:02 <elliott> UW might be fun to go to.
00:51:20 <coppro> it is
00:51:43 <elliott> I'm biased though, I like Canada :P
00:51:59 <coppro> Mathnerd314: you should apply!
00:52:04 <Vorpal> Ilari, skyping again?
00:52:35 <Mathnerd314> coppro: looking at the admission stuff; confusing website
00:52:49 <coppro> Mathnerd314: OUAC?
00:52:51 <coppro> yeah
00:54:39 <coppro> btw, if you are thinking of both CS and math, the thing about CS is it's harder to get into (you can't just declare it) and you need to pay extra $$. They won't let you in after long enough because of the $$ and they won't generally let you take upper-year CS courses without approval if you aren't in CS; also they get pissed if non-CS students try to take too many because they want your $$.
00:55:44 <j-invariant> sounds like the best thing to do is stay the hell away from CS
00:56:05 <coppro> j-invariant: some of the upper-year CS courses are awesome
00:56:07 <Mathnerd314> yeah, I think I'll stick with the nice US schools where you can switch majors anytime you feel like it :p
00:56:18 <j-invariant> coppro: whice ones?
00:56:52 <coppro> Mathnerd314: non-CS non-Acturial Science math majors are a la carte
00:57:10 <coppro> j-invariant: trains, compilers, programming languages, formal languages and parsing, graphics...
00:57:23 <j-invariant> what's trains?
00:57:55 <coppro> real-time programming
00:59:46 <Mathnerd314> coppro: colleges I'm applying to have all those and more, so not too worried about missing anything
01:00:06 <coppro> you are missing something :D
01:08:59 <Mathnerd314> yep, but I'm guessing it's mainly the pain and suffering of another college app
01:09:32 -!- wth has joined.
01:11:16 -!- wth has left (?).
01:18:48 -!- variable has quit (Read error: Operation timed out).
01:20:27 -!- cheater99 has quit (Read error: Connection reset by peer).
01:21:24 -!- variable has joined.
01:35:20 <elliott> <Mathnerd314> yep, but I'm guessing it's mainly the pain and suffering of another college app
01:35:34 <elliott> Mathnerd314: ah yes, the famous "Wrestling A Snake With Spikes All Over It To Death" test
01:35:37 <elliott> coppro can tell you all about it
01:37:14 -!- cheater99 has joined.
01:37:37 -!- wareya_ has joined.
01:39:40 -!- wareya has quit (Ping timeout: 265 seconds).
01:39:40 -!- cheater99 has quit (Read error: Connection reset by peer).
01:40:58 -!- pikhq has quit (Ping timeout: 276 seconds).
01:42:01 -!- pikhq has joined.
01:44:27 -!- j-invariant has quit (Quit: leaving).
01:47:03 -!- j-invariant has joined.
01:51:36 <coppro> elliott: I did exactly one application. It took an hour for the formal application, and like 2 hours for the extra info form
01:51:51 <elliott> coppro: And then you had to wrestle a snake with spikes all over it to death, yes?
01:54:29 <coppro> elliott: nope
01:54:47 <elliott> Mathnerd314: Look at how they lie.
01:55:13 <Mathnerd314> coppro: but you're from Canada
01:56:22 -!- cheater99 has joined.
01:58:45 -!- cheater99 has quit (Read error: Connection reset by peer).
02:01:30 <coppro> Mathnerd314: that's true
02:01:46 <coppro> Mathnerd314: oh, I also had to mail them a transcript
02:02:06 <coppro> Mathnerd314: I don't know about the process for foreign students, but I can't imagine it being much different from what I went through
02:02:26 <coppro> since I was out-of-ontario
02:02:59 <coppro> .win 2
02:03:01 <Mathnerd314> whatever.
02:03:17 * Mathnerd314 distracts himself with supercompilation
02:03:27 <coppro> supercompilation?
02:04:59 <Mathnerd314> yeah, never heard of it before, but it sounds ool
02:05:00 <Mathnerd314> *cool
02:07:46 <elliott> Meh. Specialisers are the only decent compilers. :p
02:08:10 <j-invariant> what's the difference ?
02:08:26 <elliott> j-invariant: well nobody really knows what "supercompilation" means.
02:08:33 <elliott> sometimes it means specialisers, sometimes i have no idea what the hell it means
02:10:23 <j-invariant> ;5;54
02:11:34 <j-invariant> elliott: managed to define products in terms of universal cone btw
02:11:40 <elliott> j-invariant: awesome
02:14:34 <Vorpal> elliott, again mc
02:15:21 -!- cheater99 has joined.
02:17:41 -!- cheater99 has quit (Read error: Connection reset by peer).
02:21:30 <j-invariant> elliott: theoretically.. one could implement all sorts of categories and instance their limits etc etc.. at this point
02:22:05 <j-invariant> not sure if it's a good idea though
02:30:01 <coppro> categories?
02:30:07 <coppro> like Set?
02:31:09 <augur> Quadrescence: youre such a dickface. lol
02:31:24 <Quadrescence> why
02:31:28 <Quadrescence> haha
02:32:51 <augur> your little temper tantrum against haskell
02:33:04 <Quadrescence> i want my mommy!
02:33:44 <augur> :P
02:33:49 <coppro> when was this?
02:33:51 <coppro> I must read logs
02:34:26 -!- cheater99 has joined.
02:34:35 <Quadrescence> coppro: http://www.reddit.com/r/programming/comments/es29o/the_air_on_which_haskell_programmers_seem_to/
02:35:30 <Sgeo> Has it been proven that all imperitive data structures have an equally efficient functional version?
02:37:08 -!- j-invariant has quit (Ping timeout: 272 seconds).
02:37:08 -!- cheater99 has quit (Read error: Connection reset by peer).
02:37:51 <coppro> Sgeo: iteration is equivalent to recursion?
02:39:31 <Sgeo> hmm?
02:39:58 <Sgeo> I know there's an efficient functional queue, but can the same be said of all other data structures?
02:41:06 <coppro> it depends on what you mean by "efficient" "functional" and "data structure"
02:43:18 <Quadrescence> "as fast as C" "written in haskell" "uses 'data'/classes"
02:43:35 <coppro> lol
02:43:37 <Sgeo> equiv time complexities
02:46:05 <augur> Quadrescence: do we get to design CPUs that are optimized for functional code not imperative code
02:46:07 <augur> ?
02:46:17 <augur> because if not, then C will always have the possibility for advantage
02:47:10 <Sgeo> Is there a way to pretend that microoptimizations don't exist?
02:47:42 -!- j-invariant has joined.
02:49:01 -!- augur has changed nick to World.
02:49:06 -!- World has changed nick to augur.
02:50:34 <elliott> <augur> Quadrescence: do we get to design CPUs that are optimized for functional code not imperative code
02:50:36 <elliott> augur: Please yes.
02:50:42 <augur> elliott: :3
02:50:47 <elliott> <augur> Quadrescence: youre such a dickface. lol
02:50:48 <elliott> concurred
02:50:54 <augur> ive tried to think of ways to do this, actually
02:51:01 <j-invariant> Sgeo: the opposite
02:51:12 <elliott> "thrive reeks of foul stench of cargo cult" are words that could only come from reading the loper os blog waaay too much.
02:51:16 <elliott> augur: http://www.cs.york.ac.uk/fp/reduceron/
02:51:23 <j-invariant> Sgeo: you need mutation for ceratain things
02:51:29 <augur> elliott: the only thing i can think of is something that does in-place rewrites of ASTs
02:51:31 <Vorpal> night →
02:51:37 <elliott> j-invariant: not really true?
02:51:39 <elliott> augur: http://www.cs.york.ac.uk/fp/reduceron/
02:51:47 <elliott> augur: it does lazy graph reduction
02:51:55 <augur> interesting!
02:52:01 <elliott> augur: implemented on FPGA etc.
02:52:05 <elliott> memos are very interesting
02:52:06 <augur> sexy
02:52:16 <elliott> augur: core language is "typeless", it's basically just graph-rewriting-lambda-calculus
02:52:28 <augur> thats an interesting nothing
02:52:36 <elliott> augur: an interesting nothing? xD
02:52:42 <j-invariant> elliott: persistent vs ephemeral
02:52:42 <augur> ..
02:52:52 <augur> notion
02:52:55 <elliott> j-invariant: well sure
02:52:56 <elliott> <Sgeo> Has it been proven that all imperitive data structures have an equally efficient functional version?
02:53:02 <augur> stupid fingers
02:53:19 <elliott> Sgeo: theoretical results IIRC suggest that functional languages are "inherently" less efficient than imperative ones in certain cases ... at least that's what Okasaki says, but: sufficiently smart compiler.
02:53:32 <elliott> also, as Okasaki goes on to prove in his book... yes, basically, all the structures you can think of have efficient functional versions.
02:53:52 -!- cheater99 has joined.
02:54:15 <j-invariant> coppro: yeah I already did Set though
02:54:35 <coppro> j-invariant: what's Set's limit?
02:54:48 <j-invariant> coppro: huh?
02:54:55 <coppro> 21:21 < j-invariant> elliott: theoretically.. one could implement all sorts of categories and instance their limits etc etc.. at this point
02:55:00 <coppro> you said you did Set?
02:55:12 <coppro> Quadrescence: lol
02:55:30 <j-invariant> limits: terminal and initial object, products, sums, equaliziers lots more things too
02:55:37 <coppro> Quadrescence: did it ever occur to you to simply define Monoids over Num rather than over Int
02:55:39 <j-invariant> set has them all
02:55:52 <elliott> coppro: REEKS OF FOUL STENCH
02:56:14 <elliott> coppro: i wouldn't bother talking to Quadrescence anyway considering he's never once talked about esolangs. or done anything other than be irritating really.
02:56:30 <j-invariant> but I didn't implement any limits
02:56:30 <elliott> but hey, i respect anyone who likes wasting their time :p
02:57:24 -!- cheater99 has quit (Read error: Connection reset by peer).
02:57:30 <coppro> j-invariant: well then why did you say you did it already?
02:57:42 <elliott> "one could implement all sorts [...] and instance their limits [..] at this point"
02:57:45 <elliott> one *could*
02:57:55 <coppro> 21:53 < j-invariant> coppro: yeah I already did Set though
02:58:22 <elliott> coppro: he already implemented Set, not found its limit. one would presume.
02:58:50 <j-invariant> limits
02:59:40 <Sgeo> elliott, so you respect me for the unpaid project I worked on?
02:59:49 <elliott> Sgeo: what?
02:59:53 <elliott> oh. shut up.
03:04:00 <j-invariant> coppro: do you know much category theory
03:05:29 <j-invariant> elliott: I am starting to doubt whether it really does magically solve all problems :/
03:05:51 <coppro> j-invariant: yes
03:05:54 <elliott> j-invariant: It does! If you believe in it.
03:05:55 <coppro> j-invariant: I'm just trolling
03:06:02 <j-invariant> heh
03:06:40 <j-invariant> elliott: that's what I hate about christmas - "if you just beleive in something with zero evidence or reasonable explanation... then you will find it!"
03:06:46 <j-invariant> christmas films*
03:06:57 <elliott> j-invariant: like religion! *ducks*
03:07:18 <j-invariant> well it's probably a general flaw of human thought
03:07:29 <j-invariant> but why celebrate it...
03:08:38 <j-invariant> elliott: it's the same with the loch ness monster, there's even a film that pulls this
03:08:48 <elliott> thankfully it's possible to overcome our cognitive biases ... but very hard
03:08:50 <elliott> j-invariant: gh
03:08:52 <elliott> *ugh
03:13:56 -!- cheater99 has joined.
03:14:21 <j-invariant> UFO films don't usually do that though
03:17:09 <j-invariant> that's more like science fiction
03:17:30 <elliott> yeah
03:20:12 -!- cheater99 has quit (Read error: Connection reset by peer).
03:25:33 -!- cheater99 has joined.
03:29:07 -!- p_q has quit (Quit: This computer has gone to sleep).
03:29:17 <elliott> pikhq: http://en.wikipedia.org/wiki/Pikachurin
03:29:20 <elliott> pikhq: Please /nick pikhqrn
03:30:40 <elliott> new mcmap out. :p
03:30:45 <elliott> Relevant only to noansi users.
03:40:28 -!- Wamanuz4 has quit (Ping timeout: 272 seconds).
03:46:52 -!- bsmntbombdood has quit (Read error: Connection reset by peer).
03:47:23 -!- bsmntbombdood has joined.
04:08:56 <j-invariant> elliott: you should put algebra on these categories :
04:09:19 <elliott> j-invariant: yeah that does not sound painful at all :D
04:09:24 <j-invariant> elliott: it will sort of be like a 20x more difficult version of what you did before..
04:09:26 <elliott> maybe if i get this algebra thing working nicely
04:12:05 <variable> Silly question: what is the difference between an FSA and a Turing Machine? is it the unboundedness of the memory ?
04:13:08 <elliott> variable: yes pretty much
04:13:20 <elliott> variable: a finite state machine can be written as a huge table of "state1 -> state2"
04:13:36 <elliott> variable: e.g., for your computer, assuming no IO devices, the contents of registers, RAM, disk, etc.
04:13:41 <elliott> to the new contents, after executing one instruction
04:13:48 <elliott> this list is finite since your RAM/disk are finite
04:14:13 <elliott> variable: of course you won't find a real turing machine ... but TC languages are more interesting than FSAs generally
04:14:54 <Quadrescence> [20:55.10] <coppro> Quadrescence: did it ever occur to you to simply define Monoids over Num rather than over Int // Did it ever occur to you that a monoid might not actually support what Num does?
04:15:14 <elliott> um since Int is a Num ...
04:15:40 <Quadrescence> ...............
04:15:41 <elliott> variable: http://esolangs.org/wiki/Finite-state_automaton
04:15:48 <variable> elliott, I just read that
04:15:52 <elliott> variable: heh :)
04:16:26 <Quadrescence> elliott: r u implying i should declare all Num t as monoids
04:16:33 <elliott> variable: if you think you have a fairly good grasp on what turing completeness is, why not let my languages plunge you back into deep confusion: http://esolangs.org/wiki/Befunge/index.php http://esolangs.org/wiki/Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php
04:17:16 <elliott> (http://esolangs.org/wiki/Talk:Befunge/index.php has a proof that the first is simultaneously TC and not, depending on your definition)
04:17:24 <bsmntbombdood> oh hello Quadrescence
04:17:30 <Quadrescence> hey bsmntbombdood
04:17:30 <bsmntbombdood> i heard you where stirring up some shit
04:17:35 <Quadrescence> yeah i guess so
04:17:54 -!- poiuy_qwert has joined.
04:18:28 <variable> elliott, my understanding of a TC language is that given unlimited memory it can compute any algorithm - is that correct?
04:18:36 <elliott> variable: Define algorithm :)
04:18:48 <Quadrescence> variable: a turing complete language can emulate a turing machine
04:18:48 <elliott> variable: The most common definition is that you can simulate any Turing machine in it.
04:18:51 <elliott> variable: This, however, has ambiguity.
04:18:53 <elliott> Quadrescence: Uh, no.
04:18:57 <Quadrescence> um yea
04:18:59 <elliott> Quadrescence: There are plenty of non-universal Turing machines.
04:19:04 <elliott> Quadrescence: So. No.
04:19:07 <Quadrescence> yes
04:19:12 <j-invariant> I don't understand Brainfuck/w/index.php?title=Talk:Brainfuck/index.php :S
04:19:17 <elliott> And being able to simulate one doesn't make you TC.
04:19:18 <elliott> j-invariant: why not?
04:19:19 <variable> A universal turing machine can emulate any turing machine - correct
04:19:30 <elliott> variable: yes.
04:19:46 <elliott> variable: but when you step outside of things that are strictly turing machines and try and relate this concept to other languages it is difficult :)
04:19:46 <j-invariant> does the implementation really do what it says?
04:19:59 <elliott> j-invariant: yes (but it's written in Scheme-1, which has only super-Turing implementations)
04:20:06 <elliott> j-invariant: note the "H" procedure, it's a Turing halt-checker
04:20:16 <elliott> see http://esolangs.org/wiki/Banana_Scheme
04:20:35 <variable> curious: which class should I expect to learn this stuff in?
04:20:35 <j-invariant> ah I didn't notice "Scheme-1" was something special
04:20:58 <elliott> variable: computability theory
04:21:04 <elliott> /theory of computation
04:21:15 * variable didn't see that on my course list :-\
04:21:18 * variable looks again
04:22:27 <elliott> j-invariant: btw if you do (define (H n p) #t) that interp actually works
04:22:34 <elliott> but of course just loops forever on invalid programs ;)
04:23:24 <variable> elliott, Automata theory and Formal Languages
04:23:25 <variable> ?
04:23:32 <quintopia> variable: look for anything with "computation" in the name like "languages and computation" or intros to computer science theory
04:23:42 <elliott> variable: pretty much, yep
04:23:48 <quintopia> yeah that might have it
04:23:50 <variable> :-( 4 more years
04:23:51 <elliott> variable: see e.g. http://en.wikipedia.org/wiki/Automata_theory#Classes_of_automata
04:24:06 * variable wishes I could that class now
04:24:21 <variable> elliott, oh - perfect
04:24:25 <variable> I was looking for such a list
04:24:27 <elliott> variable: #esoteric suffices pretty well for learning this stuff, it's just a bit of a random walk so it takes time ;)
04:24:28 <Quadrescence> variable: you can, just get a book
04:24:30 <elliott> well that list isn't really perfect.
04:24:33 <j-invariant> elliott: should implement scheme-n in Coq
04:24:40 <elliott> j-invariant: heh. NO :)
04:24:45 <variable> Quadrescence, recommendations ?
04:24:49 <j-invariant> elliott: just make it so that executing a program is interactive theorem proving
04:24:49 <elliott> j-invariant: (you could with axioms but it wouldn't construct ofc)
04:25:19 <Quadrescence> variable: what do you know already, both in math, and compsci?
04:25:28 <variable> Quadrescence, formally or informally?
04:25:32 <Quadrescence> informally
04:25:58 <elliott> g'nigh'
04:26:06 <variable> I know most major programming languages and a few esoteric ones. I've read an operating systems book cover to cover
04:26:15 <variable> and I get how programming languages are compiled
04:26:20 <variable> thats about it
04:26:22 <Quadrescence> variable: Do you know the lambda calculus?
04:26:28 <variable> math is <= calc
04:26:49 * variable is a freshmen - so I havn't taken most university math classes yet
04:26:52 -!- elliott has quit (Quit: Leaving).
04:27:31 <Quadrescence> variable: What programming languages are you comfortable programming in
04:28:44 <variable> Quadrescence, any particular book to read on computational theory? or do I need more of a math background first?
04:28:44 <variable> and if so which book should I read on that?
04:29:08 <Quadrescence> variable: well, despite its name, lambda calculus is really just a model of computation
04:29:19 <Quadrescence> variable: Have you read SICP?
04:30:35 <variable> Quadrescence, ?
04:31:25 <Quadrescence> variable: Read the book "Structure and Interpretation of Computer Programs"; and do all of the exercises. It will introduce you to a broad array of which are highly beneficial to know before diving into computability.
04:31:42 <variable> elliott, see pm
04:31:48 <Quadrescence> elliott left
04:31:56 <Quadrescence> [22:26.25] << elliott (~elliott@unaffiliated/elliott) has quit: Quit: Leaving
04:32:59 <variable> I'm comfortable in C, C++, Java, PHP, VB/QB (years ago), Bash, a few others.
04:33:11 <variable> I know Python, Perl, and a few others - but not that well
04:33:23 <variable> "Structure and Interpretation of Computer Programs" ---> which author?
04:33:35 <Quadrescence> Abelson and Sussman
04:33:46 * variable googles
04:33:49 <Quadrescence> Don't worry, the book will not rehash stuff you already know
04:33:59 <variable> I need to learn Scheme
04:34:12 <Quadrescence> (i mean, some things you might know, but it's not a Learn To Program In Language X)
04:34:13 <variable> http://mitpress.mit.edu/sicp/ --> ok - that book is now on my list
04:34:33 <variable> creative commons textbook
04:34:34 <Quadrescence> As I said, you should do all of the exercises. If you do, you'll learn a lot.
04:34:34 <variable> WIN
04:34:58 <variable> Quadrescence, I will
04:35:09 <variable> its winter vacation now for me - so I should have time to do so
04:35:44 <Quadrescence> variable: You'll learn a good deal about computability in it too. So you'll actually have a head start if you decide you want to read pure computability theory.
04:37:03 <variable> Quadrescence, thanks for the link
04:37:24 * variable reads
04:37:44 <Quadrescence> variable: Oh, do you have a Scheme implementation installed?
04:37:49 <variable> Quadrescence, yeah
04:37:53 <Quadrescence> Which?
04:39:01 <variable> Quadrescence, chicken
04:39:14 <Quadrescence> variable: great, that's my favorite
04:39:47 <variable> I havn't started yet
04:39:53 <variable> it would be my first functional language :-)
04:40:11 <j-invariant> procedural
04:40:19 <Quadrescence> variable: The nice thing is that it's functional, but also has imperative and whatever constructs too.
04:42:49 <variable> I want to do scheme -> haskell -> list
04:42:51 <variable> *lisp
04:43:03 <Quadrescence> variable: well Scheme is a lisp
04:43:29 <variable> hrm?
04:43:43 <variable> I meant the regular lisp
04:43:49 <variable> Common Lisp
04:43:50 <Quadrescence> variable: You mean "Common Lisp"
04:43:59 <variable> yeah
04:44:03 <Quadrescence> Any reason why?
04:44:45 <variable> I was told that scheme is the easiest functional language to learn. Then I wanted to learn something different (non-lisp)
04:45:00 <variable> and I want Common Lisp somewhere on the list
04:46:08 <Quadrescence> Scheme might suit your Lisp desire. It's like Common Lisp, except a lot more elegant
04:48:02 <Quadrescence> variable: you might be interested in http://symbo1ics.com/blog/?p=729
04:48:26 * variable bookmarks
05:06:51 -!- bsmntbombdood has quit (Ping timeout: 246 seconds).
05:16:20 <Sgeo> variable, maybe your first functional language should be purely functional?
05:16:57 <Sgeo> Although hmm, that could be throwing you into the deep end I guess.
05:18:33 <variable> Sgeo, I tried haskel already - but I got a little confused -- I guess I'm so used to the imperative structure that I need a crutch for my first step
05:19:43 * variable needs to go to sleep - gnight everyone
05:21:56 <Sgeo> Night variable
05:22:14 <Sgeo> Hmm... an esolang whose functionality varies based on time of day
05:22:28 <Sgeo> Night variables only accessible at night, or somesuch
05:22:32 <j-invariant> hehe
05:22:54 <quintopia> sgeo: it's been done but more extremely
05:28:46 -!- bsmntbombdood has joined.
05:30:41 <j-invariant> Quadrescence: you wrote this http://symbo1ics.com/blog/?p=788
05:33:06 <Quadrescence> yes...
05:34:05 <j-invariant> Quadrescence: I haven't read it yet
05:34:13 <j-invariant> Quadrescence: You should collect responses and criticisms
05:34:43 <Quadrescence> reddit is collecting them for me
05:35:24 <j-invariant> Quadrescence: into a blog post
05:35:41 <Quadrescence> no
05:37:17 -!- Sgeo has quit (Read error: Connection reset by peer).
05:39:17 -!- kanzure has left (?).
05:43:06 <j-invariant> Quadrescence: do you have a different language to continue this in?
05:47:46 <j-invariant> Quadrescence: what is cargo cult mathematics
05:49:55 <coppro> Quadrescence: yes, every number is a monoid
05:50:16 <j-invariant> if a category has one object, then it's a monoid
05:50:28 <coppro> yes, that's true
05:50:34 <coppro> but I was talking about Haskell
05:50:46 <j-invariant> but you can have a monoidal category, which is a different thing
05:51:04 <coppro> j-invariant: what are you currently doing with your life again?
05:51:07 <bsmntbombdood> lol, more of this?
05:51:40 <bsmntbombdood> still talking about it in #haskell too
05:52:31 <j-invariant> coppro: I need to find somethign to do actually - I welcome suggestions
05:53:06 <Quadrescence> bsmntbombdood: they're talking about it in haskell?
05:53:12 <Quadrescence> coppro: that is very true
05:53:16 <bsmntbombdood> mmhmm
05:55:30 <coppro> j-invariant: no, I mean school, work, etc.
05:55:38 <coppro> or are you actually just doing nothing
05:55:48 <coppro> bsmntbombdood: talking about what in #haskell?
05:56:03 <bsmntbombdood> Quadrescence not understanding haskell
05:56:14 <j-invariant> coppro: I just finished a maths course so I need to find something now
05:56:35 <j-invariant> Quadrescence obviously knows haskell
05:56:48 <j-invariant> it's just because he said something vaugely acidic that people decide to belittle him
05:57:15 -!- cal153 has joined.
05:57:48 <coppro> just one math course?
05:58:01 <j-invariant> yes
06:05:26 <j-invariant> Quadrescence: why dont' you want to talk about it
06:06:24 -!- iamcal has joined.
06:06:25 -!- cal153 has quit (Read error: Connection reset by peer).
06:06:59 <Quadrescence> j-invariant: I don't feel like making a blog post with the collection of everything. That is what the comments are for. Although I am required to accept a comment, I accept them all if they are not spam.
06:08:06 <j-invariant> Quadrescence: but you gave up on haskell for this... my question is what will you use instead?
06:08:50 <Quadrescence> j-invariant: I gave up on writing the "tutorial".
06:09:10 <Quadrescence> (I wasn't very fond of Haskell before it anyway)
06:09:20 <Quadrescence> My previous posts suggest what language I primarily use.
06:09:24 <j-invariant> so you give up on this problem?
06:10:13 <Quadrescence> No. I wrote a "haskell for mathematicians" post. I was going to write another one. But I decided not to as a result of not wanting to explain the deficiencies (in my opinion) of the language.
06:13:57 <bsmntbombdood> i'm not even sure what Quadrescence is complaining about
06:14:12 <bsmntbombdood> is it just that 5 is a number instead of an Int?
06:15:06 <j-invariant> the problem is you can't define an algebra heirarchy in a useful way in haskell
06:15:10 <j-invariant> typed
06:15:33 <bsmntbombdood> but you can
06:15:38 <Quadrescence> no you can't
06:15:40 <j-invariant> bsmntbombdood: has anyone done it?
06:15:54 <bsmntbombdood> numeric prelude, etc
06:15:57 <Quadrescence> people have sort of done it with the Numeric-Prelude
06:16:35 <j-invariant> are you sure that numeric-prelude doesn't suck?
06:17:16 <Quadrescence> I looked through the code. I don't want to say it sucks. It is better (mathematically) than the current prelude. But I wouldn't say it's ~great~
06:18:56 <Quadrescence> bsmntbombdood: My complaint was also about the community.
06:20:04 <j-invariant> Quadrescence: can you elaborat eon that please
06:22:22 <Quadrescence> j-invariant: http://symbo1ics.com/blog/?p=788#comment-876
06:24:39 <j-invariant> In mathematics, we strive to rid our expositions of ambiguity, and we deem the expositions with the least ambiguity as “rigorous.” <-- this doesn't fit with my picture at all
06:24:43 <j-invariant> coppro: what about you?
06:24:47 <j-invariant> what do you do
06:26:01 <j-invariant> Quadrescence: There are individuals, however, who thrive on the “mysteriousness” afforded by this unapproachability. They revel, rather than find distaste, in the “genius” image pinned to those who can speak in this technical tongue. <-- this is very astute and important observation
06:26:35 <Quadrescence> j-invariant: rigorous: rigidly accurate; allowing no deviation from a standard; "rigorous application of the law"; "a strict vegetarian"
06:27:00 <Quadrescence> which means if something is less open for interpretation --- less ambiguous --- it is more rigorous
06:27:15 <j-invariant> Quadrescence: a kind of pseudo-mathematics <-- consider (a -> b) -> (f a -> f b), it should really be Hom a b -> Hom (f a) (f b)
06:27:25 <j-invariant> even simpler example than Monad
06:30:12 <j-invariant> Quadrescence: something is probably wrong when you’re using Functor f => Algebra f b -> GAlgebra f (Cofree f) a -> (f :~> f) -> FixF f -> a <--- where did you find that code?
06:30:23 <Ilari> Vorpal: I don't skype... :-)
06:30:32 <Quadrescence> j-invariant: the good ol' http://www.haskell.org/haskellwiki/Zygohistomorphic_prepromorphisms
06:32:19 <j-invariant> Quadrescence: can you make any constructive suggestions?
06:33:08 <Quadrescence> rename monad to something else, delete "morphism" from your vocabulary unless you have reason to need it
06:36:27 <j-invariant> Quadrescence: that's not radical enough
06:37:56 <Quadrescence> ok, rename haskell to Fortran++
06:38:07 <j-invariant> lol
06:38:11 <j-invariant> Fortress?
06:38:35 <Quadrescence> no
06:38:56 <Quadrescence> (Fortress is just upgraded Fortran)
06:39:01 -!- Mathnerd314 has quit (Disconnected by services).
06:39:09 <Quadrescence> (note that ++ doesn't imply upgraded; see C++)
06:39:23 -!- Mathnerd314_ has joined.
06:39:30 <j-invariant> Quadrescence: anyway what is your goal in programming
06:39:51 <Quadrescence> i don't really have a goal in programming
06:39:57 <Quadrescence> at least not in general
06:40:06 -!- Mathnerd314_ has changed nick to Mathnerd314.
06:40:07 <j-invariant> ok
06:41:22 <j-invariant> I wish someone would talk to me about something interesting
06:42:01 <Quadrescence> go ask #haskell to talk to you about zygohistomorphic prepromorphisms
06:42:19 <j-invariant> I talk to haskell for a bit but it died down
06:42:53 <Quadrescence> I guess the truth I released about Haskell is sinking into their minds~
06:43:01 <j-invariant> lol
06:45:00 -!- pikhq has quit (Ping timeout: 255 seconds).
06:47:02 -!- pikhq has joined.
06:47:53 <pikhq> Quadrescence: The issue is that fundamentally, the entire type system does not work with your idea of what "mathematics" is.
06:47:55 <pikhq> Which seems to actually consist of your interpretation of a set of common definitions *in* mathematics.
06:48:28 <Quadrescence> pikhq: there's a reason why the post was put in the category "Opinion"
06:49:56 <Quadrescence> pikhq: And no, the issue is that fundamentally, Haskell is trying to be mathematical (in my opinion!!!) by interpreting 5 as Num t => t, when the most sane option (in my opinion!) is Integer (or Int, which should be a special case anyway)
06:50:31 <pikhq> Does not work in Haskell unless you want to have *no easy form of literals* for any other numeric type.
06:51:13 <Quadrescence> It does not work because it was not designed to work ;D
06:51:36 <pikhq> See, if it were to work, then type inference would break.
06:52:00 <pikhq> And then you no longer have Haskell.
06:52:17 <j-invariant> I dono't know how anyone programs in haskell
06:52:18 <Quadrescence> Inference worked fine in my implementation.
06:52:34 <j-invariant> don't you find that you write some code then start to feel like it's all wrong and stop?
06:52:38 <pikhq> What, with an implicit cast from Integer to Num t => t?
06:52:43 <pikhq> That inherently breaks it all.
06:52:53 <pikhq> j-invariant: s/in haskell//
06:52:56 <j-invariant> Quadrescence: just write int 5 what is the problem?
06:52:57 <Quadrescence> No, with '5' defined as an INteger to begin with.
06:53:14 <pikhq> Quadrescence: Okay, but that makes a lot of stuff a *royal fucking pain*.
06:53:21 <Quadrescence> pikhq: Like what?
06:53:29 <pikhq> Quadrescence: Every other instance of Num!
06:53:47 <Quadrescence> How?
06:54:17 <pikhq> (fromInteger 2 :: Int) + (fromInteger 2 :: Int)
06:54:28 <j-invariant> pikhq: that's just syntax, deal with it
06:54:42 <pikhq> j-invariant: Yes, and it's still agony incarnate.
06:55:07 <j-invariant> I think you need to be able to ignore taht sort of thing if you want to spot the deeper problems
06:55:10 <Quadrescence> pikhq: Or scrap "Int" and use a library if you need machine precision integers specifically.
06:55:13 <pikhq> Quadrescence: Not to mention, any use of "x + 1" would be forced to have the type of Integer.
06:55:24 <Quadrescence> Yes.
06:55:28 <pikhq> Not Float. Not Natural. Not Rational. Integer.
06:55:42 <pikhq> Which... Defeats the whole point of *having* typeclasses.
06:56:16 <Quadrescence> Yeah, it's a shame no one has yet invented any idea of contagion.
06:56:24 <pikhq> Contagion?
06:56:38 <Quadrescence> stuff like Integer + Float -> Float
06:56:51 <j-invariant> Quadrescence: it's impossible to implement that in haskell
06:57:23 <pikhq> *echm* Learn you some Hindley-Milner type inference.
06:57:35 <j-invariant> Quadrescence: you need something more expressive than typeclasses
06:57:36 <Quadrescence> pikhq: I wrote an implementation just the other day in lisp.
06:58:18 <pikhq> And did you also solve the halting problem before riding away on your unicorn?
06:59:03 <Quadrescence> pikhq: What's the issue? You seem to be saying that defined rules about contagion prohibit the ability to type.
06:59:12 <j-invariant> they do
06:59:17 <Quadrescence> No they don't.
06:59:25 <pikhq> They prohibit the ability to *infer* type.
06:59:36 <Quadrescence> SoRrY, ~inferrrrrrrrrrrrrrr~
06:59:41 <j-invariant> Quadrescence: you can't solve LUB of a poset in Hindly-Milner, not even HM + Typeclasses
07:00:26 <pikhq> Granted, some Haskell extensions also cannot have types inferred, but those end up being special cases, rather than exceptionally common use-cases.
07:00:53 <Quadrescence> I agree that "x + 1" cannot be inferred if x cannot be inferred (under my model)
07:02:04 <pikhq> BTW, the whole point of typeclasses is that you can define instances later.
07:02:20 <Quadrescence> thanks for the memo
07:02:25 <pikhq> You are literally arguing against the entire *point* of Haskell's type system.
07:02:34 <pikhq> Not merely the Num typeclass.
07:02:38 <Quadrescence> you seem to not get the point of what I wrote
07:02:38 <pikhq> Literally the entire thing.
07:02:44 <pikhq> And probably every other form of polymorphism.
07:03:48 <pikhq> Funny, it seems to me "It can't figure out from (Num t, Monoid t) => [t] that it's [Integer] because I happened to define only one instance so far." is what you're saying.
07:03:57 <pikhq> Which is, uh, kinda inherent in polymorphism.
07:03:59 <Quadrescence> yes, indeed
07:04:22 <j-invariant> you two - be more interesting :/
07:04:26 <j-invariant> you're just arguing past each other
07:04:40 <pikhq> Which is used in almost every programming language.
07:04:42 <coppro> remind me; is there a way to define types in ghci?
07:05:00 <pikhq> coppro: Uh, should be just the same as in Haskell source.
07:05:42 <coppro> parse error on input `data'
07:05:53 <pikhq> Okay, apparently not.
07:07:27 <Quadrescence> it is too bad haskell doesn't have finite subtype inference, which would fix all the numeric bullshit
07:07:58 <pikhq> It's also too bad that I don't have a function that can tell me if any arbitrary function on arbitrary input will halt.
07:08:01 <pikhq> I also want a pony.
07:08:05 <j-invariant> "finite subtype inference"?
07:08:15 <Quadrescence> pikhq: i didn't say arbitrary subtype inference
07:08:22 <Quadrescence> if you're not aware, what i said is decidable.
07:08:39 <Quadrescence> see the paper by Duggan
07:08:41 <pikhq> That said, the Num typeclass is entirely crappy. Just not for any reasons you mentioned.
07:09:58 <pikhq> And it really bothers me that Float is an instance of it.
07:10:14 <Quadrescence> yeah I hate Floats in almost every language
07:11:08 <j-invariant> why does everyone want inference to be complete?
07:11:16 <Quadrescence> No idea, I don't
07:11:24 <pikhq> j-invariant: It's a nicety.
07:11:36 <pikhq> One that certain extensions to Haskell breaks, anyways.
07:11:42 <j-invariant> pikhq: exactly.. it's just a nicety, it doesn't give you any theoretical guarantee about actual programs
07:12:03 <Quadrescence> j-invariant: that's approximately my philosophy
07:12:04 <pikhq> s/breaks/break/
07:12:35 <j-invariant> Quadrescence: What about using category theory to specify and organize programs?
07:13:03 <Quadrescence> j-invariant: I think it can provide nice theoretical underpinnings.
07:13:19 <Quadrescence> But I don't know of anyone who thinks they're doing lambda calculus when they're coding in e.g. Scheme
07:13:22 <j-invariant> like how the type system just makes sure your syntax is good
07:13:27 <pikhq> Unfortunately, people tend to gloss over at the word "monad".
07:13:38 <coppro> I personally don't see a huge amount of applicability of category theory to programming theory
07:13:41 <coppro> but I could be wrong
07:13:44 <j-invariant> it could act as a meta type system that makes keeps the semantics of your code in check
07:13:56 <coppro> whatwhat
07:15:07 <pikhq> coppro: Well, there kinda is, but it's a bit hidden unless you're looking for it, usually.
07:15:42 <pikhq> Of course, by the same notion category theory has applicability to a child's arithmetic class, so hey. :P
07:15:47 <coppro> pikhq: well, in some sense there is, I suppose, but I have yet to see evidence of something that makes my life as a programmer easier
07:16:06 <Quadrescence> coppro: I was just saying purely theoretically.
07:16:32 <Quadrescence> I don't think the development of integers from peano arithmetic helps anyone do their taxes
07:16:37 <coppro> Quadrescence: Theoretical underpinnings of programming languages are useless to me unless they actually help me program
07:16:44 <coppro> no, but they help with other stuff
07:16:53 <coppro> numbers are widely applicable
07:17:00 <coppro> programming langauges are a comparitively narrow field
07:17:01 <Quadrescence> coppro: ok under that definition, yeah, it's mostly useless
07:17:12 <Quadrescence> coppro: numbers are useful, sure!
07:17:16 <coppro> so advancements of number theory are more likely to have useful application
07:17:38 <coppro> whereas advancements in PL theory are respectively less likely to have useful application
07:17:45 <j-invariant> coppro: do you program haskell?
07:17:48 <coppro> not that PL theory can't have useful application - see type inference or GC!
07:17:52 <coppro> j-invariant: not as much as I should
07:18:38 <pikhq> coppro: Arguably, monads actually *have* application.
07:18:50 <pikhq> But even then, you're not caring much about the category theory about it.
07:19:07 <pikhq> You're just caring that it's some form of object with bind and return functioned defined.
07:19:22 <pikhq> Actually, the same applies for most of the "category theory" things in Haskell.
07:19:46 <pikhq> I mean, sure it's kinda from category theory and all, but category theory itself is basically irrelevant to it.
07:20:01 <pikhq> (and contradictory in some of the stupider cases, like Monads not being Functors)
07:21:29 <coppro> yeah
07:25:31 <coppro> why is haskell.org down
07:25:49 <pikhq> It seems to do that often.
07:25:56 <pikhq> I suspect it's on a shitty server.
07:27:21 <Quadrescence> (after all, the server software was written in haskell!)
07:27:21 <coppro> btw, something I would like for haskell to have would be typeclasses that could somehow be instantiated with more than one set of functions
07:27:22 <Quadrescence> i kid
07:27:55 <coppro> (I am well aware of the size of wrenches this throws at it :( )
07:28:07 <Quadrescence> coppro: hehe
07:30:14 <pikhq> coppro: Ow ow ow.
07:30:40 <coppro> for instance, {ZZ, +} is a monoid, but {ZZ, *} is too
07:30:50 <Quadrescence> yea
07:31:01 <Quadrescence> i've been working on that in the system i'm making
07:31:29 <j-invariant> Quadrescence: what abot mathematically structured programming?
07:31:48 <coppro> "system I'm making"?
07:31:49 <coppro> do tell?
07:32:05 <Quadrescence> http://symbo1ics.com/blog/?page_id=81
07:33:11 <Quadrescence> i guess that doesn't say much
07:33:13 <Quadrescence> maybe see the PDF
07:33:23 <Quadrescence> in the INFO section
07:33:40 <Quadrescence> it only really has notes and ideas, it's nothing solid; i didn't even plan on releasing it
07:38:26 <coppro> Quadrescence: looking over the section on algebras; you must be very careful about implicit introduction of ==
07:39:21 <Quadrescence> yes indeed
07:40:08 <Quadrescence> i'm generally assuming there that there exists an algorithm to determine if x == y; but yes you're right
07:40:17 <j-invariant> here's a fun one:
07:40:34 <j-invariant> if A,B are objects in category C. A = B means that there is an isomorphism between A and B
07:40:51 <j-invariant> but to define composition you need equality of objects
07:41:02 <j-invariant> (to check the composition is well formed)
07:41:36 <coppro> but equality is not defined in terms of isomorphisms
07:41:49 <coppro> or are you just using that as an example of where = might mean something different?
07:42:16 <coppro> Quadrescence: I like the notion of associative sequences but I don't immediately see applicability
07:42:41 <Quadrescence> coppro: the ability to do pattern matching with associative functions
07:43:03 <Quadrescence> erm bad example
07:43:05 <j-invariant> Quadrescence: do you know Knuth-Bendix algorithm?
07:43:08 <Quadrescence> yes
07:43:22 <j-invariant> help me !! :)
07:43:43 <Quadrescence> you know category theory, you should be able to figure out KB
07:44:04 <j-invariant> I wan tyou to help me with Knuth-Bendix but you don't have to if you don't want
07:44:23 <Quadrescence> i am just lazy and it is late
07:44:52 <Quadrescence> cool alg though
07:51:23 <coppro> Quadrescence: btw, have you looked at proof verifiers?
07:51:33 <Quadrescence> yes, extensively
07:52:13 <Quadrescence> there is a difficult balance i am trying to strike
07:52:45 <Quadrescence> that of practicality/usability and that of "correctness" overall
07:54:24 <coppro> where are you in life, btw?
07:55:33 <Quadrescence> i am working on these projects full time at my father's home, if that's what you're asking, and which I'm exceptionally grateful for
07:55:58 <j-invariant> coppro: I asked you
07:56:30 <coppro> j-invariant: oh, sorry, I missed that. first-year undergrad
07:56:35 <j-invariant> coppro: oh okay cool
07:56:38 <coppro> Quadrescence: educational background?
07:57:38 <Quadrescence> No formal (i.e. admitted-into) Uni background, but I go over to the university and audit a good number of graduate classes. I did 6 classes last semester
07:58:01 <coppro> hah, nice
07:58:42 <coppro> what exactly does auditing entail at that university?
07:59:01 <Quadrescence> I just went to the uni and sat in the courses.
07:59:06 <coppro> oh
07:59:10 <coppro> not a formal audit then
07:59:19 <Quadrescence> what is a "formal audit"
07:59:26 <coppro> Quadrescence: you can get audit status in courses here
07:59:34 <Quadrescence> ah
07:59:43 <coppro> gets you more priveleges than just sitting in sometimes
07:59:50 <pikhq> Quadrescence: You're registered as an auditer. You're formally part of the class, just not actually expected to do coursework.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:10 <pikhq> Of course, you don't get any *credit* for it, but that's neither here nor there.
08:00:21 <coppro> of course
08:00:36 <Quadrescence> I see. Well I don't know what benefits that would necessarily give. Maybe it's just a way to keep you happy about paying? :)
08:00:49 <coppro> Quadrescence: usually you don't have to pay extra
08:00:54 <Quadrescence> I guess if there were laboratory courses, that would make sense.
08:01:07 <coppro> in practice, you pay for the grade
08:01:13 <Quadrescence> yeah
08:01:40 <pikhq> It also makes sense if the university ends up having nearly-full classes.
08:02:01 <coppro> but you might get benefits like the ability to see reserved library books or access restricted online material
08:02:06 <pikhq> Registering to audit means that you actually know whether or not you're getting a seat.
08:02:43 <Quadrescence> pikhq: yeah, makes sense, but seemed not to matter for the stuff I did, as there were usually no more than 20 kiddos
08:02:44 <coppro> except that someone might squat th eseat
08:02:54 <pikhq> Of course, with graduate courses, it's probably not going to matter.
08:02:55 <coppro> yeah, for grad courses it's probably not a major concern
08:03:15 <pikhq> Unless the prof gives you funny looks.
08:03:21 <Quadrescence> hahahaha
08:03:30 <Quadrescence> the prof doesn't know who anyone is usually
08:03:55 <Quadrescence> they just though I was Another Guy for a while
08:04:15 -!- oerjan has joined.
08:04:39 <Quadrescence> suspicion did increase when the weirdo lie groups/lie algebras prof had a "small-group" style of teaching
08:04:51 <Quadrescence> we all got into small groups every day and answered questions
08:05:02 <coppro> Quadrescence: which uni?
08:05:11 <Quadrescence> university of minnesota: twin cities
08:05:25 <Quadrescence> that was a weird class
08:05:30 <coppro> ah
08:06:44 <Quadrescence> the two guys I got paired with were extremely quiet and anti-social :(
08:07:13 <Quadrescence> they just mumbled "mrmrmrmrmrmr orthogonal matrix mrmrmrmrmrmrmrmr"
08:07:23 <j-invariant> sounds fun though, I never had that pleasure
08:07:28 <Quadrescence> no, it wasn't
08:07:37 <Quadrescence> it sounds like it could be, but it was a flop
08:07:50 <Quadrescence> no one ever knew what was going on since the prof didn't actually teach
08:11:28 <j-invariant> teaching mathematics must be fucking miserable
08:12:11 <j-invariant> at least to undergrads
08:14:20 <coppro> I will almost certainly take several grad courses in my undergrad career
08:14:50 <j-invariant> Quadrescence: see the logs
08:15:05 <j-invariant> we were talking about your post for a while
08:15:21 <Quadrescence> j-invariant: too lazy
08:17:58 -!- oerjan has quit (Quit: leaving).
08:18:23 <coppro> oh god, there's a plan at my school that actually requires Convex Optimization and Analysis to graduate
08:18:28 <coppro> hahahahahahaha poor sods
08:18:42 <j-invariant> I like Analysis
08:18:58 <j-invariant> oh 'Convex Optimization and Analysis' is a single thing
08:19:05 <coppro> yes
08:19:09 <coppro> it is a course at my school
08:19:20 <Quadrescence> coppro: that sounds very...
08:19:27 <j-invariant> I think there are some good algorithms in Convex Optimization but I haven't studied it
08:19:35 <Quadrescence> fun >_>
08:19:40 <coppro> it hs been described as the most rape to ever be perpetrated in a single course
08:20:05 <Quadrescence> (probably make you use MATLAB, so understandable)
08:20:16 <coppro> no
08:20:20 <coppro> very far from it
08:22:46 <Quadrescence> :)
08:23:01 <coppro> its enrolment this term was 9
08:23:07 <coppro> exactly 2 of them were undergrads
08:23:10 <coppro> (I know both of them)
08:23:17 <Quadrescence> haha
08:23:51 <coppro> this is a cross-listed undergrad/grad course
09:04:32 -!- sebbu2 has joined.
09:06:18 -!- sebbu3 has joined.
09:07:08 -!- sebbu has quit (Ping timeout: 264 seconds).
09:07:09 -!- sebbu3 has changed nick to sebbu.
09:09:19 -!- sebbu2 has quit (Ping timeout: 276 seconds).
09:29:43 -!- sftp_ has joined.
09:30:07 -!- sftp has quit (Ping timeout: 276 seconds).
09:38:57 -!- dbc has quit (Ping timeout: 250 seconds).
10:53:45 -!- Wamanuz4 has joined.
11:19:50 -!- cheater99 has quit (Ping timeout: 240 seconds).
11:20:52 -!- j-invariant has quit (Quit: leaving).
11:32:19 -!- cheater99 has joined.
12:53:22 -!- MigoMipo has joined.
12:56:38 -!- cheater99 has quit (Ping timeout: 240 seconds).
13:09:36 -!- cheater99 has joined.
13:14:20 -!- pikhq has quit (Ping timeout: 255 seconds).
13:16:09 -!- pikhq has joined.
13:57:57 -!- oerjan has joined.
14:18:16 -!- Wamanuz5 has joined.
14:22:02 -!- Wamanuz4 has quit (Ping timeout: 272 seconds).
14:44:38 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
14:53:07 -!- variable has quit (Ping timeout: 250 seconds).
14:57:40 -!- sftp has joined.
14:57:50 -!- sftp_ has quit (Ping timeout: 255 seconds).
15:13:45 <oerjan> WONKOTDOOG
15:17:25 -!- elliott has joined.
15:17:34 <elliott> 20:31:42 <variable> elliott, see pm
15:18:07 <oerjan> mighten be a _tad_ difficult
15:18:54 -!- elliott_ has joined.
15:18:55 -!- wareya_ has quit (Read error: Connection reset by peer).
15:19:22 -!- wareya has joined.
15:21:04 <elliott_> 22:33:08 <Quadrescence> rename monad to something else, delete "morphism" from your vocabulary unless you have reason to need it
15:21:16 <elliott_> Quadrescence: oh, oh, and rename "Commutative" to OrderDoesn'tMatter too??
15:21:21 <oerjan> sounds like a warm fuzzy idea
15:21:48 -!- elliott has quit (Ping timeout: 246 seconds).
15:21:51 <elliott_> 22:49:56 <Quadrescence> pikhq: And no, the issue is that fundamentally, Haskell is trying to be mathematical (in my opinion!!!) by interpreting 5 as Num t => t, when the most sane option (in my opinion!) is Integer (or Int, which should be a special case anyway)
15:21:56 <elliott_> therefore haskell REEKS OF THE FOUL STENCH
15:22:14 <elliott_> seriously you are the most whiny idiot i have ever seen. and that's counting myself.
15:22:55 <oerjan> now now don't be so humble
15:23:22 <oerjan> *,
15:23:42 <elliott_> 23:04:26 <j-invariant> you're just arguing past each other
15:23:55 <elliott_> is it even an argument? Quadrescence is just wrong and he doesn't really care, we're just yelling at him.
15:26:34 <elliott_> 23:58:01 <coppro> hah, nice
15:26:34 <elliott_> 23:58:42 <coppro> what exactly does auditing entail at that university?
15:26:40 <elliott_> coppro: you see they get out the e-meter ...
15:27:12 <oerjan> either elliott_ saw the same reddit post as i did or this is synchronicity...
15:27:25 <elliott_> oerjan: erm which post, i haven't loaded reddit yet today
15:27:26 <elliott_> (well i have now)
15:27:40 <elliott_> http://cadencewatch.com/420-watch classy
15:27:40 <oerjan> i'll have to reload myself
15:28:31 <oerjan> the top r/pics one
15:29:02 <oerjan> (i.e. the top post on reddit frontpage for non-logged in users)
15:29:33 <elliott_> heh
15:29:43 <elliott_> oerjan: isn't that a rather _tenuous_ bit of synchronicity :)
15:30:03 -!- variable has joined.
15:30:11 <oerjan> well i didn't know the scientology meaning of "auditing" until that post
15:31:53 <elliott_> 07:17:25 --- join: elliott (~elliott@unaffiliated/elliott) joined #esoteric
15:31:53 <elliott_> 07:17:34 <elliott> 20:31:42 <variable> elliott, see pm
15:31:57 <elliott_> i said "i was offline" after this.
15:32:00 <elliott_> oh look variable's here now
15:32:03 <elliott_> now /that's/ synchronicity
15:32:09 <elliott_> (i just saw that in the logs)
15:32:23 <variable> hi
15:33:24 <elliott_> variable: can you resend last night's pm?
15:33:25 <elliott_> i didn't get it
15:40:40 <Vorpal> <Ilari> Vorpal: I don't skype... :-) <-- Ilari mistab, meant ineiros
15:40:55 <Vorpal> elliott_, anything happened on cube?
15:41:05 <elliott_> Vorpal: just woke up
15:41:23 <Vorpal> elliott_, oh. Just got home myself.
15:41:29 <oerjan> cubistic matters
15:41:34 <elliott_> Vorpal: bet you were up at like 4 am!
15:41:38 <elliott_> CRAZY MAN
15:42:11 <Vorpal> elliott_, eh? I woke up 14:00 today, then I went to shop and made use of the warranty of a product I bought there about a year ago.
15:42:38 <Vorpal> elliott_, also am/pm: can never remember which is which.
15:43:05 <elliott_> Vorpal: am is early. pm is late.
15:43:12 <Vorpal> hm
15:43:26 <Vorpal> elliott_, any mnemonic for that?
15:43:27 <oerjan> post meridiem : after midday
15:43:30 <elliott_> it's 12:00 am because midnight is early morning :)
15:43:34 <elliott_> Vorpal: yes, see oerjan and then learn latin
15:43:35 <Vorpal> oerjan, latin doesn't help
15:43:46 <oerjan> "post" isn't that unusual...
15:43:49 <Vorpal> elliott_, I suck at natural languages
15:43:59 <Vorpal> oerjan, but how to remember it isn't after midnight instead
15:44:10 <oerjan> "diem" means day
15:44:15 <Vorpal> hm
15:44:27 <elliott_> Vorpal: meridiem - meridian
15:44:31 <elliott_> noon = meridian hour
15:44:41 <elliott_> post meridiem, post meridian, post-noon
15:45:04 <Vorpal> hm
15:45:19 <oerjan> a is for ante of course but that's not as common as post i think
15:45:34 <elliott_> Vorpal: ever had a chunk load and then unload? :)
15:45:36 <oerjan> antediluvian
15:45:38 <elliott_> btw new mcmap out, only relevant if you use -c
15:45:46 <Vorpal> elliott_, -c ?
15:45:48 <Vorpal> I use -s
15:46:04 <elliott_> -c is noansi.
15:46:11 <Vorpal> but really, why not switch to % 6 for months. So we are no in the second june I think.
15:46:15 <elliott_> I use:
15:46:16 <elliott_> elliott@dinky:~/code/mcmap$ _build/mcmap -c -x 2 -s 300x300 a322.org:25566
15:46:21 <Vorpal> makes as much sense as taking hour % 12
15:46:45 <Vorpal> elliott_, as in, no colour codes? I like the colour codes. I use a proper terminal
15:46:56 <elliott_> Vorpal: I do too! Except it has a light background and dark text.
15:47:02 <elliott_> So colour codes don't work very well.
15:47:03 <Vorpal> elliott_, that is not proper
15:47:05 <Vorpal> the way I define it
15:47:27 <Vorpal> elliott_, but the solution is trivial: use background colour codes to set it to black as well ;)
15:48:15 <Vorpal> (note: joke)
15:48:35 <elliott_> Vorpal: I find the contrast of lit text on totally-off pixels to be jarring.
15:49:54 <fizzie> I've been doing dark-on-light every now and then too, but I'm on my dark period now.
15:50:08 <Vorpal> hah
16:06:24 <variable> is the esolang wiki down?
16:06:29 <variable> Firefox can't find the server at esoteric.voxelperfect.net.
16:06:49 <elliott_> http://esolangs.org/ works
16:08:10 <oerjan> huh
16:09:08 <oerjan> indeed
16:11:28 <oerjan> DNS for esoteric.voxelperfect.net doesn't resolve
16:12:31 <oerjan> eek
16:12:56 <oerjan> www.voxelperfect.net has the text: "NOTICE: This domain name expired on 12/27/2010 and is pending renewal or deletion"
16:13:32 <Ilari> ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 11300 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
16:13:41 <Ilari> Well, that explains it.
16:14:29 <oerjan> esolangs.org should be good until 24 May 2011
16:14:41 <oerjan> ...that's only a few months...
16:14:46 <Vorpal> ineiros, after the manual backup, did you remember to turn on saves?
16:15:44 <elliott_> oerjan: oh dear.
16:17:37 <elliott_> oerjan: are we /sure/ that graue likes us enough to renew it?
16:18:11 <Ilari> Hmm... querying DNS records for esolangs.org doesn't give AD flag for me...
16:18:11 <oerjan> well i'm sending him an email
16:20:24 <oerjan> what's AD flag?
16:21:09 <oerjan> i was just going by whois record or esolangs.org: Expiration Date:24-May-2011 19:21:16 UTC
16:22:27 <fizzie> Well, it's hosted by everydns's servers, that's one of the free dns services.
16:23:04 <fizzie> AD is a dnssec-specified flag that's set if the server has gotten the zone data in a dnssec-enabled way.
16:23:11 <oerjan> Ilari: what's AD flag?
16:23:17 <oerjan> oh
16:24:41 -!- Warrigal has joined.
16:24:52 <elliott_> * Warrigal (ihope@thay.Stanford.EDU)
16:25:01 <elliott_> Warrigal: congratulations?
16:25:15 <tswett> It's as if I were going to Stanford now.
16:25:33 <elliott_> Warrigal is at Stanford, tswett is at GVSU.
16:25:37 <elliott_> I have determined this using science.
16:25:44 <tswett> Precisely.
16:25:46 <oerjan> CLONES
16:26:39 <tswett> And now, since I cannot bear the shame of being at GVSU instead of Stanford, I will die.
16:26:43 -!- tswett has quit (Quit: Terminated with extreme prejudice - dircproxy 1.1.0).
16:27:01 <Warrigal> Ooh, he was terminated with extreme prejudice.
16:27:12 -!- Warrigal has changed nick to tswett.
16:27:21 <elliott_> tswett: now please give back the body of the Stanford guy you murdered.
16:27:34 <tswett> Oh, that Stanford guy is still alive.
16:27:47 <elliott_> tswett: JUST BECAUSE YOU'RE NOT INTELLIGENT ENOUGH DOESN'T MEAN YOU SHOULD TAKE IT OUT ON THOSE WHO ARE
16:28:09 <tswett> I don't know where he is, but his name is Mason Chua. Maybe you can find him.
16:28:45 <tswett> He's the guy I locked up in a closet.
16:32:03 -!- variable has quit (Read error: Connection reset by peer).
16:32:22 -!- variable has joined.
16:32:38 <oerjan> argh all my visited wiki links turned blue again...
16:32:47 * oerjan ponders what he saw last
16:33:47 <oerjan> tswett: DID YOU REMEMBER TO FEED HIM
16:34:04 <tswett> I can't feed him; I'm not in California.
16:34:12 <tswett> So... yeah, I guess he's going to be dead in a while.
16:34:28 <oerjan> how sad.
16:34:30 * elliott_ googles Mason Chua
16:35:15 <tswett> Hey, he has an amateur radio license.
16:35:56 <tswett> You can see his address.
16:38:00 <tswett> Gasp! He's a real person!
16:38:03 <tswett> What have I done?
16:38:04 -!- MigoMipo has quit (Read error: Connection reset by peer).
16:38:52 <elliott_> OK, I need to know.
16:38:59 <elliott_> How the hell does Google get its website summaries?
16:39:02 <elliott_> Torsion Operating System
16:39:02 <elliott_> Multitasking SASOS with transparent data persistence: users and application programmers need not know or care that system memory is transient and must be ...
16:39:02 <elliott_> www.torsion.org/ - Cached - Similar
16:39:06 <elliott_> That text is *nowhere* on the Torsion site.
16:39:15 <elliott_> And I haven't seen ... anyone ... refer to Torsion apart from the Loper OS blog, which doesn't say that.
16:39:21 <elliott_> Does Google have people writing these all the time?!
16:39:49 -!- oerjan has set topic: EGASSEMTERCESATONSISIHT | voxelperfect.net has expired, the wiki is still reachable at http://esolangs.org/wiki/Main_Page | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
16:48:43 <fizzie> It is theoretically possible for them to have submitted a separate metadata text file thing as a sitemap thorough google's web-admin things, but I don't know how likely that is.
16:49:07 <fizzie> (It doesn't seem to have robots.txt or sitemap.xml files on-site.)
16:49:12 <elliott_> fizzie: I doubt it, since the website is circa 2004.
16:49:14 -!- MigoMipo has joined.
16:49:16 <elliott_> fizzie: Also, I see this shit for *loads* of websites.
16:49:25 <elliott_> fizzie: Like, accurate, objective summaries of things that are /nothing/ like the pages themselves.
16:49:39 <fizzie> Perhaps they use that AI for theirs.
16:49:42 <elliott_> fizzie: (Google also makes up its own page titles a lot ... and they're usually better.)
17:10:25 <elliott_> Vorpal: "TIL torches can be placed on leaves only if fast graphics are on, though won't disappear if changed back to fancy graphics."
17:10:39 <Vorpal> elliott_, TIL?
17:10:39 <elliott_> Vorpal: "Apparently this also applies to mobs? I've heard they don't spawn on trees if fancy graphics are on, but they will if fast graphics are."
17:10:42 <elliott_> Vorpal: Today I Learned
17:10:48 <Vorpal> elliott_, also I think that is no longer the case about leaves
17:10:48 <elliott_> Vorpal: TIL Notch is a terrible coder
17:11:02 <elliott_> "I think in fancy, leaves are treated exactly like glass. In fast, they're treated exactly like grass... and all the connotations that brings."
17:11:20 <elliott_> "(Disclaimer: this is mostly guesswork) It's more complicated than that: basically, glass and fancy-leaves are treated as air that you can't walk through. (incidentally, this also means that if you drop an item and place a block of glass over it, the item will not 'pop' out, but will be sealed inside the glass)"
17:11:22 <Vorpal> elliott_, no longer the case, I tried it some weeks ago and I could place on fancy leaves
17:11:23 <elliott_> Vorpal: this game ... so badly written
17:13:28 <Mathnerd314> elliott_: try googling the phrase. it seems to be text from the various sites linking to it.
17:13:45 <nooga> gaah
17:13:47 <nooga> .NET
17:14:14 <Mathnerd314> elliott_: most probably this: http://www.google.com/Top/Computers/Software/Operating_Systems/Single_Address_Space/
17:14:33 <elliott_> heh
17:14:56 <elliott_> remember when dmoz made any sense at all :)
17:20:16 <variable> new language: http://esolangs.org/wiki/TOD
17:20:23 <variable> elliott_, no - it never did :-)
17:20:46 * elliott_ fixes up the article :P
17:20:51 <variable> elliott_, working on that now :-)
17:21:12 <elliott_> OK then
17:21:13 <variable> I'll add it to the list when its ready
17:22:54 <variable> elliott_, is it turing complete?
17:23:07 <elliott_> variable: I don't know! :P
17:23:10 <variable> actually - you could fix up the article
17:23:12 <variable> :}
17:23:26 <elliott_> variable: It's hard to define TCness in this case because ... well ... it's time-dependent.
17:23:36 <elliott_> I think no because you can't write a program that predictably emulates a universal Turing machine.
17:23:58 <variable> Yes you can - as long as you *start* it at the right time
17:24:15 <variable> of course it will only work that once and never again :-}
17:24:36 <elliott_> variable: what is the difference between an operation and an instruction?
17:24:43 <elliott_> <variable> Yes you can - as long as you *start* it at the right time
17:24:44 <variable> instruction is the actual value in memory
17:24:47 <elliott_> no, there is no instruction to sleep
17:24:51 <variable> instruction is the actual value in memory; operation is what happens
17:24:53 <elliott_> well it might be possible ...
17:24:57 <variable> yeah "delay"
17:25:11 <variable> delay sleeps for one clock cycle
17:25:19 <elliott_> ah
17:25:33 <elliott_> how long is a clock cycle?
17:25:49 <variable> depends on the processor
17:25:52 <variable> its like a NOP in assembly
17:26:34 <elliott_> variable: Wouldn't "nop" be a clearer name then? :p
17:26:44 <variable> probably
17:26:55 <variable> I was originally thinking of an actual delay - but then decided to change
17:27:03 <variable> renaming it would be better now :-)
17:27:46 <elliott_> variable: the pointer points to one byte, yes?
17:27:57 <variable> yes
17:28:27 <elliott_> variable: is the tape right-infinite, left-infinite or both?
17:28:33 <elliott_> i.e., say ^ is the pointer
17:28:34 <elliott_> is it
17:28:36 <elliott_> ^0 0 0 0 0 0...
17:28:37 <elliott_> or
17:28:42 <elliott_> 0 0 0 0 0 0 0 ^0
17:28:43 <elliott_> or
17:28:47 <elliott_> erm
17:28:48 <variable> right infinite
17:28:50 <elliott_> ...0 0 0 0 0 0 0 ^0
17:28:50 <elliott_> or
17:28:55 <elliott_> ...0 0 0 0 0 0 ^0 0 0 0 0 0 0...
17:28:59 <variable> ^0 .....
17:29:48 <Vorpal> elliott_, aha, so this is where you are!
17:30:07 <elliott_> variable: Cleaned up the article.
17:30:36 <variable> elliott_, thanks
17:30:48 * variable HATES HATES HATES (both-infinite) wiki syntax
17:31:09 <elliott_> variable: one byte per instruction, right?
17:31:18 <elliott_> i.e. a file looks like "010101111000" where those are the ascii bytes for 0 and 1?
17:31:49 <variable> no - the instructions are bitwise
17:32:03 <variable> but the stack (where the input and output goes) is bytewise
17:32:20 <variable> so 0101 would be "delay" "do" delay" "do"
17:32:39 <elliott_> http://esolangs.org/wiki/TOD there we go
17:33:02 <variable> I'll add it to the table now
17:33:20 <variable> serious language.... or joke language...
17:33:23 * variable can't decide :-)
17:33:45 <variable> elliott_, could I rename it to #Aardvark-tod so it goes first ????
17:33:47 <variable> :)
17:33:58 <variable> * ###Aaardvark-tod
17:34:42 <elliott_> variable: no :P
17:34:47 <elliott_> variable: it's not a joke language
17:34:49 <elliott_> what table?
17:35:01 <variable> http://esolangs.org/wiki/Language_list
17:35:41 <elliott_> that's not a table :-P
17:35:52 <elliott_> variable: but yeah, no, joke languages are those which aren't even "real" languages
17:36:23 <variable> elliott_, I know - I was joking
17:36:29 <elliott_> right :p
17:36:39 <elliott_> some people have got legitimately confused about that list before, mind
17:36:45 <variable> hence the ":-)"
17:37:11 <Mathnerd314> variable: how do you do loops or some equivalent? I can't see how to get a non-halting program
17:37:14 <elliott_> bah, notice how many of my lines have :Ps in it
17:37:22 <elliott_> Mathnerd314: indeed.
17:37:28 <elliott_> it's definitely sub-TC.
17:37:33 <variable> Mathnerd314, infinite 0s
17:37:46 <variable> its all initialized to 0
17:37:47 <elliott_> variable: ...and?
17:37:59 <variable> elliott_, I didn't make a way to halt....
17:38:05 <variable> oh - I have an idea
17:38:09 * variable adds a halt
17:38:17 <elliott_> variable: no, you need a _non-halt_
17:38:19 <elliott_> how can you loop forever?
17:38:47 <variable> what do you mean?
17:38:53 <variable> what loop?
17:38:58 <elliott_> variable: umm, ok.
17:39:04 <elliott_> variable: I want to make a program that loops forever, doing nothing.
17:39:07 <elliott_> variable: what program does it?
17:39:31 <variable> just run it - its right infinite running with all 0s
17:39:58 <elliott_> variable: I don't get it -- the tape isn't the program, is it?
17:40:04 <variable> oh right
17:40:17 <variable> sorry
17:40:21 * variable wonders
17:40:53 <variable> elliott_, would a "go backwards N instructions be fine" ?
17:42:00 <Mathnerd314> maybe... starts to get ugly though
17:42:13 <elliott_> variable: it would allow an infinite loop, but I very much doubt it would be TC
17:42:15 <variable> how about "go back to the start"
17:42:24 <elliott_> (considering all your operations are locked behind time, and you can't "wait until 12pm")
17:42:31 <elliott_> (only "wait an unspecified amount of time", and you don't even know what time it is now)
17:42:57 <variable> so what could I change to fix this? "wait until 00:00" ?
17:44:29 <elliott_> variable: yes. and if you say nop waits exactly one second, say.
17:44:36 <elliott_> variable: you'll still need a conditional jump, though
17:44:41 <elliott_> i.e. jump if and only if this certain condition is true
17:44:44 <elliott_> say, the current cell is not 0
17:44:54 <elliott_> variable: oh, and what range do the cells have? are they signed or unsigned bytes?
17:44:58 <variable> how about time based conditional jump?
17:45:06 <variable> jump iff its 4:35
17:45:18 <variable> they are 2s compliment integers
17:45:40 <variable> or does it have to be based on the data?
17:46:15 <elliott_> variable: time might work
17:46:22 <elliott_> variable: 2s compliment -- ok so they're signed
17:46:29 <elliott_> (in brainfuck usually they are unsigned i.e. 0 to 255 inclusive)
17:48:06 <variable> elliott_, jump iff it is is currently the apocalypse ? and change "delay" to "wait 1ms"?
17:48:33 <elliott_> variable: I'd change delay to "wait an hour", to be honest.
17:48:37 <elliott_> Otherwise programs will be gigantic.
17:48:42 <variable> exactly :-)
17:48:42 <elliott_> variable: Except ...
17:48:46 <elliott_> variable: You need to know what time it is.
17:48:51 <elliott_> variable: Jump one hour doesn't help; you need to get to 12pm, say.
17:49:06 <variable> nah - it depends on when you start it
17:49:13 <elliott_> variable: Then it's not Turing complete. :)
17:49:33 <variable> what if
17:49:43 <variable> the program automatically delays until 00:00 ?
17:49:57 <variable> for the first instruction ?
17:50:00 <elliott_> variable: Yes, that would work.
17:50:03 <elliott_> variable: Or better.
17:50:09 <elliott_> variable: Have the interpreter error out if it's not 00:00.
17:50:13 <variable> ok
17:50:19 <elliott_> That is, 00:00:00 to the second.
17:50:33 <variable> yeah
17:50:56 -!- sebbu has quit (Ping timeout: 264 seconds).
17:51:19 <elliott_> variable: Then if you add two more things to the do instruction -- say "skip the next instruction if the current cell is 0", and "jump to the program location specified in the current cell"... then it still wouldn't work, because you'd only have 256 places you can jump to.
17:51:41 <variable> ah ok
17:51:59 <variable> my goal is to avoid adding the brainfuck's [] operators but still have it be TC
17:52:11 <elliott_> variable: yep. good luck with that :P
17:52:19 <variable> is it doable ?
17:53:13 <elliott_> variable: well, there are plenty of TC languages without loops.
17:53:29 <elliott_> but you definitely need some kind of conditional jump for your structure to work.
17:53:37 -!- sebbu has joined.
17:53:48 <variable> elliott_, can it only jump to the start and still be TC?
17:54:27 <variable> jump to instruction 0 iff its the apocalypse
17:54:55 <elliott_> variable: no. i don't think that will work :)
17:55:22 -!- sebbu2 has joined.
17:55:38 <variable> I need to set some kind of label ?
17:56:51 <elliott_> variable: possibly
17:57:04 <variable> how does lambda calculus do it?
17:57:07 <variable> or other languages?
17:57:36 <elliott_> variable: Lambda calculus has first-class functions and no concept of memory or instructions.
17:57:40 <elliott_> variable: So it's ... not easy to relate.
17:57:43 <variable> ah
17:57:49 <elliott_> All lambda calculus is, is:
17:57:59 <variable> how do other functions do it?
17:58:02 <variable> * languages do it
17:58:14 <elliott_> LC := 'λ' name '.' LC | '(' LC LC ')' | (name)
17:58:15 <elliott_> e.g.
17:58:21 <elliott_> (λx. x) y
17:58:22 <elliott_> ==>y
17:58:24 <elliott_> for any y
17:58:37 <elliott_> λx y z. is the same as λx.λy.λz.
17:58:50 -!- sebbu has quit (Ping timeout: 240 seconds).
17:58:53 <elliott_> (λw. w w) (λw. w w) ==> (λw. w w) (λw. w w) ==> ...
17:58:58 <elliott_> (infinite loop)
17:59:02 <elliott_> variable: usually other languages have loops :-P
17:59:05 <variable> I havn't done any lambda calculus
17:59:07 -!- sebbu2 has changed nick to sebbu.
17:59:10 <elliott_> or, really, just conditional jumps
17:59:21 <elliott_> variable: lambda calculus is really really simple. I just described it there, basically
17:59:27 <elliott_> I didn't tell you the actual evaluation rules, but it's just function application
17:59:34 <elliott_> except you don't evaluate function arguments until you really need to
18:00:03 <Quadrescence> elliott_: "<elliott_> therefore haskell REEKS OF THE FOUL STENCH", you seem to have been confused about my opinion, which indicates failure on your part to employ elementary logic, which is surprising for me since you seem to display aptitude in logic.
18:00:18 <elliott_> Quadrescence: actually it's called mocking :)
18:00:20 <variable> elliott_, I just need "if current cell is zero delay until next 00:00:00"
18:00:38 <elliott_> variable: nah, that won't work -- then the rest of the program means two different things, and I doubt you could make them both do the right thing :)
18:00:43 <Quadrescence> elliott_: Which in turn just made you look ``like an idiot'' ;)
18:01:09 <elliott_> Quadrescence: well, no, you look like the idiot w/ that post, it'd be hard to top.
18:02:19 <elliott_> great, now i'm lost in this damn pit
18:02:35 <Quadrescence> I'm not quite concerned how I look. I do think people got their panties into a bundle because I seemed to insult them. A lot of people seem to agree though, but (unfortunately?) those who do don't have the loudest mouths.
18:02:48 -!- Wamanuz has joined.
18:02:59 <variable> elliott_, how about something like iff apocalypse "move the instruction pointer backward in sync with the stack pointer until a 0 is seen on the stack"
18:03:35 <elliott_> variable: wait, since when is there a stack :)
18:03:48 <variable> elliott_, the "data pointer" or where the input/output occurs
18:03:50 * variable calls that a stack
18:03:54 <variable> even though its not\
18:04:00 <variable> cause its not LIFO
18:04:12 <elliott_> variable: hehe... I don't think you can make any of this work without a way to keep the current time predictable ... and having some kind of conditional jump :)
18:04:13 <variable> the tape -- better turn
18:04:30 -!- Wamanuz5 has quit (Ping timeout: 255 seconds).
18:04:30 <variable> elliott_, current time is predictable now: delay == 1ms
18:04:45 <elliott_> variable: well, right
18:04:51 <elliott_> but you're proposing making jumps wait time based on value
18:04:55 <elliott_> which is _not_ predictable :)
18:05:41 <elliott_> anyone got a secret stash of tnt i can borrow?
18:05:43 <variable> why not?
18:06:33 <elliott_> variable: why not what?
18:06:42 <variable> why is the current time not predictable now?
18:06:43 <elliott_> variable: because what "do" does after a conditional wait is completely unpredictable
18:06:49 <elliott_> it could do one of two things, and you can't know which at the time
18:07:04 <elliott_> so you have to write your whole program so it does the right thing based on the condition no matter which of the two times it is ... and it's just not gonna work
18:08:16 <variable> elliott_, if I forced [ and ] to occur at specific times would that be a problem?
18:08:24 <variable> ie at the hour and at the half hour?
18:08:48 <elliott_> variable: probably not, since you can always wait
18:08:53 <elliott_> variable: oh, you need to specify how long instructions take
18:08:55 <elliott_> variable: I suggest 1 second
18:09:07 <elliott_> (and if the interp takes more than one second to execute an instruction, it has to quit because the time's been messed up)
18:09:23 <Vorpal> back
18:09:39 <variable> I added a note about timezones btw
18:10:51 <variable> instructions take 1s - fine. delays are 1s as well
18:11:43 <variable> elliott_, I can't see how I could add labels without changing from a bitwise instr. set to something else
18:13:17 <elliott_> variable: you don't really need labels
18:14:47 <elliott_> variable: ok, how about this
18:14:53 <elliott_> variable: add two things to the do instruction
18:14:54 <Mathnerd314> Quadrescence: do you know how popular your blog is? did it just get a huge boost from that post?
18:14:57 <elliott_> variable:
18:15:02 <elliott_> - skip next instruction if current cell is 0
18:15:09 <elliott_> - jump forwards/backwards according to current cell value
18:15:13 <elliott_> i.e. jump 0 is an infinite loop
18:15:15 <elliott_> jump -1 goes back one
18:15:19 <elliott_> jump 1 goes forwards one
18:15:20 <elliott_> (instruction)
18:15:26 <variable> elliott_then your limited to 256 values
18:15:32 <elliott_> variable: yes, but it doesn't matter because it's relative
18:15:40 <elliott_> variable: then you could basically do
18:15:42 <variable> that's what I said before :- }
18:15:51 <elliott_> hmm wait
18:15:53 <elliott_> variable: make it
18:15:57 <elliott_> - skip next do instruction if current cell is 0
18:15:59 <elliott_> then you could do
18:16:20 <elliott_> wait until skip time; do; wait until increment time; do; wait until skip time; do; wait until increment time; do; wait until skip time; do; wait until jump time; do
18:16:31 <elliott_> that'd jump forwards 2 after the last do if the current cell isn't 0
18:17:42 <variable> ok
18:19:06 <elliott_> variable: but you'll need to subdivide time further :P
18:19:21 <variable> why?
18:19:31 <variable> elliott_, I'm keeping time at "clock cycle
18:19:40 <variable> and leaving it machine dependant
18:20:05 -!- Wamanuz2 has joined.
18:20:10 <elliott_> variable: (1) because you need two new instructions
18:20:14 <elliott_> variable: (2) then it's not even a language
18:20:21 <elliott_> because the semantics are /radically/ different depending on the implementation.
18:20:31 <elliott_> variable: if you did it "program counter modulo N"
18:20:31 <variable> hrm - fine
18:20:32 <elliott_> then it'd work
18:20:37 <elliott_> but then it would not be time of day based :)
18:20:46 <variable> I'll make it 1 second
18:20:50 <variable> and I have my two times
18:20:58 <elliott_> you do?
18:21:07 <elliott_> variable: wait wait wait.
18:21:12 <elliott_> variable: how on /earth/ do you determine sunset and sunrise.
18:21:17 <variable> elliott_, adding that now
18:21:21 <elliott_> if you don't make those real times, it can't possibly work :P
18:21:32 <variable> elliott_, I had an idea - I just didn't write it
18:21:42 <elliott_> btw you probably want to say UTC rather than GMT on there
18:21:45 <elliott_> even though they're the same
18:22:56 -!- Wamanuz has quit (Ping timeout: 240 seconds).
18:23:02 <variable> I'm using RFC 2119 terms - that's ok - right?
18:24:04 <elliott_> sure :P
18:24:39 <elliott_> I changed it to UTC, since GMT isn't actually formally defined anywhere
18:24:48 <elliott_> (it's mean solar time at Greenwich Observatory technically :P)
18:25:19 <variable> elliott_, I already made that change
18:25:24 <elliott_> oh :D
18:25:32 <elliott_> variable: wrong
18:25:36 <elliott_> just checked the history
18:26:01 <variable> elliott_, I didn't hit "edit" edit
18:26:02 <variable> * yet
18:26:08 <variable> I was making other changes too
18:26:26 <elliott_> ah :D
18:28:11 <variable> elliott_, refresh
18:28:53 -!- poiuy_qwert has joined.
18:29:00 <elliott_> variable: ok, so time is now nondeterministic because of relying on external data, and the language is sub-TC
18:29:14 <elliott_> also, the undefinedness of the two extra times make it not only sub-TC, but an undefined language too :-)
18:30:11 <variable> elliott_, what do you mean? it will occur in 2012 :)
18:30:44 <elliott_> variable: yep, but you can't wait backwards, and you can't figure out how far away you are from 2012 :-P
18:30:51 <elliott_> so you can't ever wait until the apocalypse consistently
18:31:08 <variable> elliott_, also https://secure.wikimedia.org/wikipedia/en/wiki/Interesting_number_paradox
18:31:24 <elliott_> I know :)
18:31:40 <elliott_> welp, your language definitely isn't TC, that's all I can say >:)
18:31:57 -!- sebbu has quit (Ping timeout: 250 seconds).
18:32:02 <variable> elliott_, fine :-}
18:32:14 <variable> do you think its better if I made it TC?
18:32:37 <elliott_> variable: well. I can't imagine anyone actually running a program in it, so the distinction is rather academic :-P
18:33:18 <variable> elliott_, I just need to write a 99 bottles of beer in it now :-}
18:34:39 <variable> I want it theoretically possible to write a program in it
18:34:45 <variable> so perhaps I should make it RC
18:34:46 <variable> * TC
18:35:26 <elliott_> variable: well 99 bottles of beer doesn't even require TCness
18:35:45 <elliott_> in fact C is arguably sub-TC (I think C + POSIX is TC and C + libc is probably TC, but plain C itself is sub-TC).
18:36:07 <variable> elliott_, well yeah: if there was some operation that resulted in 99 bottles of beer....
18:36:15 <variable> why is plain C non TC
18:36:19 <elliott_> variable: nope, there are plenty of languages with loops that aren't TC
18:36:27 <elliott_> e.g. "loop from 0 to N" for fixed N
18:36:31 <elliott_> variable: plain C is non-TC because of sizeof
18:36:33 <elliott_> consider,
18:36:38 <elliott_> all pointers must be castable to (void *)
18:36:43 <elliott_> sizeof(void *) must be an integer
18:36:46 <elliott_> therefore pointers must have finite size
18:36:50 <elliott_> and therefore the addressable memory is finite
18:36:51 <elliott_> QED
18:37:10 <elliott_> now, sizeof is measured in chars
18:37:11 <elliott_> so
18:37:18 <elliott_> sizeof(void *) = 1 where char is a big-num could work
18:37:21 <elliott_> except for CHAR_BIT :)
18:37:31 <variable> elliott_, so if I removed the google source and changed those two times it wouldbe TC ?
18:37:41 <elliott_> but since CHAR_BIT is in the libc you could argue it works ...
18:37:52 <elliott_> variable: I don't know, it's really hard to demonstrate TCness... but I think it would be quite likely, yes :)
18:38:03 <elliott_> really hard = write a BF interpreter in it is the easiest way
18:38:14 <variable> why ?
18:39:01 <elliott_> variable: why what?
18:39:32 <variable> elliott_, "based on a pre-generated table supplied to the interpreter?"
18:39:35 <variable> for the TZ
18:39:49 <variable> and "why is it so hard to demonstrate TCness?"
18:40:10 <elliott_> variable: because you essentially have to demonstrate an isomorphism to another TC language
18:40:18 <elliott_> showing a table with BF instruction --> equivalent TOD code on the right would be sufficient
18:40:22 <Vorpal> elliott_, that that gravel I threw you
18:41:43 <variable> elliott_, refresh
18:42:38 <variable> elliott_, would "based on a pregenerated table" be sufficient for sunrise and senset
18:42:48 <elliott_> variable: yeah, as long as you specify the table in the article
18:43:02 <variable> ah - ok
18:43:42 <variable> elliott_, I can't have it "user supplied"
18:43:43 <elliott_> variable: I'd just set it at, e.g., 7pm
18:43:52 <elliott_> variable: no, you can't, because then the TCness of the lang would depend on the table :)
18:43:54 <elliott_> and also the behaviour of programs
18:44:10 <variable> I want it to vary in the summer and winter
18:44:50 <variable> and location
18:45:32 <elliott_> variable: then the language is sub-TC
18:45:40 <elliott_> because a program that works in summer won't work in winter
18:45:58 <elliott_> variable: well, ok, if you specified the timezone and season to execute it'd be TC
18:46:01 <elliott_> but still :p
18:46:04 <elliott_> i mean
18:46:10 <elliott_> it'd really be tz*season languages
18:46:16 <elliott_> and all of them would be TC
18:46:22 <elliott_> but programs won't only work in one of them
18:46:23 <variable> fine
18:46:39 <variable> I'll set it to 7am/7pm
18:47:37 <variable> elliott_, refresh
18:48:16 <elliott_> variable: ok. I think it is TC then.
18:48:34 <elliott_> variable: but i can't be sure :)
18:48:42 <variable> heh
18:48:59 <variable> elliott_, now.. to write hello world :-}
18:49:18 <elliott_> variable: good luck with that.
18:49:33 <elliott_> variable: you'll need a lot of nop*3600 :P
18:50:03 <variable> elliott_, I should add a note that "programmers without large HDDs should probably write in a compressed format
18:51:36 <elliott_> variable: Mind you, 3600 nops is only 450 bytes.
18:53:26 -!- mycroftiv has quit (Ping timeout: 260 seconds).
18:55:33 <variable> elliott_, tyvm
18:55:47 <elliott_> np :P
18:58:22 -!- sebbu has joined.
19:02:18 -!- sebbu2 has joined.
19:02:56 -!- sebbu has quit (Ping timeout: 240 seconds).
19:12:58 -!- sebbu has joined.
19:15:15 -!- sebbu2 has quit (Ping timeout: 246 seconds).
19:23:41 <elliott_> fizzie: You store gravel right? Can we borrow some? (To give back.) We're emptying the Cube.
19:27:40 -!- pikhq has quit (Remote host closed the connection).
19:31:34 * Ilari would like to see IPv6 exhaustion counter. The "addresses left" counter would go down at an impressive rate, but the number would have 37 digits...
19:33:36 <fizzie> elliott_: No, I've been throwing all my gravel into lava.
19:33:48 <elliott_> fizzie: Bah!
19:34:08 <elliott_> fizzie: For your inconsiderateness, you must help the mind-numbing work of excavation and draining. (Hey, we already have a glass wireframe. :p)
19:34:56 <Ilari> Even 10^20 addresses allocated per second is not enough to exhaust IPv6 address space before the Sun fries Earth...
19:38:47 <Ilari> Okay, that might be low rate. Let's throw a factor of 1000 more. That's still over 10 million years...
19:41:30 <elliott_> fizzie: I DON'T SEE YOU HELPING
19:43:57 <Ilari> This month (according to latest data I have) 28 126 260 029 466 696 220 239 013 609 472 IPv6 addresses have been allocated/delegated.
19:46:54 <Ilari> Okay, that's good bit more than 10^20 (or even 10^23) per second... Like 120 * 10^23 per second... At current rate, current unicast IPv6 space would be exhausted in about 100 000 years...
19:50:13 <oerjan> that pesky Y100K problem
19:50:47 <Ilari> 1.5 trillion IPv6 network prefixes allocated/delegated this motnth...
19:51:15 <Vorpal> Ilari, heh
19:51:35 <oerjan> otoh i humanity hasn't developed a way of efficiently fixing problems long before then, it's doomed anyway
19:51:38 <oerjan> *if
19:51:50 <oerjan> there is something fishy about my f key
19:52:49 <Ilari> And that isn't even one millionth of current unicast space...
19:53:47 <elliott_> fizzie: Can we borrow sand then? :p
19:54:20 <Ilari> Oh, and seems like for universal IPv6, one would need few quadrillion subnetwork prefixes...
19:56:50 -!- Wamanuz3 has joined.
19:59:20 -!- Wamanuz2 has quit (Ping timeout: 264 seconds).
20:08:24 <elliott_> Vorpal: http://en.wikipedia.org/wiki/Stone_soup
20:08:58 <Vorpal> will check when MC isn't running
20:51:44 <elliott_> fizzie: We hereby ENSLAVE you.
21:09:34 <variable> elliott_, working on a python implementation of TOD
21:09:46 <elliott_> variable: cool
21:16:45 <elliott_> Vorpal: I went to -200 10000 by mistake >_<
21:17:08 <Vorpal> elliott_, well what happened
21:17:20 <Vorpal> elliott_, also write code to save bookmarks
21:17:22 <Vorpal> elliott_, or such
21:17:33 <variable> I love that story :-)
21:18:15 <Vorpal> elliott_, also wrt link above: "The story is most commonly known as nail soup in Scandinavian and Northern European countries." <-- oh that
21:22:36 -!- Sgeo has joined.
21:22:51 <elliott_> Open source stone soup: exactly like stone soup, except the travellers had to supply all the ingredients instead, and then someone dropped some mud in it
21:23:30 <Sgeo> elliott_, someone saying something stupid about open source?
21:23:38 <elliott_> Sgeo: Nope, that was me saying that.
21:26:21 <Gregor> 's pretty stupid though.
21:26:26 <elliott_> Gregor: That's why it was a joke.
21:26:32 <elliott_> ...well, 90% a joke.
21:26:43 <Gregor> So's your mom, but you don't see her complaining.
21:26:51 <elliott_> I don't remember the last time I saw an open source project that got started with a single stone (a README, say) :-P
21:27:07 <Sgeo> "Subtlety is my ex's name." "At least, I think she's my ex now. She wasn't very clear about it."
21:27:16 -!- Phantom_Hoover has joined.
21:27:20 <elliott_> Vorpal: http://www.minecraftwiki.net/wiki/Explosion
21:27:22 <elliott_> Phantom_Hoover! Hello!
21:27:28 <elliott_> Phantom_Hoover: CUBE CONSTRUCTION IS START
21:27:28 <Vorpal> elliott_, word seen on wikipedia: "sphericity"
21:27:30 <Vorpal> (I like it)
21:27:32 <elliott_> Vorpal: xD
21:27:34 <elliott_> sphericalosity
21:27:46 <Phantom_Hoover> Oh, consistent internet connection, how I have missed you!
21:27:51 <Vorpal> elliott_, the sentence was "Then the part is honed to improve a form characteristic such as roundness, flatness, cylindricity, or sphericity."
21:27:56 <elliott_> Phantom_Hoover: Set your visor-goggles (fog) to Far, and //goto -200 1000.
21:28:05 * Sgeo does want to play Minecraft :/
21:28:06 <Phantom_Hoover> Will do!
21:28:10 <elliott_> Phantom_Hoover: BEHOLD THE WIREFRAME. GAZE AT THE PARTIALLY-EMPTIED SEA. GAWP AT THE GIGANTIC UNDERGROUND EXCAVATION CAVERNS.
21:28:11 <Sgeo> Or at least, explore the worlds
21:28:12 <elliott_> Phantom_Hoover: BTW: You really want far.
21:28:15 <Phantom_Hoover> Also, I awesomised my SSP world.
21:28:16 <Vorpal> Sgeo, so buy it?
21:28:20 <elliott_> Phantom_Hoover: Otherwise you can't see the wireframe.
21:28:33 <elliott_> Phantom_Hoover: P.S. I've sort of used some of HHI's duplicated TNT to help excavate... please don't hurt me
21:28:58 <Phantom_Hoover> elliott_, you're demoted to junior undersecretary of juniority!
21:29:07 <elliott_> That's great, I can steal more under the radar!
21:29:17 <elliott_> Phantom_Hoover: ALSO ALSO: /kit g gets you a shitload of glass. And if you don't have enough inventory it goes into your armour slots. And YOU ACTUALLY GET A GLASS ORB ON YOUR HEAD.
21:29:22 <elliott_> It is HILARIOUS.
21:29:30 <Phantom_Hoover> AWESOME
21:29:55 <elliott_> Phantom_Hoover: BTW: Reconnect after //goto.
21:29:58 <elliott_> You become invisible if you don't.
21:30:07 <Phantom_Hoover> Why?
21:30:22 <elliott_> Phantom_Hoover: Because you do.
21:31:57 <Sgeo> http://www.nypost.com/p/news/local/heart_stopping_medics_limit_cpr_7Ahv46Qfw6NXpYklWpMhiO
21:36:14 <Ilari> Hah... Fail: Official Food pyramid: 60% carbohydrate, 25% fat, 15% protein. Cattle rancher animal feed formula for fattening animals: 61% carbohydrate, 25% fat, 14% protein.
21:36:43 <coppro> Hah
21:37:38 <Ilari> Okay, 60% carbs, 25% fat and 15% of protein diet can be reasonable if one picks carb and fat sources well (definitely not the way food pyramid recomends).
21:38:09 <coppro> yeah, pretty lulzy
21:38:16 <coppro> there's a difference though
21:38:33 <coppro> in that the ranchers are not in the business of mining fat deposits
21:38:38 <coppro> they want fatty meat
21:38:41 <coppro> but the mean must still be ther
21:38:45 <coppro> *meat
21:38:46 <coppro> *there
21:40:27 <Ilari> IIRC, there was some primitive (i.e. healthy) population with diet approximately 70% carbs, 20% fat (15% saturated!) and 10% protein...
21:43:57 <oerjan> Ilari: so basically the food pyramid is perfect for cannibals?
21:44:30 <Ilari> If one wanted to look who food pyramid is good for, it is pharma companies...
21:46:11 <coppro> everything is goddamn good for the goddamn pharma companies :(
21:46:27 <Sgeo> "This leads to a problem. When there are an infinite number of instances of every possible observation, it becomes impossible to determine the probabilities of any of these events occurring. And when that happens, the laws of physics simply don't apply. They just break down. "This is known as the "measure problem" of eternal inflation," say Bousso and buddies"
21:46:44 <Sgeo> I assume that it's the journalist screwing that up, because what I just read makes no sense
21:46:48 <Sgeo> http://www.technologyreview.com/blog/arxiv/25807/
21:48:52 -!- zeotrope has joined.
21:59:34 <Ilari> Sort it randomly and compute the limits as number of observations increases?
22:00:01 <coppro> Sgeo: No, I think they're serious
22:00:36 <Sgeo> coppro, is there some sort of math going on that makes more sense than what was in that article?
22:00:44 <Sgeo> That's what I'm caught up on
22:01:10 <Sgeo> Or are people just being dumbfarks? I don't want to just make that assumption
22:01:12 <coppro> Sgeo: did it occur to you to read the paper?
22:02:05 <Sgeo> No :/
22:02:10 * Sgeo goes to look at it
22:03:25 <Sgeo> The first two paragraphs say pretty much the same thing
22:03:33 * Sgeo sees something that may be useful in the next
22:04:58 <Sgeo> Why not just make the calculations for a given amount of space in a given amount of time?
22:05:29 <Sgeo> Oh, is that what they're saying?
22:06:18 <Sgeo> " Some
22:06:18 <Sgeo> observers will have their lives interrupted by the cuto"
22:06:23 <Sgeo> How is that interesting?
22:07:53 <Sgeo> This cutoff they are talking about. I thought it was a mathematical tool so they don't have to look at everything. Why are they talking about it as though it has a physical reality
22:07:55 <Sgeo> I don't get it
22:09:04 <coppro> me neither
22:09:18 <coppro> but the argument "math doesn't work so it won't happen" is one worth considering
22:13:04 <Vorpal> elliott_, if you carry any sand: use it now
22:13:21 * Sgeo ponders switching back to Opera
22:13:52 <coppro> play more netcraft imo
22:13:56 <coppro> it has vertex shaders
22:17:06 -!- j-invariant has joined.
22:22:01 <Phantom_Hoover> CRAZY PHYSICS IDEA #2: Hawking generator.
22:22:31 <Phantom_Hoover> Make black hole. Stabilise mass loss due to Hawking radiation by pouring junk into it. ??? Profit!
22:23:20 <Phantom_Hoover> Any fatal flaws I've missed?
22:24:05 <Sgeo> How much energy does it take to put junk into it?
22:24:25 <Phantom_Hoover> Sgeo, "negative".
22:25:15 <Phantom_Hoover> You could get even more energy from the gravitational potential were it not for the fact that once you have a method for total mass-to-energy conversion, which I think this is, your energy needs are basically solved.
22:25:16 <elliott_> coppro: does netcraft actually have a release at all
22:25:26 <coppro> elliott_: no
22:25:38 <coppro> I'm just trolling
22:25:40 <elliott_> coppro: a public source repository? :p
22:25:44 <Phantom_Hoover> Link?
22:25:47 <coppro> it's semipublic
22:26:18 <Sgeo> Umm... isn't Hawking radiation basically matter?
22:26:23 <coppro> no
22:26:52 <Sgeo> Wait, what types of particles are "formed"?
22:26:58 <coppro> mostly photons
22:27:05 <coppro> which usually aren't considered matter
22:27:12 <Phantom_Hoover> coppro, I thought it was matter and antimatter in equal proportion?
22:27:21 <Phantom_Hoover> So photons if you wait a while.
22:27:29 <coppro> photons are their own antiparticles
22:27:45 <elliott_> ergo, photons meeting photons = explosion
22:27:49 <elliott_> ergo, shining two lasers at the earth = BOOM
22:27:51 <j-invariant> Everywhere in the quantum foam of spacetime, particle-antiparticle pairs spontaneously appear then anhillate eache other.
22:28:16 <elliott_> j-invariant: no silly it's all made out of tiny vibrating strings!
22:28:19 <j-invariant> When this happens right at the edge of a black hole, it's possible that one of the partcles gets sucked in, so that the other has nothing to anhillate against
22:28:28 <Phantom_Hoover> j-invariant, yes, that's my understanding.
22:28:43 <coppro> Phantom_Hoover: yes, your idea is crazy but Just Might Work
22:28:52 <coppro> there are two problems thought
22:29:00 <Phantom_Hoover> I know, I know, mass.
22:29:01 <coppro> #1 is capturing the radiation
22:29:07 <coppro> #2 is feeding the mass at the right rate
22:29:43 <j-invariant> elliott_: I thought this was a consequence of string theory
22:29:44 * Sgeo suddenly wants portable black holes for use in spaceships
22:29:52 <Phantom_Hoover> Sgeo, naaaa.
22:30:01 <j-invariant> elliott_: I don't know how this quantum foam arises though
22:30:02 <elliott_> j-invariant: i was joking :)
22:30:06 <Phantom_Hoover> You can't even move black holes without massive gravitational forces.
22:30:17 <Phantom_Hoover> But configurations of holes in orbit, now...
22:31:11 <Sgeo> How much Hawking radiation do black holes emit? Enough to be usable?
22:31:29 <coppro> why did I never see git's description before?
22:31:39 <j-invariant> Sgeo: I think it has been experimentally detected in a lab recently
22:31:47 <Phantom_Hoover> Sgeo, the formula is on the WP article.
22:32:11 <Phantom_Hoover> Sgeo, for a black hole with mass M:
22:32:26 <j-invariant> yikes, some guy in the ashes tried to catch the ball but it just slapped his thumb
22:32:36 <Sgeo> "catch"?
22:32:55 <Sgeo> For some reason, I thought in cricket, the ball was usually on the ground
22:32:58 <Phantom_Hoover> P = \frac{\hbar c^6}{15360\pi G^2 M^2}
22:33:17 <Sgeo> hbar?
22:33:28 <Phantom_Hoover> h/2\pi IIRC
22:33:30 <j-invariant> Sgeo: well someone throws it, then the batsman hits it, after going through the air it rolls for a while
22:33:52 <Phantom_Hoover> j-invariant, aaaaaaaorganisedsportgetitaway
22:33:53 <Sgeo> What if someone gets killed by the ball? It happens in baseball :(
22:34:14 <j-invariant> Sgeo: wow. I didn't know thatt
22:34:22 <elliott_> <coppro> why did I never see git's description before?
22:34:23 <elliott_> what?
22:34:27 <j-invariant> yesterday the batsman got hit in the knee but he did keep playng
22:34:31 <Phantom_Hoover> Anyway, let's calculate the mass necessary for you to get a 1 on the Kardashev scale!
22:34:39 <Sgeo> http://www.northjersey.com/sports/hs_sports/120510_Garfield_deals_with_grief_as_probe_continues_in_teen_baseball_players_death.html
22:34:43 <elliott_> j-invariant: are the ashes worth watching
22:34:46 <elliott_> Sgeo: poor cat
22:34:50 <elliott_> all he wants is some lasanga
22:34:58 <elliott_> *lasagna
22:34:59 <elliott_> wt
22:35:00 <elliott_> f
22:35:04 <elliott_> that's a word, spellchecker.
22:35:31 <Phantom_Hoover> What's the Mathematica thing to rearrange an equation so a given variable is dependent?
22:35:36 <j-invariant> elliott_: well that's what I am trying to find out
22:35:49 <elliott_> j-invariant: you haven't figured it out yet? :D
22:35:52 <elliott_> Phantom_Hoover: what?
22:36:05 <Vorpal> elliott_, !
22:36:12 <Phantom_Hoover> Sod it, the equation is trivial to rearrange.
22:36:15 <elliott_> Vorpal: what
22:36:39 <Vorpal> elliott_, you pick that up, not me
22:38:28 <Phantom_Hoover> It annoys me that h is an angular momentum, yet they have no immediately obvious relation.
22:39:35 <elliott_> Phantom_Hoover: random names in mathematics? shocking
22:39:54 <Phantom_Hoover> elliott_, no, it's the dimensions.
22:40:20 <elliott_> ah
22:40:32 <Phantom_Hoover> h : m^2*kg*s^-2
22:40:48 <Phantom_Hoover> Angular momentum is the same.
22:41:10 <coppro> Phantom_Hoover: torques are energy!
22:41:27 <Phantom_Hoover> coppro, it's so crazy!
22:41:42 <coppro> lesson: just because the units work out doesn't mean you're right
22:43:40 <Phantom_Hoover> coppro, but it's so inelegant!
22:46:50 <j-invariant> elliott_: I definitely don't "get" it.. yet(?)
22:46:50 <Phantom_Hoover> ANYWAY, who wants to know the mass of the Hawking generator needed to produce a watt of power!
22:47:18 <elliott_> j-invariant: I think you need to, like, blend fifty rule books into a smoothie and drink it every day for five weeks
22:48:01 <Phantom_Hoover> It turns out to be 5*10^-17kg!
22:48:08 <Phantom_Hoover> Hmm.
22:48:13 <Phantom_Hoover> This may be a problem...
22:48:24 <j-invariant> lol
22:49:03 <Phantom_Hoover> I mean, the slightest disturbance in the mass you're feeding in and you end up with no black hole and a gamma ray explosion.
22:49:32 <coppro> lol
22:49:38 <Phantom_Hoover> HMM.
22:50:02 <Phantom_Hoover> Well, the good news is that Sgeo's dream of having one on his spaceship is fulfillable!
22:50:02 <j-invariant> I don't get how this blog post has led to so much discussion
22:50:18 <j-invariant> I guess haskell folks juts hate the idea of being a cargo cult so much
22:50:34 <coppro> rofl
22:51:12 <Ilari> How it scales with power? What would be the mass for 1kW?
22:51:25 <Phantom_Hoover> Ilari, the larger the power the smaller the hole.
22:52:28 <Phantom_Hoover> Wait, I've messed this up.
22:53:06 <coppro> no actually that's right
22:53:15 <coppro> Hawking radiation is quicker in smaller black holes
22:53:44 <j-invariant> I don't understand that
22:53:47 <j-invariant> how does that work?
22:53:57 <Phantom_Hoover> coppro, yeah, and my formula doesn't get that.
22:54:25 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:54:27 <Phantom_Hoover> j-invariant, gradient of space around hole something something something physics.
22:54:35 <j-invariant> oh curvature I see
22:55:09 <Phantom_Hoover> Oho, that's why the formula is wrong!
22:55:49 <Phantom_Hoover> OK, NOW it works.
22:56:14 <coppro> it's like how surface gravity of a black hole is really weak
22:56:24 <Phantom_Hoover> OK, so now I have 2e16 for the mass of a 1-Watt Hawking generator.
22:56:40 <Phantom_Hoover> MUCH more practical.
22:56:44 <elliott_> Very.
22:56:46 <oerjan> kg?
22:56:50 <Phantom_Hoover> oerjan, yes.
22:57:05 <elliott_> Phantom_Hoover: how much for 1 megawatt >:)
22:57:07 <elliott_> or does it scale linearly
22:57:22 <Phantom_Hoover> elliott_, it scales 1/square rootly.
22:57:41 <oerjan> so 2e13?
22:57:43 <Phantom_Hoover> So a huge amount of power is actually far less mass.
22:57:53 <Phantom_Hoover> oerjan, yep!
22:58:09 <coppro> but of course you would need to put more mass in to keep it going
22:58:19 <Phantom_Hoover> Of course, this is where the real practical problems come in.
22:58:44 <Phantom_Hoover> You need to compensate the mass loss, which doesn't take much mass, but is tricky for very small holes.
22:59:19 <elliott_> Phantom_Hoover: so how much energy for 1 kg
22:59:20 <Phantom_Hoover> Type 1 on the Kardashev scale is 1e16, so...
22:59:31 <Ilari> 1kg of mass suppiles about 90PJ...
22:59:36 <Phantom_Hoover> elliott_, it's quite simple, it's just e=mc^2.
22:59:37 -!- calamari has joined.
22:59:40 <elliott_> Phantom_Hoover: oh ofc
22:59:42 <Phantom_Hoover> And P=E/t
22:59:48 <elliott_> Phantom_Hoover: but you see, you're forgetting
22:59:50 <elliott_> Phantom_Hoover: I'M LAZY
23:00:16 <Phantom_Hoover> 10^8 would get you to Type 1 on the Kardashev scale.
23:00:37 <Phantom_Hoover> But this is where the real problems come in.
23:00:41 <coppro> except you wouldn't actually be able to get that to work
23:00:44 <elliott_> "It is important to note that as Sagan's Kardashev rating is base-10 logarithmic, a value of 0.72 means we are using approximately 0.16% of the total available planetary energy budget."
23:00:56 <Phantom_Hoover> 1e16 would be ridiculously hard to control.
23:01:24 <Ilari> And one would need to inject about 110 grams of matter per second to keep it stable...
23:01:39 <Phantom_Hoover> And getting mass into the hole at all would be nigh-impossible.
23:02:02 <Phantom_Hoover> Ilari, not too hard if you ignore the energy output
23:02:18 <Phantom_Hoover> Hell, you could get that with a shovel.
23:02:25 <nooga> OpenTyrian FTW
23:02:52 <elliott_> Phantom_Hoover: I am now imagining a guy shovelling coal into a hole.
23:03:00 <elliott_> On a sleek, shiny, lens-fare spaceship.
23:03:01 <Phantom_Hoover> :)
23:03:12 <coppro> coal's far too valuable
23:03:14 <Phantom_Hoover> That was my intention.
23:03:22 <coppro> how about Christians instead?
23:03:30 <Phantom_Hoover> Although what kind of spaceship is Type 1?
23:03:41 <elliott_> coppro: lmao
23:03:52 <elliott_> coppro: i'll have to remember that for asiekierka
23:04:22 <Phantom_Hoover> But yes, you can use absolutely anything.
23:04:48 <coppro> the good news is that with that level of energe, you could afford the particle accelerator required to make it work
23:05:02 <Phantom_Hoover> coppro, hmm.
23:05:06 <elliott_> Phantom_Hoover: Could you even use EXCESS ENERGY
23:05:20 <elliott_> Thus giving a perpetual motion machine if you don't use it all! SCIENCE
23:05:44 <coppro> elliott_: no, you would need matter as fuel
23:05:52 <elliott_> coppro: SHUT UP
23:05:53 <elliott_> SCIENCE
23:06:12 <Phantom_Hoover> OK, so you have 1e16W of radiation coming out, so how do you get stuff to it without it being vapourised?
23:07:56 <Phantom_Hoover> Hmm, our current energy consumption is 16TW.
23:08:39 <Phantom_Hoover> Which requires a 1e11 hole.
23:08:40 <coppro> Phantom_Hoover: neutron stream?
23:09:00 <elliott_> Phantom_Hoover: Speaking of mathematics, me and Vorpal just simultaneously thought that 10x10x10 = 1000.
23:09:02 <elliott_> erm
23:09:03 <elliott_> Phantom_Hoover: Speaking of mathematics, me and Vorpal just simultaneously thought that 10x10x10 = 100.
23:09:10 <Phantom_Hoover> coppro, well, I was kind of hoping you could just stick some rock in a mass driver.
23:09:27 <elliott_> <Phantom_Hoover> OK, so you have 1e16W of radiation coming out, so how do you get stuff to it without it being vapourised?
23:09:32 <Phantom_Hoover> And hope that enough of it got in to keep the generator stable.
23:09:32 <elliott_> Phantom_Hoover: just make a tube out of indestructium
23:09:33 <coppro> Phantom_Hoover: well, neutrons shouldn't interact with the outgoing radiation at al
23:09:34 <elliott_> straight into the hole
23:09:36 <elliott_> and route it outside
23:09:41 <Phantom_Hoover> coppro, momentum?
23:10:00 <coppro> Phantom_Hoover: hmm?
23:10:01 <Phantom_Hoover> Probably not very significant if the neutrons are moving at all quickly.
23:10:12 <coppro> momenum of what?
23:10:21 <Phantom_Hoover> The photons? Doesn't matter
23:10:29 <coppro> oh, net momentum 0
23:10:51 <coppro> or do you mean them colliding with the neutrons?
23:10:56 <Phantom_Hoover> Yes.
23:11:08 <Phantom_Hoover> What's M_E again?
23:11:33 <Phantom_Hoover> 6e24kg.
23:12:16 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:12:42 <Phantom_Hoover> OK, so you could fix our entire energy problem with less than a hundred trillionth of the Earth's mass.
23:13:23 <coppro> Phantom_Hoover: but won't the photons not collide?
23:13:51 <Phantom_Hoover> coppro, I don't know, I assumed you were Mr Knows Physics.
23:13:56 <coppro> Phantom_Hoover: oh, no
23:14:09 <Phantom_Hoover> Who is Mr Knows Physics here, then?
23:14:14 <coppro> actually wait, that won't work
23:14:17 <coppro> neutrans have quarks
23:14:35 <coppro> that is, I think they wouldn't work because of that
23:14:50 <nooga> i was wondering, how much time and how many jet engines working at full power would take to change earth's orbit
23:15:25 <olsner> how many depends on how far and how much time, how far depends on how many and how much time, etc
23:15:50 <Phantom_Hoover> nooga, ask Sam Hughes, he's an expert on this kind of thing.
23:16:30 <Phantom_Hoover> There really ought to be a name for kg/s.
23:17:52 <elliott_> Phantom_Hoover: Kuggs.
23:19:45 <nooga> i tried to calculate that
23:20:08 <nooga> but it was too riddiculous
23:21:20 <nooga> oh no
23:21:21 <nooga> wait
23:21:36 <nooga> it was about changing the rotation direction
23:26:49 <Phantom_Hoover> nooga, trivial.
23:27:09 <Phantom_Hoover> I mean, I can't be bothered to work it out, but I know that I could.
23:29:11 <Phantom_Hoover> Work out the change in angular momentum.
23:29:55 <nooga> i know
23:29:58 <nooga> and i did that
23:30:38 <nooga> but it turned out that one should basically fill the entire Earth's surface with jet engines
23:30:41 <nooga> :D
23:31:32 <nooga> http://vimgolf.com/
23:31:35 <nooga> whoa
23:34:00 <coppro> haha
23:34:26 <olsner> nice!
23:36:31 <j-invariant> http://www.xamuel.com/images/madfrege.JPG
23:37:43 <coppro> hmm
23:37:46 <coppro> http://vimgolf.com/challenges/4d1a71c0b8cb34093200010b
23:37:56 <coppro> pretty sure I can totally beat 189
23:38:20 <coppro> (although does this run vimrcs? if so you could easily cheat)
23:43:05 * Sgeo wonders if there are MMORPGs whose servers are written in Erlang
23:44:47 * Phantom_Hoover wonders how many baked beans he can stick up his nose
23:46:46 <coppro> hrm
23:46:52 <coppro> vim is being weird
23:46:52 <oerjan> mm, baked beans
23:48:09 <coppro> why can't I update marks within an @ command
23:49:05 <coppro> no wait
23:49:09 <coppro> I can't do 'a in a @
23:51:41 <nooga> Sgeo: i knew two guys who wrote basic MMOG in Erlang
23:52:02 <nooga> and they had a presentation on a gamedev conference in Siedlce
23:52:34 <Sgeo> When I last looked at Erlang, what did I dislike about it?
23:53:18 <j-invariant> http://i.imgur.com/L3ILW.png troll
23:53:30 <nooga> "Marcin Gazda, Michał Ślaski - Rozproszony serwer œwiata wirtualnego jako narzędzie do analizy potrzeb serwerów MMOG."
23:54:15 <nooga> distributed server of virtual world as a tool for analysing demands of MMOG servers
23:54:29 <nooga> it was in 2005
23:54:53 <nooga> and these two guys were Erlang freaks
23:56:34 <Sgeo> What do most MMOs do?
23:58:13 <oerjan> j-invariant: i think the cheating part is that a and b will also be polynomials, not numbers
23:59:52 <nooga> brb, sleep
2010-12-29
00:01:27 * Sgeo checks out digg
00:01:37 * Sgeo wtfs at how few comments there are on everything
00:05:41 <Phantom_Hoover> What killed it? I've never had a straight answer to tha.
00:05:44 <Phantom_Hoover> *that
00:06:00 <elliott_> Phantom_Hoover: Yes you have, you just wanted infinite details.
00:06:51 <Phantom_Hoover> Well, it was along the lines of "they changed the UI and had a few outages and everyone left".
00:09:48 <j-invariant> Suppose you had a box which prints out an infinite stream of bits
00:10:16 <j-invariant> the bits are not a computable function, they can be any sequence you can define.. is it possible to make an infinite energy generator with it?
00:10:46 <Phantom_Hoover> j-invariant, XD
00:10:48 <j-invariant> (you have to put electricity in to get the bits out)
00:10:51 <elliott_> Phantom_Hoover: coming back?
00:10:52 <Phantom_Hoover> Oh.
00:10:59 <j-invariant> so you have to covre the costs of the LED or whatever
00:11:13 <elliott_> j-invariant: I doubt it
00:11:19 <Phantom_Hoover> elliott_, it's not that I'm bored or anything, just that it sucks down time.
00:11:23 <elliott_> j-invariant: how do you refine raw entropy :-P
00:11:26 <j-invariant> but this thing has infinite amount of information in it
00:11:54 <elliott_> j-invariant: yep, but that's not very useful
00:12:04 <elliott_> j-invariant: well anyway
00:12:10 <elliott_> j-invariant: do they /have/ to be uncomputable?
00:12:20 <j-invariant> I mean you can specify the bits to be anything
00:12:26 <elliott_> j-invariant: well
00:12:31 <j-invariant> well not "instructions for building an infinite energy machine" but...
00:12:34 <elliott_> j-invariant: you could use the LED's light
00:12:36 <elliott_> when the bit is 1
00:12:41 <elliott_> to power some light-based electricity generator
00:12:43 <elliott_> or even its heat
00:12:47 <elliott_> its very, very minimal heat
00:12:52 <elliott_> j-invariant: except no
00:12:53 <Phantom_Hoover> j-invariant, except such a thing exists.
00:12:54 <j-invariant> no you have to cover the costs of the LED
00:12:56 <elliott_> since you have to cover the LED generator
00:12:59 <elliott_> j-invariant: ok then no
00:13:08 * Sgeo vaguely wonders why he installed Braid from Steam
00:13:14 <Phantom_Hoover> Quantum much?
00:13:16 <elliott_> j-invariant: I define the sequence to be 0, 0, 0, 0, 0, ...
00:13:24 <elliott_> j-invariant: zomg! the AIR is that machine!
00:13:30 <elliott_> obvs the air gives us infinite energy :}
00:13:50 <Phantom_Hoover> elliott_, read The Minecraft Experiment lately?
00:13:54 <Phantom_Hoover> He reached the Nether.
00:13:55 <elliott_> Phantom_Hoover: a few days ago
00:13:59 <j-invariant> air??
00:15:01 <elliott_> j-invariant: yep, just don't plug the led into anything
00:15:03 <elliott_> infinite 0 bits
00:15:30 <j-invariant> that doesn't disprove that this might be possible
00:15:55 <Vorpal> elliott_, see mc
00:15:58 <Phantom_Hoover> j-invariant, so how are you getting energy here?
00:16:46 <j-invariant> suppose the machine was a halting oracel for the nth brainfuck program
00:17:11 <j-invariant> I might be able to prove some difficult mathematical theorems just by waiting a long enough time
00:18:00 <j-invariant> or if this was the 1800s I could have one that prints out instructions for a flying machine
00:18:17 <j-invariant> that's a bad example actually
00:18:37 <j-invariant> since we only know post facto that the sequence exists
00:18:41 <elliott_> don't be silly, machines can't fly
00:20:40 <elliott_> IT'S TRUE
00:20:47 <elliott_> j-invariant: but um, i don't think you can use it to generate infinite energy
00:20:54 <elliott_> j-invariant: well
00:20:57 <elliott_> j-invariant: how does it generate the bits?
00:21:00 <elliott_> j-invariant: does it come with the LED built in?
00:21:00 <j-invariant> I just feel like if an alien asked me what what infinite sequecne of bits I would like.. I wouldn't be prepared
00:21:07 <elliott_> j-invariant: as in
00:21:20 <elliott_> j-invariant: is it an impenetrable black box that lights up occasionally iff you give >= N watts of energy?
00:21:21 <j-invariant> you can't open the device up
00:21:24 <elliott_> into a little hole in the back
00:21:26 <j-invariant> yes exactly
00:21:27 <elliott_> j-invariant: i.e. the LED is built in, yes?
00:21:27 <elliott_> ok
00:21:48 <elliott_> j-invariant: I'd say ... definitely no, because we can't access the information in any physical form
00:21:56 <elliott_> j-invariant: only the LED, which we're covering
00:22:11 <elliott_> j-invariant: i.e. the actual /physical/ results of generating the information are not accessible
00:22:11 -!- oerjan has quit (Quit: Good night).
00:22:15 <elliott_> which is what is relevant here
00:22:24 <j-invariant> hm? what's the diffence, same 1s and 0s
00:22:36 <Phantom_Hoover> Wait, what's the actual principle for the infinite energy?
00:22:48 <elliott_> j-invariant: well because the point is that heat etc.
00:22:52 <elliott_> i dunno :D
00:23:38 <Phantom_Hoover> Grumblegrumblemyideawasbetter
00:24:44 <elliott_> Phantom_Hoover: ?
00:24:52 <Phantom_Hoover> For energy!
00:24:56 <elliott_> j-invariant: can I cheat?
00:25:08 <Phantom_Hoover> You have a man. Shovelling coal. Into a black hole.
00:25:11 <Phantom_Hoover> WHAT MORE DO YOU WANT
00:25:21 <j-invariant> you can cheat if it's clever
00:25:27 <elliott_> j-invariant: I request the sequence of bits that represent ASCII instructions in easily-comprehended-by-a-modern-physicist English that describes all steps necessary to build an infinite energy generator given our current materials and understanding
00:25:39 <elliott_> j-invariant: presumably, the black box itself uses some kind of infinite energy source to do it
00:25:48 <elliott_> so if it was constructed specially by aliens, they can tell us how to make us one that gives electricity!
00:25:55 <elliott_> or heat or whatever
00:25:58 <j-invariant> elliott_: that only works if such a machine exists -- current evidence suggests it doesn't
00:26:19 <elliott_> j-invariant: current evidence suggests this infinitely-outputting box doesn't exist either!
00:26:39 <elliott_> j-invariant: & if they can't give such a sequence, they're frauds, as their magic box must use an infinite energy generator
00:26:47 <elliott_> (or physics is really, *really* weird)
00:27:57 <elliott_> j-invariant: this is totally cheating though :)
00:30:25 <j-invariant> hehe
00:30:31 <j-invariant> I think it's the best approach so far
00:35:43 <Sgeo> iirc, the last time I got angry with Opera was because it failed to save my settings properly
00:35:58 <Sgeo> But i remember that as a last straw. What else was wrong with it?
00:36:08 <Sgeo> Maybe I should have a private blog so I rememer things like this
00:36:22 <elliott_> Vorpal: no minecart tunnel yet.
00:36:25 <elliott_> until it's all done
00:36:29 <elliott_> Sgeo: Or just use a text file.
00:37:12 <elliott_> 10.10.31:16:42:28 <Sgeo> It occurs to me that I have a record of my Opera usage
00:37:12 <elliott_> 10.10.31:16:42:42 <Sgeo> So if I'm ever tempted to try Opera again, say in a few years...
00:37:59 <Sgeo> ty
00:38:14 <Vorpal> elliott_, idea to confuse people: add "no pun intended" where there is no pun. It is correct but confusing
00:38:24 <elliott_> WTF.
00:38:26 <elliott_> Spawn reverted too.
00:38:33 <Vorpal> elliott_, what
00:38:38 <Vorpal> elliott_, that's weird
00:38:45 <elliott_> yeah to pre-second-explosion
00:38:50 <Vorpal> ineiros, are you behind this?
00:38:55 <elliott_> ineiros said he'd help now where is he >:|
00:39:06 <Vorpal> and also, I hope my home doesn't revert again
00:39:18 <Vorpal> because I dumped more pumpkins and fixed the lava there
00:39:35 <elliott_> 10.10.29:19:06:37 <Sgeo> What an awesome security feature, Opera
00:39:35 <elliott_> 10.10.29:19:06:42 * Sgeo gives Opera the middle finger
00:39:37 <elliott_> 10.10.25:22:05:18 <Sgeo> Opera complains about an illegal port number
00:39:40 <elliott_> 10.10.25:22:03:32 * Sgeo angers at Opera
00:39:48 <elliott_> 10.10.25:12:51:34 <Gregor> elliott: http://codu.org/tmp/websplat-does-not-work-on-opera.png
00:39:53 <elliott_> 10.10.24:14:24:52 <Sgeo> Opera seems to be having some problems again
00:39:55 <elliott_> 10.10.23:18:55:30 <Sgeo> Dear Opera, quit feasdf
00:39:58 <elliott_> 10.10.22:18:00:05 <Sgeo> Why does Opera force me to click the flash before interacting?
00:40:02 <elliott_> 10.10.22:11:33:12 <Sgeo> Dear websites/Opera: Stop making it so that Opera keeps thinking that something changed in your tab
00:40:02 <elliott_> 10.10.22:15:44:34 <Sgeo> Opera fails to mark files as originating from the Internet
00:40:11 <Vorpal> <elliott_> 10.10.22:18:00:05 <Sgeo> Why does Opera force me to click the flash before interacting? <-- good idea
00:40:18 <Vorpal> <elliott_> 10.10.22:15:44:34 <Sgeo> Opera fails to mark files as originating from the Internet <--- ???
00:40:26 <elliott_> Vorpal: good idea that IE invented :)
00:40:43 <Vorpal> <elliott_> 10.10.25:12:51:34 <Gregor> elliott: http://codu.org/tmp/websplat-does-not-work-on-opera.png <-- this... is this hard mode?
00:40:45 <Vorpal> or
00:40:48 <Vorpal> impossible mode?
00:41:10 <Vorpal> also, 544 images?
00:41:15 <Sgeo> Maybe Opera 11 fixed all that </overly-optimistic>
00:41:42 <Vorpal> Sgeo, why not use another browser, such as firefox. Firefox may be bad, but it works
00:42:21 <elliott_> Vorpal: because Sgeo hates chrome now for no clear reason
00:42:30 <elliott_> and WON'T SHUT UP ABOUT IT BECAUSE HE NEVER SHUTS UP ABOUT ANYTHING NO MATTER HOW LITTLE ANYONE CARES
00:42:50 <Gregor> Vorpal: It was creating its enemy images, then counting them, then creating more and recounting them, then creating more etc etc.
00:43:24 <elliott_> Gregor: Played websplat lately? :P
00:43:34 <Vorpal> Gregor, awesome
00:43:43 <Vorpal> elliott_, issues with it?
00:43:44 <Gregor> elliott_: I was just thinking about it; implementing zalgo went all fail :P
00:43:50 <elliott_> Gregor: wat
00:43:51 <Vorpal> Gregor, zalgo?
00:44:04 <elliott_> I know what zalgo is
00:44:06 <elliott_> but the sentence does not parse
00:44:26 <Gregor> Vorpal: Zalgo is to invoke the hive-mind representing chaos.
00:44:52 <Vorpal> elliott_, if zalgo is a generic noun then it makes sense
00:45:16 <Vorpal> Gregor, so how did you try to implement that?
00:45:31 <elliott_> Ṫ͈̭̖ͅo̤̊̿͋̂́ͅ ̨̳̭͚̹̘̬̮̙ͥ̅̈́̿̍͌̌i̛̐̽̿ͪ҉̢̭͔̼̘̮ͅṅ̢͖̭̤͕̮̹̪ͧ̐̿ͦ͞v̷̬̙̻̳̤͔͙̓ͨͣ́̎o̦͔͐̇̂͋͊͂ͨͫ̚k̫̈͞ͅeͯͮ̌̂̓͑ͬ҉̳͍̖̠̰̖̭͎ ̮̝̪̲̦͈͎̗̿͐̄̌ͨͤ̉ͬͩ́t͈͐ͭ̑h̙͎̙̲͉̬͎͖̟́͗̓̓e̖̘͖̳̫̟̔ͬ̿ͬ͠ ̸̻̳͖̋͗̄̿̂̚ḩ̜̀̾̓͜i̼̘͗́̽ͭͩv̜̆̂̾̋́͋ͥ̾é̷̺͎ͬ̀̑ͭ̿̈̂͢͝-͚͍̙͉ͫ̆͛̆ͮ͗͘͝͡m̯̠̩̠͍̭͓̝ͭͫ̔̆iͧ̏
00:45:31 <elliott_> ̸̴̞͔̝͍̭̂̑ͦ̑ͫ͜n̷͖̥̺ͮ̋̎̈́d̷͓̟̩̄ͨ ̽̔̕͜͏̰̤̼̠̤͖̠r̴̹̔̂͐͌ͦͣȅ̷̛̳̞̩̘ͫͤ͐̋ͨ͛p͎͚̃̒̄͌̈̕r̶̻̮͉͓̩̳̲̖ͤ̀ͨͧͪ̒̈́̈͡e͌̓̅ͥ͏̼̘̩͈͟s̸͎̮̭̘̥̫̒͂̉͗̎̕e̵̵̛̘̺͑ͬn̯̠̖͋͂̎̽͘ẗ̰͖͔̠͚̲̫́ͫ͐ͩ̔̈̂ͤͩ͟ͅi̗͇̦͈̙̮͆ͥń̨̛̰̘̘̮͓̙̫ͭ̍ͫ͛̀g̸̪̗̩͕̙̜̩͊ͮ͌̇͠ ͧ͂ͫ̆̔ͧ̽͏̮̭̫̣͚͇c̴̛̝̪͙̼̦̪͛͋ͬh̵̦͍̼̞͚͖͚ͧ̑̀ȃ̓͌̔
00:45:31 <elliott_> ̵͍̥̣̩͉͉̤̫̔̓̀͠o̙̼̅́ͫͩͩ̇́s̪̟͚̲̋͋̿̄͆̉̏ͬ̓́ͅ.̲͙͈̖̏̂ͦ́
00:45:33 <elliott_> ̴͎̝̩̮̤̲͈ͣ͛ͅĮ͉̖̱̭ͫ̎̈̒̒̿ͪ́n̞̰͔̱͖̯̜ͩ̇ͯͯ̈̚͘͠v̜̭̏ͩ̍̔͛ͣ͂͂͢͢ǒ̷ͭ̄̀̊ͧ̒̽҉̠̻̤̹k̡̰͓̰̱͂ͭ͋̔́ͅi̯̤̒͊͌ͥͦͬ͐n̤̤͐̿̏̌̇̆̈́͆́g̨̙̱̗̤̙̾̏̍̈ͧ͡ ̵̵̟̲̙̭͙ͩ̄̽̇t̺̫̔ͭ͟͞h̡̭̗̻̠̫̥̩͍ͮͧ̓̈̎̊̊ͮ̀͜e̴̝͙͉̘̙̍́̂̐ͥ̃ ̨͉͇̭̯̝̖̰̰͂̑ͫ͊͗͘ͅf͓̓͗̓ͧ̐ẹ̠͔̔ͬ͒ͧ͋ͤ̉͋e̹̫̥͊ͦͫ̍̌͝l̢͙̺̙̺̩ͥͭ̇̐ͫͧͧ͂͢ȋ̈͋̉͛
00:45:38 <elliott_> ̧̟͉̩̘̼̙́̄ͧ̚͢ǹ̢͓̞̮̗͖̝̮͍ͭ͜g̙̻͖̠̎̚͜͟ ̢͎̪̲̬ͯ̊ͬͪ͒ͨ̑͜͡ͅo̗̙͋̊̂͌̄̋͌͝f̠͎͕̯͗̒ͯͯͪ͊̊ ̨̼̩̪̯̜̲̖͖͑ͤc̸̻̪̖̱ͭ͐ͨͫ̋h̴͈̹̦̼͙͇̼͖̣̄͗͡͡a̤̱̬͉̼͇̲̜ͮ́̏͋͊ơ͙̝̮̜̈́̐ͪ̿͗̔ͮs̖͎̟͊ͧ̇̈ͅ.̘ͬͧ̐ͣ́͠
00:45:42 <elliott_> ̨̞̬̳̖̘͎ͮ̈̍ͫͬ̏̚Ẃ̛̻̗̒̓̉̉ͣȉ̺̬͎͖̭͔̝͆ͤͤ͑͝t̨͈̯̬̠̍̍̊̐h̛̯̬̬͗̃͗ͭ͐ ̨͇̹̬͓̗ͪ͑͛͗ͩ͑̒̚͠ǫ̶̶̫̱̼̮̦̪̟̔͐̇u̱͓̹̞̦̾t̸̮̘̭͌͗̐͛͛ͨ͂́͂ͅ ̊ͭ҉̸͕̟͖͉̙̣̩̲̹ǫ̸̬͕͖̰̍̑ͦ̾͐̐ͫ͒͘r̴͎ͬ̒ͧ̇ͪ͊̂̅͜d̯̙̙͍̦̼̣̭ͨ͊̀͟e̶͔̟̦͍͌ͤͧ̿̐̋̀ͮ͞ṛ̳͓̈ͦ͊ͨ̽ͩ̕.̨̲͖̳͔͉͇̯́̉ͨ̋͡
00:45:47 <elliott_> ̃̍͏͏͓̙̖̱T̢̩̘̭̞̟͍̣̦̦́͊ͬh̨͓͈̻̗͙̱̘͛ͮͮ̑̍ͣẹ͙̰͉̲̘̹ͦͫ͂ͥ͞ ̶̨̬͉ͮ̑͐̃̀̂̈́̕N̫̲ͦ̒ͧ̊ͤ̈̉̕͜ͅe̷̲̊̾̐͐̅̕z̜͔̮̯̬̺̣̉̓͌̒͑͝pͨ̽͏͇̥̥̱͟e̸̖̤͊͗ͮ͝r̦̣͇̦̱̹ͨ͋͜d̞̺̘̪͕̯͎̹ͨ̓̄ͫͯͥ͊̂͡ͅi̢̖̍̊ͤͮ͑̈a̶̹ͫ̈̿́n̪̺̯̣̝ͮͬ̋ͨ ̡̰̍̉ͤ̊ͩ͡ẖ̴͚̼̯̖̈́ͤ̔͋ͬ̐̈͑́͠i͙͔̤̮̳̗̤̥ͯ̐̒̾̍ͯ̓̍̚v̛͉͎̫͆ę̤̳̮͈̟̪̰̰̿̆ͬ-̈́̈
00:45:52 <elliott_> ̝̠̞͢m̶̷̯͎͑̚i̴̅͏̡̜̙̘̘n͗̌͗̅̅͛ͯ͋̃҉̸̡͉̜̼d̹͈̗̀ͦ̿ͣ͆̒ͣͨ͜͝ ̡̡̪̙̹̲͚͔̗͈̈̓́ŏ̶̥̣̬̘̯̟̼̺͉̅͗f̡̟͎̪̹ͬ̐͒͠ ̛̦͈̹̫͚͖̜ͯ̇͂͜c̴̥̬͚̣̹ͩ͌̔̅̚̕h̎̆͑͑̈͡͏͉̺̠̻̳͓̱͎a͂̄̊͋͐̍͊͗̕͡҉͍̪̣̹͚͚͇o̷̶͖͙͇̣͇̥͖̎͌͑͛͋̽ͦͤś̟̪ͦ͝.̯͎͈̞͗̄͆͗̾̏̈͑ͅ ̢̜̟̣ͯͯ̃͂̌ͩ͋Z̬̘͎͛̍ͣ͛ͣa̟͈̙͕͗ͦͨͪ͑̆l̛̘̤̤̼͍̏̑̉̀ğ́ͬ̅̆ͧ
00:45:57 <elliott_> ̪̫̖̌̊̀o̷̻̤̰̼͉̞͖͖ͩ̂͊ͩ̽̓ͭ̚̚.̧̹̪̉́͆̽͌̈́̒̂ ̷̵̭̲̳̲̝̱̞ͩͫ͗͊ͪ͂
00:45:59 <elliott_> ̢̭̤̓̐ͯH̵̲̮̬̹̣͓̮ͩ̉ͦ͌̍ͦ̑̌̀̚̕e̼̼͓̞͌̿ͣ̀ͩ ̧͔̭̭̙̩̥͑̍̔̃͗ͮ̉ͪ͟w̶̓ͮ҉̳͕͇̲͔͓h̥̱͖̘͔͕̔̄̊̉̆͊ͤo͊͗҉̫̹̲̰͉̀ ̶̼̼͕̙̙̫̝͚̩͐͒̓ͤ́͒̂́Ŵ̤̄̎ͫ̐̆̑͞a̳̣̞̣̟͚̯͙̪ͣ͐͠i̡̿̈̽̍͗̐́ͭ͏̞́ť̡̗͕̼̰͙ͣ̽̈́ͧ́̑ś̩͖͔͉̘̥̋͂̏̑͐ͯ̆͜ ̵͂̋ͮͣ̊͡͏̘͇͔͕̞B̢͚̼̞̔̉̒̓ͧͯ͌ͯ͘̕e̊̓̓ͬ͂ͦ͒̈҉̶͉̣̠̳̦̖̘ḣ͉̭̖ͣ̈ͪͅi͗̋ͩ̚͏͞
00:46:02 <Vorpal> great. It *didn't* mess up my terminal
00:46:04 <elliott_> ͔́ņ̹̱͍ͥ̇d̜̻̹̹̿̈́̉̽͂ͩ̃ ̵͓͍͎͓̳̝ͬ̅͂̄́T̴̢͉͔̝̫͎̺̪̺ͧ̈́̋̄̎ͪͅḩ͖̝͕̰̳ͭ̾͐͞ͅe̯͙ͨ̋ͥ̎̆ͩ ̸̡̘̦̂̆̀̔̇́̕Ẁ̮͉͈̿ͤá̸̡̘͚̏͛ͥ̓͐̾̌ͪ͝ͅl̛͇̼̼ͯ̈͡ͅḻ̤̰̈ͫ̋ͩ.̲̙͔̫͓ͩ͋̎ͦ̈́ͥ̆̆̚͞
00:46:05 <Vorpal> and it won't
00:46:08 <elliott_> ̢̠͔̳̆̽͛̾͘Z̦̺̺͊ͥ̒̒̏ͫ͜
00:46:10 <elliott_> ...wow, XChat failed at that
00:46:12 <elliott_> T̷̞̭̺̩͚̹̙̜͓̞ͭͧ̉ͩ̀ͤͥ̂͂ͨͫ̈ͨ̎̀͆ͨ̊̕o̶͉͔̮̺͙̳͈̰̙̞̝̖̜͕̗͇̣̭ͬ̐̀̈̽̽ͯ̆̔̇̉̕͡͝͝ ̵͎̜̩̹̻̲̜̪̉ͧ̔̓͂̀̈́ͣͤ͗̉͞i̴̢͇̻͍̘̦̜̦̩̜͓͎̗̠͊̉̈́̌͜ṋ͇͕͔̰̱̘̝̼͔͎̼͖͓͋ͬͪ̊́̀v̴̨͈̟͓̬̯̙͍̩̟̙̞̰͛̈́́̓͛͜͢ȍ͗͒͐ͥ̆͏̡͚͖̳̪̼͎͕k̡̛̖̥̭̬͚͙̟̫̰͔̦͖̲͕͖̟̥͈̘ͣ̈̄ͯ̌̌̓̏̈͆̇ͬͯ͊ͣ̋́̕eͭ̈́̀ͥ͂̏̽̈́̏̓̍̋ͤͮ̽̈́͌͐҉̷̛̣̭
00:46:17 <elliott_> ̮̳̖ ̶̧̼͕̲̤̰͙̠̮͍̦̖̟̺̬̙̳͍̜̣̂̓͒̊ͮ̈́̉̃͑̽͡t̷̿ͧͦͨ҉̖̹̣͈̖̲̗͍͈̤ͅh̢ͮͭ͆ͯ̅̚҉̥̮̮̮͓̥̮͍e̷̡͍̼̲̞̣̘͓̻̠̻͖̩̤̹͔͒̊ͯ͘͟ͅ ̨̝̼͓̼̥̜̘͈̖̏̒́ͨ̑ͫ̌ͫ̿̐ͫ͊́́̒̉́͋̀͞ḩ̵̴̩̞̗͉̤̔̊̾iͭ͌͗ͮͥͤ̾ͭͪ͑ͮͣͨ̑̌̊ͫ͠҉̴҉͏̙̫̹̘͕v̦̠̰̝̱̱̄ͭ̀ͨ͋ͦ̃̂ͬ̊̈̂ͧͩ͐͌̚̕e̸̢̟̫̰͕̲̫ͩ͒ͬͨͫ̾͋̑̐͆̒ͬͮ̚̕-̗͉̱̳̣̥̣̏ͧͣ̿̕m̓̅̄̚
00:46:22 <elliott_> ̿͐̔ͭͨ̿̓̉ͬ̚͏̷̸̣̭͉̦i̧̩͚̜̜͔̖̞̥̭̇ͪͣ̆ͬͫ̆̐̓̐͢͢n̔ͨ̇͐ͦ̃̉҉̷̠͎̳̝͍̲͚̙̟̬̤̟͉ͅd̐̉̄̾̀́͑ͮ͗̃͛̏ͩ͑̀̆̚҉͏͏̙̺͉͈͈̗͍̪̩̮͚̝̣͙͢͞ͅ ̸̮͓̰̱͎͇̙͔̖̙͓͔͇̙̾͆̊̅̍̄ͮ̿̅̃̃̚͜r̷̡͔̩͚̥̗ͩͮ̄ͨ̕ẽ͌͐͂ͮ̀͂̍ͮ̓́̎̈̊̒͗ͯ͏̴̫̰̙͇̳̙̫͍͈͈̦̙͖͘p̢ͯ̒̋̓ͩ̃ͥ̓̀ͯ̾͛̅ͬͨ̀҉̢̹̝̟̥̬͈̩̩͚͖̟ṛͧ͆̾̽̏ͫͣ͑̋ͤ͐͛ͫ̉̔̓͛̚͟͜
00:46:23 <Vorpal> elliott_, did it?
00:46:27 <elliott_> ̳̞̗̯̫̟̗̘̣̲̫͚̝ͅe̜͚͚̞̝͎͖̗̺͐ͫ͛̔ͯͧ̐͒͆̊̊ͫ̀͆̋̿ͧ́ͪ̀̕͜͜͞ş̲̦͉̪͔̪ͭ͛ͬ́̈́ͦ̐ͯ̍ͯͫͭ̋̕e͖̟̩̠͐ͫ͒̀̀̚n̽͒͊̆̀͏̰̩̗̜̫̖͚͉̣̤̯͉̻t̡͍͈̦͓͔̟̱̳̰̹̺͈̖̪̪͐ͮͣ̊͗̾̉ͣ͛ͧ̚ỉ͖̗̹̲̩̤̖̗̗̦̹̟̳͎̯͈͒̑̈́ͤ́̕n̴̷̘̞͓͚͔̼̳̣̘͋̃̎̋͐̾ͅͅg̢̧̢̨͖̣̱̙̖̫͔͕͐̉̑͐͆̔̃͊ͩ̋ͮ̈̐̏̋̀͊ͪ ̵̼͎̼̬͚̜͇̔̈͂͊ͦ̿̃́͠͡͡ͅcͬͦ̿͊ͥͬ
00:46:33 <elliott_> ̸̨̰̩̪͎͍̥̫͔̻͖͍̯͔̤̖̋́͝h̨̙̬͓͈̱͉͖͈̖̫͍̫͕̱̟̼̳̥͌̓͒ͬ̈́̂̇́͛̎͂̈̓͠͞å̴̢̭̘͕̖͔̳̪̠͑̃̒ͭͤ̇̀͝o̴̺̩̰͚͎͚̺͓̭̘͕̠̩̫͍̺ͨͯ̒ͩ̈͂̀͘͜s̈́͒̓͛̎͌ͨ҉̳͎̩̙̣̗̣͍͓̰̟͎̟̖͔.̶̨̧̣̺͙͓̂͑ͬ̏͂ͩͧͪͭ̋ͦͤ͞͡
00:46:34 <Vorpal> how did it fail?
00:46:36 <elliott_> ̷̥̖̙͓̊̂̏̈ͭ̌ͩͯ̔͛̿ͬ͟͠I̶̷͓̥͔̗̰̼̬̽̽̆̓̐ͭͤ̋̅̍ͥ̒͒̑ͬ͠ͅn̵̶̘̠̳̠͕̥͈̳͈͓̈́͆ͬ̂ͥ̄ͮͨ̆ͫ̎ͥ̎v̛͍̹̲̳̗̼͚̮̹͕̖̺̘̗̲̭̊̀̽͒ͩ͋̓͌͌̿̕ͅö̡̆ͭͭ͊̓̌̈́̿̄̑ͧͦ̎̐͑͑͏̨͙̰̞̭̠̰̹̼̣͍̭k̲̲̪̖̫̗̠͇̼̲̗̣̣̩̟̦ͭ̆̽̈́͐͒ͮ͐̉͑̅̿̎͝ͅi̡̲̦͕͈̗͙̞̜̦̯̽ͯͣ͒͝ñ̵̴̨͇̳̦̦̻̱͚ͫ͛̓̔͂ͯ̍͢͟g̷̴̸̘̱̠̼̫̙̘͕̳̝̥͖̰ͩ̓̿̄ͬ̚͜͠ ͧͨ
00:46:41 <elliott_> ̨̗͇̱̹̦̺̐͆ͥͭ́͢͝͠t̴̺̝̩̹̺̠͙̺̘̱̤̻͖͓̐͐̈́ͭ͟͠h̲̼̮̰̰̤̞̙̅̒ͯ̃ͤ̽̓́̊̎ͬ͒̇̄ͨ͂͘̕e̸͓̥̯͈̬̘̼̯͕̱̠̖ͪ̔̽͐̈̉͊̿͊̓́̾͛̿͆̇̓͑͟͞͡ ̸̫̥̯̺̺̫̬͓͇̯̼̩͗̓ͣ̉̐̀ͭ̐ͣ̾ͭͪ͆͆́̑̀͠f̸̢̹͈̯̘̖͑̐̈́̏ͤ̊͛͞͡ͅë̶̛̛͙̦̱̻̣͔̘͙̠̣̖̯͇̻͈̓ͩ̔ͭͣ͗̿͒ͯ̎̂̈́̀͠ė̷̠͔̗̜̮̥͖͈̮ͥ̀̉ͪͨͬͩͩ͊͂̈ͭ̐͊ͯ͘͘l̇ͭ̏͋͒͐͑̈́ͭͥ̎̅ͮ̚͟҉̢͠
00:46:46 <elliott_> ͖̪̪͇̙͕̣̲̟̻̹̬͕̹̜̱̝͖ĭ̢̡͔͚̼̞͙̖̮̙̯͕̺̪͚̪͔̘̼͓̖̾̉̓ͬ̔ͤ̊̊͒̐̊ͪ̍̓̕͘͟ñ̻̬͓̯̙̪̥̭̞͇͉̯̹̬̘̱͓̏̌ͦ̊͒̓ͦ̈́͜͡g̶̼̥̗̻͓̟̩͚̱̺̗̼̰̈̓̒ͬͯ́́͠ ̧̛̦̺̫͔̥̲͇̪̈͛̌̑ͫ͆ͨͮ͛̆̒̚̚ȍ̧̖̺͎̤̘͈͎̫̱̩̆̽͑ͦͤ͌͌͡͡f̛̜̤̹̙̱̟̩̞̻̱ͣ͂̓̌͗̋ͬ̽ͤ̅̔̅͠ ̶̸̬̝̩̜̱̥̆ͤ͛ͧ̈̔ͩ̕͢͡c̷̵̢̯͉̦͚̘̳̹̘̭͙̦̈̃̊͐͋ͧ̉̾ͩ͊͆͆ͭͤͫ̀
00:46:51 <elliott_> ̲̖̰͇̲̰̣̳hͥ̓̈̓ͭ̊͛̒̕͏͕̲̘̥̹̲̥̩̹̗͇̼ͅͅaͩ̍̈́̔͐ͥ̋͐̔̾ͩ͗ͮͣͫ̚̚͏̧̩̭̫͉̞͉̗́̕͝ő͎͉̤̈̅̓̆͐ͨ̎͗̽̉͋ͬͪͩ̂͡͝͞ͅs̮̣̮̤̺̘̣͍̱̤͕̠͓̼̗̦͌̔ͣͦͣ̓̊̑̑̏̋̆̿̀̕͜ͅ.̸̶̡̬̖̠̖̦͎̲͖͈͓̲̦͓̱̮͉̥̂̒ͦͩ͟
00:46:55 <elliott_> ̡͙̳͙͍͓̞͚͖̤̘̯̭̮̹̥͉̊̐̏ͭ̐ͨͯ̿͘͡ͅW̵̨̡̯̮̜̰̩͎͇̠̮̖͚̗̯̬̞̦͓̒ͦ̑̈͑͗̑ͥͩͫͪͬ̋ͦ̂̔̀̚i̅͊ͣͫ̒̊̾́͊ͪ͐ͩ̌͒ͦ͂͏̰͔̞̮͉̹͔̲͖͉̩͎̤̟̳̫ͅt͆̓͐ͫͧ́̉̈́ͪ̋ͣ̄͑ͮ͗͒̓͏̧̛̪͇̳͟͡ͅ
00:46:59 <elliott_> ...
00:47:01 <elliott_> it is fail :(
00:47:03 <elliott_> stupid IRC length limit :P
00:47:05 <elliott_> Also XChat cutting off limit
00:47:26 <calamari> elliott_: you seem to be spitting out line noise
00:47:37 <elliott_> calamari: that's just the zalgo.
00:47:48 <Vorpal> calamari, actually biased noise
00:47:53 <Vorpal> to unicode combining chars
00:49:12 <Vorpal> elliott_, zalgo is part of zlib right?
00:49:19 <Vorpal> the z algorithm obviously
00:49:23 <calamari> ah.. you're right I can read it every few chars there's a real letter
00:50:59 <calamari> Gregor: when you going to make websplat work on the wii... so I can have my computer back when my kids come over?
00:51:41 <Vorpal> calamari, it seems to read as a message
00:51:43 <Gregor> calamari: When you buy me a Wii!
00:51:46 <Vorpal> in lots of unicode combining
00:52:03 <calamari> Gregor: is there some kind of debug mode?
00:52:20 <calamari> to give you environment information or such
00:52:44 <calamari> I assume it's failing due to the js engine sucking
00:52:46 <Vorpal> calamari, doesn't your browser have a js console?
00:53:05 <calamari> not that I could find
00:53:10 <Gregor> Vorpal: We're talking about the Wii.
00:53:20 <Vorpal> Gregor, make it work in opera mini (note: I doubt this)
00:53:27 <elliott_> Gregor: Buy me a Wi
00:53:28 <elliott_> i
00:54:03 <Vorpal> elliott_, verily
00:54:06 <calamari> I guess I could go through the source and try to figure it out instead of complaining like a loser
00:54:41 <Vorpal> how is wii wrt. homebrew?
00:54:45 <Vorpal> specifically, linux
00:55:14 <calamari> there's linux and a bunch of homebrew
00:55:34 <Vorpal> ah
00:55:34 <calamari> the media player is nice, well as nice as SD resolution will allow
00:55:52 <Vorpal> calamari, SD?
00:55:55 <calamari> 480p
00:56:18 <Vorpal> calamari, right... I prefer my 24" computer TFT for all purposes
00:56:31 <Vorpal> (except for carrying, then I prefer a smaller 15" laptop)
00:56:54 <elliott_> OH GOD IT PLUGS INTO A TELEVISION IT'S USELESS
00:56:59 <elliott_> -_-
00:57:08 <Vorpal> elliott_, yes, I have a TV from the 80s
00:57:15 <elliott_> That's sort of your problem
00:57:21 <Vorpal> it lacks scart and so on
00:57:26 <calamari> elliott_: calm yourself.. ssh server ;)
00:57:37 <elliott_> calamari: I was mocking Vorpal, not agreeing with him.
00:57:41 <calamari> ah ok
00:58:48 <Vorpal> it /is/ useless compared to a full PC. Except for getting money from buyers
00:59:04 <elliott_> Vorpal: You realise it's meant for playing games, yes?
00:59:18 <Vorpal> elliott_, yes, so why not an advanced PC for it?
00:59:28 <Vorpal> elliott_, see bsmntbombdood's computer for example
00:59:40 <bsmntbombdood> ?
00:59:40 <elliott_> Vorpal: I am punching you over the internet, and one day, you will be able to experience it.
00:59:44 <Phantom_Hoover> Vorpal, because, and I know you have trouble with this, MOST PEOPLE ARE NOT YOU.
00:59:49 <elliott_> Vorpal: Because technology is worthless, today is not that day.
00:59:53 <elliott_> Vorpal: But one day, you will feel the punches.
00:59:55 <Vorpal> Phantom_Hoover, that doesn't really answer it
01:00:03 <Phantom_Hoover> THEY DO NOT WANT AN EXPENSIVE HIGH-END MACHINE TO PLAY GAMES.
01:00:13 <elliott_> btw cost of bsmntbombdood's machine: $1600
01:00:16 <elliott_> cost of Wii: like 3 cents?
01:00:23 <Phantom_Hoover> THEY WANT A CHEAP, COMPACT GAMES CONSOLE WHICH WORKS WITH VERY LITTLE SETUP EFFORT.
01:00:32 <Vorpal> elliott_, cost of wii games = high, very high
01:00:33 <calamari> I got the Wii due to the games available for it
01:00:40 <Vorpal> Phantom_Hoover, this makes no sense
01:00:45 <elliott_> Vorpal: Cost of PC games = high, very high
01:00:49 <Phantom_Hoover> Vorpal, £40 for new releases, drops off later?
01:00:49 <Vorpal> elliott_, yes true
01:00:58 <Vorpal> Phantom_Hoover, more than minecraft
01:01:09 <Phantom_Hoover> Vorpal, what.
01:01:11 <elliott_> Vorpal: PEOPLE PLAY GAMES THAT AREN'T MINECRAFT
01:01:20 <Vorpal> elliott_, really?
01:01:26 <Vorpal> elliott_, this sounds like a strange concept
01:01:29 <Sgeo> I think most of the games I want to play are PC games
01:01:32 <elliott_> I am not punching you any more; I am using a knife, and it is stabbing you.
01:01:35 <Vorpal> Sgeo, quite
01:01:36 <calamari> also, hack your wii, download games for bittorrent.. games = $0
01:01:42 <calamari> *from
01:01:44 <Vorpal> calamari, hah
01:01:44 <Phantom_Hoover> Vorpal, do please indicate a modern game that's less than £40.
01:01:48 <Phantom_Hoover> A new one.
01:01:53 <elliott_> Vorpal: BTW, making stupid jokes doesn't distract anyone from the fact that you've lost the argument.
01:01:55 <Phantom_Hoover> Like, just released.
01:01:57 <calamari> Vorpal: used that to try a couple games before I bought them
01:02:00 <Vorpal> Phantom_Hoover, minecraft.
01:02:04 <elliott_> <Vorpal> Phantom_Hoover, minecraft.
01:02:04 <elliott_> <Vorpal> Phantom_Hoover, minecraft.
01:02:05 <elliott_> <Vorpal> Phantom_Hoover, minecraft.
01:02:07 <elliott_> Vorpal: FUCK OFF >_<
01:02:09 <Phantom_Hoover> Vorpal, OTHER GAMES.
01:02:14 <Vorpal> Phantom_Hoover, you didn't say
01:02:19 <Phantom_Hoover> FROM A MAJOR GAMES STUDIO
01:02:22 <Vorpal> Phantom_Hoover, but then I don't know. I don't follow that market
01:02:28 <Phantom_Hoover> Vorpal, ...ugh.
01:02:32 <elliott_> Vorpal: And yet you believe yourself to be qualified to speak about these subjects.
01:02:40 <Vorpal> elliott_, yes I believe they are too expensive
01:02:42 <Vorpal> they are
01:02:42 <elliott_> Presumably because you have successfully lodged your head firmly up somewhere it's not meant to go.
01:02:50 <elliott_> THE FACT THAT GAMES ARE EXPENSIVE IS IRRELEVANT.
01:02:53 <calamari> mental note: never mention the wii in this channel again
01:02:53 <elliott_> We are talking about *consoles*.
01:03:03 <Phantom_Hoover> You are just so utterly, utterly thoughtless. In the literal sense that you put no thought whatsoever into what you say.
01:03:04 <elliott_> BTW: The Wii would still have to be sold if computers existed. As an IR receiver.
01:03:05 <elliott_> And a controller.
01:03:13 <elliott_> Those would be a big part of the cost of the Wii itself.
01:03:15 <Vorpal> elliott_, if games were priced like minecraft you would get much less pirating
01:03:19 <elliott_> calamari: It's okay, it's just that Vorpal is a moron.
01:03:19 <coppro> wait computers don't exist
01:03:24 <elliott_> We yell at him no matter what.
01:03:26 <Phantom_Hoover> Vorpal, Jesus, you just have no idea.
01:03:26 <Vorpal> sure you still get some
01:03:43 <coppro> vorpal is right on one level
01:03:47 <coppro> and wrong on so many ohters
01:03:48 <Phantom_Hoover> Minecraft is not Half-life 2.
01:03:57 <calamari> oh I agree.. the wii hardware is total crap
01:04:03 <elliott_> NO IT'S BETTER BECAUSE I DON'T LIKE FPSES, ERGO, I'M RIGHT
01:04:05 <elliott_> Q.E.D.
01:04:09 <calamari> I didn't get it for that tho..
01:04:47 <calamari> although I have to admit being able to put linux on it did make it appealing lol
01:04:53 <Sgeo> calamari, do you have WoG on Wii?
01:05:19 * Phantom_Hoover → AWAY FROM VORPAL'S IDIOCY
01:05:45 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:05:59 <Vorpal> elliott_, quite. I'm an moron for helping with the cube
01:06:05 <Vorpal> I have no idea why I did in the first place
01:06:11 <calamari> Sgeo: this? no http://www.amazon.com/Mario-Sonic-Olympic-Winter-Nintendo-Wii/dp/B001SIFNXW
01:06:22 <Sgeo> calamari, I meant World of Goo
01:06:24 <elliott_> Vorpal: Everything is going to end up in you saying "WAAH CUBE" isn't it.
01:06:46 <Vorpal> elliott_, I did not say that
01:06:49 <Sgeo> Vorpal, does building stuff like that in MC require special intellect?
01:07:12 <elliott_> Sgeo: No.
01:07:18 <Sgeo> Indeed.
01:07:19 <elliott_> The bits Vorpal is helping with are essentially drudge work.
01:07:19 <Vorpal> very droll
01:07:44 <Vorpal> elliott_, and getting coords, and so on. A lot of stuff you couldn't have done without getting lost
01:07:45 <Sgeo> Hmm, when was the last time I was called a complete idiot?
01:08:15 <elliott_> Vorpal: I could have found the lake myself, it would have just taken longer.
01:08:55 <Vorpal> so. you think I'm a complete idiot for thinking gaming consoles are stupid and pointless... right
01:09:03 <Vorpal> shows you have strong feelings about them
01:09:06 <elliott_> What.
01:09:12 <elliott_> I don't even own any consoles, the last I bought was the GameCube.
01:09:12 <calamari> Sgeo: hadn't heard of it.. I assume you like WoG?
01:09:18 <elliott_> I just think that your reasons are really, really, really stupid.
01:09:21 <elliott_> Which they are.
01:09:23 <Sgeo> Vorpal, maybe they're pointless for you. Other people like Wii games
01:11:03 <Vorpal> PS3 was nice
01:11:06 <calamari> there's a Wii emulator.. how fast does it run on your fancy pc?
01:11:08 <Vorpal> when you could run linux on it
01:11:22 <Vorpal> calamari, I wish I had a fancy PC. never invested in one
01:11:40 <Vorpal> well wish for this convo
01:11:43 * Sgeo wants a fancy PC
01:11:45 <Vorpal> I do have the money
01:11:54 <Vorpal> I just don't have the need
01:12:03 <Sgeo> Vorpal, give me the money? ;)
01:12:06 <Vorpal> so I spend it on other stuff
01:12:11 <calamari> oh my bad, bsmntbombdood's pc
01:12:13 <Vorpal> Sgeo, not going to happen :P
01:12:30 <Vorpal> calamari, well he could do it. my current computers can't, but I could afford one that could
01:12:38 <elliott_> calamari: bsmntbombdood's is i7/SSD/12 GiB, so it should work fairly well :-P
01:12:42 <elliott_> but it's a lot cheaper to buy a wii.
01:12:50 <elliott_> Vorpal: also, unless you get the IR receiver and the wiimote it's... beyond pointless.
01:12:57 <elliott_> and that's like 60% of the cost of a Wii right there.
01:13:29 <Vorpal> so the games shouldn't have been made for that platform really. Of course emulation is going to be slow
01:13:50 <Sgeo> Wait... games shouldn't have been made for the Wii?
01:14:02 <Sgeo> Because emulating the Wii system on PC is annoying?
01:14:07 <Sgeo> Or am I misreading Vorpal
01:14:09 <coppro> nope
01:14:11 <Vorpal> you are misreading me
01:14:16 <calamari> I'm glad they weren't made for pc because then I'd have to boot winblows to play them
01:14:20 <coppro> +1
01:14:28 <Vorpal> calamari, that is a fair point
01:14:33 <elliott_> <Vorpal> you are misreading me
01:14:36 <elliott_> lol.
01:14:55 <elliott_> Vorpal: there's no real point to keep talking about this because (1) you've enumerated all of your "points", several times and (2) nobody agrees with them.
01:15:28 <Sgeo> Vorpal said I was misreading him
01:15:28 <Vorpal> elliott_, while /you/ have not given any real substantial reasons
01:15:32 <Sgeo> Maybe he should clarify
01:15:36 <Vorpal> only good reason I seen so far is that calamari made
01:16:04 <elliott_> Vorpal: yeah, except, i don't /feel/ like giving any reasons since you're the one spouting bullshit
01:16:11 <Vorpal> Sgeo, of course emulation will be slower than native. For any platform, A Wii emulating a PC to play a PC game would be slow as well
01:16:12 <elliott_> I've /rebutted/ all your stupid reasons and that's enough.
01:16:14 <calamari> that's not really a good reason... lol
01:16:40 <Vorpal> Sgeo, so the "speed for emulating" question is a bit nonsense
01:16:51 <elliott_> i suggest we stop feeding him
01:17:16 <Vorpal> I'm not trolling
01:17:32 <Sgeo> No, elliott wants you to die
01:17:40 <Vorpal> right
01:17:41 <elliott_> never said you were trolling.
01:17:44 <elliott_> but i do think we should stop feeding you
01:17:47 <calamari> elliott has wanted me to die in the past, I'm sure
01:17:59 <Vorpal> calamari, he wants everyone to die at some point
01:18:05 <Vorpal> well everyone except himself
01:18:16 <calamari> if he could have stabbed me with an icepick through the internet he would have (re: forkbomb article)
01:18:17 <Vorpal> he is very emotional, easy to overreact and so on
01:18:17 <quintopia> he probably did
01:18:34 <Vorpal> calamari, what article was that?
01:18:43 <calamari> and I probably would have deserved it a little bit lol
01:18:55 <elliott_> calamari: i don't want anyone to die, but hey, in that case pikhq had just as much vitrol as me >:)
01:19:19 <elliott_> Vorpal: i don't really overreact so much as I'm always ready to start yelling at you because I find the requirement to come up astonishingly often.
01:19:32 <Vorpal> elliott_, you do at other people too
01:19:37 <elliott_> it's like when you used to be able to set Mozilla to load at system startup to make it quicker when you start it
01:19:58 <elliott_> Vorpal: not really. I don't recall yelling at ais523 or olsner or Gregor or ...
01:20:11 <Vorpal> elliott_, gregor and autoconf
01:20:14 <Vorpal> elliott_, seriously?
01:20:17 <Vorpal> you yelled at him
01:20:20 <elliott_> I didn't "yell", I disagreed.
01:20:31 <elliott_> Possibly with *bold marks*.
01:20:35 <quintopia> i don't recall you yelling at anyone. do you ever caps lock?
01:20:35 <Vorpal> elliott_, ais523: only once iirc, and over a year ago
01:20:42 <calamari> I'm an opinionated asshole, it's easy to get into it with me :)
01:20:46 <Vorpal> quintopia, that is rare. But he doesn't yell that way
01:20:46 * Gregor is watching a Bit of Fry and Laurie.
01:20:51 <elliott_> Vorpal: The fact that you're *keeping track of who I yell at* suggests you're ... uh, crazy.
01:21:01 <quintopia> Gregor: love that shit. which one?
01:21:02 <elliott_> quintopia: I capslock exclusively for Vorpal, it is a privilege and honour reserved solely for ihm.
01:21:16 <Vorpal> elliott_, wrong. You yelled at sgeo I think
01:21:17 <quintopia> ha
01:21:35 <elliott_> Yes, but I hold down shift at those junctures.
01:21:38 <Gregor> quintopia: First episode.
01:21:39 <elliott_> Since he usually shuts up pretty quickly.
01:26:21 <Sgeo> I may have misplaced trust in elliott_
01:26:27 <elliott_> What.
01:26:33 <elliott_> Trust in me is always golden.
01:26:39 <elliott_> I am like a shining pillar of perfection.
01:27:09 <elliott_> Sgeo: ?
01:27:38 <Sgeo> Hmm, when was the last time I disagreed with elliott_?
01:27:47 <elliott_> All the time?
01:27:48 <elliott_> <Sgeo> I may have misplaced trust in elliott_
01:27:48 <elliott_> Why
01:28:07 <Sgeo> elliott_, I take your opinions too seriously
01:28:29 <elliott_> Sgeo: Well, I *am* always right.
01:28:53 -!- zeotrope has quit (Ping timeout: 265 seconds).
01:29:58 <Vorpal> elliott_, do you know what hubris is?
01:30:00 <quintopia> you overstate your positions sometimes, but you have a lot of rightness. occasionally you make matters of opinion out to be more black and white than they are and that is a bit irksome.
01:30:12 <elliott_> Vorpal: Something that doesn't apply to people who are already right.
01:30:15 <Vorpal> quintopia, verily
01:30:18 <elliott_> quintopia: You see, the thing is that I'm always right.
01:30:31 <elliott_> (Note: I do not actually believe that I am always right.)
01:30:33 <elliott_> (Yes I do!)
01:30:36 <elliott_> (No I don't. etc.)
01:30:39 <quintopia> except when i am right and i disagree with you
01:30:41 <Vorpal> (also split personality)
01:30:53 <elliott_> quintopia: then you're wrong
01:30:53 <quintopia> you might start to sway me into thinking i'm wrong
01:31:09 <Vorpal> quintopia, don't let that happen
01:31:09 <quintopia> but then i realize i was wrong about being wrong and was actually right
01:31:15 <quintopia> it's good to know you are wrong sometimes
01:31:29 <Vorpal> quintopia, are you right about that?
01:32:02 <quintopia> sometimes
01:32:09 <Vorpal> good
01:32:15 <elliott_> quintopia: unfortunately, you're wrong, that never happens
01:32:19 <elliott_> i know this because i know it never happens
01:32:20 <elliott_> and i'm always right
01:32:38 <Vorpal> anyone need instructions for making a cross compiler to RCX on modern linux?
01:32:49 <Vorpal> I wrote a guide, surely /someone/ out there needs it
01:32:52 <quintopia> well, here's proof you're sometimes wrong...you are wrong about always being right
01:33:16 <Vorpal> anyway http://sporksirc.net/~anmaster/lego/rcx-toolchain-guide/guide.html
01:33:17 <Sgeo> Ugh, the smell of nitrogen is overpowering
01:33:41 <quintopia> obtw, True Grit is a p cool movie. i smell an oscar nomination for jeff bridges
01:33:52 <Vorpal> isn't nitrogen odorless?
01:34:02 <Vorpal> Sgeo, I'm pretty sure you can't smell nitrogen
01:34:11 * Sgeo was joking
01:34:19 <elliott_> <quintopia> well, here's proof you're sometimes wrong...you are wrong about always being right
01:34:20 <elliott_> wrong.
01:34:28 <Sgeo> http://www.reddit.com/r/WTF/comments/esj6l/fire_officials_noticed_a_strong_odor_of_carbon/c1akw23
01:34:43 <elliott_> <!-- Note: this file is a Markdown file -->
01:34:46 <elliott_> No it's not. It's HTML.
01:34:48 <Sgeo> Although that commentor is a moron
01:34:52 <Sgeo> But whatever
01:35:03 <quintopia> elliott_: hypertext markdown language
01:35:39 <Vorpal> elliott_, the source of it is
01:35:45 <Vorpal> elliott_, see same file .md
01:36:07 <elliott_> Vorpal: well it's a lie
01:36:09 <elliott_> ergo you are sometimes wrong
01:36:11 <Vorpal> elliott_, I saw no way to make a comment in markdown :P
01:36:13 <elliott_> ergo i'm right
01:36:28 <Vorpal> elliott_, I never claimed I was /always/ right. I just disputed you were always right
01:36:42 <Vorpal> also I see another typo there
01:36:45 <Vorpal> which I will fix
01:36:45 <elliott_> Vorpal: your Makefile is wrong
01:36:49 <elliott_> you don't define all and clean to be phony targets
01:36:55 <elliott_> so basically you're a failure right
01:37:08 <Vorpal> elliott_, well all and clean are not required to be that
01:37:13 <Vorpal> elliott_, if you create them: so what
01:37:21 <Vorpal> that is not my issue
01:37:24 <elliott_> Vorpal: touch all; make
01:37:27 <elliott_> this will produce incorrect results
01:37:30 <elliott_> your makefile is WRONG.
01:37:37 <Vorpal> elliott_, so will rm -f Makefile; make
01:37:43 <Vorpal> elliott_, that produces wrong result too
01:37:55 <elliott_> Vorpal: but all is a perfectly valid filename and so is clean
01:37:56 * Sgeo gets slightly creeped out by Reddit Enhancement Suite being in View Source of a reddit page
01:38:02 <elliott_> your makefile doesn't say "BREAKS IF YOU MAKE ALL OR CLEAN"
01:38:14 <Vorpal> elliott_, you are absurd
01:38:45 <coppro> no elliott_ is quite correct
01:38:52 <coppro> all and clean ought to be phony targets
01:38:56 <Vorpal> coppro, yes but it is not of any importance really
01:39:06 <Vorpal> elliott_, it also breaks if you >guide.md && > guide.html && make
01:39:08 <coppro> it's one line
01:39:09 <coppro> go do it
01:39:13 <Vorpal> elliott_, this will not rebuild guide.html
01:39:25 <Vorpal> coppro, now that ehird said it? No :P
01:39:33 <Sgeo> Is Vorpal having an off day?
01:39:36 <coppro> msut be
01:39:58 <Vorpal> coppro, actually they are already phony locally
01:40:04 <Vorpal> coppro, so I guess I just forgot to push
01:40:13 <coppro> WELL THEN PUSH GODDAMMIT
01:40:20 <Vorpal> coppro, sure.
01:40:35 <elliott_> coppro: AMEND
01:41:35 <elliott_> [on web browsers]
01:41:35 <elliott_> 09:05:35 <catseye> Sgeo: what you must do, of course, is write your own
01:41:36 <elliott_> 09:06:23 <Sgeo> Able to use WebKit, Gecko, or .. the IE one as necessary
01:41:36 <elliott_> 09:06:32 <Sgeo> Able to use extensions from any browser
01:41:36 <elliott_> 09:06:50 <Sgeo> Can use GreaseMonkey scripts designed for any browser
01:41:43 <elliott_> And why, my OS can run Windows, Linux, and BeOS binaries!
01:41:53 <coppro> no it can't
01:41:58 <Vorpal> coppro, refresh
01:42:02 <elliott_> coppro: it was a joke
01:42:08 <coppro> Vorpal: I don't even know what you're talking about
01:42:29 <Vorpal> coppro, since you complained about the makefile above, refresh
01:42:41 <Sgeo> Would that be easier than the browser thing?
01:42:57 <Vorpal> Sgeo, ........................................................................................................................................
01:43:05 <elliott_> I think we should kill Sgeo. Also Vorpal.
01:43:18 <elliott_> 09:11:35 <Sgeo> Can I use IE6's Trident if IE>6 is installed?
01:43:19 <elliott_> 09:12:11 <Sgeo> So that businesses can use this browser in place of IE6
01:43:57 <Vorpal> I'm sure you could, with a lot of pain. Such as a VM.
01:44:00 <Vorpal> and invoke that
01:44:41 <elliott_> I miss cpressey.
01:45:06 <Sgeo> If the kernel can be set up to invoke WINE, and WINE keeps improving, a system would run both Win32 and Linux executables easily
01:45:08 <Vorpal> elliott_, yeah haven't seen him for a while
01:45:12 <Vorpal> elliott_, I wonder where he is
01:45:20 <elliott_> Vorpal: he left because the channel was eating all his time.
01:45:23 <elliott_> he's still active on the wiki.
01:45:26 <Vorpal> elliott_, ah okay
01:45:29 <elliott_> but i miss mocking you in /msg!
01:45:32 <elliott_> maybe i shouldn't have said that
01:45:42 <Vorpal> elliott_, yes I know you are a complete turd. So what
01:45:53 <elliott_> Vorpal: so cpressey is a complete turd too? :)
01:46:16 <Vorpal> elliott_, probably not. Only 45% or so
01:47:08 -!- zzo38 has joined.
01:47:26 <j-invariant> hi
01:47:26 <zzo38> Why is voxelperfect.net expired?
01:47:38 <Gregor> Because the owner was LAAAAAAAAAAAAAAAAME
01:47:45 -!- quintopia has set topic: this channel is 45% turds on average | voxelperfect.net has expired, the wiki is still reachable at http://esolangs.org/wiki/Main_Page | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
01:48:01 <zzo38> I will correct the bookmark now.
01:48:16 <quintopia> who was the owner?
01:48:20 <elliott_> graue
01:48:29 <Vorpal> I hope esolangs.org won't expire
01:48:31 -!- elliott_ has set topic: turds at http://esolangs.org/wiki/Main_Page | historical turds at http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
01:48:37 <Gregor> I thought graue owned esolangs.org?
01:48:46 <elliott_> *Indeed
01:48:56 <elliott_> I think voxelperfect only had esolangs on really
01:49:00 <zzo38> Well, I fixed the bookmark now.
01:49:17 <elliott_> Administrative Contact:
01:49:17 <Vorpal> hrrm
01:49:17 <elliott_> Feeney, Scott another.step.away@gmail.com
01:49:19 <elliott_> Gregor: That's Graue.
01:49:21 <Gregor> elliott_: He ... owned both, and didn't tell us when one expired, even though all it had was esolangs? :P
01:49:24 <quintopia> esolangs is a better name anyway
01:49:33 <Vorpal> Gregor, yes I'm scared
01:49:35 <elliott_> Gregor: It might have been an accidental slip; it was just the 27th.
01:49:39 <elliott_> Vorpal: He's edited the wiki recently.
01:49:43 <elliott_> And esolangs is registered until 2011.
01:49:44 <Vorpal> elliott_, hm
01:49:51 <Vorpal> elliott_, that is just a few days away!
01:49:52 <quintopia> possibly he got tired of paying for two
01:49:55 <elliott_> Gregor: It conceivably had non-esolangs stuff that just wasn't linked to
01:50:04 <elliott_> What.
01:50:07 <elliott_> esolangs.org isn't Graue's.
01:50:13 <elliott_> Registrant Name:Alan Dipert
01:50:13 <elliott_> Registrant Email:completelycrazy@aol.com
01:50:18 <elliott_> Guess we're OK then :P
01:50:20 <Vorpal> who the heck is that
01:50:21 <quintopia> who dat?
01:50:22 <elliott_> Created On:24-May-2005 19:21:16 UTC
01:50:22 <elliott_> Expiration Date:24-May-2011 19:21:16 UTC
01:50:24 <Gregor> Uhhh
01:50:26 <Vorpal> elliott_, who is alan dipert?
01:50:26 <Gregor> But who is that?
01:50:31 <elliott_> I have NO FUCKING CLUE :P
01:50:34 <Vorpal> uh uh
01:50:39 <elliott_> http://alan.dipert.org/
01:50:41 <zzo38> elliott_: Then maybe they could get a subdomain if we need to, for non-esolangs stuff? (Except possibly things in the wiki, such as DottyWeb and so on)
01:50:52 <quintopia> well at least we have an email
01:50:56 <elliott_> Google thinks one of his best works is https://github.com/alandipert/ncsa-mosaic
01:51:18 <Vorpal> elliott_, dude how the heck did he get around the license problems of that
01:51:28 <Vorpal> mosaic is /not/ foss
01:51:44 <elliott_> well the source has been available for N years.
01:51:59 <Vorpal> yes but check https://github.com/alandipert/ncsa-mosaic/blob/1e53bc1a5fb778f0bbcf49364d5947e666f2fbbd/COPYRIGHT
01:52:16 <elliott_> * Licensee may make derivative works. However, if Licensee distributes *
01:52:17 <elliott_> * any derivative work based on or derived from the Software, then *
01:52:17 <elliott_> * Licensee will (1) notify NCSA regarding its distribution of the *
01:52:17 <elliott_> * derivative work, and (2) clearly notify users that such derivative *
01:52:17 <elliott_> * work is a modified version and not the original NCSA Mosaic *
01:52:17 <elliott_> * distributed by the UI. *
01:52:27 <elliott_> So basically all he had to do was email NCSA and change one line.
01:52:36 <Vorpal> elliott_, hm
01:52:39 <elliott_> Vorpal: It's (almost) as FOSS as TeX.
01:52:48 <elliott_> TeX you have to change the name; this you have to change the name and tell them.
01:52:59 <elliott_> NCSA probably aren't going away ever.
01:53:00 <Vorpal> hm fair enough
01:53:17 <elliott_> After NCSA stopped work on Mosaic, development of the NCSA Mosaic for the X Window System source code was continued by several independent groups. These independent development efforts include mMosaic (multicast Mosaic)[19] which ceased development in early 2004, and Mosaic-CK and VMS Mosaic which are both under active development as of July 2010.
01:53:31 <Vorpal> multicast mosaic?
01:53:33 <Vorpal> how...
01:53:35 <elliott_> http://www.w3.org/AudioVideo/9610_Workshop/paper05/paper05.html
01:54:05 <Vorpal> wow
01:54:18 <elliott_> http://www.w3.org/AudioVideo/9610_Workshop/paper05/user-ex.gif UNIX!
01:54:37 <elliott_> I could not look at screens like that all day without vomiting :P
01:54:43 <zzo38> Actually with TeX it is a bit different: Files like plain.tex you have to just change the name; with tex.web you have to put changes in separate files (but can still call it TeX as long as it passes the TRIP test), but the algorithms in TeX are public domain, so I assume the copyright on tex.web is like a collection copyright.
01:54:58 <Vorpal> elliott_, blame mosaic's fucking stupid X resources
01:55:01 <elliott_> zzo38: Fair enough.
01:55:07 <elliott_> Vorpal: The cyan background doesn't help
01:55:20 <Vorpal> elliott_, true
01:55:24 <zzo38> (Of course, you are still not allowed to call any software derived from it "tex.web")
01:55:32 <Vorpal> elliott_, but bold italic menus?
01:55:37 <elliott_> zzo38: Even if it passes TRIP?
01:55:39 <Vorpal> elliott_, that's just utterly stupid
01:55:45 <elliott_> Vorpal: I don't /think/ that's default.
01:55:50 <elliott_> So someone, somewhere, decided to TURN IT INTO THAT.
01:55:50 <Vorpal> elliott_, it is
01:55:52 <elliott_> Genius.
01:55:53 <elliott_> Vorpal: heh
01:56:06 <elliott_> This is why us typography nerds are important, guys.
01:56:12 <elliott_> If we'd been around then, we'd have bludgeoned the guy to death.
01:56:14 <Vorpal> elliott_, was like one of the first things I changed when I got the thing to work
01:56:25 <Vorpal> elliott_, yes and you would have been locked up
01:56:25 <elliott_> Why did you ever try and get Mosaic to work.
01:56:27 <zzo38> elliott_: Yes I think so. However if it doesn't pass TRIP, you are not allowed to call *executables* derived from it + change files "tex". If it does pass TRIP, you can call its executables "tex".
01:56:29 <elliott_> <Vorpal> elliott_, yes and you would have been locked up
01:56:34 <elliott_> Vorpal: Worth it to avoid Mosaic, innit?
01:56:34 <quintopia> good typography is invisible, bad typography is everywhere
01:56:37 <zzo38> At least this is how understand it.
01:56:46 <Vorpal> elliott_, worth it anyway!
01:56:54 <elliott_> That's what I said.
01:56:58 <zzo38> s/how /how I /
01:57:03 <Vorpal> elliott_, oh right
01:57:20 <Vorpal> elliott_, anyway, I tried mosaic because I was interested in computer history
01:57:29 <Vorpal> elliott_, same as you tried PDP emulators
01:57:32 <zzo38> Do you think this is correct? (Knuth hasn't made it entirely clear; but I think this is the intention.)
01:58:01 <elliott_> Vorpal: Yeah, but history enthusiasts don't try and be a Jew in a realistic reenactment of the holocaust.
01:58:09 <zzo38> (That is, use of the name TeX is intended to be governed by trademark law, not copyright law.)
01:58:10 <elliott_> Vorpal: So why did you revisit an interface holocaust?
01:58:21 <Vorpal> elliott_, yet they reenact the civil war and such
01:58:29 <elliott_> Vorpal: Yeah, but they don't use actual guns.
01:58:32 <Vorpal> elliott_, I didn't know the interface
01:58:36 <elliott_> Using Mosaic is like shooting yourself repeatedly.
01:58:43 <Vorpal> elliott_, I found out after
01:58:50 <elliott_> You ... didn't know?
01:58:53 <elliott_> How long ago was this?
01:58:57 <Vorpal> elliott_, a few years
01:59:15 <zzo38> There are two things to look at: The copyright page of Computers & Typesetting Volume B, and the comment at the beginning of tex.web.
01:59:17 <Vorpal> elliott_, like, weeks after I learnt C
01:59:31 <elliott_> http://www.kickstarter.com/projects/1319327833/clubcompy-kids-heart-computers/posts/46045 "Why Teach Programming with BASIC" ... I think I have another person I need to kill.
01:59:33 -!- wareya has quit (Read error: Connection reset by peer).
01:59:51 <zzo38> So I believe it is like a collection copyright. Do you think this is reasonable?
01:59:56 <elliott_> Or perhaps encourage him, and infect his curriculum with insanity; hopefully it will scare everyone subjected to it off from programming forever.
02:00:06 <elliott_> (Yes, that's better than having BASIC-weened programmers running around.)
02:00:09 <elliott_> zzo38: Sure.
02:00:18 -!- wareya has joined.
02:01:03 <Vorpal> elliott_, anyway mosaic isn't that bad
02:01:06 <Vorpal> elliott_, apart from the UI
02:01:09 <Vorpal> and the actual code
02:01:13 <Vorpal> it isn't that bad
02:01:20 <Vorpal> which means only the idea is left
02:01:20 <elliott_> Vorpal: But Mosaic is a UI made out of code.
02:01:22 <Vorpal> and that isn't bad
02:01:28 <Vorpal> elliott_, yes but the non-UI code is also horrible
02:01:31 <Sgeo> Um
02:01:32 <elliott_> The idea is WIMP, and I'd argue WIMP is pretty bad :P
02:01:49 <Sgeo> Does the BASIC referred to have decent control structures?
02:01:54 <Sgeo> Maybe they don't teach GOTO
02:02:12 <Vorpal> Sgeo, what's wrong with 20 GOTO 10?
02:02:23 <Sgeo> Vorpal: Teaching it to kids
02:02:42 <Vorpal> Sgeo, ... did you think I was serious?
02:03:09 <Sgeo> No comment.
02:03:14 <Vorpal> XD
02:03:15 <elliott_> I wonder what makes Sgeo try and apologise for idiots.
02:03:59 <quintopia> nah, everyone knows you sshould teach programming with LOGO
02:04:20 <zzo38> I made a program once that allowed you to write GWBASIC programs without line numbers (something like WEB, actually; there were a few differences, one was that it printed to Epson control codes).
02:04:39 <Sgeo> "Similarly, BASIC's relative lack of abstractions is an advantage to people who've never programmed before." or, you know, you could just choose a language that has those abstractions but doesn't force them
02:04:39 <Vorpal> quintopia, I'm all for scheme. Though if you are targeting pre-high school that might not work out so well for the majority of the cases.
02:04:45 <Sgeo> (Python comes to mind)
02:05:21 <elliott_> Sgeo: Python is a terrible first language to teach.
02:05:28 <elliott_> Or a second language -- or a third language -- or a language.
02:05:40 <Vorpal> quite
02:06:02 <Sgeo> The big issue that I see with it being a first language is that it's different from mainstream languages in the importance of indentation
02:06:07 <Vorpal> elliott_, an imperative one might work better if you are trageting pre-highschool
02:06:12 <Sgeo> People might rely on it too much
02:06:20 <elliott_> Vorpal: Not really.
02:06:28 <elliott_> Sgeo: ...shut up.
02:06:30 <Vorpal> elliott_, not for you and me indeed
02:06:32 <elliott_> Sgeo: these are like 10 year olds.
02:06:35 <elliott_> Vorpal: Imperative seems intuitive only because we know it.
02:06:36 <Vorpal> elliott_, /but/ for the majority of kids
02:06:39 <elliott_> Vorpal: Same with WIMP interfaces.
02:06:42 <elliott_> Vorpal: Same with filesystems.
02:06:53 <elliott_> I can guarantee you that none of these are actually intuitive the first time around.
02:07:22 <Vorpal> elliott_, I think you are wrong, but I give you the benefit of doubt. imperative is like shouting commands. functional is like math.
02:07:50 <elliott_> Vorpal: Filesystems are like filing cabinets. Object space is like goop. Do you have any idea how much trouble my mother has with filesystems?
02:07:57 <elliott_> Yes, you can construct metaphors that seem just about right. That's irrelevant.
02:08:18 <Vorpal> elliott_, like goop? eh
02:08:30 <elliott_> Vorpal: Yes, formless nothingness where you have to dig to find anything.
02:08:34 <zzo38> I make new computer, BASIC and Forth are both built-in to the system. (Others can be installed separately, or cross-compiled from other computers, or whatever.) And BASIC is not recommended for new programs, it is there for compatibility with old computers and old books.
02:08:39 <Sgeo> Filesystems are not like filing cabinets. That you can construct a bad analogy does not mean that all analogies are bad
02:08:43 <Vorpal> elliott_, hm. Are you sure that is a /good/ thing
02:09:00 <Vorpal> elliott_, also I agree filesystems are bad
02:09:02 <elliott_> Vorpal: Of course not.
02:09:09 <elliott_> Vorpal: I was showing how metaphors can make filesystems look good.
02:09:14 <zzo38> This way makes sense?
02:09:15 <elliott_> They're intuitive - everyone knows how to use filing cabinets.
02:09:16 <Vorpal> elliott_, but a file system is not the same as imperative programming
02:09:24 <elliott_> Vorpal: I'm DEMONSTRATING HOW METAPHORS ARE NOT A VALID METHOD OF ARGUMENTATION.
02:09:29 <elliott_> And yes, I used capslock.
02:09:30 <Vorpal> elliott_, I agree they aren't
02:09:40 <elliott_> Imperative -- it's like shouting commands! No, that doesn't really work at all.
02:09:48 <elliott_> (And really, is asking for input a command you shout?)
02:09:51 <elliott_> (The link is very tenuous.)
02:09:59 <Vorpal> elliott_, "WHAT DO YOU WANT?"
02:10:02 <Sgeo> Imperative is a list of instructions.
02:10:07 <Sgeo> There, why not that?
02:10:21 <elliott_> Vorpal: Anyway, even if imperative is "easier" to teach it's still a bad idea.
02:10:23 <zzo38> Sgeo: Yes that is better is more like how imperative is like.
02:10:30 <Vorpal> elliott_, so it is
02:10:43 <Vorpal> elliott_, A HOLLOW VOICE SHOUTS PLUGH (yes, yes, paraphrased)
02:10:45 <elliott_> I'd rather have less people be able to program than a bunch of people who have no idea how to program well.
02:11:05 <Vorpal> elliott_, verily but try to get that past the radar
02:11:29 <Vorpal> elliott_, it will be screams about elitism and segregation all over.
02:11:52 <Vorpal> at least in Sweden
02:12:05 <Vorpal> your politics might be different
02:12:09 <elliott_> Vorpal: Ha, you are so lucky to be able to complain about too *much* populism.
02:12:15 <elliott_> (For some value of populism.)
02:12:25 <elliott_> Vorpal: I think programming at pre-high-school level is more likely to get cries of "but that's *useless*!" here.
02:12:36 <Vorpal> elliott_, well it would that too
02:13:08 <Vorpal> elliott_, not sure this is populism actually. It is generally the Swedish education style. Dumb things down until almost everyone pass.
02:13:56 <elliott_> Vorpal: Yes, well, you see that everywhere because of STATISTICS, we need better STATISTICS, exam results will improve THIS MUCH in five years -- and they do because now they're easy.
02:14:01 <Vorpal> elliott_, this is true up to university level. Then it changes /drastically/
02:14:03 <zzo38> What I do is this my new make computer, even the manual includes information about how to use these built-in programming languages, and you are encouraged to learn it and write a program. But you do not have to write a program to use this computer; you could just insert the DVD and play the game.
02:14:04 <elliott_> Politics is fucked, what's new?
02:14:37 <Vorpal> how zzo...
02:14:59 <Vorpal> (and it doesn't change anything really)
02:15:11 <Vorpal> (it is like pre-installing MSVC or something)
02:16:20 <Sgeo> Going to watch Q-Less soon
02:17:37 <elliott_> Sgeo: It's a Q episode and it's not Enterprise. Prepare for suckage.
02:17:48 <Sgeo> You meant TNG
02:17:49 <Sgeo> ?
02:17:51 <elliott_> Er, yes.
02:17:57 <elliott_> *and it's not set on the Enterprise.
02:17:58 <elliott_> HAHA RETCON
02:18:16 <zzo38> Vorpal: I think it does change some things, the entire computer is very different.
02:18:16 <Sgeo> I suppose it's still mandatory?
02:18:36 <Vorpal> <elliott_> Sgeo: It's a Q episode and it's not Enterprise. Prepare for suckage. <-- I was wondering if it was star trek too
02:19:07 <Vorpal> s/too//
02:19:25 <Sgeo> <3 watching stuff on YouTube
02:19:48 <zzo38> (Such as, you do not have to learn any operating system, you can just put the DVD in and push START button if you want; but you can learn the operating system too (or even modify the operating system) if you want to.)
02:19:50 <j-invariant> like what stuff?
02:19:57 <Sgeo> Star Trek
02:20:38 <Vorpal> Sgeo, split into 10 minute videos?
02:20:52 <elliott_> Probably.
02:20:56 <elliott_> Because BitTorrent is HARD.
02:21:12 <Vorpal> elliott_, won't they get "aaargh remove this" stuff
02:21:12 <Gregor> My wikilog is 528MB
02:21:16 <Vorpal> and thus not have them there
02:21:18 <Gregor> I'm surprised that it's not bigger than that.
02:21:21 <Vorpal> Gregor, wikilog hm?
02:21:25 <Vorpal> what does that do
02:21:32 <Sgeo> I just heard a quote that I seem to remember has some relevance later
02:21:39 <Vorpal> is it like irc logs which you can comment on, using a wiki?
02:21:50 <Gregor> Vorpal: ... no :P
02:21:59 <Vorpal> Gregor, it should be!
02:22:06 <Vorpal> Gregor, (but seriously, what is it?)
02:22:08 <Gregor> Vorpal: That ... is nonsense.
02:22:25 <Gregor> Vorpal: My backup of the wiki is stored in hg, so I have a log external to its own log.
02:22:36 <Vorpal> Gregor, oh nice
02:22:47 <Vorpal> Gregor, it is good to know someone has a backup of it
02:23:24 <Gregor> There are several.
02:24:04 <Vorpal> Gregor, could be that graue lets shit hit the fan and so on
02:24:16 <Vorpal> (vps/dedi/whatever going away or such)
02:25:32 <zzo38> I made in TeXnicard, a variation of Martin Pool's natural compare algorithm, but it does more things such as roman numerals compare, numbers with radix point, numbers with comma as thousands separator, and a few more. It is customizable at run time by the S table.
02:25:43 <zzo38> What is your opinion about this?
02:26:11 <j-invariant> that's very sophisticated
02:26:20 <j-invariant> you could probably use it elsewhere
02:26:52 -!- mycroftiv has joined.
02:27:16 <zzo38> I have put it in its own chapter. You could probably use it elsewhere and put a bibliography citation if you want to.
02:31:36 <elliott_> j-invariant: except it's in TeX :)
02:32:23 <zzo38> elliott_: Actually it is in C.
02:32:43 <elliott_> Oh, okay.
02:33:01 <zzo38> TeXnicard is not written entirely in TeX.
02:34:21 <zzo38> (It does create .tex and .mf and whatever as output files, and then TeX makes the .dvi file, and then TeXnicard will read the .dvi file again and then calls ImageMagick to create .png and so on.)
02:38:08 <zzo38> Is this a proper code in C, assuming both functions have the same return type and arguments? (fractional?compare_left:compare_right)(pa,pb)
02:42:10 <elliott_> zzo38: Probably not.
02:42:18 <elliott_> (*(fractional?compare_left:compare_right))(pa,pb) possibly.
02:44:17 -!- Wamanuz3 has quit (Ping timeout: 265 seconds).
02:44:43 <Vorpal> zzo38, does it handle comma as decimal separator (Swedish use that)
02:44:44 <zzo38> elliott_: Actually it looks like it compiled without error.
02:44:54 -!- zeotrope has joined.
02:44:59 <zzo38> Vorpal: You can customize those things by modifying the S table.
02:45:29 <elliott_> zzo38: Plenty of invalid programs compile without error.
02:45:31 <elliott_> zzo38: What compiler?
02:45:41 <zzo38> elliott_: GNU C
02:45:54 <elliott_> zzo38: Try -std=c89 -Wall -pedantic.
02:45:59 <Vorpal> elliott_, if both return function pointers
02:46:03 <Vorpal> they it sounds valid
02:46:05 <elliott_> zzo38: That will probably tell you it's not valid C90.
02:46:09 <Vorpal> but I won't promise you that
02:46:14 <elliott_> Vorpal: "(fractional?compare_left:compare_right)(pa,pb)" I am not sure this is valid.
02:46:22 <elliott_> I think you need to do (*f)() in such a complex expression.
02:46:30 <Vorpal> elliott_, hm maybe
02:46:58 <Vorpal> elliott_, who knows
02:47:24 <Vorpal> elliott_, function pointer syntax is a bit whacky really
02:56:06 <elliott_> zzo38: did you get an error?
03:00:39 <elliott_> It also should be kept in mind that 'bastards' is often used in English as a generic derogatory term, not necessarily relating to the marital status of one's parents.[3]
03:04:59 <elliott_> "Then it makes even less sense, with no moving parts there isn't anything with a velocity.
03:04:59 <elliott_> A shutter requiring the energy of a nuclear bomb to work is much cooler to think about."
03:05:23 <elliott_> j-invariant: so have you built that infinite energy machine yet
03:06:10 <j-invariant> I was thinking of using it to build a maxwell demon
03:06:29 <j-invariant> but in that case it would have to know where it was, as well as where every air particle is
03:06:58 <j-invariant> that's not really the kind of abstract information I was trying to exploit
03:09:33 <elliott_> j-invariant: i think the issue is this: fundamentally, infinite information != infinite energy
03:09:42 <elliott_> j-invariant: infinite information *generated according to physics* = infinite energy
03:09:49 <elliott_> but this box basically violates physics, you can't exploit any byproducts of it
03:10:32 <j-invariant> lol
03:10:36 <j-invariant> yeah I guess os
03:10:50 <Sgeo> Information confuses me
03:15:49 -!- variable has quit (Read error: Operation timed out).
03:16:07 -!- variable has joined.
03:21:23 <elliott_> j-invariant: do you know what complexity class Coq is?
03:21:35 <elliott_> j-invariant: it's bigger than PR (has Ackermann) but smaller than R (obviously)
03:21:41 <elliott_> Wikipedia lists no classes in-between those two
03:22:13 <elliott_> alternatively what type of automaton it is
03:26:14 <Sasha> BARTYOUWANNASEEMYNEWCHAINSAWANDHOCKEYMASK
03:27:34 <j-invariant> elliott_: might have to understand a normalization proof to get a handle on that - I have absolutely no idea
03:27:57 <elliott_> j-invariant: hehe yeah
03:30:44 <quintopia> coq guarantees halting
03:30:46 <quintopia> ?
03:30:57 <j-invariant> yes
03:32:24 <elliott_> quintopia: yes.
03:32:29 <elliott_> quintopia: if it did not, it would be inconsistent.
03:32:51 <elliott_> _|_ is a proof of anything. also, you would have a _type_ that doesn't halt i.e. _|_ : Set and I have no fucking clue what that would mean
03:32:55 <elliott_> but it sounds very scary :-)
03:33:57 <quintopia> i don't see why it would be inconsistent? wouldn't it just be incomplete in a different way? (i have never used coq so i need more exposition)
03:35:02 <elliott_> quintopia: because _|_ would prove everything
03:35:04 <elliott_> proofs are values
03:35:15 <elliott_> if you know Haskell --
03:35:19 <elliott_> you can initialise any value to undefined
03:35:27 <elliott_> thus, undefined is a value of every type
03:35:28 <elliott_> ==
03:35:33 <elliott_> thus, undefined is a proof of every proposition
03:35:33 <elliott_> in Coq
03:36:11 <quintopia> huh
03:36:41 <quintopia> is it coq/haskell tradition to call bottom undefined? (i don't really know haskell either)
03:36:44 <j-invariant> p : P means that p is a proof of P. If we can always reduce p to a normal form the we can make the following argument:
03:37:03 <j-invariant> There is no proof of false because there is no normal form proof of false
03:37:21 <elliott_> <quintopia> is it coq/haskell tradition to call bottom undefined? (i don't really know haskell either)
03:37:22 <elliott_> haskell has
03:37:25 <elliott_> undefined = error "undefined"
03:37:31 <elliott_> but it's just haskell tradition
03:37:37 <elliott_> coq has no _|_-relevant traditions, as it has no _|_ :)
03:38:39 <quintopia> j-invariant: but being less than total recursive makes it impossible to guarantee p can always be reduced to a normal form and therefore the argument fails?
03:38:49 <Sgeo> Coq has no _|_?
03:38:50 <Sgeo> o.O
03:39:12 <j-invariant> quintopia: what do you mean less than total recursive?
03:39:55 <Vorpal> elliott_, does agda always guarantee termination as well?
03:39:58 <quintopia> < elliott_> j-invariant: it's bigger than PR (has Ackermann) but smaller than R (obviously)
03:40:20 <Vorpal> PR?
03:40:24 <Vorpal> which one is that now again
03:40:29 <elliott_> Vorpal: primitive recursive
03:40:32 <j-invariant> every primitive recursive function is total
03:40:33 <Vorpal> elliott_, oh right
03:40:36 <elliott_> and agda does, unless you tell it not to, in which case you can do whatever you want
03:40:42 <Vorpal> elliott_, ah
03:40:43 <elliott_> (this is used an uncomfortably lot)
03:40:49 <Vorpal> ouch
03:41:02 <Vorpal> elliott_, it should really only be used to make a main loop or such
03:41:08 <Vorpal> that is what I feel
03:41:11 <j-invariant> 'Solvable groups are sometimes called "soluble groups," a turn of phrase that is a source of possible amusement to chemists. ' <-- hear that chemists??? possible amusment!
03:41:15 <elliott_> Vorpal: you don't need that
03:41:18 <j-invariant> http://mathworld.wolfram.com/SolvableGroup.html
03:41:19 <Vorpal> elliott_, oh?
03:41:20 <elliott_> say if you have a codata IO monad :-)
03:41:20 <quintopia> j-invariant: my bad...i meant the name of the class of all computable functions
03:41:34 <Vorpal> elliott_, ah
03:41:40 <elliott_> j-invariant: oh man i feel this possible amusement bubbling up in my gut
03:41:41 <Vorpal> elliott_, it has that sort of stuff
03:41:43 <elliott_> or is that indigestion
03:41:47 <Vorpal> elliott_, or does it?
03:41:48 <elliott_> Vorpal: well no agda doesn't :D
03:41:48 <elliott_> afaik
03:41:49 <j-invariant> quintopia: all computable functions are total
03:41:52 <Vorpal> elliott_, right
03:42:01 <Vorpal> elliott_, does any language?
03:42:28 <Vorpal> elliott_, I mean, any implemented one
03:42:36 <elliott_> Vorpal: no, but thankfully there are only like three languages like Coq and Agda. :)
03:42:39 <j-invariant> it's just that you can't make a programming language that matches that exactly
03:42:44 <elliott_> j-invariant: yes you can
03:42:44 <quintopia> j-invariant: so is my statement correct about said class? is that the reason the proof fails?
03:42:48 <Vorpal> elliott_, which is the third one?
03:42:50 <elliott_> j-invariant: http://esolangs.org/wiki/Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php
03:42:56 <Sgeo> http://damienkatz.net/2008/03/what_sucks_abou.html
03:42:59 <elliott_> Vorpal: Epigram? :p
03:43:02 <Vorpal> elliott_, oh
03:43:04 <Vorpal> elliott_, 1 or 2?
03:43:05 * Sgeo decides that the criticisms of if are braindead
03:43:09 <j-invariant> I mean in a Turing machine
03:43:12 <Sgeo> I get the reordering thing though
03:43:33 <elliott_> j-invariant: i'm just trolling :)
03:43:39 <j-invariant> most languages step over the line, and you have a lot of programs which never halt. Coq and others don't cross the line but they try to get close to it
03:43:42 <elliott_> j-invariant: also you can if you acecpt the undefined behaviour of not halting when given an invalid program
03:43:44 <elliott_> *accept
03:43:48 <j-invariant> elliott_: no it's a good point I shouldnt' make that assumption implicitly
03:44:08 <elliott_> well super-turing languages are pretty useless :p
03:44:22 <elliott_> and sub-turing languages requiring a super-turing machine to run with full error reporting triply so
03:44:27 <Sgeo> "But it also means you can't distinguish easily at runtime between a string and a list, and especially between a string and a list of integers."
03:44:40 <Vorpal> elliott_, actually super-turing languages are very useful. But not usable
03:44:43 <elliott_> typing [97,98] into erlang returns "ab"
03:44:43 <elliott_> :)
03:44:45 <Sgeo> I can understand how Erlang's string stuff has problems... that's not really one of them
03:44:45 <j-invariant> lol
03:45:02 <elliott_> not having a char type is pretty lame imo but whatever
03:45:04 <Vorpal> elliott_, this is correct. It is the REPL trying to be "helpful"
03:45:12 <j-invariant> elliott_: heheh we should get quad to do a blog post on that
03:45:18 <elliott_> Vorpal: It is not helpful if you have some data which happens to be all in ASCII range
03:45:22 <elliott_> Vorpal: if it does unicode, well, wow
03:45:29 <elliott_> suddenly everything prints as a string!
03:45:37 <elliott_> j-invariant: it's a more valid complaint than having to write a tiny type signature :-P
03:45:38 <Vorpal> elliott_, I'm not sure what it does to random unicode.
03:45:39 * Vorpal tries
03:45:48 <elliott_> Vorpal: maybe a HEURISTIC
03:45:55 <elliott_> ((#\[) (let ((body (parse)))
03:45:55 <elliott_> (cons body (parse))))
03:45:58 <elliott_> :( this makes my code uglier
03:45:59 <Vorpal> 1> [$ä].
03:45:59 <Vorpal> "ä"
03:45:59 <Vorpal> 2> [$¬].
03:45:59 <Vorpal> "¬"
03:46:01 <Vorpal> WELLL
03:46:04 <Sgeo> That's a REPL problem really
03:46:04 <elliott_> ¬ is latin-1
03:46:09 <Vorpal> elliott_, oh fair enough
03:46:15 <Vorpal> 3> [$→].
03:46:15 <Vorpal> [8594]
03:46:18 <elliott_> lol.
03:46:31 <elliott_> Sgeo: it's a problem with the language not encoding rich enough information into values
03:46:58 <Vorpal> elliott_, so the reply tries to be helpful. Also since erlang is dynamically typed there isn't that much point in adding a char type.
03:47:25 <Sgeo> "Give me memory, or give me death!"
03:47:32 * Sgeo reads
03:47:33 <elliott_> sweet, r5rs doesn't even have command line argument facilities
03:47:36 <Sgeo> Ok, THAT looks serious
03:47:44 <Vorpal> elliott_, I bet r6rs has
03:47:57 <elliott_> Vorpal: yeah it also has an aborted fetus sitting on top of a throne pooping on people who like the language too much
03:48:03 <elliott_> (not really, but R6RS is of comparable horribleness)
03:48:06 <Vorpal> right
03:48:12 <elliott_> note: i am sleepy
03:48:25 <Vorpal> <elliott_> Sgeo: it's a problem with the language not encoding rich enough information into values <-- possibly, but dynamically strongly typed sounds... weird
03:48:38 <elliott_> The following top-level program obtains the first argument from the command line via the command-line procedure from the (rnrs programs (6)) library (see library chapter on “Command-line access and exit values”). It then opens the file using open-file-input-port (see library section on “)”, yielding a port, i.e. a connection to the file as a data source, and calls the get-bytes-all procedure t
03:48:38 <elliott_> o obtain the contents of the file as binary data. It then uses put-bytes to output the contents of the file to standard output:
03:48:39 <elliott_> indeed.
03:49:51 <Vorpal> <Sgeo> http://damienkatz.net/2008/03/what_sucks_abou.html <-- unidiomatic use of if. It is not like if of something like C
03:49:52 <j-invariant> group theory is so fucking complicated
03:50:10 <Vorpal> of course you need to handle all variants
03:50:18 <Vorpal> this is by design
03:50:58 <Vorpal> anyway it is the wrong way to do it in those examples
03:51:01 <elliott_> Vorpal: damien katz wrote couchdb FWIW.
03:51:08 <Vorpal> elliott_, huh
03:51:12 <elliott_> Vorpal: so I _think_ he probably knows that ;)
03:51:21 <Vorpal> elliott_, the first if example: should be case
03:51:34 <Vorpal> the second one: function with two entry clauses
03:52:48 <Vorpal> "Erlang string operations are just not as simple or easy as most languages with integrated string types." <-- actually they work fairly well in my experience
03:53:15 * Sgeo ponders falling in love with Erlang
03:53:44 <Vorpal> elliott_, also he criticises it for single assignment. I rest my case on this point.
03:54:17 <elliott_> Vorpal: it looks like a bit of a rant. considering he created and maintains a _very_ popular, complex Erlang system.
03:54:34 <Sgeo> I think the memory thing is possibly a valid thing, assuming he's telling the truth
03:54:41 <elliott_> "case should_foo(X) of
03:54:41 <elliott_> true -> foo();
03:54:41 <elliott_> false -> ok
03:54:41 <elliott_> end"
03:54:43 <elliott_> Now that is stupid.
03:55:09 <Vorpal> elliott_, well yes, but what would haskell do?
03:55:20 <elliott_> if should_foo x then foo else ok
03:55:20 <Sgeo> Vorpal, Erlang isn't pure, Haskell is
03:55:29 <elliott_> single-assignment is stupid in an impure language
03:55:29 <Vorpal> elliott_, you could use if for it yes
03:55:52 <elliott_> Sgeo: "Update: On OS X with the most recent Erlang VM (R12B-1, emulator version 5.6.1), I can no longer reproduce this problem. Yay!"
03:55:52 <elliott_> Vorpal: nope
03:56:00 <Vorpal> Sgeo, erlang is pure if you stay away from IO and ETS basically (okay process dict too)
03:56:00 <elliott_> bar() ->
03:56:00 <elliott_> if
03:56:00 <elliott_> should_foo(X) -> % compile error on this line!
03:56:00 <elliott_> foo();
03:56:00 <elliott_> true -> ok
03:56:01 <elliott_> end.
03:56:03 <elliott_> This limitation is due to Erlang's "when clause" pattern matching engine, which needs certain guarantees from the expressions for static optimization. Erlang allows a subset of the built-in functions (BIFs) in conditional expressions, but no user defined functions can be called whatsoever.
03:56:07 <elliott_> Vorpal: from the article
03:56:09 <Sgeo> elliott_, awesome
03:56:21 <Vorpal> <elliott_> if should_foo x then foo else ok <-- that's haskell for it?
03:56:26 <Vorpal> then it is about as bad
03:56:30 <Vorpal> not quite
03:56:32 <Vorpal> but similar
03:56:34 <elliott_> Vorpal: it doesn't mention True and False for no reason.
03:56:45 <elliott_> Vorpal: anyway Erlang should at /least/ have realif
03:56:46 <Vorpal> elliott_, fair enough
03:56:50 <elliott_> if its "if" statement is so useless :p
03:56:59 <Vorpal> elliott_, realif?
03:57:13 <elliott_> real if
03:57:18 <Vorpal> I would agree that records have annoying syntax however
03:57:18 <elliott_> one that accepts _any_ condition
03:57:26 <Vorpal> elliott_, it does
03:57:32 <elliott_> <elliott_> bar() ->
03:57:32 <elliott_> <elliott_> if
03:57:32 <elliott_> <elliott_> should_foo(X) -> % compile error on this line!
03:57:32 <elliott_> <elliott_> foo();
03:57:32 <elliott_> <elliott_> true -> ok
03:57:32 <Vorpal> elliott_, you can add any number of clauses?
03:57:33 <Sgeo> elliott_, where can user-derived functions be used in tests?
03:57:33 <elliott_> <elliott_> end.
03:57:35 <elliott_> <elliott_> This limitation is due to Erlang's "when clause" pattern matching engine, which needs certain guarantees from the expressions for static optimization. Erlang allows a subset of the built-in functions (BIFs) in conditional expressions, but no user defined functions can be called whatsoever.
03:57:39 <elliott_> Clearly not.
03:57:41 <elliott_> <elliott_> bar() ->
03:57:43 <elliott_> <elliott_> if
03:57:45 <elliott_> <elliott_> should_foo(X) -> % compile error on this line!
03:57:47 <elliott_> <elliott_> foo();
03:57:49 <Vorpal> elliott_, yes that is an issue
03:57:49 <elliott_> <elliott_> true -> ok
03:57:51 <elliott_> <elliott_> end.
03:57:51 <Vorpal> elliott_, a large issue
03:57:53 <elliott_> <elliott_> This limitation is due to Erlang's "when clause" pattern matching engine, which needs certain guarantees from the expressions for static optimization. Erlang allows a subset of the built-in functions (BIFs) in conditional expressions, but no user defined functions can be called whatsoever.
03:57:57 <elliott_> Vorpal: ^
03:57:57 <Vorpal> elliott_, that iirc is working on being fixed
03:57:59 <elliott_> That is not real if.
03:58:00 <Vorpal> elliott_, already partly fixed
03:58:03 <Vorpal> elliott_, right
03:58:06 <elliott_> Nice language revision.
03:58:12 <elliott_> Isn't it meant to be stable?
03:58:23 <Vorpal> elliott_, it won't break anything existing to add this
03:58:24 <Sgeo> What, exactly, do large Erlang programs do currently?
03:58:34 <elliott_> Sgeo has a knack of asking terrible questions
03:58:36 <Vorpal> elliott_, it will let more code compile, it won't let less code compile
03:58:38 <elliott_> *knack for
03:58:49 <Vorpal> elliott_, yes I'm trying to figure out what the hell he meant
03:59:02 <elliott_> Vorpal: I think he means to combat the IMPOSSIBLE PROBLEM OF "IF".
03:59:09 <Vorpal> oh
03:59:18 <Vorpal> elliott_, I never found it a problem in practise
03:59:42 <Vorpal> "Update: On OS X with the most recent Erlang VM (R12B-1, emulator version 5.6.1), I can no longer reproduce this problem. Yay!" right this is old
03:59:47 <Vorpal> R12B-1 ?
03:59:48 <elliott_> http://catseye.tc/projects/wumpus/src/wumpus.erl THIS IS THE MOST ENTERPRISEY WUMPUS GAME EVER.
03:59:49 <Vorpal> very old
03:59:54 <elliott_> Vorpal: the post was posted 2008.
03:59:55 <elliott_> as you can see.
04:00:00 <Vorpal> elliott_, even then it was somewhat old
04:00:10 <elliott_> Vorpal: no, it was the most recent.
04:00:12 <elliott_> obviously.
04:00:13 <elliott_> as he says.
04:00:17 * elliott_ does not want to live in a world where 2008 is somewhat old, incidentally.
04:00:17 <Vorpal> elliott_, erlang got unicode after R12B. It has lots of new stuff since then
04:00:24 <elliott_> <elliott_> http://catseye.tc/projects/wumpus/src/wumpus.erl THIS IS THE MOST ENTERPRISEY WUMPUS GAME EVER.
04:00:29 <elliott_> behold the enterprisey
04:00:32 <Vorpal> * elliott_ does not want to live in a world where 2008 is somewhat old, incidentally. <-- eh?
04:00:38 <Vorpal> elliott_, wow
04:00:48 <elliott_> yes, I think I don't like cpressey any more
04:00:53 <elliott_> it's ... perverse
04:01:15 <Vorpal> elliott_, I wouldn't use a record when you have like 4 members
04:01:20 <Vorpal> I would just use a tuple
04:01:28 <elliott_> Vorpal: Should data structures ever have more than four members?
04:01:45 <Vorpal> elliott_, well, sometimes that might be the best option
04:01:51 <elliott_> Vorpal: (Apart from boring enterprisey database stuff (like table of personal information).)
04:02:00 <Vorpal> elliott_, what about a bf compiler
04:02:12 <elliott_> Admittedly, that wumpus code has a nice antipattern: passing around a gigantic world state and returning new versions of it.
04:02:21 <elliott_> It's really stupid because ... it's imperative, you just hide it behind a lot of mess.
04:02:31 <Vorpal> elliott_, heh
04:02:43 <Vorpal> elliott_, no it doesn't
04:02:47 <Vorpal> elliott_, digraph....
04:02:53 <elliott_> Vorpal: ?
04:02:53 <Vorpal> digraph uses ETS
04:02:58 <elliott_> %% The state of almost the entire game is encapsulated into one record,
04:02:58 <elliott_> %% so it can more easily be passed between functions.
04:02:58 <elliott_> -record(game,
04:02:58 <elliott_> {
04:02:58 <elliott_> map, % a digraph representing the cave system
04:02:59 <elliott_> location, % a vertex representing the player's current location
04:02:59 <Vorpal> (no idea why)
04:03:00 <elliott_> arrows, % an integer representing the number of arrows left
04:03:02 <elliott_> nasty % a list of hazard records representing the nasties
04:03:04 <elliott_> }).
04:03:06 <Vorpal> elliott_, digraph uses ETS!
04:03:13 <elliott_> Shaddap.
04:03:16 <Vorpal> elliott_, it is impure
04:03:38 <elliott_> "Parts of this program were derived from the Erlang example program bf.erl."
04:03:41 <elliott_> Now that's some example program.
04:04:08 <Vorpal> elliott_, that game records will look like this tuple: {game,<ets table reference>,'strange$atom$whatever',42,[a,list,of,some,sort]}
04:04:12 <Vorpal> record*
04:04:40 <elliott_> Heh.
04:04:53 <Vorpal> elliott_, I don't remember what an ets table reference looks like
04:04:59 <Vorpal> elliott_, probably /not/ <foo>
04:05:20 <Vorpal> elliott_, could be an atom, could be something else
04:06:10 <zzo38> I recently made a variant of Wumpus game, some of the differences are: that you do not always know exactly where you are, that the game is scored, that there is a time limit, etc...
04:06:35 <Vorpal> the zzo edition of the world would be a strange place
04:06:46 <elliott_> 0mg cPR£ESSY!!!! http://catseye.tc/projects/openflax/openflax_core/doc/design/api.html itz 1nvalid
04:06:57 <Sgeo> Maybe I'll stay away from Erlang
04:07:10 <Vorpal> Sgeo, erlang is decent. But it isn't perfect.
04:07:18 <Vorpal> that sums it up pretty well I think.
04:07:38 <Vorpal> elliott_, probably wrong mime type
04:07:48 <elliott_> Vorpal: yeah he needs to set it as text/html ... or de-xhtml everything :)
04:08:21 <Vorpal> elliott_, or add those quotes. works too
04:08:29 <elliott_> Vorpal: Not if it has other errors :P
04:08:44 <Vorpal> elliott_, well he could fix those as well
04:09:11 <Vorpal> elliott_, probably easier than reconfiguring web server
04:09:18 <zzo38> It is part of the CGA Collection, which can be downloaded at: http://zzo38computer.cjb.net/GAMES/cgacoll.zip
04:09:18 <elliott_> Vorpal: He already has an .htaccess of overrides.
04:09:28 <Vorpal> elliott_, oh?
04:09:36 <Vorpal> elliott_, apache is shit
04:09:38 <elliott_> When pikhq bugged him into fixing the types.
04:09:46 <elliott_> Vorpal: Pretty sure he uses a shared host.
04:09:51 <Vorpal> ah
04:10:11 <zzo38> Did you try the CGA Collection games?
04:10:20 <elliott_> No.
04:11:01 <zzo38> It has 27 games.
04:11:18 <Vorpal> okay and?
04:12:15 -!- poiuy_qwert has joined.
04:12:44 <zzo38> Maybe you can try one or more of them.
04:12:56 <Vorpal> zzo38, works under linux as is?
04:13:17 <zzo38> Vorpal: No, they are all DOS programs. But maybe you can run them in a DOS emulator they should work.
04:13:26 <Vorpal> zzo38, too lazy to even consider it
04:13:44 <elliott_> zzo38: what port is your irc server
04:13:47 <zzo38> (Or, recompile them for Linux; although doing so probably requires modifying the programs)
04:13:51 <zzo38> elliott_: Port 194
04:14:17 <zzo38> (Maybe I should specify it in my userpage?)
04:14:34 <Vorpal> yeah no one uses it, though it is allocated
04:14:49 <elliott_> zzo38: Incorrect! zzo38 uses it!
04:15:07 <elliott_> * cthulhu :Summoning user to IRC
04:15:07 <elliott_> * summon :Unable to SUMMON at this time
04:15:12 <elliott_> zzo38: What is it meant to do.
04:15:55 <zzo38> elliott_: You cannot summon too often.
04:15:58 <Vorpal> elliott_, presumably SUMMON from original RFC
04:16:30 <zzo38> (I made it so after SUMMON is used, it sets a timer and you cannot summon anymore until the timer is expired)
04:16:43 <zzo38> You can use the HELP SUMMON command for help, too.
04:17:29 <Vorpal> "The only solution we've found is to create a parent watchdog process to monitor the VM and restart it if it crashes." <-- erlang includes this
04:17:49 <Vorpal> and iirc the bug that it was killed too was fixed
04:19:30 <elliott_> zzo38: How was SUMMON CTHULHU broken?
04:21:17 <Vorpal> "Anything in Erlang using a GUI, like the debugger or process monitor, is hideous on Windows and pretty much unusable on OS X." <-- aka Tk.
04:21:34 <Vorpal> (been fixed since in many cases)
04:22:57 <Vorpal> (still I can live with tk, some people can't(
04:22:57 <coppro> Vorpal: No
04:23:01 <coppro> the VM /itself/ was failing
04:23:04 <Vorpal> s/(/)/
04:23:08 <Vorpal> coppro, on os x?
04:23:09 <coppro> the /entire VM/ needed to be restarted
04:23:14 <Vorpal> coppro, yes I know
04:23:22 <Vorpal> coppro, thus the heart process
04:23:29 <Vorpal> which has been fixed since
04:23:57 <coppro> ok, fixed since, but you made it sound like it was never the case
04:24:04 <Vorpal> coppro, no I didn't
04:24:13 <Vorpal> <Vorpal> "The only solution we've found is to create a parent watchdog process to monitor the VM and restart it if it crashes." <-- erlang includes this <Vorpal> and iirc the bug that it was killed too was fixed
04:24:23 <Vorpal> coppro, how was this not clear
04:25:55 <Vorpal> ..
04:36:54 -!- zzo38 has quit (Remote host closed the connection).
04:48:22 -!- zzo38 has joined.
04:49:22 <zzo38> I fixed it.
04:50:11 <elliott_> But I broke it.
04:50:30 <zzo38> elliott_: You did? Then *you* fix it this time.
04:50:39 <elliott_> Oh no
04:53:40 <zzo38> Now it should automatically do FLUSH when doing PART or QUIT
05:01:38 <Sgeo> Latest xkcd was meh
05:02:45 <zzo38> It seems Martin Pool's natural compare algorithm is no book or journal, how can I cite it in the bibliography, then?
05:07:03 <elliott_> zzo38: http://sourcefrog.net/projects/natsort/ presumably
05:07:49 <zzo38> elliott_: I looked at that URL, I can see no information about citations there.
05:08:00 <elliott_> zzo38: Cite it as http://sourcefrog.net/projects/natsort/.
05:08:05 <elliott_> Martin Pool, Natural Order String Comparison; http://sourcefrog.net/projects/natsort/.
05:08:07 <elliott_> Or whatever.
05:10:13 <zzo38> OK I did like that.
05:11:12 <zzo38> Actually I made it slightly different to match the style of the citation for the random number algorithm.
05:12:46 <zzo38> But the other one has a date it says "Marsaglia (July 2003)" should this one have a date too?
05:14:17 <zzo38> Or is there no date?
05:17:15 <elliott_> zzo38: There is probably a date, but it doesn't mention one, so who knows.
05:19:34 <zzo38> I will just omit the date for now.
05:22:00 -!- elliott_ has quit (Quit: Leaving).
05:24:51 <Sgeo> http://www.youtube.com/watch?v=QyvJI2nch24
05:31:14 <Sgeo> My Cryptography & Computer Security professor: " When you speak of me, speak well."
05:37:48 <Sgeo> I have located the location of the music box
05:39:05 -!- zzo38 has quit (Remote host closed the connection).
05:41:35 <j-invariant> Q: What's hot, chunky, and acts on a polygon? A: Dihedral soup.
05:41:44 <j-invariant> http://mathworld.wolfram.com/DihedralGroup.html
05:41:59 <j-invariant> "Renteln and Dundes (2005) give the following (bad) mathematical joke about the dihedral group"
05:45:04 <Sgeo> Unless someone tells me what's so bad about Racket other than not being Scheme-like enough when it was called PLT Scheme, I am going to try it
05:45:46 <j-invariant> Sgeo: the only bad thing about racket is the stupid name
05:46:34 <Sgeo> IMO, the only stupid names are ungoogleable
05:47:18 <Sgeo> Fuck you, factor newspeak j c
05:47:26 <j-invariant> heh
05:49:31 <Sgeo> I've heard good things about Racket's module system
05:51:41 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
06:22:46 <Sgeo> I think I like Racket
06:22:57 <Sgeo> Although so far haven't seen anything that's Racket-specific
06:23:01 <coppro> lol
06:23:11 <Sgeo> Well, some stuff, but it's trivial and not too relevant to me liking it
06:24:15 <coppro> w/in 48
06:24:25 <j-invariant> the macro debugger is great
06:24:27 <j-invariant> Sgeo: try that out
06:24:53 <Sgeo> coppro, hm?
06:31:12 <Sgeo> The Racket's guide's length example isn't tail recursive
06:31:26 <Sgeo> They know *shrug*
06:35:24 <j-invariant> that's odd
06:36:12 <Sgeo> j-invariant, hmm?
06:36:26 <Sgeo> They have an example afterwards making a tail-recursive version
06:36:27 -!- sebbu2 has joined.
06:38:32 -!- sebbu has quit (Ping timeout: 240 seconds).
06:41:14 <Sgeo> o.O at Racket's infix convention
06:44:20 -!- zeotrope has quit (Ping timeout: 264 seconds).
06:46:33 <Sgeo> "The number categories integer, rational, real (always rational), and complex are defined in the usual way"
06:46:36 <Sgeo> Uhhhhh
06:48:16 <quintopia> is there a known diagonal c/2 fuse in GoL?
06:54:35 <quintopia> oh, it seems there is...a very simple one too
06:59:32 <Sgeo> (if (void) #t #f)
06:59:49 <Sgeo> I should probably install Racket at some point
07:01:37 <Sgeo> I don't like the different types of hashes, tbh
07:17:30 <Sgeo> > (rational? (sin 1/2))
07:17:30 <Sgeo> #t
07:17:31 <Sgeo> > (sin 1/2)
07:17:31 <Sgeo> 0.479425538604203
07:17:31 <Sgeo> > (exact? (sin 1/2))
07:17:31 <Sgeo> #f
07:17:43 <Sgeo> Genius!
07:17:53 <j-invariant> is that sarcasm?
07:18:03 <Sgeo> Yes, it is
07:38:26 <j-invariant> Quadrescence: WOW "This statement is out and out slander; it is frankly sick."
07:40:29 <Sgeo> Hm?
07:46:47 -!- calamari has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:08 <Sgeo> (struct dot (x y) #:mutable)
08:03:09 <Sgeo> Grr
08:03:25 <Sgeo> Syntactic forms are allowed to do that with keywords, but regular functions aren't?
08:20:44 -!- Mathnerd314 has quit (Ping timeout: 260 seconds).
08:29:15 <Sgeo> Hmm
08:29:23 <Sgeo> What if I want to use alternate PLaneTs?
08:43:12 -!- a1234567890 has joined.
08:46:10 -!- bsmntbombdood has quit (Quit: Leaving).
08:46:20 -!- bsmntbombdood has joined.
08:49:42 <olsner> hmm, no elliott-variant here today?
08:50:32 <olsner> anyway, I recently discovered that pretty much every clever idea I had about my kernel/user interface already exists in L4
08:50:52 <olsner> I wonder if this means I'll be making an L4 clone, because that'd be a bit boring
08:55:07 <fizzie> Isn't it something like 08:30am in elliott-land? I think he's usually here later in the day.
08:56:55 <fizzie> Well, maybe more 09am, but still.
08:58:32 <olsner> right... but why log out of irc, he should just use it as a messaging service while away
09:07:34 <j-invariant> maybe he switches off his computer
09:11:35 <olsner> j-invariant: that's just absurd!
09:37:23 -!- oerjan has joined.
09:39:27 <oerjan> IS NO ABSURD AT ALL
09:41:49 <Ilari> Heh... 3G IMS (IP Multimedia System) is IPv6-only.
09:42:55 * Sgeo o.Os at Racklog
09:43:48 <Sgeo> I think Racket's goal is to consume all possible uses for any languages into itself.
09:44:07 <Sgeo> It has a LaTeX substitute, a Prolog substitute
09:46:24 <Sgeo> Was about to comment on Factor's presentation stuff, but Racket has that too
10:04:37 -!- MigoMipo has joined.
10:10:32 -!- ais523 has joined.
10:12:31 <ais523> hmm, an unusual side effect of a) being ill, and b) sleeping all day and waking all night
10:12:44 <ais523> is that you end up picking an incredibly dark theme for your operating system
10:12:53 <ais523> also, the 'a' key on my keyboard has become unreliable, which is really annoying
10:13:31 <ais523> but I think that's unrelated
10:19:42 -!- zzo38 has joined.
10:19:50 <ais523> wow, I just got my first spam ever on my callforjudgement email account
10:20:05 <ais523> and it is completely full of apparently deliberate typos
10:20:21 <ais523> to the extent that they've embedded alphanumeric line noise in the middle of about half the words
10:20:33 <zzo38> ais523: Can you add spellcheck to the spam checking program?
10:21:00 <ais523> for a representative line, the spam is apparently from "Danial@kdelbhljaakgltdgkfleh.{SPF_D1}"
10:21:07 -!- oerjan has quit (Quit: leaving).
10:21:14 <ais523> zzo38: hmm, I fear it would cause too many false positives
10:21:36 <Sgeo> Why do spammers do that, exactly?
10:21:46 <ais523> to get round spam filters
10:21:56 <zzo38> I used to use email a long time ago. So, I think any message with tabs in the subject line is probably spam message.
10:21:56 <ais523> it seems that they no longer care if anyone actually reads the spam
10:22:20 <ais523> (likely, it's subcontracted; someone pays someone else to make sure spam is delivered, that person holds up the letter of the agreement)
10:23:01 <zzo38> ais523: Maybe that is how it works.
10:23:09 <ais523> hmm, this theme really shows up what a) has a hardcoded foreground /and/ background, b) hardcodes exactly one of the two
10:23:14 <ais523> white on white ftw
10:24:18 <zzo38> But now days if someone tries to send me spam message they will probably get error due to unreachable SMTP server.
10:24:40 <ais523> elliott for the logs: Brainfuck/w/index.php?title=Talk:Brainfuck/index.php is completely obviously a finite state machine
10:24:47 <ais523> all defined programs halt, thus only use a finite amount of memory
10:24:54 <ais523> and you can just run them to see how much they use
10:26:35 <zzo38> I guess that if you do not care about errors, any valid Brainfuck/w/index.php?title=Talk:Brainfuck/index.php program can run in a normal brainfuck interpreter.
10:28:19 <ais523> indeed
10:28:40 <ais523> also, I think elliott's trying to stop spambots editing the wiki by creating a legitimate page at every title they try to create
10:28:50 -!- Phantom_Hoover has joined.
10:29:09 <zzo38> Some services require my email address to register, so in that case I can start the SMTP server and then when the message is received, I can stop the SMTP server. If they try to send spam message to me later, they will be unable to connect to the SMTP server to send a message!!
10:29:32 <j-invariant> zzo38: but what if the ywant to send you useful information about your account?
10:30:30 <zzo38> j-invariant: They can't. I don't want them to. If I need to know something about my account I will log in and see what happened.
10:31:12 <j-invariant> ok
10:31:31 <j-invariant> this is annoying my program is taking too long to compile
10:31:49 <j-invariant> it seems to be taking a massive effort to complie this single line of code
10:32:25 <zzo38> What program is that?
10:32:53 <j-invariant> it's just a definition that says given functions x -> a and x -> b we have x -> a*b
10:33:08 <ais523> it isn't written in (oklopol's) Clue, is it?
10:33:36 <ais523> (note, there are two esolangs called Clue, it's about time the wiki had a disambiguation page, but I don't think they're both up yet)
10:33:49 <j-invariant> no
10:35:40 <zzo38> Do you like to see natural sort algorithm (and the other algorithms)? See it at: http://sprunge.us/KiaC
10:38:32 <j-invariant> how long have you worked on this code?
10:39:50 -!- cheater99 has quit (Ping timeout: 240 seconds).
10:44:36 <zzo38> I don't remember how long, but I do remember I have started some time this month (I don't remember what day though).
10:47:50 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
10:52:11 <zzo38> ais523: I cannot find oklopol's Clue?
10:53:02 -!- cheater99 has joined.
10:56:46 <ais523> zzo38: it isn't on the wiki
10:56:49 <ais523> it was discussed in-channel a bit
10:57:04 <ais523> but basically, you give a bunch of input/output pairs and the interp bruteforces the actual program
10:57:29 <ais523> most of the interesting construction in the language is designing it so that that actually works in a plausible timeframe, and so that you always get the right program
10:57:37 <ais523> which is done by giving clues, thus the name of the language
10:59:54 <zzo38> ais523: Maybe it should be added into the wiki
11:01:15 -!- Phantom_Hoover has joined.
11:28:45 <Vorpal> morning
11:28:48 <Vorpal> hi ais523
11:39:20 <zzo38> Is the halting-problem always solvable of sub-Turing, if you have a Turing machine to solve it?
11:40:26 <Phantom_Hoover> Vorpal, if elliott joins and I'm not around, give him a clip on the ear from me.
11:40:30 <zzo38> What computational classes is halting problem always solvable for?
11:40:55 <j-invariant> zzo38: lots of languages where every program terminates - that's one class its' decidible for
11:41:00 <j-invariant> decidable*
11:41:07 <Phantom_Hoover> He (or I assume it was he) left some TNT next to the door at Mt. Hoover.
11:41:13 <Phantom_Hoover> The door with a pressure plate.
11:41:31 <Phantom_Hoover> Fortunately, the explosion didn't actually punch through the mountain.
11:42:39 <j-invariant> zzo38: I think there should be sub-Turing languages for which the halting problem is undedicable but I couldn't think of one yet
11:43:50 <Phantom_Hoover> It's decidable for FSAs, isn't it?
11:45:40 <j-invariant> If a language has finite memory you can solve the halting problem by checking if it enters the same state twice
11:46:19 <Phantom_Hoover> Corollary: the halting problem is decidable for C.
11:57:09 <j-invariant> zzo38: I can't figure out an answer to that but very interesting question I hope someone knows
11:58:03 <j-invariant> it does seem like every language for which the halting problem is undecidable is turing equivalent though - I retract my guess from earler
12:00:56 <j-invariant> you can cheat the question (like having a language whose programs are mathematical propositions, if true they compute 1 if false they diverge -- so this language only computes the set {1} but it's halting problem is undecidable) but that's not a good answer
12:12:05 <zzo38> Is it possible to program a halting problem into a string of Typographical Number Theory?
12:13:39 -!- dbc has joined.
12:21:55 <j-invariant> I don't understand "Typographical Number Theory?
12:21:58 <j-invariant> I don't understand "Typographical Number Theory"
12:22:11 <j-invariant> it's like you take Peano Arithmetic and ... call it something else?
12:24:03 <j-invariant> zzo38: The set of positive values of 2y^4x + y^3x^2 - 2y^2x^3 - y^5 - yx^4 + 2y for positive integer inputs are exactly the fibonacci numbers
12:24:41 <j-invariant> zzo38: using more complicated polynomials (higher degree and more than 20 variables) you can encode any turing machines in this way
12:25:46 <Phantom_Hoover> Seriously?
12:26:19 <j-invariant> Phantom_Hoover: yeah it's Hilberts 10th, solved by Matiyasevic and Robinson and others
12:26:29 <j-invariant> ("solved" negatively)
12:26:31 <Phantom_Hoover> Cool.
12:39:16 -!- zzo38 has quit (Remote host closed the connection).
12:40:43 * Phantom_Hoover laughs at some code.
12:41:00 <Sgeo> http://programming-puzzler.blogspot.com/2010/08/racket-vs-clojure.html
12:41:11 <Sgeo> I don't know enough about Racket to comment on those criticisms
12:41:24 <Phantom_Hoover> It's meant to populate Oolite with an ultra-rare type of ship; the probability seems to have been intended to be 0.02.
12:42:10 <Phantom_Hoover> But it does so 30 times, so the probability of seeing it is nearly 0.5.
12:51:29 <Phantom_Hoover> Hey, one of the people on the Oolite board is from Hexham. I should tell elliott.
12:55:16 <Sgeo> http://www.mywot.com/en/scorecard/steam.com
12:55:21 <Sgeo> Geniuses, the lot of them
13:07:42 -!- MigoMipo has quit (Read error: Connection reset by peer).
13:09:37 <Phantom_Hoover> Sgeo, zuh?
13:10:03 <Sgeo> They're acting as thought steam.com is trying to steal Steam passwords
13:13:25 <Phantom_Hoover> Oh, right.
13:43:02 <Sgeo> This episode of DS9 features: Braindead computer security, and medical pseudoscience
13:43:19 <Sgeo> "Humanoids only use a small portion of their brain"
13:55:51 <Phantom_Hoover> God I hate that statement.
13:56:11 <Phantom_Hoover> It's so obviously false for so many reasons.
14:00:49 <Vorpal> <Phantom_Hoover> Vorpal, if elliott joins and I'm not around, give him a clip on the ear from me. <-- sure, one paper clip pushed through the ear (I hope you planned to get earrings anyway!)
14:00:57 <Vorpal> ;)
14:02:30 -!- Sasha has quit (Ping timeout: 240 seconds).
14:03:41 -!- Sasha has joined.
14:07:27 <Sgeo> SG-1's treatment of this plot idea was better
14:09:33 -!- Wamanuz3 has joined.
14:13:50 <Sgeo> Although SG-1 also pulls the same "We only use a small portion of our brains" bullshit
14:28:47 -!- poiuy_qwert has joined.
14:33:05 -!- Mathnerd314 has joined.
14:39:49 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
14:47:26 -!- j-invariant has quit (Quit: leaving).
14:49:08 <cheater99> Sgeo: what plot idea?
14:49:33 <cheater99> oh, with the ancients' learning machines
15:02:32 -!- poiuy_qwert has joined.
15:05:19 <Phantom_Hoover> Huh?
15:08:53 -!- oerjan has joined.
15:16:55 <Deewiant> Phantom_Hoover: What makes it /obviously/ false?
15:17:40 <Vorpal> Deewiant, hi there. been on mc recently?
15:17:52 <Deewiant> Nah
15:17:57 <Vorpal> Deewiant, someone (we haven't found out how) was careless in the TNT room
15:18:08 <Deewiant> Yes, I saw your messages about it earlier (yesterday?)
15:18:10 <Vorpal> Deewiant, me and ehird helped rebuild things.
15:18:20 <Vorpal> Deewiant, a few days ago. Yesterday we were working on the cube
15:18:33 <Deewiant> Right, it was the day before
15:18:59 <Vorpal> Deewiant, took a few days to repair it, so I would say at least 4 days ago (point of discovery)
15:19:17 <Deewiant> 2010-12-27 04:56:04#esoteric: ( Vorpal) Deewiant, your wonders of the world looks blown up
15:19:28 <Vorpal> hm
15:19:31 <Vorpal> oh right
15:19:34 <Vorpal> middle of night
15:19:43 <Vorpal> I meant in "number of times I slept"-days
15:19:46 <Deewiant> I'd call that "early morning" already ;-)
15:20:03 <Deewiant> But yeah, 3 sleep-times ago
15:20:12 <Vorpal> Deewiant, or such
15:20:45 <Vorpal> Deewiant, anyway, we did not add back the TNT, and some signs in the cactus/reed/wheat section are missing (we didn't know how they were placed)
15:21:15 <Vorpal> Deewiant, but it blew out a large area. Even sand, gravel and clay on the opposite side
15:21:19 <Deewiant> Fair enough
15:21:45 <Vorpal> and actually the outer wall behind clay was missing
15:21:49 <Deewiant> I don't remember how exactly the signs were placed either, it doesn't exactly matter whether it's precisely the same ;-P
15:22:29 <Phantom_Hoover> Deewiant, I was at a Boxing Day party when it happened, so that gives you a clue as to the date.
15:22:47 <Vorpal> Phantom_Hoover, no that was the day after iirc?
15:23:00 <Phantom_Hoover> Well, I know you blamed me.
15:23:10 <Vorpal> Phantom_Hoover, we /asked/ you if you had done it
15:23:38 <Vorpal> Deewiant, anyway, if you add TNT again that isn't behind glass and inside an obsidian room we will be rather disappointed (and also not help if it happens again)
15:24:12 <Deewiant> Did you rebuild it so that there's space for obsidian on all sides? ;-)
15:24:26 <Vorpal> Deewiant, well, you need more than that
15:24:58 <Deewiant> It's impossible to put on display in a room like that without leaving at least some direction open for destruction
15:24:59 <Vorpal> Deewiant, you need some sort of zig-zag walkway to it. So the blast doesn't get through the "door"
15:25:07 <Deewiant> Quite
15:25:13 <Vorpal> Deewiant, actually just a zigzag walk works
15:25:28 <Vorpal> Deewiant, anyway, a single TNT behind glass might be acceptable
15:25:30 <Deewiant> Right, but that already takes up more space so it's a different kind of room.
15:25:35 <Vorpal> (like the pumpkin)
15:27:52 <Vorpal> what
15:27:55 <Vorpal> the TNT is there again
15:28:11 <Vorpal> oh wait
15:28:28 <Vorpal> Deewiant, yesterday the server crashed. Some chunks were reverted then it seems. Including that chunk
15:28:48 <Vorpal> Deewiant, XD
15:30:27 <Phantom_Hoover> Vorpal, how fortunate.
15:30:28 <Deewiant> heh
15:30:37 <Phantom_Hoover> TOO FORTUNATE
15:30:41 <Vorpal> Phantom_Hoover, not really, since i had to re-empty a lava lake
15:30:47 <Vorpal> that also reverted
15:34:21 <Phantom_Hoover> Deewiant, come see the Cube!
15:38:01 <Deewiant> Perhaps later
15:38:10 <Deewiant> Phantom_Hoover: You also didn't answer my question
15:38:26 <Phantom_Hoover> Oh, right.
15:38:33 <Phantom_Hoover> What makes what obviously false?
15:38:42 <Phantom_Hoover> Oh, the 10% thing.
15:39:11 <Phantom_Hoover> Well, for one thing, something like that would almost certainly be evolved out quickly.
15:39:46 <Phantom_Hoover> I mean, one of the reasons childbirth is more dangerous for humans than other animals is the much larger size of the baby's heade.
15:39:48 <Phantom_Hoover> *head
15:40:03 <Phantom_Hoover> So you have a selection pressure towards smaller brains right there.
15:40:26 <Deewiant> Fair enough
15:40:35 <Deewiant> That issue wasn't obvious to me, though ;-)
15:48:38 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
16:03:41 -!- Phantom_Hoover has joined.
16:29:04 -!- Phantom_Hoover_ has joined.
16:31:26 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
16:40:00 <oerjan> argh the forum rss points all the links to voxelperfect.net even if i subscribe from esolangs.org
16:51:11 <Phantom_Hoover_> oerjan, weird, but surely not that bad?
16:51:41 <oerjan> Phantom_Hoover_: you didn't notice the discussion that voxelperfect.net has expired?
16:51:51 <Phantom_Hoover_> It has‽
16:52:00 <oerjan> i put it in the topic but _someone_ has changed it again
16:52:08 -!- ehird has joined.
16:52:24 <ehird> Guess what I'm not using.
16:52:31 <oerjan> IT'S A TIME TRAVELLER FROM THE PAST
16:52:48 <oerjan> ehird: deodorant?
16:52:49 <ehird> Oh, right, I don't use this nick any more, do I...\
16:52:52 -!- ehird has changed nick to elliott.
16:53:01 <elliott> oerjan: I will ignore that insult...THIS TIME.
16:53:06 -!- elliott has quit (Changing host).
16:53:06 -!- elliott has joined.
16:53:06 -!- elliott has quit (Changing host).
16:53:06 -!- elliott has joined.
16:53:15 <oerjan> :D
16:53:47 <elliott> Oh god, Sgeo's learning a new fucking language.
16:53:54 <elliott> Way to put a damper on my day.
16:54:06 <elliott> And liveblogging^WliveIRCing it too.
16:54:53 <elliott> 22:59:32 <Sgeo> (if (void) #t #f)
16:54:59 <elliott> Sgeo: The result of that is undefined.
16:55:04 <elliott> (void) is not standard Scheme anyway.
16:55:10 -!- oerjan has set topic: turds at http://esolangs.org/wiki/Main_Page | turds at voxelperfect.net have expired | historical turds at http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
16:55:12 <elliott> (Okay, Racket might give a consistent value, but Racket has no standard.)
16:55:20 <elliott> oerjan: btw esolangs.org isn't owned by Graue
16:55:24 <elliott> as I discovered yesterday
16:55:41 <oerjan> elliott: huh?
16:55:56 <elliott> oerjan: what's huh
16:55:58 <elliott> I mean the domain itself
16:56:52 <oerjan> oh. i noticed yesterday but somehow got the domains switched in my mind
16:57:10 <oerjan> so i thought it was a different name because it had expired, or something
16:57:31 <oerjan> ok who the heck _is_ alan dipert
16:57:53 <elliott> oerjan: zis guy
16:57:57 <elliott> I googled him, he's just a random dude.
16:57:59 <elliott> of dudeness.
16:58:10 <elliott> with no apparent relation to our community except being strange (he has a fork of NCSA Mosaic on github)
16:58:23 <elliott> THE ANSWER TO "WHAT AM I NOT USING?" IS MY LAPTOP, FRIENDS
16:58:42 <elliott> ais523: sorry, we're no longer hardware buddies.
16:59:11 <elliott> 02:24:40 <ais523> elliott for the logs: Brainfuck/w/index.php?title=Talk:Brainfuck/index.php is completely obviously a finite state machine
16:59:24 <elliott> ais523: are you SURE
16:59:25 <oerjan> elliott: that sounds disturbing given that that domain is about to expire soon as well
16:59:31 <elliott> ais523: there are programs that use N bytes of memory for all N
16:59:37 <elliott> oerjan: no, because it was last renewed in 2009
16:59:42 <Vorpal> elliott, why is Sgeo learning a language so bad?
16:59:44 <elliott> oerjan: we have no reason to suspect he doesn't feel like renewing it
16:59:53 <oerjan> i sure hope _someone_ knows him
16:59:55 <elliott> Vorpal: because he thinks he's smarter than language designers and complains about stupid shit
17:00:03 <elliott> oerjan: well email the bastard :)
17:00:13 <elliott> 02:28:40 <ais523> also, I think elliott's trying to stop spambots editing the wiki by creating a legitimate page at every title they try to create
17:00:22 <elliott> ais523: no, I'm trying to make it hard on the wiki sysops to protect talk pages
17:00:28 <elliott> I may have been a Discordian in another life
17:00:34 <Vorpal> elliott, "stupid shit" is a bit ambiguous here. "Stupid things in the language" vs. "stupid complaints"
17:00:35 <oerjan> elliott: well i already emailed graue, i'll wait for an answer
17:00:41 <elliott> Vorpal: latter
17:00:45 <Vorpal> ah
17:01:18 <nooga> what why
17:01:25 <elliott> nooga: why what
17:02:01 <elliott> YOU GUYS, YOU ARE TOTALLY NOT TAKING MY ALL-CAPSED BAIT
17:02:59 <elliott> 03:41:07 <Phantom_Hoover> He (or I assume it was he) left some TNT next to the door at Mt. Hoover. 03:41:13 <Phantom_Hoover> The door with a pressure plate. 03:41:31 <Phantom_Hoover> Fortunately, the explosion didn't actually punch through the mountain.
17:03:01 <elliott> wait, what?
17:03:06 <elliott> Phantom_Hoover_: I didn't know pressure plates activated TNT
17:03:14 <elliott> the TNT has been there for a day or two, t'was an accident; I was planning to remove it safely
17:04:17 <elliott> 04:51:29 <Phantom_Hoover> Hey, one of the people on the Oolite board is from Hexham. I should tell elliott.
17:04:23 <elliott> Phantom_Hoover_: Are they competent? :p
17:04:51 <Vorpal> lag spikes now
17:04:55 * Vorpal looks at ineiros
17:05:09 <Vorpal> been fine for hours
17:05:45 <elliott> Vorpal: he won't stop skype just for MC so why bother mentioning it?
17:05:49 <elliott> hmm I should redownload Minecraft
17:05:56 <Vorpal> elliott, redownload?
17:06:13 <elliott> Vorpal: yes FINALLY SOMEONE TAKES MY BAIT.
17:06:16 <Phantom_Hoover_> elliott, competent in which sense?
17:06:27 <Vorpal> elliott, why *re*-download
17:06:37 <elliott> Phantom_Hoover_: Can e program? If not, can e form correctly-spelled and punctuated sentences that express coherent thoughts?
17:06:49 <Phantom_Hoover_> elliott, he had about 3 posts.
17:06:50 <elliott> Vorpal: 'CUZ I DON'T HAVE IT ON MY SHINY NEW LAPTOP DUH
17:06:58 <elliott> ^ how did it take you that long to fall into that trap
17:06:59 <elliott> sheesh
17:06:59 <Vorpal> elliott, oh right, not much of a bait
17:07:05 <elliott> Vorpal: SHUT UP
17:07:12 <Vorpal> elliott, but first you must try out dwarf fortress
17:07:15 <Vorpal> elliott, and report FPS
17:07:18 <elliott> evidently in Apple Time, 31st means 29th
17:07:26 <elliott> I am not complaining
17:07:31 <Phantom_Hoover_> No, wait, he has 418 posts.
17:07:40 <elliott> Vorpal: yeah, not until I get an IRC client :-P
17:08:15 <oerjan> elliott waiting with baited breath
17:08:22 <ineiros> Hello.
17:08:25 <elliott> oerjan: die in a fire :}
17:08:31 <Phantom_Hoover_> elliott, I have absolutely no idea about him other than that he is from Hexham and his punctuation and spelling are good
17:08:34 <elliott> I wonder if iChat supports MSN now.
17:08:42 <Vorpal> elliott, going to run linux to it. Or will you live in the flash-hating vendor-lockin closed apple world (right, so that product is a normal laptop, but still)
17:08:43 <ineiros> Vorpal: Sorry, need to download Ubuntu. Stat!
17:08:45 <elliott> NOPE
17:08:50 <oerjan> elliott: how rude.
17:08:53 <Phantom_Hoover_> ineiros, incidentally!
17:08:58 <Phantom_Hoover_> We are building the cube!
17:09:09 <elliott> Vorpal: I'll put Linux on it sometime
17:09:12 <Vorpal> ineiros, ah, about how long will it take do you think?
17:09:14 <elliott> Phantom_Hoover_: not without me I hope!
17:09:18 <Phantom_Hoover_> Which requires excavating an approximately 128x128x64 cuboid!
17:09:28 <elliott> don't work on the cube without me to supervise ;x
17:09:35 <elliott> none of you UNDERSTAND my ARCHITECTURE
17:09:44 <Phantom_Hoover_> So can we finally have a TNT kit?
17:09:57 <Phantom_Hoover_> elliott, surely we can drain without you?
17:09:59 <Vorpal> elliott, it is rather trivial for the shell actually :P
17:10:04 <elliott> Phantom_Hoover_: Okay fine.
17:10:11 <Vorpal> elliott, the issue is the interior floors, which I leave to you
17:10:13 <elliott> And explode too.
17:10:17 <elliott> But no expanding the glass wall! :p
17:10:21 <Phantom_Hoover_> Anyway, TNT kit! ineiros, we beseech you!
17:10:34 <elliott> ineiros: IF YOU DON'T GIVE ME A TNT KIT I'M GOING TO BLOW UP EVERYTHING
17:10:46 <elliott> I HAVE LIKE 6 STACKS OF EASILY-ACCESSIBLE TNT AND I'M NOT AFRAID TO USE THEM
17:11:06 <Phantom_Hoover_> HE USED THEM ON MY FREAKING MOUNTAIN
17:11:10 <Vorpal> that is the wrong method
17:11:16 <ineiros> elliott: The stacks will be less available if I blow up the server.
17:11:17 <Vorpal> now you are just making it /less/ likely
17:11:17 <Phantom_Hoover_> elliott, you're demoted to HHI janitor
17:11:30 <elliott> ineiros: I'LL BLOW UP YOUR FAMILY
17:11:35 <Vorpal> ...
17:11:38 <Phantom_Hoover_> And now you're promoted to landscape architect.
17:11:45 <elliott> AND YOUR DOG
17:11:52 <ineiros> I'll try to get to your TNT needs today.
17:11:57 <Phantom_Hoover_> Your first job is to ment the
17:11:57 <elliott> See?
17:11:57 <Vorpal> elliott, this is exactly the opposite of what you need to tell him
17:12:02 <elliott> I'm very convincing.
17:12:05 <elliott> Vorpal: Worked, didn't it?
17:12:08 <Phantom_Hoover_> *mend the crater outside the door of the research facility.
17:12:10 <ineiros> elliott: No. :)
17:12:18 <elliott> ineiros: Poor Woof.
17:12:25 <elliott> I only wish he did not have to die.
17:12:26 <Vorpal> elliott, nah, I think you didn't manage to make him change opinion from yesterday /yet/
17:13:11 <Phantom_Hoover_> Then you will be transmoted to builder, and your job will be to rebuild the mouth of the tunnel to the research facility.
17:13:14 <elliott> Heh ... YouTube is one of the default sites in the top-sites-Safari-gallery thing ... but this thing doesn't ship with Flash.
17:13:18 <Vorpal> ineiros, so... any idea how long this download might take? 10 minutes? half an hour? more?
17:13:30 <ineiros> 40 seconds.
17:13:33 <elliott> And indeed clicking on videos says "lol no flash"
17:13:36 <elliott> Vorpal: You are way impatient.
17:13:37 <Phantom_Hoover_> You shall then be demoted to joiner, and your job will be to fit a new door into the research facility.
17:13:38 <Vorpal> ineiros, ah
17:13:38 <elliott> Way so.
17:13:44 <elliott> Phantom_Hoover_: Can I be demoted to turd?
17:13:56 <Vorpal> elliott, no, just wondered if I should log off and do something else, or just wait a few minutes
17:14:04 <Phantom_Hoover_> After you've done all that.
17:14:07 <Mathnerd314> irc question: can you "emote", like /me but with other people appearing to do the action?
17:14:22 <elliott> Mathnerd314: um, no.
17:14:25 <elliott> and that sounds horrible.
17:14:53 <Mathnerd314> it'd have something like (from <person>) at the end of it
17:16:31 <Phantom_Hoover_> <Mathnerd314> Can you make your own messages look like someone else's?
17:16:45 <elliott> * Mathnerd314 takes a bike (from elliott)
17:16:48 <elliott> You monster.
17:16:53 * nooga is playing OpenTyrian
17:17:02 <Mathnerd314> Phantom_Hoover_: but with tags
17:17:03 <nooga> awful
17:17:12 <elliott> TODO: Get IRC, IM clients; install YouTube5; get Minecraft.
17:17:23 <elliott> Put up mandatory shrine to Steve Jobs.
17:17:23 <Mathnerd314> elliott: prefix it, then.
17:17:25 <Mathnerd314> (from elliott) * Mathnerd314 takes a bike
17:17:42 <nooga> elliott: new Mac?
17:17:47 <Phantom_Hoover_> elliott, the iPhone has no backquote symbol, does it?
17:17:54 <elliott> Mathnerd314: (from elliott) * Mathnerd314 took / a $big (bicycle) / as he `shook
17:18:00 <elliott> Phantom_Hoover_: This is an iPhone?
17:18:04 <elliott> But no, it has no backtick indeed.
17:18:17 <elliott> That's why I have that command to output ` followed by something, in EgoBot.
17:18:20 <elliott> I forget the name.
17:18:21 <elliott> nooga: Yes.
17:18:43 <Phantom_Hoover_> Right, so there's a simple, foolproof way of securing WiFi networks against iPhones?
17:18:54 <Phantom_Hoover_> !he echo I think it was this...
17:18:55 <elliott> nooga: MacBook Air, 2.1 GHz, 4 GiB, 256 GiB SSD, 13" 1440x900.
17:18:59 <elliott> Phantom_Hoover_: Brilliant.
17:19:01 <EgoBot> `echo I think it was this...
17:19:13 <HackEgo> I think it was this...
17:19:24 <elliott> <HackEgo> Grmbl, in the MORNING, get me out of bed and sdjdiofgj
17:19:34 <Phantom_Hoover_> elliott, I'd do it but half my family have iPhones now and they'd be nasty to me if I did so.
17:19:47 <nooga> elliott: blargh
17:19:57 <nooga> elliott: Airs are pointless but pretty
17:20:26 <elliott> nooga: correction -- they /used/ to be pointless.
17:20:36 <nooga> um
17:20:38 <elliott> Now they have respectable specifications, the fastest SSD of the macs, and they have actual fucking ports on the side.
17:20:42 <elliott> (Since late 2010.)
17:20:54 <nooga> i would change my mind if i had one :D
17:21:00 <Phantom_Hoover_> elliott, why do you have this now?
17:21:11 <Mathnerd314> elliott: so, the answer is: no, irc doesn't have that?
17:21:18 <elliott> Mathnerd314: I said no right at the start.
17:21:33 <elliott> Phantom_Hoover_: Dunno. I think I'll give up all my material possessions.
17:22:00 <elliott> Now do I download Minecraft or LimeChat first? OH THE DILEMMA
17:22:08 <elliott> OH THE DALAI LLAMA
17:22:44 <Phantom_Hoover_> elliott, I mean, did you actually ask for one?
17:22:52 <Phantom_Hoover_> Or go about purchasing one?
17:23:15 <elliott> Phantom_Hoover_: I would not own this today if not for a swift but damaging onset of temporary insanity.
17:23:36 <Phantom_Hoover_> Did you see it in a shop and become overwhelmed by lust?
17:24:14 <elliott> Phantom_Hoover_: No. Steve Jobs kidnapped me and did unspeakable things.
17:24:36 <Phantom_Hoover_> Sell the story to the Sun.
17:24:41 <Phantom_Hoover_> You'll make MILLIONS
17:25:17 <elliott> This trackpad is ridiculously huge.
17:25:26 <oerjan> elliott: *LAMA
17:25:27 <Vorpal> elliott, doesn't it include the buttons?
17:25:34 <elliott> It's bigger than my palm.
17:25:37 <elliott> Vorpal: The whole thing is a button.
17:25:39 <elliott> oerjan: Intentional.
17:25:53 <elliott> Vorpal: It's a gigantic glass touchpad that presses down :-P
17:25:55 <Phantom_Hoover_> elliott, you clearly have a tiny palm.
17:26:13 <elliott> Obviously in future the keyboard will be replaced by a GIGANTIC touchpad.
17:26:16 <elliott> Phantom_Hoover_: I do.
17:26:19 <elliott> I am a rather tiny person.
17:26:38 <Phantom_Hoover_> elliott, obviously malnutrition due to the Harrying of the North.
17:27:07 <elliott> Phantom_Hoover_: Indeed.
17:27:19 <Phantom_Hoover_> I am told that this is the reason I am taller than my entire extended family, although I am suspicious of this.
17:27:30 <elliott> HAHAHA WHEN I SWIPE WITH THREE FINGERS IT GOES BACKWARDS AND FORWARDS IN THE BROWSER I AM THE MASTER OF MY DOMAIN
17:28:15 <elliott> "The windows themselves contain some kind of unbreakable glass-like substance, probably glass."
17:28:48 <Phantom_Hoover_> Which windows?
17:29:01 <elliott> Phantom_Hoover_: Um, context is long and I've already closed the tab.
17:29:16 <elliott> Safari thinks this web chat window is titled "Yahoo!".
17:29:19 <elliott> I am not sure why.
17:30:31 <elliott> NOOOO IF I DRAG ANOTHER THING TO THE DOCK IT WILL SHRINK, BUT HOW CAN I VIOLATE STEVE JOBS' WISHES
17:30:40 <Phantom_Hoover_> Huh?
17:31:11 <nooga> my eyes and brain hurt
17:31:13 <Phantom_Hoover_> In other news, have you finished your landscape-architect-builder-joinerial duties?
17:31:17 <nooga> from playing tyrian
17:31:25 <cheater99> lol tyrian
17:31:44 <elliott> Phantom_Hoover_: No.
17:31:46 <elliott> Demote me to rock.
17:32:02 <Phantom_Hoover_> elliott, once you've moved your way down the rank!
17:32:04 <Phantom_Hoover_> *ranks
17:32:14 <elliott> Now to Software Update.
17:32:15 <nooga> we should invent a game
17:32:42 <nooga> for ourselves and then introdouce a score table
17:33:05 -!- elliott has quit (Quit: Page closed).
17:33:07 <Vorpal> ineiros, any idea how long this second download might take? Roughly
17:33:55 <variable> in Haskel is there a difference between take 3 [1..20] or just [1..3] ---> since things are evaluated lazily?
17:35:44 <Phantom_Hoover_> variable, no.
17:35:49 <Phantom_Hoover_> There isn't.
17:36:05 <Phantom_Hoover_> !haskell take 3 [1..]
17:36:19 <variable> Phantom_Hoover_, I mean - internally Haskel doesn't create the [1..20] list first
17:36:23 <EgoBot> [1,2,3]
17:36:31 <Phantom_Hoover_> variable, that's what that example was for.
17:36:32 <variable> I know the output is the same
17:36:42 <Phantom_Hoover_> [1..] is an infinitely long list.
17:36:47 <variable> oh woops
17:36:50 * variable missed the ..
17:36:58 <Phantom_Hoover_> But the discarded elements aren't calculated at all.
17:36:58 <variable> I missed that there wasn't an end
17:37:02 <variable> ok cool
17:37:06 <variable> Phantom_Hoover_, thanks
17:39:31 -!- elliott has joined.
17:39:41 <elliott> Oh wow, LimeChat's defualt theme is beyond ugly.
17:39:42 <elliott> *default
17:39:47 -!- elliott has quit (Changing host).
17:39:47 -!- elliott has joined.
17:43:38 <ais523> <elliott> ais523: there are programs that use N bytes of memory for all N <--- I mean, any given program is an FSM, just like a lang that asked you to declare memory use in advance would be
17:43:46 <elliott> right
17:44:03 <elliott> brb
17:44:04 -!- elliott has quit (Remote host closed the connection).
17:44:38 -!- elliott has joined.
17:44:38 -!- elliott has changed nick to Guest12014.
17:44:54 <Guest12014> hi
17:44:57 <Guest12014> wtf @ my name
17:45:26 <ais523> Guest12014: I suspect you aren't identified, and got automatically kicked to a different nick as a result
17:45:28 <Guest12014> indeed
17:46:24 <variable> Guest12014, if the owner of your nick chose "secure" you have 30 seconds to provide a password
17:46:32 <variable> if they chose immediate you have no time
17:46:38 <variable> /ns help
17:46:41 <Guest12014> Indeed.
17:46:43 <Guest12014> I set it like that. :)
17:46:47 <Phantom_Hoover_> variable, he is the owner of his own nick.
17:46:49 <Guest12014> But I think it's 30 seconds for me.
17:47:20 -!- Guest12014 has quit (Remote host closed the connection).
17:48:49 <variable> let fizzBuzz xs = [ if mod x 3 && mod x 5 then "fizzbuzz" else if mod x 3 then "fizz" else if mod x 5 then "buzz" else x | x <- [1..] ]
17:48:55 <variable> Couldn't match expected type `[Char]' against inferred type `Bool' -> so I get
17:49:03 <variable> why I can't mix strings and ints
17:49:08 <variable> but where did the bool come from ?
17:49:13 -!- dfj_ has joined.
17:49:25 <dfj_> Why is elliott "temporarily unavailable"?
17:49:26 <dfj_> My nick.
17:50:22 <variable> dfj_, /ns recover I think
17:50:30 <dfj_> ah
17:50:43 <dfj_> "invalid command" so, no
17:51:02 <dfj_> it's RELEASE
17:51:04 <variable> or release
17:51:08 <variable> yeah
17:51:08 -!- dfj_ has quit (Remote host closed the connection).
17:51:15 -!- elliott has joined.
17:51:17 <elliott> now it works
17:51:18 <variable> wb
17:51:22 <elliott> :)
17:51:41 -!- elliott has changed nick to Guest77998.
17:51:44 <variable> let fizzBuzz xs = [ if mod x 3 && mod x 5 then "fizzbuzz" else if mod x 3 then "fizz" else if mod x 5 then "buzz" else x | x <- [1..] ]
17:51:50 <variable> :-\
17:51:57 <variable> or not Guest77998
17:52:08 <Guest77998> what.
17:52:25 <Guest77998> variable: erm mod doesn't return a boolean does it
17:52:36 <variable> oh righ
17:52:55 <Guest77998> indeed not
17:52:59 <Guest77998> variable: i'd do something like
17:53:18 <Guest77998> wait nm
17:53:19 <variable> divBy x y = mod x y == 0
17:53:33 <Guest77998> variable: I'd call that divides
17:53:34 <Guest77998> then you could say
17:53:41 <Guest77998> x `divides` 3
17:53:42 <Guest77998> er wait
17:53:45 <Guest77998> you'd want to swap the arguments
17:53:47 <oerjan> !echo hi
17:53:47 <EgoBot> hi
17:53:52 <variable> divisibleBy
17:53:57 <variable> !echo !echo hi
17:53:58 <EgoBot> !echo hi
17:54:00 <variable> :\
17:55:45 <oerjan> variable: case gcd x 15 of 15 -> "fizzbuzz" ; 3 -> "fizz" ; 5 -> "buzz ; 1 -> show x >:)
17:56:04 <Guest77998> oerjan: heh nice
17:56:04 <Phantom_Hoover_> variable, for maximum Haskell credit, write divBy point-free.
17:56:15 <Guest77998> Phantom_Hoover_: for maximum haskell credit write EVERYTHING point free
17:56:16 <variable> Phantom_Hoover_, point free ?
17:56:21 <Guest77998> variable: you don't want to know.
17:56:24 <variable> Guest77998, lie
17:56:25 <Guest77998> Phantom_Hoover_: you don't want to tell him.
17:56:34 <variable> Phantom_Hoover_, explain
17:56:36 <variable> now
17:56:43 <Guest77998> variable: Point free is where you write things using the function composition operator and other combinators, and don't name any arguments to the function.
17:57:08 <Phantom_Hoover_> variable, in simple terms, a function f is defined point-free if it's "f =" rather than "f <args> =".
17:57:21 <Guest77998> Guest77998: @pl \x y -> mod x y == 0
17:57:21 <Guest77998> lambdabot: flip flip 0 . ((==) .) . mod
17:57:25 <Guest77998> variable: So you could say
17:57:31 <Guest77998> dividesBy = flip flip 0 . ((==) .) . mod
17:57:32 <Guest77998> instead.
17:57:51 <Guest77998> Note: Point-free style often improves code concision and readability. But not in this case.
17:57:54 <Phantom_Hoover_> I think that code may not be the best pl-ing of that.
17:57:55 <Guest77998> Also lambdabot is a bit stupid about it.
17:57:58 <Guest77998> Indeed.
17:58:14 <Phantom_Hoover_> It's (==0) . mod n
17:58:20 <variable> ah
17:58:23 <variable> that makes sense
17:59:02 <variable> Prelude> let divisbleBy (==0) . mod n
17:59:02 <variable> <interactive>:1:28: parse error (possibly incorrect indentation)
17:59:07 <Guest77998> variable: you forg =
17:59:09 <Guest77998> *forgot =
17:59:11 <variable> oh woops
17:59:13 <Phantom_Hoover_> So I think it'd be ((==0).) . mod.
18:00:06 <variable> Prelude> let divisbleBy = ((==0).) . mod.
18:00:06 <variable> <interactive>:1:32: parse error (possibly incorrect indentation)
18:00:12 <Phantom_Hoover_> !haskell (((==0).) . mod) 2 4
18:00:14 <EgoBot> False
18:00:24 <variable> False
18:00:38 <variable> !haskell [1..]
18:00:40 <Phantom_Hoover_> !haskell (((==0).) . mod) 4 2
18:01:01 <variable> True :-}
18:01:03 <EgoBot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,1
18:01:15 <Phantom_Hoover_> variable, !haskell is just GHCi.
18:01:17 <variable> very funny DCC chat
18:01:18 <Vorpal> bbl food
18:01:29 <variable> Phantom_Hoover_, I noticed
18:01:31 <Guest77998> variable: yeah it DCC chats to give you what it flooded
18:02:00 <variable> Guest77998, I could use that to flood its connections - just keep on doing [1..]
18:02:02 <variable> :-\
18:02:05 <Guest77998> so apparently Steve Jobs needs a picture of me, I swear to god that it wouldn't let me use the computer until I let it take a photo of me
18:02:18 <Guest77998> variable: It's too slow for you to be able to flood it, my friend.
18:02:22 <Guest77998> variable: And the first line would still go to IRC.
18:02:28 <Guest77998> Well, sometimes it doesn't. But whatever.
18:02:43 <variable> either way
18:02:51 <variable> "\ntest"
18:03:00 <variable> !haskell "\ntest"
18:03:02 <EgoBot> "\ntest"
18:03:24 <oerjan> variable: actually !haskell is both ghci and ghc, it tries them in sequence. this is sometimes confusing when you get an error message (only the last one is given)
18:03:31 <Guest77998> !haskell putStrLn "\ntest"
18:03:31 <variable> !haskell "QUOTE MSG NICKSERV DROP"
18:03:37 <variable> :-}
18:03:49 <Guest77998> anyway anyone who tried to hold up the bots just gets a ban :-P
18:03:52 <oerjan> !echo hi
18:03:53 <EgoBot> hi
18:04:02 <variable> "!echo hi"
18:04:09 <variable> Guest77998, could I try something this once?
18:04:10 <oerjan> variable: also EgoBot sometimes times out :(
18:04:18 <Guest77998> variable: sure. just don't do it all night :D
18:04:28 <variable> Guest77998, its afternoon - not night :-}
18:04:46 <Guest77998> variable: yes, but it'll be night some day!
18:04:52 <Guest77998> also it's 18:04, so, about midday
18:05:00 <variable> are there any other bots on this channel?
18:05:06 <Guest77998> hmm it's 13:00 in new york, maybe i'm on american time
18:05:07 <Phantom_Hoover_> `echo Me!
18:05:08 <HackEgo> Me!
18:05:11 <Guest77998> variable: yes, and also fungot
18:05:11 <fungot> Guest77998: specs and examples of feather btw, that argument is fundamentally unscientific :) thanks
18:05:13 <Phantom_Hoover_> ^echo Me!
18:05:13 <fungot> Me! Me!
18:05:15 <Guest77998> written in befunge, as you probably know
18:05:19 <variable> Guest77998, my goal: create a poly command between EgoBot and HackEgo :-}
18:05:29 <Phantom_Hoover_> fungot is the more attention-seeking of the two.
18:05:29 <fungot> Phantom_Hoover_: output, and with its own set of variables
18:05:32 <variable> that makes them keep on looping
18:05:35 <Guest77998> variable: fungot filters other bots, BTW
18:05:35 <fungot> Guest77998: i know quitting high school was about creating a procedure from itself) with a generic object system relies on _static_ types.
18:05:42 <Phantom_Hoover_> variable, do you think we haven't thought of that?
18:05:44 <Phantom_Hoover_> ^ignore
18:05:45 <Guest77998> `echo !echo hi
18:05:46 <HackEgo> !echo hi
18:05:55 <Guest77998> `run echo '!sh echo hi'
18:05:57 <HackEgo> !sh echo hi
18:06:15 <Guest77998> `run echo "!sh echo '`run happy'"
18:06:15 <HackEgo> No output.
18:06:19 <Guest77998> what
18:06:19 <Guest77998> `run echo "!sh echo '`run happy'"
18:06:20 <HackEgo> No output.
18:06:21 <Phantom_Hoover_> HackEgo pays attention to EgoBot, though.
18:06:22 <Guest77998> what
18:06:22 <variable> meh - back to learn you a haskel
18:06:26 <Guest77998> `run echo "!sh echo '\`run happy'"
18:06:26 <HackEgo> !sh echo '`run happy'
18:06:32 <Guest77998> ah
18:06:47 <Guest77998> `run echo "!sh echo '\`run happy'"
18:06:48 <HackEgo> !sh echo '`run happy'
18:06:51 * Phantom_Hoover_ curses
18:06:52 <Guest77998> what
18:06:57 <Guest77998> ok EgoBot ignores HackEgo
18:07:26 <Phantom_Hoover_> I spent about half an hour flying around in Oolite, only to realise that I hadn't actually picked up the passenger I was meant to be ferrying.
18:07:34 <Guest77998> Phantom_Hoover_: :-D
18:07:40 <variable> No instance for (Show (t -> [[Char]]))
18:07:41 <oerjan> variable: mutual bot quines is a tradition in this channel, so most bots eventually is set to ignore the others
18:07:42 <variable> :-\
18:07:55 <oerjan> *are
18:07:55 <Phantom_Hoover_> Guest77998, the worst part is that I've done this several times before.
18:08:38 -!- cheater99 has quit (Quit: Leaving).
18:08:52 <variable> Phantom_Hoover_, heh
18:09:38 <oerjan> variable: you're probably missing a function argument, as that usually implies you are trying to print a function
18:09:45 <variable> let fizzBuzz = [ if divisbleBy x 3 && divisbleBy x 5 then "fizzbuzz" else if divisbleBy x 3 then "fizz" else if divisbleBy x 5 then "buzz" else "#" | x <- [1..] ]
18:10:02 <variable> oerjan, oh wait - I had an extra "xs"
18:10:07 <variable> thanks
18:10:31 <variable> but now I don't get *any* fizzbuzz
18:10:33 <oerjan> Show is the type class for stuff that is printed
18:10:46 <variable> ["#","#","fizz","#","buzz","fizz","#","#","fizz","buzz","#","fizz","#","#","fizzbuzz","#","#","fizz","#","buzz"]
18:11:41 <variable> oh I lied
18:11:46 * variable missed the 10th one
18:11:52 * variable is an idiot
18:11:55 <variable> *12
18:11:59 * variable is still an idiot
18:11:59 <Guest77998> variable: don't you mean "else show x"? :)
18:12:02 <Guest77998> to get the numbers in there
18:12:13 <variable> Guest77998, no - I wanted the "#" for now
18:12:16 <Guest77998> full fizzbuzz program:
18:12:24 <Guest77998> main = mapM_ putStrLn [ if divisbleBy x 3 && divisbleBy x 5 then "fizzbuzz" else if divisbleBy x 3 then "fizz" else if divisbleBy x 5 then "buzz" else show x | x <- [1..] ]
18:12:30 <Guest77998> compilable with ghc :-)
18:12:32 <Guest77998> unless i fucked up
18:12:37 <Guest77998> well
18:12:41 <Guest77998> you need divisibleBy obviously
18:13:05 <variable> Guest77998, I didn't know about show so using "#" stood in until I could figure out what i needed for int->string
18:13:10 * Guest77998 redownloads Minecraft. ah sweet addiction...
18:13:12 <Guest77998> variable: right :-)
18:13:45 <variable> regarding minecraft: I was told not to play it while I still plan on doing something productive with my life
18:14:04 <oerjan> nested ifs are sort of bad style in haskell. although they may be awkward to avoid inside a list comprehension...
18:14:04 <Guest77998> variable: I concur absolutely ... and now to get to work on this 128x128x128 glass cube lit by lava
18:14:17 <Guest77998> oerjan: i decided not to pick on his style until he's more proficient >:)
18:14:25 <oerjan> O KAY
18:14:30 <variable> oerjan, when is the "haskellian" way to do things
18:14:40 <oerjan> variable: pattern guards
18:14:44 <variable> Guest77998, please pick on my style - I don't want to get into bad habbits
18:14:51 * variable googles pattern guards
18:14:57 <Guest77998> variable: But you already have -- a life of imperative programming :-)
18:15:13 <variable> Guest77998, nothing is wrong with imperative programming for certain types of tasks....
18:15:34 <Guest77998> variable: Yes there is. :-) (I am a bit of a zealot.)
18:15:44 <Guest77998> variable: But hey, I never denied that.
18:16:01 <Guest77998> variable: Haskell lets you write as much imperative code as you want, that's what "IO" and the do statement is for.
18:16:13 <Guest77998> I just don't think all of a program should be imperative, which is what most languages make you do :-)
18:18:02 <oerjan> variable: if you just wanted to handle a single x you could use pattern guards as follows: fizzBuzz x | divisbleBy x 3 && divisbleBy x 5 = "fizzbuzz" | divisbleBy x 3 = "fizz" | divisbleBy x 5 = "buzz" | otherwise = show x
18:18:40 <variable> oerjan, that code looks clearer to me - but I'm not exactly sure of what it's doing
18:19:01 <variable> is it similar to a "switch" in that it looks for the first pattern that matches?
18:19:05 <oerjan> variable: well one-line formatting doesn't exactly help
18:20:15 <variable> <interactive>:1:5: parse error on input `|'
18:20:17 <oerjan> but the parts between | and following = are the guards. the first guard for a pattern which is True is selected
18:20:35 <oerjan> variable: oh and that's a function definition, so you need to put let in front in ghci
18:20:40 <variable> I did
18:20:46 <variable> oh wait
18:20:49 <variable> I didn't
18:20:51 * variable slaps self
18:23:26 <variable> oerjan, what is "otherwise"
18:23:36 <variable> it always returns True ?
18:24:06 <Phantom_Hoover_> variable, otherwise is a keyword for the default if no pattern matches.
18:24:59 <variable> Haskel cares about whitespace?
18:25:04 <variable> fizzbuzz.hs:2:0: parse error (possibly incorrect indentation)
18:25:06 <variable> ?
18:26:30 <variable> http://notepad.cc/vefina87 -> how could this be formatted nicely - but still be compilable under ghc ?
18:27:10 <oerjan> variable: otherwise = True, it's just defined for convenience to make pattern guards look nice :D
18:27:34 <variable> oerjan, is there some way to print out what functions are defined as ?
18:27:56 <Guest77998> variable: yes, Haskell cares about whitespace
18:28:02 <Guest77998> variable: you can always use explicit bracing instead though
18:28:04 <Guest77998> e.g.
18:28:14 <Guest77998> main = do foo
18:28:16 <Guest77998> bar
18:28:16 <oerjan> variable: i see nothing in that paste that should be a syntax error
18:28:17 <Guest77998> is the same as
18:28:21 <Guest77998> main = do { foo; bar }
18:28:54 <oerjan> | actually doesn't need to be lined up, although it looks better if it is.
18:29:11 <variable> oerjan, fizzbuzz.hs:2:0: parse error (possibly incorrect indentation)
18:29:20 <Guest77998> variable: try a nother new line before "fb x"?
18:29:23 <Guest77998> *another
18:29:24 <oerjan> variable: oh, you have a missing ) in the first line
18:29:29 <Guest77998> that shouldn't do anything, but, it's a hunch- aaah
18:29:30 <Guest77998> never mind
18:29:32 <Guest77998> what oerjan said
18:29:32 <Guest77998> brb
18:29:33 -!- Guest77998 has quit (Remote host closed the connection).
18:29:57 -!- sdfjsdf has joined.
18:30:04 -!- sdfjsdf has quit (Remote host closed the connection).
18:30:10 -!- elliott has joined.
18:30:10 <oerjan> or equivalently, an ( more than necessary
18:30:16 <elliott> variable: try
18:30:23 <elliott> divisibleBy = ((==0) .) mod
18:30:24 <variable> oerjan, I got it
18:30:24 <elliott> erm
18:30:28 <elliott> divisibleBy = ((==0) .) . mod
18:30:29 <variable> now I need to define main :-}
18:30:41 <elliott> hehe
18:30:58 <elliott> variable: careful -- that's MONAD TERRITORY! (note: this is completely irrelevant and you don't need to think about it at all to use main)
18:31:23 <variable> monad ?
18:31:38 <variable> elliott, explain
18:31:47 <Phantom_Hoover_> variable, that is a whole can of worms you do not want to get into right now.
18:31:58 * variable googles
18:32:00 <Phantom_Hoover_> Get a good grasp of the basics, particularly the type system, first.
18:32:02 -!- cheater99 has joined.
18:32:02 <elliott> variable: It's a thing from category theory. LYAH explains it in some chapters' times.
18:32:03 <Phantom_Hoover_> noooooo!
18:32:05 <Phantom_Hoover_> Don't do that!
18:32:14 <elliott> variable: Seriously, no, people are scared of monads for no reason.
18:32:20 <elliott> They think it makes Haskell impossible to use.
18:32:24 <elliott> They're silly. :p
18:32:40 <Phantom_Hoover_> You'll get endless analogies of how monads = burritos which are far more confusing than the simple definition!
18:32:49 <variable> Phantom_Hoover_, elliott I really don't like to delay learning new things - but I'll go in order of LYAH
18:33:26 <elliott> variable: You can't learn all of Haskell at once, trust me :)
18:34:18 <variable> now: how could fb be written point freE?
18:34:35 <Phantom_Hoover_> variable, don't bother.
18:34:36 <elliott> variable: oh man, i don't even know
18:34:37 <elliott> nobod
18:34:38 <elliott> y
18:34:40 <elliott> would do that :)
18:34:47 <oerjan> variable: ouch, it is rather hard to use pointfree and pattern guards simultaneously
18:35:06 <Phantom_Hoover_> Point-free is nice and elegant when you have simple functions which simply chain other functions togetheer.
18:35:10 <Phantom_Hoover_> *together
18:35:10 <variable> oerjan, alright
18:35:15 <oerjan> variable: pointfree is best for things that follow a pipelined path without branching
18:35:19 <variable> main = [ fb x | x <- [ 1..20] ] -> what's wrong with this?
18:35:29 <elliott> variable: main would result in a list
18:35:32 <elliott> it has to result in an IO action
18:35:39 <Phantom_Hoover_> variable, type signatures don't match.
18:35:44 <Phantom_Hoover_> fb x :: [Int]
18:35:44 <oerjan> variable: main mus... right
18:35:48 <elliott> variable: try this
18:35:49 <Phantom_Hoover_> main :: IO ()
18:35:52 <variable> ok
18:35:57 <oerjan> variable: just put a print after the =
18:36:01 <variable> so - I tried "show" - but that didn't wor
18:36:01 <elliott> yeah
18:36:09 <elliott> variable: show :: (Show a) => a -> String
18:36:10 <elliott> variable: but print is
18:36:15 <elliott> print :: (Show a) => a -> IO ()
18:36:18 <elliott> main is :: IO ()
18:36:20 <elliott> read as:
18:36:24 <elliott> an IO action giving no result
18:36:27 <elliott> there's also
18:36:31 <elliott> getChar :: IO Char
18:36:32 <elliott> read as:
18:36:35 <elliott> an IO action giving a character
18:36:37 <elliott> variable: see? :)
18:36:40 <variable> elliott, is there some way to get ghci to print those declarations out?
18:36:48 <oerjan> i believe it is technically legal for main to be any IO a
18:36:49 <elliott> variable: :t foo
18:36:51 <variable> ie - can I print what a function is defined at as?
18:36:53 <elliott> gives the type of foo
18:36:58 <variable> elliott, oh - cool
18:37:11 <oerjan> but the a will nearly always be () in practice
18:37:13 <variable> main = print [ fb x | x <- [ 1..20] ] -> perfect
18:37:35 <oerjan> variable: i don't think ghci saves the source anywhere
18:37:38 <elliott> variable: that'll show as
18:37:42 <elliott> ["foo","..."]
18:37:44 <elliott> variable: you might want
18:37:46 <variable> elliott, I mean - if I defined "blah" 1000 lines up there is no way to view the source
18:37:48 <oerjan> it's directly compiled
18:37:53 <elliott> main = mapM_ putStrLn [fb x | x <- [1..20]]
18:38:14 <elliott> variable: nah, i don't think that's stored :)
18:38:19 <elliott> put good stuff in a file
18:38:25 <oerjan> variable: usually you want to do most definitions in a file with an editor, and just reload it after major changes
18:38:34 <variable> oerjan, I do that - just curious
18:38:45 <elliott> yeah, you can only define types in a file too
18:38:57 <oerjan> variable: also reloading a file into ghci wipes out everything else
18:39:06 <oerjan> i think
18:39:14 <variable> http://pastebin.com/ecJmXtWw --> my first haskel program ;-}
18:39:42 <elliott> variable: now try putting
18:39:46 <elliott> fb :: Int -> String
18:39:49 <elliott> before fb :p
18:40:20 <variable> because that defines the type of fb to only take an int and return a string
18:40:45 <variable> divisbleBy :: Int -> Int as well ?
18:41:24 <elliott> variable: no
18:41:32 <elliott> variable: it results in a boolean :)
18:41:39 <variable> oh right
18:41:48 * variable made the inverse mistake before
18:42:08 <variable> and capital letters indicate types
18:42:12 <variable> so it would be Boolean ?
18:43:32 <variable> elliott, it works with the one for fb but not the one for divisibleBy - with Bool as the type (:t True)
18:43:38 <oerjan> variable: actually capital letters also indicate other things, but type names are one of them
18:44:18 <elliott> variable: no, Bool isn't the type
18:44:21 <oerjan> variable: common hint: use :t fb to find out what ghci thinks the type should be
18:44:23 <elliott> that means divisibleBy would either be True or False
18:44:26 <elliott> variable: it's Int -> Bool
18:44:34 <variable> I did that
18:44:35 <elliott> oerjan: that'll show Num which is just confusing right now :)
18:44:39 <elliott> variable: huh. what error?
18:44:40 <oerjan> oh right
18:45:06 <oerjan> anyway shouldn't it be Int -> Int -> Bool
18:45:19 <elliott> oh
18:45:20 <elliott> of course :)
18:45:22 <variable> oerjan, yes
18:45:29 <variable> that explains the "Inferred Type"
18:45:41 <variable> and the "couldn't match" part of the problem
18:45:42 <variable> cool
18:46:32 <variable> is there a preferred order for things: should I do type A, type B, function A function B, main or type A function A type B function B
18:46:44 <elliott> variable: latter
18:46:56 <elliott> variable: types should be right next to the functions; they're very useful documentation :)
18:47:00 <elliott> machine-checked documentation at that
18:47:14 <elliott> given the name and type of a function you can usually work out 90% of what it does quickly
18:47:33 <variable> elliott, yep ---> this has been my preferred style for a while
18:47:49 <variable> machine checked documentation :-}
18:48:38 <variable> now
18:48:44 <variable> that twas fun
18:48:52 <elliott> careful, you're approaching Coq again
18:49:05 <elliott> our machine-checked documentation is HUNDREDS OF LINES LONG PROOFS OF CORRECTNESS!
18:51:21 <variable> elliott, I get the distinct feeling that I'd liike Coq :-}
18:51:47 <elliott> variable: unfortunately it is not very useful for actually writing programs :-)
18:52:00 <elliott> variable: although there are one or two libraries that were extracted (automatically) from formally-proved Coq code
18:52:06 <elliott> haskell libraries that is
18:54:21 <variable> what is the difference between head and fst? lists and tuples ?
18:55:12 <elliott> variable: yep
18:55:26 <elliott> note that fst only works on 2-tuples, even though there's 3, 4, 5 etc. -tuples
18:55:34 <elliott> it's okay though because nobody uses >=3-tuples :)
18:55:52 <variable> let rightTriangles = [ (a,b,c) | c <- [1..10], b <- [1..c], a <- [1..b], a^2 + b^2 == c^2] -----> they should teach this in math class instead of making kids memorize
18:56:07 <variable> </rant> :-}
18:56:18 <oerjan> ...you memorized that?
18:56:28 <elliott> I don't recall memorising that :-)
18:56:37 <elliott> Multiplication tables on the other hand ...
18:56:37 <variable> oerjan, no - we had to memorize the Pythagorean triples
18:56:42 <oerjan> huh
18:56:46 <elliott> variable: sucks to be you :D
18:57:25 <variable> elliott, I personally think that math classes should be more programming and less computation - but meh
18:57:28 <oerjan> variable: in that case you should at least have learned the _real_ formula for listing them all (note: i don't remember that either)
18:57:59 <elliott> variable: well "maths" should be renamed to arithmetic and then be all but abolished :-)
18:58:16 <elliott> erm not altogether, you know what i mean
18:59:50 -!- Sasha has quit (Read error: Connection reset by peer).
19:01:25 <Phantom_Hoover_> variable, so wait, which country are you in?
19:01:34 <variable> Phantom_Hoover_, USA
19:01:43 <Phantom_Hoover_> Figures.
19:01:44 <variable> our education system is junk
19:01:58 <variable> Phantom_Hoover_, where are you?
19:02:17 <Phantom_Hoover_> Scotland.
19:02:46 <Phantom_Hoover_> It's not terribly good here, although I'm informed that it's better than in England at final-year-of-school level.
19:05:43 <variable> (*) :: (Num a) => a -> a -> a
19:05:47 <variable> why is it not Int -> Int ?
19:06:01 <variable> oh wait - because it takes two ints
19:06:05 <elliott> variable: yes
19:06:06 <Phantom_Hoover_> variable, ah, you are introduced to the wonderful world of typeclasses.
19:06:09 <elliott> Phantom_Hoover_: no, not that
19:06:14 <Phantom_Hoover_> Oh?
19:06:14 <elliott> it's the two-argument thing here i think
19:06:19 <variable> Phantom_Hoover_, I get typeclasses already
19:06:21 <elliott> variable: yeah, takes two ints, returns one int :)
19:06:32 <variable> I'd prefer it was something like Int,Int -> Int
19:06:32 <elliott> variable: btw a -> a -> a is the same as a -> (a -> a)
19:06:36 <elliott> and f x y is the same as (f x) y
19:06:36 <variable> but its ambigious
19:06:42 <elliott> variable: that's why it's not Int,Int -> Int
19:06:44 <elliott> variable: because you can say
19:06:45 <elliott> foo = f x
19:06:48 <elliott> then foo y == f x y
19:06:56 <elliott> variable: this is _very_ powerful & useful
19:06:56 <Phantom_Hoover_> variable, or, if you're adventurous, it takes an int and returns a function that takes an int and returns an int.
19:07:15 <variable> Phantom_Hoover_, ah - that makes sense
19:07:28 <variable> similar to my dividesBy function
19:07:35 <Phantom_Hoover_> Identical.
19:07:36 <nooga> Phantom_Hoover_: Edinburgh?
19:07:43 <Phantom_Hoover_> nooga, mhm.
19:07:53 <variable> This all Just Makes Sense
19:07:55 <Phantom_Hoover_> variable, the (==0) bit is just that in a disguise.
19:07:58 <nooga> Phantom_Hoover_: and you study computer science on university of edi ?
19:08:03 -!- Sasha has joined.
19:08:06 <variable> Phantom_Hoover_, yeah - I figured
19:08:06 <elliott> nooga: he's in high school :P
19:08:06 <Phantom_Hoover_> nooga, no, but go on.
19:08:12 <nooga> oh
19:08:18 <nooga> then nothing
19:08:18 <Phantom_Hoover_> nooga, why?
19:08:21 * variable wishes I did this in High School :-\
19:08:29 <variable> I'm close enough though
19:08:33 <variable> :-}
19:08:41 <nooga> i thought maybe you're studying cs with a friend of mine
19:08:46 <nooga> that'd be awesome
19:08:49 <elliott> variable: mwahaha, i'm three years ahead of you ... well actually i learned haskell a year or two ago so a bit more
19:09:02 <elliott> WASTED CHILDHOOD
19:09:06 <variable> elliott, ahead = your a senior ?
19:09:13 <variable> or your in HS ?
19:09:14 <elliott> variable: ahead in learning
19:09:14 <nooga> hahahahhahahaha
19:09:15 <nooga> ajhahahha
19:09:16 <elliott> :-P
19:09:17 <variable> elliott, ah
19:09:20 <elliott> haskell, at least
19:09:21 <elliott> lol
19:09:26 <variable> elliott, how old are you
19:09:31 <Phantom_Hoover_> variable, I think he's in school now.
19:09:31 <elliott> variable: 15
19:09:38 <variable> ah - I'm 19
19:09:47 <Phantom_Hoover_> He used to be in a loony bin, but they let him out for not being very crazy.
19:09:47 <elliott> Phantom_Hoover_: not sure how I'm meant to parse that sentence
19:09:52 * Mathnerd314 hates IRC
19:09:53 <variable> I was doing C++ then ;-\
19:09:57 <elliott> i approve of this version of history
19:10:00 <elliott> Mathnerd314: why?
19:10:13 <Phantom_Hoover_> variable, you poor baby!
19:10:14 <nooga> looney bin xD
19:10:24 <Mathnerd314> elliott: not enough structure
19:10:35 <elliott> Mathnerd314: i don't want to tag every message i write
19:10:39 <elliott> freeform is nice
19:10:41 <elliott> more flexible
19:10:53 <Mathnerd314> elliott: but you can't even when you want too
19:11:00 <Phantom_Hoover_> Although I still yearn for that LaTeX-rendering plugin.
19:11:00 <elliott> Mathnerd314: i never want to
19:11:11 <elliott> Phantom_Hoover_: p. sure it exists
19:11:19 <Mathnerd314> elliott: thus why you irc and I hate it
19:11:36 <elliott> Mathnerd314: well don't complain about irc on irc, you'll find little support :P
19:11:57 <Mathnerd314> elliott: I'm hoping for something backwards-compatible
19:15:08 <Mathnerd314> other problems: you can't correct or annotate
19:15:23 <elliott> good
19:15:33 <elliott> I don't want mesags to change underneath me
19:15:34 <elliott> *messages
19:15:36 <elliott> ^ that is much nicer
19:15:49 <Phantom_Hoover_> elliott, so I'm assuming you approve of Learn You a Haskell?
19:15:58 <elliott> Phantom_Hoover_: yes.
19:18:48 <Phantom_Hoover_> I stopped reading it for reasons unclear to me now, which is a pity since I missed out on all of the stuff on functors and monads and stuff.
19:19:44 <Mathnerd314> elliott: sure, you can correct, but it isn't structured; I can't tell what you were correcting
19:19:59 <Mathnerd314> *if
19:20:06 <elliott> Mathnerd314: yes you can, because you (probably) possess a brain
19:21:34 <Mathnerd314> elliott: computers were invented so I could choose what to use my brain on
19:21:49 <elliott> and you chose complaining about IRC
19:22:10 <Mathnerd314> elliott: no, I'm asking for a way to stop using my brain for trivial things on irc
19:22:52 <Mathnerd314> *to
19:23:14 <Sgeo> cheater99, no, not with the ancient's learning machines
19:23:39 <elliott> if you can even _notice_ the tiny percent of your brain power it takes to figure out what message it's correcting, well ... maybe you don't have much brain power to go around
19:24:18 <Phantom_Hoover_> Sgeo: ignoring half a day's conversation and going on with what he was talking about before.
19:25:04 <Mathnerd314> elliott: no, I notice the accumulation. it's a reflex against falling into ruts
19:25:15 <elliott> it's a stupid reflex.
19:26:44 <Mathnerd314> elliott: not at all. how else do you notice that your life sucks?
19:27:10 <elliott> Mathnerd314: your life sucks because you're figuring out what messages correct which other messages on IRC?
19:27:31 <cheater99> Sgeo: wait, then when?
19:27:39 <Mathnerd314> elliott: exactly. so I want a program to do it for me, backwards-compatible with irc.
19:29:37 <Phantom_Hoover_> Holy crap.
19:29:51 <Phantom_Hoover_> There is a wiki of stuff that was too stupid for Uncyclopedia.
19:29:52 <Phantom_Hoover_> That.
19:29:54 <Phantom_Hoover_> *what
19:30:22 <elliott> Phantom_Hoover_: So ... uh ...
19:30:25 <elliott> No, I can't think.
19:30:26 <elliott> Wht
19:30:28 <elliott> What does it contain?
19:30:55 <Phantom_Hoover_> If I don't come back, fix that damn crater on Mt. Hoover, then make it into a memorial.
19:31:04 <Mathnerd314> Phantom_Hoover_: give a link first
19:31:13 <Mathnerd314> Phantom_Hoover_: also, agree with me
19:31:25 <Phantom_Hoover_> http://www.illogicopedia.org/wiki/Main_Page
19:31:36 * Phantom_Hoover_ goes to a random page.
19:31:42 <zzo38> Yes I saw Illogicopedia before too
19:32:01 <Phantom_Hoover_> http://www.illogicopedia.org/wiki/Mr._Bean
19:32:05 <Phantom_Hoover_> ...my brain.
19:32:25 <Phantom_Hoover_> It's not even hurting, it's just exactly the wrong shape for conscious thought.
19:32:30 <Phantom_Hoover_> It should be an SCP.
19:33:04 <elliott> Phantom_Hoover_: http://www.illogicopedia.org/wiki/Flub_Nugget
19:34:02 <Phantom_Hoover_> It just... if Cthulhu's diary was translated into English, I suspect you'd get this.
19:34:14 <Mathnerd314> elliott: so do you agree with me yet?
19:34:18 <elliott> Mathnerd314: nope.
19:34:21 <Phantom_Hoover_> Mathnerd314, please shut up.
19:34:56 <Mathnerd314> Phantom_Hoover_: that's new! why should I shut up?
19:35:06 <zzo38> I doubt it should be an SCP.
19:35:24 <Phantom_Hoover_> Mathnerd314, because you are being intensely irritating. Stop it or shut up.
19:36:41 <Mathnerd314> Phantom_Hoover_: so why am I irritating?
19:37:10 <Phantom_Hoover_> elliott, how do you work XChat's /ignore?
19:37:22 <Mathnerd314> ignore is cheating
19:37:28 <elliott> Phantom_Hoover_: /ignore nick!*@* all
19:37:37 <elliott> nick* if you want to catch foo_ as well as foo
19:37:39 <Mathnerd314> give me a reason and I'd shut up right away
19:37:47 <Phantom_Hoover_> Done.
19:38:04 <elliott> I have no idea what you just did.
19:38:06 <Phantom_Hoover_> Now, let's discuss something worthwhile.
19:38:50 * Mathnerd314 waits
19:42:28 <Phantom_Hoover_> Hmm. Why is Applicative dependent on Functor?
19:42:50 <elliott> Phantom_Hoover_: because they're applicative functors
19:43:14 <Phantom_Hoover_> Surely fmap f = (pure f <*>)
19:43:52 <elliott> you can't have a
19:44:00 <elliott> instance (Applicative f) => Functor f
19:44:05 <elliott> because that's all overlapping
19:44:09 <elliott> so this is the best way
19:44:16 <cheater99> i would find it fun if Mr. Bean turned out to be god
19:44:51 <cheater99> and in some twisted, fucked-up world the deity turned out to have demented so far. he's still all-powerful, just barely ever uses those powers because he pretty much forgot about them.
19:44:54 <elliott> Apparently this machine is called Elliott-Hirds-MacBook-Air. Worst hostname ever?
19:44:54 <Phantom_Hoover_> elliott, overlapping?
19:45:00 <elliott> Phantom_Hoover_: yes
19:45:06 <Phantom_Hoover_> Explain
19:45:08 <Phantom_Hoover_> *.
19:45:19 <elliott> -bash: git: command not found
19:45:25 <elliott> Phantom_Hoover_: too lazy, google overlapping instances
19:45:55 <Phantom_Hoover_> Oh, of course. You'd do (Functor f) (Applicative f) or something?
19:46:46 <elliott> Phantom_Hoover_: eh?
19:47:01 <Phantom_Hoover_> OK, maybe I should look it up.
19:52:30 <oerjan> Phantom_Hoover_: haskell doesn't support using the methods of a subclass to define the methods of a superclass implicitly. there have been extensions suggested to allow this.
19:52:54 <Phantom_Hoover_> oerjan, so just don't make Applicative a subclass of Functor?
19:53:07 <oerjan> Phantom_Hoover_: but every Applicative _should_ be a Functor
19:53:27 <oerjan> and if not for hysterical raisins, every Monad should have been an Applicative
19:53:39 <Phantom_Hoover_> oerjan, yes, so have instance (Applicative f) (Functor f) or whatever.
19:53:50 <Phantom_Hoover_> Where fmap f = (pure f <*>)
19:53:58 <oerjan> Phantom_Hoover_: and haskell does not support doing that, is what i'm saying
19:54:03 <Phantom_Hoover_> Oh, why?
19:54:22 <Phantom_Hoover_> Well, I looked up overlapping definitions, but I just ended up confused.
19:54:29 <Phantom_Hoover_> s/definitions/instances/
19:55:07 <Phantom_Hoover_> Anyway, food.
19:57:21 <oerjan> Phantom_Hoover_: the algorithm ghc uses to look up whether a type belongs to a class does not look at other typeclasses it belongs to until _after_ deciding which instance to use, so class Applicative a => Functor a ... would be used for _every_ type a during the lookup phase.
19:57:51 <oerjan> unless you allow overlapping instances.
19:59:10 <oerjan> this restriction is in order to ensure that under normal circumstances, adding a new instance never changes the interpretation of already defined ones.
20:00:43 <oerjan> (without giving a compiler error for overlapping)
20:02:23 <oerjan> it may also have something to do with keeping the typeclass resolution decidable
20:03:11 <oerjan> also this has been complained about before, but the haskell gurus are ardent about keeping this "open world" property
20:09:37 <nooga> btw
20:10:16 <nooga> i thought about a compiler for a language typed pretty much like javascript
20:11:02 <nooga> and i'd write type inference engine that would try to avoid any type hinting
20:11:21 <nooga> but then it can't guarantee correctness, right?
20:11:34 <zzo38> Did you know...... there is big spider on my bed?
20:12:16 <nooga> yuck!
20:12:39 <nooga> how big?
20:13:08 <zzo38> approx. 1 metre
20:13:41 <nooga> :F
20:14:15 <zzo38> Sorry, "F" is incorrect. The only choices are "A", "B", "C", "D".
20:14:27 <zzo38> (It is multiple choice question, isn't it?)
20:15:18 <elliott> nooga: type hinting?
20:15:22 <elliott> you mean type signatures?
20:15:28 <elliott> nooga: what do you mean re - guarantee correctness
20:16:46 <oerjan> nooga: the technical theorem goes something like "full type inference in the presence of subtyping is undecidable"
20:17:11 <elliott> oerjan: indeed, but if nooga's ok with hindley-milner ...
20:17:32 <oerjan> well javascript has object orientation
20:18:02 <elliott> oerjan: yes, but javascript also has dynamic typing
20:18:08 <elliott> so clearly nooga is straying slightly :)
20:18:14 <elliott> oerjan: btw javascript has no inheritance
20:18:20 <oerjan> oh
20:18:24 <elliott> oerjan: it's prototype-based, which is even /more/ of a headache
20:18:32 <elliott> oerjan: yes, you can inherit things ... but you can also do hideous things too
20:18:48 <elliott> oerjan: and it's hard to distinguish types (prototype objects) from values (their clones)
20:20:56 <elliott> heh, apple doesn't let you register as a developer without specifying a company/organisation
20:21:02 <elliott> elliott from N/A corp here
20:21:16 <zzo38> I think Javascript is better program language than PHP in general (ignoring their common uses)
20:21:55 <elliott> Which Apple platforms do you develop with? Select all that apply.
20:21:55 <elliott> iOS
20:21:55 <elliott> Mac OS X
20:21:57 <elliott> Safari
20:22:01 * elliott wonders how one "develops for Safari"
20:22:34 <oerjan> I think Hu Jintao is a much nicer politician than Stalin in general (ignoring their common policies)
20:22:52 <elliott> Which web technologies do you work with? Select all that apply.
20:22:52 <elliott> C# CSS 3 HTML 5 Internet Plug-ins Java JavaScript/AJAX/Ruby/Rails Perl/PHP/Python Other
20:22:59 <elliott> "JavaScript/AJAX/Ruby/Rails"
20:23:03 <elliott> I swear to god that is a single checkbox.
20:23:33 <elliott> oerjan: there's an opinion in your message, but i can't find it
20:23:58 <oerjan> elliott: that comparing crap and horrible crap doesn't say much
20:24:11 <elliott> oerjan: i never thought of you as a guy with opinions :D
20:24:19 <elliott> [[By checking this box I confirm that I have read and agree to be bound by the Agreement above. I also confirm that I am of the legal age of majority in the jurisdiction in which I reside (at least 18 years of age in many countries).]]
20:24:24 <elliott> oh snap, being under 18 i can check this without consequence
20:24:31 <oerjan> elliott: no no it's not an opinion, it's a meta-opinion
20:24:48 <elliott> oerjan: well yes, but you just demonstrated anti-JS and anti-PHP sentiment :)
20:24:49 <oerjan> and i never m *hit by time-traveling anvil*
20:25:02 <coppro> elliott: doesn't quite work that way
20:25:06 <elliott> btw wouldn't mao have been more obvious
20:25:21 <oerjan> elliott: well i considered it
20:25:21 <elliott> coppro: shh! I'm relying on being considered too stupid to have understood what I'm doing
20:25:30 <nooga> uh
20:26:15 <nooga> js is quite good
20:26:26 <elliott> js is good apart from 90% of it which is horrible
20:26:29 <elliott> the 10% is Scheme
20:26:33 <nooga> yes
20:26:37 <nooga> i like this 10%
20:26:43 <elliott> nooga: yes, unfortunately it's useless
20:26:49 <elliott> things like the object model and the DOM exist outside it
20:26:53 <coppro> rainwave!
20:26:55 <nooga> but look at the design of jQuery!
20:26:56 <elliott> nooga: also the syntax is sub-optimal for a Scheme.
20:27:35 <coppro> goddamit CBC
20:27:37 <elliott> coppro: i'm using a system COMPILED ENTIRELY WITH CLANG APART FROM THE KERNEL
20:27:40 <coppro> stop using the word 'troll' right
20:27:40 <elliott> leading f'n edge
20:27:41 <coppro> it's confusing
20:27:46 <elliott> haha
20:27:47 <coppro> elliott: nice
20:27:48 <elliott> what
20:27:55 <coppro> elliott: 'troll' as in fishing
20:27:55 <elliott> coppro: yeah, they call it OS X :trollface:
20:28:00 <elliott> coppro: Problem?
20:28:07 <nooga> ;D
20:28:18 <coppro> elliott: "The site trolls for information"
20:28:21 <nooga> put elliott on /b/
20:28:25 <elliott> coppro: what xD
20:28:37 <coppro> elliott: it is correct usage of the word
20:28:38 <elliott> nooga: i'm an innocent flower who has never seen /b/ before.
20:28:40 <nooga> watch trolls being trolled
20:28:41 <elliott> and you better believe it
20:28:43 <elliott> coppro: I know
20:28:44 <elliott> coppro: but lol
20:28:56 <oerjan> elliott is so believable
20:29:16 <elliott> 5 hours until xcode downloads
20:29:19 <elliott> i think i might plug into ethernet
20:29:28 <oerjan> that's how he gets close to you and *stabs* you
20:29:36 <nooga> i believe that there are some highly intelligent /b/tards out there that make idiots of themselves on /b/ just for pure fun
20:29:53 <coppro> this is true
20:30:22 <elliott> nooga: that's all of them.
20:30:31 <nooga> nah
20:30:38 <elliott> well. ok. it used to be all of them :)
20:30:47 <nooga> it used...
20:31:13 <elliott> nooga: in the past.
20:32:45 <elliott> yay it's going faster now
20:43:59 <elliott> oerjan: http://article.gmane.org/gmane.comp.lang.haskell.cafe/84865
20:44:18 <Vorpal> fizzie, mcmap somehow got desynced while building with torches near max alt.
20:44:48 <Vorpal> fizzie, it "works" but the are has random "garbage"
20:44:52 <elliott> Vorpal: I blame Notch.
20:45:00 <elliott> oerjan: is it time for Peter Landin Facts?
20:45:10 <Vorpal> elliott, hah
20:46:11 <elliott> http://www.reddit.com/r/Minecraft/comments/essc7/ok_i_am_a_bit_freaked_out/
20:46:28 <elliott> Notch should make that kind of stuff generate naturally.
20:46:46 <elliott> Evidence of people being there before, occasional hidden deposits of useful things... man-made objects...
20:47:51 -!- sebbu2 has changed nick to sebbu.
20:48:14 <Vorpal> elliott, quite, might want it as an option though to avoid pissing of users who want to feel that they are the first to walk there
20:48:25 <elliott> Vorpal: everything's an option :P
20:48:26 <Vorpal> personally I'm ok with either
20:49:16 <elliott> http://i.imgur.com/UGw2n.gif
20:49:21 <elliott> holy shit what limechat
20:49:26 <elliott> why are you inlining images
20:49:29 <elliott> bad limechat
20:49:31 <Vorpal> elliott, that think you linked: maybe F4 "bug"?
20:49:32 <elliott> nobody link to goatse
20:49:36 <Phantom_Hoover_> elliott, that is an awesome MC idea.
20:49:45 <elliott> Vorpal: apparently, it's chunks from old worlds being loaded
20:49:52 <elliott> except if he didn't build a nether portal ... well ...
20:49:55 <elliott> who knows anyway
20:50:03 <elliott> fixed the image inlining
20:50:06 <elliott> you can all link to goatse now
20:50:07 <Vorpal> elliott, remember when pressing f4 gave you nether?
20:50:10 <elliott> Vorpal: yes
20:50:20 * Phantom_Hoover_ doesn't.
20:50:23 <Vorpal> elliott, maybe he did that by mistake, that is what I meant
20:50:31 <elliott> Vorpal: doubt it. since the boats etc
20:50:33 <oerjan> `addquote <elliott> nobody link to goatse <Phantom_Hoover_> elliott, that is an awesome MC idea.
20:50:36 <elliott> Vorpal: and minecarts and chests
20:50:41 <Vorpal> elliott, hm okay
20:50:52 <Vorpal> elliott, then weird bug or a hoax?
20:50:53 * Phantom_Hoover_ swatpans oerjan --==\#/
20:51:42 <oerjan> `echo hi
20:51:43 <elliott> I wonder why they didn't include XCode on the reinstall drive that comes with the Air.
20:51:43 <Vorpal> elliott, the steps for roof thing is quite nice when you can use it
20:51:50 <elliott> (It's the tiniest USB drive I have /ever/ seen.)
20:52:08 <elliott> By tiny I mean *TINY*:
20:52:08 <elliott> http://news.cnet.com/i/tim/2010/10/20/DSC_0072_610x438.JPG
20:52:09 <Vorpal> elliott, so it doesn't have the developer cd?
20:52:13 <HackEgo> hi
20:52:13 <HackEgo> 256) <elliott> nobody link to goatse <Phantom_Hoover_> elliott, that is an awesome MC idea.
20:52:22 <oerjan> `quote 256
20:52:23 <HackEgo> 256) <elliott> nobody link to goatse <Phantom_Hoover_> elliott, that is an awesome MC idea.
20:52:23 <elliott> Vorpal: The developer CD == the install DVD. Or maybe it still comes on 2, so the second DVD.
20:52:32 <Vorpal> elliott, how thick is it drive?
20:52:33 <elliott> Vorpal: But, eh, you can download it for free. All 3 gigabytes of it.
20:52:41 <elliott> Vorpal: It's thinner than the USB port.
20:52:48 <Vorpal> elliott, that sounds... unreliable?
20:52:53 <elliott> Vorpal: Not really.
20:52:58 <elliott> Bit hard to push in though.
20:53:15 <Vorpal> elliott, I wouldn't dare push it
20:53:24 <elliott> Vorpal: I had to wriggle it :-P
20:53:35 <elliott> Incidentally, this thing is *crazy* thin.
20:53:44 <elliott> It's exactly as high as a USB port ... in the highest place.
20:54:01 <Vorpal> elliott, you need a border around the port, or it wouldn't be a port
20:54:04 <elliott> (Well, OK, there is an imperceptible bit of non-USB-port aluminium above and below the USB ports. But still.)
20:54:19 <elliott> I am fairly sure it's actually powered by gnomes.
20:54:26 <elliott> Flat, two-dimensional gnomes.
20:54:27 <Vorpal> elliott, unibody design I presume?
20:54:31 <elliott> Vorpal: Yes.
20:54:37 <Phantom_Hoover_> [[But that is nuts.]] — someone on that Reddit thread who clearly has no insight into the twisted mind of Notch.
20:54:49 <elliott> Vorpal: I think the connections to other parts would make it 10x thicker :-P
20:55:02 <elliott> It actually has screw holes to open up the bottom though.
20:55:12 <elliott> But it would be impossible to do anything but replace the battery.
20:55:25 <elliott> The SSD isn't soldered on (the RAM is though), but it's chips without any enclosure, slotted into the motherboard.
20:55:25 <Phantom_Hoover_> elliott, what was the nature of the madness that lead you to buy this laptop?
20:55:37 <Vorpal> elliott, soldered on ram? yeargh
20:55:37 <elliott> And I don't think you can buy the chips separately.
20:55:58 <elliott> Vorpal: To be fair, at least it was necessary in this case rather than being a "fuck you customers thing".
20:56:05 <elliott> Well, necessary given the crazy design goals.
20:56:10 <elliott> Phantom_Hoover_: God knows.
20:56:45 <Phantom_Hoover_> elliott, please run me through the events that lead to it coming into your possession.
20:56:52 <Vorpal> elliott, is the wifi good?
20:56:59 <Vorpal> elliott, and does it have bluetooth?
20:57:08 <elliott> Vorpal: Yes. Well, I haven't tried any LAN stuff yet, but the WiFi is very reliable so far.
20:57:10 * Phantom_Hoover_ ponders doing an Oolite Let's Play.
20:57:11 <elliott> Yes, Bluetooth.
20:57:23 <Vorpal> hm
20:57:53 <Vorpal> elliott, keyboard backlit?
20:57:57 <Phantom_Hoover_> elliott, FWIW, new Minecraft Experiment update.
20:57:58 <elliott> Phantom_Hoover_: What's this. Oh. That's thin. Too bad the specs are -- it has a decent processor? Better GPU? 4 gigs of RAM? ...High resolution display? No. No. I won't do it. I won't be tem- HOW thin? DAMN YOU, STEVE JOBS, YOU CRAZY MAN! I CANNOT RESIST!
20:58:07 <elliott> Vorpal: No. That is the one thing it does not have :P
20:58:14 <elliott> (The previous model did IIRC, presumably it took up TOO MUCH ROOM.)
20:58:22 <Vorpal> elliott, what about a lamp above it?
20:58:23 <elliott> THANKFULLY I can touch type.
20:58:27 <Vorpal> elliott, as in, above the screen
20:58:28 <elliott> Vorpal: No. I can touch type.
20:58:32 <elliott> Vorpal: Well.
20:58:37 <elliott> Vorpal: You could use the camera-is-on LED :-P
20:58:42 <elliott> Or just the light from the screen.
20:58:43 <Vorpal> hah
20:58:56 <elliott> It *is* LED, so it runs the full gamut from black to lightbulb.
20:59:01 <Vorpal> elliott, what about flash reader?
20:59:10 <Vorpal> I doubt it will do CF
20:59:16 <Vorpal> but many some of the smaller ones?
20:59:28 <elliott> Vorpal: It has an SD card reader, at least. I don't know if it's a fancy combo thing.
20:59:39 <Vorpal> ah
20:59:40 <nooga> http://cubeengine.com/ this + crafting system + procedural landscape + MMO server > minecraft
21:00:01 <Vorpal> elliott, and how many USB ports was it?
21:00:05 <elliott> nooga: As a fan of Wouter (like everyone here!): shut up.
21:00:11 <Phantom_Hoover_> Wouter?
21:00:18 <Vorpal> wouter?
21:00:19 <elliott> Phantom_Hoover_: Inventor of Aardappel, and also Saurbraten.
21:00:28 <elliott> He's the guy with 3498573495349857393945 languages.
21:00:31 <nooga> cube engine is pure awesomness
21:00:32 <elliott> Also FALSE.
21:00:33 <elliott> Of course.
21:00:39 <elliott> Vorpal: A whole two USB ports.
21:00:39 <Phantom_Hoover_> I recognise these things, but I know nothing about them. Except FALSE.
21:00:52 <elliott> Phantom_Hoover_: http://strlen.com/aardappel-language
21:00:54 <Vorpal> elliott, hm... how is cooling?
21:01:03 <Vorpal> elliott, and did you try dwarf fortress?
21:01:06 <Phantom_Hoover_> elliott, looking at it now.
21:01:26 <Phantom_Hoover_> Vorpal, Dwarf Fortress is pretty boring, to be honest.
21:01:32 <elliott> Vorpal: It's cool enough that I'm using it on my lap with no discomfort at all, and it only got lukewarm when I played Minecraft on maximum settings. (But the fan made a bit of noise.)
21:01:37 <elliott> Haven't tried Dwarf Fortress yet.
21:01:51 <Phantom_Hoover_> And there's no obvious Linux version.
21:01:56 <elliott> Phantom_Hoover_: Yes there is.
21:02:09 <Phantom_Hoover_> *Obvious.*
21:02:09 <elliott> SDL: Windows | Mirror 1 | Mirror 2 | Mirror 3 | Windows (No Music) | Linux | Mac (Intel)
21:02:11 <elliott> Note "Linux".
21:02:19 <elliott> It's on the same line as the Windows download.
21:02:19 <Phantom_Hoover_> THERE WASN'T WHEN I LOOKED
21:02:26 <zzo38> I tried to play Dwarf Fortress once. I don't like the game, also there is many things I cannot figure out how to change (if it can be changed), and it is slow. In general, I do not like this game.
21:02:37 <elliott> Yeah I technically don't remember that either :P
21:02:41 <elliott> zzo38: It's slow because your computer is slow.
21:03:01 <Vorpal> <Phantom_Hoover_> Vorpal, Dwarf Fortress is pretty boring, to be honest. <-- that is not important here. The important bit is that it has high system requirements
21:03:33 <zzo38> elliott: Well, yes, my computer is one of the things that makes it slow.
21:03:37 <elliott> Vorpal: This thing is better than my iMac, let's put it that way. :p
21:04:00 <Vorpal> elliott, if you ran windows I would suggest crysis
21:04:08 <Phantom_Hoover_> When I tried playing it, I was astounded at the world generation, then confused to hell by the interface once gameplay actually started, then bored to hell and driven off by the prospect of (gasp!) micromanagement.
21:04:18 <elliott> Crysis is only slow if you max the settings out, I gather :-P
21:04:41 <Vorpal> elliott, well, I never tried it.
21:04:51 <elliott> But it amuses me that, four years after it was released, getting it to run at high FPS on maximum settings is still reserved for the absolute most expensive cards.
21:05:01 <Vorpal> hah
21:05:19 <zzo38> Play different game, such as the games I make you can watch. Or, please make up your own games (or game ideas)!
21:05:27 <Vorpal> ....
21:05:39 <elliott> zzo38: My game idea is to make a game that is Dwarf Fortress.
21:06:18 <Vorpal> elliott, crysis is mainly GPU heavy right? So combine crysis 3D engine with dwarf fortress
21:06:18 <elliott> Vorpal: I have to admit that swiping four fingers downwards to activate Expose makes me feel like a bit of an uncivilised savage.
21:06:27 <elliott> Like I'm swatting something with my paw.
21:06:43 <zzo38> elliott: Can you write a FOSS game working like Dwarf Fortress and with improvements?
21:06:44 <Vorpal> elliott, didn't they use to put that in F<some number>?
21:06:53 <elliott> zzo38: Probably not :-P
21:07:13 <Vorpal> elliott, if I suggested something like that, I would get a very different answer :P
21:07:26 <elliott> Vorpal: They still do, but since over a third of the laptop's bottom is dedicated to a gigantic slab of clickable glass, I'm gonna use the shit out of it.
21:07:45 <Vorpal> elliott, hope it doesn't break
21:07:58 <elliott> Vorpal: What, the glass?
21:08:10 <elliott> It's not like glassy glass, it's just glass-coated. :p
21:08:11 <Vorpal> yeah
21:08:15 <Vorpal> ah
21:08:20 <elliott> It feels like very smooth plastic, basically.
21:08:22 <zzo38> http://zzo38computer.cjb.net/irc_log/ADMIN/1293597986
21:08:34 <Vorpal> elliott, what about fingerprints
21:08:58 <elliott> Vorpal: I don't see any. It's not like the iPhone's screen.
21:09:14 <elliott> Note: I don't have any idea what it's actually made of, I just know it's coated with glass.
21:09:33 <elliott> It's nice, though; most trackpads feel really small to me.
21:09:37 <oerjan> elliott: hey theoretically one could make a game that would keep using more and more resources the more computing power you throw at it, until it successfully simulates a universe in perfect detail
21:09:49 <elliott> oerjan: indeed! get on it
21:10:13 <oerjan> theoretically, i am
21:10:25 * Phantom_Hoover_ wonders what the eigenratio of the universe is.
21:10:38 <elliott> oerjan: er howso :D
21:10:47 <Vorpal> oerjan, some sort of fractal might be a good way to do it
21:10:59 <oerjan> elliott: it's a very dubious theory
21:11:02 <elliott> Vorpal: Matter is already fractal.
21:11:09 <Vorpal> elliott, indeed.
21:11:13 <elliott> Matter is made out of matter is made out of matter is made out of quarks is ... oh, wait, never mind.
21:11:26 <Vorpal> elliott, fractal up to a point
21:11:26 <elliott> (Is made out of tiny vibrating strings is made out of raw hate for Notch!)
21:11:29 <Phantom_Hoover_> elliott, matter is just a general term.
21:11:50 <elliott> Phantom_Hoover_: Well, yes, but the way I see oerjan's idea, you'd go from simulating entire macroscopic objects to breaking them down slightly, to doing atoms,
21:11:54 <elliott> to simulating THE VERY FABRIC OF MATTER.
21:12:06 <Vorpal> elliott, but considering something like a tree. They have a fractal nature. So level of detail comes more or less "naturally" there
21:12:09 <oerjan> elliott: actually the virtual particle creation and destruction makes things fractal even at the elementary particle level, i believe.
21:12:22 <Phantom_Hoover_> It's more like Inductive matter := | <leptons> | <quarks> | <various gauge particles>.
21:12:24 <elliott> yeah well
21:12:27 <zzo38> Invent the game called "Sandwich - The Card Game" and "Professional Octopus of the World" (these names are just generated by randomly)
21:12:28 <elliott> your face is fractal ugly
21:12:32 <Phantom_Hoover_> oerjan, how?
21:12:51 <elliott> `addquote <zzo38> Invent the game called "Sandwich - The Card Game" and "Professional Octopus of the World" (these names are just generated by randomly)
21:12:52 <HackEgo> 257) <zzo38> Invent the game called "Sandwich - The Card Game" and "Professional Octopus of the World" (these names are just generated by randomly)
21:13:45 -!- wareya_ has joined.
21:16:55 -!- wareya has quit (Ping timeout: 265 seconds).
21:17:12 <oerjan> Phantom_Hoover_: basically every elementary particle is surrounded by an infinite cloud of virtual ones, which only exist for tiny moments before being destroyed again. this causes the math to blow up and they have to use a trick called renormalization to calculate how the things we actually observe (which consist of "real" particle + "virtual" cloud) behave
21:17:19 <zzo38> Why don't you please try to play CGA Collection game, one of these games might be good game to you???
21:17:33 <Phantom_Hoover_> oerjan, still don't see the fractalness.
21:17:49 <Phantom_Hoover_> There's no self-similarity, just loads of particles on the same scale.
21:18:09 <oerjan> Phantom_Hoover_: these virtual particles, for the moment they exist, have their own virtual cloud
21:18:23 <Phantom_Hoover_> Hmm.
21:18:51 <Phantom_Hoover_> But you're still selecting from a finite range of particles with constant size.
21:19:06 <Phantom_Hoover_> You can't zoom in on an electron and see lots of little electrons.
21:19:14 <oerjan> the particles themselves have size _zero_ in the theory
21:19:44 <elliott> oerjan: is this theory widely-accepted? :P
21:19:49 <Phantom_Hoover_> elliott, yes.
21:19:53 <zzo38> But they have mass, though. And mass is also energy.
21:19:58 <elliott> well, right
21:20:02 <elliott> i meant the -- oh forget it
21:20:06 <Phantom_Hoover_> It's part of the accepted corpus of QM.
21:20:06 <elliott> i am terrible at explaining things
21:20:07 <oerjan> but they can have differing amounts of energy. in fact a virtual particle can have higher energy the shorter they live. (heisenberg uncertainty)
21:20:29 <Phantom_Hoover_> oerjan, which leads neatly onto my awesome generator idea.
21:20:48 <Phantom_Hoover_> Which converts mass directly to energy without any of that tedious mucking about with antimatter.
21:21:25 <oerjan> zzo38: well mass is usually fixed for each particle type afaik. it's the extra which varies, i think. actually i'm not very sure about those details
21:21:42 <oerjan> *the extra energy
21:21:51 <elliott> Phantom_Hoover_: oh?
21:22:40 <Phantom_Hoover_> elliott, Hawking generator?
21:22:50 <Phantom_Hoover_> I explained it yesterday when you were here?
21:22:54 <elliott> Oh, right.
21:22:57 <elliott> Didn't that involve antimatter?
21:23:28 <Ilari> I applaud 3GPP for making IMS IPv6-only... :-)
21:23:39 <Ilari> And no, hawking generator doesn't involve antimatter.
21:24:38 <Phantom_Hoover_> elliott, no.
21:24:54 <elliott> Well, right.
21:24:54 <Phantom_Hoover_> Although you could use it to convert antimatter into energy as well.
21:25:00 <elliott> Phantom_Hoover_: How is it *your* idea again? :-)
21:25:12 <Ilari> One thing about black holes: Is baryon number property of black holes or do black holes violate conservation of baryon number?
21:25:23 <oerjan> Phantom_Hoover_: it _does_ remain to be seen if a radiating black hole really destroys all quantum numbers other than charge and rotation, as predicted. hm if not would that prevent the hole from disappearing?
21:25:54 <elliott> <cpressey> who cares, black holes don't exist anyway
21:25:54 <oerjan> *mass, charge and rotation
21:25:56 <Phantom_Hoover_> oerjan, hmm?
21:25:59 <Ilari> Same for lepton numbers (3 of them).
21:26:07 <Phantom_Hoover_> elliott, please tell me cpressey doesn't really think that.
21:26:23 <elliott> Phantom_Hoover_: Well, he doesn't actively go around saying black holes don't exist but he isn't convinced of their existence.
21:26:33 * Phantom_Hoover_ sighs.
21:26:46 <Phantom_Hoover_> Why... just, why?
21:27:01 <Ilari> Also, B-L... That being violated would be even bigger deal than baryon/lepton number violations...
21:27:13 <elliott> Phantom_Hoover_: Hey now, I distinctly recall some pop sci article saying SCIENTISTS were considering that they might not exist ;)
21:27:49 <oerjan> Phantom_Hoover_: if black holes preserve baryon number, say, then they would have to radiate matter rather than antimatter. and that would mean they couldn't radiate just mostly photons... someone's probably thought about this
21:28:11 <elliott> I'd grep the logs for cpressey's opinions on black holes, but I'd need hg to check out Gregor's log repository, and to get hg I need Homebrew, and to use Homebrew I need XCode which is downloading.
21:28:22 <oerjan> Ilari: oh i didn't notice you asking the same question
21:28:24 <Phantom_Hoover_> elliott, wait, ahhh.
21:28:33 <Ilari> Well, the matter/antimatter distinction in hawking radiation doesn't matter anyway before they reach enough temperature to start radiating electrons...
21:28:35 <Phantom_Hoover_> oerjan, awww.
21:28:41 <elliott> Phantom_Hoover_: ?
21:28:44 <Gregor> elliott: lawlfail
21:28:54 <elliott> Gregor: SHUT UP, IT HAS A GIGANTIC GLASS TRACKPAD.
21:29:02 <Phantom_Hoover_> elliott, getting the codu repository from hg.
21:29:18 <elliott> Phantom_Hoover_: Why did you go wait, ahhh.
21:29:40 <Ilari> And being able to reach 511keV thermally requires _quite_ high temperature.
21:29:48 <Phantom_Hoover_> elliott, because I've wanted that forever.
21:30:11 <elliott> Phantom_Hoover_: Don't post the link, Gregor's method of conserving bandwidth appears to be to not publicise it at all and let people find it themselves :P
21:30:25 <elliott> Admittedly it is just a one-time download of about 70 megs.
21:30:26 <Gregor> Pretty much :P
21:30:29 <elliott> Maybe nearing 100 by now.
21:30:56 <elliott> 33 minutes remaining for XCode ...
21:31:20 <elliott> I wonder if I can tell Homebrew to use clang by default.
21:31:57 <oerjan> Ilari: you could imagine that black holes would stop radiating at some point because they couldn't satisfy the necessary quantum numbers...
21:33:11 <elliott> Phantom_Hoover_: http://i.imgur.com/H9nHB.png OUR GLASS HATS ARE ... WAIT FOR IT ... OLD-HAT
21:33:23 <elliott> OMG
21:33:24 <elliott> Phantom_Hoover_: http://i.imgur.com/eUq9d.png
21:33:26 <elliott> Vorpal: http://i.imgur.com/eUq9d.png
21:33:34 <elliott> WE NEED A CACTUS KIT THIS _VERY SECOND_
21:33:41 <Phantom_Hoover_> Wait, is this GENERAL?
21:33:54 -!- Gregor has set topic: turds at http://esolangs.org/wiki/Main_Page | turds at voxelperfect.net have expired | historical turds at http://tunes.org/~nef/logs/esoteric/?C=M;O=D or via hg at http://codu.org/projects/esotericlogs/hg/.
21:33:59 <elliott> Phantom_Hoover_: Well ... I think it has to be a _block_.
21:33:59 <Gregor> DUN DUN DUNNNNNNNN
21:34:04 <elliott> Gregor: That ... is really unwise :P
21:34:04 <oerjan> btw is anyone mirroring the actual wiki? this dns business is starting to make me nervous
21:34:06 <elliott> Gregor: Also you forgot https.
21:34:07 <elliott> oerjan: yes.
21:34:10 <elliott> Gregor has it in hg.
21:34:16 <oerjan> good, good
21:34:16 <elliott> other people have backups
21:34:33 <Gregor> elliott: Works via both http and https
21:34:35 <elliott> But Gregor would only host the wiki if he could make it Hackiki :D
21:34:40 <elliott> Gregor: BUT HOW CAN I SECURE MY TRANSMUTION
21:34:49 <Gregor> elliott: By putting an 's' on it :P
21:34:55 <elliott> Gregor: YOU ARE FASCIST
21:35:05 <oerjan> elliott: no no s is for socialist
21:35:26 <Gregor> Meaning the lack of 's' is for fascism.
21:35:27 <elliott> Phantom_Hoover_: [[This works with any block on SMP. Not items though. I gave myself a lightstone head.]]
21:36:10 <elliott> Phantom_Hoover_: http://dl.dropbox.com/u/6771672/minecraft/armorbug/stairs.png
21:36:16 <elliott> Phantom_Hoover_: http://dl.dropbox.com/u/6771672/minecraft/armorbug/fence.png
21:36:23 <elliott> Phantom_Hoover_: http://dl.dropbox.com/u/6771672/minecraft/armorbug/halfblock.png
21:36:36 <elliott> Phantom_Hoover_: http://dl.dropbox.com/u/6771672/minecraft/armorbug/portal.png APPARENTLY THIS IS ANIMATED OMG OMG OMG WANT
21:36:37 <Phantom_Hoover_> elliott, OK, so what should I search for in the logs to see cpressey being nuts?
21:36:41 <elliott> I WANT A SWIRLY HEAD
21:36:52 <elliott> Phantom_Hoover_: Um, grep -i 'cpressey>.*black'
21:36:55 <Vorpal> elliott, :P
21:37:00 <elliott> *-ri 'cpressey>.*black' .
21:37:03 <elliott> Well.
21:37:07 <elliott> -i 'cpressey>.*black' 10*
21:37:31 <elliott> Phantom_Hoover_: http://i.imgur.com/rNfZR.png
21:37:33 <zzo38> I think you should make esolang wiki have both MediaWiki and Hackiki, and allow some limited interaction between them.
21:37:52 <elliott> "I put diamond ore on my head, many Lolz ensued" "Camp near where people are digging and hide your lower half, then when they try to mine the diamond the ore runs away :D"
21:38:29 <elliott> Phantom_Hoover_: apparently you can get a torch stuck to your head
21:38:31 <elliott> I want a lavaface
21:39:13 <oerjan> elementaly, my dear elliott
21:39:20 <elliott> oerjan: racist!
21:39:21 <oerjan> *+l
21:39:35 <elliott> its funny cuz of asians and r and l
21:39:44 <oerjan> elliott: hey i have nothing against fire elementals
21:40:04 <Vorpal> ineiros, there?
21:41:03 <oerjan> elliott: i suddenly envision people getting in trouble for collecting shoe laces ("Oh, I'm a lacist!")
21:41:21 <elliott> xD
21:41:24 <Vorpal> ineiros, if so: wrt that bug. What I did for cryptsetup-luks on ubuntu (which also uses device-mapper in the end, like lvm), was to set up disk using system rescue cd. Then I booted ubuntu live cd, mounted stuff, and installed on there
21:41:56 <Vorpal> ineiros, and before I rebooted I made sure the initramfs had cryptsetup of course
21:42:57 <elliott> CALL APOGEE SAY "AARDWOLF"
21:43:17 * oerjan now envisions _chinese_ people getting in trouble for collecting shoe laces
21:45:23 <elliott> i have a confession to make
21:45:27 <elliott> i am addicted to this magnetic power cord
21:45:28 <elliott> because
21:45:28 <Ilari_antrcomp> https? no httpy? :-)
21:45:35 <elliott> it actually snaps into the computer
21:45:37 <elliott> if you hold it close enough
21:45:57 <elliott> Ilari_antrcomp: Httpy? You mean http://www.eros-os.org/pipermail/e-lang/2000-May/003341.html? :p
21:46:01 <Gregor> GAWD I hate the magnetic power cord attachment.
21:46:09 <Gregor> It only comes out when I don't want it to.
21:46:30 <elliott> Gregor: The point is that it always comes out rather than having your laptop fall off the table, dude :P
21:46:48 <Gregor> I've never had this mystical laptop-falling-off-the-table experience.
21:46:48 <Vorpal> elliott, the new ones are stupid iirc. Since the cable doesn't attach straight out
21:46:59 <elliott> Vorpal: Define "attach straight out".
21:47:04 <Gregor> But I do have a never-ending sequence of plug-coming-out-of-laptop-for-no-reason.
21:47:11 <elliott> Gregor: You are not clumsy. I am clumsy.
21:47:32 <elliott> Admittedly it's come out once or twice without me wanting it today :P
21:49:32 <Phantom_Hoover_> Back when I still used the family MacBook the power cord broke at the attachment.
21:49:50 <Phantom_Hoover_> An entirely new cord was needed, at considerable expense.
21:50:25 <Sgeo> cheater99, the one with the bad guy who enters minds
21:50:26 <Sgeo> ones
21:50:35 <elliott> Phantom_Hoover_: Was that a magsafe one or an older one?
21:50:43 <Phantom_Hoover_> elliott, magsafe.
21:50:58 <elliott> MAGNETS ARE EXPENSIVE
21:51:44 <Phantom_Hoover_> They're not even high-end magnets.
21:51:44 <elliott> Phantom_Hoover_: IIRC the original MagSafe was really badly designed.
21:51:56 -!- hagb4rd has joined.
21:51:56 <Phantom_Hoover_> elliott, you don't need to tell me tha.
21:51:58 <Phantom_Hoover_> *that
21:52:09 <Phantom_Hoover_> It *melted* in the end.
21:52:59 <elliott> Phantom_Hoover_: Yeah... Apple like to rush things.
21:53:14 <Phantom_Hoover_> And overcharge for replacements.
21:53:33 <elliott> Phantom_Hoover_: How much did the cord cost?
21:53:51 <Phantom_Hoover_> £60 or so IIRC.
21:54:04 <elliott> Phantom_Hoover_: Niiiiiiiiiiice.
21:54:07 <Phantom_Hoover_> For a transformer, some wires and a magnet.
21:54:16 <elliott> Phantom_Hoover_: Well, Apple do like to sell AppleCare. :-P
21:54:27 <elliott> (AppleCare? No AppleDon't.)
21:54:29 <Phantom_Hoover_> I seriously don't understand people who think Apple gives you value for money.
21:55:45 <zzo38> I don't like the removal of mana burn in Magic: the Gathering cards
21:56:04 <elliott> Phantom_Hoover_: Apple computers are, in fact, well-priced; the components are high quality. It's just that most people don't really care how well-shaped their aluminium computer is.
21:56:10 <elliott> Replacements are a complete ripoff, of course.
21:56:17 <Sgeo> Well, they do offer an easy to use alternative to Windows. Expensive, but still
21:56:34 <elliott> Phantom_Hoover_: (For instance, the new iMacs are ridiculously cheap. Let's put it this way: The 27" models are as expensive as the _display they use_ would be by itself.)
21:56:36 <elliott> (IPS.)
21:56:54 <elliott> Ridiculously cheap in relative terms of course ... they still cost a bundle.
21:58:04 <Sgeo> elliott, what's wrong with Racket?
21:58:30 <elliott> Absolutely nothin' (well, some things, but not much).
22:00:13 -!- ais523 has quit (Remote host closed the connection).
22:00:35 <elliott> RIP ais523
22:00:50 <Deewiant> I agree that mana burn should've been kept, in general the game's been dumbed down too much IMO
22:01:41 <Sgeo> Wait, what's the point either way? Are there a lot of things that cause there to be more than one mana put into the pool?
22:01:49 <elliott> OMG.
22:01:49 <Deewiant> Yes
22:01:51 <elliott> Epiphany.
22:02:03 <elliott> Phantom_Hoover_: We must make Dwarf Fortress: The Tabletop RPG.
22:02:08 <elliott> All computation done by humans.
22:02:14 <elliott> It would be THE WORST>
22:02:15 <elliott> *WORST.
22:02:31 <Phantom_Hoover_> elliott, on that topic http://wiki.alioth.net/index.php/Random_number_generator
22:02:40 <Phantom_Hoover_> A detailed explanation of Elite's RNG.
22:02:40 <zzo38> Deewiant: Yes I think that is correct. Mana burn should kept, and a lot of things have been made badly.
22:02:52 <Phantom_Hoover_> And galaxy-production mechanisms.
22:03:02 <zzo38> I also think it has been dumbed down too much
22:03:14 <Deewiant> Hell, I think they should've kept interrupts :-P
22:03:15 <elliott> Phantom_Hoover_: "On that topic"? :P
22:03:26 <Phantom_Hoover_> elliott, procedural generation!
22:03:40 <elliott> "Installing this software requires 9.53 GB of space."
22:03:47 <elliott> I think that's in decimal gigabytes. But still.
22:03:51 <zzo38> Deewiant: No, I like how the stack works actually. But there are some rules I never liked, such as the rule that a Aura that is also a creature is destroyed.
22:04:16 <Deewiant> I just liked that interrupts could be played during damage prevention but instants couldn't
22:04:47 <elliott> Phantom_Hoover_: Is Oolite actually fun?
22:04:47 <Deewiant> Nowadays you can block a creature, have it deal damage, and then return it to your hand with Boomerang for example; in the past I don't think you could
22:04:53 <Deewiant> Have the blocker deal damage, I mean
22:04:59 <Phantom_Hoover_> elliott, depends.
22:05:01 <zzo38> I also don't really like the way that planeswalkers rules work
22:05:04 <elliott> Phantom_Hoover_: On?
22:05:29 <Phantom_Hoover_> It's pretty boring slog at the start, but it gets better once you have the cash to pay for gadgets and blow things up.
22:05:30 <Deewiant> Well the planeswalker thing is actually a complication so I'm kind of fine with that in terms of "dumbing things down", although mostly they seem overpowered to me
22:05:59 <elliott> It is unnerving for disk activity to be happening with no audial indication.
22:06:45 <zzo38> I have written rules for a "playercard" which is somewhat similar to a planeswalker, but it acts as another player. It doesn't get turns normally, but some spells can give it extra turns if it is a card that can give players extra turns.
22:06:48 <Deewiant> I recommend a RAID-1 array of a few dozen 10000 RPM disks, it should help with that
22:07:17 <elliott> OK, I wonder if this thing is meant to get hot when installing software.
22:07:32 <Phantom_Hoover_> elliott, OTOH, you can always hack your save files to give yourself 10000000 credits and then buy tonnes of stuff, then install some OXPs and go nuts.
22:07:33 <zzo38> Playercards are not allowed to concede, their life total is equal to the number of their loyalty counters, and they are discarded if they win or lose the game (and the game continues).
22:07:40 <elliott> Come on fan! You can do it!
22:07:45 <elliott> VROOOOOOOOOOOOOOOOOOM
22:08:09 <elliott> SOON I WILL BE INFERTILE
22:08:12 <elliott> YOU MUST HELP ME OUT, FAN
22:08:17 <elliott> SAVE MY CHILDREN
22:09:15 <elliott> Dear god, it's gone into jet engine mode.
22:09:19 <elliott> I'm worried.
22:10:43 <elliott> Phantom_Hoover_: Vorpal: Recommendation seen on /r/minecraft: -Xincgc.
22:10:48 <elliott> Incremental GC.
22:11:07 <elliott> Phantom_Hoover_: Oh, time for irony.
22:11:09 <elliott> Phantom_Hoover_: [[Problem is, Notch said gold is intentionally useless — to quote him, "it's kind of a political statement". He was interested in the way gold is useless in the real world, but still has such a high value, and wanted to replicate that in Minecraft.]]
22:11:17 <elliott> Phantom_Hoover_: And yet diamond is the most useful ore in the game.
22:11:28 <Deewiant> And gold is certainly not useless in the real world
22:11:32 <elliott> Minecraft -- sponsored by De BEers.
22:11:33 <elliott> *Beers.
22:11:34 <zzo38> See if you can figure out what any of these things do in Magic: the Gathering cards :
22:11:42 <zzo38> * A card with the type "Instant Land".
22:11:49 <Phantom_Hoover_> elliott, well, diamond is very useful IRL.
22:11:59 <Phantom_Hoover_> (As is gold, but not as obviously.)
22:12:06 <zzo38> * A creature with "Phasing. When ~ comes into play, it becomes an Instant in addition to its other types."
22:12:13 <elliott> Phantom_Hoover_: Yes. But diamond is also not NEARLY as scarce as its price suggests.
22:12:19 <Sgeo> An instant that granted mana makes more sense to me than "instant land"
22:12:29 <elliott> Yet in Minecraft diamond is very rare and very useful, and Notch ... mocks gold for being useless?
22:12:31 <zzo38> Sgeo: That is not what I am asking.
22:13:01 <zzo38> * A card with "Tribal" as its only type.
22:13:11 <Phantom_Hoover_> elliott, so wait, the rumours about De Beers are true?
22:13:53 <elliott> Phantom_Hoover_: The "rumours"?
22:14:00 <zzo38> Sgeo: I am asking what you would think would happen if a card's type somehow was "Instant Land", not what would make more sense and that kind of stuff.
22:14:07 <Phantom_Hoover_> When I was told them I was told they were rumours.
22:14:26 <elliott> Phantom_Hoover_: If you mean the fact that diamond's supply is very carefully controlled to keep it expensive and rare-seeming, then I don't know if I'd call them rumours so much as definite facts.
22:14:46 <elliott> Remember that De Beers was a monopoly for god knows how long.
22:14:52 <Phantom_Hoover_> Yes, that was it.
22:14:59 <elliott> [[De Beers is well known for its monopolistic practices throughout the 20th century, whereby it used its dominant position to manipulate the international diamond market.[2][16] The company used several methods to exercise this control over the market: Firstly, it convinced independent producers to join its single channel monopoly, it flooded the market with diamonds similar to those of producers who refused to join the cartel, and la
22:14:59 <elliott> stly, it purchased and stockpiled diamonds produced by other manufacturers in order to control prices through supply.[17] However, the De Beers model changed in 2000,[17] due to factors such as the decision by producers in Russia, Canada and Australia, to distribute diamonds outside of the De Beers channel, thus effectively ending the monopoly.[2][16]]]
22:15:06 <elliott> Phantom_Hoover_: But the effects -- diamond's ludicrous price -- remain.
22:15:55 <elliott> [[“I plan on adding some kind of overarching narrative to the game to drive the player forward and provide a sense of direction, and add many more new features, like monster towns and alchemy.”]] -Notch
22:16:35 <Phantom_Hoover_> I think the ruins idea is interesting.
22:17:10 <Phantom_Hoover_> Especially if there were old mines.
22:18:16 <Phantom_Hoover_> Hey, you could make it psychological horror or something!
22:18:30 <Phantom_Hoover_> MC is a very horrific setting in the first place.
22:18:43 <Phantom_Hoover_> Or at least SSP is.
22:20:05 <coppro> it is a price people are willing to pay though
22:20:51 <elliott> coppro: yes ... because of De Beers marketing them :)
22:21:34 <coppro> the price will likely drop though
22:25:43 <Sgeo> Spam subject: "stop smoking shark"
22:26:06 <elliott> I'll smoke as much shark as I want.
22:28:19 <elliott> #machomebrew is INSUFFICIENTLY ACTIVE.
22:29:07 -!- variable has quit (Read error: Operation timed out).
22:29:58 <Sgeo> Please tell me that that means something other than what I think it means
22:30:08 <elliott> Sgeo: What do you think it means?
22:30:33 <Sgeo> elliott, a way to get binaries not signed by Apple onto Macs. Apple isn't THAT psychotic, is it?
22:30:41 <elliott> Yes, yes they are!
22:31:42 <Phantom_Hoover_> Sgeo, programming on the Mac is *horrible*.
22:31:54 <Vorpal> elliott, drained another two lines today in the cube. You haven't drained any today. No offence meant. Just a fact.
22:32:06 <Phantom_Hoover_> You need to get *every binary* signed by Apple.
22:32:09 <Sgeo> Phantom_Hoover_, horrible as in, requires assistance from Apple, or horrible as in, .... WTF
22:32:19 <Sgeo> Phantom_Hoover_, you're joking
22:32:20 <Phantom_Hoover_> Recompile? Need new signature.
22:32:23 <Sgeo> You have to be joking
22:32:27 <Phantom_Hoover_> Nope.
22:32:42 -!- variable has joined.
22:32:44 <Phantom_Hoover_> Heck, even the interpreted languages are restricted.
22:33:20 <Phantom_Hoover_> They have their own versions of Python and Perl which perform signature checks, and any other interpreters are denied permission.
22:33:31 <elliott> Vorpal: It's not just a fact, you're complaining. What would you prefer I do? Make packages magically install faster so I can compile mcmap?
22:33:37 <elliott> Shall I get out my magic wand?
22:33:43 <elliott> Phantom_Hoover_: Also Ruby!
22:33:48 <Sgeo> Phantom_Hoover_, I think you're trying to illustrate the silliness of what I thought was going on
22:33:48 <Phantom_Hoover_> elliott, play without mcmap?
22:33:50 <Sgeo> Right?
22:33:54 <elliott> Phantom_Hoover_: And WALK to the Cube?
22:33:55 <Phantom_Hoover_> Sgeo, I wish I was.
22:33:57 <elliott> I don't think so.
22:34:01 <Vorpal> elliott, you have two computers.
22:34:12 <Sgeo> Phantom_Hoover_, link to source?
22:34:13 <elliott> I AM NOT TURNING ON MY OLD LAPTOP JUST TO RUN MCMAP FOR FUCK'S SAKE
22:34:23 <Vorpal> elliott, also you don't /need/ mcmap as such.
22:34:33 <Vorpal> sure, it is nice to have
22:34:43 <elliott> Vorpal: I am not walking to the Cube.
22:34:51 <elliott> Ergo I need //goto.
22:34:51 <Phantom_Hoover_> elliott, yeah, but I mean, you'll have to wait to get Apple to sign it as well.
22:35:07 <Phantom_Hoover_> Might as well break out the old laptop.
22:35:55 <zzo38> The GPLv3 prevents allowing them from doing such things unless you are given a separate key for your own computer so that it can be bypassed in that way
22:36:06 <zzo38> Does Python/Perl/Ruby have this license?
22:36:10 <zzo38> I don't know.
22:36:39 <elliott> None of those are GPLv3'd.
22:37:09 <zzo38> But GNU packages are GPLv3'd.
22:37:29 <zzo38> Are you not allowed to run any GNU packages?
22:37:30 -!- hagb4rd has quit (Ping timeout: 272 seconds).
22:37:37 <elliott> zzo38: You can if you homebrew them.
22:38:12 <zzo38> elliott: What does "homebrew them" mean? What do you do in order to do that?
22:38:22 <elliott> zzo38: Break in.
22:39:18 <Sgeo> Phantom_Hoover_, I think, when someone asks if you're being sarcastic, and you obviously are, the polite thing to do is to make fun of them for being slow to figure it out, not keep it going
22:40:01 <zzo38> Why don't they just give you a "unit key" for this purpose? Even the GPLv3 suggests doing this.
22:40:03 <Phantom_Hoover_> Sgeo, I apologise for nothing!
22:40:10 <elliott> Sgeo: If you're that dense to miss obvious sarcasm, you deserve it.
22:40:21 <Phantom_Hoover_> zzo38, it was not, in fact, the truth.
22:40:25 <elliott> And fuck that idea of "politeness"; mocking you is hilarious, fun and easy, like all good things in life.
22:40:52 <zzo38> Phantom_Hoover_: It is unclear what you are refering to.
22:40:58 <Sgeo> You could have mocked me in a less cruel manner!
22:41:04 <Phantom_Hoover_> zzo38, the Apple thing.
22:42:28 <elliott> Sgeo: That was not cruel ... that was an obvious joke.
22:42:31 <elliott> You are way too sensitive.
22:47:44 <zzo38> #machomebrew appears a secret unregistered channel.
22:48:17 <elliott> zzo38: Um, it's registered for me.
22:49:25 <zzo38> My computer says it is unregistered and secret but existing.
22:49:36 <zzo38> Why does it say that? Is that a lie?
22:49:42 <elliott> I don't know.
22:50:18 * elliott taints his box with non-LLVM stuff
22:51:07 <elliott> 04:19:42 <fizzie> It probably says "PentiumPro" because PPro is the first CPU to return family=6, which is what pentiums II, III, M, and Core/Core2/Core i7, and Atom, return too. (P4 returns family=15, for some unclear reason.)
22:51:15 <elliott> fizzie: Aren't all the ones listed PIII arcthiecture, and P4 NetBurst?
22:51:20 <elliott> Or, wait, M is NetBurst too isn't it.
22:52:53 <zzo38> I have plans to make the computer and one day I will do it!! (I have access to barter some people might help with these things) It is many difference from other computer.
22:53:10 <Phantom_Hoover_> http://arxiv.org/abs/0908.1803v1
22:53:19 <Phantom_Hoover_> Dammit, all the good ideas are taken.
22:53:26 <elliott> `addquote <zzo38> I have plans to make the computer and one day I will do it!! (I have access to barter some people might help with these things) It is many difference from other computer.
22:53:27 <HackEgo> 258) <zzo38> I have plans to make the computer and one day I will do it!! (I have access to barter some people might help with these things) It is many difference from other computer.
22:53:41 <Sgeo> Racket has such a ... not-ready-for-prime-time-yet feel to it
22:54:11 <Sgeo> I mean, in their response to those criticisms, for instance
22:54:40 <zzo38> I have to use only components with the following criteria: * Component is not expensive. * No special membership is required. * Public information is available how it works, someone else can make a clone or emulation. * It can be programmed without proprietary software. * Components are user-replaceable.
22:54:40 <elliott> Sgeo: Um, it is *decades* old.
22:54:43 <elliott> Well, okay, decade.
22:54:52 <Sgeo> elliott, yes, which is why it's a bit concernng
22:54:54 <Sgeo> concerning
22:54:56 <elliott> 1994 apparently.
22:55:02 <elliott> Sgeo: Your complaints are stupid, though.
22:55:06 <zzo38> And possibly a few more criteria, too.
22:55:25 <Sgeo> elliott, what about the complaints of the person I linked to?
22:55:33 <zzo38> What is your opinion of these criteria?
22:55:37 <elliott> Sgeo: I didn't see.
22:55:52 <Sgeo> http://programming-puzzler.blogspot.com/2010/08/racket-vs-clojure.html
22:56:08 <elliott> OK, I need to name my computer. Anyone have any good hostnames?
22:56:10 -!- Sasha has quit (Ping timeout: 240 seconds).
22:56:19 <elliott> Sgeo: Clojure is terrible so anyone who's comparing X to Clojure and preferring Clojure is a moron unless X is PHP.
22:56:48 <Sgeo> elliott, I get the impression that the person wants to prefer Racket
22:56:56 <Sgeo> And hates a lot of things about Clojure
22:57:00 -!- Sasha has joined.
22:57:04 <elliott> I don't care about some random guy on the internet.
22:57:08 <elliott> Now someone name my computer.
22:57:11 <elliott> Phantom_Hoover_: You name it.
22:57:14 <zzo38> elliott: I don't know. Are you going to use some dynamic DNS service? Will you get a static address and DNS? Is it only for your private network?
22:57:18 <Sgeo> elliott, ok, but eir criticisms might still be valid
22:57:25 <elliott> (My previous one was called dinky; as this computer is EVEN DINKER, I have no idea what to call it.)
22:57:34 <elliott> Sgeo: Yes, but I don't read every post that says HASKELL SUX either.
22:57:40 <elliott> zzo38: Just for private network.
22:57:41 <Sgeo> Someone defending Racket on that page: "In support of Racket, we have come up with a library of data structures in Typed Racket (a statically typed dialect of Racket). And we are in the process of integrating it into the Racket release"
22:57:42 <Phantom_Hoover_> elliott, the Anguish of Malevolence.
22:57:46 <zzo38> Call it "evendinker", then.
22:57:46 <Phantom_Hoover_> "Angy" for short.
22:57:52 <Sgeo> i.e., "We're working on it"
22:57:57 <elliott> *evendinkier
22:58:02 <elliott> Sgeo: Typed Racket is very old.
22:58:08 <elliott> Sgeo: So clearly they are just merging it into Racket itself.
22:58:13 <elliott> Sgeo: Note that you can used Typed Racket with Racket.
22:58:19 <elliott> Racket supports multiple languages in one implementation.
22:58:25 <Sgeo> elliott, I am aware of that
22:58:26 <elliott> They coexist and can use the same libraries.
22:58:36 <Sgeo> It's pretty ... I think Racket wants to take over the world
22:58:41 <Sgeo> Consume all other languages
22:58:56 <Phantom_Hoover_> Racket = Scheme \cup other cool things, yes?
22:59:03 -!- calamari has joined.
22:59:10 <elliott> Phantom_Hoover_: Pretty much. Except it's not a strict R5RS superset now.
22:59:13 <elliott> (Conses are immutable)
22:59:14 <Sgeo> There will never be a Racket.NET, because Racket and .NET are almost in competition
22:59:35 <elliott> Sgeo: Something wrong with creating a cohesive environment?
22:59:39 <Phantom_Hoover_> Sgeo, pleasepleaseplease tell me that's a quote?
22:59:43 <Phantom_Hoover_> *.
22:59:49 <elliott> Nope.
22:59:49 <Sgeo> Phantom_Hoover_, that what's not a quote
22:59:55 <elliott> ...?
22:59:58 <Sgeo> ?
23:00:05 <Phantom_Hoover_> elliott, if you do not call the computer Angy I will be very upset and I won't help you ever again.
23:00:23 <Sgeo> Phantom_Hoover_, the thing I didn't put in quote marks?
23:00:24 <elliott> Phantom_Hoover_: BTW, my previous computer names have been Bournemouth (the iMac, named after the computer in Look Around You series 2; previously Deep-Thought), and dinky.
23:00:38 <Phantom_Hoover_> Look Around You series 2!
23:00:45 <Phantom_Hoover_> I wish I had it!
23:00:51 <elliott> Phantom_Hoover_: Yes! The comedy program slightly worse than Look Around You series 1!
23:00:54 <Phantom_Hoover_> At least series 1 is on YouTube!
23:01:12 <elliott> Phantom_Hoover_: Bournemouth was a computer so clever it had to be kept in a cage to stop it escaping.
23:01:29 <Sgeo> I'm sure that clip is on YouTube
23:01:33 <Sgeo> I've seen it, so
23:01:40 <elliott> IIRC.
23:01:50 <elliott> Phantom_Hoover_: http://www.youtube.com/watch?v=hnNSvzvY6VE
23:01:53 <Phantom_Hoover_> elliott, hmm. Remember it vaguely.
23:02:25 <Sgeo> I think more languages shoud have dual-pane REPLs like DrRacket
23:02:30 <elliott> I'd call it ninja, were it not so cliche.
23:02:38 <Phantom_Hoover_> Sgeo, explain.
23:02:39 <elliott> Maybe I'll call it REAL-ULTIMATE-POWER.
23:02:42 <Phantom_Hoover_> elliott, ANGY
23:02:51 <Sgeo> Phantom_Hoover_, definitions separate from REPL entry
23:02:55 <elliott> fizzie: Got a list of every named object in H2G2?
23:03:12 <Sgeo> So you can just edit the definitions without retyping them or copy-paste
23:03:22 <Sgeo> And without having a file to store the program open
23:03:35 <Phantom_Hoover_> Sgeo, oh, AKA @'s source editor.
23:04:00 <elliott> "Yeah, @ did it first ... or is that will do it later..."
23:04:56 <elliott> Phantom_Hoover_: I should call it Hotblack Desatio.
23:05:13 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:05:20 <Sgeo> PLaneT sounds great, but... I think centralization shouldn't be the only answer to module management
23:08:20 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.12/20101026210630]).
23:12:19 <cheater99> Sgeo: i forgot it, what was it about? remind me
23:12:56 <Sgeo> DS9's was a murderer who escaped death by entering other people's minds, and was killed
23:13:04 <Sgeo> (sorry for spoilers)
23:13:23 <cheater99> ds9 and spoilers? ahahahah
23:13:24 <cheater99> dude
23:13:28 -!- calamari has quit (Quit: Leaving).
23:13:45 <elliott> cheater99: what's so funny, ds9 is incredibly linear
23:14:05 <elliott> make: pkg-config: Command not found
23:14:22 <Sgeo> FT-1'f jnf Nahovf jnf haxvyynoyr, naq gnxvat bire crbcyr. Ur riraghnyyl rfpncrq, ohg jnf gevpxrq vagb tbvat bagb n sebmra cynarg.
23:14:31 <cheater99> elliott: saying "i spoiled ds9 for you" is like saying "i threw away your two week old pizza leftovers, you can't eat them anymore"
23:14:53 <elliott> Did you know that Snape killed Dumbledore/!??!.
23:15:00 <cheater99> it's not like he told us what's on the desert planet in star trek iv
23:15:10 <elliott> (the answer is Khan)
23:15:16 <cheater99> no, the answer is
23:15:19 <elliott> SG-1's was Anubis was unkillable, and taking over people. He eventually escaped, but was tricked into going onto a frozen planet.
23:15:22 <cheater99> KHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANNNN!!!!!!!!!!!!!!!!!!!
23:15:24 <elliott> Sgeo: fixed that for you
23:15:33 <cheater99> oh him
23:15:56 <cheater99> he was boring
23:16:28 <cheater99> i liked how his avatar in the higher plane was a rotund banker
23:17:25 <Sgeo> Does anyone sane use Insert Lambda in DrRacket?
23:17:56 <cheater99> what if they're sane but they use it to inflict pain on other people who later have to work with that code?
23:18:06 <zzo38> No, Snape did not killed Dumbledore. I did (accidentally)
23:18:12 <cheater99> there's a reason why i write production code with haskell
23:19:18 <elliott> Sgeo: Sure.
23:19:21 <elliott> Unicode lambdas are nice.
23:19:41 <elliott> HERE GOES COMPILATION TIME TO RADIATE MY FUTURE BABIES AWAY
23:19:44 <elliott> THE BENEFITS OF LAPTOPS
23:21:22 <Gregor> That's why my preferred means of getting babies is theft.
23:21:35 <cheater99> this is very funny
23:21:43 <Sgeo> λ
23:21:53 <elliott> Gregor: Before they're born?
23:22:08 <zzo38> Before their parents are born?
23:22:20 <elliott> Gregor: I have this mental image of you pulling fetuses out of vaginas now and keeping them all in your lair, laughing manically.
23:22:27 <elliott> It is possibly the best mental image I have ever had
23:23:17 <Phantom_Hoover_> Gregor, incidentally, are you really anosmic?
23:23:32 <elliott> ==> ed - config.h < config.h.ed
23:23:33 <elliott> i approve
23:24:06 <cheater99> i have taken all the numbers under 24 million, and grouped them in groups of 24. then i took the 1st, 5th, 7th, 11th, 13th, ... 23rd number off those. that's 8 numbers, and if the nth number is a prime number, the bit is 1. i have put this string of bytes in a wave file, and the output is.. white noise?
23:24:41 <elliott> cheater99: ZOMG WHAT IS RANDOMNESS
23:24:42 <zzo38> cheater99: Why did you do that?
23:24:51 <elliott> there are spiral forms if you render the distribution a certain way though IIRC
23:24:54 <elliott> oerjan probably knows more
23:25:03 <cheater99> yes, google "primzahlenkreuz"
23:25:06 <cheater99> that's why i did 24
23:25:24 * Sgeo wonders how difficult it would be to implement a Python subset in Racket
23:25:26 <cheater99> someone came up to me with this idea, i immediately called BS on it
23:25:29 <elliott> Sgeo: been done iirc
23:25:31 <Sgeo> Erm, implement is the wrong word
23:25:33 <elliott> someone did some denotational semantics thing
23:25:37 <Sgeo> Have as a #lang
23:25:56 <cheater99> but i did this silly little calculation, and it proved interesting.
23:26:03 * Sgeo doesn't really know what denotational semantics is :(
23:26:06 <elliott> Interesting as ... white noise?
23:26:22 <cheater99> exactly this amount of interesting.
23:26:27 <elliott> console.c:144: error: ‘rl_mark’ undeclared (first use in this function)
23:26:37 <elliott> fizzie: Compiling mcmap on OS X needs you to manually use GNU readline, FWIW.
23:26:42 <elliott> Since it comes with libedit as libreadline, I think.
23:27:05 <cheater99> why does there have to be readline drama
23:27:09 <elliott> what
23:27:12 <cheater99> all those people are out of their minds
23:27:14 <elliott> ...
23:27:18 <elliott> there is no readline drama
23:27:20 <elliott> what the fuck are you talking about
23:27:22 <cheater99> of course there is
23:27:45 <cheater99> every second language that has an interpreter abandons readline and goes for some sort of alternative bs
23:27:56 <cheater99> because it's gpl
23:27:59 <elliott> yes.
23:28:01 <elliott> perfectly reasonable.
23:28:08 <elliott> libedit is very common and well-known
23:28:10 <Gregor> elliott: Pretty much accurate.
23:28:13 <Gregor> Phantom_Hoover_: Hyposmic.
23:28:28 <elliott> cheater99: is it unthinkable to you that some people like licensing code under something that isn't gpl?
23:28:32 <elliott> thus preventing them using readline?
23:28:42 <Phantom_Hoover_> Gregor, what does that cause?
23:28:55 <elliott> map.c: In function ‘map_init’:
23:28:55 <elliott> map.c:107: error: nested functions are disabled, use -fnested-functions to re-enable
23:28:55 <elliott> map.c: In function ‘map_draw_player_marker’:
23:28:57 <elliott> map.c:399: error: nested functions are disabled, use -fnested-functions to re-enable
23:28:59 <elliott> fizzie: ^
23:29:20 <elliott> world.c: In function ‘world_thread’:
23:29:21 <elliott> world.c:460: warning: no return statement in function returning non-void
23:29:29 <cheater99> elliott: this is too complicated for my simple mind
23:30:13 <elliott> fizzie: return NULL fixes that.
23:30:15 <Gregor> Phantom_Hoover_: It doesn't "cause" anything, it's a symptom, it's a reduced sense of smell.
23:30:38 <Phantom_Hoover_> Gregor, oh, of course.
23:30:50 -!- zzo38 has quit (Quit: PRINTER IS EXPLODING).
23:32:20 <elliott> Come on mcmap, you can connect.
23:35:22 -!- poiuy_qwert has joined.
23:43:02 <nooga> I MAKE RFID READERS FOR THE NEW WORLD ORDER
23:44:38 -!- Wamanuz4 has joined.
23:45:13 <Phantom_Hoover_> nooga, will they spare your organs when they make their harvest?
23:45:33 <oerjan> his organs will clearly be saved
23:45:46 <oerjan> now where and which purpose i cannot say
23:45:55 <oerjan> *for which
23:47:18 <Phantom_Hoover_> Clearly they'll keep him so that when they get bored after crushing all the dissidents they have someone to RFID tag everyone else.
23:47:56 -!- Wamanuz3 has quit (Ping timeout: 264 seconds).
23:52:28 <elliott> Phantom_Hoover_: WHAT SHOULD I DO THAT IS INTERESTING
23:54:21 <quintopia> isn't there an exploration mode in MC that doesn't let you mod stuff?
23:55:17 <Phantom_Hoover_> There is one planned.
23:55:23 <elliott> quintopia: There's an adventure mode.
23:55:28 <elliott> Mod presumably you mean change blocks.
23:55:32 <elliott> Adventure mode is pre-scripted stuff.
23:55:33 <quintopia> yes
23:55:33 <Phantom_Hoover_> i.e. it will never happen until Notch gets his act together.
23:55:42 <elliott> I don't see why you'd want to explore and do absolutely nothing.
23:55:44 <Phantom_Hoover_> Which will never happen full stop.
23:55:46 <elliott> You can; just never hit any blocks.
23:55:56 <elliott> But that would be _boring_.
23:56:23 <quintopia> well. i was thinking you could make a true 3d maze and just trust everyone who plays it not to cheat :P
23:57:27 <quintopia> but it would be better if you had a 3d maze where hitting blocks was part of it...but can you even place indestructible blocks? i didn't think you could...
23:57:41 <elliott> quintopia: well obsidian takes 30s or so to mine even with a diamond pickaxe
23:57:44 <elliott> with hand ... minutes
23:57:52 <elliott> quintopia: you can place bedrock as a server op though
23:57:54 <elliott> which is indestructable
23:58:46 <Phantom_Hoover_> But you can't remove it, so god help you if you place a block wrongly.
23:58:55 <quintopia> so you could just make a map out of bedrock i guess...
23:59:24 <Sgeo> elliott, is Racket's functional reactive stuff a good way to learn functional reactive programming?
23:59:25 <Phantom_Hoover_> Also, bedrock is destructible in the sense that it doesn't actually have infinite resistance to explosions, just mind-bogglingly high.
23:59:37 <elliott> Sgeo: Doubtful.
2010-12-30
00:00:01 <Phantom_Hoover_> So I suppose you could make a creeper farm or something, then set them all off at once once you had 186000 of them.
00:01:15 <Ilari> How do 186000 creepers explode?
00:01:38 <elliott> Ilari: Explosively.
00:03:18 <Ilari> What's their kapow/gram ratio?
00:03:41 <Sgeo> elliott, so what's a good way to learn?
00:03:42 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
00:03:50 <elliott> Sgeo: Three goats and a pile of ratios.
00:04:01 <elliott> Ilari: Approximately creeper kapows to the gram. :p
00:04:16 <elliott> Creepers are 1/4 less powerful than TNT, with explosion power of 3. The harder the surrounding material, the less damaging the explosion will be. So secure homes need to be built with a stronger material to avoid creeper damage.
00:04:21 <elliott> Ilari: http://www.minecraftwiki.net/wiki/Explosion
00:04:29 <elliott> Ilari: You can work out the kapow/gram from that + explosion power = 3 :P
00:05:19 -!- poiuy_qwert has joined.
00:07:11 <elliott> Phantom_Hoover_: Guess what an OUTDATED GHC I am installing.
00:07:25 <Phantom_Hoover_> I have no idea!
00:07:34 <elliott> Phantom_Hoover_: 6.12.3 OH GOD
00:07:43 <elliott> (Note: GHC 7 is not meant to be used by regular people yet :P)
00:07:58 <nooga> minecraft cannons amaze me
00:08:01 <elliott> Oh wait, there's a Haskell platform package
00:08:02 <elliott> .
00:08:08 <elliott> I'll just install that.
00:08:23 <olsner> elliott: isn't there a HP beta/alpha/something for GHC 7 yet?
00:08:40 <elliott> olsner: probably
00:08:46 <elliott> nooga: http://www.youtube.com/watch?v=nN-CeXyTmBE
00:08:58 <elliott> olsner: but homebrew doesn't have it :)
00:09:17 <olsner> obviously...
00:09:35 <elliott> olsner: your obvious
00:10:27 <Ilari> 186000 creepers... Huh.
00:10:37 <nooga> elliott: this is awesome
00:10:46 <elliott> Ilari: Might be a BIT hard to get them into one place :P
00:10:50 <elliott> Ilari: You'd need a very very big trap.
00:11:04 <elliott> Ilari: And also a way to set them off and then get VERY FAR AWAY VERY QUICKLY.
00:11:08 <elliott> (Perhaps with a Nether portal.)
00:11:14 <olsner> elliott: btw, I was reading about L4 in the holidays... turns out it's pretty much exactly what I was going to build with my OS thingy
00:11:24 <elliott> olsner: this is why i tried to golf your kernel
00:11:28 <elliott> olsner: to beat L4 at its own game
00:11:35 <elliott> olsner: but did you listen?!
00:12:46 <olsner> well... I did listen, I just rejected all your ideas afterwards
00:13:00 <Ilari> Even 500 resistance is apparently enough to resist any explosion that can occur...
00:15:12 <elliott> olsner: but WHY :D
00:15:13 <Ilari> 100k explosions occuring at once won't help if damage isn't cumulative...
00:17:24 <nooga> elliott: http://www.youtube.com/comment?lc=P78EgF_u1b1Ac68qVGQ4aPUxKZk9QNha7b6ooPb8gAQ
00:17:36 <oerjan> <elliott> olsner: but homebrew doesn't have it :) <-- * suddenly realizes what this macho mebrew talk was about
00:17:47 <elliott> lol
00:17:57 <elliott> oerjan: :-D
00:18:14 <elliott> oerjan: well OS X does use the Mach-O object format
00:18:23 <nooga> what is it all about with this Racket, what is this language? :P
00:18:28 <elliott> nooga: PLT Scheme
00:18:35 <nooga> i saw the webpage but looks like another Scheme
00:18:37 <elliott> oerjan: so one could say -- Mac Homebrew: "Mach-O, me brew"
00:18:40 <nooga> at first glance
00:18:41 <elliott> nooga: it used to be called PLT Scheme.
00:18:47 <elliott> nooga: you know of it. it's that famous one.
00:18:53 <nooga> ah
00:18:55 <elliott> they decided it wasn't very scheme any more and rebranded
00:19:36 <Ilari> Hole with lots of creepers on bottom might be nasty for who falls into it...
00:19:36 <nooga> uhm
00:19:40 <elliott> oerjan: oh! http://www.haskell.org/pipermail/haskell-cafe/2010-December/087788.html oleg wrote that :-D
00:19:49 <elliott> Oleg writing about Peter Landin being a genius, is there anything better?
00:19:59 <elliott> Ilari: Hell, a handful of creepers is already very close to fatal even with full armour.
00:20:30 <elliott> Ilari: Have a bunch of pressure plates activating a redstone circuit that detonates a huge amount of TNT below you, going way down near bedrock, where there are 20 creepers...
00:20:39 <elliott> Ilari: Death trap, but requires a lot of rebuilding for each victim :-)
00:21:28 <nooga> how about traps with sand and water
00:21:51 <elliott> nooga: well, probably -- i don't know how to do them :-(
00:22:47 <Ilari> What about digging hole 3x3 blocks in size and two deep. Filling the bottom with TNT blocks and above with something like sand. Then rig a trigger on the center block on ground level...
00:26:30 <elliott> Sgeo: Ponzi is better than Racket, anyway.
00:26:48 <elliott> Ilari: Do you play Minecraft? If not, your evil genius is going SORELY to waste not doing so.
00:27:19 * Sgeo is uncertain whether that's a joke
00:27:20 * Sgeo wikis
00:27:47 <elliott> Sgeo: Ponzi Scheme is the name I have eternally reserved for my Scheme dialect.
00:27:51 <elliott> It's just SO PERFECT.
00:27:59 <elliott> (1) Ponzi is memorable and short, and a good name for binaries;
00:28:02 <elliott> (2) The pun is awesome.
00:28:13 <Ilari> Pressure plate to detonate TNT block immediately behind wall/floor/ceilling would probably be bad enough anyway...
00:28:31 <Sgeo> (3) It will be talked about a lot, and get people interested, but never pay dividends
00:28:44 <elliott> Ilari: But rather a pain to put back after some poor sap dies.
00:28:48 <oerjan> clearly ponzi scheme is destined to take over the world. and then cause its collapse.
00:29:52 <elliott> the one disadvantage is googlability :D
00:30:00 <elliott> but then, tech things tend to rank higher than their non-tech meanings on google...
00:30:04 <elliott> nerds rule the internet
00:30:26 <Ilari> Or some TNT blocks hidden behind a wall and a creeper there...
00:30:52 <Ilari> Oh, put the creeper also behind a wall...
00:31:05 <elliott> Ilari: At this point, I think I'd just start stabbing people when they walk into my house.
00:31:27 <oerjan> Sgeo: ponzi's scheme paid dividends.
00:32:00 <elliott> that's why it was perfectly all right!
00:32:08 <oerjan> of course!
00:32:15 * elliott worries briefly about why oerjan knows about ponzi's scheme
00:32:26 <oerjan> elliott: wikipedia?
00:32:37 <elliott> oerjan: CUT IT OUT, WITH YOUR LOGIC
00:32:43 <elliott> and your, and, and your LOGIC
00:33:11 <elliott> oerjan: you know what makes me sad?
00:33:12 <Sgeo> I'm trying to talk about hotswapping, they're now talking about eval
00:33:20 <elliott> scheme's inconsistency with mathematical operators.
00:33:35 <elliott> > (+)
00:33:35 <elliott> 0
00:33:35 <elliott> > (*)
00:33:36 <elliott> 1
00:33:38 <elliott> but (-) gives an error
00:33:40 <elliott> and (- x) = -x
00:33:42 <elliott> rather than x
00:33:44 <elliott> (-) should = 0 of course
00:33:55 <elliott> and (/) should result in 1
00:33:57 <elliott> BUT THE WORST
00:34:01 <elliott> (min) and (max) are errors
00:34:06 <elliott> (min) should = infinity
00:34:08 <elliott> and (max) = -infinity
00:34:11 <oerjan> elliott: i don't see why, they're not monoid operations
00:34:11 <elliott> for obvious reasons
00:34:21 <oerjan> (- and /)
00:34:30 <oerjan> min and max i might agree
00:34:30 <elliott> oerjan: i'm just being silly
00:34:40 <elliott> oerjan: but it would be more consistent to have (op x (op)) = x
00:34:42 <elliott> for all op
00:34:44 <elliott> (and x obvs)
00:35:07 <elliott> oerjan: (and also you could use it to implement a fold where you don't have to specify the zero :))
00:35:19 <elliott> in fact such a fold could just be (apply op lst)
00:36:16 <elliott> [[Knowingly entering a Ponzi scheme, even at the last round of the scheme, can be rational economically if there is a reasonable expectation that government or other deep pockets will bail out those participating in the Ponzi scheme.[2]]]
00:36:19 <elliott> that's just silly :)
00:36:20 <oerjan> i vaguely recall there was some language where you could register identity elements for functions in that way
00:36:37 <oerjan> perhaps one of the CASes
00:37:14 <elliott> probably
00:37:53 <elliott> can i just say that http://en.wikipedia.org/wiki/Tulip_mania is the most amazing thing ever
00:38:17 * oerjan learned about that from a Phantom comic
00:48:08 <elliott> Phantom_Hoover_: Want to invest in code-money with Ponzi Scheme Developments?
00:48:23 <elliott> (I figure I can develop this on a Ponzi scheme model, using payments of code to pay other people who want implementations of that feature.)
00:48:35 <Phantom_Hoover_> XD
00:49:04 -!- Sgeo has quit (Read error: Connection reset by peer).
00:49:26 -!- Sgeo has joined.
00:50:00 <elliott> Oh man, this display has so much better colours than my old laptop.
00:50:05 <elliott> It is insane how differently things look.
00:51:29 <elliott> Sgeo: have you played the PLT GAMES yet
00:51:38 <Sgeo> No?
00:56:27 <elliott> Sgeo: it's in the racket folder
00:56:33 <elliott> PREPARE FOR AMAZING
00:58:10 <Sgeo> ...
00:59:32 <elliott> Sgeo: CARD - MOTHER - GAMES - FUCKIN' - PLT - YEAH
01:00:03 <Sgeo> Is it suppose to show that these sorts of games are easy to implement?
01:01:31 <elliott> Sgeo: I have no idea why it exists.
01:01:38 <elliott> Presumably as a demo of ... its abilities?
01:01:58 <Sgeo> I think Factor and Racket are related
01:02:10 <Sgeo> Are we sure Slava isn't part of the PLT team?
01:03:25 <elliott> Sgeo: Umm ... no he isn't.
01:03:37 <Sgeo> I was joking, kind of
01:03:56 <Sgeo> Both Racket and Factor seem to love the ability to include other languages inside itself
01:04:23 <Sgeo> Racket and Factor both have slideshow libraries
01:04:31 <Sgeo> Documentation DSLs
01:07:33 -!- elliott has quit (Remote host closed the connection).
01:08:26 -!- elliott has joined.
01:08:42 <elliott> I'm going to go out on a limb here and assume that if your whole screen goes pink that's not a good thing.
01:11:57 -!- j-invariant has joined.
01:12:40 <elliott> hi j-invariant
01:16:00 <j-invariant> hey
01:16:22 <j-invariant> elliott: it takes about 3 mins (= forever) to typecheck a single definition I have now :/
01:16:36 <elliott> j-invariant: wow :-D
01:16:46 <j-invariant> not even a proof search, just Definition make_product : Hom X A -> Hom X B -> Hom X AxB
01:16:51 <elliott> j-invariant: seriously? wow
01:16:55 <elliott> j-invariant: how big is the printed term?
01:16:57 <j-invariant> := fun f g => pi1 (pi1 ... f g))
01:17:02 <j-invariant> oh never thought of checking that
01:17:23 <j-invariant> yeah it's not big at all
01:17:46 <elliott> j-invariant: huh
01:17:50 <elliott> j-invariant: how good is your machine :-P
01:18:09 <j-invariant> well everything happens quickly except for this single definition
01:18:21 <j-invariant> http://coq.pastebin.com/MJCUF7MT
01:19:22 <j-invariant> I think internally, it's got a situation like to A x = A' y to check, and it unfolds A to get B C D and it unfolds all those for layers and layers and them normalizes these huge terms
01:20:15 <elliott> yeah
01:20:26 <elliott> i don't think there's anything you can do
01:20:32 <elliott> j-invariant: are you low on ram? maybe that would help
01:20:40 <elliott> if it's expanding REALLY huge terms :p
01:20:41 <j-invariant> it's not very promising.. what if you wanted to actually USE this stuff?
01:21:33 <j-invariant> top says 100% CPU but it's only getting up to 3.3% MEM
01:21:40 <elliott> j-invariant: why would you do anything useful in Coq :D
01:21:49 <j-invariant> oh now it's climbing up to 7%
01:24:12 <j-invariant> its still going :/
01:24:53 -!- Phantom_Hoover_ has quit (Remote host closed the connection).
01:27:11 <j-invariant> elliott: I still like this idea of having a category theory language that checks with Coq to make sure everything is sound
01:27:28 <j-invariant> elliott: although I only know how to make simple data types in catgeory theory and they're no fun!
01:27:32 -!- p_q has joined.
01:31:04 <j-invariant> left object nat with pr is
01:31:08 <j-invariant> 0: 1 -> nat
01:31:11 <j-invariant> s: nat -> nat
01:31:13 -!- poiuy_qwert has quit (Ping timeout: 276 seconds).
01:31:20 <j-invariant> end object;
01:31:29 <j-invariant> elliott: that's natural numbers and primitive recursion
01:31:36 <elliott> j-invariant: nice
01:31:39 <elliott> j-invariant: what are lists :-P
01:31:58 -!- oerjan has quit (Quit: Good night).
01:32:06 <j-invariant> right object colist(X) with coprl is delist: colist -> coprod(1,prod(X,colist))
01:32:09 <j-invariant> end object;
01:32:17 <elliott> j-invariant: any non-co version? :p
01:33:02 <j-invariant> left object list(a) with foldr is
01:33:07 <j-invariant> nil: a -> list(a)
01:33:11 <j-invariant> oops
01:33:14 <j-invariant> nil: 1 -> list(a)
01:33:18 <j-invariant> cons: a -> list(a)
01:33:20 <j-invariant> end object;
01:33:34 <j-invariant> no that's wrong
01:33:49 <j-invariant> that was maybe
01:34:36 <j-invariant> cons: prod(a,list(a)) -> list(a)
01:35:00 <j-invariant> elliott: best one is this:
01:35:00 <j-invariant> right object exp(a,b) with curry is
01:35:00 <j-invariant> eval: prod(exp,a) -> b
01:35:01 <j-invariant> end object;
01:35:08 <j-invariant> they define lambda
01:35:14 <elliott> j-invariant: that is awesome.
01:35:16 <j-invariant> (in order to do ackermann)
01:35:31 <elliott> j-invariant: have you actually implemented this syntax?
01:35:38 <j-invariant> no this is someone else
01:35:57 <j-invariant> http://hackage.haskell.org/package/CPL
01:36:07 <elliott> j-invariant: aww, boring! prior art is teh suck :)
01:36:20 <elliott> i'd like to live in a bubble where nobody has done anything so i get to figure it all out myself
01:37:29 <Sgeo> Time for more DS9
01:37:35 <Sgeo> It is supposed to improve soon, right?
01:38:17 <elliott> ds9 is good all the way through. but most especially in the later seasons
01:38:27 <elliott> (note: if you think "oh i'll just skip to the later seasons!" you fail everything forever)
01:38:50 <Sgeo> When does the Dominion War start?
01:38:57 * Sgeo <3 Odo
01:41:07 <j-invariant> elliott: you know Charity
01:41:14 <elliott> j-invariant: I know of it, yes
01:41:19 <j-invariant> I think it's basically the same as that
01:41:21 <j-invariant> except nicer
01:41:38 <j-invariant> charity is so ugly
01:41:47 <elliott> Sgeo: Season two is when the DOminion are introduced.
01:42:04 <elliott> Sgeo: Then it takes until season five and six for the war machine to actually explode.
01:42:15 <elliott> Sgeo: It's a slow series, live with it.
01:42:43 <Sgeo> elliott, but are many of the episodes before 5 and 6 about the Dominion?
01:43:08 <elliott> Sgeo: Plenty, it's all a long, slow buildup... but seriously, there are good non-Dominion episodes.
01:43:10 <elliott> Stick with the series.
01:43:14 <elliott> j-invariant: is charity category based?
01:43:15 <elliott> I never knew
01:43:23 <elliott> huh it is
01:43:45 <elliott> j-invariant: this page has always amused me http://pll.cpsc.ucalgary.ca/charity1/www/wofm/wofm1.html
01:43:51 <elliott> j-invariant: yeah charity is totally 50% practical
01:43:56 <j-invariant> yeah lol
01:44:01 <elliott> what with its complete lack of IO and strong termination requirement
01:44:13 <elliott> and lack of any development or libraries at all :)
01:44:40 <elliott> j-invariant: can you not have a constructor A->B->C in category theory?
01:44:43 <elliott> I guess it all has to be A->B
01:44:45 <elliott> that seems kind of ugly
01:46:19 <j-invariant> did anyone answer zzos question?
01:46:32 <j-invariant> Is there a sub-turing language that has an undecidable halting problem?
01:46:43 <elliott> j-invariant: he answered it himself
01:46:46 <elliott> no, there is not
01:46:49 <j-invariant> why not?
01:46:51 <elliott> or was it that you answered it
01:46:55 <elliott> j-invariant: well
01:47:02 <elliott> j-invariant: there was that cheat answer (he?) gave
01:47:06 <elliott> so "yes" technically i guess
01:47:09 <elliott> but no interesting ones :)
01:48:16 <elliott> i dunno
01:50:52 -!- elliott has quit (Remote host closed the connection).
01:52:20 -!- elliott has joined.
01:52:48 <j-invariant> elliott: btw CPL is a single category
01:53:06 <j-invariant> elliott: and it's equivalent to simple lambda calculus
01:53:21 <elliott> j-invariant: ah ... so those are not actually defining categories?
01:53:25 <elliott> well
01:53:27 <elliott> i guess that makes no sense
01:53:35 <j-invariant> elliott: would be interesting to have one that lets you use multiple categories and equivalent to dependent types
01:53:35 <elliott> j-invariant: the problem with category theory is that it's basically a meta-type-system
01:53:40 <elliott> and generally you want to work in a type system :)
01:53:56 <j-invariant> yeah I have been thinking about the idea of category theory as a meta-type-system
01:54:09 <j-invariant> so you have (terms : types) :: CATEGORY THEORY
01:54:22 <j-invariant> types make sure your syntax is good, category theory makes sure your semantics are good ?
01:54:29 <j-invariant> (i.e. that the program is correct)
01:54:46 <elliott> maybe
01:54:53 <elliott> j-invariant: you need to make... METAGORY THEORY
01:55:20 <elliott> ((terms : types) :: CATEGORY THEORY) :::::::::::: <H1><BOLD><BIG><BIG><BLINK><MARQUEE>METAGORY THEORY</HTML>
01:55:23 <j-invariant> llol
01:56:56 <elliott> j-invariant: http://www.lfcs.inf.ed.ac.uk/reports/87/ECS-LFCS-87-38/ this is the lang that haskell thing implements apparently
01:57:09 <elliott> "Ph.D. thesis - Price £7.00" <- fuck that
01:57:11 <elliott> anyone wanna pirate it
01:57:18 <j-invariant> heh you can get it off Haginos ste
01:57:25 <j-invariant> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.164.1837&rep=rep1&type=pdf
01:57:29 <elliott> j-invariant: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.164.1837&rep=rep1&type=pdf
01:57:30 <elliott> indeed
02:03:47 <Sgeo> I think I've seen this episode before
02:04:01 <Sgeo> elliott, is HtDP decent?
02:04:13 <elliott> Sgeo: I've never read it and I don't care.
02:04:16 <j-invariant> HtDP sucks
02:04:31 <elliott> j-invariant: really, why?
02:04:34 <j-invariant> it's all faux pragmatism and getting stuff "done"
02:05:11 <elliott> sicccppppppppp
02:05:31 <elliott> j-invariant: HAVE YOU READ YOUR SICP TODAY
02:06:15 <j-invariant> heh
02:06:45 <elliott> (RIP /prog/ being interesting some time -- some other time)
02:09:37 <Sgeo> hm?
02:11:53 <elliott> Sgeo: what?
02:15:34 -!- a1234567890 has quit (Quit: Ex-Chat).
02:17:13 -!- elliott has quit (Remote host closed the connection).
02:17:27 -!- elliott has joined.
02:21:57 -!- elliott_ has joined.
02:22:26 <Sgeo> What's wrong with /prog/?
02:22:34 -!- elliott has quit (Ping timeout: 276 seconds).
02:22:36 <Sgeo> Oh wait, you don't mean /r/programming do you
02:26:46 -!- zzo38 has joined.
02:28:19 <zzo38> If you have accessed by gopher server by a proxy, it will not work anymore, except Floodgap (there is two reasons I did not block Floodgap). Direct connection is prefer. If you do not want direct connection, you can use Tor.
02:31:02 <elliott_> Sgeo: Indeed, "/prog/" is not the same thing as "/r/programming" ... but /r/programming is terrible too.
02:31:05 <elliott_> zzo38: Why can I not use a proxy?
02:32:00 <zzo38> elliott_: I blocked the proxies from accessing it to prevent the gopher service from being indexed by Google. (You can still use Veronica to search it if you want to, though.)
02:32:15 <elliott_> zzo38: What is wrong with Google indexing it?
02:33:52 <elliott_> j-invariant: Our slogan is: “category theory can provide a better and more natural understanding of mathematical objects than set theory”, so we use it to guide our tour around the world of data types. Note that we do not mean to abandon set theory by this. We will still heavily rely on it, but our intuition should not be obstructed by it.
02:33:56 <elliott_> j-invariant: that is the least catchiest slogan ever
02:34:01 <elliott_> *catchy
02:34:18 <zzo38> elliott_: Two things. One thing is I don't want Google to index it (use Veronica if you want to search gopher). The other thing is the proxy requests indexed by Google waste power (but it is OK for Veronica and other things like that to index it, I am OK with these things).
02:34:37 <elliott_> zzo38: Why do you not want Google to index it?
02:35:14 <zzo38> elliott_: What do *you* think??
02:35:33 <elliott_> zzo38: I don't know. I am asking why you do not want Google to index it.
02:35:51 <j-invariant> elliott_: LOL
02:35:52 <j-invariant> what's that from?
02:35:56 <elliott_> j-invariant: this thesis you mentioned
02:35:59 <elliott_> j-invariant: with CPL
02:36:03 <j-invariant> ahh
02:36:25 <elliott_> CATEGORY INDUSTRIES -- category theory can provide a better and more natural understanding of mathematical objects than set theory
02:36:30 -!- Sasha has quit (Ping timeout: 246 seconds).
02:36:31 <elliott_> nope, still not very ctachy
02:36:32 <elliott_> *catchy
02:36:54 -!- Sasha has joined.
02:37:04 <zzo38> elliott_: That isn't their job. One thing Google is not suited for gopher search, and I don't particularly like Google and those other service, anyways. It is OK if Google indexes HTML pages linking to my gopher, that is OK with me and I have no problem with that.
02:37:14 <zzo38> If you want to search gopher, please use a gopher search service, such as Veronica.
02:37:27 <elliott_> zzo38: Why do you not like Google and other indexing services?
02:38:46 <j-invariant> zzo38: why not like google?
02:39:26 <zzo38> Actually there are many thing I do not like about Google (not only the search engine, but other things too). I also do not want Copyscape to be able to find it (Copyscape uses both Google and Yahoo! to search), and I don't want someone to find the proxy page and not learn about the protocol.
02:39:38 <zzo38> And there are many more reasons that I will not list here it takes too much time.
02:39:44 <elliott_> zzo38: What are the things you do not like about Google?
02:39:56 <elliott_> And what is wrong with copyscape?
02:40:44 <zzo38> Well, one thing is the search engine. I don't like the way they tried to make it much more user-friendly, or they try to steal everyone's information (even if before they tried not to, they still do now), etc.....
02:41:24 <elliott_> zzo38: What do you mean by steal everyone's information?
02:41:26 <zzo38> If you want to use Copyscape you can use it. But I have some files protected by Anti-Copyscape (a program I wrote).
02:41:29 <elliott_> And what is wrong with user-friendly?
02:41:38 <elliott_> Why did you write anti-copyscape?
02:41:46 <elliott_> I do not understand what is wrong with copyscape.
02:42:19 <zzo38> elliott_: Actually the original reason I wrote Anti-Copyscape is that someone had no PDF reader and I wanted to copy it out for them. The PDF was protected by Copyscape.
02:42:38 <elliott_> zzo38: Excuse me? Copyscape is just a search engine.
02:42:42 <elliott_> They do not protect PDFs.
02:42:50 <elliott_> zzo38: You must be thinking of something else.
02:43:04 <zzo38> But there is only one file on my service affected by Anti-Copyscape, and it is not linked anywhere, so it doesn't matter much.
02:43:09 <elliott_> http://en.wikipedia.org/wiki/Copyscape As you can see here they do not do any PDF things.
02:43:13 <Sgeo> http://www.reddit.com/r/AskReddit/comments/et6tb/anyone_else_see_eating_food_as_a_chore/
02:43:36 <zzo38> elliott_: Actually they do PDF, since Google does PDF, so does Copyscape.
02:43:46 <Sgeo> Someone who understands me!
02:43:48 <elliott_> zzo38: OK, but I do not know what protected means here.
02:43:54 <elliott_> zzo38: How did it prevent you from copying the file?
02:44:53 <zzo38> elliott_: There is PDF encryption (anyone without PDF software cannot read it), but that was not the reason for writing Anti-Copyscape. Basically, there is a "Protected by Copyscape" sign.
02:45:30 <elliott_> zzo38: OK, well, what does it matter if someone put that there? All it means is that they'll search with Copyscape for plagiarised works based on theirs every now and then.
02:45:38 <elliott_> What does Anti-Copyscape do?
02:45:59 <zzo38> elliott_: Forces the user to enter a number before entering. (It tells the user what number to type in)
02:46:15 <elliott_> zzo38: What does that accomplish?
02:47:19 <zzo38> It also disable indexing as well.
02:47:27 <elliott_> zzo38: What does having to enter a number accomplish?
02:49:21 <zzo38> elliott_: Nothing much. But that's old and I really have no use for it anymore. I wrote it only for someone's request because they wanted to access a specific PDF file but they had no program to access it.
02:49:37 <elliott_> Okay. Did they request you write Anti-Copyscape?
02:52:46 -!- p_q has quit (Quit: This computer has gone to sleep).
02:56:36 <Sgeo> "This episode was ranked last in Entertainment Weekly's evaluation of the first two seasons of the show.
02:56:36 <Sgeo> "
02:56:40 <Sgeo> WTF? I liked it
02:56:40 <zzo38> elliott_: No; they couldn't have known about the Copyscape without seeing the PDF document. So I just had to make an assumption.
02:56:50 <elliott_> Sgeo: What show.
02:56:58 <Sgeo> DS9
02:57:01 <Sgeo> http://memory-alpha.org/wiki/Move_Along_Home
02:57:02 <elliott_> Sgeo: What episode.
02:57:26 <elliott_> Sgeo: BTW you liking a thing is inversely correlated with it being good.
02:57:46 <Sgeo> I like Smalltalk!
02:58:48 <elliott_> Sgeo: Probably for all the wrong reasons.
02:59:19 <zzo38> (If they could see the PDF document, they would not need me to do this, isn't it?)
03:01:04 <zzo38> Sgeo: Do you like the wrong reasons for all the wrong reasons?
03:06:07 <elliott_> http://manifestoism.com/post/2183131490/manifestoist-manifesto Manifestoist Manifesto.
03:07:02 -!- cheater99 has quit (Ping timeout: 240 seconds).
03:07:43 <elliott_> Right, if someone wants to stop me making some kind of linkblahg to replace /r/programming so I can sleep at night, now is the time.
03:08:02 <j-invariant> linkblahg??
03:08:05 <j-invariant> on reddit or what
03:08:15 <zzo38> elliott: What does linkblahg means? And what are you doing anyways?
03:08:39 <elliott_> j-invariant: linkblahg = linkblog = a bunch of summarised links and short commentary with an RSS feed.
03:08:53 <elliott_> think http://chneukirchen.org/trivium/, except cooler because it's me.
03:09:15 <elliott_> admittedly i doubt i'll be able to stop myself posting long-form crap but at the same time my laziness will ensure that it is vanishingly rare
03:09:57 <zzo38> I don't really care whether or not you make that. Decide by your own opinion, please.
03:10:06 <elliott_> http://excamera.com/sphinx/fpga-j1.html this is VERY cool! 16-bit Forth CPU in _200 lines of Verilog_! w/ TCP/IP stack, system can fit in 8 kbytes!
03:10:21 <Sgeo> What's wrong with /r/programming ?
03:10:25 <elliott_> http://excamera.com/files/j1demo/docforth/invaders.fs.html space invaders!
03:10:27 <elliott_> Sgeo: it's terrible.
03:10:33 <j-invariant> the thing about reddit is the comments are stupid
03:10:40 <j-invariant> and everything crap gets upvoted
03:10:42 <elliott_> it used to be excellent but now it's all uninteresting bullshit
03:10:45 <elliott_> and all the comments are retarded
03:10:51 <j-invariant> y;eah it used to be a great site
03:11:00 <elliott_> /r/haskell is still really good - but is of course haskell specific
03:11:08 <elliott_> if /r/programming was as consistently good as /r/haskell I wouldn't mind at all
03:11:12 <Sgeo> It's how I found out about Factor iirc... or at least where I first heard of it
03:11:27 <elliott_> Sgeo: from our perspectives that is not a good thing as you have not shut up about it since
03:11:30 <Sgeo> Someone said that they liked Factor and J, but they were frustratingly ungoogleable
03:11:49 <Sgeo> elliott_, I've slowed down about it
03:12:07 <j-invariant> elliott_: I don't like the commericalish/markety silliness that is taking over haskell
03:12:22 <elliott_> j-invariant: yeah, well ... I think it peaked a while back and is slowing down now
03:12:25 <j-invariant> "Download Haskell" instead of "Download GHC", "apps" etc..
03:12:34 <elliott_> j-invariant: right yes download haskell pissed me off
03:12:39 <elliott_> j-invariant: nothing wrong with "Download Haskell Platform"
03:12:41 <elliott_> which is what it /is/
03:12:54 <elliott_> Haskell Platform as a brand name I can live with ... the capital P makes it ok imo
03:13:26 <elliott_> anyway the link blog would basically be like all the silly links i post here, except with more coherent commentry, more often, and in a feed :P
03:15:13 <j-invariant> elliott_: you know I feel like the web could be more useful than it is right now, I'm not sure if that's because I just don't know about good sites though
03:15:45 <coppro> useful in what sense?
03:16:43 <elliott_> j-invariant: well. the basic problem is that crap increases. so you need a filter, an aggregator to let you know what's good. the problem is that: filters run by one person can't keep up with the amount of content, and fundamentally rely on *other* filters (directly or indirectly, to find the content); and filters run by multiple people often get drowned out by noise as time goes on and they increase in popularity (e.g. reddit)
03:17:15 <coppro> not only that
03:17:29 <coppro> but each person has a different filter criterion
03:17:54 <elliott_> coppro: well, yes. but it's easy enough to be your own meta-filter (lol Metafilter) on a filter that matches closely enough
03:17:58 <elliott_> which /r/programming was circa 2007
03:18:03 <elliott_> since you can basically do it in real-time
03:18:14 <zzo38> Is there any Free (as in speech) FPGA? Is there any other hardware programming languages?
03:18:21 <elliott_> MetaFilter is actually quite nice incidentally, but it's rather generalised and so more of a timewaster than anything else
03:18:33 <elliott_> zzo38: VHDL and Verilog are the only ones I know of.
03:23:08 <zzo38> I would like to see one that you write the hardware program in terms of gates and macros of gates, and that you can do preprocessing with powerful.
03:24:11 <elliott_> I preprocess with powerful all day.
03:33:10 <variable> Increasing generality: finite automata < pushdown automata < linear bounded automata < Turing machines I get what one first and last are
03:33:16 <variable> what are the middle two?
03:34:43 <j-invariant> what are pushdown automata
03:35:10 <variable> j-invariant, that is my question
03:35:16 -!- Wamanuz4 has quit (Ping timeout: 240 seconds).
03:35:29 <j-invariant> finite automata which carries around a stack
03:36:26 <variable> and linear bounded automata ?
03:37:32 <variable> A turing machine is just a automata with unbounded memory
03:37:41 <variable> how could memory be linearly bounded?
03:38:48 <zzo38> Is there any Free (as in speech) FPGA or similar devices?
03:43:01 -!- j-invariant has quit (Quit: leaving).
03:46:46 <Gregor> Pornography: Are we getting enough of it? A new study by Future Lechers of America suggests that we are not.
03:48:34 <elliott_> hi
03:50:35 <elliott_> "Please donate to keep Wikipedia free" I FUCKING HATE THIS TEXT
03:50:39 <elliott_> it suggests -
03:50:40 <elliott_> don't donate
03:50:43 <elliott_> and we'll start charging
03:50:45 <elliott_> ads all over the place
03:50:46 <elliott_> bullshit
03:50:49 <elliott_> fuck you wikimedia
03:52:54 <variable> elliott_, adblock
03:53:54 <elliott_> variable: irrelevant
03:54:02 <elliott_> variable: whether i see them or not it's still stupid as fuck
03:57:37 -!- cheater99 has joined.
03:58:56 -!- elliott_ has quit (Remote host closed the connection).
03:59:31 -!- elliott has joined.
03:59:38 <elliott> SO ANYWAY,
03:59:43 <elliott> the back of my copy of SICP
03:59:49 <elliott> refers to Hal Abelson as
04:00:00 <elliott> a Class of 1922 Professor
04:00:03 <elliott> it is actually 1992
04:00:12 <elliott> but i prefer thinking that Hal Abelson is like 100 years old
04:00:19 <elliott> and thank the back cover for this exciting alternate history
04:02:32 -!- poiuy_qwert has joined.
04:07:47 -!- zzo38 has quit (Remote host closed the connection).
04:13:40 <elliott> `pastequotes
04:13:42 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19947
04:22:57 * Sgeo WTFs at some of those
04:24:15 <variable> (23:14:15) A?? ???: ??? - want to write a program in a new language I invented? TOD?
04:24:15 <variable> (23:17:05) B?? ???: Sure
04:24:15 <variable> (23:17:53) A?? ???: http://esolangs.org/wiki/TOD
04:24:15 <variable> (23:20:48) B?? ???: I'M NOT WRITING A PROGRAM IN THAT LANGUAGE
04:25:08 -!- j-invariant has joined.
04:26:36 <elliott> variable: bahaha
04:26:42 <elliott> Sgeo: What's the WTF
04:27:18 <Sgeo> Some of them aren't that funny, I guess. Just weird
04:27:51 <elliott> Sgeo: It's not meant to be funny, it's meant to be amusing.
04:28:21 <variable> 66) <Sgeo> What else is there to vim besides editing commands?
04:28:22 <variable> :-}
04:29:02 <elliott> variable: basically half our time is spent laughing at Sgeo :)
04:32:39 <Sgeo> My cat is trying to eat my hand
04:46:07 <Sgeo> Why am I still interested in Racket despite the lack of hotswapping stuff... I mean, it's theoretically doable, but I see nothing that makes it convenient
04:47:36 <j-invariant> because it's got a cool macroexpander
04:48:24 <Sgeo> And of course people in #racket had no idea what I was talking about
04:48:37 <elliott> Sgeo: Because hotswapping is a very niche feature?
04:48:47 <elliott> And I find it likely they know what hotswapping is and you just explained it terribly.
04:49:18 <Sgeo> I find it more likely that I got a bad impression based on one person
04:50:13 <coppro> Sgeo: why do you care about hotswapping all of a sudden?
04:50:37 <Sgeo> I've always cared about it. It's just that most of the languages I've obsessed over before had it.
04:50:45 <elliott> coppro: Because he's a moron who has no clue what he likes and basically just grabs onto things that are shiny, criticise things made by people many times more experienced than he is with greater expertise, basde on misconceptions, in here, for us all to see, 24/7.
04:50:59 <elliott> Sgeo: Factor doesn't have hotswapping as far as I know.
04:51:04 <Sgeo> Also, the AW stuff I was working on would have benefitted from it
04:51:09 <elliott> Nobody gives a shit.
04:52:13 <Sgeo> http://docs.factorcode.org/content/article-vocabs.refresh.html
04:52:28 <elliott> That's about as "hotswapping" as Python's reload function.
04:52:38 <elliott> You have no idea what hotswapping is.
04:54:39 <Sgeo> I think it's somewhere between what you call "hotswapping" and Python's reload function
04:55:07 <coppro> do you consider Erlang to have hotswapping (both of you)?
04:55:28 <Sgeo> coppro, don't know Erlang that well, but I think so
04:59:00 <elliott> coppro: Erlang is pretty much _the only_ lang with hotswapping.
04:59:15 <elliott> Sgeo is presumably planning to write important, long-running network servers -- in which case -- god help us all.
04:59:17 <elliott> Sgeo: Please don't.
04:59:50 <Sgeo> elliott, how about a "only-important-to-the-players-of-a-game" long-running network server?
05:00:22 <elliott> Sgeo: Perhaps a component of Active Worlds going down for a few minutes will have you reflect on how much of your life you plan to spend obsessing over it.
05:00:23 <Sgeo> elliott, what does Smalltalk count as?
05:07:50 <elliott> Has anyone in here done Perl 6?
05:13:33 <coppro> not really
05:13:55 <coppro> I will look at it when they bother finishing it
05:14:45 <elliott> coppro: the spec is very close to being "final" actually
05:14:57 <elliott> just nobody wants to admit it :)
05:20:47 <coppro> yeah I know
05:21:03 <coppro> but the thing is damned hard to read
05:21:08 <coppro> it sort of assumes you know the history
05:26:07 <elliott> coppro: yeah :-P
05:26:15 <elliott> coppro: well it's better than perl 5's spec!
05:26:18 <elliott> with such nice properties as existing
05:29:30 <elliott> coppro: now let me amuse you, last person who spoke
05:29:32 <elliott> coppro: [[On a completely diffrent side note, it might be cool to have a new type of game playable on computer where all things in game are represented with ASCII like the art form just like I demonstrated up above. Imagine ASCII Castlevania, ASCII Mario Bros or ASCII Zelda. LOL just a passing thought.]]
05:29:55 <elliott> http://www.atariage.com/forums/topic/132116-porting-the-original-classic-castlevania-to-the-2600/page__view__findpost__p__1593512?s=bcada80a7c4f8d16bdf1b84820d4a2c9 <-- seriously, the guy reinvents NetHack's display system in like 15 lines
05:30:18 <elliott> "And the ASCII thing was a non Atari related side thought. Like a remake of any general popular game where ALL graphics in game are represented by ASCII only. though in color though where each ASCII character is its own color."
05:30:19 <elliott> gahaaha
05:32:58 <elliott> coppro: maybe #esoteric should make its own Perl 6, a hodge-podge language consisting of everything useful/fun we can think of golfed to hell
05:34:17 <quintopia> i would have thought you'd be sleepy by now mr. hird
05:34:47 <j-invariant> elliott: http://hackage.haskell.org/package/uAgda-1.0.0.1 interesting
05:34:53 <coppro> ahahahah
05:35:08 <elliott> quintopia: it's only 5:30 am ... going to bed soon though
05:35:12 <elliott> coppro: WHAT'S SO FUNNY LITTLE MAN
05:36:07 <coppro> 2 ... Ke7
05:36:09 <coppro> and winning with it
05:37:37 * Sgeo is turning into elliott
05:38:09 <coppro> no you are not
05:38:12 <elliott> Sgeo: how.
05:38:17 <elliott> i find the notion offensive
05:38:18 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
05:38:25 <Sgeo> Not going to sleep at decent times
05:38:48 <elliott> Yes. That is what defines me.
05:39:22 <elliott> Sgeo: It's 0:38 in New York. You are ful
05:39:26 <elliott> *full of shit if you think that's late.
05:39:35 <Sgeo> elliott, I didn't eat dinner yet
05:39:45 <Sgeo> And last night, I didn't go to sleep. I was reading about Racket
05:40:10 -!- poiuy_qwert has joined.
05:40:40 <elliott> coppro: IMO, this is the greatest Perl 6 feature: http://perl6advent.wordpress.com/2009/12/19/day-19-whatever/
05:40:44 <elliott> coppro: It, literally, means anything.
05:41:08 <elliott> coppro: It is a single character that can do almost anything you want, and whose meaning is completely overridable and context-dependent in every way, having no common properties between them.
05:41:25 <elliott> It is utterly hilarious (the world's first joke told with a language feature?) and yet beautiful somehow.
05:42:47 <elliott> G'night.
05:42:48 -!- elliott has quit (Remote host closed the connection).
05:52:29 -!- zzo38 has joined.
05:53:37 <zzo38> Can you figure out this code golf http://golf.shinh.org/p.rb?List+of+numbers+to+factor I figured it out maybe I can write 2 hint?
05:54:49 -!- poiuy_qwert has quit (Ping timeout: 240 seconds).
05:55:40 <quintopia> zzo38: does the list of numbers differ between different programs?
05:57:09 <zzo38> The list of numbers has to be the specified list in order to solve the problem. You can make up this list of numbers using any algorithm you want to that produces this list.
05:57:38 <quintopia> so the list of numbers from the sample output is always the list/
05:59:58 <zzo38> 2 hint: * It has something to do with the root directory! * Look at the individual numbers (on the left side) more carefully!
06:02:03 <quintopia> no idea man
06:02:05 <zzo38> (you can also use a embedded solution if you prefer, this is also valid for many problems; but you might prefer not to)
06:03:01 <quintopia> i don't think you can get down to 27 chars that way :P
06:03:55 <zzo38> You are right you probably cannot do it that way, but you can try and score anyways, it just won't be the best score.
06:11:42 -!- Sgeo has quit (Read error: Connection reset by peer).
06:12:08 -!- Sgeo has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:54 <Ilari> Hmm... IPv4 allocation rate of APNIC has slowed a bit... Currently the pool is at 2.75. I guess it'll pick up after new year...
08:09:01 <Sgeo> Does it usually?
08:12:37 <Ilari> I haven't looked into that. But the days between xmas and new year tend to be slow anyway...
08:12:38 -!- wareya_ has quit (Read error: Connection reset by peer).
08:13:26 -!- wareya has joined.
08:14:44 <Ilari> Or then APNIC suprise-allocates around new years, bringing immediate X-day...
08:35:33 <Ilari> Hah... This piece of news gats IPv6 address space size wrong. First it says the number of addresses is 340 undecillion (right), but then it says "which is a 34 followed by 35 zeros". Except that 340 undecillion is 34 followed by _37_ zeros.
08:37:01 <Sgeo> Would that be the same as 340 trillion trillion trillion by any chance?
08:37:07 <Sgeo> Wait, no, that makes no sense
08:38:01 <Sgeo> Wait, just googled 340 trillion trillion trillion, and the first few hits are about IPv6
08:39:54 <Ilari> Yes.
08:40:40 <Sgeo> For every meter I travelled upwards in Second Life, there's an IPv6 address >.>
08:42:10 <Ilari> There is one IPv6 address for every possible key AES-128 has...
08:45:20 <Ilari> BTW: A while ago I patched git built-in git:// client and server to deal with IPv6 properly and sent the modifications upstream. :-)
08:46:24 <Sgeo> Ilari, you're awesome
08:48:53 <coppro> <3
08:51:33 <Ilari> Basically the problem was that neither the client or the server could parse bracket notation properly.
09:00:35 <coppro> oh
09:00:52 <coppro> how much underlying stuff to establish ipv6 connections/
09:01:10 <coppro> and can it do ipv6 DNS too?
09:12:48 -!- sftp has quit (Read error: Operation timed out).
09:13:15 -!- sftp has joined.
09:13:15 * Sgeo sighs at User Friendly
09:13:29 <Sgeo> Illiad forgot to put the "This 'toon is a repeat" thing up
09:13:38 <Sgeo> So now it's displaying pre-Y2k stris
09:13:40 <Sgeo> strips
09:21:38 -!- zzo38 has quit (Remote host closed the connection).
09:27:26 -!- hagb4rd has joined.
09:27:58 <hagb4rd> hi
09:28:27 <Sgeo> hi
09:38:58 <olsner> hmm, so strchr(':') is actually a very bad way to find the port number of an address, if you want IPv6 support
09:45:26 -!- cheater99 has quit (Ping timeout: 240 seconds).
09:50:40 -!- oerjan has joined.
09:58:28 -!- cheater99 has joined.
10:04:56 -!- hagb4rd has changed nick to hagb4rd|afk.
10:10:43 <coppro> http://uncyclopedia.wikia.com/wiki/Conservapedia
10:13:14 <j-invariant> curse those liberals!!
10:14:25 <Ilari> LOL: 8 billion IP addresses.
10:18:24 -!- Phantom_Hoover has joined.
10:18:46 <coppro> see also: http://uncyclopedia.wikia.com/wiki/Conservatroll
10:33:46 -!- Wamanuz4 has joined.
10:39:36 -!- hagb4rd|afk has changed nick to hagb4rd.
10:43:59 -!- Wamanuz5 has joined.
10:45:50 -!- Wamanuz4 has quit (Ping timeout: 240 seconds).
11:15:19 <Sgeo> Dear Notepad++: "Encode in UTF-8 without BOM" should be called "Encode in UTF-8". UTF-8 does not have a BOM.
11:18:04 <nooga> http://patrickthomson.tumblr.com/post/2499755681/the-best-debugging-story-ive-ever-heard
11:22:20 <Sgeo> Why am I not going to sleep?
11:22:44 <nooga> "Linda was developed by David Gelernter and Nicholas Carriero at Yale University and is named for Linda Lovelace, an actress in the porn movie Deep Throat, a pun on Ada's tribute to Ada Lovelace[1]."
11:24:31 <Phantom_Hoover> Sgeo, because you are using your computer?
11:46:50 -!- hagb4rd has quit (Ping timeout: 240 seconds).
11:48:11 -!- oerjan has quit (Quit: leaving).
12:22:44 -!- sftp has quit (Ping timeout: 264 seconds).
12:23:24 -!- sftp has joined.
12:28:12 <Vorpal> Phantom_Hoover, down?
12:28:39 <Phantom_Hoover> Vorpal, no,,
12:34:01 <coppro> Dear Sgeo: Unfortunately, Windows doesn't appear to subscribe to this belief
12:34:17 <coppro> (also BOMs are legal if utterly retarded in UTF-8)
12:34:34 <coppro> I actually have a script to prepend a UTF-8 BOM to deal with retarded programs
12:34:53 <coppro> (like some Windows text editors...)
12:35:54 -!- sftp_ has joined.
12:36:03 -!- sftp has quit (Ping timeout: 246 seconds).
12:53:05 -!- j-invariant has quit (Quit: leaving).
13:10:00 <Vorpal> Phantom_Hoover, so how goes the repair (the server is back up again)
13:10:13 <Phantom_Hoover> I finished it ages ago.
13:11:31 <Vorpal> Phantom_Hoover, ... no... ?
13:11:42 <Vorpal> Phantom_Hoover, you must have lagged out before server saw it
13:11:51 <Phantom_Hoover> Well, the stone I was smelting is all there.
13:11:53 <Vorpal> Phantom_Hoover, still 5 blocks missing
13:11:55 <Vorpal> sec
13:12:01 <Phantom_Hoover> About 8 blocks.
13:12:14 <Vorpal> Phantom_Hoover, 8 blocks as cobble, no coal in there
13:12:24 <Phantom_Hoover> Gyaaaa
13:12:25 <Vorpal> oh another furnace
13:12:32 <Vorpal> Phantom_Hoover, there were 8 stone in another furnace
13:12:37 <nooga> hm
13:12:39 <Phantom_Hoover> Yeah, that's mine.
13:12:48 <nooga> this whole former PLT-Scheme looks quite nice
13:12:59 <nooga> but i don't like it's nomenclature
13:13:00 <Vorpal> Phantom_Hoover, repaired the remaining hole. want the 3 remaining stone?
13:13:08 <Phantom_Hoover> Not reall.
13:13:10 <Phantom_Hoover> *really
13:16:05 <Vorpal> Phantom_Hoover, anyway, I'm sure we all have hidden away chests. But I have some pretty much mcmap-safe hide aways too.
13:16:14 <Vorpal> won't tell you any details
13:16:44 <Phantom_Hoover> I'm assuming you either embedded the chests in stone to make them hard to see or placed them in the middle of nowhere.
13:17:12 <Vorpal> Phantom_Hoover, the latter. I have a file with coordinate pairs
13:17:41 <Phantom_Hoover> What the hell do you have worth hiding?
13:18:03 <Phantom_Hoover> TNT would seem to be about it.
13:18:12 <Vorpal> Phantom_Hoover, not TNT no.
13:18:22 <Vorpal> Phantom_Hoover, see /msg
13:18:25 -!- sftp has joined.
13:18:36 <Phantom_Hoover> WHAT'S THAT YOU SAY? OBSIDIAN?
13:18:58 <Phantom_Hoover> That's really not something worth keeping secret.
13:19:06 -!- sftp_ has quit (Ping timeout: 272 seconds).
13:19:20 <Vorpal> Phantom_Hoover, meh. Some mystery never hurt
14:01:45 <Vorpal> Phantom_Hoover, is it down?
14:02:29 <Phantom_Hoover> LUCH
14:02:31 <Phantom_Hoover> *LUNCH
14:17:41 -!- MigoMipo has joined.
14:44:46 -!- elliott has joined.
14:47:44 <elliott> 04:34:17 <coppro> (also BOMs are legal if utterly retarded in UTF-8)
14:48:04 <elliott> coppro: Is it really legal if the inventors of UTF-8 will kill you if you do?
15:10:22 -!- poiuy_qwert has joined.
15:33:57 -!- vinu143_ has joined.
15:34:15 <vinu143_> Bailout
15:34:25 <vinu143_> Happily
15:34:33 <vinu143_> Hai
15:34:33 <Phantom_Hoover> Bail in!
15:34:35 <Phantom_Hoover> Sadly!
15:34:37 <Phantom_Hoover> Bai!
15:34:44 <elliott> Bail sideways!
15:34:48 <elliott> Ambivalently!
15:34:51 <elliott> ...blah!
15:34:57 <vinu143_> Hellowww
15:35:28 <elliott> Hello world wide web!
15:35:42 -!- Wamanuz has joined.
15:36:02 <vinu143_> elliott:
15:36:07 <vinu143_> H r u
15:37:08 <elliott> Harigo.
15:38:17 -!- oerjan has joined.
15:38:33 -!- Wamanuz5 has quit (Ping timeout: 250 seconds).
15:38:48 -!- vinu143_ has left (?).
15:40:24 <nooga> mol
15:41:06 <oerjan> ecule
16:11:34 <fizzie> asses.
16:12:30 <oerjan> MOLECULEASSES? THERE IS NO SUCH WORD
16:14:46 <elliott> I like big molecule asses and I cannot lie.
16:17:04 <Vorpal> elliott, still missing one door. where did you put it
16:17:17 <elliott> Vorpal: I destroyed exactly one door and put it in the chest.
16:17:27 <Vorpal> elliott, who has the inner door then?
16:17:54 <Vorpal> elliott, PH I guess? And he seem to be acting like a 10 year old, so I doubt I'll get that back
16:17:59 <elliott> Vorpal: What a stupid question. I'll go grab my telepathy device and figure it out.
16:18:16 <Vorpal> elliott, it was a rhetorical question.
16:19:10 <elliott> Vorpal: I don't think you understand what rhetorical questions are.
16:19:18 <Phantom_Hoover> I do not have any doors.
16:20:08 <Phantom_Hoover> Vorpal, also, I'll have you know that I am 22, not 10.
16:20:11 <Vorpal> Phantom_Hoover, so what did you do to the inner door in order to get out?
16:20:28 <Phantom_Hoover> I was 22 at it.
16:21:06 <Vorpal> Phantom_Hoover, waiting for an answer
16:21:31 <Phantom_Hoover> IT WAS ALL SUCH A BLUR
16:21:33 <elliott> I like the idea of ageing something.
16:21:42 <elliott> Except just before you're 70.
16:21:43 <Phantom_Hoover> Probably PTSD from being kidnapped.
16:21:54 <Vorpal> Phantom_Hoover, right. You still owe me one iron door.
16:22:08 <Phantom_Hoover> Vorpal, you're in the wrong here!
16:22:14 <Phantom_Hoover> Kidnapping is WRONG!
16:22:22 <oerjan> How stupid do you have to be not to understand rhetorical questions?
16:22:27 <Vorpal> Phantom_Hoover, break in is also wrong
16:22:52 <Vorpal> Phantom_Hoover, the word you are looking for is not kidnapping. I acted in self defence
16:23:08 <Phantom_Hoover> Vorpal, BY KIDNAPPING ME!
16:23:30 <elliott> oerjan: As stupid as Vorpal! (Yes, yes, I got it.)
16:23:32 <Phantom_Hoover> Also, that was a meeting to foster corporate coöperation, not a break-in!
16:23:49 <Vorpal> Phantom_Hoover, no. By filling up a room in my house. Why did you not use /spawn
16:23:56 <Vorpal> Phantom_Hoover, no it wasn't
16:24:27 <Phantom_Hoover> It WAS!
16:25:02 <Vorpal> Phantom_Hoover, so is that why you changed a sign to read "Vorpal sucks"
16:25:09 <Phantom_Hoover> Yep!
16:25:09 <Vorpal> remember, that was BEFORE I filled the room
16:25:17 <Phantom_Hoover> It's a complement in HHI circles!
16:25:17 <Vorpal> Phantom_Hoover, pull the other one.
16:25:22 <Phantom_Hoover> Hoovers, after all, suck!
16:26:07 <Vorpal> Phantom_Hoover, what was the second text now again?
16:26:12 <Vorpal> the second time you change it
16:26:15 <Vorpal> changed*
16:26:51 <Phantom_Hoover> I didn't get a chance, since you messed it up.
16:27:04 <Vorpal> Phantom_Hoover, you changed it a second time.
16:27:18 <Vorpal> Phantom_Hoover, and no I didn't mess it up. It was you who did in the first place
16:27:41 <elliott> Phantom_Hoover sucks.
16:28:14 <Phantom_Hoover> elliott, why thank you.
16:28:42 <Vorpal> elliott, so was it you or PH who dug away in the side of a wall of my place? Below boat loop
16:29:17 <elliott> What.
16:29:48 <Vorpal> elliott, well there is a hole in a wall above the sign saying "boatloop ^\n\nfarming v"
16:30:04 <Vorpal> elliott, certainly new as of today
16:30:10 <elliott> Vorpal: I am really uninterested in your insane allegations of things I've done; please stop pinging me.
16:30:18 <Vorpal> elliott, I presume it was PH then
16:36:01 <Vorpal> Phantom_Hoover, gee, thanks for stealing metals too.
16:36:17 <Phantom_Hoover> Zuh?
16:36:21 <Phantom_Hoover> I gave them back.
16:36:37 <Vorpal> Phantom_Hoover, oh where? They are not in the chest where they were taken from
16:37:19 <elliott> Ugh, there is an awful J maze solver on Rosetta Code.
16:37:31 <elliott> The most important part of the code is an imperative loop.
16:40:55 -!- elliott has quit (Remote host closed the connection).
16:41:41 -!- elliott has joined.
16:43:20 <Vorpal> Phantom_Hoover, what about all those mushrooms?
16:43:39 <Phantom_Hoover> Vorpal, I ate them.
16:43:49 <Vorpal> Phantom_Hoover, wasn't there like 30?
16:43:55 <elliott> hey, they did anagolf at 27C3
16:44:06 <Phantom_Hoover> Vorpal, OK, let's learn some maths!
16:44:07 <elliott> approve
16:44:14 <Phantom_Hoover> 8 + 8 = 16!
16:44:19 <Phantom_Hoover> 16 < 30!
16:44:30 <Vorpal> Phantom_Hoover, so there was 8 in there of each. Right
16:44:31 <Phantom_Hoover> 16 - 4 = 12
16:44:42 <Vorpal> I didn't remember how many were in there
16:44:47 <elliott> open F,</v*/*/*/p>;eval<F>
16:44:48 <elliott> What.
16:44:51 <Vorpal> which is quite different from math
16:45:20 <Vorpal> Phantom_Hoover, now, when can I expect those back? Along with the iron door?
16:45:33 <Phantom_Hoover> Vorpal, when the cows come home.
16:46:10 <Vorpal> Phantom_Hoover, I see. Well a cow just jumped outside my front door. So I guess now then
16:46:31 <Phantom_Hoover> Vorpal, that doesn't count
16:46:51 <Vorpal> Phantom_Hoover, oh?
16:47:43 <oerjan> cows can't count
16:47:51 <oerjan> scientific fact
16:48:19 <Phantom_Hoover> oerjan, EXACTLY.
16:48:35 <oerjan> also, alligators always alliterate
16:49:19 <Phantom_Hoover> ineiros, there?
17:11:52 <Phantom_Hoover> elliott, the HHI PR department is asking questions about the new message at our headquarters.
17:29:50 -!- cheater99 has quit (Ping timeout: 240 seconds).
17:36:05 <elliott> oerjan: if I name Ponzi Scheme's editor Madoff, will you arrest me for being an unlicensed punster?
17:42:59 -!- cheater99 has joined.
17:48:40 -!- sftp has quit (Remote host closed the connection).
17:54:28 -!- sftp has joined.
17:58:15 -!- elliott has quit (Remote host closed the connection).
17:58:28 -!- sftp has quit (Remote host closed the connection).
17:59:20 -!- elliott has joined.
18:15:33 <elliott> I wish the button on this thing was easier to press ... enabled tap to click for now.
18:21:18 <coppro> http://www.theonion.com/articles/internet-explorer-makes-desperate-overture-to-beco,6338/
18:22:34 -!- elliott has quit (Remote host closed the connection).
18:23:37 -!- elliott has joined.
18:27:22 <elliott> 2.210 +[19:45:51] < fizzie> personally when I find enough money I don't have any use for I'll buy these. so I consider my usage just some kind of far-fetched "advance-preview" thing.
18:27:29 <elliott> fizzie: So did you ever buy C99 and C++?
18:29:15 -!- elliott has quit (Remote host closed the connection).
18:29:57 -!- elliott has joined.
18:30:02 -!- elliott has quit (Remote host closed the connection).
18:31:30 -!- elliott has joined.
18:31:36 <elliott> 2.310 +[20:32:44] < fizzie> freaky. I've been a slackware-user since when I found linux, but recently I've been thinking about converting to a debianist. installed debian on this ppc-macintosh I have here.
18:31:38 <elliott> LORE AND HISTORY
18:39:07 <Vorpal> elliott, which year is it from?
18:53:30 -!- sftp has joined.
18:54:23 -!- Wamanuz2 has joined.
18:56:30 -!- Wamanuz has quit (Ping timeout: 246 seconds).
18:57:04 -!- Wamanuz3 has joined.
18:59:46 -!- Wamanuz2 has quit (Ping timeout: 240 seconds).
19:03:52 <elliott> Bahahahahaha Minecraft.
19:04:01 <coppro> BOXES!
19:04:19 <coppro> (the official working title for what I have been calling netcraft)
19:04:27 <elliott> coppro: That ... worst ... ever ... title
19:04:39 <coppro> it's pretty epic so far; it uses vertex shaders to make the world "round"
19:04:53 <elliott> coppro: Minecraft may spill into Agora for a few message Real Soon Now (or B)
19:05:02 <coppro> elliott: I'm on Holiday
19:05:03 <elliott> I apologise!
19:05:12 <elliott> coppro: Bah, Agora is like a magnet.
19:05:16 <elliott> You can't take a holiday from a magnet.
19:08:01 <oerjan> unless you have a magnetic monopoly
19:26:49 -!- elliott has quit (Remote host closed the connection).
19:27:37 -!- elliott has joined.
19:28:20 -!- elliott has quit (Remote host closed the connection).
19:29:13 -!- elliott has joined.
19:31:55 <elliott> DAMMTI GEOMTRYOMFEOGP
19:41:56 -!- Wamanuz3 has quit (Ping timeout: 240 seconds).
19:45:28 <coppro> oerjan: I just got the pun
19:45:30 <coppro> you're horrible
19:45:53 <oerjan> you're welcome
19:48:39 -!- sftp has quit (Remote host closed the connection).
19:48:43 <coppro> magnetic monopoly should be a game
19:49:04 -!- sftp has joined.
19:54:56 <oerjan> might raise a bit of a trademark issue
19:55:36 -!- FireFly has joined.
19:55:44 * oerjan swats FireFly -----###
19:55:50 <elliott> :(
19:56:02 <oerjan> IT'S TRADITIONAL
19:56:07 <FireFly> Heh
19:56:07 <elliott> oerjan: cruelty!
19:56:23 <FireFly> Good evening anyway
20:06:03 <elliott> Wow, apparently my anagolf challenge is rather famous ...
20:06:47 <Phantom_Hoover> Link?
20:07:02 <elliott> Phantom_Hoover: Just the "minimal Scheme interpreter" one; it's famous for being a complete and utter failure.
20:07:15 <elliott> Not only is one of the example programs invalid (unmatched parens), but the output is incredibly trivial to just embed.
20:07:51 <oerjan> heh
20:08:59 <elliott> Phantom_Hoover: In which dirt and gravel also become glass: http://abemiller.imgur.com/778N2
20:10:48 <Phantom_Hoover> elliott, clearly not gravel.
20:11:20 <elliott> Well, okay.
20:29:48 <oerjan> grievously groveling gravel
20:29:58 <Sgeo> elliott, you promised me Minecraft in Agora
20:30:09 <elliott> Sgeo: What.
20:30:11 <coppro> Sgeo: I object
20:30:19 <elliott> Sgeo: Oh, no, I didn't mean like that.
20:30:25 <elliott> And I promised nothing?
20:30:25 <Sgeo> <elliott> coppro: Minecraft may spill into Agora for a few message Real Soon Now (or B)
20:30:30 <elliott> I pinged coppro once.
20:30:31 <Sgeo> Oh
20:30:34 <elliott> Sgeo: Yes, I mean Minecraft-related matters.
20:30:39 <elliott> It's complicated.
20:31:10 * oerjan recalls Agora had some geography-like game at one time
20:31:21 <oerjan> hm was it an Agora map
20:31:30 <elliott> oerjan: COME BACK AND FIND OUT
20:31:36 <oerjan> eek
20:31:56 <elliott> oerjan: we're fluffy :<
20:32:29 <oerjan> BUT DO YOU TASTE GOOD WITH KETCHUP?
20:33:13 <oerjan> or possibly a more refined sauce
20:33:23 <elliott> oerjan: yes
20:33:32 <oerjan> hm... tempting
20:35:26 <elliott> oerjan: or you could be like michael norrish; just post occasionally and have people gawp :D
20:35:37 <oerjan> hm... even more tempting
20:36:38 <elliott> oerjan: in fact, the rarer it is, the larger a spectacle you get
20:38:17 <oerjan> you realize that logically this implies that i should wait as long as possible
20:38:50 <elliott> oerjan: well, no, it ends after a while
20:38:55 <elliott> oerjan: at least for the first post
20:38:58 <oerjan> ah.
20:38:59 <elliott> nobody knows who the fuck you are :D
20:39:16 <elliott> except us, obviously
20:39:17 <elliott> and probably goethe since he's older than time itself
20:39:17 <elliott> SORRY *G.
20:39:22 <oerjan> well michael norrish would know. maybe i could get a chain effect.
20:39:51 <oerjan> i don't think goethe is on this channel to hear you?
20:39:54 <elliott> oerjan: Michael Norrish is the most prolific of the people who never post :-P
20:40:07 <oerjan> ...how logical.
20:40:26 <elliott> oerjan: IIRC his second-last (memorable, at least) post was dissing Spivak pronouns, and the last was denouncing nomic that's based on scams and rule trickery as boring, vs. one grounded in politics
20:40:34 <elliott> I guess he only posts when he's sick of our shit :)
20:40:51 <oerjan> heh
20:40:52 <oerjan> afk
20:48:10 -!- Sasha has quit (Ping timeout: 240 seconds).
20:50:18 <elliott> Realisation: All OS X package managers suck.
20:50:38 <coppro> yes
20:50:39 <coppro> also
20:50:43 <coppro> my bedroom is farting
20:50:54 <elliott> coppro: I thought you were going to say "also, OS X sucks" but ... what.
20:50:55 -!- Sasha has joined.
20:51:07 <elliott> Maybe I'll start maintaining my own packages with stow.
20:51:13 <elliott> That doesn't sound like a half-bad idea actually.
20:51:13 <coppro> something in my bedroom is making farting noises
20:51:27 <elliott> After all, all the OS X package managers compile anyway ... yes, I think I will do that.
20:51:54 <elliott> I wonder if I can make stow use hardlinks instead of symlinks.
20:53:01 <elliott> http://www.gnu.org/software/stow/ TOTALLY EASY TO FIND TARBALLS FROM THIS PAGE
20:53:46 <elliott> hmm, is stow even *maintained*?
20:53:55 <elliott> last release is from 2002
20:55:53 <oerjan> it's been stowed away
21:01:57 <elliott> wish pikhq was here, he knows about stow
21:03:42 <Gregor> "Yes, witnesses to the Jehovahs incident"
21:03:58 <elliott> Gregor: wat
21:04:11 <elliott> Gregor: have you used gnu stow
21:04:17 <Gregor> elliott: No
21:04:23 <elliott> Gregor: use it so i can ask you questions about it
21:04:30 <Gregor> elliott: Nuh-uh
21:04:57 <elliott> Gregor: plz
21:05:54 <Gregor> elliott: Nuh-uh
21:05:59 <elliott> Gregor: :{
21:06:01 <oerjan> the curious incident of the Jehovah in the night-time
21:08:52 <coppro> lol
21:13:04 <elliott> the FHS is so restrictive
21:13:11 <elliott> /usr/local is overloaded :(
21:13:21 <elliott> /usr/local is "shit the sysadmin wrote" but *also* "shit the sysadmin installed"
21:13:26 <elliott> with the latter, something like gnu stow is useful for managing it
21:13:32 <elliott> with the former, obviously you don't want stow trashing your shit
21:13:41 <elliott> which it will if you use the same directory
21:13:43 <elliott> so ...?
21:15:02 <elliott> coppro: you, random person I'm going to annoy. solve my problem
21:15:33 <elliott> 2.970 +[23:18:07] < fizzie> now that was just plain wrong. it's like killing twelve live kittens and stuffing a pentium inside each one.
21:16:24 <elliott> 2.984 +[23:43:14] < fizzie> I went to see the 'spirited away' movie today, and they showed the trailer for a new star trek film, 'nemesis', before it.
21:16:24 <elliott> 2.985 +[23:43:43] < fizzie> looked like lot of explosions and spaceflight, and then few people/things kissing in between.
21:16:28 <elliott> these logs are the best ever
21:20:36 <Phantom_Hoover> Was this when #esoteric was really #fizzie?
21:21:09 <coppro> elliott: no
21:21:25 <elliott> Phantom_Hoover: No, I'm just only quoting fizzie.
21:21:28 <elliott> everyone else in 2002 is boring.
21:22:02 -!- Wamanuz3 has joined.
21:22:10 <elliott> 2.1339 +[02:50:11] < mooz_> am talkink
21:22:10 <elliott> 2.1340 +[02:51:30] < mooz_> sadly, pitr hasn't had much of a role in UF lately. one could even say the standard of the comic has lowered...
21:22:10 <elliott> 2.1341 +[02:54:25] < navigator> i haven't read it for about a couple of months
21:22:12 <elliott> 2.1342 +[02:54:37] < navigator> it was getting from silly to idiotic
21:22:14 <elliott> 2.1343 +[02:54:46] < mooz_> quite
21:22:16 <elliott> a lesson that Sgeo has still not learned
21:22:55 <elliott> 2.1380 +[03:16:13] < fizzie> colin is my primary computer, it's "about the first genuinely useful" thing here, as ford says about colin in the book.
21:22:55 <elliott> 2.1381 +[03:16:32] < fizzie> random is a girl, and macs are of course girls.
21:23:10 <elliott> 2.1392 +[03:17:46] < fizzie> zem is a laptop, so it somewhat resembles a mattress.
21:23:15 <elliott> (Some lines snipped.)
21:23:19 <elliott> This naming logic is horrific, fizzi.
21:23:21 <elliott> *fizzie.
21:23:38 <elliott> 2.1395 +[03:18:30] < fizzie> and epun is really insignificant, and in reality here epun is a C128. 2.1398 +[03:19:16] < fizzie> yup. I'm trying to write an ipv6 stack for it, therefore it has a name :p
21:26:05 <elliott> so is anyone FHS-savvy :)
21:26:19 <Sgeo> elliott, it's not getting from anything to anything right now.
21:26:27 <elliott> Sgeo: No, it's just bad.
21:26:34 <elliott> And Iliad is dying of cancer or something.
21:26:46 <Sgeo> ..?
21:27:03 <elliott> Sgeo: Or something :P
21:28:04 -!- elliott has quit (Remote host closed the connection).
21:28:47 -!- elliott has joined.
21:28:51 <Sgeo> Illiad's a plagiarist? :(
21:30:02 <elliott> Sgeo: What?
21:30:11 <elliott> OK, I think I'll stow in /opt:
21:30:17 <elliott> "The directories /opt/bin, /opt/doc, /opt/include, /opt/info, /opt/lib, and /opt/man are reserved for local system administrator use. Packages may provide "front-end" files intended to be placed in (by linking or copying) these reserved directories by the local system administrator, but must function normally in the absence of these reserved directories."
21:30:20 <Sgeo> http://en.wikipedia.org/wiki/User_Friendly#Plagiarism
21:30:35 <elliott> However, I am not sure what to name the stow directory...
21:30:56 <elliott> /opt/stow isn't strictly correct, especially as ... oh fuck it, I'll go with /opt.
21:31:40 <elliott> Sgeo: Hardly a worthy accusation considering all the punchlines are tired, tired lines heard a billion times before.
21:35:05 <coppro> you know what really has issues?
21:35:08 <coppro> Natioal Geographic
21:35:53 <coppro> *National
21:36:09 <Sgeo> That may have been funnier if it were a bit longer before you said it
21:36:23 <Sgeo> Then again, I should not be giving advice on humor
21:36:24 <coppro> probably
21:36:30 <Phantom_Hoover> coppro, hm.
21:36:30 <coppro> but it was supposed to be a lame pun
21:36:32 <coppro> so me
21:36:33 <coppro> *meh
21:36:37 <Phantom_Hoover> Oh, god.
21:36:46 * Phantom_Hoover swatpans coppro --==\#/
21:37:30 * elliott goes towards compiling GHC
21:37:32 <oerjan> more like quadriplegic
21:37:39 <elliott> i.e.
21:37:41 <elliott> 1. Download GHC.
21:37:43 <elliott> 2. Download GHC's source.
21:37:47 <elliott> 3. Use (1) to build (2).
21:37:50 <coppro> you know what is a nice sound?
21:37:52 <coppro> an hourglass
21:37:58 <elliott> 4. Call up Douglas Hofstadter -- tell him you just did something that'll BLOW HIS MIND.
21:38:04 <Sgeo> I don't get it
21:38:22 <coppro> I do
21:38:28 <coppro> It's funny
21:38:41 <elliott> I think Sgeo means he doesn't get coppro's joke.
21:38:50 <coppro> Oh, it wasn't a joke
21:38:55 * oerjan doesn't either
21:38:58 <elliott> Presumably coppro was referring to my line, then.
21:39:09 <coppro> I was
21:39:15 <coppro> But the hourglass comment was no joke
21:39:28 <coppro> I like the quiet flowing sound of an hourglass
21:39:31 <Sgeo> I don't quite get elliott's thing either
21:39:38 * coppro was given an hourglass for his birthday
21:39:55 <elliott> Douglas Hofstadter's career is built on making recursion sound like an amazing thing that solves all questions of consciousness.
21:40:13 <coppro> That man is strange
21:40:18 <coppro> (and not just in a looping fashion)
21:40:27 <oerjan> to understand consciousness you must first understand consciousness
21:40:50 <Sgeo> Aren't most compilers compiled by themselves these days?
21:40:50 <elliott> Hofstadter seems like an intelligent guy who should have really been stopped from writing GEB.
21:40:58 <elliott> Sgeo: You have a strange definition of most ...
21:40:59 <coppro> The funny thing about his writing is that he seems to have a reasonable grasp at mathematics, except it just sort of goes out the door and becomes a weird mysticism when he mentions strange loops
21:41:03 <elliott> GCC, GHC.
21:41:05 <elliott> That's about it.
21:41:06 <coppro> clnag
21:41:10 <coppro> *clang
21:41:10 <elliott> Oh, the Lisps too, but they're weird.
21:41:14 <elliott> coppro: no, clang compiles with GCC too.
21:41:18 <elliott> GHC compiles only with GHC.
21:41:20 <elliott> GCC compiles only with GCC.
21:41:35 <elliott> SBCL compiles with CMUCL too, even, so even as a Lisp it doesn't qualify.
21:41:39 <elliott> I suspect SBCL could compile CMUCL, as well.
21:41:41 <coppro> elliott: you could build a working GCC with a few other compilers
21:41:51 <elliott> coppro: Well, it's dark magic.
21:41:56 <elliott> coppro: And nobody actually does afaik.
21:42:01 <coppro> elliott: ./configure -no-bootstrap
21:42:06 <coppro> or something like that
21:42:12 <Sgeo> Anyone done diverse double-compiling on GCC?
21:42:19 <coppro> double-compiling?
21:42:20 <Sgeo> How would you go about doing that?
21:42:21 <elliott> Sgeo: It is one of the examples in the paper.
21:42:23 <coppro> compiling GCC once is bad enough
21:42:23 <elliott> Read it
21:42:27 <Sgeo> Ah
21:42:33 <elliott> coppro: Diverse Double-Compiling is the name for the technique to circumvent Trusting Trust.
21:42:41 <coppro> WAIT WHAT
21:42:43 <elliott> coppro: It lets you figure out if a system has been compromised in that way.
21:42:52 <elliott> coppro: See http://www.dwheeler.com/trusting-trust/.
21:45:01 <elliott> checking for path to top of build tree... dyld: Library not loaded: /opt/local/lib/libgmp.10.dylib
21:45:02 <elliott> by depends on xcode
21:45:06 <elliott> they meant depends on xcode and macports
21:45:21 <elliott> Compiling GHC is a bitch :-(
21:46:03 <coppro> the thing about the trusting trust attack is it is so difficult to actually pull
21:46:27 <elliott> coppro: well, if the compiler gets modified too much, then the heuristic might fail
21:46:35 <elliott> coppro: it was more practical with 70s era compilers
21:46:39 <coppro> yeah
21:46:39 <elliott> elliott: coppro: well, if the compiler gets modified too much, then the heuristic might fail
21:46:43 <elliott> but note that if the original guy is still around
21:46:45 <elliott> he can easily fix this
21:46:49 <coppro> but what I mean is
21:47:11 <coppro> if you are trying to backdoor every system as described in the paper
21:47:28 <coppro> the amount of extra stuff you need to backdoor with your compromised compiler is very high
21:47:28 <elliott> coppro: you mean in the diverse doublecompiling paper?
21:47:31 <elliott> i haven't actually read it yet
21:47:48 <coppro> elliott: It's the part describing a trusting trust attack
21:47:48 <elliott> coppro: really, Trusting Trust is more theory than practice -- I don't know of anyone who isn't ken that's done it, and ken is basically a god
21:47:53 <elliott> coppro: right.
21:47:57 <elliott> coppro: well, it's an academic paper.
21:48:00 <coppro> true
21:48:06 <elliott> coppro: the point is to prove "even when all seems hopeless, we can still trust computers" :)
21:48:13 <elliott> well, if you're willing to trust the second compiler.
21:48:16 <elliott> you could always write your own.
21:48:21 <coppro> but the thing is, in practice, you'd need to backdoor the compiler in such a way as to at least backdoor every other compiler
21:48:26 <Sgeo> Who says that I can trust the hardware?
21:48:30 <coppro> this is non-trivial
21:48:34 <elliott> coppro: compile the compiler on another machine, duh
21:48:47 <coppro> elliott: but for instance, let's say you backdoored GCC
21:48:55 <coppro> you would then need to make sure it could backdoor clang when it was compiling clang
21:49:02 <coppro> (as well as, of course, backdooring GCC)
21:49:04 <elliott> coppro: the point is a backdoor on one system
21:49:14 <elliott> coppro: well, at the minimum, you need a binary of a compiler you trust.
21:49:24 <elliott> coppro: You can always write your own compiler, in machine code, from scratch, in theory.
21:49:27 <coppro> elliott: to perform the attack?
21:49:31 <coppro> or to defend?
21:49:34 <elliott> coppro: to defend
21:49:41 <coppro> I'm talking about attacking
21:49:44 <elliott> coppro: oh, were you saying that attacking is impractical?
21:49:46 <coppro> yes
21:49:46 <elliott> right, i totally agree
21:50:12 <coppro> defending, yes, needs to start with something trusted
21:50:13 <elliott> sigh, the other binary depends on the macports lib too
21:50:24 <coppro> and it could well be a machine-code compiler for something simple
21:50:53 <coppro> e.g. a machine code assembler makes an assembly C subset compiler makes a full C compiler makes everything else
21:52:02 <elliott> Hmm, my inst(1) program might actually come in useful.
21:52:14 <elliott> For compiling stuff into /opt/stow/foo.
21:59:02 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
21:59:27 -!- hagb4rd has joined.
22:00:55 -!- Behold has joined.
22:02:43 <Sgeo> I should probably go eat breakfast
22:02:48 -!- wareya_ has joined.
22:03:53 -!- BMG has joined.
22:03:54 <elliott> Sgeo: Um, it's 17:00.
22:04:16 <Sgeo> I haven't left my bed since... maybe 7AM or so?/
22:04:21 <Sgeo> And that wasn't to eat
22:04:22 -!- Phantom_Hoover has joined.
22:05:30 -!- wareya has quit (Ping timeout: 246 seconds).
22:05:33 -!- BMG has quit (Remote host closed the connection).
22:07:15 -!- Behold has quit (Ping timeout: 250 seconds).
22:07:35 <hagb4rd> i notified sgeo very often having problems with the very basic sustainment functions :)
22:08:17 <elliott> verily
22:08:19 <Sgeo> My only problems are with sleeping and eating!
22:08:44 <hagb4rd> so breathing works fine..last but not least
22:08:49 <hagb4rd> so far
22:10:54 <Ilari> One of the bad sides in IPv4 depletion is GCN. Forum trolls and wiki vandals are absolutely going to love it...
22:12:49 <elliott> Ilari: gcn?
22:13:01 <Ilari> Oops, CGN
22:13:24 <elliott> coppro: lol you would hate how old this clang is
22:13:32 <elliott> $ clang --version
22:13:32 <elliott> Apple clang version 1.6 (tags/Apple/clang-70)
22:13:42 <elliott> coppro: apple can't even ship the latest version of the products they fund :)
22:14:21 -!- elliott has quit (Remote host closed the connection).
22:16:16 -!- elliott has joined.
22:17:34 <Sgeo> GCN?
22:17:38 <Sgeo> Oh
22:17:42 <Sgeo> CGN?
22:17:51 <Ilari> Carrier Grade NAT.
22:18:39 <coppro> what's that?
22:18:44 <coppro> remind me
22:19:49 <Ilari> NAT by ISP.
22:20:12 <coppro> nope, rings no bells
22:20:31 <Ilari> You know what NAT is (and why it is bad)?
22:20:36 <Sgeo> 20000users 1 IP
22:20:37 <coppro> nope
22:20:48 <coppro> I'm dumb in IP matters
22:20:49 <Ilari> Pretty much...
22:20:54 <coppro> also hah http://politics.slashdot.org/story/10/12/30/213246/Democrats-Crowdsourcing-To-Vote-Palin-In-Primaries?from=rss
22:20:58 <coppro> oh
22:21:01 <coppro> wait I thought IPv6 got rid of this
22:21:15 <coppro> every machine/location pair will effectively have its own IP
22:21:20 <elliott> coppro: thus "IPv4 depletion"
22:21:20 <Sgeo> coppro, yes. IPv6 hasn't been widely deployed yet
22:21:24 <elliott> also ipv6 has some nat i think
22:21:41 <elliott> coppro: that article is everything wrong with ameirca
22:21:42 <elliott> *america
22:21:45 <elliott> well no not nearly everything
22:21:47 <Sgeo> Wait, every _machine/location pair_? Not just every machine? Hmm
22:21:47 <elliott> but the voting system
22:21:48 <elliott> definitely
22:21:50 <coppro> yes
22:21:52 <Sgeo> Well, that makes sense
22:21:52 <coppro> Sgeo: yes
22:22:10 <coppro> Sgeo: individual organizations will get /64s
22:22:16 <coppro> where organization might mean your house
22:22:28 <coppro> the other half is allocated based on your MAC address
22:22:34 <coppro> (so as to obviate DHCP)
22:22:51 <coppro> (since every computer can theoretically say "give me this IP" and it will be available)
22:23:17 <Sgeo> I'd vote in the Republican primary against Palin (unless the only other serious contender was Huckabee)
22:23:28 <Ilari> Oh, IMS (3G/4G IP Multimedia(?) Service) is IPv6-only and assigns /64 per handset.
22:23:30 <Sgeo> What if a computer lies about its MAC address?
22:24:08 <coppro> Sgeo: then you might get collisions
22:24:30 <Ilari> There's DAD (Duplicate Address Detection).
22:25:02 <Ilari> And also privacy extensions that make the computer hop the host part of the address.
22:25:39 <Sgeo> Who's worse: Palin or Huckabee?
22:25:52 <elliott> Your mother.
22:26:18 <Sgeo> Deceased people really don't make great presidents
22:26:30 <elliott> They make the best presidents!
22:27:08 <Ilari> I think Palin... Huckabee might be crazy, but at least he might be somewhere near competent...
22:27:55 <elliott> I think I need to amend my GHC compilation process.
22:27:58 <elliott> 1. Install GHC.
22:28:09 <elliott> 2. Install tons of Haskell libraries and programs to enable building all the GHC documentation.
22:28:10 <elliott> 3. Download GHC.
22:28:15 <elliott> 4. Compile GHC with GHC.
22:28:16 <elliott> 5. Install GHC.
22:28:19 <elliott> 6. Uninstall the other GHC.
22:28:21 <elliott> 7. Why god why
22:29:25 <elliott> For building library documentation, you'll need Haddock [6]. To build
22:29:25 <elliott> the compiler documentation, you need a good DocBook XML toolchain and
22:29:25 <elliott> dblatex.
22:29:28 <elliott> BUT I DON'T WANNA
22:31:21 <Vorpal> elliott, why are you doing it that way for ghc?
22:31:36 <elliott> Vorpal: Because GHC depends on GHC.
22:31:39 <elliott> GHC depends on recent GHC, even.
22:31:41 <Vorpal> elliott, couldn't you just get the haskell platform thingy?
22:31:55 <elliott> Vorpal: I doubt that thinks it's installed in /opt, and GHC is not very relocatable.
22:32:07 <Vorpal> elliott, oh, is this for kitten?
22:32:14 <elliott> Vorpal: Plus the platform is on GHC 6.12; I want the new, shiny, breaks-everything GHC 7.0.1.
22:32:19 <elliott> No, this is for my OS X box.
22:32:23 <Vorpal> ah
22:32:25 <elliott> There is literally no good OS X package manager.
22:32:34 <Sgeo> Homebrew isn't good?
22:32:35 <elliott> I've tried MacPorts, Fink, and Homebrew. They are all terrible.
22:32:53 <elliott> So I'm just compiling stuff myself and using 2002-vintage GNU Stow.
22:33:02 <Vorpal> elliott, so what is are the major news in ghc 7?
22:33:07 <elliott> Vorpal: What.
22:33:11 <Sgeo> is are
22:33:13 <Sgeo> IS ARE
22:33:15 <Vorpal> elliott, you said it breaks everything
22:33:22 <Vorpal> Sgeo, oops
22:33:28 <elliott> It has more bunnies.
22:33:42 <Vorpal> (that is what you get for changing a sentence midway and then not proof reading)
22:33:51 <Sgeo> All that I was is lost to the waves. I was is lost. was is.
22:33:59 -!- elliott has quit (Remote host closed the connection).
22:34:55 <Sgeo> I think elliott's fleeing me
22:36:44 -!- ais523 has joined.
22:39:52 -!- elliott has joined.
22:39:58 <elliott> guess my wifi password
22:40:42 <coppro> sgeosucks
22:41:03 <elliott> coppro: nope, although good idea
22:41:12 <elliott> it's actually opticiansareactuallybearsindisguiseokay. based on a true story.
22:41:40 <elliott> Scenes from 2002:
22:41:41 <elliott> 2.1712 +[02:47:45] < navigator> hey have any ascii anime porn links?
22:42:08 <oerjan> so they can barely see?
22:42:48 <elliott> 2.1749 +[17:03:19] < navigator> i need either somebody to help me with dialup ppp from solaris or somebody to give me a lot of drugs
22:42:48 <elliott> 2.1750 +[17:04:32] < fizzie> heh, I was actually thinking of trying solaris/sparc too.
22:42:48 <elliott> 2.1751 +[17:04:51] < fizzie> maybe I should restock my supplies of drugs before I try that, then.
22:43:29 <Sgeo> Yay, I ate!
22:43:38 <Vorpal> elliott, the major change seems to be haskell2010 support?
22:43:49 <elliott> Sgeo: CONGRATULATIONS
22:43:52 <elliott> Vorpal: probably. who cares. it's shiny & new
22:44:11 <Vorpal> elliott, yes but I was wondering what the shiny and new parts were (found the release notes)
22:44:13 <elliott> I think I'm starting to see the use of a package management system ... tempted to write installation shell scripts now
22:44:31 <elliott> so I can do /usr/local/install/ghc
22:44:38 <elliott> and it'll make /opt/stow/ghc-7.0.1 for me
22:44:46 <elliott> Vorpal: higher version number than previous versions.
22:45:24 <Vorpal> elliott, err, package management system, you mean, like those distros use? If so, how long have you been thinking they were useless? (I completely missed this)
22:45:37 <elliott> Vorpal: i was half-joking
22:45:42 <Vorpal> elliott, ah, phew
22:45:46 <elliott> i do believe most of what package managers do is useless though :)
22:46:12 <elliott> if it's not @'s cryptography-based API-based ultra-general system, then it better be Kitten's basically-no-runtime-dependencies minimalist extravaganza
22:46:43 <Vorpal> hah
22:47:01 <Vorpal> elliott, checksumming the API sounds cool.
22:47:23 <elliott> Vorpal: i stole it from tuomov :)
22:48:02 <Vorpal> elliott, but a bit tricky for the general case of a distro. Since you need to handle everything from C API (how do you extract /that/? Checksumming AST of headers or something? Remember macros and so on)
22:48:05 <elliott> ok it'll actually be /usr/local/share/install/ghc-7.0.1... and then I can say "install ghc" and it'll run that in a temporary directory for me
22:48:07 <elliott> with any luck!
22:48:09 <olsner> Vorpal: ghc 7 it has a COMPLETELY NEW type inference engine thingamajig
22:48:20 <Vorpal> olsner, ah cool
22:48:20 <coppro> win 2
22:48:49 <Gregor> Hackiki + Node.js: Best idea ever?
22:49:08 <elliott> Gregor: Oh dear god.
22:49:18 <Vorpal> elliott, and that is just the ABI, not the API
22:49:31 <Vorpal> elliott, since the API would include *behaviour* too
22:49:41 <olsner> apparently the new thing supports stuff like interactions between GADT:s and other type-system features much better than before, and adds stuff like flexible kinding
22:49:57 <Vorpal> Gregor, what is node.js?
22:50:23 <Vorpal> olsner, heh
22:50:24 <Sgeo> Vorpal, server-side Javascript
22:50:48 <Vorpal> hm
22:50:59 <Gregor> "Server-side" is a bad name for it.
22:51:01 <Vorpal> that sounds crazy
22:51:13 <Gregor> Node.js is to JavaScript as CPython is to Python.
22:51:13 <olsner> istr ghc 7 includes the llvm backend too
22:51:34 <Vorpal> Gregor, is the filename node.js (if so, what executes that?)
22:51:39 <Vorpal> Gregor, wow
22:51:44 <Vorpal> for javascript?
22:51:47 <Vorpal> huh
22:51:58 <Gregor> Vorpal: Like all other JavaScript projects, it has the worst name it could possibly have.
22:52:12 <olsner> wikipedia: "Node.js is an evented I/O framework for the V8 JavaScript engine on Unix-like platforms. It is intended for writing scalable network programs ..."
22:52:36 <Vorpal> Gregor, which js environment does it call out to for stuff it can't compile (assuming the analogy of cython works on that level)
22:52:38 <Sgeo> Wait, isn't V8 the Chrome thing?
22:52:58 <Vorpal> olsner, that doesn't sound like cython for js at all
22:52:59 <Phantom_Hoover> Sgeo, yes.
22:53:15 <Sgeo> Vorpal, CPython. Not Cython.
22:53:16 -!- elliott_ has joined.
22:53:16 -!- elliott has quit (Ping timeout: 240 seconds).
22:53:20 <Phantom_Hoover> Just you wait until I implement @'s Javascript engine, I'll show you all.
22:53:22 <Vorpal> oh misread
22:53:24 <Vorpal> right
22:54:28 <elliott_> does ghc no longer depend on gmp?
22:55:09 <olsner> elliott_: no, I don't think it doesn't
22:55:21 <elliott_> hm.
22:55:24 <elliott_> i guess os x ships with it then
22:55:47 * Sgeo reads DS9's article on M-A
22:55:51 <Vorpal> olsner, was that double negative intended, or was it just an error on your side?
22:55:56 <Sgeo> Changelings aren't the only ones in the Dominion?
22:56:16 <elliott_> Sgeo: facepalm
22:56:18 <olsner> Vorpal: yes :)
22:56:26 <Vorpal> elliott_, well it probably does, since iirc gcc depends on mpfr which depends on gmp.
22:56:36 <elliott_> Vorpal: yeah. but this is apple, so who knows.
22:56:49 <Gregor> I just don't like calling it "server-side JavaScript", because that's used to distinguish it from in-browser JavaScript, but there's nothing about Node that necessitates writing server apps.
22:56:56 <Vorpal> olsner, is that "yes" the logical "at least one of the alternatives is true"?
22:56:59 <elliott_> their unix development story is anything but logical
22:57:14 <olsner> Vorpal: i.e. I'm pretty sure gmp is still used by ghc
22:57:18 <Vorpal> elliott_, fair enough
22:57:20 <Vorpal> olsner, ah
22:57:36 <elliott_> hmm, I have a bootstrapping problem with the stow package
22:57:44 <Vorpal> elliott_, GNU stow!?
22:57:47 <elliott_> Vorpal: yes :-)
22:57:59 <Vorpal> elliott_, didn't you say it sucked?
22:58:02 <Sgeo> Vorpal, get with the picture, he's been talking about it nonstop
22:58:03 <elliott_> Vorpal: anything I wrote for the purpose would basically be a reimplementation, so I'll use GNU's finest 500-line Perl script to do the job
22:58:12 <elliott_> yes, it sucks. but I don't want to fuck around with FUSE and Gregor's cunionfs on OS X .
22:58:16 <elliott_> and unionfs is linux-only.
22:58:20 <elliott_> Sgeo: nonstop?
22:58:23 <elliott_> Ive mentioned it like thrice
22:58:24 <elliott_> *I've
22:58:27 <elliott_> keyboard adjustment period ...
22:58:38 <olsner> ooh, only 500 lines? isn't that 10x shorter than gnu's hello world? :)
22:58:42 <Vorpal> elliott_, speaking of keyboards. How is the air keyboard?
22:58:47 <Vorpal> elliott_, and is it full size?
22:59:14 <olsner> that stow sounds like what macports does with installation
22:59:21 <elliott_> Vorpal: It is just as nice as every other Apple keyboard (i.e. perfectly decent if you're okay with a short-key-travel scissor switch; in that area, they are perfectly high quality); and yes, it is completely full size.
22:59:30 <elliott_> well, apart from the arrow keys. but they're not full-sized on other apple laptops, either.
22:59:35 <elliott_> and even i think on the mini apple keyboard
22:59:37 <Vorpal> ah
22:59:50 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
22:59:50 <elliott_> Vorpal: one annoyance is that Fn is to the left of Ctrl.
22:59:58 <elliott_> which any god-fearing American can see is an abomination.
22:59:59 <Vorpal> elliott_, full size F<n> keys?
23:00:14 <Vorpal> if so, strange for a laptop
23:00:15 <elliott_> Vorpal: full-width, yes; about half as high, but really, what laptop doesn't have shrinked F keys?
23:00:23 <Vorpal> elliott_, indeed
23:00:39 <elliott_> Vorpal: they don't do Fn by default, though, they do brighten/dim display, expose, volume, blah blah blah, you have to Fn+ to get F-keys
23:00:42 <Vorpal> elliott_, also arrow keys are normally shrunk as well. Well not on all, but most
23:00:48 <elliott_> dunno fi that's OS X or the hardware
23:00:48 <elliott_> *if
23:00:53 <elliott_> but F keys rarely do anything on OS X anyway
23:00:56 <Vorpal> hm
23:01:10 <Vorpal> elliott_, might be an issue in minecraft (F5 and so on)
23:01:28 <elliott_> well. you just have to hold fn. and sometimes fn-shift- to bypass the *other* meaning :)
23:01:48 <Vorpal> elliott_, they have menings on fn- too?
23:01:56 <elliott_> Vorpal: well, they do whatever that F key would normally do.
23:02:03 <elliott_> usually nothing, but still
23:02:27 <Vorpal> elliott_, oh which of them does something like that?
23:02:36 <Vorpal> or is that application specific?
23:02:38 <elliott_> I think f11
23:02:43 <elliott_> yup
23:02:47 <Vorpal> elliott_, and what it is?
23:02:49 <elliott_> F11 increases volume one notch (har har notch)
23:02:51 <elliott_> as in
23:02:52 <elliott_> not F11
23:02:59 <elliott_> the key labeled F11 in small, with a big audio symbol in main
23:03:04 <elliott_> Fn+F11 hides all windows and shows desktop, like F11 does
23:03:07 <Vorpal> ah
23:03:13 <elliott_> Fn+Shift+F11 just sends F11 to the app, which is what you need for MC!
23:03:28 <elliott_> nobody seems to have figured that out because all os x minecraft screenshots appear to be maximised only
23:03:48 <Vorpal> elliott_, I wonder what would happen if the app made a difference between shift-f11 and f11
23:04:09 <elliott_> Vorpal: um. it would break and apple wouldn't care, like usual.
23:04:13 <Vorpal> right
23:04:23 <elliott_> but what kind of app would do that anyway :)
23:04:37 <Vorpal> elliott_, one written for non-apple?
23:05:13 <Gregor> <elliott_> yes, it sucks. but I don't want to fuck around with FUSE and Gregor's cunionfs on OS X .
23:05:20 <Gregor> Last I checked, FUSE on Apple was no problem.
23:05:21 <elliott_> Vorpal: would you use an app that assigns things to both F11 and Shift+F11?
23:05:38 <elliott_> Gregor: it isn't, but it's still a thing you have to download etc
23:05:44 <elliott_> and i don't trust you :-)
23:06:16 <Vorpal> elliott_, I wouldn't use that as the main criteria for the program if there didn't exist an in other aspects comparable alternative
23:07:02 <elliott_> #!/bin/sh -e
23:07:02 <elliott_> pkg=$(basename $0)
23:07:02 <elliott_> curl -O http://ftp.gnu.org/gnu/stow/$pkg.tar.gz
23:07:04 <elliott_> tar xzf $pkg.tar.gz
23:07:06 <elliott_> cd $pkg
23:07:07 <Vorpal> I would live with it, and if used too often I would complain a bit about it
23:07:08 <elliott_> ./configure --prefix=/opt
23:07:10 <elliott_> make install prefix=/opt/stow/$pkg
23:07:12 <elliott_> /opt/stow/$pkg/bin/stow --dir=/opt/stow --target=/opt -v $pkg
23:07:14 <elliott_> i wonder if i can make this shorter, it's ugly.
23:07:15 <Vorpal> (since it is rather awkward to press)
23:07:50 <Phantom_Hoover> elliott_, have you picked a name for your computer yet?
23:08:04 <elliott_> Phantom_Hoover: Nope. It's still Elliott-Hirds-MacBook-Air.
23:08:09 <elliott_> (Thanks, Apple.)
23:08:17 * Sgeo misread that as Elliott-Ehirds
23:08:26 <olsner> elliott_: ... you must change its name
23:08:33 <elliott_> olsner: I just can't think to what. :-)
23:08:37 <Vorpal> elliott_, so what is $pkg typically?
23:08:38 <elliott_> olsner: It's kind of comical how long my shell prompts are.
23:08:42 <elliott_> Vorpal: stow-1.3.3, in this case :P
23:08:56 <elliott_> Vorpal: I just kept typing stow-1.3.3 over and over and I thought god I hope they never release a new stow version.
23:09:04 <elliott_> I still can't get over the fact that this computer refused to let me use it until it took a picture of me.
23:09:13 <Sgeo> o.O
23:09:15 <Vorpal> elliott_, it what?
23:09:20 <elliott_> Vorpal: To set the account picture.
23:09:25 <elliott_> OK, maybe if I selected to choose from the photo gallery I could have picked some stock thing.
23:09:34 <Vorpal> elliott_, I hope so
23:09:35 <elliott_> But I was too lazy to, and subjected myself to its lens.
23:09:49 <elliott_> I technically cannot prove it did not immediately send it to Apple. :p
23:09:59 <elliott_> (It also wanted to be internet-connected by that point.)
23:10:03 <Vorpal> elliott_, hrrm
23:10:26 <elliott_> (To probe my Apple ID out of me.)
23:10:33 <olsner> this means apple now have your soul
23:10:37 <elliott_> It also asked what I'd be using the computer for, I think.
23:10:43 <Vorpal> elliott_, "apple id"?
23:10:44 <elliott_> olsner: I find that very probable.
23:10:50 <elliott_> Vorpal: Yes, as in an apple.com account.
23:10:58 <Vorpal> elliott_, do you actually need that?
23:11:08 <elliott_> Vorpal: I think it offered to let you register one if you don't have one. :p
23:11:16 <Vorpal> elliott_, and was there no "no thanks"?
23:11:18 <elliott_> I think it's possible to skip that first-time application but I don't know how.
23:11:21 <olsner> google actually do much of the same thing when you set up an android phone
23:11:24 <elliott_> Vorpal: I don't know, I didn't try, since I already have one.
23:11:33 <Vorpal> hm
23:11:44 <Vorpal> evil
23:11:48 <Vorpal> all of them
23:11:53 <olsner> "give us all your accounts and passwords, we won't be evil. we promise."
23:12:45 <olsner> only a matter of time until google reveal themselves as a 10-year massive identity theft plot and/or destroy the world
23:12:52 <elliott_> Vorpal: to be fair, the Apple procedure, while annoying, isn't all that intrusive, since they *already* have all my details and the fact that I own an Air by virtue of ... it being bought
23:13:21 <Vorpal> elliott_, you could have bought it over counter, would it have asked the same then?
23:13:35 <Vorpal> elliott_, and then they wouldn't have the details (at least if you paid with cache)
23:13:39 <Vorpal> (cash*)
23:14:06 <Phantom_Hoover> Cache as a token of exchange.
23:14:07 <elliott_> Vorpal: Well, perhaps, sure. But who pays ~£1.5k in cash?
23:14:12 <elliott_> Phantom_Hoover: I approve. Please develop.
23:14:18 <Vorpal> Phantom_Hoover, well, SRAM is rather expensive
23:14:37 <Vorpal> elliott_, hm true :P
23:15:09 <elliott_> Vorpal: (Answer: People who voted for Ron Paul.)
23:15:15 <elliott_> (Although they probably try and pay in gold first.)
23:15:54 <Vorpal> elliott_, republicans in other words?
23:16:25 <elliott_> Vorpal: Uh.
23:16:38 <elliott_> Phantom_Hoover: Please try and explain to Vorpal the vast, vast chasm that exists between "Republican" and "voted for Ron Paul".
23:16:50 <elliott_> I don't think Swedish has words to describe such subtleties that far right on the spectrum.
23:16:57 <olsner> what's ron paul and who's republican?
23:17:03 <Vorpal> :D
23:17:12 <elliott_> Their word for "right-wing authoritarian nutcase" is "social democrat".
23:17:41 <Phantom_Hoover> elliott_, isn't it that Ron Paul wants rich people to do whatever the hell they like, while Republicans want them to do whatever the hell God likes?
23:19:09 <Vorpal> oh so he is extremely right wing
23:19:18 <elliott_> Vorpal: Ron Paul is a libertarian.
23:19:42 <elliott_> He thinks the gold standard is a stonking good idea, he likes giving the states lots of power and the federal government very little,
23:19:56 <Sgeo> Wait
23:19:58 <elliott_> he's a conservative Christian but doesn't try and legislate this in his policies -- and, despite being a complete and utter right-wing nutjob --
23:20:04 <elliott_> he managed to be saner than all the other Republican candidates.
23:20:04 <Vorpal> elliott_, suuuure
23:20:05 <nooga> 0xFA1L
23:20:10 <elliott_> Vorpal: This is because America is fucked up.
23:20:12 <Sgeo> Isn't BitCoins gold-standard-esque, or am I missing something?
23:20:12 <Vorpal> elliott_, I did not fall for that one
23:20:16 <nooga> is it valid in C?
23:20:17 <elliott_> Vorpal: Fall for what?
23:20:20 <elliott_> Everything I said was factual.
23:20:27 <elliott_> He is, of course, a right-wing nutjob.
23:20:36 <elliott_> But if you really have to vote for a Republican ...
23:21:05 <elliott_> I mean, pretty much the only respectable US politicians are Dennis Kucinich and Ron Paul, and the only sane respectable US politician is Dennis Kucinich. But at least he's respectable.
23:21:05 <Vorpal> elliott_, so he is more left that most republicans?
23:21:08 <Vorpal> or more right?
23:21:15 <elliott_> Vorpal: It's not even left vs. right here.
23:21:19 <elliott_> Vorpal: Republicans don't even fit on the spectrum.
23:21:22 <Vorpal> elliott_, oh, it's the other axis?
23:21:24 -!- zzo38 has joined.
23:21:26 <elliott_> Vorpal: It's neither!
23:21:39 <Vorpal> elliott_, you thoroughly confused me
23:21:42 <zzo38> What do you think is the computational class of [[Memfractal]]?
23:21:59 <elliott_> Vorpal: Ron Paul is very much on the economic deregulation end and the social liberties end, yes. So right-wing. And this would be a terrible thing for America.
23:22:09 <elliott_> Vorpal: Republicans you can't even consistently place, they're just smack bang at the crazy end.
23:22:14 <elliott_> Make it a cube.
23:22:20 <elliott_> When you're at the crazy end, the other positions don't even matter any more.
23:22:22 <Vorpal> elliott_, hm
23:22:24 <elliott_> You're just crazy.
23:23:40 <elliott_> hmm, what's the return status of "x=$(foo)"
23:23:43 <elliott_> the return status of foo?
23:23:46 <elliott_> or do I have to consult $?
23:23:50 <Phantom_Hoover> elliott_, well, they do have the consistent "death to poor people" of the right.
23:23:58 <Vorpal> elliott_, that depends
23:24:17 <elliott_> Vorpal: what
23:24:20 <Vorpal> elliott_, local x=$(foo) will give you return status of local
23:24:31 <Vorpal> I think the same applies for export
23:24:37 <elliott_> Lol, sh.
23:24:49 <Vorpal> elliott_, but on it's own, then yes should be the return status of foo
23:25:02 <zzo38> What do you think is the computational class of [[Memfractal]]?
23:25:08 <Vorpal> elliott_, anyway the same applies for $? when it comes to local/export
23:25:27 <Vorpal> (so at least that is consistent
23:25:27 <olsner> zzo38: What do *you* think is the computational class of [[Memfractal]]? :)
23:28:09 <Vorpal> elliott_, hm I wonder if you can write any shell script as a single expression? If you could handle that way
23:28:19 <elliott_> Vorpal: ( x )
23:28:20 <Vorpal> loops you could do with recursion
23:28:34 <Vorpal> elliott_, well no I meant as in no ; or newline kind of sense
23:28:44 <elliott_> eval '...' :-P
23:28:48 <nooga> what is Memfractal?
23:28:48 -!- poiuy_qwert has joined.
23:28:58 <Vorpal> elliott_, okay, sure, but that is not the spirit of what I'm wondering about :P
23:29:08 <Vorpal> elliott_, you can do if else by using || and &&
23:29:15 <elliott_> no you can't
23:29:23 <elliott_> (x&&y)||z fails if y fails
23:29:23 <zzo38> olsner: I don't know. You can have infinite memory but only access by fractal and only enter the block in four directions. I don't know how well you can make the program make a decision in any other way.
23:29:29 <zzo38> nooga: See esolang wiki.
23:29:30 <elliott_> fails as in works improperly
23:29:37 <Vorpal> elliott_, depends on order of || and && of course
23:29:44 <Vorpal> elliott_, you need || first
23:29:46 <Vorpal> I think
23:29:50 <Vorpal> (not 100% sure)
23:29:54 <elliott_> Vorpal: (x||y)&&z -- y succeeds, z rus
23:29:55 <elliott_> *runs
23:29:57 <nooga> am i still here?
23:30:00 <elliott_> nooga: no
23:30:19 <elliott_> (x||(y;false))&&z would work, but you lose the error code obviously
23:30:57 <Vorpal> elliott_, hm. Perhaps it is still enough to express stuff in. And loops are easy: exec $0 other args
23:31:47 <elliott_> grr
23:31:48 <elliott_> ln -s /opt/stow/$pkg/bin/stow /opt/bin
23:31:52 <elliott_> (hack from the end of my stow build script)
23:31:53 <elliott_> doesn't work
23:32:08 <elliott_> it's meant to put a temporary stow, so that build(1) can do
23:32:15 <zzo38> I wrote something about computational class on it.
23:32:19 <elliott_> stow -v $(basename $pkg)
23:32:20 <elliott_> and have it stow stow
23:32:24 <elliott_> but it complains about a conflict
23:32:45 <zzo38> What might be the minimum amount of things to add to make turing-completeness?
23:33:56 <olsner> wiki no worki
23:34:09 <nooga> it does
23:34:17 <elliott_> hey how do you regexp match in bash again
23:34:19 <elliott_> [[ ~= ]] ?
23:34:22 <Vorpal> elliott_, yes
23:34:22 <nooga> http://esolangs.org/wiki/Memfractal
23:34:39 <elliott_> [ "$pkg" ~= "stow-.*" ] || stow -v $(basename $pkg)
23:34:40 <olsner> ah, I was using the voxelperfect address since that was higher up on google
23:34:41 <elliott_> doin it rite?
23:34:46 <elliott_> olsner: voxelperfect expired
23:35:02 <Vorpal> elliott_, uh. [[ ]] not [ ]
23:35:06 <Vorpal> elliott_, won't work in [ ]
23:35:07 <elliott_> Vorpal: er yes.
23:35:34 <Vorpal> elliott_, also I think you need to drop the quotes in [[ ]]. You used to need to drop quotes at least
23:35:52 <elliott_> /usr/local/bin/build: line 15: conditional binary operator expected
23:35:58 <elliott_> Vorpal: I don't suppose it might require bash 4, mightn't it?
23:36:07 <Vorpal> elliott_, no, bash 3.12 or such iirc
23:36:10 <elliott_> OS X uses, uh, 3.2.48(1).
23:36:13 <Vorpal> err
23:36:13 <elliott_> Vorpal: Well. There's the problem!
23:36:18 <elliott_> Unless you mean 3.1.2.
23:36:18 <Vorpal> elliott_, 3.2.12
23:36:20 <Vorpal> I meant
23:36:22 <elliott_> Vorpal: Ah.
23:36:31 * elliott_ waits for Vorpal to recoil in horror at the ancient bash version.
23:36:32 <Vorpal> elliott_, they are at 48 now, wow
23:36:40 <elliott_> Vorpal: "now" -- this is from 2007!
23:36:48 <Vorpal> elliott_, even more wow
23:36:53 <elliott_> Elliott-Hirds-MacBook-Air:~ ehird$ bash --version
23:36:53 <elliott_> GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)
23:36:53 <elliott_> Copyright (C) 2007 Free Software Foundation, Inc.
23:37:17 <Vorpal> elliott_, wait, isn't it =~ ?
23:37:27 <elliott_> Vorpal: um. maybe. is it?
23:37:27 <Vorpal> yes it is
23:37:29 <elliott_> it isn't in perl.
23:37:30 <elliott_> is it?
23:37:33 <Vorpal> elliott_, well it is =~
23:37:48 <elliott_> I thought we all learned to not to do =x after C's =-.
23:38:12 <Vorpal> elliott_, =- hm right that is ambig. Never thought about it
23:38:25 <Vorpal> what /does/ x=-4; do in C
23:38:32 <elliott_> Vorpal: x = -4;
23:38:36 <elliott_> Vorpal: pre-K&R, it was x -= 4;
23:38:40 <elliott_> Vorpal: then they realised oops.
23:38:42 <elliott_> and fixed it.
23:38:48 <Vorpal> elliott_, yes quite
23:39:01 <Vorpal> elliott_, anyway in bash it doesn't matter since you need spaces around it anyway
23:39:53 <elliott_> ok, so, i need dblatex next i think.
23:39:56 <Vorpal> elliott_, idea for confusing language, make >= and <= be some sort of assignment operators
23:40:06 * elliott_ decides to use debian download mirrors rather than sourceforge.
23:40:08 <elliott_> because fuck sourceforge
23:40:19 <elliott_> Vorpal: I've actually occasionally thought an unary != would be nice.
23:40:19 <elliott_> != foo;
23:40:22 <elliott_> same as foo = !foo;
23:40:36 <Vorpal> elliott_, hm. looks a bit awkward though
23:40:40 <zzo38> elliott: I have also sometimes thought of that unary !=
23:41:08 <zzo38> But with C if you are using boolean and you know the value 0 and 1 you can type foo^=1;
23:41:16 <Vorpal> XD
23:41:54 <Vorpal> zzo38, you mean _Bool?
23:42:10 <elliott_> _Bool is why the C committee needs to be fired.
23:42:22 <Vorpal> elliott_, you mean the name of it?
23:42:26 <zzo38> Vorpal: No I just mean if you are having a variable that stores boolean values.
23:42:26 <elliott_> Yes.
23:42:27 <elliott_> I like how they made it _Bool, but then RESERVED "I" IN THE GLOBAL NAMESPACE.
23:42:34 <elliott_> _HOW RETARDED IS THAT?!_
23:42:54 <elliott_> For complex number support that I have not seen *one* use of. Apparently CPLX_I is just too much I guess.
23:42:54 <nooga> -,-
23:42:56 <Vorpal> elliott_, wait a sec. what is I ?
23:42:59 <elliott_> Vorpal: Complex unit.
23:43:07 <elliott_> Squares to -1, you know the thing.
23:43:09 <elliott_> Reserved.
23:43:10 <elliott_> In C99.
23:43:11 <Vorpal> elliott_, oh, isn't that in some header?
23:43:12 <elliott_> In the global namespace.
23:43:22 <elliott_> Vorpal: Yes. But it's reserved anyway and IIRC compiling something that defines I fails with gcc because of it.
23:43:28 <zzo38> Very retarded I think. I think GNU C uses gnu89 by default so it doesn't enable any of the stupid C99 features, only the non-stupid ones are enabled.
23:43:34 <Vorpal> elliott_, ... how retarded
23:43:45 <zzo38> But if you type gnu99 then it will use all GNU features and all C99 featurse.
23:44:29 <Vorpal> elliott_, at least stdbool.h defines bool
23:44:46 <zzo38> So I use gnu89 mode which is the default mode.
23:45:18 -!- BeholdMyGlory has joined.
23:45:24 <zzo38> Even if they do reserved "I" is a reserved word maybe you can use the #define (or @d) command?
23:45:28 <elliott_> /usr/local/share/install/dblatex-0.3: line 6: ./configure: No such file or directory
23:45:29 <elliott_> Oh dear.
23:45:36 <elliott_> "setup.py"
23:45:38 <elliott_> Oh. Ohd ear.
23:45:40 <elliott_> *Oh dear.
23:46:03 <elliott_> I. Don't think Python lets you have two separate prefixes.
23:46:06 * Phantom_Hoover listens to "Little Mouse".
23:46:10 <Vorpal> elliott_, PYTHONPATH ?
23:46:12 <elliott_> HEY THERE LITTLE MOUSE
23:46:16 <elliott_> Vorpal: No, no, as in
23:46:19 <elliott_> ./configure --prefix=/opt
23:46:19 <elliott_> make
23:46:23 <elliott_> make install prefix=/opt/stow/foo-3.1
23:46:24 <Phantom_Hoover> I HOPE WE CAN UNDERSTAND ONE ANOTHER
23:46:30 <elliott_> Phantom_Hoover: HEY NOW LITTLE MOUSE
23:46:31 <Vorpal> elliott_, DESTDIR?
23:46:39 <Vorpal> elliott_, this might work
23:46:40 <elliott_> Vorpal: It's Python. It's too elegant to look at environment variables.
23:47:03 <Phantom_Hoover> SHOW ME WHAT TO DO
23:47:10 <Vorpal> elliott_, well surely it supports destdir of some sort. Every distro I know uses staged install
23:47:11 <Phantom_Hoover> (little mouse!)
23:47:20 <variable> zzo38, I assure you I could hold more than just Boolean values
23:47:30 <elliott_> Vorpal: Every distro I know of uses a chroot.
23:47:32 <Phantom_Hoover> variable!
23:47:39 <elliott_> Vorpal: Debian, Fedora. :p
23:47:44 <elliott_> Gentoo too I think.
23:47:52 <elliott_> Vorpal: Anyway destdir won't help.
23:47:54 <Vorpal> elliott_, gentoo didn't use to use a chroot for it.
23:47:56 <zzo38> What I think maybe C should have though, is some attribute to tell it what value a variable is supposed to have so that the optimizer can use that information, and code analysis can also use that information. Maybe it can be a pragma to do that?
23:47:59 <Vorpal> elliott_, oh?
23:47:59 <elliott_> It'll put things in /opt/stow/foo/opt/bin
23:48:05 <Vorpal> oh right
23:48:26 <elliott_> Vorpal: Although I could set DESTDIR to build dir plus "root".
23:48:30 <elliott_> And then mv them into the right place.
23:48:35 <Vorpal> might work
23:48:36 <elliott_> Because I'm all for the hacks, ye ken.
23:48:49 <variable> zzo38, I've advocated for this before
23:48:53 <elliott_> Vorpal: I'm going to try just "python setup.py install --prefix=/opt/stow/foo" first and grep to see if it tries and remembers where it was installed :-P
23:48:56 <variable> elliott_, warns me it may come to Coq
23:48:57 <variable> :-}
23:48:58 <Vorpal> elliott_, well I doubt you have any other option that will give you a successful install
23:49:05 <elliott_> Vorpal: See above.
23:49:37 <elliott_> Error: not found: latex, makeindex, pdflatex, kpsewhich
23:49:38 <Vorpal> mmm
23:49:43 <Vorpal> elliott_, aiee
23:49:43 <elliott_> Oh man, this is great 'cuz I get to install TeX Live!
23:49:47 <elliott_> Which isn't like 70 gigabytes!
23:49:52 <elliott_> And I'm not on WiFi right now!
23:49:53 <elliott_> Nosiree!
23:49:54 <Vorpal> elliott_, 700 MB rather
23:50:02 <elliott_> Vorpal: 70 gigabytes on OS X :P
23:50:07 <elliott_> Vorpal: Or, more like 3 gigs the last I looked.
23:50:19 <Vorpal> elliott_, dude, you will be limited by your link to your ISP, not by your wifi
23:50:22 <elliott_> It's technically MacTeX, which is made out of TeX Live.
23:50:24 <elliott_> Vorpal: No, I'm not.
23:50:25 <Vorpal> unless you have awesome internet
23:50:27 <Vorpal> elliott_, what
23:50:33 <Vorpal> elliott_, 100 mbit fibre or what?
23:50:35 <elliott_> Vorpal: You have no idea how much consumer routers suck at WiFi.
23:50:45 <Vorpal> elliott_, oh right, true.
23:50:48 <elliott_> Vorpal: I get 200-500 KiB/s generally on WiFi, 700-800 KiB/s generally on Ethernet.
23:50:56 <zzo38> variable: And be specific? Can it be a pragma to do this?
23:51:02 <elliott_> The current distribution is MacTeX-2010.
23:51:02 <elliott_> To obtain the distribution, click the link below.
23:51:02 <elliott_> MacTeX.mpkg.zip
23:51:04 <elliott_> [ approximately 1.6G- 08 September 2010 ]
23:51:06 <elliott_> OH WELL, IT'S SMALLER THAN XCODE
23:51:08 <Vorpal> elliott_, weird, I have a speedtouch, and I get 700-800 on both
23:51:31 <zzo38> Why are all TeX distributions too large?
23:51:35 <elliott_> oh god
23:51:37 <Vorpal> <variable> elliott_, warns me it may come to Coq <-- as in, coq would get it?
23:51:45 <elliott_> Vorpal: As in he'll turn $language into Coq. :p
23:51:49 <Vorpal> ah yes
23:51:59 <elliott_> Computers need to have a "take note of what I just did these past 30 minutes" when getting some software to install is a bitch.
23:52:08 <elliott_> Then you could just edit the actions and remove all the stuff that doesn't work, and it becomes your build script.
23:52:18 <variable> elliott_, script? make -n ?
23:52:22 <variable> they generally have it
23:52:26 <elliott_> variable: What?
23:52:32 <Vorpal> variable, have you seen frama-c. frama-c + why + <various SMT provers> might do what you want (except not for the optimiser)
23:52:33 <elliott_> I mean a script to automate the configuration & compilation of a package.
23:52:40 <variable> Vorpal, no
23:52:40 <elliott_> Vorpal: Sshh, he's learning Haskell.
23:52:45 <elliott_> Don't recommend evil C tools :-)
23:52:59 <Vorpal> variable, iirc why can also export the problem to coq
23:53:15 <Vorpal> elliott_, not recommending. Just informing
23:53:17 <zzo38> Can they have any TeX distribution that doesn't have LaTeX and PDF and all of that stuff?
23:53:18 <elliott_> Vorpal: 800 KiB/s on WiFi, guess I'll eat my sock.
23:53:25 <elliott_> zzo38: Yes, it's called tex.web.
23:53:29 <Vorpal> elliott_, you have only one sock?
23:53:36 <elliott_> Vorpal: Indeed. I had to sell the rest to buy this computer.
23:53:37 <Vorpal> elliott_, if not: left or right one
23:53:40 <Vorpal> elliott_, ah
23:54:04 <variable> elliott_, why are C tools evil?
23:54:12 <elliott_> variable: BECAUSE C IS OF THE DEVIL
23:54:15 <zzo38> elliott_: I tried compiling tex.web with GNU Pascal and although it compiles with very few changes, it then complains about "his.tex" which does not exist and is not mentioned anywhere.
23:54:31 <elliott_> variable: Or just because I'm trying to ensure your swift indoctrination into the Church of (Alonzo) Church ;-)
23:54:46 <variable> elliott_, I am already a sworn Pastafarian and Googlist
23:55:04 * variable could be cast to a different religion though
23:55:13 <elliott_> variable: Get off my invisible pink unicorned lawn, you FSM poseurs.
23:55:22 <Vorpal> pastafarian?
23:55:25 <Vorpal> what the heck is that
23:55:30 <elliott_> Vorpal: Church of the Flying Spaghetti Monster.
23:55:34 <Vorpal> elliott_, oh right
23:55:48 <variable> elliott_, don't say his name in vain!
23:55:53 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
23:55:53 <Vorpal> <elliott_> variable: Get off my invisible pink unicorned lawn, you FSM poseurs. <-- says the user of gnu stow
23:56:01 <zzo38> Do you think they are going to walk into the unicorn by mistake?
23:56:14 <Vorpal> ....
23:56:16 <elliott_> Worthless imitators of the One True, which worships the Invisible Pink Unicorn.
23:56:16 <variable> zzo38, no, the IPU takes up no space
23:56:23 <elliott_> PRAISE BE UNTO HER AND HER INVISIBILITY AND HER PINKOSITY
23:56:28 <Vorpal> variable, international postage union?
23:56:30 <nooga> C
23:56:34 <elliott_> Vorpal: Invisible Pink Unicorn.
23:56:37 <Vorpal> oh duh
23:56:55 <variable> Vorpal, :-}
23:56:56 <elliott_> I say the IPU Prayer every day before I get out of bed:
23:56:58 <elliott_> "Invisible Pink Unicorns are beings of great spiritual power. We know this because they are capable of being invisible and pink at the same time. Like all religions, the Faith of the Invisible Pink Unicorns is based upon both logic and faith. We have faith that they are pink; we logically know that they are invisible because we can't see them."
23:57:00 <zzo38> variable: Then why do you have to get out of the lawn? Probably for a different purpose, like they just don't want other people walking on it.
23:57:27 <elliott_> "This image features a pink unicorn but it has an alpha channel that makes the unicorn transparent, thus approximating the appearance of the Invisible Pink Unicorn." --Wikipedia
23:57:33 <elliott_> BUT ONLY APPROXIMATING
23:57:44 <Vorpal> elliott_, what wikipedia has that?
23:57:52 <elliott_> Vorpal: [[Invisible Pink Unicorn]].
23:57:56 <Vorpal> elliott_, this sounds like uncyclopedia!!!
23:58:05 <elliott_> *like awesome!!!
23:58:12 <zzo38> Maybe Uncyclopedia has it too, you can check.
23:58:13 <elliott_> If every Wikipedia page was like that I would adore it forever.
23:58:26 <elliott_> Nothing says encyclopedias can't be occasionally humorous.
23:58:36 -!- poiuy_qwert has joined.
23:58:50 <elliott_> I think Wikipedia's editors have forgotten that they're editing what is essentially a gigantic book to be read by humans -- not a practically-mechanical, dry reference work containing tables of pure fact.
23:59:13 <zzo38> Is there any free Pascal compiler that will compile TeX and METAFONT exactly as is (once it is tangled)?
23:59:24 <elliott_> zzo38: Yes, the one Knuth used. :p
23:59:33 <elliott_> Although that probably wasn't Free as in FSF.
23:59:47 <Vorpal> "(once it is tangled)" <-- tangled?
23:59:57 <Vorpal> what does that mean in this context
2010-12-31
00:00:02 <zzo38> Vorpal: TANGLE is the program to convert the WEB file into the Pascal file.
00:00:12 <Vorpal> ah
00:00:19 -!- Wamanuz4 has joined.
00:00:49 <oerjan> zzo38: my hunch is that Memfractal is turing complete, although i'm not entirely sure if four exits is enough or not
00:01:39 <zzo38> oerjan: If not, could having multiple blocks help?
00:01:42 <oerjan> zzo38: i assume all bits start as 0?
00:02:04 <zzo38> oerjan: Yes all bits start as 0 (unless initial state says otherwise) (probably it should be mentioned)
00:02:06 <elliott_> oh, ais523!
00:02:08 <elliott_> ais523: when did you come in?
00:02:19 <oerjan> what do you mean by multiple blocks?
00:02:23 <zzo38> (Initial state includes input state)
00:02:47 -!- Wamanuz3 has quit (Ping timeout: 255 seconds).
00:02:48 <oerjan> zzo38: ok so some of the bits might be set dependent on input?
00:03:07 <zzo38> oerjan: By multiple blocks, I mean that instead of one block, you have two rectangles which are two blocks and possibly have some new command to select one.
00:03:31 <zzo38> oerjan: Yes some bits might be set on input. But if you are using with no input, it is all 0 at the start.
00:03:37 <oerjan> zzo38: so + would select one of them and some other command the other?
00:04:06 <zzo38> oerjan: Yes maybe + selects one and some other command select the other.
00:04:21 <oerjan> it might not be necessary though
00:04:35 <zzo38> Yes I was thinking too, I don't know if it is necessary or not.
00:05:27 <Vorpal> try to implement a TC language in it?
00:05:48 <Vorpal> not sure how though, but BCT is probably a good target
00:06:28 <oerjan> i wouldn't do BCT, the fractal connections don't fit a queue very well
00:06:35 <Vorpal> oerjan, hm true
00:06:40 <Vorpal> oerjan, any better suggestion?
00:06:49 <oerjan> a tape might be easy
00:07:12 -!- Sasha has quit (Ping timeout: 255 seconds).
00:07:21 <Vorpal> zzo38, when does the program end? (does it end at all?)
00:07:35 -!- MigoMipo has quit (Read error: Connection reset by peer).
00:07:46 <oerjan> i assumed it would end if you left the top program?
00:07:55 <zzo38> oerjan: Yes you are correct
00:08:15 <Vorpal> ah
00:09:37 <zzo38> Can anyone make a Free emulation of the environment used in Knuth's TeX that can compile the program without changes and can treat file areas and so on in the way the TeX program does, and can save the program image (as described in section 1331 of TeX: The Program)?
00:11:16 <elliott_> No.
00:11:20 <elliott_> Nobody can do that.
00:13:11 <Vorpal> well technically someone could. But would be tricky and pointless
00:13:45 <elliott_> Vorpal: No.
00:13:46 -!- Wamanuz5 has joined.
00:13:48 <elliott_> It is physically impossible.
00:13:50 <elliott_> Silly.
00:13:52 <Vorpal> elliott_, why?
00:13:56 <elliott_> That is why zzo38 does not need to ask any more questions about it.
00:13:59 <elliott_> Because it is impossible.
00:14:02 <elliott_> So we can drop the subject, obviously!
00:14:09 <elliott_> Vorpal: Don't you agree?
00:14:16 <Vorpal> elliott_, oh. true
00:14:37 <zzo38> Even though I have MiKTeX installed here (and Live TeX at Free Geek), it is too large and contains a lot of extra stuff
00:14:43 <Vorpal> elliott_, it's the third law of thermodynamics right?
00:14:47 -!- Sasha has joined.
00:14:47 <elliott_> Vorpal: Yes.
00:14:48 <zzo38> elliott_: I am sure it is not impossible.
00:14:54 <elliott_> zzo38: I think it is.
00:14:56 <elliott_> Because of physics.
00:15:11 <zzo38> Because of physics?
00:15:34 <elliott_> Yes.
00:16:30 <zzo38> No, I think it is possible for sure. Maybe it is even possible to modify GNU Pascal to work in this way.
00:16:44 -!- Wamanuz4 has quit (Ping timeout: 255 seconds).
00:16:50 <hagb4rd> not impossible but improbable
00:18:43 <hagb4rd> due to leak of motivation
00:19:19 <elliott_> hagb4rd: No.
00:19:23 <elliott_> hagb4rd: Impossible.
00:19:30 <hagb4rd> okay okay
00:19:39 -!- Sasha2 has joined.
00:19:59 <zzo38> It isn't impossible.
00:20:20 -!- Sasha has quit (Ping timeout: 255 seconds).
00:20:27 <hagb4rd> no need to argue
00:20:51 <hagb4rd> want some cookies?
00:20:52 <oerjan> zzo38: oh hm i see memfractal is reversible. that might complicate things...
00:20:58 * hagb4rd offers
00:22:55 <elliott_> yay tex live has almost downloaded
00:23:00 <elliott_> then i can continue reinventing package managers, badly
00:23:06 <elliott_> at least i don't need to worry about dependencies
00:23:25 <cheater99> vhdl must be the ugliest language on earth
00:23:28 <zzo38> Is there any small TeX distribution that works?
00:25:58 <elliott_> Vorpal: mactex is 3 gigs unpacked apparently
00:25:58 -!- Sasha2 has quit (Ping timeout: 276 seconds).
00:25:59 <elliott_> and installed
00:27:03 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
00:27:26 <zzo38> I mean, without LaTeX, PDF, kpathsea, PostScript, BibTeX, fontconfig, and all that stuff.
00:29:13 -!- sebbu has quit (Ping timeout: 276 seconds).
00:29:24 -!- poiuy_qwert has joined.
00:30:16 <elliott_> tar: Unrecognized archive format: Inappropriate file type or format
00:30:17 <elliott_> wtf.
00:30:50 <Sgeo> Obviously, the file type is porn
00:30:54 -!- elliott_ has quit (Remote host closed the connection).
00:31:34 -!- elliott has joined.
00:31:55 <zzo38> They added a JPEG header by mistake and it just happens so to make pornography when you do that????? I don't think so.
00:32:08 <Vorpal> no... tiff header
00:33:13 <zzo38> Vorpal: O, it is tiff header.
00:33:35 <Vorpal> zzo38, do you know what a joke is?
00:35:19 <Phantom_Hoover> Vorpal, no, he does not. Nor does he know that none of us care about any of his software.
00:35:30 <Phantom_Hoover> Or he knows and he doesn't care.
00:36:14 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:36:15 <zzo38> Vorpal: I know a joke. I write my own joke too.
00:36:37 <Vorpal> oh
00:37:05 <elliott> zzo38 doesn't read other people's jokes, he just writes his own
00:40:08 <elliott> Vorpal: ...does curl keep an internal cache?
00:40:16 <elliott> It seems to be downloading this file suspiciously quickly.
00:41:44 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:42:44 <Vorpal> elliott, I very much doubt it
00:42:46 <variable> anyone used https://www.nearlyfreespeech.net/ -> any recs?
00:43:08 <elliott> I've seen plenty of people recommend it. It's probably the best choice ... if you want to get shared web hosting, but why would you want that?
00:43:13 <elliott> Get a VPS.
00:43:18 <elliott> http://prgmr.com/xen/
00:44:08 <elliott> Vorpal: Are you *sure*? :p
00:44:40 <elliott> The requested URL /debian/pool/main/d/dblatex/dblatex_0.3.orig.tar.bz2 was not found on this server.
00:44:41 <elliott> what
00:44:53 <Vorpal> elliott, no I'm no curl expert
00:44:55 <elliott> wait.
00:44:58 -!- BeholdMyGlory has joined.
00:44:58 <elliott> does curl not exit 1 on 404???
00:45:12 <Vorpal> elliott, HOW SHOULD I KNOW?!
00:45:14 <Vorpal> check docs
00:45:16 <elliott> Elliott-Hirds-MacBook-Air:~ ehird$ curl -O http://www.se.kernel.org/debian/pool/main/d/dblatex/dblatex_0.3.orig.tar.bz2
00:45:17 <elliott> % Total % Received % Xferd Average Speed Time Time Time Current
00:45:17 <elliott> Dload Upload Total Spent Left Speed
00:45:18 <elliott> 113 340 113 340 0 0 1211 0 --:--:-- --:--:-- --:--:-- 3908
00:45:20 <elliott> Elliott-Hirds-MacBook-Air:~ ehird$ echo $?
00:45:22 <elliott> 0
00:45:24 <elliott> that is fucking retarded
00:47:39 <Vorpal> try wget
00:48:39 <Deewiant> Use --fail
00:48:44 <elliott> $ for prog in /usr/local/texlive/2010/bin/x86_64-darwin/*; do ln -s $prog /usr/local/bin; done
00:48:49 <elliott> Vorpal: OS X doesn't ship with wget, so no. :-)
00:48:54 <elliott> Deewiant: Heh.
00:49:00 <elliott> Deewiant: Shouldn't it be --disable-fail :)
00:49:07 <Vorpal> elliott, ah
00:49:12 <Deewiant> It successfully fetched the 404 page
00:49:26 <Deewiant> And the docs for --fail say that it doesn't always work
00:49:30 <elliott> X-D
00:49:40 <elliott> Good to see curl is so mature.
00:50:08 <elliott> Groan, it /does/ remember where it was installed.
00:50:58 <Vorpal> elliott, what does, stow?
00:51:05 <zzo38> I found that someone did manage to compile TeX with GNU Pascal.
00:52:26 <elliott> Vorpal: No, dblatex.
00:52:40 <elliott> python setup.py install --prefix=/opt --destdir=../dest
00:52:40 <elliott> mkdir /opt/stow/$pkg
00:52:40 <elliott> cp -R ../dest/opt/* /opt/stow/$pkg
00:52:43 <elliott> Like a boss.
00:53:04 <Vorpal> elliott, the final boss of the game?
00:53:08 <Vorpal> or a miniboss?
00:53:15 <Vorpal> or just a boss?
00:53:24 <elliott> COOL IT DOESN'T DO --DESTDIR
00:53:31 <elliott> Vorpal: Like a boss.
00:53:36 <Vorpal> ... it doesn't do destdir?
00:53:54 <Vorpal> elliott, does mcmap do destdir?
00:54:22 <elliott> Vorpal: mcmap doesn't do install. So no.
00:54:38 <elliott> --install-base base installation directory (instead of --prefix or --
00:54:39 <elliott> home)
00:54:39 <elliott> --install-platbase base installation directory for platform-specific files
00:54:40 <elliott> (instead of --exec-prefix or --home)
00:54:43 <elliott> I can see this is going to be fun and not painful at all.
00:55:03 <elliott> The single good thing about autotools is that it stops people too stupid to exist from creating their own systems.
00:55:14 <elliott> Apparently being a Pythonisticator overrides that.
00:55:27 <Vorpal> elliott, wait, isn't it setuputils or whatever the standard python thing is called?
00:56:45 * nooga is trying Aardappel
00:56:58 <elliott> Vorpal: distutils.
00:57:10 <Vorpal> elliott, ah
00:57:14 <elliott> setuptools is an extension to distuti^W^W^W^W something we should all try and forget ever happened.
01:00:02 <Vorpal> elliott, is it an extension to something we should try to forget
01:00:10 <Vorpal> or do you mean it is something we should try to forget
01:00:11 -!- FireFly has quit (Quit: swatted to death).
01:00:11 <elliott> ^W
01:00:14 <elliott> the latter
01:02:43 <Vorpal> elliott, why is setuptools bad?
01:03:10 <elliott> Vorpal: oh god. so many reasons. easy_install is the worst program ever written. and the command-line wrappers it installs take like 1s to just find the program
01:03:13 <elliott> 's classes
01:03:26 <elliott> it should be noted, for instance, that easy_install comes without an easy_uninstall.
01:03:35 <elliott> in fact, installation requires manually editing a generated file, and removing a directory.
01:03:38 <elliott> *uninstallation
01:05:33 <elliott> oh god this is awful
01:07:40 <Sgeo> This is supposed to be an upsetting scene, I think, but I got distracted by the crappy CPR
01:09:16 -!- elliott has quit (Remote host closed the connection).
01:09:52 -!- elliott has joined.
01:12:43 <elliott> OKAY SOEONE FIX THIS REOJGEG]\E[PE]E[4
01:12:43 <elliott> 44
01:13:07 <Vorpal> elliott, change the O to an U and the J to a G
01:13:08 <elliott> ahahahahahaa!!
01:13:10 <Vorpal> fixed
01:13:13 <elliott> I GOT IT LIKE A JUNGLE
01:13:22 <Vorpal> elliott, ??
01:13:50 <elliott> python setup.py install --prefix=/opt --root=../root
01:13:51 <elliott> mkdir -p /opt/stow/$pkg
01:13:51 <elliott> cp -R ../root/opt/* /opt/stow/$pkg
01:17:07 * elliott removes version numbers from his packages
01:17:09 <elliott> more simplar!!
01:17:52 <elliott> there, it all works now
01:19:43 <elliott> Vorpal: is it sane to have an autotools source directory as a subdirectory of the build directory? >:)
01:22:07 <Vorpal> elliott, I think GCC will hate you at least
01:22:30 <elliott> Vorpal: ghc hates anyone who even _looks_ at its build system. even it knows that it's the worst ever.
01:22:36 <elliott> erm
01:22:37 <elliott> *gcc
01:22:40 <elliott> I don't know how GCC devs even cope.
01:22:55 <Vorpal> elliott, I meant the gcc build system
01:22:57 <elliott> a million-line shell script that always recompiles the entire source tree would be faster and easier to use
01:22:58 <elliott> I know
01:23:41 <olsner> gcc's build system is saner than ghc's IMO
01:24:17 <olsner> but it has some slightly silly requirements, like only working for out-of-source builds
01:24:25 <elliott> olsner: GHC's got completely modernised lately, dude
01:24:33 <elliott> ./configure && make && make install is now perfectly sane
01:24:41 <elliott> it /used/ to be a right mess
01:24:49 <elliott> olsner: if you're referring to the ghc dependency, well ... not much you can do about that
01:24:56 <olsner> sure, but I think it's not completely modernised, and not sufficiently modern :P
01:25:05 <elliott> olsner: what's suboptimal about it?
01:25:23 <elliott> configure: WARNING: cannot find DocBook XSL stylesheets, you will not be able to build the documentation
01:25:26 <elliott> configure: WARNING: cannot find hasktags in your PATH, you will not be able to build the tags
01:25:28 <elliott> todo: fix
01:25:30 <elliott> also hscolor
01:28:26 -!- GreaseMonkey has joined.
01:30:41 <olsner> personally mostly that parallel builds aren't properly parallel, but there are other diffuse signs of ugliness
01:30:59 <olsner> I think something with the makefile generation through cabal was screwy last time I built
01:32:43 <elliott> JESUS CHRIST @ docbook-xsl's install.sh
01:33:41 <elliott> ok what is an xml catalog an why do i need it
01:35:35 <elliott> olsner: omfg xml is the worst, did you know
01:36:23 <olsner> elliott: let's just say I've used ant...
01:36:34 <elliott> olsner: yeah but that's not even the worst!
01:36:42 <elliott> olsner: the worst is schema xsl catalogue files xsltproc
01:40:33 <elliott> +dh_installxmlcatalogs
01:40:33 <elliott> +# upstream ships {param,pi,table}.xml as example for DocBook
01:40:33 <elliott> +# because we don't need them inside docbook-xsl, we exclude them
01:40:35 <elliott> +dh_install -Xparam.xml -Xpi.xml -Xtable.xml -XChangeLog* -X.param.* -X.lib.* -X.gitignore
01:40:45 <elliott> Debian -- hiding things away in macros so you can't see how the fuck to build things since 1993.
01:41:44 <cheater99> verilog looks much nicer than vhdl.
01:41:47 <Ilari> Heh.. "It always amazes me that someone as perceptive on blood glucose, and indirectly on blood insulin, as Dr Davis can still believe the lipid hypothesis. Really believe. Fascinating."
01:42:39 * elliott looks at the arch build scripts for this
01:42:40 <elliott> omg what is this
01:42:48 <elliott> this is awful
01:42:50 <elliott> this is in fact the worst
01:44:10 <Sgeo> No, a Linux distro heavily reliant on PSOX would ... *gets shot by elliott*
01:44:32 <cheater99> is verilog turing complete?
01:44:51 <Vorpal> Ilari, that went completely over my head (or maybe on the side of it)
01:45:09 <cheater99> i guess you can implement a microprocessor in it, upon which you can implement a turing complete assembler
01:45:18 <Vorpal> ...
01:45:26 <cheater99> so it should be turing complete, right?
01:45:38 <Vorpal> cheater99, no actual hardware can be TC.
01:45:56 <elliott> cheater99: verilog is sub-TC.
01:45:56 <Vorpal> I'm pretty sure neither verilog nor vhdl are actually TC.
01:46:04 <cheater99> elliott: what can it not do?
01:46:10 <elliott> as ais523 can explain but i wouldn't recommend him to due to it being a waste of time due to the target.
01:46:45 <cheater99> the target of this conversation being you showing off that you're a prissy brat?
01:47:01 <elliott> so edgy.
01:47:01 <Vorpal> elliott, was it docbook-xml or docbook-xsl?
01:47:03 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
01:47:06 <elliott> Vorpal: -xsl.
01:47:19 <ais523> elliott: it probably is TC via the not-for-synthesis features
01:47:23 <Vorpal> elliott, the PKGBUILD seems to be manual install commands?
01:47:26 <ais523> unless it's incapable of dynamic allocation, which wouldn't surprise me
01:47:38 <elliott> ais523: I'm pretty sure it is, isn't it?
01:47:39 <ais523> but the "because it can be used to make a microprocessor" is bogus reasoning as microprocessors aren't TC
01:47:44 <Vorpal> <cheater99> the target of this conversation being you showing off that you're a prissy brat? <-- not brat no
01:47:48 <elliott> I don't think VHDL is capable of dynamic allocation is it?
01:48:02 <ais523> elliott: I'm not too sure about its not-for-synthesis features
01:48:02 <Vorpal> (seriously, and I never thought I'd say this, do try to get along the two of you)
01:48:05 <elliott> Vorpal: cheater doesn't like me because i call him a troll when he trolls.
01:48:06 <cheater99> ais523: no, but things that run on them can be
01:48:16 <ais523> it wouldn't surprise me if you could make arbitrary length strings, for instance
01:48:21 <elliott> sometimes i think the lack of moderation in here is a bad thing :)
01:48:27 <ais523> cheater99: no they can't, because they wouldn't be able to access infinite storage
01:48:38 -!- poiuy_qwert has joined.
01:48:45 <elliott> ITT: cheater99 doesn't know what Turing complete means
01:48:47 <ais523> you can run a BF interp on a processor, but it would eventually run out of memory if you kept extending the tape
01:49:20 <cheater99> ais523: but no concrete implementation of a language has access to infinite storage
01:49:36 <ais523> cheater99: indeed
01:49:48 <cheater99> so that would mean you imply no language is TC
01:49:58 <ais523> no concrete implementation is TC, indeed
01:50:09 <ais523> being TC is a property of languages in theory, not in practice
01:50:35 <cheater99> but in theory for every program that needs to be executed a microcontroller with enough storage could be programmed in verilog
01:50:38 <ais523> you can also talk about bounded-storage machines, which are ill-defined, but effectively "machines that would be TC except for the possibility of running out of memory"
01:50:50 <elliott> autoconf question: If I have an X system, and want to build a compiler as an X executable, that outputs X executables, _but_ it's bootstrapping from a Y compiler
01:50:52 <ais523> cheater99: yep, verilog counts as a bounded-storage machine for that reason
01:50:54 <elliott> what's BUILD, HOST, TARGET?
01:51:02 <elliott> X=64-bit and Y=32-bit in this case
01:51:07 <ais523> build = Y, host = X, target = X
01:51:12 <Vorpal> elliott, uh. that is a canadian cross
01:51:14 <elliott> ais523: thanks
01:51:15 <elliott> Vorpal: no it's not
01:51:19 <Vorpal> wait no
01:51:20 <ais523> Vorpal: no it isn't
01:51:20 <Vorpal> duh
01:51:24 <ais523> canadian cross requires three systems
01:51:25 <olsner> BUILD is where you build it, HOST is where you run it, TARGET is what it builds when run
01:51:28 <Vorpal> it is just cross compiling a native compiler
01:51:30 <elliott> Vorpal: I have a 64-bit system, and want a 64-bit compiler; I just happen to have a 32-bit compiler to build it with
01:51:36 <elliott> ais523 is right I think
01:51:43 <cheater99> ais523: but the memory doesn't need to be bounded. when you're executing and run out of memory, freeze the turing machine just before the allocation fails, and transplant it onto a bigger host.
01:51:58 <ais523> cheater99: then doing that would be part of the impl itself
01:51:59 <Vorpal> ais523, well, no. 2 does it. on X build a compiler that will run on Y and will target X
01:52:06 <Vorpal> ais523, as far as I know that is a canadian cross too
01:52:12 <cheater99> ais523: you can certainly implement that in verilog.
01:52:14 <ais523> and I don't think you can have a /concrete/ impl that does that
01:52:17 <ais523> Vorpal: that's a crossback
01:52:22 <Vorpal> ais523, oh okay
01:52:46 <olsner> Vorpal: I think canadian cross is only when you build a cross-compiler using a cross-compiler, in this case he's just cross-compiling a normal compiler
01:53:00 <ais523> indeed
01:53:05 <ais523> "cross-compiling a compiler" is the best description
01:53:11 <ais523> it's more or less the same as cross-compiling anything else
01:53:40 <elliott> btw, canadian cross has the worst etymology ever
01:53:43 <elliott> discovered by cpressey
01:53:46 <ais523> I've done the YXX combination with C-INTERCAL before, in order to test it (where Y = x86-32, X = ARM, as I happened to have an x86 to ARM crosscompiler handy)
01:53:49 <elliott> basically
01:53:51 <ais523> elliott: it's a reference to the canadian political system
01:53:55 <elliott> at the time, canada had three main political parties
01:53:55 <ais523> according to the gcc manual
01:53:57 <elliott> and also
01:54:01 <elliott> there are three architectures involved
01:54:05 <elliott> I mean ... that is so stupid
01:54:22 <Vorpal> ais523, I thought it was a reference to the red cross?
01:54:23 <elliott> why not call it a ménage à compiler?
01:54:25 <elliott> that makes about as much sense
01:54:27 <ais523> elliott: to me it fits in the "this is vaguely similar, let's call one after the other" strategy
01:54:27 <elliott> Vorpal: ...
01:54:35 <ais523> s/strategy/category/
01:55:05 <Vorpal> red cross would work. You need band aid after doing a canadian cross
01:55:06 <elliott> ais523: Ménage à compiler!
01:55:10 <cheater99> ais523: have you read "cryptonomicon"?
01:55:12 <olsner> shouldn't that be compiler à trois? or was it flipped intentionally?
01:55:22 <cheater99> ais523: it's a book that features a fictional version of alan turing.
01:55:29 <elliott> olsner: it's the Bad Etymology game
01:55:33 <elliott> of course it shouldn't make more sense
01:55:39 <elliott> ais523: Have you read "SICP"?
01:55:46 <ais523> elliott: I haven't
01:55:46 <elliott> ais523: It's a book that features a real version of Sussman.
01:55:51 <ais523> I've never come across a copy, and it would take a while
01:55:53 <elliott> *The Sussman.
01:56:13 <olsner> "The Sussman"?
01:56:47 <elliott> olsner: Yes.
01:57:03 <elliott> olsner: Technically it should be [b]The Sussman[/b] but IRC doesn't support the requisite International Standard for BBCode.
01:57:08 * oerjan wonders if anyone has ever tried to name their child "The"
01:58:20 <elliott> GO GO GHC BUIL
01:58:20 <elliott> D
01:58:22 <elliott> I HAVE AN SSD
01:58:24 <elliott> THUSLY YOU GO FAST
01:58:26 <olsner> elliott: but what's The Sussman?
01:58:28 <elliott> WOOOOOOOOO ROCKET POWER
01:58:40 <Vorpal> elliott, did you use -pipe, to save on the SSD?
01:58:44 <Vorpal> elliott, (for gcc that is)
01:58:49 <elliott> olsner: The Sussman is the man otherwise known as ``Gerald Jay Sussman''.
01:59:01 <elliott> Vorpal: No. It'll only compile the runtime system with gcc anyway, the rest is all GHC.
01:59:07 <elliott> Vorpal: Besides, SSDs are smart.
01:59:08 <ais523> elliott: why use BBcode when you can do this?
01:59:16 <elliott> ais523: +c, silly
01:59:17 <olsner> elliott: oh, I see what you mean
01:59:24 <zzo38> YOu can use CTRL+B for emphasis in IRC, some clients will accept it, some won't because it is not part of the main RFC for IRC.
01:59:25 <ais523> elliott: I thought that didn't block bolding
01:59:27 <ais523> just colors
01:59:29 <elliott> ais523: It blocks everything.
01:59:33 <ais523> ah
01:59:40 <Vorpal> zzo38, this channel will filter it
01:59:44 <ais523> I know my client blocks colors, but not bolding
01:59:47 <elliott> Which is probably for the best; when I'm on Jabber I abuse italics to ridiculous extent.
01:59:49 <zzo38> Then use CTRL+A
02:00:01 <ais523> elliott: I've been told off for using /slash italics/ excessively
02:00:01 <olsner> but he's not actually *in* the book, is he? as far as I understand he just (co-)wrote it?
02:00:02 <elliott> Woo, the fan realised I was using the computational power of my CPU and has decided to start going.
02:00:08 <zzo38> Or any other control character which is not blockde.
02:00:09 <ais523> in all sorts of contexts, not just Usenet
02:00:12 <elliott> olsner: His beautiful voice comes through in the text!
02:00:12 <Sgeo> test
02:00:24 <ais523> elliott: you aren't on the toshiba satellite any more, are you?
02:00:24 <elliott> olsner: Look, I had to fit the snowclone, shut up and let me quote /prog/ memes until the last river runs dry.
02:00:31 <olsner> elliott: that's funny, when I read it, it comes out in my voice
02:00:32 <oerjan> zzo38: ctrl-A is reserved for CTCP commands
02:00:38 <elliott> ais523: No, I left it behind two days ago.
02:00:42 <ais523> the fan runs continuously on Windows 7, but on Ubuntu it only seems to run when I'm watching a lot of video
02:00:46 <ais523> hmm, what are you on now?
02:00:50 -!- Sgeo has quit (Read error: Connection reset by peer).
02:00:57 <zzo38> oerjan: Use another control character then.
02:01:06 <elliott> ais523: Ensnared in the terrifying jaws of proprietary lockdown and loss of freedom ... but it's less than an inch thick!
02:01:11 <zzo38> Use ANSI escapes I don't know if any IRC client accepts it though
02:01:22 -!- Sgeo has joined.
02:01:25 <ais523> an inch isn't really a very good comparison
02:01:27 <elliott> "VROOM I AM A JET PLANE," says the little fan. "VROOOOOM!"
02:01:30 <Sgeo> Well, that was dumb
02:01:33 <ais523> I think even the Satellite is less than an inch thick
02:01:37 <elliott> ais523: it isn't
02:01:45 <ais523> inches are massive
02:01:47 <elliott> ais523: it also has ugly feet :)
02:02:00 <elliott> ais523: OK, reword: It literally couldn't fit a bigger port than USB.
02:02:05 <ais523> that's better
02:02:09 <elliott> ais523: The USB port only has the slightest border on the top and bottom.
02:02:10 <ais523> macbook air?
02:02:16 <elliott> ais523: MAYE
02:02:17 <elliott> *MAYBE
02:02:17 -!- fxkr has quit (Read error: Operation timed out).
02:02:24 -!- fxkr has joined.
02:02:25 <ais523> I can't think of much else that fits both statements you've given
02:02:28 <elliott> In my defence, they updated it recently and the specs are now ... well, respectable.
02:02:42 <olsner> elliott: 13" or 11"?
02:02:43 <ais523> and I have no idea how good or otherwise it
02:02:45 <ais523> *is
02:02:49 <elliott> (Recent Core 2 Duo, 4 gigs of RAM, 1440x900 resolution, a whole *two* USB ports, and a 256 gig SSD.)
02:02:52 <elliott> olsner: 13".
02:03:05 <elliott> I wish the fan ran less, but otherwise it's really nice.
02:03:12 <zzo38> Does this work?
02:03:15 <ais523> *s/\*/s\/$\/$'\//
02:03:15 <elliott> It seems to like heating up whenever you actually /do/ anything.
02:03:24 <ais523> zzo38: I just see literal characters around the "this"
02:03:27 <Vorpal> zzo38, "<zzo38> Does [0010]this[0010] work?
02:03:29 <Vorpal> is what I see
02:03:30 <ais523> that look like solid triangles pointing left
02:03:45 <ais523> hmm, 0010 = 16 = control-P
02:03:50 <olsner> oh, 1440*900? that's an improvement
02:03:52 <zzo38> ais523: Not to the right?
02:03:56 <elliott> olsner: yes, it's really nice actually
02:03:57 <ais523> nope, to the left
02:04:01 <elliott> olsner: the Toshiba has 1366x768
02:04:11 <ais523> so it's not that much larger a res
02:04:13 <zzo38> Well, does this do anything?
02:04:13 <elliott> I thought the ppi might be a bit high on this considering the proliferation of bitmaps, but it's actually just fine.
02:04:21 <ais523> zzo38: that gives me triangles pointing right
02:04:22 <elliott> ais523: No, but it's definitely a marked improvement.
02:04:28 <ais523> that would make sense
02:04:41 <olsner> the macbook pros are only 1280x800 in 13"
02:04:41 <ais523> hmm, I grew up on 640x480
02:04:51 <elliott> olsner: heh
02:05:01 <elliott> olsner: well this thing could stand up to a 13" macbook pro
02:05:02 <Vorpal> <zzo38> Well, does this do anything? <-- same as before but 0011 now
02:05:07 <elliott> oh, I forgot to mention it has the same GPU
02:05:13 <elliott> which is /really/ nice, for integrated graphics
02:05:16 <elliott> ais523: I had an idea for an #esoteric collaborative language project, FWIW (there is, in fact, logic behind telling _you_ this in particular).
02:05:25 <Vorpal> elliott, so intel graphics?
02:05:28 <Vorpal> (if integrated)
02:05:28 <elliott> Vorpal: No. Nvidia.
02:05:36 <ais523> zzo38: can you embed a literal NUL in your messages? most clients can't, but I wouldn't be surprised if yours could
02:05:43 <Vorpal> elliott, oh. So integrated nvidia? how strange
02:05:49 <elliott> Vorpal: Um, that's incredibly common.
02:05:52 <elliott> On desktops especially.
02:06:02 <elliott> ais523: Our own Perl 6: basically, second system design taken to perfection. The biggest language we can think of focusing on ridiculous concision and no care at all for ease of implementation or bloat.
02:06:03 <ais523> Vorpal: it seems unlikely that a Mac would use Intel graphics to me, it doesn't really fit their image
02:06:09 <elliott> ais523: The idea is to beat them at their own silly game :-)
02:06:21 <elliott> ais523: Actually they used to.
02:06:25 <elliott> (use Intel graphics)
02:06:26 <ais523> I actually rather like Perl 6
02:06:37 <elliott> ais523: Oh, I do too.
02:06:43 <zzo38> aos523: Let me see if I can embed a null
02:06:44 <elliott> ais523: I just think _we_ could do a much better job of it.
02:06:55 <elliott> compiler/stage2/build/LibFFI_hsc_make.c:1: error: CPU you selected does not support x86-64 instruction set
02:06:56 <elliott> ugh
02:06:58 <ais523> but perl 6 almost isn't vaporware
02:06:59 <zzo38> ais523: What did it display?
02:07:03 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
02:07:13 <ais523> zzo38: <zzo38> aos523: Let me see if I can embed a null
02:07:19 <ais523> is the previous comment by you
02:07:25 <ais523> is that the comment you embedded a nul in?
02:07:35 <zzo38> ais523: I think the server cuts it off.
02:07:40 <ais523> or did you embed it in a different comment, in such a way that it didn't come up at all?
02:07:45 <ais523> server cutting it off wouldn't surprise me
02:07:45 <zzo38> After the null I wrote "there it is"
02:07:52 <ais523> yep, that makes sense
02:08:11 <elliott> ais523: hmm, it occurs to me that it might turn out quite similar to J
02:08:18 <elliott> e.g., Perl 6 has Zop for zip-with-op
02:08:22 <elliott> foo Zop bar
02:08:29 <elliott> so obviously you can have /op for fold-with-op, like J has
02:08:41 <elliott> /op foo;
02:08:42 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:08:42 -!- poiuy_qwert has joined.
02:08:44 <elliott> which generalises to
02:08:47 <elliott> zero /op foo;
02:08:50 <elliott> e.g.
02:08:56 <elliott> 1/+foo;
02:08:57 <elliott> is
02:09:02 <elliott> foo[0] + foo[1] + foo[2] + 1
02:09:06 <elliott> (for 3-length foo)
02:09:27 -!- sebbu has joined.
02:12:45 <cheater99> http://www.reddit.com/r/programming/comments/ety7i/the_one_day_challenge_one_php_file_24_hours_what/
02:13:45 <elliott> see first comment.
02:15:40 <elliott> ais523: unfortunately, it looks like your cross-compilation help won't work
02:15:47 <elliott> ais523: I don't think GHC /can/ cross-compile like that
02:16:20 -!- j-invariant has joined.
02:17:53 <olsner> oh, this is interesting: apparently cretin originally meant "christian" and was used to point out that mentally retarded people were still christian and deserving of dignity
02:18:24 <olsner> (and atheist retards are apparently worthless...)
02:19:18 <elliott> olsner: :D
02:19:19 <oerjan> minuit chrétiens
02:19:36 <ais523> elliott: it takes a huge amount of hackery to get autoconf to do build/host/target correctly
02:19:57 <elliott> ais523: more like, when you have a compiler that depends on itself, all this stuff is complicated to do!
02:20:00 <ais523> C-INTERCAL does it by running autoconf twice recursively
02:20:09 <ais523> and even then, that only does build/host, not build/host/target
02:20:11 <elliott> I /hope/ that it'll manage to do a proper bootstrap here, but I fear that it's going to just do an unregistered build
02:20:21 <olsner> that's a shame, I somehow though half the point of autoconf was to make stuff like that work correctly
02:20:29 <ais523> why are you trying to build for 64-bit using a 32-bit compiler anyway?
02:20:38 <ais523> olsner: you should see gcc's autoconf script
02:20:44 <ais523> it's mostly written by hand, in shellscript rather than m4
02:20:46 <ais523> it's hideous
02:20:52 <elliott> ais523: because the only GHC binaries for 64-bit are two 7.0.1 ones that depend on MacPorts libgmp
02:21:02 <elliott> ais523: and I don't use MacPorts
02:21:05 <zzo38> When I write a program with works without autoconf.
02:21:12 <elliott> ais523: (the support is rather new)
02:21:22 <elliott> ais523: so I'm using the regular 32-bit GHC binary to try and build a 64-bit one
02:21:26 <ais523> ah
02:21:41 <olsner> ais523: I always thought autoconf was what did that :(
02:21:46 <ais523> nope
02:21:54 <ais523> autoconf does many things, but not that
02:22:07 <elliott> ais523: I also like how gcc uses _hand-written Makefiles_.
02:22:19 <ais523> it mostly compensates for nonportabilities with other systems
02:22:20 <elliott> ais523: I don't know if you've ever looked at them, but ... those don't look like the product of hands to me.
02:22:33 <elliott> ais523: have you seen GHC's Evil Mangler?
02:22:33 <ais523> elliott: more fun, gcc has various flags describing the machine
02:22:47 <ais523> some combinations aren't supported by the gcc core, and the fact isn't documented except in comments inside the code
02:23:01 <ais523> these combinations are actually used, and the arches that use them have their own code just override the core for that bit
02:23:04 <elliott> ais523: it's a literate perl script that runs regular expressions over C compiler output to remove the C function prologues and epilogues from the assembly ... for _multiple assemblers_
02:23:04 <ais523> code duplication ftw
02:23:13 <ais523> elliott: haha
02:23:15 <elliott> ais523: yes, literate perl: they wrote their own literate perl processor
02:23:21 <elliott> ais523: it is, quite possibly, the most evil thing ever written
02:23:23 <ais523> and literate perl already exists
02:23:30 <elliott> ais523: you mean POD?
02:23:32 <ais523> yep
02:23:33 <elliott> POD has nothing to do with literate programming.
02:23:36 <elliott> you are very mistaken
02:23:41 <ais523> elliott: it can be abused for that purpose
02:23:45 <elliott> sort of.
02:23:48 <elliott> ais523: in this case they used latex: http://darcs.haskell.org/ghc/driver/mangler/ghc-asm.lprl
02:23:48 <ais523> =begin html
02:23:50 <ais523> =end html
02:23:51 <ais523> =cut
02:23:55 <elliott> ais523: no, that's not what literate programming is at all
02:24:00 <ais523> or whatever other markup system you like
02:24:05 <ais523> elliott: I've seen literate programming
02:24:14 <ais523> to me, it's nothing to do with the syntax, you could just use regular comments
02:24:17 <elliott> ais523: that's just inline documentation
02:24:26 <ais523> it's to do with how you intersperse the comments and code, and what the comments say
02:24:32 <elliott> ais523: no, it's about reordering the program
02:24:37 <ais523> indeed
02:24:42 <elliott> (but more expressive languages alleviate this need by having more expressive procedural abstractions)
02:24:49 <elliott> (still, if you can't name a procedure a sentence, it isn't really the same)
02:24:59 <ais523> you can do that in algol 68!
02:25:06 <ais523> hello world is an entirely legal variable name
02:26:30 <olsner> the evil mangler is quite impressive in a way
02:26:46 <elliott> ugh, i wish people woul stop talking about pair programming
02:27:15 <j-invariant> pair programming LOL
02:27:44 <j-invariant> you couldn't make this stuff up
02:28:53 <olsner> someone should rewrite it in haskell and call it the Holy Mangler
02:29:43 <Vorpal> elliott, how did they port ghc to a new platform in the first place if it can't easily cross compile?
02:29:54 <elliott> Vorpal: unregistered builds
02:29:59 <Vorpal> elliott, meaning?
02:30:27 <elliott> Vorpal: complicated things
02:30:34 <Vorpal> elliott, okay
02:30:37 <Vorpal> elliott, can't you do that then
02:30:41 <zzo38> Literate programming is about making a book!
02:30:41 <elliott> Vorpal: http://hackage.haskell.org/trac/ghc/wiki/Building/Porting
02:30:43 <Vorpal> elliott, or temporarily use macports
02:30:48 <elliott> no, and no.
02:30:56 <elliott> ais523: now you get the zzo38 book-is-program speech
02:32:06 <olsner> Life is about making a book!
02:32:24 <elliott> Book is about making a book!
02:32:41 <olsner> Book [...] a book!
02:33:03 <Vorpal> elliott, what about starting from a 64-bit ghc 6.x?
02:33:07 <Vorpal> elliott, does that work?
02:33:19 <elliott> "I had my own Wikipedia page for over 18 months. I made myself an apple orchard tycoon from the Midwest. Worst that happened was it being tagged for not including enough citations. When I started seeking "real" jobs I got paranoid that employers would see it and know it was me goofing off so I flagged it as a vanity page and got it taken down. I tried deleting it but the WikiBots auto-reverted it. I was very proud of that page. In fac
02:33:19 <elliott> t, I later found a student at a Wisconsin university had used made up information from that article for his Senior Project (a planned bike route through apple country)."
02:33:22 <elliott> Vorpal: there are no such builds
02:33:26 <elliott> OS X 64-bit support is new
02:33:27 <Vorpal> elliott, ah
02:34:02 <elliott> I think I'll just make a 32-bit build and save my sanity.
02:34:14 <olsner> it might be nice if ghc porting wasn't so darned difficult
02:34:36 <elliott> olsner: X depending on X is just a general headache :)
02:34:46 <Vorpal> actually that depends
02:34:47 <elliott> olsner: but it's shiny so we keep doing it regardless of the engineering problems
02:34:49 <olsner> it'd probably help if it could do cross-compiling (of itself) too
02:35:03 <elliott> olsner: yeah #ghc says this build can't possibly work
02:35:06 <elliott> but i'm leaving it going
02:35:07 <elliott> just in case
02:35:14 <Vorpal> elliott, erlang depends on erlang. But since it uses bytecode this is less of an issue
02:35:21 -!- Wamanuz5 has quit (Ping timeout: 260 seconds).
02:35:25 <Vorpal> (still the erlang compiler is written in erlang)
02:35:42 <elliott> I'm surprised how sturdy this laptop is... it feels as solid as a MacBook Pro
02:35:43 <olsner> obviously, elliott knows better than #ghc about building ghc
02:36:02 <Ilari> Vorpal: You know what "lipid hypothesis" is?
02:36:09 <Vorpal> Ilari, never heard of it
02:36:12 <elliott> olsner: no, but I've got FAIIITH OF THE HEAART -- and if the Enterprise theme just started playing in your head, enjoy the pain.
02:36:32 <olsner> fortunately, I don't remember it :D
02:36:32 <j-invariant> oh UGH
02:36:38 <j-invariant> worst theme ever
02:36:38 -!- zzo38 has quit (Remote host closed the connection).
02:36:44 <elliott> j-invariant: absolutely
02:36:51 <olsner> I don't recall the theme as being that bad though
02:36:57 <Vorpal> j-invariant, I love the mirror universe theme from that series thoug
02:37:00 <Vorpal> though*
02:37:02 <elliott> indeed
02:37:05 <elliott> j-invariant: (http://www.youtube.com/watch?v=Dl5zw6fGjdA if you haven't seen it)
02:37:09 <elliott> also with totally different graphics
02:37:10 <Ilari> Vorpal: The (crock) idea that cholesterol causes heart disease.
02:37:15 <olsner> of course, lyrics makes it instantly worse than all other star trek themes
02:37:22 <Vorpal> elliott, same graphics in part near the beginning
02:37:29 <elliott> Vorpal: well. all 3 seconds of it
02:37:33 <Vorpal> elliott, and that is used to rather good effect
02:37:47 <elliott> technically the title goes black even before the ship
02:37:49 <elliott> so it's more like .5s :P
02:37:54 <Vorpal> Ilari, I have no opinion on that.
02:37:56 <elliott> </pedant> ... come to think of it, <pedant>
02:38:09 <Vorpal> Ilari, too much of anything is probably bad anyway so *shurg*
02:38:36 <Vorpal> `addquote <elliott> </pedant> ... come to think of it, <pedant>
02:38:53 <HackEgo> 259) <elliott> </pedant> ... come to think of it, <pedant>
02:39:12 * oerjan notes how that "... come to think of it," is clearly the only thing which _isn't_ pedantic
02:39:25 <Ilari> Glucose and insulin in blood are necressary. But both become substances from hell when in excessive amounts... And those amounts aren't really that high.
02:39:33 <Vorpal> elliott, this is very very strange (from unregistered build instructions): <T>$ cp /bin/pwd utils/ghc-pwd/ghc-pwd
02:39:38 <Vorpal> that MAKES NO SENSE AT ALL
02:39:44 <olsner> pedants don't just "come to think of" things!
02:40:52 <oerjan> THE SENSE NO MAKE ALL THAT
02:41:14 <Vorpal> oerjan, THE PUN MAKE INSTALL
02:41:16 <elliott> i think the little gnome inside my laptop is burning
02:41:24 <olsner> elliott: relistened to the enterprise theme now - it doesn't annoy me
02:41:26 <Vorpal> elliott, check sensors?
02:41:33 <Vorpal> elliott, I remember there being an OS X app for it
02:41:36 <elliott> olsner: I GOT FAIIIIITH!
02:41:43 <elliott> Vorpal: It's fine, it's just warm :P
02:41:48 <elliott> Vorpal: Not quite at birth control level yet.
02:41:58 <Vorpal> elliott, hah
02:43:02 -!- cheater99 has quit (Ping timeout: 240 seconds).
02:43:52 <olsner> elliott: they sing that? I don't hear it when I listen to the song, so bladder all you want about FAIIIIIITH :P
02:44:05 <elliott> olsner: that's the alternate universe one
02:44:06 <elliott> which is not annoying
02:44:08 <elliott> that you presumably clicked
02:44:18 <elliott> olsner: that's the AWESOME one
02:44:20 <olsner> no, I clicked onwards to the original theme
02:44:33 <elliott> olsner: "I GOT FAIIIITH OF THE HEART"
02:44:58 <elliott> olsner: this one yes? http://www.youtube.com/watch?v=ZPn-lTytfGo
02:45:36 <olsner> that one yes
02:45:52 <elliott> olsner: maybe you are deaf :)
02:46:08 <elliott> olsner: to be fair, it may be hatred for EVERY OTHER THING about Enterprise spilling over.
02:46:58 <elliott> Vorpal: ok it's killing my future children now
02:47:04 <elliott> this laptop's silence and coolness does not scale
02:47:26 <Vorpal> elliott, move it to a table...
02:47:30 <Vorpal> elliott, it will cool better then too
02:47:32 <elliott> none nearby
02:47:35 <elliott> also it's actually just cooling my legs
02:47:39 <elliott> erm
02:47:39 <elliott> warming
02:47:43 <elliott> melting more like
02:47:50 <Vorpal> elliott, move to a stable then
02:47:58 <Vorpal> then move notebook on it
02:48:00 <olsner> elliott: well, I generally don't listen to lyrics, so "faith of the heart" would've registered as "faaaay blada baaa" or something like that
02:48:23 <Vorpal> olsner, hm. same for me actually.
02:48:28 <elliott> that's just cuz youre swedenish
02:48:33 <elliott> *your
02:48:41 <olsner> *you're
02:49:33 <elliott> *your
02:50:11 <olsner> well, it's the same for swedish songs :)
02:50:20 <elliott> *its
02:50:25 <oerjan> tro i ditt hjärta
02:50:27 <olsner> german and japanese lyrics work better though
02:50:33 <elliott> make[1]: *** [utils/haddock/dist/build/Paths_haddock.o] Bus error
02:50:36 <elliott> disregard that i suck cocks
02:50:49 <Vorpal> elliott, "buss error" eh. That is quite rare
02:50:55 <elliott> Vorpal: Not on OS X.
02:50:57 <Vorpal> I got it from mcmap the other day
02:50:58 <elliott> It's a segfault.
02:51:06 <Vorpal> elliott, so you never get a segfault on there?
02:51:08 <elliott> They say bus error for whatever reason, perhaps Mach.
02:51:10 <Vorpal> or do you get that too?
02:51:19 <elliott> Vorpal: I think it's mostly bus errors. I think I may have seen a segfault once or twice.
02:51:24 <Vorpal> hm
02:51:32 * elliott builds a 32-bit GHC instead
02:51:36 <Vorpal> elliott, on linux you see bus error once or twice instead
02:51:43 <elliott> stow is actually quite nice i wonder what pikhq dislikes about it
02:51:48 <Vorpal> elliott, why do you hate macports?
02:52:00 <olsner> I've never seen a bus error on linux, only on solaris and mac
02:52:17 <elliott> Vorpal: (1) they like to duplicate a lot of software Apple includes, which tends to be irritating ... except that they don't duplicate all of it, e.g. gcc (even though they have a gcc package), so managing everything can be a real pain
02:52:21 <elliott> Vorpal: it's pretty darn slow
02:52:22 <Vorpal> olsner, happens like... 2-3 times / year on linux for me
02:52:25 <elliott> Vorpal: it's really complex
02:52:33 <elliott> Vorpal: it's often out of date, sometimes significantly
02:52:38 <Vorpal> segfault : 5 / week ?
02:52:39 <elliott> Vorpal: and it just generally isn't pleasant to use.
02:52:49 <Vorpal> elliott, hm
02:52:53 <elliott> Vorpal: it's very easy to screw things up when using macports.
02:53:00 <elliott> because you have to keep track of what youre using the apple version of vs macports
02:53:02 <elliott> *you're
02:53:03 <Vorpal> elliott, but would using it for bootstrapping ghc hurt?
02:53:11 <elliott> Vorpal: I just downloaded the GHC installer for that.
02:53:16 <elliott> MacPorts wouldn't make that any simpler.
02:53:22 <Vorpal> elliott, oh but for 64-bit I meant
02:53:25 <elliott> I think MacPorts has a 64-bit GHC, but really, 32-bit works better for now.
02:53:31 <elliott> Vorpal: well that'd be silly
02:53:35 <Vorpal> elliott, oh?
02:53:37 <elliott> Vorpal: because macports already does download binary -> build from source
02:53:44 <elliott> so i'd have to build ghc from source TWCIE
02:53:45 <elliott> *TWICE
02:53:51 <elliott> and that is the point where i commit suicide
02:53:59 <Vorpal> elliott, well but why not download the binary only
02:54:03 <Vorpal> elliott, and use that bit
02:54:28 <elliott> Vorpal: Because binaries suxxx0r0r0r. :p (Because I want it in my /opt stow-based system, and GHC isn't relocatable.)
02:54:57 <Vorpal> elliott, so get 64-bit binary version. Use that to build your own 64-bit one from source
02:55:11 <elliott> Vorpal: 64-bit binary requires macports libs.
02:55:12 <Vorpal> elliott, you can remove the non-/opt one once you built your new one
02:55:20 <elliott> Vorpal: OR HOW ABOUT THIS JUST USE THE 32-BIT ONE
02:55:22 <Vorpal> elliott, so get that single macports lib
02:55:27 <Vorpal> elliott, THAT IS GIVING IN!
02:55:28 <elliott> more than single. much more
02:55:30 <elliott> would also involve macports perl
02:55:39 <Vorpal> elliott, chroot for it?
02:55:43 <elliott> if I wanted to do it 64-bit, I'd LOOK AT THE MACPORTS BUILD SCRIPT to figure out how it does it
02:55:54 <elliott> Vorpal: macports already does everything in /opt/local so that would be pointless.
02:55:54 <Vorpal> elliott, ah
02:55:57 -!- cheater99 has joined.
02:55:59 <elliott> also making an OS X chroot sounds "fun"
02:56:07 <Vorpal> elliott, well then easy to clean up after!
02:56:21 <elliott> rm -rf /opt/local
02:56:40 <Vorpal> elliott, quite
02:56:43 <elliott> haha, there is Gentoo/Interix
02:56:49 <Vorpal> elliott, what...
02:56:50 <Vorpal> wow
02:56:54 <elliott> based on gentoo prefix
02:57:02 <elliott> Interix
02:57:02 <elliott> Gentoo/Interix (eprefix) is a port of Gentoo that runs atop the Interix Subsystem for Windows which is also known as Microsoft Windows Services for UNIX (SFU) or Subsystem for Unix-based Applications (SUA).
02:57:02 <elliott> A result of the Gentoo/Interix project is the ability to install and use the Portage system to emerge native Windows applications (requires Visual Studio, 2008 Express Edition will do too). However, this feature does not support the wide variety of packages supported by other platforms (including Interix).
02:57:11 <Vorpal> elliott, I bet there is like one guy using it. The maintainer
02:57:22 <elliott> Vorpal: I'd write something like that without any intention of using it just for the lulz :)
02:57:33 <Vorpal> elliott, maybe
02:57:46 <Vorpal> elliott, I'd doubt you would touch gentoo though
02:57:58 <elliott> well, no.
02:58:04 <Vorpal> elliott, otherwise I charge you to do Gentoo/Hurd (unless this is done?)
02:58:15 <elliott> Vorpal: apparently the port to gnu hurd was abandoned (for gentoo/alt)
02:58:20 <Vorpal> elliott, XD
02:58:27 <elliott> interix support but no HURD
02:58:34 <elliott> then again hurd guys are basically in bed with debian so i'm not surprised
02:58:44 <elliott> although arch/hurd exists now, thanks to arch people being idiots with nothing better to do
02:59:04 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
02:59:13 <elliott> Vorpal: re - segfaults
02:59:17 <Vorpal> elliott, yes?
03:00:00 <Vorpal> elliott, yes?
03:00:02 <elliott> Vorpal: here in OS X land we live in a land of perfect solutions. that is why we use a modified 4.3BSD kernel running on top of Mach, with a FreeBSD userland, running a windowing system which renders using PDFs.
03:00:09 <elliott> it Just Makes Sense!
03:00:23 <Vorpal> elliott, wait, doesn't quartz use opengl?
03:00:24 <elliott> (yes, Quartz is Display PostScript: The PDF Version)
03:00:31 <Vorpal> err
03:00:34 <elliott> Vorpal: yes
03:00:36 <Vorpal> elliott, !!!!!!!!!!!!!!!!!!!!!!!!!
03:00:38 -!- poiuy_qwert has joined.
03:00:43 <olsner> Vorpal: ... to render the PDF:s :P
03:00:49 <elliott> well
03:00:50 <elliott> [[It is widely stated that Quartz "uses PDF" internally, often by people making comparisons with the Display PostScript technology used in NeXTSTEP (of which Mac OS X is a descendant) and OPENSTEP. Quartz's internal imaging model correlates well with the PDF object graph, making it easy to output PDF to multiple devices.[6]]]
03:00:54 <Vorpal> elliott, doesn't the pdf stuff slow down a LOT
03:00:58 <elliott> Vorpal: see above
03:01:01 <elliott> it's not _actually_ PDFs
03:01:08 <Vorpal> phew
03:01:11 <elliott> Vorpal: fun fact, before OS X 10.4 or so, the default OS X screenshot format was .pdf
03:01:23 <elliott> actual, scalable PDF ... apart from all the bitmaps used in the UI that made it utterly pointless
03:01:30 <elliott> but yes, you actually got screenshots ending in .pdf.
03:01:48 <Vorpal> elliott, :D
03:02:01 <elliott> Vorpal: despite all of this insanity, it's better than X11 :)
03:02:02 <olsner> if it was used to make actually scalable UI:s, it'd be pretty awesome
03:02:08 <Vorpal> elliott, doesn't OS X use scalable icons and so on?
03:02:11 <elliott> Vorpal: no
03:02:12 <Vorpal> so where are the bitmaps?
03:02:26 <Vorpal> elliott, but look in finder on program icons. They are scalable
03:02:27 <elliott> Vorpal: UI elements are bitmaps, icons are (512px or something) bitmaps
03:02:30 <Vorpal> ah
03:02:32 <elliott> Vorpal: no, they're just really huge bitmaps
03:02:36 <Vorpal> elliott, I see
03:02:36 <elliott> rendered in multiple sizes
03:02:40 <elliott> erm
03:02:40 <elliott> no
03:02:43 <elliott> not rendered in multiple sizes
03:02:44 <Vorpal> elliott, even linux uses svg nowdays
03:02:46 <elliott> dunno why i said that
03:02:48 <elliott> Vorpal: not really
03:02:53 <Vorpal> elliott, it can
03:02:55 <elliott> Vorpal: yes, but it doesn't
03:03:02 <elliott> a regular default-gnome or tango setup won't use svg
03:03:07 <elliott> even though the option is available
03:03:10 <elliott> since there's faster rendered bitmaps
03:03:38 <Vorpal> elliott, actually, I looked at readahead files from ubuntu. It does load a handful of *.svg
03:03:44 <Vorpal> elliott, more *.png though
03:03:59 <Vorpal> elliott, I think computer.svg got loaded by gdm for example
03:04:41 <elliott> VROOOM IM A JET ENGINE VROOOOM VROOOM COMPILING VROOOOM
03:04:49 <Vorpal> elliott, TABLE!
03:04:55 <elliott> VROOOOOOOOOOM
03:05:02 <elliott> Vorpal: it makes a noise even when i hold it up :P
03:05:16 <Vorpal> elliott, well duh. But future kids
03:05:20 <Vorpal> wait
03:05:22 <elliott> also little molecules of dirt are sweating off my palms onto the aluminium ... lovely. guess that's why they use plastic
03:05:26 <Vorpal> KEEP IT IN YOUR LAP!
03:05:39 <elliott> Vorpal: I don't think me reproducing would give very good prospects as to the estimated further lifespan of the universe
03:05:47 <elliott> I got lucky, I'm not *100%* evil.
03:05:56 <Vorpal> elliott, only 95% yes
03:06:14 <elliott> Also they'd be little versions of me, and god knows I irritate myself enough already.
03:06:22 <quintopia> pfft. he's a comparative teddy bear to 100% evil
03:06:39 <elliott> quintopia: you don't understand how *nice* 100% evil can be
03:07:26 <Vorpal> elliott, why is the ghc evil mangler written in perl
03:07:36 <quintopia> elliott: oh maybe i do and realize that your occasional dickwaddery moves you closer to averagely evil
03:07:39 <elliott> Vorpal: because FUCK YEAH LITERATE PERL FILE RUNNING REGEXPS ON C COMPILER OUTPUT
03:07:51 <elliott> quintopia: hmm darn
03:07:52 <Vorpal> elliott, why not write it in haskell
03:08:00 <elliott> i'm going to be really nice from now on and then slit everyone's throat
03:08:08 <Vorpal> elliott, also, literate perl!? that's even more wtf
03:08:12 <quintopia> good new year's resolution
03:08:20 <elliott> Vorpal: because that'd make porting even more of a pain. also, because haskell probably didn't have too good regexp support at the time :P
03:08:25 <elliott> Vorpal: yeah, they wrote their own literate perl processor
03:08:31 <elliott> Vorpal: note: it is only used when compiling via C.
03:08:36 <elliott> which is not the recommended way to do things usually
03:08:51 <Vorpal> elliott, well once it was the only way?
03:08:55 <elliott> -fvia-C really means "use the C compiler as a code generator, and then strip out all the C function bits from it"
03:08:57 <Sgeo> If we're on the subject of painful theme songs..
03:09:01 <elliott> Sgeo: no.
03:09:09 <Sgeo> >:D
03:09:20 <Vorpal> Sgeo, that was ages ago. topic closed.
03:09:37 <olsner> the evil mangler was also ages ago
03:09:45 <elliott> olsner: but that doesn't involve Sgeo singing
03:09:46 <olsner> more ages than bad themes
03:09:47 <elliott> "singing"
03:09:51 <elliott> olsner: so SHUT UP
03:09:56 <elliott> stop being That Guy!
03:10:05 <Sgeo> Which is worse, the SGI theme or my singing?
03:10:10 <elliott> Sgeo: YOU
03:10:24 <olsner> what's SGI?
03:10:43 <Sgeo> http://www.youtube.com/watch?v=67E-_SQLVRo
03:10:53 <elliott> olsner: DO NOT CLICK
03:10:59 <elliott> worst music ever
03:11:01 <elliott> to worst series ever
03:11:27 <olsner> haha
03:11:29 <Vorpal> <elliott> stop being That Guy! <-- ??
03:11:48 <elliott> Vorpal: That Guy.
03:12:01 <Vorpal> elliott, a reference I do not get.
03:12:10 <Vorpal> elliott, though it does sound familiar
03:12:10 <elliott> Not even really a reference :P
03:12:11 <olsner> stargate infiiiinity-ity-ity-ity-ity
03:12:20 <elliott> stargate infinititty lol
03:12:22 <elliott> ^ humor
03:12:32 <quintopia> oh thanks for labelling it
03:12:42 <Vorpal> elliott, speaking of music that is actually good though it really feels like it shouldn't be: http://www.youtube.com/watch?v=zSgiXGELjbc
03:12:49 <olsner> infinititty? that sounds like something worth watching
03:12:51 <elliott> quintopia: its so u recognise
03:12:51 <quintopia> it made it funny hahaha yes it did
03:12:51 <Vorpal> (note: that was the first line speaking of it)
03:12:58 <elliott> Vorpal: dude /I/ linked you to that
03:13:04 <Vorpal> elliott, yes, but not recently
03:13:11 <Vorpal> elliott, and it is widely spread really
03:13:12 <elliott> quintopia: yes it was a funny humorus
03:13:43 <quintopia> breaking humeri is funny too
03:13:57 <olsner> Vorpal: yuck, there's autotune in it
03:14:11 <Vorpal> olsner, true. He /spoke/ that.
03:14:16 <elliott> olsner: you expect Carl Sagan to sing properly in a TV series? :D
03:14:17 <elliott> omg
03:14:20 <elliott> that would have been so much better
03:14:23 <elliott> if he just sang all the time for no reason
03:14:36 <olsner> The Universe: The Musical
03:14:42 <Vorpal> elliott, what is the first bit from "I'm not great good at singing but here is a try"
03:14:49 <Vorpal> elliott, is it from that series or?
03:14:51 <elliott> "RIP Carl. Fuck off to all those low-life career theoretical physicists."
03:14:53 <quintopia> a glorious dawn is actually still my favorite melodysheep track
03:14:54 <elliott> Vorpal: All of it is :P
03:14:55 <elliott> --YouTube
03:14:56 <elliott> i
03:15:01 <elliott> low-life career theoretical physicists
03:15:03 <quintopia> even despite the hundreds of others now
03:15:05 <elliott> a phrase i never ever expected to read
03:15:05 <Vorpal> elliott, so he /did/ sing in it?
03:15:09 <elliott> Vorpal: no.
03:15:11 <elliott> its the whalesong
03:15:12 <elliott> *it's
03:15:20 <elliott> or whatever it is
03:15:28 <Vorpal> elliott, err, I haven't watched the series (it is on my todo list)
03:15:31 <Vorpal> elliott, so what whalesong?
03:15:35 <elliott> Vorpal: the Whoop-booo he does at the start
03:15:41 <quintopia> Vorpal: "I'm not very good at singing whale songs, but I'll give it a dtry."
03:15:44 <elliott> right.
03:15:51 <Vorpal> ah
03:15:51 <elliott> Stephen Hawking should do a rap album after that bridge in A Glorious Dawn
03:15:55 <elliott> I would buy it
03:16:05 <elliott> Might have to hack up his software a bit though :-P
03:16:06 <quintopia> elliott: MC Hawking. it's hilarious.
03:16:10 <elliott> quintopia: I know
03:16:15 <elliott> but it'd be better if he actually did it
03:16:23 <quintopia> yes but he wouldn't
03:16:27 <quintopia> :(
03:16:40 <elliott> quintopia: how do you know
03:16:43 <elliott> stephen hawking is BADASS
03:16:52 <olsner> yeah, why not? seems like a fun thing to do
03:17:00 <elliott> dammit GHC compile faster, I need to go to the toilet
03:17:14 <Sgeo> elliott, you can't leave it unattended?
03:17:15 <quintopia> because he's not studying it? he's thinking about math n shit?
03:17:17 <Vorpal> elliott, PUT IT ON THE FLOOR?
03:17:25 <Vorpal> oops, shift stuck
03:17:29 <olsner> especially for someone who can't really talk, and can barely do it through text-to-speech, rapping would be pretty awesome
03:17:35 <elliott> Vorpal: no i'm just scared to leave it alone in case it becomes sentient
03:17:35 <Vorpal> I think I need to clean keyboard
03:17:38 <quintopia> get off your ath and do some math. math, math, math, math, math
03:17:46 <Vorpal> elliott, hit ctrl-z to pause it?
03:17:46 <elliott> olsner: only valid if he does it in real time though
03:17:49 <elliott> work that throat yo
03:17:52 <Vorpal> elliott, will ALSO cool down the thing
03:17:54 <elliott> Vorpal: i don't trust that to work reliably :)
03:17:58 <Vorpal> elliott, ... what?
03:18:03 <Vorpal> elliott, when has that ever broken?
03:18:03 <elliott> Vorpal: I'M SCARED OF GHC
03:18:25 <Vorpal> elliott, dude, a program can't trap the relevant signal, unless it is pid 1
03:18:29 <elliott> SCARED
03:18:46 <olsner> you need to spend time with your new build so it doesn't end up a misanthropist
03:18:53 <elliott> olsner: he wouldn't have any trouble actually rapping though
03:18:58 <elliott> just add some sleep()s into his software to wait for a beat
03:19:05 <elliott> in fact
03:19:08 <elliott> he should just never turn it off
03:19:10 <elliott> and rap all of his interviews
03:19:41 <quintopia> including end rhyme, mid rhyme, and ghetto slang
03:23:39 <Vorpal> quintopia, no need for the latter. Just do it as nerdcore
03:24:14 <quintopia> nerdcore can still get crunk up in the hizzouse
03:24:27 <Vorpal> quintopia, if you haven't seen it already: http://www.youtube.com/watch?v=4nigRT2KmCE (I don't like rap in general, but this is an exception)
03:24:39 <elliott> I'm pretty sure *everyone* knows who MC Frontalot is :P
03:24:46 <Vorpal> elliott, sure, but that song?
03:24:52 <elliott> Gangster christian nerdcore I would go for
03:24:57 <j-invariant> I like LOL money
03:24:58 <Vorpal> elliott, hah
03:25:06 <elliott> (christian gangster rap was one of the nullsoft genres)
03:25:27 <j-invariant> never heard of frontalot before
03:26:01 * oerjan is with j-invariant
03:26:35 <elliott> oerjan: comfortable rock is it?
03:26:37 <elliott> the one you live under
03:26:43 <oerjan> not really.
03:27:14 <elliott> oerjan: want a cushion?
03:28:39 -!- oerjan has quit (Quit: Already got one).
03:29:38 <Vorpal> elliott, oh no. You made him go to sleep. Now I have to provide the puns.
03:29:44 <elliott> oh god
03:29:53 <j-invariant> nice track
03:30:04 <j-invariant> Vorpal:
03:30:13 <Vorpal> j-invariant, mmm
03:31:48 <elliott> latest xkcd 's title text is FRCTACUTALLY INATTCCURATE!!!!!1
03:31:54 <elliott> putty is not just for windows
03:32:19 <j-invariant> the best kind of inaccurate?
03:32:52 <elliott> yes
03:33:01 <elliott> "/Users/ehird/Downloads/ghc-7.0.1/inplace/bin/haddock" --odir="compiler/stage2/doc/html/ghc" --no-tmp-comp-dir --dump-interface=compiler/stage2/doc/html/ghc/ghc.haddock --html --title="ghc-7.0.1: The GHC API" --prologue="compiler/stage2/haddock-prologue.txt" --read-interface=../Cabal-1.10.0.0,../Cabal-1.10.0.0/src/%{MODULE/./-}.html\#%{NAME},libraries/Cabal/dist-install/doc/html/Cabal/Cabal.haddock --read-interface=../array-0.3.0.2,.
03:33:01 <elliott> ./array-0.3.0.2/src/%{MODULE/./-}.html\#%{NAME},libraries/array/dist-install/doc/html/array/array.haddock --read-interface=../base-4.3.0.0,../base-4.3.0.0/src/%{MODULE/./-}.html\#%{NAME},libraries/base/dist-install/doc/html/base/base.haddock --read-interface=../bin-package-db-0.0.0.0,../bin-package-db-0.0.0.0/src/%{MODULE/./-}.html\#%{NAME},libraries/bin-package-db/dist-install/doc/html/bin-package-db/bin-package-db.haddock --read-int
03:33:01 <elliott> erface=../bytestring-0.9.1.8,../bytestring-0.9.1.8/src/%{MODULE/./-}.html\#%{NAME},libraries/bytestring/dist-install/doc/html/bytestring/bytestring.haddock --read-interface=../containers-0.4.0.0,../containers-0.4.0.0/src/%{MODULE/./-}.html\#%{NAME},libraries/containers/dist-install/doc/html/containers/containers.haddock --read-interface=../directory-1.1.0.0,../directory-1.1.0.0/src/%{MODULE/./-}.html\#%{NAME},libraries/directory/dist-
03:33:03 <elliott> install/doc/html/directory/directory.haddock --read-interface=../filepath-1.2.0.0,../filepath-1.2.0.0/src/%{MODULE/./-}.html\#%{NAME},libraries/filepath/dist-install/doc/html/filepath/filepath.haddock --read-interface=../hpc-0.5.0.6,../hpc-0.5.0.6/src/%{MODULE/./-}.html\#%{NAME},libraries/hpc/dist-install/doc/html/hpc/hpc.haddock --read-interface=../old-time-1.0.0.6,../old-time-1.0.0.6/src/%{MODULE/./-}.html\#%{NAME},libraries/old-tim
03:33:05 <elliott> e/dist-install/doc/html/old-time/old-time.haddock --read-interface=../process-1.0.1.4,../process-1.0.1.4/src/%{MODULE/./-}.html\#%{NAME},libraries/process/dist-install/doc/html/process/process.haddock --read-interface=../template-haskell-2.5.0.0,../template-haskell-2.5.0.0/src/%{MODULE/./-}.html\#%{NAME},libraries/template-haskell/dist-install/doc/html/template-haskell/template-haskell.haddock --read-interface=../unix-2.4.1.0,../unix-
03:33:07 <elliott> 2.4.1.0/src/%{MODULE/./-}.html\#%{NAME},libraries/unix/dist-install/doc/html/unix/unix.haddock --optghc=-H32m --optghc=-O --optghc=-package-name --optghc=ghc-7.0.1 --optghc=-hide-all-packages --optghc=-i --optghc=-icompiler/basicTypes --optghc=-icompiler/cmm --optghc=-icompiler/codeGen --optghc=-icompiler/coreSyn --optghc=-icompiler/deSugar --optghc=-icompiler/ghci --optghc=-icompiler/hsSyn --optghc=-icompiler/iface --optghc=-icompile
03:33:09 <quintopia> i can't decide if the title text or the comic itself is stupider. but i know i don't care to look at again to try to decide
03:33:09 <elliott> r/llvmGen --optghc=-icompiler/main --optghc=-icompiler/nativeGen --optghc=-icompiler/parser --optghc=-icompiler/prelude --optghc=-icompiler/profiling --optghc=-icompiler/rename --optghc=-icompiler/simplCore --optghc=-icompiler/simplStg --optghc=-icompiler/specialise --optghc=-icompiler/stgSyn --optghc=-icompiler/stranal --optghc=-icompiler/typecheck --optghc=-icompiler/types --optghc=-icompiler/utils --optghc=-icompiler/vectorise --op
03:33:11 <elliott> tghc=-icompiler/stage2/build --optghc=-icompiler/stage2/build/autogen --optghc=-Icompiler/stage2/build --optghc=-Icompiler/stage2/build/autogen --optghc=-Icompiler/../libffi/build/include --optghc=-Icompiler/stage2 --optghc=-Icompiler/../libraries/base/cbits --optghc=-Icompiler/../libraries/base/include --optghc=-Icompiler/. --optghc=-Icompiler/parser --optghc=-Icompiler/utils --optghc=-optP-DGHCI --optghc=-optP-include --optghc=-optP
03:33:13 <elliott> compiler/stage2/build/autogen/cabal_macros.h --optghc=-package --optghc=Cabal-1.10.0.0 --optghc=-package --optghc=array-0.3.0.2 --optghc=-package --optghc=base-4.3.0.0 --optghc=-package --optghc=bin-package-db-0.0.0.0 --optghc=-package --optghc=bytestring-0.9.1.8 --optghc=-package --optghc=containers-0.4.0.0 --optghc=-package --optghc=directory-1.1.0.0 --optghc=-package --optghc=filepath-1.2.0.0 --optghc=-package --optghc=hpc-0.5.0.6
03:33:15 <elliott> --optghc=-package --optghc=old-time-1.0.0.6 --optghc=-package --optghc=process-1.0.1.4 --optghc=-package --optghc=template-haskell-2.5.0.0 --optghc=-package --optghc=unix-2.4.1.0 --optghc=-Wall --optghc=-fno-warn-name-shadowing --optghc=-fno-warn-orphans --optghc=-XCPP --optghc=-XMagicHash --optghc=-XUnboxedTuples --optghc=-XPatternGuards --optghc=-XForeignFunctionInterface --optghc=-XEmptyDataDecls --optghc=-XTypeSynonymInstances --o
03:33:17 <elliott> ptghc=-XMultiParamTypeClasses --optghc=-XFlexibleInstances --optghc=-XRank2Types --optghc=-XScopedTypeVariables --optghc=-XDeriveDataTypeable --optghc=-DGHCI_TABLES_NEXT_TO_CODE --optghc=-DSTAGE=2 --optghc=-no-user-package-conf --optghc=-rtsopts --optghc=-O2 --optghc=-odir --optghc=compiler/stage2/build --optghc=-hidir --optghc=compiler/stage2/build --optghc=-stubdir --optghc=compiler/stage2/build --optghc=-hisuf --optghc=hi --optghc=
03:33:19 <elliott> -osuf --optghc=o --optghc=-hcsuf --optghc=hc --source-module=src/%{MODULE/./-}.html --source-entity=src/%{MODULE/./-}.html#%{NAME} --optghc=-DSTAGE=2 compiler/nativeGen/AsmCodeGen.lhs compiler/nativeGen/TargetReg.hs compiler/nativeGen/NCGMonad.hs compiler/nativeGen/Instruction.hs compiler/nativeGen/Size.hs compiler/nativeGen/Reg.hs compiler/nativeGen/RegClass.hs compiler/nativeGen/PIC.hs compiler/nativeGen/Platform.hs compil
03:33:21 <elliott> er/nativeGen/Alpha/Regs.hs compiler/nativeGen/Alpha/RegInfo.hs compiler/nativeGen/Alpha/Instr.hs compiler/nativeGen/Alpha/CodeGen.hs compiler/nativeGen/X86/Regs.hs compiler/nativeGen/X86/RegInfo.hs compiler/nativeGen/X86/Instr.hs compiler/nativeGen/X86/Cond.hs compiler/nativeGen/X86/Ppr.hs compiler/nativeGen/X86/CodeGen.hs compiler/nativeGen/PPC/Regs.hs compiler/nativeGen/PPC/RegInfo.hs compiler/nativeGen/PPC/Instr.hs com
03:33:23 <elliott> piler/nativeGen/PPC/Cond.hs compiler/nativeGen/PPC/Ppr.hs compiler/nativeGen/PPC/CodeGen.hs compiler/nativeGen/SPARC/Base.hs compiler/nativeGen/SPARC/Regs.hs compiler/nativeGen/SPARC/RegPlate.hs compiler/nativeGen/SPARC/Imm.hs compiler/nativeGen/SPARC/AddrMode.hs compiler/nativeGen/SPARC/Cond.hs compiler/nativeGen/SPARC/Instr.hs compiler/nativeGen/SPARC/Stack.hs compiler/nativeGen/SPARC/ShortcutJump.hs compiler/nativeGen/S
03:33:24 <variable> elliott, xkcd is not always accurate - for example the tic-tac-toe one had errors in the drawings
03:33:25 <elliott> PARC/Ppr.hs compiler/nativeGen/SPARC/CodeGen.hs compiler/nativeGen/SPARC/CodeGen/Amode.hs compiler/nativeGen/SPARC/CodeGen/Base.hs compiler/nativeGen/SPARC/CodeGen/CCall.hs compiler/nativeGen/SPARC/CodeGen/CondCode.hs compiler/nativeGen/SPARC/CodeGen/Gen32.hs compiler/nativeGen/SPARC/CodeGen/Gen64.hs compiler/nativeGen/SPARC/CodeGen/Sanity.hs compiler/nativeGen/SPARC/CodeGen/Expand.hs compiler/nativeGen/RegAlloc/Liveness.hs
03:33:27 <elliott> compiler/nativeGen/RegAlloc/Graph/Main.hs compiler/nativeGen/RegAlloc/Graph/Stats.hs compiler/nativeGen/RegAlloc/Graph/ArchBase.hs compiler/nativeGen/RegAlloc/Graph/ArchX86.hs compiler/nativeGen/RegAlloc/Graph/Coalesce.hs compiler/nativeGen/RegAlloc/Graph/Spill.hs compiler/nativeGen/RegAlloc/Graph/SpillClean.hs compiler/nativeGen/RegAlloc/Graph/SpillCost.hs compiler/nativeGen/RegAlloc/Graph/TrivColorable.hs compiler/nativeGe
03:33:29 <elliott> n/RegAlloc/Linear/Main.hs compiler/nativeGen/RegAlloc/Linear/JoinToTargets.hs compiler/nativeGen/RegAlloc/Linear/State.hs compiler/nativeGen/RegAlloc/Linear/Stats.hs compiler/nativeGen/RegAlloc/Linear/FreeRegs.hs compiler/nativeGen/RegAlloc/Linear/StackMap.hs compiler/nativeGen/RegAlloc/Linear/Base.hs compiler/nativeGen/RegAlloc/Linear/X86/FreeRegs.hs compiler/nativeGen/RegAlloc/Linear/PPC/FreeRegs.hs compiler/nativeGen/RegAl
03:33:30 <quintopia> damn i wish i could kick
03:33:31 <elliott> loc/Linear/SPARC/FreeRegs.hs compiler/deSugar/DsMeta.hs compiler/typecheck/TcSplice.lhs compiler/hsSyn/Convert.lhs compiler/ghci/ByteCodeAsm.lhs compiler/ghci/ByteCodeFFI.lhs compiler/ghci/ByteCodeGen.lhs compiler/ghci/ByteCodeInstr.lhs compiler/ghci/ByteCodeItbls.lhs compiler/ghci/ByteCodeLink.lhs compiler/ghci/Debugger.hs compiler/stage2/build/LibFFI.hs compiler/ghci/Linker.lhs compiler/ghci/ObjLink.lhs compiler/ghci/R
03:33:33 <elliott> tClosureInspect.hs compiler/basicTypes/BasicTypes.lhs compiler/basicTypes/DataCon.lhs compiler/basicTypes/Demand.lhs compiler/utils/Exception.hs compiler/basicTypes/Id.lhs compiler/basicTypes/IdInfo.lhs compiler/basicTypes/Literal.lhs compiler/llvmGen/Llvm.hs compiler/llvmGen/Llvm/AbsSyn.hs compiler/llvmGen/Llvm/PpLlvm.hs compiler/llvmGen/Llvm/Types.hs compiler/llvmGen/LlvmCodeGen.hs compiler/llvmGen/LlvmCodeGen/Base.hs
03:33:35 <elliott> compiler/llvmGen/LlvmCodeGen/CodeGen.hs compiler/llvmGen/LlvmCodeGen/Data.hs compiler/llvmGen/LlvmCodeGen/Ppr.hs compiler/llvmGen/LlvmCodeGen/Regs.hs compiler/llvmGen/LlvmMangler.hs compiler/basicTypes/MkId.lhs compiler/basicTypes/Module.lhs compiler/basicTypes/Name.lhs compiler/basicTypes/NameEnv.lhs compiler/basicTypes/NameSet.lhs compiler/basicTypes/OccName.lhs compiler/basicTypes/RdrName.lhs compiler/basicTypes/SrcLoc.
03:33:37 <elliott> lhs compiler/basicTypes/UniqSupply.lhs compiler/basicTypes/Unique.lhs compiler/basicTypes/Var.lhs compiler/basicTypes/VarEnv.lhs compiler/basicTypes/VarSet.lhs compiler/cmm/BlockId.hs compiler/cmm/CLabel.hs compiler/cmm/Cmm.hs compiler/cmm/CmmBrokenBlock.hs compiler/cmm/CmmBuildInfoTables.hs compiler/cmm/CmmCPS.hs compiler/cmm/CmmCPSGen.hs compiler/cmm/CmmCPSZ.hs compiler/cmm/CmmCallConv.hs compiler/cmm/CmmCommonBlockEl
03:33:39 <elliott> imZ.hs compiler/cmm/CmmContFlowOpt.hs compiler/cmm/CmmCvt.hs compiler/cmm/CmmExpr.hs compiler/cmm/CmmInfo.hs compiler/cmm/CmmLex.hs compiler/cmm/CmmLint.hs compiler/cmm/CmmLive.hs compiler/cmm/CmmLiveZ.hs compiler/cmm/CmmOpt.hs compiler/cmm/CmmParse.hs compiler/cmm/CmmProcPoint.hs compiler/cmm/CmmProcPointZ.hs compiler/cmm/CmmSpillReload.hs compiler/cmm/CmmStackLayout.hs compiler/cmm/CmmTx.hs compiler/cmm/CmmUtils.hs
03:33:41 <elliott> compiler/cmm/CmmZipUtil.hs compiler/cmm/DFMonad.hs compiler/cmm/Dataflow.hs compiler/cmm/MkZipCfg.hs compiler/cmm/MkZipCfgCmm.hs compiler/cmm/OptimizationFuel.hs compiler/nativeGen/PprBase.hs compiler/cmm/PprC.hs compiler/cmm/PprCmm.hs compiler/cmm/PprCmmZ.hs compiler/cmm/StackColor.hs compiler/cmm/StackPlacements.hs compiler/cmm/ZipCfg.hs compiler/cmm/ZipCfgCmmRep.hs compiler/cmm/ZipCfgExtras.hs compiler/cmm/ZipDataflo
03:33:43 <elliott> w.hs compiler/codeGen/Bitmap.hs compiler/codeGen/CgBindery.lhs compiler/codeGen/CgCallConv.hs compiler/codeGen/CgCase.lhs compiler/codeGen/CgClosure.lhs compiler/codeGen/CgCon.lhs compiler/codeGen/CgExpr.lhs compiler/codeGen/CgExtCode.hs compiler/codeGen/CgForeignCall.hs compiler/codeGen/CgHeapery.lhs compiler/codeGen/CgHpc.hs compiler/codeGen/CgInfoTbls.hs compiler/codeGen/CgLetNoEscape.lhs compiler/codeGen/CgMonad.lhs
03:33:45 <elliott> compiler/codeGen/CgParallel.hs compiler/codeGen/CgPrimOp.hs compiler/codeGen/CgProf.hs compiler/codeGen/CgStackery.lhs compiler/codeGen/CgTailCall.lhs compiler/codeGen/CgTicky.hs compiler/codeGen/CgUtils.hs compiler/codeGen/StgCmm.hs compiler/codeGen/StgCmmBind.hs compiler/codeGen/StgCmmClosure.hs compiler/codeGen/StgCmmCon.hs compiler/codeGen/StgCmmEnv.hs compiler/codeGen/StgCmmExpr.hs compiler/codeGen/StgCmmForeign.hs
03:33:47 <elliott> compiler/codeGen/StgCmmGran.hs compiler/codeGen/StgCmmHeap.hs compiler/codeGen/StgCmmHpc.hs compiler/codeGen/StgCmmLayout.hs compiler/codeGen/StgCmmMonad.hs compiler/codeGen/StgCmmPrim.hs compiler/codeGen/StgCmmProf.hs compiler/codeGen/StgCmmTicky.hs compiler/codeGen/StgCmmUtils.hs compiler/codeGen/ClosureInfo.lhs compiler/codeGen/CodeGen.lhs compiler/codeGen/SMRep.lhs compiler/coreSyn/CoreArity.lhs compiler/coreSyn/Core
03:33:48 <Sgeo> WTF http://www.itv.com/news/100-car-pile-up-in-usa67788/
03:33:49 <elliott> FVs.lhs compiler/coreSyn/CoreLint.lhs compiler/coreSyn/CorePrep.lhs compiler/coreSyn/CoreSubst.lhs compiler/coreSyn/CoreSyn.lhs compiler/coreSyn/CoreTidy.lhs compiler/coreSyn/CoreUnfold.lhs compiler/coreSyn/CoreUtils.lhs compiler/coreSyn/ExternalCore.lhs compiler/coreSyn/MkCore.lhs compiler/coreSyn/MkExternalCore.lhs compiler/coreSyn/PprCore.lhs compiler/coreSyn/PprExternalCore.lhs compiler/deSugar/Check.lhs compiler/deS
03:33:51 <elliott> ugar/Coverage.lhs compiler/deSugar/Desugar.lhs compiler/deSugar/DsArrows.lhs compiler/deSugar/DsBinds.lhs compiler/deSugar/DsCCall.lhs compiler/deSugar/DsExpr.lhs compiler/deSugar/DsForeign.lhs compiler/deSugar/DsGRHSs.lhs compiler/deSugar/DsListComp.lhs compiler/deSugar/DsMonad.lhs compiler/deSugar/DsUtils.lhs compiler/deSugar/Match.lhs compiler/deSugar/MatchCon.lhs compiler/deSugar/MatchLit.lhs compiler/hsSyn/HsBinds.l
03:33:52 <variable> elliott, spam - much?
03:33:52 <Sgeo> elliott, shut up
03:33:52 <variable> elliott, spam - much?
03:33:53 <variable> elliott, spam - much?
03:33:53 <elliott> hs compiler/hsSyn/HsDecls.lhs compiler/hsSyn/HsDoc.hs compiler/hsSyn/HsExpr.lhs compiler/hsSyn/HsImpExp.lhs compiler/hsSyn/HsLit.lhs compiler/hsSyn/HsPat.lhs compiler/hsSyn/HsSyn.lhs compiler/hsSyn/HsTypes.lhs compiler/hsSyn/HsUtils.lhs compiler/iface/BinIface.hs compiler/iface/BuildTyCl.lhs compiler/iface/IfaceEnv.lhs compiler/iface/IfaceSyn.lhs compiler/iface/IfaceType.lhs compiler/iface/LoadIface.lhs compiler/iface/
03:33:53 <quintopia> what an asshole
03:33:55 <elliott> MkIface.lhs compiler/iface/TcIface.lhs compiler/main/Annotations.lhs compiler/main/BreakArray.hs compiler/main/CmdLineParser.hs compiler/main/CodeOutput.lhs compiler/stage2/build/Config.hs compiler/main/Constants.lhs compiler/main/DriverMkDepend.hs compiler/main/DriverPhases.hs compiler/main/DriverPipeline.hs compiler/main/DynFlags.hs compiler/main/ErrUtils.lhs compiler/main/Finder.lhs compiler/main/GHC.hs compiler/main
03:33:57 <elliott> /HeaderInfo.hs compiler/main/HscMain.lhs compiler/main/HscStats.lhs compiler/main/HscTypes.lhs compiler/main/InteractiveEval.hs compiler/main/PackageConfig.hs compiler/main/Packages.lhs compiler/main/PprTyThing.hs compiler/main/StaticFlags.hs compiler/main/StaticFlagParser.hs compiler/main/SysTools.lhs compiler/main/TidyPgm.lhs compiler/parser/Ctype.lhs compiler/parser/HaddockUtils.hs compiler/parser/LexCore.hs compiler
03:33:59 <j-invariant> HASKAL?
03:33:59 <elliott> /parser/Lexer.hs compiler/types/OptCoercion.lhs compiler/parser/Parser.hs compiler/parser/ParserCore.hs compiler/parser/ParserCoreUtils.hs compiler/parser/RdrHsSyn.lhs compiler/prelude/ForeignCall.lhs compiler/prelude/PrelInfo.lhs compiler/prelude/PrelNames.lhs compiler/prelude/PrelRules.lhs compiler/prelude/PrimOp.lhs compiler/prelude/TysPrim.lhs compiler/prelude/TysWiredIn.lhs compiler/profiling/CostCentre.lhs compiler
03:34:01 <elliott> /profiling/SCCfinal.lhs compiler/rename/RnBinds.lhs compiler/rename/RnEnv.lhs compiler/rename/RnExpr.lhs compiler/rename/RnHsDoc.hs compiler/rename/RnHsSyn.lhs compiler/rename/RnNames.lhs compiler/rename/RnPat.lhs compiler/rename/RnSource.lhs compiler/rename/RnTypes.lhs compiler/simplCore/CoreMonad.lhs compiler/simplCore/CSE.lhs compiler/simplCore/FloatIn.lhs compiler/simplCore/FloatOut.lhs compiler/simplCore/LiberateCas
03:34:03 <elliott> e.lhs compiler/simplCore/OccurAnal.lhs compiler/simplCore/SAT.lhs compiler/simplCore/SetLevels.lhs compiler/simplCore/SimplCore.lhs compiler/simplCore/SimplEnv.lhs compiler/simplCore/SimplMonad.lhs compiler/simplCore/SimplUtils.lhs compiler/simplCore/Simplify.lhs compiler/simplStg/SRT.lhs compiler/simplStg/SimplStg.lhs compiler/simplStg/StgStats.lhs compiler/specialise/Rules.lhs compiler/specialise/SpecConstr.lhs compile
03:34:05 <elliott> r/specialise/Specialise.lhs compiler/stgSyn/CoreToStg.lhs compiler/stgSyn/StgLint.lhs compiler/stgSyn/StgSyn.lhs compiler/stranal/DmdAnal.lhs compiler/stranal/WorkWrap.lhs compiler/stranal/WwLib.lhs compiler/typecheck/FamInst.lhs compiler/typecheck/Inst.lhs compiler/typecheck/TcAnnotations.lhs compiler/typecheck/TcArrows.lhs compiler/typecheck/TcBinds.lhs compiler/typecheck/TcClassDcl.lhs compiler/typecheck/TcDefaults.lhs
03:34:07 <elliott> compiler/typecheck/TcDeriv.lhs compiler/typecheck/TcEnv.lhs compiler/typecheck/TcExpr.lhs compiler/typecheck/TcForeign.lhs compiler/typecheck/TcGenDeriv.lhs compiler/typecheck/TcHsSyn.lhs compiler/typecheck/TcHsType.lhs compiler/typecheck/TcInstDcls.lhs compiler/typecheck/TcMType.lhs compiler/typecheck/TcMatches.lhs compiler/typecheck/TcPat.lhs compiler/typecheck/TcRnDriver.lhs compiler/typecheck/TcRnMonad.lhs compiler/
03:34:09 <elliott> typecheck/TcRnTypes.lhs compiler/typecheck/TcRules.lhs compiler/typecheck/TcSimplify.lhs compiler/typecheck/TcErrors.lhs compiler/typecheck/TcTyClsDecls.lhs compiler/typecheck/TcTyDecls.lhs compiler/typecheck/TcType.lhs compiler/typecheck/TcUnify.lhs compiler/typecheck/TcInteract.lhs compiler/typecheck/TcCanonical.lhs compiler/typecheck/TcSMonad.lhs compiler/types/Class.lhs compiler/types/Coercion.lhs compiler/types/FamIn
03:34:11 <elliott> stEnv.lhs compiler/types/FunDeps.lhs compiler/types/Generics.lhs compiler/types/InstEnv.lhs compiler/types/TyCon.lhs compiler/types/Type.lhs compiler/types/TypeRep.lhs compiler/types/Unify.lhs compiler/utils/Bag.lhs compiler/utils/Binary.hs compiler/utils/BufWrite.hs compiler/utils/Digraph.lhs compiler/utils/Encoding.hs compiler/utils/FastBool.lhs compiler/utils/FastFunctions.lhs compiler/utils/FastMutInt.lhs compiler/
03:34:13 <elliott> utils/FastString.lhs compiler/utils/FastTypes.lhs compiler/stage2/build/Fingerprint.hs compiler/utils/FiniteMap.lhs compiler/utils/GraphBase.hs compiler/utils/GraphColor.hs compiler/utils/GraphOps.hs compiler/utils/GraphPpr.hs compiler/utils/IOEnv.hs compiler/utils/Interval.hs compiler/utils/ListSetOps.lhs compiler/utils/Maybes.lhs compiler/utils/MonadUtils.hs compiler/utils/OrdList.lhs compiler/utils/Outputable.lhs com
03:34:15 <elliott> piler/utils/Panic.lhs compiler/utils/Pretty.lhs compiler/utils/Serialized.hs compiler/utils/State.hs compiler/utils/StringBuffer.lhs compiler/utils/UniqFM.lhs compiler/utils/UniqSet.lhs compiler/utils/Util.lhs compiler/vectorise/Vectorise/Builtins/Base.hs compiler/vectorise/Vectorise/Builtins/Initialise.hs compiler/vectorise/Vectorise/Builtins/Modules.hs compiler/vectorise/Vectorise/Builtins/Prelude.hs compiler/vectorise/V
03:34:17 <elliott> ectorise/Builtins.hs compiler/vectorise/Vectorise/Monad/Base.hs compiler/vectorise/Vectorise/Monad/Naming.hs compiler/vectorise/Vectorise/Monad/Local.hs compiler/vectorise/Vectorise/Monad/Global.hs compiler/vectorise/Vectorise/Monad/InstEnv.hs compiler/vectorise/Vectorise/Monad.hs compiler/vectorise/Vectorise/Utils/Base.hs compiler/vectorise/Vectorise/Utils/Closure.hs compiler/vectorise/Vectorise/Utils/Hoisting.hs compiler/v
03:34:18 * variable thinks he accidentally copy/pasted and now can't stop it
03:34:19 <elliott> ectorise/Vectorise/Utils/PADict.hs compiler/vectorise/Vectorise/Utils/PRDict.hs compiler/vectorise/Vectorise/Utils/Poly.hs compiler/vectorise/Vectorise/Utils.hs compiler/vectorise/Vectorise/Type/Env.hs compiler/vectorise/Vectorise/Type/Repr.hs compiler/vectorise/Vectorise/Type/PData.hs compiler/vectorise/Vectorise/Type/PRepr.hs compiler/vectorise/Vectorise/Type/PADict.hs compiler/vectorise/Vectorise/Type/PRDict.hs compiler/v
03:34:21 <elliott> ectorise/Vectorise/Type/Type.hs compiler/vectorise/Vectorise/Type/TyConDecl.hs compiler/vectorise/Vectorise/Type/Classify.hs compiler/vectorise/Vectorise/Convert.hs compiler/vectorise/Vectorise/Vect.hs compiler/vectorise/Vectorise/Var.hs compiler/vectorise/Vectorise/Env.hs compiler/vectorise/Vectorise/Exp.hs compiler/vectorise/Vectorise.hs
03:34:23 <elliott> holy shit
03:34:25 <elliott> i
03:34:27 * variable thinks he accidentally copy/pasted and now can't stop it
03:34:27 <elliott> had no idea how long that would be
03:34:29 <elliott> i just copied one compilation line to mock ghc
03:34:31 <elliott> jesus christ
03:34:33 <elliott> what is it doing
03:34:40 <Sgeo> variable, there's always ways to stop copy/paste
03:34:46 <elliott> sorry if that spammed
03:34:51 <variable> Sgeo, force disconnect
03:34:58 <variable> even /part won't stop it
03:35:02 <elliott> oh wow that is a lot of lines, i didn't even look that far back
03:35:09 <elliott> sorry
03:35:10 <quintopia> i can't decide if the title text or the comic itself is stupider. but i know i don't care to look at again to try to decide
03:35:15 <variable> elliott, xkcd is not always accurate - for example the tic-tac-toe one had errors in the drawings
03:35:18 <elliott> re:
03:35:19 <elliott> variable: elliott, xkcd is not always accurate - for example the tic-tac-toe one had errors in the drawings
03:35:21 <elliott> yeah i saw it :)
03:35:28 <elliott> variable: I wouldn't mind, if only it was funny
03:35:43 <variable> elliott, blasphemer
03:35:48 <variable> you dare call xkcd NOT funny ?
03:35:58 <elliott> variable: yeah ... it really isn't
03:36:01 <elliott> it was great before comic 400.
03:36:04 <elliott> afterwards, not so much so.
03:36:08 <elliott> lately, absolute crap.
03:36:12 * Sgeo needs FOOD
03:36:15 <variable> elliott, nope - that's a cognitive bias
03:36:17 <Sgeo> FEED ME
03:36:22 <elliott> variable: lol
03:36:24 <elliott> variable: seriously?
03:36:26 <variable> Sgeo, awesome movie
03:36:28 <variable> * play
03:36:29 <elliott> is that how you respond to criticism of work?
03:36:32 <Sgeo> variable, hmm?
03:36:36 <elliott> "You DON'T LIKE XKCD? It's because your brain's broken."
03:36:41 <variable> elliott, nope
03:36:50 <variable> elliott, you missed what I as refering to as the bias
03:36:54 <Sgeo> I think... I accidentally made a reference of some kind.
03:36:57 <elliott> variable: that it's getting worse?
03:37:04 <elliott> it's not like i'm the only person to notice that. whenever they started reading.
03:37:08 <Sgeo> variable, WTF did I reference?
03:37:09 <elliott> it's fairly obvious that randall is running out of ideas.
03:37:10 <quintopia> elliott is correct in this case though. everyone knows xkcd just isn't as good as it once was
03:37:28 <elliott> just because a lot of observations about "THE GOOD OL' DAYS" are false doesn't make them universally false.
03:38:00 <elliott> if I hadn't already seen them, I guarantee you I could accurately sort, say, comics 550 and onwards from comics 350 and before (ignoring the ones in the middle as being part of a decline and so harder to categorise) with high accuracy
03:38:06 <variable> elliott, sort of. you remember the earlier good ones and forget the earlier bad ones. I'll bet that if you were to go thru them all in a random order and mark them good and bad the distribution would be roughly the same
03:38:16 <quintopia> elliott: i think he was saying it sucked before too
03:38:31 <quintopia> and i disagree
03:38:45 <elliott> quintopia: I doubt it:
03:38:50 <quintopia> because i have done this experiment
03:38:52 <elliott> 03:35 variable: elliott, blasphemer
03:38:52 <elliott> 03:35 variable: you dare call xkcd NOT funny ?
03:38:54 <elliott> well ok he could be joking
03:38:58 <variable> elliott, that was a joke :-}
03:39:00 <quintopia> and there were a lot more good ones then than there are now
03:39:01 <elliott> :)
03:39:03 <elliott> hard to tell
03:39:05 <elliott> with some xkcd fans
03:39:19 <variable> elliott, I'll mark jokes with :-) if a I remember for now on - ok ? :-)
03:39:27 <elliott> just mark every line with :)
03:39:27 <elliott> :P
03:39:29 <elliott> variable: but no, xkcd really _has_ decreased in quality. i say this as someone who is almost to the point of paranoia with checking their own cognitive biases
03:40:10 <variable> elliott, the only way to really tell that would be to perform some kind of randomized ordering and rating of a representative sample of the comic
03:41:08 <elliott> variable: it is, in fact, possible to derive accurate results _without_ always performing the most anal procedure.
03:41:17 <variable> (as an aside its been showing that being aware of cognitive biases and specifically attempting to avoid them might increase their likelyhood of affecting a person btw)
03:41:23 <elliott> humans are capable of quite good rational thought if self-analysed to a sufficient degree.
03:41:46 * elliott wonders if variable is a Less Wronger.
03:41:59 <variable> Less Wronger ?
03:42:24 <elliott> http://lesswrong.com/.
03:42:44 <Sgeo> Is there a name for something where I'm more attracted to someone if I know they've had a rough past?
03:43:14 <variable> Sgeo, "Little Shop of Horrors"
03:43:18 <elliott> Sgeo: being Sgeo
03:43:22 <elliott> variable: lol i like the timing of that
03:43:25 <elliott> 03:42 Sgeo: Is there a name for something where I'm more attracted to someone if I know they've had a rough past?
03:43:26 <elliott> 03:42 variable: Sgeo, "Little Shop of Horrors"
03:43:47 <elliott> `addquote <Sgeo> Is there a name for something where I'm more attracted to someone if I know they've had a rough past? <variable> Sgeo, "Little Shop of Horrors"
03:43:48 <HackEgo> 260) <Sgeo> Is there a name for something where I'm more attracted to someone if I know they've had a rough past? <variable> Sgeo, "Little Shop of Horrors"
03:44:28 <variable> elliott, I've not seen that blog before
03:44:55 <elliott> strange.
03:45:08 * Sgeo decides that Slava has his head in the sand about modules and about capability security
03:45:19 <elliott> brb.
03:45:28 <variable> elliott, I've not seen that blog before
03:45:35 <elliott> variable: strange.
03:45:36 <elliott> brb
03:45:41 <variable> is there something particular about what I said that made you think of that?
03:45:47 <variable> if so is it positive or negative ?
03:45:50 <elliott> re cognitive biases
03:45:52 <elliott> and just curiosity
03:45:59 <elliott> now really brb, stop talking to me! :)
03:46:21 <variable> elliott, talk
03:46:22 <variable> talk
03:46:23 <variable> talk
03:53:33 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
03:55:14 -!- poiuy_qwert has joined.
04:18:18 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
04:19:25 <elliott> GMMXle.
04:19:31 <elliott> *MMXIe.
04:21:40 <Sgeo> 2011e?
04:22:06 <Sgeo> Please tell me that's not the new D&D edition
04:22:16 <elliott> GMMXIe is the new Google logo.
04:22:45 <Sgeo> ..? I don't see it
04:24:32 <Sgeo> Well, it's New Years eve where you are, so
04:25:03 <elliott> Precisely.
04:25:17 <elliott> Sgeo: http://www.google.co.uk/logos/2010/newyear11-hp.jpg
04:42:23 <j-invariant> oh is it new year already
04:43:03 <elliott> j-invariant: no
04:43:07 <elliott> j-invariant: nother 19 hours for that
04:43:43 <j-invariant> http://www.mediawiki.org/wiki/Manual:Math#Usage <-- Cool formula for erfc
04:44:31 <elliott> hehe
04:45:13 -!- Mathnerd314 has joined.
04:45:23 <j-invariant> .. http://yfrog.com/h2m6wtj why?
04:45:38 <j-invariant> tattoos are daft, even if they are equations
04:45:50 <j-invariant> how can they stay on?
04:45:53 <j-invariant> I don't understand that
04:46:01 <j-invariant> I would expect them to at least disperse
04:47:37 <elliott> j-invariant: because of magic!
04:47:46 <elliott> j-invariant: hey that equation doesn't look tex typeset
04:47:56 <elliott> j-invariant: I wouldn't get an equation tattooed on me (at all, but) unless it was set in AMS Euler!
04:53:19 <j-invariant> hehe
04:53:55 <elliott> but yeah tattoos are lame.
04:54:25 <j-invariant> I feel like.. bad to say it, because what if a person with a tattoo hears me - I don't want to upset them
04:54:38 <j-invariant> but... what were they thinking
04:55:41 <elliott> j-invariant: I think anyone who can withstand that sort of pain is hard enough to not get upset :-P
04:55:52 <elliott> http://chirp.scratchr.org/dl/experimental/JsMorphic/morphic.html Smalltalk's Morphic ported to JS. This is great until Sgeo notices this message.
04:56:17 <Sgeo> I've seen in-browser Smalltalks before
04:56:26 <Sgeo> Also, I know little about Morphic
04:56:27 <Sgeo> Happy?
04:56:43 <elliott> It's not in-browser Smalltalk, it's actual real Morphic.
04:56:47 <elliott> Without Smalltalk.
04:57:05 <j-invariant> is it really painful?
04:57:37 <elliott> j-invariant: Morphic is pretty cool actually ... not sure the browser part is of any use though :P
05:03:21 <Sgeo> http://newyork.cbslocal.com/2010/12/30/liberal-group-criticizes-christie-with-parody-website/ Since when is the existence of a parody website news?
05:04:21 <j-invariant> oh those damn liberals are at it again!!
05:10:14 <j-invariant> elliott: http://vimeo.com/16754574
05:10:45 <elliott> can't watch it i have a perfect mental image of conor mcbride
05:10:53 <elliott> don't want to break it okay i pressed play omg no that's not what he sounds like
05:11:16 <elliott> j-invariant: more seriously i'll watch tomorrow when it's not 5am :)
05:12:12 <j-invariant> i have a perfect mental image of conor mcbride <-- hahaha
05:12:16 <Sgeo> Ok, Randall Munroe has a beef with audiophiles
05:12:30 -!- myndzi has quit (Remote host closed the connection).
05:12:49 -!- myndzi has joined.
05:13:33 <elliott> Sgeo: eh?
05:13:36 <elliott> most "audiophiles" are idiots.
05:13:43 <elliott> the rest are not.
05:14:26 <Sgeo> The only joke in the latest xkcd is too angry to be a joke
05:14:58 <myndzi> who you calling an idiot!
05:15:28 <myndzi> ur just jelly of me listenin to flac vinyl rips on my grado headphones through this expensive ass setup
05:15:46 <j-invariant> lol
05:15:50 <elliott> myndzi: i bet you can distinguish lame -V2 --joint-stereo from flac too
05:15:52 <elliott> and FLAC from WAVs!
05:15:57 <elliott> and WAVs from the CDs themselves
05:16:08 <Sgeo> I could swear I've heard "jelly" used in that context before
05:16:13 <myndzi> i can distinguish between different pressings of the same cd
05:16:14 <j-invariant> how many audiophiles have perfect pitch?
05:16:26 <myndzi> a: all of them
05:16:35 <myndzi> it's whatever pitch they say it is and i dare you to argue
05:16:35 <myndzi> ;)
05:16:43 <j-invariant> lol
05:16:49 <elliott> Sgeo: u jelly?
05:16:57 <elliott> myndzi: the sane audiophiles are all at hydrogenaudio :p
05:17:07 <j-invariant> http://xkcd.com/838/ <-- LOL
05:17:21 <myndzi> i liked that one
05:19:19 <j-invariant> it's funny because I RELATE TO IT !
05:19:25 <j-invariant> I have seen that meassage
05:19:45 <elliott> it emails the sysadmin
05:19:47 <elliott> i.e. you/root
05:19:55 <Sgeo> Did I ever tell you my sudo story?
05:20:33 * Sgeo should put a label on it: Warning: May cause death by boredom
05:23:22 <j-invariant> tell!
05:27:24 <Sgeo> I had two terminal windows open, one to the school and one for the computer I was using
05:27:43 <Sgeo> I tried to sudo apt-get something, I think Chromium, but I was doing it at the wrong terminal
05:27:58 <elliott> TODO: Figure out how to make cabal-install run "stow -v ghc" after installing/removing anything to redo the appropriate links.
05:28:00 <Sgeo> Realized it eventually, and sent the person in charge of that system a message
05:28:11 <elliott> TODO: Figure out how to make cabal-install do copying and registering separately to integrate with stow.
05:28:20 <elliott> TODO: Perhaps abandon this silly idea and just install into ~/.cabal like normal people do.
05:28:29 <myndzi> Sgeo: my brother plays muds a lot still
05:28:41 <myndzi> he was granted an immortal character with OLC access
05:28:44 <elliott> my brother plays with mud
05:28:50 <j-invariant> Sgeo: what did it work or somethign?
05:28:55 <myndzi> he used to often get mixed up with which character he was on
05:28:57 <Sgeo> No, it idn't
05:29:00 <Sgeo> I just got annoyed
05:29:00 <myndzi> so he changed his immortal's prompt to be something like
05:29:07 <j-invariant> Sgeo: annoyed at what
05:29:15 <Sgeo> That my password wasn't working
05:29:30 <myndzi> IMMIMMIMMIMMIMMIMM
05:29:30 <j-invariant> you wanted to be root?
05:29:43 <Sgeo> j-invariant, so I could install Chromium!
05:29:50 <elliott> TODO: Or maybe have stow stow packages separately.
05:29:51 <j-invariant> oh I see
05:30:00 <j-invariant> but why did you say you have two terminals open?
05:30:06 <j-invariant> what does that have to do wit hthis
05:30:08 <elliott> TODO: Maybe redo the bootstrap with executable stripping.
05:30:14 <elliott> j-invariant: did it on the wrong terminal, got REPORTED
05:30:39 <j-invariant> I can't figure out how to make a program not-crap with GTK
05:31:07 <elliott> TODO: wtf is root-cmd
05:31:08 <Sgeo> I have a slightly more interesting story
05:31:18 <j-invariant> Sgeo: was that it?
05:31:31 <Sgeo> No, that was the deadily boring story
05:31:47 <j-invariant> but was that it?
05:31:51 <j-invariant> you sent an email: End of story
05:31:53 <Sgeo> Yes
05:31:56 <j-invariant> LOL
05:32:31 <Sgeo> So these numbskulls in class were playing with wall
05:33:03 <elliott> I play my head on wall
05:33:06 <elliott> Yay bouncy
05:33:14 <Sgeo> I threaten to disable the next person who does so
05:33:20 <Sgeo> (Just yes | write whoever)
05:33:28 <Sgeo> But I wouldn't tell them that ofc
05:33:33 <Sgeo> So, I do so
05:33:49 <Sgeo> Person closes PuTTY, opens it again, and walls again
05:33:52 <Sgeo> I do so again
05:33:54 <Sgeo> etc. etc.
05:34:23 <Sgeo> So, the next thing I do, I write something stupid on the command line to do yes | write in an infinite loop
05:34:28 <j-invariant> lol
05:34:46 <Sgeo> Next thing I know, people are complaining that the system's not working
05:34:50 <Sgeo> Nothing's happening
05:34:51 <j-invariant> LOL
05:35:18 <Sgeo> Someone eventually reaches to turn off my computer, despite my protests that it wouldn't work. It did.
05:35:31 <elliott> Shell conncetion got dropped, duh.
05:35:32 <elliott> *connection
05:36:00 <Sgeo> Next class, we learn that someone was trying to work from home, couldn't, and complained
05:36:17 <Sgeo> The people who were using wall got in trouble. I did not.
05:36:47 <j-invariant> hehe
05:36:53 <j-invariant> you are the one that caused all the problems
05:37:21 <Sgeo> Oh, and wall got disabled permanently
05:37:39 <Sgeo> Ehh, wall is still a problem. But yeah
05:38:54 <myndzi> 'splain yes | write?
05:39:17 <Sgeo> Spams yes to whoever's being written to
05:39:21 <elliott> *Spams y
05:39:31 <Sgeo> Erm, oops. Yeah
05:40:24 <myndzi> how does that disable someone?
05:40:49 <j-invariant> it's like they ae running yes in their own terminal
05:40:54 <Sgeo> PuTTY does not like being spammed
05:40:59 <j-invariant> very hard to see what's gpoing on
05:41:05 <myndzi> i see
05:41:11 <Sgeo> j-invariant, I think it actually froze PuTTY
05:41:27 <myndzi> i just am unfamiliar with unix commands so i thought maybe it was doing something sly
05:41:30 <myndzi> ;)
05:41:50 <elliott> sly as a faux
05:41:55 <Sgeo> It was doing something y
05:45:40 <myndzi> y so y
05:46:38 -!- hagb4rd has quit (Ping timeout: 240 seconds).
05:48:18 <j-invariant> should have sent them some BELs
05:52:02 -!- elliott has quit (Remote host closed the connection).
06:01:13 -!- elliott has joined.
06:01:14 -!- elliott has quit (Remote host closed the connection).
06:04:52 -!- elliott has joined.
06:04:53 -!- elliott has quit (Remote host closed the connection).
06:08:38 -!- cheater99 has quit (Ping timeout: 240 seconds).
06:16:24 <Sgeo> I just ripped an arm off!
06:21:35 -!- cheater99 has joined.
06:24:09 <Sgeo> cheater99, I ripped an arm off, what should I do?
06:24:19 -!- Sgeo has left (?).
06:24:26 -!- Sgeo has joined.
06:30:07 <j-invariant> ????
06:30:19 <j-invariant> is this a game
06:30:31 <Sgeo> [off a chair]
07:12:13 -!- j-invariant has quit (Quit: leaving).
07:37:12 -!- Sgeo has quit (Read error: Connection reset by peer).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:11:26 -!- cheater99 has quit (Ping timeout: 240 seconds).
08:20:38 -!- sftp has quit (Ping timeout: 240 seconds).
08:21:00 -!- sftp has joined.
08:24:15 -!- cheater99 has joined.
08:35:50 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
08:50:40 -!- cheater99 has quit (Read error: Connection reset by peer).
09:07:16 -!- cheater99 has joined.
09:27:35 -!- sftp_ has joined.
09:27:36 -!- sftp has quit (Ping timeout: 240 seconds).
09:34:41 -!- j-invariant has joined.
09:40:05 -!- MigoMipo has joined.
10:26:25 -!- sftp_ has quit (Read error: Connection reset by peer).
10:26:42 -!- sftp_ has joined.
10:29:46 -!- Phantom_Hoover has joined.
10:44:11 -!- Phantom_Hoover_ has joined.
10:45:02 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
10:56:23 -!- oerjan has joined.
10:58:19 -!- sftp has joined.
10:58:34 -!- sftp_ has quit (Ping timeout: 276 seconds).
11:32:37 -!- MigoMipo_ has joined.
11:33:43 -!- MigoMipo_ has quit (Remote host closed the connection).
11:34:38 -!- MigoMipo has quit (Ping timeout: 240 seconds).
11:37:00 -!- MigoMipo has joined.
11:40:56 -!- sftp has quit (Remote host closed the connection).
11:41:12 -!- sftp has joined.
11:46:19 <Vorpal> things that annoy me with eog: it blurs the image if you zoom in so that a pixel in the image covers more than one pixel on screen.
11:47:30 -!- oerjan has quit (Remote host closed the connection).
12:13:56 <fizzie> That annoys me too. Maybe there's some mysterious gconf flag that makes it do nearest-neighbor instead of filtering.
12:27:39 -!- GreaseMonkey has quit (Quit: ilua).
12:39:45 <cheater99> Ok Ubuntu is like a devil it run in any computer... it works his way in to your computer and a demon takes control of your computer...what do I mean?
12:39:45 <cheater99> Have you seen does cakes with cream felling that you like? Linux is the cream Inside thats what linux is and yes it should work in your in your computer..
12:39:51 <cheater99> i love forums
12:42:00 -!- PEDRO-8B4ACF159 has joined.
12:42:27 -!- PEDRO-8B4ACF159 has quit (Remote host closed the connection).
12:54:41 -!- FireFly has joined.
13:14:06 -!- Wamanuz5 has joined.
13:34:18 -!- hagb4rd has joined.
13:37:39 -!- oerjan has joined.
13:57:45 -!- BeholdMyGlory has joined.
13:59:46 -!- Behold has joined.
14:03:38 -!- BeholdMyGlory has quit (Ping timeout: 272 seconds).
14:09:41 -!- BMG has joined.
14:13:08 -!- Behold has quit (Ping timeout: 264 seconds).
14:15:06 -!- BMG has quit (Changing host).
14:15:06 -!- BMG has joined.
14:15:11 -!- BMG has changed nick to BeholdMyGlory.
14:38:59 <nooga> yieh
14:39:26 <nooga> i don't like new years eve
14:48:17 -!- variable has quit (Read error: Operation timed out).
14:49:49 -!- variable has joined.
14:50:29 * oerjan realizes the paradox of variable learning haskell
14:54:09 -!- Sgeo has joined.
14:54:59 <variable> oerjan what?
14:59:34 <oerjan> haskell is purely functional, so everything is constant, not variable
14:59:43 * oerjan sweeps some IORefs under the rug
15:03:10 <oerjan> also some STRefs, MVars and TVars
15:04:20 <Sgeo> I think Newspeak's "module" system has spoiled me. Racket's makes me want to barf.
15:05:00 <Sgeo> And I'm convinced that the Factor people have their head in the sand, unless they're planning to pull a Racket and have a centralized distribution source
15:07:05 * oerjan now imagines a language named Ostrich
15:08:33 <oerjan> naturally it would be based on ignoring all errors as long as possible
15:09:36 <oerjan> and having a number of flawed design choices
15:10:28 -!- augur has quit (Read error: Connection reset by peer).
15:10:48 -!- augur has joined.
15:10:49 <variable> oerjan, hrm....
15:10:54 <variable> isn't that called Java ?
15:11:27 <oerjan> i'm not aware of whether java ignores errors
15:11:46 <oerjan> i never got much deeper than hello, world in it
15:12:19 <oerjan> i guess the second part applies to everyone's favorite hate languages
15:12:27 <oerjan> (java, php, c++ ?)
15:12:49 <variable> I like C++
15:12:58 * variable puts on flamesuit
15:13:30 <oerjan> yeah but i hear it's a mess unless you work in a carefully restricted subset (and different people choose different subsets)
15:13:46 * oerjan doesn't know php or c++ either
15:14:38 <oerjan> actually i recall java's checked exceptions are supposedly so annoying that people _do_ tend to ignore them, so maybe it fits
15:15:39 * variable disliks the exception paradigm
15:16:12 <variable> its pretty much a "goto" but in an if statement :-)
15:16:13 <Vorpal> variable, a few (out of many) reasons that C++ is deeply flawed: templates sucking, multiple inheritance, operator++ overloading for ++x vs. x++, STL being crazy (especially the io stuff)
15:16:26 <Vorpal> there are a lot more reasons why C++ sucks
15:16:31 <j-invariant> C++ is very complicated
15:16:39 <oerjan> incidentally haskell has _several_ variants of exception mechanisms, some purely functional and some not
15:16:39 <Vorpal> j-invariant, yes, and badly designed
15:17:04 <variable> Vorpal, templates are one of my fav. parts of C++, nothing is wrong with MI if you know what your doing; STL is crazy and I wish there were certain; blah blah blah
15:17:15 <variable> I don't want to start this convo
15:17:17 <oerjan> from the near-trivial Maybe monad up to IO exceptions
15:18:28 <Sgeo> Paging coppro, paging coppro
15:18:53 <oerjan> and a MonadError type class, i'm not quite sure if all the examples belong to it
15:19:03 <Vorpal> variable, did you know that while C++ is not TC (nor is C) thanks to sizeof(void*) having to be finite, C++ templates are actually TC at compile time.
15:19:16 <variable> Vorpal, yes
15:19:21 <variable> actually - I did :-}
15:19:50 <variable> Vorpal, but its an interesting piece of knowledge (trivia?)
15:20:16 <olsner> except that templates usually come with a maximum recursion depth to force them to terminate
15:20:47 <Vorpal> variable, and that parsing C++ requires you to do syntax and semantic analysis in one pass since you will get ambiguous parse tree otherwise.
15:20:52 <variable> its a minimum of 16 -> but the standard allows infinite
15:20:53 <Vorpal> olsner, quite.
15:21:01 <variable> Vorpal, yeah - its not context free
15:21:17 <j-invariant> that's horrible
15:21:33 <oerjan> ghc's type system is also TC at compile time if you set the right extension flags
15:21:43 <j-invariant> wrong** :P
15:21:56 <Vorpal> I think something like A B(C); parses differently depending on what a, b and c are.
15:22:13 <variable> Vorpal, exactly
15:22:14 <oerjan> Vorpal: that was the case already in C
15:22:29 <Vorpal> oerjan, yes quite. But also C++ adds a few more variants to that
15:22:59 <Vorpal> oerjan, for example, myclass foo(42); Now that won't be a possible way to parse it in C since it has no constructors
15:23:30 <oerjan> mhm
15:24:55 <oerjan> i read that they're going to introduce a new type kind in haskell to solve the newtype deriving inconsistencies
15:25:13 <oerjan> s/haskell/ghc/
15:25:16 <Sgeo> newtype deriving inconsistencies?
15:26:12 <oerjan> Sgeo: ghc's newtype deriving extension is inconsistent with both the GADT and the type family extensions
15:26:34 <oerjan> you can combine them in such a way as to convert any type to any other
15:26:50 <Vorpal> oerjan, convert in what sort of way?
15:28:03 <oerjan> in such a way as to break type safety
15:28:17 <Vorpal> oerjan, right, but what will happen if you do it
15:28:23 <Vorpal> oerjan, crash?
15:28:31 <oerjan> quite likely
15:28:48 <Sgeo> unsafeCoerce vorpal :: Int
15:28:55 <oerjan> if you convert an Int to a function type you would be able to jump to an arbitrary address
15:29:21 <oerjan> yeah you could define unsafeCoerce :: a -> b with this, i think
15:29:33 <Vorpal> heh
15:29:51 <oerjan> (of course unsafeCoerce _is_ already defined somewhere, but that's what the unsafe* prefixes are for)
15:29:56 <Vorpal> oerjan, could you use this to get the bit pattern of a floating point value for example?
15:30:12 <oerjan> Vorpal: i would think so...
15:30:19 <Vorpal> oerjan, is there any other way to do that?
15:30:42 <Sgeo> Vorpal, when I tell people in C++ channels that I'm using reinterpret_cast, and they yell at me, it's because they don't realize that's what I want to do
15:30:43 <oerjan> well the RealFloat class has methods to get most of the information
15:30:44 <Vorpal> oerjan, I suddenly got an urge to do that famous inverse square function in haskell!
15:31:16 <Vorpal> err, squareroot
15:31:33 <oerjan> you mean integer square root?
15:31:38 <variable> oerjan, no
15:31:40 <Vorpal> oerjan, I mean http://en.wikipedia.org/wiki/Fast_inverse_square_root
15:31:43 <variable> the newtons method one
15:31:47 <Vorpal> oerjan, the one famous from quake
15:32:07 <Vorpal> with magic number and so on
15:32:19 <oerjan> oh
15:34:01 <Vorpal> oerjan, surely you heard about it before
15:34:58 <oerjan> it vaguely rings a bell
15:35:13 <oerjan> especially that strange constant thing
15:36:18 <oerjan> lessee how does this inconsistency work again
15:37:22 <oerjan> class Trap a b where trap :: f a -> f b
15:37:53 <oerjan> instance Trap Int Int where trap = id
15:39:24 <j-invariant> inconsistency?
15:39:38 <oerjan> newtype deriving
15:39:45 * oerjan needs to google it
15:41:25 <oerjan> http://hackage.haskell.org/trac/ghc/ticket/1496
15:42:35 <Vorpal> hm. Does anyone know if there is any good algorithms for uninlining? For a brainfuck compiler this could be an optimisation, trying to factor out code into functions.
15:54:32 <Ilari> Related to Common Subexpression Elimination?
15:59:32 -!- MigoMipo has quit (Read error: Connection reset by peer).
16:02:05 -!- Behold has joined.
16:04:52 -!- BeholdMyGlory has quit (Ping timeout: 265 seconds).
16:07:23 <Sgeo> The CEO of Active Worlds just rickrolled me
16:20:19 -!- Wamanuz has joined.
16:22:43 -!- Wamanuz5 has quit (Ping timeout: 250 seconds).
16:25:50 -!- Behold has changed nick to BeholdMyGlory.
16:26:45 -!- elliott has joined.
16:31:55 <elliott> 07:12:49 <variable> I like C++
16:31:57 <elliott> variable: not for long
16:33:26 <nooga> yuck
16:33:27 <nooga> C++
16:36:57 -!- BeholdMyGlory has quit (Remote host closed the connection).
16:37:51 -!- elliott has quit (Remote host closed the connection).
16:38:45 -!- elliott has joined.
16:45:02 -!- cheater99 has quit (Ping timeout: 240 seconds).
16:53:33 <elliott> ais523: http://s3.amazonaws.com/data.tumblr.com/tumblr_lbwfg7kwca1qe2mq3o1_1280.png?AWSAccessKeyId=0RYTHV9YYQ4W5Q3HQMG2&Expires=1293900774&Signature=tKmD48bMIwNvzV%2B55IbiF2gKWE0%3D /troll
17:03:19 -!- Wamanuz2 has joined.
17:06:00 -!- Wamanuz has quit (Ping timeout: 255 seconds).
17:06:45 -!- Sasha has joined.
17:06:50 -!- Sasha has quit (Client Quit).
17:07:24 -!- Sasha has joined.
17:10:15 -!- cheater99 has joined.
17:26:40 <Sgeo> Huh
17:26:54 <Sgeo> So I'm told that AW telegrams are secure
17:27:02 <Sgeo> I instantly disbelieve it
17:27:15 <Sgeo> So I open Wireshark, send a test message, stop collecting
17:27:35 <Sgeo> And can't find the message in Wireshark. Doesn't prove that it's secure, but it's not plaintext like I was expecting
17:30:34 <Ilari> One can have all sorts of insecure encryption schemes... And those schemes look just as good in ciphertext as really secure ones.
17:31:55 <Sgeo> Indeed
17:34:57 <Sgeo> Although, it's probably safer than email
17:35:31 <Ilari> Calculating the total entropy of message blocks doesn't tell much either. Both good and bad encryption can have high entropy.
17:35:54 <Sgeo> Ilari, tbh, I can't even isolate the packets, I don't know how and not going to try
17:39:52 <elliott> Q: What is the future of open source? A: Nagware! http://i.imgur.com/GJhbS.png
17:39:57 <elliott> Seen when starting Transmission for the second time.
17:39:58 <elliott> Lame.
17:40:11 <olsner> Sgeo: if you can't even find the packets, does that mean they use telepathy?
17:43:03 -!- poiuy_qwert has joined.
17:56:09 <Sgeo> olsner, I mean I have so much other stuff running, and AW sends so many other packets, etc, I wouldn't know where to start
17:56:27 <Sgeo> Come to think of it, standing there, I should only have been receiving packets other than the telegram, not sending
17:57:04 * Sgeo carefully watches a blind Braid Let's Play
17:57:23 <Sgeo> Solved worlds 2-4
18:00:44 * Sgeo sees World 4's hunt in a thumbnail :D
18:03:44 <elliott> Phantom_Hoover_: TIME FOR HORROR
18:07:45 <oerjan> hora horroris
18:11:02 * Sgeo WTFs at the player... he accidentally managed to do something I completely failed at multiple times
18:32:30 <Phantom_Hoover_> elliott, what horror?
18:32:35 <elliott> Phantom_Hoover_: KITTEN
18:33:04 <Phantom_Hoover_> elliott, O GOD KITTENS AAAAAAA
18:33:22 <Phantom_Hoover_> (Sorry, my father was eaten by rampaging kittens.)
18:33:36 <elliott> Phantom_Hoover_: And INIT SYSTEMS
18:33:58 <Phantom_Hoover_> No, he wasn't eaten by any of them.
18:34:25 <olsner> INIT SYSTEMS EAT PARENTS!
18:34:37 <olsner> they do, even though they may not have eaten yours
18:34:52 <Phantom_Hoover_> olsner, THAT IS INSENSITIVE
18:35:20 <olsner> pfft
18:35:53 <Vorpal> in other words: never get children of your own
18:36:21 <olsner> or at least: never expose yourself to init systems after getting children
18:36:40 <Vorpal> olsner, tricky in this modern world of computers
18:37:17 <Vorpal> wait.... AHA! So *that* is how they plan to take over.
18:37:26 <Vorpal> matrix, terminator. they were all wrong
18:37:45 <elliott> Vorpal: just use windows
18:37:45 <Vorpal> instead, they are going to scare humans into not having children
18:37:48 <elliott> no init system!
18:37:50 <elliott> sort of.
18:37:58 <Vorpal> elliott, it has an init system of some sort. Not a /sbin/init sure
18:38:05 <olsner> if windows has no init system, how does it start?
18:38:29 <elliott> olsner: badl
18:38:30 <elliott> y
18:38:31 <Vorpal> elliott, but there is something that checks and mounts filesystem, starts services and so on
18:38:55 <olsner> windows' "Services" seem to be kind of the corresponding thing, winlogon does some more stuff
18:39:40 <olsner> but I think basic system startup like mounting filesystems is done before any of that
18:43:02 -!- cheater99 has quit (Read error: Connection reset by peer).
18:48:46 -!- cheater99 has joined.
18:51:19 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
18:52:01 <Phantom_Hoover_> I'm considering getting a new laptop. Any suggestions?
18:52:07 <elliott> Phantom_Hoover_: MacBook Air :-P
18:52:13 <Phantom_Hoover_> elliott, OTHER THAN THAT
18:52:28 <elliott> Phantom_Hoover_: BUY A SONY LOLZ
18:52:55 <Phantom_Hoover_> I'm not biased or anything, it's just that the rest of my family are firm members of the Holy Church of Mac and I don't want to let them think I've come back into the fold.
18:53:08 <elliott> Phantom_Hoover_: That's why you put Linux on it. Duh.
18:53:20 <Phantom_Hoover_> elliott, they wouldn't care!
18:53:30 <Phantom_Hoover_> Also, specs are a little low for my liking.
18:53:38 <elliott> Phantom_Hoover_: Preferably use a tiling window manager, semitransparent terminals with tiny, unantialised green text over inane anime wallpaper, and LOTS AND LOTS OF NCURSES PROGRAMS.
18:53:48 <elliott> Phantom_Hoover_: Which specs?
18:54:01 <Phantom_Hoover_> MacBook Air.
18:54:06 <elliott> Phantom_Hoover_: Yes, but which specs in particular.
18:54:10 <elliott> The GPU is probably the second-best integrated graphics out there, which isn't bad if you ask me.
18:54:17 <elliott> I don't actually recommend the MBA since it's hideously expensive :P
18:54:22 <elliott> But I'm curious which specs you think are low.
18:54:35 <Phantom_Hoover_> Who are you poking fun at with the tiling window manager thing, BtW,
18:54:40 <Phantom_Hoover_> *?
18:54:58 <elliott> Phantom_Hoover_: Umm, the kind of people who do that.
18:55:02 <elliott> Mostly Arch users nowadays.
18:55:06 <Phantom_Hoover_> Ah.
18:55:38 <elliott> The kind of people who put a bunch of useless system performance statistics on their desktop because it looks MINIMALIST because it, totally has a transparent background, man.
18:55:40 -!- j-invariant has quit (Quit: leaving).
18:55:48 -!- poiuy_qwert has joined.
18:56:10 <Phantom_Hoover_> elliott, oh, that.
18:56:47 <elliott> I should put Ubuntu on this soon.
18:58:18 <elliott> Phantom_Hoover_: So what specs are low?
18:58:20 <elliott> Legitimately curious :p
18:58:42 <Phantom_Hoover_> elliott, erm. Clock speed, although I know it doesn't matter very much. RAM.
18:58:56 <Phantom_Hoover_> Using my current, dirt-cheap laptop as a baseline.
18:58:56 <Vorpal> btw, while *nix permissions are rather limited, they have the advantage of being simple.
18:59:21 <elliott> Phantom_Hoover_: 2.1 GHz of a recent Core 2 Duo ain't bad at all. As you said, clock speed is irrelevant -- I really wish they had never advertised it at all, ever. BTW, my previous laptop was 1.3 GHz and you wouldn't notice.
18:59:22 <Vorpal> which is good when it comes to security IMO.
18:59:22 <Phantom_Hoover_> Well, not dirt cheap, but a third of the price of an Air.
18:59:31 <elliott> Phantom_Hoover_: RAM -- I have 4 gigs.
18:59:33 <Vorpal> (harder to get it wrong)
18:59:41 <elliott> Don't think you'll find 8 gigs on a consumer laptop with more than 2 minutes of battery life any time soon.
18:59:43 <Phantom_Hoover_> elliott, I must have been looking at different specs...
18:59:54 <elliott> Phantom_Hoover_: You were probably looking at the 11 inch version, or looking at the uncustomised 13 inch version.
19:00:00 <elliott> Phantom_Hoover_: You have to up the specs before ordering :-P
19:00:06 <Phantom_Hoover_> elliott, quite probably. Price?
19:00:11 <elliott> Phantom_Hoover_: Um, £expensive.
19:00:25 <Phantom_Hoover_> I don't HAVE £expensive!
19:00:33 <elliott> Phantom_Hoover_: I upped the RAM to 4 gigs and the SSD to 256 gigs and it came out to somewhere just under one-and-a-half kilo-monetary-units.
19:00:46 <elliott> tl;dr WHOO THIS THING IS GONNA LAST ME A DECADE
19:01:17 <Phantom_Hoover_> <2020 elliott> MY LAPTOP IS ON FIRE
19:01:26 <elliott> FIRE IS THE APPLE WAY
19:01:43 <elliott> Phantom_Hoover_: But, yes, the unupgraded Air is kind of silly what with its 2 gigs.
19:01:58 <Phantom_Hoover_> elliott, INDEED
19:02:25 <elliott> Phantom_Hoover_: If you're okay with a 128 gig SSD, you can get a 4 gig air for £1,179 apparently.
19:02:33 <elliott> Oh, wait, that's with the lower clock speed.
19:02:40 <elliott> Phantom_Hoover_: I also upped the clock from 1.86 to 2.1 GHz, btw.
19:02:46 <elliott> In my defence, it has more cache.
19:03:06 <Phantom_Hoover_> elliott, I don't care! I have an aversion to spending monies!
19:03:13 -!- Phantom_Hoover_ has changed nick to Phantom_Scrooger.
19:03:25 <elliott> Phantom_Scrooger: Buy a ThinkPad! It costs slightly less than £expensive!
19:03:33 <elliott> Yes indeed: £expensive-minus-epsilon!
19:03:42 <elliott> But hey, it'll run Debian until Lenovo finally fuck it up for good.
19:03:50 <elliott> (In, say, five minutes.)
19:04:48 <elliott> Vorpal: Writing to argc -- am I a bad person?
19:10:53 * elliott WRITES A SHELL
19:11:00 <Vorpal> elliott, I need to know why you do it first
19:11:11 <elliott> Vorpal: to avoid allocating another integer
19:11:14 <elliott> on the stack
19:11:15 <Phantom_Scrooger> Vorpal, his own nefarious purposes, clearly.
19:11:23 <Phantom_Scrooger> elliott, don't do that!
19:11:28 <elliott> Phantom_Scrooger: WHY NOT MWAHAHAHA
19:11:33 <Phantom_Scrooger> Use argv[0]!
19:11:38 <Vorpal> elliott, shouldn't the compiler be able to optimise that by a simple variable liveness analysis?
19:11:45 <elliott> Phantom_Scrooger: that's not int-sized :P
19:11:58 <elliott> Vorpal: it's gcc, i don't trust it to optimise its way out of a paper bag
19:12:04 <Phantom_Scrooger> elliott, OK, use the high dword!
19:12:27 <elliott> need names for hell that aren't hades or nether
19:12:43 <elliott> maybe naraka
19:12:52 <Phantom_Scrooger> (LP64 IS THE ONLY TRUE 64-BIT SIZE SCHEME)
19:12:57 <elliott> shell -> sFOO
19:13:04 <oerjan> inferno
19:13:15 <elliott> Phantom_Scrooger: Psht, I use SLP64. Ints are of course 16-bit.
19:13:27 <elliott> Chars are 32-bits.
19:13:35 <elliott> long longs are 9 bits.
19:13:47 <elliott> oerjan: Sinferno? :D
19:14:00 <oerjan> huh?
19:14:07 <Phantom_Scrooger> elliott, Malebolge!
19:14:09 <elliott> oerjan: i'm writing a shell
19:14:13 <elliott> oerjan: s hell
19:14:15 <elliott> s inferno
19:14:16 <elliott> sinferno
19:14:17 <Vorpal> <elliott> Phantom_Scrooger: Psht, I use SLP64. Ints are of course 16-bit. <-- as awesome as that would be, I'm afraid C does not allow it
19:14:20 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
19:14:24 <oerjan> aha
19:14:26 <elliott> Vorpal: C doesn't allow plenty of things that people do :P
19:14:35 <oerjan> elliott: styx?
19:14:40 <Phantom_Scrooger> Smalebolge
19:14:44 <Phantom_Scrooger> Tartarus!
19:14:45 -!- poiuy_qwert has joined.
19:14:47 <Phantom_Scrooger> Startarus!
19:14:48 <oerjan> it's not precisely hell, but close enough
19:14:53 <Phantom_Scrooger> Selysium!
19:14:53 <elliott> oerjan: http://www.zymondo.com/georgekeys/00Pics/StyxBabe.jpg
19:14:58 <Vorpal> elliott, well I never heard about anyone breaking the rules it put down on char/short/int/long sizes :P
19:15:10 <elliott> I think I might go with hades actually
19:15:11 <elliott> Shades
19:15:23 <elliott> See, now even Greeks can use it!
19:15:32 <elliott> Just pretend it refers to all the different shades of horror this shell gives.
19:15:48 <coppro> Sgeo: retrieved from swap
19:16:05 <Sgeo> m?
19:16:35 <elliott> Vorpal: EXAMPLE SHADES CODE
19:16:44 <coppro> Sgeo: you were paging me
19:16:45 <elliott> foo \ \ x
19:16:47 <coppro> and I can't resist a pun
19:16:48 <elliott> this is the same as the sh code
19:16:51 <coppro> elliott: that looks like perl 6
19:16:53 <elliott> foo ' ' '' x
19:17:01 <Vorpal> elliott, uh
19:17:02 <elliott> THE RULES ARE SIMPLE
19:17:06 <coppro> * * *** ** * ** * * * * * ** ** **** ** ** ** ** *
19:17:10 <elliott> \ followed by anything adds that char to the current command
19:17:19 <elliott> anything but a space adds that char to the current command
19:17:23 <elliott> space moves on to the next command
19:17:25 <Vorpal> elliott, is this a shell in the same sense as /bin/sh?
19:17:28 <elliott> yes
19:17:29 <elliott> excep
19:17:30 <elliott> t
19:17:34 <elliott> not to be used as /bin/sh
19:17:39 <elliott> it's meant for writing simple init scrpts
19:17:40 <elliott> *scripts
19:17:46 <elliott> to avoid the slowness of /bin/sh :D
19:17:55 <Vorpal> elliott, ahahahaha
19:17:55 <elliott> fefe did it, so I can!
19:17:59 <elliott> Vorpal: FEFE DID IT SO I CAN
19:18:02 <Vorpal> elliott, fefe?
19:18:08 <elliott> of dietlibc fame.
19:18:16 <Vorpal> elliott, also will it integrate into init then, or how will you make it fast
19:18:25 <elliott> by doing less obvs
19:18:32 <Vorpal> obvs?
19:18:35 <elliott> obviously
19:18:37 <elliott> fefe's is called serdo
19:19:07 <elliott> serdo has a bit of bloat though, it can do "cd" and "export"
19:19:19 <Vorpal> elliott, cd is probably a good idea
19:19:26 <elliott> well, yes :P
19:19:26 <Vorpal> elliott, also I doubt that adds much if it isn't used
19:19:32 <elliott> I think I'll make every assignment an export
19:19:33 <elliott> foo=x
19:20:01 <Vorpal> elliott, in fact you need cd if you plan to handle any sort of daemon that wants to be chrooted
19:20:16 <elliott> Vorpal: well yes. note that init scripts aren't services
19:20:31 <elliott> in fact most services will probably have their "run" linked to an actual command plus a "params" file with parameters to it
19:20:33 <Vorpal> elliott, oh so this is not for starting daemons?
19:20:38 <elliott> (idea to avoid pointless shell invocations stolen from fefe's minit)
19:20:39 <Vorpal> elliott, but rather, for the stuff before that?
19:20:45 <Vorpal> like, the fsck and so ojn
19:20:46 <Vorpal> on*
19:20:47 <elliott> Vorpal: yes, /etc/rc/start.
19:20:55 <elliott> Vorpal: of course it might still be useful for starting daemons in a lot of cases.
19:25:51 <elliott> Can someone please move the ctrl key on my keyboard to somewhere I can press without getting RSI.
19:25:55 <coppro> http://news.slashdot.org/story/10/12/31/1254208/One-Tip-Enough-To-Put-Name-On-Terrorist-Watch-List?from=rss
19:26:08 <coppro> I am tempted to go tip them off about the director of DHS being a potential terrorist or something
19:26:19 <coppro> or maybe a republican senator nobody's heard of
19:28:16 <elliott> Oh wow.
19:28:25 <elliott> Emacs is so much nicer when you bind ctrl to the key right next to your spacebar.
19:28:29 <elliott> i.e. alt on pc, cmd on mac.
19:29:21 <Phantom_Scrooger> elliott, I just bind it to caps lock.
19:31:15 <coppro> hmm
19:31:22 <coppro> vim doesn't bind meta by default, does it?
19:31:41 -!- wareya has joined.
19:31:55 -!- elliott has quit (Remote host closed the connection).
19:33:03 -!- elliott has joined.
19:33:07 <coppro> vim doesn't bind meta by default, does it?
19:33:18 <elliott> well meta = esc
19:33:19 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
19:33:27 <elliott> as far as vim is concerned
19:33:35 <elliott> Phantom_Scrooger: caps lock as ctrl is not really ergonomic
19:33:54 <coppro> elliott: uh what
19:33:55 <Phantom_Scrooger> elliott, it's all right.
19:34:05 <elliott> coppro: uh yes.
19:34:08 <coppro> elliott: uh no
19:34:16 <Phantom_Scrooger> elliott, far less hand movement needed.
19:34:33 <elliott> coppro: whoops look at that i denied accepted UNIX-WIZZARD wisdom i must be wrong
19:34:36 -!- wareya_ has quit (Ping timeout: 240 seconds).
19:34:39 <elliott> time to say uh no condescendingly
19:34:42 <Phantom_Scrooger> Wait, not if you have your thumb over it,
19:34:45 <Phantom_Scrooger> *.
19:34:53 <coppro> elliott: the meta key is absolutely different from the escape key in vim
19:34:54 -!- poiuy_qwert has joined.
19:34:58 <elliott> oh /that/
19:35:04 <elliott> coppro: not as far as terminals are concerned, lol.
19:35:07 <coppro> I have just verified this experimentally
19:35:08 <elliott> coppro: Alt+x sends ^[x
19:35:11 <elliott> ESC sends ^[
19:35:18 <elliott> coppro: yes, vim waits a short amount of time before accepting esc
19:35:25 <elliott> try pressing esc and then another key really quickly
19:35:28 <elliott> this is also how it handles arrow keys.
19:36:03 <coppro> ah
19:46:20 <elliott> psht, serdo is more ADVANCED than my script
19:46:31 <elliott> it has quotes and all
19:47:10 <Phantom_Scrooger> serdo?
19:49:54 <elliott> Phantom_Scrooger: this thing
19:50:03 <elliott> is ARG_MAX based on the sum of the arg lengths, or is it just the number of max args?
19:50:20 <Phantom_Scrooger> The latter, I should think.
19:50:37 <Phantom_Scrooger> After all, nowhere does it say that argv must be contiguous.
19:52:14 <elliott> Phantom_Scrooger: I think it's the former, actually.
19:52:21 <elliott> Since people refer to it as kilobytes.
19:52:30 <Phantom_Scrooger> elliott, size of argv?
19:52:38 <elliott> Phantom_Scrooger: Size of all the arguments together.
19:52:39 <elliott> I think.
19:52:43 <elliott> Who knows.
19:53:19 -!- poiuy_qwert has quit (Read error: Connection reset by peer).
19:54:56 -!- poiuy_qwert has joined.
19:59:38 <fizzie> "Maximum length of argument to the exec functions including environment data."
19:59:51 <fizzie> (Is how POSIX defines it.)
20:01:48 <Phantom_Scrooger> So size of argv.
20:02:06 <Phantom_Scrooger> Well, argv+envp
20:02:57 <variable> coppro, the value is typically ASCII + 64
20:03:05 <variable> so 0 = ^@
20:03:10 <variable> and the rest go from there
20:04:00 <elliott> variable: that's for ctrl.
20:04:03 <elliott> we're talking about meta
20:04:06 <elliott> well, were.
20:04:18 <elliott> fizzie: it's kind of weird, since argv is really just an array of random pointers.
20:04:25 <elliott> i guess it might just mean that
20:04:37 <elliott> easy to test by measuring i guess but i'm laz
20:04:38 <elliott> y
20:06:38 -!- Phantom_Scrooger has quit (Ping timeout: 240 seconds).
20:10:38 <elliott> Vorpal: p.s. static linking speeds bootup
20:11:30 <Gregor> OMG, bootup speed? HOORAY
20:11:34 <elliott> Gregor: YES I KNOW
20:11:39 <elliott> Gregor: Small victories, my friend.
20:11:41 <elliott> Small victories!
20:11:48 <elliott> Gregor: (I'm really just trollin' Vorpal)
20:16:26 <elliott> hmm
20:16:30 <elliott> why isn't this output appearing after a fork()
20:18:04 -!- Phantom_Scrooger has joined.
20:20:19 <elliott> Phantom_Scrooger: fix my porgram
20:21:14 <Phantom_Scrooger> elliott, humbug!
20:22:43 <Sgeo> My biggest concern with Newspeak is that it might be a headache to write small programs
20:22:50 <Sgeo> Quick hacks, etc
20:23:04 <Phantom_Scrooger> Sgeo, my biggest concern with Newspeak is that you haven't shut up about it.
20:29:20 -!- shutup has joined.
20:29:25 <elliott> Sgeo: So what's your current language obsession again?
20:30:32 <elliott> Sgeo: Mm?
20:31:05 -!- ais523 has quit (Remote host closed the connection).
20:31:23 <elliott> Sgeo: ...
20:32:50 -!- shutup has quit (Remote host closed the connection).
20:32:57 -!- shutup has joined.
20:33:00 <Sgeo> Well, some things about Racket are getting on my nerves. Well, one thing about Racket. But the thing is, it's something that's been praised
20:33:01 <shutup> Sgeo: Shut up about Racket!
20:33:19 <Sgeo> Newspeak
20:33:19 <shutup> Sgeo: Shut up about Newspeak!
20:33:23 <Sgeo> asdf
20:33:28 <Sgeo> Asdf
20:33:33 <Sgeo> Smalltalk
20:33:33 <shutup> Sgeo: Shut up about Smalltalk!
20:33:35 <Sgeo> Factor
20:33:36 <shutup> Sgeo: Shut up about Factor!
20:33:40 <Sgeo> Agda
20:33:52 <Sgeo> COBOL
20:33:55 <Sgeo> !
20:34:04 <Sgeo> Python
20:34:05 <Phantom_Scrooger> Sgeo, you seriously liked Agda?
20:34:10 <Sgeo> Phantom_Scrooger, no
20:34:25 <Sgeo> I'm just testing elliott's bot
20:35:13 <Sgeo> Scheme
20:35:14 -!- Phantom_Scrooger has changed nick to Sgeo_exceptnotre.
20:35:17 <Sgeo> LSL
20:35:21 <Sgeo_exceptnotre> Smalltalk
20:35:22 <shutup> Sgeo: Shut up about Smalltalk!
20:35:24 <Sgeo> Active Worlds
20:35:29 <Sgeo> !!!
20:35:33 <Sgeo_exceptnotre> Factor.
20:35:33 <shutup> Sgeo: Shut up about Factor!
20:35:48 -!- shutup has quit (Remote host closed the connection).
20:35:52 -!- shutup has joined.
20:35:59 <Sgeo> Active Worlds
20:36:00 <shutup> Sgeo: Shut up about Active Worlds!
20:36:00 <Sgeo_exceptnotre> ActiveWorlds
20:36:13 <Sgeo> BF-RLE
20:36:25 <Sgeo> Also, you really had to restart the bot to add a term?
20:36:37 -!- shutup has quit (Remote host closed the connection).
20:36:41 -!- shutup has joined.
20:36:41 <elliott> Sgeo: Hmm. Tell me,
20:36:49 <elliott> Sgeo: What language feature would I need to be able to add a term without restarting the bot?
20:36:54 <Sgeo_exceptnotre> Active Worlds
20:37:14 <elliott> Sgeo: It's that one you were complaining about Racket not having, yeah? What's its name again?
20:37:21 <Sgeo> elliott, I know what you think my answer would be, but I'm aware that it's a wrong answer
20:37:22 <Sgeo_exceptnotre> Hotswapping?
20:37:22 <shutup> Sgeo: Shut up about AW!
20:37:26 -!- poiuy_qwert has quit (Ping timeout: 260 seconds).
20:37:31 <elliott> Sgeo: No, please tell me, I want to know.
20:37:48 <elliott> (Note to self: Matching "aw" in the message: not a good idea?)
20:37:53 <Sgeo_exceptnotre> No.
20:37:59 <Sgeo_exceptnotre> Awwww!
20:38:14 <elliott> Sgeo: Please, tell me!
20:38:15 <Sgeo> I'll say it if you clarify that it's not my answer to your question.
20:38:16 <Sgeo_exceptnotre> A hypothetical kitten!
20:38:20 <elliott> Sgeo: Certainly.
20:38:28 -!- Sgeo_exceptnotre has changed nick to Phantom_Hooer.
20:38:31 -!- Phantom_Hooer has changed nick to Phantom_Hoover.
20:38:33 <Sgeo> Hotswapping
20:38:40 <Sgeo> ...the bot's dead
20:38:48 <Sgeo> That's the only reasonable conclusion
20:38:52 <elliott> whut.
20:38:57 <elliott> I put hotswapping in.
20:39:02 <Sgeo> hotswapping
20:39:05 <Sgeo> hotswap
20:39:14 <Sgeo> Smalltalk
20:39:15 <shutup> Sgeo: Shut up about Smalltalk!
20:39:28 <Sgeo> smalltaLk
20:39:30 <shutup> Sgeo: Shut up about Smalltalk!
20:43:51 -!- shutup has quit (Ping timeout: 246 seconds).
20:45:03 -!- shutup has joined.
20:45:23 <elliott> There.
20:45:33 <Sgeo> hotswap
20:45:36 <Sgeo> hotswaping
20:45:38 <Sgeo> hotswapping
20:45:38 <shutup> Sgeo: Shut up about hotswapping!
20:46:05 <oerjan> swathopping
20:47:23 <elliott> Sgeo: So what's that old game you like?
20:48:50 <oerjan> Lazy Planets
20:48:51 <Sgeo> Mutation
20:48:54 <Sgeo> ...
20:48:59 <Sgeo> Evolution
20:49:04 <Sgeo> Cybertown
20:49:07 <Sgeo> Creatures
20:49:11 <elliott> Sgeo: No, the old game you like.
20:49:11 <Sgeo> Docking Station
20:49:21 <elliott> That one that's like Minecraft without any of the fun bits.
20:49:33 <Sgeo> I said that already
20:49:33 <Sgeo> BRB
20:49:49 <elliott> Sgeo: I'm trying to make you test it, dammit.
20:50:00 <elliott> It only listens to you -- the saddest life a bot can have.
20:50:40 <Sgeo> Active Worlds
20:50:41 <shutup> Sgeo: Shut up about Active Worlds!
20:50:48 <Sgeo> AW
20:50:49 <shutup> Sgeo: Shut up about Active Worlds!
20:51:42 <Sgeo> Falcon
20:51:45 <Sgeo> Falcorn
20:51:47 <Sgeo> Falctorn
20:56:21 <elliott> Any suggestions to add to shutup's table are welcome.
20:57:45 <Phantom_Hoover> PSOX would qualify if he ever talked about it without it being tongue-in-cheek.
20:58:27 <elliott> Phantom_Hoover: Oh, believe me, he used to.
20:58:42 <Phantom_Hoover> Yes, I know that, but he's stopped.
21:03:00 <Sgeo> PSOX
21:03:03 <Sgeo> Huh
21:03:24 <Sgeo> Hey, I not that long ago was talking about PSOX2
21:03:55 <Phantom_Hoover> elliott, add it. Add it now.
21:04:19 -!- shutup has quit (Remote host closed the connection).
21:04:22 <elliott> Done.
21:04:27 <Sgeo> I think it was then suggested to me that I just make a way for various esolang programs to talk to eachother
21:04:35 <Sgeo> Instead of what I had planned
21:04:51 -!- shutup has joined.
21:04:55 <Sgeo> PSOX
21:04:56 <shutup> Sgeo: Shut up about PSOX! I don't care if you're joking! Just shut up!
21:05:17 <elliott> Sgeo: It was suggested by cpressey, who already tried implementing it.
21:05:30 <elliott> That was what catbus was.
21:05:40 <Sgeo> was?
21:07:17 -!- shutup has quit (Remote host closed the connection).
21:07:22 -!- shutup has joined.
21:07:27 <Phantom_Hoover> Sgeo, god, what /was/ that game you only played due to a burgeoning sense of nostalgia?
21:07:43 <Sgeo> Cybertown. I said that already
21:07:52 <Phantom_Hoover> No, no, no, the other one.
21:07:59 <Phantom_Hoover> Actsomething.
21:08:06 <oerjan> Passive Dimensions
21:08:18 <Sgeo> Flatland?
21:08:25 <elliott> Actsomething = Flatland!
21:08:30 <elliott> A, c, t, tland. Flatland.
21:08:34 <Phantom_Hoover> Sgeo, you can't win.
21:08:41 <Phantom_Hoover> We have POWERS
21:08:47 -!- ChanServ has set channel mode: +o oerjan.
21:08:52 <Phantom_Hoover> Uh-oh.
21:08:53 <oerjan> INDEED
21:08:56 * Phantom_Hoover ducks
21:08:57 <elliott> oerjan: Weak-head-normal-form domains.
21:09:06 <oerjan> ...what?
21:09:13 <elliott> oerjan: Active Worlds.
21:09:17 <elliott> -> Lazy Domains.
21:09:21 <elliott> -> Weak-head-normal-form Domains.
21:09:27 * Phantom_Hoover jumps back up.
21:09:59 <elliott> Sgeo: What was that name? Starts with an Active, ends with a Worlds.
21:10:12 <Sgeo> Active Worlds
21:10:13 <shutup> Sgeo: Shut up about Active Worlds! One day the servers will go down, and NOBODY WILL CARE! The 90s are over! Move on!!
21:10:19 -!- oerjan has set channel mode: +b *!*shutup@91.105.67.*.
21:10:21 <elliott> Oh, man, it duplicates the apostrophe.
21:10:22 <elliott> That's a mistak.
21:10:24 <elliott> *mistake.
21:10:25 <oerjan> WHOOPS
21:10:30 * Phantom_Hoover ducks
21:10:32 <elliott> oerjan: I was going to move it to a server anyway. :)
21:11:14 <Sgeo> Some of AW's best moments were in this past decade
21:12:26 <Phantom_Hoover> Sgeo, lemme guess, all of them before '05.
21:12:53 <Sgeo> I wasn't around that much after '05, so I don't know
21:14:43 -!- oerjan has set channel mode: -o oerjan.
21:14:59 -!- Phantom_Hoover has changed nick to shutup.
21:15:12 <shutup> Hmm.
21:15:26 <shutup> !echo `echo ^echo echo
21:15:41 <EgoBot> `echo ^echo echo
21:15:45 <HackEgo> ^echo echo
21:15:56 -!- shutup has changed nick to Phantom_Hoover.
21:16:05 <Sgeo> Hmmmm
21:16:34 <Sgeo> I'm not smart enough to do what I want to do. Probably a good thing, as I'd get kicked anyway probably.
21:16:45 <Phantom_Hoover> What do you want to do?
21:17:13 <fizzie> Thanks to:
21:17:14 <fizzie> ^ignore
21:17:14 <fungot> ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot)!
21:17:19 <fizzie> You may wish to start with ^echo.
21:17:26 <fizzie> I guess the other bots are less picky.
21:17:38 <elliott> wtf is sparkbot
21:17:50 <fizzie> I don't know.
21:17:58 <Phantom_Hoover> ^echo !echo `echo echo
21:17:58 <fungot> !echo `echo echo !echo `echo echo
21:17:58 <EgoBot> `echo echo !echo `echo echo
21:17:59 <HackEgo> echo !echo `echo echo
21:18:12 <elliott> fungot echoes twice.
21:18:13 <fungot> elliott: i mean, ok, i won't find about about call sites which need changing of the instruction struct?
21:18:15 <elliott> You mean ^cat.
21:18:16 <elliott> ^cat x
21:18:16 <fungot> x
21:18:18 <Sgeo> Phantom_Hoover, quine-like to get two bots in an infinite loop
21:18:24 <Phantom_Hoover> ^cat !echo `echo echo
21:18:24 <fungot> !echo `echo echo
21:18:25 <EgoBot> `echo echo
21:18:26 <HackEgo> echo
21:18:26 <elliott> hmm. cat should output "meow" after :)
21:18:26 <fizzie> Yes, that's also a truth.
21:18:29 <elliott> AMIRITE
21:18:38 <elliott> Sgeo: dude, we've done those billions of times.
21:18:39 <Phantom_Hoover> Sgeo, we have repeatedly tried that, and as such it has been prevented.
21:18:46 <Sgeo> Oh
21:18:48 <Sgeo> >.>
21:19:29 <Phantom_Hoover> `echo !echo EgoBot? fungot? Don't you love me any more?
21:19:30 <HackEgo> !echo EgoBot? fungot? Don't you love me any more?
21:19:30 <fungot> Phantom_Hoover: since lisp is so fractured into at least two more, and primarily) useful for development within it. how many do you have a lot of the design
21:20:01 -!- shutup has joined.
21:20:02 <Phantom_Hoover> Note that neither fungot nor EgoBot like HackEgo.
21:20:03 <fungot> Phantom_Hoover: sigill is for making egobot use special characters, and work is ongoing on lispworks)) will make it easy to learn because it does
21:20:08 <elliott> It's less yelly now. :p
21:20:25 <Phantom_Hoover> fungot hates all other bots, though, since he was raised by humans.
21:20:25 <fungot> Phantom_Hoover: it would be
21:20:32 <elliott> fungot: Indeed.
21:20:33 <fungot> elliott: ruby for example has a coding standard. i ignored it for a couple of esoteric programs have turned up here: fnord/ cgi-bin/ fnord)
21:20:43 <elliott> Ignoring coding standards is a good idea for esoteric programs.
21:20:48 <fizzie> ^ul (^ul )(+ul )(~:SaS~aSaS(:^)S):^
21:20:48 <fungot> +ul (+ul )(^ul )(~:SaS~aSaS(:^)S):^
21:20:54 <fizzie> That used to work.
21:21:03 <fizzie> I already forget who did +ul, though.
21:21:03 <elliott> Phantom_Hoover: the reason nobody likes hackego is because it only talks in code
21:21:09 <elliott> admittedly EgoBot does too but shut up
21:23:42 <oerjan> fizzie: thutubot
21:23:49 <fizzie> oerjan: Oh, of course.
21:25:02 <fizzie> ^ul (^ul )(!underload )(~:SaS~aSaS(:^)S):^
21:25:03 <fungot> !underload (!underload )(^ul )(~:SaS~aSaS(:^)S):^
21:25:03 <EgoBot> ^ul (^ul )(!underload )(~:SaS~aSaS(:^)S):^
21:25:08 <Gregor> "It only talks in code" guh?
21:25:15 <fizzie> There, without the ignores that would go on and on.
21:25:15 <elliott> Gregor: SHUT UP
21:25:18 <elliott> fungot talks in happy.
21:25:19 <fungot> elliott: i do that sometimes, switching between cl and scheme)."
21:29:16 <Phantom_Hoover> ^style
21:29:16 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
21:29:23 <Phantom_Hoover> ^style jargon
21:29:23 <fungot> Selected style: jargon (UNIX-HATERS mailing list archive)
21:29:29 <Gregor> `echo I'M BETTAR
21:29:30 <HackEgo> I'M BETTAR
21:29:33 <Phantom_Hoover> fungot, what do you hate?
21:29:33 <fungot> Phantom_Hoover: if ( ++sincereal 25) goto oops; for
21:29:40 <Phantom_Hoover> HackEgo, NO YOU AREN'T
21:30:16 <Gregor> `echo Phantom_Hoover: YES I AM
21:30:17 <HackEgo> Phantom_Hoover: YES I AM
21:30:26 <elliott> fungot: Selected style: jargon (UNIX-HATERS mailing list archive)
21:30:27 <fungot> elliott: you know what kind of like that) which is actually a very likely that confusion would result in the right solution is to traditional ( i.e., " owner-wimpy",
21:30:37 <elliott> I love how that didn't get renamed when I made fizzie get rid of the Jargon File :-P
21:30:46 <elliott> (Although I do believe I just asked for the pre-esr one.)
21:32:09 <nooga> well
21:32:26 <nooga> i can't imagine an unix hater
21:32:39 <Gregor> I guess I should be unsurprised that bacon chocolate isn't sweet at all.
21:32:53 <nooga> bacon chocolate?
21:32:57 <elliott> Gregor: You bought it? <3
21:32:59 <elliott> Gregor: I got it for Christmas.
21:33:00 <nooga> urgh, only in USA :F
21:33:02 <elliott> Gregor: Which brand which brand
21:33:04 <Gregor> elliott: Got it for Jesusmas.
21:33:07 <elliott> nooga: No. Not only in USA.
21:33:10 <elliott> Gregor: Which brand is it that one starting with V
21:33:11 <nooga> blargh
21:33:15 <Gregor> elliott: Vosges
21:33:16 <elliott> nooga: Trust me, it is gorgeous.
21:33:17 <elliott> Gregor: YES
21:33:21 <elliott> Gregor: It is amazing isn't it <333
21:33:24 <elliott> I legitimately love it
21:33:34 <elliott> The saltiness is SO GOOD with the chocolate taste
21:33:37 <nooga> i ate milk chocolate with mandels and rock salt
21:33:41 <nooga> in norway
21:33:43 <Gregor> It's ... not as good w.r.t. chocolate as baconnaise is w.r.t mayonnaise :P
21:33:49 <nooga> it was suprisingly delicious
21:34:02 <elliott> Gregor: Dude. Excuse me. It is amazing.
21:34:08 <elliott> Gregor: You have been letting it MELT right
21:34:11 <elliott> And waiting for the aftertaste
21:34:29 <elliott> Gregor: P.S. small bites (Americans don't know how to eat real chocolate)
21:34:32 <elliott> (Because they have never seen it
21:34:33 <elliott> )
21:34:35 <Gregor> I pretty much shove foot directly down my throat with no chewing.
21:34:44 <Gregor> ....
21:34:48 <elliott> xD
21:34:49 <Gregor> That worked surprisingly well for a typo.
21:35:00 <elliott> Gregor: More seriously though, ... no, don't do that with good chocolate.
21:35:11 <Gregor> That was called a JOKE.
21:35:17 <Gregor> Even in the non-foot sense :P
21:35:18 <elliott> Gregor: Dude, you're American.
21:35:24 <elliott> Gregor: Of course it wasn't a joke.
21:36:47 <Gregor> Considering http://www.scottevest.com/v3_store/Expedition-Jacket.shtml
21:37:10 <nooga> hm
21:37:59 <Gregor> My current jacket has 19 pockets and removable sleeves, but it keeps falling apart ... it's also less expensive.
21:38:17 <nooga> i drink beer after beer and eat tuna salad
21:38:56 <nooga> and then cheap champagne
21:39:13 <nooga> and then i will code
21:39:58 <elliott> Gregor: 37 mothafuckin' pockets.
21:40:03 <elliott> You ... do not need that many pockets.
21:40:30 <nooga> who needs jackets
21:40:41 <Sgeo> If you're going to have more than one pocket, you should have a potentially infinite amount!
21:40:45 <Gregor> elliott: It's not considered socially acceptable for a man to carry a purse!
21:41:06 <elliott> Gregor: Clearly you must become a woman!
21:41:12 <nooga> i use two pockets: one for wallet and keys and one for cellphone
21:41:18 <Gregor> I use all of my 19 except for one inner pocket and the back pocket. The back pocket because it's useless, the inner pocket because I use the other one 'til it falls apart, then switch.
21:41:23 <nooga> and then maybe one for cigarretes and lighter
21:42:09 <nooga> now i have this cursed blueberry bold
21:42:29 <nooga> and it sucks compared to my old ericsson w200i
21:42:35 <nooga> it's bigger
21:42:49 <Vorpal> <elliott> Gregor: 37 mothafuckin' pockets. <-- awesome
21:42:52 <nooga> and it's harder to send a text message
21:43:42 <Gregor> Pocket uses: (USB thumbdrives, camera batteries, other electrogadgets), (change), (student ID and/or bus pass), (pencils/pens), (tripod), (camera), (pocket reserved for unexpected carryables), (recycling when no bin is about), (papers to keep), (larger electrogadgets), (wallet), (passport)
21:44:02 <Gregor> Admittedly that's only 12/19, I'd have to look at the jacket to remember what I use the others for :P
21:44:08 <Gregor> Most are used though.
21:44:09 <elliott> Gregor: Dude, you have ... way too many possessions.
21:44:22 <elliott> Or, at least, way too many possessions on ha- why do you carry a tripod everywhere.
21:44:30 <Gregor> It's a small tripod!
21:44:47 <Vorpal> Gregor, "Travel around town or around the world" it says under "Key Features" (gah text as image, hate that). Does that mean the travel is included in the jacket somehow?
21:44:47 <Gregor> Also, I missed my phone on that list lawl, that's a pocket too :P
21:44:54 <Vorpal> Gregor, if so, can you opt out?
21:44:58 <Gregor> Oh, I missed my keys! Yeesh!
21:45:09 <Gregor> (Vorpal said "key" :P )
21:45:36 <Gregor> Oh yeah, and two hand pockets.
21:45:40 <elliott> Gregor: Fill up the rest of your pockets with a wearable computer.
21:45:48 <elliott> You could practically carry an i7 rig around in that jacket you're considering :P
21:45:58 <Vorpal> Gregor, "(student ID and/or bus pass)" "(passport)" <-- don't both of those go into wallet?
21:46:13 <Gregor> elliott: I assume by "practically" you actually mean "practically", as in "it would be practical"
21:46:34 <elliott> Gregor: ABSOLUTELY.
21:46:42 <Vorpal> Gregor, "(larger electrogadgets)" <-- such as?
21:46:47 <Gregor> Vorpal: The former I have in a surface pocket for quick access. The latter ... who the hell has a wallet big enough for a passport?
21:47:03 <Vorpal> Gregor, fair enough, but who carries passport around everywhere
21:47:12 <Gregor> Vorpal: E-Reader, or sometimes nonelectrogadgets such as a book :P
21:47:14 <Vorpal> Gregor, also what do you do during hot summer days?
21:47:37 <Vorpal> Gregor, another thing: backpack. Tried it?
21:47:44 <Gregor> Vorpal: During hot summer days I take off the sleeves. My passport pocket is reserved for my passport because I so frequently travel, although I of course don't have my passport when I'm not at least out-of-state.
21:47:52 <Gregor> Backpacks suck. I hate them with hatred.
21:48:05 <Vorpal> Gregor, you need passport to travel between states in US?!
21:48:16 <elliott> You need a passport to turn into a goat in the US.
21:48:32 <Gregor> Vorpal: No, but it would not be the first time that I'd found myself unexpectedly going to Canada whilst on another trip.
21:49:08 <Vorpal> Gregor, okay, why do backpacks suck? They are good for carrying laptop in (if you have a pocket large enough to carry a 15" laptop in I will be impressed. And also worried about the uneven load.)
21:49:12 <elliott> Gregor: First you have a few drinks... and then you're walking and you're not sure where you are ... next thing you know, you wake up in Canada.
21:49:21 <Vorpal> elliott, :D
21:49:22 <Gregor> 15" laptops suck :P
21:49:27 <elliott> You turn to look beside you, where in bed there lies a grizzly bear.
21:49:28 <Vorpal> Gregor, 17" then?
21:49:32 <elliott> And then you get mauled to death.
21:49:33 <Gregor> 17" laptops suck more
21:49:34 <elliott> Happens to me all the time!
21:49:46 <Vorpal> elliott, no, a mounty! (sp)
21:49:58 <elliott> Well, I gather there was a lot of mounting going on the previous night with that bear.
21:50:20 <Vorpal> Gregor, so what laptop size do you prefer
21:50:26 -!- Mathnerd314 has joined.
21:50:39 <Gregor> Vorpal: As small as you can fit a full-size keyboard onto.
21:50:52 <elliott> Which is why Gregor just bought an 11" MacBook Air.
21:50:52 <Vorpal> Gregor, without numpad I presume?
21:51:00 <Gregor> Vorpal: Without numpad.
21:51:06 <Gregor> elliott: It also has to be a legit laptop :P
21:51:08 <elliott> No, with numpad. You pull it out the side!
21:51:20 <Vorpal> Gregor, never felt a need for large screen area?
21:51:21 <Gregor> I have a 12" ... I think? Maybe 13" :P
21:51:25 <Gregor> Vorpal: Not one iota.
21:51:33 <elliott> Gregor: I would argue the issue on this MacBook Air, but I have the 13", which you can actually pay more to get a decent laptop :P
21:51:41 <Vorpal> Gregor, so you would be happy with a 640x480 2" display?
21:51:45 <Vorpal> (very high DPI)
21:51:54 <elliott> Don't need large != fine with tiny.
21:51:59 <Gregor> Vorpal: That is one crazy-high DPI. Strap that on a headgear and I'd love it :P
21:52:06 <Vorpal> elliott, well duh, I'm joking
21:52:11 <Vorpal> Gregor, :D
21:52:16 <elliott> Yes, but it wasn't funny.
21:52:34 <Gregor> My desktop had a 12" screen for ... good lord, years.
21:52:36 <Vorpal> nice google logo today
21:52:44 <Gregor> It finally died and I bought the smallest screen I could find, 19"
21:52:50 <Vorpal> GMMXLe
21:52:51 <Gregor> (Find on short notice that is)
21:53:10 <elliott> *MMXI
21:53:13 <elliott> You moron.
21:53:13 <Vorpal> wait, the l should be lower case
21:53:16 <elliott> It's an I.
21:53:18 <elliott> As in capital I.
21:53:23 <Vorpal> ah
21:53:27 <elliott> If not, Google would be celebrating 2010 at the LAST POSSIBLE MOMENT.
21:53:30 <elliott> Which would be hilarious, but no :P
21:53:43 <Gregor> WOOH 2010 YAAoh it's gone.
21:54:01 <Vorpal> elliott, their xmas logo was not recognisable as google IMO.
21:54:17 <Gregor> People seem to think it was some kind of secret code.
21:54:23 <Gregor> I'm gonna go with "no" on that :P
21:54:25 <Vorpal> (btw, http://www.google.com/logos/2010/culturetour10-hp.jpg)
21:54:29 <Vorpal> Gregor, the logo?
21:54:30 -!- elliott has quit (Read error: Connection reset by peer).
21:54:30 <Vorpal> or what?
21:54:31 -!- elliott_ has joined.
21:54:35 <elliott_> OK, guys.
21:54:37 <Gregor> Vorpal: The Jesusmas logo.
21:54:53 <Vorpal> Gregor, well it doesn't contain google anywhere in it that I can see.
21:55:00 <elliott_> What does it mean if your laptop's screen spontaneously turns bright magenta, fixed instantly by a reboot, and then two days later, turns teal/blue, fixed instantly by a reboot?
21:55:01 <Gregor> Vorpal: I'm not disputing that :P
21:55:02 <elliott_> I didn't press anything.
21:55:06 <elliott_> WHAT DOES IT MEAN.
21:55:20 <Gregor> elliott_: It means God has chosen you to go on a quest to find the Holy Grate.
21:55:22 <Vorpal> Gregor, that guy in the picture near the middle, when I first spotted it I went like "mario without his hat?"
21:55:28 <elliott_> Gregor: THOUGHT SO but really
21:55:30 <elliott_> should I worry for my laptop
21:55:49 <Vorpal> <elliott_> What does it mean if your laptop's screen spontaneously turns bright magenta, fixed instantly by a reboot, and then two days later, turns teal/blue, fixed instantly by a reboot? <-- use warranty presumably
21:55:53 <Vorpal> but google for it first
21:56:02 <Gregor> elliott_: Well your laptop, being a messenger of God, is unfortunately doomed to burn in Hell for all ternity.
21:56:07 <elliott_> Vorpal: I am not sure if this thing came with a warranty :P
21:56:11 <elliott_> I didn't sign up for AppleCare.
21:56:18 <elliott_> Kind of hard to google for, but I can't /find/ anything.
21:56:31 <elliott_> By "turns", I mean literally whole screen fill. Instantly.
21:56:32 <elliott_> While typing.
21:56:44 <Vorpal> elliott_, at least in Sweden you will by law get at least n months of warranty (where n depends on type of product)
21:56:56 <elliott_> This is Apple, they don't care about no laws!
21:57:11 <Vorpal> elliott_, well they have to. Or they would get into legal problems.
21:57:28 <Vorpal> like, being forbidden from operating in the country in question
21:57:29 <elliott_> Apple laughs in the face of legal problems!
21:57:38 <elliott_> But yeah probably there is a warranty.
21:57:44 <elliott_> I'll give it a week or so to see if it keeps happening though.
21:57:48 <elliott_> It may be an OS X bug, after all.
21:57:57 <elliott_> I wouldn't expect two different colours from a hardware bug like that.
21:58:08 <Vorpal> elliott_, could be pretty random
21:58:18 <Vorpal> elliott_, I mean, if it is something glitchy
21:58:55 <elliott_> I'll be installing Ubuntu soon anyway.
21:58:58 <elliott_> So I'll see if it happens there.
21:59:13 <elliott_> Having said that, reboots happen in like 5 seconds total, so I'm not complaining :P
21:59:14 <elliott_> Woot SSDs.
21:59:21 <Vorpal> elliott_, anyway I can think of hardware issues that would give non-predictable results. Quite a few in fact. Most however involves analogue and a A/D converter
21:59:35 <Vorpal> elliott_, but it isn't orthogonally persistent!
21:59:38 -!- poiuy_qwert has joined.
21:59:45 <elliott_> Vorpal: No, but under @ it would be!
22:00:20 <elliott_> I wonder how fast a modern computer with a good SSD can random-read some fragmented 8 gigs from disk into RAM.
22:00:30 <Vorpal> elliott_, btw, I suspect ubuntu will boot a bit slower than 5 seconds
22:00:41 <Vorpal> elliott_, I mean, apple can fine tune for that exact hardware
22:01:02 <Vorpal> and apple spent a lot of time on such things anyway
22:01:27 <elliott_> Vorpal: Well, OS X boots fast on anyhting.
22:01:33 <elliott_> Vorpal: But Ubuntu, as of 10.10, boots fast on anything.
22:01:34 <elliott_> *anything.
22:01:41 <elliott_> Vorpal: It's not the OS, it's the SSD :-P
22:01:48 <elliott_> My iMac was 10x slower because of the disk churning.
22:02:10 <Vorpal> elliott_, is 10.10 much faster than 10.04?
22:02:20 <Vorpal> elliott_, 10.04 spends most time on my thinkpad in readahead
22:02:35 <elliott_> Vorpal: They spent a lot of time with 10.04 and 10.10 optimising the bootup.
22:02:44 <Vorpal> elliott_, right.
22:08:29 -!- SimonRC has quit (Ping timeout: 255 seconds).
22:10:13 * oerjan wonders if Vorpal could see that the google christmas logo had expandable pictures...
22:13:34 <Vorpal> oerjan, it did?
22:13:58 <oerjan> yes. but i thought maybe that was javascript so you didn't see it...
22:14:22 <Vorpal> oerjan, ah. What were they like
22:14:42 <oerjan> each of those pictures grew in size when you hovered over them
22:14:53 <oerjan> showing a larger scene
22:14:54 <Vorpal> oerjan, containing google logo somewhere?
22:15:07 <oerjan> ...not that i recall
22:15:10 <Vorpal> ah
22:15:33 -!- SimonRC has joined.
22:15:41 <fizzie> Vorpal: Yet another hotel-visit balcony view panorama thing: http://zem.fi/~fis/P1080159-173.jpg
22:19:39 <Vorpal> fizzie, loading
22:19:52 <Vorpal> fizzie, nice!
22:20:43 <fizzie> The... uh, it's fi:pilkkijä, dudes-who-fish-on-the-ice... well, those people, were pretty persistent; they were pretty much all the day out there.
22:21:09 <Vorpal> fizzie, pilka or pika or something in Swedish I think. I'm not sure, the hobby doesn't really interest me
22:22:02 <fizzie> There are also three rather curious-looking ones from the hotel atrium: http://zem.fi/~fis/P1080216-235.jpg http://zem.fi/~fis/P1080242-260.jpg http://zem.fi/~fis/P1080277-288.jpg
22:22:41 <Vorpal> fizzie, for the first, what projection?
22:22:49 <Vorpal> fizzie, I assume it was less bendy?
22:23:02 <fizzie> Yes, you can see from the other that it is less bendy.
22:23:11 <fizzie> Fake-fisheye lens for the first one.
22:23:32 <Vorpal> fizzie, wait, they are the same? Very different white balance there
22:23:59 <Vorpal> fizzie, as for the third, were some of the pics blurry?
22:24:04 <Vorpal> (while other were very sharp)
22:24:21 <Vorpal> fizzie, nice pics though!
22:24:27 <fizzie> "Yes" to both. Shot freehand and in .jpg, so white-balance comes from camera settings, which I changed to be less yellow.
22:24:29 <Vorpal> ah
22:24:47 <Vorpal> fizzie, why not raw (or was this your phone?)
22:25:41 <fizzie> I'm not really sure why not; I guess mostly because it's a bit slower, and I had to take about four shots for each angle already, to get at least one not horribly blurry one at ISO 100. (Anything above that is horribly noisy on the camera.)
22:26:11 <Vorpal> fizzie, enfuse to get rid of noise?
22:26:22 <Vorpal> though without tripod that is doomed I guess
22:27:22 -!- poiuy_qwert has quit (Read error: Operation timed out).
22:27:46 <fizzie> There's also two mobile-phone stitchings I took on the way to the hotel: http://zem.fi/~fis/20101229_032-040.jpg http://zem.fi/~fis/20101229_045-048.jpg
22:28:17 -!- poiuy_qwert has joined.
22:29:00 <fizzie> Those are a bit stripy, because the default camera app doesn't do fixed white balance, and hugin's exposure-optimization doesn't seem to be able to fix it well.
22:29:08 <Vorpal> fizzie, oh I guess it is 2011 over there already? Happy new .fi year then
22:29:29 <fizzie> About 00:30 Jan 1st 2011 here, right. Thanks.
22:29:51 <oerjan> happy new year
22:32:06 <Vorpal> fizzie, don't see any stripes in the second. And quite subtle in the first. Using my laptop though. Not the best colour reproduction in the world
22:32:48 <elliott_> fizzie: terrible new year \o/
22:32:48 <myndzi> |
22:32:48 <myndzi> |\
22:32:59 <fizzie> The stripes aren't too bad in that since the lighting (overcast sky) was quite identical in all the shots, so the camera guesswork is probably rather similar in all the cases.
22:34:10 <Vorpal> fizzie, should be possible to get white balance in one place on the n900 then use the same for the rest of the shots
22:34:21 <Vorpal> fizzie, I mean, it is an advanced phone. Surely doable.
22:34:52 <fizzie> There's the third-party "fcam" app that can do raw and manual settings and all, but it's not quite as user-friendly as the default app.
22:35:05 <fizzie> For one thing, it doesn't auto-start when you open the camera cover, which is important out there in the cold. :p
22:35:21 <Vorpal> fizzie, fair enough
22:35:25 <fizzie> Vorpal: I guess I could share the hotel-room photo(s) too, since it (they) turned out to be rather nice: http://zem.fi/~fis/P1080070-077_r.jpg + http://zem.fi/~fis/P1080096-108.jpg -- the first one in particular would not look that out of place in a hotel brochure or something, I think. (Well, discouting slight noisiness and such.)
22:37:37 <Sgeo> Comment by uploader of DS9 to YouTube: "@murphy3162 if i pretend all bad voyager episodes dont exist....then theres no series left."
22:37:37 <Vorpal> fizzie, also some visible seams in the first
22:37:54 <Vorpal> fizzie, (middle of door frame)
22:38:10 <fizzie> Well, that too.
22:38:42 <Vorpal> fizzie, the mirror in the second one looks weird
22:39:28 <Vorpal> fizzie, oh it has bevelled edges?
22:39:30 <fizzie> It does. I'm not sure if the mirror is just faceted weirdly. (But there's also a visible seam near the roof/wall edge at one point.)
22:40:04 <Vorpal> leaving shortly for new year stuff here
22:40:05 <nooga> hah
22:40:10 <nooga> 20 minutes to midnight
22:41:24 <elliott_> There's an hour and forty minutes to go, you unwashed heathens.
22:41:45 <Phantom_Hoover> An hour and twenty¬!
22:41:59 -!- elliott_ has changed nick to elliott.
22:42:05 <elliott> Phantom_Hoover: nO
22:42:06 <elliott> *NO
22:42:07 <elliott> FORTY
22:42:10 <elliott> I EXIST IN GMT MINUS 20 MINUTES
22:43:15 <nooga> pffft
22:43:24 <nooga> why aren't you on some party anyway
22:43:51 <Vorpal> party. That would suck.
22:44:08 * oerjan swats nooga -----###
22:44:13 <oerjan> fireworks -->
22:44:18 <fizzie> "This channel is all the party I can handle!"
22:44:32 <nooga> i have a norwegian speaking party at my flat
22:44:35 <nooga> in*
22:44:38 <nooga> whateva
22:44:46 <nooga> oerjan could join
22:45:15 <Gregor> pikhq: Why are you not here?
22:45:28 <elliott> WOOO OPARTY
22:45:29 <elliott> PARTY IN THE HOUS
22:45:30 <elliott> E
22:45:32 <elliott> PARTY IN THE HOUSE
22:45:33 <Sgeo> Why does no one ever ask me that?
22:45:33 <elliott> PARTY WITH A MOUSE
22:45:35 <elliott> IN THE HOUUUUUUUUSE
22:45:39 <fizzie> Gregor: Maybe he's at some sort of a hip norwegian-speaking party.
22:45:40 <elliott> Sgeo: because we call those periods tranquil silence
22:45:46 <Sgeo> elliott, I'll protect you my friend
22:45:57 <elliott> Sgeo: Phantom_Hoover already referenced Little Mouse yesterday so stfu.
22:46:01 <elliott> Gregor: I'm practically a substitute for pikhq, what do you want to ask.
22:46:08 <nooga> well
22:46:12 <fizzie> elliott: "Tastes good, less filling"?
22:46:17 <nooga> it's a calm party
22:46:33 <elliott> fizzie: ff
22:46:34 <elliott> dfk
22:46:40 <nooga> we have some drinks, salad, champagne and chillout music from this computer
22:46:41 <Gregor> elliott: Did you ever find a good deinterlacing filter in mplayer?
22:46:49 <nooga> 4 ppl
22:46:58 <elliott> Gregor: He found a gigantic combination of filters that worked on hideous, hideous inputs :-P
22:47:02 <nooga> + this channel
22:47:19 <elliott> Gregor: I suspect that he would use something rather more conservative for, you know, _regular_ interlaced stuff.
22:47:21 <nooga> i think it's my duty to be on this # now
22:48:09 <nooga> oh, btw. i've recently read Wouter's PhD thesis
22:48:40 <nooga> it's really inspiring but graphical Aardappel is bad
22:51:21 <elliott> nooga: aardappel is kinda fun though
22:51:35 <nooga> well
22:51:42 <nooga> maybe it's good
22:51:50 <elliott> it's not good but it is fun
22:51:51 <nooga> eee
22:51:51 <elliott> :)
22:51:52 <nooga> no
22:51:54 <nooga> IT IS GOOD
22:52:02 <nooga> \but not this graphical notation
22:52:21 <nooga> i tried to read aardappel qsort in a graphical form
22:52:44 <nooga> and it was really hard compared to the textual version introdouced in the paper
22:52:55 <elliott> nooga: oh by graphical you mean the list visualiation things?
22:52:58 <elliott> *visualiation
22:52:59 <elliott> *visualisation
22:53:01 <elliott> yeah those are silly
22:53:03 <nooga> this aarded
22:53:11 <nooga> textual form is nice
22:54:23 <elliott> nooga: you mean like, linear? 1 dimensional?
22:54:24 <elliott> lame
22:54:27 <elliott> that defeats the point of aardappel
22:59:28 <nooga> but the PARADING
22:59:30 <nooga> M
22:59:31 <nooga> shit!
22:59:34 <nooga> midnight!
22:59:35 <nooga> brb
23:00:05 <elliott> nooga is going to get really, really drunk really, really quickly.
23:13:45 <nooga> noo
23:13:47 <nooga> ;p
23:22:42 <Vorpal> back
23:22:48 <Vorpal> happy new year + 22 minutes everyone!
23:23:31 <Phantom_Hoover> Vorpal, weirdo.
23:23:35 <Vorpal> <Sgeo> elliott, I'll protect you my friend <elliott> Sgeo: Phantom_Hoover already referenced Little Mouse yesterday so stfu. <-- why the sudden rise in number of references to it?
23:23:39 <Phantom_Hoover> New year is in 40 minutes!
23:23:49 <Phantom_Hoover> Vorpal, A SIGN OF THE END TIMES?
23:24:02 <elliott> HEY NOW CTHULHU
23:24:07 <Vorpal> Phantom_Hoover, wait. that was 2012.
23:24:14 <elliott> Vorpal: Off-by-one.
23:25:08 <Vorpal> elliott, ah. Even for Maya yes
23:25:25 <Phantom_Hoover> Well, the Romans counted off-by-one.
23:25:34 <elliott> And what have they ever done for us?
23:25:36 <Vorpal> Phantom_Hoover, did they? In what way?
23:27:01 <oerjan> _ _ _ _ __ __ _
23:27:01 <oerjan> | || |__ _ _ __ _ __ _ _ | \| |_____ __ __ \ \ / /__ __ _ _ _| |
23:27:01 <oerjan> | __ / _` | '_ \ '_ \ || | | .` / -_) V V / \ V / -_) _` | '_|_|
23:27:01 <oerjan> |_||_\__,_| .__/ .__/\_, | |_|\_\___|\_/\_/ |_|\___\__,_|_| (_)
23:27:01 <oerjan> |_| |_| |__/
23:27:21 <Vorpal> oerjan, right. You found banner(1)?
23:27:24 <oerjan> bah
23:27:30 <oerjan> no, figlet
23:27:34 <Vorpal> ah
23:27:46 <elliott> omg i don't have fist(1)
23:27:56 <Vorpal> fist(1) ?
23:28:11 <Phantom_Hoover> :O
23:28:23 <Vorpal> elliott, what is that
23:28:27 <elliott> http://www.fourmilab.ch/fist/
23:28:44 <elliott> HOLY SHIT, its configure script runs fast.
23:28:46 <elliott> You know why?
23:28:50 <elliott> # Guess values for system-dependent variables and create Makefiles.
23:28:50 <elliott> # Generated automatically using autoconf version 2.13
23:28:51 <elliott> # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
23:28:52 <elliott> Seriously. Dang.
23:28:54 <elliott> That was fast.
23:29:00 <elliott> And it didn't check if I have every function ever, either.
23:29:22 <elliott> OTOH, I have to make my own /opt/stow/fist/bin.
23:30:05 <elliott> http://sprunge.us/NHIE; I would spam it in-channel, but, uh, it's a bit long.
23:43:46 <Gregor> Does anybody know the conditions under which YouTube releases the time limit for particular accounts?
23:44:10 <elliott> Gregor: "Used to be a director's account", I think :-P
23:44:26 <Gregor> I'm not a director. I don't even know what that means.
23:44:56 <elliott> Gregor: Then I think you are fucked.
23:44:58 <Phantom_Hoover> Gregor, it means they like you.
23:45:17 <Gregor> elliott: In the good way?
23:45:18 <elliott> Gregor: Oh, so you had it removed and you don't know why?
23:45:24 <Gregor> elliott: Yeah
23:45:30 <Gregor> "Congratulations! Your account is now enabled for uploads longer than 15 minutes. Click the Upload button below to select a video."
23:45:32 <elliott> Gregor: YouTube does not run on logic.
23:45:50 <Gregor> Time to write a friggin' epic 2 hour piano piece.
23:46:29 <elliott> Gregor: Dude... play some Merzbow. On piano.
23:46:33 <elliott> You must.
23:46:50 <elliott> I am not sure how this amazing idea did not come to me much sooner.
23:47:42 <Gregor> ... yeah.
23:47:55 <elliott> Gregor: Is that a "YES I WILL DO THAT".
23:48:19 * Gregor tries his hardest to force as much sarcasm as possible across the webertubes.
23:48:46 <elliott> Gregor: You can't deny that you'd watch two hours of Merzpiano on YouTube.
23:48:50 <elliott> SO MAKE EVERYONE ELSE'S DREAM COME TRUE
23:48:52 <elliott> Phantom_Hoover: Support this idea.
23:49:36 * Phantom_Hoover approves of this message.
23:49:45 * elliott approves of this message.
23:49:49 <elliott> Let's approve of our own messages!
23:50:57 <fizzie> ▌▌▄ ▄ ▄ ▖▖ ▄ ▗ ▖▖ ▖▖▗ ▄ ▖▖▐
23:50:57 <fizzie> ▛▌▄▌▙▘▙▘▚▌ ▌▌▛▘▙▌ ▚▌▛▘▄▌▛ ▝
23:50:57 <fizzie> ▘▘▀▘▘ ▘ ▄▘ ▘▘▝▘▀▘ ▄▘▝▘▀▘▘ ▝
23:51:04 <fizzie> (It's the rfk86 font.)
23:51:36 <fizzie> Looks nice in this terminal, less so in the xchat with empty spaces between lines.
23:51:47 <elliott> fizzie: Does not work in the logs :P
23:52:51 <fizzie> Also I forgot to uppercase the other words.
23:55:44 <fizzie> Vorpal: Hey, it's not even a magical gconf key in eog. It's just Edit/Preferences/Image View/uncheck "smooth images when zoomed-out".
23:56:07 <elliott> Oh you Gnome cynics.
23:56:18 <elliott> Phantom_Hoover: QUICK! WE MUST DEVISE GOLFSCRIPT 2: ELECTRIC BOOGALOO
23:56:25 <elliott> (saying this because you're the only person even remotely likely to agree with me)
23:56:37 <fizzie> s/-out/-in/
23:57:17 <elliott> GolfScript is pretty good though.
23:57:27 <elliott> ~{.@\%.}do; isn't a bad gcd.
←2010-11 2010-12 2011-01→ ↑2010 ↑all