2010-12-01: 00:00:02 avarything should be a pointer 00:00:13 like in a goddamn C# or something 00:01:03 -!- augur has joined. 00:01:05 Why is Factor more popular than Newspeak? 00:01:15 Why am I comparing apples and oranges? 00:01:17 Sgeo: SHUT 00:01:19 Sgeo: UP 00:01:23 00:01:28 what 00:01:33 ... so anyway, ok seriously, what's the easiest way to become nobody in a shell script 00:01:46 elliott, su nobody ? 00:01:48 or such 00:01:59 Wouldn't that require root access? 00:02:03 Vorpal: require's nobody's password. it, of course, has none. 00:02:13 elliott, root shouldn't need it 00:02:15 Vorpal: sudo works for any user, of course, but requires the user's password 00:02:18 Vorpal: indeed, i'm not root 00:02:26 elliott, then you can't change user 00:02:29 Vorpal: yes you can 00:02:35 elliott, and you can use sudo 00:02:37 $ sudo -u nobody whoami 00:02:38 [sudo] password for elliott: 00:02:38 nobody 00:02:40 elliott, to do it without password 00:02:43 as i said, pointlessly requires the user's password 00:02:52 also, i'd rather not depend on sudo 00:02:53 elliott, yes indeed sudo is suid root 00:02:56 that is why it can do it 00:02:59 yes... 00:02:59 su is suid root too 00:03:03 you still haven't answered my question 00:03:24 Stop trying to hack into nobody's account! nobody runs web servers! 00:03:24 elliott, but you can't do it without having root or *effectively having root thanks to being suid root* 00:03:33 (Or, well, should. Regular users shouldn't) 00:03:42 Vorpal: the latter is slightly acceptable. 00:03:45 Vorpal: the former is not 00:03:45 Sgeo, no it shouldn't. A special www user should 00:03:52 Vorpal, ah. 00:03:52 Vorpal: any user on a system should be able to build a package 00:03:56 elliott, the latter wouldn't work on the shell script 00:04:08 Vorpal: i could just write an asnobody.c 00:04:16 but... 00:04:16 elliott, sure 00:04:25 elliott, that is what you would have to do 00:04:26 i don't really like strictly more setuid programs than necessary :) 00:04:34 elliott, or use sudo with NOPASSWD 00:04:40 Vorpal: i'm tempted to 00:04:54 I think is is a bad idea though in general 00:04:56 Vorpal: (I wonder why there isn't an asnobody already, all it can do is reduce privileges...) 00:04:58 why? 00:05:16 elliott, it feels insecure. Could they mess up for other users also building packages? 00:05:39 elliott, what else on the system uses nobody? 00:05:39 Vorpal: not really 00:05:49 well 00:05:56 i guess they could rm -rf it 00:06:05 what we really need is asnewtemporaryuser :) 00:06:15 elliott, plash? 00:06:28 Vorpal: debian-specific, and WAY overblown for this 00:06:35 Vorpal: it's as simple as setuid(rand()) :P 00:06:37 well 00:06:44 Vorpal: it's as simple as setuid(max_uid_in_etc_passwd+rand()) :P 00:07:05 indeed 00:07:43 Vorpal: i might actually just use su here, it may end up that you need to run it as root anyway 00:07:48 Vorpal: due to busybox tar not having --owner= 00:08:37 elliott, why do you use busybox? 00:08:47 Vorpal: as opposed to? 00:08:53 elliott, also if you are packaging projects what about stuff that needs to install as separate uses 00:08:54 users* 00:09:00 elliott, just look at qmail for example 00:09:05 several different users 00:09:20 qmailq, qmails and so on iirc 00:09:21 Vorpal: --owner just changes the owners of the files 00:09:47 elliott, yes and they need to be different owners. Not all should be changed to root 00:09:54 Vorpal: postinstall script :P 00:09:58 ah 00:10:01 Vorpal: it's because packages aren't built as root for obvious reasons 00:10:05 i mean there's little other option really 00:10:17 night → 00:10:18 postinstall script for the rare such package is probably the easiest way 00:12:04 APNIC: 3.67 /8s in RIR Pool... And APNIC is extremely likely to get the last 2x/8s. 00:14:24 There's apparently work on NS3 00:14:35 -!- oerjan has quit (Quit: Good night). 00:20:34 pikhq: Question. Should I bother including cc in the build dependencies for any package? 00:20:38 Or libc? 00:20:40 I'm lazy, you see. 00:20:51 fakeroot is always an option. :p 00:20:53 elliott: I say "yes". 00:21:02 fizzie: requires dynamic linker. 00:21:07 fizzie: so no, in fact 00:21:16 pikhq: Yeah, but... who tries to compile a package without them? :P 00:21:24 Though most distros just say "If it's in the base system, it's not marked as a dependency of anything." 00:21:24 (Fine, fine...) 00:21:30 pikhq: No they don't! 00:21:36 Well. Debian doesn't. 00:22:22 Yeah, that's because Debian doesn't fuck around. 00:23:50 pikhq: I most definitely fuck around! 00:23:52 -!- Mathnerd314 has joined. 00:23:56 Well, fakeroot with some sort of ptrace-hooked syscalls, then. The elegant choice! 00:23:58 My package manager is like a piece of string! 00:24:00 Then there's less known problem of ASN depletion. 00:24:07 pikhq: The string is FLIMSY! 00:24:16 pikhq: Hey, an Actual Runtime Dependency for vi. 00:24:18 pikhq: (termcap) 00:24:24 pikhq: Well. termcap-db. 00:24:28 (Got a better name for that?) 00:24:53 # The preferred choice for ex on Linux distributions, other systems that 00:24:53 # provide a good termcap file, or when setting the TERMCAP environment 00:24:53 # variable is deemed sufficient, is the included 2.11BSD termcap library. 00:24:53 # 00:24:53 TERMLIB= termlib 00:25:07 Ilari: ... ASN depletion. 00:25:11 Ilari: Oh fuck. 00:25:33 pikhq: Oi oi oi we're naming packages here! Focus on the important stuff! 00:26:30 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 Oh, it was extended to 32 bits a few years ago. I hope that the BGP routers actually have been updated. 00:26:53 pikhq: So what should I call the termcap db. :p 00:27:06 (Or is it all terminfo these days? As quoted, vi uses 2.11BSD termcap.) 00:27:06 elliott: termcap-db 00:27:09 (Are the files the same?) 00:27:50 pikhq: Not termdb? 00:27:58 Is there any other kind of terminal database other than termcap, really? 00:28:31 Terminfo. 00:28:54 pikhq: Can't that read termcap files? 00:29:03 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 pikhq: I mean, I really don't want to fuck around with terminfo because it uses binary files and crap. 00:30:06 pikhq: Please validate me :P 00:30:08 You can convert to/fro termcap file / terminfo database, at least up to some extent. 00:30:09 elliott: Pretty sure they're incompatible. 00:30:12 Bleh. 00:30:18 I'll just build everything with termcap and hope for the best. 00:30:22 Or, in fact. 00:30:28 pikhq: I'll offer both termcap and terminfo in the same package. 00:30:33 So, termdb. 00:30:54 There you go. 00:31:07 Yep. :P 00:31:20 Goodnight. 00:31:24 Hmm. Seems that some programs explicitly call out to termcap or terminfo... 00:31:34 -!- elliott has quit (Quit: Leaving). 00:31:35 Gag. 00:32:10 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 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 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 "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 "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 I don't think this person actually supports that as a reason to get rid of file systems 00:53:17 everything implies a true proposition 00:54:21 (that file systems should be gotten rid of) 00:55:08 i don't really understand what he's saying 00:55:32 http://gbracha.blogspot.com/2010/02/nail-files.html 00:57:15 Spamusers fails at sodomy. 00:57:25 he's correct 00:57:30 the nail guy 01:00:08 i still don't see what the security thing was 01:00:36 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 "This proposal should be considered an emergency proposal. IANA 01:46:36 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 ... Looks like the depletion is expected to occur very soon... 01:47:10 Ilari: Hmm? 01:47:13 -!- GreaseMonkey has quit (Ping timeout: 272 seconds). 01:48:53 Looking at when APNIC could justify allocation, depleting the pool completely... The IANA depletion could occur at any moment. 01:49:04 The next ARIN meeting is apparently early April. 01:49:13 Wait, the IANA depletion could occur *any moment*? 01:49:23 Dang. 01:50:04 -!- GreaseMonkey has joined. 01:50:37 Formally, the depletion estimates have not changed because APNIC allocates last, but in practice, the date may have changed... 01:52:17 An that "at any moment" comes from global policies. APNIC probably could justify allocation even now. 01:52:19 So. D-day is basically any time in the next 5 months or so. 01:54:18 I think it is in next 3 and half months... 01:54:56 I'm allowing for *extreme* optimism. 01:57:26 Some bastard is going around suggesting that companies think about IPv6 migration "in the next 2-5 years". 01:57:40 By which time the Internet will have been full for several years. 01:57:42 o.O 01:58:02 Even Houston model, which seems optimistic predicts 04-Mar-2011 ... That's sightly over 3 months away... 01:58:25 Yeaaah. 01:59:19 Now there's new predictions about X-day this year. 01:59:34 Link? 02:00:25 So, celebrations in 3 months? 02:00:26 >:D 02:00:40 AFK SGU 02:01:00 * Gregor laughs maniacally 02:01:30 Prepare for having to do it sooner... A lot sooner... 02:03:05 Well, no official model predictions... But informal ones... 02:10:01 -!- Mathnerd314 has quit (Ping timeout: 255 seconds). 02:12:05 Wonder when next IPv6 allocation will occur (bringing the pool down to 505 blocks, which is under 99%)... 02:13:20 It amazes me that even 1% has been used. IPv6 is just so very, very large... 02:14:30 1 various block and 5 RIR blocks... IIRC, the actual amount of delegations is 0.027% or so... 02:14:57 *Ah*. 02:15:06 That is, those allocations are at about 2.7 or so... 02:15:10 *2.7% 02:15:10 It's being pieced up from the IANA in ridiculously large blocks, then. 02:15:35 /12s ... 1M * 2^32 networks. 02:15:58 Yeah, that's a pretty gigantic block. 02:21:53 Oh, and then there are 3456 blocks in undefined address ranges... 02:22:23 IPv6 address space is just gigantic. 02:24:20 Oh, right. Currently the IPv6 space is *only defined* in 2000::/3 02:27:50 Global unicast space, that is. There are also some other blocks, such as ULA space and broadcast space. 02:28:17 Wow. The "NFL International Series". A scheme whereby the NFL plays a regular season game in London. 02:28:37 ... 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 Heh... The "realtime" IPv4 depletion counter that uses the Houston model is down. 02:34:13 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 <3 SGU 02:38:38 -!- Zuu has joined. 02:38:44 Although I almost thought... meh, no spoilers here 02:39:18 Ah, it works now. 02:47:20 To a character: "In case you forgot, [spoiler]" 02:47:33 I think the audience forgot 03:00:40 -!- augur has joined. 03:47:51 -!- guny has joined. 03:48:07 hi watch my music video!!! http://www.youtube.com/watch?v=A_Q6U2O-qx4 03:48:09 hi watch my music video!!! http://www.youtube.com/watch?v=A_Q6U2O-qx4 03:48:10 hi watch my music video!!! http://www.youtube.com/watch?v=A_Q6U2O-qx4 03:48:12 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 I hate being a polite programmer 04:59:44 Why do I have to say please :( 05:20:14 -!- yorick has quit (Read error: Operation timed out). 05:27:00 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 "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 http://stackoverflow.com/questions/4057973/osgi-like-modularity-in-other-programming-languages 06:09:25 Is... that a real thing? 06:14:32 lol 06:15:22 Sgeo: i've heard something similar 06:15:38 but SPJ didn't use the word "smart" in the version i read 06:16:01 he made it sound as tho it was "sufficient" the way it was 06:19:30 "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 http://gbracha.blogspot.com/2008/07/debugging-visual-metaphors.html 06:19:44 So much for a tabbed Newspeak browser 06:24:51 wow OSGi sounds interesting 06:28:07 * Sgeo attempts to redirect adu to Newspeak 06:28:33 what's Newspeak 06:28:58 http://newspeaklanguage.org/ 06:29:10 It's the language fawned over in the answer to that SO question 06:30:30 SO? 06:31:17 -!- Goosey has quit (Remote host closed the connection). 06:32:44 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 Sgeo: Newspeak sounds a lot like io 06:46:37 * Sgeo has only heard of IO and knows nothing about it 06:47:15 There are several languages I wish could have babies 06:47:34 Go + Io + Prolog + Haskell 06:47:55 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 Go + Io + Prolog + Haskell <-- how would that work? 07:18:37 well 07:19:02 adu, oh? you think so? 07:19:06 yes 07:19:23 -!- Sgeo has joined. 07:19:28 adu, I can't see how you could reconcile the imperative and purely functional aspects there 07:20:04 adu, and if you think it would work so well, why not implement it! 07:20:28 everything Go does would be of type IO () and everything Prolog does would be at the typeclass level 07:20:34 Io doesn't really fit 07:20:51 I don't know much about Io so I can't say anything about that 07:21:55 have to leave now, cya 07:22:02 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 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 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 uh 10:25:01 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 great 12:55:59 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 augur_: I find your recent statements about INTERCAL highly offensive 13:56:58 What were they? 13:58:03 http://www.reddit.com/r/programming/comments/eecvm/a_compiler_language_which_has_nothing_at_all_in/c17hc7w 13:58:22 I think ais523 and oerjan, accomplished INTERCAL programmers, would take great objection to this slight. 14:00:52 Appalling! 14:02:50 -!- FireFly|n900 has quit (Ping timeout: 255 seconds). 14:08:09 elliott: is your school closed? 14:08:20 yes. 14:08:25 hahhaha 14:08:34 i am unsure why you are laughing 14:08:38 like what... snow is toxic or what? 14:08:53 yes, yes it is. 14:09:20 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 i do this during whole winter 14:10:18 nooga: i think we have firmly established that Poland has not quite come to grips with the concept of safety yet 14:10:26 it's not safety 14:10:42 ask some secure swedes 14:10:48 tehy've got shitloads of snow too 14:10:49 guess what, we don't all drive Volvos. 14:11:22 duh 14:11:54 hmm is it known which s gives SHA-1(s) = 0? 14:11:56 is there such an s? 14:12:12 -!- MigoMipo has joined. 14:12:14 http://img.wiadomosci24.pl/g2/4b/cd/83/11082_1162885840_b968_p.jpeg 14:12:19 + winter tires 14:12:29 + modern cars with ASR, BAS and whatever 14:12:33 and you're safe 14:13:08 nooga: yes, we do indeed remove snow from roads. guess what! we have rural areas. 14:13:15 guess what! it takes time to clear the snow from everywhere. 14:14:43 AWKWARDNESS 14:16:26 elliott, well, the schools reopened here today. 14:16:39 Even though the snow is considerably worse than yesterday. 14:16:55 Phantom_Hoover_: They decided they were open, and upon looking out the window immediately decided that no, they're not open. 14:17:20 But yeah, jesus christ, this snow. 14:17:27 elliott, nope, I went. Although we all went home at lunch. 14:17:37 Phantom_Hoover_: I meant here. 14:17:52 In the frigid southlands. 14:18:03 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 :F 14:19:52 ppl could just walk to school 14:20:05 That's what we mostly did. 14:20:09 nooga: i don't think you realise the kind of distances present in britain... 14:20:15 oh come on 14:20:22 It's still stupid, especially since the previous two days were both snow days. 14:20:37 even in poor Poland we've got schools max 3-4km from home 14:20:44 So apparently once the snow goes over a certain critical depth it ceases to matter. 14:20:47 in towns 14:20:50 nooga: do you delight in being really fucking stupid? 14:21:02 i delight annoying you :D 14:21:04 -!- nopseudoidea has joined. 14:23:14 Phantom_Hoover_: Quick! What's the SHA-1 hash of a directory? 14:23:43 A carrot! 14:23:58 Also, what's the SHA-1 algorithm? 14:24:20 Complicated. 14:27:51 Hash algorithms always are... 14:29:59 -!- FireFly|n900 has joined. 14:32:41 Phantom_Hoover_: Not so! 14:32:48 Phantom_Hoover_: http://en.wikipedia.org/wiki/CubeHash 14:32:56 Phantom_Hoover_: The SHA-3 competitor I'm rooting for, thanks djb. 14:33:04 (It's not "rooting" is it?) 14:34:27 -!- BeholdMyGlory has joined. 14:35:01 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 It *is* nice to see something that's not the usual Merkle–Damgård construction though. 14:37:31 fizzie: djb instantly simplifies everything he touches. duh. 14:37:57 schneier's function has been cryptanalysed a bit cuz he's a luzr 14:38:02 I should make "djb facts" 14:38:11 although I can't think of any :P 14:38:27 Merkle–Damgård construction 14:38:28 (Redirected from Merkle-Damgård construction) 14:38:29 what 14:38:55 It's a different sort of hyphen. 14:39:17 heh 14:39:27 the thing in the wikibox links to one that's redirected 14:39:28 someone fix that 14:39:41 And that someone could be you! 14:40:05 "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 "Oozlybub and Murphy is a programming language. Despite appearances, this name refers to a single language. 14:40:24 The majority of the language is named Oozlybub. The fact that the language is not entirely named Oozlybub is named Murphy. 14:40:24 14:40:24 For the sake of providing an "olde tyme esoterickal de-sign", the language combines several unusual features, 14:40:26 including multiple interleaved parse streams, infinitely long variable names, gratuitously strong typing, and only-conjectural Turing completeness." 14:40:28 http://catseye.tc/projects/oozlybub-and-murphy/doc/website_oozlybub-and-murphy.html 14:41:18 It even has Unicode support! 14:44:10 cpressey is a monster 14:48:16 A monster! 14:51:40 BEAST! 14:53:38 -!- Sasha2 has quit (Read error: Connection reset by peer). 14:53:45 -!- Sasha has joined. 14:53:55 "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 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 Weird, apparently the Lego MMO is extremely good. 14:56:54 That is not what I would expect at all. 14:57:01 "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 hese people deserve your support any longer." 14:57:09 -- Larry Sanger, solidifying his reputation as... a twit. 14:57:43 (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 I have certain reservations about Wikileaks due to the whole "names of informants" thing, but I wouldn't go that far.. 14:58:29 Phantom_Hoover_: Um, they've been redacting names. 14:58:50 elliott, yes, but they didn't for that earlier military leak. 14:59:03 IIRC, they did. 14:59:03 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 (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 elliott, oh, well. I approve, then. 15:01:59 I just love the chain of events there -- 15:02:26 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 US: No. 15:02:30 [later] 15:02:37 Wikileaks: [releases documents] 15:02:52 US govt., mass media: That's IRRESPONSIBLE TERRORISM! Think of the LIVES at risk! 15:02:58 Hi ais523. 15:03:18 -!- Sasha has quit (Ping timeout: 265 seconds). 15:04:15 Wikileaks does good work 15:05:45 Even if its founder looks like a bit of a prat. 15:06:56 Phantom_Hoover_: Really? How? 15:07:12 The hair is... silly. 15:07:19 His... hair? Seriously? 15:07:36 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 Phantom_Hoover_: Semi-relatedly, have you seen his old blahhg? http://web.archive.org/web/20071020051936/http://iq.org/ 15:08:26 Indeed. But his hair is still stupid. 15:08:29 It was on reddit a while ago. 15:09:31 -!- nopseudoidea has quit (Quit: Quitte). 15:10:35 ais523: in a file of " ", how would you denote a directory? 15:10:49 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 " "? 15:11:25 With a / appended? 15:11:36 Phantom_Hoover_: Umm... what the hell is the SHA-1 hash of a directory? 15:18:10 Oh, right. 15:18:37 Make it "0", then append the / to the name so there's no chance of confusion, 15:19:53 Phantom_Hoover_: Just 0? Not 40 0s? 15:20:18 Fine. 15:20:44 Phantom_Hoover_: Hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm. 15:22:34 Alternately: make it "", no hash. 15:23:14 Make it a random 40-digit hex string, and then change a single, random digit in there to a "g". 15:24:37 Forget my suggestions, use fizzie's. 15:24:52 fizzie: :D 15:25:21 It was optimized for confusion, of course. 15:26:06 fizzie, better: change a random 0 into an O. Or 1 into l. 15:26:38 No, I think the g is best. 15:26:45 Ooh! 15:26:53 Change one "a" into the identical, Cryllic "a". 15:27:00 (If there is no a in the string, regenerate it.) 15:27:13 those pesky crylls 15:28:12 Aren't crylls just palette-swapped trolls? 15:28:25 _possibly_ 15:28:57 fizzie, zuh? 15:29:37 You got 15 out of 19 Programming Language if You Know Their Creators. 15:30:01 elliott: I'd just leave the hash out 15:30:09 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 ais523: But that's ugly! 15:30:18 or hash the directory itself, they are technically speaking files, just you can't read them via normal methods 15:30:36 LOL 15:30:38 http://www.sporcle.com/games/supreddit/prog_lang_wirth 15:30:39 "Can you name the Programming Language if You Know Their Creators? (Niklaus Wirth Edition)?" 15:30:45 best quiz ever 15:30:54 ais523: yeah, no :P 15:31:06 ais523: "cat" will cat a directory on NetBSD :) 15:31:09 as on plan9, but :) 15:31:16 hmm, is it decidable whether two regular expressions (actual regular expressions, without backreferences etc.) match the same set of strings? 15:31:32 Differences between Oberon-07 and Oberon 15:31:32 Niklaus Wirth, 8.8.2007 / 17.12.2007 15:31:32 Oberon-07 is a revision of the original language Oberon as defined in 1988/1990. 15:31:35 How is the man still alive... 15:31:38 ais523: I don't /think/ so 15:31:48 really? I was guessing yes 15:31:56 ais523: I know that you can't minimise a regexp to its provably shortest form, IIRC 15:31:58 oh, obviously yes 15:32:03 how? 15:32:10 for ordinary regular expressions, you can compile them into state machines 15:32:20 then because there's a finite number of states, you can bruteforce 15:32:38 oh, obviously 15:32:44 I feel silly now 15:32:55 ais523: yes it is decidable 15:33:07 yep, I feel a bit silly that I had to ask rather than figuring it out 15:33:16 you can do set difference and union 15:33:17 it's a lot less obvious with backreferences involved 15:33:23 "- Applied to values of type SET, the unary minus denotes the set complement, and the function 15:33:23 ABS yields the number of elements of a set. The relations <= and >= denote set inclusion." 15:33:42 from which you can construct xor of two languages 15:33:42 elliott: so you can do - on the empty set, and get a set of everything? 15:33:43 Zuh? 15:33:55 ais523: I sure hope so! 15:34:01 oerjan: hmm, that's a different proof from the one I gave, and requires assumptions I didn't know 15:34:15 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 ais523: can I have permission to troll the esolangs wiki with a language 15:37:04 would the language be at all interesting in its own right? 15:37:14 I suppose being created for the purpose of trolling makes a language an esolang 15:37:16 ais523: a Turing-complete-and-no-greater language in which all programs nonetheless halt 15:37:18 (/me coughs at LOLCODE) 15:37:21 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 elliott: is that even theoretically possible? 15:37:37 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 fizzie: that was pretty close to my proof 15:37:54 elliott: go for it 15:37:56 ais523: it's theoretically possible on a super-Turing machine; if halts(X) then run(X) else done 15:38:22 hey, http://esolangs.org/wiki/Banana_Scheme has a serious error! 15:38:48 fixed 15:39:24 elliott: I'm not entirely sure that such a language would technically be TC 15:39:42 plot plot plot plot plot plot plot plot banana scheme 15:39:44 in fact, by the typical mathematical definition, it definitely wouldn't be 15:39:53 ais523: that's why it's trolling! 15:39:56 -!- Sgeo has joined. 15:40:15 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 you just can't loop forever 15:40:26 *-plot 15:40:41 elliott, my new obsession is Newspeak 15:40:53 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 ais523: and then make sure my implementation doesn't stop the program until you put in "bluh" 15:41:25 hmm, so I have to do (H 0 `(assuming-we-get-the-character ,n)) for all 255 ns 15:41:28 at every read 15:41:31 or something 15:41:39 no, wait, much before every read 15:41:40 hmmmm 15:41:44 nah, too much of a pain 15:41:47 I'll do it dbfi-style 15:42:00 how does Newspeak look? samples? 15:42:13 nooga: like Smalltalk. 15:42:35 Except a bit more syntax 15:42:47 And slightly different conventions 15:42:57 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 So he did that to Factor and Smalltalk as well? 15:44:32 And Scala, I remember that one as well. 15:45:03 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 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 00:01:18 It's just that udev's better. :p 15:46:20 I don't remember the context at all. 15:46:57 Nor do I! Let's FIND it! 15:48:16 Better than devfs, it seems. 15:48:36 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 You're better than devfs. So there. 15:48:43 It's just RIPE's allocation is a surprise. 15:49:35 Well, you know us Europeans, we like to be surprising. 15:50:15 And APNIC could allocate any time in the next few months, thereby causing IPv4 depletion. 15:52:06 * oerjan swats fizzie -----### 15:52:21 I didn't expect that. 15:52:32 just a bit of friendly european surprise 15:52:52 Nobody expects the Norwegian swatquisition. 15:53:13 "Showing results for sw acquisition. Search instead for swatquisition" 15:57:07 that should be a quote 15:58:11 " 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 " for ordinary regular expressions, you can compile them into state machines" " 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 " 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 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 oklofok, while you're at it, biject to the computable reals. 16:02:37 The thing that has an interpreter that's just a BF interpreter but those interpreters don't correctly report invalid programs 16:02:40 ? 16:03:00 Sgeo: what 16:03:05 -!- pikhq has joined. 16:03:11 elliott, your language that you're discussing 16:03:20 oklofok, while you're at it, biject to the computable reals. 16:03:34 difficult, since you'd have to consider programs under the equivalence relation of "same result as" 16:03:48 otherwise you'd have countably infinite programs for each computable real 16:03:54 Sgeo: no, the interpreter is written in banana scheme. 16:04:21 ... so will the language count as implemented or unimplemented? 16:04:30 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 18:28:17 Wow. The "NFL International Series". A scheme whereby the NFL plays a regular season game in London. 16:04:37 18:28:37 ... I didn't know American football had any fans at all outside of North America. 16:04:37 is that common knowledge? 16:04:38 It doesn't! 16:04:42 Sgeo: implemented, just not compuatbly 16:04:46 *computably 16:04:50 oklofok: i remember hearing that once... from wikipedia :P 16:05:08 oklofok: http://en.wikipedia.org/wiki/Axiom_of_choice#Statements_consistent_with_the_negation_of_AC 16:05:11 oklofok: fun section 16:05:15 -!- augur has joined. 16:05:17 cool 16:05:44 # There exists a model of ZF¬C in which real numbers are a countable union of countable sets.[11] 16:05:47 that's my favourite one 16:06:09 * Sgeo 16:06:14 -!- Vorpal has quit (Read error: Operation timed out). 16:06:14 Sgeo: die. 16:06:37 coolness 16:07:02 19:48:07 hi watch my music video!!! http://www.youtube.com/watch?v=A_Q6U2O-qx4 16:07:04 this is terrible 16:07:07 pikhq: i think there's even an american football team in Oslo 16:07:19 that was pretty trivial yeah 16:07:28 She's going over bitwise operators 16:07:44 She asked the class if anyone's classes delt with bitwise operators. Of course not 16:07:48 I hate this school 16:08:02 well obviously they are too trivial to teach 16:09:01 a friend of mine used to play american football so it's here too i guess 16:09:02 22:47:34 Go + Io + Prolog + Haskell 16:09:03 22:47:55 that would be a cute kid 16:09:04 with tentacles 16:09:30 http://en.wikipedia.org/wiki/Norway_American_Football_Federation 16:09:35 01:47:53 ineiros: "Uh." (Incidentally, I've never heard any of the in-game music.) 16:09:36 fizzie: but it's nice! 16:09:44 00:38:36 fizzie: http://open.spotify.com/album/29dWA4uMn07qxfEAGO3wSh 16:09:45 lolwat 16:11:57 -!- Vorpal has joined. 16:12:29 Ooh 16:12:48 Newspeak comes with late night wisdom 16:13:34 http://ideone.com/mf4Lm 16:15:14 Sgeo, do you actually /program/, or do you just get incessant and short-lived obsessions with languages? 16:15:33 The latter 16:15:45 I actually think you've written less programs I know of than me. 16:16:02 I have written about 3 programs. 16:16:04 None of them anywhere near complete. 16:16:20 Phantom_Hoover_: HE WROTE PSOX 16:16:38 I have a bunch of Python scripts to do random things on my old HD 16:16:53 Aww, #exoteric is taken. 16:17:15 Including scraping a news site's sports section for photos from my home HS 16:17:17 >.> 16:17:24 (This was when I was in HS. Don't get ideas) 16:17:28 you are crazy. 16:18:41 elliott, that's a negative program! 16:18:51 I have a few Haver clients lying around 16:19:10 oops haver sucks 16:19:22 That's not my fault, is it? 16:19:28 yes 16:20:42 09:23:05 Hmm, what about a language where the dimensions are finite, but the number of them is infinite? 16:20:43 09:23:18 You know: a 2x2x2x2x2x2x2x2x2x... universe. 16:20:44 approve 16:21:00 09:27:27 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 :D 16:21:04 (obvious, but :D) 16:22:20 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 Sgeo, the Cantor diagonalisation? 16:23:00 Actually, I may be visualizing it wrong still 16:23:19 Phantom_Hoover_, I know what it looks like for decimals and... I was visualizing it for the 2x2x2x.... wrong 16:23:52 http://www.reddit.com/r/AskReddit/comments/ee95j/whats_the_most_internet_famous_thing_youve_done/c17guwl 16:23:53 I was visualizing 2 rows, and only 0 and 1 were digits in both numbers 16:25:16 Sgeo, why do it like that? 16:25:24 Because I'm tired 16:25:34 And wasn't thinking properly 16:25:59 It still holds though 16:26:09 Moreover, the set of programs is logically equivalent to the set of subsets of the reals. 16:26:33 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 For the situation that I was envisioning 16:27:36 15:12:27 Mathematica is like unto a God: 16:27:36 15:12:28 In[1]:= Sum[1/(2^i), {i, 1, Infinity}] 16:27:36 15:12:28 Out[1]= 1 16:27:36 15:13:12 yeah, but God got the answer by summing thw whole lot 16:27:36 15:13:37 F*ck knows how Chuck Norris got his answer. 16:27:37 15:14:03 Who knows how Mathematica did it; might be magic! 16:27:39 fizzie wolfram 16:28:34 Hmm, ihope's suggestion is intriguing. 16:29:05 For instance, are the accessible cells restricted to those indexed by a CR? 16:30:45 Phantom_Hoover_: No. 16:30:49 Not that I know of. 16:30:55 http://ideone.com/to8J2 16:31:22 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 16:11:30 usually the altter 16:31:22 16:11:32 latter 16:31:22 16:11:43 erm, *latter 16:31:22 16:11:50 yeah, thanks 16:31:25 16:11:54 bah, real languages doesn't have strings... 16:31:28 elliott, so it's unimplementable? 16:31:33 Phantom_Hoover_: It's not a language. 16:32:06 09:23:05 Hmm, what about a language where the dimensions are finite, but the number of them is infinite? 16:32:19 Oh. 16:32:23 Phantom_Hoover_: Why not ask him? 16:32:51 When was he last seen? 16:33:30 he's on freenode as tswett 16:34:20 doesn't come here much 16:34:33 But not at the moment, and not that I can remember recently. 16:35:01 ...he's on the network now, says whois 16:35:11 he just doesn't come to this channel 16:35:34 Gregor: OH MY GOD I HATE GHEXTRIS 16:36:14 hum. I wonder what made my computer crash the moment I plugged in my mouse. 16:36:36 works perfectly now, worked perfectly in my laptop today 16:37:00 elliott, what's GHEXTRIS? 16:37:11 Phantom_Hoover_: sudo aptitude install ghextris 16:37:13 "It's 3:00:00 am. Go get some rest!" 16:37:17 -!- perdito has quit (Ping timeout: 240 seconds). 16:37:25 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 ^^What Newspeak's IDE will tell you at the bottom if it's open at that time 16:38:13 elliott: hmm, tetris on a hex grid? 16:38:32 ais523: yes. and oh dear god it is impossible 16:38:59 * oerjan recalls playing hextris back in the day 16:39:07 HEXAGONAL GEOMETRY MAKES NO SENSE 16:40:50 She's now teaching the class hexadecimal 16:41:15 Sgeo, ...you didn't already know that? 16:41:19 AT TWENTY-ONE. 16:41:27 ("You" in the plural form) 16:45:07 23:19:08 * _wildhalcyon_ blames linux for Kevin Federline's career. 16:49:14 Phantom_Hoover_: being taught hex doesn't mean you don't know it already 16:49:20 just that someone wanted to teach it to you 16:49:29 there are some subjects I ended up learning over and over again 16:49:48 boolean algebra is one I remember, I was taught it at least twice and new it already before then 16:49:52 *knew it already 16:49:52 *knew 16:49:54 :D 16:50:00 hmm... I want to revive ESO OS, now 16:50:04 after reading this log 16:50:23 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 I pretty much type by sound, for some reason, rather than by spelling 16:50:33 so I often have to go back and correct a word into one of its homophones 16:50:37 ais523: hooked on phonics eh 16:50:56 elliott: some interps would fit into a bootsector just fine 16:51:02 MiniMAX, for instance, or many other OISCs 16:51:23 23:36:47 (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 aiee 16:51:38 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 ais523: can MiniMAX programs do "int 10h"? 16:52:10 I should google that, so I will 16:52:21 elliott: I wrote a couple of extensions for that 16:52:36 ais523: are they on the wiki? 16:52:45 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 but I never ran it and am not entirely sure if it works 16:52:53 also, I hereby proclaim the OS to be the ESO OS, edition E 16:53:01 wait, that isn't quite a palindrome 16:53:05 * Sgeo videos elliott 16:53:11 also, I hereby proclaim the OS to be the ESOS (ESO OS), edition E 16:53:12 ESOSE 16:53:31 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 ais523, how could I check this? 16:53:50 OS ed. ESO 16:53:59 ais523: hmm... the problem is, I don't even fail vaguely like writing a minimax program :) 16:54:05 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 ais523: maybe I'll base it on Underload 16:54:16 Vorpal: intermittent shorts aren't at all easy to check 16:54:26 somehow, extending Underload seems less awful than extending brainfuck 16:54:26 and some methods of checking for them have a tendency to set things on fire 16:54:31 although I'm not sure how I'd do mutating a register 16:54:40 ais523, I wouldn't want that 16:54:43 indeed 16:54:46 She's now talking about swapping variables with tempoary variables 16:54:49 This is Perl... 16:54:50 it's what happened to my shorting power supply, though 16:54:57 Sgeo: ($a, $b) = ($b, $a) 16:55:01 Sgeo: ($a, $b) = ($b, $a) 16:55:06 elliott: how did you type that so quickly? 16:55:09 ais523: *hi5* 16:55:12 also, we both missed the semicolon 16:55:14 ais523: because I type really quickly 16:55:19 indeed 16:55:21 also, don't need it if it's in {} :) 16:55:23 Her response: "It depends on the language" 16:55:24 ais523, anyway it could be the computer. I very rarely hotplug anything except the mouse to my desktop 16:55:29 Which is correct, obviously 16:55:31 elliott, is there any nice way to handle reals in Coq? 16:55:36 Vorpal: I take it this is a USB mouse? 16:55:41 ais523, of course 16:55:41 Phantom_Hoover_: The non-computable reals? 16:55:50 PS/2 mice aren't hotpluggable, and have been known to break motherboards when people try 16:55:56 but that's a rather old technology 16:56:03 by now 16:56:10 ais523, I'm aware. Which is why I would never hotplug this keyboard 16:56:13 (which is PS/2) 16:56:18 Phantom_Hoover_: For any constructivist Coq work, including the computable reals, use http://c-corn.cs.ru.nl/. 16:56:18 (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 ais523, I have *heard* of them that is all 16:56:38 I own one 16:56:43 hah 16:56:43 haven't used it in a while, though 16:56:51 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 ais523, anyway this mouse is technically serial when you expand the abbrev. USB 16:56:56 Phantom_Hoover_: But C-CoRN is awesome. 16:57:03 actually, I think I technically own three, but only one works nowadays 16:57:04 Phantom_Hoover_: Russell O'Connor runs it. 16:57:17 ais523: any suggestions to someone feeling like extending underload? apart from "don't"? 16:57:31 elliott: remove the S statement and replace it with something more appropriate 16:57:39 then you can compile it without having to keep the source around as well 16:57:43 ais523: i wasn't planning to support S anyway 16:57:47 Underload's actually pretty extensible 16:58:04 hmm, now I'm wondering what an Underload interp in Forth would look like 16:58:09 ais523: I was thinking about adding a command % which takes one value off the stack and "interpcalls" it 16:58:10 so some other way of output? Or just having the final program state as output? 16:58:17 Vorpal: no output 16:58:22 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 ais523: the value would be expected to be an underload church numeral 16:58:30 elliott, hm okay 16:58:50 ais523: so e.g. (::**)% would be "syscall 3", and the remaining things on the stack could be arguments 16:58:50 elliott: church numerals aren't massively space-efficient 16:58:59 ais523: well, no, and this is also a rather boring extension 16:59:01 elliott, ah so a system call like mechanism? 16:59:05 Vorpal: yes 16:59:09 more or less the best you could do would be along the lines of (:*:*:*:*:*)% for a high-numbered syscall 16:59:17 ais523: I just want to be able to read a floppy using the BIOS in an extended esolang :) 16:59:27 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 no more efficient representation of numbers in underlambda? 16:59:32 err 16:59:35 underload 16:59:37 I'm tired 16:59:41 Vorpal: they both represent numbers the same way 16:59:45 yeah 17:00:02 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 unload 17:00:08 *worry about 17:00:19 ais523, but can there not be any general number representation that is more space efficient in underload? 17:00:23 Wait, there's really an underlambda? 17:00:38 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 with general I mean "not special cased to a finite range" 17:00:44 Sgeo: yes, it's semi-vaporware 17:01:00 http://eurekamag.com/keyword/u/026/underlambda.php 17:01:21 Sgeo: hmm, I somehow doubt that's the meaning I use the word for 17:01:23 * ais523 checks the link 17:01:32 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 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 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 lolspam 17:01:56 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 the word doesn't appear anywhere there but the title 17:02:19 ais523, under.lambda 17:02:22 Vorpal: :*:*:*:*-style compression isn't /that/ bad, really, it's O(log n) 17:02:34 Vorpal: you could obviously convert a church numeral to some binary representation 17:02:48 ais523, Underlambda was the proof-by-isomorphism language, wasn't it? 17:02:56 Phantom_Hoover_: yep 17:03:31 -!- tswett has joined. 17:03:37 Uh oh, what did Phantom_Hoover_ do. 17:03:43 (Or maybe tswett reads logs compulsively.) 17:04:00 I receive an SMS every time someone says something in this channel. 17:04:02 * Phantom_Hoover_ whistles innocently. 17:04:06 Vorpal: you could obviously convert a church numeral to some binary representation <-- well yes 17:04:14 They cost me 25 cents apiece, so you'd better not say anything unless it's important. 17:04:20 oerjan, but I meant in underload as the source is written 17:04:21 tswett: O KAY 17:04:30 tswett: that is probably a bad idea 17:04:59 i think ais523 has a broken joke lobe 17:05:03 Uh oh, what did Phantom_Hoover_ do. (Or maybe tswett reads logs compulsively.) <-- there is some context missing here? 17:05:13 Vorpal: yes, it's called read your damn scrollback :) 17:05:30 elliott, my scrollback goes back to when I joined after the crash half an hour ago 17:05:38 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 unfortunately, this means I act much the same way whether I miss a joke or not 17:05:49 ais523: you could do it more interestingly :) 17:06:03 Vorpal: well that :*:*:* style _is_ essentially binary, adding :* multiplies a number by 2 17:06:10 ais523, hm I actually do the same sometimes. 17:06:16 tswett: you're lucky, this is the first time we've talked about esolangs in months 17:06:16 it is fun 17:06:27 oerjan, hm okay 17:06:37 23:49:05 I love how devfs survived for like a year :-P 17:06:37 23:49:34 yeah, what was wrong with it? worked for me 17:06:37 23:50:04 I really don't know. 17:06:37 23:50:08 Always worked great for me. 17:06:39 It's not object XML enough. 17:06:44 oerjan: that's what I was thinking; it has *2 and +1 operations 17:06:46 (Is devfs in the newest kernels?) 17:06:50 Ugh, no, it isn't. 17:06:52 so it's a sort of generalised binary that allows arbitrary digits 17:06:57 Removed in 2.6.13; glorious ... 17:06:57 elliott, I don't think udev uses XML? 17:07:04 Vorpal: No, but it might as well. :) 17:07:06 oh and adding 1 is putting : and * _around_ the number, isn't it? 17:07:28 elliott, no xml would be worse 17:07:49 Vorpal: I'm saying that it's so overcomplex that making it use XML would hardly change a thing. 17:07:49 She wants us to install MySQL Query Browser 17:07:58 Maybe I will see if devfs works on current kernels. 17:08:07 Or just use static /dev like I was planning to. 17:08:15 elliott, there is that other one there was some talk about. Don't remember details 17:08:32 I wonder if devtmpfs can work without udev. 17:08:58 elliott, anyway, why do you want to move stuff into a monolithic kernel? 17:09:15 Vorpal: udev would be no better if it was in the kernel 17:09:28 have you seen /etc/udev? 17:09:32 elliott, I have 17:09:41 elliott, it is overcomplicated yes to some degree. 17:09:43 yeah. when was the last time you were using devfs and thought -- 17:09:48 "I wish I could rename my hard drive device file." 17:10:04 elliott, but then I doubt devfs allowed you to run a script that loaded joystick calibration values when it was connected 17:10:10 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 elliott, fair point 17:10:31 See Hurd for the extreme of this. 17:10:37 indeed 17:11:05 http://lwn.net/Articles/330985/ Yay -- devtmpfs looks like a proper devfs. 17:11:10 "/dev will be fully populated and dynamic, and always reflect the current 17:11:10 device state of the kernel." 17:11:22 And apparently it makes init=/bin/sh work perfectly. 17:11:32 THINGS THAT ANNOY ME: people who equate "real" with "floating point". 17:11:42 See: Fortran, Pascal. 17:12:09 elliott, hm that is nice 17:13:13 Phantom_Hoover_, things that annoy me: people who seem to take fortran or pascal seriously today. 17:13:16 ;P 17:13:40 Vorpal, it's a symptom of a greater evil! 17:13:42 "Removed /home (sorry!)" -- now that's interesting. 17:13:48 fizzie, what? 17:13:53 fizzie, from where? 17:13:58 That of putting a stupid amount of store with floating point! 17:13:59 That's what it says on the latest blog post. 17:14:05 fizzie, blog post of? 17:14:07 fizzie: Blog post of? 17:14:09 http://notch.tumblr.com/ 17:14:10 elliott, echo 17:14:14 Oh god. 17:14:20 I refuse to update. 17:14:25 what? it removed /home? 17:14:26 where? 17:14:27 Yes. 17:14:30 Newest update. 17:14:36 Back up .minecraft now, y'allz. 17:14:47 $ cp -R .minecraft .minecraft_has_home_for_fucks_sake 17:14:58 -!- Sgeo has quit (Ping timeout: 255 seconds). 17:14:59 Let's see if it's going to force me to upgrade! 17:15:00 oh not /home on the fs 17:15:03 It might be a server-side change, though. I don't quite know how commands work. 17:15:18 HAHAHAHA FORCED UPGRADE 17:15:25 FUCK YOU NOTCH 17:15:27 why would it remove /home 17:15:32 because notch sucks 17:15:39 elliott, also it says server upgrade is not mandatory 17:15:43 bbl food 17:15:55 Yes, but also that there is a "rather bad memory leak bug in the server". 17:16:10 ineiros: Instead of updating, why not try restarting the server every now and then? 17:16:13 Oh, look, I died before quitting. 17:16:15 What does rm -rf / actually do? 17:16:23 Remove the inode for /? 17:19:14 Phantom_Hoover_: Recursively remove everything in /, duh. 17:19:19 Or refuse to, if it's GNU rm. 17:19:27 fizzie: http://imgur.com/gseyK.png http://imgur.com/ZZWCa.png http://imgur.com/xqBXT.png 17:19:30 fizzie: Stop that, it's silley. 17:20:03 elliott, what happens after it finishes? 17:20:06 A daily stone-bath does wonders for your textures. 17:20:10 Phantom_Hoover_: Um, bad things. 17:22:47 fizzie: http://imgur.com/tzQ07.png http://imgur.com/1wqWD.png 17:23:18 Are my feet sticking out through the bridge? 17:23:22 fizzie: Yes. 17:25:07 http://esolangs.org/wiki/Banana_Scheme <<< erm, so, what's banana scheme? 17:25:45 "hey i invented a new language called X, the language called Y is defined as follows" 17:26:00 oklofok: they are the Banana Schemes, collectively 17:26:04 it's terminology from some irc log, see talk page 17:26:06 okay 17:26:30 TIME TRAVEL 17:31:43 Phantom_Hoover_: You breakin'? 17:32:02 Breakin' what? 17:32:08 Phantom_Hoover_: Minecrafty. 17:32:46 Phantom_Hoover_: Have you been putting those extra steps on the skyway? 17:32:57 I think I need a break. Also, this torrent is doing awful things to my connection. 17:33:02 And that was Vorpal. 17:33:11 Phantom_Hoover_: Has he realised that you need three, not one? 17:33:13 Also that it's ugly? 17:33:44 Three what's? 17:33:47 Steps. 17:33:52 To make a barrier. 17:35:12 http://politics.usnews.com/usnews/php/galleries/image.php/162/46/46.jpg 17:35:13 I did some of the widening too. 17:35:35 oerjan: that was /almost/ funny 17:35:42 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 *whats 17:38:01 fizzie: Nobody ever told me you could ascend water without drowning! 17:38:24 Well, you can. 17:38:31 There, now you've been told. 17:38:44 And that was Vorpal. 17:38:46 uh 17:38:51 fizze 17:39:07 "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 Hey. 17:40:03 I just realised. 17:40:07 Getting stuck in stone is now unfixable. 17:40:13 You are stuck there. Forever. Until the server /tps you out. 17:40:32 "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 don't you sit down like a good alpha tester, and play the game like it's meant to be played." 17:40:34 Mostly you're supposed to suffocate, but I guess you still could easily get stuck. 17:40:40 ... 17:40:43 "Notch KNOWS BEST" 17:40:56 fizzie: He added code to suffocate rather than fixing the bug? Srsly? 17:41:06 Also, you have to lose your inventory because of a bug? Niice. 17:41:28 No, I think you've always supposed to have been suffocated if you ended up inside a non-air block somehow. 17:41:33 Also, what's all these comments talking about /spawn? Our server seems not to have that. 17:41:47 "the key is to not get stuck in a mine. thats the point of the game." 17:41:50 Well, thanks for that! 17:42:57 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 "How could a player teleportation command cause bugs or issues? If it did, why weren't the others removed?" 17:43:28 "idk ibm. Are you a programmer? Maybe learn a bit about that before you ask ignorant questions." 17:43:32 As a programmer, #2 is full of shit. 17:43:57 fizzie: why is everyone acting like /spawn does something, it doesn't for me 17:44:14 I don't really know, I've been wondering about spawn-point-setting too. 17:44:35 Oh, incidentally. 17:44:44 It seems that hMod already has a "enable-health" server option. 17:44:59 -!- nopseudoidea has joined. 17:45:32 fizzie: Yes, but does disabling it work? 17:45:37 If so: ineiros: HMOD LOL 17:45:41 Well, according to some comments, yes. 17:45:45 I don't really know. 17:46:10 fizzie: Now tell me what the heck /spawn is meant to do >_< 17:46:12 It does nothing! 17:47:16 http://wiki.hey0.net/index.php/Commands#.2Fspawn maybe? 17:47:20 (That's the hMod command list.) 17:47:24 "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 fizzie: Nice... so people are saying "just use /spawn!" when mods are meant to be BADHORRIBLE according to Notch. 17:47:53 hMod does seem rather nice. 17:48:03 Hey, it has support for "kits". 17:48:04 On "paper", anyway. 17:48:06 /kit diamondtools 17:48:16 Cool, you can set your own /home. 17:48:21 ineiros: Totally requestin' hMod 17:49:02 "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 Wait WHAT 17:49:08 Notch removed /home? 17:49:13 Bastard! 17:49:36 So the patch notes say; we haven't actually tried out the new server version yet. 17:49:54 And we're not going to! Well, not without hMod yet. On pain of ineiros being murdered. 17:50:16 fizzie: Also, I love the idea that there can be a "proper" way to play a sandbox game. 17:51:30 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 fizzie, link?? 17:52:49 Phantom_Hoover_: http://notch.tumblr.com/ 17:52:54 Phantom_Hoover_: Shouldn't you know that address already? 17:54:33 fizzie: Nice... so people are saying "just use /spawn!" when mods are meant to be BADHORRIBLE according to Notch. 17:54:34 uh 17:54:41 that only applies to client mods iirc 17:54:54 I doubt he approves of deobfuscating, modifying, reobfuscating and then distributing the server code. 17:55:01 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 "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 "turning off monsters currently sets the server to peaceful mode. It will be an option." 17:55:32 elliott, iirc he said that quite a bit of the code is shared between client and server (which seems sensible) 17:55:36 How about making it an option before breaking it... 17:55:46 Vorpal: Yes, but he's still too stupid to make singleplayer = connect to local server. 17:56:08 fizzie: @notch Why did you remove the /home command? Bugs? 17:56:09 @PHLAK it's not supposed to be there! 17:56:11 tl;dr it's not coming back 17:56:19 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 Pretty impressive if two lines is tl;dr. 17:56:32 fizzie: Indeed. 17:56:42 Vorpal: That's just because the server code sucks. 17:56:59 elliott, possibly. Go implement your own one? 17:57:09 Vorpal: Others already are. 17:57:13 Anyway I don't feel like figuring out the protocol. 17:57:16 It's probably braindead. 17:57:21 I mean, complaining here doesn't really give any result :P 17:57:35 The damn comment page won't load for me... 17:57:49 It's not just figuring it out, it seems to be a moving target. 17:57:55 LOL: http://www.pcgamer.com/2010/12/01/the-minecraft-experiment-day-7-when-you-are-engulfed-in-flames/ 17:58:02 Hilarious. 17:58:27 "/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 (From the comments.) 17:58:52 fizzie: Yeah, but he clearly won't since it seems it wasn't "meant" to be in there. 17:58:55 Maybe he only noticed now. 17:59:12 "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 elliott: I think the idea is that it's basically doing an end-run around the "difficulty" of the game 17:59:51 imagine adding a /home command to a typical roguelike 17:59:54 instant escape item! 18:00:10 That guy's Galactic Civilisation II playthroughs have to be seen to be believed. 18:00:17 ais523, indeed 18:00:22 ais523: yes, but we don't play it as survival 18:00:24 -!- atrapado has quit (Quit: Abandonando). 18:00:26 apart from maybe Vorpal but nobody cares about him 18:00:37 ais523: we're essentially playing it as creative, but with minecarts and circuits and all that fun modern stuff 18:00:46 elliott, I don't really either indeed 18:00:51 elliott: You're playing it wrong! 18:00:56 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 ais523: which is, of course, rather insulting. 18:01:00 elliott, well, Creative mode will be implemented for the current version at /some/ point. 18:01:10 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 Phantom_Hoover_: Yeah... at /some/ point. Just like adventure mode. 18:01:22 /home isn't coming back though. 18:01:30 And /home is damn useful if you're not playing to survive and just want to explore and create. 18:01:34 elliott, we can survive without /home 18:01:42 Vorpal: I can survive without Minecraft too. 18:01:46 It's not can, it's want. 18:01:51 indeed 18:02:02 hMod seems nice anyway. 18:02:07 It has those kits, which are like automated multi-/gives. 18:02:18 And you can set a personal home that you can teleport to. 18:02:20 As well as spawn point. 18:02:32 And ops can set arbitrary predefined teleportation points. 18:02:38 And you can disable health. :p 18:02:53 seems nice yes 18:03:07 wait, connection refused? 18:03:18 It said on the blog it was an optional server upgrade 18:03:47 Maybe it crashed because of all the memory leaks. :p 18:03:55 It's been down for a lil' while. 18:03:57 It was up earlier though. 18:04:09 hm 18:04:20 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 the remember server bit fails 18:04:42 And you can write plugins for it! 18:04:43 Endless fun! 18:04:45 since it doesn't remember port number 18:04:46 Yes, it drops the port number. 18:04:55 fizzie, it doesn't in the config 18:04:56 ineiros can finally have his /donateacreeperto. 18:05:01 Vorpal: Protip: 18:05:04 Put the server in, click cancel. 18:05:07 It will remember the port forevermore. 18:05:11 At least it did for me... 18:05:16 elliott, no it won't after restarting the client 18:05:23 What, Minecraft just updated again I think. (Did it?) 18:05:25 Vorpal: Oh. 18:05:29 the config is: key: which means key:value:port 18:05:37 which I guess is why it fails to parse it properly 18:05:37 ...fail. 18:05:40 it writes the right thing 18:05:53 Hmm? 18:06:06 elliott, it is a sane config format. But with xml it wouldn't have failed :P 18:06:16 "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 ineiros, connection failure to your server 18:06:32 ineiros, it simply times out 18:07:05 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 Ah, apparently not a voluntary update, this. 18:07:10 2010-12-01 19:52:39 [SEVERE] Unexpected exception 18:07:12 ineiros: Oh, and you can set arbitrary named spawn points as an op. 18:07:14 It is voluntary. 18:07:17 But the old server has a memory leak. 18:07:21 I think you ran out of memory. 18:07:24 ineiros: Anyway, see above :P 18:07:32 elliott, what was the name of that blog again? 18:07:34 hMod doesn't run on the newest server yet, but "only a matter of time". 18:07:43 Vorpal: towardsdawns.blogspot.com; but I'm not quoting from that. 18:07:51 elliott, oh where was it from then? 18:08:05 Vorpal: http://www.pcgamer.com/2010/11/20/the-minecraft-experiment-day-1-chasing-waterfalls/ 18:08:05 Vorpal, it's Tom Francis' playthrough. 18:08:09 Vorpal: In which he deletes his world whenever he dies. 18:08:11 Vorpal: Hilarious. 18:08:11 Well, account of playing. 18:08:36 Also worth reading: both his Galactic Civilisations II playthroughs. 18:08:44 Even *more* hilarious, and epic. 18:09:12 "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 (They're creepers.) 18:09:34 elliott, ah 18:09:34 http://media.pcgamer.com/files/2010/11/Minecraft-Diary-Creeper-Tail-Closest.jpg AAAAAAAAAAAAAAH 18:10:28 "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 http://www.computerandvideogames.com/article.php?id=161570&site=pcg 18:11:00 [[ 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 elliott: The "Painterly" texpack's default moon has three crater-looking creeper faces on it. 18:11:10 fizzie: ;_; 18:11:27 elliott, mossy cobblestones have creeper larvae on them. 18:11:34 Phantom_Hoover_: STOP IT STOP IT STOP IT STOP IT 18:11:52 elliott, read the GCII playthroughs! 18:11:57 No this is better. 18:12:08 "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 Read that, then those! 18:12:47 "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 Interesting way to describe Caramac. 18:13:34 "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 elliott, "legs"? 18:14:13 Vorpal: RTFLog :P 18:14:18 (Zombies) 18:14:22 elliott, oh 18:14:29 ineiros, still down? 18:14:36 ineiros: HOLY SHIT IS THE SERVER ODWON; 18:14:42 odwon, the purest state of being. 18:14:57 "I don’t know if reaching through zombie legs to loot treasure chests is dangerous, but it feels dangerous." 18:15:03 hm "I will start looking at server-side inventory soon in an attempt to reach beta soon." 18:15:05 that scares me 18:15:05 2010-12-01 20:14:29 [INFO] Connected players: fizzief, ehird 18:15:09 where are the inventories now 18:15:19 "Eggs! For that souffle I’ve always dreamed of! 18:15:20 Gunpowder! For that gunpowder souffle I’ve always dreamed of!" 18:15:24 Vorpal: IN YOUR MIND 18:15:27 ineiros, it fails to connect to it still. 18:15:34 Yes. I'll restart. 18:15:42 "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 ineiros: SO WILL YOU USE HMOD :| 18:15:54 With capitals. 18:16:18 elliott, hmod hasn't been upgraded yet (at least fizzie said that above) 18:16:27 Yes, but *will* he. 18:16:29 As in, the future. 18:16:30 elliott, and I doubt he would want the mem leak 18:16:33 Yes, but *will* he. 18:16:34 As in, the future. 18:16:41 indeed that is the question 18:17:40 http://kerneltrap.org/node/4893 18:17:44 "I make a single boot+root floppy disk in minix file format and lilo boot loader." --2005 18:18:15 heh 18:18:25 ineiros, restarting it sure is slow 18:18:38 Vorpal: You should've paid for a better SLA. 18:18:57 fizzie, indeed :P 18:19:04 -!- poiuy_qwert has joined. 18:19:13 fizzie, I blame notch not ineiros for this though 18:19:31 ais523: So, have you ever written an actual minimax program? 18:20:04 elliott, you mean as in the minmax algorithm for game solving? 18:20:13 No. No I do not. 18:20:17 Vorpal: Sorry, I'm rebooting the whole server, since I've avoided that for a few kernel updates already. 18:20:22 ineiros, ah 18:20:30 ineiros: Is it running on Kitten? 18:20:31 elliott, then what? 18:20:36 Vorpal: JFEsolangsI 18:20:39 elliott, ah 18:20:52 elliott: where would he have downloaded kitten? 18:20:54 ineiros: So yay or nay for hMod? :p 18:20:56 Vorpal: My mind. 18:21:06 elliott, interesting 18:22:21 elliott: I'll look into it when I have time. Definite maybe. :) 18:22:42 ineiros: You do realise it's just a few .classes to replace? :p 18:22:43 But yay. 18:22:53 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 ineiros: Hmm, in fact, it's a batch file that downloads the server and does its magic. Hmmmmmmmmmmmm. 18:23:28 elliott, not ported yet 18:23:28 ineiros: Oh, there's an .sh too. 18:23:32 Vorpal: I KNOW GOD DAMMIT 18:23:39 ineiros: And it supports MYSQL! Note: Don't use MySQL. 18:24:00 elliott, out of morbid curiosity: what does it use mysql for? 18:24:12 Vorpal: You can make it use MySQL as opposed to flatfiles. 18:24:15 Presumably that's quicker. 18:24:27 elliott, for the game world? 18:24:43 Prseumably. 18:24:45 *Presumably. 18:24:45 hm 18:24:46 Perhaps not. 18:24:55 I would guess just the hMod-specific warp-points and kits and such. 18:25:02 ah 18:25:18 elliott, MySQL is A Bad Thing, then? 18:25:20 Ban lists, whatevers. 18:25:27 Phantom_Hoover_: Yes. 18:25:33 Phantom_Hoover_, well duh 18:25:33 This is not an uncommon position :P 18:25:43 also oracle now. Even worse 18:25:57 elliott, Vorpal, I never knew... 18:25:59 ineiros, rebooting atm? 18:26:04 ineiros, or what point is it at 18:26:05 Vorpal: oh shut up 18:26:13 IT'S DONE WHEN HE SAYS IT'S DONE 18:26:14 elliott, just wondering how far it got 18:26:28 Try now. 18:26:47 "IRC <--> Minecraft chat relay and advanced administration bot". The most sensible thing evar. (Perusing the hMod plugin list.) 18:27:55 fizzie: I would like that, just to annoy people who are playing. 18:28:22 ineiros, are you logged in atm? Or do we get ghosts of logged in people now? 18:28:37 since dwarf in there just stands around doing nothing 18:30:37 [[All other secondary schools (23 in total) will be open for 4th-6th year pupils tomorrow]] 18:30:47 The Forth Road Bridge closed due to snow today. 18:30:52 It has never done this before. 18:30:58 This is as stupid as hell. 18:31:12 IT'S FOR YOUR EDUMCACAITNO 18:33:19 No, it's because we have a poseur and idiot for a First Minister. 18:33:27 fizzie: ineiros: Vorpal: I am on fire near the spawnpoint. I refuse to stop being on fire. 18:33:45 elliott, okay? 18:33:59 Aww, Connection lost 18:34:01 End of stream 18:37:35 Vorpal: I suicide-fired. 18:37:37 Thus the ALLAH. 18:37:43 * elliott tasteful 18:37:43 ah 18:38:14 Gregor: 14:53:14 * GregorR-W doesn't even know what tldr means :P 18:38:14 14:53:51 heh, I had to look that one up too 18:38:14 14:54:36 Too Long Didn't Read? 18:38:14 14:54:38 XD 18:40:32 okay destroying the world whenever you die sounds like an awesome idea 18:41:32 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 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 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 elliott, everyone seen that 18:43:50 elliott, not as foggy though 18:43:56 elliott, do you use tiny or short distance? 18:44:02 Short. 18:44:09 Vorpal: I have more impressive ones: 18:44:11 ah 18:44:17 elliott, I seen such on far before 18:44:22 elliott, it is nothing new 18:44:29 Vorpal: That was looking *downwards on top of the sea*. 18:44:47 elliott, I been on top of holes with seeing caverns below too 18:44:50 http://imgur.com/L6ouQ.png http://imgur.com/WZqgE.png http://imgur.com/vkQoS.png These are really nice. 18:46:01 elliott, I been on top of holes with seeing caverns below too 18:47:07 -!- Sgeo has joined. 18:47:37 Say that in a deep Southern accent for great hilarity. 18:48:08 :D 18:49:44 Ah, Sgeo. Have any liaisons with Newspeak planned for tonight? 18:50:34 I plan on actually trying to write something 18:50:48 Saucy. 18:51:03 Isn't it a little early in your relationship? 18:51:06 think about it, really the only thing mankind is lacking in games is true fear of death 18:51:31 You'll probably abandon it in 3 days like you did with Smalltalk, Factor, Scala, ... 18:51:45 Did I abandon Factor in 3 days? 18:51:49 yeah Sgeo you're a real fuckface and everyone hates you 18:51:49 Or Smalltalk? 18:52:12 * oklofok is just trying to be popular 18:53:08 Now, let's see if I can avoid doing the same with real relationships 18:53:26 abandoning people in 3 days that is 18:53:27 ? 18:53:37 I don't... think I would 18:54:04 Suuuuure. 18:54:14 you haven't abandoned me yet 18:54:21 oklofok: he never truly loved you 18:54:23 and we've been in an ircual relationship for years 18:54:30 ineiros: http://wiki.nexua.org/Plugin:iStick wat 18:54:40 oklofok: well it's well known that Sgeo is extremely gay of course 18:54:42 and loves Finns 18:54:44 but i didn't expect this 18:54:59 there's nothing gay about true online friendship 18:55:33 oklofok: indeed; there's nothing faggy about a deep loving relationship with another man! 18:56:13 18:56:20 ineiros, gah 18:56:34 i just realized newborns would probably be rather homicidal 18:56:41 `addquote i just realized newborns would probably be rather homicidal 18:56:57 context being the mmorph with death 18:56:57 fizzie, ended up in stone thanks to the issue, had to /home 18:57:00 oh well 18:57:06 *mmorpg 18:57:06 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep). 18:57:09 fizzie, and just after I saw spawn I timed out 18:57:33 No output. 18:57:56 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 Ended up somewhere underground too. 18:58:01 "@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 Minecraft is buggier than AW. [Yes, I know that that's not saying anything at all] 18:58:04 "@warlordv1 actually, you're alpha testers.." 18:58:08 ineiros, maybe it is related to traffic? 18:58:13 -!- poiuy_qwert has joined. 18:58:43 Sgeo, PLEASE tell me that was self-irony. 18:58:58 fizzie, down for quite some time now 18:59:16 (Note the subtle mockery of Vorpal) 18:59:36 Phantom_Hoover_, I never said anything like that 18:59:37 Even more subtle when you point it out. 19:00:22 elliott, I remembered too late that Vorpal is about as subtle as a brick. 19:00:40 And has the memory of a BBC Micro. 19:00:56 ais523: aren't you going to stand up for the Micro?! 19:00:57 Phantom_Hoover_, I don't believe in subtlety 19:01:40 elliott, come now, it was hardly the Memory Man. 19:01:52 But ais523 grew up on it! 19:01:54 He's actually a BASIC program. 19:02:41 I've seen photos of ais523. 19:02:50 Yeah -- he's quite the pixel painter. 19:03:03 He has a BEARD. 19:03:07 * tswett looks on his Wikipedia page. 19:03:09 It is RIDICULOUS. 19:03:18 Oh, he no longer has a Wikipedia page. 19:03:30 ais523 is now a redirect to "Wolfram's 2-state 3-symbol Turing machine". 19:03:35 So it is. 19:03:36 How sad. 19:03:36 -!- cheater99 has quit (Ping timeout: 245 seconds). 19:03:40 Phantom_Hoover_, why is it ridiculous? 19:03:53 Wikisnubbed. 19:04:02 Phantom_Hoover_, why is the beard insane? 19:04:07 or ridiculous 19:04:22 -!- cal153 has joined. 19:04:46 Phantom_Hoover_, I mean, who doesn't have a beard... 19:04:54 -!- oerjan has quit (Remote host closed the connection). 19:04:54 http://www.wolframscience.com/prizes/tm23/images/alex_smith_wolfram_turing.jpg 19:04:55 ais523, in all his beardy ridiculousness. 19:05:10 Vorpal, most women, I hear. 19:05:20 Whoa, he has a beard. 19:05:21 Phantom_Hoover_, okay in the subset men 19:05:29 Phantom_Hoover_, I don't see why it is strange that he has a beard 19:05:35 or why it is ridiculous 19:05:40 I'm going to refer to ais523 as Wolfram's 2-state 3-symbol Turing machine today. 19:05:46 :D 19:05:46 I don't know, for some reason the photo reminds me of a soccer player. 19:05:47 -!- oerjan has joined. 19:05:49 s/today/from now on/ 19:05:55 Phantom_Hoover_, could you please enlighten me why the beard is ridiculous? 19:06:32 elliott, Vorpal, fizzie, Phantom_Hoover_: Are you able to log in now? 19:06:36 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 ineiros, trying again 19:06:51 ineiros, no 19:06:55 Vorpal, look at it and use your goddamn in-built ridiculousness sensor. 19:06:59 ineiros, just times out 19:07:01 You know, the one you get from being human. 19:07:09 he's not human 19:07:12 (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 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 still it looks perfectly normal 19:08:05 tswett: Flark. 19:08:21 Greem zob? 19:08:52 Vorpal, I don't really want to think about how ridiculous you look full stop. 19:09:15 Phantom_Hoover_, there is NOTHING silly or ridiculous with how ais523 looks on that photo 19:09:39 LEAVE AIS ALONE! 19:09:59 tswett: i note you already introduced a typo 19:10:23 or two, even 19:10:29 Three. 19:10:44 Phantom_Hoover_, well it was you who criticised him in the first place so that seems a bit hypocritical to say. 19:10:52 ineiros, still timeout 19:10:52 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 It got longer. I'm going to throw out typos that make it longer. 19:11:20 tswett is hill-climbing towards the empty string. 19:11:24 tswett, sombol? 19:12:26 ineiros, downess is still a property exhibted by the server 19:13:12 that poor, dow server 19:13:34 Department of What? 19:13:46 -!- Sgeo has quit (Ping timeout: 255 seconds). 19:14:14 tswett: By the way, Vorpal is AnMaster if you've been gone long enough not to know that. 19:14:29 tswett: I'm not going to tell you who I am because it's bloody obvious. 19:14:59 elliott, I don't know him from before 19:15:07 oh wait 19:15:17 very forgettable guy, Vorpal 19:15:18 right 19:15:19 Yes, you do. 19:15:26 elliott, yes I checked whois after 19:15:28 wait what 19:15:30 elliott, before that I didn't 19:15:40 oerjan, reading failure 19:16:00 yeah unfortunately nobody can ever forget Vorpal. 19:16:18 he vorps into your mind 19:16:39 oerjan, haha 19:17:57 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 Vorpal is AnMaster. You're Mr. Hird. 19:24:56 Or do you have a different title now? 19:25:48 Supreme Dictator Hird 19:26:06 -!- Sasha2 has quit (Ping timeout: 245 seconds). 19:26:20 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 Wombat's 3-stack 20-sylph Turning machete. 19:29:00 tswett, what about "W.'s 2,3-TM"? or such 19:30:18 tswett: Mrs. Hird 19:32:12 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 I need to make an esolang called "womfra's 2state 29mwd Truign acmien". 19:33:14 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 it will be a fncutonal language 19:33:22 It's getting there. 19:34:18 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 elliott, also I don't think it is hill climbing. It seems more like simulated annealing. 19:35:11 Vorpal: T' = mutate(T); if (fit(T') > fit(T)) T = T'; repeat 19:35:21 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 In this case, fit(s) = -length(s) and mutate(s) = try and write s carelessly. 19:35:27 elliott, yes but does he check all the neighbours in each step? 19:35:27 No? 19:35:33 Vorpal: Oh shaddup. :p 19:36:23 elliott, thus the closer fit to simulated annealing. With a slow temperature change 19:36:27 when in wome, do as the womans 19:36:34 I don't think hill-climbing in general means you'd check all neighbours. 19:36:47 "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 See, it's the first alternative there. 19:37:12 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 fizzie, oh I didn't know about "simple hill climbing" I only heard about the second one 19:37:19 Yeah, it's pretty much stabilized now. 19:37:31 wome stt 29 mdd thing machine. 19:37:36 wome stt 2w9mdd ting acine. 19:37:37 wome stt 28tingachine 19:37:43 woms tt 2wm89dnd ting acin 19:37:48 woms tt w2mws989dnd ting aicn 19:37:51 wms tti 2m89dnd ting acni 19:37:54 wome tt 28 thingachine 19:37:57 wms tti 28jndmndnd ting acin]# 19:38:03 wms tti28m89dns tninag gnc 19:38:04 wome th2 thingachine 19:38:16 wom th 2 thinaghine 19:38:19 tswett: Try "wms tti 2m89dnd ting acni"; that's the shortest I've got so far. 19:38:24 wom th2 thinachine 19:38:25 tswett: Shortening that middle block will be hard. 19:38:29 wom th2 thingachine 19:38:40 wom th2 thingchine 19:38:46 wom th2 thingchine 19:38:48 -!- Phantom_Hoover_ has changed nick to Phantom_Hoover. 19:38:50 yeah stabilised 19:39:07 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 tswett, still longer than the one I got to 19:39:33 well lets implement a genetic algorithm on this 19:39:41 Conclusion => he types better. 19:39:55 fizzie, who does "he" refer to here 19:39:59 tswett. 19:40:00 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 tswett. 19:40:03 hm 19:40:05 ais523: you there? 19:40:05 somet tt3 m m tine ianc 19:40:09 somet 3t3t n m tine aicn 19:40:13 somet t3jio nm tiainc 19:40:14 somet tt3 m m tine inac 19:40:17 somet tjio nm itnac 19:40:21 somet tinj oj nm ainta 19:40:22 some tt3 m m timtatn 19:40:24 somet tjinco nm itacn 19:40:28 somet tjio nm itanc 19:40:31 Some thingie oh-my titanic. 19:40:32 somet itoj nm tiacn 19:40:32 som tjio nm oitia 19:40:37 (what?) 19:40:37 smet itoj nm itan 19:40:42 smet itjo nm itan 19:40:43 mset iot nmi tn 19:40:47 mset iot nmi tn 19:40:50 mset niot n 19:40:55 msetnio tn 19:40:57 msetn iot n 19:40:57 mset nio tn 19:40:59 mseit not 19:41:03 tswett: mseit not. 19:41:03 mset no 19:41:06 msetn ot 19:41:07 smetno t 19:41:08 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 mseton 19:41:08 Multiset, NMI not. 19:41:12 mston 19:41:14 tswett: mston. 19:41:18 mstn 19:41:20 tswett: Try mston. 19:41:24 mstn 19:41:25 elliott, I got shorter :P 19:41:26 tswett: There. mstn. 19:41:26 Mastodon. 19:41:34 Mess-ton. 19:41:36 tswett: http://www.mastodon.biz/ 19:41:37 XD 19:41:41 ais523: /nick mstn 19:41:43 messton 19:41:47 meston 19:41:51 meston 19:41:53 wait 19:41:53 mston 19:41:55 let's go back the other way 19:41:57 mston 19:41:58 let's try and typo it larger 19:42:00 mstn 19:42:01 to get back to the original 19:42:05 elliott, hah :P 19:42:14 I'M SURE THIS PROCESS IS REVERSIBLE YOU GUYS 19:42:14 elliott, THIS TIME! a genetic algorithim 19:42:18 algorithm* 19:42:18 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 Now that it contains "ti emm", I'm going to replace those sounds with the letters they name. 19:42:48 mstn 19:42:49 stmrio 19:42:50 smtoni 19:42:50 sermnotin 19:42:52 mn soertn 19:42:53 msoinert 19:42:54 mseortni ertoin 19:42:55 mseorit 19:42:56 moseitn soertn 19:42:58 soemn tooi i 19:43:00 somet irtm oem 19:43:02 someti reiom tine nc 19:43:05 osmetie cireom ncein 19:43:05 elliott, you can do multiple on same line like tswett does 19:43:09 sotmeime ceion ncein 19:43:11 Vorpal: this is to keep my honset 19:43:13 somteime cein ceni 19:43:17 sometime tji 3m jioct 19:43:21 elliott, huh 19:43:24 som etiem im 3ioj 19:43:28 this will never work :D 19:43:39 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 ineiros, still very very down 19:44:04 ineiros, just checked again 19:44:23 It's not just down, or very down; it is in fact very very down. 19:44:37 You'll need to start it thrice to get it all the way back up. 19:44:46 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 somet mi cent hat 19:45:15 Eh, I've gone far enough for my taste. 19:45:17 sometiei mcetahti 19:45:17 sdojitgsdiogj 19:45:19 oijsdfoi 19:45:20 sdjf 19:45:21 djf 19:45:22 djf 19:45:22 df 19:45:23 d 19:45:24 19:45:31 ais523: your name is now "some Tm cint taint". 19:46:29 fizzie, port is still open says nmap 19:47:00 Yes, it wouldn't stay in the "logging in" mode if it wasn't, I guess. 19:50:34 "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 Wha? 19:51:28 Phantom_Hoover: Just David Parsons' insane software ramblings. 19:53:54 I wonder whether postoffice is less pain than qmail. 19:53:57 (To set up.) 19:55:26 Vorpal: ls -A | xargs -d'\n' find \ 19:55:33 Vorpal: I'm bugging you today -- 19:55:44 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 (No, I can't use GNU xargs's -I.) 19:57:23 uh 19:57:32 elliott, waiting for rest of command :P 19:57:37 elliott, there is a \ on the end 19:57:42 > 19:57:43 Vorpal: The rest is irrelevant (just find expressions). 19:57:48 The issue is that you can't give find paths after expressions. 19:57:57 elliott, indeed you can't 19:58:06 Vorpal: So my xargs doesn't work there. 19:58:08 elliott, if you use ls -A I guess no space 19:58:15 Vorpal: What? 19:58:30 elliott, the paths obviously are sanely delimited? 19:58:33 oh wait newline 19:58:34 right 19:58:35 Vorpal: Yes. 19:58:41 Vorpal: So the issue is, how can I do this? 19:58:42 elliott, MAAAYBE mess with IFS 19:58:46 Vorpal: Ugh. 19:58:48 elliott, but I don't know 19:58:55 Vorpal: All I want to do is have find not put "./" before everything. 19:58:58 elliott, use a saner language than shell script 19:59:19 elliott, find ... | sed 's/^\.\///' ? 19:59:22 find is the Right Thing here. 19:59:23 Can't you just postprocess the find output to sensib... 19:59:32 \( -type l -printf '0000000000000000000000000000000000000000 %p\n' \) -o \ 19:59:32 \( -type d -printf '0000000000000000000000000000000000000000 %p/\n' \) -o \ 19:59:32 \( -type f -exec sha1sum '{}' \; \) 19:59:36 "Maybe, but not with that script." 19:59:54 elliott, I suggest that you post process it indeed 19:59:56 Oh, wait; BusyBox find doesn't even have printf. 19:59:58 Hooray post-processing. 20:00:03 Or just not using find. 20:00:17 elliott, why are you limiting yourself to busybox here? 20:00:56 Vorpal: because Kitten uses BusyBox. 20:01:03 BusyBox isn't exactly lacking in features. 20:01:09 (Take a look at "busybox ls --help" sometime.) 20:01:30 Vorpal: If you know of any coreutils replacement that's even vaguely as complete, I'd love to hear about it... 20:01:41 elliott, whatever *BSD uses? 20:01:50 elliott, well freebsd mostly 20:01:59 Vorpal: *BSD have coreutils in their source tree. They are not portable. 20:02:01 openbsd is quite a lot worse 20:02:12 elliott, oh? what sort of BSD specific functions? 20:02:16 They do not compile on anything other than BSD; perhaps not even anything other than *that* BSD. 20:02:20 Vorpal: Mostly headers, actually. 20:02:30 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 So I pretty much just gave up at that point. 20:03:01 I tried Minix but their Makefile system is similarly tangly. 20:03:10 I think I have to apply the update. 20:03:45 ineiros, right. 20:03:47 The server seems to keep doing those unexpected exceptions. 20:03:59 Apparently it doesn't work well with the updated client. 20:04:21 yay, how reliable 20:04:45 I wonder what sending it specially crafted (no pun intended) packets would do? 20:04:57 presumably easy to crash it 20:05:42 Hmph. Maybe I'll store the type of the file before the hash. 20:05:52 Writing a useful manifest is irritating... 20:06:21 -!- mtve has quit (Ping timeout: 265 seconds). 20:06:29 elliott, why not sha2? 20:06:33 sha1 is meh 20:06:50 Vorpal: Because the sole thing this is used for is for checking whether the user has changed a given file. 20:06:55 Vorpal: I could even get away with CRC32. 20:07:01 elliott, ah not for download integrity then 20:07:04 right 20:07:11 Vorpal: Yeah, rsync will handle that. 20:07:38 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 So you can remove configuration files manually if you want. 20:07:49 elliott, ah interesting 20:07:59 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 Updated. 20:08:26 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 Vorpal: Well, I could write something that goes and chmods every file owned by the user building the package. 20:09:15 But it seems easier just to use a postinst script. 20:09:21 elliott, mhm 20:09:44 elliott, also stuff like nethack that is sgid games 20:09:56 Vorpal: Some distros run NetHack as root. :-) 20:09:59 (Of course, I'm not that stupid.) 20:10:02 whaaat 20:10:09 elliott, that way there can only be one player? 20:10:13 ...no. 20:10:17 Why would you think that? 20:10:25 elliott, uh. if you run as root you are root? 20:10:31 the player you are I meant 20:10:42 Vorpal: Um, I think it checks the different UID. 20:10:44 The one that doesn't change. 20:10:51 (But there *was* a security flaw in NetHack that left such distros vulnerable.) 20:10:51 ah 20:11:00 * elliott make menuconfigs uClibc 20:11:08 Yes, utilise the MMU. :p 20:11:17 And the FPU, too! 20:11:36 │ If you want the uClibc math library to contain the full set C99 │ 20:11:36 │ math library features, then answer Y. If you leave this set to │ 20:11:36 │ N the math library will contain only the math functions that were │ 20:11:36 │ listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard. │ 20:11:36 │ Leaving this option set to N will save around 35k on an x86 system. │ 20:11:41 I love how specific some of these options are. 20:12:00 │ j0, j1, jn - Bessel functions of the first kind │ 20:12:00 │ y0, y1, yn - Bessel functions of the second kind │ 20:12:03 I... don't think I need those. 20:13:11 │ The kernel source you use to compile with should be the same │ 20:13:11 │ as the Linux kernel you run your apps on. 20:13:12 Sheesh. 20:13:22 That's... really irritating. 20:14:27 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 20:15:23 In fact, I'm not even sure how to solve that. 20:15:28 Upgrade my kernel manually on Debian? 20:16:18 -!- poiuy_qwert has joined. 20:16:50 fizzie, there? 20:17:03 elliott, what if you need to compute Bessel functions! 20:17:19 PIC doesn't work with static libraries, right? :p 20:17:35 elliott, I'd assume PIE would 20:17:50 elliott, doubtful on 32-bit x86 though 20:17:54 Vorpal: x86-64 20:17:56 Mmmm, PIE. 20:18:05 Vorpal: i.e. should I bother telling uClibc to use -fPIC if I'm doing all static linking 20:18:11 fizzie: (oblig. http://www.weebls-stuff.com/wab/pie/) 20:18:16 fizzie: Saved you the effort of Vorpal's questioning! 20:18:21 elliott, yes probably 20:18:25 fizzie, know of a 3x3 shaft with spiral stair next to your house? 20:18:26 But I don't HAVE Flash! 20:18:33 Vorpal: Yes, tell it to use -fPIC? Really? 20:18:33 fizzie, does all the way down and all the way up 20:18:50 elliott, sure you can't do ASLR without it 20:19:16 Vorpal: Which doesn't work with static linking... 20:19:19 Duh. 20:19:43 elliott, sure? I thought it did 20:19:51 elliott, since it could move around heap and stack and such 20:19:58 elliott, and also where the binary is loaded 20:22:26 Vorpal: "# 20:22:26 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 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 Vorpal: --Drepper 20:22:38 So: no. 20:22:52 (ASLR is really not that useful, though; it's a bit of a niche exploit to cover for.) 20:23:37 In other news, I read all of the Ed stories. 20:25:09 Phantom_Hoover: They are rather good. 20:25:27 Yes, although the depressingness rises exponentially. 20:26:17 Phantom_Hoover: The ending is quite happy, really... apart from that one thing. 20:26:43 Well, except for the "how little we deserved it" bit. 20:26:49 And that one thing. 20:27:36 -!- Quadrescence has quit (Quit: omghaahhahaohwow). 20:27:40 Phantom_Hoover: I have lost my PDF copy of it! 20:27:42 It was nice. LaTeX'd. 20:28:14 :O 20:28:29 Phantom_Hoover: Have you read the epilogue? http://qntm.org/free 20:28:40 I included it in the PDF after a few blank pages. 20:30:26 Hmm. Ambiguous. 20:30:30 Could be... you know... 20:32:01 Phantom_Hoover: I think it's sort of meant to take place outside of any actual timeline. 20:32:30 I suppose. 20:33:49 │ bcmp, bcopy, bzero, index, rindex, ftime, │ 20:33:49 │ bsd_signal, (ecvt), (fcvt), gcvt, (getcontext), │ 20:33:49 │ (getwd), (makecontext), │ 20:33:49 │ mktemp, (pthread_attr_getstackaddr), (pthread_attr_setstackaddr), │ 20:33:49 │ scalb, (setcontext), (swapcontext), ualarm, usleep, │ 20:33:50 │ wcswcs. │ 20:33:52 Hmmmmmmmmmmmm. 20:33:54 Do I need these, I wonder. 20:34:20 Ha! There's an option not to include gets solely because it's obsolete. 20:34:21 I think not. 20:34:31 -!- ais523 has quit (Remote host closed the connection). 20:34:35 elliott: Ulrich Drepper there is blatantly lying. 20:34:39 pikhq: Oh? 20:35:20 elliott: Position independent executables are entirely feasible with static linking. However, you get fixed offsets in the binaries. 20:35:21 ineiros, are you torrenting or something? it is very laggy 20:35:24 ineiros, but not timing out 20:35:33 ineiros: You must feel so scrutinised. 20:35:37 Torrent away; Vorpal needs a break. 20:35:48 pikhq: Mm. I think I won't bother though. 20:35:49 elliott: Making it much less *useful* than with dynamic linking, where each library can be loaded at a random address. 20:35:57 pikhq: Address space randomisation is... well... fairly pointless. 20:37:09 │ Answer Y to enable repeated reading of the '/etc/TZ' file even after │ 20:37:09 │ a valid value has been read. This incurs the overhead of an │ 20:37:09 │ open/read/close for each tzset() call (explicit or implied). However, │ 20:37:09 │ setting this will allow applications to update their timezone │ 20:37:09 │ information if the contents of the file change. │ 20:37:10 Hmm. 20:37:12 It makes a certain class of attacks somewhat harder, but in that class of attacks you're already pretty well fucked. 20:37:13 Eh, it's not much overhead. 20:37:22 /etc/TZ is not a nice name for the file though. 20:37:26 Any suggestions? 20:38:59 pikhq: Is it evil to have a file named /etc/timezone with completely different syntax to glibc's? 20:41:59 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 Phantom_Hoover: What was it this time. :p 20:44:39 fizzie, down? 20:45:01 elliott, the niggle? 20:45:08 Seems that way. 20:45:19 Phantom_Hoover: Yes. 20:45:23 pikhq: Am I baaaaaaaaad? 20:45:32 fizzie, looked like an optimised design 20:45:38 fizzie, what is the obsidian risk in it? 20:45:40 Vorpal: *OPTOMIZED 20:45:45 fizzie, and how much goes back into the lava? 20:45:51 elliott, there's no such pattern known in Life, and I'd put large quantities of money on it not existing. 20:45:55 elliott, that z is so american 20:46:05 fizzie, back up 20:46:27 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 20:46:43 what kind of pattern doesn't exist in life? 20:46:44 Phantom_Hoover: What, something that can eat everything? 20:46:54 elliott, indeed. 20:46:59 oh 20:47:05 Phantom_Hoover: I'm not so sure... 20:47:22 Phantom_Hoover: Well, "almost" anything anyway. 20:47:26 elliott, show me a spaceship that can survive a collision with a blinker. 20:47:29 i have to think about this 20:47:40 Phantom_Hoover: who says it's necessarily a spaceship 20:48:02 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 elliott, the principle is identicle. 20:48:14 | <-- how does one type this character? 20:48:15 i'm not so sure 20:48:18 although I think it's unlikely 20:48:18 -!- poiuy_qwert has joined. 20:48:24 quintopia: | 20:48:25 || 20:48:27 quintopia: altgr-` on uk keyboards 20:48:28 huh 20:48:37 Spaceship: self-propagating pattern into vacuum. 20:48:51 Energy virus: self-propagating pattern into *everything*. 20:48:53 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 i didn't output the character i meant to because apparently it is unicode 20:49:05 orbit of the configuration i mean 20:49:24 -!- augur has quit (Remote host closed the connection). 20:49:25 oklofok, such patterns exist in several CAs, and some unconventional formulations of Life. 20:49:26 in english, bigger and bigger balls are filled with 0 20:49:36 elliott: the vertical bar in you messages at 15:33 and 15:36. what unicode value is it? 20:49:51 quintopia: i don't know, ask python 20:50:01 >>> ord(u'|') 20:50:01 124 20:50:03 Phantom_Hoover: well yes, obviously you can make a CA with such a pattern 20:50:10 seems it's just | 20:50:16 on windows it's a broken | 20:50:17 oklofok, also, for this purpose I'll go for chaos for some value of "chaos". 20:50:17 you can even make it nilpotent, in which case every pattern has that property 20:50:49 -!- kar8nga has joined. 20:51:14 elliott: If you ever want to run a glibc program, absolutely TERRIBLE. 20:51:19 I mean, almost all dense agars have that problem. 20:51:23 elliott: Otherwise, not at all. 20:51:40 pikhq: doesn't glibc look at $TZ before /etc/timezone 20:51:53 And the blank universe isn't really distinguished from the infinitely striped universe. 20:51:54 Phantom_Hoover: i don't get your chaos comment 20:51:59 pikhq: i do want to be able to run quake ii, which is circa-1997 gcc/glibc static linking :) 20:52:07 elliott: You're asking about how brain-damaged Glibc is. 20:52:12 elliott: The answer is "very:". 20:52:16 Any further questions? 20:52:29 pikhq: No! Okay, name it then. Basically, writing to this file is the same as setting $TZ to the contents. 20:52:34 pikhq: /etc/TZ is the default but that is *ugly*. 20:52:37 pikhq: Maybe /etc/tz? 20:52:53 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 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 almost impossible? 20:53:24 elliott: /etc/org.sun.xml.config.time.zone.xml 20:53:25 :P 20:53:26 I said identicles? 20:53:37 GYAAAAA 20:53:38 well you just typoed identical "identicle" 20:54:00 but so erm what does almost impossible mean 20:54:02 * Phantom_Hoover commits sepukku. 20:54:23 i guess measure theoretical or topological duh 20:54:48 oklofok, it's hard to define formally, but that almost all possible patterns will be destroyed would do. 20:55:36 we could just take the topological denseness and measure theoretical full measureness, and hope they make sense in this context too 20:55:41 elliott, incidentally, engineering isn't a very good solution to durability in Life. 20:55:47 Phantom_Hoover: Perhaps you should commit sehų'ku instead. 20:56:02 Erm, sorry. se'hųku 20:56:10 pikhq, MY GUTS ARE SPILLING OUT YOUR ROMANISATION IS NOT IMPORTANT 20:56:22 Phantom_Hoover: Your romanisation was spelled wrong anyways. 20:56:27 Phantom_Hoover: "Seppuku". 20:56:49 pikhq, I COMMIT SUICIDE AND YOU CRITICISE MY SPELLING 20:56:51 fizzie: This is just wrong: http://imgur.com/yMEWy.png 20:56:53 WHAt 20:56:55 Phantom_Hoover too 20:56:59 "Sepukku" comes out as something like "back poo phrase" 20:57:12 Phantom_Hoover: hey if pikhq hadn't, i would 20:57:26 fizzie facewalls at his duplication. 20:58:25 Speaking of the sparkles, http://zem.fi/~fis/current-hird.png 20:58:28 oerjan: is there an identicle for gol? 20:59:39 -!- augur has joined. 20:59:59 well what if you have two of them colliding? 21:00:13 good point 21:00:30 what's problematic about that 21:00:57 oklofok, what have you defined an identicle as? 21:00:58 http://cablegate.wikileaks.org/cable/2008/01/08OTTAWA136.html 21:01:00 you have two growing balls of zeroes, those would just both have to keep growing 21:01:14 hm 21:01:28 The US... Actively monitors Canadian TV for unAmerican things on prime time‽ 21:01:38 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 and 0 is the all zero configuration 21:01:56 and limits are taken w.r.t. product topology 21:02:21 pikhq: RR RUEHAG RUEHAST RUEHDA RUEHDF RUEHFL RUEHGA RUEHHA RUEHIK RUEHKW 21:02:21 RUEHLA RUEHLN RUEHLZ RUEHPOD RUEHQU RUEHROV RUEHSR RUEHVC RUEHVK 21:02:21 RUEHYG 21:02:21 DE RUEHOT #0136/01 0252315 21:02:21 ZNR UUUUU ZZH 21:02:22 lol 21:02:24 oklofok, there does have to be a wavefront made of live cells at the edge of the identicle. 21:02:43 Moreover, there are rules about propagation into vacuum. 21:02:48 Bounding boxes and things. 21:02:51 pikhq: [["THE BORDER" -CANADA'S ANSWER TO 24, W/O THAT SUTHERLAND GUY]] LOL 21:03:04 "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 Hmm. How's about you stop doing stupid shit. I think that'd do it. 21:03:27 surely there is a wavefront, yes 21:03:57 "rules about propagation into vacuum, bounding boxes and things"? 21:04:09 [[GIVE US YOUR WATER; OH WHAT THE HECK WE'LL TAKE YOUR COUNTRY TOO]] 21:04:11 pikhq: these headlines are amazing 21:04:36 And this was *never once classified*. 21:04:38 oh you meant 21:04:38 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 in the definition 21:04:43 there should be a wavefront? 21:04:47 or maybe not 21:04:48 limits in product topology is a pretty lenient requirement, the zero region can expand as slowly as it wants 21:05:11 oerjan: imo that's the correct definition 21:05:18 fizzie: Now watch as I fail to disappear. 21:05:25 That's restricted further to less than c/4, but I'm not sure. 21:05:26 oklofok, if there's one in Life it *must* have a wavefront. 21:05:34 well i'm just pointing out that it doesn't conflict with slow propagation 21:05:35 If any bubble of empty space expanded [tab complete]. 21:05:59 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 which is crazy 21:06:04 oh 21:06:09 c/2 changes too tho 21:06:41 Phantom_Hoover: what must stay within a diagonal box exp...? 21:06:46 the wavefront? 21:07:10 Any configuration of live cells cannot expand beyond the box. 21:07:19 " 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 Also, movement at >= c/2 diagonally basically writes "THIS RULE EXPLODES" on the starting grid. 21:07:56 what is propagation into vacuum even? 21:09:05 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 oklofok, turning on of live cells into an area filled with state 9. 21:09:34 *0. 21:10:39 -!- Sgeo has joined. 21:12:01 oklofok, incidentally, is your T^n thing indicating that T is a transition function operating n times? 21:12:20 so erm, can you reiterate, what are the things you'd like in the definition? 21:12:37 yes 21:12:57 * Sgeo wants a Truing machine 21:13:09 Makes false statements true by changing reality 21:13:33 ^^would have been funnier without those last three words, I think 21:13:44 maybe 21:13:46 we'll never know 21:13:49 oklofok, well, the T^n C → 0 thing was pretty good. 21:13:58 I'm just poorly expressing why I think no such configuration exists. 21:13:59 i think it's nice and pure 21:14:30 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 erm... 21:15:47 actually 21:16:06 Hmm. "In general" is pretty boring in CAs, since there's very little common ground other than the discreteness. 21:16:14 basically what an identicle is a neighborhood such that all points of it converge to zero 21:16:31 so in fact there is a very natural way to express this concept for a general dynamical system 21:17:20 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 that's like talking about the properties of the number 8, who gives a shit 21:18:12 well 21:18:24 maybe not exactly, but close :D 21:19:30 This *started* with Life-related pedantry. 21:19:43 Although where it will end up is anyone's guess. 21:20:00 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 Phantom_Hoover: i usually hope it ends in a theorem/-y 21:21:06 oklofok, stop knowing more maths than me. 21:21:08 I find it mocking. 21:21:14 where did i know maths you don't 21:21:25 if you're talking about attracting sets, i basically just said i don't know anything about those :D 21:21:30 erm 21:21:34 What open sets are! 21:21:39 actually i didn't say the part where i know nothing about them 21:21:40 erm 21:21:44 you don't know what open sets are? 21:22:06 in this case or in no case? 21:22:15 Depends on whether it's in terms of intervals or topology and stuff. 21:22:31 it's the same thing, except w.r.t. the metric on the space of all configurations 21:22:58 and not intervals but balls 21:23:09 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 Also know it there. 21:23:31 Intervals are one-dimensional balls 21:24:25 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 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 so basically, two points are close if they are the same around the origin 21:25:06 pretty much anyway you define that formally gives you the same topology 21:25:24 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 oh there's a definition for explosiveness? 21:26:26 because i thought that was your definition of explosiveness 21:26:52 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 " 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 but i contain an open ball around all of my points for corrections ofc 21:29:41 Indeed, but intervals \subset topology stuff. 21:29:41 And I only knew that subset. 21:29:42 Phantom_Hoover: Care to hear about my INSANE MINECRAFT FORT PLANS? 21:29:42 erm right, i actually slightly misparsed you 21:29:42 >_> 21:29:42 or misunderstood more like 21:29:42 elliott, I do. 21:29:43 elliott: let's talk about identicles instead 21:29:43 I like insane plans! 21:29:43 oklofok, explosive rules are those in which patterns which expand without bound are very common. 21:29:44 For a given value of "very common". 21:30:08 oerjan: i didn't know it was known for it's ability to that 21:30:57 well i mean, i've never heard of anyone inventing a gol structure that can survive such contact 21:33:07 oklofok, that's basically why Conway settled on it. 21:33:09 i would certainly like to know what given value 21:33:10 okay 21:33:11 good to know, i thought he just thought hey this is neat. 21:33:11 :P 21:33:13 "lol this glider is cute" 21:33:32 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 There is a most resilient known structure, and it's not very resilient. 21:34:39 And static. 21:34:53 the eater? 21:35:03 Phantom_Hoover: hm but can you build a spacefiller that works by replicating itself? 21:35:04 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 but they're replicating fast enough that eventually, they will end up destroying the debris 21:35:47 elliott, all complex structures in life are *really really fragile*. 21:36:06 As in, "whoops I hit it with a glider and it's dead" fragile. 21:36:21 -!- sshc has joined. 21:36:21 Phantom_Hoover: So make the structure simple. 21:36:33 Phantom_Hoover: Rather than trying to fill space, just make a simple thing that makes little baby space-fillers. 21:36:37 The Gemini replicator would completely fail if a single glider in its instruction tape was changed. 21:36:41 Basically, instead of trying to grow to fill the space... 21:36:46 Just try and fill the universe with paperclips. 21:36:46 elliott, a spacefilling replicator with simple structure? 21:36:47 Constantly. 21:36:57 How would that even *work*? 21:37:01 Phantom_Hoover: Well, OK, I would try it in a Life-like rule with simple replicators first. 21:37:12 But the basic idea is: Keep replicating further away from yourself, constantly. 21:37:19 Spacefillers leave no room; they expand outwards at maximum speed in all directions. 21:37:29 Phantom_Hoover: I didn't mean a regular kind of spacefiller. 21:37:39 I just meant something that eventually gets rid of everything else on the plane. 21:37:45 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 Phantom_Hoover: Sure. Except that instead of one breeder, each unit is a breeder in itself. 21:38:16 "Spacefiller" is actually fairly well defined. 21:38:17 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 elliott, that is just a replicator, surely? 21:39:03 And all of them will die when they attempt to replicate over each other. 21:41:14 Phantom_Hoover: Well, the trick is to make two colliding replicators result in one replicator. :p 21:41:33 elliott, I'm next to a deeep pit 21:41:46 elliott, from 20 below surface to lava lake 21:41:50 elliott, or so 21:42:06 Vorpal: Phantom_Hoover knows a deeper pit. 21:42:06 elliott, 1x1 wide almost all the way 21:42:15 elliott, you mean the one you fell in? 21:42:20 Vorpal: No. 21:42:35 Vorpal: I mean a *really* deep pit. 21:42:39 elliott, argh an even deeper one over here 21:42:54 Vorpal: Not as deep as Phantom_Hoover's. 21:43:02 Vorpal, I'm assuming he means the hole in the bedrock I found under the Mt. Hoover tunnel. 21:43:06 elliott, this one goes down to the minecart tracks 21:43:07 DON'T TELL HIM 21:43:10 Phantom_Hoover, ah right 21:43:15 elliott, I saw him mention that 21:43:20 I didn't consider it a pit 21:43:21 it is the void 21:43:22 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 *is necessarily continuous 21:43:43 Phantom_Hoover, this pit ends up above the cobble-water barrier next to the minecart tracks 21:44:01 *pattern 21:44:29 pikhq: How to set a timezone in kitten: "echo CST6CDT >/etc/tz". 21:44:58 pikhq: Although you should probably also add "export TZ=CST6DT" to /etc/profile to avoid file accesses. 21:45:07 pikhq: In fact, I'll probably add "export TZ=$(cat /etc/tz)" to /etc/profile. 21:45:09 heh it goes up to surface too 21:45:18 -!- Mathnerd314 has joined. 21:45:39 hmm i guess there's still a direct compactness argument 21:45:48 erm 21:47:17 or not, i'm too tired 21:49:05 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 elliott, okay? 21:49:22 * elliott removes xattr support. 21:49:31 Vorpal: So be prepared to support Linux/x86-64/pcc/uClibc :) 21:49:50 elliott, I depend on POSIX 2001 21:49:53 elliott, + XSI 21:49:58 if you don't do that then fuck you 21:50:07 Vorpal: I do include XSI functions. 21:50:13 I don't know how 2001y uClibc is but it should be good. 21:50:22 Vorpal: Math functions are slightly lacking but I doubt you use the full extent of POSIX math. 21:50:48 elliott, I use sinl and such 21:50:54 Vorpal: Those are of course included. 21:51:04 Vorpal: I somehow doubt cfunge will work with pcc, though. 21:51:14 elliott, also mmap extension 21:51:22 -!- poiuy_qwert has left (?). 21:51:31 elliott, it works with gcc, icc and clang. tcc except that tcc had somewhat limited C99 21:51:36 pcc I never tried 21:51:37 http://www.noradsanta.org/js/data.js NORAD have leaked Santa Clause's Christmas flight path!! Somebody submit this to Wikileaks! 21:52:51 elliott, whaat? 21:52:53 are you 21:52:54 talking 21:52:56 about 21:53:23 Vorpal: http://en.wikipedia.org/wiki/NORAD_Tracks_Santa 21:53:51 [[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 ) 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 MOST AWESOME ORIGIN STORY *EVER* 21:54:11 Hey! "Many volunteers are employees at Cheyenne Mountain and Peterson Air Force Base." 21:54:20 I wonder if Daniel Jackson is there, or has he gone and ascended again? 21:55:17 pikhq: Should I bother supporting locales? I know, I know, I'm a bad person if I don't... 21:56:08 elliott: 他の言語があるぜ。 21:56:24 pikhq: Supporting locales != supporting other languages 21:56:42 pikhq: Supporting locales == supporting output and UI text in other languages even though there are a ton of untranslated programs /anyway/ 21:56:50 I doubt, for instance, BusyBox has many transaltions. 21:56:53 *translations. 21:57:08 elliott: I did that last year... stayed up until midnight answering phone calls :-) 21:57:18 Support locales so that it's possible and/or easy to actually *do* translations. 21:57:25 Mathnerd314: awesome :) 21:57:38 pikhq: But, but, it bloats things up! 21:57:39 Without locale support you literally have no choice in the matter. 21:57:55 pikhq: Also, not true; pretty sure you can statically select a gettext translation at compile-time to be the default. 21:58:17 elliott: Your precious metric system is only supported via locales. 21:58:42 pikhq: Either what you're saying is true but irrelevant or trivially false... 21:59:23 Programs that display units will look at the locale for which units to use. 21:59:23 Date formatting! Different decimal point separators! Proper sorting order for alphabets! It's not just translations. 21:59:42 And, like most everything else, default to US standard. 22:00:52 fizzie: You'd say that; you're a Finn. 22:00:52 PH: why quit? 22:00:55 Fine, fine, locales. 22:01:03 pikhq: BUT I WARN YOU THAT THE CTYPE.H FUNCTIONS WON'T USE TABLES 22:01:06 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 Be aware that enabling │ 22:01:21 │ this option will make uClibc much larger. 22:01:25 Ughhh... locales. 22:01:28 │ Enabling UCLIBC_HAS_LOCALE with the default set of supported locales │ 22:01:28 │ (169 UTF-8 locales, and 144 locales for other codesets) will enlarge │ 22:01:28 │ uClibc by around 300k. You can reduce this size by building your own │ 22:01:28 │ custom set of locate data (see extra/locale/LOCALES for details). │ 22:01:28 elliott, then it will not be locale-aware 22:01:33 pikhq: 300k!!! 22:01:35 elliott, no locales: I won't use kitten ever 22:01:46 Vorpal: Don't worry, I really don't care if you use it or not. But I probably am including locales. 22:01:47 Mathnerd314: It's based on the locale environment variables. 22:01:57 pikhq: I wonder how much of that 300k is included in a typical program? 22:02:06 elliott: Oh, and it'll default to USD for currency! 22:02:18 pikhq: If you can't write a simple program and get a 10K executable or less it's broken. 22:02:19 elliott: And our MM/DD/YY date display! 22:02:23 pikhq: I wonder how much of that 300k is included in a typical program? 22:02:57 Very little of that should be included... 22:03:30 pikhq: but what happens if it's a long-running daemon? changing the environment variables will have no effect. 22:03:52 Mathnerd314: And? 22:04:07 so you'll still get results in Chinese 22:04:57 Mathnerd314: ... Yes... 22:05:07 Mathnerd314 does not quite understand, methinks. 22:07:28 pikhq: Ugh. I don't really want to include every single locale; list all the languages that matter. :p 22:07:40 pikhq: (The one advantage of dynamic linking: I could just build a uClibc based on whatever locales the user wants.) 22:07:42 pikhq: so... there seems to be no way for pain-free locale support 22:08:01 Mathnerd314: you do realise it's implemented in just about every existing linux system? 22:08:05 Mathnerd314: You seem not to understand what locales do. 22:08:07 Mathnerd314: and your complaint about servers makes no sense? 22:08:42 ok... my complaint is that you can't change the locale while a program is running 22:09:13 Mathnerd314: why is that an issue? 22:09:29 Mathnerd314: Better than Windows, which doesn't allow changing the locales without *rebooting*. 22:09:32 (to this day) 22:09:43 Mathnerd314: Servers shouldn't care what locale you're using. 22:09:49 It only matters for normal programs and client programs. 22:09:56 elliott: it's an issue because programs never stop 22:10:02 Mathnerd314: Servers shouldn't care what locale you're using. 22:10:34 The only bad thing about Newspeak that I see is its lack of libraries at the moment 22:10:49 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 But that's very rare. 22:10:54 And all the features still not implemented or fully designed 22:10:55 elliott: on my home PC, I have had uptimes of months 22:11:11 Mathnerd314: Which, of course, you do not need, being that it is a home PC. 22:11:29 Mathnerd314: And how often do you want your program to switch from French to Chinese UI and back? 22:11:31 pikhq: Will you hate me if I only build in a subset of locales? 22:11:34 Mathnerd314: And how often do you want your program to switch from French to Chinese UI and back? 22:11:37 not even relevant, we're talking servers here 22:11:54 elliott: Test the effects of having all the locales first? 22:11:58 -!- kar8nga has quit (Remote host closed the connection). 22:12:02 pikhq: fairly often; I try to learn new languages 22:12:11 Mathnerd314: We're talking about servers. 22:12:12 -!- mtve has joined. 22:12:22 Mathnerd314: Please tell me why you would want to change a server's language while it's running. 22:12:26 hi mtve! haven't seen you for... ages 22:14:06 elliott: because I do, OK? 22:14:20 Mathnerd314: that is not a valid complaint 22:14:32 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 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 elliott: programs should support features, and this is a feature. it doesn't matter if nobody uses it. 22:15:18 Mathnerd314: wait, let me check -- 22:15:29 Mathnerd314: do you think every program should support every feature possible, regardless of whether it is even vaguely useful? 22:15:32 Mathnerd314, zuh? 22:15:39 Mathnerd314: If so, you're a complete and utter moron, stop wasting my time. 22:15:56 Phantom_Hoover, want some more cobble? 22:16:01 Phantom_Hoover, I can put some in that chest 22:16:08 elliott: I think that it should be able to. 22:16:20 Mathnerd314: do you think every program should support every feature possible, regardless of whether it is even vaguely useful? 22:16:23 Mathnerd314: please answer this question 22:16:25 Vorpal, I have plenty. 22:16:35 Phantom_Hoover, ah okay 22:17:13 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 Mathnerd314: Yes or no? 22:17:27 Phantom_Hoover, so one person must keep door to castle of doom open while the other fetch lava 22:17:33 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 s/it/a given feature/ 22:17:47 Mathnerd314: OK, but that is not an actual yes or no answer to my question. 22:17:50 I said should, not will. 22:18:37 I'd have to say yes. but one particular feature it should support is removing features. 22:18:50 Mathnerd314: You sound suspiciously like zzo38. 22:18:59 Mathnerd314: But hey, take heart -- you could, one day, be a GNU coreutils maintainer. 22:19:09 They like your sort, and this is evidenced by the man page for ls(1). 22:20:37 elliott, does busybox ls colour code the output? 22:20:44 elliott, if not: oh well, won't use it 22:20:47 elliott: but once it supports enough features, it might as well be an operating system 22:21:16 Vorpal: yes with --color=auto, presumably some env variable could make this default 22:21:46 elliott, alias ls='ls --color=auto' 22:21:49 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 or a function wrapper 22:23:16 elliott, that mocking would be annoying. I assume you can turn that off 22:23:41 Vorpal: It's the risk everyone takes by not using Kitten. 22:24:18 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 (Or just mocked. Mercilessly.) 22:24:40 (Note: I totally will make an installation program, I just don't want to be bugged about making one.) 22:25:01 elliott, well I done gentoo. And LFS. I'm no stranger to lack of installers 22:25:12 elliott, heck I even done cross-lfs 22:25:21 elliott, not canadian-cross lfs though 22:25:24 I would hate that 22:25:38 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 Vorpal: Canadian-cross LFS. Oh man. Has anyone done that? 22:25:49 That sounds amazing. 22:26:07 elliott, I don't know if it CAN be done even 22:27:16 Hey, I just realised that there's probably no TZ value that uClibc supports that handles automatic DST. Heh. 22:27:21 "Oh well; file under solve later." 22:27:22 elliott, I assume it will support software RAID? 22:27:36 elliott, it can't read zoneinfo files? 22:28:01 elliott: So, should be only about as hard as installing Debian via debootstrap. 22:28:42 (which I have totally done before.) 22:29:45 Phantom_Hoover, I figured out a way to get lava without going into temple of doom 22:30:12 Vorpal, yaaaaay. 22:30:42 I refuse to tell anyone since the admin would fix it 22:30:47 if he knew what I was doing 22:30:56 No he wouldn't. 22:31:12 What is it? 22:31:18 elliott, I assume it will support software RAID? 22:31:24 Uh, if it works then yes. Otherwise no. 22:31:27 elliott, it can't read zoneinfo files? 22:31:33 No; it has no /etc/timezone. 22:31:52 You put a string like CST6CDT in /etc/tz and /etc/profile sets TZ to that. 22:32:33 Phantom_Hoover, where do you want the generator? 22:32:50 Hmm. Bottom of the hull. 22:32:55 Phantom_Hoover, where in it 22:32:59 Phantom_Hoover, and which model? 22:33:04 Phantom_Hoover, fizzie made another one 22:33:25 Vorpal, whichever has the greatest output. 22:33:44 elliott: You'll have to recompile the distro next time some country decides to fuck with their time zones. 22:33:59 elliott: And countries are positively in *love* with the idea. Fuckers. 22:34:06 Phantom_Hoover, unknown as of currently 22:34:26 Phantom_Hoover: fizzie's leaves you with ghosts of yourself in the pool. 22:34:30 Vorpal's is safer too. 22:34:39 pikhq: Well, it's not even something I can configure. Anyway, "CST6CDT" implies to me that you can put offsets there. 22:34:41 Vorpal's then. 22:34:54 (yet another reason that the time zone EVERYWHERE should be a rounded-to-the-hour approximation of the offset from GMT!) 22:35:01 Phantom_Hoover, mine is the largest one 22:35:12 Phantom_Hoover, I doubt that ghost was related to the issue in any way 22:35:16 err 22:35:21 to the generator that was 22:35:23 Vorpal, hardly a shortage of space in the ROU, 22:35:33 (NOBODY gets to fuck with their time zones!) 22:35:46 Build it in the air if it's somehow too large for the bottom of the hull. 22:35:47 Phantom_Hoover, where in the bottom of the hull? 22:36:06 Vorpal, near the column at the centre. 22:36:35 Phantom_Hoover, it will almost the whole width 22:36:41 Phantom_Hoover, of the base layer 22:36:51 Phantom_Hoover, all but two colums if you put it along a side 22:36:52 Vorpal, that's OK. 22:36:56 Seriously. 22:36:56 in the middle just one column 22:37:21 Phantom_Hoover, lag atm... 22:37:24 can't do a thing 22:37:44 timed out 22:37:47 I just jumped down the Temple of Doom's lava and survived all the way. :p 22:37:58 elliott, did you crash the server or something? 22:38:06 No. 22:38:07 oh no it is just lagged to hell 22:38:53 -!- Sasha2 has joined. 22:39:11 Phantom_Hoover, it needs to go down 1 into the floor, I have to raise the thing I realised 22:39:12 │ Set this to compile all sources at once into an object (IMA). │ 22:39:12 │ This mode of compilation uses alot of memory but may produce │ 22:39:12 │ smaller binaries. │ 22:39:15 pikhq: Am I crazy enough? 22:40:06 -!- Sasha2_ has quit (Ping timeout: 240 seconds). 22:40:36 Vorpal, even better, build it in the air somewhere and connect it to the axes. 22:40:54 Phantom_Hoover, gah already got quite far 22:41:02 elliott: Awesomeness. 22:41:16 │ Note that you need a very recent GCC for this to work, like │ 22:41:17 │ gcc >= 4.3 plus eventually some patches. │ 22:41:18 pikhq: I'm scared. 22:41:20 Vorpal, OK, put it there. 22:41:21 elliott: You want that option. It is awesomeness. 22:41:29 pikhq: But I want to build this with pcc eventually! :-) 22:41:36 But FINE. 22:41:53 make: *** [extra/locale/c8tables.h] Error 1 22:41:54 What. 22:41:58 GEN extra/locale/c8tables.h 22:41:58 make: *** [extra/locale/c8tables.h] Error 1 22:42:08 could not find a UTF8 locale ... please enable en_US.UTF-8 22:42:09 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 elliott, so wait, you've still not moved past The Story So Far in Fine Structure? 22:49:41 Phantom_Hoover: indeed 22:49:59 DO SO 22:50:11 augh 22:50:18 quit using the cordless phone, parents 22:50:25 it knocks out the wireless signal 22:52:50 what's a cordless phone 22:52:54 is it a cellphone 22:53:01 no 22:53:08 it's a phone without a cord 22:53:10 landline 22:53:11 yeah yeah i know what it yes 22:53:30 *is 22:53:46 Sasha2_, what idiot designed that? 22:54:39 Phantom_Hoover: No idea 22:54:54 -!- Sasha2_ has changed nick to SashaPrime. 22:55:02 Find them and screw with their wifi. 22:55:18 hah 22:55:27 they use 2.4 GHz 22:55:27 elliott, ARE YOU READING IT NOW 22:55:30 no 22:56:54 Phantom_Hoover, it is done 22:57:16 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 It takes an astounding moron to make a cordless phone that hogs the 2.4 GHz space like that. 22:58:51 yeah 22:58:51 "But what person would ever want two cordless phones?" 22:58:59 spams the spectrum with noise 22:59:05 We've got like 6 22:59:29 one for each room 22:59:41 even though they haven't got a cord to keep them in that room 22:59:48 they gravitate towards the sofa 23:00:54 ... One for each room? 23:00:57 Your parents are morons. 23:01:13 yep 23:01:28 well, my phone, the one by this computer, is corded 23:01:30 I built ot 23:01:33 it* 23:01:57 and then modified it 23:02:18 it flashes instead of rings, no screen, uses tone-dialing, and has a mute switch. 23:02:39 *sigh* 23:02:54 The entire POTS is such a freaking archaic joke. 23:02:58 As is the cell network. 23:03:04 And the cable system. 23:03:09 yep 23:03:10 And analog radio. 23:03:23 totally keeping this phone though 23:03:36 it plugs into the phone jack and sits there 23:03:45 In fact, every single telecom system that's not an Internet link is just awful. 23:03:53 I don't really want a cell phone 23:03:59 they're annoying 23:04:28 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 brb. 23:14:44 * Sasha2 imagines an alien race that sees that spectrum wiping us out because of light pollution 23:15:08 Sasha2: Eh, we'd already be fucked. 23:15:17 Pretty much every chunk of spectrum that can be used, is used. 23:15:21 exactly 23:25:24 thank goodness for dark sky communities...and eventually orbital telescope arrays 23:27:53 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 thank goodness for dark sky communities...and eventually orbital telescope arrays 23:44:14 i value internet more than the former 23:44:24 even though that barely makes any sense 23:44:27 your message didn't anyway 23:48:57 [[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 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 --http://steve-yegge.blogspot.com/2010/12/haskell-researchers-announce-discovery.html 23:51:11 It is, of course, physically impossible to Google for criticism of Newspeak 23:51:22 [["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 [[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 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 i don't think he was implying that we couldn't see them 00:01:36 * Sasha2 imagines an alien race that sees that spectrum wiping us out because of light pollution 00:01:39 just that they'd wipe us out. 00:02:42 no, I was implying that if an alien race could see them 00:02:49 they may attempt to explode us 00:02:53 for light pollution 00:06:53 right. 00:06:57 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 Just set this preference, the program switches 00:09:31 -!- augur has quit (Remote host closed the connection). 00:12:33 elliott, down? 00:12:39 Vorpal: Seems so. 00:12:48 Sgeo: that is the stupidest thing ever 00:12:50 elliott, I was falling in a boat while it happened 00:12:54 Vorpal: "Well, I won't rent whole layers, most likely. Do you have any idea how big 128x128 is?" 00:13:01 elliott, result: flying dutchman 00:13:03 :D 00:13:18 elliott, I have no fucking clue what will happen when I reconnect 00:13:26 elliott, probably loss of boat at the very least 00:13:31 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 elliott, and I answered "yes" 00:13:56 Vorpal: The top floor will be... I don't know, something snazzy. Indeed, though, floor 0 will be fun. 00:14:10 elliott, also my mines cover more than 128x128x2 considering amount of cobblestone 00:14:25 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 Then you can go up if you wish. 00:14:39 There will also be a lower-down minecart startion, and a skyway connection higher up. 00:15:31 elliott, I'll probably establish an embassy there if it ever gets done 00:15:40 elliott, also up again 00:16:03 Vorpal: Do you know how big the grid of large chests are? 00:16:10 Is it 2x the grid of small chests? (And what's that?) 00:16:16 You see, I need to store 81 thousand pieces of something... 00:16:17 elliott, 2x yes 00:16:19 elliott, and not sure 00:16:53 elliott, you need a boatlevator in that thing from top to bottom 00:17:18 elliott, measurements: 2x3 shaft, and 5 spaces away a 2x2 shaft 00:17:23 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 elliott, some extra space needed at bottom 00:17:29 Boatlevators seem... unreliable. 00:17:37 elliott, they are faster, and quite reliable for me. 00:17:47 elliott, it is just everyone else that can't ride mine 00:18:00 So they're hard to use. :p 00:18:02 elliott, I guess they are trying to stear the boat or something 00:18:06 which is just very very wrong 00:18:09 never stear the boat 00:18:13 and exit behind it 00:18:25 It's hard to avoid steering it... 00:18:34 elliott, do not touch arrow keys 00:18:36 while in the boat 00:18:42 elliott, that way you don't stear it 00:18:45 steer* 00:18:55 err 00:18:57 wasd 00:18:58 not arrows 00:20:19 -!- mtve has quit (Ping timeout: 255 seconds). 00:23:06 ineiros: Can I have a /tp ehird BCxVAhxWQxi? 00:26:05 -!- FireFly has quit (Quit: swatted to death). 00:26:23 i'm weird 00:38:07 -!- augur has joined. 00:47:25 Oh look, I just fixed a broken test case in Newspeak 00:47:34 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 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 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 elliott, huh 00:55:24 Vorpal: I'm still not sure where to place The Cube. 00:55:29 elliott, issue with that however is that you will be inside the water 00:55:35 elliott, not partly inside it 00:57:21 elliott, down? 00:58:13 seems so 00:58:23 http://www.youtube.com/watch?v=MXW0bx_Ooq4 01:00:20 pikhq: I love that video. 01:00:55 I love that Chrysler actually made that video. 01:01:31 elliott, up but I disconnected 01:03:14 http://www.youtube.com/watch?v=MXW0bx_Ooq4 <-- what, that is so much jargon I have no clue about 01:03:29 pikhq, is it technobabel? 01:03:30 There are four languages in the current Newspeak prototype 01:03:34 technobable* 01:03:43 Vorpal: No, it's technology. 01:03:44 Duh. 01:03:45 Simple stuff. 01:03:49 It's a turbo encabulator. 01:04:02 elliott, I never heard of that :P 01:04:42 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 Subclasses of Language: 01:05:03 pikhq, indeed pure technobabel 01:05:11 NewsqueakLanguage0 NewsqueakLanguage1 NewsqueakLanguage2 SmalltalkLanguage 01:05:44 Sgeo: Stop looking at Newspeak right now; close every relevant window. 01:05:45 Thank you. 01:05:50 elliott, why? 01:06:22 Sgeo: Because I said so. 01:06:41 elliott, besides the youngness, is there a good reason not to like Newspeak? 01:06:57 Because I said so. 01:07:06 pikhq, anyway it became blatantly apparent during the diagnosis part that it was a joke 01:07:50 -!- Leonidas_ has joined. 01:07:59 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 pikhq, that and some other things 01:09:45 pikhq, such as "for the purposes of obscurity we have removed the casing" 01:10:43 pikhq, or the bit that any systems faults would be displayed in secret code 01:11:15 pikhq, also "manual and songbook" 01:11:38 also that a Geiger scale would be involved :P 01:12:33 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 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 Vorpal: Hint: the jargon is meaningless. 01:17:53 pikhq, indeed I realise that 01:18:08 Also, "dingle arm" is an inherently hilarious phrase. 01:18:21 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 i know nothing about cars but it's obvious 01:21:02 bye 01:21:03 -!- elliott has quit (Quit: Leaving). 01:26:51 -!- sftp has quit (Remote host closed the connection). 01:28:23 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 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 pikhq, they actually got phoned by people who tried to seriously order these "products" 01:29:43 for a few days after 01:30:03 pikhq, fun eh? 01:30:22 Both T-shaped and double-headed screws have legitimate uses, and the former most certainly exists. 01:32:11 Gregor, not the way these were done :P 01:32:32 Gregor, it was like a screw that split into two part way up like an actual T 01:32:43 Okidoke :P 01:32:54 -!- cal153 has quit (Ping timeout: 240 seconds). 01:32:55 Ah :P 01:33:05 Gregor, and the dual head one looked like: 01:33:06 - - 01:33:07 | | 01:33:07 -+- 01:33:07 | 01:33:14 (best viewed with mono-space) 01:33:26 and I don't think that would work 01:34:02 Gregor, also I believe they had a flexible screw. and a few more that I don't remember 01:34:08 Hyuk 01:34:14 Gregor, "hyuk"? 01:34:19 Yup. 01:34:24 what does that mean 01:34:30 It means "hyuk" 01:34:34 uh 01:34:43 Gregor, and can you explain what "hyuk" means 01:35:01 "Hyuk" is a folksy laugh :P 01:35:02 Gregor, or was "yup" the translation? 01:35:05 ah 01:35:06 okay 01:35:45 Gregor, anyway what would a "real" t-shaped screw be? 01:36:03 Just a screw with a T-shaped end opposite the screw proper. 01:36:22 Gregor, oh you mean the shape that the screwdriver fits into? 01:36:23 right 01:36:41 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 Is it bad to have fun with trolling? 02:49:27 -!- elliott has joined. 02:49:56 Insomnia... 02:50:53 Vorpal: how did nailor do his underwater thing? 02:53:44 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 oh wait, it's your challenge 02:53:54 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 http://iphone-chieftain.blogspot.com/2009/04/tweetsheet-10-released.html twitter client implemented in excel 03:29:31 elliott: Welp, time to kill myself. 03:29:41 Gregor: what 03:29:59 elliott: Twitter in excel = time to end it all 03:30:09 Gregor: no this is like a new age in human existence 03:30:26 10:38:14 Gregor: 14:53:14 * GregorR-W doesn't even know what tldr means :P 03:30:26 10:38:14 14:53:51 heh, I had to look that one up too 03:30:26 10:38:14 14:54:36 Too Long Didn't Read? 03:30:26 10:38:14 14:54:38 XD 03:30:27 elliott: Yes. The time without me. 03:30:33 Gregor: are you ashamed of 2006 you 03:30:34 i would be 03:30:40 bet he didn't even like dinosaur comics 03:31:11 Clearly he liked reading. 03:31:20 Since he didn't understand what it was for something to be too long to read. 03:31:26 Therefore, he probably liked Dinosaur Comics. 03:31:33 But then, we'll never know; he's dead now. 03:31:36 Gregor: dude you blew my mind. 03:31:43 Gregor: well um, you recommended hextris in 2006 03:31:47 and that's why my brain exploded 03:31:47 so 03:31:49 i blame you 03:31:55 09:06:37 23:49:05 I love how devfs survived for like a year :-P 03:31:55 09:06:37 23:49:34 yeah, what was wrong with it? worked for me 03:31:55 09:06:37 23:50:04 I really don't know. 03:31:55 09:06:37 23:50:08 Always worked great for me. 03:32:10 Gregor: we can clearly see here your ignorance of linux kernel maintenance practices 03:32:23 I'm still ignorant of Linux kernel maintenance practices. 03:32:25 Gregor: namely, that any system replacing another system is accepted IFF it is more pointlessly flexible and complex 03:32:27 Quite intentionally. 03:32:38 Gregor: and that putting XML into the kernel is never a bad thing (see HAL) 03:32:48 Gregor: those are the entire set of rules, actually 03:32:50 Gregor: wait, there's one more 03:32:56 elliott: IIRC, there was a time between devfs and udev when it was back to flat /dev. 03:32:58 Gregor: nobody must do *anything* to make the experience nicer for desktop users 03:33:15 because... because fuck you, we don't want the day of the linux desktop 03:33:21 Gregor: heh, static dev? 03:33:26 oldskoooool 03:33:45 Thereby invalidating your point ... 03:33:56 Gregor: no, a mere historical anomaly 03:34:01 just average the slope out, man 03:34:02 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 Gregor: i fully intend to use it and nothing else in Kitten :) 03:34:18 lollercopters 03:34:34 Gregor: the reactions were varied 03:34:36 "Lol, devfs." --Andrew Morton 03:34:41 and uh 03:34:44 "Lol, devfs." --Andrew Morton again 03:34:50 (actual direct quote, although he only said it once) 03:35:10 Gregor: have you ever looked at /etc/udev 03:35:11 it is quite a sight 03:35:46 Gregor: Found a non-GNU binutils yet? :P 03:36:26 elliott: Haven't even looked :P 03:36:51 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 Gregor: and, well, i do have to use gcc to compile kernel and uClibc itself 03:37:15 but i should be able to use pcc for most other things 03:37:16 elliott: Yeahyeah, I get it, you lurve blowing the Gnu. 03:37:24 Gregor: i dont man its a hard fuckin life 03:37:31 X-D 03:37:42 Gregor: i did get a pcc/dietlibc toolchain fully self-bootstrapped, but dietlibc is probably too opinionated with anything :P 03:37:56 erm 03:37:58 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 *with 03:39:07 Gregor: i mean... patches welcome y'all 03:39:23 Gregor: I seem to have found a coreutils in busybox, even if busybox has bits of lameness 03:40:35 Gregor: man if you want a non-gnu linux you're gonna have to work for it that involves TALKIN man 03:40:54 I don't want one, I just want to see one :P 03:40:55 or do you want to let linux distros fellate rms UNTIL THE END OF TIME???? 03:40:59 Gregor: see one, yes, but 03:41:03 Gregor: YOU HAVE TO WORK TOWARDS IT 03:42:11 Gregor: ur motivation reaches all-time lowz 03:42:56 If I click a button and stupidly don't change the stupid default, deleting the result should not cause a crash 03:43:41 SHUT UP I'M TIRED ENOGUH WITHUOUT YOU 03:43:45 Gregor is dead to me now 03:44:15 fizzie: this could be you http://i.imgur.com/iCDrN.png 03:44:38 And the Gnu just rolls over and grumbles when he's done with elliott; they never /talk/ any more. 03:44:52 i know its like our relationship has reached a plateau of hate 03:45:05 and i fear that every move will only send me down a slippery slope 03:45:09 its why im tryin to get out man 03:45:12 its why im tryin to break free 03:45:40 The persistent interspecies pedophilic rape isn't part of it? 03:46:30 Gregor: no, i blame 4chan for that 03:47:38 -!- elliott has left (?). 03:47:40 -!- elliott has joined. 03:47:55 Gregor: does xorg build with non-gcc i wonder 03:48:15 elliott: It certainly did in the 7.0 days 03:48:27 Gregor: what compiler? 03:48:36 SunPRO 03:48:42 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 Or whatever bizarre name that compiler has/had. 03:48:45 what would possess you to do that 03:48:47 you monster 03:48:53 Intel :P 03:49:08 Gregor: even if i didn't have a handy checklist of reasons not to buy intel 03:49:09 Gregor: that 03:49:11 Gregor: that would convince me. 03:49:18 X-D 03:49:27 Gregor: how many babies did they rape and then grind up to use in chips, i mean in an average day 03:49:27 just 03:49:30 rough estimate here 03:50:35 Gregor: oh and i kinda need gcc for C++ 03:50:39 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 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 Gregor: however the only C++ thing i want to ship is like, webkit :) 03:51:11 and openjdk or whatever, to run minecraft. 03:51:29 Gregor: they didn't use cages in fact they dehydrated the babies furst, what's the term 03:51:39 like when you get tried fruit or, what they make concentrate juice from 03:51:40 taking out all the water 03:51:42 they did that to babies. 03:51:46 and packed them 03:51:51 Concentrated. 03:51:56 But I don't think so. 03:51:57 yes 03:52:00 At least, not judging by the screams. 03:52:09 Gregor: they rehydrated them before the process moron 03:52:18 wikileaks confirms it 03:52:28 (wikileaks and netcraft merged ) 03:52:43 "IAmA former smoker, quit one year ago today, and YOU SHOULD QUIT SMOKING TODAY!" 03:52:44 i don't smoke 03:52:45 idiot 03:53:12 elliott: Then you'll have to start, so you can QUIT TODAY. 03:53:24 i approve of this idea 03:53:29 what do severe chain smokers get through 03:53:30 40 a day? 03:53:32 i'll work towards it 03:53:39 quit on the 39th 03:53:46 s/40/40 packs/ 03:53:54 Gregor: really?? 03:53:58 No :P 03:54:02 But I wouldn't be surprised by 10. 03:54:10 Gregor: see i believed you there you destroyed my trust 03:54:18 Gregor: i think ill break up with you too 03:54:31 "Boy, 2, Smokes Two Packs a Day" 03:54:38 hardcore mfer 03:54:53 "He cries and throws tantrums when we don't let him smoke. He's addicted," his father, Mohammad Rizal, says. 03:54:55 i think 03:55:01 i think there is a clear sourec of blame going on here 03:55:05 like i mean 03:55:09 -!- Mathnerd314 has joined. 03:55:12 i think its hard for your baby to go out on the streets and smoke cigarettes 03:55:15 you sort of have to give him one i think 03:55:17 Gregor: can you confirm this 03:55:39 In the US, Barney advertises for Marlboro. 03:56:14 Gregor: <3 you have to make that now 03:56:16 that would be amazing 03:56:19 BUT IN SOVIETY RUSSIA 03:56:27 MARLBORO ADVERTISES FOR BAAAARNEY 03:56:44 soviety russia 03:56:46 is that kind of 03:56:47 In Soviet Russia, Object Verb Subject! 03:56:48 not soviet russia 03:56:50 just soviet..y 03:56:51 similar to soviets 03:56:53 sovietesque 03:56:56 but not soviet in and of itself 03:56:57 Mohammed Rizal seemed unconcerned. 03:56:57 "He looks pretty healthy to me. I don't see the problem," he said. 03:56:57 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 confirm/deny augur 03:57:04 FUCK YOU WEIRD JAVASCRIPT 03:58:24 elliott: deny 03:58:32 augur: what why 03:58:37 soviety is a type because t and y are close together 03:58:38 OR 03:58:46 its indicative of palatalization on the t 03:58:48 TAKE YOUR PICK 03:59:11 augur: yur a horrible erpson 03:59:41 DONKEY 03:59:42 MOTHERFUCKING 03:59:43 KONG 04:01:42 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 so all I need is like 04:01:56 /share/timezones/uk 04:01:57 to have the right thing 04:01:59 and you can just do 04:02:03 ln -s /share/timezones/uk /etc/tz 04:02:54 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep). 04:03:52 What happens if I want to do implicit logarithmic differentiation of, say, y = -4x 04:04:13 ln y = ln -4x = (ln -4) + (ln x) 04:04:29 1/y dy/dx = 1/x 04:04:36 dy/dx = y/x = x/x = 1 04:04:53 I'm too tired aren't I 04:05:22 ... it's not a problem with the negatives 04:05:27 It's a problem with my thinking 04:05:42 Where's the problem with my thinking?'' 04:06:13 * Sgeo facepalms 04:06:23 y/x = -4x/x 04:07:36 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 elliott: Sooo. TZ is much more flexible than tzdata. 04:11:38 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 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 pikhq: (I could also see about extracting them from the typical tz database if I decide to be crazy.) 04:12:34 elliott: You could just parse it from the file they compile *into* the tz database. 04:12:46 pikhq: Right. 04:13:06 Also, not "the typical" one. It's *the* tz database. http://www.twinsun.com/tz/tz-link.htm 04:14:15 pikhq: I just said "the typical" to avoid ambiguity with the "TZ" name of the environment variable. 04:14:30 [[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 Hey, that violates POSIX. 04:14:40 Why yes, yes it does. 04:14:42 TZ has to start with a : to be treated in an implementation-dependent way rather than the TZ specification. 04:15:10 Moral of the story: nothing is POSIXly correct. 04:16:06 pikhq: POSIX is kind of a useless standard, based on a status quo that doesn't exist, specifying nothing. 04:16:13 It's only useful as a reference manual. 04:16:31 It would at least be useful if everyone tried to follow it. 04:16:46 pikhq: Oh man, these files are painfully complex. 04:16:48 ftp://elsie.nci.nih.gov/pub/tzdata2010o.tar.gz 04:16:57 RuleUruguay2005only-Oct 9 2:001:00S 04:16:57 RuleUruguay2006only-Mar12 2:000- 04:16:58 As it is, it specifies the "platonic ideal UNIX". 04:17:01 RuleUruguay2006max-OctSun>=1 2:001:00S 04:17:01 RuleUruguay2007max-MarSun>=8 2:000- 04:17:03 Zone America/Montevideo-3:44:44 -LMT1898 Jun 28 04:17:03 -3:44:44 -MMT1920 May 1# Montevideo MT 04:17:04 -3:30UruguayUY%sT1942 Dec 14# Uruguay Time 04:17:04 -3:00UruguayUY%sT 04:17:09 I don't want to parse that, dude. 04:17:16 * pikhq vomits 04:17:35 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 pikhq: POSIX: Oh, we know of your world standard. We decided it wasn't logical enough and replaced it. 04:17:51 Yeah, that's just oldschool brain damage. 04:22:11 Well, let's try this sleep thing again. 04:22:23 pikhq: If I can get uClibc compiled, maybe this Kitten thing will actually happen soon. :p 04:22:32 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 Oh, and by the end of it RAINBOW PONIES 05:02:40 * Sgeo randomly modifies the Newspeak IDE 05:03:06 Hmm 05:03:10 Works as expected 05:03:18 But as expected is not as useful as I want 05:06:54 Hm 05:07:05 I just found out this kid I hit the other day brought a gun to school 05:07:14 He had cocaine on him too. 05:08:02 * Sgeo makes it more useful 05:08:53 My IDE modification, not the cocaine 05:10:03 elliott: In some fashion, remind me that I have simple but awesome changes in SelectorPresenter 05:12:12 I just need to pretty it up a bit 05:15:43 "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 Poor, poor Kingdom of the Netherlands. 05:59:32 It has 3 distinct currencies. 06:01:05 It occurs to me that with Smalltalk, Factor, and now Newspeak, I have attempted to make a contribution to the language 06:01:20 Euro in the Netherlands, Netherlands Antillean guilder in the BES Islands, Curaçao and Sint Maarten, and Aruban florin in Aruba. 06:01:28 (Um, "language" is the wrong word) 06:01:37 Yes, the nation's currency is dependent on *which part of it you're in*. 06:02:57 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 (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 ... Huh. Apparently Linux's filesystem handling is such that processes can have a private set of mount points. 06:37:16 That is to say, much like Plan 9, Linux offers per-process namespaces. 06:37:23 I know of nothing that actually uses this *at all*. 06:42:08 MIDI breath controllers: Too - damned - expensive. 06:44:32 My God. One could actually pretty much *have* Plan 9 just by replacing the Linux userspace. 06:46:48 eggnog is so delicious 06:46:49 Gregor, coming from you, that's saying something. I think. 06:47:46 Sgeo: ... I'm cheap. 06:49:06 Hmm. That'd take a bit of doing for some of the really nice bits of Plan 9. 06:49:26 (making a cluster by union mounting the /proc of a few different systems together, for instance) 06:50:44 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 gah, the hard part of adminning #esoteric is occasionally I have to check twice whether something's spam or not 09:13:51 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 (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 i dreamt i was playing minecraft on the esoserver 09:19:48 and dying meant being banned forever 09:21:45 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 and then the elf in my party had a lesbian relationship with her twin or clone or whatever 09:26:56 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 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 and then the elf in my party had a lesbian relationship with her twin or clone or whatever <-- err 09:48:40 oklopol, weird dream 09:52:36 Vorpal: how did nailor do his underwater thing? <-- before health 09:53:06 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 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 err the rest he built bottom up I meant 09:54:07 elliott: also I believe he kept moving a dirt barrier forward when he built it bottom-uå 09:54:09 up* 09:54:32 generally everything has sex with everything in my dreams 09:54:40 oklopol, weird 09:55:21 i make things have sex whenever i have lucid moments, and my dreams are usually half-lucid 09:55:34 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 `addquote i make things have sex whenever i have lucid moments, and my dreams are usually half-lucid 11:10:20 also, a bridge of sparsely distributed single blocks sounds like every platform game ever 11:10:26 especially over emptiness 11:10:30 what color was the emptiness? 11:10:51 (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 ais523: blueish. 11:11:22 bright blueish 11:11:53 266| i make things have sex whenever i have lucid moments, and my dreams are usually half-lucid 11:12:44 i luv this chan 11:12:49 :) 11:13:07 oklopol: hmm, likely one of the Mario games then 11:13:36 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 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 in fact, I'm remarkably unsuspicious while asleep, it helps to stop me noticing I'm asleep and waking up 11:16:11 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 which is basically schizophrenia, luckily it's rather rare 11:18:38 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 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 so its hard work 11:19:24 done while you're awake 11:20:00 we are better artist,then we have thought, as master eckhard says 11:20:19 we construct the world.. on the fly 11:21:56 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 in our dreams, the doors of perception seem to open a little more 11:23:38 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 indeed! 11:24:23 concentration = closing the doors of perception.. focusing.. filter the rest.. or even just identify and matter no more! 11:25:54 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 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 i guess i may be a bit hard to follow as well 11:27:04 hmm 11:27:11 yeah maybe i get your doors of perception 11:28:02 "or even just identify and matter no more!" 11:28:02 sry.. my english prevents me to express myself clearer 11:28:13 yes!! 11:28:16 that part is a bit hard to 11:28:23 you got it :) 11:28:59 i did? 11:29:01 :D 11:29:18 i copy pasted that from yours to ask "what?" 11:29:58 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 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 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 which i find intuitive, but definititely not obvious 11:31:21 because certain parts of the brain are just as alive as they are awake 11:31:40 like the part that processes human relationships, that's on crack when you're dreaming 11:32:14 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 in silly and intuitive ways, like a pair might be a marriage 11:32:50 and a list might be a queue 11:32:54 of people 11:34:02 amazing 11:34:03 :) 11:34:17 " 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 as huxley said, we need both: 11:34:53 work 11:34:56 & love 11:34:58 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 work and love huh 11:35:19 another analogy 11:35:25 yeah maybe we need both, and maybe that's relevant here in some sense 11:35:28 hmm 11:35:33 right 11:35:34 analogy 11:35:35 body & soul 11:35:42 function & percept 11:35:53 sure sure, wing and wang, black and white. 11:36:43 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 http://en.wikipedia.org/wiki/Henri_Bergson#Creativity <-- interesting article 11:37:18 i'm sure it is 11:37:24 i'll open it just in case 11:38:00 hmm, esoidea: a lang that looks very like an existing lang, but has subtly different semantics 11:38:06 C might be a good one to base it on 11:38:28 exactly same syntax 11:38:29 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 but nothing is what it seems 11:38:36 oklopol: yep, identical syntax 11:38:56 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 ah 11:39:10 for instance, you could make C call-by-name rather than call-by-value 11:39:15 okay i was thinking something completely insane that could never be realized, but yeah i like the sort-of-works thing 11:39:16 and people wouldn't realise something was wrong until much later 11:40:10 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 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 i love the idea of sucking at something, and learning to do it 11:42:52 oklopol: esolangs are my way to do that, in a way 11:43:02 you write an esolang which doesn't have maths in, you figure out how to implement it in that 11:44:21 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 ...that you're implementing 11:47:59 i just have a serious brain fetish, that's all 11:48:24 remember good ol' operation mindfuck? 11:48:42 what was that 11:48:43 wilsons theories on metaprogramming our minds 11:48:51 i haven't read 11:49:38 cosmic trigger.. illuminatus.. schroedingers cat and so on.. a lotta beatiful and funny books to read 11:50:08 i can't really stand pop sci 11:50:23 and i don't particularly enjoy fiction 11:50:47 not that i know what those books are about 11:51:54 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 and lucid dreaming programmers like you oklopol :) 11:55:17 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 but first i really need to do sth bout this english-leaks 11:56:02 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 oklopol: well, I was a mathematician first, then an engineer, then a computer scientist 11:56:56 programming's just a hobby 11:57:19 well, and I teach programming part-time 11:57:26 -!- nooga has quit (Ping timeout: 240 seconds). 11:58:26 "hey X, you're a computer scientist, wanna program this script for me?" 11:59:50 softwaredev. needs it all.. maths, physics, pschycholgy, philosphy ..and ..uh..even martial arts *g 12:00:16 not seeing it, but easy to believe 12:00:45 thanks 2 walls u can at least smash things on themt if they do not work as intended 12:00:50 -->love 12:00:56 remember 12:01:12 ah and if you know your martial arts, you might still be able to type 12:03:43 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 hmm? like you follow people and eat food etc but you're not really there 12:08:42 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 :D 12:08:58 luv it! 12:16:32 hm today's iwc ... i guess the universe really _is_ doomed (again) 12:19:30 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 yeah doom at new years is becoming a tradition 12:20:42 oerjan: oh, I was referring to dreaming connected to a universe without mathematical logic 12:20:55 while dreaming, you're in a universe made of disconnected parts of your own thoughts 12:21:01 XD 12:21:01 and mathematical logic tends not to be among them 12:21:34 sometimes, when you wake up, you can reconstruct what parts of your dream-universe were made from 12:22:18 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 indeed, that's common 12:22:33 for instance that game where you can really die 12:22:56 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 as in, if you die in the game, it kills the player not just the character? 12:23:00 which was... weird 12:23:03 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 :D 12:23:09 oklofok: that's beautiful 12:23:43 ais523: also happened with that thing where your eye muscle starts repeatedly contracting, what's its name 12:23:44 awareness 12:23:48 i never had that 12:23:58 then a girl said she'd been having that all day 12:24:09 i told her i'd never even heard about that kind of thing 12:24:11 and i go home 12:24:14 and it happens 12:24:40 after that it was quite common for a while, nowadays i can stop that kind of thing 12:25:08 btw i don't really believe my own stories even though i know they are true 12:25:24 they sound too unlikely 12:26:24 and by i don't believe them i mean i find it hard to believe them 12:27:03 http://en.wikipedia.org/wiki/Fasciculation 12:28:29 "hearing about this concept" is not listed as a cause 12:29:14 or possibly http://en.wikipedia.org/wiki/Myokymia 12:29:50 -!- FireFly|n900 has quit (Read error: Connection reset by peer). 12:30:11 yeah so okay i'm leaving after this ep 12:30:18 6 minutes 12:30:36 so if you need my expertise, ask now 12:31:39 oklofok: How much wood would a woodchuck chuck if a woodchuck would chuck wood? 12:32:07 depends on how it's changed to give it that ability 12:32:34 hm, imagine it being bitten by a radioactive beaver 12:32:38 hmm 12:34:00 it could chuck whole trees in a matter of hours 12:34:06 rofl 12:34:12 -!- perdito has changed nick to perdito|afk. 12:34:27 ais523: also happened with that thing where your eye muscle starts repeatedly contracting, what's its name <-- blinking? 12:34:34 :D 12:34:47 that was actually pretty funny 12:35:54 oklofok never blinked before 12:38:02 erm so 12:38:04 i'm going now 12:38:13 will close irc and everything 12:38:15 wish me luck 12:38:16 okay 12:38:21 WISH 12:38:21 oklofok, going to what? 12:38:27 i'm going to write stuff 12:38:30 ah 12:38:31 BYE 12:38:32 cya 12:38:42 -> 12:38:43 and good luck 12:38:47 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 22:44:32 My God. One could actually pretty much *have* Plan 9 just by replacing the Linux userspace. 13:14:46 pikhq: glendix 13:15:06 01:13:31 gah, the hard part of adminning #esoteric is occasionally I have to check twice whether something's spam or not 13:15:06 01:13:51 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 01:14:12 (it's easy to tell, generally, but requires concious thought, I can't let spamfighting go on mental automatic) 13:15:10 ais523: fail (first linem, #) 13:15:45 01:26:56 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 this is better than minecraft 13:16:40 03:13:07 oklopol: hmm, likely one of the Mario games then 13:16:43 ais523: it was Minecraft 13:19:22 03:59:50 softwaredev. needs it all.. maths, physics, pschycholgy, philosphy ..and ..uh..even martial arts *g 13:19:29 what, software development is trivial and involves none of those 13:20:31 elliott, surely you know kung-fu is invaluable when dealing with java? 13:20:50 true. 13:21:02 i have used physics to debug a complex tangle of gnu makefiles once 13:21:15 (i dropped the hard drive from the top of a tall building) 13:21:19 ah 13:21:26 (note: story is fiction) 13:21:46 :(, DMM licenses his comics non-freely. 13:21:47 elliott, for being gnu, gnu make is quite decent 13:21:54 elliott, since when? 13:21:59 Vorpal: -nc- 13:22:03 is nonfree 13:22:09 elliott, depends on your definition 13:22:12 discrimination against fields of endeavour 13:22:13 no, it doesn't 13:22:26 elliott, it is freer than "all rights reserved" 13:22:27 elliott: shush, clearly perdito intends to start a new and glorious age of software development 13:22:30 it's against the DFSG, the OSI definition 13:22:39 there may even be giant robots involved 13:22:46 won't even bother looking up the FSF's opinion, i think it's obvious :) 13:22:55 Vorpal: freer -- "i'm slightly pregnant" 13:22:57 elliott, nd I would have considered non-free 13:23:09 elliott, that reply made no sense... 13:23:15 no, it made perfect sense 13:23:23 "my software is slightly unfree" -- "i'm slightly pregnant" 13:23:25 no such thing. 13:23:31 Vorpal: if you consider -nc- free you also have to consider -njews- free 13:23:37 elliott, law of excluded middle? 13:23:40 i.e., anybody but jews can redistribute this software 13:24:48 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 you do realise i'm using free in the Free sense? 13:25:16 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 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 http://www.debian.org/social_contract#guidelines, something is either entirely free or not free at all 13:25:31 oerjan, indeed 13:25:33 oerjan: um i don't see how that is true at all 13:25:37 oerjan: please back that up 13:25:54 elliott, you aren't free if you need to include info on who originally made it. 13:26:00 thus *BSD is non-free 13:26:08 not according to the definition of http://www.debian.org/social_contract#guidelines 13:26:11 (see, this makes no sense) 13:26:15 I'm saying Free here, not free, you're stupid 13:26:32 "Free" means one of a few well-defined set of conditions 13:26:34 for instance, http://www.debian.org/social_contract#guidelines 13:26:38 elliott, you didn't use upper case above 13:26:43 :(, DMM licenses his comics non-freely. 13:26:48 non-Freely surely? 13:26:50 because the /other/ meaning of free is "costs no money" 13:26:55 and it was damn obvious 13:27:01 and i'm not about to start saying "libre" 13:27:02 elliott, no it wasn't 13:27:09 yes. indeed not to you 13:27:22 -!- Wamanuz2 has joined. 13:27:30 -!- Wamanuz has quit (Ping timeout: 265 seconds). 13:28:13 elliott, sure it isn't DFSG compliant. But it is somewhat free. 13:28:26 it is not Free(TM)(C)(R) at all 13:29:00 perhaps. it is a lot more free than, for example, dillbert though. 13:29:08 s/e,/e/ 13:29:16 hm 13:29:32 (insert other grammar fixes here) 13:29:49 Vorpal: define free 13:29:55 if you mean Free, then no, no it's not 13:30:33 elliott, I don't mean the DFSG sense. It should be obvious 13:30:54 elliott, since that is a boolean sense. While I clearly refer to a gradual sense 13:30:58 Vorpal: if you mean libre, well, good luck defining a scale of libre 13:31:04 because there isn't really one 13:31:06 elliott, I never said that either 13:31:13 elliott, I'm pretty sure you know what I mean 13:31:21 what, then? 13:31:22 free of cost? 13:31:55 Vorpal: ? I cannot think of any more definitions of free. 13:32:03 Free, libre, and free as in beer 13:32:04 what else 13:32:50 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 Vorpal: so, libre. 13:33:15 remind me to avoid using confusing french around you in future 13:33:17 elliott, libre is not actually a gradual scale as commonly defined afaik 13:33:55 or not at least in the sense most commonly used in relation to software 13:35:18 i wonder if booting without an initramfs/initrd actually works these days 13:35:49 now I have to read scrollback to see what the argument was about 13:36:11 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: it was Minecraft <--- the dream was clearly a modified Minecraft, I was trying to figure out what it was modified /by/ 13:36:31 repeat until Vorpal reveals that he's not able to infer "Free" from "free" by obvious context 13:36:33 /win 2 13:36:45 ais523: 01:22:07 and then the elf in my party had a lesbian relationship with her twin or clone or whatever 13:36:51 ais523: what the heck is that from then :P 13:37:04 elliott: he explained a bit later 13:37:26 elliott: what time is it right now? 13:37:33 coppro: what? 13:37:41 elliott: what time is it right now 13:37:45 coppro: 08:37:05 when I asked your client what time it was 13:37:46 01:22:07 and then the elf in my party had a lesbian relationship with her twin or clone or whatever 13:37:46 01:26:56 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 01:27:19 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 01:54:32 generally everything has sex with everything in my dreams 13:37:49 01:55:21 i make things have sex whenever i have lucid moments, and my dreams are usually half-lucid 13:37:51 ais523: thanks 13:37:52 01:55:34 that i "kinda" know they are dreams 13:37:57 ais523: i don't think that counts as explanation 13:38:11 it's 13:37 in my timezone 13:38:19 elliott: does to me 13:38:20 double thanks 13:39:03 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 therefore i consider his dream an unexplained phenomenon. 13:39:17 we may never know. 13:39:21 meh, dreams 13:39:25 I don't have them often 13:39:31 at least, I don't recall having them often 13:39:35 probably I have them all the time 13:39:41 you only remember a dream if you wake up during it 13:39:46 that's why dreams never seem to get to the end 13:40:16 ais523: do you have proof of that or a cite or whatever 13:40:19 never heard that 13:40:24 brains to seem to have this thing of not committing dreams to memory 13:40:28 elliott: sounds about right 13:40:38 well sometimes you wake up because the dream does end, horribly 13:40:39 elliott: no, it's something like third-hand info that I can't remember where I've read it 13:40:46 but it's consistent with my experiences 13:40:50 oerjan: arguably, that would be waking up during 13:40:52 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 oerjan is right though 13:41:00 elliott: It's all hear-say anyways 13:41:05 i've woken up right when i died in dreams 13:41:10 coppro: there is actual dream research. 13:41:15 I'd say it's because you died in the dream and the dream was still continuing 13:41:22 but the death was a really obvious sign you were dreaming 13:41:26 and thus, a prompt to wake up 13:41:33 yes, but we can't empirically measure dream retention 13:41:49 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 coppro: pi don't think that's necessarily true 13:42:13 *i 13:42:20 ais523: i doubt it :p 13:42:23 I have to agree with ais523 on one thing, though 13:42:31 I don't think it's obvious either way 13:42:38 I only remember a dream if when I wake, I was dreaming right before 13:42:47 (there. now we've avoided the "end of a dream" issue) 13:43:16 CLEVER 13:43:50 but not clever enough for oerjan 13:43:57 he will come and rip your soul out of your body 13:44:15 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 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 elliott: Debian actually has some sort of crazy systematic solution for that 13:45:54 I can't remember what it is, but it's likely in debhelper somewhere 13:46:01 ais523: and I have postinst scripts!! 13:46:08 joy! 13:46:23 $ ls 13:46:23 description needs scripts source.tar version website 13:46:27 this package manager is comin' together 13:46:58 ais523: I *think* I've avoided the problem of understanding yours and CLC-INTERCAL's versioning systems altogether (for upgrades) 13:47:00 hmm, gitorious is down 13:47:03 -!- MigoMipo has joined. 13:47:48 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 (ok so i also decided it sounded like not much fun at all) 13:48:19 you could try running the fuzz-tester, that's a) easy, and b) entirely written by me 13:48:41 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 ais523: the cathedral and the bazaar and the fascist dictatorial state 13:49:11 -!- perdito|afk has joined. 13:49:17 ais523:and -- oh, I meant actually analysing and modifying the code by hand 13:49:20 *ais523: and 13:49:24 (preferably avoiding running it) 13:49:36 ais523: you need to re-fork it :p 13:51:04 ais523: (or maybe I'll just write ITRALCEN!) 13:51:43 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 [["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 "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 HE FEELS MY PAIN 14:03:18 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 elliott: i think someone's been reading a bit of onion 14:08:17 *the onion 14:08:36 oerjan: also http://steve-yegge.blogspot.com/2010/07/wikileaks-to-leak-5000-open-source-java.html 14:08:47 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 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 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 it seems to throw exceptions all the time when I try 14:27:39 >>> float('nan') 14:27:39 nan 14:27:43 hm 14:27:44 weird 14:27:46 >>> float('inf') 14:27:46 inf 14:27:46 >>> float('-inf') 14:27:46 -inf 14:27:54 >>> float('asdf') 14:27:54 ValueError: invalid literal for float(): asdf 14:27:58 Vorpal: but 1./0. is not allowed. 14:28:04 elliott, ah that explains it. 14:28:08 it raises a ZeroDivisionError 14:28:18 Vorpal: also math.isnan 14:28:21 elliott, indeed, I would have expected it to act as IEEE prescribes 14:28:26 and math.isinf 14:28:29 indee 14:28:29 -!- perdito has changed nick to perdito|afk. 14:28:34 indeed* 14:28:55 elliott, wait, is float single or double? 14:29:00 in python that is 14:29:13 double i think 14:29:17 ah good 14:29:22 how can i check 14:29:29 -!- sftp has joined. 14:29:42 * elliott looks into postoffice 14:29:45 well, I could do it as easily 14:29:53 (which is the say, it involves some work) 14:30:10 elliott, I wish the python REPL had tab complete 14:30:44 Vorpal: put in ~/.pythonstartup 14:30:47 import readline 14:30:51 import rlcompleter 14:30:53 readline.parse_and_bind('tab: complete') 14:30:59 or whatever 14:31:05 Vorpal: (and yes that works) 14:31:15 why on earth is that not default then 14:31:19 Vorpal: or try ipython 14:31:35 Vorpal: which is the python REPL so bloated, it's basically a shell 14:31:41 but it syntax-highlights :P 14:31:45 haha 14:31:57 probably in $your_distro 14:32:03 elliott, so wait, this will tab complete stuff like myintvar. to list possible members? 14:32:09 that is the rlcompleter thingy 14:32:12 Vorpal: maybe. it certainly works with modules 14:32:20 Vorpal: oh there's also bpython, which also has integrated docs: http://bpython-interpreter.org/screenshots/ 14:32:41 elliott, hm are you sure about ~/.pythonstartup ? 14:32:47 -!- perdito|afk has quit (Ping timeout: 245 seconds). 14:32:47 it seems to do absolutely nothing 14:32:50 no i just googled :D 14:32:53 * Vorpal tries it directly in the shell 14:33:04 PYTHONSTARTUP¶ 14:33:04 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 Vorpal: set PYTHONSTARTUP=$HOME/.pythonstartup 14:33:13 or .pythonrc or whatever 14:33:13 elliott, heh 14:33:27 http://bpython-interpreter.org/screenshots/ is actually really cool 14:33:42 Vorpal: http://geoffford.wordpress.com/2009/01/20/python-repl-enhancement/ also saves history to a file 14:34:01 haha, "/etc/postoffice.cf" oldschool 14:34:18 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 Vorpal: try help(reload) 14:34:50 e.g. 14:34:52 >>> import sys 14:34:54 >>> reload(sys) 14:34:59 14:35:00 elliott, I seem to remember it managed to crash python for me 14:35:06 well, it shouldn't. 14:35:11 also that only works if you import it as a module 14:35:22 e.g. "from sys import * \n reload(sys)" won't change the in-scope definitions 14:35:32 "from sys import * \n reload(sys) \n from sys import *" will though 14:35:39 (but the old definitions will still be there, if any values got removed) 14:35:42 hm 14:36:35 elliott, the rlcompleter thing seems to do the job. :) 14:36:46 Vorpal: you may want to nab the history-saving from that blog post too 14:36:51 ok postoffice looks pretty cool 14:37:01 elliott, is it an MTA? 14:37:01 but still more configuration than i'd like 14:37:16 elliott, also isn't .cf something to do with m4? 14:37:17 Vorpal: well, it's an SMTP server/client 14:37:30 at least I seem to remember that sendmail used .cf and also m4 14:37:37 .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 so he stole the extension :) 14:37:42 http://www.pell.portland.or.us/~orc/Code/postoffice/ 14:37:46 ah 14:38:03 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 elliott, postfix is actually quite decent iirc. Qmail is better of course. 14:38:53 Vorpal: I tried to use postfix once, and then I looked at the configuration files and my process tree. 14:38:55 No thanks... 14:39:08 hm 14:39:13 elliott, what about the process tree? 14:39:39 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 so you end up with 1,000,000 processes each with their own postfix-specific user :) 14:39:51 elliott, you do realise qmail is kind of like that too? 14:39:58 Vorpal: yes, but postfix takes it to THE XTREME 14:40:06 huh 14:40:28 elliott, and I seem to remember qmail having far more users 14:40:34 than postfix? 14:40:36 yes 14:40:39 postfix is very popular. 14:40:42 qemu is quite niche. :P 14:40:50 elliott, I meant user account 14:40:53 accounts* 14:40:53 ah 14:40:58 but does it use them all at once? 14:41:36 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 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 and just put it in a maildir 14:42:05 elliott, hm I can ssh to a computer with postfix and check user count 14:42:13 one user, called postfix 14:42:28 maybe different distros package it differently? 14:42:35 or i'm misremembering... 14:42:38 anyway it had a ton of processes 14:42:39 that's all i remember 14:42:53 Vorpal: anyway, if I packaged qemu, I'd have to replace the daemontools scripts with svmg scripts 14:42:55 elliott, yes it does have 4 processes atm. But qmail is the account-insane one 14:43:03 elliott, qemu? 14:43:03 since svmg is almost a direct clone of daemontools/runit, that wouldn't be too hard, but still 14:43:06 erm 14:43:06 what has it got to do with it 14:43:07 qmail 14:43:09 ah 14:43:23 also, that /package and /command crap 14:43:39 i think only daemontools is packaged like *that* though 14:44:36 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 and just put it in a maildir 14:44:40 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 ok why isn't locale support working in uClibc 14:53:03 /* Silly foreigners disabling en_US locales */ 14:53:08 --gen_wc8bit.c 14:55:51 Yay, it's working now. 14:55:58 Uh, sort of. 14:56:04 TODO: look into locales some more. 15:00:33 -rw-r--r-- 1 elliott elliott 1.7M Dec 2 14:56 lib/libc.a 15:00:36 Eh, that's not bad. 15:00:54 Ha! It's bigger than glibc on my system. I wonder why. 15:01:09 Of course glibc is a .so. 15:01:33 -rw-r--r-- 1 root root 4.3M Oct 31 00:34 /usr/lib/libc.a 15:01:33 There. 15:01:41 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 $ cat /proc/cpuinfo | awk '/^processor/ { print $3 }' | tail -1 15:05:01 The ugliest way to get the number of cores possible. 15:05:06 Wait, that actually needs +1. 15:05:13 $ cat /proc/cpuinfo | awk '/^processor/ { print $3+1 }' | tail -1 15:05:40 -!- nopseudoidea has quit (Quit: Quitte). 15:06:34 Oh, this is cleaner: 15:06:35 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 /var/pkg/vi/scripts/build 15:11:42 Mwahahaha, paths. 15:13:18 -!- jcp has quit (Read error: Operation timed out). 15:14:39 pikhq: ugh! i need to put two filenames on a line. rapidly losing hope :) 15:15:01 Why? 15:17:20 -!- jcp has joined. 15:17:27 Phantom_Hoover: symlinks 15:17:48 Go on. 15:18:36 Phantom_Hoover: x -> y 15:19:02 And this stops you putting two filenames on a line? 15:19:29 Phantom_Hoover: every character but \0 is a valid component of a path 15:19:44 Ah. 15:19:59 googling "manifest file" is impossible thanks to java :( 15:29:01 Phantom_Hoover: In fact I'm 90% of the way to not even bothering with a manifest... 15:32:57 http://news.bbcimg.co.uk/media/images/50260000/jpg/_50260127_searchingforporn,bbc.jpg 15:33:07 I can't even think of anything to say about that. 15:33:31 That is now my favourite image. 15:33:32 -!- sshc has quit (Ping timeout: 264 seconds). 15:33:43 Phantom_Hoover: Oh man, imagine the steps taken to create that image. 15:33:52 Load up google, type in porn, get the camera out, tripod, zoom... 15:34:08 Words fail me. 15:34:17 "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 And, redo! 15:34:33 -!- sshc has joined. 15:38:06 -!- oerjan has joined. 15:39:47 oerjan is a bath tub 15:42:41 that's just bubble, er babble 15:43:03 oerjan, http://news.bbcimg.co.uk/media/images/50260000/jpg/_50260127_searchingforporn,bbc.jpg 15:43:05 Comment. 15:44:08 {- porn -} 15:47:40 Phantom_Hoover: Wanna help me build THE GLASS CUBE? 15:47:52 Mining now, I assume? 15:48:11 Phantom_Hoover: No! I'm getting the glass from the server, because you see, it involves 81 thousand pieces of sand. 15:48:24 Phantom_Hoover: And while I *could* obtain that without difficulty, I would sooner kill myself than face that kind of tedium. 15:48:33 Ah. 15:48:37 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 Phantom_Hoover: I do not like the sea 15:49:20 i blame the sea gets in the way of construction 15:49:59 indeed 15:51:18 Phantom_Hoover: Is chat broken or something? 15:51:32 No. 15:52:01 Phantom_Hoover: it 15:52:03 Phantom_Hoover: it is down 15:52:10 NO LONGER 15:52:10 Fair point. 15:52:13 It is back up. 15:52:20 Why do I have two pigs in my inventory. 15:52:20 How will you deal with the bedrock? 15:52:46 Finding a 128x128 block of it that's naturally smooth is an exercise in futility. 15:52:50 Phantom_Hoover: help help help i'm stuck 15:52:53 Phantom_Hoover: And, I just won't. 15:53:00 Phantom_Hoover: It's okay for the very bottom floor to be a bit uneven. 15:53:07 Phantom_Hoover: This thing *is* going to have something like 20 floors. 15:53:14 Or more. 15:53:31 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 !haskell 20^3 15:53:39 Phantom_Hoover: They are intended for the post-apocalyptic scenarios. 15:54:08 Perhaps I ought to do something about that... 15:54:13 Phantom_Hoover: About what? 15:54:19 The apocalypse. 15:54:21 Ah. 15:54:31 Wait, I have a 200-metre long warship under construction. 15:54:34 Ostensibly. 15:54:37 Indeed :P 15:55:16 Phantom_Hoover: FUN FACT! My cube will be 2,097,152 m^3 (and thus blocks). 15:55:37 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 !help 15:55:57 help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 15:56:03 !haskell 20^3 15:56:05 8000 15:57:06 !haskell 2097152**(1/3) 15:57:10 127.99999999999997 15:57:45 Phantom_Hoover: Oh, and I'm also going to need TONS OF LAVA. 15:57:57 elliott, bug ineiros? 15:57:59 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 Phantom_Hoover: So I'm going to need 128 * 128 * floors pieces of lava. 15:58:21 Yeah, I'm gonna ask ineiros to put some readily-accessible lava near the spawnpoint. :p 16:04:25 Phantom_Hoover: Taking a break already? 16:04:42 I love lava, red and hot 16:04:55 Yes. 16:06:31 -!- perdito|afk has quit (Ping timeout: 245 seconds). 16:12:40 meh minecraft 16:13:44 We like it, shut up. 16:13:49 alas, poor yorick, stepping into a minefield 16:14:30 -!- ais523 has joined. 16:15:16 http://www.maumae.net/yorick/doc/index.php 16:15:26 -!- nopseudoidea has joined. 16:17:07 -!- perdito|afk has joined. 16:17:30 ais523: does C-INTERCAL work with -jN? 16:17:36 ais523: its makefile, that is 16:38:11 * yorick stabs the Yorick namers 16:38:46 they're making those annoying "AI" bots say "yorick: you are an interpreted programming language" 16:52:54 ais523: hmm, can I have your esoteric opinion on something? 16:53:01 or oerjan's :P 17:08:52 (fn P P) A = A. 17:08:52 (fn P (F X)) A = (fn P F A) (fn P X A). 17:08:53 (fn P X) A = X. 17:08:54 Behold! Lambdas! 17:12:11 doesn't work if X is of the form (fn ... ...) with A inside somewhere 17:12:41 oerjan: hm? howso? 17:12:47 er i mean P inside 17:13:01 oerjan: don't quite see how that applies (although it certainly is failing in my tests :D 17:13:03 *:D) 17:13:17 also it seems to be non-lazy, Y foo is always diverging :p 17:13:20 ...you have no rule for that case 17:13:42 (fn P (fn Q P)) A 17:14:00 oerjan: = (fn P ((fn Q) P)) A 17:14:07 and that's the case which requires all the alpha machinery 17:14:08 oerjan: so F = fn Q, X = P 17:14:16 but yeah fucking alpha conversion 17:14:20 oerjan: i hereby invite you to fix it! ^_^ 17:14:27 i hereby decline 17:15:54 oerjan: a cool thing about this though 17:15:55 >>> (fn x (fn y x)) hello 17:15:56 ... 17:15:58 fn y hello 17:16:02 is that it SPECIALISES :P 17:17:42 mhm 17:17:56 i'll try it with de bruijn indexes... 17:18:46 -!- augur has quit (Remote host closed the connection). 17:20:23 meh : 17:20:24 :p 17:21:11 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 ais523: alas, my problem was another entirely and your opinion is thus not useful 17:21:59 ais523: but cool, let's see if i can get C-INTERCAL's latest release into Kitten 0.1 17:22:06 ais523: is there a convenient list of dependencies? 17:22:45 to what degree of granularity? 17:22:46 there are several 17:22:57 hmm, the list for DOS is probably best, as none of the software you need is installed on DOS by default 17:24:45 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 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 ais523: asciidoc is nicer than texinfo, but why the fuck use two?? 17:29:44 ais523: also, I doubt the latest release requires AsciiDoc, only the git, right? 17:31:30 ais523: in which case it doesn't matter 17:34:06 "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 ais523: ping? 17:42:25 pong 17:42:35 elliott: esr converted the README to asciidoc 17:42:41 with the result that it has random backslashes in now 17:42:54 ais523: so, only a problem in git. right. 17:42:58 as soon as you introduce escaping, everything goes wrong with that sort of format 17:42:59 and yes 17:43:42 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 nah, just change what it stands for 17:44:38 ais523: Anyway, so there are no library dependencies? 17:45:27 no, apart from libc and the libraries it builds itself 17:45:30 well, cfunge, but that's optional 17:47:09 ais523: yeah i am *not* planning to build an iffi build :) 17:50:17 -!- augur has joined. 17:50:29 ais523: Does this look kosher to you? 17:50:35 ./configure --prefix= 17:50:47 make install -j$(NPROCS) DESTDIR=$1 17:50:58 To build C-INTERCAL. 17:51:02 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 ais523: please tell me if I've misrepresented your compiler :P: 17:55:53 C-INTERCAL is an implementation of Compiler Language With No 17:55:53 Pronounceable Acronym, abbreviated INTERCAL; it acts as a deobfuscator 17:55:53 by translating incomprehensible INTERCAL source code into vastly more 17:55:53 readable machine code, going through a C compiler on the way. It 17:55:53 supports all the common INTERCAL extensions, and has good 17:55:55 compatibility with CLC-INTERCAL. 17:56:23 (yes, yes, I stole the deobfuscator idea from the Debian packge description) 17:56:24 *package 17:58:24 -!- atrapado has quit (Quit: Abandonando). 18:06:10 it's not kosher, it has shrimps in it 18:07:19 ais523: i would like to express my complaint with c-intercal's default installation directories 18:07:24 *express a complaint 18:08:38 ais523: specifically, /share/ick-0.29/ should in fact be called /lib/ick-0.29/ or /libexec/ick-0.29/ 18:08:47 ais523: also, you shouldn't put the version name in the dirs like that 18:10:47 -!- nooga has joined. 18:11:08 ais523: ok i may be wrong about the share thing. but ick-0.29 is still wrong 18:11:32 especially for include/ 18:14:29 -!- jcp has quit (Ping timeout: 245 seconds). 18:20:51 -!- jcp has joined. 18:27:44 ais523: I fixed your bug :) 18:34:26 -!- jcp has quit (Ping timeout: 240 seconds). 18:39:51 -!- jcp has joined. 18:45:29 elliott, ever used cython? 18:45:42 Vorpal: i don't think i've *used* it but i know of it, yes 18:47:03 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 elliott, with cython + some type annotation = 3 seconds 18:47:13 :D 18:47:19 python really really sucks 18:47:36 very computation heavy though 18:48:04 elliott, and well, lets see what adding further type annotation will do 18:48:24 2.3 seconds now 18:50:14 Vorpal: are you sure they'll accept Cython... 18:50:23 Vorpal: also, Did You Try Psyco First 18:50:34 (TM) 18:50:40 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 elliott, also down to 1.7 seconds 18:50:58 Vorpal: try psyco (need 32-bit python) 18:51:01 without any cython 18:51:09 elliott, yeah I would need to setup a 32-bit python somewhere 18:51:13 probably needs a chroot 18:52:04 Vorpal: 18:52:05 # pkgcross x86 python 18:52:10 $ /arch/x86/bin/python foo.py 18:52:12 elliott, on what system? 18:52:13 .... 18:52:13 oh wait sorry you don't use kitten NEVER MIND 18:52:21 elliott, I can't use it yet 18:52:25 so that is pointless 18:52:35 yeah you can you just have to implement all the bits that aren't done or that i haven't released! 18:52:41 which is ALL of them! 18:53:48 CFLAGS=-Os ./configure --prefix= 18:53:48 make install -j$NPROCS ICK_SPECIFIC_SUBDIR=ick DESTDIR="$1" 18:53:53 Vorpal: look what horrible things ick makes me do! 18:53:57 yes indeed, I have to set a whole ONE variable! 18:54:11 (and only then because I think it should be that way anyway :P) 18:54:16 Also, yes, the lack of / after --prefix= is intentional. 18:54:22 because stuff does $(prefix)/foo 18:54:24 which would become //foo 18:56:16 elliott, hah 18:56:47 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- and /include/ick-) 18:57:06 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 rather useful 18:57:44 -!- jcp has quit (Ping timeout: 250 seconds). 18:58:12 is nobody on minecraft? :( 18:58:33 elliott, no time today 18:59:30 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 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 and easily mix those 19:10:33 the Cube? what? 19:13:09 nooga: minecraft. 19:15:20 falses = cons false falses. 19:15:20 bch = bch1 nil falses. 19:15:20 bch1 (state (L : Ls) Rs) (left : Ps) = bch1 (state Ls (L : Rs)) Ps. 19:15:20 bch1 (state Ls (R : Rs)) (moustache : Ps) = bch1 (state ((not R) : Ls) Rs) Ps. 19:15:20 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 this better work 19:18:09 it does not! but it is close 19:18:36 -!- cheater99 has joined. 19:29:06 oerjan: ais523: could you delete [[Image:P''.png]]? thanks 19:31:05 i'm not an admin 19:33:06 oerjan: well 19:33:07 why not :P 19:33:34 Why are you programming in moustaches 19:34:32 Slereah: it's what i call } 19:34:34 i'm trying to do bitchanger 19:34:42 in anemone 19:35:12 What's anemone? 19:35:15 State machine? 19:36:16 Oh 19:36:20 Just a... 19:36:22 What's the name 19:36:26 Like BNF 19:36:40 elliott: um you are still linking to that image from Prehistory. also that messes up the table of contents. 19:37:02 oerjan: ' != ′ 19:37:05 Slereah: it's a term rewriter. 19:37:11 not like bnf 19:37:24 oerjan: good point about ToC, i'll fix 19:49:14 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 elliott: you know your advice about using IE when Firefox wouldn't download executables? 19:50:15 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 ah 19:50:46 ais523: I asked you a few things when you were gone; can I re-paste them? 19:50:46 Hey, elliott didn't respond to anything I said in the log 19:50:49 That's unusual 19:50:51 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 elliott: go for it 19:51:00 ais523: Does this look kosher to you? 19:51:00 ./configure --prefix= 19:51:00 make install -j$(NPROCS) DESTDIR=$1 19:51:00 To build C-INTERCAL. 19:51:00 s/$(NPROCS)/$NPROCS/ 19:51:03 ais523: like, the virus you wanted to download anti-virus for? >:D 19:51:04 ais523: please tell me if I've misrepresented your compiler :P: 19:51:05 C-INTERCAL is an implementation of Compiler Language With No 19:51:05 Pronounceable Acronym, abbreviated INTERCAL; it acts as a deobfuscator 19:51:07 by translating incomprehensible INTERCAL source code into vastly more 19:51:09 readable machine code, going through a C compiler on the way. It 19:51:11 supports all the common INTERCAL extensions, and has good 19:51:13 compatibility with CLC-INTERCAL. 19:51:15 (yes, yes, I stole the deobfuscator idea from the Debian packge description) 19:51:17 *package 19:51:19 ais523: i would like to express my complaint with c-intercal's default installation directories 19:51:21 *express a complaint 19:51:22 ais523: specifically, /share/ick-0.29/ should in fact be called /lib/ick-0.29/ or /libexec/ick-0.29/ 19:51:26 ais523: also, you shouldn't put the version name in the dirs like that 19:51:28 ais523: ok i may be wrong about the share thing. but ick-0.29 is still wrong 19:51:30 especially for include/ 19:51:32 (the last one I've managed to fix without patching the code) 19:51:34 make install -j$NPROCS ICK_SPECIFIC_SUBDIR=ick DESTDIR="$1" 19:51:37 elliott: the versioned dirs are a historical thing, which cause all sorts of issues 19:51:39 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 ais523: hmm 19:51:48 there's a single line in the Makefile that can be changed to patch them back out 19:51:52 also, what caused the image? 19:51:52 ais523: you don't need to do that 19:51:55 make install -j$NPROCS ICK_SPECIFIC_SUBDIR=ick DESTDIR="$1" 19:52:00 ais523: I caused the image 19:52:06 elliott: yep, but Debian prefer patching makefiles for some reason 19:52:09 elliott: what were you trying to do? 19:52:11 elliott: i was just about to get ops now ;| 19:52:18 oerjan: what, for flooding? 19:52:21 ais523 gave me permission! 19:52:22 ais523: get the P'' logo 19:52:27 ais523: I've uploaded it under another name 19:52:30 (with the prime characters) 19:52:33 which is also easier to embed 19:52:37 [[Image:]] doesn't like quoets 19:52:39 *quotes 19:52:49 -!- Gregor has quit (Ping timeout: 245 seconds). 19:52:52 ais523: anyway, are there any plans to set ICK_SPECIFIC_SUBDIR=ick by default in a future version? 19:52:53 OK, done 19:52:57 -!- HackEgo has joined. 19:53:00 elliott: no, not at the moment 19:53:10 ais523: (btw, ick 0.-2.0.29 identifies as ick 0.29, but presumably that's intentional) 19:54:07 elliott: indeed, alphas identify as the version they'll eventually be released as 19:54:15 -!- Gregor has joined. 19:54:38 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 elliott: well it was damn hard to _notice_ the permission with all that flooding ;D 19:54:56 ais523: btw, I should probably leave out the yacc build dependency and just use the prebuilt ones, right? 19:55:09 elliott: I'm not sure 19:55:26 oerjan: since when did I have permission to tell people to flood in this channel? 19:55:31 also, are you an op? I keep losing track 19:55:33 he's ais523 19:55:35 i am 19:55:36 he has permission to do anything 19:55:44 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 also, Oozlybub and Murphy has the second best reason for its name ever, after INTERCAL 19:56:12 elliott: they might not be if bison is upgraded to produce compatible but better output 19:56:21 ais523: who said I'm using bison? 19:56:33 ah 19:56:35 ais523: heck, I'm not even using gcc :) 19:56:50 I know SunOS lex has issues with lexer.l 19:56:50 ais523: although I haven't yet tested C-INTERCAL with pcc 19:57:00 because it uses hardcoded maximums, and they're too low 19:57:07 ais523: here, I have a pcc/dietlibc toolchain here, let's see if it'll compile c-intercal 19:57:09 you can increase the maximums with options, but seriously? 19:57:16 elliott: I know it compiles cleanly with clang 19:57:37 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 ais523: by the way, I gunzipped the pax and then renamed it to .tar; am I a bad person? 19:57:51 every package has to be /var/pkg/NAME/source.tar 19:57:55 and I didn't feel like re-packing 19:59:29 $ CC="$K/stage2/bin/diet -Os $K/stage2/bin/pcc" CFLAGS="" ./configure 19:59:31 ais523: this better work! 20:00:02 ais523: wow, that was a fast build 20:00:08 $ time make -j3 20:00:08 ... 20:00:09 real0m4.847s 20:00:18 slowest part was all that oilout stuff 20:00:19 does it run? 20:00:28 $ ./ick 20:00:28 also, that's the slowest part of the build in gcc, too 20:00:28 ICL999INO SKELETON IN MY CLOSET, WOE IS ME! 20:00:29 ON THE WAY TO 1 20:00:29 CORRECT SOURCE AND RESUBNIT 20:00:31 ais523: close enough! 20:00:42 ais523: -rwxr-xr-x 1 elliott elliott 384K Dec 2 19:59 ick 20:00:44 elliott: hmm, I hate skeleton errors 20:00:45 ais523: (statically linked) 20:00:54 what if you try installing it? 20:01:00 -!- kar8nga has joined. 20:01:03 or try ./ick -u to see where it's looking 20:01:05 yeah, I'll just do it again with another prefix 20:01:18 yeah, it looked in the totally wrong places 20:01:40 ais523: anyway, 384K isn't bad, methinks 20:01:53 with skeleton errors you don't even have the bare bones of a solution 20:01:59 ais523: especially considering that the dietlibc printf functions are very half-assed because felix thinks people shouldn't use them :) 20:02:07 (they add like 7-8K to the binary) 20:02:15 elliott@dinky:~/ick-0.29$ $K/cint/bin/ick 20:02:15 elliott@dinky:~/ick-0.29$ 20:02:18 ais523: great success 20:02:30 ais523: now, uh oh, does it know to use the CC it was compiled with? 20:03:50 (did you ever respond to my package description? misrepresenting C-INTERCAL is incredibly shameful!) 20:04:11 elliott: I'm not sure; it will respect the CC environment variable 20:04:24 and it doesn't look that misrepresented, except that I find INTERCAL easier to read than the machinecode it compiles to 20:04:33 any flag to ask it what it thinks CC is? :p 20:04:43 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 -rwxr-xr-x 1 elliott elliott 104K Dec 2 20:06 pi 20:07:22 but it matches "GCC" 20:07:26 indeed 20:07:41 ais523: does it respect CFLAGS? 20:09:14 elliott: I can't remember 20:09:16 I don't think so 20:09:42 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 yeah, I'm looking now 20:09:53 it puts -O2 in there 20:09:55 very irritating 20:10:19 if you use -g, it doesn't optimise 20:10:27 if you use -F, it goes up to -O3 20:10:48 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 I could split those up, but I'm very lazy. 20:11:21 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 and also perhaps slightly faster, since printf is quite big 20:11:33 emphasis on slightly 20:13:21 elliott: splitting it up would help; I'd almost certainly accept (3), (2) and (1) are more contentious 20:13:37 what do we use printf for in the generated C at the moment anyway? 20:13:47 ais523: I have no idea; probably error reporting or something silly like that. 20:14:08 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 what about replacing it with puts and putchar 20:14:34 ais523: hmm... well, I wouldn't bother writing such a patch 20:14:55 ais523: really, the improvements are: going from printf -> anything else; and going from stdio -> write(2)/read(2) 20:14:55 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 both have a rather dramatic impact 20:15:10 elliott: do you not have a libc that lets you set stdio as a thin wrapper? 20:15:18 ais523: a thin wrapper? haha 20:15:24 write(2) and read(2) aren't portable, they don't exist on Windows 20:15:32 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 ais523: also, you use autoconf right? 20:15:52 easy enough to condition on read/write being present 20:15:53 -!- HackEgo has quit (Ping timeout: 255 seconds). 20:16:07 Hmm, mplayer is desyncing audio... 20:16:41 -autosync 30 doesn't seem to help... 20:17:00 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 I'd say that these changes together could lead to, say, a 30K pi, as a first estimate. 20:17:26 Perhaps a bit bigger. 20:18:43 elliott: I like how you don't have /usr. 20:19:02 pikhq: I like that too! It's yet another reason for Vorpal to say he'll never use it ever. 20:19:10 And lord knows I don't have nearly enough of those. 20:20:09 pikhq: Maybe I'll be all old-school Unix and make /usr the home directory. :) 20:20:24 Hah. 20:20:48 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 pikhq: I have seen this personally on an emulator. 20:21:04 That's amazing. 20:22:03 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 And now, kids, even today, it is used to justify silly partitioning schemes where nothing has any leg room. 20:22:25 ~th end~ 20:22:26 *the end 20:22:49 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 ais523: challenge: write a less objectively-agreed-upon statement than that 20:22:58 well, than the first sentence 20:23:12 wtf: running this reversi-algorithm against itself gave a pretty pattern looking like an arrow. A symmetrical one in colours 20:23:14 "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 (not insulting byacc, just loling at the sentence) 20:24:07 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 elliott: "Berkeley Yacc (byacc) is the One True Yacc." 20:24:33 pikhq: "This is not the yacc you are looking for." 20:24:50 pikhq: "OS/2 is widely regarded to be the best and most widely-used server operating system." 20:24:52 berkeley yacc is best yacc 20:25:10 -!- kar8nga has quit (Remote host closed the connection). 20:25:17 Just like North Korea is best Korea. 20:25:36 pikhq: That is simply a factual statement. 20:25:40 THANK YOU, COMRADE OBVIOUS 20:26:04 `addquote berkeley yacc is best yacc Just like North Korea is best Korea. THANK YOU, COMRADE OBVIOUS 20:26:20 alas, hackego just pinged out 20:26:36 pikhq, I hear South... no, wait, they have professional StarCraft players. 20:26:45 oerjan: You're welcome, Comrade. 20:26:47 oerjan: hackego totally needs to read the clog logs when it reconnects and perform all the actions there 20:26:47 North is clearly superior. 20:26:50 elliott, very strange result: http://sporksirc.net/~anmaster/tmp/reversi-ab_prune_against_self.png 20:26:51 (after quoting them, naturally) 20:27:01 Vorpal: wtf: running this reversi-algorithm against itself gave a pretty pattern looking like an arrow. A symmetrical one in colours 20:27:05 Vorpal: "in colours" made me think "colourful" 20:27:07 i am disappointed 20:27:07 Phantom_Hoover: Televised and popular, no less. 20:27:13 Phantom_Hoover: They even make product endorsements. 20:27:15 elliott, err what? 20:27:24 elliott, how would that work? 20:27:29 Vorpal: like N-colour reversi! 20:27:30 somehow 20:27:33 elliott, that would be nice 20:27:41 elliott, but anyway, the pattern is strange 20:27:45 pikhq, I am tempted to join the DPRK Appreciation Society. 20:28:09 [[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 World 2.0. Who wants Justin the most? Decide now... 20:28:10 CONTEST IS CLOSED. THE WINNER IS NORTH KOREA WITH 659141 VOTES]] 20:28:15 I really hope he goes to North Korea. 20:28:17 "Democratic People's Republic of Korea" is such a mistranslation. 20:28:30 pikhq: But the BEST mistranslation! 20:28:31 "Democratic People's Republic of Choson". 20:28:53 pikhq: Oppressed Starver's Republic of Korea doesn't have the same ring to it. 20:29:16 elliott: They actually call the country Choson. For... No reason at all. 20:29:28 corea 20:30:09 oh, that poll isn't official 20:30:11 LAME 20:30:45 http://en.wikipedia.org/wiki/Joseon_Dynasty 20:31:28 oerjan: Okay, okay, so it has historical relevance. 20:31:44 But still: the North and South can't even agree on what to call the country. 20:32:08 The ROK is Han, DPRK is Choson... 20:32:47 * oerjan thought Han referred to ethnic chinese 20:32:49 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 Be there or be oblong. 20:33:08 obloid. 20:36:06 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 ais523: so can I get the green-light to use write(2)/read(2) if they're present? 20:41:57 Ilari: Probably something to do with *significantly* fewer routers being IPv6. 20:42:00 pikhq is just not cool enough for OFTC. 20:45:15 Or actually it is "computer doesn't have a route to destination via IPv6" problem. 20:45:37 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 pikhq: OFTC! #KITTEN! SQUARENESS DONATED TO ALL NOT PRESENT! 20:48:32 Or the great IPv6 routing split... 20:51:12 Ilari: ? 20:51:45 Some IPv6 upstreams have seriously incomplete routing table... 20:51:53 *facepalm* 20:53:05 -!- Gregor has joined. 20:53:10 -!- Gregor has changed nick to Guest24183. 20:53:18 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 http://en.wikipedia.org/wiki/Han_(trilobite) 20:55:04 Gregor: yon bots are dead 20:55:19 bon mots are dead 20:55:20 -!- wareya_ has joined. 20:57:11 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 Gregor: PRGMR RELIABLE UPTIME 21:04:16 *pfft* 21:04:29 NASA discovers life form that uses arsenic instead of phosphorous. 21:04:52 pikhq, hmm. 21:04:54 -!- fungot has quit (Ping timeout: 245 seconds). 21:05:00 That's... Woah. 21:05:09 Wait, yes, yes it is. 21:05:18 They _don't have DNA or RNA_. 21:05:39 Yes, they have completely different nucleic acids. 21:06:01 Yes. 21:06:07 Arse-nic. 21:06:26 -!- fizzie has quit (Ping timeout: 250 seconds). 21:08:28 Actually, apparetly only the PO4 linking groups have been replaced by AsO4 groups... 21:10:39 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 brb 21:29:33 How do I get this bloody computer to tell me my CPU model? 21:30:12 PRAY 21:32:08 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 x264 is officially ridiculous. 22:03:52 http://x264.nl/developers/Dark_Shikari/Flash/UltraLowBitrateAnime.mp4 67 kbps encode. 22:04:02 I did not omit a digit there. 22:04:09 Sixty-seven kilobits per second. 22:06:00 ha 22:08:13 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 fog 22:32:29 Phantom_Hoover: MC 22:32:36 Nooooooooooooooooooooooo 22:32:43 You: addicted. 22:32:52 YOU HAVE BECOME AS UNTO VORPAL 22:34:47 Phantom_Hoover: Actually, I'm just bored and MC without anyone else there is boring. 22:34:56 Phantom_Hoover, what? don't insult me. I had other stuff to to today. I haven't been on 22:35:17 Vorpal, I was actually mocking elliott there. 22:35:30 Phantom_Hoover, and insulting me at the same time 22:35:39 Since he went on about you being addicted whenever the server died and you asked ineiros why. 22:35:47 Phantom_Hoover, indeed :P 22:35:56 he is way more addicted than me 22:36:15 Vorpal: Seriously? 22:36:20 I don't actually play often at all. 22:36:22 I just hated being interrupted in a task. 22:36:25 in any task 22:36:25 I haven't mined in days. 22:36:32 In fact I've done nothing in days. 22:36:35 elliott, you been on doing other stuff though 22:36:40 Vorpal: Like? 22:36:42 elliott, I saw you jumping that water fall 22:36:56 Which waterfall? The one you made yesterday? 22:37:02 elliott, the one I made yes 22:37:15 You did that and *also* made it, so that does not demonstrate that I am "way more" addicted in any way. 22:37:19 It just demonstrates that I do in fact play it. 22:37:40 elliott, indeed but you have been complaining about no one being on today 22:37:48 elliott, I almost never complained about the place being empty 22:38:01 Because I've been rather bored today. Also I think I've complained twice. 22:38:16 okay, I haven't counted 22:38:21 10:58:12 is nobody on minecraft? :( 22:38:24 Phantom_Hoover: MC 22:38:27 that's all 22:38:36 elliott, anyway then you don't have to chat with people, instead you can get on building stuff! 22:38:39 ok, I also bugged Phantom_Hoover about it in #kitten :P 22:38:49 Vorpal: The only thing I want to build is the Cube and that needs the Server. 22:39:05 elliott, you could locate an area, and start marking out the boundaries 22:39:21 elliott, stuff like that just need a handful of dirt or cobblestone blocks 22:39:22 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 Phantom_Hoover, photos are almost never good logos 22:39:47 Vorpal, as I told him! 22:39:49 Vorpal: Not only was it a kitten, it was *on a computer*. 22:39:57 logos need to be more... symbolic, line art 22:40:00 Are you suggesting that there is something better than a kitten on a computer for ANY PURPOSE WHATSOEVER? 22:40:07 elliott, it would work if it was lineart of a kitten on a computer 22:40:10 but a photo: no 22:40:12 elliott, you could locate an area, and start marking out the boundaries 22:40:12 elliott, stuff like that just need a handful of dirt or cobblestone blocks 22:40:17 i'm fairly sure I need to make my own sea. 22:40:20 elliott, but it was a photo! And a jpeg! With a detailed and necessary background! 22:40:22 elliott, hm 22:40:35 http://filebin.ca/tvzvtn/sintel_trailer-240-pass3.mkv 22:40:41 It's a 768k video. 22:40:42 make your own sea with cobblestone blocks 22:40:44 And it doesn't look bad. 22:40:50 (aside from being 240p) 22:40:54 elliott, I suggest to the east because it will be closer to spawn than any other suitably large area 22:41:12 elliott, and minecarts will be close. Skyway will need a bit more 22:41:15 Vorpal: I don't care about proximity to spawn, only civilisation. 22:41:22 "The Blender Foundation". 22:41:23 Also Server said that he probably doesn't want it within 500 metres of spawn. 22:41:26 elliott, well, it is close to civilisation too 22:41:34 elliott, hm 22:41:39 elliott, north-west then? 22:41:53 pikhq, if that isn't related with the Society for the Advancement of Blenders I will be sorely disappointed. 22:41:57 Vorpal: Perhaps. Or I could just flood a large area on the path of the skyway from Vorpal to Hoover. 22:42:02 I ♥ x264. 22:42:02 Phantom_Hoover: Blender as in the 3D tool. 22:42:10 elliott, sssshhhhh! 22:42:11 elliott, that would work too 22:42:19 Vorpal: I'd also need TNT to get rid of some of the bigger mountains, probably. 22:42:35 elliott, as long as it is out of sight from my extruding glass room 22:42:39 elliott, (on far) 22:42:47 pikhq, how many opinions do you have about multimedia encoding? 22:42:57 elliott, or if visible on far, at least some distance away 22:42:59 Phantom_Hoover: Many! 22:43:09 Vorpal: If it isn't, that's not my fault; you don't own a huge radius around your mountain. 22:43:12 Phantom_Hoover: Rule #1: x264 is the best. Period. 22:43:14 Anyway, it's made out of glass, dammit, it's transparent. 22:43:19 elliott, I want a nature view, not looking up the side of an industrial building :P 22:43:41 Vorpal: Yeah... you do realise this thing is gonna be darn pretty, right? 22:43:50 It's ENTIRELY MADE OUT OF GLASS. With nice LAVA making it shine. 22:43:53 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 elliott, sure it is, but so is the nature 22:43:59 pikhq, why? 22:44:02 Well I'm not building /there/. 22:44:07 elliott, :) 22:44:10 Probably 1/3 of the way to Hoover or whatever. 22:44:14 Wherever is flattest. 22:44:16 elliott, that should be fine 22:44:22 probably 22:44:51 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 checking on map atm 22:45:16 pikhq: Such a shame that H.264 is so proprietary. 22:45:43 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 elliott: It is a shame, indeed. 22:46:58 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 elliott, it seems to be a solution that fits everyone 22:47:29 The UK doesn't acknowledge software patents, does it? 22:47:32 http://x264.nl/developers/Dark_Shikari/Flash/UltraLowBitrateAnime.mp4 67 kbps encode. 22:47:34 just actually played this 22:47:43 w.t.f. pikhq i was expecting lameish quality 22:47:47 elliott: And that's an *old* demonstration. 22:47:48 it's better than youtube! 22:47:58 Vorpal: Maybe. I'll see about it. 22:48:13 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 128x128 is pretty big. 22:48:29 In fact, how far does Far see? 22:49:05 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 See my filebin post. 22:49:37 pikhq: Hmm... I just had a stupid thought that maybe might sorta work. 22:49:53 elliott, hm 22:50:05 In fact, how far does Far see? <-- not sure, pretty far 22:50:10 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 Vorpal: 128 blocks far? 22:50:28 elliott, more than that I think 22:50:34 Vorpal: Aww. 22:50:37 elliott, I can see from me to fizzie 22:50:44 elliott, a bit more than that 22:50:45 I'm not sure that would be an *astounding* lossless compression scheme, but it would certainly work decently. 22:50:47 That's not 128, I don't think. 22:51:00 pikhq: Would it beat your zero-quantisation encodes? 22:51:10 Far sees a bit less than 200 blocks, but I'd say it's over 128. 22:51:20 pikhq: I can't imagine the diffs being *too* big, even on a relatively low bitrate... 22:51:24 You can almost see the other end of PH's ship from one end. 22:51:28 elliott, I'll measure on the map 22:51:31 elliott: I don't *think* so. 22:51:32 pikhq: Then again, it is every single frame... 22:51:33 fizzie, indeed 22:51:42 -!- Sasha has quit (Ping timeout: 276 seconds). 22:51:51 elliott: Though it would probably beat everything not x264 anyways. :P 22:52:00 "You Must Learn JavaScript" ;; no I mustn't, you webfag. 22:52:23 "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 "Knowing JavaScript well is probably one of the most challenging and rewarding things you can do as a programmer." 22:52:44 what? 22:52:48 how is learning javascript challenging at all 22:52:50 elliott, about 190 I'd say 22:53:06 Could even be 192. :p 22:53:12 Probably 192, yeah. 22:53:12 something like that 22:53:13 :p 22:53:20 it is approx, I measured on map 22:53:31 Yeah, but there's no power of two near 192 other than... 192. 22:53:37 indeed 22:53:44 erm 22:53:46 Yeah, but there's no power of two near 190 other than... 192. 22:53:55 192 is not a power of two either, but still. 22:54:14 elliott, and I believe it might be inexact. As in: a chunk is either visible or not 22:54:29 the distance I measured was diagonal 22:54:33 so that would be relevant 22:54:46 fizzie: Close enough! 22:55:14 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 elliott: BTW: Youtube's video bitrates start at 250kbps and go up from there. 22:55:51 elliott, I can see a distance that is at least 194 (near upper door entrance to end of huge stairs 22:55:57 pikhq: Is it just me, or do YouTube videos load painfully slowly? 22:55:59 elliott, which indicates it is probably per chunk 22:56:02 That's 250kbps for the 240p videos they had at the very start of the site. 22:56:02 not per block 22:56:20 fizzie: Yeah, but Server doesn't really want it within 500 blocks of spawn. 22:56:30 fizzie: So I'm better off starting at civilisation and going from there. 22:56:45 elliott, it would be 300 blocks away 22:56:49 Well, you could fit two 128x128 blocks in the big seas to the west, but those are pretty far. 22:56:50 definitely not visible from spawn 22:57:14 fizzie, not in one of them any more 22:57:27 fizzie: I do not plan to make *two* 128x128x128 cubes. :p 22:57:46 Vorpal: Hm? 22:57:49 fizzie, presumably you mean the one with a reed-lined shore? 22:58:01 fizzie, near that "easter egg"? 22:58:03 No, I meant the other one. 22:58:20 To north of the reed-lined-shore one. 22:58:24 fizzie, ah because I built a free-standing waterfall over ther 22:58:28 right 22:58:29 Yes, I saw it. 22:58:33 ah 22:58:38 fizzie, tried it with a boat? 22:58:49 Yes. (I borrowed your boat.) 22:59:03 fizzie, right 22:59:59 fizzie: Are *you* too boring to Minecraft today, too? 23:00:21 Yes, I'm just about to go to sleep, actually. 23:00:29 fizzie: So boering. 23:05:31 test 23:06:35 -!- ais523 has quit (Read error: Connection reset by peer). 23:06:51 elliott, I'll make a map with some suggestions for possible placements within existing oceans 23:06:54 Also fun: the source video, at 480p lossless x264, hits DVD target bitrates... 23:08:21 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 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 fizzie: Suggestions welcome :P 23:09:32 Does TNT work in water? 23:12:01 elliott, no 23:12:03 fizzie's silence is not reassuring. 23:12:21 I've read something about safely removing TNT by detonating it underwater, so I'd guess no. 23:12:28 elliott, TNT still generate shockwave in water. But it does not destroy blocks 23:12:33 this is used to build TNT cannons 23:13:13 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 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 fizzie: Um, I was going to get the sand delivered to me in glass form. 23:14:01 fizzie, what about placing the blocks assuming he had the glass? 23:14:20 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 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 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 elliott, alt 3 which would be best is within 500 blocks 23:15:55 fizzie: Anyway, I'd actually have to empty 128*128*64 blocks of water. 23:16:13 I think 500 blocks was... not entirely serious. 23:16:14 elliott, no. Since water only goes down to about 50 23:16:15 so 23:16:22 64-50 for height 23:16:28 Well, okay, but definitely not 16. 23:16:36 fizzie: Anyway I'd build the actual levels over a long period of time. 23:16:39 64-50 is 14. 23:16:39 elliott, indeed. that is 14 23:16:40 :P 23:16:54 The seas aren't very deep. 23:17:15 indeed. And going down to 50 is rare. 52-53 is much more common 23:17:23 with a few smaller pits of 50 or so 23:17:24 True. 23:17:28 Still, you'd need to empty up that much space in general, so there. 23:17:41 and you only get 52 out near the middle 23:17:42 so yeah 23:17:49 Anyway, I never said it'd be easy. :p 23:17:57 elliott, still you need to mine a shitload of stuff below the sea 23:18:14 Vorpal: Or just use TNT... 23:18:21 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 fizzie, you could do the torch trick 23:18:51 fizzie: Problem is, I'd have to have walls in place already... meaning TNT would be unwise. 23:19:05 You could TNT in the middle, though. 23:19:16 True. 23:19:17 still a shitload of TNT to do it 23:19:20 And anyway, shovels are fast, faster than "take a bucket, dump it down". 23:19:22 not sure I'd trust you with that 23:19:30 (if I was that admin that is) 23:19:46 fizzie: I would do 9 buckets at a time, obviously. 23:19:48 But yeah. 23:19:59 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 elliott, elliott you can just empty it into another source 23:20:11 Vorpal: Larger period of monotony. 23:20:14 elliott, next to the one you are removing 23:20:19 elliott, which is probably faster 23:20:22 Oh, you can? Compress two sources? 23:20:23 Weird. 23:20:41 elliott, it's minecraft, what did you expect? 23:20:52 fizzie: Anyway, conjuring up sand is not the issue here, as I've established. :p 23:21:21 Anyway, those who help construct it get bigger free-rented spaces. 23:21:26 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 issue* 23:22:00 elliott, I can provide a shitload of cobblestone to help you with it certainly. For scaffolding and such 23:22:06 also a shitload of dirt 23:22:27 Vorpal: Work is more valuable than materials. :p 23:22:27 elliott, I have at least one large chest full of cobble + several partly filled ones 23:22:43 elliott, dirt: almost one filled 23:22:45 (not completely) 23:22:47 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 fizzie: He said he was going to automate it. 23:23:09 fizzie: He *can* just create a file with a huge number of commands, you know, and paste it in. 23:23:19 elliott, still you can decide on a place and put out markers there 23:23:24 elliott, that you can do today 23:23:32 elliott, so which of those places do you think is best? 23:23:35 Vorpal: I'm not going to be awake for long enough to research all the places today. 23:23:47 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 elliott, you saw the map I linked? 23:24:10 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 and building your own sea is probably more work 23:24:33 Vorpal: Yes, but more impressive. :p 23:24:50 Vorpal: (And I wouldn't have to empty anything, if I built the underwater bit of the cube first. 23:24:51 elliott, you know that the water-source duplication thing only happens on a flat surface right? 23:24:56 elliott, up to altitude 1 23:24:59 as in 23:25:02 You could've crop-to-selection'd the map a bit. :p 23:25:10 you will have to build layer by layer down 23:25:17 Vorpal: Yeah... 23:25:18 fizzie, there are other sites further away 23:25:22 Vorpal: But I can get walls in before that. 23:25:23 -!- oerjan has quit (Quit: Good night). 23:25:29 elliott, so I think emptying it will be less work 23:25:37 Vorpal: What I really need to do is get a bitmap image 128x128, side view, zoom in, and start planning. 23:25:38 elliott, unless you want like a 2x wide channel around it 23:25:48 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 elliott, besides it won't look natural without a LOT of work 23:26:04 I also need to do experiments to determine how often I need lava lighting. 23:26:11 elliott, gimp: create new image, size 128x128 23:26:14 Hopefully only once every two floors, where a floor is about 5 blocks high. 23:26:23 I just hope that's enough. 23:26:29 -!- perdito|afk has joined. 23:26:40 (Since I want lighting to seem even throughout the whole building, even a 1/3rd diminishing would probably be bad) 23:26:42 elliott, you will certainly get lighting from below 23:26:50 Vorpal: true 23:26:51 hm 23:27:03 -!- Goosey has joined. 23:27:07 I know there's a formula or whatever but experimenting is easier. 23:27:11 elliott, also you *will* misplace blocks sometimes when building it 23:27:13 (Ha, how practical of me.) 23:27:15 Vorpal: I know! 23:27:21 -!- perdito|afk has changed nick to perdito. 23:27:23 You can experiment with torches; that's only one level less bright than lava. 23:27:23 elliott, which means you might need a few hundred blocks more 23:27:41 since they will be destroyed when you break them 23:28:02 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 (2^17) 23:28:10 Or thereabouts. 23:28:11 Something like that. 23:28:13 hah 23:28:17 elliott, the other things being? 23:28:21 elliott, interior walls? 23:28:35 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 And yes, interior walls. 23:28:43 elliott, you realise that if you rent out space you need something that isn't glass to put things on 23:28:50 And also the fact that I need two floors for some floors to sandwich the lava. 23:28:54 Vorpal: I know that. 23:28:58 elliott, and minecart tracks I believe won't go on glass 23:28:59 Vorpal: Probably cloth, since it's nice and white. 23:29:07 elliott, and burns :P 23:29:16 Vorpal: Yeah, well, don't let the lava out. :P 23:29:19 indeed 23:29:32 Vorpal: And the bottom three levels will be completely obsidian-plated and lit with torches. 23:29:32 elliott, you know those jumping embers from lava 23:29:33 ? 23:29:35 Yes. 23:29:49 elliott, they don't hurt players but they *can* set fire to burnable blocks and burnable items 23:30:00 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 Vorpal: You do realise the lava has glass on either side? 23:30:11 elliott, not sure if they will jump through glass 23:30:18 elliott, I mean, considering how they are coded in general 23:30:25 fizzie: I'm going to make like 50 large chests, durr. :P 23:30:28 elliott, I have seen them jump through stone 23:30:41 Vorpal: Well, I've never been hurt inside the Glass Room of Hoover's. 23:30:50 or rather 23:30:53 never seen any embers at all 23:31:00 elliott, hm 23:31:10 I believe they jump up 23:31:12 not down 23:31:23 elliott, requesting in batches is probably better since that way you don't need to load from the chest 23:31:39 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 Also, yeah, I probably will. But a batch should fill 3 large chests are so. 23:31:52 *or so. 23:31:55 Because I need a lot. :p 23:32:04 hm 23:32:31 elliott, you might want to build a cobblestone 130x130 container and empty the water in it. Maybe 23:32:38 then build the thing inside 23:32:41 then remove the cobble 23:32:52 Vorpal: Yes, most likely. 23:33:12 elliott, also it needs a boatlevator. 23:33:17 elliott, do you know how far mine goes? 23:33:18 Yeah, you can build that. :p 23:33:23 elliott, in altitude 23:33:29 Down near bedrock, yes. I successfully rode it today. 23:33:35 I don't see how it'd work with 20 or so stops, though. 23:33:45 elliott, 5 above bedrock to 15 or so below max alt 23:33:46 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 elliott, hm stops would be an issue yeah 23:34:06 elliott, but maybe one to get to ground floor and then one to get to near max 23:34:20 elliott, remember it needs like 7 blocks at the top due to jumping up quite a bit 23:34:29 Vorpal: I was just going to use regular stairs; I mean, it wouldn't be that big a deal. 23:34:38 Although stairs are ugley. 23:34:45 (I'd use wood.) 23:34:59 hm 23:35:08 elliott, that would take forever to go up 23:35:20 Vorpal: Not *really*; have you ever walked up the bedrock-to-max Stairs? 23:35:27 elliott, sure I have 23:35:28 It only takes a minute or two, and that's for all the way. 23:35:40 elliott, and boatlevator takes.... 8 seconds or so? 23:35:48 plus maybe up to 20 to wait for the boat 23:35:50 Vorpal: Yes, but there needs to be a second or two at every single stop. 23:35:57 Let's say there's 20 floors; that's about right. 23:35:58 1.5 * 20 = 30. 23:36:03 hm 23:36:04 okay 23:36:04 So it has to take more than 30 seconds. 23:36:12 well 23:36:17 it won't be 20 if it is that short 23:36:18 And it's also, well, not that reliable if someone turns. 23:36:27 Vorpal: Eh? 23:36:37 oh right 23:36:45 I thought 20 was the delay 23:36:46 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 floors 23:36:50 Right. 23:37:09 elliott, anyway boatlevator is not practical for anything less than, say, 60 blocks at a time 23:37:14 elliott, hm I seen another design 23:37:18 that allowed entry on side 23:37:24 and used a drop shaft to get down 23:37:29 elliott, I haven't tried it 23:37:41 Vorpal: Still; if anyone presses A or D there's a complete transport blackout in the Cube. :p 23:37:45 At least stairs never die. 23:37:49 but it might work if we only want to go up to one place from a lot of different ones 23:37:56 Gregor: http://src.chromium.org/viewvc/chrome/trunk/src/build/whitespace_file.txt?r1=67679&r2=67678&pathrev=67679 23:37:58 Gregor: Chrome: Somewhat sparta. 23:37:59 elliott, true 23:38:00 *Sparta. 23:38:36 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 Vorpal: Then we can smash a hole in it for an entrance, and go from there. 23:39:16 elliott, making holes in the lava levels would be annoying 23:39:22 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 Vorpal: Yes, it would. I might figure out where to poke holes in the ceilings first. 23:39:37 elliott, I don't think you can place ladders on glass anyway so they are out of question I guess 23:39:49 Vorpal: I can always put some cloth against a wall... 23:39:53 true 23:40:01 Vorpal: Hell, I'd be fine lining every floor with cloth too. 23:40:11 elliott, I don't think you need that 23:40:13 As long as the whole thing is transparent from a distance. :p 23:40:17 Vorpal: Carpet! 23:40:25 elliott, just that you can't place "those not really blocks" on there 23:40:36 such as torches, tracks, and what not 23:40:41 That's so a flaw in Minecraft, though; why can't they go on glass. :p 23:41:02 The roof will be fun, you'll be able to climb up there and jump off into the sea. 23:41:18 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 MAYBE 23:41:29 who knows 23:41:46 elliott, also minecart on glass: that would never work 23:41:51 Vorpal: why not! 23:42:06 elliott, I mean, it is completely unrealistic. Consider the load. Oh wait, this is minecraft. 23:42:12 Vorpal: Precisely :P 23:42:26 If it was realistic, you could fall from a distance onto glass and it'd shatter. 23:42:36 indeed 23:42:51 and you wouldn't get cubical cloth from sheep 23:43:01 and it wouldn't last as an outdoor road anyway 23:43:46 A cubic metre of cloth from a single sheep is a bit dubious too, even assuming you skip some steps there. 23:44:03 fizzie: More than that; you get two or three blocks. 23:44:40 and also obsidian a volcanic glass says wikipedia 23:44:41 huh 23:44:47 Well, lava. 23:45:04 "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 wow that is cool 23:45:14 Heh, nice. 23:45:18 See, in Minecraft, it's just a bitch to mine. :P 23:45:32 elliott, and diamond should be harder actually 23:45:33 But it will be good for the last three levels, for when the world goes to shit! 23:45:50 "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 All the supplies and tools you need to rebuild the world, obsidian-lined for extra protection, and with indestructible bedrock base. 23:46:06 Nothing could be safer -- and by god don't fuck it up this time around. 23:46:10 "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 It is very pretty. 23:46:50 elliott, will you mine that obsidian? 23:46:54 "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 elliott, I mean seriously that will be a pain 23:46:58 hahahaha 23:47:05 Like that's the most of the problem with GHC's errors! 23:47:12 Vorpal: No, I'll probably just make it lava and wet it. :p 23:47:18 (TODO: figure out how to do vertical lava.) 23:47:21 elliott, they removed comprehension? 23:47:25 for what? 23:47:28 lists? 23:47:28 Vorpal: Monad comprehension. 23:47:30 In 1998. 23:47:31 ah 23:47:40 right 23:47:47 But lol @ removing it because it makes errors hard to understand; GHC mocks this pitiful attempt. 23:47:59 elliott, I can't figure out what monad comprehension is exactly 23:48:09 I mean, I can't imagine what the concept would be 23:48:11 Vorpal: List comprehension, but for monads. 23:48:29 hm 23:48:30 -!- FireFly has quit (Quit: swatted to death). 23:48:34 elliott, that makes my head spin 23:48:36 Vorpal: See http://blog.n-sch.de/2010/11/27/fun-with-monad-comprehensions/. 23:48:42 It explains it nicely. 23:48:44 "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 Hrmm... 23:49:19 pikhq: You, Only Person Who Will Use Kitten Who Isn't Me! 23:49:40 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 pikhq: And they have a lot of "why is that in there?" symbols. 23:49:56 wow 23:50:09 Vorpal: ? 23:50:18 read part of that link 23:50:32 Ah. 23:50:38 pikhq: Oh, and I'm not quite sure dietlibc does locales... but anyway. 23:51:50 elliott, ugh if it doesn't 23:52:18 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 Vorpal: I just don't want to settle for the second-best libc. :p 23:52:47 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 elliott, well one lacking locales surely can't be the best :P 23:53:06 -!- augur has joined. 23:53:29 elliott, on MC? 23:53:41 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 elliott, I just logged on 23:54:08 will be on for a few minutes at least 23:55:43 Coming on. 23:56:32 elliott: Okay, maybe a US English-only system would be tolerable. 23:56:45 elliott: Because dietlibc is just so insanely small. 23:58:37 pikhq: It might support locales, I don't know. I might be able to patch in locale support./ 23:58:47 Probably doesn't. 23:58:48 pikhq: But really I'm just not sure; uClibc definitely has wider support. 23:58:50 That would be code size. 23:59:28 elliott: Downside to trying to have uclibc and dietlibc both: you will need a seperate lib dir for each. 23:59:49 As they are entirely seperate ABIs. 2010-12-03: 00:00:23 (see, this sort of thing is what makes the multiple-ABI directory layout thing not a terrible idea!) 00:00:45 pikhq: /lib/{libc.a,crt*.o} is main libc; /lib/otherlibname/* is the other one. :p 00:01:42 elliott: Well, that actually does work for static linking... *shrug* 00:01:50 pikhq: (I suppose I don't want to build every lib twice, though, against a different libc...) 00:02:09 Only the libraries that'll actually work against dietlibc. 00:02:17 Which is *not* going to be universal. 00:02:33 Or even incredibly common. 00:03:02 pikhq: That's what makes me want to use uClibc. 00:03:13 pikhq: But man, nm -a a uClibc'd executable some time. Bloooooat. 00:32:25 elliott, down? 00:32:39 Perhaps. :P 00:32:39 elliott, the next torch is close to me, there is a chest a bit further along 00:32:50 Ah. 00:33:58 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 pikhq: ping 00:41:19 elliott: Gnip 00:41:36 elliott: I'm sad that live-action doesn't compress as well as animation. 00:41:54 pikhq: Clearly we should all become animated. 00:41:57 Clearly. 00:44:03 Why, I have to resort to 256 kbps to get tolerable 240p! 00:44:06 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 i.e. filename based? 00:44:58 The path is builtin to the compiler. 00:45:09 pikhq: So, path-based. 00:45:10 GCC at least has the courtesy to stick it in the spec file. 00:45:26 pikhq: How would one go about making a typical (non-gcc) compiler assume it's statically compiling always? 00:45:28 i.e. implicit -static. 00:45:37 Uuuuh. I dunno. 00:45:44 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 pikhq: pcc, so it's probably not configurable without patching :P 00:48:20 * Copyright(C) Caldera International Inc. 2001-2002. All rights reserved. 00:48:25 pikhq: Gotta love any piece of code that starts with that. 00:48:32 * This file should be rewritten readable. 00:48:34 And then has that. 00:48:41 ... Whaaa? 00:48:47 pikhq: It's pcc. 00:48:51 pikhq: pcc has... a LOT of authors. 00:49:05 pikhq: Caldera happens to be one of them and they stuck that copyright there :P 00:49:28 pikhq: ...come to think of it thought, pcc wasn't being maintained then. Whut? 00:49:30 Well, yes. It's got a shaggy dog story about as crazy as your typical genetic UNIX. 00:49:40 if (strcmp(argv[i], "-static") == 0) { 00:49:40 Bstatic = 1; 00:50:02 #ifdef DYNLINKER 00:50:07 Nice, I can theoretically disable that :P 00:50:20 TODO: figure all that out. 00:50:26 pikhq: So, what's your vote for main libc. uClibc or dietlibc? 00:52:09 uClibc, I guess. 00:52:40 pikhq: Okay! The people have spoken, and they choose MEDIOCRITY! 00:53:58 XD 00:59:46 pikhq: The worst thing about all of this is the kernel configuration. 00:59:59 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 (At least starting from the stock kernel.) 01:04:20 Hmm. I didn't need to scale that Sintel trailer down to 240p; it turns out fine at 480p. 01:05:02 SD VIDEO STREAMING VIA ISDN. 01:11:10 pikhq: I eagerly await "NES live game streaming over telegraph" 01:12:04 elliott: XD 01:17:43 night 01:19:26 -!- Sasha2 has quit (Ping timeout: 245 seconds). 01:24:32 -!- Sasha has joined. 01:29:32 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 Huh. Microsoft has started funding Hercules. 01:45:47 The IBM mainframe emulator. 01:45:58 Why? Beats me. 01:48:07 Newspeak makes me feel like I can contribute to it 01:48:13 I like that feeling 01:50:46 pikhq: If it runs on Windows and they suspect people will want it, that's customers. 01:54:05 Well, it does run on Windows. 01:59:54 Why is newspeaklanguage.org down? :(:( 02:07:22 Sgeo: You know what's a good language...? 02:07:24 Sgeo: newLISP. 02:11:20 I like dynamic scoping.. but dynamic scoping by default? 02:11:59 Sgeo: Hey, original LISP had it that way! 02:15:25 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 elliot: Needs more cowbell. 02:24:40 Can someone please tell me WHY elliott is trying to push me from Newspeak? 02:25:31 Sgeo: Because all is koneko. 02:25:43 ??? 02:26:00 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 Sigh... IPv4 addresses are running out and the replacement is quite a Charlie Foxtrot... :-/ 02:54:45 Well, at least it has major "last mile" issues, and major routing issues. 03:03:06 last mile issues? 03:04:19 Both of them are not inherent faults in IPv6, but rather faults in meatware. 03:04:35 -!- Mathnerd314 has joined. 03:04:46 You fucking *idiots*, IPv4 is *basically over*. Get that through your fucking skulls. 03:06:14 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 This has been cursing-filled rants from pikhq. 03:06:50 you fucking apes. 03:12:56 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 ? 03:18:39 Sgeo: Try "critically injure all businesses". 03:19:14 New ones? How often do current businesses need new IPs? 03:19:44 Uh, every time they get new computers that should be publicly accessible. 03:19:56 Imagine a world in which all Internet services cannot grow. 03:20:19 o.O 03:21:00 It's still temporary. Unless the economic impact causes irreversible damage to society or something 03:21:12 It's still pretty bad shit. 03:21:33 Because everyone is absolutely, positively *unprepared*. 03:21:53 This is going to sneak up and surprise everyone. 03:22:13 We should get the media involved somehow 03:22:20 "We can't add that new server." "Why not?" "The Internet is full." 03:23:19 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 Sgeo: The only way to get the media aware is for IANA to announce the end of allocations. 03:24:04 Which is when the shit hits the fan. 03:24:14 You don't think the media is interested in "In all liklihood, the Internet fills up around this time"? 03:24:55 I don't think you realise just how soon IPv4 depletion is. 03:25:19 Pessimistic estimates give us until March. 03:26:26 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 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 pikhq, but surely, the sooner the better? 03:26:50 -!- augur has joined. 03:26:59 Less time of economic turmoil? 03:27:13 People still have their heads in the sand. 03:27:30 Again: The media might help fix that 03:27:43 The media? 03:28:05 Those morons are too focused on Justin Beiber to report on anything of merit. 03:29:00 I thought they love doom and gloom predictions... or make fun of them blah 03:29:34 They also have the intelligence of a gold fish. 03:29:52 Remember: Glenn Beck is taken seriously. 03:29:52 If IPv4 was a household object that can cause 1 in 6 billion people to die, then they'd care 03:30:00 Remember: Glenn Beck is taken seriously. 03:30:12 * Sgeo has never seen Glenn Beck 03:39:22 Take a completely crazy right-wing conspiracy theorist. 03:39:31 Now give him a radio program and a TV show. 03:39:35 That's Glenn Beck. 03:40:29 By "crazy" I don't mean "has some really bizarrely fascist opinions". I mean "is literally schizophrenic". 03:42:54 Why are people so ridiculously short-sighted w.r.t. what constitutes "life"? 03:43:33 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 So when we find something really exotic, we just expand our search from Space Earth to Space Almost-Earth. Yeehaw. 03:45:29 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 Aside from "happens to be sending us a treatise on classical mechanics". 03:45:55 Sadly, no planets meet *that* criteria. 03:46:15 Criterion. 03:46:57 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 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 That is, it's "things we can get to" if you opt for a generation ship. 03:49:15 (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 Pessimistic estimates of IANA depletion are *this year*. 04:09:18 And those "March" estimates are of optimistic category. 04:10:55 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 (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 #esoteric: Home of those watching the IPv4 apocalypse helplessly 04:25:46 I got my Dinosaur Comics neckties! 8-D 04:26:18 #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 http://www.youtube.com/watch?v=_y36fG2Oba0 04:31:20 I think that's assuming that people actually got to IPv6 in a sensible way :/ 04:31:49 Oh, no it isn't 04:32:22 It incorrectly talks about TCP thugh 04:32:37 Er, wait no 04:33:14 -!- augur has quit (Remote host closed the connection). 04:42:33 If we couldn't respond sensibly to IPv4 depletion, despite having a perfect solution in hand for years 04:42:38 We knew the problem was solvable 04:42:47 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 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 Oh, there are the "converging catastrophes" and Global Warming is just one of them... 05:15:43 pikhq: Hence "reactively" :P 05:15:59 (Pronounced "reek-tively") 05:16:47 And the worst is when predictors of disaster (that will later come to pass) are ridiculed for forecasting ridiculous things... 05:17:38 I'm genuinely surprised that we actually bothered to handle Y2K ahead of time. 05:18:09 And that took spelunking into some of the nastiest code bases out there. 05:20:07 Maybe the media helped a bit? =P 05:20:24 Perhaps because media took upon really drumming on it? 05:20:36 (Doom... Doom... Doom...) 05:21:21 Doom interests the media. I still want to get the media to pay attention to IPv4 depletion 05:22:12 Even if it doesn't help stop the crisis, at least the situation will be helped at least a little 05:22:29 It might go a bit faster, businesses might be more prepared to withstand it 05:24:43 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 Can we, #esoteric, speak to the media? 05:25:43 -!- Sgeo has left (?). 05:25:48 -!- Sgeo has joined. 05:25:55 Or pressure some group into doing so? 05:27:41 Best case would be avoiding RIR depletions entierely (because of insufficient demand to deplete RIRs)... 05:28:17 But that's incredibly optimistic... 05:29:12 IANA would still be depleted (essentially nothing can stop that now). 05:30:58 Remember, APNIC could justify allocation at any momemnt. And they might have to in just couple weeks... 05:33:35 And now there's talk about RIR depletion estimates being too optimistic by several months... 05:34:27 You know what? 05:34:44 Soonish, I'm going to write something, ask #esoteric to proof it, then send it somewhere 05:36:10 It gets terrifying when the most pessimistic model is the reality... 05:37:04 Okay, lagerholm depletion model was the more pessimistic one... But now it seems hopelessly optimistic... 05:37:18 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 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 /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 æøå 10:40:54 !haskell "æ" 10:41:13 æ 10:42:29 -!- FireFly|n900 has joined. 10:42:32 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 !help 10:42:50 help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 10:42:55 !haskell "æ" 10:42:58 "\195\166" 10:43:31 æ 10:43:36 !haskell putStrLn "\195" 10:43:39 10:43:47 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 xkcd XD 11:17:00 oerjan, heh 11:20:29 oerjan, and I noticed the pirate theme of IWC is getting extremely absurd 11:20:34 more than average for iwc that is 11:24:26 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 time to buy minecraft 12:47:40 -!- FireFly|n900 has quit (Ping timeout: 255 seconds). 12:49:10 I read that as Microsoft 12:49:14 Let's go buy Microsoft 12:53:00 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 Gregor: gcc just ate up your least favourite language. 13:38:28 -!- elliott_ has quit (Ping timeout: 265 seconds). 13:46:43 Gregor, what's your least favourite language? 13:48:29 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 http://esolangs.org/wiki/Talk:INTERCAL#INTERCAL_is_not_Compiler_Language_With_No_Pronouncable_Acronym 14:20:55 ____ ___ __ ___ _ _ _____ 14:20:55 ___| / _ \ \ \ / / | | | / \|_ _| 14:20:55 \___ \| | | | \ \ /\ / /| |_| | / _ \ | | 14:20:55 ___) | |_| | \ V V / | _ |/ ___ \| | 14:20:55 |____/ \___/ \_/\_/ |_| |_/_/ \_\_| 14:21:44 wtf happened to the two first lines 14:22:20 oh duh the second line starts with / :D 14:23:28 do better next time 14:24:12 your second "O" in WHOOSH could be better too 14:24:17 ____ ___ __ ___ _ _ _____ 14:24:17 / ___| / _ \ \ \ / / | | | / \|_ _| 14:24:17 \___ \| | | | \ \ / /\ / /| |_| | / _ \ | | 14:24:17 ___) | |_| | \ V V / / | _ |/ ___ \| | 14:24:17 |____/ / \___/ \_/\_/ |_| |_/_/ \_\_| 14:24:24 GAH! 14:24:40 sed failure. oh missing the ^ :D 14:24:57 ____ ___ __ ___ _ _ _____ 14:24:57 / ___| / _ \ \ \ / / | | | / \|_ _| 14:24:57 \___ \| | | | \ \ /\ / /| |_| | / _ \ | | 14:24:57 ___) | |_| | \ V V / | _ |/ ___ \| | 14:24:57 |____/ \___/ \_/\_/ |_| |_/_/ \_\_| 14:25:29 you should have saved it for when it made sense to the conversation at hand 14:25:34 quintopia: it's just figlet generated 14:25:53 fix the figlet 14:27:57 the second O is just kerned with the S 14:28:27 yes 14:28:33 and it shouldn't be 14:28:38 because it makes it look bad 14:28:55 ____ ___ __ ___ _ _ _____ 14:28:55 / ___| / _ \ \ \ / / | | | / \|_ _| 14:28:55 \___ \| | | | \ \ /\ / /| |_| | / _ \ | | 14:28:55 ___) | |_| | \ V V / | _ |/ ___ \| | 14:28:55 |____/ \___/ \_/\_/ |_| |_/_/ \_\_| 14:29:47 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 because the subpixel message generator is ridiculously hyper-saturated on purpose... 14:31:10 duh 14:31:29 compare http://www.grc.com/image/cttech2.gif 14:31:45 ah yes 14:31:53 i can see the subpixels quite easily inn that message 14:32:18 say something in magenta 14:32:38 magenta delenda est 14:32:39 there's no colours in this channel. 14:32:52 oh right 14:33:06 but okay 14:33:07 -!- nopseudoidea has joined. 14:33:10 function feedthebear (enum[bear] whichone, enum[food] bearfood) 14:33:10 begin 14:33:10 bool fed;//if all goes well... 14:33:10 whichone[call] (); 14:33:10 try{ 14:33:11 whichone[eat] (bearfood); 14:33:13 throw (whichone[eat](armp));//armp is a global indicating 14:33:15 }//zookeeper's arm 14:33:17 14:33:19 return (fed=TRUE); 14:33:21 end; 14:33:23 (Am I part of the curse now too?) 14:33:35 what's a magenter? 14:34:18 zook the eeper 14:35:06 pikhq: please tell me why xorg is split into 3489573457839445 tarballs 14:35:42 i can see the subpixels a little bit in normal magenta text. i feel better. 14:37:02 aargh, not all of Magenta is on reocities 14:41:34 -!- FireFly has quit (Quit: swatted to death). 14:42:55 pikhq: Will you have me if I just package xorg as one gigantic package containing everything? 14:42:56 *hate 14:43:38 -!- FireFly has joined. 14:44:27 # Re-run the last command until a build succeeds. 14:44:30 that is so, so reassuring 14:45:45 "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 Gregor: http://codu.org/imgs/dinosaurComic.php?panels=0,1,5&comics=1544,911,527&strip i made a terrible 15:15:05 hi ais523 15:15:43 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 hi 15:19:35 ho 15:19:45 elliott: Because they decided to split it into multiple packages, and did it *far* too fine-grained. 15:20:04 pikhq: yeah and now i am discovering the joy of their build system 15:20:11 (seriously, a package for a *subdirectory* of headers‽) 15:20:20 pikhq: it depends on programs written in c++ 15:20:22 yaaaaaaay. 15:20:39 pikhq: anyway there's only going to be one single xorg package in Kitten because to hell with splitting this up 15:20:59 pikhq: but um this is kind of painful you should do the xorg package :P 15:21:18 oh no, it is disregard my cflags and -O2 instead of -Os, this is the sad 15:21:26 sad day 15:21:26 -!- sftp has joined. 15:21:31 and it may in fact be building git xorg instead of 7.5 15:21:33 which would be bad 15:24:12 elliott: Look at what Gentoo does for the xorg package for inspiration. 15:24:34 (should be fairly easy to grok; Portage runs on simple shell scripts.) 15:25:18 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 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 pikhq: BUT BUT BUT not only is this patch CFS-specific, but it uses cgroups! BFS explicitly does not have cgroups! 15:25:50 Thus a DILEMMA! Enhanced desktop performance OR-- enhanced desktop performance?? 15:25:54 ;____; 15:27:32 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 ais523: it's summarised in http://marc.info/?l=linux-kernel&m=128978361700898&w=2 15:28:04 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 ais523: basically it automatically creates cgroups -- not very smartly at the moment, but -- 15:28:09 right 15:28:17 but "supposedly" it's going to be enhanced further 15:28:32 ais523: I suppose it does seem a bit niche, but -- I mean -- I do often get sluggishness when compiling stuff. 15:28:34 And that's rather irritating. 15:28:50 OTOH, it means using CFS, whereas BFS improves desktop performance in, like, every other case. 15:28:54 well, I compile at -j1 15:29:33 ais523: Mind you, I am going to be compiling stuff a *lot*, thanks to all the Kitten packages :) 15:29:42 But yeah, BFS is probably better overall. 15:29:59 hmm, according to Slashdot, there's now a mobile phone plan with a 21Mbps speed and a 5GB per month cap 15:30:12 conclusion: you can only use it for around half an hour per month 15:30:53 ha 15:31:09 -!- yorick has quit (Remote host closed the connection). 15:31:13 pikhq: Does such a thing as NON-modular Xorg still exist? 15:31:41 elliott: Wayland! 15:31:42 * ais523 runs 15:32:08 elliott: Not any more. 15:32:22 ais523: I'm pretty sure the only way to get X running on Wayland is to use Xorg :P 15:32:25 or something 15:32:28 pikhq: ;_; 15:32:40 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 elliott: 5 years. 15:33:29 (X11R6.9) 15:33:41 pikhq: i think that is totally practical and i should use it, don't you totally agree??? 15:33:53 :P 15:34:04 elliott: How do you feel about autoconfiguration? 15:34:28 pikhq: well since I don't have udev or HAL I don't think I can have that anyway 15:34:36 driver support is a rather bigger issue :P 15:34:39 Mdev? 15:35:14 Anyways, it should have 2D acceleration about as good as right now. 15:35:40 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 pikhq: mdev is vaguely compelling, but it's still udev. But you know what? devfs is back in the kernel. Seriously. 15:36:10 pikhq: They snuck it in -- newly-implemented -- under the pretence of being a temporary devfs for initramfses before udev is started. 15:36:18 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 pikhq: ...so yeah, I was pretty much just going to use that. 15:38:39 wrt mdev, there's also http://code.google.com/p/hotplug2/ 15:39:13 pikhq: All these things aren't very useful when you don't have modules in your kernel, of course. 15:39:30 So devfs is A Bad Thing? 15:39:55 Phantom_Hoover: No, devfs is A Good Thing. 15:40:10 Is udev A Bad Thing, then? 15:40:37 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 udev isn't necessarily terrible. It has some valid usecases. 15:40:48 But it's really overblown. 15:45:45 elliott: What was the 08:33 < elliott_> Gregor: gcc just ate up your least favourite language. 15:45:50 coppro: Go. 15:45:54 elliott: ate up? 15:45:55 coppro: gccgo is being merged into gcc. 15:46:00 elliott: oh 15:46:01 :( 15:46:14 coppro: Dude, it also has Fortran and Objective-C. 15:46:17 It's not exactly an endorsement. 15:46:19 And Ada. 15:46:29 And Java 15:46:32 And C++ 15:46:33 And C :P 15:46:59 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 And with rather bad marketing materials. 15:47:36 Nobody uses gccgo anyway, the Plan 9-style compilers are far better :P 15:47:37 elliott: what's this about a niche? 15:47:59 coppro: systems server programming. nothing else. 15:48:06 more or less 15:51:04 elliott: *Issue 9 15:51:16 ais523: no, that issue was the stupidest thing ever 15:51:33 indeed 15:51:45 can't you call it Issue 9 just because the name "Go" is stupid. though? 15:51:48 s/./,/ 15:51:57 umm, s/,/c/ 15:52:00 s/\./,/ 15:52:00 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 (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 elliott: I don't think there was trademark infringement 15:52:26 ais523: how's the name Go stupid, it's just... not an interesting name 15:52:43 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 ais523: Even WITH context; it's too general of a word. 15:54:06 Gregor: isn't it THIS IS SOMEWHAT SPARTA 15:54:06 s/go/face/ 15:54:18 s/word/face/ 15:54:23 Your face is way too general. 15:54:41 elliott: Yes, but WE are somewhat sparta. 15:54:50 elliott: Also, no. 15:54:52 Your face is somewhat sparta. 15:54:54 elliott: It's "I AM SOMEWHAT SPARTA" 15:55:02 Ah. 15:57:01 pikhq: ouch, i just realised something about busybox 15:57:19 Somebody needs to invent descenders; like suspenders, but worn under your pants and keeps your shirt perfectly tucked. 15:57:40 No they don't. 15:59:00 Gregor: I love that concept 15:59:59 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 Picard... Maneuver. 16:01:20 elliott: ? 16:01:35 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 But, yeah, udev's only failing is that it's a bit overkill. 16:03:14 Which compared to some of the other odd shit done with /dev, makes it genuinely nice. :P 16:03:41 (devfs's organization scheme is, well, WTF.) 16:04:14 pikhq: Yeah, but fuck them for not accepting mini-devfs before udev came along. 16:04:20 elliott: In TNG, Patrick Stewart adjusted his shirt whenever he stood up; that adjusting is the Picard Maneuver :P 16:04:45 Gregor: So is http://memory-alpha.org/wiki/Picard_Maneuver the spaceship analogue to adjusting your shirt? 16:04:49 Say yes. 16:04:54 elliott: Let's go with yes. 16:04:58 And oh god why hasn't Memory Alpha switched from Wikia. 16:05:01 very fast adjustment 16:05:01 elliott: However, that name is actually just the source of the JOKE :P 16:05:07 Whyyyyyyyyyyyyyyyyy. 16:05:13 Gregor: THERE IS NO JOKE ONLY FACTUALS 16:05:24 "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 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 STARFLEET IS A PARAGON OF PERFECT EXCELLENCY IN OUR FUTURE UTOPIA WHERE NOTHING EVER GOES WRONG EVER 16:07:33 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 It says it drops permissions if it doesn't need them, but uh....... 16:08:04 Selected by: LOGIN || PASSWD || SU || VLOCK || IPCRM || IPCS && PLATFORM_LINUX || CRONTAB 16:08:12 TODO: Disable those, disable suid/sgid handling, build separate "busybox-suid". 16:10:37 │ │(1024) Maximum length of input (NEW) │ │ 16:10:38 lol 16:15:58 Gregor, soo, is Go your most hated language? 16:17:05 -!- nopseudoidea has quit (Quit: Quitte). 16:18:45 pikhq: BusyBox doesn't compile with dietlibc, using pcc or gcc. For fuck's sake. 16:39:44 http://abstrusegoose.com/323 16:41:22 lawl 16:45:14 Sgeo will still be useful in the 24th century. 16:45:20 What a terrifying thought. 16:52:47 -!- nopseudoidea has joined. 17:07:27 elliott, when will I get my specs??? 17:07:37 Phantom_Hoover: wut? oh right 17:07:46 Phantom_Hoover: uh, what was your budget again :P 17:07:48 Punctuation is a poor replacement for the full range of intonation. 17:07:56 also i refuse to do it unless the first os you install on it is kitten 17:08:00 elliott, £800 was the absolute upper bound. 17:08:24 OK, I'll be the flagship Kitten user. 17:09:38 Phantom_Hoover: You crazy. 17:09:54 elliott, of course! 17:10:04 Phantom_Hoover: (Note that the installation procedure involves an Ubuntu CD and a lot of manual installation :P) 17:10:23 elliott, can I install Debian first? 17:10:41 Phantom_Hoover: I said first OS! My demands are NON-NEGOTIABLE except under EXTREME circumstances. 17:10:52 Phantom_Hoover: (If you only use Debian to install Kitten that is okay.) 17:10:57 OK. 17:11:02 I shall do that. 17:11:29 Phantom_Hoover: I don't actually intend to force you to use Kitten :P 17:11:41 elliott, suuuuuure. 17:12:18 You know, the suffix "-matic" is underused in hardware names. 17:13:03 It would give everything a nice Wallace and Gromit-y feel. 17:13:13 crunchomatic 17:13:40 Processomatic. 17:13:49 Memory-o-mat. 17:15:12 Diskifier. 17:17:05 "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 "The join server page now remembers the port as well as the ip", so it's not all bad. 17:18:35 fizzie: Yeah, he said he'd add that but seriously fuck that. 17:18:41 fizzie: Got lost? HAHA FUCK YOU YOU GET TO LOSE ALL YOUR ITEMS 17:19:11 "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 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 Phantom_Hoover: Athlon II X4, quad core, 3 GHz, £74.78 y/n 17:26:22 elliott, I'm not employing you to give me decisions to make! 17:26:36 Phantom_Hoover: Oh yes you are! 17:26:58 elliott, I can't make decisions! I'm the president! 17:27:02 * oerjan vehemently agrees with Phantom_Hoover on principle 17:27:12 20:21:42 /home/elliott/kitten/stage3/include/dietref.h:-21: error: __PCC__ redefined 17:27:12 20:21:43 previous define: x.c:-21 17:27:16 having this problem again :DDD 17:28:42 elliott, more serious reason: for all I know, an Athlon II [... 17:28:51 *] could be a block of cheese. 17:29:10 Phantom_Hoover: It is. 17:29:37 elliott, Is it a good block of cheese for processing? 17:30:23 Yes. 17:30:40 Then it can go on the list. 17:32:24 elliott, also, what kind of cheese? 17:32:53 Phantom_Hoover: Athlon. 17:33:07 Not one I've heard of. 17:33:22 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 Yes, this pushes it into thought experiment, but I don't really care. 17:34:12 -!- oerjan has quit (Quit: leaving). 17:34:36 Phantom_Hoover: Eh? 17:34:50 elliott, CRAZY, REMEMBER 17:35:09 Phantom_Hoover: I am experiencing rapidly increasing doubts that I am using my time in a worthwhile manner :P 17:35:18 SO AM I 17:37:28 PERHAPS THIS IDEA WAS NOT THE BEST 17:39:27 That is because the best idea is objectively making a ladder to the moon out of sausages. 17:42:17 elliott, hm what are you doing then? 17:42:24 (kitten or mc?) 17:43:03 Vorpal: Neither! 17:43:08 elliott, oh? 17:43:31 elliott, so what is it that you doubt is a worthwhile use of your time? 17:43:43 Long story :P 17:43:49 Hey, renicing Xorg to -8 is great. 17:43:58 elliott, uh uh 17:44:08 It totally is. 17:44:29 elliott, your system must be very heavily loaded with something else then? 17:44:42 I just tried this -j64 thing, since it's so popular. :p 17:44:59 elliott, ah. well that sounds silly 17:45:11 Absolutely. 17:45:32 elliott, also depending on what compiler you use: it will probably be swap trashing 17:45:38 in which case nice -8 won't help that much 17:46:02 It wasn't. 17:46:10 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 hah, this miscompiles on gcc on lucid at -O2 or higher. Works fine on later gcc versions. 17:58:35 and yes, I need -O2 or higher, the difference is about 3x speedup 17:58:36 Vorpal: define this 17:58:46 Vorpal: also, tried -Os? :p 17:58:47 elliott, cython program 17:58:55 elliott, and no I haven't, willl 17:58:58 will* 17:59:25 elliott, -Os also broken 17:59:28 Vorpal: (tried statically linking with dietlibc at -Os? that'll be even smaller) 17:59:32 I meant as far as speed goes 17:59:38 -!- ais523 has joined. 17:59:38 elliott, doesn't help since it miscompiles :P 17:59:44 so use a newer gcc 17:59:45 :p 17:59:52 elliott, also I go for speed here, not size 18:00:04 Vorpal: -Os is often fastest 18:00:06 due to fitting in cache better 18:00:19 what ais523 said 18:00:24 not always, though 18:00:25 ais523, I tried that now. But this is numerical-intensive and seems to benefit from loop unrolling 18:00:34 Vorpal: that's also why i said dietlibc; it doesn't help if glibc is huge 18:00:35 erm 18:00:37 Vorpal: that's also why i said dietlibc; it doesn't help if your libc is huge 18:01:09 elliott, also it is long running, so loading time for libc is not important, if large parts are unused: so what 18:01:30 Vorpal: i don't think you understand cache 18:01:37 elliott, anyway -O3 is about 2x faster than -Os 18:01:40 also, *individual routines* in glibc are huge 18:01:41 elliott, I just checked 18:01:42 Vorpal: on glibc, perhaps. 18:01:53 Currently defined functions: 18:01:54 passwd, ping, ping6, su 18:01:55 smallest busybox evar 18:02:37 elliott, also python doesn't support static linking. I checked. At least if you use tkinter. 18:02:47 you use tkinter? 18:02:56 elliott, in one mode yes 18:02:59 elliott, since it is a game AI 18:03:15 I need to visualise that. 18:03:18 Vorpal: another reason you can't use kitten, then! 18:03:42 elliott, in fact it doesn't work if you use any sort of extension module in C 18:04:01 elliott, you are restricted to core python + pure python extensions 18:04:04 have fun 18:04:09 no numpy I think for example 18:04:43 -!- Phantom_Hoover has joined. 18:04:43 Vorpal: um, or i could just build those in. 18:04:53 duh 18:05:07 elliott, and do you know what I had to add to fix unresolved symbols when linking against libpython2.7.a? 18:05:35 no, i'm not psychic 18:05:44 -rwxr-xr-x 1 elliott elliott 1.6M Dec 3 17:54 busybox 18:05:44 -rwxr-xr-x 1 elliott elliott 770K Dec 3 18:03 busybox-suid 18:05:48 now if only they built against non-gcc/glibc 18:05:52 well, also /uClibc 18:05:59 elliott, -lm -lz -lssl -lcrypto -ldl (!) -lutil -lpthreads 18:06:11 Vorpal: i can patch, you know. 18:06:25 elliott, sure. But it will be a lot of work 18:06:30 not really 18:06:34 most things aren't as stupid as python 18:06:46 elliott, well for python, perl and other similar languages 18:06:58 true, not for most C programs 18:07:00 and ruby, say 18:07:01 ok, 3 programs 18:07:04 think i can handle that. 18:07:08 elliott, yeah probably ruby too 18:07:29 what is the goal of kitten again? 18:08:00 elliott, lua is probably somewhat "saner" (for some values of "saner") due to it's more limited scope 18:08:13 quintopia: to not irritate the fuck out of me 18:08:16 that's about it 18:08:35 elliott: and you're doing that by avoiding glibc? 18:08:47 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 hm 18:08:59 quintopia: avoiding gcc, glibc, dynamic linking, gnu coreutils 18:09:11 and a few other things too, like initramfs. 18:09:15 and kernel modules. 18:09:16 and /usr. 18:09:34 elliott, you know that the kernel uses an initramfs always? But the default one doesn't do very much 18:09:49 it has one that basically does next to nothing by default built in iirc 18:09:56 Vorpal: well, you can disable the initramfs code outright 18:10:01 and it tries the olde-style "let's find a root partition!" boot. 18:10:08 hm 18:10:19 elliott: is kitten somewhat sparta? 18:10:41 quintopia: it is so sparta that anyone who types sparta into it gets instantly decapitated. 18:12:59 elliott: i am convinced. it is clearly the best distro ever invented. 18:13:35 also, everyone who bugs me about it gets a fake package server filled with rootkits 18:13:44 be afraid. be very afraid 18:14:01 quintopia: to not irritate the fuck out of me <-- i sense someone fighting windmills... 18:14:43 oerjan: hey, on the off-chance that they are giants... 18:15:00 oerjan++ 18:15:12 elliott, any good at reversi? 18:15:35 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 Vorpal: no good at it, but i like it 18:16:10 quintopia: do you object to someone making their own fortress without a single windmill in it if they like it better? 18:16:19 i do not 18:16:22 elliott, ah. Could you beet a greedy AI (one that just checks score after one move and goes for the best) 18:16:25 beat* 18:16:47 especially if the fortress contains a bottomless pit 18:16:50 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 and is surrounded by barbed wire and magical curses 18:16:59 Vorpal: no, but I can sure as hell try and fail to 18:17:12 quintopia: actually it's 128x128x128 and made out of glass. 18:17:22 LIKE MY HEART 18:17:24 ah yes 18:17:29 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 i will tunnel into your glass heart 18:17:42 and fill it with water 18:17:43 then you have a decent chance of beating such an AI 18:17:45 mwahahahaha 18:17:47 Vorpal: i have been beaten by a moron playing for the first time. 18:17:51 elliott, heh 18:18:25 elliott: try the positional heuristic. i hear it's surprisingly good for how simple it is. 18:18:58 Vorpal: i'm lost in the north! 18:19:09 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 note: ply = 7 needs cython. With pure python you are stuck at ply = 4 or so 18:20:23 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 quintopia, that would be cool 18:20:51 quintopia, but I think it is outside the scope of the assignment I wrote this for :P 18:21:05 Vorpal: it beats the positional heuristic 76% of the time! 18:21:14 and that's at 1-ply! 18:22:11 quintopia, someone made such an AI? 18:22:12 hm 18:22:28 quintopia, and I wonder how large the ANN is 18:22:42 (and how long it takes to evaluate) 18:23:44 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 Reversi/othello is a perennial... well, maybe not quite a favourite, but at least a recurring topic on the AI course. 18:24:25 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 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 and it's always in Lisp. the proper AI language. 18:27:00 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 yeah that's what isolation was for. mine got second place in the tournament. 18:27:58 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 lame 18:29:30 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 and it's always in Lisp. the proper AI language. 18:30:19 lisp was never designed for ai and its association with ai is largely accidental 18:30:32 but real 18:30:46 perhaps, but largely baseless. 18:30:48 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 lisp-likes (and other functional languages i suppose) have some nice properties for AI implementation 18:32:29 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 quintopia, "Isolation"? 18:34:21 fizzie, at least python is somewhat less painful than java 18:34:29 quintopia: lisp was rarely used functionally in ai 18:35:17 elliott: i used it functionally. what's wrong with other people? 18:35:29 quintopia: you're talking about people in the 50s, 60s, 70s here 18:35:32 LABELS was very common. 18:35:42 elliott: is there a language that doesn't suck but compiles to run as fast as C or fortran? 18:35:43 i doubt you would have been significantly more "enlightened" than them at the time 18:35:48 quintopia: um, haskell? 18:35:49 Vorpal: Isn't there some sort of Jython? We allow any JVM languages (though we only support Java), after all. 18:36:04 Yes, there's Jython. 18:37:27 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 fizzie, hm 18:38:14 fizzie, is that the usual one you show each year? 18:38:17 Not many have done !Java; I think two in the three or so years the Java framework's been there. 18:38:24 Yes, the same. 18:38:41 fizzie, also no Swedish version? Strange for .fi 18:38:53 Probably hasn't been requested 18:38:56 ah 18:39:03 They're legally obligated to provide one if somebody does request it 18:39:05 Vorpal: http://boardgamegeek.com/boardgame/1875/isolation this is the original 18:39:11 Deewiant, ah I see. 18:39:23 We're not that serious about the whole "second official language" business. :p 18:39:57 If you want, I can cause trouble by demanding it in Swedish 18:40:04 quintopia, that looks like it has a high branching factor 18:40:28 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 Deewiant, well, I don't see the point of doing that 18:40:39 Deewiant: I'm not sure whose problem it would become. Possible the responsible teacher. 18:40:57 Who'd delegate it to you, presumably 18:41:13 Vorpal: it's basically a solved game in its original form. probably second player win. branching factor is at most 8. 18:41:14 fizzie, what is your role in that course btw? 18:41:25 quintopia, oh? No worse. Hm 18:41:35 Do we even guarantee Swedish on all courses? I don't really think so. 18:42:27 I think you're supposed to, but nobody really cares 18:42:52 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 quintopia, hm reversi has something like 10 as the branching factor right? 18:43:20 max or average? 18:43:24 quintopia, average 18:43:35 quintopia, max must be quite a bit higher than that 18:43:36 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 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 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 Vorpal: the "queen motion" version of isolation has a huge branching factor though. like...more than 10 on average i think. 18:45:41 quintopia, how does queen motion apply to that game? 18:46:18 oh wait 18:46:22 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 you don't refer to the "fit queens on a board" problem 18:46:41 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 Hierarchy has on average somewhere around 50 valid moves, based on tournament statistics. 18:49:12 ah 18:50:11 niiiice 18:50:21 what is Go's branching factor? 18:51:05 quintopia, more than chess iirc 18:51:06 A lot more, I think. 18:51:13 indeed 18:51:30 hm how painful would a multi-core alpha-beta pruning algorithm be? 18:51:39 presumably you could just split it at the top node 18:51:40 -!- benuphoenix has joined. 18:51:42 hi 18:52:01 and to n child node at the same time (n being the number of CPU cores) 18:52:22 i accidently ordered something online and want to talk about it 18:52:32 http://www.amazon.com/Serve-Man-Cookbook-People/dp/1880448823 18:52:45 trying to cancel the order 18:53:00 are you sure you are in the right channel? 18:53:22 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 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 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 no it isn't :P 18:53:35 sorry 18:53:49 fizzie, arimaa? never heard of that one 18:54:08 fizzie, but I guess 2 ply is max there 18:54:12 or even 1 ply 18:54:14 Uh, it's been talked on this channel several times. 18:54:21 Due to the patentedness. 18:54:27 And weirdo license. 18:55:34 hm 18:56:34 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 that's weird, i thought i'd seen the nick benuphoenix here before 19:12:00 you have 19:12:04 he's a regular offtopicker 19:12:16 oh 19:13:05 pikhq: stop me from writing my own coreutils 19:13:53 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 argv is guaranteed to be null-terminated, right? 19:17:28 argv[argc] is guaranteed to be a null pointer 19:17:54 Right. 19:18:08 -!- cheater99 has joined. 19:18:11 Deewiant: And saying argv[argc] = ...; would be an abomination, yes? ;) 19:18:15 Oh god I'm horrible. 19:18:18 No, elliott, don't do that. 19:18:32 Why would you? :-P 19:18:39 Deewiant: To implement yes(1)! 19:18:48 argv[argc] || argv[argc] = "y"; 19:18:52 Erm. 19:18:54 *argv[1] 19:20:02 That or const char *s = argc ? argv[1] : "y" 19:20:12 Deewiant: That's whole BYTES more. 19:20:21 How many? 19:20:46 One woulf think it just ends up in a register. 19:20:58 *argv++||*argv="y"; 19:20:58 char*s=argc?argv[1]:"y"; 19:20:59 SEE??? 19:21:08 A whole FIVE bytes shorter!!!!!!!!!! 19:21:11 elliott: You have to use it later on 19:21:22 *argv versus s 19:21:22 -!- evincar has joined. 19:21:32 Deewiant: Well then, let's GOLF. 19:21:36 :-P 19:21:39 (You must use write(2), not stdio.) 19:21:56 It doesn't have to be called argv, at least. 19:22:01 Hay guaiẓ. 19:22:07 z with a dot 19:22:23 I fail at typing. 19:22:25 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 Deewiant: Bring it on. 19:22:47 Deewiant: BTW, you don't need "char*s", you can reuse v. 19:23:00 (Assuming that sizeof(char *) == sizeof(char **).) 19:23:27 *v++||*v="y" 19:23:27 v=c?v[1]:"y"; 19:23:29 Same length :P 19:23:59 elliott: char* and char** are guaranteed to be the same length because they're both pointers to POD, I think. 19:24:01 I'd think the *v++ part there is always true, since it tests for argv[0]. Maybe *++v? 19:24:13 fizzie: Right, yes, that. 19:24:14 Same length. 19:24:15 main(c,v){while(1)write(1,c>1?v[1]:"y",c>1?strlen(v):1),write(1,"\n",1);} 19:24:24 And pointers to data certainly don't need to have same size. 19:24:28 Deewiant: Not valid C89. 19:24:46 I think implicit int arguments are OK in C89 though. 19:24:46 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 You forgot int at the start. 19:24:57 No need 19:24:58 That's not implicit in C89. 19:25:02 No, no need only in C99. 19:25:02 You sure? 19:25:05 Yes. 19:25:08 100% 19:25:15 You also need return 0 at the end, of course. 19:25:16 I'll check anyway 19:25:22 return 0 is incorrect, you know 19:25:26 write can fail 19:25:37 At least on some Crays sizeof(char *) > sizeof(int *). 19:25:38 Deewiant: Who says that programs have to return error exit status on failure? 19:25:43 I do :-P 19:25:48 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 Deewiant: yes has to stop writing when it can't write no' mo', and exit successfully. 19:26:05 Oh, of course 19:26:12 -!- EgoBot has joined. 19:26:14 So, in fact, yes should always return 0. 19:27:14 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 Good luck beating that :P 19:27:29 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 Two bytes, I think 19:27:40 Is "(c,char**v)" kosher? 19:27:43 Not sure 19:27:58 Darn, I almost considered exit(0) but that leaves main trailing off the end 19:28:01 Is that valid C89? 19:28:03 v= isn't 19:28:08 Why not? 19:28:20 Anyhow, "for(;;);" is one char shorter than "while(1);". 19:28:21 What about c=? :P 19:28:24 With char**v you can't assign char* to it 19:28:28 fizzie: We've abandoned while(1). 19:28:35 Deewiant: Can you assign (char *) to int? 19:28:41 I see. I was up in the backscroll. 19:28:46 If so, 19:28:47 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 I'm not sure 19:29:06 You also have to have int -> char* for that to work 19:29:09 !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 Does not compile. 19:29:16 Useful error, that 19:29:17 Not portably, int might not be big enough. 19:29:20 !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 In any case it needs a cast. 19:29:28 fizzie: write(2) isn't portable anyway 19:29:43 Deewiant: Probably running, but you'd only get the response when it (doesn't) finish or in 30 seconds :P 19:29:56 Yes, but stuffing pointers into ints is less portable than write(2). 19:30:01 Deewiant: int main(c,char**v){return execv("yes",v);} 19:30:02 Deewiant: I win. 19:30:03 Arguable 19:30:11 elliott: Even less portable :-P 19:30:21 Deewiant: It's portable to all POSIX systems. :p 19:30:26 Why are we not omitting "int" before "main"? 19:30:29 Deewiant: Good enough for cfunge! 19:30:32 And I'm more sure that c,char**v isn't portable 19:30:33 evincar: Not valid C89, only C99. 19:30:45 elliott: cfunge isn't portable, it doesn't even run on Windows :-P 19:30:50 elliott: I thought implicit int return type was older. 19:30:56 It is older 19:31:20 Well, I'm getting owned in this conversation. 19:31:28 Why are we golfing a "yes" implementation, anyway? 19:31:30 elliott: Implicit int is invalid C99 19:32:06 Deewiant: Not for main 19:32:10 Deewiant: Main is a special case. 19:32:12 (Not joking.) 19:32:20 evincar: BECAUSE 19:32:20 Where does it say that 19:32:35 -!- Phantom_Hoover has joined. 19:32:42 elliott: Implicit return 0 is a special case, you sure you're not confusing it with that? 19:32:49 Deewiant: Oh, seemingly. 19:33:15 Deewiant: Anywho, int main(c,v)char**v;{return execv("yes",v);} is both POSIXly correct and perfect :P 19:33:30 So I need a name for my most recent language design. 19:34:05 I was thinking something to do with light, like Enlight or similar, but I'm uncertain. My roommate suggested Spectrum. 19:34:06 !c printf("Forbleborble") 19:34:26 Gee, it was so responsive five minutes ago >_> 19:34:28 elliott: Is it guaranteed in POSIX that that stuff is in PATH or just that it exists? 19:34:33 Forbleborble 19:35:35 Deewiant: Good point. 19:35:51 int main(c,v)char**v;{return execvp("/usr/bin/yes",v);} 19:35:55 I think the locations are specified... maybe. 19:36:02 evincar: ZX 19:36:13 elliott: Haw haw haw. 19:36:33 YOU MOCK ME 19:36:41 Alternatively, "Spectre", though I think that's already taken. 19:36:49 And I wanted light, not ghosts. 19:38:15 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 WHY is trac taking up 100% CPU. 19:39:48 If I could figure that out, I would be a happier person. 19:39:58 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 Since execv doesn't path-search, I mean. 19:40:53 Well, I doubt yes looks for any paths either, but that's not very relevant. 19:47:23 http://landley.net/code/toybox/ hmm 19:49:16 elliott: Totally GNU-free? 19:49:28 Gregor: Presumably. 19:49:41 Gregor: But not nearly complete enough. I consider mount quite a useful command. 19:50:02 Gregor: busybox mocks me by not being buildable with anything more minimal than gcc/uClibc. 19:52:07 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 It seems it's stripping the something or other. 19:55:17 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 the seg was your fault 20:17:35 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 1975 false/false 20:18:04 1971 true/true 20:18:06 How is this possible :P 20:18:09 Vorpal: Suuuuuure :P 20:18:19 like this: 20:18:20 # Unrolled to avoid constructing a python list. 20:18:20 voidcnt += self.validate_pos_pair(state, x, y, 0, 1) 20:18:20 voidcnt += self.validate_pos_pair(state, x, y, 1, 0) 20:18:20 voidcnt += self.validate_pos_pair(state, x, y, 1, 1) 20:18:20 voidcnt += self.validate_pos_pair(state, x, y, -1, 1) 20:18:29 Vorpal: dude just write the whole thing in cython 20:18:34 elliott, I am 20:18:39 Vorpal: in fact, write the whole thing in C 20:18:43 Vorpal: as a python extension 20:18:45 Vorpal: and just do 20:18:46 import foo 20:18:47 foo.run() 20:18:55 elliott, but for (x,y) in [...] will construct a list even in cython 20:19:20 elliott, and yeah writing it as C would be nice except the annoying variable length arrays for "possible moves" 20:19:29 which would mean manual memory management 20:20:07 Just write the whole thing in Haskell as a Python extension. 20:20:09 :) 20:20:34 Vorpal: Not really. 20:20:44 Vorpal: Is there a maximum you've hit so far? 20:21:05 Vorpal: You can basically just allocate as global or local and in the worst cases use mmap(), malloc is totally avoidable. 20:21:16 (I know this because I usually refuse to use malloc.) 20:21:33 pikhq: So I'm writing my own coreutils because I'm a stupid idiot. 20:21:36 elliott, well no, it varies of course 20:21:57 elliott: Awesome. 20:22:09 elliott, theoretically it is probably a few less than the board size 20:22:15 2227 bin/echo 20:22:15 1975 bin/false 20:22:15 1971 bin/true 20:22:18 pikhq: Sizes in bytes. 20:22:22 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 (No, I have no idea how false is bigger. Perhaps true relies on something being initialised to 0.) 20:22:30 pikhq: What portion? 20:22:36 pikhq: Bear in mind that I'm not using stdio at all. 20:22:38 base64 basename cal cat chgrp cksum 20:22:47 elliott, why are you surprised that true is smaller than false? 20:22:50 ... Oh, it uses stdio. Well, never mind! 20:22:54 pikhq: Well, I could port them. 20:22:55 elliott: Those are approximately 2K too large 20:23:04 elliott, generating a 0 takes fewer bytes than generating a 1 20:23:08 on x86 20:23:10 Vorpal: lawl :P 20:23:14 Deewiant: Yes, they can be shell scripts. But /bin/sh is pretty big. 20:23:18 elliott, and true is 0 in the shell 20:23:21 elliott: My cat is POSIX compliant! 20:23:25 thus true is smaller 20:23:31 elliott, it is pretty obvious 20:23:33 elliott: It supports the only option cat is required to have. ;) 20:23:38 elliott: They can be binaries that are approximately 2K smaller :-P 20:23:43 pikhq: But -u is utterly unused :P 20:23:55 pikhq, what exactly does -u actually do? 20:23:59 Deewiant: Well, yes, but I'm not Brian Raiter. 20:24:08 Vorpal: Use unbuffered IO! 20:24:23 Vorpal: It shouldn't be 4 bytes bigger, more like one or two 20:24:24 Deewiant: I do use his sstrip, though :P 20:24:29 pikhq: BTW, I'm compiling this with pcc. 20:24:34 gcc produces larger executables. 20:24:52 pikhq: Anyway, I'd appreciate a tarball of your code, since I can port or refer to it. 20:25:09 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 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 I plan on using the WTFPL. 20:25:42 Deewiant: Patches written in C welcome :P 20:25:55 If you're writing in C your compiler limits you 20:25:56 Deewiant: Hmm, I could define _start and do _exit(0), couldn't I? 20:25:57 elliott: ISC license. 20:26:02 Deewiant: And tell it -nostartfiles. 20:26:05 pikhq: But, but, WTFPL. 20:26:12 pikhq: The ISC has more restrictions! 20:26:22 (It requires including the license with redistributed copies.) 20:26:27 The ELF headers emitted by most standard compilers are at least a few dozen bytes bigger than necessary 20:26:34 pikhq: By using restrictions you are SUPPORTING COPYRIGHT LAW. 20:26:39 Deewiant: sstrip strips 'em. 20:26:48 * sstrip is a small utility that removes the contents at the end of an 20:26:48 * ELF file that are not part of the program's memory image. 20:26:48 * 20:26:48 * Most ELF executables are built with both a program header table and a 20:26:48 * section header table. However, only the former is required in order 20:26:48 * for the OS to load, link and execute a program. sstrip attempts to 20:26:50 * extract the ELF header, the program header table, and its contents, 20:26:52 * leaving everything else in the bit bucket. It can only remove parts of 20:26:54 * the file that occur at the end, after the parts to be saved. However, 20:26:56 * this almost always includes the section header table, and occasionally 20:26:58 * a few random sections that are not used when running a program. 20:27:00 Oh, flood. 20:27:02 Whatever. 20:27:09 elliott: Does it rename the sections to something shorter? Presumably not. 20:27:12 This, incidentally, makes it impossible to decompile these with objdump. 20:27:30 $ strings bin/false 20:27:31 t5M9 20:27:31 /dev/urandom 20:27:31 LD_PRELOAD 20:27:31 valgrind 20:27:41 Deewiant: It eliminates the names altogether. 20:27:47 (Why is LD_PRELOAD in there? There's no dynamic linking going on.) 20:27:57 (Guess it didn't eliminate that then.) 20:28:12 It should be possible to make true and false good bit less than 200 bytes, without mangling ELF headers... 20:28:14 At most that first string should be in there :-P 20:28:23 NO! t5M9 is the SYMBOL OF BLOAT. 20:28:24 I can't remember how long the ELF headers are 20:29:39 248 bin/false 20:29:40 Deewiant: Happy? 20:29:45 void _start(void) 20:29:45 { 20:29:45 _exit(1); 20:29:45 } 20:29:51 Heh 20:30:01 If I made that noreturn, presumably it'd be EVEN SHORTER 20:30:11 elliott: But but true.asm is 45 bytes! 20:30:26 .asm is easily longer than the exe :-P 20:30:33 Erm, shorter 20:30:53 Deewiant: Erm, when assembled it's 45 bytes. 20:30:58 Deewiant: You're fucking up my build system here :P 20:31:01 the thing that annoy me with heuristics is that they are basically one huge fudge factor 20:31:08 (yes yes, they are by definition) 20:31:19 It's the smallest possible Linux-loadable ELF. 20:31:29 Linux-version-specific, too :-P 20:31:54 Deewiant: Gah, I can't even use diet(1), because it sticks start.o in there :P 20:32:12 elliott, um why do you care if it is less than 2 KB? 20:32:15 What's diet(1) 20:32:21 Vorpal: Because Deewiant cares. 20:32:30 Only in Linux 2.4... AFAIK, those 45-byte executables don't work in 2.6 20:32:39 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 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 libc.a? start.o? What are these unnecessarities 20:33:23 elliott: If you're using _start, you should probably just manually write the system call function. Thereby needing no libc. 20:33:28 elliott: http://filebin.ca/cemkzt/pikhq-coreutils-0.1.tar.xz 20:33:28 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 seriously, you are microoptimising into the silliness now 20:34:01 Vorpal: Yes I am. 20:34:18 pikhq: What syscall number is exit again? 20:34:19 elliott, stop it. Or you will have to maintain cfunge in the afterlife 20:34:19 Make utilities detect argv[0] and work accordingly (sticking couple utilities together)? :-) 20:34:23 elliott: 1 20:34:26 Ilari: That's the loser's way out. 20:34:39 elliott: It's __NR_exit from asm/unistd.h 20:35:14 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 Ilari: See pikhqbox.c in pikhq-coreutils. :) 20:35:22 pikhq: How about I just use :P 20:35:29 just check if argv[0][0] is 't' or 'f' 20:35:30 Does pikhqbox.c do 20:35:32 then use that 20:35:33 #define main progname_main 20:35:34 elliott, ^ 20:35:36 #include "progname.c" 20:35:36 ? 20:35:38 If so, you win. 20:35:38 elliott: Baaah. 20:35:43 Vorpal: Hardy har. :P 20:35:43 Vorpal: What if argv[0][0] is '/' 20:35:50 elliott: Also, yes. 20:35:52 Deewiant, hm good point 20:35:54 pikhq: So can I have assurance that that tarball is WTFPL'd? :P 20:35:56 Otherwise I can't use it. 20:36:03 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 elliott: I hereby dual-license it under ISC and WTFPL. 20:36:24 elliott: Use at your discretion. 20:36:26 pikhq: Thank thee kindly. 20:36:31 pikhq: Hey, WTFPL doesn't require discretion! 20:36:39 I can go CERAAAAAAAAAAAAAAZY with it, so long as I WANT TO. 20:36:41 elliott: That was just a suggestion. 20:36:57 (Thought experiment: is it a license violation to do something you don't want to to a WTFPL program?) 20:37:00 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 I suggest the following fix: 20:37:10 elliott: But, yeah. pikhqbox.c does in fact do #define main progname_main and #include "progname.c". 20:37:12 1. You just DO WHAT THE FUCK YOU WANT TO. 20:37:17 2. Or you just DO WHAT THE FUCK YOU DON'T WANT TO. 20:37:23 3. Or you just DO WHAT THE FUCK YOU'RE NOT SURE WHETHER YOU WANT TO OR NOT. 20:37:32 elliott, this is too long and verbose 20:37:37 Vorpal: What if you're exec'd by something that gives you argv[0] = "hoody hoo" 20:37:40 elliott, what about "do whatever" 20:37:41 or such 20:37:49 1. You just DO WHAT THE FUCK. 20:38:03 elliott, better but perhaps a bit unclear 20:38:10 pikhq: I may require your assistance for commands such as mount. :P 20:38:18 elliott: Okay. 20:38:22 Deewiant, then you are fucked 20:38:28 Vorpal: Hence you don't do that. 20:38:31 Deewiant, but maybe default to one behaviour 20:38:43 pikhq: Dude, pikhqbox doesn't even use a hash table :P 20:38:49 Deewiant, but there are tools, such as busybox and grep iirc. which check argv[0] 20:39:03 elliott: I optimised for code simplicity. :) 20:39:03 well some grep implementations at least 20:39:04 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 for grep/fgrep/egrep 20:39:16 pikhq: So did I! main is more complex than _start because main has a return value. 20:39:46 elliott, what is pikhqbox? 20:39:49 elliott: If something was more work and harder to understand, I decided not to do it. 20:39:52 _syscall1(void, _exit, int, status) 20:39:54 I must have missed the code in it 20:39:57 Why does this not work... 20:39:57 for it* 20:40:03 Vorpal: busybox, but for pikhqutils. 20:40:10 elliott, huh 20:40:15 http://filebin.ca/cemkzt/pikhq-coreutils-0.1.tar.xz 20:40:32 pikhq: I remember ripping the hell out of your cat implementation at one point. :P 20:40:38 elliott, you never find that coloured ls output is nice? 20:40:39 *cal 20:40:40 not cat. 20:40:46 considering the current style 20:40:49 elliott: I changed it in response. 20:40:49 Vorpal: Sure I do. Who says I'm not going to implement that? 20:41:01 pikhq: Indeed. Now to rip the hell out of it with fresh new eyes! 20:41:01 elliott, because termcap is a pain? 20:41:06 elliott: :P 20:41:06 (I replaced my eyeballs recently.) 20:41:14 elliott, (and surely you will not hard code it) 20:41:15 Vorpal: Why the hell would I support anything that isn't ANSI-compatible...? 20:41:24 I mean, go on: name one terminal. 20:41:31 elliott, because how else could you hook it up to that DEC terminal!? 20:41:36 pikhq: static const int lengths_of_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 20:41:37 pikhq: omg bloat 20:41:40 pikhq: :P 20:41:47 elliott: Clarity, not binary size. Sorry. 20:41:49 yes indeed. 20:41:54 pikhq, you should have used char 20:41:55 not int 20:42:01 No. BITMASK! 20:42:01 very much bloat 20:42:02 Vorpal: BAAAH 20:42:04 pikhq: Yeah, it is actually a pretty nice cal. 20:42:16 pikhq, 12*3 bytes wasted! 20:42:18 think of that 20:42:27 elliott: It beats just about every other cal I could find. 20:42:28 pikhq: However you do sin heavily by using stdio. :p 20:42:39 elliott: Which are pretty much all genetic UNIX, and are therefore horrifying. 20:42:47 pikhq, also it is incorrect for the second month every 4th year unless you have that logic elsewhere 20:42:54 He does. 20:42:56 well, almost every 4th year 20:43:00 pikhq: Does it handle september 1752? 20:43:07 *September 20:43:09 elliott: No. 20:43:09 elliott, is that when UK switched over? 20:43:22 elliott: That is the one bug. 20:43:37 elliott, if it doesn't handle the Swedish switchover (I told you about THAT mess before) it is broken :P 20:43:43 Vorpal: The British Calendar Act of 1751 / Declared the day after Wednesday / September 2nd / 1752 / Would be Thursday / September 14 / 1752 20:43:46 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 s/o f/of/ 20:43:54 It is Unix tradition to support "cal sep 1752". 20:43:55 Deewiant, true 20:44:13 (Source for above clarification on the UK switchover time: http://www.youtube.com/watch?v=l4Zf1eyWYFs) 20:44:20 $ cal sep 1752 20:44:20 cal: illegal month value: use 1-12 20:44:21 Vorpal: Sorry, but I only wrote for C locale. 20:44:22 elliott, what ^ 20:44:32 Vorpal: Yeah, because Linux follows Unix tradition ... 20:44:35 Vorpal: Try 9 20:44:39 pikhq, indeed 20:44:43 pikhq, it works then 20:44:52 elliott, it just doesn't do named months 20:44:55 sep implies locales 20:45:02 Deewiant: Oh fuck off :P 20:45:10 Deewiant, oh so it does 20:45:15 elliott: What? :-P 20:45:16 Measurements and currencies and time: yes, locale-relevant. 20:45:26 Input and output messages: Fuck you, English-only :P 20:45:34 * pikhq loves that month. 20:45:50 _syscall1(void, _exit, int, status) 20:45:52 pikhq: srsly, why doesn't that work. 20:46:02 elliott, Why English only? That is discrimination. 20:46:04 elliott: Is "time" not an "input message" in this case 20:46:06 elliott: 2.6 removed that macro. 20:46:10 Vorpal: Yes it is! 20:46:14 Deewiant, indeed it is! 20:46:17 IIRC 20:46:37 pikhq: Well, I still have man _syscall... 20:46:41 Or do you mean just the "1" variant? 20:46:44 Deewiant: It would be, if I hadn't decided it wasn't. 20:46:56 Your decision is poor 20:46:57 Starting around kernel 2.6.18, the _syscall macros were removed from 20:46:57 header files supplied to user space. Use syscall(2) instead. (Some 20:46:57 architectures, notably ia64, never provided the _syscall macros; on 20:46:57 those architectures, syscall(2) was always required.) 20:46:58 Ugh. 20:47:21 elliott: You have to actually write the system call handler manually. 20:47:22 elliott, nothing wrong with syscall() 20:47:24 pikhq: I refuse to be unportable across architectures, how can I avoid using syscall(2) :P 20:47:40 elliott: Write _syscall for each architecture. 20:47:44 Vorpal: It goes through libc. 20:47:46 elliott, well _syscall would have been unportable too 20:47:48 pikhq, and? 20:47:49 Vorpal: And does a *lot* of stuff. 20:48:05 hm it sets errno 20:48:06 okay 20:48:08 that is annoying 20:49:59 elliott, well _syscall would have been unportable too 20:50:00 how? 20:50:03 not across architectures 20:50:11 apart from linux's failure to implement it 20:50:26 -!- Sasha has quit (Ping timeout: 240 seconds). 20:50:35 gah. This fudge factor is chaotic 20:50:53 elliott, not across architectures apart from linux's failure to implement it <-- uh... what 20:51:22 Vorpal: _syscall isn't unportable 20:51:32 linux just didn't implement it on every arch, for no real reason 20:51:49 pikhq: You know what, fuck this. _exit(0) is fine :P 20:52:22 elliott, also linux specific of course (but that is a different kind of unportable) 20:52:24 elliott: Then you're getting symbol collision for start; sorry. 20:52:34 pikhq: No I'm not. 20:52:37 pikhq: I link in libc.a but not start.o. 20:52:45 Oh, you're doing that manually. 20:52:53 pikhq: Yes. Because I'm a crazy goddamn fucker. 20:52:59 bin/true bin/false: \ 20:53:00 CC=~/kitten/stage2/bin/pcc -Os -nostdlib -nostdinc -nostartfiles \ 20:53:00 ~/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 elliott: You sure are. 20:53:58 (Also, that handling -u is pointless binary bloat.) 20:54:07 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 stdio in cat? 20:54:25 ugh 20:54:26 Vorpal: Apart from e-penis length. 20:54:38 Vorpal: What, I would have expected you to be an stdio-lover. 20:54:50 elliott, why on earth 20:54:53 pikhq: Other things I won't support: "-" as an argument name! /dev/stdin exists for a reason! 20:54:55 Vorpal: Um, fopen? 20:55:18 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 fwrite is no better than write ever :P 20:55:37 elliott, indeed 20:55:43 (Okay, if someone implemented an stdio that didn't suck, I might change my opinion.) 20:55:48 But 99% of the time it's just useless abstraction that you don't need. 20:55:50 elliott, but you wouldn't use either if working with textual data 20:55:56 printf is convenient but almost always severely-bloating, and error-prone too. 20:56:05 A nice formatting API would be, well, nice; I think libowfat has one. 20:56:07 elliott, you can make printf that is small 20:56:17 Vorpal: Yeah, but the API still sucks. :p 20:56:31 Haha! I just pioneered a NEW CONTROL STRUCTURE. 20:56:32 "else for" 20:56:34 elliott, what do you prefer? cout << setw(4) << i << endl; ? 20:56:56 Vorpal: It depends! 20:57:02 elliott, and what does else for do? 20:57:10 else for is for, except in an else clause. 20:57:21 Vorpal: Probably write_int_width(i, 4); 20:57:21 elliott, uh how is that new? 20:57:22 Or something. 20:57:26 I think libowfat has something like that. 20:57:29 Vorpal: Because it isn't else { for ... }. 20:57:31 It's "else for!" 20:57:33 *for"! 20:57:36 One whole indentation less! 20:57:42 elliott, you know format strings are nice because translation works with them 20:57:46 unlike most other solutions 20:57:53 remember you need to reorder stuff between languages 20:57:55 Vorpal: Sure, that's a language deficiency :P 20:58:05 As far as I'm concerned we should all struggle with English until somebody makes an OS that doesn't suck. 20:58:14 Vorpal: Also, printf SO FAILS AT THAT. 20:58:20 "The %s is %d years old." 20:58:23 and you often need the whole sentence to translate it (the same word will translate to different words in different contexts) 20:58:24 You can't swap the %d and the %s there. 20:58:25 If it was 20:58:30 elliott, you can 20:58:31 "The %{0}s is %{1}d years old." 20:58:35 and you could reorder them, sure. 20:58:59 elliott, you can reorder them like that when you translate the format string 20:59:06 using numbers like that 20:59:14 check man snprintf some day 20:59:17 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 The most libraryiffic C file ever! 20:59:41 Vorpal: Noooon-poooortableeeeee. 20:59:49 elliott, it is SUS iirc 20:59:50 (Pronounced "porta-blee".) 20:59:51 elliott, not C99 sure 20:59:53 but SUS 21:00:06 Vorpal: So it's useless on Windows. Deewiant! Yell at him! 21:00:15 * Deewiant yells 21:00:34 pikhq: Name my error-reporting function: oops, crap, damn, fuck, barf. 21:00:37 elliott, as if you would care about that. Your code is very linux specific it seems 21:00:46 Vorpal: Hey, I UNDID THAT MISTAKE 21:00:47 -!- yorick has joined. 21:00:51 Now I only depend on _start. 21:00:52 And _exit. 21:00:53 elliott: 糞 21:01:01 pikhq: æe@ł 21:01:04 elliott, the time to start worrying about windows support is the point you use stdio instead of read and write 21:01:05 and so on 21:01:22 Vorpal: He is unlikely to ever want to run this on Windows. 21:02:22 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 pikhq, indeed my point 21:03:00 pikhq, so complaining about format string argument reordering for translation being unportable is... utterly stupid 21:03:24 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 Ilari, use sctp with the multi-homed stuff 21:04:17 then establish to both at once and use whatever works 21:04:18 or something 21:05:08 http://www.poemhunter.com/poem/a-problem-in-dynamics/ 21:05:20 By Maxwell himself. 21:05:23 I am in awe. 21:05:31 I don't know if those two are the same host... 21:05:39 void cat(int fd) 21:05:40 { 21:05:40 char c; 21:05:40 while (read(0, &c, 1) > 0) 21:05:40 write(1, &c, 1); 21:05:40 } 21:05:45 pikhq: Spot the unfortunately ugly-to-fix bug. 21:06:36 http://www.haverford.edu/physics/songs/rigid.htm 21:06:41 There's a song, too. 21:06:43 pikhq: Erm, apart from read's first argument. 21:07:08 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 EFBIG See EOVERFLOW. 21:07:35 Please tell me this stands for Fucking Big. 21:08:22 elliott: You know you want the system call for read and write! 21:08:24 It's probably File 21:08:24 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 pikhq: It occurs to me that not supporting - as an argument may ... break some things... slightly. 21:10:07 SO NOW I AM 21:12:24 pikhq: Feel like de-uglying my code? :P 21:12:37 pikhq: (Or just telling me what's really ugly.) 21:12:47 Hey, YOU don't handle read errors either. 21:12:49 Sure, why not. 21:12:50 Right then, I won't! 21:13:06 pikhq: http://sprunge.us/PWFX 21:13:20 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 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 pikhq: Still. main() is a bit ew. 21:14:07 pikhq: Hey, yours is NOT compliant. 21:14:11 pikhq: It gives up after the first error. 21:14:15 elliott: Baaah. 21:14:25 pikhq: Ha ha! You fail at cat! 21:14:42 ,[.,] is enough 21:15:00 -!- Sgeo has joined. 21:15:20 pikhq: Wait, you're right. 21:15:26 It's okay to give up after the first error. 21:15:28 Yay. 21:15:35 pikhq: (Although slightly more irritating to use...) 21:15:47 Yeah, in fact, that's so irritating that I'm not going to do it. 21:15:55 (Isn't it? Oh the dilemma.) 21:17:06 Phantom_Hoover, I'm still COBOL Guy? 21:17:20 Sgeo, yes. 21:18:25 pikhq: I think I'll do date(1) next, it's vaguely meaty. 21:18:26 oh duh, I just increased speed quite a bit from realising I did the top node in alpha-beta wrong. 21:18:31 Does anyone use date -u? 21:19:30 elliott, yes 21:19:47 I'm going to go watch the only SG-1 episode I haven't seen 21:19:48 elliott, very useful to get UTC 21:20:37 It's pretty easy to fake methods returning classes in Newspeak 21:20:44 Still, might be a bit annoying 21:21:03 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 elliott, so it might be a GOOD extension to support 21:21:25 I think FreeBSD has it too 21:21:29 and a handful of other ones 21:21:32 but not POSIX 21:22:35 #define isflag(s, c) ((s)[0] == '-' && (s)[1] == c && !(s)[2]) 21:22:36 ^ useful. 21:23:18 elliott, getopt? 21:23:30 Vorpal: Pointless when you only have one single flag. 21:23:35 elliott, true 21:23:51 Vorpal: A better question would be "strcmp?", to which I reply: inflated the binary for no real gain. 21:24:16 elliott, will you support %s in date's format string? 21:25:40 Vorpal: I'm using strftime. :P 21:25:56 -rwxr-xr-x 1 root root 59K Apr 28 2010 /bin/date 21:25:56 -rwxr-xr-x 1 elliott elliott 6.4K Dec 3 21:25 bin/date 21:26:06 Ha, wait, I forgot to actually PRINT the date. 21:27:10 elliott, idea: multi-core to make the AI n times as fast (n depending on number of cores) 21:27:22 $ bin/date -u 21:27:22 Segmentation fault 21:27:29 elliott, gdb on that then 21:27:39 Vorpal: Or just look at the code. 21:27:43 if (isflag(argv[1], 'u')) { 21:27:43 utc = 1; 21:27:43 argv++; 21:27:43 } 21:27:43 if (argv[1][0] == '+') fmt = argv[1] + 1; 21:27:45 Mistake is obvious. 21:27:50 Fix trivial. 21:28:13 yes indeed it is obvious 21:28:21 if (argv[1] && argv[1][0] == '+') fmt = argv[1] + 1; 21:28:21 Tada. 21:28:27 elliott, actually there are two mistakes there 21:28:47 Vorpal: That argc is left out-of-sync? 21:28:53 Deliberate; I don't use argc anywhere after that. 21:28:55 elliott, where does it say argv will have a NULL pointer after the last element? 21:29:02 Vorpal: That is guaranteed. 21:29:04 ah okay 21:29:25 Vorpal: So what's mistake #2? 21:29:43 none then 21:29:54 elliott, or do you check that argv[1] exists above the isflag check? 21:29:59 if not that is another mistake 21:30:53 if (argc > 1) { 21:30:55 Yes, I do. 21:31:02 good 21:31:03 Actually I can avoid that outer conditional trivially... 21:31:31 elliott, what if someone passes you argv[0] = NULL? 21:31:37 -!- Mathnerd314 has joined. 21:32:01 elliott, by execv or such 21:32:04 Vorpal: Then argv is {NULL, NULL, whatever} 21:32:07 Well. 21:32:09 I suppose that 21:32:20 elliott, it could be {NULL, whatever} I think 21:32:28 not sure though 21:32:38 Vorpal: Yes, true. (But if you deny something an argv[0], you're just a monster.) 21:32:42 And everything will break on that :P 21:32:53 elliott, not stuff which checks for it 21:33:03 Hmm, why is $TZ not doing anything... 21:33:15 elliott, presumably your libc doesn't use it 21:33:20 Presumably :P 21:33:33 Vorpal: You're on a non-GMT timezone, presumably. Can you test bin/date for me? 21:33:41 elliott, does it do zones like Europe/London or Europe/Stockholm? 21:33:47 Vorpal: Let's find out! 21:34:13 Vorpal: http://filebin.ca/gwobyk/date 21:34:26 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 elliott, I don't have TZ set, I have the normal /etc/localtime 21:34:29 Vorpal: Right. 21:34:32 Vorpal: So that should work! 21:34:40 Also, /etc/timezone and the like. 21:34:46 no such file 21:34:49 Vorpal: But yeah, just check that "date" prints the right thing and "date -u" prints the right thing too :P 21:34:50 just /etc/localtime 21:35:15 $ objdump -d date 21:35:15 date: file format elf64-x86-64 21:35:16 what 21:35:19 same for -D 21:35:23 Vorpal: It's sstrip'd. 21:35:31 elliott, what is sstrip? 21:35:33 Vorpal: objdump can't look at stuff without pointless crap in the ELF file. 21:35:39 elliott, I refuse to run it 21:35:41 then 21:35:41 Vorpal: sstrip is Brain Raiter of INTERCAL fame's strip tool. 21:35:47 Vorpal: Use a different disassembler? 21:35:57 elliott, rm-ed the file. Get me one that works with objdump :P 21:36:00 Fine, I'll upload a non-sstrip'd one. 21:36:13 This one's almost 10K. 21:36:17 no issue 21:36:26 Vorpal: http://filebin.ca/ktvtue/date 21:36:29 I have more than 2000 baud :P 21:36:54 huh there is a __valgrind symbol 21:37:03 Vorpal: Yeah, and LD_PRELOAD too. 21:37:06 I can't seem to get rid of those. 21:37:12 Much as I would dearly like to. 21:37:16 well what is __valgrind used for exactly 21:37:20 No idea. 21:37:24 I mean, for valgrind obviously 21:37:28 (but why does it need it) 21:37:47 __unified_syscall_16bit ? 21:37:58 Vorpal: Oh just run the damn thing :P 21:38:04 4001e4:76 0f jbe 4001f5 <__you_tried_to_link_a_dietlibc_object_against_glibc> 21:38:05 :D 21:38:11 Indeed :P 21:38:30 elliott, how does that bit work? 21:38:43 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 Presumably a careful clash with something glibc does. 21:38:58 Under that name. 21:39:14 Vorpal: So does it work? :P 21:39:15 write(1, "Fri Dec 3 22:38:33 CET 2010", 28Fri Dec 3 22:38:33 CET 2010) = 28 21:39:17 seems to work 21:39:21 elliott, but it ignores my locales 21:39:23 Vorpal: What about with -u? 21:39:29 And yes, it does; dietlibc has no locale support. 21:39:33 $ LC_ALL=sv_SE ./date 21:39:33 Fri Dec 3 22:39:02 CET 2010 21:39:34 fuck it 21:39:42 Vorpal: Excuse me, try -u please. 21:39:44 elliott, completely fucked up date format for sweden 21:39:47 I know it won't work with locales. 21:39:51 SHUT THE FUCK UP ABOUT LOCALES 21:39:52 Just try -u. 21:40:06 elliott, doesn't work 21:40:08 Fri Dec 3 21:39:35 CET 2010 21:40:11 wrong timezone 21:40:13 in output 21:40:14 Ah. 21:40:19 elliott, correct time I think 21:40:19 So gmtime() isn't sufficient for this. 21:40:28 tm = utc ? gmtime(&now) : localtime(&now); 21:40:29 elliott, yes the hour change 21:40:30 is what I do. 21:40:35 but the timezone does not 21:40:43 $ date 21:40:43 fre dec 3 22:40:10 CET 2010 21:40:46 $ date -u 21:40:46 fre dec 3 21:40:12 UTC 2010 21:40:56 $ ./date 21:40:56 Fri Dec 3 22:40:24 CET 2010 21:40:59 $ ./date -u 21:40:59 Fri Dec 3 21:40:25 CET 2010 21:41:40 Vorpal: http://filebin.ca/vkhbbe/date 21:41:42 Vorpal: This might work. 21:41:48 It does setenv("TZ", "UTC", 1). 21:41:57 -!- Mathnerd314 has quit (Ping timeout: 245 seconds). 21:42:11 elliott, no 21:42:12 it doesn't 21:42:18 Hmph. 21:42:21 I'll have to think then. 21:42:32 elliott, also strace show nothing about the setenv 21:42:32 Vorpal: BTW, you will easily be able to link these against a libc that *does* do locales. 21:42:37 ...? 21:42:41 Weird. 21:42:43 Oh well. 21:42:44 elliott, surely env is in kernel 21:42:52 Vorpal: What? 21:43:04 elliott, I mean, it has to be. Otherwise env wouldn't work with exec 21:43:13 I don't get the relevance. 21:43:15 so thus it should show up in strace 21:43:18 when I run 21:43:22 strace ./date -u 21:43:22 I don't know why it doesn't. 21:43:34 which means you either uploaded the wrong version or it doesn't work 21:43:42 or env is done in a screwy way 21:43:46 which might well be the case 21:48:08 elliott, how horrible is the multiprocessing module in python? 21:49:12 Vorpal: Global Interpreter Lock. 21:49:20 elliott, no it is the forking one 21:49:21 Vorpal: You have to use subprocess instead for any kind of concurrency at all. 21:49:23 Oh. 21:49:25 Acceptable. 21:49:35 elliott, but how bad is it to use 21:49:58 Acceptable, I guess. I never have. 21:50:05 elliott, I also expect I need 16 bytes of shared memory (two floats) that I can update atomically. 21:50:08 err 21:50:10 two doubles 21:51:47 gah only lock sync. No sane sync 21:51:50 pikhq: This makes nooooo sense at all :P 21:51:53 (sane = compare and swap) 21:53:40 Vorpal: env is *definitely* not in the kernel. 21:54:16 pikhq, but then how does the exec*() family of functions propagate the enviornment? 21:54:21 environment* 21:54:30 Vorpal: The system call takes an environment argument. 21:54:36 %D Equivalent to %m/%d/%y. (Yecch — for Americans only. Americans 21:54:36 should note that in other countries %d/%m/%y is rather common. 21:54:36 This means that in international context this format is ambigu‐ 21:54:36 ous and should not be used.) (SU) 21:54:46 "Americans, you are ignorant and backwards. In this manual page, I will enlighten you. Dumbfucks." 21:54:48 The libc maintains the actual environment. 21:55:12 elliott, i prefer yyyy-mm-dd 21:55:57 elliott, is your strftime() long-now compliant? 21:56:07 I prefer ISO 8601. 21:56:08 Vorpal: nope! 21:56:15 elliott, should fix that 21:56:17 pikhq: that /is/ iso 8601 21:56:23 pikhq: iso 8601 has the stupid flaw of using T as a separator 21:56:25 rather than a space 21:56:28 making it harder to read 21:56:31 Vorpal: no :P 21:56:39 elliott, I don't use a T there 21:56:41 elliott: Shame, that. 21:56:42 I use a space 21:56:43 Vorpal: If anyone is using Unix in the year 10,000... I pity them. 21:56:52 And laugh at their misfortunes, for they will be endless. 21:57:05 elliott, true but they could use the data files printed on current unix 21:57:10 HERE, ARCHAEOLOGISTS FROM THE FAR FAR FUTURE!!!!!! 21:57:11 Vorpal: If anyone is using Unix in the year 10,000... I pity them. 21:57:16 elliott, indeed 21:57:16 THAT WAS SAID BY ME, A PROMINENT CULTURAL FIGURE OF THIS AGE 21:57:22 I AM CONSIDERED TO BE INCREDIBLY WISE AND CHARISMATIC. 21:57:23 BY ALL. 21:57:26 THAT IS ALL, STOP READING NOW 21:57:28 no you aren't 21:57:33 (MY ENEMIES ARE ABOUT TO INTERCEPT THIS STREAM WITH MISINFORMATION) 21:57:36 OH LOOK IT ALREADY HAPPENED 21:57:40 :P 21:57:57 elliott, anyway. they could use data files created in the next few years 21:57:59 over then 21:58:04 on a non-unix system 21:58:15 Vorpal: Then they'll have their own strftime. 21:58:45 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 which would be annoying 21:59:03 * elliott reads busybox date.c, and BREAKS THE LAW! 21:59:12 elliott, what law? 21:59:13 (Reading GPL'd code for information on how to write a non-GPL'd program is ILLEGAL.) 21:59:20 I'll be COPYRIGHT INFRINGING with my MIND. 21:59:25 mhm 21:59:26 If only I hadn't told anyone... 21:59:41 if (opt & OPT_UTC) 21:59:41 putenv((char*)"TZ=UTC0"); 21:59:41 LOLZ 21:59:58 elliott, what is so funny with that 22:00:11 elliott, except for them casting a string to char 22:00:15 char* 22:00:17 oh wait 22:00:21 from const char* 22:00:23 to char* 22:00:24 right 22:00:29 Vorpal: Just that that's what I've been doing 22:00:31 except with setenv 22:00:33 and it isn't working 22:00:39 elliott, different libc? 22:00:46 #if ENABLE_FEATURE_DATE_NANO 22:00:46 /* libc has incredibly messy way of doing this, 22:00:46 * typically requiring -lrt. We just skip all this mess */ 22:00:46 syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts); 22:00:46 #else 22:00:46 time(&ts.tv_sec); 22:00:48 #endif 22:00:50 Y'all crazy. 22:00:54 Vorpal: Yes, indeed. 22:01:04 Vorpal: It may be one of those dietlibc bugs that they won't fix because it'd increase the size. :p 22:01:17 elliott, also clock_gettime is -lrt on linux, it is -lc on *bsd 22:01:25 just to complicate the thing 22:01:34 elliott, clock_gettime is *nice* though 22:01:36 Vorpal: That's nice! I'm using time()! 22:01:41 Because it's goddamn date(1)! 22:01:58 elliott, what about %N ? 22:02:06 What about it? 22:02:16 oh wait, not POSIX 22:02:19 Right. 22:02:20 elliott, nano seconds :P 22:02:30 $ date +%N 22:02:31 212106062 22:02:31 Orn ot? 22:02:33 *Or not? 22:02:33 s/o // 22:02:38 That's smaller than +%s, even. 22:02:40 elliott, yes nanoseconds in current second 22:02:41 :P 22:02:43 Ah. 22:02:43 lawl 22:02:47 I think not :P 22:03:06 elliott, nanoseconds since 1970 would be absurd 22:03:08 % date +%N 22:03:08 %N 22:03:23 Deewiant, what system? 22:03:28 Vorpal: My date is so evil, it doesn't even let you set the current time with it. 22:03:30 That's right! 22:03:30 *BSD I presume 22:03:33 That's NON-XSI-COMPLIANT. 22:03:36 Solaris 11 Express 22:03:40 Deewiant, heh! 22:03:43 Deewiant: ...I love you. 22:03:46 Deewiant, Express? 22:03:48 Please tell me you installed it JUST FOR THAT 22:03:50 In like 3 seconds. 22:03:57 Nope 22:04:02 I should get a DS9K just to irritate people. 22:04:07 % uptime 22:04:08 12:03am up 11 day(s), 7:13 22:04:10 elliott, he installed it to run oracle mysql on it I guess :P 22:04:16 Deewiant: The first time a Sun has ever been up 11 days! 22:04:17 * Vorpal ducks 22:04:25 Vorpal: *Oracle'sSQL 22:04:32 elliott, they named it that? 22:04:33 elliott: Ah, but it's not Sun anymore is it 22:04:36 Vorpal: No, but I just did :P 22:04:47 (Although before the update it was up for a few months) 22:04:59 "No, you see, MySQL isn't YOUR SQL. It's MY SQL. It serves MY corporate interests, see?" 22:05:25 elliott, yes that was obvious when you said it wasn't the actual name 22:05:26 Vorpal: And yes, Express. I don't know why it's called that. 22:06:11 Deewiant: Because it's FAST! 22:06:20 Maybe. 22:06:23 gah, I conclude that it is impossible to do anything with compare and swap from within python 22:08:55 openmp doesn't support CAS? 22:10:19 pikhq: Alas, I cannot do all program that don't parse args as _start. 22:10:22 pikhq: /home/elliott/kitten/stage2/lib-x86_64/libc.a(stackgap.o): In function `stackgap': 22:10:28 So that's for syscall-only programs. 22:10:43 Wait. Is getcwd a syscall? 22:10:55 Eh, whatever. 22:14:17 pikhq: Dynamically-linked glibc versions of what I have so far total to 210K. My statically-linked dietlibc versions: 18K. 22:14:24 (That's in decimal Ks.) 22:14:27 (Just going from wc -c.) 22:18:23 elliott, hm cython allows you to release the GIL 22:18:29 but with lots and lots of warnings 22:18:31 Vorpal: Good luck with that. 22:18:38 elliott, no I'm not quite that insane 22:18:48 elliott: Nice. 22:18:53 elliott, since the "generate valid moves" code still uses a python list 22:19:31 elliott, all of the tight loop code except for that compiles to pure C now though 22:19:37 pikhq: Should I bother supporting [:upper:] and all that crap in tr? 22:19:54 Oh fuck it, tr can wait. 22:22:42 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 kill, maybe? 22:22:59 -!- perdito has joined. 22:25:54 pikhq: If I go through sys_siglist to convert a signal name into a number, am I a bad person? 22:26:31 Wait, that won't work. 22:32:08 __GNU_nonoption_argv_flags_ 22:32:09 This variable was used by bash(1) 2.0 to communicate to glibc 22:32:09 which arguments are the results of wildcard expansion and so 22:32:09 should not be considered as options. This behavior was removed 22:32:09 in bash(1) version 2.01, but the support remains in glibc. 22:32:12 pikhq: dear god. 22:33:33 * Sgeo nostalgias at http://www.ccs3.lanl.gov/mega-math/workbk/infinity/inhotel.html 22:34:17 ... That's *revolting*. 22:35:27 gcc was in bed with bash? 22:35:46 Wait, not gcc 22:36:02 ...all programs? 22:36:04 pikhq: Yeah. It totally is. 22:36:07 Sgeo: glibc. 22:36:11 And by extension every program that used getopt. 22:36:25 pikhq: I love how it took them exactly 0.01 version to remove that hideous abomination. 22:36:31 Maybe *a single person noticed*. :P 22:37:01 pikhq: Ha! kill can't use getopt. 22:37:07 Because kill takes -FOO for every signal FOO. 22:41:31 -!- ais523 has quit (Read error: Connection reset by peer). 22:44:59 elliott, hmm, the version is a unit? 22:45:05 What does it measure? 22:46:14 Phantom_Hoover: ? 22:46:30 pikhq: What the fuck. Apparently "kill -l $?" has to print out what signal killed the relevant process. 22:46:32 pikhq: Does anyone use that? 22:46:37 It's an esoteric concept! 22:50:07 elliott, I'm going to try pypy 22:50:48 elliott: *What the fuck*? 22:52:03 I'm pretty sure I've used that, but I can't remember if I had any good reason to 22:53:02 pikhq: Yeah... wut. 22:54:26 elliott, zuh? 22:54:53 Binary size just inflated after separating out barf.h. TODO: diagnose. (I think it's strlen calls.) 22:54:58 Phantom_Hoover: ? 22:55:06 So kill -l prints what pid was killed by? 22:55:16 Phantom_Hoover: No... $? is the exit status. 22:55:41 -!- Sasha has quit (Ping timeout: 245 seconds). 22:55:59 elliott, aaaaaaaah. 22:56:16 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 pikhq: For some reason, kill keeps giving me "Invalid argument" back. 22:57:36 brb 22:58:44 * Vorpal watches pypy compile itself 22:59:48 http://www.wikipl.com/index.php/Main_Page 23:00:14 elliott, minecraft bug update (fixes the forgetting port bit and other stuff) 23:00:16 but also uh 23:00:18 "* Added lakes and rare lava pools, both on the surface and randomly in caves." 23:00:22 how is that a bug update 23:00:26 lol 23:00:43 oerjan, highly esoteric. 23:01:08 indeed 23:02:14 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 oerjan, let's make it something awesomely crazy! 23:03:14 you go ahead 23:03:21 Sgeo, Hoyle went to his grave swearing by a modified Steady State theory. 23:04:38 And Hoyle was not a nutcase. 23:05:33 My browser froze. Unfortunatly, I was in the middle of playing a YouTube video 23:05:43 There is now an annoying sound emmenating from my speakers 23:05:46 *emminating? 23:06:09 Sgeo, was it another video by that idiot? 23:07:16 Also, it's "emanating". 23:07:19 elliott, I don't know what it means but pypy compiling itself draws pretty colour coded output 23:07:23 like ASCII art 23:07:33 Vorpal: mandelbro6 iirc 23:07:36 brot 23:07:40 elliott, why 23:07:56 fun 23:07:57 elliott, why compute that while it compiles itself? 23:08:05 I mean, it would slow down the thing 23:08:28 its prolly hardcoded. also instant anyway... 23:08:54 not very pretty when interrupted by warning messages 23:09:06 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 oerjan, how does WikiPL work right now? 23:11:49 And is it headed towards being WikiFalcon? 23:12:14 http://www.wikipl.com/index.php/WPL_Documentation 23:12:29 i just found this on reddit so i don't know much more than you :D 23:12:56 apparently you cannot currently register automatically for security reasons 23:13:10 oerjan, how are we meant to make it AWESOME 23:13:25 afaiu each article contains python code for part of the language implementation 23:14:31 -!- Sgeo has joined. 23:15:21 Hmm... 23:15:28 PH, I was listening to some music 23:16:28 Sgeo, was it music from the late 90s or early 2000s? 23:16:35 lol 23:17:01 * Sgeo suddenly thinks of some music that he likes for nostalgic reasons 23:17:12 This song isn't one of those though 23:17:20 http://www.youtube.com/watch?v=GE_FhAGYy8w 23:19:37 -!- zzo38 has joined. 23:20:11 btw the reddit post is http://www.reddit.com/r/programming/comments/efuve/wikipl_the_free_programming_language_that_anyone/ 23:21:20 http://www.wikipl.com/index.php?title=Main_Page&action=edit 23:21:24 That's no Python! 23:21:55 there are obviously a few exception pages :D 23:22:41 oerjan: it should be haskell 23:22:44 less sandboxing needed too 23:23:22 It should be Newspeak. Less sandboxing needed too 23:23:26 (Well, not atm) 23:24:04 But not functional. 23:24:24 Non-functional languages are really just relics of the past, making new ones is basically laughable. 23:24:51 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 Sgeo, in the future all languages will be @! 23:25:43 Sgeo: the latter is not true 23:25:52 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 "Justin Bieber Wikipedia Page Hacked With Homosexual Remark" --spam link on reddit 23:27:18 Translation: Someone vandalised Wikipedia for WHOLE SECONDS (probably the article author) 23:27:33 "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 elliott, The Onion? 23:27:50 Chris Pressey made some new ideas for esoteric programming language. I like this 23:27:52 No. 23:27:52 Spam. 23:28:55 # (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 # (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 It stayed there for a whole ZERO MINUTES. 23:31:49 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 Hey, we should totally do an esoteric version of wikiPL on the esolangs wiki. 23:36:14 Phantom_Hoover: We couldn't do it there, if it's automated at all. 23:36:22 On a separate wiki, sure. 23:36:27 elliott, why? 23:36:34 Phantom_Hoover: Because the wiki doesn't have any patches? 23:36:40 maybe on that hackiki thing? 23:36:58 elliott, what patches do you need for "pull page source from site, extract code"? 23:37:26 Phantom_Hoover: It'd need protecting anyway. 23:37:31 oerjan: Yeah, you could hack it into hackiki. 23:37:49 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 http://www.wikipl.com/index.php/HelloWorld Wow, way overengineered. 23:38:02 XML! Unit tests! 23:38:11 Camel-case thus failure at PEP-8! 23:38:16 http://www.wikipl.com/index.php/Test001 wtf web interface 23:38:20 I thought this was a collaborative programming language 23:38:52 elliott, my hatred for it shot up when you said "XML". 23:39:24 elliott, also underground lakes from now on hm 23:39:53 It should all be written in Smallnewfactor obviously 23:40:05 Smallnewfalctor 23:40:26 pikhq: I have a feature that busybox doesn't! BLOAT! 23:45:05 -!- augur has quit (Remote host closed the connection). 23:47:47 Sgeo, *Smallnewfalctorscala 23:47:57 -!- FireFly has quit (Quit: swatted to death). 23:47:59 Scalamallnewfalctor 23:50:55 http://sprunge.us/IgWe 23:50:56 Handy! 23:51:33 It still can't kill processes though. 23:51:40 Probably because pikhq won't look at the code. 23:52:25 Why doesn't Creative Commons have a "no attribution required" option? 23:53:57 Because somewhere out there is the Anti-Sgeo 23:56:07 zzo38: it does 23:56:14 Sgeo: doesn't, not does. 23:56:21 zzo38: oh you mean 23:56:25 it requires people to *not* attribute you? 23:56:26 that's non-Free 23:56:30 i think 23:56:31 and uh, stupid 23:56:34 just release it anonymously 23:57:55 -!- kar8nga has quit (Remote host closed the connection). 23:58:09 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 CC PD? 23:59:24 But I do want share-alike to be the condition 23:59:38 That share-alike is require but attribute is optional 2010-12-04: 00:01:22 That is, instead of being forced to use CC-BY-SA, I would like to use CC-SA. 00:01:51 People who want to contribute might not if they know their contributions might not get credited. 00:01:55 zzo38: Well, uh, nobody really wants that except you, so I guess nobody really bothered. 00:01:58 Sgeo: Stop talking crap. 00:02:11 pikhq: Ping. 00:02:59 elliott, gah downloading binary pypy since it started swap trashing on my 4 GB RAM thinkpad 00:03:06 Vorpal: lawl 00:03:18 Then again, my Newspeak IDE tweak is so little code I don't think I'd get credit for it 00:03:19 Vorpal: Do YOU want to look at my kill and tell me what's wrong with it? :p 00:03:26 I still need to figure out how to submit a patch 00:03:47 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 /* actually send the signal */ 00:03:56 pid = strtol(argv[i], &endptr, 10); 00:03:56 if (!argv[i][0] || *endptr) badusage(); 00:03:56 if (kill(pid, sig) < 0) { 00:03:56 barf("kill"); 00:03:57 ret = 1; 00:03:59 } 00:04:07 Vorpal: Pop quiz: Why does this always give "invalid argument"/ 00:04:17 elliott, which point in the code gives that 00:04:21 Wait, now it doesn't. 00:04:23 Now it just does nothing. 00:04:24 elliott, try gdb 00:04:28 elliott, gdb and step 00:04:32 Vorpal: No, I hate gdb. I've figured out what the problem is. 00:04:39 elliott, why do you hate gdb? 00:04:42 gdb is awesome 00:04:44 Vorpal: It irritates me. 00:04:49 elliott, WHY? 00:05:08 Vorpal: Because I don't have much connection with the code's execution path; I prefer reasoning about the code. 00:05:26 Vorpal: The most effective debugging tool is still careful thought, coupled with judiciously placed print statements. -- Brian W. Kernighan 00:05:32 gah binary pypy (built 2010-11-25) uses cpython 2.5.2 00:05:33 wtf 00:05:33 At least I am in good company. 00:05:35 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 elliott, nailor has been *really* busy I see 00:09:39 Vorpal: Seen. 00:10:02 elliott, I can't find the mystery cave though 00:10:09 Vorpal: Down the stairs. 00:10:11 There's a sign. 00:10:19 elliott, yes I seen the sign 00:10:24 then just a normal but well lit cavern 00:10:25 So follow the arrow. 00:10:27 is that it? 00:10:29 Vorpal: That's the mystery cave. 00:10:39 I'm a bit disappointed it is no more mysterious 00:10:39 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 elliott, that is a shitload of glass around that lava 00:13:45 Vorpal: Hm? What lava? 00:14:42 Grrr 00:14:43 elliott, the deep lava cavern, the lava fall starting next to the library 00:14:49 elliott, and going to bedrock or such 00:14:57 Someone vandalized an UnNews article I wrote in 2007 00:15:08 They vandalized it in 2010 00:15:15 That's a bit of a WTF and a Grr 00:15:26 http://uncyclopedia.wikia.com/index.php?title=UnNews:All_atheists_proven_to_be_Muslims&action=history 00:16:20 thats gay 00:16:22 yeah it is 00:16:25 -!- perdito has changed nick to hagb4rd. 00:16:27 (To quote the esteemed vandal of 2007.) 00:17:43 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 EINVAL An invalid signal was specified. 00:17:51 wtf. 00:17:58 Oh, wait, it's not doing that any more. 00:18:01 It's just... not doing anything. 00:18:10 elliott@dinky:~/code/tools$ bin/kill 1087 00:18:10 elliott@dinky:~/code/tools$ 00:18:10 elliott, didn't you see the lavafall? 00:18:11 -!- augur has joined. 00:18:13 elliott, go do it then 00:18:16 And printing a blank line in-between those for no apparent reason. 00:18:17 Vorpal: no thanks 00:18:26 elliott, it is inside a 3x3 glass pillar 00:18:34 very impressive 00:18:34 cool 00:18:36 and very long 00:18:44 elliott, why not log on and check and then log off? 00:18:57 Okay... apparently a bunch of }s and a return ret; cause an additional newline to be printed. 00:19:13 elliott, the server was there a moment ago, if you are far from spawn he could tp you to me 00:19:35 Vorpal: Not right now. Later, okay? 00:19:37 I'm here all night. 00:19:39 elliott, did you make the function "barf"? 00:19:41 Phantom_Hoover: Yes. 00:19:44 Aha! Sleep can't kill its parent. 00:19:47 elliott, well then I will log off 00:19:53 elliott, I'm going to sleep very soon 00:19:57 I clearly have to use setsid. 00:19:59 Vorpal: Soon, okay? 00:20:19 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 aha! 00:23:57 Vorpal: I was parsing "-9", not "9" 00:23:59 so the signal was negative :D 00:24:06 that's one bug at least 00:24:34 ok, it now mostly works 00:25:59 Yay, it all works. 00:27:24 -!- hagb4rd has quit (Quit: hagb4rd). 00:27:42 -!- hagb4rd has joined. 00:30:17 My brother's character in D&D game is afflicted lycanthropy 00:30:57 pikhq: So, I currently have cat, date, echo, false, kill, pwd, signal (kill -l, basically), sleep and true in 34K. 00:33:49 Totally awesome. 00:34:29 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 pikhq: I'm crazy, so here, have a .cpio.Z: http://filebin.ca/rghto/tools.cpio.Z 00:36:40 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 :) 00:37:36 TODO: man pages, all the other useful things out there, testing testing testing. 00:39:57 elliott, in a proper language that parser bug would have been detected at compile time 00:40:15 Vorpal: Not any language where argv is an array of strings. :P 00:40:25 elliott, well what about coq? 00:40:30 Vorpal: "Just use an option parser!" Yeah, I would, except that I'd have to do -n. 00:40:47 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 You can easily define "dumb" non-dependent types in Coq. 00:40:58 hm 00:41:01 And they would readily accept the bug I made. 00:41:19 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 You can't be too much smarter than your environment. 00:42:02 Vorpal: Also, when you start using gotos rather than creating a new function, you're crazy! 00:42:21 The code in question: http://sprunge.us/GcNO 00:43:43 elliott, server is on atm. 00:43:56 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 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 pikhq: Looked at the code? 01:03:14 NEIN 01:04:12 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 pikhq: Psht! 01:16:23 "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 connections, and ISDN. In Plan 9, each network presents itself as a product as such." 01:36:02 pikhq: Ugh. Just realised pcc doesn't have warnings. 01:36:03 * elliott fixes up code 01:48:44 pikhq: Woo, I almost have a vis where "vis ..." = "cat -v ...". 01:48:49 (More or less.) 01:57:48 wtf... 01:59:08 elliott, painterly sure have a nice cobble texture 01:59:14 but why turn the torches into candles 01:59:23 Vorpal: you can select what parts you want, I think 01:59:33 true 01:59:37 elliott, but that is work 01:59:44 Vorpal: Doesn't it have a web interface? 01:59:56 Vorpal: http://painterlypack.net/customizer.php 01:59:57 Vorpal: Yes it does. 02:00:20 Vorpal: I thought you were going to bed "very soon"? :P 02:00:23 also biome grass 02:00:24 hm 02:00:29 that seems lacking 02:00:31 or broken 02:00:47 Largest program so far: kill, at 8775 bytes. 02:01:02 And most of that is all the errno and signal text. :p 02:02:29 huh 02:02:37 Vorpal: if you do "continue" in a for loop, is the i++ part meant to be skipped? 02:04:50 elliott: I like how you do the sane thing with cat's options. :) 02:05:12 (i.e. make a seperate program from them, LIKE IT SHOULD BE.) 02:05:25 pikhq: Yep! And this program actually existed in 8th Edition Unix, although it printed out octal instead. 02:05:39 pikhq: BusyBox also does this, but it calls its program catv, and why name a program after a mistake? 02:05:48 http://man.cat-v.org/unix_8th/1/vis btw 02:06:28 Vorpal: if you do "continue" in a for loop, is the i++ part meant to be skipped? 02:06:31 pikhq: Do you know the answer to that? 02:06:35 It seems to be acting that way. 02:06:35 elliott, which language? 02:06:37 But that seems strange to me. 02:06:38 Vorpal: C. 02:06:48 I believe it shouldn't 02:06:54 very strange 02:06:59 hahahaha WOW 02:07:00 http://www.wikipl.com/index.php/WPL_Code_Guidelines 02:07:04 Good name: CompareTwoTextFilesAndGetTheDifferentLines 02:07:06 Bad names: CompareTwoTextFiles, CompareTextFiles 02:07:11 this MUST have been written on crack 02:07:17 that table is beyond unbelievable 02:07:58 -!- Sasha2 has quit (Ping timeout: 240 seconds). 02:08:28 Vorpal: ok it isn't doing that, my program is just KERRAAAZY :) 02:08:39 -!- Sasha2 has joined. 02:09:05 ok, wtf @ this 02:09:06 makes no sense 02:09:44 pikhq: http://sprunge.us/XRRA PLZ2BE TELLING ME WHY THE CONVERSION LOOP RUNS FOREVER ON /DEV/URANDOM 02:09:54 oh wait 02:09:54 "c" 02:09:55 lol 02:10:24 elliott, what "CompareTwoTextFilesAndGetTheDifferentLines" 02:10:24 still doesn't work though 02:10:25 XD 02:10:29 Vorpal: yeah :D 02:10:56 Vorpal: CompareTheseTwoTextFilesSpecifiedAsUtfEightFileNamesAndGetEveryLineInOneButNotBothAsAListOfUnicodeStrings 02:11:10 Vorpal: CompareTheseTwoTextFilesSpecifiedAsUtfEightFileNamesAndGetEveryLineInOneButNotBothAsAListOfUnicodeStringsAndRaiseAnExceptionIfAnythingGoesWrongDuringTheProcessOfDoingThis 02:11:19 elliott, int loop_counter_variable_used_in_for_loop_to_count_up_from_0_to_100 ? 02:11:25 Vorpal: Yes! 02:11:33 char *string_entered_by_the_user_that_is_dynamically_allocated; 02:11:53 long i_like_muffins_and_also_this_variable_is_a_long_integer_and_it_stores_the_users_current_happiness_level; 02:12:40 night → 02:12:50 wtf is up with this code 02:14:24 Vorpal: wait i have an important question 02:14:36 Vorpal: if your code starts spewing out bits of the environment when outputting /dev/urandom 02:14:42 you probably have a buffer overflow somewhere right :D 02:15:44 what the FUCK 02:16:03 pikhq: Yo. Can you write vis(1) for me? :P 02:16:14 Not ATM. Perhaps later this weekend. 02:18:35 pikhq: I'll just keep hacking at the code then. 02:18:46 pikhq: pikhq cal should make its way in basically intact, as writing cal sounds boring. 02:18:58 pikhq: Hey, Tcl is in good historical company; Multics used [...] to do what Unix does with `...`. 02:19:03 (Source: http://www.multicians.org/unix.html.) 02:19:43 Huh. 02:22:35 pikhq: BTW, I did the same split-option-out-into-separate-command thing with kill. 02:22:49 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 pikhq: But GNU kill has something better: -l TERM prints out the number for TERM, and -l 15 prints out TERM. 02:23:20 So I made a signal(1) which can list available signals, and translates signal names/numbers. 02:23:27 And got rid of -l from kill. 02:23:31 Beautiful. 02:23:53 And if you want POSIXly correct, well, screw you. :P 02:24:04 Oh, bin/signal has a bug ... 02:24:05 * elliott fxies 02:24:06 *fixes 02:24:52 hmm what's up with that 02:25:04 pikhq: I'm going to WhatStuffActuallyUsesly correct. :P 02:25:20 Ah, the GNU way without the stupid. 02:26:09 GNUpid 02:29:08 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 pikhq: Does that mean... CPU clock? 02:29:23 Or scheduler clock? 02:30:41 TODO: fix signal, vis 02:31:03 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 Now why is env broken... 02:39:39 pikhq: BTW, I'm going to have probably a separate project moretools that has things like wget, ping, etc. 02:39:44 i.e. the bigger, auxiliary stuff. 02:40:53 Does it have netcat? 02:42:10 pikhq: env(1) done. 02:42:17 zzo38: No; use Hobbit's original netcat. 02:42:22 That's the best anyway. 02:42:32 Whereas things like wget are rather big and could do with shrinking. 02:43:22 The full system, if it is intended to have a connection to the internet, should require netcat. 02:43:34 zzo38: Yes, but moretools is my implementations of things. 02:43:39 For netcat, I'll use Hobbit's netcat. 02:43:47 elliott: OK. You can do that, then. 02:44:10 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 date has one bug (-u shows the correct time, but doesn't say "UTC") 02:45:07 Hey kid! 02:45:09 I'm a computer! 02:45:24 -!- baojian has joined. 02:45:26 Gregor: Hi! 02:45:27 Use short options (I do not like GNU long options) 02:45:37 elliott: Stop all the downloadin'! 02:45:47 zzo38: I do. Well, not for most things, but wget, sure 02:45:48 *sure. 02:45:53 Gregor: Nope! 02:46:00 elliott: Help computer. 02:46:11 Gregor: What is wrong. 02:46:31 elliott: You're doing your part all wrong :P 02:46:43 Use long options if you want to, but in my implementation there will be no long options. 02:46:45 Gregor: I have no idea what you are referencing :P 02:47:08 D-8 02:47:16 elliott: You don't know of the Fenslerfilm GI Joe PSAs? 02:48:46 Well, I googled a minute ago and found http://www.fenslerfilm.com/PSAS.htm. 02:48:56 elliott: Watch them FOREVER 02:49:30 Gregor: What :P 02:49:37 elliott: Watch them once? :P 02:49:39 Does this make any more sense when intoxicated? 02:49:43 *these 02:49:44 *Do 02:49:53 Idonno, but they grow on you like Charlie the Unicorn :P 02:50:11 I liked Charlie the Unicorn first time around. 02:51:54 How 'bout I list the particularly-funny ones? :P 02:52:55 Have you found all of the secrets yet in Godel, Escher, Bach? 02:53:12 (Yes; this book does, in fact, have secret pages.) 02:53:38 secret pages? 02:53:40 pikhq: -rwxr-xr-x 1 elliott elliott 26K Dec 4 02:52 box 02:53:40 elliott: 5, 6, 7, 8, 13, 15, 16, 17, 20, 22 and 24 are the funny ones :P 02:53:49 pikhq: Just sayin'. 02:54:15 Sgeo: Yes. There are secret pages, as well as secret things and obscure things found on the non-secret pages. 02:54:28 pikhq: But I don't like the changes I had to make to the codebase to do that. 02:54:32 How do secret pages work in a physical medium? 02:54:41 pikhq: (I could avoid it if I did each program as an object.) 02:55:06 Sgeo: Figure it out! 02:55:12 Gregor, wtf? 02:55:24 Sgeo: Porkchop sandwiches! 02:56:01 (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 Gregor, those... those can't be derived from the actual cartoon, with stuff dubbed over, can they? 02:57:04 That's what they LOOK like, but the content of the visuals makes no sense in that context 02:57:39 Sgeo: The cartoon had stupid PSAs in it. 02:58:15 How TF does some guy vaporizing people in a burning building... 02:58:21 * Sgeo goes insane 02:58:32 What was the original PSA. I have to know? 02:59:44 Sgeo: They sometimes modified the video slightly :P 02:59:50 Ah, ok 03:01:28 * pikhq giggles 03:01:44 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 And there is five wumpus instead of just one. 03:02:15 gettimeofday() provides enough bits to accurately measure time from 1970 to 292277026596. 03:02:18 There is also various colored potions. 03:02:25 So very much overkill. 03:04:31 Y29227702.6597K 03:04:55 Wait, I put the decimal in the wrong spot 03:05:02 Meh, correcting jokes ruins them I think 03:08:33 pikhq: -rwxr-xr-x 1 elliott elliott 22K Dec 4 03:07 box 03:08:39 pikhq: This time with separate object files and no code changes. 03:08:43 I am trying to make a Semi-literate Gforth this is what I have so far: http://sprunge.us/KaMH 03:09:18 Please tell me if it is wrong or any other suggestion and so on. 03:09:46 elliott: Hmm. 03:09:50 pikhq: Hmm? 03:09:54 Hmm. 03:10:02 pikhq: Is this the "evil idea" kind of hmm? 03:10:07 No. 03:10:13 pikhq: Aww. 03:10:14 Nice work though. 03:10:34 The box isn't my focus though; the individual programs are. 03:10:37 Perhaps you'd like a shell in there. 03:11:40 Please tell me an opinino of what I have so far this program!!?!. ! 03:12:07 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 zzo38: Cool. 03:13:30 http://uncyclopedia.wikia.com/wiki/UnPoetia:Walking_in_a_Klingon_Wonderland 03:14:33 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 I have not quite figure out yet how to make it format each word. 03:15:28 (The only thing this program does so far is indexing! I do need to add the other things in, too.) 03:17:06 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 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 pikhq: Barf. 03:19:42 pikhq: uname. 03:19:49 pikhq: Irritating because I have to join things up with spaces. 03:25:30 pikhq: uname done! 03:28:57 pikhq: I wish pcc had nicer warnings. 03:29:06 (It has very few, and seemingly none if you don't use system headers.) 03:43:15 pikhq: I'm going to tackle test; seems like fun. 03:43:39 Mmm. 03:44:06 Although actually no, not right now, it has some corner cases that look annoying. 03:44:14 Head! Everyone loves getting head in their coreutils. 03:44:34 o.O 03:45:03 Sgeo: What. 03:45:13 http://www.opengroup.org/onlinepubs/009695399/utilities/head.html 03:45:14 Head! 03:45:23 Ok 03:51:13 pikhq: Man, have you seen how laughably minimalist POSIX head is? 03:51:17 pikhq: http://www.opengroup.org/onlinepubs/009695399/utilities/head.html 03:51:22 pikhq: No negative argument, no bytes... 03:54:23 Man, to hell with head for now. 03:58:16 -!- baojian has quit (Read error: Connection reset by peer). 04:12:41 elliott: It's... Just head. 04:12:42 Wow. 04:12:53 This from the same people that brought us pax. 04:13:08 pikhq: I like how their head(1) is useless and yet they've bloated everything else. 04:13:11 Literally useless; I use -c all the time. 04:13:25 Yeah, -c is definitely a useful option. 04:13:52 2399 bin/basename 04:15:16 -rwxr-xr-x 1 elliott elliott 23K Dec 4 04:14 box 04:15:52 if (suffix) { 04:15:53 pathlen = strlen(path); 04:15:53 suffixlen = strlen(suffix); 04:15:53 if (!strcmp(path + strlen(path) - suffixlen, suffix)) 04:15:53 path[pathlen - suffixlen] = 0; 04:15:53 } 04:15:55 Deuglification welcome. 04:16:01 *pathlen, duh. 04:18:35 pikhq: Hey, you did basename too. 04:18:52 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 elliott: I implemented the precise algorithm POSIX specifies. 04:22:37 pikhq: So did I. 04:22:59 I must have made it more complicated than necessary. 04:23:05 Indeed :P 04:24:16 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 pikhq: Now I'm doing strings. 04:31:51 As in strings(1). 04:31:56 -!- Wamanuz has joined. 04:35:00 pikhq: strings done! 04:35:32 pikhq: Remind me to make these program use mmap sometime. 04:35:33 *programs 04:37:56 -!- augur has joined. 04:44:24 elliott: That's not my job, that's AnMaster's job. 04:44:42 pikhq: Actually, mmap is just plain nice. 04:44:47 pikhq: Think about it: It's orthogonal persistence. 04:44:58 "I want this bit of memory to happen to correspond to this bit of disk." 04:45:03 Let the OS handle the rest. 04:46:01 mmap is definitely a nice function. 04:48:59 Do you know how to make Where Is My Keys Soup? 04:57:16 pikhq: Lol, Wikipedia power abusers: http://en.wikipedia.org/wiki/User_talk:The_last_username_left_was_taken 04:57:23 log-reading ais523: http://en.wikipedia.org/wiki/User_talk:The_last_username_left_was_taken 05:03:20 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 At least that seemingly isn't case of wikipedia admins abusing their position for advancing agenda (yup, seen that too). 05:08:08 Ilari: Who hasn't. 05:08:35 Me, who doesn't pay attention to Wikipedia politics 05:08:41 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 They must get a real kick out of it. 05:09:09 Does XFF even reveal anything beyond IP? 05:10:10 Shouldn't think so. 05:10:52 You know what might work somewhat? Using cookies 05:10:58 No. 05:11:05 Shouldn't get any false positives from that, I th.. 05:11:10 Actually, n/m 05:14:07 -!- yorick has quit (Read error: Operation timed out). 05:14:24 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 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 There is Paranoia RPGness that focuses on High Programmers?! 05:39:11 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 Hello world. 06:04:46 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 So...I have a bit of a problem. 06:07:05 Good language idea, no idea what to name it. 06:07:53 evincar: What is the idea? 06:09:00 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 evincar: Can you call it "Timehaskell"? 06:09:52 Or, something similar 06:10:21 zzo38: Nah, it's not really like Haskell design-wise. I was just drawing a parallel. 06:10:33 I was thinking of something related to time, light, a timeline, or speed. 06:10:36 Or parallelism. 06:11:33 Maybe you can mix up the letters of some words to make a anagram. 06:12:12 Bit of a cheap trick. 06:12:23 Yes, it is bit of a cheap trick. 06:12:29 I've looked around in other languages, finding nothing really satisfying. 06:15:03 How does Enlight sound? 06:17:13 OK. 06:24:47 That's how I feel about it...it's not thrilling. 06:30:50 But I think it will do. 06:31:21 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 Oh, it's not an esolang... 06:34:04 ...at least, it's not supposed to be. 06:34:14 I think "Momentum" is better. 06:35:09 OK. 06:37:06 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 Haskell is not "kindof" functional 06:41:10 * Sgeo growls at everyone who thinks that IO introduces an impurity 07:15:14 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 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 04:47:40 time to buy minecraft 13:17:14 nooga: l o l 13:18:22 22:40:59 Haskell is not "kindof" functional 13:18:23 22:41:10 * Sgeo growls at everyone who thinks that IO introduces an impurity 13:18:28 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 pikhq: I made true and false smaller but they don't work now. :p 14:25:10 -!- geo has left (?). 14:31:55 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 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 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 Vorpal: HA! 15:07:08 pikhq: And HA! 15:07:25 Vorpal: pikhq: cal(1)'s behaviour is not specified to be locale-dependent (POSIX 2004). 15:07:27 " 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 That is all. 15:10:03 char *shortmonths = "janfebmaraprmayjunjulaugsepoctnovdec"; 15:10:06 saves me 11 nul bytes 15:10:08 -!- jcp has quit (Quit: Later). 15:13:02 -!- jcp has joined. 15:14:18 you could probably save the nul byte at the end of that too :D 15:14:38 somehow 15:16:51 -!- Sasha2 has joined. 15:18:39 -!- Sasha has quit (Ping timeout: 245 seconds). 15:19:59 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 oerjan: but hey, I'm not crazy! 15:29:38 sorta! 15:29:50 >_> 15:31:25 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 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 yes! 15:31:49 that is what I am! 15:31:52 hahahahahaha! 15:32:30 as long as that's settled then 15:32:42 WHY ARE YOU LAUGHING AT ME 15:32:51 hey WAIT 15:32:54 char *months[] = { 15:32:54 "January", "February", "March", "April", "May", "June", "July", "August", 15:32:55 "September", "October", "November", "December", NULL 15:32:55 }; 15:32:55 char *shortmonths = 15:32:57 "jan" "feb" "mar" "apr" "may" "jun" "jul" "aug" "sep" "oct" "nov" "dec"; 15:33:05 i could just use the first three characters of the months array! 15:33:25 quite so 15:33:53 why do you need null termination on months? 15:35:08 -!- nopseudoidea has joined. 15:35:30 oerjan: good point :P 15:35:43 oerjan: alas the code-based solution does *not* seem to help things. well, using tolower(). 15:35:45 i'll write my own tolower 15:36:47 wait what... 15:36:54 oh 15:37:23 That is all. 15:37:39 elliott, I believe all utils should have that 15:37:44 according to the spec 15:37:59 Vorpal: no, see http://www.opengroup.org/onlinepubs/009695399/utilities/cal.html 15:38:14 Vorpal: it is *expressly* defined, without any mention of locales, to use the 1752-switchover calendar 15:38:24 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 oerjan: that's just what GNU does 15:38:38 oerjan: which is usually completely uncorrelated with what posix wants :) 15:38:47 heh 15:38:51 elliott, I believe POSIX has a blanket statement about locales for output months 15:39:00 oerjan: but in that case, yes, it is correct 15:39:05 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 Vorpal: it is hard to get more precise than that 15:39:09 elliott, correct 15:39:14 everything else starts "In the POSIX locale" or the like 15:39:21 but then i'd hazard a guess that most norwegians, just like me, have no f idea when norway switched :D 15:39:26 elliott, but it doesn't say anything about what the output month names should be 15:39:28 Vorpal: ok, find the blanket statement; otherwise I contend you want me to violate POSIX 15:39:34 Vorpal: duh, I know *that* 15:39:51 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 elliott, and that bit is afaik covered by the blanket statement 15:39:55 elliott, indeed 15:39:56 *no other month 15:40:03 that seems correct 15:40:17 anyway if you want locale support, link these with uClibc or glibc :P 15:40:30 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 elliott, gettext? 15:41:38 Vorpal: um posix specifies that each locale should define its own date(1) formatting string 15:41:48 ah 15:41:50 okay 15:41:53 so I would *expect* it to be a standard call or something, but knowing Linux ... 15:42:05 elliott, it is probably by catgets 15:42:09 maybe 15:42:09 Vorpal: anyway gettext is *huge* especially for just one string... 15:42:17 i could just use an env var or something :P 15:42:18 elliott, more than that 15:42:27 Vorpal: not for date 15:42:32 char *fmt = "%a %b %e %H:%M:%S %Z %Y"; 15:42:33 $ date 15:42:34 lör dec 4 16:41:54 CET 2010 15:42:37 Vorpal: the actual month names etc. are done by strftime. 15:42:37 $ LC_ALL=C date 15:42:37 Sat Dec 4 16:42:00 CET 2010 15:42:41 Vorpal: and so are Not My Problem. 15:42:44 elliott, so they are localised? 15:42:52 Vorpal: in whateverlibc with locales,y es. 15:42:53 elliott, you still need to make one library call to make that happen 15:42:53 not with dietlibc. 15:42:56 Vorpal: it's just the default formatting string that's different. 15:43:00 Vorpal: no i don't 15:43:03 strftime looks at the locale 15:43:05 it's specified to 15:43:22 elliott, yes but the locale won't be used without that one library call 15:43:27 trying to remember the name of it 15:43:39 Vorpal: 15:43:40 ENVIRONMENT 15:43:40 The environment variables TZ and LC_TIME are used. 15:43:42 --strftime(3) 15:43:56 setlocale(LC_ALL, ""); 15:44:04 "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 and then that call 15:44:09 Vorpal: heh 15:44:13 well fuck that, i'll add that later 15:44:43 elliott, I mean it is one call :P 15:44:53 Vorpal: yes, but i have a lot of prorgams. 15:44:55 *programs 15:45:04 Vorpal: I'll do locale support after I implement, say, mount. 15:45:14 porngames 15:45:15 i want to get it useful first 15:45:24 oerjan: patches to add those welcome 15:45:31 O KAY 15:45:32 elliott, mount is not POSIX iirc 15:45:37 :P 15:45:39 oerjan: EVERY PATCH WELCOME 15:45:51 Vorpal: yes, it's useful; usefulness is in fact prohibited by POSIX 15:46:01 Vorpal: this is why POSIX still specifies SCCS commands (and in the same list as normal commands, at that) 15:46:13 hah 15:47:33 * elliott eliminates a division 15:48:29 poor soldiers 15:48:29 * elliott decides to steal most of the cal logic from pikhq 15:48:32 cal is a very ugly command 15:48:41 all the alignment, side-by-side, etc. 15:48:57 Vorpal: oh joy, another MC update 15:49:26 elliott, oh? 15:49:42 elliott, today? 15:49:48 hmm, maybe not 15:49:51 something just came through supposedly 15:49:52 elliott, nothing on his blog about it 15:49:59 "Now supports !" 15:50:03 * elliott dearly hopes that's a legitimate bug in the yellow 15:50:16 elliott, I think it is intentional 15:50:38 shush 15:50:46 elliott, it has been there for ages 15:51:59 Vorpal: http://en.wikipedia.org/wiki/Charles_Bukowski 15:52:16 HAHAHA CROSS-MEDIUM CONVERSATIONS 15:52:23 indeed 15:53:44 AAAAA jimmy wales 15:54:17 wait nothing about crossing mediums in that article 15:55:01 oerjan: no, I mean my conversation with Vorpal 15:55:27 you mean that link wasn't supposed to be on #esoteric? 15:55:42 oerjan: you can't Ctrl+V into minecraft. 15:55:49 so i said "IRC" on minecraft and linked it here 15:55:51 oh 15:56:08 clearly we need EmacsCraftTalk 15:57:00 Why does cal(1) start months with Sunday? 15:57:00 One cannot simply ctrl-V into Mord^H^H^Hinecraft. 15:57:08 Is it perhaps because it is an evil instrument of capitalism? 15:57:13 fizzie, ? 15:57:23 elliott, what would emacscrafttalk be? 15:57:42 Vorpal: Rip out Minecraft's chat input line and replace it with Emacs. 15:57:44 I mean full-blown Emacs. 15:57:46 Modelines and all. 15:58:04 elliott: i think that's locale dependent too 15:58:18 oerjan: yeah but fuck you i'm not implementing locales in cal to start with :D 15:58:23 it's enough of a mess to begin with 15:59:32 huh wait it's not 15:59:51 starts with sunday in norwegian locale too 16:02:02 oerjan: yeah that's just silly 16:02:05 only morons start the day with sunday! 16:02:30 "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 static const int months_offset[] = {0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5}; 16:02:39 from man cal 16:02:40 what 16:02:41 pikhq: what 16:02:53 oerjan: well, i'm quoting from the 2004 standard 16:03:02 or at least an indistinguishable draft 16:03:16 well they didn't say how far in the future :D 16:03:18 wait oerjan uses unix now? 16:03:23 or just googled manpages :P 16:03:38 i _do_ have an nvg shell account you know 16:03:57 oerjan: no you use windows on EVERYTHING 16:04:03 including your watch 16:04:06 even if you don't haveone. 16:04:08 IF YOU SAY SO 16:04:09 *have one. 16:04:15 my watch has only one window 16:04:18 it is round 16:08:08 starts with sunday in norwegian locale too 16:08:13 it starts with monday for me 16:08:17 in Swedish locale 16:11:43 sheesh 16:11:48 oh well 16:14:35 -!- wareya has quit (Read error: Connection reset by peer). 16:15:30 -!- wareya has joined. 16:17:26 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 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 (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 huh, apparently the cal here is BSD ncal 16:19:16 oerjan: is it linux? 16:19:24 the machine is linux 16:19:29 says uname -a 16:19:40 Ubuntu's cal is from bsdmainutils. 16:19:48 ok 16:19:51 Mine too, it seems. 16:19:52 (Debian.) 16:20:04 oerjan: try "dpkg" then "rpm" to determine approx. distro :P 16:20:24 Or "lsb_release -a" instead. 16:20:35 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 It's S as in Standard! 16:20:46 fizzie: Hey, Kitten is non-LSB-compliant. :P 16:20:51 And proud! 16:21:10 dpkg exists, rpm doesn't (at least in PATH) 16:21:12 elliott, are you on MC? 16:21:17 Kitten is angry, kitten is offended. 16:21:32 oerjan: And lsb_release? 16:21:35 fizzie: How did I get that reference without even double-taking... 16:21:42 fizzie: no such thing 16:21:51 My brain's random access times are AWESOME. 16:21:56 Vorpal: No; should I be? 16:22:02 elliott, maybe 16:22:05 do you want to? 16:22:13 Vorpal: I don't know. Are you doing something interesting? 16:22:21 elliott, fishing 16:22:29 Vorpal: what. 16:22:45 elliott, catching fish 16:22:50 utilising a fishing implemenat 16:22:54 implement* 16:23:10 Vorpal: there are no fish. 16:23:21 there are 16:23:26 elliott, they got fixed in MP 16:23:35 Vorpal: what, they exist in SP? 16:23:42 elliott, you don't see any swimming of course 16:23:47 Vorpal: wat. 16:23:48 but you can still catch them 16:24:00 elliott, 3 sticks + 2 strings = fishing rod 16:24:18 The fishing rod generates fish from otherwise plain water, as in real life. 16:24:49 fizzie: Do you always catch a fish -- * this big * -- and then mysteriously lose it seconds later? 16:24:58 You know, like in real life. 16:25:22 Well, there is a timing-related catchery you need to perform, I think. I've never really fished. 16:26:35 TODO: Make basename and dirname call strlen() only once and then work out the new length from the modifications made. 16:26:54 ah /proc/version has: 16:26:56 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 elliott, going to check? Also I want to try something 16:28:02 you can hit animals and drag them to you with the fishing rod 16:28:07 I wonder if it works on other players 16:28:14 oerjan: I suggest deleting [[WikiPL]] and [[Talk:WikiPL]] to avoid immense confusion 16:28:26 Vorpal: unlikely, I'm doing other things right now 16:28:37 elliott: i already made a request to the admins in the article 16:29:54 oerjan: oh you're not an admin :D 16:30:30 so it is 16:31:37 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 fizzie: elliott: ^ so it was apparently debian 16:31:43 right 16:31:47 also (3) done in a functional language 16:31:56 coughhaskellcough 16:32:12 elliott: wikiplia was done in ML 16:32:24 looks like http://www.wikipl.com/index.php/Main_Page has been updated to s/programming language/programming environment/g 16:32:31 oerjan: yes, but ML has untagged side-effects 16:32:38 oerjan: with Haskell, I'd just ban IO 16:32:39 yes 16:32:47 and limit computations to 30s or whatever 16:33:05 with haskell you can also make your own restricted IO monad 16:33:12 oerjan: indeed 16:33:25 oerjan: but usually it's nicest to deal with input as a presumably-lazy list anyway 16:33:29 at least for simple esolangs 16:33:34 and they rarely have non-stdin inputs 16:35:27 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 oerjan: openvms? awesome :D 16:36:17 [[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 :D 16:38:15 -!- MigoMipo has joined. 16:38:55 elliott: when i first joined nvg back in 1991/2 or something, their main machine was VAX/Ultrix 16:39:12 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 at that time the _main_ university system was VAX/VMS 16:40:46 hah 16:41:15 oerjan, in 1992 I had recently learned to speak. You are old 16:41:22 apparently so 16:41:32 bbl 16:46:42 Vorpal: (1) no (2) you are wrong 16:46:53 (3) you don't understand hackiki, or you don't understand what i said, pick one 16:48:37 wtf c-mode. 16:48:39 you are doing it wrong 16:48:40 oh 16:48:41 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 http://www.vg.no/nyheter/utrolige-historier/artikkel.php?artid=10027789 16:55:36 static void repeat_print(const char *s, int n) 16:55:36 { 16:55:37 for(int i = 0; i != n; i++) 16:55:37 printf("%s", s); 16:55:37 } 16:55:41 pikhq: How did you manage to make that a function. 16:56:07 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 lovely translation, that 16:56:52 (forspiste = over-ate) 16:56:56 -!- sftp has joined. 16:58:08 -!- sftp_ has quit (Ping timeout: 264 seconds). 16:58:45 http://www.vg.no/nyheter/utrolige-historier/artikkel.php?artid=10027789 <-- fake news? 16:59:00 Vorpal: AP from the looks of it, so no 16:59:06 it's in "Amazing Stories" 16:59:07 um not that i know of... 16:59:28 oerjan, what is "sekk"? 16:59:29 AP, Reuters and probably others all have sections dedicated to weird stuff. 16:59:55 oerjan: "I took the rat in uninvited dogjest" what the hell is dogjest :D 17:00:04 is it like... the kind of joking a dog does 17:00:07 dog jest 17:01:34 do-gjest = toilet guest 17:01:52 Vorpal: bag 17:02:15 hm 17:02:26 -!- sftp_ has joined. 17:03:14 -!- sftp has quit (Ping timeout: 245 seconds). 17:03:16 elliott: it's not AP, it's norwegian news and it says the source is VG itself 17:03:26 also that translation did 50 cm -> 50 inches 17:03:27 oerjan: then google translates VG as AP :) 17:03:27 fail 17:03:33 presumably due to statistical translation 17:03:35 same as Vorpal's error 17:04:05 elliott: huh that's VG Nett in the original 17:04:21 also i noticed it translated 50 centimeter into 50 inches 17:04:57 oerjan: well google translate is all statistical translation 17:05:10 oerjan: you're likely to see AP and VG in similar places but in english vs. norwegian texts 17:05:12 thus the error 17:05:15 same with cm vs. inches 17:05:20 quite so 17:06:22 amazing stories is not far off though, although "incredible" is closer 17:07:22 elliott, I really like painterly 17:07:27 wish there was a high-res one 17:07:56 -!- sftp has joined. 17:08:01 oerjan: http://www.pulpworld.com/images/amazing_stories_2808.jpg 17:09:04 static const unsigned char sep1752[] ALIGN1 = { 17:09:04 1,2,14,15,16, 17:09:04 17,18,19,20,21,22,23, 17:09:04 24,25,26,27,28,29,30 17:09:04 }; 17:09:05 CHEATER 17:09:06 (busybox) 17:11:34 -!- sftp_ has quit (Read error: Connection reset by peer). 17:13:35 heh 17:14:06 -!- sftp has quit (Ping timeout: 240 seconds). 17:14:29 -!- sftp has joined. 17:18:25 December 2010 17:18:26 Mo Tu We Th Fr Sa Su 17:18:26 1 2 3 4 5 17:18:26 6 7 8 9 10 11 12 17:18:26 13 14 15 16 17 18 19 17:18:26 20 21 22 23 24 25 26 17:18:28 27 28 29 30 31 17:18:30 It's a start. 17:20:18 ...looks pretty finished to me... 17:22:40 oerjan: You also need to handle printing entire years. 17:22:58 oerjan: Which are, traditionally, three months side-by-side. 17:23:01 == pain. 17:23:05 right 17:23:14 oerjan: And I also have to handle Julian dates to be Totally Correct(TM). 17:23:15 coroutines maybe? 17:23:18 (different leap year logic) 17:23:28 oerjan: pretty much, pikhq's implementation manually does coroutines 17:23:35 oerjan: by having one step of the coroutine be a function :P 17:23:39 and then building the rest manually 17:23:44 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 Also I have to clean up pikhq's horrible code ;) 17:26:49 elliott: I previously had it as actual Duff's Device coroutines. 17:27:06 pikhq: I believe that I saw that and told you you were crazy. 17:27:07 :P 17:27:26 elliott: Also: my C code there is heavily heavily Haskell-influenced. 17:27:32 elliott: Lots and lots of tiny functions! 17:27:38 pikhq: Yeah... 17:27:42 Functions are the DEVIL, they take up code space :P 17:27:47 (Usually.) 17:27:54 Any reasonably optimising compiler will inline them. 17:28:05 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 writecentred(months[i], strlen(months[i]), 20); printf(" "); 17:28:24 writecentred(months[i+1], strlen(months[i+1]), 20); printf(" "); 17:28:24 writecentred(months[i+2], strlen(months[i+2]), 20); printf("\n"); 17:28:25 Two or more, use a for! 17:29:19 :p 17:30:05 elliott: Look at BSD cal for a bit. 17:30:09 pikhq: No thanks! 17:30:18 pikhq: Plan 9 cal is quite nice. BusyBox cal is pretty horrid. 17:30:18 Aaaaw. I wanted to induce serious trauma. 17:30:28 BusyBox cal is a derivative of BSD cal. 17:30:32 pikhq: Does *anyone* actually *use* cal? 17:30:34 what 17:30:36 And by association, a derivative of UNIX cal. 17:30:41 pikhq: And if so, WHY 17:30:42 *WHY? 17:30:48 I DON'T KNOW. 17:30:50 IT'S JUST REVOLTING 17:31:06 cal cal calllll 17:31:12 pikhq: I'm sorely tempted to split it into two programs, the second being a "columnaterate" one. 17:31:17 elliott: I didn't even know there was a cal before I wrote it. :P 17:32:21 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 elliott: i _have_ occasionally used cal in the past 17:32:35 oerjan: for what?! 17:32:42 GNU cal, I'm pretty sure, actually shows the current day. 17:32:45 ...for looking up a date? 17:32:46 Yeah, it does. 17:32:49 pikhq: ncal too 17:32:51 pikhq: but it's a bit ugly 17:32:59 and by the time that was implemented everyone stopped using cal :) 17:33:02 And GNU cal's code is probably revolting. 17:33:20 pikhq: They probably employ Greenspun's Tenth Law to implement, not coroutines, but continuations. 17:33:27 Actually, I hope they do. That would be cool. 17:34:23 6375 cal 17:34:27 Surprisingly, it's smaller than cat... 17:34:35 Also broken! Yay! 17:34:43 for (cal1 = cal2 = cal3 = 0; cal1 || cal2 || cal3; line++) { 17:34:45 pikhq: Spot the stupid. 17:34:57 pikhq: Ooh, I should use termios or something to figure out how wide the terminal is, and, and :P 17:35:31 $ bin/cal 17:35:32 2010 17:35:32 January February March 17:35:32 Segmentation fault 17:35:35 a terminal condition 17:35:42 January, February, March, Segmentation fault, April, June, July... 17:35:47 elliott: ... 17:35:54 pikhq: I done broke it somehows. 17:36:06 elliott: bit of a rough spring, there 17:36:15 Astounding considering my avoidance of memory allocation. 17:36:19 oerjan: you'd better swat yourself 17:36:28 pikhq: I haven't allocated memory *once* in this entire coreutils yet. 17:36:34 pikhq: Malloc is my most-hated function. 17:36:45 elliott: Yeah, I'm just saying it's a whole lot harder to do a segfault without malloc involved. 17:36:48 Yeah. 17:36:55 Well. By accident. 17:36:57 Clearly I've overrun some static array. 17:36:58 Or something. 17:37:02 It's really easy to do segfault intentionally. 17:37:15 int main(){*NULL=0;} 17:37:16 for (mo = 0; mo < 11; mo += 3) { 17:37:19 writecentred(months[mo], strlen(months[mo]), 20); write(1, " ", 1); 17:37:19 writecentred(months[mo+1], strlen(months[mo+1]), 20); write(1, " ", 1); 17:37:19 writecentred(months[mo+2], strlen(months[mo+2]), 20); write(1, "\n", 1); 17:37:22 10+2 = 12, so 17:37:36 pikhq: my months array is 17:37:39 static char *months[] = { 17:37:39 "January", "February", "March", "April", "May", "June", "July", "August", 17:37:39 "September", "October", "November", "December" 17:37:39 }; 17:37:46 pikhq: which is also what yours is 17:37:51 pikhq: so how come you didn't overflow that buffer? 17:38:03 for(int i = 0; i < 11; i += 3) { 17:38:03 output_centered(months[i], strlen(months[i]), 20); printf(" "); 17:38:03 output_centered(months[i+1], strlen(months[i+1]), 20); printf(" "); 17:38:03 output_centered(months[i+2], strlen(months[i+2]), 20); printf("\n"); 17:38:07 ^ from your code 17:38:28 I genuinely do not know how. 17:38:38 pikhq: :D 17:39:02 "Age: 12 years" --BSD CVS. 17:39:05 FreeBSD, in particular. 17:39:14 My code is *incorrect* but it works correctly. XD 17:40:13 pikhq: that isn't the bug though 17:40:16 wait what the fuck 17:40:23 oh, have to reset line 17:41:15 pikhq: btw, i've changed it to start the week with monday 17:41:19 because that's the right thing to do. 17:41:43 elliott: I'm gleefully US-centric except when I'm not. :P 17:41:52 pikhq: By the way... 17:41:53 static char *shortmonths = 17:41:54 "jan" "feb" "mar" "apr" "may" "jun" "jul" "aug" "sep" "oct" "nov" "dec"; 17:42:00 pikhq: NUL BYTES TAKE UP VALUABLE BINARY SPACE 17:42:19 o.O 17:42:43 pikhq: You have to understand: right now, cal is *less than 7 decimal kilobytes*. 17:42:53 I can achieve these things because I am a lunatic. 17:42:57 -!- nopseudoidea has quit (Quit: Quitte). 17:43:25 I presume you still have the Doomsday algorithm. 17:44:10 pikhq: Wait. Your code isn't incorrect. 17:44:20 pikhq: Also, what Doomsday algorithm? All the logic is from your code. 17:44:35 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 Note to self, centring is broken. 17:45:47 elliott: I use the Doomsday algorithm for figuring out which day of the week the month starts on. 17:46:12 doomy day of doom 17:46:17 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 pikhq: Is that... efficient? :P 17:47:27 elliott: Depends on your opinions of division and modulus. 17:47:48 pikhq: Division baaaad. Modulo good. 17:48:01 The algorithm, BTW, is starting_day() in my cal. 17:48:01 pikhq: (Division by power of two acceeeeeptable.) 17:48:09 *firstday in *my* cal :P 17:48:20 /* Thirty days hath September, 17:48:21 April, June and November; 17:48:21 All the rest have thirty-one, 17:48:21 Save February, with twenty-eight days clear, 17:48:21 And twenty-nine each leap year. */ 17:48:22 static int monthdays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 17:48:28 Nice comment. 17:48:29 Not only do I improve on your code, I give it nice comments too. 17:48:35 MY SERVICES ARE BOUNDLESS 17:48:40 pikhq: (That rhyme is really terrible in the last two lines.) 17:48:46 Yuh. 17:48:49 It's like, hey, guys, you know those leap years we have now?? WE HAVEN'T UPDATED THE RHYME 17:48:51 Damned February. 17:48:56 "Oh well, let's just do it half-assedly." 17:49:13 pikhq: You know, monthdays could be a ... bitmask. 17:49:19 Well. Tritmask. 17:49:26 Actually, bitmask. 17:49:29 Just special-case February. 17:49:52 0b1X1010110101 17:49:55 Where X doesn't matter. 17:50:15 pikhq: Question: Am I crazy enough to think that (monthdays & (2< 6247 cal 17:51:13 Now to make the change. 17:51:41 elliott: So now you're making it clever. 17:51:54 elliott: And it'll *still* be better than UNIX cal. 17:52:25 NOT IF I HAVE ANY SAY IN THE MATTER 17:53:12 YOU DON'T 17:53:20 YOU CANNOT ESCAPE YOUR DESTINY 17:54:24 6367 link 17:54:27 Nope, it's a net loss. 17:54:40 -!- MigoMipo has quit (Ping timeout: 255 seconds). 17:56:58 MoMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su 17:56:58 1 2 3 Mo 1 2 3 4 5 6 7 1 2 3 4 5 17:56:59 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 11 12 13 14 15 16 17 Mo15 16 17 18 19 20 21 13 14 15 16 17 18 19 17:56:59 18 19 20 21 22 23 24 Mo22 23 24 25 26 27 28 20 21 22 23 24 25 26 17:56:59 25 26 27 28 29 30 31 Mo2 17:57:01 what. 17:57:24 what. 17:57:51 pikhq: Would this not be simpler? http://en.wikipedia.org/wiki/Zeller%27s_congruence 17:58:09 Try it. 17:58:19 pikhq: That's work :P 17:59:15 Oh, BTW, if you're *really* anal about it, you might want to make it handle Julian dates correctly. 18:00:00 IANAL 18:00:33 pikhq: I'm going to, hopefully. 18:00:44 pikhq: Because I want September 1752, the whole calendar before that should look right! 18:01:00 pikhq: Anyway, this thing is still, inexplicably, smaller than cat. And link. 18:01:11 I think because I don't have the errno strings in there. :p 18:03:40 6239 cal 18:03:49 Yeah, it's probably errno doing that. 18:04:24 6079 cal 18:04:27 Success! Shrinkage! 18:04:30 Awesome. 18:04:55 * pikhq looks forward to elliot's install disk for kitten. 18:05:02 Two Ts! Two Ts! 18:05:03 I will be disappoint if it won't fit on a floppy. 18:05:10 pikhq: I was about to say. :p 18:05:26 elliot's insttall disk for kitten. 18:05:44 pikhq: 26231 box 18:05:48 " I ANAL" " Success! Shrinkage!" 18:06:02 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 I GUESS I FORGOT TO WRITE ALL THE CODE THAT MAKES THAT HAPPEN 18:06:15 IT IS INSTEAD RELYING ON MAGIC 18:06:17 elliott: And that's before upx. 18:06:19 :D 18:06:29 pikhq: I very much doubt UPX will work on this. 18:06:38 Are you sstrip'ing? 18:06:40 pikhq: I'm using sstrip, which is like strip except it uses a fucking chainsaw. 18:06:41 pikhq: Yes. 18:06:45 It won't work. 18:06:50 elliott: Does it highlight the current day in cal? :P 18:06:55 pikhq: If you give one of these executables to objdump, it says it's an ELF, and then just quits. 18:07:13 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 upx compresses it, and then fails to decompress it. 18:07:20 Cal doesn't process command-line arguments yet but that's a few bytes of code :P 18:07:39 elliott: Where IS this code? :P 18:07:45 Gregor: ~/code/tools 18:07:51 Gregor: I can get you the latest .cpio.Z if you want. 18:08:03 (Format chosen for ridiculousness. .cpio.lzma (not xz) also available.) 18:08:08 elliott: I only want it if you implemented both cpio and compress. 18:08:15 Gregor: Not yet, but soon :P 18:08:29 Gregor: I could finish the dd/sharchiver and get you a dd/shar, though! 18:08:34 Then you'd only need sh and dd. 18:08:58 pikhq: Did I mention I'm calling the linker manually so I can use --gc-sections/ 18:08:59 *sections? 18:09:04 That actually has an impact on the resulting size. 18:09:14 elliott: -Wl,--gc-sections? 18:09:39 pikhq: OK, looks like pcc does, in fact, have -Wl. 18:09:43 pikhq: I'll try that later. 18:09:53 pikhq: I wish I could use -ffunction-sections, but that's gcc-only :P 18:10:05 pikhq: What, UPX compresses box to 14232 bytes. 18:10:13 Now execute it. 18:10:16 It works. 18:10:20 (I strip -s'd it instead of using sstrip.) 18:10:25 Aaaah. 18:10:28 Awesome. 18:10:33 ^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 ^@ 18:10:34 ^@$Info: This file is packed with the UPX executable packer http://upx.sf.net $ 18:10:34 ^@$Id: UPX 3.05 Copyright (C) 1996-2010 the UPX Team. All Rights Reserved. $ 18:10:34 ^@<90><90>^j^B_j^AX^O^Ej^?_j Duuuude, that's so wasting space. 18:10:47 lawl 18:10:57 Quick info for achieving the best compression ratio: 18:10:57 · Try upx --brute myfile.exe or even upx --ultra-brute myfile.exe. 18:10:57 · Try if --overlay=strip works. 18:10:58 Though you might want to sstrip it and then use a compressed filesystem, instead of upx. 18:10:58 DON'T MIND IF I DO 18:11:21 upx: packer_c.cpp:43: static bool Packer::isValidCompressionMethod(int): Assertion `0 && "Internal error - LZMA not compiled in"' failed. 18:11:24 Okay, not ultra-brute then. 18:12:35 Aha, there's a non-free UPX. 18:12:37 Let's try that one. 18:13:36 26752 -> 13708 51.24% linux/ElfAMD box 18:13:38 pikhq: HOW IS THIS WORKING 18:13:45 elliott: MAGIC AND AWESOME 18:13:54 ^@$Info: This file is packed with the UPX executable packer http://upx.sf.net $ 18:13:54 ^@$Id: UPX 3.05 Copyright (C) 1996-2010 the UPX Team. All Rights Reserved. $ 18:13:54 grrr 18:13:57 GET THE FUCK OUT OF MY EXECUTABLE 18:14:19 elliott: strip it! 18:14:27 pikhq: Tried that; it gets killed when I start it :P 18:14:32 Aaaaw 18:14:40 what 18:14:44 I just sstrip'd the upx'd box. 18:14:45 It works. 18:14:56 The UPX string is still there though. 18:15:01 But I saved 9 bytes. 18:15:51 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 I do not like these people. 18:16:39 pikhq: Hey, you CAN UPX an sstriped executable. 18:16:41 And then sstrip that. 18:16:44 -rwxr-xr-x 1 elliott elliott 13508 Dec 4 18:15 box 18:17:15 pikhq: Did I mention this box has stupid things like two copies of every signal name? 18:26:52 pikhq: Woo! It all works apart from Julian dates. 18:29:49 pikhq: I know that the leap year logic is different for Julian dates. 18:29:50 Anything else? 18:30:09 nope 18:30:16 -!- Sasha has quit (Ping timeout: 245 seconds). 18:30:23 oerjan: that's it? 18:30:23 cool 18:30:34 unless you want to calculate Easter ;D 18:30:38 no :P 18:31:58 September 1752 18:31:58 Mo Tu We Th Fr Sa Su 18:31:58 1 2 14 15 16 17 18:31:58 7 8 9 10 11 12 13 18:31:58 14 15 16 17 18 19 20 18:31:59 21 22 23 24 25 26 27 18:32:00 -!- Sasha has joined. 18:32:01 28 29 30 18:32:03 pikhq: Can I have a failure badge please? 18:32:25 September 1752 18:32:25 Mo Tu We Th Fr Sa Su 18:32:25 1 2 14 26 38 18:32:26 And another? 18:35:13 elliott, why is it so tricky to just skip some days? 18:35:34 elliott, oh and cfunge has jdn/gregorian conversion code if you need it 18:36:30 Vorpal: it isn't tricky to do that at all :P 18:36:34 also, i don't need to conevrt 18:36:35 *convert 18:36:38 just show correct calendars 18:38:11 1 2 15 16 17 18 18:38:11 15 16 17 18 19 20 21 18:38:11 15 16 17 18 19 20 21 18:38:11 21 22 23 24 25 26 27 18:38:11 28 29 30 18:38:12 wat 18:38:29 pikhq: Your architecture sucks and I blame you wholly :P 18:39:26 -!- Sasha2 has joined. 18:39:59 elliott: Your architecture sucks and I blame you wholly. 18:40:05 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 pikhq: Yay, I have to handle January, February and March 1752 specially too. 18:42:10 hello 18:42:16 elliott: 貴方のアーキテクチャが悪くて、全部貴方之所為です。 18:42:48 pikhq: wat 18:42:53 elliott: Your architecture sucks and I blame you wholly. 18:43:20 elliott: (anata no âkitekutiȳa kà warukute, sènnhù anata no sei tèsu.) 18:43:30 pikhq: Oh jesus christ, 1683 was fucked up too. 18:43:32 H S E The body of Tho[mas] 18:43:33 the sonn of Tho. Lambert gent. 18:43:33 who was borne May ye 13 An[no] Do[mini] 1683 18:43:33 & dyed Feb. 19 the same year. 18:44:16 pikhq: http://web.mac.com/jac314159/CTC/AllArticles/ShortYear.html 18:44:20 pikhq: Fuck everything about this. 18:45:43 elliott: So, proleptic Gregorian calendar? 18:46:15 pikhq: Now technically POSIX says that Julian dates must be handled 18:46:15 correctly. But then POSIX also said that it loved me, and 18:46:15 I'm sick and tired of it. 18:46:19 Problem solved by way of code comment. 18:46:31 s/Julian/*all* Julian/ 18:46:35 (I'm doing sep 1752) 18:46:54 -!- Goosey has joined. 18:48:11 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 oerjan: yeah. well. fuck that 18:48:56 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 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 pikhq: 18:58:53 $ bin/cal 10000000000 18:58:53 1410065408 18:58:54 lol 19:02:33 elliott: I DISBELIEVE IN THAT BEHAVIOR 19:03:14 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 pikhq: Want the current code? 19:04:30 -!- MigoMipo has joined. 19:06:51 -!- Phantom_Hoover has joined. 19:09:16 pikhq: y/n? 19:09:29 pikhq: I have devised an even better archive format than last time to give it to you in. 19:09:31 Gregor take note. 19:10:15 pikhq: what do you use when filebin is down like it is now? 19:10:17 erm 19:10:18 ais523: 19:10:19 not pikhq 19:10:38 Oh, it's up now. 19:11:01 pikhq: Gregor: BEHOLD: http://filebin.ca/wsszc/tools.minixfs.lzo 19:11:07 I dare anyone to come up with a better archive format than that. 19:12:06 Phantom_Hoover, hi 19:12:15 Phantom_Hoover, gave you more cobble, also helped a bit 19:12:27 Vorpal: Dude, shut up and behold my archival format. 19:12:32 An LZO-compressed Minix filesystem image. 19:12:35 I am a friggin' genius. 19:12:52 elliott, you are insane 19:12:59 Vorpal: And a GENIUS. 19:13:17 Vorpal, does the term "evil genius" not come to mind? 19:13:34 Phantom_Hoover, mad scientist 19:14:28 Vorpal, OS design is not, in fact, a science. 19:14:48 $ cal 10000000000 19:14:48 cal: year 1410065408 not in range 1..9999 19:15:44 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 elliott: Insufficient partitions. 19:16:55 oerjan: By the year 10000, we will clearly have eradicated the Earth, making leap years a curious historical artifact. 19:17:14 well that's a possibility 19:18:01 Gregor: That's Y10K incompliant. 19:18:15 Gregor: Anyway, dude, tools.minixfs.lzo. 19:18:18 Gregor: Can you BELIEVE how awesome I am 19:18:18 Phantom_Hoover, have you abandoned MC? 19:19:08 pikhq: Would you like a copy of the pcc/dietlibc toolchain required to build this? It's not very big. 19:19:20 elliott: AHAHAHAH. 19:19:27 pikhq: wut. 19:19:35 elliott: Oracle added ZFS code to GRUB. Which is under GPLv2+. 19:19:40 pikhq: Indeed. 19:19:48 pikhq: But it's a very limited form of ZFS. 19:20:01 Pity. 19:20:15 pikhq: Now do you want the toolchain? :P 19:20:26 pikhq: I swear I'll come up with an EVEN BETTER packaging method for it. 19:20:48 pikhq: Oh, wait... dietlibc remembers its prefix. You'd have to install it into ~elliott/kitten/stage2. 19:20:58 If only Oracle weren't asshats. 19:21:26 "Here's a ZFS Linux kernel module, under GPLv2. Have at." 19:21:39 pikhq: YOU CANNOT AVOID TALKING ABOUT MY COREUTILS :P 19:21:43 elliott: YES I CAN 19:21:53 pikhq: Do you not APPRECIATE them?!?!?! 19:23:46 Vorpal, I was off IRC! 19:24:17 Vorpal: lol @ http://www.pcgamer.com/2010/12/03/the-minecraft-experiment-day-8-alive/ 19:24:20 Phantom_Hoover too 19:24:48 Ah, he updated. 19:25:55 SHOCKING NOTCH SCANDAL AFFAIR 19:25:55 http://twitter.com/dannyBstyle/status/10591046236905472 19:25:57 http://twitter.com/notch/status/10592312375644161 19:25:59 http://twitter.com/notch/status/10595190087622656 19:26:00 http://twitter.com/notch/status/10595258538663936 19:26:05 READ ALL ABOUT IT 19:26:11 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 Phantom_Hoover: And a good change he won't :P 19:26:31 *chance 19:27:06 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 Vorpal: HURR I'M SWEDISH SO I CAN'T FUCKING UNDERSTAND SARCASM 19:27:36 THEREFORE I WILL CALL FUNNY PEOPLE IDIOTS 19:27:53 (AND ALSO IGNORE THE FACT THAT HE'S PLAYING THE GAME WITHOUT READING ANY SPOILERS OR ANYTHING) 19:28:06 ah 19:28:26 -!- impomatic has joined. 19:28:48 Vorpal, that's a new low for you. 19:28:55 "I wonder what command I'll implement next, oh, I know; compress(1)! That sounds EASY!" 19:28:57 Sub-self irony. 19:30:04 Phantom_Hoover, anyway finished one half more layer on the ROU 19:30:06 [[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 Vorpal, how'd you get the ellipse shape? 19:30:55 compress should be a short one 19:31:02 Phantom_Hoover, from looking at the opposite side 19:31:07 Phantom_Hoover, which was done 19:31:28 Vorpal, aaaah. 19:31:37 -!- evincar has joined. 19:31:51 the evil car is back 19:31:55 I've decided that inaccuracy is tolerable since the thing already has tonnes of it. 19:32:43 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 pikhq: WTF. Unified diffs aren't POSIX. 19:33:46 evincar: not lately. i think i saw parts of christine once. 19:34:23 Hmm, Good Old Games is in trouble. 19:34:39 * Phantom_Hoover feels guilty for torrenting FreeSpace 2. 19:34:42 clearly there is nothing unified in POSIX 19:35:54 Standards shmandards. 19:36:20 Phantom_Hoover: in trouble? 19:37:06 Phantom_Hoover, still you might want to check the thing 19:37:29 Phantom_Hoover, I also widened walkway to workshop 19:38:10 Phantom_Hoover, and added drop pool at the bottom of the ladder 19:38:18 -!- Smmick has joined. 19:38:35 hi 19:38:38 Hola 19:40:19 Smmick: Welcome. 19:41:03 hi evincar 19:41:22 Phantom_Hoover, should I extend the middle floor all the way out? 19:43:13 must extend the ke?? 19:43:26 what? 19:43:34 oh that was an off topic thing 19:44:03 Smmick, this channel is about esoteric programming languages, not esoterica btw. Surprisingly many get that wrong 19:46:01 Phantom_Hoover, I'll default to yes then 19:46:40 you know the programming of computers 19:46:42 are called binary numbers 19:46:56 uh... in a way I guess 19:48:09 computers is when data is transferred or messages with just 0 and 1 19:48:31 knows that any hacker like me 19:48:47 elliott, I think this is one for you 19:49:08 jaja 19:49:16 elliott 19:49:57 " knows that any hacker like me" wow X-D 19:50:21 XD 19:50:28 Smmick: Caultrick of the vordemont. 19:50:36 Smmick: Dost thou know otooooooooooooooooooooooooooooooooooooo? 19:50:45 elliott: Clearly POSIX be damned. 19:50:51 Smmick: I'n your mother crappy -- on the news that mroing -- and everyone died. 19:50:56 Smmick: You too shall die soon! Your house I'm at. 19:51:02 Haha, , throough! the window you pretty. 19:51:03 Smmick: Caultrick of the vordemont. <-- what 19:51:05 OCTETS? OCTETS ARE EVIL 19:51:10 Vorpal: DON'T THE VARIABLE 19:51:15 Smmick: YOU DON'T EVEN KNOW ABOUT THE VARIABLE 19:51:28 i cry softly but tomorrow revenger 19:52:10 whether the variables in a PHP Code 19:52:28 elliott, stop acting like an insane markov chain 19:52:29 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 Smmick: and that is when i stab 19:52:46 my uncle just in English or Spanish that if no other language or just know there will be 1 19:53:05 Smmick: Your uncle may only be in English or Spanish now... 19:53:07 But soon there will be THREE. 19:53:48 Gregor: I think "HELP COMPUTER" was an unfortunate choice of topic. 19:54:08 elliott: Bahahahaa 19:54:21 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 I was going to fix quintopia's but then I got A BETTER IDEA half-way through. 19:55:10 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 look is at least 3 languages ok 19:55:59 English 19:56:00 Frances 19:56:00 Spanish 19:56:05 ________________ 19:56:12 only if you use them all at once 19:56:14 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 y.. 19:56:45 Yes, indeed, the arsenics are coming to sparta the legion of overlords. 19:56:48 okay that's good enough. i'll leave that one 19:56:49 I don't parle pas español 19:56:58 `addquote I don't parle pas español 19:57:13 `echo NO I DON WANNA 19:58:32 `help 19:58:34 No output. 19:58:34 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 19:58:37 No output. 19:58:44 :/ 19:58:46 ...not promising 19:59:04 `ls 19:59:06 babies \ bin \ paste \ quine \ quotes \ tmpdir.1875 19:59:25 `addquote I don't parle pas español 19:59:34 266| I don't parle pas español 19:59:35 Failed to record changes. 19:59:35 Where to go to the \ bin \ pasta \ quine \ quotes \ 19:59:40 `cd babies 19:59:42 No output. 19:59:49 `ls 19:59:51 babies \ bin \ paste \ quine \ quotes \ tmpdir.2038 20:00:12 huh. apparently changing PWD isn't allowed? 20:00:23 quintopia: There is no cross-session PWD 20:00:26 between commands anyqway 20:00:27 quintopia: The 'babies' directory was for an unpopular feature that decreed that people had babies every time they said "fuck" :P 20:01:12 `run cd babies;ls 20:01:13 babies.db 20:01:18 `quote 265 20:01:20 265|Thanks to nooga for constructive criticism, his ideas and being a constant annoyance. --http://theendisnear.no-ip.info/ 20:01:23 `quote 266 20:01:25 No output. 20:01:43 Well that's nae good :P 20:02:04 Gregor: your partition has become read-only D: 20:02:15 `run echo hi > foo 20:02:16 No output. 20:02:20 `cat foo 20:02:21 hi 20:02:25 okay maybe not 20:02:25 I disagree. 20:02:29 quote program breakage 20:02:38 Probably doesn't support ñ :P 20:02:49 flail 20:02:56 `cat bin/quote 20:02:57 #!/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 Erm 20:03:06 `cat bin/addquote 20:03:09 #!/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 `addquote ẅ 20:03:39 266|ẅ 20:03:40 Phantom_Hoover, get on MC! 20:03:41 Failed to record changes. 20:03:43 Gregor: wat. 20:03:51 That is why part of the DB Table Base date 20:03:57 `addquote 20:03:57 Add what quote? 20:04:02 elliott: Idonno *shrugs* :P 20:04:05 Wow, that [ ! "$1" ] actually works. 20:04:30 `addquote < elliott> Wow, that [ ! "$1" ] actually works. 20:04:32 266|< elliott> Wow, that [ ! "$1" ] actually works. 20:04:33 elliott: So does your mom. 20:04:40 `quote 266 20:04:41 266|< elliott> Wow, that [ ! "$1" ] actually works. 20:04:50 yeah probably the character thing 20:05:04 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 haha 20:06:02 que c'est 20:06:05 ?=???=?? 20:07:09 Talk confused me XD 20:07:10 20:07:13 Talk confused me XD 20:07:35 bye 20:07:44 adios to all 20:07:58 Okidoke 20:08:13 ooo_ooo 20:10:43 bye 20:12:24 -!- Smmick has quit (Remote host closed the connection). 20:16:55 -!- Sgeo has joined. 20:17:28 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 (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 o.O 20:27:20 pikhq: I now have mkdir, with everything apart from symbolic modes. 20:28:15 Note to self: always change monitors *before* disconnecting the output device. 20:30:50 pikhq: I need a profiler except for binary size. :P 20:31:05 mkdir is pushing 10k for no apparent reason. 20:31:16 Any answer to my question? 20:31:24 -!- impomatic has left (?). 20:31:43 Phantom_Hoover, so, did you check my ROU work? 20:32:37 I will now. 20:32:43 What shall I call it... 20:32:59 Phantom_Hoover: "So Did You Check My ROU Work?". 20:33:13 Phantom_Hoover: Or: "Pushing 10K For No Apparent Reason". 20:36:27 -!- zzo38 has joined. 20:37:00 What does "I, for arsenic, sparta our overlord-based legion." mean? 20:37:54 zzo38: I think it's pretty clear. 20:39:20 They talked about arsenic on the radio today. 20:40:33 Just... arsenic? 20:40:35 On its own? 20:41:24 They talked about arsenic based lifeform and how it is related to the other elements in the periodic table. 20:41:25 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 elliott, is your pushing me away from Racket in the past to do with it deviating from Scheme, or other reasons? 20:43:08 Gregor: my favourite cookbook. 20:43:20 Gregor: Also, as opposed to common endangered species? :P 20:44:20 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 Gregor: What you're saying is, they're not well-done. 20:45:39 elliott: Yes. We need to send them back, they're still red inside. 20:45:57 Gregor: That's what happens when you cook with arse-s. 20:46:01 (That was terrible.) 20:46:18 -!- wareya_ has joined. 20:46:34 Their binomial name is Archaea arsedick 20:46:56 (Note: They're not even archaea, and if they were, that wouldn't be their genus :P ) 20:48:14 Gregor: YES IT WOULD 20:48:29 -!- wareya has quit (Ping timeout: 265 seconds). 20:49:28 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 zzo38: Is this at all surprising? 20:51:39 evincar: No, I do not think so. But I think 7z does not have a option to extract twice? 20:52:04 arsenic based life? really? 20:52:32 zzo38, you could use tar -zxf on linux 20:52:55 Vorpal, indeed. 20:52:55 Vorpal: But I used: zcat < filename.tar.gz | tar -x 20:53:13 It s/phosphorus/arsenic/s 20:53:15 zzo38, seems needlessly complicated 20:53:27 Vorpal: they're bacteria that can (optionally) use arsenic instead of phosphorus in their DNA and stuff 20:53:29 Phantom_Hoover, oh, still carbon-based then 20:53:29 And if I make Linux distribution, I would also make it work with pipe commands, too. 20:53:32 Vorpal: technically, that's simpler than "tar xzf", Unix-wise. 20:53:39 elliott, longer to type 20:53:45 oerjan: They prefer phos., though. 20:53:57 Vorpal: Ken Thompson would have something to say about you and it wouldn't be pretty. 20:53:58 yeah 20:54:04 (Probably me too, but still.) 20:54:22 Arsenic comes directly below phosphorus on the periodic table of elements. This is an important part of this reason. 20:55:17 zzo38: however i also read that unlike phosphorus, arsenic combounds are usually destroyed by water, so it is still surprising 20:55:21 (They did talk about the periodic table of elements, on the radio, today) 20:55:23 *compounds 20:55:41 oerjan: Yes, then it would make it surprising. 20:57:56 pikhq: Symbolic permissions are PAIN 20:58:50 elliott, are you using POSIX 2008 for this? 20:59:03 Vorpal: 2004. 20:59:12 elliott, 2004!? 20:59:16 elliott, no such thing 20:59:17 Vorpal: I doubt they changed coreutils much, if at all, in the interim. 20:59:24 Well: 20:59:25 The Open Group Base Specifications Issue 6 20:59:25 IEEE Std 1003.1, 2004 Edition 20:59:25 Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved. 20:59:32 Such thing. 20:59:36 elliott, that is SUS 20:59:41 Vorpal: Same damn thing. 20:59:48 elliott, SUS against POSIX 2001 20:59:53 :P 21:00:00 Vorpal: So? 21:00:06 elliott, so it is SUS 2004 21:00:12 What's the actual advantage of Wikiplia over a VCS with the privileges of which you are very liberal? 21:00:13 Vorpal: Okay. So what's the issue? 21:00:23 elliott, nothing except you not using 2008 edition 21:00:28 Phantom_Hoover: Well, it's literate programming. 21:00:30 Vorpal: Why is that an issue? 21:00:43 Phantom_Hoover: Consider being able to say [[Count words]] (my_file); 21:00:52 Phantom_Hoover: (Of course, this requires a Sufficiently Smart Wiki.) 21:01:02 elliott, VCS blah blah blah with literate Haskell? 21:01:15 Phantom_Hoover, add in a browser GUI for it 21:01:17 Phantom_Hoover: It's not hyperlinked. 21:01:22 Phantom_Hoover: um did you mean wikiplia or wikipl there? 21:01:28 oerjan, either. 21:01:32 Literate programming is when you make it is both a computer program and a book, both at once. 21:01:36 Also, you could do reordering with a wiki. 21:01:39 zzo38: We know. 21:01:49 argh 21:01:58 * oerjan is starting to regret the move :D 21:02:04 oerjan, what move? 21:02:58 also the esolang wiki is down for me 21:02:59 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 oerjan, what is wikiplia? 21:03:39 oerjan, google is nhelpful 21:03:43 unhelpful* 21:04:01 see esolangs wiki, duh ... 21:04:05 a joke language from 2007 that _actually_ was "The free programming language that anyone can edit" 21:04:34 oerjan, ah 21:04:34 Vorpal: um the top google hits are quite relevant 21:04:53 oerjan, maybe if you aren't logged in to gmail 21:05:29 Vorpal: are you maybe getting referred to wikipedia instead? 21:05:52 it's suggested for me that i might mean that instead 21:07:07 oerjan, hm wikidictionary (sp?) for "plia" 21:07:11 * oerjan once again curses google's use of redirecting urls 21:07:13 is the top hit for me 21:07:22 that's no 3 for me 21:08:18 ugh at the = operation in symbolic modes 21:08:23 + is "mode |= bit", - is "mode &= ~bit" 21:08:28 but doing = makes me want to die now 21:09:00 bit <<= who; 21:09:00 switch (op) { 21:09:00 case '=': mode &= ~(7 << who); 21:09:00 case '+': mode |= bit; break; 21:09:00 case '-': mode &= ~bit; break; 21:09:01 } 21:09:02 I think that does it. 21:09:26 Vorpal: http://www.cs.cmu.edu/~tom7/sigbovik/wikiplia.pdf and http://radar.spacebar.org/f/a/weblog/comment/1/893 21:09:33 (note PDF) 21:09:57 fuck! i have to handle "a" too 21:10:03 oerjan: whoa, that guy again 21:10:16 elliott: which guy? 21:10:18 oerjan: he keeps popping up all over my internets. 21:10:22 oerjan: *that* guy 21:10:30 the Wikiplia guy 21:10:33 tom7? 21:10:37 yeah 21:10:45 who is that 21:10:50 a guy 21:11:40 He's elliott from the future 21:11:53 is he? 21:12:51 oerjan: ok this guy wasted *insane* amounts of time on this :D 21:15:51 $ bin/mkdir -m -x x 21:15:51 drwxr-xr-t 2 elliott elliott 4096 Dec 4 21:15 x 21:15:54 ok that did not work :D 21:15:57 yeah, "Since I really implemented the latter (I think the only SIGBOVIK paper that comes even close to being real)" 21:16:50 oerjan: so the thing was the implementation of a programming language written in that programming language, right? 21:16:53 interesting 21:17:45 possibly, as usual i'm too lazy to read the whole thing :D 21:18:03 it was ML at the bottom though 21:19:16 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 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 (or warns you if it doesn't reach one) 21:20:11 fizzie: comments take up valuable disk space 21:20:45 elliott: it reminded me a bit of Feather 21:20:47 $ bin/mkdir -m g-x x 21:20:47 drwxr-xr-t 2 elliott elliott 4096 Dec 4 21:19 x 21:20:49 what. 21:20:50 what's t again 21:20:57 sticky? 21:21:02 Sticky indeed. 21:21:21 It's the suid/sgid-bit position except for "other". 21:21:31 lawl 21:21:35 Ugh, shit is le broken. 21:21:46 fizzie: YOU SHOULD WRITE ME A SYMBOLIC MODE PARSER ^__^ 21:21:58 elliott, it should be trivial? 21:22:13 Vorpal: it isn't that trivial really 21:22:19 Vorpal: a lot easier without "a" 21:22:29 Vorpal: also consider that i'm optimising for binary size and mkdir is already the second-largest tool... 21:22:31 elliott, a? 21:22:33 (almost 9k!) 21:22:34 Vorpal: a+x 21:22:35 duh 21:22:43 elliott, yes but why is it an issue 21:22:44 Well, you need to handle "ugo+x" anyway. 21:22:53 fizzie: oh lawd, i don't right now 21:23:01 Vorpal: and then consider that a=xu+g-xoug-r is valid 21:23:08 Also remember to handle +X properly. 21:23:09 just set the "affects who" bitmask to all 1 21:23:20 then and with the modes as you see them 21:23:26 or such 21:23:40 fizzie: I meant to say X with the a= there. 21:23:45 X I will handle later :P 21:23:53 Vorpal: It's not exactly trivial... 21:24:10 elliott, true but easier if you write it without premature optimisation 21:24:11 Vorpal: Especially since a naive implementation will end up interpreting ug+xo+w as ug+xugo+w. 21:24:28 Since you have to clear the bitflag on a new "who" iff you've already set some bits. 21:24:45 elliott, hah, what about the , ? 21:24:57 u+w,g+w is quite common or such 21:24:57 Vorpal: Optional... duh. 21:25:01 elliott, yes 21:25:05 You have to handle the case without htat. 21:25:05 What is it with Americans and their crazy equation of higher education with school? 21:25:05 elliott, but you need to handle it 21:25:12 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 elliott, not ultra-trivial 21:25:33 Vorpal: Trivial, then. 21:25:35 You said trivial. 21:25:36 but not as hard as you seem to indicate 21:25:45 elliott, yes but maybe "easy" is better 21:25:45 Vorpal: Very irritating. 21:25:47 Not impossible. 21:26:02 elliott, indeed not imposisble even on an FSA I believe 21:26:07 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 <3 Newspeak workspaces 21:26:46 The suid/sgid/sticky bits I would think are especially annoying, since they're not at all logical like the rest. 21:26:55 fizzie, indeed 21:27:12 bbl 21:27:15 fizzie: Yeah, I'm not even trying to implement those at this point. 21:27:22 fizzie: SO HAVE YOU WRITTEN IT YET 21:27:29 No, and I'm not going to. :p 21:28:04 You're just afraid. Afraid of the truth. 21:30:14 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 Interestingly, chmod here accepts "o+s" without complaints, but doesn't do anything with it. 21:30:49 The rarely used soid bit. 21:30:50 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 All is right with the world. 21:31:33 Quite so. 21:31:44 fizzie: Yes, it sets what the program thinks every other user is. 21:32:20 Phantom_Hoover: not quite, i cannot think of a pun to go with that 21:32:27 fizzie: Is it just me, or are octal modes even easier to read and write than this symbolic crap? 21:32:28 oerjan, how sad. 21:32:36 oerjan, insult sshc with the use of pun! 21:32:40 fizzie: I mean, +r, +w, +x, sure, and their - versions too. But the rest... 21:32:44 Did I mention how much I hate sshc? 21:33:42 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 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 fizzie: seriously? 21:34:37 fizzie: ;____; 21:34:43 fizzie: who invented symbolic modes. 21:34:51 Satan. 21:34:57 apart from him 21:35:07 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 well probably hitler, then 21:35:16 fizzie: what. why. 21:35:41 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 fizzie: ;_; why 21:36:11 Hey pikhq. 21:39:21 http://d116.com/lispm/3675xmas.gif Christmas discount on a Symbolics 3675! 21:39:23 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 (But o+s is explicitly defined to be not an error, it just doesn't do anything.) 21:45:40 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 With suitable commas they become legal, of course. 21:47:20 fizzie: Hmm, so you really do only have to clear it on comma? 21:49:02 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 fizzie: This is a mess. 21:52:34 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 fizzie: Oh, all I'm doing is a function to convert a symbolic mode string to the regular octal bits. 21:53:14 fizzie: Right now the "base mode" is 0777, but you could easily take that as a parameter. 21:53:27 (It also does octal, but that's just strtol and hardly worth mentioning.) 21:53:46 Maybe I should try this out too, after all. 21:53:52 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 Or we could have a golfing competition, and there would be no survivors. 21:54:09 Unfortunately nobody else here actually codes. 21:56:57 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 21:57:40 I'll try it out, but I don't think I have a good test set. 21:57:58 Hell, you think I do? 21:58:08 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 fizzie: Or you could just try u=x,g-o,o-x,oug-r,a+x. :P 22:00:03 (I have no idea what that produces when run on initial mode 0777.) 22:03:15 But everybody else here actually codes! 22:04:43 WTF 22:04:52 The scroll wheel doesn't work AT ALL in the Newspeak IDE 22:05:55 Sgeo: The scroll wheel doesn't work at all on my computer, but that is because I disabled it. 22:06:21 But everybody else here actually codes! 22:06:25 zzo38: Phantom_Hoover doesn't. 22:09:38 fizzie: DO YOU FEEL THE PAIN YET 22:09:45 -!- kar8nga has joined. 22:09:52 Not really, but this will be a bit on the large side. 22:10:44 fizzie: I won't hold it against you if you aren't POSIX-compliant with something like mutually-recursive assignments. :p 22:12:00 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 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 I want to change the topic to "Human slaves / in an arsenic nation". 22:19:18 But I doubt anyone'd get it/ 22:20:00 -!- Sasha has quit (Ping timeout: 260 seconds). 22:20:02 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 Vorpal: Ha ha, you're wrong. 22:20:25 -!- Sasha has joined. 22:21:21 elliott, oh so I was 22:21:37 POSIX 2008 is online though, yay. 22:22:03 elliott, yes since last yeart 22:22:05 year* 22:22:13 or even since two years ago soon 22:22:28 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 compress is still there, god bless it. 22:22:44 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 fizzie: Longer than http://git.busybox.net/busybox/tree/libbb/parse_mode.c? 22:23:09 (WARNING: LGPL CODE, YOUR BRAIN WILL VIOLATE THE LICENSE!!11) 22:23:23 http://p.zem.fi/modeparse.c -- there's a plaintext download link there. 22:23:26 Well, maybe not quite that long. 22:23:48 fizzie: Can I has that under WTFPL? 22:23:59 Sure. 22:24:22 Don't use it in a nuclear plant maybe, though. 22:24:30 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 I don't want to be responsible for a glass crater somewhere. 22:24:39 Duly Noted. 22:24:40 *noted. 22:25:09 I think I've usually just said "use the real-name", so I guess that. 22:25:26 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 elliott, so wait, the LGPL is *worse* than the GPL? 22:26:31 Phantom_Hoover: No. 22:26:35 Phantom_Hoover: I'm being silley. 22:26:45 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 fizzie: fis+kludge@zem.fi? :P 22:27:01 I'll just use fis@. 22:27:02 fis+rwxXst@zem.fi. :p 22:27:04 + is kinda ugly anyway. 22:27:27 mode_t new = old; 22:27:31 Out with the old, in with the new. 22:27:39 who_mask sounds like the best kind of mask. 22:28:08 It does the suid/sgid stuff somewhat sensibly, but those are partially implementation-defined anyway. 22:28:44 -!- Sasha2 has joined. 22:28:45 fizzie: Oh man, you use Allman style. That's perverse, dude. 22:29:02 I think it's actually illegal in most civilised countries. 22:29:36 And C99! If it didn't work I wouldn't be forever grateful. 22:30:00 Is it accidentally C99? It might be, I wasn't especially careful with it. 22:30:03 AND IT GOES OVER 80 COLUMNS OH MY GOD YOU'RE JUST LIKE HITLER 22:30:13 fizzie: You declare two variables in a while loop, so yeah. 22:30:16 It doesn't matter though :P 22:30:18 -!- Sasha has quit (Read error: Connection reset by peer). 22:30:23 But that's a block. 22:30:29 fizzie: (But Allman style really is unforgivable.) 22:30:29 You can declare variables at the beginning of a block. 22:30:33 Oh, wait, yes it is. 22:30:37 I'm just so used to not doing so, you know! 22:31:32 I'd try it out in gcc -ansi -pedantic, but apparently mode_t doesn't exist even with #include under those flags. 22:31:41 It's 22:32:03 Okay, there's C99 in the main function. 22:32:11 if (*str == 'u' || *str == 'g' || *str == 'o') { 22:32:12 case 'u': bits = (old&04700) | ((old&0700)>>3) | ((old&0700)>>6); break; 22:32:12 case 'g': bits = (old&02070) | ((old&0070)<<3) | ((old&0070)>>3); break; 22:32:12 case 'o': bits = (old&7) | ((old&7)<<3) | ((old&7)<<6); break; 22:32:26 How WASTEFUL! I will convert it into a switch statement, because I'm lovely. 22:33:17 Yes, it certainly could be that, though you'd then have to str++ thrice. 22:33:38 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 Is there some reason that can't just be a default clause? 22:34:00 Well, it has to break out of the while loop. 22:34:01 I mean, apart from not breaking out of the for without a label. 22:34:09 Yes, that's the only reason for it. 22:34:24 You can gotoize it or something if you like. 22:34:28 I am. 22:34:28 :P 22:36:11 It doesn't do the "don't touch suid/sgid bits of a directory when doing =" thing GNU coreutils chmod does. 22:36:35 fizzie: That seems stupid to me, anyway. 22:36:55 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 fizzie: Er. 22:36:58 elliott, fizzie: I'm planning something BIG in MC atm 22:37:02 feel free to come and watch 22:37:02 $ bin/mkdir -m -x x 22:37:04 $ ls -l 22:37:05 d--------- 2 elliott elliott 4096 Dec 4 22:36 x 22:37:16 fizzie: Technically I use int in mkdir.c rather than mode_t; could it be that? 22:37:21 mode = parsemode(optarg, 0777); 22:37:22 is the call. 22:37:32 $ ./tmp "-x" 0777 22:37:32 00666 <- -x [00777] 22:37:35 Vorpal: What is it, then? 22:37:36 Well, that's what my code does. 22:37:54 You get to debug all your minimizations yourself. :p 22:37:56 fizzie: mode_t fixed it. 22:37:56 elliott, a throne room 22:38:01 Vorpal: wat. 22:38:13 fizzie: I haven't minimised it at all yet, actually. :P 22:38:16 Thus making mkdir the largest utility so far. 22:38:25 elliott, what I just said 22:38:36 Oh. Well, then. But I'm not instantly sure why mode_t'd matter; but if it did, good for you. 22:38:42 fizzie: Signed/unsigned? 22:38:45 fizzie: while (*str == 'u' || *str == 'g' || *str == 'o' || *str == 'a') { 22:38:55 fizzie: Now you have no excuse; that's for (;;) with a goto in the default. :P 22:39:09 Sure, sure. 22:39:23 UNFORGIVABLE! Just kidding it's fine, you're cool. 22:39:35 It also has COMMENTS, remember to remove all those. 22:39:36 Actually it's a "for (;; str++)" which is now my favourite type of control structure. 22:40:10 elliott: Mmm, for(;;str++) 22:40:14 fizzie: Those don't take up binary space :-P 22:40:32 -rwxr-xr-x 1 root root 48K Apr 28 2010 /bin/mkdir 22:40:32 -rwxr-xr-x 1 elliott elliott 9.0K Dec 4 22:39 bin/mkdir 22:40:35 Perhaps I shouldn't worry too much. 22:40:40 (And the former one is even dynamically-linked.) 22:40:48 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 fizzie: Fixed that. :P 22:41:03 fizzie: (Made it return -1, i.e. "No! Bad mode! Bad user! You're a horrible person!") 22:41:33 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 fizzie: I like how your code readily accepts u-+q. 22:42:44 That should be a valid mode. 22:42:51 Oh, wait, no. 22:42:52 * Sgeo decides to try DropBox 22:42:55 Mode_t is just unsigned. 22:42:59 Sgeo: *Dropbox 22:43:31 * Sgeo vaguely hopes that Dropbox doesn't require installation on all computers 22:43:43 I'm willing to install it on this machine, but not my old machin 22:43:45 machine 22:44:00 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 Sgeo: Of course it does. (Unless you want the web interface.) 22:44:42 elliott, as long as it has a web interface, I'm ok 22:44:49 My taskbar just died 22:45:37 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 fizzie: I am having great trouble figuring out where to add "oh hey, something invalid" here. :p 22:47:52 fizzie: Hmm, yours accepts u,... 22:48:00 As a nop. 22:48:19 That one might not be quite kosher, that's true. 22:48:29 The "actionlist" part shouldn't be empty. 22:48:31 * Sgeo swears at typo 22:48:58 You could set "actions = 0" at the /* "action = op | op permlist | op permcopy"; always op first */ 22:49:13 comment, then actions++ in the loop below, and if (!actions) ... after it. 22:49:17 If you want. 22:49:21 case '+': case '-': case '=': goto afterwhomask; 22:49:21 default: return -1; 22:49:23 in the ugoa block 22:49:24 seems to do it 22:49:48 (I really want to get rid of that second switch though! But I don't think I can. 22:49:58 i.e. the +-= switch after a condition already proved it true 22:50:01 *can.) 22:51:02 -!- humanB has joined. 22:51:05 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 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 fizzie: Hrm, does chmod usually have a race condition? 22:53:37 i.e. read mode, modify, write 22:54:30 -!- MigoMipo has joined. 22:54:33 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 Can't install Dropbox desktop client on the old machine 22:54:59 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 Hmm, my -p option ignores -m for the outer directories. Now why would that be... 22:56:54 If I can find it :( 22:56:57 Oh, I see. 22:56:58 Wait, what? 22:57:25 Okay, what the fuck. 22:57:26 Heh, GNU coreutils chmod: 22:57:26 $ chmod --r t 22:57:27 chmod: option '--r' is ambiguous 22:57:39 fizzie: What kind of mode is --r? 22:57:40 :P 22:57:45 It's just -r. 22:57:57 fizzie: That is *valid*? Wow. 22:58:06 Well, it works with the usual "chmod -- --r t" thing. 22:58:33 chmod o+=x is nice and confusing :P 22:59:01 Isn't that just equal to o=x? 22:59:11 Yup, but it sure doesn't look like it to a C programmer 8-D 23:00:27 -!- humanB has joined. 23:00:50 97174 total 23:01:03 false, true, yes, sleep, pwd, echo, dirname, basename, uname, signal, link, cat, date, chroot, env, strings, vis, cal, kill, mkdir. 23:01:21 27995 box 23:01:25 When compiled as one executable. 23:01:47 -!- humanB has left (?). 23:01:53 14460 box 23:01:55 When UPX'd. 23:02:06 (Would be smaller without that goddamn UPX copyright notice in there. 23:02:50 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 Oh yeah, and all of those are on 64-bit. 23:04:16 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 On 32-bit, it'd be even smaller. 23:04:28 (kkrunchy is, of course, Windows-only.) 23:05:03 elliott, the throne room will be 25x25x7 at least 23:05:11 Vorpal: 128x128x128 in your face. 23:05:37 elliott, yes but try to fit that in mt vorpal. Also mine will be ready long before your 23:05:43 elliott, also it will not be a single room 23:06:38 $ bin/mkdir -m 0 -p x/y/z 23:06:38 x: File exists 23:06:38 x: File exists 23:06:39 What. 23:07:01 Heh; mkdir here uses default permissions for -p. 23:07:03 That seems wrong to me. 23:07:29 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 mkdir -p -m $(umask -S),u+wx $(dirname dir) && 23:07:29 mkdir [-m mode] dir 23:07:29 O-kay. 23:09:28 Why was I playing Runescape in my dream? 23:09:56 fizzie: Is umask implicit? 23:11:11 In mkdir() and the like. 23:11:58 What good web browsers are there that work on Win98? 23:12:05 Sgeo: opera 23:12:17 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 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 "hPrevInstance used to be the handle to the previously run instance of your program (if any) 23:16:14 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 fizzie: So then 23:17:05 mkdir -p -m $(umask -S),u+wx $(dirname dir) && 23:17:08 fizzie: should have mode 0777. Right. 23:17:13 (Presumably?) 23:17:27 Er, maybe not. 23:17:30 fizzie: I'm confused now. 23:17:34 What mode would that correspond to? 23:17:37 * Sgeo loses interest 23:17:57 Sgeo: You can go steal already-loaded data by memory-copying from the previously opened instance, to start faster. 23:18:03 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 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 Presumably because otherwise you couldn't create subdirectories under it. 23:21:38 fizzie: Right, but as far as the argument to the malloc syscall... 23:21:46 Well, default uhh... 23:21:48 BRB 23:21:49 fizzie: Okay, I'll just pass 0777. 23:21:51 Sound reasonable? :p 23:22:14 -!- Sgeo has quit (Read error: Connection reset by peer). 23:22:19 $ bin/mkdir -m 0 -p a/b/c 23:22:19 a: File exists 23:22:19 a: File exists 23:22:22 Now to diagnose this. 23:22:30 Actually, happens with just -p too. 23:23:21 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 fizzie: Manually chmod it? 23:24:02 Why? 23:24:14 fizzie: Oh, because of the umask? 23:24:23 Because "mkdir -m a+rwx foo" must set all the bits, not just umask-allowed ones, right. 23:24:23 fizzie: You mean I can't just do mkdir(path, mode)? 23:24:33 fizzie: You can't see it right now, but I'm vomiting. 23:24:37 fizzie: Does chmod really bypass that? 23:24:39 The syscall. 23:24:50 Yes, it does. 23:25:04 Otherwise you'd have no way of setting any non-umask-allowed modes. 23:25:04 There's a rumor going around that the PS3 master key has been found... 23:26:57 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 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 elliott, more TV Tropes madness: Crowning Moment of Awesome is now just Moment of Awesome. 23:37:49 ... 23:37:58 what about funny 23:38:20 Still Crowning, AFAIK. 23:38:25 -!- augur has quit (Remote host closed the connection). 23:38:46 Awesome Moment of Crowning is less punny now :( 23:38:58 No, wait, it's been made into "Funny Moments". 23:39:05 ..................... 23:39:37 Phantom_Hoover: i was right 23:39:41 fuck tv tropes 23:39:58 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 Where did I put my Windows 98 license key? 23:42:56 Sgeo: In the microwave. 23:43:07 -!- MigoMipo has quit (Read error: Connection reset by peer). 23:45:32 An email to myself titled "Random porn" is not helpful here 23:48:52 Sgeo: We needed to know that! 23:49:03 It didn't actually contain any porn 23:50:43 well try the folder named "My Al-Qaeda contacts" 23:51:27 And if not that, steganographically encoded into your PDF copy of "Sodomy and the Pirate Tradition" 23:51:58 I need COMPUTER SCIENCE BOOK ADVICE. As in what to buy. 'cuz I wanna binge. 23:52:11 Candidates: SICP, Purely Functional Data Structures, Land of Lisp, Real World Haskell, ...? 23:52:33 Facebook for Dummies //I'm sure that's on a CS bookshelf somewhere due to stupidity 23:52:57 Didn't you recommend Purely Functional Data Structures to me once? 23:53:14 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 But the book itself I haven't read. 23:53:51 ...there are sources elliott trusts highly? 23:54:17 oerjan: You do know I like people, right? :P 23:54:36 yeah but you never _agree_ with them... 23:55:28 -!- Zuu has quit (Ping timeout: 255 seconds). 23:55:34 oerjan: It's not my fault most people are wrong. :p 23:56:00 true, true. i mean NONSENSE 23:56:01 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 oerjan: your children are all goats! 23:56:51 entirely correct 23:57:01 you were spot on, there 23:57:58 oh right... 23:58:33 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 suggest a bo-- categories for the working mathematician --ok about CS 23:59:06 i am merely confirming that my children are, in fact, all goats. 23:59:17 oerjan: and horses, too 23:59:22 indeed 23:59:26 elliott: http://www.abebooks.com/products/isbn/9780814712368 <-- my advice 23:59:40 Err ... recommendation. 23:59:48 Actually, neither sounds better :P 23:59:58 * oerjan hasn't actually read categories for the working mathematician 2010-12-05: 00:00:04 Gregor: Now come on, piracy is more a social issue than CS-related. 00:00:10 And I've already made my mind up about copyright! 00:00:25 oerjan will now swat me 00:00:25 elliott: And sodomy? 00:00:30 Gregor: I'm all for it! 00:02:03 Note to self: mention support of sodomy ==> conversation dies. 00:02:08 X-D 00:02:13 I had nothing further to say :P 00:04:15 elliott, that 128x128x128 thing... do you realise how enormous it will actually be? 00:04:30 elliott, considering a 25x25 room is HUGE 00:04:39 Vorpal: I have a vague comprehension in my head. Is that 25x25 room there right now? 00:05:03 Vorpal: I'm imagining it like a really tall shopping centre/mall, not a bunch of rooms. :p 00:05:05 Dear Ubuntu: Learn to count 00:05:12 Oh wait 00:05:14 elliott, well partly, and it is not 7 high yet 00:05:15 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 !help 00:05:19 Guess it's not counting a directory as a file 00:05:26 Vorpal: Is serv on? 00:05:48 !haskell 128^3 00:06:27 !help 00:06:53 oerjan: 2,097,152 m^3. 00:06:56 1 block ~= 1 m^3 00:07:02 Maybe I should just go online and find something? 00:07:07 oerjan: it's the biggest cube possible because the world is only 128 high :) 00:07:13 help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 00:07:14 help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 00:08:02 !haskell 128^3 / 86400 00:08:04 Vorpal: is serv on? 00:08:21 !echo hi 00:08:27 elliott, now it is all there 00:08:33 Gregor: this is not very promising 00:08:34 elliott, though just 2 high so far 00:08:44 elliott, don't think so. Anyway it is in my mountain 00:08:59 Vorpal: I'll come see. 00:10:44 `perl print (2097152/86400) 00:10:48 erm 00:10:53 `perl print (2097152/86400); 00:10:58 oh wait 00:11:09 `help 00:11:12 *sigh* 00:11:16 * Sgeo starts xPUD 00:11:24 I DON' WANNA 00:11:33 -!- EgoBot has quit (Ping timeout: 240 seconds). 00:12:23 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 00:12:44 No output. 00:12:44 No output. 00:12:52 `run perl -e 'print (2097152/86400);' 00:12:54 24.2725925925926 00:13:11 elliott: so how many blocks can you place per second? 00:13:35 if it's one, and you don't sleep, then that's how many days you need 00:14:37 oerjan: yeah yeah fizzie's done all the calculation -- 00:14:40 oerjan: i don't need to fill the cube duh 00:14:44 i'm just going to have floors inside it 00:14:53 oh. 00:14:58 you can place like 2 blocks/s 00:15:02 oerjan: what will take ages is emptying 128x128x5 or so 00:15:06 of water 00:18:42 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 elliott: To make you cry. 00:20:19 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 elliott: RACE CONDITIOX 00:22:02 Gregor: There's one *already*; malloc has to use chmod() because mkdir() is limited to umaskable stuff. 00:22:21 ... malloc? 00:23:16 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 (Idonno if it does this, and I'm just being a jerk anyway :P 00:23:42 ... malloc? 00:23:43 mkdir 00:23:44 you know what i meant 00:23:56 -!- sftp has joined. 00:24:00 I figured it out, but it actually did take me a while ... like, 'til my next line :P 00:24:29 Gregor: Anyway, mkdir is 9229 bytes and I consider this unacceptably large. :P 00:24:32 It would be small without -m. 00:24:58 $ bin/mkdir -p x/y/z 00:24:58 x: File exists 00:25:04 whyy do i get this error it doesn't sense-make 00:25:12 and then x is empty 00:25:27 Wow, that is bizarrely huge ... it'd be smaller if you used shared objects or a multibinary X-P 00:25:46 Gregor: It is, in fact; I have a script to do that. 00:25:54 Gregor: 28155 box 00:26:07 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 Gregor: BUT WAIT, THERE'S MORE 00:26:40 Gregor: $ upx --ultra-brute --overlay=strip box && ./sstrip box 00:26:41 $ wc -c box 00:26:41 14532 box 00:26:44 And yes, it works. 00:26:55 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 (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 Gregor: BUT YEAH I TOTALLY JUST KINDA 14.5 DECIMAL KILOBYTESDED A BUNCH OF UTILITIES YO 00:27:51 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 What I'm saying is: I'M AWESOME. 00:28:08 Gregor: Did you ever bother actually unpacking that .minixfs.lzo? :P 00:28:18 I spent at LEAST two minutes thinking of a format insane enough. 00:28:30 I like how it's just "box" 00:28:36 Not busy, tiny, anything. 00:28:40 Gregor: I can't decide whether it's busy or not. 00:28:45 But it definitely is a box! 00:29:11 How 'bout industriousbox :P 00:29:13 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 But eh. 00:29:18 Gregor: How about picobox. 00:29:37 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 ... what could possibly be making it difficult to do with symlinks? 00:29:49 Gregor: I am 99% sure I am the first person to compile dietlibc with pcc. 00:29:56 (Since I had to do patching.) 00:29:58 Quite probably. 00:30:01 And yes, it produces smaller executables than gcc. 00:30:09 ... what could possibly be making it difficult to do with symlinks? 00:30:11 Grrrr 00:30:14 What if argv[0] has path components? 00:30:14 :p 00:30:19 VBoxGuestAdditions doesn't support Win98 00:30:23 box.c is just a really quick autogenerated thing anyway. 00:30:24 Sgeo: ...no shit. 00:30:44 elliott, uh? 00:30:47 Gregor: Oh yeah, and the dietlibc-linked static pcc is 34K. 00:30:53 Gregor: This is the kind of compiler fit for the late 80s. :P 00:30:55 Mmm right, path components, okidoke. Still, strrchr *shrugs* 00:31:24 Gregor: Huh, I didn't realise strrchr was actually POSIX. Also, right back at ya: basename() :P 00:31:42 Hmm, I think strrchr could HELP with some of my PROGRAMS. 00:31:50 Such as BASENAME. 00:31:59 There's a basename function as part of POSIX? 00:31:59 (BASENAME actually GROWS in size when I just use basename(). I don't know why or how.) 00:32:08 http://www.opengroup.org/onlinepubs/009695399/functions/basename.html 00:32:11 Gregor: Part of XSI! 00:32:15 Like every damn thing. 00:32:28 For instance mmap :P 00:32:31 (Is XSI-only.) 00:32:33 I didn't even know there was a basename function :P 00:32:51 My hand-written basename is smaller SO YEAH 00:32:54 (But not in larger programs.) 00:33:05 (Only in basename(1). TODO: figure out where logic went.) 00:33:22 while ((slash = strchr(path, '/'))) 00:33:22 path = slash + 1; 00:33:27 Gregor: LOOK AT ME I DON'T KNOW WHAT STRRCHR IS HURRR 00:33:30 Time for MEASUREMENTS 00:33:59 HAHA IT GOT SMALLER 00:34:10 HAHA IT STILL WORKS 00:34:57 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 #include 00:35:09 void _start(void) 00:35:10 { 00:35:10 _exit(0); 00:35:10 } 00:35:12 HUGELY wasteful. 00:35:25 Gregor: It's the best I can do with C that's even vaguely portable P 00:35:26 You still need _exit 00:35:26 *:P 00:35:33 Mmm, vaguely portable :P 00:35:34 Gregor: Yes; the alternative is assembly. 00:35:37 OK, that's ELF-portable :P 00:35:49 I have to special-case true and false in mkbox because I can't link them to ANYTHING X-P 00:36:21 Surely the size added to box of a more conventional true and false command would be smaller than 248 bytes? 00:36:40 night 00:37:07 echo " if (!strcmp(argv[0], \"true\")) return 0;" 00:37:07 echo " if (!strcmp(argv[0], \"false\")) return 1;" 00:37:12 Gregor: Probably, yeah. 00:37:19 Gregor: But I'm primarily targeting separate executables for now :P 00:37:29 Ahhhhh 00:37:34 *cough*PUSSY*cough* 00:37:51 Gregor: No way, this is more hardcore. Because I have all the overhead to deal with. 00:38:07 "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 elliott, and what if you have argv[0] = "foobar" 00:38:14 Gahaha 00:38:16 [[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 Our false: MORE SECURE THAN EVERYONE ELSE'S FALSE. 00:38:24 Vorpal: Then the trick fails. Duh. 00:38:28 ... 00:38:28 wait. 00:38:33 They said their false is *faster* than other falses. 00:38:37 * elliott explodes with laughter 00:38:46 Faster if it didn't respond to --help and --version! 00:38:50 And have localised strings! 00:38:51 $ type true 00:38:51 true is a shell builtin 00:38:52 elliott: Actually, the "safely be used as a dummy shell for the purpose of disabling accounts" is pretty important. 00:38:52 elliott, ^ 00:38:57 Vorpal: Not as a shell. 00:39:01 Gregor: Yes, but come on: faster? 00:39:02 FASTER? 00:39:06 elliott, indeed 00:39:07 Yeah, that's silly :P 00:39:24 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 elliott, don't be silly 00:39:42 elliott: Do you require a.out binaries to be supported? ;) 00:39:49 Vorpal: He says, in #esoteric. 00:39:53 Gregor: I didn't say modify the kernel's code. 00:39:55 elliott, yee. 00:39:57 yes* 00:39:57 Gregor: I meant analyse it. 00:40:06 elliott: The kernel DOES support a.out, but it's optional. 00:40:15 Gregor: I know. I wanted to use a.out in Kitten a while back. 00:40:20 Gregor: But debugging with a.out is a total clusterfuck :P 00:40:30 Gregor: And N O T H I N G supports it. 00:40:38 i.e., pcc doesn't. 00:40:38 For SOME reason :P 00:40:42 I think gcc dropped support too. 00:40:59 Gregor: Clearly we need a Unix that runs on PE. 00:41:02 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 (I know, I know, COFF. But I mean actual Windows PE.) 00:41:08 the standard executable name is still a.out 00:41:11 which is strange 00:41:13 Vorpal: No shit :P 00:41:15 It's history. 00:41:17 -!- oerjan has quit (Quit: Good night). 00:41:17 Delicious history. 00:41:28 elliott, should be e.lf now 00:41:34 Gregor: My objdump is so optimised it contains NO CODE AT ALL: 00:41:36 $ objdump -D bin/mkdir 00:41:36 bin/mkdir: file format elf64-x86-64 00:41:36 $ 00:42:33 erm. 00:42:34 Gregor: My mkdir :P 00:42:55 Your malloc? What? 00:43:17 elliott, hm does it contain any sections at all 00:43:20 Gregor: Shaddap. 00:43:43 Vorpal: Yes, but it removes the section header table. 00:43:44 elliott, if not, how does the kernel know what to load as executable and what to load as read only 00:43:49 So silly tools think it has no sections at all/ 00:43:50 and then what to load as read-write 00:43:55 * Most ELF executables are built with both a program header table and a 00:43:56 * section header table. However, only the former is required in order 00:43:56 * for the OS to load, link and execute a program. 00:43:57 Vorpal: See above. 00:44:04 hm 00:44:15 elliott, and does the former define what is read only and read-write? 00:44:22 Vorpal: One would presume so :P 00:44:33 sstrip has basically no effects on any program in my testing. 00:44:40 Well, unless the compiler does Weird Thangs. 00:44:47 No effect apart from dramatic size reduction, that is. 00:45:17 elliott, not dramatic for large binaries I presume 00:45:35 $ egrep -r 'malloc|calloc|alloca|printf|fopen|fwrite' bin 00:45:36 $ 00:45:41 Behold my not-using-most-of-libc skillz. 00:45:48 Vorpal: Well, at least as dramatic as strip -s. 00:46:00 And perhaps up to a kilobyte more? Maybe? 00:46:13 Vorpal: It also strips trailing zeroes, which you can't do if you have a section header apparently. 00:46:19 And I seem to recall seeing quite a lot of them in most ELF files. 00:46:30 So sstrip is definitely worthwhile for a final-product no-debugging type thing. 00:46:54 elliott, I'd want debug symbol packages available :P 00:47:06 Vorpal: Do you do "strip -s" before debugging? No? 00:47:10 Then you wouldn't sstrip either. :p 00:47:21 elliott, I do aptitude install libsdl-dbgsym :P 00:47:25 and so on 00:47:34 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 (But on Unix, for a non-development program, a smaller size is almost always vastly more useful than that.) 00:47:52 elliott, debuggers are still useful 00:47:58 Vorpal: Not outside of development. 00:48:04 And, uh, the occasional bug report. 00:48:08 elliott, indeed. 00:48:08 Which is basically development. 00:48:18 elliott, and unix is so buggy you want lots of bug reports :P 00:48:25 elliott, did you still want to shave off that trailing \0 from that char array? 00:48:38 like months[] = "foobarquu" 00:48:40 Vorpal: I would ... not be ... averse to doing so... 00:48:49 But I don't want to write {'a','b','c'} etc. :P 00:48:49 elliott, just give the size in the [] 00:48:59 elliott, to be exact fit without the zero byte 00:49:02 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 (It seems to go into "TRUST THE PROGRAMMER" mode if you specify -nostdlib -nostdinc.) 00:49:24 I occasionally compile it with gcc just to see what headers I forgot :P 00:49:29 hah 00:49:50 elliott, -Wall -Wextra -pedantic -std=c89? 00:50:10 of course C99 is nicer 00:50:14 but I doubt you would use that 00:50:19 Vorpal: pcc doesn't have any warning options; all the warnings that exist are always on. 00:50:24 (There do not exist terribly many.) 00:50:28 (But there's a few.) 00:50:28 elliott, I meant for gcc checking 00:50:50 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 elliott, -Wextra! 00:51:07 -Werror 00:51:09 Vorpal: No, no thank you. 00:51:13 Deewiant: You are a horrible human being. 00:51:14 elliott, why not 00:51:30 Vorpal: Because it's mostly noise. Hey, Linus agrees with me, and lord knows he never does or says anything wrong! 00:51:32 Deewiant, -Wwrite-strings 00:51:39 elliott, :P 00:51:49 $ make CC="gcc -std=c89 -Wall -Wextra -Wwrite-strings -pedantic" 00:51:52 Ha ha, endless warnings for all. 00:52:04 warning: initialization discards qualifiers from pointer target type 00:52:04 warning: initialization discards qualifiers from pointer target type 00:52:04 warning: initialization discards qualifiers from pointer target type 00:52:04 warning: initialization discards qualifiers from pointer target type 00:52:05 warning: initialization discards qualifiers from pointer target type 00:52:07 ouch 00:52:10 just imagine that x1000 00:52:12 elliott, you forgot const 00:52:15 Vorpal: not really, that's basically deliberate 00:52:23 Vorpal: const correctness is vastly overrated and hinders the readability of code 00:52:23 elliott, why deliberate? 00:52:29 and I'm old school 00:52:46 elliott, "type checking is vastly overrated and hinders readability of haskell code" 00:53:05 untyped haskell ftw 00:53:07 Vorpal: Maybe if cc could infer my consts I'd say differently, then. 00:53:12 OH SNAP RIGHT BACK ATYA 00:53:16 *ACTHA 00:53:19 *ATCHA 00:53:28 elliott, what? 00:53:42 untyped haskell sounds completely wtf 00:54:15 elliott, const decrease binary size 00:54:23 elliott, because it can get rid of one page 00:54:24 for .data 00:54:32 if you are lucky you just have .rodata 00:54:38 bin/kill.c:39: warning: implicit declaration of function ‘kill’ 00:54:38 (and you will probably have that anyway 00:54:39 Wtf. 00:54:47 I included all the headers in the man page. 00:54:49 elliott, oh probably -std=c89 00:54:51 elliott, that does that 00:54:53 Oh. 00:55:01 elliott, it doesn't think you want POSIX extensions then 00:55:17 How do you turn off qualifier-discarding warnings? It's drowning out all the stuff I /want/ to fix. 00:55:26 Also, I'm now tempted to try out consting EVERYTHING and seeing if binary size really decreases. 00:55:26 -D_POSIX_C_SOURCE=200112L 00:55:28 elliott, ^ 00:55:33 Vorpal: Or just ignore that one :P 00:55:36 How do you turn off qualifier-discarding warnings? It's drowning out all the stuff I /want/ to fix. 00:55:37 is more important 00:55:49 elliott, well if there are many of them then it might help to add that -D 00:55:54 Only one. 00:55:57 okay 00:56:01 I wonder what people who do -Wextra -Werror do when they get "unused variable argc!!" 00:56:13 elliott, as for turning of that: removing -Wwrite-string would drop a few 00:56:28 Indeed, that does it. 00:56:30 Thanks. 00:56:36 elliott, __attribute__((unusued)) maybe? 00:56:43 bin/chroot.c:15: warning: implicit declaration of function ‘chroot’ 00:56:43 bin/date.c:11: warning: unused parameter ‘argc’ 00:56:44 bin/env.c:8: warning: unused parameter ‘argc’ 00:56:46 bin/kill.c:39: warning: implicit declaration of function ‘kill’ 00:56:47 bin/signal.c:21: warning: comparison between signed and unsigned integer expressions 00:56:58 Two incorrect warnings, two irrelevant warnings, and one really really pedantic warning. 00:57:00 elliott, the last one sounds a potential problems 00:57:11 for (j = 0; j < 7 - strlen(signals[i].name); j++) 00:57:14 Vorpal: Not really. 00:57:15 elliott, -Wno-unused-parameter 00:57:25 or something like that 00:57:38 elliott, strlen returns size_t 00:57:42 elliott, what is your j 00:57:42 -D_POSIX_C_SOURCE=200112L 00:57:45 Still warns about chroot. 00:57:48 elliott, huh 00:57:50 Even though I've included . 00:57:54 (Is chroot POSIX? Probably not.) 00:57:57 chroot(): 00:57:57 Since glibc 2.2.2: 00:57:57 _BSD_SOURCE || 00:57:57 (_XOPEN_SOURCE >= 500 || 00:57:57 _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) && 00:57:58 !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) 00:58:00 Before glibc 2.2.2: none 00:58:02 yeargh! 00:58:05 :D 00:58:24 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 int is smaller than size_t usually :P 00:58:34 Maybe I'll make everything char. 00:58:41 bin/mkdir.o: In function `main': 00:58:41 mkdir.c:(.text+0x457): undefined reference to `__posix_getopt' 00:58:45 lol ld --gc-sections is so stupid 00:58:49 good thing it works with pcc :P 00:59:00 (yes, it does decrease the binary size) 00:59:08 Vorpal: Okay, Operation Const. Time to see if your THEORY has any MERIT! 00:59:09 then pcc is doing something stupid 00:59:14 No it isn't. 00:59:18 elliott, it does help in many cases 00:59:20 ld --gc-sections is *really* naive. 00:59:30 pcc/dietlibc happens to not trigger it. 00:59:31 elliott, if it needs gc-sections it is doing something stupid 00:59:40 Vorpal: Um, --gc-sections helps with gcc too. 00:59:49 elliott, I didn't say gcc wasn't stupid as well 01:00:02 Vorpal: At least pcc has "70s" as an excuse :P 01:00:16 It is a very reliable compiler though. Just not a super-feature-rich one. 01:00:28 Vorpal: Okay, time to const EVERY SINGLE THING IN CAT. 01:00:41 Ha, argc and argv are both mutated in this program. 01:00:52 elliott, remember to do const char * const foo = ... 01:00:53 In fact, uh, yup, cat has nothing I can const. 01:00:56 if you have such constructs 01:00:57 (Except the barfu library function, but.) 01:01:11 Vorpal: Unless this saves a DRAMATIC amount of space, it's so ugly I don't care :P 01:01:21 7863 bin/cal 01:01:23 That's the score to beat. 01:01:23 elliott, it saved over 1 KB in mosaic I remember 01:01:37 Vorpal: Over 1K... in a gigantic program. 01:01:42 SOUNDS WORTH IT 01:01:48 elliott, well check it 01:01:56 I am. 01:01:58 Time to constify cal.c. 01:02:00 Constipate. 01:02:02 elliott, also look at readelf for .data and .rodata sections 01:02:05 Yes, let's go with that. Constipate. 01:02:22 elliott, "så konstigt" 01:02:22 static const char const shortmonths[3 * 12] = 01:02:27 That's not right, is it. 01:02:27 elliott, what :P 01:02:29 How do you say that? 01:02:33 shortmonths[...] const? :P 01:02:36 elliott, I believe the const goes inside the [] 01:02:37 shortmonths const [...]? :P 01:02:41 Vorpal: ...really? 01:02:42 elliott, not completely sure 01:02:50 static const char shortmonths[3 * 12 const] = 01:02:53 MOST RIDICULOUS THING EVER :P 01:02:57 elliott, check it 01:03:00 though 01:03:12 I thought it was static const char shortmonths[const 3 * 12] 01:03:22 Syntax error :P 01:03:23 For both forms. 01:03:27 elliott, actually I don't think that inner const matters 01:03:31 since it is after all an array 01:03:33 not a pointer 01:03:38 Vorpal: WHAT WOULD YOU KNOW 01:03:54 Okay fine. 01:03:54 elliott, your innermost secret? 01:04:00 What is it? 01:04:08 elliott, buggered if I knew :P 01:04:18 Buggery and the Pirate Tradition 01:04:27 am i doin it rite Gregor 01:04:34 what 01:04:54 elliott, also this will help at runtime 01:05:00 elliott, since const stuff can be shared 01:05:05 between running instances 01:05:13 Vorpal: "char *const daydec;" means that I never do "daydec = ...", just "daydec[n] = ..." right? 01:05:23 hmm 01:05:26 const char *daydec; 01:05:27 elliott, err yeah 01:05:29 daydec = ultostr(day); 01:05:37 is that kosher if ultostr modifies a global buffer before returning? 01:05:42 and returns that global buffer 01:05:42 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 as long as /I/ never mutate it later 01:05:53 yes/no? 01:05:57 elliott, should be 01:06:02 yay 01:06:04 elliott, as you state the problem it should be 01:06:37 elliott, check with valgrind. Always do that for any program written in C. It is _always_ a good idea. 01:06:46 as long as you aren't linking to a crazy gc that is 01:07:13 (crazy gc: anything that doesn't work with valgrind in this context) 01:07:15 7863 bin/cal 01:07:15 CC cal 01:07:15 7863 bin/cal 01:07:18 Vorpal: Fully consted. 01:07:19 NO DAMN CHANGE AT ALL 01:07:24 And code is now 110% ugly. 01:07:27 elliott, what about .data vs. .rodata? 01:07:29 elliott, remember speed 01:07:31 when copying 01:07:37 because less copying 01:07:43 due to shared data 01:07:53 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 A clock cycle takes ~0 seconds. 01:08:13 Vorpal: In fact, fuck reasonability. I'm going to constipate the util.h functions too. 01:08:16 elliott, but what about my 386? 01:08:35 Vorpal: You do realise BusyBox, designed for tiny slow hardware, optimises for size waay above speed? :P 01:08:36 It pays off. 01:08:43 elliott, indeed 01:08:49 elliott, what about my pentium4 then? 01:08:52 It pays off on modern machines, too. 01:08:56 Vorpal: Your Pentium 4 is like unto an abortion. 01:09:08 elliott, p4 unrolling probably pays off 01:09:16 P4 throwing out of a window pays off :P 01:09:31 elliott, yes in the electricity bill 01:09:51 static const char *const ultostr(const unsigned long i) 01:10:09 7863 bin/cal 01:10:12 elliott, well duh there it won't do anything except help you catch errors 01:10:14 Conclusion: const does FUCK ALL :P 01:10:27 elliott, it is for static variables that it often helps 01:10:35 Vorpal: Yep. Did it to every static variable (and cal.c has a lot). 01:10:45 weir 01:10:47 weird* 01:10:57 Maybe pcc is just TOO DUMB to do ANYTHING with them :P 01:11:00 elliott, btw how many cm snow over in UK so far? 01:11:00 IIRC a few binaries even have their rodata sections stripped by --gc-sections. 01:11:04 So const there is likely to HURT things :P 01:11:14 elliott, wtf :P 01:11:16 Vorpal: I don't measure the snow... but a decent amount (quite a lot) by our standards. 01:11:20 elliott, your setup = crazy 01:11:23 Probably not much by your Swedish standards. 01:11:24 elliott, half a meter yet? 01:11:30 Vorpal: Nnnnnnnnno :P 01:11:33 Not that I know of at least X_D 01:11:34 *X-D 01:11:36 elliott, ah, nothing then 01:11:51 Vorpal: You can't make me feel small, I'd like to live in Scandinavia. 01:11:58 I LOVE SNOW (as long as I stay indoors forever) 01:12:19 #define WANT_BARFX 01:12:25 elliott, I remember that periodicvideo youtube clip where they went to Sweden last year 01:12:35 I have not once regretted my choice of "barf" as the standard name for the error-reporting function. 01:12:39 barf, barfu, and barfx. 01:12:48 The middle one sounds amusingly Asian-stereotypy. 01:12:52 barfu desu 01:13:05 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 or something like that 01:13:21 xD 01:13:45 elliott, after all, yttrium, ytterbium, erbium, and terbium are all named after the same place in Sweden 01:13:59 s/who/how/ 01:14:00 Vorpal: Coldium 01:14:05 elliott, har har 01:14:29 Vorpal: I should visit Stockholm some time. ("You know, just one day. No big deal!") 01:14:37 ("I might just spontaneously decide to go there.") 01:14:42 elliott, let me find the clip 01:14:43 ("It's on my TODO list.") 01:15:19 We've got snow here. 01:15:23 Snow on the high seas. 01:15:25 Snow and the pirate tradition. 01:15:31 What I'm trying to say here is sodomy. 01:16:13 Gregor: Sodomy and the Sodomical Tradition 01:16:41 elliott, about 55 seconds into http://www.youtube.com/watch?v=F9QmVM536Ks 01:17:03 elliott, until 1:20 01:17:06 Vorpal: Ouch, interlacing. 01:17:26 elliott, also some other cool winter scenery after that 01:17:32 elliott, including a large snow plow 01:17:33 Vorpal: But the interlacing! 01:17:57 hm 01:18:05 Vorpal: This flight path is rather indirect :P 01:18:09 (To Stockholm) 01:18:14 elliott, well yeah 01:18:31 Is it usually that snowy in the summer? :p 01:18:45 elliott, that is the winter duh 01:18:53 HE SAID NICE SUMMER WEATHER 01:18:57 I INTERPRET HIS STATEMENTS LITERALLY 01:19:13 elliott, "nice sunny" 01:19:19 Oh :P 01:19:20 elliott, not "summer" 01:19:39 elliott, at least I think he said that 01:21:14 Vorpal: i don't think these guys used a staircase mine 01:21:24 drills? why didn't they use a pickaxe? 01:21:37 elliott, :P 01:21:42 explosives? dude, they must be really impatient, diamond pickaxe mines everything in like a second 01:23:07 elliott, :P 01:24:45 chroot is stupidly simple :P 01:25:53 I love how little POSIX specifies. 01:26:14 You could have the craziest file hierarchy ever, have no chroot(), no mmap(), no mount(), and still be POSIX-compliant. 01:26:19 Yet it specifies SCCS. 01:26:20 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 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 (you CANNOT FIX THAT) 01:50:28 pikhq: So I totally have a mostly-working malloc. 01:50:31 And chroot. 01:50:35 And things! 01:50:47 elliott: Any benefit over dietlibc malloc? 01:50:56 pikhq: I mean mkdir. 01:51:01 God dammit why do I keep making that typo. 01:51:56 pikhq: Oh, and uname. Did I have uname last time? Whatever. 01:52:15 pikhq: BTW, question: You know the common "#!/usr/bin/env interp" trick? 01:52:25 Any suggestions as for how to get that working if you don't have /usr? 01:54:29 Well, you could get Linux to think that "#!/usr/bin/env" is the magic for a new binary format. 01:55:21 Vorpal: Which, BTW, was done. 01:55:31 Vorpal: That video is impossible to fix. 01:55:37 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 elliott: Actually, no, it wouldn't be easier. 01:56:08 pikhq: No? 01:56:19 elliott: Linux lets you register an interpreter for a binary format just by writing to some file in proc. 01:56:25 pikhq: True. 01:56:32 pikhq: Lemme try it... 01:56:46 I've used it for Java, WINE, and Plof in the past. 01:57:00 "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 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 pikhq: Plof? Wow :P 01:57:25 pikhq: Wow, there's Python in there. 01:57:27 Also CLI, and jar. 01:57:28 Already. 01:58:07 pikhq: How does one work out the magic? Just the hex of the magic? What endianness? (Does it matter?) 01:58:10 Can you have multiple magics? 01:58:27 pikhq, okay. I don't really care. It is still cool 01:58:42 Vorpal: Never mind, I totally fixed it. 01:58:49 pikhq, okay? 01:58:53 Vorpal: -vf yadif,fspp=5 makes it tolerable. 01:59:01 pikhq, I can tolerate it as it is 01:59:11 pikhq, I don't know what it is with you 01:59:19 pikhq, also is that to vlc? 01:59:22 Vorpal: Actually, it /is/ really irritating. 01:59:23 Mplayer. 01:59:29 Why would you ever use VLC? 01:59:32 It's like mplayer but worse. 01:59:37 Especially for subtitles. 01:59:42 pikhq: what is maaagic :P 01:59:46 elliott, oh? I don't use subtitles 01:59:59 elliott: Uh, it will be a string that it should look for. 02:00:06 Vorpal: Probably because you don't watch foreign-language content... 02:00:13 pikhq: Python's is "magic d1f20d0a" from the proc thing 02:00:18 So are you sure about that? 02:00:19 elliott, indeed I don't 02:00:33 pikhq: Or is that just how /proc shows it when I cat? 02:00:43 elliott: Probably just proc being weird. 02:00:57 pikhq: So you can't have a magic with : in it then... 02:01:02 Also, can you have multiple magics? 02:01:07 elliott: Hmm. Maybe it's a hex string. 02:01:31 -!- FireFly has quit (Quit: swatted to death). 02:01:43 No, indeed, that seems to work. 02:01:48 But do I really need two interpreters for two magics? 02:02:25 elliott: I dunno. I guess you'd need two entries for two magics. 02:02:26 um 02:02:38 elliott, doesn't #! detection come before binfmt_misc? 02:02:43 as in: 02:02:45 Vorpal: No. 02:02:46 I just tried it. 02:02:49 #!bork registered. 02:03:01 elliott, I thought lookup order was: ELF, a.out, #!, binfmt_misc 02:03:15 Vorpal: binfmt_misc always comes first 02:03:17 yes it would register, but would it work? 02:03:17 binfmt_misc overrides. 02:03:20 huh 02:03:22 weird 02:03:22 It worked, I tested it. 02:03:24 With #!bork.l 02:03:26 *no l 02:03:34 Vorpal: Qemu has a script to set up binfmt_misc for foreign ELFs. 02:03:37 You can, in fact, make Linux valgrind everything. 02:03:38 Now how do you get rid of an interpreter...? 02:03:50 pikhq, what about valgrind itself 02:03:55 wouldn't this get recursive 02:03:56 pikhq: Wouldn't that get into some horrible binfmt_misc loop? :P 02:04:06 Gregor: It's valgrind all the way down. 02:04:11 XD 02:04:14 X-D 02:04:17 <3 02:04:19 Gregor: Alternately, you could set up a noöp interpreter for valgrind. 02:04:23 NO 02:04:28 I approve of this meta-valgrind technology. 02:04:32 Just evaluate the valgrinds lazily. 02:04:52 actually I seem to remember it does loop detection nowdays 02:05:10 it must hit ELF or a.out within n layers 02:05:21 Seriously, how do I remove an interpreter? :P 02:05:27 elliott, you read the man page 02:05:28 elliott: You can't. 02:05:34 I think you can 02:05:39 pretty sure you can 02:05:40 elliott: It compiles it into the kernel live, then it's stuck forever, even through reboots. 02:05:49 Gregor: Thought so. 02:05:53 Vorpal: *Which* manpage? 02:05:58 There is no binfmt_misc man page here. 02:05:59 elliott, buggered if I know 02:05:59 elliott: It even modifies the compiler so that if you compile a new kernel, you keep your binfmt_mscs. 02:06:00 *miscs 02:06:12 Vorpal: Then stop being annoying just because you can't help... 02:06:14 Gregor, trusting trust reference eh? 02:06:21 Vorpal: :P 02:06:26 -!- Sasha2 has quit (Remote host closed the connection). 02:06:29 elliott, I done it before, I just don't remember where 02:06:30 or how 02:06:32 Gregor: But does it counteract Diverse Double-Compiling? http://www.dwheeler.com/trusting-trust/ 02:06:46 elliott, /usr/src/linux/Documentation I guess 02:06:47 check there 02:06:59 elliott, or whereever you have the kernel source 02:07:06 Vorpal: I, like most people, do not have the kernel source on my system all the time. 02:07:18 elliott, well that is your problem 02:07:25 Thankfully I have a copy here. 02:07:35 pikhq: Ah, you can select whatever : you want. 02:07:35 as I expected 02:07:41 Still, you can't have a 256-char magic :P 02:07:44 (Of all ASCII.) 02:07:49 Vorpal: Only because of Kitten. 02:08:06 - 'magic' is the byte sequence binfmt_misc is matching for. The magic string 02:08:06 may contain hex-encoded characters like \x0a or \xA4. In a shell environment 02:08:06 elliott, again your problem 02:08:06 you will have to write \\x0a to prevent the shell from eating your \. 02:08:07 Never mind :P 02:08:11 Vorpal: Oh shut up. 02:08:22 elliott, only if I want to 02:08:31 Gregor: Seriously, tell him he's irritating. 02:08:50 elliott, is Gregor some sort of higher authority? 02:09:02 No, but if I can get pikhq on board too that's pretty solid. 02:09:39 pikhq: Ugh, I can't make /bin/env the interpreter, because it'll just see "/bin/env /path/to/foo". 02:09:50 indeed 02:10:01 E_INSUFFICIENTSODOMY 02:10:07 Gregor, :D 02:10:18 Vorpal loves the sodomy. 02:10:25 -!- sebbu2 has changed nick to sebbu. 02:10:25 Apparently *shrugs* 02:10:35 elliott, sure why not 02:10:45 `addquote Vorpal loves the sodomy. elliott, sure why not 02:10:47 (yes I know what the word means) 02:10:49 Vorpal: OPEN TO TRYING NEW THINGS. 02:10:52 *ALWAYS OPEN 02:10:57 267| Vorpal loves the sodomy. elliott, sure why not 02:11:02 elliott: You'd need to write a custom interpreter to parse the shebang line. 02:11:05 elliott, of course 02:11:20 This is Vorpal's really subtle way of coming out. 02:11:23 btw, wots all this you're doing with binfmt_misc anyway? 02:11:32 `addquote [...] ALWAYS OPEN TO TRYING NEW THINGS. 02:11:33 Gregor: "#!/usr/bin/env interp" is very common. 02:11:34 268| [...] ALWAYS OPEN TO TRYING NEW THINGS. 02:11:37 Gregor: I have no /usr. 02:11:43 Vorpal: My love of sodomy is no secret :P 02:11:47 Gregor: Thus, binfmt_misc 02:11:52 elliott: Soooo ... ln -s /usr /? 02:11:58 Err 02:11:59 ln -s / /usr 02:12:08 Gregor: I refuse to accept such clutter. (But symlinking / to /usr sounds like fun.) 02:12:21 elliott: The HURD does it :P 02:12:43 -!- Sasha has joined. 02:12:46 Also /X11R6, though that one may have gone away. 02:12:55 hah 02:12:56 Gregor: What, symlink / to /usr? :P 02:13:08 elliott, whaaat? 02:13:16 elliott, didn't you read that ln -s backwards 02:13:18 elliott: No, sodomy. 02:13:21 elliott: Soooo ... ln -s /usr /? 02:13:23 Vorpal: No, no I didn't. 02:13:29 elliott, oh wait 02:13:39 elliott, I just saw ln -s / /usr 02:14:29 elliott, make it point to a custom wrapper file that just munges argv and passes the right thing to env 02:14:38 elliott, however it needs to read the file 02:14:41 Vorpal: I have to parse the shebang, duh. 02:14:53 elliott, linux just passes #! along 02:14:57 not anything more than that 02:15:19 Vorpal: His problem is he wants #!/usr/whatever to work with no /usr 02:15:25 No, he understands. 02:15:41 Ohoho, make it point to. 02:15:42 I should read. 02:15:47 But prefer not to. 02:15:50 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 elliott, you need the same for #!/usr/bin/python and #!/usr/bin/perl and so on 02:15:55 So it's not exactly trivial. 02:15:58 Vorpal: Nothing should do that :P 02:16:00 And not much does. 02:16:07 fairly common 02:16:10 Not really. 02:16:12 Only among bad programs. 02:16:18 elliott: Are you unwilling to use stdio? 02:16:23 And the distro solution to that is to s!/usr/bin/!/usr/bin/env !, usually. 02:16:25 Gregor: What, in my coreutils? 02:16:36 So it's not exactly trivial. <-- uh the pseudo code fitted into one line of IRC 02:16:38 ;P 02:16:40 elliott: In your binfmt_misc /usr-shebang wrappermajig. 02:16:46 Vorpal: It's not as trivial as one echo line :P 02:16:56 Gregor: Even if I was willing, why would it affect anything? 02:16:57 elliott, it is not as trivial as a nop yeah 02:16:58 Gregor: scanf? :P 02:17:05 elliott: Then it's just fgets and strchr 02:17:18 Gregor: ...you do realise that fgets ~= read? 02:17:23 For this purpose. 02:17:30 elliott: fgets always reads lines, and you want one line. 02:17:38 Gregor: Stop when you encounter a \n, problem solved. 02:17:44 fgets can read only part of a line if the buffer is too small, anyway. 02:17:54 elliott, getline 02:17:57 Gregor: stdio does not make this significantly easier at all :P 02:17:58 elliott: Finefine; in that case, strchr is sufficient 02:17:59 Vorpal: Die in a fire. 02:18:08 Gregor: Good thing I have no objection to strchr, then. 02:18:08 strchr being in string, not stdio, but eh :P 02:18:09 elliott, it is in poisix 2008 iirc 02:18:14 posix* 02:18:26 Gregor: But note that I'll have to handle the argument being terminated by space OR \n. 02:18:28 Or, in fact, EOF. 02:18:31 SO COMPLICATED 02:18:34 Vorpal: It shouldn't be. 02:18:38 elliott, it is 02:18:40 lawl 02:18:42 Vorpal: It shouldn't be. 02:18:51 Gregor: Maybe I could do it as a perl script. :P 02:18:52 MWAHAHA 02:19:20 elliott, strtok? 02:19:28 Vorpal: Why even bother... 02:19:31 It's a trivial C program :P 02:19:32 elliott, :P 02:19:36 elliott, uh 02:19:57 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 pikhq: Your tormenting Vorpal has little effect on him :P 02:20:18 `addquote So it's not exactly trivial. [Later about same thing] It's a trivial C program :P 02:20:23 -!- p_q has joined. 02:20:28 269| So it's not exactly trivial. [Later about same thing] It's a trivial C program :P 02:20:36 pikhq, nah I'm going to sleep 02:21:02 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 Vorpal: So, you're not bothered by the random horizontal lines EVERYWHERE there is motion? 02:21:50 pikhq, not in that case, wasn't very noticable 02:21:59 noticeable* 02:22:03 now, night → 02:23:02 Vorpal must be blind. 02:25:05 pikhq: OK, so let's say I have /libexec/runenv and /libexec/runenvspace. 02:25:11 And they're identical except one reads one byte more at the start. 02:25:19 And then I just register them as the interpreters for the two magics you'd expect. 02:25:26 Job done. 02:25:57 Yeah, that should keep the /usr/bin/env trick "just working" nice and easy. 02:26:23 May have to do more formats for, say, #!/usr/bin/perl or something. 02:26:31 But that should be much easier to handle. 02:27:56 pikhq: the solution for that is to edit the file to use /usr/bin/env :P 02:28:15 elliott: Okay, true, that functions just as well. 02:31:59 pikhq: So what command should I do next batman :P 02:35:14 rm 02:35:29 -!- Sasha has quit (Remote host closed the connection). 02:35:50 -!- Sasha has joined. 02:36:30 pikhq: http://www.opengroup.org/onlinepubs/9699919799/utilities/rm.html LOOK AT THE COMPLEXITY 02:36:52 Okay, so it's actually pretty simple. 02:37:28 elliott: Do you have shar yet? :P 02:37:41 Gregor: Why do you ask? 02:38:06 elliott: Because I'll bet it's obscenely complicated and harassing you is fun? 02:38:19 Gregor: shar is not actually posix :P 02:38:34 Gregor: Anyway, as far as "obscenely complicated" goes, dude, I've written most of a dd/shar creator in dd/sh. 02:38:56 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 SO I THINK I'M HARDCORE ENOUGH 02:39:35 elliott: How 'bout script(1)? 02:39:54 Gregor: Yes, yes, totally. Believe it. 02:41:04 Okay, I've got a highly-improved version of that Ytterby video, and nowhere to upload it. Poo. 02:41:18 pikhq: filebin.ca if it's <50mb 02:41:37 It is 54mb. 02:43:19 pikhq: gzip it :P 02:43:21 Or lzma it. 02:43:22 Or anything. 02:43:28 Even if it's already-compressed. 02:43:56 Come on, small amounts of redundancy! 02:44:26 Okay, xz doesn't reduce the size. 02:44:43 xz -9, though? 02:44:58 pikhq: Compile an asm program that just prints it out, and UPX --ultra-brute it. 02:48:22 Eh, whatever. The point is, Vorpal is blinder than a bat, and I shall never trust his opinions on video quality. 02:49:19 I think he acknowledges the complaint but just doesn't care :P 02:50:20 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 Sgeo: You will regret it. 02:50:48 VMware Server has the worst UI I have seen. 02:50:56 VBox whatever doesn't like Windows 98 02:50:58 AJAX to localhost. 02:51:03 AJAX. To. Localhost. 02:51:24 Let 02:51:33 Let's see if I can get sound on here, maybe I'll make do with that 02:51:41 And just ignore lack of integration 02:51:48 pikhq: I am considering writing my own getopt. 02:51:57 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 pikhq: Guess what the hardest part of writing rm is. 03:28:35 What? 03:28:52 pikhq: -i. 03:29:13 ... 03:29:20 Yeah, that would actually be annoying. 03:29:52 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 It's possible but irritating. 03:30:10 Oh, and (5) returns the first-char-is-y flag. 03:34:34 pikhq: Well go on, I sure don't want to :P 03:39:27 Oo, flags 03:44:36 bin/rm.c, line 57: cannot recover from earlier errors: goodbye! 03:45:44 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 Gregor: I was fucking around with a buffer X-D 03:46:18 You win. 03:46:23 (Although error-check that read call, man!) 03:46:31 :P 03:46:44 Admittedly it's pretty inefficient, but we're talking about rm -i here ;) 03:47:00 Yeah :P 03:48:02 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 elliott: That's ... weird? 03:48:27 Gregor: Yeah... 03:48:31 Sgeo: brazil is beyond fixing. 03:49:46 Gregor: Something is up with this code :P 03:50:17 My code is given with NO WARRANTY 03:50:37 OHWAIT 03:50:39 Gregor: EXPRESS OR IMPLIED? 03:50:39 Nowait 03:50:40 Unohwait 03:50:48 Yeah I keep going OH and then wait no. 03:50:51 elliott: WHATSOEVER 03:50:54 static int ask() 03:50:54 { 03:50:54 char reply, c; 03:50:54 if (read(0, &reply, 1) <= 0) return 0; 03:50:54 c = reply; 03:50:55 while (c != '\n') 03:50:56 if (read(0, &c, 1) <= 0) return 0; 03:50:58 return (reply == 'y' || reply == 'Y'); 03:51:00 } 03:51:02 is my function fwiw 03:51:25 That's ... pretty obviously OK. 03:52:30 I can only speculate that you're calling it wrong somewhere :P 03:52:33 ...LOL 03:52:36 writes(2, "Remove "); 03:52:36 write(2, path, strlen(path)); 03:52:36 write(2, "? ", 2); 03:52:36 read(0, buf, 2); 03:52:36 if (!ask()) return 1; 03:52:52 ... yeah. 03:52:55 Like that, for example. 03:53:07 $ yes | bin/rm -i x y z 03:53:07 Remove x? Remove y? Remove z? elliott@dinky:~/code/tools$ 03:53:09 Ouch. 03:53:26 But ... that's correct though. 03:53:27 Heh, /bin/rm does the same, so let's ignore that. 03:53:33 Gregor: Yes, but ugly :P 03:53:37 Ah :P 03:53:47 Now to do -r and it'll be done. 03:54:03 Have you written sh yet? :P 03:54:28 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 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 *three sets of utilities: 03:55:41 At which level does the user become tainGNUted? 03:56:00 Gregor: All code is original. By wget I mean "a reimplementation of wget". 03:56:06 Ahhhhh 03:56:07 Oh, things like cpio will also be in the last set. 03:56:20 Gregor: Of course I'm just as likely to write "wget: the curl wrapper!", but you get the idea. :P 03:56:27 And at what level do you get KDE4? 03:56:37 Gregor: The level accessed by "rm -rf /". 03:56:41 :P 03:56:45 And unlike some pussy competitor products, *my* rm won't refuse to do that. 03:57:23 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 Gregor: But the manual tells you it's For Your Own Good. :p 03:58:01 Suresure. 03:58:10 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 Just like they asked you to. 03:58:24 Fair point :P 03:58:33 -!- augur has quit (Remote host closed the connection). 04:01:06 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 isatty! 04:01:17 Is a titty. 04:01:44 # 04:01:44 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 Gregor: Pop quiz: What happens if this case happens but standard input isn't a terminal and -i is not specified? 04:02:02 Error? Silent acceptance? 04:02:08 Demons flying out of your nose, washing the Windows API? 04:02:29 (I say: print a diagnostic and exit(1).) 04:02:34 Well. 04:02:40 (I say: print a diagnostic, process other files, and exit(1).) 04:03:29 "process other files"? 04:03:30 Silent acceptance, almost assuredly. 04:04:08 I KILLED JIMBO! :( 04:04:49 } 04:04:49 if (((S_ISDIR(st) && recurse && rmdir(path) < 0) 04:04:50 || unlink(path) < 0) 04:04:50 && !force) { 04:04:50 barfx(path); 04:04:50 return 0; 04:04:52 } 04:04:54 what have i done. 04:05:15 recu... oh 04:05:27 bin/rm.c, line 24: no alignment 04:05:27 what 04:05:31 struct stat st; 04:05:44 Isn't there some language where you have to say recurse() instead of the function's name, or something? 04:05:47 Oh, it doesn't know what it is. 04:05:52 Sgeo: Sure? 04:05:54 I guess. 04:05:57 I vaguely recall that. 04:06:44 Since the name is not defined during the thing... Forth 04:06:45 ? 04:07:30 Gregor: 04:07:30 if (((S_ISDIR(st.st_mode) && recurse && rmdir(path) < 0) 04:07:31 || unlink(path) < 0) 04:07:31 && !force) { 04:07:43 Gregor: Spot the bug that makes "rm -r dir" manage to remove dir but then spew out: 04:07:48 dir: No such file or directory 04:08:45 7967 rm 04:08:48 Just need to add recursion and it's done. 04:09:37 Gregor: No GNU code is actually looking pretty likely at this junction :P 04:09:41 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 "Students Warned Not To Link To Or Even Read WikiLeaks If They Want A Federal Job" 04:52:58 I thought that was one school, and a school that focuses on diplomacy 04:53:10 (Or maybe just sent to students looking into diplomacy) 04:53:15 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 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 Respond to WM_VSCROLL is insufficient, isn't it? 05:07:20 Do you mean for Windows? 05:07:48 Yes 05:08:25 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 EVERYONE: 05:34:56 What's your favorite libc function? 06:10:16 -!- hagb4rd has quit (Ping timeout: 245 seconds). 06:10:51 The one that turns the computer into SkyNet 06:13:03 Gregor: I don't know! 06:28:54 Will an old piece of music come to life if you tune your piano at random? 06:35:53 Yes, but it will almost invariably be angry and murderous. 06:39:46 What does "HAMBURGEFONSTIV" mean? 06:47:43 Is it a real word? 06:52:10 I'm gonna guess "fake word" :P 06:52:26 `translate hamburgefonstiv 06:52:27 hamburgefonstiv 06:52:34 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 Gregor: My "favorite" libc function is, of course, gets! 07:35:23 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 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 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 :S 11:56:30 bbl 11:56:54 http://besty.pl/upload/file/1019.jpg 12:02:26 -!- nopseudoidea has joined. 12:14:32 nooga, who is that? 12:19:47 -!- FireFly has joined. 12:20:13 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 You know, of all of the things wrong with modern Western culture, I think the worst is recursive fame. 12:59:39 People on Celebrity Big Brother who are famous for /being on a previous series of Plebian Big Brother/. 13:02:59 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 elliott (for log reading): did some tests with pypy, it clocks in between cython and and the traditional cpython 13:48:38 the difference between each of them is about one order of magnitude 13:49:46 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 Phantom_Hoover, as I said: cython 14:31:33 (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 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 oh 14:46:55 so classic python is written in ... ? 14:47:01 C. 14:47:07 wait 14:47:14 sry, i didn;t pay attention 14:47:32 they why do you call it cpython instead of python? 14:48:01 Python is the language; CPython is the official implementation. 14:49:35 okay 14:49:39 then cython ? 14:51:34 Cython is some weird thing. 15:00:56 ok, then i'm waiting for cuby 15:01:33 -!- Sgeo has joined. 15:09:19 -!- elliott has joined. 15:12:33 21:34:52 EVERYONE: 15:12:34 21:34:56 What's your favorite libc function? 15:12:39 Gregor: Hey duuude I've asked that before. 15:14:23 Gregor: My answer is: mmap, without contest. 15:14:25 06:32:08 * nooga wonder when they'll try to write cuby or cruby 15:14:38 nooga: if you mean RubyRuby like PyPy, then it's called Rubinius. 15:18:15 i know about Rubinius 15:18:43 We are worms, we're the best, and we've come to win the war 15:19:30 isn't cython that awkward language that looks like python mixed with C ? 15:22:33 nooga: Doesn't seem that awkward to me. 15:23:30 -!- Goosey has joined. 15:28:57 [[In the United States, summer vacation lasts for almost 3 months.]] — WP 15:29:02 ...how? 15:29:26 Vorpal: http://i.imgur.com/uwFQS.jpg LOL, SWEDEN 15:29:29 Do they just not *have* Christmas and Easter holidays? 15:29:39 Phantom_Hoover: Summer starts in JANUARY! 15:30:10 Wait, elsewhere, summer doesn't last as long? 15:30:17 Erm, vacation 15:30:21 * Sgeo suddenly wants to move 15:30:45 Sgeo, it's around 2 months here, although it depends on the school. 15:32:27 "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 which includes christmas day, but not anything easter. 15:33:43 Sgeo, there are 2-week-long Christmas and Easter holidays, though/ 15:33:55 Spring break == Easter, right? 15:34:48 I assume. 15:34:57 So yeah, we have off 15:35:05 There are also half terms of around a week. 15:36:01 Multiple ones, actually. 15:37:36 i see some individual states have good friday, though 15:38:20 oerjan, ask pikhq about US regulations about paid leave if you enjoy feeling smug. 15:38:43 heh 15:39:47 "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 so it's not consistent 15:40:58 (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 Gregor: Does util-linux count as GNU software? 15:58:01 I never cease to be amazed by the glurge people are taken in by. 15:58:33 Phantom_Hoover: wut 15:59:14 elliott, latest moronic Facebook campaign: "Put a cartoon character as your picture TO STOP CHILD ABUSE!!1111!!!" 15:59:28 Ah yes. 15:59:41 Of course, noöne bothers giving any /money/ or anything, it only matters that you show that you care. 15:59:43 I hated that so much that I beat up my three kids into a bloody pulp and they screamed. 16:00:04 And the fact that it seems to be for the NSPCC just paints another layer of revulsion on the thing. 16:00:17 BLOODY 16:00:19 PULP 16:00:22 Also Sgeo for good measure. 16:00:55 You turned kids into me? 16:00:56 -!- kar8nga has quit (Remote host closed the connection). 16:02:59 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 16:22 < elliott> nooga: Doesn't seem that awkward to me. 16:12:14 LOL HOLY CRAP OMG OMG OMG 16:12:21 while ((entry = readdir(dir))) 16:12:21 if (!rm(entry->d_name)) ok = 0; 16:12:23 SPOT THE MOTHERFUCKING BUG 16:12:43 -!- p_q has quit (Quit: This computer has gone to sleep). 16:13:04 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 nooga: c is awkward 16:13:39 and python is even more awkward and nazi 16:13:50 if you connect c with python 16:13:55 it must be awkward 16:16:12 nooga, adding high-level constructs to C is completely missing the point. 16:16:17 -!- poiuy_qwert has quit (Client Quit). 16:16:29 mmm 16:16:41 It's a high-level assembler for an abstract machine, not a general-purpose language. 16:16:54 it'd be rather like syntactic sugar to cover things we do all the time in C itself 16:18:03 besides 16:18:24 i don't think that guys at NeXT sompletely missed the point making Objective-C 16:19:25 Which is why Objective C isn't just "C with some extra crap papier-mâchéd on" like C++. 16:20:54 C++ is fugly 16:20:54 Although it is to a significant degree. 16:21:06 and thick 16:21:32 Objective C is thin and feels almost like another preprocessor level over C 16:21:33 Why on earth would you even include C as a subset of Objective-C anyway... 16:21:56 It's such a stupid mentality. 16:22:09 for porting, for example 16:23:22 Porting what? 16:23:43 * Phantom_Hoover U-turns on Objective-C. 16:23:50 Yes, it does miss the point entirely. 16:23:59 well uh 16:24:34 -!- yorick has joined. 16:24:37 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 nooga: you'd port it to brainfuck, ofcourse 16:25:19 uh 16:25:34 okay, Phantom_Hoover, you're right 16:26:46 elliott: do you know some papers on lisp machine lisp and it's implementation? 16:26:56 or any hardware lisp implementation? 16:26:59 nooga: which type of lisp machine 16:27:49 i remember something on MIT ones 16:29:09 nooga: well i don't think too much was published about it 16:29:12 since they were usually quite commercial 16:29:14 but i think some stuff was 16:30:02 gah, a reason to dislike bruce perens 16:30:04 is nothing sacred any more? 16:30:25 nooga, basically, when you say "portability" you mean "copying and pasting some C code into your Objective-C project". 16:30:30 That is stupid. 16:30:52 If you have C code and you want to interface it with an HLL, you should use an FFI. 16:30:57 but works like a charm 16:32:53 so does PHP 16:35:16 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 no, I exploit the design and abstraction AND use C library without hassle 16:39:01 nooga: and you could get shit done in php, too 16:39:05 it's just that you shouldn't. 16:39:16 nooga, ...which is exactly what a good FFI does, without requiring you crowbar C into your language. 16:39:44 what's the point!? 16:40:10 Objective-C allows this and it's still pretty good C with 'cancer' 16:41:44 Phantom_Hoover: why are you even bothering to argue, it's the same line from both sides forever 16:41:50 neither of you are convincing the other 16:42:19 elliott, surely you take a side in this? But yes, I'll leave it. 16:42:31 Phantom_Hoover: When did I imply that I did not? 16:42:48 elliott, misinterpretation. 16:42:55 Okay. 16:43:01 uh 16:43:46 * nooga shuts up and gets back to playing with hedgehog lisp 16:44:30 Phantom_Hoover, that wasnt nice, to beat me into a bloody pulp :( 16:44:47 i did that, not him 16:44:51 Zuu, aww. It's also no fun if you *respond*. 16:44:58 oh, wait, maybe he did 16:45:02 how am i supposed to eat cookies now? 16:45:13 sshc turned out to be an actual moron, so I can't pick on him... 16:45:36 dbc, you are a disgusting little man and you should be ashamed of yourself. 16:45:44 Phantom_Hoover: Hey, that's Daniel B. Cristofani. 16:45:44 could someone please lay a cookie on top of my bloody pulplike body? 16:45:56 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 elliott, gyaaaaaaaah! 16:46:30 Oh what the heck. 16:46:31 :D 16:46:44 Phantom_Hoover, did you have to shape me into an ashtray? 16:46:51 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 Leonidas, DON'T RESPOND TO THIS OR I WILL KILL YOU AND DON'T HAVE DONE ANYTHING COOL 16:47:00 I call it "IRC Russian Roulette". 16:47:56 uhm, sure 16:48:08 "DON'T RESPOND TO THIS OR I WILL KILL YOU" 16:48:09 "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 mycroftiv, unlike your namesake, you are wantonly lacking in any analytical or intellectual capabilities. 16:52:01 Hey, Sgeo is still bloody pulp. 16:52:05 Ah, who cares. 16:52:24 IS THIS SPARTA? 16:52:30 I think Phantom_Hoover is immortal 16:53:08 Sgeo, there's no evidence to the contrary. 16:53:33 Phantom_Hoover: mycroftiv is awesome 16:53:47 elliott, you are sorely mistaken. 16:53:54 Phantom_Hoover: i am not, he's a plan9 guy 16:54:08 -!- larsrh has joined. 16:54:43 rodgort, what kind of a name is that? It sounds utterly stupid. 16:54:55 Actually, I rescind that remark; it suits you perfectly. 17:07:10 -!- nooga has quit (Ping timeout: 240 seconds). 17:08:31 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 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 busybox will be precompiled and then the compiler suite inside the built system will be changed 19:13:57 nooga: BusyBox is not actually all that small. 19:14:01 i know 19:14:02 ;p 19:14:02 I'm packing stuff into much smaller space than it... 19:14:15 nooga: note that with busybox you CAN disable most stuff to get a small executable, but still, mine's smaller :P 19:14:24 :P 19:14:32 and what can it do so far? 19:15:11 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 Pretty POSIX compliant. 19:15:45 2083 yes 19:15:46 6483 cat 19:15:46 6615 date 19:15:46 8775 kill 19:15:46 9299 mkdir 19:15:52 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 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 nooga: When UPX'd, it goes down to 15K. 19:16:35 oerjan: :D 19:16:50 oerjan: well it /was/ on the plan 9 mailing list 19:17:30 > > AFAIK there are no shared libraries in plan9? 19:17:30 > > Any ideas will they be available? 19:17:30 > 19:17:31 > Shared libraries are the work of the devil, 19:17:31 > the one true sign that the apocalypse is 19:17:31 > at hand. Seriously, they're good for two 19:17:33 > things, 19:17:35 huh !?! 19:17:36 well, three things for me... 19:17:38 first being the ability to share code between the application 19:17:40 hate to see gnome ported and get 20meg staticaly linked 19:17:43 simple CD player 19:17:45 Wow. 19:17:46 He wants to port GNOME to Plan 9. 19:17:48 There are no words. 19:18:09 -!- cheater99 has joined. 19:18:14 Is that A Stupid Idea? 19:19:03 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 Sgeo, incidentally, why did you say you wanted to move here because the summer holidays were shorter? 19:19:43 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 okay 19:22:49 elliott_, hm, dynamic linking is useful for plugins 19:22:51 i'd also need init :D 19:23:03 elliott_, and for runtimes that can load "native" extensions, such as python 19:23:06 that is about it 19:23:07 busybox delivers that 19:23:13 nooga: You don't need init. 19:23:20 nooga: init can be a shell script on embedded systems. 19:23:26 #!/bin/sh 19:23:27 do set up 19:23:30 a little more set up 19:23:34 (wait forever) 19:23:36 i'm too lazy to write one 19:23:42 i will try with init for now 19:23:57 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 Vorpal: He says that in the post itself. 19:24:01 my plan is to build something working and then strip it 19:24:06 Vorpal: But really, dynamic loading isn't dynamic linking. 19:24:16 nooga: Use sstrip. (BusyBox does that as part of the build process if you enable it.) 19:24:21 elliott_, true, they are however related 19:24:26 Phantom_Hoover, I hate summers 19:24:30 Vorpal: Dynamic linking is turning all linking into dynamic loading for no real reason. 19:24:31 Sgeo: why? 19:24:33 Sgeo, why? 19:24:35 I don't get out much during the summer 19:24:39 Why? 19:24:47 Climate? 19:24:56 elliott_, to avoid linking huge libraries like QT or boost into everything? 19:25:07 Phantom_Hoover, what would I do? 19:25:10 http://macournoyer.com/blog/2009/02/12/tinyrb/ i wan this :D! 19:25:12 want 19:25:16 Vorpal: That's a flaw in those libraries. 19:25:26 Sgeo, what do you do normally in your free time? 19:25:34 Go on the computer 19:26:04 Yeah yeah, that's very unspecific. My interests vary 19:26:07 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 nooga: http://sprunge.us/HWUO dietlibc-for-pcc.patch 19:26:17 nooga: http://sprunge.us/LDHW pcc-zero-malloc.patch 19:26:28 nooga: http://sprunge.us/DfEc pcc-libs-quad-dietlibc.patch 19:26:30 elliott_, yes indeed. But we live in a world where they exist and are widely used 19:26:34 nooga: Get pcc and dietlibc from their respective CVS repositories. 19:26:45 elliott_, it is not realistic to hope to replace all that for your linux distro 19:26:47 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 Vorpal: So it's no issue! 19:27:48 And Smalltalk's just fine in its own little world. Working with the outside world is completely unnecessary 19:27:56 elliott_, perhaps 19:28:16 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 elliott_, how does it look for normal X programs? 19:28:55 when it comes to static vs. dynamic binary size 19:28:57 Vorpal: Normal -- just libX11? Or GTK? 19:28:58 Why not just do the dynamic thing, but manage the libraries properly? 19:29:03 Sgeo: HAHAAHAHHAHAHAHAHA 19:29:08 elliott_, both would be interesting to know 19:29:14 -!- wareya has joined. 19:29:15 Sgeo: (1) Doing so is either impossible or meaningless depending on your meaning. 19:29:28 Sgeo: (2) If Quake II's binary were statically linked, it would not run on anything today. 19:29:32 It was compiled in 1997. 19:29:35 Vorpal: With Boost in particular, "dynamic linking" is a myth. 19:29:39 Because it is statically linked to the libc, it still works. 19:29:46 And Quake II is a fucking awesome game. 19:29:47 Q.E.D. 19:29:51 Vorpal: I haven't measured yet. 19:29:52 Vorpal: It uses templates heavily, making it effectively already statically linked. 19:29:56 pikhq, quite 19:29:59 elliott_, you must have meant "weren't" 19:30:05 Sgeo: Yes, yes. 19:30:06 weren't. 19:30:36 * elliott_ wonders what directory to install his recompiled pcc/dietlibc toolchain to. 19:30:41 /opt/toolchain? :p 19:30:45 pikhq: Wait, what's a triple again? 19:30:50 arch-kernel-libc? 19:31:28 elliott_, you still use binutils? 19:31:32 elliott_, if so: why on earth 19:32:01 Vorpal: I don't see how you can infer that from what I said. 19:32:12 Vorpal: But yes, I do; I have searched far and wide and cannot find a binutils alternative. 19:32:14 elliott_: architecture-evendor-os for a triple, architecture-evendor-kernel-userspace for a quad. 19:32:24 elliott_, "pcc/dietlibc/ toolchain" 19:32:27 The BSD binutils will undoubtedly be BSD-specific. 19:32:33 Vorpal: Got an alternative? 19:32:38 elliott_: So, "x86_64-pc-linux-dietlibc"... 19:32:50 elliott_, not really no. I presume gold is even worse? Plus iirc it is part of binutils 19:32:55 pikhq: Irritating. I want something that has the compiler in it :P 19:32:59 Vorpal: "Even worse" how? 19:33:01 It's certainly faster. 19:33:10 elliott_, I thought it was C++ 19:33:11 But it produced executables a few bytes bigger for me, so nyah. :P 19:33:14 elliott_: The build tuple is all about specifying an ABI. 19:33:16 But yeah, it is part of binutils. 19:33:21 elliott_: The compiler has nothing to do with the ABI. 19:33:29 pikhq: Then what should I use for my pcc/dietlibc name eh?! NOBODY TAKES THIS INTO CONSIDERATION 19:33:31 elliott_: Except when it does. 19:33:33 /opt/pcc-dietlibc MAYBE but that's just weird. 19:33:38 elliott_, gold produces binaries a few bytes bigger eh, what is the extra data? 19:33:50 elliott_: /opt/pcc-x86_64-pc-linux-dietlibc/ 19:33:55 Vorpal: No idea, I didn't check; I just tried gold, noticed an inflation, and put it back :P 19:33:58 pikhq: Waay too long. 19:34:23 elliott_: Sorry, but that's what you get if you want anything more than "lol I only support one ABI". 19:34:41 elliott_, but pcc is not related to the ABI? 19:34:48 Vorpal: No, it's not. 19:34:50 you could have other compilers installed along side 19:34:53 alongside* 19:34:53 But I still have to make an /opt directory :P 19:35:06 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 elliott_, so why not /opt/x86_64-pc-linux-dietlibc ? 19:35:24 elliott_, but what difference does "pcc" there make 19:35:28 since it doesn't affect ABI 19:36:14 I wonder why I have WANT_SSP enabled in my guide. 19:36:18 I wonder if it fixed something. 19:36:38 Vorpal: I could also call it /opt/linux, 'cuz it's running on linux. 19:36:42 But I'm trying to give it a relevant name :P 19:37:04 * check for valgrind, and if detected, turn off optimized SIMD string 19:37:05 * routines that cause false positives in valgrind. This enlarges and 19:37:05 * slightly slows down your code! */ 19:37:12 HEY HEY I CAN TURN OFF VALGRIND SUPPORT AND GET SMALLER BINARIES 19:37:13 WOOOOOOOOOOOOOOOO 19:38:17 /* do you want smaller or faster string routines? */ 19:38:19 Oh, don't do that to me... 19:38:28 I should probably go for faster, since it likely actually pays off here. 19:40:26 elliott_, you know elliotOS, is it still "don't allow low level programming"? 19:40:41 (outside the kernel parts that need it) 19:40:44 Vorpal: It's never been that exactly. 19:40:52 It's just that giving the low-level permission to anything is STOOPID :P 19:40:56 Vorpal: But sure, yes. 19:40:57 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 Vorpal: (Synthesis-style stuff + specialisation = code that does stuff mapping directly to low-level things ends up doing them directly :P) 19:41:15 Vorpal: But why? 19:41:31 elliott_, there are cases when it is useful (since I have yet to see a perfect compiler) 19:41:37 number crunching mostly 19:41:58 Vorpal: good thing i'm writing the perfect compiler then 19:41:59 or should i say 19:42:00 SPECIALISER 19:42:47 elliott_, yes sure, but will it automatically use GPGPU calculations when that is beneficial? ;P And when exactly *is* it beneficial? 19:43:07 same goes for SIMD of course 19:43:19 Vorpal: there's no reason i can't expose an interface to the GPGPU that is checked at compile-time 19:43:27 elliott_, ah good answer 19:43:52 Vorpal: same way I expose an interface to the CPU that is checked at compile-time :P 19:43:54 (with a compiler) 19:44:00 sensible 19:44:54 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 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 elliott_, hm 19:45:59 Then when it's used by user code, calls are just "inlined" down in the assembly so it uses them directly. 19:46:26 indeed, would probably work for many common situations 19:47:33 pikhq: #define WANT_FASTER_STRING_ROUTINES 19:47:36 pikhq: WHAT DO I DO WHAT DO I DO 19:47:40 pikhq: (they're BIGGER) 19:48:23 * lines from /etc/resolv.conf? Normally not used on boot floppies and 19:48:23 * embedded environments. */ 19:48:25 er 19:48:28 /* do you want the DNS routines to parse and use "domain" and "search" 19:48:28 * lines from /etc/resolv.conf? Normally not used on boot floppies and 19:48:29 * embedded environments. */ 19:48:30 elliott_, profile :P 19:48:31 I think I can disable that 19:48:34 no reason not to just use "nameserver" 19:48:44 Vorpal: I know that one will be smaller but slower and the other will be bigger but faster. 19:48:54 elliott_, so presumably bigger and faster 19:48:56 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 Yeah, I'll go bigger and faster for this one. 19:49:03 elliott_, string routines is after all hot code 19:49:35 Huh. dietlibc's localtime can read /etc/localtime. 19:49:43 But fuck that, because you can just set $TZ. 19:49:49 elliott_, um why not read that file 19:49:53 Vorpal: More koed. 19:50:01 elliott_, since it needs to look up when DST changes anyway 19:50:09 Vorpal: Yes. That is in $TZ. 19:50:13 elliott_, I mean, TZ=Europe/Stockholm 19:50:15 then what 19:50:16 Vorpal: Fail. 19:50:27 Vorpal: That value violates POSIX. 19:50:32 elliott_, I'm not going to change TZ two times / year :P 19:50:39 elliott_, and you agreed that POSIX is stupid 19:50:40 Vorpal: Good. 19:50:41 You don't have to. 19:50:44 http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html 19:50:49 Vorpal: Scroll down to the bottom. 19:50:50 elliott_, different countries change at different points 19:50:53 Note how $TZ handles DST. 19:51:01 Vorpal: IT GOES INTO THE $TZ VARIABLE YOU IDIOT 19:51:12 rule 19:51:13 Indicates when to change to and back from the alternative time. The rule has the form: 19:51:13 date[/time],date[/time] 19:51:13 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 The format of date is one of the following: 19:51:15 Jn 19:51:17 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 n 19:51:23 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 Mm.n.d 19:51:29 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 elliott_, that varies between years 19:51:32 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 Vorpal: No it doesn't. 19:51:56 DST changes are rare, and call only for a new $TZ. 19:51:59 elliott_, in some countries it does 19:52:04 Vorpal: Not regularly. 19:52:23 elliott_, Isral iirc used to have it decided on a year by year basis 19:52:33 Used to. 19:52:33 Israel* 19:52:51 /opt/pcc-dietlibc it is. 19:52:59 elliott_, what about 32-bit then 19:53:02 elliott_, for multilib 19:53:54 Vorpal: What about it? 19:53:57 This is just for my Debian machine, duh. 19:54:02 On Kitten it'll be /bin/pcc and /lib/libc.a. 19:54:18 elliott_, and the -m32 one? does it do that in the same binary? 19:54:28 Vorpal: What are you trying to say? 19:55:14 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 Vorpal: multilib packages go into prefix /arch/archname. 19:55:41 I don't think pcc has -m32. 19:55:49 32-bit dietlibc would go into /arch/x86/lib/libc.a. 19:56:12 elliott_, shouldn't /bin symlink to /arch//bin ? 19:56:32 elliott_, it would be kind of neat 19:57:03 pikhq: -rw-r--r-- 1 root root 864K Dec 5 19:55 libc.a 19:57:13 Vorpal: No; I briefly considered that and rejected it on the grounds of cluttering up /. 19:57:25 Vorpal: (If I could symlink / to /arch/, that would be insane enough for me to consider it.) 19:57:27 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 Migrating CPU architecture NOT SUPPORTED :P 19:57:42 elliott_, alas I believe that would present some problems 19:57:52 elliott_, it SHOULD be because that would be COOL 19:57:57 There are non-x86 PCs, aren't there? 19:58:07 elliott_, yes 19:58:08 i.e. obeying the PC standard in every way except that they have a PPC there instead. 19:58:12 Which is just silly :P 19:58:13 hm 19:58:17 Vorpal: What's more fun is non-PC x86s. 19:58:23 elliott_, indeed 19:58:29 Modern Macs aaaalmost manage to be that. 19:58:34 elliott_, but this would work between 32/64 for the same arch at least 19:58:35 But since they can emulate a BIOS, not really. 19:58:43 Vorpal: Only if you recompiled everything first :P 19:58:47 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 elliott_, nah, just install that other arch, change symlinks and kernel and reboot to new hardware 19:59:14 elliott_, minimises downtime 19:59:35 elliott_, also you can use a 64-bit kernel and a 32-bit userlamnd 19:59:36 land* 19:59:42 elliott_, even common on some arches iirc 19:59:52 such as sparc iirc 19:59:57 Anyone want a precompiled pcc/dietlibc toolchain? 20:00:11 For x86-64/Linux. 20:00:14 not really no 20:00:20 Anyone else? :P 20:00:26 elliott_, make one targeting h8300-coff 20:00:31 Has to be put in /opt/pcc-dietlibc because dietlibc's diet wrapper knows what prefix it was built with. 20:00:34 Vorpal: No :P 20:00:47 elliott_, but kitten for RCX sounds awesome 20:10:51 Fucking hell, more problems with false and true. 20:11:07 Oh! lol. 20:11:24 HA! dietlibc shrinkage. 20:11:27 1591 yes 20:11:27 1631 sleep 20:11:27 1791 pwd 20:11:27 1795 echo 20:11:27 1831 dirname 20:11:44 11,164 bytes saved in total. 20:11:48 11K saved just by configuring the libc. 20:15:09 LOL OR MAYBE NOT 20:15:11 Sun Dec 5 20:14:31 [unknown timezone] 2010 20:18:10 96809 total 20:18:12 Acceptable. 20:18:12 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 Vorpal: It's okay, dietlibc doesn't support locales anyway. Oh wait, yes it does. 20:18:44 extern enum __encoding { 20:18:45 CT_8BIT, 20:18:45 CT_UTF8, 20:18:45 } lc_ctype; 20:18:48 It supports a whole two of them. 20:19:20 elliott_, what about locale(1) next? 20:19:34 Or what about no! 20:19:44 what does no(1) do? 20:20:16 elliott_, have you done mount yet? 20:21:22 no(1) doesn't print out the string it's given, forever. 20:21:33 (Or, if you actually wanted to make a reasonable no, it'd be the same as "yes n" :P) 20:21:41 Vorpal: Haven't done mount yet, no. 20:21:51 Vorpal: I'm refactoring this to stop using .h for library functions and stuff. 20:22:05 elliott_, what would it use instead? 20:22:06 And to use bitmasks for flags when I can, and have a bool type aliased to char, and the like. 20:22:12 Vorpal: What would what use instead? 20:22:14 Oh. 20:22:17 Vorpal: .c files :P 20:22:21 Vorpal: Right now, I have functions in .h files. 20:22:23 Actual functions. 20:22:26 oh 20:22:26 Because it's convenient. 20:22:35 elliott_, you mean the definitions? 20:22:40 (Making them .c would make my build system think they're utensils.) 20:22:43 Vorpal: Yes. 20:22:55 elliott_, your build system needs work 20:23:08 Vorpal: It was a 2 minute hack :P 20:23:15 It also makes the box bigger than it should be, since the library stuff is duplicated. 20:23:42 Woo, my Makefile now isn't hideously specific to my setup and only my setup. 20:23:46 I have a config.make now. 20:23:55 (No, I will never use menuconfig.) 20:23:56 (Ever.) 20:24:18 I should move sstrip out of the root with the Makefile... 20:24:21 Maybe in tools/. 20:25:31 make: *** No rule to make target `bin/basename', needed by `individual'. Stop. 20:25:32 wut. 20:25:44 Ohh. 20:25:52 What it means is that my implicit rule has an unsatisfied dependency :P 20:26:16 Makefile:32: *** Recursive variable `CFLAGS' references itself (eventually). Stop. 20:26:18 Eventually :P 20:27:23 oerjan: you never answered my super-awesome question *sniff* 20:31:03 * nooga is patching tinyrb 20:32:48 elliott_, you need to use := somewhere 20:33:00 CFLAGS = $(CFLAGS) is what you have sooner or later currently 20:33:05 you probably intended := 20:33:05 I know 20:33:07 Vorpal: actually it's more like 20:33:10 CFLAGS = blah $(CFLAGS) blah 20:33:18 indeed you need := then 20:33:26 is := portable across makes? 20:33:31 (I fixed it another way, just curious) 20:33:34 elliott_, no clue 20:33:53 elliott_, btw are you sure there are no nicer alternatives to C here? 20:34:12 elliott_, isn't there that memory safe C 20:34:17 forgot the name of it 20:34:20 cyclone or somethong 20:34:22 something* 20:34:23 Vorpal: I doubt any of them have a toolchain that produce binaries of similar tininess. 20:35:08 elliott_, what about tcc 20:35:11 I think I should generate a Makefile with a script... since different utensils will have different dependencies from my library. 20:35:16 elliott_, does it give larger binaries? 20:35:16 Vorpal: Does that do Cyclone? 20:35:22 elliott_, no 20:35:27 Well then. 20:35:28 but how does it compare to pcc 20:35:28 I haven't bothered measuring tcc since it supports so little. 20:35:32 hm 20:36:02 Vorpal: Allow me to just say "Good luck compiling my sleep.c to less than 1791 bytes" :P 20:36:30 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 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 elliott_, perfect minimal hash of errno! 20:38:54 (for only the entries you need) 20:39:08 No :P 20:39:12 elliott_: it is generally useless to try and force an opinion out of me if i don't actually have one 20:39:26 fine! i'll force one out of Vorpal 20:39:35 elliott_, with regards to what? 20:39:43 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 i.e. is it "utensils.h" or "cutlery.h" for the library header 20:39:54 elliott_, no idea. You decide 20:39:55 where the library is all the auxiliary functions some applets use 20:39:58 Vorpal: NOT HELPFUL :P 20:40:09 elliott_, I find the names rather confusing as it is. Would certainly fit into ick 20:40:29 Vorpal: I started out with utility... utensils, and it's kind of blossomed from there :P 20:40:40 elliott_, yes but I think it went too far 20:40:41 Previously the directory was ~/code/tools and the box was called "box", which was rather bland. :p 20:40:56 Vorpal: "busybox" -- the box isn't really BUSY! 20:41:01 elliott_, kitchen drawer? 20:41:06 (instead of box) 20:41:11 lawl 20:41:15 I think I'm calling the box cutlery. 20:41:27 elliott_, whatever, it is up to you 20:41:34 HEY Gregor :P 20:41:41 I'll use gets if you don't decide. 20:42:19 cutlerybox, not box cutlery 20:42:29 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 such as .eh_frame or such 20:42:47 Vorpal: I haven't tried clang, I doubt it will work with dietlibc in any way, shape or form :P 20:42:47 it's sooo relaxing 20:42:49 https://github.com/nooga/tinyrb 20:43:02 impelemnting standard ruby classes in C 20:43:11 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 Gregor, please please give elliott_ a third option :P 20:44:02 elliott_, also what is with the _ ? 20:44:06 -!- elliott_ has changed nick to elliott. 20:44:09 I got disconnected at one point. 20:44:12 -!- elliott has quit (Changing host). 20:44:12 -!- elliott has joined. 20:44:22 elliott, ah, so you weren't going to justify it like ais 20:44:34 porknife.h 20:45:17 Gregor, what is a porknife? 20:47:09 Gregor: It's more what the project is named than what the header is named :P 20:47:11 and then i will write a kernel in ruby 20:47:22 nooga: Good luck with that, n00b :P 20:48:08 elliott: IWillCutYou.h 20:48:26 elliott: i was completely serious :P 20:48:38 Gregor: If you don't name the project either utensils or cutlery, I will use gets. 20:48:39 On babies. 20:49:17 babies = gets() 20:49:38 Phantom_Hoover: gets(babise) 20:49:39 *babies 20:49:58 elliott: cutlerybox 20:50:06 "The compiler is based on the original Portable C Compiler by S. C. Johnson" 20:50:08 A family company? 20:50:15 XD 20:50:43 * Phantom_Hoover realises noöne else except him got that. 20:52:14 Gregor: NOBODY SAYS "CUTLERY BOX" 20:52:35 elliott: Google gets 21K results 20:52:52 Gregor: Notice that none of them are people :P 20:53:04 elliott, "cutlery set". 20:53:12 elliott: They're all manufacturers of cutlery boxes! 20:53:17 Phantom_Hoover: But it has to end in "box" 20:53:17 elliott, indeed. "cuboid unit for storage of tools related to food" is way more common 20:53:36 Gregor: { #include "cutlery.h" } or { #include "utensils.h" }, pick ONE :P 20:53:50 elliott, cutensils.h 20:53:58 elliott, the first! 20:53:59 best of both words 20:54:03 and worlds 20:54:13 elliott, or utenlery.h 20:54:18 I said pick ONE. 20:54:21 Phantom_Hoover: I asked Gregor :P 20:54:26 For one thing, cutlery \subset utensils. 20:54:28 Mmmmmmmmmmmmmmmmmmmmmmmm 20:54:36 `run echo $(( RANDOM % 2 )) 20:54:37 Phantom_Hoover, why not interleave the two words 20:54:57 hm 20:54:58 Vorpal, because that is just stupid and ruins the joke. 20:55:06 Phantom_Hoover, exactly 20:55:07 0 20:55:12 -!- Sasha has joined. 20:55:13 elliott: cutlery it is 20:55:22 elliott: why n00b? 20:55:34 Gregor: Now pick one without the use of a random number generator! 20:55:40 :D 20:55:42 Phantom_Hoover: Nsils can't be cute, anyway. 20:55:43 elliott: cutlery 20:55:46 -!- Sasha2 has quit (Read error: Connection reset by peer). 20:55:49 Gregor: Now pick one without the use of a random number generator! 20:56:03 elliott: slutlery 20:56:04 I'm going to do this 1000 times and measure the # of each, and if they're equal, well 20:56:08 RNG :P 20:56:15 Gregor: TOTALLY. 20:56:18 I'll go with slutlery. 20:56:18 elliott, he did. He used a *pseudo-random* number generator 20:56:28 Vorpal: HITLER DID THAT. 20:56:40 elliott, what? Use PRNGs? 20:56:43 maybe 20:56:44 Yes. 20:57:25 Hmm, I should specify dependencies in the first line of the source. 20:57:29 Like, 20:57:40 /** parsemode.c foo.c blah.c **/ 20:57:42 To get those linked in. 20:57:58 And then I can generate a makefile based on those. 20:58:12 elliott, does pcc not support generating dependency info 20:58:14 like gcc does 20:58:28 Vorpal: You mean -M and the like? 20:58:31 To get header dependencies? 20:58:36 elliott, yeah that might be the switch 20:58:36 There's one header for all the library C files. 20:58:39 There's one header for all the library C files. 20:58:42 So I can't do that :P 20:58:45 hm okay 20:59:09 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 And I don't want 45895798347589345 headers :P 20:59:15 elliott, also if all go into the same binary surely you want to do LTO? 20:59:31 Vorpal: IIRC -O1 made stuff go lolbreak when I tried it. 20:59:34 Or just had no effect. 20:59:36 I forget which. 20:59:43 elliott, is that LTO? 20:59:54 What is LTO, then, for binutils ld? :P 20:59:57 elliott, or do you mean -Wl,-O1? which is completely different 21:00:00 Yes. 21:00:05 elliott, you need gold for it iirc 21:00:08 Vorpal: Not -Wl, I passed it directly to the linker. 21:00:17 elliott, anyway -O1 there is just optimising symbol tables or something iirc 21:00:22 for faster lookup 21:00:27 Well, I don't have any symbol tables :P 21:00:31 indeed 21:00:58 elliott, but you want LTO surely? 21:01:08 Vorpal: I doubt it could help me. 21:01:14 And I doubt there are any tools that will work with my toolchain that can do that. 21:01:22 elliott, might when you link all into the same box binary 21:01:30 or when you have larger ones 21:01:33 like mount or sed 21:01:41 Vorpal: Go on, then, name a tool. 21:01:49 * Phantom_Hoover laments the absence of any nice spaceflight simulators. 21:01:52 elliott, I'm no pcc-expert 21:01:55 Phantom_Hoover: EVE? :P 21:02:01 Sure, there are plenty of good space combat sims. 21:02:05 Vorpal: You can't be a pcc expert, it's just a cc :P 21:02:26 elliott, well, what about writing an llvm backend for pcc 21:02:30 But no (portable) ones that actually simulate a spaceship as one might work in real life. 21:02:34 (yes absurd) 21:02:40 Vorpal: Yeahno :P 21:02:46 I don't think LLVM has much in the way of size optimisation anyway. 21:02:48 Phantom_Hoover, xplane can do it iirc 21:02:56 Phantom_Hoover, for the space shuttle 21:03:01 Also, EVE is a mumorpeger and I refuse to play it on principle. 21:03:06 Vorpal: Anyway LLVM is C++. 21:03:10 And huge. 21:03:15 true 21:03:22 Vorpal: And I doubt it does static linking. :P 21:03:25 100000000000000000TB clang 21:03:29 elliott, not sure 21:03:39 elliott, and not more than a few hundred MB 21:04:25 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 static void barfx(char *who) 21:04:26 barfu(who) 21:04:28 ^ barfx.c 21:04:30 Guess how that works :P 21:04:45 Phantom_Hoover, and there is xplane for linux. Still not free or such 21:04:53 "Or such". 21:05:10 Phantom_Hoover, aka, getting it through a bay or similar 21:05:32 elliott, there is a macro in there 21:05:45 Vorpal: Indeed. barfu is 21:05:46 #define barfu(who) \ 21:05:46 { \ 21:05:46 char *errstr = strerror(errno); \ 21:05:46 write(2, who, strlen(who)); \ 21:05:47 write(2, ": ", 2); \ 21:05:48 write(2, errstr, strlen(errstr)); \ 21:05:50 write(2, "\n", 1); \ 21:05:53 } 21:05:55 Look ma, I'm avoiding code duplication :P 21:05:59 Vorpal, a... bay...? 21:06:01 elliott, why the macro 21:06:18 Phantom_Hoover, such as a pirate one yes. Off the coast of Somalia iirc 21:06:23 Vorpal: Because if you only call it once it's smaller than a function according to my measurements. 21:07:01 elliott, wait what, doesn't pcc elide a static non-called function if it inlined it for all calls? 21:07:10 Vorpal, wait, a piece of commercial software that hasn't been pirated? 21:07:19 Phantom_Hoover, what. Where did I say that 21:07:23 Vorpal: I have no idea. The different was the matter of a few bytes. 21:07:25 -!- kar8nga has joined. 21:07:34 elliott, sounds like pcc fails at inlining :P 21:07:58 Vorpal: Perhaps, but it wins at turning carefully-written sources into smaller binaries than gcc. 21:08:10 int parsemode(char *str, mode_t old) 21:08:11 int?! What waste! 21:08:13 elliott, specialcased for pcc no doubt 21:08:16 Modes could fit into a short! 21:08:20 Vorpal: No, not really. 21:08:29 Vorpal: I don't have anything "silly" in here. 21:08:41 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 I seem to remember that in intel's docs 21:09:01 Vorpal: But it *will* make the binary smaller. 21:09:14 elliott, not if it isn't a variable that wide 21:09:21 Vorpal: Eh? 21:09:24 elliott, or you save on a shorter instruction 21:09:34 I'll meeaaaasuuuuure :P 21:09:38 (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 (Quicker to divide on some CPUs!) 21:11:11 elliott, slower on other ones 21:11:34 elliott, iirc AMD and Intel gave contradictory recommendations for that when it came to the core2/k8 generations 21:11:43 I don't know about current suggestions 21:12:20 On x86-64 the 16-bit instructions have longer encodings 21:12:38 ah yes 21:12:54 Deewiant, you need a prefix-byte right? 21:13:07 Yep, I think that's all 21:13:26 elliott, written sort(1) yet? 21:13:45 Vorpal: No, I'm busy making my build system not suck. 21:13:57 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 elliott, which do you think is most important: size or correctness? 21:14:17 Vorpal: I don't use size_t :P 21:14:22 elliott, which do you think is most important: size or correctness? 21:14:27 Vorpal: It depends. 21:14:36 elliott, can you elaborate on that? 21:14:42 elliott, what about the example I gave 21:14:54 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 If it's, say, /etc/localtime, no, that is not going to be 4 gigs. 21:15:10 indeed 21:15:24 elliott, will you do that for stuff like sort(1)? 21:16:02 Vorpal: I'll have to see. 21:16:09 If I was REALLY size-obsessed, I would write in asm. :P 21:16:20 elliott, also: which sorting algorithm. heapsort? 21:16:32 Vorpal: Probably qsort, because it's in libc. 21:16:46 elliott, but is that quicksort or something else? 21:16:58 It's MEANT to be qsort, I believe :P 21:17:00 *quicksort 21:17:18 elliott, but that has worst case O(n²) complexity 21:17:31 Indeed. Nobody cares unless it's a network service. 21:17:51 elliott, but what about my shell CGI script!? 21:18:05 Vorpal: Why do you let people input 4 gigs? 21:18:13 (Or any size big enough that n^2 matters :P) 21:18:28 elliott, because 21:18:33 Because? 21:18:36 yes 21:18:40 Okay. :P 21:18:59 elliott, next you will say you will use backtracking regexps instead of a DFA 21:19:06 Vorpal: Now that I won't do. 21:19:33 elliott, but nobody cares unless it is a network service ;P 21:19:50 Vorpal: Backtracking regexps are also more code. :P 21:20:06 elliott, true 21:22:48 elliott, will you use the standard fsck or write your own? 21:23:31 Vorpal: Standard, probably; after all, they're usually in separate filesystem packages. 21:23:54 elliott, but fsck is just a thin wrapper that calls fsck.foo 21:24:06 Vorpal: Yes, but it figures out what filesystem type it is, doesn't it? 21:24:09 elliott, same as mount calls mount. for many 21:24:09 indeed, n00b 21:24:17 (not for all foo) 21:24:25 Vorpal: True enough. 21:24:36 Vorpal: Although I might unify all mounts if I can get away with it. 21:24:40 elliott, but there is mount.fuse, mount.nfs, mount.nfs4, mount.ecryptfs an a few more here 21:24:47 (here = thinkpad) 21:25:05 Hmm, the /*@ prefix is splint, isn't it? 21:25:11 So I should probably use /*$ instead for my metadata lines. 21:25:17 elliott, it is a lot of things. Could be doxygen too 21:25:21 elliott, or frama-c 21:25:46 elliott, /*$Id$*/ 21:25:59 elliott, probably not an issue for you 21:26:00 Vorpal: If it's a lot of things, then no issue adding another! 21:26:02 $ is kinda ugly. :P 21:26:27 elliott, mot of those tools will throw errors when encountering those kind of strings for the other tools 21:26:36 elliott, why not /*% ? 21:26:53 elliott, or /*# 21:27:15 wait, doxygen is /*@{*/ for blocks. But otherwise it is /** */ 21:27:17 -!- zzo38 has joined. 21:27:30 splint is @, frama-c is @ 21:27:36 -!- Wamanuz3 has joined. 21:27:36 elliott, thus, yeah avoid those two 21:27:37 Vorpal: I'm just going to use @ :P 21:27:44 I don't intend to use splint since it sucks. 21:27:49 I don't intend to use frama-c since... I just don't. 21:27:49 elliott, but frama-c? 21:27:56 elliott, why not. It is awesome 21:28:01 Vorpal: Formally verified coreutils! Awesome! And useless. :P 21:28:21 elliott, not useless. NUCLEAR REACTORS 21:29:01 Vorpal: Dear god, 21:29:05 elliott, also remember formally verified standard card game, in case they get bored 21:29:13 please do not let any nuclear reactors be built whose software runs on Unix. 21:29:15 Thanks, 21:29:17 -a unix developer 21:29:25 Hmm, can you say "all but first and last fields" in cut? 21:29:29 All but first is easy. 21:29:44 elliott, not sure. I use awk 21:29:52 (not really) 21:29:52 Vorpal: awk doesn't make that easy either :p 21:29:54 You need a for loop. 21:29:57 elliott, I know 21:30:00 elliott, it was a joke 21:30:04 Yeah. 21:30:15 elliott, first AND last is easy 21:30:18 $1,$NF 21:30:23 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 zzo38, that would mess up compiling it 21:30:42 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 which is *why* it goes into comments 21:30:53 ...... 21:31:04 (this discussion is pointless probably) 21:31:18 Vorpal: /msg 21:31:35 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 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 s!/\*@needs: !g 21:32:05 Why the heck is this invalid sed... 21:32:11 It says that the s command is unterminated. 21:32:20 It's s///, not s//. 21:32:22 You need three ! 21:32:53 Probably (I think) 21:32:58 elliott, also perhaps you need to hide the ! from the shell 21:33:08 Weird dream just now 21:33:13 fizzie: Oh, yes. 21:33:19 Sgeo: You just slept? 21:33:22 Was in a fire, mamahed to put it out and survive 21:33:25 elliott, napped 21:33:37 "mamhed"? 21:33:38 what 21:33:44 managed 21:33:49 ah probably 21:33:50 Fire burned my foot, leaving a ... window like injury 21:33:58 As though my foot was hollow 21:34:01 Sgeo: take your computer and run, maybe your home is on fire 21:34:45 Maybe his ActiveWorlds house is on fire! 21:34:52 22:28 < elliott> please do not let any nuclear reactors be built whose software runs on Unix. 21:34:56 22:28 < elliott> Thanks, 21:34:56 then on what? 21:34:59 22:28 < elliott> -a unix developer 21:34:59 Phantom_Hoover, I doubt activeworlds does anything that interesting 21:35:03 nooga, QNX maybe 21:35:05 or similar 21:35:15 or even custom from the bottom 21:35:17 ah right, one of those RTOSes 21:35:18 No, it needs to be a specially designed operating system 21:35:26 nooga, formally verified probably 21:35:33 zzo38, you think all problems should be solved with that! 21:35:55 uhm 21:35:57 Phantom_Hoover, what 21:36:02 Phantom_Hoover, that makes sense in this case 21:36:14 Vorpal, it's a general statement! 21:36:18 automatics usually run on special controllers 21:36:25 without advanced OSes 21:36:47 yeah 21:36:49 Except for centrifuges in Iran 21:36:54 :D 21:36:59 SIEMENS FTW 21:37:12 what, I missed that? what did they do? 21:37:18 i've studied automatics and robotics but it was extremely boring 21:37:22 Phantom_Hoover: What do you mean, I think all problems need to be solved, with what? 21:37:24 so i switched to computer science 21:37:47 zzo38, writing a new OS! 21:38:11 Vorpal, got hit with a nation-state piece of malware designed specifically to hit those centrifuges. It used Windows exploits 21:38:16 huh 21:38:17 i wonder who programs NASA's spaceships 21:38:21 nation-state authored 21:38:22 Sgeo, wtf 21:38:26 Vorpal, look up Stuxnet 21:38:28 this must be the coolest job ever 21:38:41 nooga, you mean, the core memory 21:38:59 nooga, the space shuttle flight computers uses core memory 21:39:16 then on what? 21:39:17 nooga: RTOS. 21:39:21 primitive and failsafe 21:39:28 nooga, no, just old 21:39:33 Nuclear reactor == you do NOT ever have your monitor software NOT active. 21:39:35 but failsafe 21:40:07 well explored and not that vulnerable 21:40:29 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 nuclear reactor is not very special from automatics point of view 21:40:57 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 it may be dangerous if ill-treated 21:42:01 fizzie, also they must have known exactly what hardware was used there 21:42:04 echo "$needs" | sed 's!^/\*@needs: !!g; s! \*/$!!g; s!^\| !\0lib/!g' 21:42:07 Fuck yeah, shell script! 21:42:23 elliott: i like how esoteric it looks at first glance 21:42:29 Vorpal: Well, it's basically a heuristic. 21:42:35 sed is esoteric :P 21:42:38 fizzie, indeed 21:43:00 TECO is 21:43:00 fizzie, but they had to know it was Siemens not some other manufacture 21:43:23 sed, esoteric? 21:43:26 Also only two models of frequency converters it attacks, so yes. 21:43:32 not the s/// comand 21:43:34 command* 21:44:08 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 only if we use nasa managers I suspect 21:46:01 avionics is harder to handle than a stupid tank of water with radioactive poles inside and few steam turbines 21:46:19 bunch of pumps and sensors, nothing special imho :D 21:48:16 What's wrong with Ariane 5? 21:48:34 it explodes? 21:49:12 well, one did 21:51:27 But explosions are COOL! 21:51:50 it was as self-destruct sequence 21:51:53 a* 21:52:28 http://en.wikipedia.org/wiki/Ariane_5#Notable_launches <--- lots and lots of issues 21:52:49 it ran on beta 21:53:02 because they f^&^& up the deadline 21:53:09 bin/cal: lib/ultostr.c 21:53:10 bin/%: bin/%.c | lib/cutlery.h tools/sstrip 21:53:10 @echo ' CC $@' 21:53:11 @$(CC) $(CFLAGS) $^ -o $@ 21:53:11 @if [ "$(strip)" = 1 ]; then tools/sstrip $@; fi 21:53:14 annoyingly this doesn't work 21:53:19 because it treats bin/cal as a separate rule to bin/% 21:53:26 pikhq: fix it :P 21:53:57 elliott, :: ? 21:54:01 elliott, I seem to remember that 21:54:04 for the first one 21:54:13 I'll try it :P 21:54:21 elliott, might be GNU ONLY 21:54:22 not sure 21:54:26 Vorpal: So is everything else I'm doing. 21:54:39 elliott, also not sure it does what I think 21:54:47 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 Vorpal: No, deosn't work. What :: is for is adding new commands to existing rules. 21:55:15 elliott, ah, not new deps 21:55:16 hm 21:55:24 The problem is just that bin/% != bin/cal, even though the former matches :P 21:55:53 elliott, maybe make bin/% depend on obj/%.o then add it in there? 21:56:15 Vorpal: I'd rather not call the compiler twice. 21:56:21 elliott, okay 21:56:21 Slows down the build. 21:56:37 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 elliott, what is the | for in that line? 21:57:22 I don't remember what that does 21:57:25 Vorpal: Dependency-only dependencies. :P 21:57:29 Vorpal: It doesn't appear in $^. 21:57:31 ah 21:57:38 Obviously I don't want to send sstrip and the header to cc. 21:57:50 Vorpal: Btw. 21:57:51 ifeq ($(shell [ -e deps.make ]; echo $?),0) 21:57:51 include deps.make 21:57:52 endif 21:57:52 >:D 21:58:02 hah 21:58:12 Otherwise I get a nasty error when including deps.make when it doesn't exist. 21:58:17 Makefile: deps.make 21:58:17 deps.make: $(sources) 21:58:17 @tools/gendeps >$@ 21:58:19 makes sure it's generated. 21:58:20 elliott, but isn't there some other way to do it? 21:58:26 I seem to remember there is 21:58:27 Vorpal: Probably, but I don't know what it is :P 21:58:50 Hmm, I could add dependency-tracking to the actual CC line. 21:58:55 i.e. instead of 21:58:57 @$(CC) $(CFLAGS) $^ -o $@ 21:58:58 I could do 21:59:00 elliott, that would break make -j2 21:59:09 no? 21:59:14 $(CC) $(CFLAGS) $< `tools/depsfor $<` -o $@ 21:59:21 elliott, would break make -j2 21:59:21 Vorpal: No, because I never build the lib/foo.c files. 21:59:26 Only as part of the programs. 21:59:28 No it wouldn't. 21:59:30 See above. 21:59:33 elliott, what about if you change those files 21:59:40 elliott, would it rebuild properly 21:59:43 without make clean all 21:59:55 Vorpal: bin/%: bin/%.c $(shell tools/depsfor $<)? 21:59:57 elliott, if not you might just as well use ant 22:00:04 See above. 22:00:06 elliott, I have no clue if that would work 22:00:09 try it? 22:00:11 I'll try it. 22:00:16 Wait, it wouldn't. 22:00:32 Because $< isn't in scope at that point and I can't say "tools/depfor bin/%.c" obviously. 22:00:52 elliott, hm. so what does other build systems do? 22:01:22 elliott, why not a makefile generator? 22:01:26 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 Vorpal: I DO have a Makefile generator! 22:01:34 It just generates deps.make. 22:01:38 Vorpal: Or do you mean I should have 22:01:41 bin/foo: bin/foo.c 22:01:43 for EVERY single foo/ 22:01:45 *foo? 22:01:46 With all the actions? 22:01:48 elliott, I mean it might be time to consider one 22:01:54 If so: dude, that Makefile would be massively redundant and huge. 22:01:58 Vorpal: I. am. using. one. 22:01:59 tools/gendeps. 22:02:02 It generates deps.make. 22:02:15 elliott, okay so go read the manual then 22:02:21 to find out if it is possible 22:02:22 Vorpal: The Make manual? I have. 22:02:29 elliott, the info page yes 22:02:58 Vorpal: Um, the make manual is not maintained as an info page. 22:03:03 It is a texinfo manual. http://www.gnu.org/software/make/manual/make.html 22:03:07 elliott, well indeed 22:03:13 but the info page is one form of it 22:03:16 Anyway, that really doesn't help me. 22:03:49 -!- TLUL has joined. 22:03:57 elliott, http://www.gnu.org/software/make/manual/make.html#Multiple-Rules ? 22:04:28 Vorpal: Doesn't help when one rule is implicit. 22:04:56 "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 GNU quality English 22:05:22 elliott, that made more sense when you saw the hyperlink :P 22:05:26 lol 22:05:43 Yes, but ")". 22:05:47 And no ; after "find one". 22:05:58 elliott, you mean missing ( before see 22:06:05 that seems more likely 22:06:27 elliott, is this any use? http://www.gnu.org/software/make/manual/make.html#Static-Pattern 22:06:55 Maaaybe. 22:07:19 Nope, just tried it :P 22:07:33 Maybe I'll watch some DS9 22:08:34 Sgeo, please stop liveblogging! 22:09:00 Phantom_Hoover, I have no intentions to start deadblogging, if it's all right with you 22:09:07 whaaat 22:09:21 Sgeo, irc is not twitter 22:09:31 (" Maybe I'll watch some DS9" seemed to fit that) 22:10:09 sexps are boring 22:10:15 * oerjan drinks some orange juice 22:10:20 Learn mexps! 22:10:31 Or um 22:10:38 Whatever it was that it was supposed to be 22:13:41 Sgeo, MEXPs? 22:14:07 The things SEXPs were meant to implement but ended up replacing? 22:14:47 Dear make: if a file does not exist, it is *NOT* up to date. 22:15:02 Especially if the target is not phony. 22:15:09 You are not Holden Caulfield. 22:15:13 You do not consider every target phony. 22:17:22 -!- kar8nga has quit (Remote host closed the connection). 22:18:40 Phantom_Hoover, yes 22:19:56 WHAT THE FUCK ARE YOU DOING MAKE 22:20:05 Considering target file `bin/basename'. 22:20:05 File `bin/basename' does not exist. 22:20:05 Pruning file `bin/basename.c'. 22:20:05 Finished prerequisites of target file `bin/basename'. 22:20:05 Must remake target `bin/basename'. 22:20:05 Successfully remade target file `bin/basename'. 22:20:07 Okay. 22:20:09 That makes no sense. 22:22:45 elliott, I like how rsync --stats writes stuff like: "123M bytes" 22:23:16 heh 22:23:18 M bytes. 22:23:56 elliott, Mi bytes would be even funnier. 22:24:11 so you have Do bytes, Re bytes and Mi bytes 22:24:15 obviously 22:25:39 Do, a deer, a female deer. 22:25:41 *Doe, 22:26:01 elliott, must be male. First name is John after all 22:26:17 * oerjan swats Vorpal -----### 22:26:58 oerjan, oh did I steal your joke? 22:26:59 Vorpal: Ray, a drop of golden sun. So cubic time, then, is solar. 22:27:05 oerjan, oh did I steal your joke? 22:27:07 THE OFFENCE! 22:27:14 elliott, :D 22:27:19 (wrt cubic time) 22:27:19 Vorpal: btw, I got it working. 22:27:22 bin/basename: bin/basename.c ; $(utensil) 22:27:25 Bunch of lines like that now. 22:27:31 elliott, meaning... ? 22:27:34 Vorpal: Did you get the Ray -> Gene Ray reference that makes that make any sense at all? :P 22:27:37 elliott, the ; $() stuff I mean 22:27:45 elliott, yes it was obvious 22:27:49 Vorpal: ; lets you start the commands for a rule. It's like \n\t. 22:27:53 Except without the newline or tab. 22:27:59 elliott, once I hit "cubic time" it was obvious 22:28:02 define utensil 22:28:02 @echo ' CC $@' 22:28:02 @$(CC) $(CFLAGS) $^ -o $@ 22:28:02 @if [ "$(strip)" = 1 ]; then tools/sstrip $@; fi 22:28:02 endef 22:28:04 Vorpal: well i'm apparently supposed to punish _other_ people's bad puns. i have no idea why... 22:28:08 That should answer the $() bit. 22:28:12 oerjan, huh 22:28:19 elliott, define.... 22:28:21 oerjan: state-sanctioned monopoly, duh 22:28:22 make has that? 22:28:28 elliott: ah. 22:28:29 Vorpal: It's like = except multi-line. 22:28:35 Vorpal: Did I mention you can make macros that take parameters? 22:28:39 $(call func,arg1,arg2,arg3). 22:28:43 Make is insane. 22:28:45 Well, GNU make. 22:29:01 what. this OCR-ed selection and copy text fails 22:29:07 "¥qC :4roär̆L W ̆4r;x̆rVC̆̈ C qKCr;̈C : ̆4r ̆r» r ¤r" 22:29:28 really: "Using, for example, the Sierpinski trangle" 22:29:29 the sun is actually a cube. it just looks round because the light is bent by gravity. 22:29:35 Vorpal: :D 22:29:51 elliott, this is annoying, I wanted to copy this stuff here 22:29:52 Vorpal: btw 22:29:54 _print_%: 22:29:55 @echo $($*) 22:29:55 useful rule. 22:29:56 elliott, it was from SIGBOVIK 22:30:00 and rather funny 22:30:03 for src in $(make --no-print-directory _print_sources); do 22:30:06 -- tools/genrules 22:30:29 elliott, RECURSIVE MAKE? 22:30:30 sinner 22:30:52 Vorpal: No... 22:30:57 ah phew 22:31:09 Vorpal: Well. Yes. Make calls tools/genrules, which calls make again to do _print_sources. 22:31:14 However, that is the only way it is recursive :P 22:31:25 _print_sources just... prints $(sources), as you can see in the rule definition above. 22:31:35 elliott, this paper discusses fractal footnotes 22:31:43 :D 22:31:52 elliott, well, what did you expect with SIGBOVIK 22:32:03 Oh yeah, Vorpal is a SIGBOVIK expert. 22:32:06 So is everyone in here. 22:32:09 elliott, indeed :P 22:32:16 It totally isn't oerjan's linking yesterday that gives him this expertise, no no :P 22:32:29 _absolutely_ not. 22:32:32 elliott, oh I wondered why the tab was open in my browser 22:32:38 CC bin/cal 22:32:39 bin/cal.c: 22:32:39 lib/ultostr.c: 22:32:39 CC bin/cat 22:32:42 What... what kind of error is that. 22:32:44 (seriously, I had no clue) 22:32:49 (and read it and found it interesting) 22:32:54 "Hey you! Something went wrong in this file! What went wrong is ." 22:32:57 "Any questions?" 22:33:15 Vorpal: the 2007 conference was apparently where wikiplia was announced 22:33:21 oerjan, indeed 22:33:27 $ /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 bin/cal.c: 22:33:28 lib/ultostr.c: 22:33:28 NOT 22:33:29 HELPFUL 22:33:43 oerjan, this is "Level-of-Detail Typesetting of Academic Publications" 22:34:57 Vorpal: so tell me vorpal 22:35:07 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 i've never been able to figure that one out 22:35:24 Do you like to join help with 'Charities for poor people and monsters with names starting with "A"'? 22:35:34 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 Vorpal: that rings a bell, i think that was one of tom7's other contributions the same year? 22:35:47 elliott, you mean: 22:35:51 extern foo[]; 22:35:52 in the header 22:35:55 oerjan is secretly tom7 22:35:55 well 22:35:58 Vorpal: oh, just doing extern makes it work? 22:35:59 extern int foo[]; 22:36:05 elliott, then int foo[] whatever 22:36:07 in the file 22:36:10 97521 total 22:36:11 *cry* 22:36:12 elliott, extern in the header yes 22:36:22 Somehow doing "cc foo.c bar.c" is bigger than "cc foo.c" where foo.c includes bar.c. 22:36:27 Of course I did have to remove a lot of "static"s... 22:36:31 elliott: no but i read that blog post i also linked yesterday (i haven't actually read the SIGBOVIK site) 22:36:37 elliott, well obviously due to poor compiler 22:36:42 elliott, you want gcc --combine 22:36:45 then it can do that 22:36:51 elliott, pcc probably can't do it 22:38:55 Vorpal: Or I could compile stdin, and use cat. 22:38:55 :D 22:39:26 Actually, I can probably have a LIBRARY define that's done like 22:39:30 #ifdef INDIVIDUAL 22:39:33 #define LIBRARY static 22:39:35 #else 22:39:36 #define LIBRARY 22:39:37 #endif 22:39:46 and in each source file 22:39:48 #ifdef INDIVIDUAL 22:39:54 #include "lib/foo.c" 22:39:55 #endif 22:40:05 that way, I can still get stuff combined in box builds 22:40:10 but use static in individual builds 22:40:47 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:41:01 hah the sigbovik proceedings pdf has a disclaimed about LaTeX allergies 22:41:10 mixing up latex and LaTeX 22:41:10 bin/cal.c: 22:41:11 lib/ultostr.c: 22:41:11 lib/cutlery.h, line 22: syntax error 22:41:14 I hate you, pcc. 22:41:17 God, I love pretentious YouTube commenters. 22:41:21 I'm going to add a DEBUG=1 that uses gcc :P 22:41:26 [[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 Guess the video! 22:41:30 elliott, clang gives better errors 22:41:41 Phantom_Hoover: LazyTown: The Ukulele Cover 22:41:46 Vorpal: gcc gives acceptable errors. 22:41:47 elliott, no, but close. 22:41:51 Phantom_Hoover: What then? 22:41:54 Never Gonna Give You Up 22:41:59 It's the theme from Cinema Paradiso. 22:42:22 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 Sgeo, then it would be evidently tongue-in-cheek. 22:42:41 In this context, it's clear they're entirely serious. 22:42:44 elliott, the different line numbers were intentional 22:42:46 Vorpal: I'm used to gcc. 22:42:52 Vorpal: I can sling it. 22:42:54 :p 22:42:55 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 seriously sucks 22:43:01 Gah 22:43:15 This assignment is not worth the two seconds needed to type it 22:43:16 Vorpal: Better than "syntax error". 22:43:24 Maybe the two seconds Googling for the main idea 22:43:36 I don't think you're meant to google 22:43:38 :P 22:43:38 But still, I really, really don't want to open a text editor, type some code, etc. 22:43:42 elliott, okay that is true 22:43:56 She only taught us the existence of XOR swapping, not how to do it 22:44:02 Good. 22:44:03 Although now that I saw it, it seems obvious 22:44:04 XOR swapping is evil. 22:44:15 what is the sound of one XOR swapping 22:44:15 The assignment is to do XOR swapping 22:44:26 Sgeo: Any specification on what to do if x==y? ;) 22:44:34 Also, congrats for not being able to figure out xor swapping yourself X_X 22:45:32 -!- poiuy_qwert has joined. 22:45:36 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 elliott, include the relevant header in the header using it 22:46:16 elliott, that should always be done 22:46:21 Vorpal: BZZT! You never include headers from inside headers. 22:46:22 Ever. 22:46:24 There are no exceptions. 22:46:36 elliott, so stddef.h might not be included if you need NULL? 22:46:37 Including headers inside headers is the sole reason include guards exist. 22:46:40 And include guards are evil. 22:46:42 they why does stdio do it 22:46:45 -!- poiuy_qwert has quit (Client Quit). 22:46:53 Vorpal: "Gee, how can this be bad? Modern Unix does it!" 22:47:14 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 then everything you wrote is broken 22:47:26 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 elliott, sure guards are suboptimal 22:47:30 By documenting them. 22:47:38 elliott, and what if you want to add more 22:47:51 elliott, actually you should just do #use module stdio 22:47:52 or such 22:47:55 Vorpal: Then you break compatibility, duh. Adding dependencies always breaks compatibility. 22:48:20 Anyway it's not so clear in my case because not every program wants to include . 22:48:41 elliott, not necessarily for headers. And just recompiling it is better than having to change code and then recompile it 22:49:03 elliott, you could always split it in 10 different header files 22:49:09 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 like: "foo_that_needs_sys_stat.h 22:49:13 " 22:49:15 and so on 22:49:17 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 elliott, I'm not sure I see that benefit as that much more important 22:49:44 And in Enhanced CWEB, you can use change files to make system dependent changes. 22:49:51 elliott, also include guards is a tiny bit of it 22:50:04 elliott, seriously check the clang stats on what is cpp and what is cc 22:50:05 Vorpal: Actually, no, it was a significant amount of time. 22:50:16 elliott, then your cpp is weird 22:50:16 Vorpal: OK, so clang have a super-optimised cpp :P 22:50:19 "Good for them!" 22:50:30 Vorpal: Can the inventors of C really be said to implement C in a weird way? 22:50:34 Word of god and all that. 22:50:36 elliott, point is, with C you should use include guards. A module system would be better 22:50:49 elliott, yes. No one is perfect. 22:50:54 You are wrong. Enjoy being wrong! 22:50:59 It is possible to do the C preprocessor and C compiler all together in one pass. 22:51:15 Ugh, busybox just includes every header ever in libbb.h. 22:51:17 elliott, but then why did you ask me 22:51:25 Vorpal: Perverse curiosity? 22:51:51 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 Vorpal: #import 22:52:10 Vorpal: In Enhanced CWEB, you should use a metamacro or PicoC code to tell it not to require adding include guards. 22:52:11 elliott, or that 22:52:17 elliott, XOR swapping seems to work just fine when the values are the asme 22:52:18 same 22:52:39 zzo38, I do. not. care. about enhanced cweb 22:52:42 Sgeo: By the same I mean X has-same-storage-location-as Y. 22:52:46 Oh 22:53:07 also why xor swap. That is kind of pointless on modern systems. 22:53:17 Vorpal: Why? Surely it will do these things you are trying to do. 22:53:24 a more traditional swap will probably be compiled into xchg 22:53:42 zzo38, it is not a plain C compiler. Also it is C. 22:53:45 I don't like C 22:54:13 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 And I will paste them all. 22:54:19 And you will suffer :P 22:54:27 elliott, there is this thing called "change opinion over time" 22:54:34 elliott, you surely done that yourself 22:54:37 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 Vorpal: NO MY OPINIONS ARE IMMUTABLE BECAUSE I AM HASKELL 22:54:45 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 elliott, I'm the State monad :P 22:55:08 or even St 22:55:11 I have no gonads. I mean monads. 22:55:12 *ST. 22:55:15 Also more like IO. 22:55:16 elliott, or why not STT 22:55:18 that sounds awesome 22:55:23 Vorpal: No no no no no no. 22:55:25 Am I an opinion slut? 22:55:28 elliott, yes yes yes! 22:55:28 Vorpal: There is a very good reason that does not exist :P 22:55:33 Vorpal: Specifically, time travel. 22:55:37 elliott, yes! 22:55:42 elliott, we invented a time machine! 22:55:45 (as I suspected) 22:56:06 elliott, hm is there a StateT? 22:56:08 Not as fun as IOT! 22:56:14 * Sgeo decides he'd rather do the assignment right before class begins 22:56:24 Am I an opinion slut? 22:56:25 wait 22:56:37 do c <- savePoint; takeOverGovernmentComputers; readLine; restorePoint c 22:56:39 elliott, I think Sgeo got self-uh... self-something 22:56:45 SWAT team outside your door? 22:56:46 elliott, awesome 22:56:47 Just press enter! 22:57:13 Yes Vorpal, there is a StateT 22:57:21 oerjan, right, that works of course 22:57:23 oerjan: :D 22:57:25 Vorpal: whoosh 22:57:56 elliott, hm? doesn't it? I though StateT would not involve time travel 22:57:59 * Vorpal checks 22:58:03 whoooooosh 22:59:02 elliott, you confuse me 22:59:18 elliott, it does exist. Just because it can exist doesn't mean someone coded it. 22:59:18 oerjan: the man confuses himself 22:59:32 Vorpal: whoooooooooooooooooooooooooooooooooooooooosh 22:59:40 gale force whoosh 22:59:49 elliott, you make no sense 23:00:15 elliott: He has been affected by the skepticism of a skeptical age. 23:00:24 oerjan: i blame science 23:00:29 night → 23:00:39 Vorpal: well to be fair 23:00:52 Vorpal: TO be FAIR 23:00:55 it is midnight. I will have to wake up in 6 hours. 23:00:58 now night → 23:01:01 Vorpal: you are a mere insect, an ant, in his intellect. 23:01:07 ok that didn't work :D 23:02:23 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 That's equivalent to 7Mi addresses (~44% of block). 23:04:32 -!- Sasha2 has joined. 23:05:18 Ilari: i saw something on reddit about ICANN projecting to run out in january 23:05:43 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 oerjan, linky? 23:06:19 Oh, and I saw some RIPE executive predicting exhaustion this month. 23:06:35 Sgeo: it was actually a horribly translated blogspam link, i'd try to find something better 23:07:44 Even at 0.44 blocks / month, it would be 8 months (immediate request would be within policy). 23:10:47 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 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 (outside of the specific domain of mathematicians who want computers to prove their theorems for them, of course) 23:39:40 speculation triggered by this: http://richardelwes.co.uk/2010/10/21/concrete-incompleteness-1/ 23:40:34 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 of course im aware of the halting problem :| 23:41:34 they're both diagonalization proofs. you can probably also prove each in terms of the other. 23:42:17 hi mycroftiv 23:42:21 are you talking because we mentioned you 23:42:43 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 they are? 23:42:54 theres actually been a long standing conflict on wikipedia over that issue 23:43:24 hmph basename() is broken 23:44:05 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 oh wait nm :D 23:44:19 mycroftiv: it is the best of channels. also the blurst 23:44:32 mycroftiv: in case you are blind to the exceedingly obvious i'm ehird 23:44:41 mycroftiv: well in any case there are lots of undecidable programming problems which reduce to the halting problem 23:44:44 and i'm very disappointed that my box has reached 30K 23:44:56 elliott: i actually figured that out 'awhile ago' when just passively reading the log 23:45:11 mycroftiv: creepy :P 23:45:24 eurgh, i feel so ill 23:46:03 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 wait, they don't do they 23:46:39 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 elliott: the amd64 port i believe is still unreleased, much to many people's irritation 23:47:51 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 mycroftiv: 'cuz you see i'm on linux... and my dirname is 1831 bytes 23:48:18 what about false and true, i bet they're more than... say... 248 bytes even on i386 right? 23:48:18 P vs. NP and stuff 23:48:24 i may have gone slightly crazy space-optimising these utilities 23:48:38 slightly. 23:48:58 elliott: well plan 9 executables arent usually very small because everything is statically linked, not dynamically 23:49:27 and EXPTIME and other higher that are _known_ to be infeasible, not just conjectured to be so 23:49:32 *higher ones 23:50:24 mycroftiv: this is static 23:50:34 the sizes i'm quoting 23:52:15 *higher complexity classes 23:53:24 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 mycroftiv: hmm, does plan 9 not link only the parts of libc that the program uses? 00:20:51 mycroftiv: or is the startup code just that huge? :) 00:29:54 mycroftiv: it's ok, i won't mock your OS if you tell me the truth. 00:30:03 you don't have to worry. 00:31:14 IT'S A TRAP! 00:31:44 mycroftiv: if you're crying, i'm sorry. 00:32:25 [[> 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 Obviously?]] --reddit 00:32:30 *sigh* 00:32:41 it was obvious to me, it certainly would have been obvious to von neumann... 00:33:06 [["Obviously'' if you're one of the greatest logicians or mathematicians ever, maybe.]] 00:33:13 hey oerjan i'm one of the greatest logicians or mathematicians ever 00:33:17 reddit proves it 00:33:20 yay 00:33:34 oerjan: was it obvious to you? 00:33:37 "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 if so: YOU ARE TOO! 00:33:47 of course 00:34:00 but then i've seen the result before 00:34:02 dude we're like, all the greatest logicians or mathematicians ever 00:34:30 oerjan: my brain has a wonderful rule that goes something like "decide if ... [in finite set] -> enumerate & check all elements" 00:34:35 it gets applied all the time 00:34:40 although not when in Program Vaguely Efficiently mode :p 00:35:12 sometimes no better algorithm is known 00:35:22 oerjan: yes, well :) 00:36:15 heh 00:36:19 [[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 that's totally going to happen! 00:36:56 wait, that means the publication of the letter itself was against the request expressed in the letters :D 00:37:43 Even if it does, some dude probably has done the article about it again on that subject 00:37:46 oh, it seems he may have requested its publication 00:37:53 Slereah: eh? 00:37:55 erm 00:37:59 not its publication, just publication of the request 00:38:12 wait no the letter is online :D 00:38:50 oerjan: apparently grothendieck considers publication of his *past* works unlawful 00:39:12 methinks he may be slightly shifted from his rightful place on his rocker 00:40:18 well it is possible that he has retained all rights and so can deny republication 00:40:56 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 and making the request involves contacting the outside world >:) 00:43:08 poor mycroftiv, living in fear of revealing the truth about his OS 00:46:11 Windows 1.0? 00:49:50 mycroftiv: you have betrayed me 00:54:42 -!- Mathnerd314 has quit (Ping timeout: 250 seconds). 00:56:18 mycroftiv: i feel an overwhelming sadness in my hear. 00:56:20 heart. 01:07:03 -!- Mathnerd314 has joined. 01:15:50 elliott: The worst part about being very smart is that you don't perceive yourself as being very smart. 01:15:58 elliott: You instead perceive everyone else as really stupid. 01:16:09 pikhq: wrong, i have an excellent ego 01:16:16 i just pretend to be humble to please people >:) 01:16:17 ...sometimes 01:17:12 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 pikhq: Not really. 01:19:30 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 It takes me a while to recall that yes, I actually am more intelligent than average. 01:21:12 Some part of me likes to think that I'm normal. Go figure. 01:23:39 pikhq: You could try not giving a shit. 01:23:42 I do that. It's great. 01:23:50 I hardly give a shit about anything. 01:24:26 WHY DOES EUGENICS SEEM LIKE SUCH A GOOD IDEA SOMETIMES. 01:24:47 pikhq: The editor of the HTML5 specification agrees! 01:25:34 Sadly, it's a bit unethical and it doesn't work. But still, it's damned tempting sometimes. 01:25:41 pikhq: blame the parents for telling them to hate math 01:26:23 Mathnerd314: And the school system, which holds calculus as the highest form of mathematics anyone could ever aspire to. 01:26:25 Mathnerd314: you're full of shit. 01:26:43 you really think that the vast majority of parents tell their kids, "Kid... hate math, kay?" 01:26:56 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 the educational system, sure, blame that. but saying that parents tell kids to hate mathematics? 01:27:19 (and I do not mean that in the sense of copulating with Newton) 01:27:40 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 Mathnerd314: i think you are rather confused... 01:28:48 pikhq: quick, what command should I do next 01:28:58 elliott: rm -rf / 01:29:09 oerjan: rm already gone, and it readily accepts / 01:29:14 although it also accepts . and .., which it shouldn't 01:29:23 Mathnerd314: The worst part is, what passes for mathematics education is only tangentially *related* to mathematics! 01:29:25 elliott: yes, me has doubleplusungood communication skillz 01:29:31 Mathnerd314: It's education in calculation! 01:29:36 rm -rf .. being the ouroboros variant of rm -rf / :) 01:29:42 pikhq: yo yo answer my questions more 01:29:48 (and, with the increasing use of calculators, education in the *operation of calculators*) 01:30:02 elliott: tac 01:30:39 pikhq: Interestingly, not in POSIX! 01:30:48 pikhq: And I think I should get mv before tac. :P 01:30:57 elliott: I say, why I say, that was a joke, son! 01:31:08 pikhq: but they don't teach calculators well; just the other day I had to show someone how to multiply matrices 01:31:21 Mathnerd314: Try "show someone what a matrix is". 01:32:10 pikhq: easy; it's just "a square full of numbers" 01:32:14 Mathnerd314: Remember: the typical person's extent of mathematical knowledge is elementary algebra and elementary arithmetic. 01:32:39 Oh, and some Euclidean geometry. 01:32:49 pikhq: How was that a joke? :P 01:33:05 elliott: Why would you ever want tac as a coreutils? 01:33:11 elliott: coreutil 01:33:17 elliott: ... So that was a bad joke. 01:33:20 elliott: Anyways. mv 01:33:24 pikhq: But tac is useful :P 01:33:49 Mathnerd314: We are literally talking people who do not know what a proof *is*. 01:33:51 It's weird how some util-linux commands' man pages are filed under "BSD General Commands Manual" 01:33:58 Mathnerd314: Y'know, one of the most basic things in mathematics. 01:34:41 pikhq: pcc has a wonderful bug in it that causes it to seemingly not print any warnings in some files 01:34:45 just the filename :D 01:34:56 "x.c is a bad program! I won't tell you why!" 01:36:01 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 Mathnerd314: They literally have no concept of logic, formal or informal. 01:37:58 pikhq: that's a vast exaggeration at least with "informal" 01:38:08 Mathnerd314: not really 01:38:17 Mathnerd314: they left as much to the reader as modern advanced mathematics :) 01:38:38 elliott: You haven't heard people fall to common, basic logical fallacies all the freaking time, have you? 01:38:45 pikhq: yes, yes i have. 01:39:01 ok let's stop talking about this, #esoteric should be a place away from all this crap :P 01:39:19 pikhq: you know what's evil about rename()? 01:39:33 pikhq: Wrong! The answer is: it's in 01:39:34 What? 01:39:38 pikhq: My mv will be implemented with 01:39:41 link(old, new); 01:39:43 unlink(old); 01:39:46 >:D 01:39:52 although that isn't atomic 01:40:02 * elliott looks up how rename is implemented 01:40:57 System call. 01:41:11 oh, indeed, rename is a system call 01:41:17 pikhq: wait what; what is a system call doing in stdio.h 01:41:33 elliott: It being a system call is an implementation detail. 01:41:40 elliott: ISO C mandates rename. 01:41:53 pikhq: yes, but it doesn't use the stdio machinery 01:41:59 i guess otherwise it would go in unistd.h... 01:42:15 But it's part of ISO C's IO library. 01:42:29 right 01:42:54 pikhq: I love my library requirement system. 01:42:59 /*@needs: barfx.c parsemode.c */ 01:43:01 First line of mkdir. 01:43:02 Tada. 01:45:46 pikhq: Remind me to replace getopt sometime. :p 01:46:15 -!- oerjan has quit (Quit: Good night). 01:58:13 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 TGAY: Totally Gay? 01:59:24 Trolling someone who hates gay people 01:59:34 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 TLUL: what channel? and who? 02:04:08 #wikia-runescape, and the guy who's now nicked to Heterosexual 02:05:09 TLUL: Man, you've made me join a channel about (1) Wikia and (2) RuneScape. 02:05:12 I hate you to death. 02:05:16 LOL 02:09:34 TLUL: googling this guy, he calls himself a conservative republican 02:09:39 holy shit 02:09:42 http://runescape.wikia.com/wiki/User:Liquidhelium 02:09:49 republican logo as picture 02:09:52 american flag background with eagle 02:09:52 Ikr 02:09:54 "GOP" 02:09:57 jesus. 02:09:58 Look on his talk page 02:10:03 We were trolling him at the bottom 02:10:22 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 Christian, homophobic "I dislike liberals because of their tendency to treat people as idiots" what. 02:10:43 I know, he's a traditional bible-thumping homophobic moron 02:10:53 # Anyone that calls me Liquidhelm, or a variant thereof, can expect to make me extremely mad. 02:10:54 # Anyone that wants me to use the British spellings or date format can leave my page and not come back. 02:10:55 oh man 02:10:58 if he hadn't just left 02:11:01 SO MUCH FUN 02:11:22 I wrote a module for TLULbot that auto-corrects any american english to british english in all of his edits 02:11:30 And notifies him on his talk 02:11:48 Using the name Liquidhelm 02:12:52 TLUL: i would say you're cool but you evidently play runescape 02:12:57 so sorry, i withhold the compliment 02:14:22 Actually, I haven't played in a long time 02:19:47 TODO: mv; stuff. 02:20:47 Also: See if I can fix pcc. 02:20:49 (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 the topic 12:47:41 Reference to that arsenic-using bacteria discovered in Mono lake? 12:48:52 ha 12:48:59 i just took the #tinyrb channel 12:49:28 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 http://createyourproglang.com/ oh, yeah! 13:48:30 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 Phantom_Hoover, hi. Spent a few minutes on MC this evening. You should check out my awesome throne room 14:09:38 Phantom_Hoover, 25x25x7 (dug out most yesterday) 14:09:47 Where? 14:10:03 -!- nooga has quit (Ping timeout: 276 seconds). 14:10:09 Phantom_Hoover, you know the ladder in my mountain? 14:10:15 Phantom_Hoover, from near skyway to mines? 14:10:23 there is now a platform along the lower half 14:10:24 there 14:11:24 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 Phantom_Hoover, ehird quit in there btw. While I was digging. He will fall quite a few tiles heh 14:20:13 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 hoola chatos 14:53:15 holaaa ? 14:53:24 hay alguien ? 14:53:27 cucuuu 14:54:16 -!- goyo has left (?). 14:54:28 de nada 14:58:43 -!- elliott has joined. 15:00:27 elliott, weird? 15:01:21 ? 15:01:34 YES HE IS 15:07:43 elliott, you spawned and hung in midair on MC 15:07:51 then left 15:08:05 Vorpal: minecraft nullpointerexception'd 15:08:25 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 I will show, in Perl, two ways to do it without XOR swapping, then a XOR swap in a different language 15:19:49 What's the assignment? 15:20:34 "Write a Perl script that will use assign interger values to each of two variables. 15:20:35 The program should swap the values in the variables without using any additional variables to temporarily hold either of the values. 15:20:35 HINT: Use the bitwise exclusive or operator to complete this assignment" 15:20:53 Sgeo: You're so eddgggggggggy. 15:23:13 Vorpal: You're a postgres fan right? 15:30:26 Vorpal: btw, about ElliottOS 15:30:39 There's a third one now?! 15:30:55 Sgeo: what? 15:31:05 @, Kitten, and ElliottOS 15:31:08 no 15:31:13 @ is just shorthand for the latter 15:31:21 Ah 15:34:04 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 fizzie, to teach about its existence 15:34:47 And I can never spell that word 15:36:31 Yeees, but in Perl? Or is your whole course about it? 15:39:13 Sgeo is doing Computers For Stupid People. 15:39:28 My whole course is about Perl 15:39:50 Sgeo, why *are* you doing Computers For Stupid People? 15:39:57 -!- yorick has joined. 15:40:01 Because I don't have a spine 15:40:51 Sounds like you could make quite an article in some medical journal somewhere, then. 15:41:17 (*(*(argv++))) 15:41:25 How does one parenthesise this correctly? >___________________> 15:41:56 elliott, that seems.. weird to do unless you're doing it in a loop, which would make sense, so nevermind 15:42:58 Also, um, wouldn't that only be useful for the first argument, or am I mistaken? 15:43:07 *argv++ == *(argv++), at least. And I don't think the one more star does anything special. 15:44:14 fizzie: I should probably stop being a three-star programmer instead. :) 15:44:33 (argv, here, is a ***.) 15:45:51 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 s/'s/'d/ 15:50:11 elliott: i vaguely recall postfix operators have precedence over prefix ones 15:50:14 Sgeo, I'm assuming it's to work out the first character of each argument. 15:50:25 fizzie: Oh, indeed. 15:50:26 Phantom_Hoover: No. 15:50:52 elliott, **argv is surely the first character of the first item of argv? 15:51:06 Phantom_Hoover: This is a three-star argv. 15:51:16 fizzie, zuh? 15:51:18 -!- kmc has joined. 15:51:23 Surely that segfaults? 15:51:37 Phantom_Hoover: He's given &argv to some function, I think. 15:51:45 Ah. 15:51:53 ... 15:51:55 Why would you want to modify argv itself? 15:52:13 Isn't that pretty common? 15:52:30 fizzie, why? 15:52:33 gtk_init(&argv, &argv) for example. 15:52:55 So that the function can steal its own args and leave the app's args there. 15:53:15 s/argv/argc/ there, of course. 15:54:45 Hmm. 15:55:00 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 Phantom_Hoover, working on implementing your suggestion (fenceposts) 16:00:16 but going to make some food (in RL) now 16:07:33 Sgeo: literally? :D 16:08:50 Gilad Bracha is watching you. 16:11:11 * oerjan gets the reference 16:12:02 Is there anyone here who doesn't? 16:12:19 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 Gilad Bracha will only answer those supplicants that perform the traditional ritual of embarrassment in front of him. 16:12:21 I do that. 16:13:42 Which one; modify argv contents or add new args? 16:14:13 That's it, I'm at war with this professor 16:14:51 I mentioned it 16:14:52 fizzie: The former. Or, well, I think I actually do both, but only ever add one, to replace the terminating NULL. 16:15:24 "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 http://pastie.org/1352473 16:15:54 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 #include 16:17:26 void _start(void) 16:17:28 { 16:17:30 _exit(0); 16:17:32 } 16:17:34 fizzie: ha ha, fuck you portability 16:17:36 (--true.c) 16:20:08 Well, at least it doesn't take 52 lines like GNU true. 16:20:30 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 "Mine says that mybooks already exists" "Did you execute it twice?" "Yes" "That's why" 16:37:45 fizzie, there? 16:38:24 fizzie, you should check that throne room I made in MC out. 25x25x10 with obsidian podium and gold throne 16:38:35 also chandeliers 16:39:12 * Phantom_Hoover realises he still types absurd queries into Google. 16:39:27 Like "C++, suckishness thereof". 16:40:46 hm it needs lava lighting in the floor 16:41:17 * Sgeo misread that as Java 16:41:30 Wait, isn't MC client written in Java? :/ 16:47:21 hmm, a random reddit comment said that Eric Schmidt coauthored lex 16:47:25 which is somewhat unexpected 16:47:46 elliott: hmm, is _start in user or impl namespace? 16:48:13 ais523: dunno; it's ELF-specific, though 16:48:26 What happens if a script has x set but not r? 16:48:26 I know C has weird rules for underscore-lowercase 16:48:27 ais523: Eric Schmidt authored lex to be precise IIRC 16:48:29 he was the original author 16:48:33 you didn't know that? :) 16:48:36 elliott: I didn't 16:49:02 ais523: relatedly, see the last line in the BUGS section of http://plan9.bell-labs.com/magic/man2html/1/lex :) 16:49:41 hmm, that lex does the same thing as UNIX lex 16:49:57 I've got used to Plan9 by now doing something completely different with the same name 16:50:23 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 ais523: it's historic 16:51:03 but this is plan9 16:51:07 ais523: and not really; after all, "cc" used to have no -o option 16:51:11 and just spat out to a.out 16:51:12 why does it have to match what history UNIX options do 16:51:15 elliott: in UNIX, fine 16:51:17 on plan 9 it's e.g. 8.out where 8 is the architecture character 16:51:37 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 ais523: Plan 9 is Version 11 Unix, and even V10 Unix was quite pure 16:51:48 Tenth Edition, that is 16:51:53 why would you use -o if > exists? 16:52:02 ais523: I mean, it's not as if they went "zomg! This is so crufty, let's replace it." 16:52:14 ais523: because it was SysV and BSD that were cluttering it up, not Bell Labs Unix 16:52:45 well, yes 16:53:05 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 e.g. I'm fine with most of the options of tr 16:53:22 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 but not with, say, -o 16:53:33 elliott: compilers are pipelines nowadays 16:53:39 ais523: indeed 16:53:41 you really ought to be able to do something like cc | ld 16:53:54 to compile and link 16:54:01 meanwhile, I'm trying to make Flinix again 16:54:08 perhaps even cpp | cc | ld, and you could write a script around that as your actual compiler 16:54:14 (latest Linux kernel, X windowing system and networking on a 1.44 meg floppy) 16:54:32 System is 604 kB 16:54:33 latest stable kernel? or latest development kernel? 16:54:35 Waaay too big! 16:54:36 ais523: stable 16:54:46 or recent stable kernel hacked to expose an API for writing keyloggers? 16:54:51 :D 16:55:01 stupid stupid exercise... 16:55:07 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 heh 16:55:49 and i'm going to use http://asm.sourceforge.net/asmutils.html for the coreutils, most likely 16:55:52 busybox is too big 16:56:04 even if you strip cruft out of it? 16:56:23 ais523: it's written in C! 16:56:27 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 ais523: yes, I am going to stay within that 16:56:50 up to around 1.7, IIRC 16:56:54 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 ais523: can you explain POSIX to me? "date MMDDhhmm[[YY]YY][.ss]" 17:01:23 WHY IS YEAR IN BETWEEN MINUTE AND SECOND 17:01:26 *MINUTES AND SECONDS 17:02:00 elliott: I almost choked 17:02:04 don't shock me like that 17:02:11 ais523: :D 17:02:24 my guess is that it's mandatory stuff first, optional stuff later 17:02:29 also, [[YY]YY] has me suspicious 17:02:37 clearly "99" means 99 AD 17:02:48 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 ais523: presumably it means you can either say 1999 or 99 17:04:04 and 2010 for >1999 17:04:32 oh, it is the right way round 17:04:43 I interpreted it as [YY[YY]] somehow 17:05:03 ais523: brilliant 17:05:32 ais523: although, clearly the second YY should be interpreted as /addition/ 17:05:40 2010 is 9911 or 1199 17:05:51 the maximum year is 2098 -> 9999 17:06:04 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 Sgeo: not even to fix the vulnerability? 17:09:14 WARNING: your nasm version 2.08.01 may miscompile asmutils, please use nasm 0.98.39! 17:13:20 ais523: hmm, do you know how to force gcc not to omit an unused static function from an object file? 17:13:36 Make it non-static? 17:14:18 Deewiant: perhaps :) 17:19:02 -!- Sgeo has quit (Ping timeout: 255 seconds). 17:19:51 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 $ wc -c src/cat src/mkfs.minix 17:27:28 684 src/cat 17:27:28 1013 src/mkfs.minix 17:27:29 But... how. 17:28:14 97852 total 17:28:22 Lesson learned: asm + Brain Raiter + other people = holy shit, man. 17:28:32 It even has a fucking init. 17:28:47 522 bytes. 17:31:22 -!- Sasha has quit (Ping timeout: 250 seconds). 17:31:51 Are you talking about asmutils? 17:32:54 Yes. 17:33:00 What the fuck. Their shell has command-line editing. 17:33:07 It's 5.3K. 17:33:15 Also pipes, redirection. 17:33:19 Job control. 17:33:29 AND TAB COMPLETION 17:33:34 WTFF 17:34:02 elliott: busybox has tabcomplete, but it's optional 17:34:08 to be fair, a basic tabcomplete is pretty easy 17:34:14 as you have to be able to handle filename* 17:34:42 so you can just do the same thing but substitute on the command-line 17:34:48 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 perhaps even reuse the code 17:35:00 elliott: 5.3K seems about right for that 17:35:09 most modern software is bloated 17:35:12 ais523: err, have you looked at the size of a typical C binary sometime? :) 17:35:23 -!- Sasha has joined. 17:35:36 normally around 50-60 KB due to everything linked into it, headers, etc 17:35:48 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 at least, that's where it was when I was younger, I'm not sure if it's changed since 17:35:57 admittedly mine has graceful error recovery and messages 17:36:10 I don't see why cat needs to be larger than a few tens of bytes 17:36:24 (well, a few hundred if you're using a format whose headers require it) 17:36:32 ais523: well, maybe it shouldn't be; I'm just saying that getting binaries that small is impossible using C 17:36:45 my true/false are 248 bytes, and I've abandoned portability for that (ELF-only) 17:37:15 ais523: and my cat is ridiculously simple; it accepts no options, and doesn't use standard IO at all 17:37:20 elliott: I don't think it is 17:37:25 impossible, that is 17:37:26 ais523: it's probably only over 1000, 2000 bytes because I have the errno texts in there 17:37:32 ais523: oh really? on Linux, you mean? 17:37:40 no, I was talking about in general 17:37:43 ais523: I mean on Linux 17:37:50 I've used embedded C compilers for devices that only have 4 KiB of ROM altogether to write the program into 17:37:52 the only reason these asmutils sizes are surprising is that they're on Linux 17:37:55 and only a few tens of bytes of RAM 17:39:32 ais523: just checked; my cat makes only one call to something that isn't libc, and it's strerror 17:39:44 ais523: probably it would be 1K without the error strings table 17:39:56 how many libc functions does it call exactly once? you could inline them to save space 17:40:04 ais523: no libc functions 17:40:13 apart from strerror. 17:40:14 ais523: the functions it calls are: open, read, write, strerror. 17:40:19 ais523: the first three are system calls. 17:40:32 oh, wait 17:40:35 strlen too 17:40:40 so it knows how long strerror's result is 17:40:44 elliott: you can inline syscalls too 17:41:04 ais523: that reminds me of something I'm going to do in elliottOS 17:41:08 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 actually, i was going to tell Vorpal about this too, so Vorpal Vorpal Vorpal 17:41:49 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 pesky asm coders giving me legitimate competition :) 17:42:25 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 ais523: (on amd64, that is) 17:42:37 so in fact it'd be more like 50K? on i386 17:42:40 and the asmutils are i386 17:43:01 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 still... 17:43:46 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 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 "* 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 ^^^ This bullet-point is my crowning achievement as as a scientist. 17:44:42 Gregor: did you write that? 17:44:44 Gregor: What. X-D 17:44:47 or cause someone else to write it? 17:44:52 ais523: I wrote it :P 17:45:10 `addquote "* 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." ^^^ This bullet-point is my crowning achievement as as a scientist. 17:45:20 come on, HackEgo, you can do it! 17:45:26 Eh, I'll get to it eventually. 17:45:37 Gregor: why the hell do the quote scripts use sqlite? Can I make them use a plain text file instead? 17:45:41 It'd be much faster :P 17:45:44 `help 17:45:45 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 17:45:46 270| "* 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." ^^^ This bullet-point is my crowning achievement as as a scientist. 17:45:46 elliott: Feel free. 17:46:23 ais523: ok, this is ridiculous; the 97K asmutils has "cda2raw". and telnetd. and fingerd. and eject. 17:46:25 and fdisk. 17:46:28 and ftpd. and httpd. 17:46:32 and ifconfig. 17:46:36 and rc6crypt. 17:46:55 and more. 17:46:58 (as in, more(1)) 17:47:12 Vorpal Vorpal Vorpal 17:48:25 `run cp bin/addquote addquote.bak; cp bin/quote quote.bak 17:48:26 No output. 17:49:23 `run echo '#!/bin/sh' >bin/addquote; echo "[ \"\$1\" ] || { echo 'Add what quote?'; exit 1}" >>bin/addquote 17:49:24 No output. 17:49:25 `addquote 17:49:28 Add what quote? 17:49:29 `addquote x 17:49:30 elliott: any respecting *utils clone needs to have a decent pager 17:49:33 No output. 17:49:46 elliott, yes? 17:49:49 elliott: why are you screwing up addquote? 17:49:59 ais523: can you please read? I'm rewriting it to use a plain text file 17:50:07 Vorpal: sec :P 17:50:31 presumably you're going to use shuf | head or something to pick random quotes? 17:50:44 ais523: something like that, yes 17:50:52 even though it's O(n log n) and thus inefficient? 17:51:02 (or is shuf designed to run in O(n) when piping into head? that's theoretically possible) 17:51:14 ais523: Well, actually I was going to use a sed script and wc -l. 17:51:17 And probably $RANDOM or whatever. 17:51:22 ais523: or head and tail, actually 17:51:35 tail -n +$randomlinenumber | head -n 1 17:52:03 `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 No output. 17:52:09 using shuf is so much simpler 17:52:14 `addquote My hovercraft is full of eels. 17:52:15 No output. 17:52:19 ugh 17:52:22 `paste bin/addquote 17:52:24 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26893 17:52:31 this is what using unix before vi must have felt like :) 17:52:43 elliott: it's more like using unix before ed 17:52:47 no editors allowed but cat 17:52:51 ais523: well, my commands here are basically like ed commands 17:52:52 just longer 17:53:05 and scheduling cron to call emacs --retroactive 17:53:07 `run sed -i 's/1}1 }/' bin/addquote 17:53:09 No output. 17:53:11 `paste bin/addquote 17:53:12 Failed to clone the environment! 17:53:15 ais523: what @ emacs --retroactive 17:53:17 ... 17:53:18 Gregor: 17:53:21 `paste bin/addquote 17:53:22 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.22659 17:53:30 what, it didn't fix my typo 17:53:46 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 `run sed -i 's/\{ /{/' bin/addquote 17:53:52 No output. 17:53:53 `paste bin/addquote 17:53:56 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.29387 17:53:57 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 ais523: brilliant 17:54:06 ok, what am I getting wrong about sed? 17:54:11 Please mess with HackBot in PM :P 17:54:17 Gregor: I'm not messing, I'm developing! 17:54:21 and 17:54:22 `paste bin/addquote 17:54:22 Failed to clone the environment! 17:54:35 Please develop with HackBot in PM :P 17:54:42 Yesyes, it does that when you spam it too much :P 17:55:09 sed -i 's/\{ /{/g' bin/addquote 17:55:12 ok, there is no reason that doesn't work 17:55:14 why does that not work. 17:57:18 Ohh, I need a chmod to get it actually working... wait, do I? 17:57:35 `run hexdump -C bin/addquote 17:57:38 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 /tmp/hackenv.18166/bin/addquote: line 2: exit: 1}: numeric argument required 17:57:46 Gregor: What. 17:57:51 Why did you do that X-D 17:58:01 elliott: what's to stop him catting a file in hexadecimal 17:58:01 Just making sure it wasn't a different issue :P 17:58:08 also, isn't the command in question od -t x1? 17:58:14 Gregor: ...what issue, exactly? 17:58:31 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 `run ls -l bin/addquote 17:58:38 Gregor: he put it there via cat 17:58:42 Gregor: Mega echo, man. Also, I'm already fixing it. 17:58:43 -rwxr-xr-x 1 5000 0 103 Dec 6 17:58 bin/addquote 17:58:43 ais523: echo 17:58:44 not cat 17:58:46 oh, right 17:58:53 I'm fixin' it 17:58:55 that's effectively a cat 18:00:49 Vorpal: sec :P <-- well? 18:00:58 Vorpal: okay, now 18:01:13 Vorpal: you know how ElliottOS does everything in ring 0? 18:01:23 yeah sure 18:01:34 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 or if you send some other signal 9 times 18:01:53 kill -9, we can assume kills it 9 times over 18:01:57 elliott, go on 18:02:01 Vorpal: yes, yes, 18:02:11 Vorpal: well, a huge advantage of this 18:02:13 elliott: I demand you use rings 1 and 2 for their intended purposes! 18:02:19 Vorpal: is that syscalls no longer need to go through the kernel 18:02:22 Vorpal: you can *inline a syscall* 18:02:24 as in, literally 18:02:32 ais523 saying "inline a syscall" to mean something else made me remember this 18:02:37 how do you deal with paging? 18:02:39 so, e.g., if some syscall talks to some hardware 18:02:45 and some user program calls it 18:02:48 elliott, yes obviously. Many syscalls are probably a bit too large though for that to be profitable 18:02:56 well, the program's resulting machine code would actually talk to the hardware directly 18:03:02 Vorpal: well this is where the synthesis-style stuff comes in 18:03:09 the syscall code gets smaller when you remove the arguments 18:03:16 or, some of them 18:03:20 some yes 18:03:24 anyway, this is great because kernel calls now cost exactly 0 18:03:31 ais523: what do you mean, how do you deal with paging? 18:03:44 elliott: pointers are different from usermode and kernelmode point of view 18:04:05 e.g. two different programs can each use 0x110000 for their own variables 18:04:22 if you aren't context-switching into a different ring, you'd need to avoid reverse segfaults somehow 18:04:22 ais523: that's not how elliottos works 18:04:34 ah, each application shares the same memory pool? 18:04:38 ais523: ElliottOS has a single global address space, which maps to both disk and RAM 18:04:45 RAM is essentially a disk cache 18:05:03 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 that sounds rather like using a JITting VM for everything 18:05:39 and cacheing the output 18:05:44 ais523: well, yes, basically 18:05:49 in fact, it might actually be the same thing viewed from a different point of view 18:05:50 ais523: the compiler is always present in the system, and runs all the time 18:06:09 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 due to specialisation 18:06:13 also, how long are your pointers? 64 bits? 18:06:15 i.e. runtime code generation 18:06:19 ais523: it's x86-64 only, so yes 18:06:28 normally it's a minor detail, but for that I feel it's somehow important 18:06:45 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 ais523: and have a global distributed namespace of object hashes as the top level 18:07:05 e.g., an object is uniquely identified by its 512-bit identifier/(hash?) 18:07:10 universally 18:07:13 no matter what computer it's on 18:07:16 also, objects are immutable 18:07:24 so it ends up GCing your disk :) 18:07:33 elliott: that can be a pain if you want to make backups 18:07:42 to guard against bad sectors and the like 18:07:52 ais523: how would it be a pain? 18:07:53 and it's hard to see what, if anything, shred would do 18:08:02 ais523: you mean, two copies of one file on one computer? 18:08:09 yep 18:08:34 ais523: that's relatively simple, you'd just construct the same object, basically 18:08:48 ais523: anyway, do you mean shred as in the concept, or shred as in the unix command? 18:08:49 it would let you use cp -rp for backups, though 18:08:49 which is great 18:08:52 if the latter: there are no unix commands 18:08:54 and there is no cp. 18:09:17 elliott: I mean, as in what the UNIX command's intended to do 18:09:21 not as in its specific implementation 18:09:24 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 because they have fast random access 18:09:31 like RAM does 18:09:38 elliott: they have a lot more bad sectors than magnetic hard drives or floppies 18:09:41 which is important, obviously 18:09:43 ais523: what, SSDs? 18:09:52 yep, but their failure mode is for the sector to become readonly 18:09:53 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 yeah 18:10:06 so same-disk backups are quite irrelevant in my case 18:10:09 so most SSDs just transparently copy the data somewhere else as soon as it's changed 18:10:46 ais523: Pop quiz: How do you insert a ' in the middle of a '-quoted string in sh? 18:10:48 Answer: '"'"' 18:10:59 '\'' is one character shorter 18:11:06 And invalid. 18:11:06 ais523: aww, but that's boring! 18:11:09 Phantom_Hoover: no it's not 18:11:12 Phantom_Hoover: really? I seem to remember using it 18:11:30 Oh? I thought backslashes were ignored in ' strings. 18:11:40 Phantom_Hoover: the backslash is outside the string there 18:11:46 the ' is part of ais523's example 18:11:50 {{{ '\'' }}} 18:11:50 Ah. 18:12:00 as in, 'I don'\''t know why I single-quoted this string in the first place' 18:14:38 Does newspeaklanguage.org have an uptime .. percentage of 50% or something? 18:14:55 Gregor: um, I can't seem to "touch quotes" in the home directory 18:15:00 Did my proof of epic failness manage to crash something?/ 18:15:04 Gregor: was the quotes/ directory specially preserved somehow? 18:15:45 elliott: I see an empty file named quotes in $PWD. 18:15:59 Gregor: ...you do now, it wasn't there a second ago. 18:16:03 `touch quotes 18:16:03 No output. 18:16:04 `ls 18:16:04 addquote.bak \ babies \ bin \ foo \ paste \ quine \ quote.bak \ quote.db.bak \ tmpdir.20107 18:16:04 `ls 18:16:04 addquote.bak \ babies \ bin \ foo \ paste \ quine \ quote.bak \ quote.db.bak \ quotes \ tmpdir.20384 18:16:51 ais523: btw, you know that shuf|head thing? 18:16:58 yes? 18:17:06 since head closes its stdin after reading the N lines, most programs will exit at that point 18:17:09 so it probably is efficient 18:17:21 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 it depends on how shuf is implemented 18:17:50 hmm, although, I want to look up quotes by # too, so i won't do that 18:18:02 to look up by number, just use tail|head with appropriate arguments 18:20:31 Gregor: OK, WTF is it with the race conditions in HackEgo? 18:21:21 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 I like this line of reasoning 18:21:31 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 Gregor: So I can't even flock(1) to make sure stuff doesn't overwrite other stuff? 18:22:08 elliott: No, it has real merging. 18:22:16 Gregor: ...wow, I didn't think it would work like that 18:22:20 what happens if the merge fails 18:22:26 ais523: Then the output is lost. 18:22:31 Gregor: 'cuz, you see, I addquote'd two quotes and it decided to only use one. 18:22:32 (At least the FS part of the output) 18:22:34 WHICH WAS LAME YOU UNDERSTAND 18:22:35 both outputs? or the older, or the newer? 18:22:49 ais523: OK, admittedly that is a race condition :P 18:23:00 ais523: "Whichever one gets there first" 18:23:13 I don't consider it to be a problem because serializing everything would be a suckfest, and not the good kind. 18:23:41 now this is giving me an esolang idea 18:23:48 an esolang which records the state of the program at every command run 18:23:56 and applies each command to a random previous state of the program 18:24:03 and then merges the results somehow 18:24:42 Gregor: So is there anything I can do? 18:26:52 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 elliott: use something simple like a DB, rather than a complicated text file 18:28:54 `addquote "* 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." ^^^ This bullet-point is my crowning achievement as as a scientist. 18:28:55 270) "* 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." ^^^ This bullet-point is my crowning achievement as as a scientist. 18:29:04 That was fast :P 18:29:06 `quote 18:29:07 4) i read paths as penis :( 18:29:11 `quote 270 18:29:13 270) "* 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." ^^^ This bullet-point is my crowning achievement as as a scientist. 18:29:16 waitw ait 18:29:18 it has new features 18:29:20 LET ME TELL YOU THEM 18:29:20 :P 18:29:23 `pastequotes 18:29:24 OMG 18:29:26 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5886 18:29:31 ...lawl 18:29:33 That happens sometimes :P 18:29:34 `pastequotes 18:29:36 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17215 18:29:42 With one command, I have obsoleted Sgeo's site! 18:29:48 AND 18:29:55 `quote now accepts a regular expression!!! 18:29:56 elliott: Sgeo's site works over HTTP 18:29:56 No output. 18:30:11 ais523: well, you can look at the quotes with HTTP here, too, it's just a plain text file 18:30:16 just you don't get the quote numbers 18:30:21 `quote /(?{print "Hello, world!";})/ 18:30:22 No output. 18:30:25 IN FACT, I'm going to make quote use egrep now, now grep. 18:30:27 ais523: No. :P 18:30:30 elliott: your regex parser is broken 18:30:41 `quote (DA) 18:30:42 257) DAMN YOU, I'm leaving olsner, FINALLY NOTHING BETWEEN ME AND WORLD DOMINATION! 18:30:52 Another major difference: elliott's thing is currently active 18:30:53 why the parens? 18:30:59 ais523: because that would be literally (DA) in grep 18:31:06 and I wanted to see if my s/grep/egrep/ worked 18:31:10 but grep matches parens literally 18:31:15 ais523: egrep doesn't 18:31:18 oh, you're checking to see if you used a different grep impl 18:31:19 thus the test 18:31:22 what's egrep's syntax? 18:31:23 same impl 18:31:25 just a different option 18:31:27 ais523: egrep == grep -E 18:31:35 it's basically PCRE, without all the super-advanced stuff 18:31:37 but if it doesn't do embedded Perl, it fails 18:31:40 `quote oklopol 18:31:41 48) i can get an erection out of a plank, you can quote me on that. \ 50) i'm not a porn star, no \ 53) anyway, torture would be fun to experience, true should put that on my todo list \ 56) i'm my dad's unborn sister \ 74) GregorR: are you talking about ehird's 18:31:53 IOW, it's basically not PCRE 18:32:15 Deewiant: PCRE doesn't do embedded Perl anyway 18:32:17 `quote AnMaster 18:32:18 7) that's where I got it rocket launch facility gift shop \ 68) thanks AnMaster \ 73) ehird, well yes probably \ 104) I'm 100% of what sort of magic was involved in it \ 152) fungot!*@* added to ignore list. AnMaster: i'd find that a bit annoying to wait 18:32:27 I think it has some sort of callback to let you do embedded any language you want 18:32:32 `pastequotes AnMaster|Vorpal 18:32:33 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.4940 18:32:37 `pastequotes AnMaster|Vorpal 18:32:38 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26746 18:32:44 hmm, looks like I just introduced a bug 18:32:46 elliott, you said "Thanks, foo" without saying "Thoo"? 18:32:55 (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 Thoo :D 18:33:17 #!/bin/sh 18:33:18 if [ "$1" ]; then quotes "$1"; else allquotes; fi | paste 18:33:19 Thue 18:33:21 hmm, now where's the bug there? 18:33:30 `run quotes "AnMaster|Vorpal" 18:33:31 No output. 18:33:34 test takes more than one argument? 18:33:36 `quotes AnMaster 18:33:37 `quote 18:33:37 No output. 18:33:38 98) 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 `quotes Vorpal 18:33:42 No output. 18:33:42 `quote 18:33:44 89) What else is there to vim besides editing commands? 18:33:45 er 18:33:46 "quotes" :D 18:33:47 Phantom_Hoover: plz stop 18:33:49 race conditions 18:34:11 `quotes is now an alias for quote 18:34:12 No output. 18:34:14 `pastequotes AnMaster|Vorpal 18:34:17 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27675 18:34:21 `pastequotes AnMaster|Vorpal 18:34:24 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19439 18:34:29 wtf? 18:34:33 Gregor: what *causes* that anyway 18:34:34 `pastequotes AnMaster|Vorpal 18:34:35 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17564 18:34:50 `pastequotes AnMaster|Vorpal 18:34:51 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5211 18:34:51 elliott: What causes what? 18:34:59 Gregor: see every paste apart from the last one 18:35:04 e.g. http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.17564 18:35:15 Okay, http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.5211 is the Compleat Vorpal Kwote Kollection. 18:35:22 `quote (((((a*)*)*)*)*)*b 18:35:23 3) EgoBot just opened a chat session with me to say "bork bork bork" \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 8) GKennethR: he should be told that you should always ask someone before killing 18:35:39 hmm, we need more strings of consecutive as in the quotedb 18:35:48 `quote ((((([^a]*)*)*)*)*)*b 18:35:49 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if! 18:35:49 3) EgoBot just opened a chat session with me to say "bork bork bork" \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 8) GKennethR: he should be told that you should always ask someone before killing 18:35:55 `addquote hmm, we need more strings of consecutive as in the quotedb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if! 18:36:01 271) hmm, we need more strings of consecutive as in the quotedb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if! 18:36:04 ais523: there you go 18:36:08 `quote (((((a*)*)*)*)*)*b 18:36:10 3) EgoBot just opened a chat session with me to say "bork bork bork" \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 8) GKennethR: he should be told that you should always ask someone before killing 18:36:21 `quote (((((a*)*)*)*)*)*s 18:36:22 1) I've always wanted to kill someone. >.> \ 2) I used computational linguistics to kill her. \ 3) EgoBot just opened a chat session with me to say "bork bork bork" \ 4) i read paths as penis :( \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have 18:36:27 ais523: egrep doesn't do backreferences AFAIK 18:36:33 so good luck with that 18:36:33 those aren't backrefs 18:36:39 ais523: no, but that's only slow if you do backrefs 18:36:42 `quote (((((a+)+)+)+)+)+s 18:36:43 4) i read paths as penis :( \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 6) I think the freemasons are actually a cover for homosexual men. \ 7) that's where I got it rocket 18:36:47 (or are really stupid and implement it like that anyway, I guess) 18:36:50 or if you use a backtracking impl, which most regex engines do 18:36:55 ais523: grep, famously, doesn't 18:37:01 presumably GNU weren't stupid enough to fuck even that up 18:37:01 and egrep? 18:37:04 ais523: EGREP IS GREP 18:37:08 IT'S LITERALLY A SYMLINK 18:37:12 `run ls -l $(which egrep) 18:37:13 Wait, did Aftran really say "I've always wanted to kill someone. >.>"? 18:37:13 -rwxr-xr-x 2 0 0 115928 Apr 22 2010 /bin/egrep 18:37:14 elliott: yes, but is it using the same impl? 18:37:19 ais523: yes! 18:37:30 In GNU grep, there is no difference in 18:37:30 available functionality between basic and extended syntaxes. 18:37:33 ais523: ^ grep(1) 18:37:38 it's just a nicer syntax 18:37:41 () instead of \(\) and the like 18:37:45 `quote (...).*\1 18:37:47 3) EgoBot just opened a chat session with me to say "bork bork bork" \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 6) I think the freemasons are actually a cover for homosexual men. \ 7) 18:37:59 -!- nopseudoidea has joined. 18:38:09 `quote arm 18:38:10 189) ais523: killer bunnies can be harmed by domesticated canines only. 18:38:11 hmm, is that doing backrefs or not, now? it returned a subset of the results 18:38:24 `quote (.....).*\1 18:38:28 3) EgoBot just opened a chat session with me to say "bork bork bork" \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 7) that's where I got it rocket launch facility gift shop \ 8) 18:38:36 Back References and Subexpressions 18:38:36 The back-reference \n, where n is a single digit, matches the substring 18:38:36 previously matched by the nth parenthesized subexpression of the 18:38:36 regular expression. 18:38:38 oh, fuck you GNU 18:38:39 Remind me, is fungot bot or human? 18:38:43 tswett: Bot :P 18:38:45 `quote (....,.).*\1 18:38:46 31) IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 86) Evolution is awful, awful, awful 18:38:51 fungot: ko zvati 18:38:51 `quote (.......).*\1 18:38:53 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 7) that's where I got it rocket launch facility gift shop \ 8) GKennethR: he should be told that you should always ask someone before killing 18:39:01 Known Bugs 18:39:01 Large repetition counts in the {n,m} construct may cause grep to use 18:39:01 lots of memory. In addition, certain other obscure regular expressions 18:39:01 require exponential time and space, and may cause grep to run out of 18:39:01 memory. 18:39:02 Back-references are very slow, and may require exponential time. 18:39:02 I wonder how far I can go wit hthis 18:39:05 oh, whatever 18:39:06 `quote (..........).*\1 18:39:07 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 7) that's where I got it rocket launch facility gift shop \ 12) Lil`Cube: you had cavity searches? not yet trying to thou, 18:39:11 who cares, the quote db is way too small anyway :P 18:39:15 for it to be a huge deal 18:39:17 `quote (.............).*\1 18:39:18 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 31) IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 71) If I ever made a game where you 18:39:19 and HackEgo kills stuff that runs too long 18:39:25 it's just repeating nicks now, mostly 18:39:30 `quote (.{20}).*\1 18:39:32 31) IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 78) ??? Are the cocks actually just implanted dildos? Or are there monster dildos and cocks? Or are both the dildos and cocks monster? \ 138) so 18:39:44 `quote (.{30}).*\1 18:39:45 254) I think I'll write that COBOL program a bit later I think I'll write that COBOL program a bit later I think I'll write that COBOL program a bit later I think I'll write that COBOL program a bit later I think I'll write that COBOL program a bit later I think I'll write that COBOL program 18:39:50 oh come /on/ 18:39:56 Whelp, that's the last quote. 18:40:01 ais523: blame me for that, I was intending to remove it 18:40:08 ais523: umm, I'll add a deletequote 18:40:11 shouldn't be hard 18:40:12 `quote (.{25}).*\1 18:40:13 31) IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 138) 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) I think I'll write that COBOL program a bit 18:40:42 Say, it would be annoyingly easy to make a Lua bot. 18:40:55 hmm, is "a.b.c.d.e.f.g.h.i.j.k.l.com" or "In an alternate universe, " longer? 18:41:03 I want to know who has second place 18:42:20 `delquote 254 18:42:21 No output. 18:42:24 `quote 254 18:42:25 254) elliott: My university has two Poultry Science buildings. Two! 18:42:27 `quote 253 18:42:28 253) 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 `quote (.{25}).*\1 18:42:49 31) IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say "In an alternate universe, ehird has taste" \ 138) 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 `quote (.{27}).*\1 18:42:55 138) 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 yay, I win 18:43:21 `addquote This quote is here so I can test delquote. 18:43:22 271) This quote is here so I can test delquote. 18:43:25 `delquote 271 18:43:26 *poof* 18:43:29 `quote 271 18:43:31 No output. 18:43:32 `quote 270 18:43:34 270) hmm, we need more strings of consecutive as in the quotedb aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas if! 18:43:36 yay 18:43:43 `help 18:43:43 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 18:43:53 270 is not a particularly good quote either 18:43:59 `delquote 270 18:44:00 indeed 18:44:04 *poof* 18:44:21 `quote (.{5})(.*\1){3} 18:44:27 77) no Deewiant No?! I've been living a lie yep. Excuse me while I jump out of the window -> \ 78) ??? Are the cocks actually just implanted dildos? Or are there monster dildos and cocks? Or are both the dildos and cocks monster? \ 93) 18:44:45 `quote (.{5})(.*\1){4} 18:44:46 93) oohhh ha heh and what are your other characteristics? oh, many, madbrain but it's hardly worth it to go on with listing that list here 18:44:50 oh dear, I have a bug 18:44:55 meh, just repeated nicks 18:45:13 `quote ()* 18:45:18 1) I've always wanted to kill someone. >.> \ 2) I used computational linguistics to kill her. \ 3) EgoBot just opened a chat session with me to say "bork bork bork" \ 4) i read paths as penis :( \ 5) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have 18:45:19 ais523: Disallow the <>? 18:45:32 Deewiant: perhaps, but you'd need to use zero-width assertions for that 18:45:39 wait, how does one do echo safely? 18:45:41 ais523: No, just [^<] 18:45:44 to distinguish from abcdeabcdeabcde 18:45:45 as in, avoid any arguments? 18:45:47 echo doesn't allow -- 18:45:52 Deewiant: bu the <> aren't part of what's matched 18:45:53 ais523: Of course it's not general but it could help 18:46:02 ? anyone know? 18:46:31 elliott: echo - 18:46:37 there isn't one 18:46:38 $ echo - x 18:46:39 - x 18:46:40 Deewiant: you are incorrect 18:46:47 elliott: Works on SOLARIS 18:46:54 I just checked the manpage 18:46:56 oh, I'll just use printf 18:47:08 % echo - x 18:47:08 x 18:47:12 in fact, I'm not sure if it's possible to print -n, followed by a newline, with GNU echo 18:47:18 without printing other stuff on the same line 18:47:21 % echo - -n 18:47:22 -n 18:47:27 ais523: echo -n '-n 18:47:28 ' 18:47:34 elliott: haha 18:47:42 you're right, that does work 18:47:51 without the newline, is it impossible? 18:47:55 echo -n -n prints the null string 18:48:04 ais523: echo -ne '-n\n' 18:48:15 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 elliott: /without the newline/ 18:48:36 that prints a newline 18:48:40 ais523: ah 18:48:51 tswett: I have indeed been getting older at an exponential rate. 18:49:23 So now you're, what, 24 years old? 18:49:33 tswett: he said /exponential/ not quadratic 18:49:40 you tell him ais523! 18:49:44 s/\/ /\/, / 18:50:06 that'd have been clearer if I matched on the not... 18:50:24 Oh, right. 18:50:26 `addquote this is just a test 18:50:27 270) this is just a test 18:50:28 `delquote 270 18:50:29 483 years old? 18:50:33 *poof* 18:50:34 ok, here is the current source code: 18:50:39 addquote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/80866b6af8af/bin/addquote 18:50:42 allquotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/56862be707f3/bin/allquotes 18:50:44 That is the mark of Gregor right there. 18:50:45 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 pastequotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/56862be707f3/bin/pastequotes 18:50:53 tswett: except that Gregor didn't write that 18:51:00 It's still the mark of Gregor. 18:51:00 elliott decided to rewrite our quotedb 18:51:08 quotes is an alias of quote 18:51:28 `addquote That is the mark of Gregor right there. tswett: except that Gregor didn't write that It's still the mark of Gregor. 18:51:29 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 270) That is the mark of Gregor right there. tswett: except that Gregor didn't write that It's still the mark of Gregor. 18:51:35 *a Unix program 18:51:41 especially if the system is slow 18:51:48 elliott: use Oracle instead? 18:51:48 -!- kar8nga has joined. 18:51:51 ais523: hmm, can I redo that quote with two spaces between messages? 18:51:54 it looks weird without it :P 18:52:04 I have access to an Oracle database! 18:52:05 elliott: but I don't mentally put two spaces between messages 18:52:07 otherwise 18:52:11 if you split a sentence up like this 18:52:20 it would become grammatically incorrect 18:52:23 due to the incorrect spacing 18:52:29 ais523: not grammatically, orthographically 18:52:38 punctuation normally counts as grammar, doesn't it/ 18:52:56 i think double-spacing is a good stand-in for newlines when they can't exist 18:53:06 also, pressing shift immediately after / should make it into a ? even if you already sent the message to IRC 18:53:15 quintopia: I normally use {{{ \ }}} 18:53:31 Links to sources that will always be the latest version: 18:53:32 addquote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/addquote 18:53:32 allquotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/allquotes 18:53:32 quote http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/quote 18:53:32 pastequotes http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/pastequotes 18:53:32 And the latest quote database is always available at http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes. 18:53:36 ais523: that is also acceptable 18:53:36 ais523: no, punctuation is orthography 18:53:46 ais523: this is why augur speaks with perfect grammar but terrible orthography :) 18:53:54 `addquote test1 18:53:55 271) test1 18:53:59 `addquote test2 18:54:00 hmm, I'd write an editquote except, really, you could just use ed for that 18:54:00 272) test2 18:54:04 `delquote 271 18:54:05 *poof* 18:54:06 `delquote 272 18:54:08 *poof* 18:54:20 oerjan: mwahaha 18:54:22 * oerjan swats elliott -----### 18:54:29 I WAS NOT FINISHED TESTING 18:54:42 `quote 271 18:54:43 271) test2 18:54:48 pastequotes dumps all quotes to pastebin? 18:54:51 `quote 272 18:54:52 No output. 18:54:58 elliott: what would you use for something that was basically a serialised hash 18:55:04 ais523: eh? 18:55:05 like a typical editable learndb? 18:55:10 ais523: ah 18:55:12 instead of enter number, get quote 18:55:17 enter topic, get quote 18:55:22 elliott: it seems you accidentally completed my test 18:55:29 `delquote 271 18:55:30 *poof* 18:55:34 `quote 271 18:55:35 No output. 18:55:36 -!- Sgeo has joined. 18:55:44 quintopia: HackEgo's pastebin, yes; you can also search 18:55:48 and get all the resulting quotes as a paste 18:55:48 elliott: that second delquote should say "there is no quote with that number" instead of *poof* 18:55:54 by giving pastequotes an argument 18:55:57 quintopia: ok, i'll implement that 18:56:01 ais523: depends! I can think of a few possibilities off the top of my head 18:56:09 ais523: the "accepted" solution is berkeley db 18:56:15 ooh, now I've thought of doing it as a filesystem 18:56:16 ais523: the ultra-Unixy solution is one file per info 18:56:20 yep 18:56:32 hmm, directories are basically just associative arrays, aren't they/ 18:56:33 ais523: and the sanest way is probably a file of the form "topic:...blah blah blah..." 18:56:35 quintopia: actually it said No output. 18:56:47 wrong 18:56:50 it said poof twice 18:57:00 oh wait 18:57:08 * oerjan read the wrong line 18:57:15 -!- nooga has quit (Ping timeout: 265 seconds). 18:57:27 OK, new esolang idea: everything is an associative array 18:57:32 including the keys of associative arrays 18:57:42 you'd have to start with {}, then {{} => {}}, etc 18:57:47 * Sgeo was about to shout "Lua" 18:58:05 Sgeo: JS works the same way as Lua on that 18:58:10 which is to say, not like /this/ 18:58:11 -!- nooga has joined. 18:58:12 I mean /everything/ 18:58:33 testing one new feature before fixing delquote 18:58:35 `pastenquotes 18:58:36 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.21067 18:58:41 yay 18:58:43 `pastenquotes 20 18:58:44 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28761 18:58:51 N random quotes, good for your health 18:58:58 you can get a lot more possibilities at the next level 18:59:08 Instead of going 0, 1, 2 18:59:10 as you have two possible keys, either of which might or might not have an associated value 18:59:13 It's more like 0, 1a, 1b 18:59:19 and two possible values for each of them 18:59:25 then there's a combinatorial explosion from there 18:59:37 quintopia: hmm, actually, fixing delquotes like that would be a pain and not really worth it 18:59:41 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 it'd be much like basing everything on sets, or on lists, just more annoying 18:59:55 quintopia: hmm, I wonder if that's an obvious way to do identifiers, I suppose it is 19:00:00 actually, wait, I could do it 19:00:29 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 `delquote 9999999999 19:01:32 No output. 19:01:36 it's equivalent to lists in my mind...at least in how you'd use it. 19:01:37 done 19:01:39 `addquote blarghl 19:01:42 271) blarghl 19:01:44 `delquote 271 19:01:45 *poof* 19:01:53 the power of diff 19:02:00 :D 19:02:17 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/delquote 19:02:18 literally 19:02:19 the power of diff 19:03:13 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 `delquote `echo Hello World 1>&2` 19:04:59 No output. 19:05:03 boring 19:05:04 ais523: that wouldn't work anyway 19:05:08 you have to use `run for that 19:05:13 ais523: but it only takes a number 19:05:16 `addquote example 19:05:17 271) example 19:05:20 `run delquote $(echo 271) 19:05:21 *poof* 19:05:22 yep, I wanted to give it a string to see how it reacted 19:05:31 and I picked a string which would be noticeable if it got shell-unescaped 19:05:32 ais523: well, I think that $(... 1>&2) = "" 19:05:42 same with ``, ofc 19:05:47 where "" denotes empty string 19:05:47 `run echo test `echo Hello World 1>&2` 19:05:48 test 19:05:56 `run echo test 1>&2 19:05:57 No output. 19:06:01 oh, HackEgo doesn't output stderr 19:06:10 `run (echo test `echo Hello World 1>&2`) 2>&1 19:06:11 Hello World \ test 19:06:15 `run (echo test `echo Hello World 1>&2`) 2>&1 19:06:17 Hello World \ test 19:06:22 elliott: it does work 19:06:39 ais523: heh, okay 19:06:55 `` (or $()) only redirects stdout, stderr stays unchanged 19:06:56 No output. 19:06:56 `run ls bin | grep quote 19:06:58 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 http://www.superant.com/smalllinux/files/ 19:09:31 oh this is bril http://d-e-f-i-n-i-t-e-l-y.com/ 19:09:37 ooooold 19:09:57 ais523: guess who's running a Linux 1.0.9 system in qemu?? 19:09:59 OOPS THAT'S RIGHT 19:10:00 IT'S ME 19:10:17 wow, this GNU ls doesn't have -h 19:14:10 grr, I can't find smallX 19:17:39 -!- nopseudoidea has quit (Quit: Quitte). 19:18:17 -!- cheater99 has joined. 19:19:40 System is 557 kB 19:19:44 it has ethernet support. well, sort of 19:19:49 I don't think I've actually included any ethernet drivers :P 19:20:17 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 it was a plaintext email, but it was still laid out neatly with nested tables 19:21:28 ais523: ha 19:21:39 ais523: so, do you think 557 KiB is way too big for a kernel? 19:22:47 "If unsure, say N." --Kconfig, about Ethernet support 19:22:54 they be smokin' the crack 19:22:56 Nsure 19:23:28 elliott: well, it is a kernel 19:23:36 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 just at a slower speed? 19:23:39 say yes 19:23:50 ais523: yes, but it doesn't support swap. 19:23:51 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 ais523: or any filesystems. 19:24:01 ais523: or large swathes of useful APIs. 19:24:02 elliott, I doubt it 19:24:06 ais523: or just about any hardware at all 19:24:08 "any filesystems"? 19:24:18 ais523: I've disabled them all 19:24:20 how does it access files, then? 19:24:21 elliott, those are just grouping drivers 19:24:22 I'll probably enable FAT or something 19:24:28 ais523: it doesn't; you bundle it with an initramfs 19:24:34 elliott, based on speed of unit they are for 19:24:39 oh, ramfs is a filesystem 19:24:42 ais523: the bootloader handles loading the kernel from the floppy, which contains the initramfs, which contains everything you need 19:24:43 ais523: no it isn't 19:24:47 it's internal kernel code 19:24:53 semantics 19:24:57 it isn't exposed to userspace the way i have it 19:25:14 oh, there's something beautiful about having a filesystem but not exposing it to userspace 19:25:23 Vorpal: gah, but these drivers will take up space! I need to fit the kernel AND programs into 1.44 megs! 19:26:48 ;hackers' libc 19:26:48 ; 19:26:48 ;Yes, this is the most advanced libc ever seen. 19:26:48 ;It uses advanced technologies which are possible only with assembly. 19:26:48 ;Two main features that make this libc outstanding: 19:26:48 ;1) calling convention can be configured AT RUNTIME (cdecl is default) 19:26:50 ;2) THE smallest size 19:26:52 --asmutils 19:27:21 -rwxr-xr-x 1 elliott elliott 19246 Dec 6 17:38 libc.so.0 19:27:32 -rw-r--r-- 1 elliott elliott 20566 Dec 6 17:38 libc.a 19:28:47 1) sounds like it takes up space 19:31:06 ais523: I think when your libc is 20.5 decimal kilobytes, you can afford to spend bytes on lavish features :P 19:32:17 (vmware cpu wtf--disable) 19:32:29 hey ho, ELF support is smaller than a.out support 19:35:17 hmm, did I forget to disable most of ipv4? 19:36:29 I like the way you're doing IPv6 but not IPv4 19:36:35 or are you doing neither? 19:38:17 ais523: IPv4 but not IPv6 19:38:21 why did you think i was doing ipv6? 19:38:46 because you said you were disabling ipv4 19:39:09 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 ais523: disabling *most of* :) 19:39:37 ais523: i don't have an ipv6 link so i'm not getting rid of ipv4 :) 19:39:52 grr, what more can I turn off.. 19:40:24 CONFIG_DEFAULT_SECURITY_DAC=y 19:40:24 CONFIG_DEFAULT_SECURITY="" 19:40:24 CONFIG_HAVE_KVM=y 19:40:25 hmm 19:40:41 │ Symbol: HAVE_KVM [=y] │ 19:40:41 │ Type : boolean │ 19:40:41 │ Selected by: X86 [=y] │ 19:40:42 heh 19:41:28 I wonder if a nommu build is smaller :) 19:41:38 That's just the "can do KVM" symbol, I think; it's what actual CONFIG_KVM depends on. 19:42:24 yeah 19:43:06 elliott, well my kernel is 1.5 MB and it supports only my system 19:43:28 Vorpal: How? I've disabled basically EVERYTHING EVER and mine is still 500K or so. 19:43:49 Did you compress it with some secret EvenBetterThanLZMA? Seriously, I have no idea how to get this any smaller. 19:44:11 maybe he's found one of the few files in existence azip actually beats LZMA on 19:44:19 elliott, 500 K < 1.5 MB? 19:44:20 ais523: does he have azip? 19:44:22 uh 19:44:32 Vorpal: Yes, but I don't see how you can pack a useful desktop system into 3x that size. 19:44:35 elliott, I use zlib compression btw 19:44:36 I managed to construct one, but lzma >> azip > bzip2 >>> gzip for most largish files 19:44:37 Considering my kernel supports basically NOTHING. 19:44:40 because I haven't bothered changing 19:44:54 azip loses to bzip2 on smaller files 19:44:54 ais523: Is azip fast? 19:44:58 not massively 19:45:02 ais523: faster than bzip2? 19:45:05 bzip2 is pretty slow 19:45:12 hmm, I haven't timed them against each other 19:45:13 I'll do that now 19:45:37 ais523: If it's faster to decompress than bzip2, I think it occupies a very useful niche. 19:45:44 LZMA is way overkill and very slow and memory intensive for most purposes. 19:46:20 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 1648198 -> 851342 51.65% linux/386 vmlinux 19:47:07 UP motherfuckin' X. 19:47:17 Useless, unfortunately :P 19:47:21 nah, it's much slower than bzip2 it seems 19:47:22 It's bigger than my bzImage. 19:47:38 I wonder how far it could be optimized 19:48:06 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 ais523: btw, what's azip's native extension? .az? 19:48:16 don't say .azip, that's boring 19:48:19 yep, .az 19:48:41 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 hmm, do tickless systems have smaller kernels? :P 19:49:18 System is 585 kB 19:49:19 * elliott make 19:49:44 I refuse to stop until I have the kernel, asmutils, an X server and xterm on a single floppy. 19:49:52 Ideally a super-stupid IRC client too. Say RawIRC :P 19:50:23 decompression was about 4 times slower than bunzip2 on my test file 19:50:34 and that can potentially be improved by memoizing it 19:50:54 (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 just 1.739s the second time 19:51:15 ais523: aha! 19:51:22 bunzip2 took 0.420s 19:51:22 ais523: try getting rid of all your IO code and using mmap instead 19:51:37 as I said, I haven't really tried to optimise it 19:51:58 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 System is 587 kB 19:52:08 aww, tickless *adds* bytes 19:53:05 * elliott i686s it in the hopes of getting a smaller kernel 19:54:24 http://pastebin.ca/2012252 19:54:35 also, pastebin's syntax highlighting fails on ' inside shell comments 19:55:06 also, why the hell does GNU shar try to use gettext? 19:55:55 ais523: you missed an excellent opportunity there to give me a .tar.az 19:56:12 ais523: also, what kind of name for a computer is desert? :) 19:56:35 elliott: well, I like it 19:56:42 also, you've had loads of chances to spot my hostname before 19:56:50 ais523: I have? 19:57:00 ais523: grrrrrrrr, pastebin.ca does DOS line endings 19:57:02 when I set it, I actually conciously wondered how long it would be before a #esoteric denizen commented on it 19:57:09 elliott: so does the Internet generally 19:57:17 ais523: also -- sharbomb! :) 19:57:19 you can just dtou it or something, though, can't you? 19:57:23 yeah, I fromdos'd it 19:57:40 and are shars supposed to bomb? IIRC, zips are 19:57:44 ais523: do you use any particular flags when compiling this? 19:57:46 and who knows 19:57:52 I think they're meant to be like tars, and not 19:58:07 elliott: not really, let me find my makefile 19:58:22 seems I use gcc -O2 -ggdb -g3 -Wall -Wextra 19:58:43 that's a rather higher debug option than I normally use, which says something about the code 19:59:17 ais523: got the test file you were using? 19:59:29 Anyone have a way to work out the pixelised image of an ellipse? 19:59:34 amazon.de -> "Mein Kampf" -> 2 results in the category "Gay & Lesbian?" -> "The Ideal Gay Man: The Story of Der Kreis" 19:59:36 Huh? 19:59:37 (That isn't GIMP.) 20:00:34 elliott: it's the released public beta of C-INTERCAL, as an uncompressed tarball 20:00:47 azip works kind-of badly on files that have already been compressed, in fact much worse than many other algos 20:00:50 ais523: the one with the - in the version number? 20:00:53 yep 20:01:06 I also use the GPL version 3 as a smaller test file 20:01:13 when I want to be able to actually check the whole thing by hand 20:01:14 ais523: have you got a link? my browser is being slow right now 20:01:21 I can't remember where it is offhand 20:02:16 System is 478 kB 20:02:18 block layer = bloat 20:02:18 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 that won't give the low-level summary, but it will give a high-level summary of how it works 20:02:40 ais523: oh, I'm more interested in optimising it than understanding whatever crazy scheme you've come up with :) 20:02:44 from there, it's pretty much just Shannon coding 20:02:53 as far as I'm concerned, if it's faster than bzip2, it occupies a useful niche 20:03:08 and it's a surprisingly simple scheme, resembling gzip's but with a much better ratio 20:03:20 hmm, where's the GPL on a typical Debian system? 20:03:22 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 fizzie, too much work! 20:03:49 /usr/share/common-licenses 20:03:49 It's for ROU construction! 20:03:53 that's where I got my copy from 20:04:16 elliot: i dont speak with perfect grammar 20:04:29 elliott: but thats because performance is not competence 20:04:33 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 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 Both are godawful test files. 20:05:15 this is a superior interface to gzip's 20:05:21 Gregor: in what way? 20:05:33 ais523: Well, part of a decent test /suite/, sure. But not as an individual test. 20:05:41 It's just ... ASCII test. Repetitive, ASCII text. 20:05:46 s/test/text/ 20:05:49 Gregor: it's not massively repetitive 20:05:50 ais523: did you measure compression or decompression speed? 20:05:53 and it has things like the section in allcaps 20:06:02 Gregor: repetitive, ascii text -- you mean like source code? 20:06:02 elliott: decompression's around 4x slower than bzip2 20:06:33 compression is, atm, around 27 times slower; that obviously needs improvement 20:06:54 ais523: hmm, why do you use unsigned long long? 20:06:58 that's == unsigned long on 64-bit 20:06:58 I suspect this is partly because bzip2 splits the input stream into chunks, and azip always compresses the entire file 20:07:01 oh, for 32-bit 20:07:13 in places I actually do absolutely need 64-bit precision 20:07:19 like the fixed-point cube route routine 20:07:21 *cube root 20:07:33 which is memoized because it's far too slow otherwise 20:07:41 long long is == int64_t on 64-bit, right? 20:07:58 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 ais523: hmm, do assert()s get compiled out with -DNDEBUG? 20:08:11 using glibc 20:08:30 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 ugh, you've tied the parsing to the IO 20:09:03 bad ais523! 20:09:26 elliott: they do 20:09:31 also, I don't think I did 20:09:39 I interleaved the parsing with the IO, but they aren't tied to each other 20:09:44 size_t innumber_bounded_flat(FILE* f, size_t bound) { 20:09:49 outnumber_bounded_inner. */ 20:09:49 size_t innumber_bounded_inner(FILE* f, size_t minbound, size_t bound, 20:09:49 int countup_000, size_t origbound) { 20:09:49 and I don't think the IO is a noticeable overhead 20:09:50 etc. 20:10:03 ah 20:10:12 ais523: well, azip certainly has one major advantage; unazip.c is frickin' small :P 20:10:19 elliott: that was deliberate 20:10:23 I think it can be made smaller, too 20:10:45 anyway, all the I/O of compressed data is centralised in inbit/outbit 20:10:49 because the system reads a bit at a time 20:11:18 fizzie... how... 20:11:46 ais523: well, if it's mmap, then inbit will just be return *s++ :P 20:11:47 or whatever 20:11:53 the file's padded to a whole byte at the end, because I had no other option 20:11:57 ais523: but seriously, reading a bit at a time *is* going to be a noticeable overhead! 20:12:32 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 although it's way behind bzip2 if you do that 20:13:20 ais523: heh, really? 20:13:23 gzip must be terrible 20:13:29 indeed 20:13:55 actually, I think I specialcased the number that was usually 2 in that encoding scheme 20:14:06 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 (You get what you pay for.) 20:14:27 (azip encodes a 2 in the value that's usually 2 in a single bit, using longer codes for other numbers) 20:14:36 fizzie, how did you code that in what... 5 minutes? 20:14:47 Phantom_Hoover: ...it's trivial 20:14:54 just a for loop setting some pixels 20:14:58 see azip.c line 455 for a discussion of the probabilities 20:15:05 I do not actually have GD. 20:15:07 which seem relatively constant amongst source code tarballs 20:15:09 ais523: how much memory overhead does azip have? 20:15:09 Whatever that is. 20:15:12 unazip 20:15:21 elliott: ah, that's the brilliant part 20:15:25 Phantom_Hoover: just install the package 20:15:26 it's O(size of the compressed file), IIRC 20:15:35 elliott, what's the name? 20:15:48 ais523: I'm not impressed; LZO is O(0) 20:15:57 ais523: well, O(1); you need a source and destination buffer 20:16:00 is LZO actually a compressor? 20:16:07 ais523: err, yes 20:16:09 ais523: http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Oberhumer 20:16:14 ais523: it gets almost-as-good results as gzip 20:16:15 Phantom_Hoover: libgd-gd2-perl. 20:16:17 ais523: and can decompress in realtime (IO-bound) 20:16:21 on even weak hardware 20:16:21 I mean, the memory used by the entire unazip.c is O(size of compressed file) plus a constant 20:16:26 although it can't stream 20:16:32 ais523: same for LZO, it operates on blocks at a time 20:16:34 why did I add the constant there? 20:16:37 now I have two constatns 20:16:42 I'm not surprised you don't have it; it's quite horrible. 20:16:43 *two constants 20:16:43 so if you have a 4096 block size, it'll use 8K for the entire run 20:17:07 hmm, ingenious 20:17:17 but as we've already established, "almost as good as gzip" isn't actually very good 20:17:31 ais523: lzo isn't designed to be well-compressing 20:17:32 (azip the compressor eats a huge amount of memory, incidentally) 20:17:53 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 it fits all three, and is widely used as a result 20:18:59 elliott: the encoding in that link is screwed up 20:19:14 ais523: no it's not 20:19:16 those aren't hyphens 20:19:25 they're encoded as %E203 here 20:19:26 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 which makes no sense 20:19:52 also, Wikipedia is being very slow for me for some reason 20:20:11 to the extent that the CSS hasn't loaded at all 20:20:24 ais523: is there a development repository in ubuntu? like, something even less stable than natty 20:20:46 ais523: wait, memoised_fibonacci is totally pointless, you can just inline every single value,t here's only 92 20:20:48 *there's only 92 20:22:40 elliott: indeed; I thought about that 20:22:50 modifying it now to inline them all 20:22:55 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 hmm, what's the unsigned long long suffix? ULL? 20:23:02 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 yep 20:23:13 elliott, what's this about Fibonacci? 20:23:21 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 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 also, fixed-point cubes should not be that complex to write, 20:25:16 ais523: wow, look at the whitespace pattern I get when word-wrapping the table: http://sprunge.us/bENR 20:25:38 ais523: also, hmm, a logarithm of some sort maaaybe? 20:25:40 perhaps not 20:25:45 !echo hi 20:26:03 elliott: you expect log to be easier to implement than cube root? 20:26:12 and act vaguely the same way? 20:26:17 Log2 certainly is rather easy. 20:26:24 ais523: well, log2 is trivial :P 20:26:25 At least an approximation of. 20:26:32 It's not very similar, though. 20:26:37 it isn't, no 20:26:43 elliott: approximating to the nearest integer, OK, but getting the other decimal places, rather harder 20:26:54 " Find integer log base 2 of the pow(2, r)-root of a 32-bit IEEE float (for unsigned integer r)" 20:26:57 !echo hi 20:26:59 ais523: good enough for you? :P 20:26:59 hi 20:27:00 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 Gregor: what's with the frequent swallowing of the first command? 20:28:02 !haskell let fib = 0:1:zipWith(+)fib(tail fib) in fib!!92 20:28:14 ais523: 20:28:14 $ time ./unazip /dev/null 20:28:14 real0m0.688s 20:28:25 how does that compare to bunzip2? 20:28:28 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 also, what did you change? 20:28:30 !echo hi 20:28:33 dunno, lemme try bzip2 20:28:35 ais523: just made fibs a table 20:28:46 Unabomber, unazip. 20:28:49 but they're memoized, so that should hardly make a difference 20:29:04 $ time bzcat test.bz2 >/dev/null 20:29:04 real0m0.280s 20:29:11 !echo hi 20:29:12 hi 20:29:21 test is ick-0.-2.0.29.pax 20:29:26 !haskell let fib = 0:1:zipWith(+)fib(tail fib) in fib!!92 20:29:28 7540113804746346429 20:29:55 all you're doing is calculating them at writecodetime rather than runtime 20:29:55 and calculating the fibonacci numbers once is not going to take very long 20:29:57 !haskell 7540113804746346429 :: Double 20:29:59 7.540113804746346e18 20:30:09 why stop at 92? 20:30:17 oerjan: 64-bit int 20:30:27 hm 20:30:38 ais523: you use malloc?! 20:30:53 well, how else am I going to allocate memory? 20:30:56 ais523: I think you need indoctrinating into the cult of mmap. 20:31:03 !haskell maxBound :: Data.Int.Int64 20:31:06 9223372036854775807 20:31:11 Malloc is slow. Realloc too. 20:31:21 the whole thing has to be read before it can start decompressing 20:31:31 ais523: I mean use mmap instead of malloc... 20:31:49 well, I suppose you can figure out how much needs to be allocated in advance 20:31:52 ais523: using MAP_ANONYMOUS 20:31:53 ais523: no 20:31:55 ais523: you can rely on overcommitting 20:32:00 just mmap 2, 4 gigs, whatever 20:32:08 elliott, is malloc slower than proper GC? 20:32:17 Phantom_Hoover: Umm, that question is meaningless. 20:32:27 Is there a six-words-or-so description of this whole azip business? 20:32:32 ...It is. 20:32:40 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 fizzie: my attempt to make a compression algorithm 20:32:50 that's seven, but close enough 20:32:58 fizzie: ais523's compressor. Slow, big... fix! 20:33:03 Yes, I was hoping for something that's sort of describe what's the novelty of it. 20:33:08 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 I grokked that much from the context. 20:33:12 fizzie: there isn't a novelty of it 20:33:17 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 which is why I abandoned it 20:33:19 Oh. :/ 20:33:20 ais523: then why do you have realloc? 20:33:29 if (n == 0) return 0; 20:33:29 if (n >= memorylen) { 20:33:29 memory = realloc(memory, sizeof (unsigned long long) * (n+1)); 20:33:29 if (!memory) { 20:33:31 cuberoot_leftshift_40 20:33:34 I was expecting some sort of a radical New Kind Of Compression. 20:33:35 elliott: that's in the memoization for cube roots 20:33:42 fizzie: it is a radical New Kind of Compression 20:33:47 just one that happens to be not as good as lzma 20:33:48 ais523: why not just allocate a big static table? 20:33:59 Yes, well, that's the sort of novelty I was looking for. 20:34:27 elliott: hmm 20:34:46 I doubt it would make a massive difference 20:34:51 especially as n there is theoretically unbounded 20:35:02 ais523: you don't have to bother memoising every value 20:35:04 only reasonable values 20:35:12 │ Symbol: ANON_INODES [=y] │ 20:35:12 │ Type : boolean │ 20:35:13 │ 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 what's this then 20:35:55 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 if you run azip with -v, it'll tell you how many tnodes there are, plus lots of other irrelevant data 20:36:27 ais523: when do you find out how many tnodes are in the file? 20:36:47 it changes as the compression algo proceeds 20:37:02 so not until the end do you find out how many it ended up with 20:37:26 it spends most of its time eliminating tnodes by doing things like inlining them, or just putting them into different orders 20:37:28 Vorpal: if you compile an initramfs into the kernel, does it receive the kernel's compression? 20:37:37 and, accordingly, can I disable the "Load whatever-compressed initramfs" support? 20:38:14 elliott, no clue 20:38:49 I think there are a few tens of thousands, eventually, in the paxball test 20:39:09 not as many as I'd like, really 20:39:22 System is 480 kB 20:40:20 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 chvt is also to do with VTs, I think 20:40:56 and deflate's a compression algo IIRC 20:41:00 I know that :P 20:41:42 wonder if STARTUP=y shrinks it 20:42:07 Note: Several utils (cpuinfo, eject, httpd, kill, etc) have their own additional configuration in the source code. 20:42:13 Yes, chvt does alt-fN style console-switching except programmatically. 20:42:57 cda2raw is an awfully specific utility, if it does what one'd expect from the name. 20:43:09 It does, I believe. 20:43:09 -!- Sasha has quit (Ping timeout: 240 seconds). 20:43:17 aren't CDAs raw PCM anyway? 20:43:17 fizzie: extracts audio from a CD? 20:43:26 well, maybe it takes a block device 20:43:34 TODO: Figure out whether setting CPU to Pentium Pro actually made it smaller. 20:43:35 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 ais523: that's CDDA 20:43:50 CDA presumably stands for CD Audio 20:44:01 (isn't it CDDA? oh, whatever. maybe not) 20:44:11 elliott: the files have the extension .cda on Windows, and appear as files in the directory represented by an audio CD 20:44:17 heh, gzip uses deflate 20:44:18 PNG, too 20:44:22 ais523: right, okay 20:44:23 And "really raw" CD audio isn't just raw PCM; there's also error-correction/subcode data. 20:44:26 thought it was .cdda 20:44:29 I'm not sure how often you actually see those, though. 20:44:35 fizzie: does the block device expose those? :P 20:44:41 fizzie: really really /really/ raw CD audio has an extra layer of encoding 20:44:48 because the physics of CDs prevent them from having two 1s in a row 20:45:03 Well, yes. But the "logical" format has frames of K samples and the error-correction. 20:45:08 (luckily, you can have two 0s in a row, or CDs would be stuck doing 1010101010101010 forever) 20:46:08 ais523: is it 0 -> 0; 1 -> 10? 20:46:10 or 1 -> 01 20:46:14 elliott: no, it's more complicated than that 20:46:18 ais523: hmm, why? 20:46:24 ais523: to allow seeking? 20:46:28 so that each constant-length string of bits becomes a constant-length string in the encoding 20:46:44 otherwise, a CD full of 0s would hold more data than a CD full of 1s 20:46:47 0 -> 101; 1 -> 010? 20:46:54 otherwise, a CD full of 0s would hold more data than a CD full of 1s 20:46:56 that would be brilliant 20:47:02 that doesn't quite work; 100; 010 would but is wasteful 20:47:03 wait, 0 -> 101; 1 -> 010 doesn't get seeking right either 20:47:09 oh, indeed 20:47:16 ais523: what is it, then? 20:47:24 the encoding itself uses a similar principle, but on blocks of quite a lot of bits on the LHS 20:47:29 right 20:47:34 I don't know what it is offhand, it's not the sort of thing you can memorise 20:47:49 0 -> 00, 1 -> 10, 11 -> 010 20:47:58 then 111 -> 01010 20:48:00 that doesn't work either 20:48:03 but is a fun encoding anyway 20:48:49 brb 20:52:40 -!- elliott has quit (Read error: Operation timed out). 20:58:37 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 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 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 Aaaaaand, it segfaults. 21:03:27 a plane crash, then 21:05:57 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 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 Wikiplia? 21:17:53 -!- ais523 has quit (Read error: Connection reset by peer). 21:18:59 Wikiplia? 21:19:06 -!- ais523 has joined. 21:31:41 coppro, nooga, an (unfortunately dead) attempt at making a wiki-based programming language. 21:33:49 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 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 and given that it's uncompressed, it's quite large 21:35:10 "That is _so_ 2008"? 21:35:38 pity there's no way to delete some attachments from an email while retaining others 21:35:52 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 ais523, so I'm assuming you take pride in never violating copyright? 21:37:50 Phantom_Hoover: that's something to be proud about? 21:37:58 I just dislike violating the law without a really good reason 21:38:23 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 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 How goes Feather? 21:42:37 go away 21:42:58 -!- Mathnerd314 has joined. 21:50:51 Mathnerd314! 21:51:14 yes...? 21:52:03 * Mathnerd314 bows 21:55:50 Bow MORE! 21:58:29 no, it was merely for politeness's sake. you should return my bow, and more deeply 21:58:51 And tell me what the next prime is! 21:59:24 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 where is elliott when you need him 22:01:08 -!- madbr has joined. 22:01:15 hey 22:02:16 -!- nooga has quit (Read error: Operation timed out). 22:02:21 Vorpal: what do you need him for? 22:02:23 hi madbr 22:02:43 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 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 madbr: look at OpenCL and GPGPUs 22:04:46 they're built pretty much entirely around parallelism 22:05:13 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 yeah but that's a... really specialised architecture 22:05:56 basically you're the one doing all the work :D 22:06:32 I was thinking something more like a super-out-of-order cpu 22:07:00 Phantom_Hoover: 317 22:07:17 Itanium? 22:07:29 oerjan, you're hired. 22:07:48 yay 22:08:06 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 Turn up to work tomorrow with a spatula and 3 8GB flash drives. 22:09:04 I QUIT 22:10:21 -!- ais523 has quit (Ping timeout: 240 seconds). 22:10:42 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 even though there's a bunch of instructions before 22:11:31 madbr: http://en.wikipedia.org/wiki/Register_renaming 22:11:32 -!- ais523 has joined. 22:13:49 deewiant: yes, take that to the power of 11 22:14:20 -!- Sasha has quit (Read error: Connection reset by peer). 22:14:30 oerjan, YOU CANNOT QUIT PHANTOM INDUSTRIES 22:14:45 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 Polynomials of the 11th degree are the BEST kind of polynomials! 22:16:48 Vorpal, incidentally, remember that Minecraft diary elliott linked to? 22:16:51 yeah I was thinking of something like... 22:16:53 The guy died. 22:16:55 Phantom_Hoover, which one? 22:17:05 Phantom_Hoover, towards a new dawn? 22:17:08 Vorpal, the one you had a sarcasm failure with. 22:17:14 oh that one 22:17:20 Phantom_Hoover, do you want to try a lethal trap? 22:17:30 every new loaded instruction is allocated to a new register/execution unit 22:17:30 Vorpal, depends. 22:17:47 If all of the stuff in my inventory will be salvageable, then yes. 22:17:48 Phantom_Hoover, I will provide a chest to put your items in 22:18:04 No, that's too inconvenient. 22:18:12 Phantom_Hoover, hm there is lava involved so... 22:18:13 My inventory is nearly full of cobbles. 22:18:20 Phantom_Hoover, two big chests? 22:18:29 Phantom_Hoover, also I can donate more cobble if you want 22:18:34 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 Phantom_Hoover, I have two big chests full plus a lot more spread out 22:18:48 Vorpal, I'll pass. 22:19:13 Phantom_Hoover, I don't know if you will die from falling or from the lava btw 22:19:26 Is this your trapdoor? 22:19:26 Phantom_Hoover, I could replace it with water I guess 22:19:45 Phantom_Hoover, indeed. 22:22:03 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 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 like, uh, Chinese 22:34:38 fang en hai 22:36:39 yeah that's the "wtf is that word" effect 22:37:14 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 ;D 22:42:53 nooga: 中国語っぽい? 22:44:01 -!- elliott has joined. 22:45:04 -!- Sasha has quit (Remote host closed the connection). 22:46:00 . 22:46:01 -!- Sasha has joined. 22:46:59 Phantom_Hoover, how much fall damage did you take? 22:48:19 ? 22:48:39 Vorpal, around 50%. 22:49:23 ? 22:49:38 Phantom_Hoover, hm not more 22:49:58 ? 22:50:11 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 what fall 22:50:48 elliott, Vorpal's trapdoor in the throne room. 22:52:28 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 so see it while it is open 22:52:44 elliott, and now means "within one minute" 22:54:04 -!- MigoMipo has quit (Read error: Connection reset by peer). 22:54:20 okay, closing it 22:54:28 SPECIAL OFFER TO KILL YOU, ONLY TODAY 22:54:35 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 oerjan, no "special offer to see death trap depth 22:59:16 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 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 SPARC 23:11:21 is the best architecture EVER 23:11:35 with this http://en.wikipedia.org/wiki/Open_Firmware 23:12:06 an it's got Forth shell 23:20:33 -!- yorick has quit (Remote host closed the connection). 23:33:10 So did New World PPC Macs. 23:34:34 -!- sftp has quit (Remote host closed the connection). 23:35:52 ... doesn't EFI have a Forth shell to this day? 23:36:17 no 23:36:36 Hm 23:37:28 night 23:40:04 EFI is basically Open Firmware made worse. 23:40:17 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 Forth is cool 23:53:22 -!- Sgeo has joined. 2010-12-07: 00:03:08 loadlin can't load initramfses, right? :p 00:03:17 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 The initramfs loading is identical to initrd loading from a bootloader point of view. 00:18:16 pikhq: Right. But you can embed a .cpio directly into the kernel. 00:18:17 Also, if it's embedded in the kernel, the bootloader can be completely ignorant of it. 00:18:20 Right. 00:18:43 The .cpio gets transformed into a .o with a symbol pointing to the .cpio. 00:19:01 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 Because I'm thinking that http://busybox.net/~vda/linld/README.txt + DOS might be smaller than lilo. 00:20:07 [ ] LINLD.COM 13-Sep-2004 13:11 5.7K 00:20:17 So depending on how small I can get DOS... 00:20:19 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 pikhq: AUTOEXEC.BAT would be "linld cl=blah" :P 00:21:00 IO.SYS is the DOS BIOS, MSDOS.SYS is the DOS kernel, and CONFIG.SYS is, of course, a config file. 00:21:01 How big are IO.SYS + MSDOS.SYS + COMMAND.COM, roughly? Assume an old, smaller DOS. 00:21:07 Uh, *tiny*. 00:21:19 pikhq: <100K? 00:21:58 pikhq: Or, more concretely: Minimal DOS + 5.7K <=> minimal lilo installation? 00:22:24 LILO appears to require a /boot partition. 00:22:32 Whereas linld could just run from a DOS floppy. 00:23:01 pikhq: (BTW, this is for a single-floppy Linux like you were trying to do.) 00:23:03 That might be true of modern DOS, even. 00:23:18 "System is 480 kB" --Linux make 00:23:22 It lacks some things though. 00:23:24 Like VTs. 00:23:27 Or block device support. 00:25:28 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 Uh, FreeDOS, done minimally, is 112K... 00:25:53 You could probably get that down way smaller by removing some useless features. 00:25:59 (FAT32, LFN, tab completion) 00:26:01 FreeDOS is pretty big :P 00:26:10 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 elliott: Yes. 00:26:30 pikhq: Awesome. 00:26:34 elliott: The initramfs is just another object file in the kernel if it's embedded. 00:28:05 ^?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 ^YS^@^@j6XÍ<80>Y[<87>^L$¾^A^@íÀj^UXÍ<80>X<85>Àx^B1À<89>Ãj^AXÍ<80>/dev/cdrom^@^@^@^@^@iso9660^@ ..^@ 00:28:09 THAT DOES NOT COUNT AS A PROGRAM 00:28:13 WHERE IS ALL THE CODE 00:28:26 (a minimal FreeDOS, BTW, is: command.com, kernel.sys) 00:29:33 AHAHAH. Easy way to get that FreeDOS system down in size. 00:29:44 upx supports DOS executables. 00:30:02 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 pikhq: I tried UPX'ing the vmlinux and it was bigger than the LZMA'd bzImage. 00:31:15 elliott: Weird. 00:31:17 pikhq: I would just like to say that I've just selectively installed pieces of asmutils... 00:31:18 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 ouch tr true tty umount uname update uptime users usleep uuencode watch wc wget which whoami write yes 00:31:25 pikhq: Notice how this includes WGET and shit. 00:31:28 pikhq: Guess how big all these are? 00:31:30 67012 total 00:31:37 67 fucking Ks. 00:31:39 elliott: Yeah, asmutils is awesome. 00:32:08 No, *motherfucking awesome*. 00:32:13 wget doesn't seem to work here :P But whatever! 00:32:31 pikhq: Wait... if I have an initramfs, you won't be able to see the kernel, will you? X-D 00:33:01 elliott: ? 00:33:38 pikhq: Because the kernel will be on the floppy. 00:33:41 And there's no block device support. 00:33:46 XD 00:34:27 -rw-r--r-- 1 elliott elliott 70K Dec 7 00:33 ../root.cpio 00:34:32 Welp, might as well compile it in. 00:35:00 pikhq: If I can find a damn smallX tarball, this could actually work. 00:35:02 System is 511 kB 00:35:08 With asmutils and /etc/rc. 00:35:31 Totally awesome. 00:36:06 Oops, I forgot to put init in /sbin. Ehh... I can just say init=/bin/init. 00:36:30 pikhq: I have all kernel printing disabled, so time to wait for a minute and hope I get a shell :P 00:37:09 DIN'T WORK LOL... or I'm too impatient. 00:37:13 I'll rebuild with printk so I can see shit. 00:38:19 pikhq: Hmm... does init= actually affect the initramfs? 00:38:30 Isn't that for the real root's init path? 00:40:47 With initramfs, init= gets passed to /init. 00:41:43 Ah. 00:41:53 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 pikhq: you do realise just about every watercooled setup uses at least one fan? 00:43:50 elliott: "Fans". As in many. As in several. Tiny. Noisy. Fans. 00:44:01 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 I'm not sure it's actually doing its initramfs thang. 00:44:27 elliott: Yes. 00:44:35 -!- nooga has joined. 00:44:44 pikhq: If it doesn't move in 30 seconds, I'm enabling all this printy stuff. :P 00:45:37 elliott: Also: watercooled computers should have ginormous radiators. 00:46:03 Actually, screw the water. 00:46:11 Computers should have ginormous radiators. 00:46:14 With blinkenlights. 00:46:59 │ │ [ ] Use 4Kb for kernel stacks instead of 8Kb │ │ 00:47:00 TODO: that 00:49:18 pikhq: Hmm... uClinux can be configured to be super-small, right? 00:50:29 -!- madbr has left (?). 00:50:54 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 I should not have to manually allow Windows Firewall to make changes to my computer 00:52:02 pikhq: Hmm. If a kernel manages to decompress, print out "Booting the kernel.", but then hang... what's up? 00:53:12 I have printk and everything. 00:54:37 elliott: Uh, fuck that's not good? 00:54:47 pikhq: Having PCI access set to "direct": smart idea? 00:55:50 pikhq: Come to think of it, it probably means that it's failing during very early bootup, right? 00:56:04 Exceptionally early. 00:56:21 I cannot be sure it had paging working yet. 00:56:38 If I knew more about the kernel's structure, I'd suggest you kgdb that. 00:57:20 pikhq: With qemu? Sounds like a whole new world of fun :P 00:58:40 -!- Mathnerd314 has joined. 00:59:10 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 elliott: Likely. 01:00:51 pikhq: Okay, it's STILL not printing anything... 01:01:01 Are you sure using -kernel isn't to blame here? 01:01:08 Quite sure. 01:01:17 All that does is make the qemu BIOS act as a bootloader. 01:02:22 pikhq: Even without namespaces support, IPC, the block layer, anything, I should still get printk right? 01:02:29 Even with no drivers enabled? 01:02:45 │ │ [ ] Display panel/monitor support │ │ 01:02:49 I shouldn't need that, surely? 01:02:57 Speaking as someone who has actually had this come up, you should still get printk. 01:03:10 If you have VGA console support and printk, you're golden. 01:03:24 pikhq: Not sure I have VGA console support! 01:03:30 Is that actually configurable? 01:03:36 Yes. 01:03:42 │ ymbol: VGA_CONSOLE [=n] │ 01:03:42 │ ype : boolean │ 01:03:42 │ rompt: VGA text console │ 01:03:47 HURF DURF IM TARDED CUZ THAT'S NOT ENABLED 01:03:50 *sYMBOL *tYPE *pROMPT 01:03:52 There's your problem! 01:04:29 │ -> Device Drivers │ 01:04:29 │ -> Graphics support │ 01:04:29 │ -> Console display driver support │ 01:04:34 I don't *have* that last submenu. 01:05:03 pikhq: Wait, what? VGA_CONSOLE depends on "VT [=n]". Or is that [=n] just what I have? 01:05:05 Aha, I think it is. 01:05:08 So I need to enable VT. 01:05:10 Right? 01:05:29 Apparently. 01:05:54 pikhq: Weird that the console would depend on VTs. 01:06:01 No kidding. 01:06:53 "Kernel panic - not syncing: junk in compressed archive" 01:06:56 It does not like my cpio! 01:06:59 Do I have to construct it specially? 01:07:50 "compressed archive" 01:07:57 pikhq: Yes, that one puzzles me. 01:07:58 *facepalm* 01:08:01 I just fed it a .cpio. 01:08:02 pikhq: wut 01:08:10 elliott: At the kernel. 01:08:18 right 01:08:18 elliott: It should just take a straight cpio. 01:08:27 │ │ [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support │ │ 01:08:27 │ │ (/home/elliott/flinix/root.cpio) Initramfs source file(s) │ │ 01:08:27 │ │ (0) User ID to map to 0 (user root) │ │ 01:08:27 │ │ (0) Group ID to map to 0 (group root) │ │ 01:08:30 │ │ [ ] Support initial ramdisks compressed using gzip │ │ 01:08:33 │ │ [ ] Support initial ramdisks compressed using bzip2 │ │ 01:08:36 │ │ [ ] Support initial ramdisks compressed using LZMA │ │ 01:08:39 │ │ [ ] Support initial ramdisks compressed using LZO │ │ 01:08:42 │ │ Built-in initramfs compression mode (None) ---> │ │ 01:08:45 pikhq: It *does*. 01:08:47 │ CONFIG_INITRAMFS_COMPRESSION_NONE: │ 01:08:50 │ │ 01:08:53 │ Do not compress the built-in initramfs at all. 01:08:55 I have that enabled. 01:09:14 pikhq: I figure I'm doin' it wrong as far as cpio goes. 01:10:04 pikhq: Ah. Is "-H newc" default? 01:10:45 pikhq: Wait. You can just feed the kernel a directory and it'll make a cpio for you. 01:11:29 pikhq: "Warning: unable to open an initial console." 01:11:33 Now what the fuck does THAT mean? 01:12:15 pikhq: Aha. 01:12:26 pikhq: You need /dev/{console,null,tty1,tty2,...} 01:13:02 pikhq: Er. How does one cp without making it copy the contents? 01:13:07 You know, just to cp /dev/console . 01:15:44 pikhq: It fucking boots. 01:15:45 rsync --devices /dev/console . 01:16:10 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 It has a shell. With tab completion. And line editing. 01:16:26 And four devices :P (console, null, tty1, tty2) 01:17:02 pikhq: Aaaand ctrl+alt+fN works. 01:17:07 \o/ 01:17:18 TODO: Put chvt and friends into the image, since I have VTs now. Create more ttys. And then, X11! 01:17:38 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 Ah, and keep ~/flinix/root owned by root:root... 01:18:37 pikhq: This thing boots in about 1 second. 0.2-0.4s if you ignore decompression. 01:18:47 Literally. It says "Decompressing Linux...", pauses for a second, floods output and instantly drops you at a shell. 01:18:48 Glee. 01:19:10 Oh, I should probably enable a framebuffer at some point... although smallX doesn't need it, so maybe not. 01:19:18 Wait, I have init in bin. 01:19:25 aaaargh 01:19:28 R-r-r-removed! 01:19:31 who pastes so much 01:19:48 nooga: what? 01:20:19 Hmm, poweroff doesn't work, neither does reboot; TODO: remove them,. 01:20:23 Halt doesn't do much either. 01:20:47 TODO: Add some Ethernet drivers. 01:21:52 hmm, whoami segfaults with a simple /etc/passwd 01:22:40 * elliott cp .config .config.works 01:25:44 pikhq: Can I just say that modern software is stupidly bloated? 01:25:53 This qemu window feels so *refreshing*. 01:27:39 whoa 01:27:43 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 nooga: ? 01:28:11 something works 01:29:07 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 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 System is 536 kB 01:29:50 Stripped printk out of it. 01:29:56 It still works and boots instantly. 01:30:32 pikhq: Ha, remind me to add /proc sometime so I can use ps. 01:30:42 TODO: Add /proc for ps. See if it's worth it. 01:31:20 Also: Find out why wc is printing totals twice, second time on the second EOF. 01:31:29 Also: Find out why "foo&" isn't working; job control issues? 01:31:52 Oh, it's Ctrl+Z. 01:32:02 what 01:32:11 nooga: I'm assembling a tiny Linux with X11 into one floppy disk. 01:32:22 how much kernel weights? 01:32:36 nooga: Currently it's 536K, kernel with embedded filesystem (it's 480K or so without the filesystem) with 99 programs. 01:32:39 (but a bitch ain't one) 01:32:46 nooga: From the asmutils project, which has craaaazy tiny utilities. 01:32:46 -!- oerjan has quit (Quit: Good night). 01:33:29 nooga: It even has a very-tiny wget. :P 01:33:35 (But no networking support yet; almost.) 01:33:41 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 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 "Error: session already open. Cause: No login cookie found." <-- wtf, seriously? 09:10:30 I got that from a university web system just now 09:10:48 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 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 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 02:21:21 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 02:21:29 that is just so awful 11:18:06 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 oh, oerjan ಠ_ಠ 13:38:21 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 `run allquotes | tail -3 15:32:02 HackEgoooo. 15:32:06 `run echo im here 15:32:21 optimist. 15:32:46 `run echo i'm not here 15:33:19 No output. 15:33:20 No output. 15:33:20 im here 15:33:35 `run allquotes | tail -n 3 15:33:36 268) So it's not exactly trivial. [Later about same thing] It's a trivial C program :P \ 269) "* 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." 15:33:46 `run allquotes | tail -n 2 15:33:47 269) "* 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." ^^^ This bullet-point is my crowning achievement as as a scientist. \ 270) That is the mark of 15:33:47 `run allquotes | tail -n 1 15:33:49 270) That is the mark of Gregor right there. tswett: except that Gregor didn't write that It's still the mark of Gregor. 15:35:36 1 15:35:38 `run allquotes | tail -n 1 15:35:40 270) That is the mark of Gregor right there. tswett: except that Gregor didn't write that It's still the mark of Gregor. 15:35:47 oh, fuck it 15:35:49 `pastequotes 15:35:50 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27030 15:35:58 `pastequotes 15:35:59 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.2865 15:36:09 `help 15:36:11 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 15:37:10 ais523: I think you're right about the qdb, it's terrible 15:37:18 ais523: I'm going to go and delete all the shitty quotes. 15:37:30 If anyone likes them, just look at an older revision :P 15:37:40 `delquote 4 15:37:41 *poof* 15:37:45 `delquote 6 15:37:46 *poof* 15:37:53 `delquote 13 15:37:54 *poof* 15:38:05 `delquote 20 15:38:06 *poof* 15:38:10 `delquote 25 15:38:11 *poof* 15:38:23 `delquote 38 15:38:24 *poof* 15:38:26 `delquote 39 15:38:26 *poof* 15:38:29 `delquote 40 15:38:30 *poof* 15:38:32 `delquote 41 15:38:33 *poof* 15:38:42 `delquote 45 15:38:43 *poof* 15:38:51 `delquote 51 15:38:52 *poof* 15:38:54 `delquote 52 15:38:55 *poof* 15:39:08 `delquote 59 15:39:10 *poof* 15:39:12 `delquote 60 15:39:15 *poof* 15:39:16 I should do this in /msg. 15:39:19 i hope you took into consideration that the numbers change after a deletion 15:39:34 oerjan: whoops :) 15:39:36 `help 15:39:38 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 15:39:38 time to `revert 15:39:56 `revert 157 15:39:57 Done. 15:40:04 ok, i'll do it properly this time 15:50:40 124) Note that quote number 124 is not actually true. 15:50:45 something went wrong there :D 15:50:50 oh, everything got renumbered when i removed one quote 15:50:51 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 Okay, I hereby declare that the average quality of quotes in the database is Pretty Good. 16:06:30 Wait, never mind, I just made a MISTAKE. 16:07:01 Never mind, it resolved itself. 16:07:02 `quote 16:07:03 99) Ah, vulva. What is that, anyway? 16:07:12 `quote 16:07:13 `quote 16:07:13 `quote 16:07:14 `quote 16:07:26 76) Warrigal: what do you mean by 21? 16:07:29 154) 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 230) Thanks to nooga for constructive criticism, his ideas and being a constant annoyance. --http://theendisnear.no-ip.info/ 16:07:29 80) 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 AKSFJKER 16:42:55 WHY ARE THERE NO TINY VI CLONES 16:43:05 elliott: how is your very damn small linux? 16:43:16 nooga: in need of a vi clone :) 16:43:31 elliott, is this Kitten? 16:43:31 elliott: you will have to install TECO instead *MWAHAHAHA* 16:43:37 isn't cat and sed enough? :D 16:43:40 Phantom_Hoover: No way! This is The Insane Flinix. 16:43:59 oerjan: TECO! 16:44:07 -!- Phantom_Hoover_ has joined. 16:44:08 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 oerjan: I love TECO, man! 16:44:17 I've edited with it. 16:44:24 Maybe I'll try Emacs; that's gotta be smaller, right? 16:44:30 Or write my ow- *GAK!* 16:44:38 The anti-NIH gods have cast me away from my own life. 16:44:40 elliott: http://texteditors.org/cgi-bin/wiki.pl?ViFamily 16:44:57 http://scientopia.org/blogs/goodmath/2010/11/30/the-glorious-horror-of-teco/ 16:44:59 http://xvi.sourceforge.net/ seems to be the smallest, from their little table there. 16:45:02 use ed 16:45:10 oerjan: "scientopia"? they renamed it again? 16:45:12 or em 16:45:16 oerjan: what fucking kind of name is scientopia :) 16:45:29 no wait scienceblogs is still there 16:45:41 ah, he moved 16:46:08 lol, scienceblogs gave pepsico a blog 16:46:26 anyway the problem with xvi is that I need termcap and termcap is ancient vintage software :) 16:46:29 and uh 16:46:34 it's still like 16:46:38 gonna be 13K for it and all the supported files 16:46:41 but i guess it'll compress well 16:46:57 -!- ais523 has joined. 16:46:57 -!- nopseudoidea has quit (Quit: Quitte). 16:47:07 hi ais523 16:47:28 elliott: wait you are _anti-NIH_ now? 16:47:32 oerjan: no 16:47:36 oerjan: but the gods are 16:47:47 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 16:48:05 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 hmph libtermcap.a is 40K that's huge. 16:48:40 oerjan: WTF I THOUGHT OF THAT YESTERDAY 16:48:46 fuck you, synchronicitician 16:48:51 *MWAHAHAHA* 16:49:12 oh it had -g 16:49:14 -!- nooga has quit (Read error: Operation timed out). 16:49:15 and i've been thinking of it for a while too :D 16:49:19 10K now, and I'll sstrip the resulting xvi 16:49:27 hi elliott 16:49:46 also, do you really need support for more than one terminal? 16:49:53 ais523: no, but xvi uses termcap 16:49:56 so I have to have the library 16:50:00 patch it so it doesn't 16:50:02 and I figure the real termcap is smaller than terminfo's emulation of it 16:50:12 ais523: i'm allergic to vt100 codes 16:50:18 they really aren't too difficult 16:50:21 ais523: by the way, I cleaned out most of the crap from the quotes file 16:50:30 I know they aren't difficult, I just don't wannaaaa :) 16:50:34 `pastequotes 16:50:48 HackEgo is a bit slow. 16:50:54 note: most of, I make no guarantees as to the quality of the quotes file :) 16:50:56 and I refuse to remove any fungot quote 16:51:00 -!- nooga has joined. 16:51:12 he deserves a lower threshold for what constitutes a good quote, since he did it without a brain 16:51:16 s/he/it/g 16:51:21 (sorry fungot) 16:51:26 oh, RIP fungot :P 16:51:30 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.30285 16:52:02 -rwxr-xr-x 1 elliott elliott 127K Dec 7 16:51 xvi 16:52:08 I can /not/ afford to spend 127K on an editor. 16:52:18 hmm, levee looks the smallest then 16:52:23 even so, it's 37K on Mastodon 16:52:24 -!- bsmntbombdood has quit (Remote host closed the connection). 16:52:24 elliott: http://texteditors.org/cgi-bin/wiki.pl?TinyEditors 16:52:37 elliott: i just wanted to say that you should try levee 16:53:05 nooga: I'd already thought of levee, being the official David Parsons Stalker. 16:53:06 elliott: most of the old DOS editors were smaller than 64KiB 16:53:11 so they fit in a .COM file 16:53:16 ais523: they ran on DOS, though 16:53:18 not quite the same thing as linux :) 16:53:25 sheesh, if I can't get a really tiny editor I'll write my own... in asm! 16:53:30 maybe asmutils will accept it 16:53:50 what features would you want? 16:54:17 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 (I don't consider Notepad a usable editor as it lacks the last feature there) 16:55:01 elliott: e3 ? 16:55:11 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 ais523: I am not sure Flinix actually has a *use* :) 16:55:30 ais523: but, uh, features I'd want: 16:55:38 the basic : commands like w, o, q 16:55:48 insert mode 16:55:49 oh, I forgot about saving and quitting 16:55:50 http://freshmeat.net/projects/virus/ 16:55:57 you could quit via SIGINT, but there should be a way to save 16:56:07 and I said "inserting letters", overwriting them would be bloat 16:56:07 the commands "x", "d", "^", "$", "a", "i" 16:56:15 the latter two entering insert mode 16:56:19 and finally, the command "c" for overwrite 16:56:25 plus the vi-style numerical prefixes of those 16:56:34 well, numerical and direction 16:56:40 ad y and p 16:56:45 elliott: I was trying to stay general, not assuming vi-like 16:56:47 nooga: sure, sure, if you wanna be bloaty 16:56:51 ais523: well, I want a vi-like editor :) 16:56:53 ais523: posix specifies it! 16:56:57 nooga: aha 16:57:14 I'll try that after levee 16:57:31 elliott: what about this for an idea: you can move the movement commands to arrow keys and home/end/etc 16:57:38 that way, you wouldn't have the overhead of entering and leaving insert mode 16:57:48 ais523: congratulations, you just invented emacs 16:57:56 ais523: (and how do you do :? oh wait, I know, Alt+X!) 16:58:02 genius! and we can put Lisp in it, too 16:58:07 (fun fact: original ex had lisp) 16:58:21 elliott: I'm aware of the irony :) 16:58:43 ais523: I actually think insert mode is less code overhead 16:58:50 ais523: because arrow keys etc. come as multiple characters 16:58:53 so you have to maintain state /anyway/ 16:59:19 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 ugh, you stupid configure script 17:00:26 but I'm not a configure script! 17:00:40 ais523: i'm referring to levee's 17:01:00 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 solution: wrapper script! dietpcc! 17:01:16 just like pcc, but with fewer calories! 17:02:47 Why can't you say CC="diet -Os pcc"? 17:03:11 Oh 17:03:14 Only takes CC as a path. 17:03:17 elliott: bundle hedgehog lisp in flinix 17:03:21 That's pretty bizarre. 17:03:50 Gregor: It calls some C program that uses exec* of some kind. 17:03:51 So yeah. 17:03:54 (I think.) 17:03:58 (Who knows, this is just a guess.) 17:04:04 find.o: In function `omatch': 17:04:04 (.text+0x1ad): undefined reference to `toupper' 17:04:04 find.o: In function `omatch': 17:04:04 (.text+0x1bc): undefined reference to `toupper' 17:04:05 LAL WAT 17:04:05 LAL WAT 17:04:09 *no duplicate line 17:08:15 -rwxr-xr-x 1 elliott elliott 59531 Dec 7 17:07 lev 17:08:18 huge and requires termcap too 17:08:26 I'll try virus 17:10:49 -rwxr-xr-x 1 elliott elliott 54075 Dec 7 17:10 virus 17:10:59 bullshit. 17:12:10 -rwxr-xr-x 1 elliott elliott 37691 Dec 7 17:11 virus 17:12:11 way too big 17:12:19 wtf 17:12:27 they've said it's tiny 17:12:35 nooga: yeah and that's with every feature disabled, sstrip'd, compiled with pcc, and linked with dietlibc 17:12:39 tiny my ass 17:12:49 quick, someone name my vi clone with a word involving "vi" 17:12:54 ais523! quick! bring out the puns! 17:14:07 elliott, vimsy? 17:14:16 (yes horrible pun) 17:14:18 Vorpal: that is not a word 17:14:24 elliott, it is almost whimsy 17:16:05 viscous, vicious, vixen, villain, vicissitude, vigil, vine, violator, vitriolic 17:16:09 nooga: pick one 17:16:58 viaduct 17:17:04 Viscous. 17:17:47 ^run echo $(( RANDOM % 10 )) 17:17:53 no, it should be a thing-that-does i think 17:17:56 e.g. villain, violator 17:18:05 violator, i'll go with violator 17:18:08 ^help 17:18:12 Vorpal: fail 17:18:12 uh 17:18:16 you fail forever 17:18:18 elliott, did I mix up the bots? 17:18:19 oh yes 17:18:24 I did mix them up 17:18:31 `run echo $(( RANDOM % 10 )) 17:18:46 `help 17:18:55 speaking of which, where is fungot? 17:18:58 fizzie, ! 17:19:03 fizzie, bring back fungot 17:19:14 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 17:19:17 1 17:19:40 so what's the stupid set of ioctls you need to get a raw terminal 17:19:50 elliott, you mean to implement one or? 17:20:16 Vorpal: no, to put the terminal into one 17:20:41 elliott, uh what are you trying to do exactly. 17:20:46 (or approx) 17:20:59 elliott: vixen 17:21:01 sounds nice 17:21:03 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 nooga: yes but all the furries will use it. 17:21:39 elliott, I have done some. Written a tool that emulated a terminal to be able to send a password to sudo 17:21:48 or was it su? Was like 3 years ago 17:22:18 http://www.ultravixens.net/ uh, the domain seems to be reserved 17:22:27 -!- nopseudoidea has joined. 17:22:39 elliott: oh come on, the SADOL interpreter is called BDSM 17:23:09 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 Vorpal: yes, it's doing what termios does 17:23:27 but termios is ~big 17:23:34 so i'm going to do it with ioctls 17:23:38 ah look, some nice code I can rip off! 17:24:04 elliott, so wait, Kitten is minimalistic now? 17:24:14 elliott, hm. termios big? 17:24:24 Phantom_Hoover_: THIS IS FLINIX NOT KITTEN I TOLD YOU THAT 17:24:34 Ah. 17:24:40 elliott, but why? the code is only in one copy on the disk? 17:24:57 I did disconnect just after asking, so I didn't know... 17:25:00 Phantom_Hoover_: ah 17:25:04 Vorpal: because, like every abstraction, it uses more code than doing it directly 17:25:19 Phantom_Hoover: No way! This is The Insane Flinix. 17:25:20 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 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 elliott, after all, aren't you using a deduplicating filesystem? 17:26:16 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 you realise this is flinix? 17:26:22 no, there will not be any other app that uses it 17:26:27 because there is not enough space on a floppy for that. 17:26:34 elliott, flinix? 17:26:36 what is that 17:26:44 Vorpal: 17:26:45 Phantom_Hoover: No way! This is The Insane Flinix. 17:26:45 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, 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 BUY A CLIENT WITH SCROLLBACK ALREADY 17:26:54 >_< 17:27:03 why 17:27:10 (as in why make that distro) 17:27:11 why what 17:27:14 because i want to. 17:27:24 Vorpal: why did you make cfunge 17:27:56 elliott, because I wanted to code something and was bored, and it looked like an interesting thing to code. 17:28:25 Vorpal: so, in short: "because i wanted to." 17:28:31 elliott, indeed 17:28:41 elliott, but I though you were busy with kitten? 17:29:54 Vorpal: pending on coreutils 17:31:17 elliott, ah, you took a pause from writing that? 17:31:40 elliott, also which X will you fit on that floppy 17:31:48 not xorg I presume 17:32:59 Vorpal: smallX 17:33:09 and yes, this is my way of avoiding the infinite tedium of writing a coreutils 17:33:26 Vorpal: smallX is this server that ran on 386s with 4 megs of ram as part of Small Linux 17:33:28 libc5 based 17:33:35 I just need to find a tarball on an ftp server that still exists :) 17:33:51 it has two servers, mono (for Hercules mono cards and the like) and 16-colour VGA 17:33:55 and its own tiny Xlib 17:34:05 should suffice to run a very small terminal program at least 17:36:07 -!- Quadrescence has quit (Ping timeout: 245 seconds). 17:36:41 -rwxr-xr-x 1 elliott elliott 1639 Dec 7 17:36 vi 17:36:50 it goes into raw mode, reads one character, puts the mode back, and exits :) 17:36:55 in C for now 17:38:20 huh 17:38:42 good luck with writing that 17:39:04 elliott, can't you reuse code for some tools from heirloom? 17:39:17 Vorpal: i looked at heirloom code; it may be Olde Tymes but it sure isn't lean 17:39:27 Vorpal: in fact i'd say it's about as ugly as BSD core utils. maybe more 17:39:36 cat has like 5 flags :) 17:39:44 also i don't /think/ it has mount, not sure 17:39:52 elliott: http://hedgehog.oliotalo.fi/ bundle this 17:39:55 elliott, saves on binary size to merge tools ;P 17:40:03 nooga: what lang is it implemented in? C? 17:40:06 ie. your goals are somewhat conflicting 17:40:11 Vorpal: I do do that 17:40:22 Vorpal: anyway it's more interface bloat i care about, it's just for fun, the size thing 17:40:29 Vorpal: asmutils whoop me thoroughly in the ass as far as size goes 17:40:32 (and i'm using them in flinix) 17:40:46 elliott: who cares, it compiles to 20kB 17:41:13 elliott, why not use busybox or asmutils then? 17:41:30 elliott: and yes, it's in C 17:41:33 Vorpal: busybox is huge 17:41:39 nooga: 20K? pah, I can get it less 17:42:01 nooga: what is the shared secret for :p 17:42:43 but it's featureful 17:43:06 and proveides a damn small scripting language for flinix 17:44:06 nooga: unfortunately, flinix is too useless to need one 17:44:10 nooga: what executable is 20K for you? 17:45:45 oh, the interpreter 17:45:53 nooga: hhi, right 17:46:07 -rwxr-xr-x 1 elliott elliott 30067 Dec 7 17:45 hhi 17:46:11 nooga: ka-pow! 17:46:32 UNFORTUNATELY, I would rather spend the bytes on a C compiler. 17:46:39 (anyone know a reaaaaaaaaally tiny libc? :P) 17:48:26 http://www.fefe.de/dietlibc/ 17:49:13 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 nooga: dude, i'm well aware of dietlibc 17:49:58 seeing as I've patched it 17:50:00 it's still pretty big 17:50:07 like one meg libc.a or so with stuff enabled 17:50:11 maybe a few hundred K with stuff disabled 17:50:20 I'm looking for 40K, 50K or so 17:50:23 the one in asmutils is 20K 17:50:25 or less, I forget 17:50:28 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 but i have a feeling it does not implement much :) 17:50:52 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 elliott, wrong OS :P 17:52:06 when will be the first release? 17:52:49 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 ;P 17:52:54 bbl an hour or so 17:53:11 Vorpal: i don't even use printf 17:53:16 nooga: as soon as I get X working 17:53:29 ...somehow, my loop supporting any int is smaller than a conditional just supporting one digit 17:53:37 Vorpal: (even in my real programs) 17:53:46 wait, no it isn't, it's quite a bit bigger like that 17:56:28 then what do you use instead of printf() ? 17:57:20 nooga: write 17:57:27 usually 17:58:23 then how to you print numbers? 17:59:42 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 http://www.fefe.de/libowfat/ 17:59:56 although it's gpl 18:00:03 so i'd probably use http://www.fefe.de/djb/ directly 18:05:06 nooga: ok e3 is tiny 18:05:10 but irritating interface 18:06:52 ok, it needs sed 18:07:23 ah, e3 can emulate vi 18:11:15 -!- nopseudoidea has quit (Quit: Quitte). 18:13:00 elliott, how are you calling the syscalls? 18:13:15 Phantom_Hoover_: err, me? in what? 18:13:33 In the code you're writing, presumably sans a libc. 18:13:39 what code? 18:13:50 For Flinix? 18:13:57 -!- nooga has quit (Ping timeout: 240 seconds). 18:14:01 What code? 18:14:12 So you've not written any code? 18:14:29 Not yet! 18:15:06 -!- nooga has joined. 18:15:53 How do you plan to call them? 18:15:57 damn 18:16:07 my internet connection is flaky 18:16:25 Phantom_Hoover_: I don't plan to write any code. 18:16:32 So, Julian Assange arrested in this piece of shit nation, denied bail. 18:16:40 On the rape "charges", lawl. 18:16:51 There are nations that aren't complying? 18:17:04 Ecuador has caved in, Sweden was helping all along... 18:17:16 e3 seems nice 18:17:25 nooga: yeah you can make it emulate vi by default 18:18:29 http://piumarta.com/software/peg/ how awesome 18:18:30 -rw-r--r-- 1 elliott elliott 615K Dec 7 18:15 dietlibc.a 18:18:32 with ~everything disabled 18:18:40 nooga: you didn't know about PEGs? 18:18:45 -!- MigoMipo_ has joined. 18:19:01 i learnt about it when playing with tinyrb 18:19:22 so does anyone know about a REALLY tiny libc :) 18:19:45 uclibc ? 18:21:21 -!- MigoMipo has quit (Ping timeout: 240 seconds). 18:28:15 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 nooga: uClibc is huge 18:29:08 compared to dietlibc 18:29:16 oh 18:29:24 then i don't have an idea 18:34:47 .suicide:db__n,"Suicide is painless...", EOL 18:34:47 .stop:db__n,"You say STOP and I say go...", EOL 18:34:47 .nosuchpiddb"Child is 0xDEAD. I'm sorry", __n, EOL 18:44:47 System is 670 kB 18:44:52 Dude, I bloated my system with ethernet drivers. 18:48:38 -!- Quadrescence has joined. 18:51:46 15:37:38 and it is imperative that I do not use facebook 18:51:51 Vorpal will literally explode if he uses facebook. 18:51:55 Literally. 18:53:18 15:46:26 Gregor-W, use your own colour matcher! 18:53:18 15:46:32 AnMaster: I do. Inverted. 18:53:26 Gregor: Didn't you write it to *avoid* doing that kind of stuff? :p 18:54:45 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 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 elliott, 1) when was that quote from? 18:57:43 2) Vorpal will literally explode if he uses facebook. <-- duh no. Implode 18:57:45 10.07.10 18:57:52 explode if I use facebook? How silly 18:57:58 After trying to comprehend: 18:58:01 everyone knows it is implosion 18:58:02 `quote MY PHONE 18:58:07 which was said on that day. 18:58:11 (C'mon, HackEgo! You can do it!) 18:58:14 XD 18:58:16 (I know running grep is hard. But c'mon!) 18:58:23 (I know, I know, I blame GNU bloat too.) 18:58:29 `uptime 18:58:35 (But you're on Debian; there's no escape. (Maybe I should port Plash to Flinix.)) 18:58:39 Vorpal: don't give it MORE things to think about! 18:58:50 elliott, uptime shouldn't be complex 18:58:51 162) anmaster gonna give him a birthday bj? IF ONLY I COULD FIND MY PHONE 18:58:51 18:58:27 up 4 days, 22:16, 0 users, load average: 1.55, 1.09, 0.74 18:59:10 elliott, that looks rather like "different contexts" 18:59:26 There were messages in-between :P 18:59:31 elliott, then it is cheating 18:59:39 Yes it is, but Gregor added it and it's his bot. 19:00:11 elliott, I mean, it is similar to finding hidden messages in the bible (or any other large book) 19:00:23 `quote 19:00:24 64) So... copyright doesn't really apply to God. 19:00:35 elliott, I'm sure I could create something amusing by picking lines you said over the years... 19:00:35 Vorpal: to be fair, you were also adding the relevant person's birthday to your phone at the time. 19:00:41 so I think any mocking is perfectly okay 19:00:46 elliott, oh? huh 19:01:23 TO THE LOGS 19:01:25 elliott, also: I use my phone calendar for everything that a calendar is useful for basically. 19:01:34 Vorpal: you never did give him his birthday bj though 19:02:11 elliott, I don't do that kind of stuff :P 19:02:12 `rm bin/d 19:02:13 No output. 19:02:18 elliott, bin/d ? 19:02:19 Vorpal: But you're fine with sodomy? 19:02:27 X-D 19:02:28 d was my script to remove a quote from my "q" file. 19:02:35 It just did grep -v "^$1)" 19:02:40 so I could use the same numbers without refreshing 19:02:46 (with the main quotes file numbers rejiggle if you remove quotes) 19:02:49 elliott, only if it enhances the joke :P 19:02:59 Which is, admittedly, not the best idea, but it's more elegant to implement :P 19:03:13 Vorpal: But you're fine with sodomy? Which is, admittedly, not the best idea, but it's more elegant to implement :P 19:03:15 I prefer Gomorrhing. 19:03:20 see what context (lack of) can do 19:03:26 Vorpal: Not much at all? :P 19:03:37 -!- cheater99 has quit (Ping timeout: 245 seconds). 19:03:38 elliott, indeed it is rather confusing 19:03:39 Sodomy: Definitely elegant. 19:03:57 v1.0/ 20-Mar-2003 22:58 - 19:04:03 That sounds like it could be smaller than 2.6.36! 19:04:08 .1! 19:04:19 It just did grep -v "^$1)" <-- you should use sed's d command 19:04:35 Vorpal: But what if the number had a / in it??? 19:04:40 linux-1.0.tar.bz2 13-Mar-1994 00:00 1.0M 19:04:42 LOL ANACHRONISM 19:04:50 elliott, doesn't it use N? 19:04:56 elliott, rather than R 19:05:01 err 19:05:02 Q 19:05:04 I meant 19:05:07 Vorpal: what 19:05:19 oh, i see what you mean but you're wrong 19:05:22 (Q because, "Rational numbers" starts with a Q) 19:05:24 Vorpal: the whole point is that "60" is always the same line 19:05:35 oh, wait 19:05:37 never mind 19:05:41 i misinterpreted your misinterpretation 19:05:45 elliott, XD 19:05:55 WHAT LINUX 1.0 DIDN'T USE MENUCONFIG HOW SILLY EH 19:06:11 Oh god it's going to prompt me about EVERY DAMN THING. 19:06:16 ifdef CONFIG_M486 19:06:16 CFLAGS := $(CFLAGS) -m486 19:06:16 else 19:06:16 CFLAGS := $(CFLAGS) -m386 19:06:16 endif 19:06:24 elliott, presumably it only started that some time after it became a PITA to not have it 19:06:58 ...Wow. I just measured Flinix's memory usage after a cold boot. 19:07:00 elliott, does it use plain make config? 19:07:06 Used: 1132 19:07:07 Shared: 0 19:07:09 Buffers: 0 19:07:11 (It's all a ramfs :P) 19:07:15 elliott, /proc/meminfo? 19:07:23 elliott, or what 19:07:27 free(1) 19:07:39 TODO: Figure out why /etc/rc isn't working. 19:07:42 * elliott mounts /proc manually 19:07:50 elliott, weird output format for free(1) 19:08:03 Oh, TODO: Use -t for mount in etc/rc... 19:08:06 Vorpal: That was my retyping. 19:08:08 ah 19:08:23 elliott, you could add /proc to fstab 19:08:28 but I guess that would waste space 19:08:32 Vorpal: I don't do mount -a at boot. 19:08:34 elliott, are you using a compressed fs? 19:08:49 Vorpal: Yes and no. It's an initramfs compiled into the kernel, and the kernel is LZMA'd. 19:08:54 ah 19:08:56 So yes on floppy, no in RAM. 19:09:01 It's like 70K anyway :P 19:09:03 elliott, how does it compare to squashfs? 19:09:11 or does squashfs has too much overhead? 19:09:15 Vorpal: How does LZMA compare to anything --> LZMA beats it. 19:09:18 Vorpal: Squashfs probably requires the block layer. 19:09:26 haha 19:09:36 Vorpal: And I would have to have floppy support since you can't embed normal filesystems into the kernel. 19:09:47 Vorpal: Remember, initramfs is literally just a .cpio that gets unpacked into a ramfs in memory :P 19:10:12 Guh, why isn't /proc mounting. 19:10:24 (Also TODO: Figure out how the fuck to use asmutils less :P) 19:10:26 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 Vorpal: "smart"er than cpio? 19:10:53 elliott, does cpio do block deduplication? 19:11:05 Vorpal: LZMA does all the deduplication you need :P 19:11:07 sure it isn't useful at small sizes since then the compressing will take care of that 19:11:27 elliott, afaik lzma has a window like most other compression algorithms 19:11:48 Vorpal: Anyway, with squashfs I'd need it to be able to read the floppy to read it. 19:11:48 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 And the floppy would need formatting. 19:11:55 elliott, ah 19:11:57 At which point I could just use any filesystem on the floppy and mount it as /. 19:12:12 Vorpal: To have it actually useful, I'd have to have a bloated bootloader which can read filesystems :P 19:12:23 Vorpal: My bootloader = The very core of FreeDOS + LINLD in AUTOEXEC.BAT. 19:12:26 elliott, or why not place it inside the initramfs ;) 19:12:29 (Well, my bootloader will-be.) 19:12:34 Vorpal: Then I don't need an FS :P 19:12:47 elliott, what, that is a waste. Why not just a hand written boot sector 19:13:21 elliott, surely that will be less wasteful 19:13:28 Vorpal: You try loading Linux in 512 bytes :P 19:13:33 It'll be smaller than lilo, probably. 19:13:56 elliott, well you could use another sector or two. Still smaller than DOS + linld probably 19:14:25 elliott, just place the kernel starting in the sector after the bootloader 19:14:36 (and adjust offsets as needed) 19:14:40 Vorpal: Patches welcome. 19:14:55 elliott, well it would not need a patch against linux. Just a hand written boot loader 19:15:15 elliott, what does linux need to load? the kernel image at a specific memory address. Anything else? 19:15:19 Vorpal: Boot sectors welcome. 19:15:34 elliott, I'm not insane enough to write real mode code 19:15:42 Vorpal: i suspect Q is for "quotient" (or whatever the german equivalent is) 19:15:49 quiet_cmd_lzma = LZMA $@ 19:15:49 cmd_lzma = (cat $(filter-out FORCE,$^) | \ 19:15:49 lzma -9 && $(call size_append, $(filter-out FORCE,$^))) > $@ || \ 19:15:49 (rm -f $@ ; false) 19:15:52 I THINK I CAN DO BETTER THAN -9 19:15:57 I have never done so. IIRC you have. Thus you are more likely to succeed at that 19:16:05 hey didn't you write a boot sector some time ago? 19:16:11 WHY DOES LZMA NOT HAVE A --CRAZY 19:16:16 Vorpal: Yes, but it wouldn't load Linux ... 19:16:20 elliott, -9 isn't always best iirc 19:16:28 elliott, for small files especially 19:16:40 I'll bet elliott mounts a case-insensitive filesystem just so he can scream his commands. 19:16:42 try 1-9 both with and without -e 19:16:44 Vorpal: This is lzma not xz fwiw. 19:16:46 Gregor: I DO 19:16:49 elliott, see which one wins 19:16:55 elliott, oh, then that might make a difference 19:17:00 lzma: invalid option -- 'e' 19:17:13 elliott, yeah I don't remember if lzma had the same recommendation 19:17:23 I'll try "xz --format=lzma -9 -e". 19:17:32 System is 536 kB 19:17:34 to beat. 19:18:11 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 System is 670 kB 19:18:16 xz: ultimate failure. 19:18:19 or does it translate it somehow? 19:18:19 -!- cheater99 has joined. 19:18:33 elliott, -9 isn't best with xz for small files iirc 19:18:52 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 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 Wow, old Linux config was hateful. It doesn't let you pipe yes to it. 19:20:18 HATEFUL 19:20:23 # This script is used to configure the linux kernel. 19:20:24 # 19:20:24 # It was inspired by the challenge in the original Configure script 19:20:24 # to ``do something better'', combined with the actual need to ``do 19:20:24 # something better'' because the old configure script wasn't flexible 19:20:24 # enough. 19:20:25 elliott, you might be better off with a 2.4 or 2.2 kernel 19:20:26 # 19:20:27 # Please send comments / questions / bug fixes to raymondc@microsoft.com. 19:20:30 # Please send comments / questions / bug fixes to raymondc@microsoft.com. 19:20:32 # Please send comments / questions / bug fixes to raymondc@microsoft.com. 19:20:34 # Please send comments / questions / bug fixes to raymondc@microsoft.com. 19:20:36 :-D 19:20:41 elliott, whaaaaaat 19:20:51 Microsoft: IN BED WITH LINUX, CIRCA 1994. 19:21:00 elliott, you mean it isn't a bad joke? 19:21:04 Nope! 19:21:06 function readln () { 19:21:06 echo -n "$1" 19:21:06 IFS='@' read ans [ -z "$ans" ] && ans=$2 19:21:06 } 19:21:11 OH NO YOU DI'INT 19:21:12 Wait. 19:21:13 Raymondc... 19:21:15 Raymond Chen? 19:21:32 Yes. 19:21:35 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 elliott, who is that 19:21:40 It's someone called Raymond Chen and it MIGHT JUST BE THAT RAYMOND CHEN. 19:21:49 Vorpal: http://blogs.msdn.com/b/oldnewthing/ 19:22:03 Famous blogger on the awful reasons why Windows is so awful. 19:22:19 elliott, at msdn? 19:22:22 err 19:22:29 Vorpal: Well, he doesn't consider it awful :P 19:22:35 But it's all the gory details of the gory details. 19:23:10 Anyway 19:23:13 IFS='@' read ans Discuss the hateful. 19:23:31 " elliott, :D 19:24:43 elliott, anyway that thing won't have initrd 19:24:49 probably won't 19:24:53 Vorpal: No, but it'll probably be smaller even with floppy support :P 19:25:08 elliott, augh at the top post of http://notch.tumblr.com/ 19:26:18 Vorpal: Will the endless bugs in Minecraft ever be fixed instead of terrible puns being posted to the blog? Notch-ance! 19:26:22 Notch-ance at all. 19:27:52 as86 -0 -a -o boot/bootsect.o boot/bootsect.s 19:27:53 make: as86: Command not found 19:27:57 HATEFUL KERNEL 19:28:01 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 Oh joy, it doesn't look like gas syntax. 19:28:26 elliott, does it look like intel? If so I'm sad. It should use an exotic third option 19:28:35 It looks like AT&T but different :P 19:28:41 elliott, oh yay 19:28:53 elliott, different how? 19:29:06 * Vorpal invents a screwy asm syntax 19:29:12 infix asm! 19:29:16 Description: 16-bit x86 assembler and loader 19:29:16 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 thar we go 19:29:23 Vorpal: Numbers start with # :P 19:29:27 elliott, "target mov source" or "source mov target" 19:29:30 which is best 19:29:38 Vorpal: target := source 19:29:39 or 19:29:41 source -> target 19:29:44 elliott, it should use mov 19:29:44 or 19:29:53 sou mov(target) rce 19:29:55 elliott, I want infix asm 19:30:00 consider 19:30:08 e mov(ebx) ax 19:30:14 see how the prefix is neatly separated from the base register 19:30:17 elliott, seriously this is intended to be screwy, obscure and confusing :P 19:30:22 it is not intended to be sane 19:30:23 THAT IS SCREWY, OBSCURE AND CONFUSING 19:30:25 true 19:30:28 hm 19:30:29 e mov(ebx) ax 19:30:30 that's the same as 19:30:32 mov eax, ebx 19:30:33 in intel 19:30:37 or 19:30:38 mov ebx, eax 19:30:40 pick whichever :P 19:30:41 hah 19:30:47 in 16-bit mode you'd do 19:30:51 a mov(bx) x 19:31:04 as -c -o boot/head.o boot/head.s 19:31:04 as: unrecognized option '-c' 19:31:05 elliott, it should use different register names 19:31:05 INFERNAL MACHINE 19:31:06 hm 19:31:25 boot/head.S: Assembler messages: 19:31:25 boot/head.S:64: Error: suffix or operands invalid for `push' 19:31:26 boot/head.S:65: Error: suffix or operands invalid for `popf' 19:31:26 boot/head.S:99: Error: suffix or operands invalid for `pushf' 19:31:27 DIE DIE DIE 19:31:49 Oh, fuck this shit, I'll try Linux 2.0. 19:32:12 (a,b) mov ex 19:32:15 elliott, what about that 19:32:24 for eax to ebx 19:32:37 Vorpal: Yes, except not ex; have an infix operand size modifier. 19:32:48 (a,b) [32] mov 19:32:50 hm 19:33:02 elliott, lets rename the registers 19:33:06 Vorpal: And also have blocks of commands, so that instead of "bits 32", you do: 19:33:10 [32] { ... } 19:33:26 (1,2) [5] mov 19:33:28 OK, Linux 2.0.1, if you're bloated I'll fuck your shit up. 19:33:34 elliott, since 2^5 = 32 19:33:39 Your shit... will be maximally fucked up. 19:33:54 Vorpal: But that's not what the operation does! Instead, that should be 19:33:54 elliott, you aren't persistent enoigh 19:33:57 (1,2) mov 19:33:57 enough* 19:34:02 Vorpal: But "mov ax, bx" would be 19:34:12 (1,2) mov &1111111111111111 19:34:19 Vorpal: Because it modifies only the lower 16 bits. 19:34:22 elliott, :D 19:34:28 elliott, why the &? 19:34:33 what does it signify 19:34:35 Vorpal: Because it's like bitwise and if you squint. 19:35:03 Vorpal: WAIT 19:35:05 ah hm 19:35:09 Vorpal: All numbers should be trinary. 19:35:34 Vorpal: (1,2) mov &10022220020 19:35:35 elliott, there is a fine line between "screwy" and "malbolge86" 19:35:39 I think you just crossed it 19:35:41 Vorpal: Yes. Let's cross it! 19:35:44 PLuggable ASsembler MAcros 19:35:59 elliott, so what about base pointer and indexing? 19:36:14 Vorpal: Those are done as virtual instructions. 19:36:18 elliott, also they should be balanced ternary gray code 19:36:22 for maximum screwiness 19:36:27 Vorpal: For instance, what is, in Intel, "mov [ebx], [eax+2]" 19:36:32 would be, in this, let me think... 19:36:33 Ah yes. 19:36:47 (1,2) incv 19:36:49 (2,1) mov 19:36:54 That is: 19:36:58 you can't have two memory operands in an instruction like that 19:37:07 olsner: Okay, okay, okay, fine. 19:37:10 Vorpal: Okay, this: 19:37:12 mov ebx, [eax+2] 19:37:14 would look like this: 19:37:23 (2,1) incv 19:37:27 (1) deaddrv 19:37:27 elliott, did you just increment eax by two first? 19:37:28 hm 19:37:29 (2,1) mov 19:37:32 Vorpal: VIRTUALLY. 19:37:41 elliott, deaddrv? 19:37:47 Vorpal: "Increment, virtually, register 1, by 2. Deaddress, virtually, register 1. Move register 1 to register 2." 19:37:54 ah 19:37:55 It's (2,1) incv because we do everything in the most illogical order. 19:37:59 elliott, what about: mov eax, [eax+2] 19:38:00 ("incv 2, eax") 19:38:03 (not sure that is valid even) 19:38:12 Vorpal: Easy! 19:38:14 elliott: which kernel version do you have now? 19:38:25 (-1,1) movv 19:38:28 (2,1) incv 19:38:36 wait wait 19:38:36 elliott, whaat? 19:38:42 Vorpal: Let me try that again, all on one line. 19:38:57 Vorpal: of course you can load into a register you use for the address 19:39:01 (-1,1) movv; (2,-1) incv; (-1) deaddrv; (1,-1) mov 19:39:15 olsner, oh damn intel 19:39:16 Vorpal: Registers not part of the architecture work in virtual instructions, since virtual instructions don't actually translate to instructions! 19:39:18 I meant the other way around 19:39:27 SOurce Language Independent Disassembler 19:39:31 Vorpal: So the virtual mapping ends up being: 19:39:32 move eax -> eax+2 19:39:35 is what I meant 19:39:40 Vorpal: Oh. 19:39:49 Vorpal: Well, no, you can't :P 19:39:51 (-1,1) movv; (2,-1) incv; (-1) deaddrv; (1,-1) mov 19:39:53 Dissecting this: 19:39:59 elliott, can you in normal asm? 19:40:00 The movv creates the map {-1 => 1}. 19:40:06 i.e., virtual register -1 is real register 1. 19:40:13 Then the invc turns it into {-1 => 1+2}. 19:40:19 Then the deaddrv turns it into {-1 => [1+2]}. 19:40:26 Then the mov substitutes [1+2] for -1. 19:40:29 heh 19:40:32 Vorpal: no, you can't 19:40:38 but I translated what your snippet means in Intel correctly :P 19:40:39 hmm 19:40:40 elliott, what a pity 19:40:42 "v" is so normal 19:40:46 I have a better idea 19:40:53 virtual instructions use [] instead of () 19:41:00 BUT! 19:41:04 Only on the side that's virtual. 19:41:16 elliott, what about rotating the bits of the register numbers one step for each instruction? 19:41:17 [-1,1) mov; (2,-1] inc; [-1] deaddr; (1,-1] mov 19:41:20 wtf does "virtual" mean? 19:41:28 olsner: simple: the calculation is done by the assembler 19:41:42 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 wait 19:41:48 even better 19:41:49 olsner: and it then imaginarily deaddresses it 19:41:57 olsner: so when you use -1, it replaces it with [eax+2] 19:41:57 Language Independent QUerying and Interactive Debugger 19:41:58 rotate it by the hash for the instruction in big endian 19:42:01 or middle endian 19:42:01 Vorpal: no :P 19:42:14 elliott, hey malbolge86 19:42:18 elliott, it would be fitting 19:42:37 oerjan: Creatively Retarded & Addled Computing Kompiler 19:42:57 As opposed to a non-computed "k"ompiler. 19:43:03 Gregor: SHUT UP 19:43:03 *computing ... 19:43:24 YES! LINUX 2.0 HAS MENUCONFIG! 19:43:34 IT'S LIKE AN ORGASM EXCEPT FOR LINUX KERNEL CONFIGURATION AFTER SUFFERING THROUGH "MAKE CONFIG" 19:43:35 elliott: hey you're not keeping to the theme. 19:43:49 oerjan, what theme? 19:43:51 oerjan: crack is the fourth form of matta 19:43:56 elliott: O KAY 19:44:02 elliott: The best way to handle make config is yes '' | make config :P 19:44:04 elliott, I read that as "crack is the forth form of matta" 19:44:08 Gregor: It read from /dev/tty. 19:44:15 as in the programming language forth 19:44:34 *matter 19:44:36 elliott: Sweet! ... rm -f /dev/tty && mkfifo /dev/tty && yes '' > /dev/tty & 19:44:43 elliott: make /dev/tty a symlink to /dev/fd/0 or something :) 19:44:47 Gregor: I approve! (I just hacked the shell script.) 19:44:48 elliott, yes and I read "matta" in Swedish 19:44:52 elliott, since it is a valid Swedish word 19:44:58 oerjan: fine: Pleonasmtastic Lavish Assembler, Stricken Maliciously from Autonomy 19:45:01 at which point I did a retake of the whole thing 19:45:05 Vorpal: i thought it a bit unfair that only gas was a programming acronym 19:45:06 I hereby claim rights to the word "pleonasmtastic". 19:45:10 elliott: i did plasma abova 19:45:15 oerjan, err? 19:45:16 oerjan: SHUT UP, PLEONASMTASTIC 19:45:21 *above 19:45:21 Vorpal: från matta till crack i tre steg! 19:45:25 oerjan, XD 19:45:45 `translate Vorpal: frn matta till crack i tre steg! 19:45:47 Vorpal: Horor matta spricka! 19:45:59 elliott, err? 19:46:02 "Whores carpet crack" X-D 19:46:09 oh uh 19:46:11 Gregor: since when is `translate working again? 19:46:17 Vorpal: From carpet to crack in three steps! 19:46:19 oerjan: Apparently it isn't :P 19:46:21 elliott, "spricka" = "crack in the sense crack in the wall" 19:46:22 Oh, there we go. 19:46:29 elliott, not crack in the sense "drug" 19:46:30 Google wasn't happy with me or something :P 19:46:36 Vorpal: Blame Google 19:46:45 `translateto se If I said you had a beautiful body, would you hold it against me? 19:46:46 No output. 19:46:51 >_> 19:46:55 Well, I tried :P 19:46:59 elliott, also other errors in it 19:47:10 │ │ [*] Compile kernel as ELF - if your GCC is ELF-GCC │ │ 19:47:10 │ The gcc version 2.7.0 and newer produces the new ELF binary format │ 19:47:11 │ as default. If you have such a compiler (try "gcc -v"), say Y │ 19:47:11 │ here, otherwise N. │ 19:47:35 2.0 has initrd! yaaaay 19:47:35 elliott, that was wider than my IRC window and totally unreadable 19:47:49 Vorpal: You're totally unreadable. 19:47:50 elliott, isn't initrd just gzip-compressed ramfs? 19:47:51 elliott: maybe you should get a pre-2.7 gcc then :) 19:47:51 (Mine too!) 19:47:57 olsner: Maybe fuck you :P 19:47:59 elliott, that is what your mum said 19:48:04 * Gregor wonders why translateto-se didn't work ... 19:48:08 `translateto es If I said you had a beautiful body, would you hold it against me? 19:48:09 elliott, both of those lines 19:48:10 No output. 19:48:13 >_> 19:49:31 cc1: error: unrecognized command line option "-m386" 19:49:48 cc1: error: unrecognized command line option "-m486" 19:50:02 elliott, ah easy 19:50:10 elliott, -mcpu iirc 19:50:14 elliott, old name for that 19:50:18 elliott, or -march 19:50:20 not sure which 19:50:31 `translateto se rug 19:50:32 No output. 19:50:54 Oh boy, errors galore :P 19:51:06 oh wait 19:51:10 `translateto sv rug 19:51:11 tillbaka 19:51:26 Fuck this shit :P 19:51:27 what? 19:51:27 ...right language, but completely wrong translation :D 19:51:33 oerjan: matta 19:51:34 indeed 19:51:35 `translate to no rugged 19:51:38 to no rugged 19:51:40 olsner: i know that :D 19:51:44 `translateto no rugged 19:51:46 robuste 19:51:52 oerjan: no you don't you're a hopeless... nord? 19:51:54 swede 19:51:54 nord 19:51:58 nord...ic...er? 19:52:01 I CONFUSE 19:52:07 ... 19:52:11 elliott, "norwegian"? 19:52:22 Now. 19:52:23 *Norw. 19:52:25 so I guess "norw" 19:52:28 WTF, I'm using the web-services API now :P 19:52:29 olsner: i was just trying that because i knew the translation should have no special characters 19:52:30 which is just silly 19:52:32 IT CAN'T FAIL 19:52:39 `translateto sv love 19:52:40 No output. 19:52:51 ...while that does 19:52:56 `translateto sv rug 19:52:57 tillbaka 19:53:04 yeah wtf 19:53:05 `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 No output. 19:53:09 `translateto sv Swedish 19:53:11 `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 Gregor: 2>&1 19:53:13 Swedish 19:53:13 {"responseData": null, "responseDetails": "invalid translation language pair", "responseStatus": 400} 19:53:17 `translateto sv one three four 19:53:19 en tre fyra 19:53:20 ...what? 19:53:24 Did Gregor change anything there? 19:53:26 oerjan, huh that worked 19:53:26 `translateto sv one two three four 19:53:27 No output. 19:53:30 Did Gregor change anything there? 19:53:36 `translateto sv unix eunuchs 19:53:37 unix eunuchs 19:53:43 Vorpal: yes, i carefully skipped two to avoid the å 19:53:58 One, three, four, seven, twenty-nine. 19:54:01 `translateto sv love 19:54:02 No output. 19:54:13 Gregor: the language is sv even though the country is se 19:54:13 oerjan, oh you mean it fails on åäö in either input or output? 19:54:14 Gregor: i believer `translateto sv still has problem with æøå output 19:54:22 *äöå 19:54:27 oerjan, äöå * 19:54:32 ...darn :D 19:54:39 `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 {"responseData": null, "responseDetails": "invalid translation language pair", "responseStatus": 400} 19:54:54 *believe 19:54:56 `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 oerjan, also bachgfj... is the nautural order to write the letters of the alphabet in :P 19:54:57 {"responseData": null, "responseDetails": "invalid translation language pair", "responseStatus": 400} 19:55:01 >_< 19:55:07 698848 19:55:10 Vorpal: YOU DON'T SAY 19:55:24 bachgfj what :D 19:56:02 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 elliott, he didn't :P 19:56:29 elliott, so åäö would be much more natural 19:56:51 abcdefz and that's all the letters 19:57:13 elliott, no.... dzfecab 19:57:21 elliott, do try to get it right 19:57:26 you can't write "fecal" with those 19:57:35 elliott, same as you listed :P 19:57:43 What? 19:57:53 Vorpal: the order is æøå in norwegian 19:57:54 abcdefz and that's all the letters elliott, no.... dzfecab <-- that is just a different permutation 19:57:58 oerjan, oh, huh 19:58:13 Vorpal: no you did yours wrong 19:58:33 elliott, oh? 19:58:37 yes. 19:58:45 elliott, what letters differ 19:59:21 all letters 19:59:32 elliott, no... you have a-f+z So do I 19:59:45 elliott, you just wrote your list in a different (and very incorrect) order 19:59:48 Vorpal: you are a liar 19:59:51 stop lying 19:59:58 Gregor: in any case `translateto sv _is_ working sometimes 20:00:06 So weird 20:00:14 `translateto sv something 20:00:15 Gregor, it fails at unicode it seems? 20:00:18 No output. 20:00:33 `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 {"responseData": null, "responseDetails": "invalid translation language pair", "responseStatus": 400} 20:00:37 `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 {"responseData": {"translatedText":"¿Qué carajo?"}, "responseDetails": null, "responseStatus": 200} 20:00:40 `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 {"responseData": null, "responseDetails": "invalid translation language pair", "responseStatus": 400} 20:00:42 Gregor: and the times it didn't work afaict were precisely the times when the output would contain å ä or ö 20:00:47 SWAG ON FIRE 20:00:47 `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 {"responseData": {"translatedText":"en tre"}, "responseDetails": null, "responseStatus": 200} 20:00:54 `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 {"responseData": {"translatedText":"en två tre"}, "responseDetails": null, "responseStatus": 200} 20:01:09 Gregor, so unicode failure 20:01:14 Phantom_Hoover_: something = något in swedish, so confirms the theory 20:01:25 `translateto sv en två tree 20:01:26 No output. 20:01:28 err 20:01:33 `translateto sv one two three 20:01:34 No output. 20:01:36 yeah 20:01:48 Gregor, what do you do to fail so badly on unicode? 20:02:00 `translateto no something 20:02:01 noe 20:02:07 Vorpal: Note how it worked fine in the above lines. 20:02:20 Gregor, only in those that I ran curl with 20:02:28 Gregor: hm indeed 20:02:29 │ │ [*] Support Intel processors │ │ 20:02:30 │ │ [*] Support AMD processors │ │ 20:02:30 Gregor, the script fails when it encounters unicode 20:02:33 do you actually need these? 20:02:42 elliott, I believe so? 20:02:51 are you suuuuuuuuure? 20:02:51 elliott, it probably checks cpuid 20:02:55 `translateto en Hello, world! 20:02:56 Hello, world! 20:02:57 elliott, check the code for what it does 20:03:02 Vorpal: no thanks :-P 20:03:09 `run cat bin/json | paste 20:03:10 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.178 20:03:17 Gregor, this just confirms the theory that it fails at anything containing unicode in the string 20:03:37 Vorpal: If it's failing for that reason, then it's Python's json module, which seems extraordinarily unlikely to me. 20:03:40 hmm qemu has ISA support right? 20:03:40 as in 20:03:43 `run python --version | tr $'\n' '|' 20:03:44 ISA VGA, ISA network card 20:03:46 No output. 20:03:46 with some options 20:03:47 right? 20:03:49 huh 20:03:56 Vorpal: If it's failing for that reason, then it's Python's json module, which seems extraordinarily unlikely to me. 20:03:59 `run /usr/bin/env python --version | tr $'\n' '-' 20:04:00 Gregor: Did you do .decode('utf8')? 20:04:02 No output. 20:04:07 `run /usr/bin/env python --version 2>&1 | tr $'\n' '-' 20:04:07 `run python --version 20:04:09 Python 2.7- 20:04:12 elliott: http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.178 20:04:12 No output. 20:04:15 You don't need to do that tr... 20:04:17 ah 2>&1 20:04:18 hm 20:04:24 elliott, well I thought it was multi-line 20:04:25 Gregor: FAIL LOLZ 20:04:32 elliott: I have no idea how to Python. 20:04:43 elliott: These are basically the only lines of Python I have ever written. 20:04:43 Gregor: What is the filename? 20:04:49 elliott: stdin 20:04:55 Oh :P 20:04:57 elliott: bin/json 20:05:07 `run grep json.loads bin/json 20:05:09 data = json.loads(sys.stdin.read()) 20:05:22 Gregor, what is argv[1] in print(eval(sys.argv[1])) 20:05:24 elliott: ... you realize that's the same thing I just pasted at you, right ... 20:05:42 Vorpal: data["responseData"]["translatedText"] 20:05:54 `run sed -i "s/sys.stdin.read()/sys.stdin.read().decode('utf-8')/g" bin/json 20:05:55 No output. 20:05:57 Gregor, so... what if it contains unicode? Could it be that it fails at that 20:06:01 Someone try it now. 20:06:08 Vorpal: No, that should be OK. 20:06:08 `translateto sv en två 20:06:09 No output. 20:06:13 `translateto sv If I said you had a beautiful body, would you hold it against me? 20:06:13 Although actually... 20:06:14 No output. 20:06:15 `translateto sv one two 20:06:17 Lemme fix. 20:06:17 Stop. 20:06:18 `cat bin/json 20:06:19 No output. 20:06:19 Stop. lemme fix. 20:06:20 #!/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 `run sed -i "s/sys.argv[1]/sys.argv[1].decode('utf-8')/g" bin/json 20:06:33 No output. 20:06:35 `translateto sv en två 20:06:37 No output. 20:06:41 `translateto sv If I said you had a beautiful body, would you hold it against me? 20:06:42 No output. 20:06:42 elliott, wrong direction 20:06:45 `translateto sv one two 20:06:46 elliott: There is no Unicode in the arg. 20:06:48 Vorpal: I copied *your* line. 20:06:49 No output. 20:06:53 Gregor: Worth trying :P 20:06:53 elliott, yes I typoed :P 20:06:57 wait. 20:06:58 `translateto sv one three 20:07:03 hm 20:07:03 en tre 20:07:03 Gregor: You are total fail at thinking print is a function to start with :P 20:07:07 Gregor: OK: Could the result of eval be unicode? 20:07:15 elliott: I - do - not - know - Python 20:07:17 I say "yes, yes it could". 20:07:20 elliott: Quite easily. 20:07:23 I will now rewrite this. 20:07:32 `run echo '#!/usr/bin/env python' >bin/json 20:07:33 No output. 20:07:39 lawl 20:07:45 `run echo 'import sys' >>bin/json; echo 'import json' >>bin/json 20:07:46 No output. 20:07:52 Not a fan of echo -e eh :P 20:07:59 I'm old sk00l 20:08:02 *sk00l. 20:08:15 `run echo "data = json.loads(sys.stdin.read().decode('utf-8'))" >>bin/json 20:08:17 No output. 20:08:22 you could use $'' instead 20:08:26 `run echo "print eval(sys.argv[1]).encode('utf-8')" >>bin/json 20:08:28 No output. 20:08:28 Vorpal: But I don't want to. 20:08:30 $'foo\nbar' 20:08:33 `translateto sv one two 20:08:34 en två 20:08:42 There, now where's my birthday bj. 20:08:56 elliott, dj* 20:09:04 That is also acceptable. 20:09:07 `translateto sv If I said you had a beautiful body, would you hold it against me? 20:09:08 Om jag sa att du hade en vacker kropp, skulle du hålla det emot mig? 20:09:13 `translateto ch If I said you had a beautiful body, would you hold it against me? 20:09:16 No output. 20:09:18 >_> 20:09:21 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 `translateto zh If I said you had a beautiful body, would you hold it against me? 20:09:22 `translateto en en två tree 20:09:24 如果我说你有一个美丽的身体,你会嫌弃我吗? 20:09:24 `translateto en en två tre 20:09:25 one two tree 20:09:28 ah 20:09:28 one two three 20:09:35 Gregor: Did I mention it's viral? (Kinda like my sperm, but I digress.) 20:09:36 tree is not tree 20:09:44 it is just a non-existent word 20:09:46 `translateto zh If I said you had a beautiful body, would you hold it against me? I am no longer infected. 20:09:47 如果我说你有一个美丽的身体,你会嫌弃我吗?我不再感染。 20:09:52 `translateto sv If I said you had a beautiful body, would you hold it against me? 20:09:55 Om jag sa att du hade en vacker kropp, skulle du hålla det emot mig? 20:09:57 `translateto jp RAPE 20:09:59 `translateto en att vara eller inte vara, det är frågan 20:10:01 `translate 如果我说你有一个美丽的身体,你会嫌弃我吗?我不再感染。 20:10:01 No output. 20:10:06 Clearly, the Japanese have no word for rape. 20:10:06 to be or not be, that is the question 20:10:06 lawl :P 20:10:06 If I said you had a beautiful body would you hold anything against me? I am no longer infected. 20:10:08 Gregor: heh sadly the swedish translation fails to preserve the ambiguity solely because because of pronoun gender 20:10:12 `translateto jp RAPE 20:10:15 No output. 20:10:19 See? 20:10:21 Facts. 20:10:21 oerjan: :P 20:10:23 o 20:10:27 `translateto jp everyone is green 20:10:28 ais523: okokoko 20:10:28 No output. 20:10:36 Wait, the language code isn't jp, is it. 20:10:36 :p 20:10:38 elliott: o 20:10:44 see, randomly oing is spreading from channel to channel 20:10:44 ais523: okokokokokokokokokoko 20:10:49 Gregor: heh sadly the swedish translation fails to preserve the ambiguity solely because because of pronoun gender <-- which ambiguity? 20:11:06 Faillawls 20:11:15 Vorpal: of "If I said you had a beautiful body, would you hold it against me?" 20:11:17 Vorpal: you completely fail 20:11:24 i think Vorpal has actually missed the ambiguity 20:11:26 oh right 20:11:27 constantly :D 20:11:30 suuure 20:11:31 `translateto zh Nethack stole my gender. 20:11:32 偷走了我的性别的nethack。 20:11:34 I never realised you could read it *THAT* way 20:11:34 `translateto zh Nethack stole my gender in space. 20:11:36 在太空中的nethack偷走了我的性别。 20:11:40 `translateto zh Nethack stole my gender in space in space. 20:11:41 在太空中的nethack偷走了我的性别空间。 20:11:44 `translateto zh Nethack stole my gender in space in space in space in space in space in space. 20:11:46 在太空中的nethack偷走了我的性别空间在空间空间在空间的空间。 20:11:47 the two meanings turn the "it" into "den" or "det" in swedish respectively 20:11:51 `translateto zh Nethack stole my gender in space in space in space in space in space in space. in space. 20:11:52 在太空中的nethack偷走了我的性别空间在空间空间在空间的空间。在太空中。 20:12:00 `translateto zh This channel is now under the control of red China. Please continue your esoteric activities unperturbed. 20:12:01 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 20:12:11 elliott, I always thought it was the non-physical meaning. And found that line somewhat strange. 20:12:16 `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 No output. 20:12:28 LIES 20:12:30 heheheh 20:12:35 mwahaha 20:12:35 `translatefromto sv en bork bork bork 20:12:36 Bork Bork Bork 20:12:42 that's better 20:12:42 X-D 20:12:49 elliott, it means nothing in Swedish either :P 20:12:57 Vorpal: It means all your words! 20:12:59 `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 ribby, and coarse-haired, and pitiful. 20:13:00 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 You have no other words. 20:13:12 `translate 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 elliott: HALP 20:13:13 The channel is currently being Red China's control. Please continue to esoteric activities without interference. elliott: HALP 20:13:26 Gregor: I will pay you $money if you make "`translateto sv ..." redirect to bin/swedish. 20:13:30 elliott, jaha, det få du väla tro då 20:13:40 (writing on dialect is always fun) 20:13:45 (it confuses google translate) 20:13:58 ... I just accidentally typed www.redchina.com while trying to type www.foxnews.com (<-- to test a crashbug) 20:14:08 Gregor: Why would you ever type www.foxnews.com. 20:14:10 But X-D 20:14:17 elliott: to test a crashbug 20:14:29 ais523: a crashbug on foxnews.com is known as a feature 20:14:30 Vorpal, how much lightstone do you have stockpiled? 20:14:46 elliott: *crashfeature 20:14:51 not really, no input should crash a browser, whether malicious /or/ incompetent 20:14:59 Phantom_Hoover_, one left. That is all unless I have some I somewhere I forgot. 20:15:01 I'm afraid I mistook the one in the throne room for dirt and broke it. 20:15:11 Phantom_Hoover_, you fix that. Somehow 20:15:19 I'd repay you, but you're much richer than me anyway. 20:15:29 How about preferential defence by the ROU? 20:15:31 Phantom_Hoover_, get one from the admin. And even if it was dirt why would you break it in my place 20:15:39 Phantom_Hoover_, should I go around breaking stuff at your place 20:15:58 Phantom_Hoover_, I accept nothing but a lightstone as repayment 20:16:08 I take it lightstones are rare? 20:16:10 Phantom_Hoover_, you have to get one from the admin 20:16:22 Vorpal, for now, I have replaced it with a block of dirt. 20:16:27 ais523, you can't get them in the normal way in multi-player 20:16:29 I hope the difference is not too apparent. 20:16:40 Phantom_Hoover_, it is very. I use painterly and they are hugely different 20:16:54 Phantom_Hoover_, so as soon as you see the server admin. Get him to give you one block and replace it 20:17:05 Wow, an ISA kernel is much smaller! 20:17:08 ais523, basically missing feature in multiplayer (no "nether" dimension) 20:17:16 Vorpal, I use painterly! 20:17:23 Phantom_Hoover_, custom painterly? 20:17:23 That's why I confused them! 20:17:27 Yes. 20:17:32 Phantom_Hoover_, not the same custom as me 20:17:36 obviously 20:17:43 Phantom_Hoover_, or maybe you use a monochrome monitor 20:17:55 Phantom_Hoover_, anyway, why did you break it at all. Seriously 20:18:06 Phantom_Hoover_, even if it HAD been dirt that would be rather rude 20:18:26 It's dirt! 20:18:33 Phantom_Hoover_, and? 20:18:38 It's what, the second most common block type! 20:18:44 Phantom_Hoover_, I'll go to your place and remove all dirt then? 20:18:47 Phantom_Hoover_, no? 20:18:48 Most common. imo. 20:18:55 1 dirt != 1,000,000,000,000 dirt 20:18:56 elliott, stone is far more common 20:18:56 elliott, cobble. 20:19:04 maaaybe 20:19:49 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 how does one list the types of NIC qemu will emulate? 20:20:29 i don't have all the ones in the manpage 20:20:30 Phantom_Hoover_, anyway I expect you fix this. The place is ruined without a lightstone there. 20:22:08 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 Phantom_Hoover_, or I could just brick it all up and make a maze of tunnels 20:22:34 (that don't actually connect anywhere 20:22:35 ) 20:22:39 Jesus, I apologised. 20:22:57 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 What if serv says no. 20:23:38 Just throwin' that out there. 20:24:14 elliott, I'll decide if that happens 20:24:23 Decide... what? 20:24:47 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 elliott, besides he said before he was willing to give lightstone if you asked and had an use for it 20:25:15 and making a sun-like symbol is definitely a use 20:25:38 (I would have made a bigger one if i had more lightstone) 20:28:19 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 Would diamond not do? 20:33:16 -!- augur has quit (Remote host closed the connection). 20:33:40 -!- augur has joined. 20:34:36 `translateto cy No one actually speaks Welsh. 20:34:38 Does neb yn siarad Cymraeg mewn gwirionedd. 20:34:53 Wow, that is some poor compression ratio. 20:35:01 Cymraeg 20:35:05 i know that word 20:35:17 sometimes i get a Welsh newsletter 20:35:21 I believe that's Welsh for Welsh :P 20:35:23 welsh, i think 20:35:27 :D 20:35:31 `translate Cymraeg 20:35:32 Cymraeg 20:35:36 and it's so amusing that i woudn't dare to sign off 20:35:37 >_< 20:35:39 `translatefromto cy en Cymraeg 20:35:42 Welsh 20:36:04 welsh is from outer space 20:36:05 seems like would have been inferrable... 20:36:10 like hungarian and finnish 20:36:42 `translateto fi The Moon people of Finland welcome our Human comrades. 20:36:43 Kuu Suomen kansa tervetulleiksi Human toverit. 20:37:17 sounds alien 20:37:21 "Moon Finnish people welcome 'Human' comrades." 20:38:01 Where "welcome" is nounified, not as a verb. 20:38:12 księżycowi ludzie z Polski witają ludzi - naszych przyjaciół 20:38:18 uh 20:38:24 that looks alien as well 20:38:30 like: jak tak to mi sie nie chce 20:38:45 -!- augur has quit (Ping timeout: 260 seconds). 20:39:59 /proc apparently costs 67K. Ouch... 20:40:55 Trying: PCI=mmconfig. 20:41:38 -!- goneriku has joined. 20:41:51 http://git-annex.branchable.com/ http://git-annex.branchable.com/walkthrough/ 20:41:52 this is awesome 20:43:45 elliott: get tinywm 20:43:52 it's only 50 LOC in C 20:44:03 nooga: I know what tinywm is. 20:44:54 will you use xterm or something else? 20:45:44 nooga: rxvt, or something else if that's too big. Maybe st. 20:45:49 mmconfig WINS in size!! Now to try BIOS. 20:47:18 BIOS loses :( 20:47:27 Now to try any for gits and shiggles. 20:48:16 run X, reelase 20:51:45 nooga: find me a smallX tarball and i will 20:51:47 tux.org seems to not have it any more 20:53:45 Gregor: It's Welsh for the Welsh language, yes. 20:54:16 And who did that Chinese in the topic? 20:54:20 pikhq: We already verified that. 20:54:23 pikhq: Google Translate X-P 20:54:31 I hates simplified! 20:54:35 It's so much harder to read! 20:54:51 pikhq: Red China uses simplified :P 20:55:07 elliott: Your point? It's hard! 20:55:15 `translate zh-TW The glorious Republic of China shall reclaim this topic some day! 20:55:17 zh-TW The glorious Republic of China shall reclaim this topic some day! 20:55:23 Wrong :P 20:55:25 `translateto zh-TW The glorious Republic of China shall reclaim this topic some day! 20:55:27 光榮 Republic of中國應收回這個主題的一些日子! 20:55:32 wtfbbq 20:55:56 You'd think that Google Translate would know what "Republic of China" is in traditional Chinese ... 20:56:17 Try "中華民國" instead of "中國". 20:56:45 The rest *looks* correct, but I can't say for sure, not being a speaker of a Chinese language. 20:56:56 `translateto zh-TW The glorious 中華民國 shall reclaim this topic some day! 20:57:00 The glorious 中華民國 shall reclaim this topic some day! 20:57:04 DAMN IT 20:57:09 `translatefromto en zh-TW The glorious 中華民國 shall reclaim this topic some day! 20:57:11 光榮的中華民國應收回這個主題的一些日子! 20:57:30 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 Chinese Japanese pidgin 20:58:35 ? 20:59:13 -!- xvedejas has joined. 20:59:16 nooga: if you could find a mirror of tux.org ftp that's work 20:59:20 hey Slereah 20:59:25 goneriku: Yeah. 20:59:32 Explain? 20:59:37 * goneriku likes linguistics 20:59:37 and goneriku 20:59:57 I wish I could read the topic but my Mandarin isn't good enough yet :\ 21:00:23 also it seems to be a mix of traditional and simplified 21:00:49 apparently it's Google Translate shit 21:00:51 or at least just traditional 21:00:54 hmm 21:01:00 Slereah: you brought these people, didn't you 21:01:06 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 Slereah: YOU BROUGHT THESE PEOPLE HERE 21:01:17 goneriku: It certainly worked. 21:01:25 elliott, I came on my own accord 21:01:26 ah, cool 21:01:31 xvedejas: Oh. 21:01:34 Well I blame Slereah for goneriku. 21:01:35 I don't know really know any Chinese or Japanese. 21:01:37 X-D 21:01:43 Also racism. 21:01:48 All of these things are Slereah's fault. 21:01:49 elliott, I'm an actual programmer 21:01:50 `translate 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 21:01:51 The channel is currently being Red China's control. Please continue to esoteric activities without interference. 21:01:58 `translate 光榮的中華民國應收回這個主題的一些日子! 21:02:00 Glorious Republic of China should recover some of this theme day! 21:02:04 heh 21:02:07 Wow, bad translation X-D 21:02:12 Sler's pretty racist that's true 21:02:14 xvedejas: Sorry, this channel is about esoterica and magick! 21:02:18 (Note: Lies.) 21:02:19 you should hear his rants about jews 21:02:23 lol 21:02:25 He's secretly a jew. 21:02:30 my favorite programming language is Smalltalk, some consider it sorta esoteric... :P 21:02:32 aw man I was about to say I'd fit in just fine here! 21:02:37 (I know, that's the lolarious part!) 21:02:38 `translateto iw Happy Hanukkah, gentiles! 21:02:38 xvedejas: Protip: Ignore Sgeo. 21:02:39 חנוכה שמח, הגויים! 21:02:46 `translateto hw kike 21:02:48 No output. 21:02:50 smalltalk is about as esoteric as javascript, isn't it? 21:02:52 Google Censor 21:02:56 ignore who? 21:03:00 olsner: Substantially more so. 21:03:02 xvedejas: This guy. 21:03:02 I don't see any sgeo 21:03:07 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 olsner: Gregor does JS stuff for an academiliving. 21:03:21 (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 So take his opinion with a grain of badly-scoped salt :P 21:03:37 olsner, I don't really know anything about javascript 21:03:38 elliott: Dude, I browse porn sites for SCIENCE. 21:03:47 * gon|away does too 21:03:51 `quote scientific reason 21:03:52 No output. 21:03:56 `quote scientific justifi 21:03:57 No output. 21:03:59 `quote porn 21:04:00 33) pikhq: A lunar nation is totally pointless. ehird: consider low-gravity porn fungebob: OK. Now I'm convinced. \ 77) SF.net porn :/ Oh yeah, baby, gimme that... bloated download page? \ 134) I am an inherently pornographic being. \ 156) reading playboy for 21:04:02 `quote scientifically-justifiable 21:04:03 elliott: I mean to imply that smalltalk is not the least bit esoteric 21:04:06 235) "* 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." ^^^ This bullet-point is my crowning achievement as as a scientist. 21:04:06 `run quote porn | tail -1 21:04:09 235) "* 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." ^^^ This bullet-point is my crowning achievement as as a scientist. 21:04:11 Gregor: But you EXCLUDED it! 21:04:11 Gregor: ゴジラが来てる!死にたくないよ! 21:04:17 Gregor: No?? 21:04:19 (If you can call that living) <-- still MS Research? 21:04:23 elliott: I did NOT exclude it. I EXPLICITLY did not exclude it. 21:04:24 Vorpal: ...XD 21:04:31 Vorpal: Yes. Gregor still works at MS Research. 21:04:34 Gregor: Don't you. 21:04:38 elliott: No. 21:04:47 Gregor: Wrong! The answer is: Yes. 21:05:02 I'm confused 21:05:08 xvedejas: We're all confused :P 21:05:27 and confusing 21:05:40 Yes. 21:05:43 xvedejas, only under confusing circumstances 21:05:58 nooga: If you find a tux.org mirror I will be happy forever. 21:05:59 (or in case of jelly) 21:06:06 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 xvedejas: Also, ignore Vorpal, we just haven't figured out a justification for kicking him out yet. 21:06:24 elliott, hey you 21:06:25 But our crack team of crackheads is working on it as we speak. 21:06:30 `translate ゴジラが来てる!死にたくないよ! 21:06:31 I'm Godzilla coming! I want to die! 21:06:33 hm 21:06:37 Gregor: what X-D 21:06:45 I'm -- Godzilla! -- coming! I want to die! 21:06:47 elliott: pikhq told me that :P 21:06:52 pikhq: what. 21:07:06 Gregor: "Godzilla is coming! I don't want to die!" 21:07:18 pikhq: I prefer Google's version. 21:07:24 Oh! Godzilla! Don't stop! I'm coming! I want to die! 21:07:27 It... Reversed the negative somehow. 21:07:31 [[TINY Linux -- " 'Tis Independence 'N Yet "]] 21:07:33 WORST ACRONYM EVER 21:07:43 That's fairly impressive, actually. 21:07:45 YESSS I THINK I'VE FOUND SMALLX 21:08:26 pikhq: Suuure. 21:08:28 -!- olsner has set topic: 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 | 光榮的中華民國應收回這個主題的一些日子! | חנוכה שמח, הגויים! | sed อยู่เสมอดีกว่า Perl! | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 21:08:30 pikhq: Hey, XFree86 had small servers. 21:08:31 pikhq: You're not sexually attracted to Godzilla. 21:08:34 [ ]xvg16.zip05-Dec-1999 17:34 740K 21:08:41 pikhq: You're not sexually attracted to Godzilla at all. 21:08:43 Gregor: Only to Mothra. 21:08:44 pikhq: Whatever you say. 21:08:47 X-D 21:08:49 Gregor: That's like saying Vorpal's not attracted to children! 21:08:53 elliott: Y'know, kdrive ain't big :P 21:09:07 Gregor: How big is a 16-colour VGA KDrive? You know, approximately. 21:09:16 Roughly unsupported size? 21:09:25 elliott: Centibits. 21:09:25 Gregor: Fine, what's the smallest KDrive? 21:09:30 vesa, probably. 21:09:37 elliott, ... Only if they carry a magnet (I'm magnetic) 21:09:42 Gregor: If it doesn't fit, LZMA-compressed, on a floppy minus 614K, I can't use it. 21:09:58 Gregor: I could fit that VGA16 X server on. :P 21:10:02 LZMA-compressed ... the server itself would probably fit, not sure about all the client libraries. 21:10:21 Gregor: I need libX11 and that's all. (Advantage of smallX: it has its own, tiny Xlib.) 21:10:28 Mmm 21:10:32 Gregor: Also, I need *some* kind of room left to put rxvt or whatever in :P 21:11:21 elliott, couldn't you format the floppy as higher capacity than it really is? 21:11:32 I seem to remember this being possible (but really really stupid) 21:11:35 Vorpal: (1) Not reliably. (2) I refuse to. 21:12:02 elliott, I wonder where you could find a 2.whatever MB floppy 21:12:09 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 elliott: Heh, so kdrive has enough requirements that that'd probably not work :P 21:12:27 olsner, "floppy-massage"? 21:12:30 IBM used to ship their operating systems on 2.88MB disks 21:12:32 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 Vorpal: *formatting then 21:12:45 <3 modular X build system 21:12:48 olsner, ah 21:12:58 what window managers do you all use? 21:13:05 right now I'm on AwesomeWM 21:13:16 I use metacity because Kitten isn't done yet. :p 21:13:18 uh, metacity atm. 21:13:22 <3 modular X build system 21:13:25 Have you ever used it? 21:13:27 It is awful :P 21:13:30 elliott: Extensively. 21:13:31 it's autocrap, isn't it? 21:13:36 elliott: I've also used what came before. 21:13:36 olsner: No, worse. 21:13:38 Extensively. 21:13:43 Gregor, *imake*? 21:13:44 olsner: Yes, it's autotools, which is why it's so good. 21:13:45 oh the horror 21:13:51 Gregor: lol 21:14:00 Gregor, imake was one of the worst ones I ever seen 21:14:10 Gregor: autotools is great if you never want to CONFIGURE anything. 21:14:28 Vorpal: Yeah, imake was ... bad. I've built X11R6 (as in, the real X11R6) on HP-UX. Autotooled X = godsend. 21:14:51 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 doesn't* cut it for more complex stuff 21:15:02 is imake the one that preprocesses makefiles using cpp? 21:15:19 Gregor, yes for such a platform I imagine it would be 21:15:20 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 It works for you because you use GNU/Linux/Typical. 21:15:45 elliott: ... no. 21:15:46 elliott, not my experience at all. Only thing it doesn't work well on seems to be cygwin 21:15:48 elliott: So much no. 21:16:01 elliott: You realize that for years I worked for Intel doing builds of F/OSS software on like six architectures? 21:16:13 elliott: With every new package, we PRAYED that it was autotools. Because autotools WORK. 21:16:15 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 it even worked fine on an old sunos box 21:16:43 Vorpal, OpenSolaris is not esoteric. 21:16:57 Phantom_Hoover_, did I claim it was? 21:17:03 Phantom_Hoover_: Whatever you want to believe :P 21:17:09 "it works fine on some more esoteric platforms such as opensolaris" 21:17:14 but yes it is in some aspects 21:17:25 Gregor, esoteric <-> interesting. 21:17:27 elliott, oh not in the "on topic sense" 21:18:06 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 It should also do something new, or at least defy common practices. 21:19:44 Gregor, indeed 21:20:31 Well, this is entirely my own definition. 21:20:53 Phantom_Hoover_, so why would you expect other people to use it? 21:21:39 Well, Gregor's definition makes things like the Seltzer & Friedberg Appreciation Society esoteric. 21:22:02 Phantom_Hoover_, I never heard of that so I don't know 21:22:12 it is however an indication that could be the case 21:22:56 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 Gregor: I'm not going to list any because every one sucks, I've just been bitten by autotols constantly. 21:23:23 *autotools. 21:23:24 -!- xiaoy has joined. 21:23:49 Gregor, why did you build them at intel btw? 21:23:59 Vorpal: ... because that was my job? 21:24:07 Gregor, yes but for what? their linux distro? 21:24:13 Vorpal: Internal use. 21:24:32 Vorpal: To maim the babies. 21:24:33 Gregor, oh heh. They had their own linux distro internally or what? 21:24:46 Gregor: ... 21:24:52 Gregor: Let's not bother trying to make Vorpal understand things! 21:25:09 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 Gregor, ah 21:25:30 Gregor: please tell me windows was one of them 21:25:41 elliott: Good LORD no. 21:25:46 Gregor: awww :D 21:25:56 " 21:25:56 If Linux doesn't have the solution, you have the wrong problem." -- stupid Linux forum signature 21:26:00 what does that even mean 21:26:07 medical equipment that needs hard real-time is WRONG! 21:26:18 Gregor, hm, intel would use x86, x86-64, IA-64 and ARM right 21:26:35 probably not ARM for this 21:26:38 elliott: Gregor: ... If eval() is the answer, chances are you're asking the wrong question 21:26:45 elliott: That makes me grind my teeth every time :P 21:26:58 Vorpal: And SPARC, PA-RISC :P 21:27:14 Gregor, they use SPARC and PA-RISC? So weird. 21:27:28 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 Gregor: (the "wrong question" philosophy) 21:28:42 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 Seriously, I will PAY someone to find a smallX tarball to me. 21:28:59 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 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 elliott, tried http://www.superant.com/smalllinux/tinyX01.html ? 21:29:37 What about when the thing they're trying is genuinely dumb? 21:29:46 Vorpal: Go on, try clicking one of those tarball links. 21:29:55 Phantom_Hoover_: if that was the case i wouldn't criticise as much. 21:30:00 elliott, ouch 21:30:03 -!- xiaoy has left (?). 21:30:11 elliott, try the email there? 21:30:18 Vorpal: I've found the HTTP interface to tux.org FTP and their smalllinux/smallX pages are 404'd. 21:30:21 "genuinely dumb"? you seem to be implying something not-dumb is even possible in python :) 21:30:30 Vorpal: I will if I can't find the .tgz. 21:30:34 But I'd like to find it rather than bug him... 21:31:01 elliott, well hopefully that will mean he will update the link to something that works 21:31:12 Vorpal: Who knows if he has it? 21:31:26 [["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 "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 LOLKDE 21:31:35 elliott, who knows. Who knows if he died from a freak volcano? (Okay that is less probable, but still!) 21:31:38 Words, it's like Microsoft Word but there's more of 'em. 21:31:44 olsner, come now, using a particular language doesn't actually make a program stupid. 21:32:04 Phantom_Hoover_: PHP 21:32:14 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 To see the newest version of these wiki notes go to [[http://www.superant.com/sadrupal/]] ----> 404 21:33:01 elliott, I am sure that somewhere, at some time, someone will have written a sensible program in PHP. 21:33:08 Phantom_Hoover_: I'm saying Python is (also) one of those languages 21:33:18 elliott, "sadrupal"? I thought drupal was a CMS and not a wiki. So weird name 21:33:26 That are stupid ideas or attract stupid people? 21:33:29 Or both? 21:33:38 elliott: I don't think you realise how awful imake is. 21:33:52 olsner, you have to admit python is better than php at least? 21:33:54 elliott: It's C preprocessor on Makefiles. 21:34:16 Vorpal: definitely 21:34:36 pikhq: i never said it wasn't awful 21:34:39 pikhq, and since when did not knowing about something stop elliott having extremely strong opinions about it? 21:34:41 Vorpal: drupal is na everything 21:34:47 I NEVER SAID ANYTHING ABOUT IMAKE GODDAMMIT 21:34:49 I KNOW IT WAS HORRIBLE 21:34:50 elliott, oaky true 21:34:54 *an 21:34:55 okay* 21:34:58 wrt drupal that is 21:35:16 Can someone actually send me a précis of why PHP sucks? 21:35:18 elliott, autotools is an improvement. In fact autotools is the best option there is currently 21:35:33 I've never learnt it, and it's always just been implicitly true. 21:35:37 [Removed chvt, deallocvt because they didn't work.] 21:35:46 faeg 21:35:46 Phantom_Hoover_: Far too many reasons. 21:35:46 -!- xvedejas has quit (Quit: Leaving). 21:35:58 elliott, hence "précis". 21:36:24 norwegians say "precis" all the time 21:36:34 nooga, that is a different "precis" I think 21:36:34 swedes too 21:36:42 olsner, precis! 21:36:47 I had never seen "précis" before. 21:36:55 pikhq, I had to google it 21:37:04 pikhq, also I'm surprised. It is something you would use 21:37:08 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 . 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 ySQL DB directly (seriously). 21:37:10 but "a précis" is basically a summary, right? 21:37:22 Phantom_Hoover_: Follow natural evolution path towards amazingly crap. 21:37:25 *evolutionary 21:37:33 Vorpal: Yes, yes I would. 21:37:51 CC arch/x86/kernel/cpu/vmware.o 21:37:52 CC arch/x86/kernel/cpu/hypervisor.o 21:37:54 Can one disable these: 21:38:02 elliott, which kernel version 21:38:03 elliott, OK. 21:38:10 Vorpal: 2.6.36.1. 21:38:10 elliott, if it recent I think you should be able to 21:38:13 VMware options are *not* enabled. 21:38:31 elliott, wait, there. That you probably need to enable embedded to remove cpuid strings 21:38:31 And nor are any hypervisor options. 21:38:32 or such 21:38:42 Vorpal: I have enabled embedded. 21:38:46 elliott, hm 21:38:56 elliott, okay then check if they just contain #ifdef SOMETHINGTHATENABLESME 21:38:59 elliott, I seen that 21:39:07 elliott, basically empty object files is what I suspect 21:39:17 Nope, 21:39:19 EXPORT_SYMBOL(x86_hyper_vmware); 21:39:21 and no ifdef 21:39:27 I don't know if it's actually linked in, mind. 21:39:35 -rw-r--r-- 1 elliott elliott 1720 Dec 7 20:57 arch/x86/kernel/cpu/vmware.o 21:39:37 maybe it is empty, then 21:39:39 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 hypervisor is slightly smaller 21:39:54 and isn't ifdeffed out either 21:40:05 elliott, just export symbol? Nothing else? 21:40:10 Vorpal: no, other things too 21:40:14 huh 21:40:15 static functions and the like 21:40:16 CC arch/x86/boot/video-vga.o 21:40:16 CC arch/x86/boot/video-vesa.o 21:40:21 ugh, i hope you can disable the latter 21:40:43 elliott, why aren't you using an older kernel (assuming it is the floppy one still) 21:40:58 Vorpal: cba 21:41:02 even 2.4 was a bitch 21:41:10 elliott, 2.4 didn't build? 21:41:18 elliott, if so: what, it is recent enough 21:41:18 i don't recall 21:41:32 elliott, make xconfig is the sanest option for 2.4 iirc 21:41:44 elliott, (have fun with Tk) 21:41:53 i tried it 21:41:55 with menuconfig 21:41:57 whatever, anyway 21:42:00 │ │ (0x1000000) Physical address where the kernel is loaded │ │ 21:42:03 │ │ (0x1000000) Alignment value to which kernel should be aligned │ │ 21:42:07 wonder if reducing them will shrink kernel :) 21:42:18 elliott, no it won't I think 21:42:30 elliott, also if you change that I *think* you need to change the bootloader too 21:42:41 prolly 21:43:03 * elliott disables mice for now 21:43:17 System is 608 kB 21:43:18 fuckin' a 21:43:35 what where did my ethernet go 21:43:53 elliott, so wait, where are you going to get software for this? 21:44:03 Are you going to install a libc? 21:44:09 Phantom_Hoover_: um there's barely enough space for software 21:44:16 libc is unlikely, they're big and i can statically-link stuff 21:44:21 elliott, I'm sure 2.4 will be smaller. 2.0 even smaller 21:44:26 i tried 2.0. 21:44:29 didn't build 21:44:39 all i really want at this point is... X, a tiny window manager, and a tiny terminal 21:44:46 maybe one day i can squeeze links2 in. 21:44:51 elliott, "I tried foo, didn't work, I gave up". Okay I won't hold that against you. 21:44:53 Ah, I get it. 21:45:02 Vorpal: good :P 21:45:12 ok let's see where my ethernet went 21:45:27 11690 e3 21:45:36 elliott, because it doesn't change anything. I already knew that you weren't very persistent in any endeavour 21:45:36 i wonder if i could disable all the non-vi modes of e3 21:45:49 Vorpal: sure i am, just not in pointless endeavours. 21:45:54 and this is definitely pointless. 21:46:11 elliott, so procrastinating? 21:46:20 nope, just messing around 21:46:20 so, 21:46:21 * 21:46:25 okay 21:46:28 and because pikhq wanted to do it 21:46:32 so i'd better do it better first! 21:46:34 hah 21:47:39 nooga, oh btw in case you didn't know. sv:precis = en:exactly. 21:47:53 (also en:exact, depends on context) 21:49:56 1622 finger 21:49:56 2151 tar 21:49:56 2320 netstat 21:49:56 5218 sh 21:49:56 6219 readelf 21:49:58 Biggest utilities :P 21:50:23 elliott, you don't need finger? 21:50:27 elliott, or? 21:50:43 Vorpal: sure I don't, but why not 21:51:05 elliott, well sure, if you have space left over 21:51:40 Vorpal: it's 1622 bytes :P 21:52:08 elliott, which makes the space you can spend on X 1622 bytes smaller 21:55:56 "And why should a [video game] character conform to and reinforce gender stereotypes? Birdo might have given some transgender kid hope." 21:56:21 :D 21:56:50 Gregor, I'm not sure how that connection works 21:56:50 "One day I can be just like Birdo." 21:57:08 Vorpal: Birdo is the only semi-major transgender videogame character :P 21:57:21 Gregor, oh, officially? 21:57:22 huh 21:57:30 Vorpal: Not REALLY officially, but pseudo-officially X-P 21:57:45 In that Birdo was officially a gender-confused male, but in later things was officially female. 21:58:20 Gregor, how did that happen to begin with 21:58:53 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 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 olsner: Pronouns suck :P 21:59:28 olsner, I'm not sure anybody has a good answer to that 22:00:04 -!- Mathnerd314 has joined. 22:01:50 Vorpal: probably not 22:02:16 olsner, spivak for everyone? 22:02:20 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 "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 olsner: um you're always meant to use the post-transition pronoun... 22:02:29 olsner: even pre-op 22:02:31 Yoshi + Birdo = the single greatest video game couple in history :P 22:02:56 olsner: you don't think about whether someone has a penis or not before choosing a pronoun :P 22:02:58 Gregor, blame Japan 22:03:06 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 olsner: "when talking about post-op transsexuals in past-tense" --you 22:03:34 elliott, "to" != "about" 22:03:45 Vorpal: um olsner knows what i mean, you don't 22:03:48 elliott: bah, I'll just change that sentence to something else then! 22:03:49 elliott, what about before they had any conception of their gender identity differing from the norm? 22:04:18 Phantom_Hoover_: it's very rare that people feel 100% comfortable with their identity and then decide to transition... 22:04:27 i've never heard of it 22:04:30 elliott, what about when they were 2 or something? 22:04:38 Before they even had any conception of gender? 22:05:13 spivak nouns until sexual maturity! 22:05:14 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 (OK, I won't actually guarantee that.) 22:05:20 olsner: sex != gender 22:05:25 so that's a silly thing to say 22:05:48 TRANSSEXUALS ARE IMMORAL PEOPLE. GOD CHOSE YOUR SEX FOR A REASON. 22:05:50 * Gregor takes a bow. 22:05:50 Spivak nouns until they express a preference! 22:06:01 ... and shoots a tranny with it OH SEE HOW I MADE THAT AMBIGUOUS 22:06:02 Gregor: JESUS WAS A GIRL IN A GIRL'S BODY 22:06:14 elliott: make that what phantom hoover said instead 22:06:15 Gregor: Are you sure it was a bow you shot that tranny with? :| 22:06:21 Gregor, so what about those cases of ambiguous sex? 22:06:22 Gregor, but what's God's view of the LINGUISTICS of the matter? 22:06:34 elliott: Yes. I put a bow in another bow, and fired the first bow with the second. 22:06:35 olsner: Phantom_Hoover_: How about SPIVAK PRONOUNS FOREVER because gendered pronouns are moronic 22:06:41 Gregor: Nice [0010]. 22:06:44 elliott, good luck with that. 22:06:49 Gregor, or the rare condition of having XY but being insensitive to testosterone 22:06:50 Is that an [0010] in your pocket or are you just happy to see me? 22:06:58 hmm, spivak nouns are just ... ugly 22:07:00 Phantom_Hoover_: You think your solution is getting adopted either? :P 22:07:03 olsner: ENGLISH IS UGLY :P 22:07:05 Vorpal: GOD WORKS IN MYSTERIOUS WAYS. 22:07:23 For instance, Jesus' Y chromosome was clearly GOD'S. 22:07:24 elliott: ENGLISH WORKS IN MYSTERIOUS WAYS. 22:07:26 -!- Sasha has joined. 22:07:27 i agree with Gregor a magic man did it 22:07:42 Gregor: i shouldn't complain about english. good enough for jesus, good enough for me 22:07:45 `addquote 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 237) For instance, Jesus' Y chromosome was clearly GOD'S. 22:08:01 this is also why I sleep on a cross every night 22:08:09 Gregor: That is not even remotely permanently quotable :P 22:08:20 elliott: YESH IT ISH 22:08:34 elliott, I agree with Gregor on this one. 22:08:54 Shut up! I'm pondering theogenetics! 22:08:55 it can be read in another way without the context 22:08:59 still funny 22:10:04 robots 22:10:15 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 I feel it should be trivial in a high level language 22:10:59 like taking the list times itself or such. 22:11:38 Vorpal: there is a way but i forget :D 22:11:44 elliott, what's your opinion on singular "they"? 22:11:45 elliott, ouch :( 22:11:54 Phantom_Hoover_: Perfectly cromulent. 22:12:01 elliott, I agree. 22:12:06 Vorpal: itertools has permutations 22:12:08 ah 22:12:25 >>> from itertools import permutations 22:12:26 I also think that, logically, the first person pronoun should be made universally "we". 22:12:28 >>> list(permutations([1,2,3])) 22:12:31 [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)] 22:12:32 Too slow am I. 22:12:38 I blame the phone. 22:12:40 System is 827 kB 22:12:42 Wheew. 22:12:52 Thus removing all singular/plural distinction in the English pronoun system. 22:12:53 Phantom_Hoover_: We are amused. 22:13:04 fizzie: "Too slow am I. The phone I blame." 22:13:15 Phantom_Hoover_: Also, there IS singular/plural distinction. 22:13:19 you/y'all 22:13:50 WHY IS NETWORK BROKE 22:13:52 I'd go for "youse", personally. 22:14:08 it gave me a list of tuples. Why... 22:14:10 "Is it true that the plural of 'y'all' is 'all y'all'?", I saw asked somewhere. 22:14:24 (as in, why tuples) 22:14:28 Vorpal, BECAUSE YOU ARE HEADCRAB ZOMBIE! 22:14:41 Well, they're known-length sequences. 22:14:49 fizzie, ah right, makes sense 22:15:13 fizzie, I'll just process the result with sed anyway XD 22:15:17 Since it's from itertools, it probably also gives you a generator, not a list. 22:15:30 http://qntm.org/dna 22:15:33 * Phantom_Hoover_ ponders this. 22:15:33 fizzie, yes indeed I passed it to list 22:15:36 since I needed a list 22:15:43 [[# (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 But they're regular genes, not eternal ones. 22:16:19 Hmm, perhaps not... 22:16:32 Phantom_Hoover_: They're eternal in the sense that if you trace their history, it is an infinite loop. 22:16:40 Gregor, no, that's the thing. 22:16:54 They're from Fry's mother, whose genes are entirely normal. 22:17:29 I feel an infinite geometric series coming on... 22:17:33 Phantom_Hoover_: Isn't Fry's mother's side the side that Fry is on? 22:17:39 Gregor, no. 22:17:56 Fry is his own paternal grandfather. 22:17:57 What kernel module implements qemu's default network card? 22:18:14 Phantom_Hoover_: Oh, then that's a weird statement. 22:18:38 Gregor, but I can see a justification through the haze of my ape brain. 22:18:47 Phantom_Hoover_: Where did you get that quote from? 22:18:51 It's just proving hard to pin down. 22:18:55 I just linked to it. 22:19:02 http://qntm.org/dna 22:19:41 * Phantom_Hoover_ decides to reduce it to a toy model. 22:19:50 Phantom_Hoover_: Ohhh, I was thinking about Yancy JR 22:20:16 Phantom_Hoover_: Which made the whole thing kinda nonsense :P 22:20:32 OK, let's reduce the human genome to 4 chromosomes, in 2 homologous pairs. 22:20:49 `addquote OK, let's reduce the human genome to 4 chromosomes, in 2 homologous pairs. 22:20:49 238) OK, let's reduce the human genome to 4 chromosomes, in 2 homologous pairs. 22:21:17 (This ignores a few things, most interestingly that Fry's Y chromosome is completely eternal.) 22:22:04 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 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 Phantom_Hoover_: I just call that "Saturday". 22:26:49 Phantom_Hoover_: don't forget chromosomal crossover 22:27:05 oerjan, LALALALALA I CAN'T HEAR YOU 22:27:12 :D 22:28:27 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 I JUST WANT A SMALLX TARBALL 22:29:10 Gregor, yes, but 45% is effectively identical to incest genetically. 22:29:15 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 There's a reason they call it wincest! 22:29:34 Sorry, *sibling incest. 22:29:41 [[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 Parental incest is... the same, actually. 22:29:44 If you're not a code-jockey 22:29:48 why are you trying to replace X.Org. 22:30:48 Seriously. Anyone. SmallX. Please. 22:30:59 I *think* this might come down to a fixed point... 22:31:23 elliott: ftp://ftp.mayn.de/pub/really_old_stuff/unix/x11/tinyx/XVGA16.tar.gz 22:31:42 Gregor: I love you. How did you find that? 22:31:52 elliott: I googled for the tarball name. It was REALLY difficult. 22:31:59 Gregor: That's what I did, so fuck you :P 22:32:06 elliott: I googled it harder. 22:32:13 ...OK, googling for XVGA16.tar.gz works WAY better than "smallX tinyX" 22:32:24 "tarball name" :P 22:32:38 Gregor: Oh for fuck's sake, it looks like it's just XFree86 TinyX. 22:32:55 OK, I think I have a vague grasp on the thing about the maternal eternal genes. 22:32:58 Xtinylib.tar.gz BETTER have some real code. 22:33:13 elliott: I'm betting ... no. 22:33:42 Gregor: lolso, teach me how to use the modular X build system. 22:33:56 All I want is a single KDrive and Xlib with EVERYTHING DISABLED :P 22:34:02 Probabilistically, 25% of Yancy's genes are inherited from his wife. 22:34:08 At least. 22:35:36 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 "ignore the shitload of stuff it builds AFTER the xserver" 22:35:55 how disable :| 22:36:08 elliott: That's a list of packages essentially, just don't do them. 22:36:26 Gregor: Anyway, last I checked the only way to build was (1) 10000000 tarballs or (2) git repository. 22:36:27 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 elliott: For kdrive, I'd estimate 10 tarballs. 22:36:43 -!- MigoMipo_ has quit (Read error: Connection reset by peer). 22:36:51 Gregor: over-modular more like 22:37:03 elliott: Yes, it is over-modular, but I'll still take it over imake any day :P 22:37:12 (The main thing is that splitting the proto and lib packages was a weird decision :P 22:37:14 ) 22:38:16 http://www.x.org/releases/X11R7.5/src/xserver/ 22:38:20 Is this the right thing? :p 22:39:15 Gregor: And are you suuure it doesn't have 16-bit VGA? 22:44:26 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 Gregor: Dude. 22:48:38 hm sshfs has some delays that shouldn't be there I think 22:48:54 sure you don't see a remote file created straight away (on the client side) 22:49:05 but you should see the files you just wrote surely 22:51:06 Gregor: Sooo, is there a simpler way than fetching those manually? 22:51:18 Vorpal, I know this will sound suspicious, but where's the throne room gone? 22:52:01 Phantom_Hoover_, what throne room? 22:52:21 Vorpal, oh. You're playing this game. 22:52:26 Rather childish. 22:52:29 Vorpal: You know, the throne room. 22:52:37 It's the room with the throne. 22:52:43 Phantom_Hoover_, I'm not playing any game. I'm printing a report 22:53:03 Phantom_Hoover_: What do you mean where has it gone? 22:53:14 elliott, oh. That. It's in Buckingham Palace. 22:53:26 (or its or whatever) 22:53:28 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 well I could tell you. If you were here 22:57:40 not sure I would. I seriously didn't have time for MC today, yet I had to clean up his mess 22:58:47 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 oh well 23:00:51 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 (note, windows compat is not an issue in this case) 23:01:07 (if it was, it would mean zip) 23:01:20 so tar.bz2 still has it's uses 23:08:14 Vorpal: If you want to make sure everyone can open it, you should use compress. 23:08:31 If you actually want something that *sane distros* can open, use xz. 23:08:40 pikhq, no, because that would confuse people. Thus they couldn't open it. 23:08:58 Vorpal: Okay, y'know what? 23:09:01 Vorpal: Sharballs. 23:09:04 Vorpal: You may only use shar. 23:09:05 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 thus best bet: tar.bz2 23:09:20 or tar.gz 23:09:32 but the tar.gz is too large for the email system. 23:09:38 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 (lots of data files included) 23:09:44 pikhq, I have no idea 23:09:44 Ended up installing hMod. 23:09:56 ineiros, oh, interesting 23:10:11 ineiros, any user guide to it? 23:10:31 There's a wiki. 23:10:50 ah 23:11:02 fizzie, is it so complex that a single page isn't enough? 23:11:34 http://wiki.hey0.net/index.php/Main_Page 23:11:44 oh my... what a long commands page 23:12:01 It's got those, and lots of plugins. 23:12:14 " * Command: /help --- Shows a list of commands (7 per page). " 23:12:21 mhm 23:12:39 ineiros, any kits defined? 23:13:05 Pretty much default configuration, didn't yet check anything else. 23:13:24 fizzie, also inconsistent. It has /kit without parameters to list kits, but /listwrap instead of /wrap without parameters 23:13:32 err 23:13:34 warp* 23:13:37 (in both cases) 23:13:50 and why /lighter 23:13:56 I mean, shouldn't that be a kit :P 23:14:17 /getpos looks useful. I had a lot of issues trying to work out offsets when building that trap 23:14:41 xz sucks because of cpu usage 23:15:07 elliott, sometimes, such as when preparing a release tarball, that is not an issue 23:15:07 ineiros: disabled health? 23:15:10 I think /lighter is not a kit because t was ported from some other thing. 23:15:17 Vorpal: but unpacking it still uses cpu. 23:15:37 elliott, technically so does everything unless you have a separate accelerator chip for that algorithm 23:15:46 which uses DMA 23:15:58 Vorpal: more cpu than gzip though 23:16:00 or bzip 23:16:07 elliott, gzip is very cpu-friendly 23:16:08 or azip :) 23:16:17 and bzip2 uses a lot more cpu for unpacking 23:16:21 I'm pretty sure about that 23:16:25 not sure about bzip 23:16:30 prolly true 23:16:31 but no one uses that any more 23:16:45 i've never cared that much about ultra small compression in common usage 23:16:53 networks aren't so slow that wasting minutes compressing a tarball is worthwhile 23:17:22 elliott, depends on what you plan to do with it. Download it over 3G? EDGE? Pack it on an install cd? 23:17:23 elliott: xz decompression is actually more CPU friendly than bzip2. 23:17:42 Unless you're using xz -9 or something. 23:17:42 edge is not that bad. 23:17:44 But that's crazy. 23:17:48 pikhq: Vorpal prolly does 23:17:48 :p 23:18:06 elliott, I used it for testing if it was worthwhile. It wasn't. 23:18:17 It gets you, like, bytes of benefit. 23:18:18 but no I haven't used -9 beyond some basic testing of xz 23:18:24 And adds hours. 23:18:26 pikhq, -9 -e ! ;P 23:18:45 pikhq, note: I only did that as a test. And it saved like 1 MB on an ISO 23:18:53 took 10-15 minutes to compress 23:18:58 I wish lzma(1) had -10 --super-mega-brutish. For Flinix :) 23:19:13 Vorpal: Pah! ESO distributed the ICFP ISO COMPLETELY UNCOMPRESSED in... 2009? 2010? 23:19:23 And used up our entire bandwidth for the month I might add (100 gigs) 23:19:26 elliott, ICFP? 23:19:31 -!- Sasha2 has joined. 23:19:35 or was it 150 gig 23:19:43 -!- Sasha has quit (Ping timeout: 264 seconds). 23:19:47 Vorpal: international conference on functional programming. they run a popular programming contest each year 23:19:54 elliott, heh 23:19:58 they distributed an iso to provide a common testing environment for everyone 23:20:00 Vorpal: heh? 23:20:06 elliott, maybe uncompressed was a bad idea then 23:20:08 btw not only functional programmers participate 23:20:10 it's woooorld famous 23:20:13 if it used the entire bw for that month 23:20:19 Vorpal: http://www.boundvariable.org/ you have probably seen this 23:20:22 http://www.boundvariable.org/task.shtml 23:20:26 that's the 2006 contest 23:20:36 elliott, ah yes that URL I remember 23:21:37 linux is so bloated, what is it spending 480K on 23:22:05 elliott: Herring for penguins. 23:22:37 pikhq: *complete copy of Wikipedia to comply with the GFDL 23:22:46 `quote GFDL 23:22:59 * elliott makes quote search case-insensitively 23:24:02 -!- Sasha2_ has joined. 23:24:03 Gregor: lolbroke 23:24:08 153) * Phantom_Hoover wonders where the size of the compiled Linux kernel comes from. To comply with the GFDL, there's a copy of Wikipedia in there. 23:24:13 yay 23:24:14 pikhq: ^ 23:25:30 elliott: Also herring. 23:25:47 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 pikhq: Did that kernel of yours ever do anything? 23:28:19 OMFG I JUST HAD THE BEST IDEA EVER GREGOR GREGOR GREGOR 23:28:21 Gregor 23:28:33 GREGOR GREGOR GREGOR Gregor IS the best idea ever. 23:28:42 Gregor: You know how much you love SysV? 23:28:56 I lurve it with a spatula. 23:28:59 Gregor: #ESOTERIC SHOULD PORT A IT OR A UNIX OF SIMILAR VINTAGE TO I386. 23:29:16 How hard can it be! SysV was like the most portable OS ever! And old Research Unixes had stupidly simple kernels! 23:29:19 System V ran on 386 :P 23:29:20 And it would be AWESOME. 23:29:25 Gregor: ...oh. 23:29:27 Gregor: well 23:29:29 Gregor: RESEARCH UNIX 23:29:29 System V ONLY ran on 386. 23:29:40 We should port it to x86_64 though :P 23:29:46 (Except the source to System V is of course not available) 23:29:46 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 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 Gregor: ha ha faggot 23:30:12 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 what i'm saying is: fag 23:30:25 Oh yeah, R4 and later >_> 23:30:31 SysVR<=3 sucked anyway :P 23:30:32 R4 = ELF 23:30:48 Gregor: OK then. Unix Nth Edition (for low N. Like say fourth edition because previous versions were written in assembly.) 23:30:57 1st edition code is available at least :p 23:31:26 Gregor: "WAIT I KNOW LET'S WRITE OUR OWN UNIX-COMPATIBLE FROM SCRATCH AND DISTRIBUTE IT FREELY OVER THE INTERNET." 23:31:43 /nick Leenyos_Torovoltos 23:31:47 elliott: And let's write it in JavaScript! 23:31:48 elliott: And call it JSMIPS! 23:31:59 Gregor: Brilliant! 23:32:52 Gregor: Seriously though, research Unix on 386, how cool would that be (answer: mega cool) 23:33:58 I HAS KITTY 23:34:05 Gregor: AWESOME AWESOME AWESOME VERSION 1-7 UNIX IS UNDER FOUR-CLAUSE BSD 23:34:21 Gregor: (VERSION 7 CAME OUT IN 1979 :P) 23:34:34 [[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 WHY DO YOU RUIN OUR FUN 23:34:43 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 what 23:34:49 how is anyone as crazy as us 23:34:59 Gregor: Dood http://www.nordier.com/v7x86/index.html :P 23:35:09 elliott: WE LOSE 23:35:12 elliott: How 'bout Unix 32v? 23:35:24 There are presently a few supplementary V7/x86-specific documents available: 23:35:25 v7x86asref.pdf V7/x86 Assembler Reference Manual 23:35:25 v7x86intro.pdf Using V7/x86: A Brief Introduction 23:35:43 Gregor: But Unix 32v is Seventh Edition ported to VAX :P 23:35:47 Gregor: So it's the same thing. 23:36:09 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 Gregor: HOWEVER I bet 4th edition would be easy. 23:36:22 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 V5 is listed as "Introduced the sticky bit", what a release :P 23:36:44 6th is when people started PORTING it and we want to be the fisrt people to do anything. 23:36:51 [[xv6 is a modern reimplementation of Sixth Edition Unix in ANSI C for multiprocessor x86 systems.]] 23:36:55 [[It is used for pedagogical purposes in MIT's Operating Systems Engineering (6.828) course.]] 23:37:07 Gregor: 4th Edition LET'S DO THIS OKAY 23:37:11 elliott: FAILZ 23:37:40 elliott: Instead let's set up a publicly-available free shell service on v7x86 23:37:40 [[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 Gregor: Not xv6? :p 23:38:33 -!- ais523 has quit (Remote host closed the connection). 23:38:46 "V7 Unix introduced the first version of the modern "Standard I/O" library stdio as part of the system library." 23:39:01 [[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 MIT: Making 2002 feel just like 1975. 23:39:25 "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 Gregor: Whoa, Russ Cox was involved in xv6 X-D 23:39:46 Gregor: Also, hey, I swear off stdio and you should too. :p 23:40:01 /win/win 48 23:40:09 I lurve stdio. 23:40:22 Gregor: But it's terrible! 23:40:51 olsner: hmm, you know my microkernel design? 23:42:42 I think I just managed to invent an attokernel :P 23:44:15 Gregor: OK, I've figured it out. 23:44:27 Gregor: We should port the System V kernel as a HURD server. 23:45:26 System V kernel source isn't available. 23:45:39 Except in some enormously derivative form in OpenSolaris. 23:46:34 [[ "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 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 "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 OH DEAR GOD 23:47:03 http://tools.ietf.org/html/rfc681 23:47:04 IT' SALL IN CAPITALS 23:47:08 FILEDES = OPEN( "/DEV/NET/HARV",2 ); 23:47:08 IF( FILEDES < 0 ) 23:47:08 PRINTF(" HARVARD IS DEAD"); 23:47:08 ELSE 23:47:08 WHILE( (NBYTES=READ(FILEDES,BUF,80)) > 0 ) 23:47:09 WRITE( 0,BUF,NBYTES ); 4j1 23:47:14 HARVARD IS DEAD 23:47:36 WHY IS RFC 681 ALL IN CPITALS 23:47:38 CAPITALS 23:47:40 elliott: I can't make v7x86 boot after installing :( 23:48:11 Gregor: Probably it requires a bootloader? 23:48:15 http://www.nordier.com/v7x86/install.html 23:48:19 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 elliott: Yeah, I did that. I wonder how you think I installed without that. 23:48:51 Gregor: Sparkly magic? 23:49:03 Gregor: Try http://pdos.csail.mit.edu/6.828/xv6/ :P 23:49:23 "Understanding exec (exec.c) is left as an exercise." 23:49:37 "Xv6 does boot on real hardware" LAME 23:49:50 Gregor: JUST TRY IT MAN IT'S V6 UNIX 23:50:00 # Start the first CPU: switch to 32-bit protected mode, jump into C. 23:50:01 # The BIOS loads this code from the first sector of the hard disk into 23:50:01 # memory at physical address 0x7c00 and starts executing in real mode 23:50:01 # with %cs=0 %ip=7c00. 23:50:02 The first CPU? 23:50:04 Does it do SMP? 23:50:06 In an OS course? 23:50:13 An introductory OS course? 23:50:13 Fuck MIT is hardcore. 23:51:46 # for(;;) exit(); 23:51:46 exit: 23:51:46 movl $SYS_exit, %eax 23:51:46 int $T_SYSCALL 23:51:46 jmp exit 23:51:47 wat 23:53:50 Gregor: xv6 is kinda boring 23:54:25 :P 23:55:47 elliott: http://www.nordier.com/software/c3s.html <-- lawl 23:56:28 elliott: s/is/was/, I'm sure. 23:56:32 Gregor: Don't you mean "awesome"? 23:56:34 pikhq: wut? 23:56:35 At present, binaries are available for FreeBSD. Source code should be available at a future date. D'AWW BOO 23:56:42 pikhq: xv6 is V6 unix reimpl. for modern hardware 23:57:04 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 pikhq: No, vx6 is a new thing. 23:57:13 2006. 23:57:15 Russ Cox was involved. 23:57:28 And no, all that was changed is 6.001 or whatever it's called :P 23:57:48 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 BCPL Compiler 23:58:01 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 ACK 23:58:01 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 elliott: SMP in an intro OS course? Fuck MIT is hardcore. 23:58:50 pikhq: I TOLD YOU 23:58:55 I'm not sure it is though. 23:59:11 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 anyone have any idea how to do this 23:59:18 without writing a new compiler? 23:59:18 :p 23:59:32 Or, well, without writing a *complicated* new compiler. 23:59:44 (for safety, that is; you can easily do this if you let processes do whatever they want) 2010-12-08: 00:00:20 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 pikhq? Gregor? Nobody? C'mon, you guys are smart! Invent! 00:03:00 elliott: Here, let me wave my magic wand. 00:03:02 * pikhq waves 00:03:15 Voila, Gregor is now devoted to making it happen. 00:03:22 yay! 00:03:45 (I can make no guarantees about which universe possesses said Gregor. But somewhere out there, a Gregor is making it happen.) 00:04:03 Gregor: Gogogo 00:09:07 Gregor: GO 00:09:19 STOP 00:09:56 Gregor: HOW WOULD ONE CREATE SUCH A LANGUAGE SIMPLY 00:10:32 I don't understand how your request was language-related :P 00:10:34 Or compiler-related 00:11:03 -!- Mathnerd314 has quit (Ping timeout: 276 seconds). 00:11:52 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 Gregor: This can be done safely by using a memory-safe language -- Python, Haskell, whatever. 00:12:16 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 (i.e., it doesn't allocate oodles of memory itself, implementing it is a job for two or three weekends, etc.) 00:12:53 Mmmmmmmmmmmmmmmmmmmmmmmmmmmmm 00:13:20 Gregor: Turn that mmmm into IDEAS! 00:13:30 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 Gregor: You do realise that compilers like, say, GHC manage this perfectly well? :P 00:14:12 The question is basically "what's the simplest memory-safe language you can compile easily and semi-efficiently?". 00:14:29 elliott: The loader can't verify the correctness of a compiled GHC binary. 00:14:36 Gregor: It doesn't have to. 00:14:48 Gregor: Assume, for the sake of discussion, that the government shoots anyone who uses another compiler on sight. 00:14:56 So the asm code can be as dirty and perverted as it wants. 00:15:05 As well as a hex editor I suppose :P 00:15:11 Gregor: Indeed. 00:15:15 elliott: Well, it's a much simpler problem in that case. 00:15:23 Indeed! But still not EASY. :p 00:15:28 No :P 00:15:34 I'm still not doin' it ;P 00:15:43 Gregor: You just have to tell me HOW, y'see :P 00:15:49 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 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 Err: It's an enormous TASK, but it's not COMPLICATED, just tedius :P 00:18:36 -!- Mathnerd314 has joined. 00:19:55 Gregor: "tedius" 00:20:36 I don't like using "ou" because it makes me feel British, but "tedios" doesn't read right. 00:22:56 Gregor: Being British isn't all that bad once you get past the sodomy. 00:24:05 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 TODO: X11! Gunfights! Duel at dawn! Write a goddamn OS! YEAAAAAAAAAAAARGH 00:30:04 -!- elliott has quit (Quit: Leaving). 00:30:19 “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 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 It is quite astounding how huge kdrive is :P 01:05:41 With every --disable option available specified, it's 1.4MB and has numerous library dependencies. 01:07:44 (624K UPX'd) 01:13:14 -!- whoami has joined. 01:14:17 `whoami 01:14:18 No output. 01:14:23 `run whoami 2>&1 01:14:24 /usr/bin/whoami: cannot find name for user ID 2029988 01:14:32 Yes, it is truly a mystery .. 01:14:45 on cmd.exe? :p 01:14:55 ... 01:14:59 Leave. 01:15:03 Windows references are not tolerated. 01:15:18 * oerjan swats Gregor -----### 01:15:21 :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 Gregor: Sure, dynamically linked. 01:56:00 pikhq: That's my point! It's friggin' enormous and we're only seeing half the size :P 01:57:05 Made me think about JSMIPS again for some reason ... 01:58:08 -!- augur has joined. 02:03:32 augur 02:03:34 -!- augur has quit (Remote host closed the connection). 02:03:37 >: 02:03:41 how rude! 02:04:09 -!- augur has joined. 02:04:23 hey augur 02:04:25 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 `translate the entire topic please 02:38:09 the entire topic please 02:42:41 wow 02:42:57 was that lag on HackEgo's end? 02:43:06 took like 30 seconds... 03:04:46 HackEgo tends to be slow the first time it's used after a while. 03:04:53 `translateto sv Should be faster now. 03:04:55 Bör vara snabbare nu. 03:05:37 `translate 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 03:05:38 The channel is currently being Red China's control. Please continue to esoteric activities without interference. 03:05:46 `translate 光榮的中華民國應收回這個主題的一些日子! 03:05:47 Glorious Republic of China should recover some of this theme day! 03:06:03 `translate חנוכה שמח, הגויים! 03:06:04 Happy Hanukkah, the Gentiles! 03:06:13 `translate sed อยู่เสมอดีกว่า Perl! 03:06:14 sed is always better than Perl! 03:09:42 -!- frontier has joined. 03:13:02 -!- augur has joined. 03:14:09 # ls --version 03:14:10 ls (GNU coreutils) 8.7 03:14:11 On JSMIPS 03:14:46 goneriku: hi 03:14:54 hey 03:15:10 hello? 03:15:12 I knew your nick was familiar 03:15:18 ok? 03:15:21 Zbber? 03:15:24 yes 03:15:32 ah so 03:15:34 who are you in isharia 03:15:40 I don't go to ish 03:15:46 only #erelae 03:15:47 I am gonorrhea there 03:15:48 who are you on the forum? 03:15:51 <- 03:15:53 horrible 03:16:08 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 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 I am sure there is something wrong with TNTNT.... 04:22:16 Anyone reading Machine of Death: ALMOND is hilarious 04:22:35 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 Sgeo: What are you reading? 04:23:34 Machine of Death 04:24:32 What is that? 04:25:44 Collection of short stories about a machine that tells people how they're going to die 04:26:06 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 OK. I suppose it is supposed to be ambiguous! 04:27:36 It has to be! 04:28:37 Today I made a big spider, it is one metre long. 04:28:48 "Oh, I almost forgot the best card: DISK 04:28:49 ERROR. I had to run that one three times before I was convinced 04:28:49 that the guy would die from DISK ERROR and there really was 04:28:49 nothing wrong with the machine. " 04:30:11 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 Please tell me how many things are wrong with [[TNTNT]] 04:42:28 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 hi 12:12:52 hi 12:13:06 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 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 17:05:12 It is quite astounding how huge kdrive is :P 15:52:14 17:05:41 With every --disable option available specified, it's 1.4MB and has numerous library dependencies. 15:52:14 17:07:44 (624K UPX'd) 15:52:19 Gregor: Link it with dietlibc. 15:52:27 CC="diet -Os gcc" CFLAGS="" 15:52:51 Gregor: (That'll auto-staticify.) 15:56:25 -!- geekthras has joined. 15:59:05 elliott: Doesn't compile :P 15:59:05 fucking internet echo chamber 15:59:08 -!- Phantom_Hoover has joined. 16:05:11 Gregor: How so? 16:05:14 Gregor: Tried uClibc? 16:06:10 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 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 Meh meh meh I want X11 but I'm unwilling to put any effort at all into it waaaaaaah 16:18:05 Gregor: Spending effort on Flinix is undoubtedly wasted time, and you've wasted most of it anyway :P 16:18:10 *wasted most of it for me 16:18:29 You need to get back to Kitten :P 16:18:57 Gregor: Sure; get me a coreutils! 16:19:21 Gregor: Or just rebuild KDrive for me :P 16:20:24 But OH NOSE 16:20:29 KDrive is under the X11 license! 16:20:42 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: Doesn't compile :P 16:21:43 Gregor: I THOUGHT YOU'D ALREADY TRIED HMMMM 16:22:15 What can I say, I'm evil *shrugs* 16:22:58 Gregor: OK, I'll never bother you ever again* if you link me to all the KDrive dependencies :P 16:23:00 *for at least five minutes 16:25:36 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 Phantom_Hoover, down? 16:36:23 It's fine for me. 16:36:33 up again 16:36:34 -!- nooga has joined. 16:37:01 Phantom_Hoover: Here now. 16:37:27 -!- MigoMipo has quit (Read error: Connection reset by peer). 16:38:52 ineiros, would you consider the MoveCraft mod for hmod? 16:39:03 s/mod/plugin/ 16:39:03 ineiros: Did you disable health w/ hMod? 16:39:06 What does it do? 16:39:26 ineiros, allows you to move ships clunkily. 16:39:43 Actually, I'll test it locally first, then report on the results. 16:40:35 ineiros: y/n/q? 16:40:46 (Q stands for Quooley, the third boolean.) 16:40:54 (Tell your friends.) 16:42:25 elliott: I think so. At least I didn't get any damage from lava. 16:42:30 Your mileage may vary. 16:42:36 W00t. 16:42:41 Phantom_Hoover: Maybe. 16:42:42 (I haven't said w00t since, like, 2004.) 16:42:44 Time to log in. 16:42:52 ineiros: Are there any warp points yet? :p 16:43:34 "Vote for net neutrality!" --yellow; this game is so totally neutral. 17:03:37 -!- geekthras has quit (Ping timeout: 245 seconds). 17:13:06 elliott, down? 17:13:38 Maybe so. 17:13:42 Vorpal: I swam down the waterslide. 17:13:49 elliott, which waterslide? 17:13:55 elliott, near the subtree? 17:13:55 Vorpal: The one where the stairs are. 17:14:09 elliott, the one that the cobble path goes around? 17:14:13 near the subtree? 17:14:16 Vorpal: No. 17:14:25 Vorpal: It's hidden in the beach's pool. 17:14:30 (The entrance.) 17:14:46 mhm 17:14:54 elliott, you mean that hole in the pool? 17:14:55 right 17:15:07 Yes. 17:15:23 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 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 Vorpal: back up btw 17:34:18 -!- Phantom_Hoover has joined. 17:35:09 -!- augur has joined. 17:37:00 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 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 "The affair that we have somehow managed to avoid calling 'Arsenicgate' ..." ...right 17:58:35 (http://www.guardian.co.uk/science/the-lay-scientist/2010/dec/08/2) 17:58:53 Vorpal: dwon? 17:59:57 -!- nopseudoidea has quit (Quit: Quitte). 18:04:26 -!- nooga has quit (Ping timeout: 240 seconds). 18:06:03 Phantom_Hoover: Hey, which blocks do I break in the ROU's cobble factory? 18:17:09 "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 heh 18:28:43 Slereah: I like how there's spokesmen now. 18:28:47 Like... everyone? 18:29:54 [[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 Slereah: A THOUSAND 18:30:26 NEEEERD 18:31:40 "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: dwon? <-- no clue, just got back from eating 18:37:03 it's up 18:38:55 elliott, did you break the ROU factory? 18:39:02 Haven't even tried it. 18:39:12 ah, can show you in a bit which blocks 18:39:16 I need two bukkits, lava, and water right now :P 18:39:26 I have 40 cobbles. 18:39:29 elliott, fizzie is on and I told him what happened :P 18:40:29 elliott, also why not do like the rest of us: make buckets. 18:41:21 Vorpal: i am. i'm trying to find iron. 18:41:23 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 Vorpal: down? 19:13:13 elliott, gah think so 19:14:14 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 !bf +[.+] 19:28:26 19:28:36 * tswett nods solemnly. 19:33:16 Hey, where's fungot? 19:33:38 (It filters that sort of stuff.) 19:33:41 (I think.) 19:33:55 -!- fungot has joined. 19:34:13 ^bf +[.+] 19:34:13 .. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ... 19:34:21 (You thought wrong.) 19:34:27 Apparently so. 19:34:42 I thought it was <32, but maybe it was just cr/lf. 19:36:37 ^bf +++++++++[>+++++++++>++++++++<<-]+.>-.>+.<--.>--.<<. 19:36:54 Too bad all the replies are NOTICEs. 19:37:27 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 fizzie: not it floors on odds too, it has lambdas! sort of :) 19:38:05 !bf-txtgen fungot 19:38:06 tswett: the future of oop: an abstract framework of abstract metaclasses. :p 19:38:18 73 +++++++++++++[>++++++++>+++++++++>+><<<<-]>--.>.-------.<+.>+.+++++.>---. [365] 19:38:18 fungot's words sound correct. 19:38:18 tswett: yes, but lisp. and it doesn't happen." 19:38:47 !bf +++++++++++++[>++++++++>+++++++++>+<<<-]>--.>.-------.<+.>+.+++++.>---. 19:38:47 fungot 19:39:08 fungot: I think you're forgetting something. 19:39:09 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 ++++++++++[>++++++++>+++++++>+++>++++++++++<<<<-]+.>.>+++.<--.>--.>++.>++.+++++++++++++++.-------.-------.++++++++.+++++.<<<<. generates a CTCP "PING fungot" request, but it doesn't do anything special. 19:39:13 fizzie: might be fake nevertheless, he eventually obtained them, and the 19:39:18 fungot 19:39:18 tswett: fnord pasted " eval in a " fnord 19:39:39 It has all these different styles, in case you haven't seen 'em. 19:39:40 ^style 19:39:40 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 ^style youtube 19:40:06 Selected style: youtube (Some YouTube comments) 19:40:14 fungot: how stupid do you sound now? 19:40:14 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 That has a relatively small training corpus. 19:40:32 fungot: yup, you sound pretty stupid. 19:40:32 tswett: according to the fly-by-wire systems... :( 19:40:40 fungot: how long until you start repeating stuff? 19:40:40 tswett: final statement on this game in terms of scope there will be considered of the evening and a longer runway. 19:40:50 fungot: are you talking about airplanes? 19:40:56 fungot: hopefully rare indeed 19:40:56 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 I think one of the videos included was some news clip about a plane crash. 19:41:16 fungot: what's wrong with the runway? 19:41:16 tswett: idk that just to say good job 19:41:33 "fisher" sounds pretty stupid occasionally too. 19:41:36 fungot: ah, yes, you're right; it would be ridiculous to expect everyone to know that. 19:41:36 tswett: pretty good. the plane 19:41:50 fungot: to be quite honest, though, I've seen better planes. 19:41:50 tswett: every time you're caught out, there wasn't anyone on the plane 19:42:01 He's very interested about planes. 19:42:17 fungot: yeah, I've noticed that, too. Where do you figure they all went? 19:42:17 tswett: you ridiculed yourself here. who taught you that? then maybe u kno- it is 19:42:23 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 ^style fisher 19:44:30 Selected style: fisher (Fisher corpus of transcribed telephone conversations) 19:44:42 fungot: How's it going? Isn't that what people say on the 'phone? 19:44:42 fizzie: very good actually it was something you know that that at least laughter 19:45:01 fungot: I think you're not supposed to say "laughter" out loud. 19:45:02 fizzie: ( ( noise)) affirmative action i don't know i 19:47:02 fungot: I liked that noise; can you make some more of the same? 19:47:03 tswett: hi where are you calling from 19:47:14 fungot: I'm calling from Allendale, MI. You? 19:47:14 tswett: by being too informed 19:47:40 fungot: oh, sorry. I didn't mean to give you too much information. 19:47:40 tswett: is it is 19:47:50 fungot: yes! 19:47:50 tswett: ( ( okay noise)) that have special human interest aspects that that appeal to me 19:48:43 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 ehird: down? 20:05:07 Vorpal: seemingly. 20:05:30 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 Vorpal: down? 20:25:47 -!- nooga has quit (Read error: Operation timed out). 20:25:55 -!- FireFly has joined. 20:30:39 elliott: seemingly. 20:30:57 tswett: seemingly. 20:31:54 mingle yes 20:32:27 oerjan: seemingly. 20:32:44 -!- nooga has joined. 20:32:52 Hi, everybody! 20:34:17 i don't know anyone by that name 20:35:59 ineiros, more annoying questions! 20:36:06 Can you turn the Nether on? 20:36:44 would anyone with an e2 account like to proofread my essay about how Facebook does not destroy real relationships? 20:37:19 Phantom_Hoover: You can make the world nether-only. 20:37:24 quintopia: Yes it does. 20:37:41 quintopia: (And lawl @ using e2, not being Sam Hughes, and it being 2010 all in conjunction with each other.) 20:37:45 elliott: so you want to critique my essay then? :P 20:37:56 I know of... two peo 20:37:58 elliott, but you can't make it accessible from the normal world? 20:38:00 ple in here that use Facebook. 20:38:03 Phantom_Hoover: Nope. 20:38:13 elliott: the essay i am rebutting is on e2 (written in 2008) so i created an account just to post it 20:38:24 elliott, curses! 20:38:42 elliott: if I am not one of them, then make that three. 20:39:00 tswett: Okay, three. 20:39:12 quintopia: You'll get mauled. 20:39:28 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 `addquote Vorpal's pregnant. yes 20:50:40 `addquote (had real world issues) (to deal with) Vorpal's pregnant. yes 20:50:42 HackEgoooo. 20:51:26 239) Vorpal's pregnant. yes 20:51:27 239) (had real world issues) (to deal with) Vorpal's pregnant. yes 20:51:35 `quote 239 20:51:36 239) (had real world issues) (to deal with) Vorpal's pregnant. yes 20:51:38 yay 20:52:19 Vorpal: congrats! 20:52:41 Sounds like Minecraft! 20:55:49 fizzie, it was a timing issues 20:55:56 fizzie, I was answering a different question 20:56:00 elliott, it seems down 20:56:09 elliott, you will get bucket back as soon as I get on 20:56:22 Just as I joinened it goes down. Coincidence? I think not. 20:56:24 up 20:56:30 fizzie, yes I blame your viewing distance 20:56:41 My viewing distance, which is called "normal". 20:57:05 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 quintopia: No, it's just a clash with the VCS. 20:57:20 I got lucky. 20:57:42 hmmm 20:57:49 ik heb haar in je ogen :/ 20:57:53 quintopia: It did both separately and tried to merge the commits. 20:59:06 oh 21:00:00 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 [[ 21:00:09 /127.0.0.1 connected 21:02:09 21:00:14 Kicking /127.0.0.1: You need to log in! 21:02:09 21:00:14 /127.0.0.1 disconnected]] 21:02:24 (Client crashes.) 21:02:43 elliott: fllinix status? 21:05:34 Anyone know what I'm doing wrong? 21:05:40 elliott, you managed to get it working. 21:06:48 What is MC? 21:06:56 quintopia, Minecraft. 21:07:03 ah 21:07:46 elliott, was there anything you needed to mess with? 21:08:41 -!- Sasha2 has joined. 21:09:37 Phantom_Hoover: I have no idea what you did wrong. 21:09:40 Although... log in... hmm. 21:09:41 I forget. :/ 21:10:01 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 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 Gregor: I'm lazy as FUCK. 21:11:46 elliott: If "FUCK" is an extreme form of "lazy" to you ... nah, I don't want to finish this sentence. 21:13:16 well 21:13:42 coudn't you just compress the whole thing and then decompress to ramdisk at boot ? 21:13:52 i mean the whole thing 21:13:58 that way you could cheat 21:15:56 nooga: duh, of course that's what i do 21:16:00 embedded initramfs LZMA-compressed 21:18:21 nooga: still small 21:19:54 Perhaps elliott gets all his sexual pleasure by lying on the couch and having erotic dreams. 21:20:24 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 tswett: IT'S ALL TRUE 21:21:48 elliott: just to bring you up to speed, you are now my baby nephew. 21:23:04 wtf, elliott is a nephew and his uncle is here? 21:23:42 what 21:23:46 Heck yes I'm elliott's uncle. 21:24:12 -!- goneriku_ has joined. 21:24:44 What the whatting what? 21:25:01 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 His mom is my sister. 21:26:53 you both like the letter t 21:27:06 It's not my fault my name has lots of Ts in it. 21:27:30 tswett: it's your fault you haven't chosen another one 21:27:43 Yeah. 21:29:21 `addquote elliott: just to bring you up to speed, you are now my baby nephew. wtf, elliott is a nephew and his uncle is here? what Heck yes I'm elliott's uncle. 21:29:29 240) elliott: just to bring you up to speed, you are now my baby nephew. wtf, elliott is a nephew and his uncle is here? what Heck yes I'm elliott's uncle. 21:32:54 `quote 21:32:56 112) think of all the starving kids in china who don't have rotting sea life to eat 21:33:01 `quote 21:33:02 165) you don't have an urethra, you're a girl. 21:33:08 ... 21:34:05 `quote urethra 21:34:07 165) you don't have an urethra, you're a girl. 21:34:22 There is a 100% likelihood that that is the only quote containing the word "urethra". 21:34:43 A naive statistician would interpret this to mean that there is a 100% probability of the same. 21:35:21 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 Since the total likelihood is infinite, it is obvious that all numbers are not equally likely. 21:36:46 Gregor: tswett: That was directed to me :P 21:36:59 Who are you talking to? 21:37:03 hmm, girls don't have urethra? 21:37:07 165) you don't have an urethra, you're a girl. 21:37:07 ... 21:37:07 `quote urethra 21:37:14 Girls have urethras. Short ones. 21:37:26 X_X 21:37:33 * Gregor kills you all :P 21:37:38 Gregor: I don't have a urethra, I'm a girl. 21:37:44 They go straight from the bladder to the outside world, unlike boys' stupid loopy urethras. 21:38:23 They remove their bladders and squeeze them out like a washrag. 21:38:37 detachable bladder! sweet 21:39:01 Blad, bladder, bladdest. 21:39:15 It's too bad that, all being male, we can't know the joy of detachable bladders. 21:39:26 Let's get sex changes! 21:39:28 ALL of us! 21:39:39 Oh, my mistake. The male urethra isn't loopy; it's S-shaped. 21:40:02 elliott: they probably don't make the bladder detachable as part of that 21:40:11 olsner: But then why would anyone do it? 21:40:18 dunno 21:40:42 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 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 You can actually block the flow of--wait, is this TMI? 21:42:56 No. 21:42:59 Absolutely not! 21:43:10 Okay. 21:43:32 You can actually block the flow of urine by pressing in a certain spot between your legs. 21:45:07 heh 21:45:07 istr that's kind of a dangerous maneouver 21:45:27 how to log in to an existing X session using NX 21:45:45 afaik NX just doesn't do it like that 21:46:21 Pressing in that spot? 21:46:41 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 I think someone said that there are nerves running through there, but pressing there won't cause any permanent damage. 21:47:08 Besides, whatever those nerves serve can't be very important. 21:47:38 elliott, Phantom_Hoover: down? 21:47:47 'twould appear so 21:48:02 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 Vorpal: At least I got a bunch of impressive screenshots. 21:48:05 Phantom_Hoover, also ehird is official an insensitive douchebag, do you agree? 21:48:08 I think the burning killed the server. :p 21:48:12 elliott, on the fucking huge tree before? 21:48:21 officially* 21:48:33 Vorpal: (1) I did not intend to burn every tree. 21:48:39 (2) I did not think it would spread that far. 21:48:46 (3) I am actually sorry. 21:48:47 elliott, that's not really good enough. 21:48:48 elliott, (1) in fact you did (2) in fact it did 21:48:59 (1) That is not true at all. 21:49:01 elliott, and you know how far it spread. I told you before 21:49:04 (2) I had no idea, and couldn't stop it at that point. 21:49:09 "I didn't think" isn't a good enough excuse. 21:49:15 Phantom_Hoover, exactly 21:49:19 Did elliott cause a Minecraft forest fire? 21:49:27 tswett: Maybe. 21:49:29 tswett, yes 21:49:47 Phantom_Hoover: What am I meant to do, ritualistically swat myself? 21:49:59 Phantom_Hoover: (Maybe you can sympathise with Vorpal now ...) 21:50:00 elliott, THINK. 21:50:09 At least I didn't intend to do anything! 21:50:20 elliott, think and listen to what we tell you 21:50:23 elliott, we said no 21:50:25 you went ahead 21:50:31 elliott, you only have yourself to blame 21:51:03 so, you failed to make backups and that makes it elliott's fault that something broke? 21:51:32 I thought it was common practice for people to wreck the whole world once in a while :) 21:51:42 olsner, not on this server 21:52:07 Well, backups are taken, but we're not going to use them for a couple of trees. 21:52:12 brb 21:52:16 More like... 10. 21:52:17 -!- nooga has quit (Quit: Lost terminal). 21:52:48 girls don't have urethras 21:52:51 Phantom_Hoover: If it's any consolation, there are tons of eternal on-fire trees now and it