2011-02-01: 00:00:18 also, quintopia, what do you like? 00:00:50 (also, I can't find a reason to distinguish between = and == in such a language..) 00:01:35 nddrylliog: anything that is done while naked with a member of the opposite sex, also naked 00:01:41 (seriously, like about what?) 00:02:20 quintopia, about languages 00:02:37 Let's write a programming language based on Wang tiles. 00:02:40 oh. I only like Makefiles 00:02:50 i program everything in Makefile 00:04:00 that would be a huge turn-off 00:04:29 Lymia: no. 00:04:35 why? you never have to try to remember how to call your program 00:04:37 Why not? 00:04:39 it's always just "make" 00:04:45 :D 00:04:47 Lymia: because 00:05:27 Let's make a programming language based on complex numbers. 00:05:36 make: *** No rule to make target `love'. Stop. 00:05:41 Lymia: no 00:05:45 how about a language called Bugger Overflow? You guys still haven't suggested a good language for that name. 00:05:46 tssk, no Daft Punk references. Shameful. 00:05:47 Why not? :( 00:06:00 quintopia, the only way to control program flow is to intentionally overflow buffers. 00:06:16 umm 00:06:26 how is it structured that that's the only way 00:07:13 even in C, the real damage is done upon returning from called function... 00:07:22 which is another form of control flow... 00:07:32 Figure it out. 00:07:39 O KAY 00:07:59 -!- elliott has set topic: argaarognaroijrigjieajgioajorjg. 00:08:02 it's staying like that 00:08:03 forever 00:08:31 -!- quintopia has set topic: alright, forever's up. 00:08:55 woo hooo http://bpaste.net/show/13389/ 00:09:01 -!- elliott has set topic: forever is like no times tfoij oj jlol what's this even. 00:09:17 best language evar 00:09:19 nddrylliog: "e.address.next" this is don't even i mean what is this you're 00:09:21 it should be +1 surely 00:09:23 you're just the and it 00:09:39 i really think having the address stuff in there is gonna make the logic fall down a bit :) 00:09:41 elliott, nope, + 1 iz no good 00:09:45 elliott: *you're* just the and it 00:09:52 _especially_ if you define addresses to be finite and every object to have a unique address. 00:10:21 map.c:501: error: incompatible types when assigning to type ‘Uint32’ from type ‘RGB’ 00:10:22 god what a fuck 00:10:29 so inconsiderate? 00:10:31 erm 00:10:31 elliott, + 1 doesn't mean much for adresses.. 00:10:31 wow 00:10:34 i was going to write duck :D 00:10:39 nddrylliog: sure it does, it means the address after that. 00:10:53 well ok you want +sizeof(blah), but er, you could do it like C and have +1 mean that 00:10:53 elliott, well so does anAddress.next - and it's a convention, for list-like data structures as well 00:10:57 i mean you need that anyway 00:10:57 yeah 00:10:58 but no 00:11:00 but yeah 00:11:01 i mean you need that anyway 00:11:02 but it'll be confusing 00:11:04 because address.next does that 00:11:07 yup 00:11:12 so address.next changes meaning depending on what you're addressing with it, which is just 00:11:13 your language is just 00:11:17 well 00:11:17 you need to think this through some more :P 00:11:35 I'd rather have address.next's meaning depending on what you're adressing, rather than + 1 depending on what you're adressing 00:11:35 really. 00:11:47 cause, you know, I'd expect "next" to be the next "thing", ie. the next "whatever". But I'd expect 1 = 1. 00:12:26 (I think I get it now: #esoteric is a niche social network dedicated entirely to dating elliott) 00:14:06 -!- copumpkin has joined. 00:15:26 nddrylliog: PRECISELY 00:15:33 although oerjan is also available. 00:15:40 I'd rather have address.next's meaning depending on what you're adressing, rather than + 1 depending on what you're adressing 00:15:43 but address.next means one thing 00:15:44 in your case 00:15:47 x == address.next 00:15:47 and 00:15:49 y == address.next 00:15:53 the .nexts there are evaluated differently 00:15:57 and that's just hugely fucked up. 00:16:03 UNLESS 00:16:09 you parameterise the address type on the type it's addressing 00:16:10 i.e. 00:16:10 instead of 00:16:17 "foo.address has type Address" 00:16:18 you have 00:16:23 "foo.address has type Address(foo's type)" 00:16:28 then .next could depend on that. 00:16:36 you would need conversions of course. 00:16:43 well yeah obviously 00:16:47 that's what I meant. 00:17:06 nddrylliog: so how do you write functions in this, tell it the big-O you want and it figures the rest out itself? :) 00:17:09 when i think address I think C, and.. C pointer types are somehow "parameterized" 00:17:28 re: functions: exactly! 00:18:28 -!- Behold has quit (Remote host closed the connection). 00:18:46 sure they are parameterised. (T *) has overloaded + :) 00:20:29 C? overloaded? surely you just. 00:20:31 *jest 00:21:28 Sorry elliott, I was asleep 00:21:39 Unforgivable. 00:21:49 So you hate my esolang 00:21:58 Did I say that? 00:21:59 :p 00:22:00 As for the AMD64/IA-32 PE/ELF stuff 00:22:02 WHY NOT? 00:22:07 'CUZ WINDOWS SUCKS 00:22:19 kfr, what's your esolang? 00:22:50 http://siyobik.info/misc/esolang/prime.html 00:22:55 It was just a quick joke idea 00:23:05 But writing a self hosting compiler would be massively awesome 00:23:10 Especially a portable one 00:23:56 It would probably be easier for a simpler language though 00:24:14 I wouldn't have to deal with stuff like optimising tail recursion etc 00:24:53 self-hosting? without IO? tough job 00:25:12 It prints the return value of the main "program" function to stdout at the end 00:25:15 also, without strings :D 00:25:21 hmm. 00:25:29 eh, pixley does it 00:25:29 what would it compile to? 00:25:32 So there is just one form of implicit output 00:25:41 nddrylliog: An AMD64 PE, for example. 00:25:58 No external dependencies other than kernel32.dll 00:25:59 nddrylliog: he wants to compile it to multiple executable formats because I don't know. 00:26:08 On Linux you could even do it without any shared libraries 00:26:10 Perhaps because he uses Windows and would like to convince himself that that's not a bad thing. 00:26:27 I use a variety of operating systems 00:26:49 ah right. 00:26:52 elliott I'd just like to do that because it would be really impressive and because it would take a considerable amount of effort 00:27:03 -!- variable has quit (Quit: Daemon escaped from pentagram). 00:27:07 Generating PE vs. generating ELF is not really all that much work. It's just header.s 00:27:09 *headers. 00:27:32 -!- macrohauler has joined. 00:27:36 -!- macrohauler has left (?). 00:27:44 nddrylliog: http://catseye.tc/projects/pixley/src/pixley.pix "Self-hosting" Pixley, although admittedly it is an interpreter, not a compiler. 00:27:56 elliott, yup, I googled that a minute ago 00:28:55 How is it self hosting then? 00:29:12 well with a Pixley specialiser, you can turn it into a compiler. :) 00:29:49 specialiser? 00:30:03 nddrylliog: read this: http://blog.sigfpe.com/2009/05/three-projections-of-doctor-futamura.html 00:30:18 I have no clue whether I should go with Git or Mercurial 00:30:23 For single-person projects 00:30:29 Sgeo: scapegoat 00:30:34 I'm under the impression that Mercurial's easier 00:30:37 Sgeo: more seriously: darcs. 00:30:50 but scapegoat, once scapegoat exists! 00:31:00 That's the one that's notable only due to it being Haskell? 00:31:04 what? 00:31:09 >.> 00:31:13 darcs is notable due to having the only decent UI of any version control system. 00:31:23 and also the only "major" one that treats patches in any even vaguely-sane way 00:31:31 as opposed to just treating commits as copies of the whole repository. 00:32:08 Does TortoiseDarcs exist? 00:32:10 * Sgeo googles 00:32:23 Tortoise* are all terrible. 00:32:33 i don't know why anyone would use them apart from acute brain damage 00:32:35 * kfr used TortoiseSVN and uses TortoiseGit 00:32:45 lot of brain damage today! 00:32:53 Oh, I've also used TortoiseHg at some piont 00:33:24 -!- cheater- has joined. 00:36:13 -!- cheater00 has quit (Ping timeout: 240 seconds). 00:37:08 darcs is notable for having been written in Haskell 00:38:04 And for being excessively slow in general because it has no proper protocol of its own and pulls 30 gzip files per second via HTTP which are like 1 KiB in size each, without any concurrency at that. Good grief. 00:38:12 erm. 00:38:16 when was the last time you used darcs? 00:38:21 Three days ago 00:38:26 i don't think darcs 2 does that 00:38:34 anyway, darcs isn't notable because it's written in haskell, i don't give a shit about that 00:38:35 Whenever I have to pull stuff from HackageDB it takes 10-20 min :[ 00:38:41 kfr: works for me 00:38:51 Yes, it works, but it's really slow 00:38:57 works fast for me 00:38:59 * nddrylliog 's head is spinning. 00:39:01 too.. many.. projections 00:39:04 i don't think anyone uses darcs because it's written in haskell. or at least if they do they're a moron. 00:39:14 elliott: Oh, lots of Haskell people do 00:39:17 nddrylliog: don't worry, in a few days you'll have an epiphany and then decide that all language implementations should be specialisers 00:39:21 kfr: well. whatever. 00:39:28 elliott, I've already decided that - but I have no idea how to 00:39:33 nddrylliog: :) 00:39:39 nddrylliog: writing good specialisers is "current reserach" 00:39:40 elliott: Lots of Haskell people will use software written in Haskell over superior software which does the same 00:39:56 nddrylliog: iirc there was a team that got a specialiser behaving non-trivially when applied to itself. one team. :p 00:40:14 kfr: i'm not so cynical about haskell people. although i don't talk to them much, well, i do, but in #haskell, about Haskell itself. 00:40:59 Yeah, I'm in #haskell, too 00:42:23 i'm aware :p 00:42:25 kfr, which is better, TortoiseHg or TortoiseGit 00:42:32 I have nothing else to make a decision on 00:42:52 Isn't there something about git being easier to make throwaway branches with? 00:43:44 ok Sgeo is officially infuriating enough. 00:44:24 Well I would definitely pick git over hg, it's a really pragmatic VCS used for large projects. For example, unlike every other VCS I know it comes with a filtering language which allows you to programmatically modify the history of a repository to fix old erroneous commits etc 00:44:37 modifying history is evil. 00:44:43 (it's necessary in git, but only because git is badly-designed) 00:44:48 modifying History is evil. 00:44:54 history, not so much. 00:44:56 To remove accidentally committed sensitive files, etc 00:44:58 Modifying history is _necessary_ in Git? 00:45:01 It saved my ass so many times 00:45:04 Sgeo: No 00:45:12 kfr: that's easy to do without changing history if you really have to 00:45:23 the thing is, in git, people modify history *for aesthetic reasons* 00:45:32 in fact, every "git pull" that causes a merge does a rebase! 00:45:34 that's *inasnity* 00:45:37 -!- elliott has set topic: http://208.78.103.223/. 00:45:40 -!- elliott has set topic: http://208.78.103.223/esoteric/. 00:45:41 *insanity 00:45:49 -!- pikhq has quit (Ping timeout: 240 seconds). 00:45:57 -!- pikhq has joined. 00:46:13 git is also the fastest DVCS I've used and there are convenient sites for open source projects like github 00:46:21 So, one of my friends got published in a textbook 00:46:22 Google Code with hg works, too, but it's not as fancy 00:46:30 kfr: Umm, bitbucket? 00:46:34 Don't know it 00:46:36 Come on, it's like a feature-for-feature clone of GitHub. 00:46:39 github beats bitbucket anytime. 00:46:41 It's pretty damn popular too. 00:46:50 they'll always be several steps behind... 00:46:56 nddrylliog: Sure, but saying "github exists and google code sucks at hg" is a really biased portrayal. 00:47:14 elliott, well yeah. for what it's worth, google code doesn't even really exists 00:47:15 I wonder how much that xkcd strip promoted github... 00:47:21 Google Code is pretty bad. 00:47:26 especially since the latest redesign. 00:47:27 Sgeo: Which one? :o 00:47:39 bitbucket has free private hosting, right? 00:47:47 <3 http://lesbians.github.com/ 00:47:57 kfr, that one ^ 00:48:00 http://xkcd.com/624/ 00:48:18 Odd one 00:48:25 it's a pretty crap one. 00:48:35 Dont' really find it funny, shrug 00:48:37 is there such as a thing as an odd xkcd comic? 00:48:38 its number is >600 and <8xx (for some xx i forget) 00:48:41 so that it sucks immensely is obvious 00:48:53 I think Mercurial would be dead if not for the 6-or-so high-profile projects using it. 00:49:10 Anyways, overall my preference for VCS currently is: git > hg > bzr > darcs > any centralised one 00:49:19 git really sucks in two regards though 00:49:21 I've only ever used SVN before 00:49:26 1. like half of it is written in bash 00:49:31 no it isn't 00:49:33 git is all C now 00:49:36 or at least 90% 00:49:43 (this is also why windows users stopped whining) 00:49:45 2. it doesn't have a proper API 00:49:55 You forgot to rank arch and svk. :) 00:49:56 Unlike, say, hg 00:50:00 -!- variable has joined. 00:50:02 And Codeville! 00:50:02 Haven't used those 00:50:09 They're...rather obscure. 00:50:11 I'\ve only used cvs, svn and some commercial ones 00:50:17 Arch was the first Free(TM) distributed VCS, though. 00:50:24 And also the first one that anyone really paid any attention to at all. 00:50:24 and RCS! 00:50:25 Out of the ones I didn't mention 00:50:35 RCS? pah, i use SCCS 00:51:07 elliott, ahh shoot. That's the one I was looking for 00:51:16 Which, if used for a single-person project, will give me a greater understanding of DVCS? (I kind of gather that since it's a single person project, it won't be that helpful) 00:51:57 elliott: Do you know how many binaries and bash scripts MSysGit comes with right now? 00:52:00 127. 00:52:07 Sgeo, huh, sorry but I almost always use git for my single-person projects. Branches are goodness. 00:52:14 kfr, right - but it's msys. 00:52:18 kfr: why did you include binaries? 00:52:18 It requires a full BusyBox port 00:52:23 those are irrelevant 00:52:26 we are talking about shell scripts 00:52:36 elliott, are branches better in git than hg, as nddrylliog suggests? 00:52:38 Err that's very relevant, relying on BusyBox for a VCS implies mental poverty 00:52:43 mental poverty? 00:52:49 no, it implies someone who isn't going to bend over backwards for Windows. 00:53:00 you think Linus Torvalds gives a shit...? 00:53:05 kfr, msysgit is *so much more* than just git. 00:53:17 kfr, ergo it's not fair. 00:53:20 nddrylliog: Why else would they be in there if they weren't required? 00:53:30 because windows users like software bloat? 00:53:35 you're edging very close to being a troll tbh 00:53:36 Oh I'm sorry, apparently it uses /bin/sh 00:53:57 kfr, because msysgit provides a whole unix-like environment under Windows.. you have the console and everything. A minimal git for win32 would just provide git.exe and that's it. 00:53:59 im an open source fan, but must admit that the winpowershell really has an edge over any unix bash 00:54:07 kfr, and bash, and *vim*, yeah. 00:54:11 powershell is useless 00:54:15 well 00:54:19 elliott yeah it is 00:54:19 its internal architecture is nice 00:54:22 but actually getting anything done in it? 00:54:25 doesn't happen. 00:54:31 talking about trolls.. :D 00:54:41 y am i not surprised bout your opinion elliott 00:54:43 Alright I apologise, I thought git actually required all of these 00:55:00 me? have opinions? 00:55:03 ha! 00:55:07 But back when I had some problems with a port of git I ended up having to fix a sh script 00:55:17 "back when" = yes, it used to be written half in sh 00:55:19 it isn't now :P 00:55:21 ok..lets call it prejudices ;) 00:55:29 let's call it OBJECTIVE TRUTH 00:55:30 or ideals 00:55:32 It wasn't that long ago 00:55:35 Only 2 years perhaps 00:55:45 openvirtues *g 00:56:03 TortoiseGit or Git Extensions? 00:56:07 kfr: dude, git is only like 5 years old :P 00:56:20 * Sgeo is leaning towards th latter, mostly due to one response on StackOverflow that I saw 00:56:20 well, 6, but it only started becoming anything like modern git a year or two later 00:56:25 (man, has it been that long?) 00:56:33 Sgeo waht's "Git Extensions"? 00:56:47 http://code.google.com/p/gitextensions/ 00:56:54 Although its tagline seems a bit hubristic 00:56:59 "Torvalds seemed aware that his decision to drop BitKeeper would also be controversial. When asked why he called the new software, "git," British slang meaning "a rotten person," he said. 'I'm an egotistical bastard, so I name all my projects after myself. First Linux, now git.'" 00:56:59 Anyways, Microsoft still haven't realised that the problem wasn't that the shell is inferior 00:57:19 yes it was 00:57:21 The problem is that the default terminal is utterly useless 00:57:21 largely :) 00:57:27 cmd.exe is shit too 00:57:31 THAT. 00:57:35 you can't even do a for loop without shooting yourself 00:57:35 Yeah that's the csrss.dll interface 00:57:40 or uh 00:57:41 quote things 00:57:42 or anything 00:57:44 whats the problem about THIS kfr 00:57:47 also, msys used to ship with rxvt, which they've now given up for cmd.exe... anyone, explain? 00:57:51 and it has no `` or $() 00:57:52 you can download ps for free 00:57:52 hagb4rd: About what? 00:57:57 and uh 00:58:01 hagb4rd: dude powershell uses cmd.exe 00:58:07 so? 00:58:12 cmd.exe sucks 00:58:15 that powershell sucks is unrelated, but 00:58:18 try resizing \o/ 00:58:18 | 00:58:18 /`\ 00:58:22 elliott: They have another GUI for it 00:58:27 quad erat demostrandum? 00:58:28 elliott, is Git's branching a bad reason to go with Git? 00:58:31 But it is even more useless tham the csrss one 00:58:36 kfr: yeah i seem to recall it being terrible 00:58:46 http://siyobik.info/paracletus/\ 00:58:47 http://siyobik.info/paracletus/ 00:58:53 Check this for some screenshots/examples 00:59:01 Of why the csrss GUI sucks 00:59:19 My favourite is http://siyobik.info/paracletus/image/cmd-unicode.png 00:59:24 There have been numerous attempts at solving this problem. Most of these programs are derived from the PuTTy source code and they run on top of cygwin which causes numerous problems like not working in the regular Windows environment with backslash paths, bash treating backslashes as the first part of an escape sequence, etc. Few have attempted to write actual replacements from scratch which actually don't use cygwin in any way. One of those was 00:59:24 a project called "Konsole" I found on SourceForge, unluckily it suffers from similar problems as the original Windows csrss implementation like providing no proper maximisation and such. 00:59:28 i really wanted to use mintty with interix 00:59:31 but it wanted the cygwin dll 00:59:41 and when i gave it a copy, it then repeated every line after i entered it :( 00:59:49 so i used putty to ssh locally :P 01:00:23 -!- pikhq has quit (Ping timeout: 240 seconds). 01:00:25 Yeah I use PuTTy a lot 01:00:31 -!- pikhq has joined. 01:00:36 i like the part where you seem to not understand the difference between a terminal and a shell+coreutils >_> 01:00:41 at least from your mockup screenshots 01:00:44 Unluckily I still haven't managed to integrate the host file system into my Linux VMs flawlessly 01:01:03 kfr: try Gentoo Prefix. 01:01:05 vmhgfs and vboxsf suffer from some issues 01:01:06 it runs on Interix 01:01:12 very nice, and free too 01:01:16 it's like Cygwin, except far, far better 01:01:23 Curiously they suffer from identical issues 01:01:26 and ostensibly Microsoft-supported 01:01:38 and ofc it runs on regular NTFS 01:01:48 Which leads me to believe that this might be some deeper issue which only few people are aware of 01:02:13 It has something to do with file system in caching in Linux and the way it interacts with their drivers on top of NTFS 01:02:30 why is *everything* such a problem on top of NTFS 01:02:33 s/in caching/caching/ 01:03:07 linux has, like, the best FS support for an operating system, and we *still* rely on some userspace half-commercial crap that makes half proper uses of FSes bug (ie. Steam in Wine) 01:03:33 How does Steam rely on a bug? 01:04:00 nddrylliog: i don't rely on steam in wine :P 01:04:15 -!- poiuy_qwert has joined. 01:04:25 they make uses bug. Yeah.English. 01:04:54 wat 01:04:55 I parsed it as "use of an FS bug" :p 01:05:04 for reference, http://developer.valvesoftware.com/wiki/Steam_under_Linux#Wine.2C_Steam_.26_ntfs-3g 01:05:15 mentioning msproducts always leads to this neverending enervating war of opinions 01:05:19 kfr, yeah, we clearly have a precedence problem. 01:05:24 -!- poiuy_qwert has quit (Client Quit). 01:05:27 Git Extensions wants me to install MSysGit and not just regular Git 01:05:39 msysgit is regular git, if you're on windows 01:05:47 I love the "Don't minimize Steam!" on the valvesoftware linux wiki page 01:05:55 nddrylliog lol :/ 01:06:20 How difficult/easy will it be for me to figure out Git Extensions without looking at any documentation? 01:06:28 what is git extensions? 01:06:42 I am annoyed by how people frequently intentionally avoid portability whereas it's nearly free nowadays for a lot of stuff :/ 01:06:55 http://code.google.com/p/gitextensions/ 01:06:56 portability isn't free :) 01:07:09 kfr, YES. Like how there's no Left 4 Dead 2 client for linux. 01:07:19 Sgeo, also it's a bit ironic that GitExtensions is hosted on Google code... 01:07:39 well, it is almost free if you use a framework that is already fully portable, but using such a framework is not free :) 01:07:45 did Sgeo just imply that he can't/won't read documentation? 01:07:47 Ah, haven't seen that one before, interesting 01:07:54 won't. Not can't. 01:08:03 Sgeo, prove that you can! 01:08:33 Sgeo: i don't think anyone will really have the patience to help you if you yourself admit that you won't then help yourself solve the problems you have after that 01:08:43 -!- poiuy_qwert has joined. 01:08:45 elliott: I think he also implied that he won't watch documentation either 01:08:46 Sgeo: Well if you haven't used a DVCS before (which you said I think) then there will be some new concepts 01:08:56 But that's not really about that GUI, I bet it's easy to use 01:09:03 (i.e. the "video tutorials" they talk about) 01:09:07 olsner: right. so i'm pretty sure that if i answer any one of his questions, he won't stop bugging me about questions that are covered by the documentation. 01:09:08 elliott, I'm capable of reading documentation if I have questions. I'm just hoping not to have questions 01:09:12 so i won't. 01:09:28 elliott: probably 01:09:41 i.e. the difference between committing and pushing in a DVCS vs. committing in a CVCS 01:10:04 Is there really that big a difference for single person projects? 01:10:12 Yeah 01:10:28 Oh, right 01:10:34 It's a totally different approach to version control 01:10:38 I read the HgInit tutorial a long while ago 01:10:46 it's not big I think, but the distinction is always there 01:10:50 not if you're the only one committing :p 01:11:48 hmm, right, it matters if you set up a remote repository somewhere or if you're only committing locally 01:11:54 When you check out something from a DVCS repository you actually get the same files as the server you got it from. In DVCS basically "everybody is a server" (the people coming from SVN found this the easiest to understand in my experience) 01:12:21 And some people who use SVN a lot actually use lots of hacks to make it more like a DVCS 01:12:34 kfr: like svk! 01:12:44 so, give me simple problems to solve / data structures to implement so I can think some more about my language. 01:12:46 kfr: (svk is a DVCS built on top of svn. I'm not joking.) 01:12:56 To create local non-networked repositories which just use the file system, for example 01:13:00 nddrylliog: OCTREES 01:13:07 And to be able to push their state to online repositories :p 01:13:25 nddrylliog: IOCP/epoll/kqueue HTTP server 01:14:14 * Sgeo goes to watch the videos 01:14:26 kfr: that... 01:14:28 is not a data structure. 01:14:37 It involves some data structures! 01:14:39 or a "problem" in any real sense. in fact that's just an incredibly boring task in IO engineering. 01:14:46 elliott, +1 01:14:47 IOCP? oh, some Windows bullshit. 01:14:48 Pff. 01:14:59 elliott: Don't hate on portability 01:15:06 that's not portable to QNX. 01:15:17 well to be fair, octrees are quite boring as well.. 01:15:21 or, oh, lisp machines. 01:15:26 nddrylliog: yeah, but they're a data structure :P 01:15:35 elliott feel free to add more support! 01:15:41 kfr: if you really think "IOCP/epoll/kqueue HTTP server" when you think "interesting programming problem to solve", my condolences 01:16:08 :| 01:16:18 |: 01:16:49 :| 01:16:49 My first Haskell project was an SCGI server/web dev framework lol 01:17:04 nddrylliog may I interest you in a self hosting compiler? That certainly features some data structures 01:17:09 elliott, the problem is, I'm not sure how to define that a node has 8 children. 01:17:10 i think we're found the most boring person on earth people! 01:17:23 kfr, that's an idea - but I have no idea how to write a compiler for it in the first place :) 01:17:23 nddrylliog: that's because your "element" stuff makes no sense. :) 01:17:35 elliott, well find a better alternative then! 01:17:42 nddrylliog: do it like Coq :p 01:17:57 elliott, by jumping backwards on a single toe? 01:17:58 elliott: And it forces you to consider FFI stuff at least, heh 01:18:02 nddrylliog: yes. 01:18:08 elliott, thanks but no thanks 01:18:11 nddrylliog: you really should learn coq though :) 01:18:24 But what can I say, I've always been very interested in highly scalable networking stuff 01:18:25 elliott, yeah, probably. But I'm hesitant. Does it hurt at first, like anal? 01:18:27 Both clients and servers 01:18:36 kfr, what do you think of Io? 01:18:41 Never heard of it 01:18:56 kfr, seriously? http://iolanguage.com/ 01:19:07 elliott, yeah, probably. But I'm hesitant. Does it hurt at first, like anal? 01:19:09 it never stops hurting. 01:19:15 elliott, awwww. 01:19:46 I wonder what fraction of the e-mails exchanged contain passwords or other kinds of authentication tokens. 01:20:34 At first I always started interpeters for dynamically typed languages 01:20:50 But now I've developed a grudge against dynamically typed stuff 01:21:39 I wrote a fair amount of networked services in Ruby recently and it was a huge pain because of stupid errors which occurred days later after launching the servers 01:22:06 And most of those could have been solved by simple compile time checks in a statically typed language 01:23:09 i only code in ursala, true story 01:23:15 can i just say 01:23:17 that i hate everyone's guts 01:23:19 carry on 01:23:36 Are you sure it isn't Ursula? 01:23:45 Diminutive of bear or something like that 01:24:21 I think I saw somebody mention "Ursula" in here 01:24:28 So I thought they might be related 01:24:41 "Ursala is an interpreted functional language with some experimental features, intended mainly for text and numerical applications. " 01:24:44 -!- Lymia has quit (Ping timeout: 276 seconds). 01:24:45 Maybe unrelated after all 01:25:10 ursala is the most fun crazy 01:25:59 -!- oerjan has joined. 01:32:28 * Sgeo oohs at git stash 01:34:22 git stash is golden 01:34:41 "A consequence of Gits distributed nature is that history can be edited easily." 01:34:49 http://www-cs-students.stanford.edu/~blynn/gitmagic/ch05.html 01:40:16 I should probably read a git tutorial, rather than looking for a tutorial based on this GUI 01:46:52 https://s-hphotos-snc3.fbcdn.net/hs317.snc3/28506_1437566584016_1378554866_31120765_1714195_n.jpg -> science joke 01:47:30 Sgeo, I'm not a fan of the ease of editing history - but meh 01:49:50 "A consequence of Git’s distributed nature is that history can be edited easily." 01:49:56 lol that has nothing to do with the distribution 01:50:13 hg, bzr, darcs are all opposed to modifying the history 01:50:33 Whereas in git there's even a "shell scripted filtering language" to modify it programmatically 01:50:35 darcs isn't _too_ opposed 01:50:36 "darcs obliterate" 01:50:57 :o not familiar with it 01:51:03 kfr: it obliterates a patch :) 01:51:03 Also, I must admit that I never use git stash 01:51:07 ONLY to be used when you miscommit 01:51:11 in scapegoat, modifying history is almost impossible. well. you can undo the last N commits. but that's about it 01:51:44 In fact I even frequently commit and push non-compiling code in some projects of mine :| 01:52:16 mcmap's testing philosophy is to not. 01:52:20 Does hg have an equiv to stash? 01:52:22 Because I pull from the repo from multiple unrelated computers and sometimes it takes me days to finish something before I any attempt any compilation :/ 01:53:00 But as all Haskell users know, "if it compiles, it works" 01:53:32 -!- Lymia has joined. 01:54:00 we do it with C... surprisingly it actually usually works 01:54:13 Very funny 01:54:23 i'm not joking :) 01:54:34 in C++, usually it's "if it compiles, it segfaults" 01:54:50 C is the opposite of compile time correctness 01:55:03 C++ is somewhat less faulty but still very prone to errors 01:55:16 Is cherry pick a Git thing or a Git Extensions thing? 01:55:27 Sgeo, git 01:55:33 Awesome 01:55:35 Sgeo, thank God for that :) 01:55:37 C++ programs that compile may fail less, but they're less maintainable than C programs. :p 01:55:50 cherry pick is a _darcs_ thing 01:55:53 Nah it's considerably easier 01:55:57 git's implementation is still inferior after all these years 01:55:59 I thought "cherry picking" was a general term 01:56:00 C++ doesn't even have decidable compilation. 01:56:03 Not even bound to VCS 01:56:11 it is, but darcs invented the VCS meaning 01:56:22 elliott, inferior how 01:59:35 Why does rebase exist? It seems like its only function is to prettify history 01:59:38 * Sgeo barfs 02:02:00 oerjan: hm haskell question 02:02:48 wait never mind. :) 02:02:49 O KAY 02:02:51 DAMN 02:03:08 oerjan: i was going to ask whether redefining fix to do the | x' == x = x | otherwise = go f x' thing would work 02:03:10 where x' == f x 02:03:14 except not only would that require Eq 02:03:18 but the first step would compare to undefined 02:03:22 since fix takes no base value 02:03:35 you don't say 02:03:42 oerjan: JUST BECAUSE I'M SLOW 02:03:55 :t iterate 02:04:03 eek no lambdabot 02:04:05 i should actually write a program in ursala sometime :P 02:04:07 oerjan: omg :( 02:04:09 ask Cale what we did wrong 02:04:21 oerjan: let's do it together, quick, to #haskell! 02:04:37 actually there's no lambdabot _anywhere_, so no need to panic on behalf of #esoteric 02:04:54 phew. 02:05:10 You all seriously ignored lambdabot's death 02:05:11 -!- elliott has quit (Quit: ell-"can now sleep soundly knowing that everyone's in trouble, not just us"-iott). 02:05:11 ? 02:05:21 -!- elliott has joined. 02:05:26 did you like my /quit message 02:05:28 i think i might start doing more of those 02:05:34 -!- elliott has quit (Client Quit). 02:06:21 lol 02:07:24 i did funny quit messages back when it was on vinyl 02:10:34 !fyb litterer http://lymia.x10.bz/evil.fyb 02:10:53 Score for Lymia_litterer: 92.0 02:10:57 nice 02:11:01 Brute force. 02:11:01 :v 02:11:28 where is the scoreboard folder again? 02:12:24 http://codu.org/eso/fyb 02:12:39 The @@ pesudo op is so overpowered. 02:12:39 : 02:12:40 :v* 02:13:08 It's effect is to basicly set the instruction pointer to the current code pointer. 02:15:05 That program is basicly the FYB version of a CoreWars core clear. 02:18:00 What are those crazy programming languages where the correctness of the code is part of defining the algorithm? 02:18:22 I think I recall some three letter initialism one where quicksort is like 150+ lines 02:18:32 It may be related to formal proof systems 02:20:11 I should probably look into Agda/Coq and such at some point, too 02:20:15 Learn about dependent typs 02:20:17 types* 02:20:32 hahahaha :) 02:20:35 speak of the devil. 02:21:00 kfr, I was discussing that with elliott a few minutes ago. 02:22:38 contracts are supposed to do that 02:23:45 Lymia: why doesn't litterer beat evil? 02:23:50 Dunno. 02:24:21 I'm not sure why evil beat so many things in the first place. 02:24:37 That big block of code is to get rid of every ! instruction in logicex-2 02:25:18 It's actual attack is literally nothing more than a quick scanner. 02:25:58 Hell, there's an ':' missing in it. 02:27:12 when you defect, it puts the data pointer at your own code pointer? and the defecting again puts it where? 02:30:04 When you defect, the data pointer is set to the code pointer. 02:30:21 If you defect twice, the effect is that the data pointer is set to the address of the second defect. 02:30:28 But stays in the same player's code. 02:30:48 huh 02:31:03 so it's like a free jump thing? 02:34:10 It's a much faster way than >>>>>>>>> to get to the middle of somebody's program. 02:39:09 I'm taking a statistics course 02:39:35 has someone tried a vampire pit sort of thing? seems like it would be difficult to plant an effective +[] since [] are in the middle of the instruction set, but if you can jump ahead like that, you could probably do it 02:39:56 What's a vampire pit? 02:40:00 I don't see why it's sqrt(sum([x-mean]^2)/n) and not sum(|[x-mean]|)/n 02:40:09 I see that they get different answers 02:40:17 But why the first is used instead of the second? 02:40:42 Hmm 02:41:10 It might show different behaviour in cases of single unusually deviant values 02:41:15 do you think it's a good idea to avoid duplicate images by comparing the mc5hash strings of their binary data? 02:41:17 kfr: basically getting the other program trapped in a loop doing what you want. for a large enough memory buffer, +[:+[];] would kill. 02:41:17 I imagine it's something like that 02:41:25 uh 02:41:27 dumb 02:41:37 +[:[];] 02:41:43 quintopia what language is that? 02:42:00 kfr: FYB 02:42:00 kfr, http://codu.org/eso/fyb 02:42:12 -!- SimonRC has quit (Ping timeout: 265 seconds). 02:42:13 do you think it's a good idea to avoid duplicate images by comparing the mc5hash strings of their binary data? <-- or have better ideas/solutions 02:42:14 Why do so many people in here obsess about that? 02:42:27 kfr, not sure, but it looks like fun 02:42:34 sgeo: because that is the definition of the L2-norm 02:42:41 hagb4rd, ask the tineye guys :) 02:42:55 is this a chan? 02:43:03 hagb4rd, nope, a website 02:43:08 http://www.tineye.com/ 02:43:16 quintopia, why? 02:43:22 hm, i thought you guys are the mathexperts here 02:43:25 :> 02:43:26 Ah, I started using tineye a while ago 02:43:49 hagb4rd: Mathematicians usually don't know crap about hashing and such 02:43:50 -!- SimonRC has joined. 02:44:07 !fyb litterer-2 http://lymia.x10.bz/evil.fyb 02:44:10 Score for Lymia_litterer-2: 100.0 02:44:13 =D 02:44:35 oh, wait. 02:44:38 : only triggers once 02:44:41 duhhh 02:45:05 quintopia, every thread runs once every tick. 02:45:10 It's not like corewars in that respect. 02:45:26 Lymia: how did you beat your previous tries? 02:45:41 quintopia, pad it until it works. 02:45:43 ;V 02:46:38 i just need to avoid duplicate images.. tha hash-solution is not implicitly required, alternative ways are welcome! :> 02:46:55 sgeo: yeah, i can't figure out why they don't use the average distance from mean instead. 02:47:19 instead it's sqrt(variance) 02:47:37 maybe just cuz it's easier to work with 02:47:53 Sgeo: 02:47:54 huh 02:47:57 oh ya, that's it 02:48:04 hm? 02:48:05 also because sqrt(x^2) is abs(x) 02:48:05 .. 02:48:05 it's because it's algebraically easier to work with 02:48:10 quote the wikipedia: It is algebraically simpler though practically less robust than the average absolute deviation. 02:48:31 Huh. 02:48:34 ah right sorry I didn't read correctly the second definition. 02:50:27 quintopia, 02:50:46 http://www.johndcook.com/blog/2010/11/29/where-to-wait-for-an-elevator/ -> explains that in somewhat easy terms 02:50:56 if I understood correctly what you are looking to understand 02:51:36 hagb4rd, there are special algorithms that deal with dup. images / music 02:51:47 yea.. tell me more 02:51:47 they are cross format as well - sometimes 02:52:23 can you give me an example? or a name? 02:52:32 sth to look for? 02:52:51 Gregor, you may want to take a look at the FYB scoreboard. 02:52:52 ;) 02:53:15 hagb4rd, yeah - hang on a sec 02:53:25 * variable was reading a paper recently - let me find it 02:53:41 take your time droog 02:53:58 and thanks ;) 02:54:00 I am actually somewhat interested in program vs. program stuff but in more complicated environments really, like real time strategy stuff 02:54:02 droo ? 02:54:10 Corewars and such are too dry for my taste 02:54:11 nadsat variable 02:54:17 clockwork orange? 02:54:42 i will build a nadsat compiler someday :P 02:55:37 I recently read A Clockwork Orange 02:55:38 http://en.wikipedia.org/wiki/Nadsat 02:56:36 hagb4rd, the general term is image similarity its the type of algo Tineye uses. I was reading about something called WALRUS recently 02:57:04 ok.. i will look for it.. thank you var :) 03:00:32 kfr: good book. it's just like to movie too :) 03:12:47 ndd@naku:~/Dev/fe2/source$ ./parser 03:12:48 ((a | ((a % 2) = 0) ) => (a # multiplesOfTwo)) 03:13:19 now to do anything useful with that.. or rather, tomorrow. 04:05:50 -!- pikhq_ has joined. 04:06:09 -!- pikhq has quit (Ping timeout: 264 seconds). 04:09:47 -!- lambdabot has joined. 04:12:28 -!- Lymia__ has joined. 04:12:32 -!- Lymia has quit (Disconnected by services). 04:12:34 -!- Lymia__ has changed nick to Lymia. 04:12:36 -!- Lymia has quit (Changing host). 04:12:36 -!- Lymia has joined. 04:43:43 -!- azaq23 has joined. 04:53:07 -!- acetoline has joined. 05:03:48 -!- pikhq_ has changed nick to pikhq. 05:10:56 ^ul (^^^)((0)(!(1)(!(2)(!(3)(_)))))~*^ 05:11:08 ^ul (^^^)((0)(!(1)(!(2)(!(3)(_)))))~*^!S 05:11:09 3 05:11:19 ^ul (^^^^)((0)(!(1)(!(2)(!(3)(_)))))~*^!S 05:11:19 ...bad insn! 05:11:32 ^ul ()((0)(!(1)(!(2)(!(3)(_)))))~*^!S 05:11:32 0 05:11:36 oerjan what language is taht? 05:11:42 underload 05:14:02 concatenative turing tarpit 05:17:28 Sounds toxic 05:18:45 * Sgeo pours a little bf into kfr's drink 05:18:58 http://esolangs.org/wiki/Underload 05:19:40 ^ul (:aSS):aSS 05:19:40 (:aSS):aSS 05:26:04 I can't come up with anything creative 05:26:19 Graph based programming languages are an old hat I bet 05:26:37 well we have Eodermdrome 05:26:52 and i recall there was another but i'm not sure if it's on the wiki 05:27:31 something based on kolmogorov machines iirc 05:29:19 Haha that sounds exotic 05:29:58 Or programming languages which are essentially based on replacing strings hmm 05:30:06 Haha grammars hmm 05:30:09 well kolmogorov was russian 05:30:17 I'm not talking about the name :p 05:30:21 I've just never heard of it before 05:30:48 replacing strings, then you want to look at /// aka Slashes 05:31:18 * oerjan notes that he is only mentioning his own favorites 05:32:00 i didn't make any of the languages but i made several of the programs 05:32:37 !fyb crasher ::;; 05:33:18 oh also thue 05:33:38 I think I broke it. 05:33:40 (i didn't do anything in that but it's perhaps the oldest string-replacing esolang) 05:33:59 !echo hi 05:34:01 hi 05:34:18 Lymia: EgoBot sometimes times out, especially the first time it's used in a while 05:34:30 same with HackEgo 05:34:32 !fyb nothing +[] 05:34:39 Really? 05:34:44 (they're both Gregor's bots) 05:35:11 well i wouldn't exactly _exclude_ bugs, either... 05:35:21 Okay, it's definitely "really fucking cold" out now. 05:35:25 !haskell print "hi" 05:35:27 I remember, we had to implement division in a string replacement language 05:35:32 "hi" 05:35:32 At university 05:35:34 It really sucked :[ 05:35:40 Tomorrow, we are expecting a high of -5 °F (-20 °C). 05:35:46 kfr, Eh? 05:35:47 kfr: heh 05:36:30 ((:::::)+):* -> $1 05:36:34 kfr: i made /// print numbers once i think, that requires dividing by 10 at least 05:36:34 ::::: -> : 05:36:53 Still, doing it as part of a larger program sounds nasty. 05:37:50 Gregor seems to have been idle since yesterday 05:38:45 Writing a self hosting compiler in that would be very challenging 05:40:07 (yes, I have an obsession with self hosting compilers, to me a language is "serious business" as soon as that has been done) 05:41:31 -!- poiuy_qwert has quit (Ping timeout: 240 seconds). 05:42:12 -!- poiuy_qwert has joined. 05:42:20 Actually I'm more interested in research languages, I think, not just bizarre/minimalist stuff 05:42:58 Eh, 'sokay. I think I last esolanged over a year ago. 05:44:11 i.e. stuff you can actually use to solve practical problems, *gasp* 05:45:27 -!- hagb4rd has quit (Ping timeout: 240 seconds). 05:46:35 GET OUTTA HERE 05:46:53 I figured the Haskeller would frown upon that :/ 05:47:04 i'm the haskeller now? 05:47:08 Yes. 05:47:36 "The best programming languages have no compilers" - #haskell 05:47:56 My favorite language is DWIM 05:48:01 ...that's rather strange to connect with haskell... 05:52:24 Score for Lymia_nothing: 0.9 05:52:24 Score for Lymia_crasher: 0.9 05:52:44 SOMEONE IS SLOW TODAY 05:52:57 Sgeo: DWIM = ? 05:53:05 Do What I Mean 05:53:23 [Note: If someone used that abbreviation for something else, I don't know about it] 06:18:18 I wonder how you would design a language which is tailored for writing operating systems while still providing a high degree of compile time correctness 06:19:42 That must be a nightmare 06:24:54 Doesn't ATS supposedly do that? Or am I utterly clueless? 06:25:23 http://en.wikipedia.org/wiki/ATS_%28programming_language%29 :o 06:26:06 That's interesting 06:26:06 http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php 06:26:11 I remember it from these games 06:26:22 It actually ranked third, after C++ 06:26:26 Very impressive 06:26:33 And I had never even heard of it before 06:30:52 kfr: By now about half of us are Haskellers, I think. 06:31:21 Yeah I'm slowly turning into a Haskelling language fascist, too 06:31:28 My mate warned me about that 06:32:08 ATS tutorial gives me a headache 06:32:13 Haha 06:32:19 Maybe I should look for an easier tutorial 06:32:29 I have no idea what unboxed and boxed allocation are 06:33:45 elliott is going to kill me. 06:35:10 -!- azaq23 has quit (Quit: Leaving.). 06:35:16 boxed = use a pointer to the representation, unboxed = embed the representation directly. approximately. 06:36:08 in haskell boxed also implies the possibility of a lazy thunk to be evaluated 06:36:40 Ah, I see 06:37:27 Unboxed is essentially only there for optimisation purposes. 06:39:34 yeah, and they treat it that way 06:39:37 also in haskell and some other languages, boxing means all values can be passed around in the same format, making polymorphic functions easier 06:39:43 you never specify whether it's unboxed _within_ the language 06:39:47 you specify whether it's strict or not 06:40:07 the fact that that can be unboxed if it's monomorphic and matches some simple is another issue 06:40:10 simple rules 06:40:35 (I don't consider GHC pragmas to be part of the language :P) 06:46:07 -!- Zuu has quit (Read error: Connection reset by peer). 06:46:10 -!- Zuu_ has joined. 06:48:00 Maybe I've been looking at this the wrong way 06:48:19 Maybe it's not the core features of a language that make it attractive 06:48:41 Maybe it's all about how you can have fun with it and visualisation and such 06:49:03 * kfr has some perverted notions of combining programming semantics and typesetting for visually pleasing rendering of code 06:49:44 Uh, oh... "APNIC expects normal allocations to continue for a further three to six months." 06:50:14 Perhaps the notion of writing code in a regular plain text editor is archaic 06:52:48 -!- asiekierka has joined. 06:56:09 Ilari: Well, yes. 06:56:58 Six months from now is turn of July to August... 06:57:53 Current depletion estimate for APNIC is end of September... 07:00:13 What that says: Either APNIC has their own models that are a lot more pessimistic than the "official" ones, or they are acknowledging that the "official" models just can't model what's to come... 07:00:48 Aren't the big IP block holders just going to gradually sell of theirs? 07:00:57 And the people will buy it 07:02:41 kfr: Ooooh, that'll buy us another few months! 07:02:43 "Yay". 07:03:05 pikhq there are at least 4-15 of /8s of which only fractions are really used afaik? 07:03:14 Owned by universities in the US 07:03:17 And AT&T and such? 07:03:36 Some of them already started giving up some of the space 07:03:38 kfr: We chew through 2 of them a month. 07:03:43 Ah, ok :p 07:04:24 * kfr already made sure that all the services on his servers are bound to IPv6 addresses, too 07:04:52 So people can run Linux 0days using cutting edge technology 07:04:55 :[ 07:06:56 -!- poiuy_qwert has quit (Ping timeout: 265 seconds). 07:08:14 -!- poiuy_qwert has joined. 07:09:32 Okay, I expect IANA IPv4 pool to finally hit zero on the day after tomorrow. 07:20:43 Ilari: Do those models account for APNIC holding onto a single /8 for essentially emergency use? 07:21:01 Heh, so they also shut down that one remaining Egyptian ISP last night. They are being very unprecendententialious. 07:25:11 -!- Sgeo_ has joined. 07:26:56 They do. 07:28:02 -!- Sgeo has quit (Ping timeout: 240 seconds). 07:35:27 -!- poiuy_qwert has quit (Ping timeout: 240 seconds). 07:56:57 -!- MigoMipo has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:04:30 It is currently at 5x/8 all reserved (one /8 going to each RIR...) 08:09:13 (IANA IPv4 pool that is). 08:26:48 Heh... Now there are notices about "Significant Announcement" regarding IPv4 (3rd February, 1430Z)... Can it get any more obvious? 08:44:21 Maybe they'll do a surprise announcement and say that they're inverting all the bits in allocated network addresses? 08:44:40 You know, for long-term 0/1 balance reasons. 09:09:25 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 09:19:25 -!- MigoMipo has quit (Read error: Connection reset by peer). 09:36:05 Selling off has two bad sides: 1) Expensive, 2) DFZ routing table gets hit by a fragmentation grenade... 09:37:02 Ilari: DFZ = ? 09:37:11 Default-Free Zone 09:37:45 (1) is only a bad side if you're the one doing the buying, not the selling. 09:37:48 That is, no default route. 09:38:30 They're going to sell them for like $500-1000 per IPv4 in the end 09:38:36 *per address 09:40:27 That would make a /16 cost somewhere between $30M to $70M... That's a lot. 09:40:32 Sell them on the black market, under the table. "Psst, hey, you there; wanna buy some good-quality uncut IPv4 subnets?" 09:41:04 "Don't buy your stuff from him; his /20s are actually non-contiguous /24s." 09:41:52 Well, buying form black market is risky. And I think most RIRs have policies allowing transfers... 09:43:12 At least ARIN definitely does. 09:43:45 "What a ripoff, the guy sold me a /16 from the 10.0.0.0/8 block!" 09:44:21 Well, this IPv4 exhaustion thing is going to be gigantic clusterfuck (to put it mildly)... 09:44:25 fizzie: Hahaha 09:44:32 Nice nerd fiction 09:46:08 -!- FireFly has joined. 09:48:35 -!- hagb4rd has joined. 09:53:43 -!- asiekierka has quit (Ping timeout: 240 seconds). 09:55:38 -!- BeholdMyGlory has joined. 10:01:50 ^ul (:a~*):a~*^^^SS 10:01:50 (:a~*):a~* ...out of stack! 10:02:13 ^ul (:a~*):^^^^SS 10:02:13 (:a~*):a~* ...out of stack! 10:05:08 ^ul (:a~*):^((~)~a*):*^SS 10:05:08 ~(~((:a~*):a~*)) ...out of stack! 10:10:29 -!- oerjan has quit (Quit: leaving). 10:17:48 -!- evincar has joined. 10:18:09 Hello all. 10:31:32 -!- impomatic has joined. 10:31:36 Hi :-) 10:31:39 Has anyone got access to issues of BYTE magazine 1978? :-) 10:32:09 impomatic: Well, I haven't, and nobody else seems to be around at this hour. 10:32:38 Why wouldn't they be :o 10:33:06 It's the middle of the day for like 2 billion people 10:34:55 kfr: Nobody greeted me. I was complaining. :P 10:35:05 Greetings are so archaic 10:35:13 Usually I intentionally ignore them online 10:35:41 Eh, consider it a ping to see if anyone who knows me is active. 10:36:18 Our electronic journal search thingie lists "Dental Bytes", "FishBytes" and "Nutrition Bytes", but neither of those is probably going to be much help there. 10:37:25 The main library has physical copies of BYTE for 1976-1981 in their underground storage facility V, but that would mean walking several hundred metres and inconveniencing other people, so I'm going to go with "no". 10:37:50 What *is* in BYTE magazine in 1978, though? 10:39:36 -!- Lymia has quit (Read error: Connection reset by peer). 10:40:06 -!- Lymia has joined. 10:41:07 Fizzie: a reference to Core War 6 years before A. K. Dewdney "invented" it :-) 10:41:56 Some guy is scanning all the old issues of BYTE and putting them online, but he hasn't reached that one yet :-( 10:42:49 -!- Lymia has quit (Read error: Connection reset by peer). 10:43:16 -!- Lymia has joined. 10:51:58 Do you happen to know the exact issue and article in question? I couldn't quite google out complete tables of content, just rather random and partially incomplete ones. 10:55:22 -!- ais523 has joined. 10:59:17 Fizzie: I can't find an exact issue, just volume 3, pages 106-107. I've been Googling for a while, but there isn't a complete index online :-( 10:59:30 -!- FireFly has quit (Quit: swatted to death). 11:01:23 quintopia: ooh, I like ETAS, I'll have to look at it in more detail when I'm less busy 11:03:24 ah, the IPv4 allocation happened 11:03:29 ais523: I've got another bigger-than-I-can-chew idea in the works since I last showed up here. 11:04:14 hmm, what is it? 11:05:29 A model of computation based on time, which generalises very well to highly parallel and (hopefully) quantum hardware. 11:07:05 I haven't formalised it, but it's theoretically sound and possible to implement. 11:07:22 Though once again I'm having difficulty figuring out how to actually do so. 11:09:00 it sounds like that may end up giving you as much trouble as Feather gives me 11:09:32 My natural reaction is "oh, just make a language", or "oh, just make an embedded DSL", but there's always the annoyance of trying to create a new semantic model while working within the constraints of the model of the host language. 11:09:49 Refresh my memory about Feather. 11:10:10 gah, don't make me! 11:10:19 Elevator pitch, come on. 11:10:24 I think there's a page on Esolang now that we can refer people to (http://esolangs.org/wiki/Feather) 11:10:47 How...helpful. 11:11:01 but basically, it's an esolang based around the command "retroactively change the value a variable had when it was created" 11:11:19 Sounds interesting. 11:11:24 -!- BeholdMyGlory has quit (Remote host closed the connection). 11:11:30 the concept's simple enough in a sense, but trying to get all the details in place without causing an infinite regress is tricky 11:11:36 That's sort of how my idea works...though not exactly. 11:11:51 nobody really understands Feather, not even me 11:11:58 so it's not surprising that other people's ideas are never quite the same 11:12:14 Basically you've got the absolute progression of time, and the state of the program is a pure function of the current moment in time. 11:12:36 Events occur, and effects may result, and generate further events, ad whateverum. 11:13:02 Effects are evaluated lazily, so nothing happens until something depends on it. 11:13:22 Which keeps the language purely functional, and lets you start jumping around and forking the timeline however you please. 11:13:25 ouch, that's confusing... 11:13:35 but sounds like a perfect basis for an esolang 11:13:37 It makes backtracking and parallel algorithms sexier than you can possibly imagine. 11:13:45 It's actually quite useful... 11:14:08 yep, it sounds it 11:14:13 ...not to say that an esolang can't be useful, of course. 11:14:24 they're better when they are, but that tends not to happen very often 11:14:37 But there are some other really beautiful things about it. 11:14:41 What's the significance of the lemons in the Esolangs logo? 11:14:54 it sounds vaguely like my question to the supervisor "what happens if you take a mathematical idealisation of a programming language and ignore the restriction that it must respect causality?" 11:15:06 kfr: they're actually limes, and I think it's just an image Graue grabbed at random 11:15:45 That's basically what I'm working with. You don't have to respect causality or symmetry if the potential futures eventually collapse into a single state. 11:16:30 Also, even if the effects of the program aren't reversible, the program itself is. You can pause, slow down, rewind, save and restore, and do basically whatever else you want to the running program. 11:17:00 that's not that far from Feather at all, really; the difference is that your method is functional-style with respect to the timeline, whereas Feather is imperative-style 11:17:14 There is all sorts of fun with complexity classes. Such as R being impossible to construct explicitly... 11:17:18 so you have a timeline that just happens and you lazily try to work out what it is, whereas Feather has an explicit mechanism for tinkering with time until the timeline says what you want 11:17:19 Well, you can simulate an imperative style in this, it's just less efficient. 11:17:23 indeed 11:17:33 but I meant, sort of, meta-functional vs. meta-imperative 11:17:34 Just say "effect: x is now 0". 11:17:43 Right. 11:17:47 it's hard to explain, because all the terminology required for time travel doesn't yet exist in English 11:17:51 or probably any other language 11:18:32 Yeah, languages tend to have terminology for what's useful and not much terminology for things that are not useful... 11:18:54 Ilari: indeed. 11:20:16 ais523: The coolest thing is that you can optimise branch prediction in the event/effect graph based on the running program's experience of which events actually occur, biasing toward branches that depend on more probable events, so the performance of the program can actually increase over time. 11:20:38 And relative usefulness also shows in how fine the distinctions are... More useful things tend to have much finer distinctions between different kinds than less useful things... 11:21:21 Ilari: which is why English has a lot of words for male versus female animals, groups of animals, and slang for being drunk. 11:21:37 Ah, to live in simpler times. :/ 11:22:16 ais523: Funny story, though, you know how I figured all of this out? 11:22:29 no, I'd have to guess and I'm quite bad at guessing 11:22:59 Drank some sake and watched Primer. 11:23:08 Suddenly it all made sense. :P 11:24:02 And coincidentally, the fact that I had already been thinking about this problem let me understand the movie on the first time through, which I hear is a rarity. 11:24:25 fizzie: the best I can find is a tiny extract on Google books http://bit.ly/eQTjVv :-( 11:24:27 And useless things don't tend to have words at all... Like diabetes or heart disease for hunter-gatherer populations... 11:26:11 Ilari: Never forget the power of circumlocution, though. If someone dies of complications from heart disease, and others are aware of this fact, then there will become a term for it. 11:26:39 The need for a single-word term only arises if it's prevalent, though. 11:26:44 Nowadays heart attacks are common but they haven't always been: In 1920's, one could be cardiac doctor and manage to pass 6 years in practice without seeing even one heart attack... 11:29:14 At it wasn't just that people were dropping left and right of heart disease but death was attributed to something else... Heart disease was really rare. 11:30:06 impomatic: Found it. 11:30:29 Oh, absolutely. We have the luxury of heart disease because we live in post-industrial luxury. 11:30:31 impomatic: It's not much more than that, really; it's a one-paragraph mention. 11:30:47 If we all had to live by the sweat of our brow, then we'd all be healthier, hunter-gatherer, herder, and agriculturalist alike. 11:30:58 In the July 1978 issue (vol 3, num 7). 11:31:01 Or fisher. 11:31:31 Pretty lucky that our library had it: the 1978 folder is inexplicably missing the Feb, Mar and Apr issues. 11:31:43 I'll photograph the article in question. 11:31:44 And lifespan doesn't explain the difference in heart disesase. Oh, and early agriculturalist populations were the unhealthiest populations ever seen... 11:31:49 Those are really the four basic setups for a human society...shame that the non-agricultural ones have gone by the wayside. 11:31:57 Won't be a good-quality copy, but should be legible. 11:33:24 -!- Lymia has quit (Read error: Connection reset by peer). 11:33:49 -!- Lymia has joined. 11:33:53 Actually, that's not entirely true. Agriculture has been around for just as long as the other lifestyles. Exclusively agriculturalist societies weren't particularly unhealthy either: the current consensus is that they arose gradually in response to climate change, and were perfectly stable and healthy societies, for the time anyway. 11:34:41 It was the early *totalitarian* agriculturalists that were unhealthy, because they were expanding and populating faster than contemporary medicine could account for. 11:34:55 Knowledgeable archiologist can tell apart remains of argriculturalists and hunter-gatherers with one look at the skull... 11:36:30 Oh, undoubtedly. But it's much easier to *find* the skulls of early expansionist agriculturalists than it is to find those of the non-expansionist ones. 11:39:28 Basically, the nutrient definencies, antinutrients and toxins totally fscked up the early agriculturalist people (later ones learned how to destroy the antinutrients and toxins)... 11:41:20 -!- sebbu has quit (Ping timeout: 265 seconds). 11:41:29 Now, do I take a nap before class and risk missing it, or stay awake, not accomplishing a whole lot? 11:41:30 Even with the latter ones, one could see they still had problems as they were quite short... 11:42:05 -!- sebbu has joined. 11:43:03 Additionally, agriculture with grains really fscks up the environment... 11:43:20 Well, human history isn't exactly filled with good nutrition. People have always eaten what's available, whether it's hunted, gathered, herded, fished, or grown. If you happen to get a balanced diet out of that, then hooray, you get to live. 11:44:06 Yeah, early farming techniques sucked as well, because some knowledge was simply not available. 11:44:59 Alright, I'm going to risk not making it to class by getting into bed. :P 11:45:17 Because it's cold, and I have sleep transitions like a cat anyway. 11:45:36 -!- evincar has quit (Quit: Goodnight.). 11:46:16 -!- azaq23 has joined. 11:55:20 impomatic: http://users.ics.tkk.fi/htkallas/byte1.jpg http://users.ics.tkk.fi/htkallas/byte2.jpg contain the relevant parts. (For context, it's an article about what you could potentially do with this mysterious thing called a "modem".) 11:57:59 -!- impomatic has quit (Read error: Connection reset by peer). 11:59:02 -!- impomatic has joined. 11:59:23 Grrrr.... clicking links in Chatzilla always causes a crash :-( 12:02:47 Thanks Fizzie, that's exactly what I'm after. :-) 12:03:41 Nondeterministic polynomial, like they say. Walk to the library at least got me some fresh air, maybe I won't now fall asleep. 12:04:03 -!- acetoline has quit (Ping timeout: 272 seconds). 12:05:03 Did you notice which issue it's in? 12:06:06 In the July 1978 issue (vol 3, num 7). 12:07:03 Thanks :-) 12:33:41 -!- Phantom_Hoover has joined. 12:34:19 -!- nddrylliog has quit (Quit: Ex-Chat). 12:48:34 * ais523 golfs his or her Slashdot signature 12:48:49 (it's an INTERCAL addition without using the stdlib, I noticed a way to save another character) 12:48:54 ais523, your gender is not ambiguous here. 12:49:11 yep, I just feel awkward using gendered pronouns 12:50:20 -!- fizzie has quit (Read error: Operation timed out). 12:52:26 -!- impomatic has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.16/20101130074636]). 12:52:36 -!- fizzie has joined. 12:53:48 hmm, apparently someone returned 45/8 12:53:51 but to ARIN, not IANA 12:53:54 so IANA is still out 12:55:53 "Interop Show Network" 12:56:32 Yeah, it might not make sense to have a /8 specifically for their trade shows. 12:57:36 And IANA isn't out yet, they haven't officially distributed those last five blocks yet. Admittedly that's just a technicality. 12:58:59 -!- Lymia_ has joined. 12:59:42 Looking at the press confrence speakers: They appear to be the the highest-ranking persons in ICANN (representing IANA), NRO (represents RIRs), ISOC and IAB. You don't have that sort of cast if one isn't announcing something really, really major... 13:00:20 They're going to announce what they're going to have for lunch next week. 13:00:25 ... Such as announcing full IANA depletion. 13:00:35 yep, it's bound to be full IANA depletion 13:00:48 and they're holding off on the automatic 5-block allocation until the press conference to get the timings worked out 13:02:08 -!- Lymia__ has joined. 13:02:25 -!- Lymia has quit (Ping timeout: 240 seconds). 13:03:30 APNIC doesn't have allocation policy change on IANA depletion (but the final /8 will be reserved). IIRC, some RIRs do have policy changes. 13:04:49 -!- Lymia_ has quit (Ping timeout: 240 seconds). 13:05:13 I like it how they talk about how the final-five-blocks policy will be "triggered". It gives me a clear visual image of some sort of a ridiculously huge mousetrap-like contraption. 13:05:43 "Oh no, you've triggered the Global Policy for the Allocation of the Remaining IPv4 Address Space! Everyone, run for your lives!" 13:06:03 -!- Lymia_ has joined. 13:06:59 RIPE also has only a "Allocations from the last /8" special policy, not anything that'd automatically change after the IANA event. 13:08:26 IIRC, ARIN policies do change... 13:09:13 -!- Lymia__ has quit (Ping timeout: 240 seconds). 13:10:54 "When ARIN receives its last /8 IPv4 allocation from IANA, a contiguous /10 IPv4 block will be set aside and dedicated to facilitate IPv6 deployment. Allocations and assignments from this block must be justified by immediate IPv6 deployment requirements." 13:11:01 Well, they do that immediately, I guess. 13:11:23 ("Examples of such needs include: IPv4 addresses for key dual stack DNS servers, and NAT-PT or NAT464 translators.") 13:15:17 Here's a humorous-in-retrospect RIPE position statement from October 2007: 13:15:21 "We recommend that service providers make their services available over IPv6. We urge those who will need significant new address resources to deploy IPv6. We encourage governments to play their part in the deployment of IPv6 and in particular to ensure that all citizens will be able to participate in the future information society. We urge that the widespread deployment of IPv6 be made a high priority by all stakeholders." 13:15:28 Yeah, that might have been a good idea. 13:16:12 ah, so ARIN's keeping back a /10 that can only be allocated for the purpose of if extra IPv4 addresses are needed to switch over to IPv6 for some reason? 13:18:19 Yes. Though there were quite some requirements for qualifying to get addresses from that block. 13:19:24 (And you can only get something between /24 .. /28 out of that.) 13:20:31 RIPE (and I think the others) also have a "the LIR must already have at least one IPv6 assignment before it can get any from the final /8" policy. 13:21:11 God, Headshoots is even funnier than Boatmurdered. 13:21:53 Boatmurdered has a better name, though 13:22:33 also, I found Headshoots quite hard to follow 13:22:46 although I agree, it's hilarious 13:23:11 I love the Room Outside Of Space. 13:25:46 hmm, apparently Java is also crashed by Double.parseDouble("2.2250738585072012e-308") 13:26:15 for a related reason 13:26:19 -!- asiekierka has joined. 13:26:20 (the bug was first reported in PHP) 13:27:21 (Headshoots is also way more awe-inspiring than Boatmurdered.) 13:27:24 ais523: Yes, and the compiler will hang if you try to compile "double d = 2.2250738585072012e-308;" and print it out. 13:27:32 fizzie: indeed 13:27:47 (the number in question is DBL_MIN with one digit changed, IIRC) 13:28:08 I guess the compiler-hanging problem has less denial-of-servicey implications, but still. 13:28:22 ah, PHP's hang happens with the last digit as 1, rather than 2 13:28:37 It's the same bug "the other way around", they say. 13:28:46 "Like PHP, Java gets stuck crossing the normalized/unnormalized border, but in the opposite direction: it starts with an estimate just below DBL_MIN — 0x0.fffffffffffffp-1022 — and is trying to get up to DBL_MIN." 13:28:57 ais523 lol yeah we just went over this in #haskell 13:29:07 DBL_MIN apparently ends with a 4 13:29:20 so it's definitely an edge case, but who'd have thought of testing it? 13:31:41 OpenOffice.org Calc seems to be OK with similar numbers (haven't updated to LibreOffice yet) 13:31:43 I wonder about Excel? 13:38:41 LibreOffice? 13:40:31 -!- ais523_ has joined. 13:42:13 It can bring down some of the banking systems :/ I know, I just tested it on the test servers we have at work.... All I can say is ^#%$ me that is quite something. 13:53:34 How's IPv4? 13:57:35 Gregor: Feeling exhausted, I believe. 13:57:45 (Maybe not quite.) 13:58:27 If you want a really short summary, APNIC got their two blocks, and IANA's very likely to have an event about their depletion the day after tomorrow. 13:58:38 (They've invited journalists and everything.) 13:58:47 (Perhaps there will even be cake.) 14:06:51 yep, the final allocation has been triggered 14:06:59 but hasn't happened yet, so that they can have a press conference about it when they do 14:07:21 45/8 was returned to ARIN, IIRC, which gives them an extra block to work with 14:07:27 but doesn't prevent IANA being depleted 14:13:38 -!- copumpkin has quit (Ping timeout: 264 seconds). 14:14:04 -!- copumpkin has joined. 14:14:12 -!- cheater- has quit (Ping timeout: 240 seconds). 14:16:13 Hmm... cat /proc/sys/net/ipv4/route/max_size --> 4194304 ... Not even DFZ is that large... 14:16:42 -!- cheater- has joined. 14:22:27 -!- MigoMipo has joined. 14:22:58 Is that thing in bytes or numbers of routes? 14:23:37 $ cat /proc/sys/net/ipv4/route/max_size 14:23:37 1048576 14:23:51 My table is smaller. :v 14:24:05 s#v#/# 14:25:18 Maximum number of routes... 14:25:35 You presumably have less RAM... 14:28:34 When lots of IPv4 traffic is much less than it is now and DFZ has exploded, running some PC as IPv4 DFZ router might be an option... 14:29:48 Remember it doesn't take a lot of major sites switching to radically slash the IPv4 traffic. 14:30:29 (assuming IPv6 is available) 14:30:49 There's 2G of RAM on that particular box. 14:31:02 -!- Lymia__ has joined. 14:31:40 This box has 8GB... 14:32:32 Looks like a linear dependency. :p 14:34:23 -!- Lymia_ has quit (Ping timeout: 240 seconds). 14:35:51 Not exactly... These figures (4M and 1M) have ratio of 1 entry per 2kiB memory. I have another computer with ratio of 8KiB per entry. 14:38:13 Ilari: My phone says 327y8 routes for 256M of memory. 14:39:03 That's 8 KiB per route too. 14:39:10 what's DFZ? 14:39:16 Default-Free Zone. 14:39:39 oh, an area where you need an explicit route for every prefix? 14:39:49 ouch 14:40:48 Yes. 14:42:53 Using PC as router might be slow, but it could handle insane number of routes at once... 14:44:52 the really expensive routers that the backbone use are pure custom-built hardware that can do the routing in parallel 14:45:08 presumably they actually need them, or they wouldn't spend that sort of money, but who knows 14:50:20 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:52:46 -!- asiekierka has quit (Ping timeout: 240 seconds). 14:54:24 There are some rather nice (if experimental) ways of (ab)using the caches and virtual-address translation machinery of x86 (and others) to do pretty fast routing-table longest-matching-prefix lookups. 14:54:47 Still, there's interrupt overhead from a separate NIC and so on. 14:54:50 Even the relatively puny FICIX (the Finnish commercial traffic hub) sees about 4 Mpps (million packets per second) of traffic over their switches; that's (for the routers on the sides that see large fractions of it) not too much time to spend on a single packet. 14:56:11 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 14:57:47 -!- cheater- has quit (Ping timeout: 240 seconds). 14:59:54 -!- cheater- has joined. 15:01:20 Ah yeah, paging... x64 got rid of (most of) segmentation but still supports paging... 15:06:06 http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=752162&tag=1 is I think what I read. 15:06:33 It's an old paper, from '99. 15:08:36 Pentium II and Linux 2.0.30, how quaint now. :p 15:09:55 But it has 133 subsequent citations, I think there was some interesting stuff there too. 15:10:39 Some of it is of course exactly that sort of custom-hardware routers. 15:20:50 -!- copumpkin has joined. 15:25:56 -!- Mathnerd314 has joined. 15:29:32 -!- elliott has joined. 15:30:10 -!- Sgeo has joined. 15:30:53 -!- zzo38 has joined. 15:32:48 The ending of Headshoots is quite possibly the most awesomely bizarre thing ever. 15:32:55 it ended? 15:32:59 you'll have to remind me of what happened 15:33:00 ais523_, exactly. 15:33:02 -!- zzo38 has set topic: Rust monsters have to eat, too | http://208.78.103.223/esoteric/ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 15:33:47 IIRC, someone made a deliberate attempt to kill it by setting off HFS /and/ a tantrum spiral, and someone else managed to revive it by making a sealed area out of part of the fortress and locking the rest of the world out 15:33:55 -!- FireFly has joined. 15:33:55 -!- elliott has set topic: Rust monsters are immortal and have no need to eat | http://208.78.103.223/esoteric/ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 15:33:58 hmm, ais523_ plays DF? 15:34:01 elliott: no 15:34:01 or just knows about it? 15:34:11 but I tend to percolate a lot of info about that sort of thing 15:34:15 ais523_, yeah, that wasn't even halfway through. 15:34:28 ais523_: I can explain Minecraft perfectly to you, then: 15:34:38 By the end HolisticDetective and Nemo could have each taken on Cthulhu and won hands-down. 15:35:06 elliott: inspired by Dwarf Fortress, but with a simpler interface, simpler mechanics, and better graphics, and you do everything yourself rather than ordering AI dwarves to do it? 15:35:10 ais523_: It's like Dwarf Fortress, except dumbed down, with simpler game mechanics, where you're the only dwarf, and have an unreasonable compulsion to build random things. 15:35:15 ha 15:35:19 semi-snap 15:35:27 I've percolated quite a lot of Minecraft, too 15:35:31 Headshoots didn't even end: a couple of people just decided to flood it with magma and then finally make HD and Nemo skeletons, which wiped everyone else out. 15:36:10 elliott: meanwhile, I'm laughing at Java having almost the same bug as PHP 15:36:20 ais523_: the floating point stuff? 15:36:20 and showing all my students, who all had the same reaction more or less 15:36:23 elliott: yes 15:36:24 http://lparchive.org/Dwarf-Fortress-Headshoots/Update%2079/ is an analysis of their stats, which are apparently all off the scale. 15:36:31 ais523_: let's be fair, that's a very subtle bug 15:36:38 PHP crashes if you change the last digit of DBL_MIN from 4 to 1 15:36:41 ais523_: it was quite arguably /gcc's/ bug 15:36:43 Java crashes if you change it from 4 to 2 15:36:45 oh 15:36:49 ais523_: I meant the recent one 15:36:53 where parsing a float could hang PHP 15:36:57 elliott: I do mean that one 15:36:59 it's a double, not a float 15:37:00 ah 15:37:20 DBL_MIN is 2.2250738585072014e-308; PHP hangs on 2.2250738585072011e-308, Java hangs on 2.2250738585072012e-308 15:37:29 ais523_: well, I can't really blame anyone for having it, considering that IIRC the bug was in a library of common procedures -- not written by the PHP devs, some "standard" stuff to do it -- and to do with x87 15:37:34 and people are finding other applications that are crashed by similar numberlike strings 15:37:34 and volatile variables 15:37:40 and probably gcc's fault 15:37:52 I mean, I think Headshoots might be the closest thing to victory you can get in DF. 15:38:00 elliott: I can blame the PHP devs for it, specifically because the library they copied had a big comment saying "this code does not work on x87" 15:38:09 I'd forgive them were it not for that 15:38:18 ais523_: yes, but /it's not meant to/ 15:38:23 ais523_: it was a gcc "optimisation" 15:38:27 ais523_: normally, the code executed in SSE 15:38:31 it's not even gcc's fault 15:38:33 ais523_: but gcc decided to be Smart and moved one to x87 15:38:43 ais523_: optimisations changing behaviour == lol 15:39:17 elliott: err, no? optimising changing undefined behaviour == expected 15:39:38 luckily C99 defined it, which gives gcc scope for working out what should actually happen 15:39:46 ais523_: well, then it's the code's fault 15:39:52 the issue with C89 is that gcc can't really fix the bug because the intended semantics are completely unclear 15:39:52 and the PHP devs didn't write it 15:40:33 elliott: I'd agree, except for the code saying which archs it works on, with x87 not being one of them 15:40:49 PHP is the most impressive esolang I've seen so far 15:41:02 ais523_: except it /didn't/ run on x87 for the mostpart 15:43:52 kfr, clearly you haven't seen M4. 15:44:02 What's that? 15:44:17 Google it. 15:44:22 YOUR MIND WILL BE BLOWN 15:44:33 i.e. CPP for the terminally insane. 15:45:15 http://en.wikipedia.org/wiki/M4_%28computer_language%29 15:45:58 You should eschew CPP for it. 15:47:18 02:32:53 What are those crazy programming languages where the correctness of the code is part of defining the algorithm? 15:47:19 02:33:15 I think I recall some three letter initialism one where quicksort is like 150+ lines 15:47:19 02:33:26 It may be related to formal proof systems 15:47:19 02:35:04 I should probably look into Agda/Coq and such at some point, too 15:47:19 02:35:09 Learn about dependent typs 15:47:20 02:35:10 types* 15:47:34 (1) "Crazy"; well, computer proof systems, but more generally, languages with dependent types. 15:47:40 (2) ATS, and _quicksort_ isn't 150 lines. 15:47:57 _Quicksort that returns a proof that the array is sorted_ is something like that (_with_ whitespace and big comment block). 15:48:03 The latter being something you can't even do in most languages. 15:48:15 Wow, you're an avid log reader 15:48:29 A lot of people here are, they've just been quiet lately. 15:48:35 * elliott waves to ais523_ and oerjan 15:48:41 kfr, yesyesyes, we know you think that logs are The Man trying to keep you down. 15:48:46 (3) Yes. (4) Agda is quite similar to ATS, sort of, at the core, but less applied. Coq is interesting. 15:49:35 (Agda is an experiment in dependent typing under the delusion that it is a proof assistant.) 15:50:37 o_O 15:50:39 Phantom_Hoover: It isn't under that delusion. 15:50:46 Idiots are under that delusion. 15:51:17 Idiots a.k.a. most of its user base. 15:51:35 Phantom_Hoover: Not really. 15:51:43 Very few people use Agda. 15:51:50 Those who do are pretty damn smart. 15:51:50 A large part? 15:53:38 Damn, Agda users are even more elitist than the Haskell ones? 15:53:42 Now I need to switch... 15:53:44 Curses. 15:53:51 Phantom_Hoover: Name an idiot that uses Agda. 15:53:55 kfr: I don't use Agda. 15:54:08 elliott: Well I could do it 15:54:11 Haskell users are elitist now? 15:54:17 Phantom_Hoover yes 15:54:32 I think /proving/ large theorems in Agda is just about impossible and a silly thing to try and do if not used to do something else in Agda. 15:54:42 Phantom_Hoover has turned my off-hand remark into the Church of Anti-Agda. :p 15:55:03 elliott, it is called a theorem prover in many, many places. 15:55:16 Phantom_Hoover: Links. I very much doubt those calling it so use it. 15:55:23 See: the WP article. 15:55:42 I can link you to ten crap Wikipedia articles. :p 15:55:49 (Related to computing.) 15:56:30 "You know how they say that when you have a problem and you decide to use regular expressions to solve it, you now have two problems? Well, Haskell is the opposite in that regard. You start out with a problem, then you go through a lot of trouble to actually learn the language and then you no longer have the problem in the first place because you have lost interest in programming." - by Philip Wadler, from "Faith, Evolution, and Programming Languages", April 15:56:30 2007 15:56:32 WP = ? 15:56:47 Wikipedia. 15:59:10 Phantom_Hoover: http://twitter.com/pigworker/status/25356492341252096 Oh noes an Agda user, teaching no less! Probably an idiot! 15:59:39 Of course he's an idiot 15:59:43 He uses Twitter 15:59:46 That's Conor Whatthehellishislastname. 15:59:51 kfr: /facepalm 15:59:55 OH WAIT 15:59:56 elliott indeed 16:00:00 IT SAYS ON THE PAGE 16:00:06 Phantom_Hoover: OH WOW 16:00:08 WHAT TECHNOLOGY 16:00:09 Having a Twitter account -> /facepalm 16:00:29 kfr: Please enjoy your /ignore responsibly. 16:00:37 Phantom_Hoover: Choice McBride quote: "@tom_harper One day, Agda may become sufficiently comfortable that it too induces somnambulance. Just now...it's a great way to feel alive." 16:00:53 Also: 16:00:54 kfr, well, you probably think he's an idiot because he is an IVORY TOWER ELITIST. 16:01:02 @edwinbrady @larrytheliquid I was cautious about using Unicode in Agda at first, but I'm completely sold on it now. 16:01:05 @TacticalGrace The editor I use replaces all unicode symbols by blanks. I recommend it. 16:01:11 @pigworker That makes for some nice reading of the standard library :P 16:01:16 @TacticalGrace It reminds me of Zaphod Beeblebrox's peril-sensitive sunglasses. 16:01:33 XD 16:03:47 Aww, Unicode hater 16:06:53 well... unicode itself isn't so bad. it's just that nobody uses it. 16:07:26 ...what. 16:07:30 Everybody uses Unicode. 16:07:39 Uhm I use Unicode on a daily basis 16:07:57 kfr, the hate is not for Unicode per se, but for Agda's attitude towards it. 16:08:06 There's no hate there. 16:08:08 Sheesh. 16:08:09 IPv6 fun: If you get stale SLAAC addresses, there doesn't seem to be any (obvious) good way to clear them... 16:08:13 你是个白痴>-> 16:08:16 Phantom_Hoover: You are waaay to ideological about this :P 16:08:23 [16:03] * elliott waves to ais523_ and oerjan <--- ais523_ waves back, and didn't see the nickping because they were going through a student's work with them at the time 16:08:26 elliott, I am rephrasing what kfr said. 16:08:32 Phantom_Hoover: O. 16:08:33 *Oh. 16:08:38 Doing ip -6 addr del on them would be obvious way, but that doesn't work. 16:08:48 Phantom_Hoover that is not what I meant though :| 16:08:51 Whatever 16:10:00 did esolangs invent the idea of using Unicode for commands all over the place? 16:10:10 Doubt it 16:10:10 (the idea originally came from APL, but Unicode wasn't around at the time so it couldn't have used it) 16:10:25 Haha yeah APL somewhat inspired me there 16:10:44 I already thought of it before I had ever even heard of APL though 16:10:53 I thought nobody had done it before 16:10:57 then somebody showed APL to me 16:11:05 -!- BeholdMyGlory has joined. 16:11:17 elliott: I'm not convinced the Java floating point crash is x87-related at all 16:11:24 possibly not 16:11:33 especially as it seems to happen on 64-bit processors too, unlike the PHP crash 16:12:01 Well, that part of the ISA is the same on AMD64, no? 16:12:12 I love the comment from a redditor who works at a bank, and ran it on their test servers and crashed them 16:12:20 LOL. 16:12:45 (he or she was right to do that test, I think, and has probably warned his or her boss already; better discover you have a problem in test, than in production) 16:12:59 That PHP overlord originally claimed it was a bug in gcc, right? 16:13:07 ais523_: are you /sure/ they've warned their boss? I'd be pretty scared to... 16:13:16 elliott: no 16:13:20 Management doesn't exactly have a stunning track record of being understanding of those who discover vulnerabilities. 16:13:45 but I wouldn't be scared to, it would be a case of "the news is reporting a bug in Java, I checked to see if it affects us and it does, we'd better fix it before someone else uses it to bring down our system" 16:14:07 and management would be very unlikely to blame that on me unless they were in to shooting the messenger 16:14:17 perhaps you'd have to be careful in how you phrased your report to them 16:14:18 ais523_: that seems terribly _optimistic_ to me 16:14:45 > read "2.2250738585072012e-308" :: Double 16:14:46 2.2250738585072014e-308 16:15:01 Haha yeah we already did that in #haskell earlier today 16:15:10 > read "2.2250738585072011e-308" :: Double 16:15:11 2.225073858507201e-308 16:15:17 ais523_: consider http://techcrunch.com/2011/01/31/plentyoffish-ceo-we-were-hacked-almost-extorted-so-i-emailed-the-hackers-mom/ (sorry for linking to techcrunch...), where as far as I can tell from reddit and elsewhere, the actual story is that a security company reported a vulnerability in the site to him, and he decided to go batshit insane and try and ruin their reputation 16:15:22 really, you'd need to try all possible last digits 16:15:29 > text $ (\x -> x++' ':show x) "> text $ (\\x -> x++' ':show x)" 16:15:30 > text $ (\x -> x++' ':show x) "> text $ (\\x -> x++' ':show x)" 16:15:41 don't be silly; Haskell is perfect 16:15:43 it can't have bugs! 16:15:53 elliott: actually working for a company, you probably have more leeway, especially if your job is to find bugs 16:16:17 companies tend to be more understanding when their own employees do it then when some random person emails them 16:16:20 ais523_: oh, if your job is to find bugs, sure 16:16:24 but if you're just some random undering... 16:16:27 *underling 16:16:31 I guess I'm cynical :) 16:16:48 if you're in a bank, and your job isn't to find bugs or create bugs, you probably wouldn't have the rights to send arbitrary input to the test server 16:16:54 s/create bugs/write code/ 16:17:38 incidentally, use of show, repr, or similar constructs that languages have for escaping strings makes writing quines much easier 16:17:39 true 16:17:46 I prefer "create bugs" 16:18:39 :t text 16:18:40 String -> Doc 16:18:48 Doc? 16:18:59 normally :t gives a good idea of what a function does, but not in this case 16:19:24 @hoogle Doc 16:19:25 Text.PrettyPrint.HughesPJ data Doc 16:19:25 Language.Haskell.TH.PprLib type Doc = PprM Doc 16:19:25 System.Directory getUserDocumentsDirectory :: IO FilePath 16:19:29 ais523_: I think Doc is from prettyprinting 16:19:32 oh, it presumably makes lambdabot not quote its output 16:19:38 no, it's more general than that 16:19:44 that's just the Show instance of Doc that is doing that, I think 16:19:47 > rparen 16:19:48 ) 16:19:49 elliott: yes, I mean that's what it's being used for in this situation 16:19:52 > int 3 16:19:53 3 16:19:57 > "abc" 16:19:57 > brackets (text "af") 16:19:58 "abc" 16:19:58 [af] 16:20:04 > text "a" <> text "b" 16:20:05 ab 16:20:07 > text "a" <+> text "b" 16:20:08 Ambiguous occurrence `<+>' 16:20:08 It could refer to either `Control.Arrow.<+>', i... 16:20:13 > text "a" $$ text "b" 16:20:13 a 16:20:13 b 16:20:16 etc. 16:20:18 ooh 16:20:23 > text "a" $$ text "b" $$ text "c" 16:20:24 a 16:20:24 b 16:20:24 c 16:20:30 of course its purpose isn't just to make lambdabot unescape 16:20:34 > fix (text "a" $$) 16:20:35 but that's why it's involved in the lambdabot quine 16:20:38 mueval-core: Time limit exceeded 16:20:41 :( 16:20:44 :t iterate 16:20:45 forall a. (a -> a) -> a -> [a] 16:20:52 elliott: stop creating botloops 16:20:56 especially within a single bot 16:21:03 ais523_: botloops are a channel tradition TYVM 16:21:04 > (iterate (text "a" $$) (text "a")) !! 10 16:21:04 a 16:21:05 a 16:21:05 a 16:21:05 a 16:21:05 a 16:21:06 [6 @more lines] 16:21:09 aww 16:21:10 @more 16:21:10 a 16:21:10 a 16:21:12 a 16:21:13 lol 16:21:14 a 16:21:16 a 16:21:18 it's too smart :) 16:21:20 a 16:21:29 that was 11 16:21:37 yes 16:21:39 because the first is "a" 16:21:43 and then it becomes "a\na" 16:21:43 I hate how it adds a space in the beginning. 16:21:43 etc. 16:22:40 ais523_: botloops are a channel tradition TYVM <--- I know, that's why I know enough to avoid them 16:22:53 in fact, I fear it was me who started the tradition 16:23:21 ais523_: I actually botlooped lambdabot and egobot recently 16:23:41 fizzie: has fungot been told to ignore lambdabot? 16:23:41 ais523_: but there isn't afaik. i learnt from reading the wikipedia article 16:23:50 ^ignore 16:23:52 oh, no need, it got the list from Wikipedia 16:23:56 :D 16:23:57 LIST OF BOTS 16:24:28 What are botloops? Making bots give input to each other? PRIVMSG recursion? 16:24:51 11.01.20:12:51:36 ?so !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);"; printf(s,34,s,34);// 16:24:51 11.01.20:12:51:36 !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);"; printf(s,34,s,34);// not available 16:24:51 11.01.20:12:51:38 ?so !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);"; printf(s,34,s,34); 16:24:51 11.01.20:12:51:38 !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);"; printf(s,34,s,34); not available 16:24:52 11.01.20:12:51:51 ?so !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);//"; printf(s,34,s,34);// 16:24:56 -!- elliott has left (?). 16:25:18 -!- elliott has joined. 16:25:23 kfr: it's when you get two bots to each output something that's valid input to the other 16:25:24 Heh 16:25:30 sorry 16:25:31 I was thinking about that earlier today 16:25:32 11.01.20:12:51:51 ?so !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);//"; printf(s,34,s,34);// 16:25:32 11.01.20:12:51:51 !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);//"; printf(s,34,s,34);// not available 16:25:32 11.01.20:12:51:53 ?so !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);//"; printf(s,34,s,34);// 16:25:33 11.01.20:12:51:53 !c char *s="?so !c char *s=%c%s%c; printf(s,34,s,34);//"; printf(s,34,s,34);// not available 16:25:36 there 16:25:38 that's how i did it 16:25:41 "?so" turned out to just be 16:25:44 @source x 16:25:44 x not available 16:25:45 m4 doesn't seem to be good for preprocessing C codes. 16:25:46 @src x 16:25:47 Source not found. The more you drive -- the dumber you get. 16:25:48 because they're bots, they don't realise they've been tricked, and keep sending messages back and forth indefinitely 16:26:06 normally, until one of them gets kicked 16:26:08 zzo38: it was designed for processing Ratfor codes and Ratfor is very much like C 16:26:12 (Although they did try by making it send #line directives to the output) 16:26:13 or Freenode gets impatient 16:26:20 made by the K in awk 16:26:38 elliott: that's a different K from the K in K&R? 16:26:43 nope! 16:26:43 :p 16:27:34 What would you say is the most impressive esolang which is still being used to actually solve problems? 16:27:45 i.e. it is actually practical 16:28:10 the only esolang that I've ever seen used for practical tasks is Befunge-98 16:28:26 and in those cases, not because it's actually good at them, but because people wanted to do them in an esolang and it seemed less awkward than the alternatives 16:28:30 hi fungot, btw 16:28:30 ais523_: i just did the fnord fnord in scheme code? how can you use ' set_functions' anywhere in there? 16:29:24 some esolangs are very good at specific contrived tasks 16:29:45 like INTERCAL for bit-twiddling, or Brainfuck for certain types of text processing 16:30:01 but they're normally sufficiently bad at anything else that you can't easily write the support code needed to use them for those purposes 16:30:27 ^bf >,[>,]<[.<]!Hello, world! 16:30:27 !dlrow ,olleH 16:30:47 ^source 16:30:47 http://git.zem.fi/fungot/blob/HEAD:/fungot.b98 16:30:50 you're unlikely to find a shorter file-reverse in pretty much any other language 16:31:08 ais523_: in golfscript i think it would be one character 16:31:09 just "reverse" 16:31:31 yep, the "pretty much" was explicitly with GolfScript and floGscript in mind 16:31:48 and my as-yet-unnamed anagolf-based language 16:32:19 hmm, i can't actually find reverse on http://www.golfscript.com/golfscript/quickref.html 16:33:33 "reverse lines" is apparently 7 bytes in GolfScript, 2 in FlogScript 16:34:27 reversing the elements of a list is actually just 3 bytes in Underlambda: '*t 16:35:16 (t is fold, with no explicit zero: you can add the zero to the end of the list if you want to include that too, because Underlambda's untyped) 16:35:47 err, wait, you'd need to escape the list first 16:35:53 'ae'*t 16:36:04 (and e is map) 16:37:35 -!- azaq23 has quit (Ping timeout: 246 seconds). 16:39:20 -!- azaq23 has joined. 16:40:39 -!- asiekierka has joined. 16:43:01 -!- ais523_ has quit (Quit: Page closed). 16:47:21 -!- evincar has joined. 16:47:36 I return, with a vengeance. 16:47:40 AAAAAAH 16:47:45 Ohai. 16:48:08 ^ul ()(S)((a)^(b)^(c)^)^ 16:48:09 ...bad insn! 16:48:10 I'm working on something you'd like, then hate, then be indifferent toward, then hate, then like again. 16:48:13 ...:( 16:48:14 wut 16:48:24 evincar: are you INSINUATING something about me 16:48:36 elliott: I see what you did there. 16:48:47 I hope you do. :P 16:48:47 ... i don't 16:48:51 :D 16:48:57 You'll oscillate. 16:49:01 elliott: what's that UL program meant to do? 16:49:03 Sinusoidally, perhaps. 16:49:04 evincar: oh wow 16:49:07 it looks like a pretty obvious crash to me 16:49:07 xD 16:49:18 ais523: the a^b^c^ bit is meant to be a list represented as its folding instruction 16:49:19 ohhh 16:49:21 it should be ~^ 16:49:27 actually 16:49:28 it should be 16:49:29 given 16:49:31 yep, and there should be some colons in there too 16:49:39 PREVIOUS F 16:49:40 it should be 16:49:42 PREVIOUS CURRENT F 16:49:43 and then ^ 16:49:54 ^ul ()(S)((a)~^(b)~^(c)~^)^ 16:49:55 a ...bad insn! 16:50:02 also, isn't that map not fold? 16:50:04 grr 16:50:05 i need a dip 16:50:09 ais523: no, the function is meant to take two arguments 16:50:15 ais523: it starts with zero f on the stack 16:50:16 then it becomes 16:50:21 zero first-elem f 16:50:22 heh, the two are basically the same in Underload 16:50:23 then 16:50:27 f(zero first-elem) f 16:50:28 then 16:50:30 f(zero first-elem) second-elem f 16:50:39 f(f(zero first-elem) second-elem) f 16:50:43 and then at the end it should pop the function 16:50:48 Underlambda t works by dumping the whole list on the stack, then repeatedly running the operation you give 16:50:49 but this seems like it'll be a bitch to do.... 16:50:51 *do... 16:50:53 i need a dip <- were you actually talking about orally consumed tobacco there? 16:50:58 a number of times equal to the list length minus one 16:51:02 kfr: no, a combinator 16:51:08 Right 16:51:17 elliott: Underload dip is a~*^ 16:51:25 i know 16:51:34 ok so we want 16:51:45 (push first elem) dip dup (^) dip 16:51:47 kfr: it runs a program without the top stack element, then adds the element back again afterwards 16:51:49 can that be simplified 16:51:49 ? 16:51:51 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 16:52:01 ((a))a~*^:(^)a~*^ 16:52:02 I was about to ask if Haskell has it 16:52:05 that can surely be simplified 16:52:14 But I guess that's that 16:52:27 kfr: it doesn't really make much sense with Haskell's evaluation model, it's more a concatenative than functional combinator 16:52:51 evincar: but yes stay you are cool 16:52:59 but on lists rather than stacks, you could write it as "dip f h:t = h:(f t)" 16:53:09 lists are stacks 16:53:13 @pl let dip f (h:t) = h:(f t) 16:53:13 (line 1, column 26): 16:53:13 as far as the concatenative model is concerned 16:53:13 unexpected end of input 16:53:13 expecting variable, "(", operator, ":", "++", "<+>", ";" or "in" 16:53:20 stacks are essentially linked lists 16:53:22 elliott: well, yes 16:53:27 @pl \f (h:t) -> h:(ft ) 16:53:27 const ((: ft) . head) 16:53:28 @pl \f (h:t) -> h:(f t) 16:53:28 (`ap` tail) . (. head) . flip ((.) . (:)) 16:53:32 gross 16:53:34 oh, it has to be a function not a statement 16:53:40 haskell has no statements 16:53:45 what you said there is only valid in a do block 16:53:50 err, yes, that's what I meant by statement 16:53:53 elliott: It's noon here and I've been awake since 11pm yesterday. So forgive me if I suddenly fall asleep. 16:53:53 right 16:54:01 evincar: THAT WOULD BE GIVING UP 16:54:06 and that's the ugliest pointfree form I've seen ever 16:54:20 lol 16:54:41 Underload's inherently point-free, and a~*^ is pretty simple 16:54:42 It's almost pornographic. 16:54:53 but sometimes it gets ugly for other things 16:54:55 One way avoiding bot-loops would be to make their output as NOTICE messages instead of PRIVMSG 16:55:03 (OTOH, dip is much more important in Underload than Haskell) 16:55:06 @pl \a b c d e f g -> g f a c e d b 16:55:07 flip . ((flip . ((flip . ((flip . (flip .)) .)) .) . flip . ((flip . (flip .)) .) . flip . (flip .)) .) . flip . (flip .) . flip (flip . flip id) 16:55:11 zzo38: indeed, and that's what technically they should do 16:55:20 and probably would, were it not for mIRC 16:55:27 ^ul (TIME)S 16:55:28 Flipping burgers 16:55:34 freenode is my favourite mIRC server. 16:55:47 ais523: notices are ugly 16:55:49 in almost any client 16:55:51 and annoying too 16:55:57 ais523: Were it not for mIRC, many people would be spared having to begin or end sentences with "were it not for mIRC". 16:55:59 elliott: I don't think so. 16:56:00 anyway, botloops are _fun_ 16:56:02 zzo38: technically, fungot - and everyone else - misparsed that, CTCPs are supposed to be allowed in the middle of a line 16:56:03 ais523: ptys work perfectly well 16:56:12 * Received a CTCP TIME from fungot (to #esoteric) 16:56:13 elliott: ( define ( fnord liste symbol?) ( else ' even)) x sort ( filter xs ( x) 16:56:14 :> 16:56:16 worked for me 16:56:26 hmm, clients should probably just show notices as -fungot- rather than , with maybe a color change, and leave them identical 16:56:27 ais523: wait a minute, i need to do that 16:56:30 I think that's what clog does 16:56:37 -- is ugly :P 16:56:44 ^ul (ACTION asdf)S 16:56:45 * fungot asdf 16:56:45 (I take that back. According to Google, no one has ever said those five words in sequence before.) 16:56:49 -ugly? doing it on every line is famously scary- 16:56:52 ^ul (xACTION asdfy)S 16:56:53 xACTION asdfy 16:56:57 ^ul (xPINGy)S 16:56:58 xPINGy 16:57:02 * Ping reply from zzo38: ? second(s) 16:57:11 zzo38 wins the "only client that obeys the RFC" prize 16:57:13 why am i not surprised? 16:57:26 I thought zzo38 still did IRC over telnet/netcat? 16:57:37 I obey that part of the RFC too, when I'm IRC'ing by hand 16:57:39 ais523: No, I wrote my own IRC client. 16:57:49 ais523: he wrote his own client in PHP 16:58:00 elliott: I'm not surprised that it obeys the standard either 16:58:05 ais523: that consists of an IRC-protocol syntax highlighter, and a way to type "PRIVMSG #foo :" quickly 16:58:26 *completely* unrelatedly, all over the globe, stereotypes continue to be obeyed 16:58:28 haha, that was unexpected, but not surprising either 16:58:28 (Command-line PHP, as it turns out. If I ever rewrite it, it will use C (Enhanced CWEB) instead probably) 16:58:52 link us to PHIRC again zzo38? 16:59:00 elliott: It actually does a few more things that just syntax highlighting and way to type "PRIVMSG #foo :" quickly. It does a few other things too. 16:59:09 haha, that was unexpected, but not surprising either 16:59:10 what was? 16:59:16 the way zzo38's client works 16:59:18 zzo38: oh right, you can script it right? 16:59:20 with a Forth dialect? 17:00:50 Actually it has other features too. /F can be used to set filters, and /SET SHOWTIME + will make it display the time with each message received. And it will mask the parameter for any command line starting with PASS 17:01:00 It also has macros which can be assigned to function keys. 17:01:26 can you link again? 17:01:51 http://zzo38computer.cjb.net/prog/PHIRC/ 17:02:31 Can you offer the source code in a Free archive format such as tar? 17:02:35 wow, the gcc bug report about x87 weirdness (323, fixed eventually for C via the slow -fexcess-precision=standard that makes absolutely sure floating point is vaguely sane) ended up filling up with Exchange error messages about bounced email from what looks like a spambot address 17:02:46 elliott: OK I can do that. Just a minute. 17:02:52 I use gNewSense, so I cannot use any file format that is not openly standardised with a Free Software implementation. 17:03:11 ais523: heh 17:03:13 elliott: but .zip is an open standard with several free software implementations, IIRC 17:03:38 ais523: No, ZIP files are not an open standard. 17:03:48 Oh, it is. 17:03:53 ais523: Well, the original implementation has to be Free! 17:04:28 I want a desktop made out of completely open source hardware! 17:04:42 elliott: it seems muddled 17:04:48 OK I made a .tar.gz now available 17:04:56 7zip o/ 17:04:57 elliott: I'ma snooze a bit before class, but I'll be back on. When you get a sec, browse the logs from earlier and read up on the thingy I'm working on and started telling ais523 about. 17:05:10 PKWare released the original specification to the public domain (although not their original implementation), also the file extension .zip 17:05:17 I didn't even realise you /could/ release a file extension to the public domain 17:05:24 (as in, that such an operation was meaningful) 17:05:28 evincar: hmm, I didn't see that in the logs 17:05:43 oh, seems so 17:05:44 elliott: It'll be fun to hear you yell at me about it. :P 17:05:46 kfr: I would also like such a thing (currently I have no such thing) 17:05:56 -!- evincar has quit (Quit: Sleemp.). 17:06:17 zzo38: I know somebody on freenode who makes large feature size ASICs at home haha 17:06:28 I've also looked into VHDL/Verilog + FPGAs etc 17:06:39 But FPGAs would obviously not be free either 17:06:58 YOU SUCK AND YOUR LANGUAGE SUCKS 17:06:59 kfr: seriously, someone making ASICs at home? 17:07:07 what do they make them out of? 17:07:07 Yes the ZIP files is now open standard, whether or not the original implementation is Free is not important as long as it is open standard and Free implementation are available or that you can write one. 17:07:11 ais523: Oh, many freelancers do that commercially 17:07:21 I know somebody in Japan who does it commercially 17:07:24 I'm surprised that they can get sufficiently pure silicon 17:07:26 Open standards is more important I think. 17:07:41 There are some machines which can do it with larger feature sizes, I think? 17:07:58 Let me sanity check in ##electronics 17:08:02 At least he told me he did 17:08:05 the other parts of the process are not completely implausible to do on a small scale, although getting the accuracy required for the photomasks could be painful (presumably some sort of optical solution) 17:08:10 How are ASICs build? 17:08:18 I make ASICs out of paperclips. 17:08:40 zzo38: Well, the mainstream x86 ones are made in extremely expensive fabs in Taiwan 17:08:48 Which cost 50-75 billion USD each 17:09:00 And they need to make a new one for every new feature size 17:09:17 Anyways, it's based on photolithography 17:09:29 zzo38: you take some very pure silicon, then expose it alternately to an environment made out of a gas that reacts with silicon to form an n-type compound, and a gas that reacts with silicon to form a p-type compound, and oxygen (which reacts with silicon to form an insulator) 17:09:46 with various masks used to prevent the gas getting to parts of the chip you don't want it to affect 17:10:05 the length of time it stays in the gas, and the temperature, determines how deep the n-type, p-type, or insulating region goes into the chip 17:10:05 You basically change physical properties of a wafer by combining light exposure with extremely fine masks or something like that 17:10:12 sounds like great fun! 17:10:15 Gas? Oh boy 17:10:18 I must be totally outdated 17:10:52 so you can get a 3-D structure by, say, letting an n-type compound deep into the chip, then overriding it nearer the surface with a p-type compound that cancels it out 17:11:26 kfr: the light doesn't change silicon directly, you use it to let the mask into a particular shape 17:11:39 much the same way you make PCBs, except massively more precise 17:11:57 then the mask regulates chemical reactions which are what makes the n-type and p-type layers 17:12:18 Is there a open specification binary format for ASIC layers? 17:12:19 originally people used silicon dioxide as an insulator, and aluminium on the surface as a conductor 17:12:48 zzo38: This stuff is all super vendor specific as far as I know 17:13:01 but nowadays the aluminium layer isn't used, they just nest a bunch of diodes instead to form effectively a wire (as two diodes in opposite directions don't let any current through at all) 17:13:27 and likewise, the alternating-diode trick's used for insulators inside the ASIC itself (silicon dioxide's still used to protect the surface of the resulting ASIC) 17:13:47 kfr: Yes so is FPGA, I think. I would like to see an open standard for these kind of things, and for FPGA, also a FPGA chip that follows the open standard and has no secure loading mode. 17:13:54 kfr: as far as I remember, there's a standard format for ASIC specification, in that the format of the file itself is specified 17:13:57 but it's basically as general as XML 17:14:02 and what it actually /means/ is up to the individual vendors 17:14:06 thus, it effectively isn't open 17:14:39 (That way it is possible to make a FPGA that modifies itself and that you can use the same FPGA program with different vendors and it will still modify itself in the same way.) 17:14:44 zzo38: even with a secure loading mode, it would still work pretty well, as long as it still allowed reflashing 17:14:56 so long as it was possible to turn the mode in question off by wiping the chip 17:15:42 ais523: Maybe it would, if you can switch off secure loading mode it would work (so that you can load unencrypted data), but I would prefer to use a FPGA with no secure mode. 17:15:54 (explanation for people lacking content here: secure loading modes make FPGAs and similar concepts write-only, so people don't grab your source code from the chip directly once you ship it; on several models, you can bring the FPGA back to a read-write state by erasing it, preventing the data that was on there being read) 17:16:09 ^ignore 17:16:09 ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot)! 17:16:15 No, there's no lambdabot on the list. 17:16:20 there probably should be 17:16:22 or someone will try 17:16:29 we already did 17:16:31 but it was boringly easy 17:16:33 since you can ^def 17:16:34 also, I remember optbot 17:16:39 so i wouldn't bother 17:16:39 well, almost 17:16:47 ais523: i was going to bring optbot back 17:16:48 but then didn't 17:16:48 didn't it just spout random lines from the logs? 17:16:50 maybe i will 17:16:51 ^ignore ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot|lambdabot)! 17:16:51 OK. 17:16:55 ais523: yes, but more importantly, 17:16:57 it set the topic 17:16:58 I don't think Sparkbot actually exists. 17:17:00 every 6 hours on the dot 17:17:04 My logs didn't really find anything about it. 17:17:05 ais523: to a random log quote 17:17:09 and it was great 17:17:46 ais523: Yeah I know somebody who worked with encrypted Flash stuff for his FPGA 17:18:07 still, there are some cases of people extracting the "source" even from ASICs 17:18:12 Designed to make reverse engineering difficult 17:18:16 someone cut open a 6502 and scanned it with an electron microscope 17:18:23 ais523: Do you know azonenberg? He does that 17:18:25 in order to make a bug-compatible emulator 17:18:27 Acid and microscopes 17:18:28 kfr: no, I don't 17:18:35 He's a regular on ##re 17:18:43 And many other related channels 17:18:50 -!- cal153 has quit (Ping timeout: 240 seconds). 17:19:00 Being a "regular" on a regular expression -related channel would be so punny. 17:19:33 fizzie: hurf durf 17:19:36 http://siliconpr0n.wikispaces.com/Tutorial+on+epoxy+decapsulation 17:20:20 fizzie: The channel is primarily about cracking commercial software and reverse engineering smart cards and jailbreaking new embedded systems and such 17:20:22 "epoxy decapsulation" sounds like a sort of execution method 17:20:44 I gathered as much from the context. 17:20:47 That's his page 17:21:38 ais523 http://siliconpr0n.wikispaces.com/Tutorial+on+using+micropositioners 17:22:17 The funniest part about this is that he never had any formal training in EE 17:22:23 And he's a CS undergrad or something 17:22:39 But his primary interest is hardware really 17:23:39 kfr: I'm the other way round, my first degree was in electronic engineering 17:23:45 but I'm doing my PhD in computer science 17:24:12 (electronic engineering is a much better undergrad degree than computer science, as the first is much more expensive than the second to study on your own without a university's equipment) 17:24:23 (and you can do them both at much the same time, one at university, one in your free time) 17:25:25 epoxy decapsulation :D 17:26:24 I can tell what the phrase means (clearly the opposite of epoxy encapsulation), but it sounds like it should be much more dramatic than it is 17:30:25 Ready the Epoxy Decapsulation Squad, we have a runaway. 17:31:04 -!- asiekierka has quit (Remote host closed the connection). 17:36:42 Square Root of Minus Garfield is rapidly hurtling towards the Garfield fo 17:37:00 *Garfield inus Garfieldocalypse. 17:39:01 hmm, yesterday's (i.e. the current) Lightning Made of Owls is very deep 17:40:14 ais523: walls aren't that deep! 17:40:57 incidentally, I think there's actually a fifth wall that it's possible to break as well 17:40:57 segfaults -- i love segfaults! 17:41:03 -!- cal153 has joined. 17:41:08 oh, that's what it's referring to? 17:41:09 heh 17:41:16 elliott: not directly, I don't think 17:41:22 only by saying it's a meta-meta-joke 17:41:32 http://www.mezzacotta.net/owls/?comic=328 same person 17:41:36 indeed 17:41:49 breaking the fourth wall happens when the fictional characters become aware that there's an audience, and that they themselves are fictional 17:41:52 http://www.mezzacotta.net/owls/?comic=326 17:42:05 breaking the fifth wall is when they start exploiting effects of the media their fictional universe is in 17:42:11 ais523: breaking the fifth wall happens when the real author becomes aware that there's characters, and that they themselves are real! 17:42:26 so, where's the fifth wall? perpendicular to the other four? 17:42:30 (Onion joke) 17:42:35 e.g. I Wanna Be The Fangame's "lag spike", which moves backwards and forwards really quickly just to make Windows unresponsive 17:42:47 haha 17:43:02 and likewise in the Impossible Quiz, where some of the questions (maybe only in the sequels?) can only be answered by exploiting corner cases of Flash's mouse handling 17:43:30 no, you have to do that kind of thing in the original 17:43:36 on a TV program, breaking the fifth wall would be if the characters started doing subpixel antialiasing 17:43:40 haha 17:43:50 exploiting the way the viewers' TV screens were likely to work 17:44:19 hmm, now what's wrong with this ... 17:44:34 "Java says one file per class, I say one file per function" 17:45:06 kfr: Java doesn't actually say that at all, you can put all the classes in one file and it works just fine 17:45:11 it's just anywhere in between that you have the issue 17:48:17 (note: technically, this works because /public/ classes have to be in a file to themselves; but you can make the other classes file-private and have just the one public class) 17:49:52 That doesn't really work if you need to have multiple public classes due to some sort of an interface. 17:50:00 I guess it normally works. 17:50:36 If someone gives you an object of a non-public class, I suppose you can do reflection on it freely? 17:50:52 If it's just the class declaration you can't access. 17:52:09 It is still "one file per class" if you're speaking of .class files, though. 17:54:26 I think you can reflect a non-public class, but I'm not sure 17:54:45 there might be some sort of visibility exception, like if you try to use reflection to assign to a non-public property of a class 17:54:49 fizzie: I think you can put all the .class files together in a .jar file? 17:55:13 11:27:23 Basically you've got the absolute progression of time, and the state of the program is a pure function of the current moment in time. 17:55:13 11:27:45 Events occur, and effects may result, and generate further events, ad whateverum. 17:55:13 11:28:12 Effects are evaluated lazily, so nothing happens until something depends on it. 17:55:13 11:28:31 Which keeps the language purely functional, and lets you start jumping around and forking the timeline however you please. 17:55:15 (A .jar file has the same format as a .zip file) 17:55:21 that's like FRP if you took away the part where it's sane 17:55:39 11:29:51 What's the significance of the lemons in the Esolangs logo? 17:55:39 /facepalm 17:55:55 there's a thread about the limes in the Esolangs logo 17:56:03 11:32:23 There is all sorts of fun with complexity classes. Such as R being impossible to construct explicitly... 17:56:03 WELL I DID IT 17:56:05 but it was mostly people concluding that they didn't know either, and probably there wasn't one 17:56:29 and even implemented it 17:56:30 *it! 17:56:30 :p 17:56:32 elliott: Well what does it stand for? :[ 17:57:28 But I do guess that if you want to, you might make a programming language where each function is a separate file in a ZIP archive. 17:57:55 Ew, then I'd have to write decompression stuff 17:59:29 11:32:57 it's hard to explain, because all the terminology required for time travel doesn't yet exist in English 17:59:29 11:33:00 or probably any other language 17:59:30 wioll haven been 17:59:47 elliott: I think that was just a joke 17:59:57 ais523: you think what was just a joke? 18:00:12 the time travel verbs thing in HHGTTG 18:00:19 Showing results for "will have been". Search instead for "wioll haven been" 18:00:19 why the fuck do you think I quoted it, Google? 18:00:21 as in, Douglas Adams just invented some verblike forms 18:00:24 because you fucked it up beforehand! 18:00:38 rather than actually having the meanings plotted out 18:00:47 elliott: I think you can use a leading + to prevent the did-you-mean triggering 18:02:03 but quotes should do that! 18:03:14 I'm always amused when people complain about Wikipedia's search feature 18:03:32 hello zzo38 18:03:35 to me, it's better than most other searches, for exactly the same reasons other people complain about 18:03:39 Wikipedia's search feature seems to work better than Google, I think. 18:03:44 ais523: well, I can never _find_ what I'm looking for with it 18:03:50 I can 18:03:57 but I suppose we're looking for different things 18:04:11 on Wikipedia, you don't put precisely what you're looking for, but rather the name of the page you think it will be on 18:04:32 and the names follow a consistent enough pattern that you can generally guess what the page will be 18:05:14 ais523: Yes they do, I just have C-l :w page name and I can usually guess the name of the page I want, either that or a name of a page that will redirect to the page I want. Since I can type fast it works better than disambiguation 18:09:45 -!- pikhq_ has joined. 18:10:13 -!- pikhq has quit (Ping timeout: 265 seconds). 18:11:02 elliott: you have to do +"sjkdfhskdjfh" to get exactly what you asked for :/ 18:11:51 quintopia: but elliott didn't ask for sjkdfhskdjfh 18:12:47 ais523: sjkdfhskdjfh is a new standard metasyntactic variable 18:14:25 "=\ 18:14:47 I owe $1,600 in taxes to Indiana. 18:14:49 YAAAAAAAAAAAAAAAAAAAY 18:14:50 dfijdfgsodgjoidjgsjfgsdlkfgjslkdjgfsdjkgf 18:14:57 Gregor: I owe Gregor in taxes to $1,600. 18:16:49 Gregor: I converted the Velota Hello World program to your steinway. 18:17:01 * Gregor nods sagely. 18:17:18 -!- zzo38 has quit (Remote host closed the connection). 18:17:54 Gregor: how does taxation work in the US? In the UK, unless you have an unusual financial setup, you fill in one form when you get a job, and are given a form whenever you leave a job, and taxes just work automatically from there 18:18:07 to the extent that people don't notice them much, maybe that's the idea 18:18:31 (to be precise, a percentage is taken out of your wage and given to the government by the company; and another percentage in sales tax whenever you buy anything with the resulting money) 18:18:34 ais523: It's mostly only a bit less automatic, with the caveat that different states are different taxing authorities, so if you live in one but work in another, they rape you a lot. 18:18:56 hmm, it seems to be in everyone's interest for taxation to be automatic 18:19:35 ais523: Basically, your employer estimates how much tax you owe, then you fill out a form saying what your taxable deductions are (child credits, that kind of malarky), and if the estimates were off, somebody gives somebody money. 18:19:51 don't US citizens living abroad have to pay taxes? 18:19:54 But you have to fill out one of those forms for the federal government, and one for every state you worked in that has income tax. 18:20:00 that's rather fucked up, I've always thought 18:20:03 ah, so forms every year 18:20:04 elliott: Yup. 18:20:15 lame 18:20:19 elliott: although only if they pay less tax to their local government then they would in the US 18:20:23 s/then/than/ 18:20:25 but it's still ridiculous 18:20:26 ais523: ...what 18:20:28 that doesn't even make sense! 18:20:41 it sort-of half makes sense 18:20:55 in that you aren't allowed to emigrate to avoid taxes, but are allowed to emigrate for other reasons 18:21:07 but the justification breaks down at one level 18:21:11 in that it makes no sense either 18:23:06 heh 18:23:30 I'm amused that you thought it made sense without the restriction, though 18:23:57 an interesting fact about the UK: if you're not a UK citizen, if you enter the country for just a few days (say on holiday), then when you leave again you can get a refund on all the sales tax you paid 18:24:27 so long as you remember to do so, and have been really pedantic about collecting tax receipts (which are often not the same thing as ordinary receipts that you're given when you buy something) 18:25:36 ais523: In Indiana, if you go buy things out of state without sales tax (and they catch you), you'll get charged Indiana sales tax. In Oregon, if you go to Washington and buy things WITH sales tax, they'll refund you :P 18:25:50 who, Washington or Oregon? 18:26:03 I'm amused that you thought it made sense without the restriction, though 18:26:04 no i didn't 18:26:07 well 18:26:09 ais523: Washington 18:26:15 i thought it made sense in the "let's just be horrible and evil" way :) 18:26:34 yep, I was wondering if you thought it made sense because it was arbitrarily evil 18:26:40 and putting a restriction on that made it less os 18:26:41 *so 18:26:46 well, less evil, more arbitrary though 18:29:05 ais523: Does that exempt-from-UK-sales-tax thing work for EU citizens? (Because the similar thing in France doesn't.) 18:29:17 fizzie: I don't know, but it wouldn't surprise me 18:29:54 certainly, when leaving the UK (i.e. you've crossed the border at an airport into an international area), you have to pay UK sales tax if you're travelling to a location in the EU, but not otherwise 18:30:11 so when you buy something, you have to show your boarding pass so they can work out how much tax to charge 18:32:06 13:03:46 • ais523 golfs his or her Slashdot signature 18:32:06 13:04:01 (it's an INTERCAL addition without using the stdlib, I noticed a way to save another character) 18:32:09 that "his or her" 18:32:10 WJW 18:32:35 elliott: I feel so dirty typing gendered pronouns, and have to stop and think about whether I actually /know/ they're correct or not 18:32:52 in here, there's no such need, I can just say "they" or "eir" or "his or her" without thinking 18:32:58 regardless of the sentence they're in 18:33:29 13:14:55 Looking at the press confrence speakers: They appear to be the the highest-ranking persons in ICANN (representing IANA), NRO (represents RIRs), ISOC and IAB. You don't have that sort of cast if one isn't announcing something really, really major... 18:33:29 13:15:32 They're going to announce what they're going to have for lunch next week. 18:33:31 :D 18:33:32 Certanly it is considerate for you to not just go on and assume you would agree with you about which pronoun to use. 18:33:38 -!- asiekierka has joined. 18:33:46 "Do you have... anything else to announce?" "Nope!" 18:34:25 I still think it's going to be the bit-flip thing. 18:35:55 what bit-flip thing? 18:36:46 ais523: A surprise announcement that they're going to invert the bits in all IPv4 network prefixes, for long-term 0/1 balance reasons. 18:37:00 ah 18:37:15 0/1 balance is actually an incredibly serious issue in electronic engineering on occasion 18:37:19 although in the short term, not the long term 18:39:10 13:26:07 "When ARIN receives its last /8 IPv4 allocation from IANA, a contiguous /10 IPv4 block will be set aside and dedicated to facilitate IPv6 deployment. Allocations and assignments from this block must be justified by immediate IPv6 deployment requirements." 18:39:11 wut? 18:39:16 13:26:35 ("Examples of such needs include: IPv4 addresses for key dual stack DNS servers, and NAT-PT or NAT464 translators.") 18:39:16 Ah. 18:41:30 14:38:52 $ cat /proc/sys/net/ipv4/route/max_size 18:41:30 14:38:52 1048576 18:41:30 14:39:06 My table is smaller. :v 18:41:30 14:39:20 s#v#/# 18:41:30 I preferred :v. 18:42:25 [root@niflheim ~]# cat /proc/sys/net/ipv4/route/max_size 18:42:25 524288 18:42:28 :[ 18:43:08 why do you have to be root to do that? 18:43:14 or are you just root for the sake of it? 18:43:30 it's 524288 for me too 18:43:30 I was doing iptables stuff in that shell 18:43:33 a much-unloved power of 2 18:43:57 ais523: what suggests he's root there? 18:44:12 elliott: the root@ and # in the shell prompt 18:44:17 ais523: oh, not fizzie? 18:44:20 no, kfr 18:44:27 ais523: right. i, uh, don't see his messages. :p 18:44:44 -!- Zuu_ has changed nick to zuu. 18:44:49 -!- zuu has changed nick to Zuu. 18:45:49 As was seen after that, my phone had the smallest table of them all, just 32768. 18:46:30 Of course it might not be very often that a phone is being used in a network setup that needs more than 30 thousand prefixes. 18:46:54 (Unless it is... the RoutaPhone.) 18:47:25 I want a RoutaPhone. 18:47:30 -!- sebbu2 has joined. 18:49:15 fi:routa == en:frost. 18:49:46 FROSTPHONE 18:50:19 -!- sebbu has quit (Ping timeout: 240 seconds). 18:50:54 "Does your iPhone keep exploding in the cold? Get the new FrostPhone! Guaranteed to survive down to ten kelvins." 18:51:05 Somebody make elliott unignore me, I am too cheap to advance the address in the configuration by one to change the hostmask :[ 18:53:03 I dearly miss his words of wisdom 18:56:42 fizzie: BTW, what *is* that strange tunnel system under your house in the old mine? 18:56:44 Mine tunnels? 18:58:29 Hmm? 18:58:43 Is this the right channel? :p 18:58:59 fizzie: Er. 18:58:59 If you mean the things spaced three blocks apart, those are mine tunnels. 18:59:02 Right. 18:59:24 Also act as shortcuts, the wide-tunnel route has a detour there. 18:59:28 Not that I ever go thataway. 19:00:47 -!- Lymia has joined. 19:00:49 -!- Lymia has quit (Changing host). 19:00:49 -!- Lymia has joined. 19:01:41 hi Lymia 19:02:01 http://blog.regehr.org/archives/370 -> of interest to people here 19:02:15 -!- Lymia__ has quit (Ping timeout: 240 seconds). 19:04:07 variable: indeed; I sort-of have the opposite problem: you have an algorithm that's proven correct, how do you translate it into software in such a way that you know it's still correct after the translation? 19:04:54 ais523, by using a trusted translator :-) 19:05:27 I'm not sure if there are any that take mathematical papers as input 19:05:46 doing it that way round is definitely easier than proving an existing program, though 19:05:51 verification is useful for very specific subsets of software - namely core software that will run mission-critical that is unlikely to change 19:06:06 -!- Lymia_ has joined. 19:07:05 I like that article's suggestion that verifiers should output machine-readable proofs of the program 19:07:10 variable: indeed; I sort-of have the opposite problem: you have an algorithm that's proven correct, how do you translate it into software in such a way that you know it's still correct after the translation? 19:07:11 ais523, by using a trusted translator :-) 19:07:11 I'm not sure if there are any that take mathematical papers as input 19:07:13 ais523: do it in Coq :) 19:07:17 then extract to Haskell 19:07:27 I like that article's suggestion that verifiers should output machine-readable proofs of the program 19:07:30 see frama-c/why/etc 19:07:31 *etc. 19:07:35 -!- Mathnerd314 has joined. 19:07:38 they output to Coq 19:09:02 -!- Lymia has quit (Ping timeout: 240 seconds). 19:10:22 -!- impomatic has joined. 19:15:12 It's not like I'm particpating in this conversation. :v 19:15:14 -!- Lymia_ has changed nick to Lymia. 19:15:15 -!- Lymia has quit (Changing host). 19:15:15 -!- Lymia has joined. 19:15:46 Lymia: don't worry too much, there are lots of conversations I don't participate in too 19:16:04 I'm commenting on elliott's copy/paste more than anything. 19:16:12 Maybe I'm confused as to what s/he meant to do. 19:16:55 so FSM accept regular languages; PDA accept context free; and TM accept anything ? 19:16:55 -!- asiekierka has quit (Remote host closed the connection). 19:17:11 Lymia: elliott wanted to reply to me, and was trying to give enough context that I knew what the replies meant 19:17:32 Lymia: it's called logreading :) 19:17:44 it was replying to something that happened much earlier 19:17:49 Context free ones need nondeterministic PDA. 19:19:36 Ilari are there any language types which FSM can't accept but D-PDA can ? 19:19:53 variable: sexps 19:20:26 ais523, reading them now 19:20:32 variable: For instance the classic a^n b^n language.... 19:20:57 so it goes regular - sexp - cfa - * == FSM - D-PDA - U-PDA - TM 19:21:20 oh, I was using sexps as a specific example, rather than a general class 19:21:30 ais523, is there some general class ? 19:21:38 I'm not sure what the general name of languages matched by deterministic PDAs is 19:21:54 I'm pissed off at my college - we don't deal with this stuff *ever* 19:22:01 * variable has to learn it online 19:22:02 -!- sftp_ has quit (Remote host closed the connection). 19:22:19 -!- augur has quit (Remote host closed the connection). 19:22:54 I think deterministic-PDA is the class matched by recursive regular expressions 19:23:31 Recursive regular expressions? 19:23:55 Ilari: regular expressions, except you're allowed to define them recursively 19:24:09 e.g. R = (aR*b) 19:24:24 -!- sftp has joined. 19:24:31 oh - I've had this idea for a long time - and was wondering if its true 19:24:45 in fact, they don't even need the * operator as you can do that with recursion, just alternation 19:24:55 Note that if you add operator to regular expressions that matches anything some subexpression of the whole can match (including if referencing subexpression it is itself in), the result will be class of all CFGs. 19:25:12 anything that could be defined recursively could be implemented in a non-rescursive manner 19:25:41 Ilari -> CFG ? 19:25:54 Context free ? 19:25:59 AFAIK, any context-free language can be written that way. 19:26:09 Ilari: really? that would surprise me 19:26:13 although it isn't obviously false 19:26:38 anything that could be defined recursively could be implemented in a non-rescursive manner <-- indeed, but you need more power than regular expressions provide to be able to do so 19:26:57 ais523, yes - just a thought I've had. 19:27:02 curious - is there a proof for this? 19:27:21 that regular expressions can't do recursion? yes, although I don't know it offhand 19:27:30 ais523, no - my idea 19:27:41 or that you can do recursion in an imperative language? it's basically done by emulating a stack by hand 19:27:48 ais523, yes - exactly 19:28:04 I think you can probably do it with continuations instead 19:28:09 continuations ? 19:28:47 let's see... a continuation represents the current state of a program, in such a way that you can rewind the program to there and get it to continue differently 19:29:18 like the series of steps that it took to get there rather than just the state ? 19:29:29 hmm, not really, it's just the state 19:29:40 but the idea is that you're making a choice when you create a continuation 19:29:49 any links I could read? 19:29:58 e.g. the usual way to create one is a call-with-current-continuation operator, which calls an arbitrary function with a continuation as its argument 19:30:09 and if the continuation is ever called, instead of doing that, returns the value it was called with 19:30:10 let me find one 19:30:31 http://www.madore.org/~david/computers/callcc.html 19:30:53 I'll read it in a bit - and come back here with Qs 19:30:57 * variable is busy for it 19:31:00 *for a bit 19:32:44 hmm, something awesome my supervisor did: finding counterexamples to security proofs in programs by doing things that were just completely outside what the proof assumed 19:33:14 e.g. saying there was a security bug in a protocol that used a callback function, triggered by calling fork() in the callback and doing different things in the two halves 19:33:30 I'm pretty sure he used call/cc for a similar demonstration 19:33:41 I'm not sure if there was much /point/ in doing this, but it was nonetheless hilarious 19:33:50 (especially as the person who wrote the proofs was in the room at the time) 19:35:58 "Think of a setjmp() function that would not have this limitation and you have a good approximation of call/cc. If you adhere to a stack-based paradigm of computation, or things to work in all cases we would need a full copy of the stack as per getcontext()." 19:36:09 hmm, that's actually how I implemented continuations in C-INTERCAL, IIRC 19:36:32 by using INTERCAL's getcontext() equivalent (to be more precise, forking and spinlocking, which comes to much the same thing except much more inefficiently) 19:40:55 There's also a community-scheme-wiki call/cc explanation article. 19:40:58 I'm not saying it's anygood. 19:41:21 the article I linked is the one I learned call/cc from 19:41:30 it's a weird concept at first, but it becomes really natural after a while 19:41:31 http://community.schemewiki.org/?call-with-current-continuation is the Wiki one. 19:41:48 It does the usual "start with exit continuations, build from there" thing I've seen elsewhere too. 19:42:17 http://community.schemewiki.org/?category-learning-scheme has links to three others, including one explanation for C programmers. 19:42:21 fizzie: You so Schemer. 19:42:25 Why isn't mcmap written in Scheme? :p 19:42:26 I don't vouch for the quality of any of these. 19:43:21 well, Scheme is sort-of famous for continuations 19:43:33 "Here's the secret: it's setjmp/longjmp. 19:43:33 But on no account say that to any Scheme programmers you know, it'll send them into paroxysms of rage as they tell you you don't know what you're talking about. Oh, and if you're a Scheme programmer who's accidentally stumbled on this page then please, please, stop reading now, for the sake of your blood pressure." 19:43:45 most languages don't really have them at all, Scheme has them in their standard library 19:43:51 ais523: not in its stdlib 19:43:53 ais523: in its language core 19:43:57 oh, right 19:43:57 it has no stdlib :P 19:44:04 well, that is the stdlib then, effectively 19:44:40 R5RS has a concept of "library procedure" as opposed to "procedure". 19:44:43 ais523: Scheme /also/ has DYNAMIC-WIND, meaning that the exact semantics of its control flow can kill small animals and children under the age of six. 19:44:53 The former have reference implementations in terms of the latter, I think. 19:44:54 fizzie: Yes, but it's just "technically optional procedure", no? 19:44:58 Ah. 19:45:16 But call/cc is a "procedure" not a "library procedure". 19:45:26 Well, sensibly. 19:46:03 ais523: The best thing about Scheme is that map can either be tail-recursive, work properly with call/cc, or only iterate through the list once -- pick two. 19:46:03 "To aid in understanding and implementing Scheme, some features are marked as library. These can be easily implemented in terms of the other, primitive, features. They are redundant in the strict sense of the word, but they capture common patterns of usage, and are therefore provided as convenient abbreviations." 19:46:03 what does dynamic-wind do? 19:46:21 ais523: (dynamic-wind before f after) is the same as (f), except that: 19:46:21 something that much more insane than call/cc sounds like something I should definitely learn about 19:46:27 - before f is called, before is called 19:46:29 - after f is called, after is called 19:46:34 - whenever control flow enters f, before is called 19:46:37 - whenever control flow exits f, after is called 19:46:46 the latter two including by call-with-current-continuation 19:46:59 ais523: this is benign without call/cc, but with it, it's a gigantic headache 19:47:00 aha, I was wondering why that was insane, apart from the last bit 19:47:01 Since I have the page open already for the earlier quote, let's have that too. 19:47:04 " * The dynamic extent is entered when execution of the body of the called procedure begins. 19:47:04 * The dynamic extent is also entered when execution is not within the dynamic extent and a continuation is invoked that was captured (using call-with-current-continuation) during the dynamic extent. 19:47:04 * It is exited when the called procedure returns. 19:47:04 * It is also exited when execution is within the dynamic extent and a continuation is invoked that was captured while not within the dynamic extent." 19:47:31 ais523: http://sisc-scheme.org/r5rs_pitfall.php 19:47:32 [[Jeff Siskind points out that its possible to be both call/cc and tail recursive, but the example he cites uses reverse after processing the list. So map can be: 19:47:33 Tail-recursive 19:47:33 Resistant to call/cc interference 19:47:33 O(1*n) 19:47:35 Pick two. In the above table, we've noted when a system is resistant to call/cc effects, and labeled systems that we know are tail recursive because the implementor has said so. Others in the list may be tail recursive.]] 19:47:45 so basically, it installs event handlers for call/cc-based gotos into and out of the functions 19:47:49 (O(1*n) is a horrible abuse of notation, but it's obvious what it means here) 19:47:54 ais523: that's such a... C way of thinking about it 19:48:13 SISC, btw, takes the call/cc and tail-recursive route, and thus map iterates over the list twice 19:48:17 elliott: indeed; slipping to a lower or higher level of abstraction often makes something easier to think about 19:48:20 but then, SISC is rather anal about standards-compliance 19:48:21 So I can make a system tail-recursive simply by "saying so"?-) 19:48:22 even by Scheme standards 19:48:26 fizzie: YEP! 19:48:39 Looks like Scheme48's map isn't tail-recursive. :p 19:49:21 hmm, SISC isn't in Ubuntu? 19:49:33 oh, it is in Natty 19:49:40 I'll steal the .deb >:) 19:50:16 At least dynamic-unwind forbids you from jumping into the before/after handlers by means of continuations captured while inside. 19:50:19 is map supposed to be resistant to call/cc interference? 19:50:25 fizzie: boring 19:50:38 is map supposed to be resistant to call/cc interference? 19:50:40 surely the correct semantics in such a case is to call the handler recursively? 19:50:41 every function is, pretty much 19:50:57 you should be able to call-with-current-continuation from anywhere, and call a continuation to anywhere 19:51:01 and have it work 19:51:05 elliott: oh, you mean map doesn't act like a naive implementation of map would if you call/cc out of it, then back into it again later? 19:51:24 ais523: indeed 19:51:29 ouch 19:51:31 at least, that's my understanding of the situation 19:51:58 now I'm trying to figure out why going through the list twice would help 19:52:19 -!- Behold has joined. 19:53:13 ais523: you reverse it at the end 19:53:19 oh 19:53:21 "Jeff Siskind points out that its possible to be both call/cc and tail recursive, but the example he cites uses reverse after processing the list." 19:53:42 perhaps if you had both cons and anticons that consed in the other direction? 19:53:48 presumably, since SISC's map is both call/cc-worky and tail recursive, you could just look at its source to figure it out 19:53:50 although that'd make pretty much every algo /but/ map insane 19:53:50 ais523: that wouldn't work 19:53:59 ais523: Scheme's lists aren't linked like that 19:54:03 they're just singly linked 19:54:06 because they're based on pairs 19:54:12 no, I mean still based on pairs 19:54:14 Well, anticons cells would be backwards lists, presumably. 19:54:17 well, right 19:54:22 -!- BeholdMyGlory has quit (Ping timeout: 276 seconds). 19:54:25 update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-r4rs (scheme-r4rs) in auto mode. 19:54:25 update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-r5rs (scheme-r5rs) in auto mode. 19:54:25 update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-srfi-0 (scheme-srfi-0) in auto mode. 19:54:25 update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-srfi-7 (scheme-srfi-7) in auto mode. 19:54:27 update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-srfi-55 (scheme-srfi-55) in auto mode. 19:54:30 just cons is (head . tail) and uncons is (all-but-last . last) 19:54:30 update-alternatives: using /usr/share/sisc/srfi-22.sh to provide /usr/bin/scheme-ieee-1178-1900 (scheme-ieee-1178-1900) in auto mode. 19:54:35 scheme-ieee-1178-1900 19:54:37 ridiculousy 19:54:40 *ridiculous 19:54:52 hmm, that's anticons, not uncons 19:54:58 uncons makes a list into a pair, presumably 19:55:09 Unicons is (horse . horn). 19:55:20 hmm, interesting mental exercise: figure out in which languages Prolog's =.. is sane, and in which it's insane 19:55:28 heh, SISC actually has a .deb for it on its website 19:55:36 semantics of =.. are best described by example: [func, a, b] =.. func(a,b) 19:55:38 what does =.. do again? 19:55:39 ah 19:55:43 and ofc as it's Prolog, it works both ways round 19:55:46 ais523: homoiconic languages 19:55:53 yep, definitely sane in those 19:56:08 it works fine in Lisps, too, =.. is just eval 19:56:32 C I'm having trouble with 19:56:47 I think it fails there, specifically due to the length of the list not being known in advance 19:56:56 although you can do it for any known tuple just fine 19:57:07 aargh, distributing source code as a .jar 19:57:13 that's worse than Hitler 19:57:16 Hitler didn't even do that 19:57:42 elliott: what if I distribute binary inside the same .jar? 19:57:54 ais523: aargh 19:57:54 it seems like a really easy way to meet the GPL's distribute-source requirement 19:58:04 it's how I ship jettyplay, a binary+source jar 19:58:06 Our AI course uses source-in-.jar, but that's just so that the people can return a single file (with binary classes for the competition system and sources for me) built by the default build system. 19:58:14 -!- impomatic has quit (Read error: Connection reset by peer). 19:58:21 -!- augur has joined. 19:58:29 fizzie: my Java course uses source-in-.zip 19:58:39 is the default build system ant? 19:59:04 fizzie: Do you actually look at the sources? 19:59:05 olsner: Yes, I may have meant "default build file" there though. 19:59:13 poor souls 19:59:35 find | xargs javac is still my default build system 19:59:45 olsner: Many (most?) don't even notice, since they use the also-provided Eclipse project that automagically takes care of invoking it. 19:59:59 when not using NetBeans (which I use mostly because we teach it and I need to know what I'm teaching, although it's pretty nice as Java IDEs go) 20:00:00 (And even if they don't, it's just one command; they don't actually have to deal with Ant at all.) 20:00:22 Deewiant: Ho-hum, well, really cursorily if at all, unless I have some sort of a reason. 20:00:23 find | xargs javac is still my default build system 20:00:23 if ant must be involved, that is certainly the best way to do it :) 20:00:29 doesn't javac MyProgram.java work? 20:00:33 and compile dependencies? 20:00:42 hmm, I'm not sure 20:00:55 I thought it only compiled dependencies if the .class files were entirely absent 20:01:43 olsner: I do need to put some metainformation in the generated .jars and things like that. And at least it works for all the people who do things on a Windows/Eclipse platform, unlike, say, a Makefile. 20:02:00 checking the man page, it doesn't compile dependencies at all; if the .class file is absent for a dependency, it compiles the source enough to typecheck the rest of the program, but discards the resulting compiled info 20:02:11 Deewiant: Did you take the course at some point and/or were you taking it now and/or did you actually already graduate and/or are you still in Otaniemi anyway? 20:02:18 `addquote Deewiant: Did you take the course at some point and/or were you taking it now and/or did you actually already graduate and/or are you still in Otaniemi anyway? 20:02:31 Well, you never know. 20:02:32 Now. 20:02:38 284) Deewiant: Did you take the course at some point and/or were you taking it now and/or did you actually already graduate and/or are you still in Otaniemi anyway? 20:02:48 Deewiant: that's a pretty ambiguous answer to a question that general 20:02:54 Deewiant: Well, Friday's my annual "here's how you do the programming project" lecture. 20:02:55 although not as bad as "yes" 20:03:02 (I should probably update last year's slides.) 20:03:07 so fizzie's going to be lecturing to Deewiant? 20:03:14 Only if I'm going to be there. 20:03:18 Right. 20:03:25 Deewiant: surely you are, if there's a chance to meet fizzie? 20:03:36 He's seen me before, and the sight is not an impressive one. 20:03:41 ais523: they go to the same university, and they don't seem particularly EXCITED to meet 20:03:51 I mean, if I discovered one of my lectures was going to be held by elliott, I'd definitely try to make sure I didn't miss it 20:03:53 I was at fizzie's master's thesis presentation, but I don't think I've talked to him. 20:03:54 Although maybe it's just SO EXCITING that they CAN'T PUT IT INTO WORDS. 20:03:57 ais523: haha 20:03:59 ais523: I'll get to work on that 20:04:03 I've seen him around the building every now and then. 20:04:10 ais523: do you think I could just go up and ask them to let me deliver a lecture? 20:04:13 (other way round is rather more plausible, ofc) 20:04:21 Deewiant: I've probably seen you too, but I still don't exactly recognize you. 20:04:28 ais523: Psht, don't be so sure of yourself! 20:04:37 elliott: I once annoyed one of my lecturers into saying something along the lines of "if you're so smart, you take the lecture" as an undergraduate, and I responded by actually taking the lecture for about half a minute 20:04:45 until they realised I wasn't bluffing and told me to go and sit down again 20:04:51 :D 20:04:54 that is amazing 20:05:13 I don't think I took it very /well/, but I still think it's hilarious 20:05:32 Deewiant: I also ended up being the one who handles the "Machine Learning: Advanced Probabilistic Methods" course exercise sessions from next Friday on, but I guess that's not in your course schedule. 20:05:49 Nope. 20:05:52 You Finns, so lonesome. 20:05:58 hmm, what's the adjective form of "loner"? 20:06:11 The course lecturer was all "oh but teaching is so nice, you should try it, do you want to give out one or two of the lectures too?" 20:06:35 I was tempted to ask "if it's so nice, how come you don't want to do those by yourself?" 20:06:57 elliott: it is indeed "lonesome" 20:07:04 or "lonely", if you prefer 20:07:08 ais523: doesn't really work, though 20:07:12 although that probably has a slightly different meaning 20:07:14 hmm, what, a license block at the _end_ of a file? :) 20:07:48 ais523: would you like to take the Pixley Challenge? 20:08:08 probably not, but I lack sufficient information to make sure 20:08:08 Do you people know eachother? 20:08:34 only via #esoteric 20:08:34 Lymia: yes 20:08:38 Yes, we've been on the same IRC channel. 20:08:39 (we may be using a different definition of "know") 20:08:47 but you get to know someone quite well after talking to them for over a year 20:08:48 this is a pretty close community :P 20:08:50 even if you never meet in person 20:08:53 Know-in-real-life-know. 20:08:54 =p 20:09:21 The Finnish contigent has some real-life knowingship going on too, I guess. But not much. 20:09:32 ais523: The Pixley Challenge is one I invented, despite the name. 20:10:17 I'm not actually sure what Pixley is 20:10:33 ais523: The challenge is: Invent a (Turing-complete) language specifically designed to make a (non-cheating) self-interpreter as small/short as possible, while also making non-self-interpreters short (i.e. you can't make the most expressive language in the world that it can interpret itself in five lines, because e.g. a Scheme, Haskell or C implementation of it would take hundreds of thousands of lines) 20:10:48 ais523: Pixley is Chris Pressey's very-stripped-down Scheme subset: http://catseye.tc/projects/pixley/doc/website_pixley.html 20:10:53 The self-interpreter is: 20:10:54 http://catseye.tc/projects/pixley/src/pixley.pix 20:10:59 (and this also functions as a Scheme interpreter of the language.) 20:11:10 He implemented (at least most of) it in C and it was rpetty short. 20:11:11 *pretty 20:11:15 But that self-interpreter is very small, of course. 20:11:15 I take it the Underload self-interp doesn't count? 20:11:33 ais523: that counts as cheating :) 20:11:34 hmm, the question of which non-TC-langs can self-interp without cheating is also pretty interesting 20:11:48 And that Pixley interpreter I wrote isn't metacircular in an important way 20:11:52 it implements car/cdr/etc. itself 20:11:53 elliott, sounds fun. 20:11:54 rather than relying on the host system 20:11:58 which, I think, should count as a requirement 20:12:10 (it represents lists as Pixley/Scheme lists and functions as Pixley/Scheme functions, though, which is metacircular and also fine) 20:12:15 elliott: well, in a sense, Feather's all about being metacircular wrt everything 20:12:19 (but relying on your host to implement the actual primitives is cheating) 20:12:27 ais523: well, the idea is to invent a new language to do it :) 20:12:36 Choosing a subset of another language, like Pixley, is of course allowed. 20:12:41 Lymia: it is; it's quite difficult, though 20:12:58 I made a different Scheme subset with a self-interpreter shorter than Pixley's, but then I realised the self-interpreter didn't do recursion 20:13:02 and it'd be very hard to make it allow recursion 20:13:03 so I gave up 20:13:12 (the interpreter itself was recursive) 20:13:32 elliott: remember your lang dei? 20:13:48 ais523: underload sans ()? 20:13:49 yes, i do 20:13:50 I think I'd start with something similar to that, and then add some reasonably rich I/O primitives 20:14:03 ais523: dei needs an actual unputchar to do IO 20:14:07 well, sanely 20:14:08 also, change the commands to numbers 20:14:36 I'm assuming the I/O's allowed to be metacircular? 20:14:46 ais523: yes, of course... but I'd recommend not having IO at all 20:14:55 how else would I read in the input program without cheating? 20:14:56 ais523: it's perfectly OK if your interpreter takes the program as an argument 20:15:01 like http://catseye.tc/projects/pixley/src/pixley.pix does 20:15:06 in fact, depending on your language, it's OK to take it pre-parsed 20:15:13 ah, well the problem is how to represent the argument 20:15:22 e.g., writing a Pixley reader is no great feat at all, and Lisp EVALs always take an object, not a string 20:15:26 so the Pixley interpreter takes an object, too 20:15:29 Deewiant: This year I'm going to be feeding the tournament match results in real time into the course IRC channel. (Well, probably, anyway. Assuming I can find any place to run the tournament on.) 20:15:39 fizzie: this IRC channel too, please! 20:15:40 into #esoteric-blah too? 20:15:49 naw, plain #esoteric, this channel's activity has been declining rapidly 20:15:52 thanks to Minecraft 20:15:55 elliott: I love the way I had the same idea but automatically picked the spam channel 20:16:01 :) 20:16:08 fizzie: Just use Triton 20:16:32 fizzie: can *I* enter?!?!?! 20:17:06 Presumably yes 20:17:33 i thought it was finn-only 20:17:51 I'm sure there are non-Finns taking the course 20:18:10 hmm, hilarious semi-trolling idea: look for random universities that teach programming-related courses, and happen to hold a competition for whatever reason 20:18:22 and have the rules online without being behind a password wall 20:18:33 Deewiant: It feels so frivolous. And my existing scripts won't work with slurm. :/ 20:18:36 then submit entries yourself despite not being on the course (email to the person in charge of the course would do) 20:18:50 Deewiant: i'm not taking the course :P 20:19:04 fizzie: What the fuck are you talking about. 20:19:08 fizzie: Just use Triton Deewiant: It feels so frivolous. And my existing scripts won't work with slurm. :/ 20:19:12 You can always just flunk out after the competition. 20:19:24 elliott: Triton's one of our clusters, running on the SLURM job manager thing. 20:19:39 O KAY 20:19:53 fizzie: Remind me where you ran them previously; just around the CS building? 20:20:00 Anyway, people are doing Actual Research(tm) on Triton, I'd feel pretty silly queuing in ~1400 CPU-hours of student-made boardgame bots playing against each other. 20:20:11 1400 CPU-hours is nothing 20:20:21 :D 20:20:28 fizzie is so afraid of things. 20:20:29 what about running them all on one GPU? 20:20:29 That's like two bug fixes for me 20:20:35 () 20:20:48 Triton itself doesn't have more than ~1400 cores, that's like taking over the whole thing for an hour. 20:20:55 I'm not sure if I should kick these 20 viagra spammer bots from #esoteric, I'm scared of power. 20:21:06 Are you _sure_ I can run "ls" on the university servers? They might crash or something. 20:21:08 Deewiant: I ran them at one of HUT-CC's classrooms (once at Maari, once at the main building), but now that they've gone all WaveU, the workstations are no longer reachable. 20:21:21 fizzie: Right, so your scripts don't work anyway. :-P 20:21:24 elliott: well, I was very confused yesterday when I tried to run ls and found it didn't work 20:21:32 then I tried to cd to my home dir, and found I didn't have permission 20:21:36 ais523: THAT'S LIKE A NIGHTMARE 20:21:45 ais523: did you fix it with only shell builtins? please say yse 20:21:48 *yes 20:21:48 then I found that I didn't have permission to open any programs either, also the taskbar crashed 20:21:53 hmm, shells should come with gcc built-in, just in case 20:21:57 fizzie: But you know, you don't need to take over the whole thing for an hour, you can take over a part of it for 24 hours or whatever. 20:21:57 actually I didn't fix it at all, it magically fixed itself after a while 20:21:58 Deewiant: They work on anything that I can SSH into if I just list the hostnames. The HUT-CC folks told me to run everything on kosh, but that's just a single (if a rather beefy) machine. 20:22:06 elliott: *pcc? 20:22:15 it's much lighter-weight, and you hardly need optimisation in that situation 20:22:17 ais523: no, gcc! what if the only way to chmod you know of is gcc-specific? 20:22:23 ais523: also, might as well go all the way, tcc 20:22:27 but even a C compiler wouldn't help if you couldn't write the output files anyway 20:22:32 tcc is actually reasonably embeddable... 20:22:41 ais523: pipe to an fd? 20:22:46 i guess executing an fd might be hard 20:22:48 hmm, that might work 20:22:53 Deewiant: Also the real-time reporting works much better with the current system that reads the player-made moves in real time via the SSH connection; polling for NFS-shared files is ugly, as would be some custom cluster-node initiated networking. (Can you even get out from there anywhere?) 20:23:02 but I didn't have r, w, or x to anything on the system, nor did anyone else 20:23:07 and I was trying to mark code at the time 20:23:14 I don't think it was an /actual/ chmod -R 000 20:23:18 #esoteric task of the day: assume you can enter machine code into a shell; how can you run a program if you can't write to the fs at all? 20:23:20 including /tmp 20:23:21 but it was something that had similar effects 20:23:24 and can't mount any filesystems iether 20:23:25 fizzie: You'd have to go via the frontend, I think. 20:23:26 *either 20:23:46 fizzie: just run it on my laptop, i don't mind! 20:23:57 it'll only take five yeras 20:23:58 *years 20:24:29 elliott: Assuming Linux, does something like /lib/ld-linux* <(cat) count 20:24:34 Deewiant: I could ask about the CS building computer classes (or is that class now, is there anything else left than Paniikki?) but those are some pretty unreliable machines. 20:24:40 Deewiant: yep 20:24:45 Deewiant: except no 20:24:49 because that's not +x 20:24:58 and nor, I doubt, is <(cat) 20:25:06 /lib/ld-linux* is +x 20:25:09 <(cat) might not be 20:25:13 (I'm not sure <() would even be able to write the file, although I suppose /dev/fd is probably always writable like that) 20:25:17 /lib/ld-linux* is +x 20:25:18 no, it's not 20:25:26 you don't have read, write, or execute permissions 20:25:51 You didn't say that. 20:26:12 well, poo. :p 20:27:05 Can you write over /proc/self/mem in general? The proc man page seems to suggest it's read-only. 20:27:18 fizzie: Researchers' workstations are the typical ad-hoc cluster, I suppose. 20:28:10 Deewiant: Maybe, but it's a CS department's course, not ICS, so I can't use ours. Maybe I should speak to some of the CS people, in fact. 20:28:12 /proc//mem is not writable for any process. 20:28:29 fizzie: just write a worm that travels across the university network and uses everybody's machine for small amounts of computation 20:28:33 it's like a gigantic cluster that's all yours 20:29:48 IIRC, unless compiled with special option, the write code for /proc//mem files always returns an error. 20:30:24 The proc man page here says open, read and lseek are the only valid things you can do on it. 20:49:21 -!- pumpkin has joined. 20:52:48 -!- copumpkin has quit (Ping timeout: 240 seconds). 20:56:38 fizzie: Was it mooz who was commenting on Slaves to Armok: God of Blood, Chapter I all those years back? 20:56:50 Was it actually any good? :p 20:57:15 It was mooz; and I think that depends on "good". 20:57:27 Certainly it wasn't "good" as in "good game", but it was... an experience, I gather. 20:57:33 http://4.bp.blogspot.com/_qrfMkVoq9DA/TEXhav_6RQI/AAAAAAAAABs/tdUY1rlzbp0/s1600/armokky.jpg ;; is this a screenshot? 20:57:45 It looks familiar, yes. 20:57:46 From the looks of it it might not be worth playing even if you're a Dwarf Fortress fan. :p 20:57:51 is chapter III going to happen ever, or have people just decided that Dwarf Fortress is the only interesting game in the series? 20:58:04 ais523: where on earth can you go from dwarf fortress? 20:58:15 ais523: it's not so much a dead end, as an infinite corridor 20:58:18 -!- Tritonio has joined. 20:58:19 make III as much better than II as II is better from I! 20:58:31 ais523: I ask again: where on earth can you go from Dwarf Fortress? 20:58:34 -!- ais523 has quit (Read error: Connection reset by peer). 20:58:55 he just couldn't take the question 20:59:02 -!- ais523 has joined. 20:59:02 It was too much. 20:59:03 well, it would likely be a completely different genre 20:59:06 * ais523 has quit (Read error: Connection reset by peer) 20:59:06 he just couldn't take the question 20:59:06 It was too much. 20:59:34 let's see... it would be a simulator of the entire universe that used the actual laws of physics 20:59:39 (note: powerful computer needed) 21:00:00 ais523: powerful? understatement :P 21:00:02 and would let you simulate alternate historical paths of the actual universe 21:00:05 and possibly not even possible 21:00:08 if you mean quantuuum 21:00:17 elliott: I'm trying to make a comment on Dwarf Fortress' astonishing CPU usage 21:00:20 and how to scale that up further 21:00:28 and would contain dwarves, of course 21:00:29 ais523: make it four-dimensional 21:00:35 why? Chapter I didn't 21:00:50 ais523: hmm, the world should be 4D, displayed as 1D 21:00:54 since DF is 3D as 2D 21:00:58 elliott: each chapter so far has added more dwarves 21:01:03 haha 21:01:09 Hee, there's one of those fancy Hilbert curve internet address maps at http://www.renesys.com/blog/2011/02/egypt-a-hole-in-the-internet.shtml -- the man page for the picture-making program (ipv4-heatmap) lists "BUGS: Can't draw IPv6 address maps". Those would be some pretty empty maps. 21:01:18 in fact, the entire game's interface should be perfectly possible to work from an actual teletype typewriter 21:01:25 without colour, or more than printable ASCII 21:01:31 with linear, line-based input 21:01:40 (ofc, you'd need it to be hooked up to a supercomputer still) 21:01:43 isn't that just a text adventure? 21:01:58 ais523: no, as I said, the 1D, wrapped output would show you part of a four-dimensional universe 21:02:11 fizzie: heh 21:02:59 ais523: anyway, you clearly wouldn't be able to tell dwarves what to do, you would instead have to tweak the environment so that the dwarves independently decided what to do 21:03:11 indeed 21:03:14 actually, I think you'd be a politician 21:03:19 trying to get the dwarves to vote for you 21:03:24 since chapter I was direct-control hack 'n slash, and chapter II is ordering-dwarves-based control [indescribable], clearly chapter III is completely indirect control 21:03:27 ais523: that's far too concrete 21:03:36 and they'd be staging epic RPG-ish wars in order to get the right to vote for oyu 21:03:37 ais523: you should just be able to, say, put water into the atmosphere 21:03:37 *you 21:03:38 to try and cause rain 21:03:41 which will upset the dwarves 21:03:43 no, that's too direct too 21:03:46 causing them to try and go away from the rain 21:03:47 which is far underground 21:03:49 and thus they'll mine 21:03:54 and they'd be staging epic RPG-ish wars in order to get the right to vote for oyu 21:03:56 ooh, even better: 21:04:01 you're a politician in an _entirely unrelated land_ 21:04:06 yep, I like that one 21:04:15 and you have to keep being voted in by the people of that land, but use your powers to ascend to higher levels of power, 21:04:19 meaning you can do things like cause wars, 21:04:24 which affect the weather because of the weapons used, 21:04:30 which makes the dwarves decide to do things based on their AI 21:04:32 yep 21:04:32 :D 21:04:34 this is the best game ever 21:04:47 and there's no real win condition /or/ lose condition 21:04:48 who wants to implement it? 21:05:00 ais523: indeed, if all the dwarves die, you can keep going if you want 21:05:02 but getting anything you wanted to happen at all is a good enough accomplishment to start off 21:05:02 just, it'll be rather pointless 21:05:12 you can wait for more dwarves to evolve 21:05:30 either that, or just fill half the world's population with dwarves 21:05:40 and let the player decide which small subset of dwarves to focus on 21:05:46 (not in the game interface, just in their head0 21:05:47 *) 21:06:02 this is the best :D 21:06:11 ais523: better: have all species be procedurally generated 21:06:25 ais523: but if the world ends up to have no species that are sufficiently Dwarf-like, automatically throw away the world and start again 21:06:38 got it! 21:06:40 this means that the simplest world generation would take about 6 months on a normal computer 21:06:45 ais523: who has, me? 21:06:48 yep 21:07:16 ais523: also, the world should be simulated for about a million years, not the piddly hundred-or-so DF does 21:07:41 alternatively, simulate it for arbitrarily many years backwards, lazily 21:07:53 the theory is, that after a certain point, history won't have any observable direct effects on the world 21:07:58 so you just generate more as they become relevant 21:08:00 ais523: that's not in the DF spirit! 21:08:04 world generation should be insanely precise! 21:08:07 and INTENSIVE 21:08:13 ah, perhaps 21:08:22 hmm, and the names of the chapters have been increasing steadily 21:08:28 therefore, chapter III needs to be called something like 21:09:03 Slaves to Armok: God of Blood, Chapter III: Some Name, Part I: Some Other Name 21:09:10 (I'm not sure what comes after Part; Paragraph?) 21:09:26 part's actually more major than chapter 21:09:28 section is less major 21:09:33 then subsection, subsubsection 21:09:34 ah, indeed 21:09:39 You seem to go by the LaTeX terminology. :p 21:09:41 (/latex) 21:09:54 And paragraph does come after subsubsection; then subparagraph. 21:09:59 fizzie: due to a hilarious misclick on my touchpad, I managed to write the /latex in this channel, and the parens in another 21:10:10 mostly hilarious due to the timing 21:10:12 and then had to go and fix 21:10:26 so #unnethack is wondering why I said () for no apparent reason 21:10:33 are they actually wondering? 21:10:39 well, not out loud 21:10:42 but possibly privately 21:10:45 While /latex did not turn this channel into LaTeX mode? 21:10:52 fizzie: that would be \latex 21:10:53 ais523: indeed, in #unnethack-behind-ais523s-back 21:11:06 elliott: that's not what I meant! 21:11:19 wow, that channel actually exists, and ais523 is banned from it! 21:11:26 (although it would be hilarious if that channel existed, and more so if it were actually used; I can't check, though, because it would defeat the point) 21:11:36 ais523: i'm not kidding, try and join it 21:11:41 elliott: you just created it, most likely 21:11:52 psht, so suspicious 21:11:57 [Notice] -ChanServ- Channel #unnethack-behind-ais523s-back is not registered. 21:12:11 ais523: would _you_ register a channel like that? 21:12:41 obviously not, then it wouldn't be behind my back 21:13:55 ais523: I really want to play Chapter III now... 21:14:16 Once I tried to convince someone that a (nonstandard, Finnish) word was a real word; for some reason they weren't convinced by my "look, according to the Internet it's a real word" argument of: echo '

[word] is a real word!

' > tmp.html && firefox file:///home/fis/tmp.html 21:14:18 it'd be awesome if the vast majority of the computation was simulating all the _non-Dwarf_ civilisations, incredibly realistically 21:14:22 Perhaps I should have hidden the location bar. 21:14:25 because those are the ones you have to control 21:15:33 unfortunately, almost by definition, you wouldn't be able to run it if it were implemented, nor would anyone else 21:15:57 "Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system." 2011 surely is the year of Linux on the desktop, since the problem troubleshooting already is of the "restart your system" variety. 21:16:00 ais523: well, I wasn't thinking of it as quantum-physicsy any more 21:16:07 even so 21:16:16 millions of years of history would take a while 21:16:24 as would simulating effects that indirect 21:16:31 this should so let you play as a butterfly :) 21:16:44 fizzie: it says that on Windows too 21:16:57 fizzie, no suggestion of 'killall -9 firefox'? 21:17:01 normally, waiting a couple of minutes works, although oddly that isn't listed as one of the solutions 21:17:11 ais523: Well, yes, therefore logically the market shares should be equal. QED. 21:17:19 ais523: well, DF can simulate 100 years in about a minute on my machine 21:17:24 ais523, I'm guessing it's syncing it's configuration, etc to disk. 21:17:29 admittedly, of a medium-sized map 21:17:41 Lymia: yep, it'll be something like that 21:17:44 ais523: so 1000 years should take about 15 minutes, say 21:17:49 -!- BeholdMyGlory has joined. 21:17:58 elliott, and I do believe this is pre-optimization. 21:17:59 elliott, have you *looked* at DF's history? 21:18:03 It's not all that complex. 21:18:12 Fun fact: DF is compiled with symbol information. 21:18:14 Phantom_Hoover: it would be in StA III! 21:18:16 ais523: so, 1000 * 15 minutes = 10 and a half days 21:18:20 StA? 21:18:25 In theory you could recover the source to an decent degree. 21:18:26 =D 21:18:27 Slaves to Armok 21:18:28 Phantom_Hoover: Slaves to Armok: God of Blood, Chapter 21:18:31 to expand what ais523 meant by it there 21:18:34 Lymia: not really 21:18:36 disassembling C is non-trviail 21:18:48 Lymia: does it have line number info too? 21:18:51 hex rays 21:18:52 that'd help break the statements apart 21:18:53 ais523, dunno. 21:18:55 ais523: so, I bet you could simulate something reasonably close to StA III for a million years in less than a real-world month 21:19:10 Lymia: easy way to check is to open it in a debugger and try to set a breakpoint by line number 21:19:18 Good idea. 21:19:19 =p 21:19:22 Would gdb do? 21:19:27 yep 21:19:40 ais523: http://en.wikipedia.org/wiki/Wikipedia:Millionth_topic_pool#Video_games 21:19:42 ais523: "Dwarf Fortress by Bay 12 Games - will be out by then. Grue 12:56, 25 Mar 2005 (UTC)" 21:19:47 (DF was developed from 2002 to 2006 before being released) 21:20:07 -!- Behold has quit (Ping timeout: 276 seconds). 21:20:16 heh, [[Confirmed release date of Duke Nukem Forever]] is also on that list 21:20:17 and it has one now 21:20:25 Reading symbols from C:\Users\hiedanoakyu\games\df_31_12_win/dwarfort.exe...(no 21:20:26 debugging symbols found)...done. 21:20:26 Eh? 21:20:28 I forget the exact date, but it's a specific day of mid-2011 21:20:37 Lymia: how confusing 21:20:46 maybe it has debug symbols, but not in a format gdb understands 21:20:50 or perhaps it means something esle 21:20:51 *else 21:20:56 I recall seeing function names in it's binary at least. 21:20:58 [[That's wrong. It was released a long time before Dwarf Fortress (I know, I played it back then.) You can find it here. It never really reached the point of being a fully stable, playable game (you could wander around and kill things, basically, just like a primitive but crude-3D-graphical version of the Adventurer mode in Dwarf Fortress currently), but it went through several releases and collected user feedback that later influenced Dwarf Fort 21:20:58 ress to an extent. --Aquillion (talk) 06:04, 20 August 2009 (UTC)]] 21:21:10 And they're names that should be unique to DF. 21:21:11 Lymia: you'd have a lot better chance on Linux... 21:21:26 elliott, ? 21:21:29 Function names could be just __func__ strings used for error messages. 21:21:35 try it on the linux DF binary instead. 21:21:38 Ah. 21:21:45 Good idea. 21:21:46 =p 21:21:46 I might, actually 21:22:02 Reading symbols from /home/elliott/df_linux/libs/Dwarf_Fortress...(no debugging symbols found)...done. 21:22:03 oh well 21:22:24 so we'd have to guess what format the symbols are in 21:22:30 I imagine fizzie is right. 21:22:35 hmm, perhaps they aren't debug symbols, but asserts? 21:22:39 oh, fizzie said that already 21:22:41 [[Slaves to Armok II: Dwarf Fortress → Dwarf Fortress — The current title is wrong, and no one ever uses the ridiculously long full title. 155.33.172.164 (talk) 22:54, 3 October 2010 (UTC)]] 21:22:42 LAME 21:22:55 I should propose a move to [[Slaves to Armok: God of Blood, Chapter II: Dwarf Fortress]] 21:23:38 now I'm seeing how many of those exist as a non-stub, non-redirect 21:23:56 wow, DF's fluid simulation is a CA 21:24:00 [[Snakes on a Train]] is the first one on the list 21:24:07 ais523: how many of what? 21:24:10 ah 21:24:15 and [[The Last Dangerous Visions]] the second 21:24:22 millionth topic pool 21:24:41 also, a couple which were serious articles that hadn't been written, like [[Ringworm]] 21:25:01 What *was* the millionth article? 21:25:06 JORDANHILL RAILWAY STATION 21:25:14 heh, [[Military history of Oceania]] 21:25:18 THE ONLY RAILWAY STATION THAT MATTERS 21:25:24 http://en.wikipedia.org/wiki/Jordanhill_railway_station 21:25:28 now an entirely serious article 21:25:33 that article is so ridiculously huge 21:25:40 GOD BLESS JORDANHILL 21:26:06 hmm, someone made a sensible attempt to win: searching for the most common name for a school that didn't yet have an article 21:26:16 coming up with [[St. Mary's School]], which is indeed now a bluelink 21:26:27 haha 21:26:44 The Linux binary of Dwarf Fortress seems to contain some DWARF debugging data (how appropriate!), but only the .eh_frame things required for runtime call-unwinding by exception handlers. 21:26:59 The summer before I went to grad school, though, we restarted the fantasy project. This time, it was called Slaves to Armok: God of Blood, named after Armok, the god from dragslay. Armok himself was named after "arm_ok", a variable that counts the number of arms you have left, for inventory purposes. This was a 2D project in a somewhat-isometric view, where you walked around a cave with a bunch of goblins in loincloths. It was entertaining, but s 21:26:59 hort-lived. 21:27:01 So it's a bit arguable if that can even be called debugging data. 21:27:12 also amusing: [[Tantalum telluride]], mostly amusing because it was User:TantalumTelluride who suggested it 21:27:20 commenting that it's interesting as to whether it would be kept 21:27:23 number of arms you have left, amazing 21:27:26 it seems it was created, and is still blue 21:27:40 My user name is derived from the chemical compound tantalum telluride, which was not notable enough to be the subject of a Wikipedia article when I joined the project. Wikipedia editor Nightstallion eventually created an article about tantalum telluride on 10 March 2006. Feel free to edit or expand it within the bounds of Wikipedia policy and guidelines. 21:27:53 and User:TantalumTelluride has never edited it, presumably due to conflict of interest 21:28:02 Also the Linux executable of DWARF fortress is an ELF file, eh-eeh-eh. 21:28:43 * elliott tries to figure out whether Liberal Crime Squad is a joke at the expense of liberals or conservatives 21:28:47 [[Welcome to Liberal Crime Squad! The Conservatives have taken the Executive, Legislative, and Judicial branches of government. Over time, the Liberal laws of this nation will erode and turn the country into a BACKWOODS YET CORPORATE NIGHTMARE. To prevent this from happening, the Liberal Crime Squad was established. The mood of the country is shifting, and we need to turn things around. Go out on the streets and indoctrinate Conservative automato 21:28:47 ns. That is, let them see their True Liberal Nature. Then arm them and send them forth to Stop Evil. Eventually the public will fall behind us, and we will put more Elite Liberals in government.]] 21:28:56 [["Hello. If you have not already guessed, I am with the Liberal Crime Squad. Welcome! You are here, so you are willing to fight the rampant conservatism that is gripping America like a big rampant America-gripping device." 21:28:56 "Well… I'm not sure." 21:28:56 "Yes, you are! You are Liberal in your heart. All people are Liberals at heart. It is part of your True Liberal Nature." 21:28:56 "But there are so many political groups out there. What does the Liberal Crime Squad stand for?" 21:28:57 "Everything! We stand for everything that is good and pure in America! This is what you must know…" 21:28:57 hmm, not too many are bluelinked, not dismissing obvious "joke" submissions (that is, submissions that are clearly serious rather than jokes, and thus shouldn't count for the poll) 21:28:58 http://lcs.wikidot.com/liberalism]] 21:29:08 -!- Tritonio has quit (Quit: Leaving). 21:30:18 elliott, oh, *wonderful*. 21:30:19 To quote Bored of the Rings, on the topic of Linux executable and debugging information formats: "And since that day it's said by all / In ballad, lay and poem / 'Only trust an elf or dwarf / As far as you can throw 'em!'" 21:30:46 Phantom_Hoover: I honestly can't figure out whether it's a liberal making a joke out of jokes at the expense of liberals, or a conservative making a joke at the expense of liberals. 21:30:49 (It's another Bay 12 game.) 21:30:58 Reality: oppose 21:31:14 Anti-American Hate Groups: support (for their free speech) 21:31:23 Phantom_Hoover: I honestly can't figure out whether it's a liberal making a joke out of jokes at the expense of liberals, or a conservative making a joke at the expense of liberals. 21:31:23 (It's another Bay 12 game.) 21:31:26 I can't see a tongue-in-cheek liberal writing that. 21:31:39 the scary thing is, from the point of view of the US, more or less the entire world is full of liberals 21:31:50 who are also socialists 21:32:13 Phantom_Hoover: I can 21:32:20 in that it's a parody of the kind of things American conservatives actually say 21:32:24 ais523, naw, the really scary thing is that Obama would be right-wing by Tory standards. 21:32:38 i.e., if I was parodying Bill O'Reilly or Glenn Beck or someone, I would definitely write "Reality: OPPOSE". 21:32:41 elliott, well, that's getting into meta-parody, which is rather sh 21:32:45 *shaky 21:32:46 It's rather sh indeed. 21:32:51 I think he still manages to be left-wing by BNP standards, though, so at least there's /some/ overlap 21:33:06 http://www.bay12games.com/lcs/, anyway 21:35:00 * Lymia gives elliott a random hug 21:35:07 O KAY 21:47:10 -!- Behold has joined. 21:47:45 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 21:48:02 Fuck this shit. 21:48:04 -!- pikhq_ has changed nick to pikhq. 21:48:12 -!- Mathnerd314_ has joined. 21:49:53 -!- Mathnerd314_ has changed nick to Mathnerd314. 21:50:21 -!- BeholdMyGlory has quit (Ping timeout: 240 seconds). 21:51:46 pikhq: ? 21:57:31 -!- ais523 has quit (Read error: Connection reset by peer). 21:57:51 -!- ais523 has joined. 21:58:50 -!- MigoMipo has quit (Remote host closed the connection). 22:00:07 -!- poiuy_qwert has joined. 22:03:31 -!- Slereah has quit (Ping timeout: 272 seconds). 22:05:07 -!- poiuy_qwert has quit (Ping timeout: 250 seconds). 22:05:30 pikhq, what happened? 22:09:20 -!- Slereah has joined. 22:12:09 -!- ais523 has quit. 22:12:25 -!- ais523 has joined. 22:21:06 It's SOFUCKINGCOLD 22:22:10 pikhq, how cold? 22:22:39 e lucevan le stelle! 22:22:47 ed olezzava la terra 22:23:32 Phantom_Hoover: Earlier today, it was about -28°C (-19°F). Now, it's about -22°C (-9°F). 22:23:54 I'm British. I don't understand Fahrenheit at all, so you don't need to cite it. 22:23:59 And that is effing cold. 22:24:14 We locked up at about -5. 22:24:22 I'm American. Offering Celsius was a courtesy. 22:24:49 WHY WOULD YOU USE A SYSTEM WHICH IS FIXED AT SUCH STUPID POINTS 22:25:19 NOÖNE EVEN KNOWS WHAT 100°F ACTUALLY WAS 22:25:40 I want a system where water boils at 256 degrees 22:25:50 and absolute 0 is 0 22:26:06 furthermore, the standard notation for it should be in hex 22:26:23 *absolute 0 is 0.0000037489894 22:26:27 :trollface: 22:26:34 ff.1e is almost boiling 22:27:03 oh, and furthermore, it should be nonlinear 22:27:13 so I want water to freeze at 128 degrees 22:27:14 Phantom_Hoover: 100 F was meant to be body temperature 22:27:21 Oh, look, it'll be *above freezing* by Friday. 22:27:21 and 0F was meant to be the freezing point of saturated salt water 22:27:29 ais523: wow, a really smart, constant base to go by 22:27:31 they're two temperatures which would have been easy to determine with the equipment at the time 22:27:40 although 100F turned out to be not too reliable 22:27:52 (0F is easier to measure than 0C, because saturating water is easier than purifying it) 22:34:36 * Phantom_Hoover → sleep 22:35:12 "In some countries, both systems are fairly prominent[weasel words], if not used equally.[citation needed]" 22:35:19 Oh, my, WEASEL WORDS. 22:35:55 "fairly" isn't very accurate 22:38:45 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 22:44:44 -!- ais523 has quit (Remote host closed the connection). 22:47:50 -!- Mathnerd314 has quit (Ping timeout: 276 seconds). 22:53:22 -!- BeholdMyGlory has joined. 22:54:47 -!- Behold has quit (Ping timeout: 245 seconds). 23:12:55 -!- oerjan has joined. 23:15:41 A lot of people here are, they've just been quiet lately. 23:16:02 well i'm usually too lazy to read all of it unless it's short 23:16:11 :D 23:16:44 actually that's not laziness, even i have to do _some_ prioritization 23:17:09 Can I learn ATS without learning SML first? 23:17:28 really? 23:17:55 It's the middle of the day for like 2 billion people 23:17:58 It's just, I saw something comparing the syntax of ATS with the syntax of SML 23:18:11 afaik we don't have any indians or chinese here, though 23:18:54 hm wait that was during european day wasn't it 23:18:59 Hah. I like ATS's infixl/infixr better than Haskell's 23:19:16 Sgeo: what's the difference? 23:19:26 We can also use the following syntax to declare that iadd, fadd, padd and uadd are left-associative infix operators with a precedence value equal to that of the operator +: 23:19:26 infixl (+) iadd fadd padd uadd 23:19:42 According to my timestamps, that was said at 12:48 Finnish time, so it would mean midday CET. 23:20:21 fizzie: WELL WHY WOULD YOU EXPECT ANYONE TO BE ON THE CHANNEL _THEN_? 23:21:09 dinner --> 23:22:56 @pl \n -> fix (\me m -> if m+1 == n then m else me (m+1)) 0 23:22:57 flip fix 0 . (. (. (1 +))) . ap . join . (if' .) . (. (1 +)) . (==) 23:23:03 > (flip fix 0 . (. (. (1 +))) . ap . join . (if' .) . (. (1 +)) . (==)) 3 23:23:04 Not in scope: `if'' 23:23:41 -!- pumpkin has quit (Quit: Computer has gone to sleep.). 23:23:47 @let 23:23:48 Defined. 23:23:53 @let if' x y z = if x then y else z 23:23:53 Defined. 23:23:54 > (flip fix 0 . (. (. (1 +))) . ap . join . (if' .) . (. (1 +)) . (==)) 3 23:23:56 2 23:23:58 > (flip fix 0 . (. (. (1 +))) . ap . join . (if' .) . (. (1 +)) . (==)) 0 23:24:02 mueval-core: Time limit exceeded 23:24:29 @pl \n -> fix (\me m -> if m+1 == n then 0 else 1+(me (m+1))) 0 23:24:30 flip fix 0 . (. (((1 +) .) . (. (1 +)))) . ap . flip flip 0 . (if' .) . (. (1 +)) . (==) 23:24:34 > (\n -> fix (\me m -> if m+1 == n then 0 else 1+(me (m+1))) 0) 3 23:24:35 2 23:24:42 hm 23:26:06 -!- FireFly has quit (Quit: swatted to death). 23:32:55 > let pred 1 = 0; pred (n+1) = 1 + pred n in pred 10 23:32:56 : Parse error in pattern 23:33:01 Is there anything special about pure nonterrminating functions in ATS, or is it only pure terminating that are special? 23:33:10 > let pred 1 = 0; pred n | n > 0 = 1 + pred (n-1) in pred 10 23:33:11 9 23:33:13 > let pred 1 = 0; pred n | n > 0 = 1 + pred (n-1) in pred 0 23:33:14 *Exception: :3:4-46: Non-exhaustive patterns in function pred 23:33:20 @let data X 23:33:20 EmptyDataDecls is not enabled 23:33:29 @let data Nat = Z | S Nat 23:33:29 Invalid declaration 23:33:36 oerjan: wat. 23:35:00 Dear ATS website: Fuck you 23:35:00 http://www.ats-lang.org/TUTORIAL/contents/types-with-effects.dats 23:35:14 Oh, right. SourceForge. 23:36:03 elliott: lambdabot does not support data declarations. 23:36:16 oerjan: but EmptyDataDecls is not enabled 23:36:16 :D 23:37:09 well it probably uses a generic parser first before checking what's actually _in_ the result. i suspect. 23:37:21 @env 23:37:21 Maybe you meant: v wn 23:37:23 @djinn-env 23:37:23 data () = () 23:37:23 data Either a b = Left a | Right b 23:37:23 data Maybe a = Nothing | Just a 23:37:23 data Bool = False | True 23:37:24 data Void 23:37:26 type Not x = x -> Void 23:37:28 class Monad m where return :: a -> m a; (>>=) :: m a -> (a -> m b) -> m b 23:37:30 class Eq a where (==) :: a -> a -> Bool 23:37:31 data Twice a = Two a a 23:37:32 > (\x -> undefined) :: Not a 23:37:33 type Classical x = Not (Not x) 23:37:35 Not in scope: type constructor or class `Not' 23:37:37 type NotNot x = Not (Not x) 23:37:45 :< 23:37:49 are nats like that in any library> 23:37:50 *library? 23:37:54 @hoogle Nat 23:37:54 Text.Parsec.Token natural :: GenTokenParser s u m -> ParsecT s u m Integer 23:37:54 Text.ParserCombinators.Parsec.Token natural :: GenTokenParser s u m -> ParsecT s u m Integer 23:37:54 Text.Parsec.Token naturalOrFloat :: GenTokenParser s u m -> ParsecT s u m (Either Integer Double) 23:40:14 oh right djinn does not support recursive types 23:41:22 hm what's the same as Nat again? not "Maybe ()" 23:41:28 quick oerjan how can i construct nat 23:41:30 [()] i guess 23:41:32 but that's ugly 23:42:27 :k Fix 23:42:28 Not in scope: type constructor or class `Fix' 23:43:00 My local cable provider, Nova (which is shit) is being swallowed up by Comcast, the answer to the question "how could you possibly do worse than Nova?" 23:43:44 > let pred (():[]) = []; pred (():():n) = () : pred n in pred [(),(),(),(),()] 23:43:45 [(),()] 23:43:52 > let pred (():[]) = []; pred (():():n) = () : () : pred n in pred [(),(),(),(),()] 23:43:53 [(),(),(),()] 23:44:00 @pl let pred (():[]) = []; pred (():():n) = () : () : pred n in pred 23:44:00 (line 1, column 14): 23:44:00 unexpected "[" 23:44:00 expecting "()", natural, identifier, "_" or "(" 23:44:04 ??? 23:44:17 @pl let pred [()] = []; pred (():():n) = () : () : pred n in pred 23:44:17 (line 1, column 10): 23:44:17 unexpected "[" 23:44:17 expecting pattern or "=" 23:44:21 oerjan ha;lp 23:44:35 well i hear comcast is the only major isp in the us which is actually preparing for ipv6 transition... 23:44:41 @pl fix (\me x -> case x of [()] -> []; () : () : n -> () : () : me n) 23:44:42 (line 1, column 30): 23:44:42 unexpected ">" 23:44:42 expecting variable, "(", operator or ")" 23:44:44 HALP 23:45:23 @pl fix (\me x -> case x of (:) () [] -> []; (:) () ((:) () n) -> (:) () ((:) () (me n)) 23:45:24 (line 1, column 31): 23:45:24 unexpected " " 23:45:24 expecting variable, "(", operator or ")" 23:45:25 @pl fix (\me x -> case x of (:) () [] -> []; (:) () ((:) () n) -> (:) () ((:) () (me n))) 23:45:26 (line 1, column 31): 23:45:26 unexpected " " 23:45:26 expecting variable, "(", operator or ")" 23:45:26 you are abusing @pl in wais it was obviously not meant to be used; you deserve no halp 23:45:30 *ways 23:45:31 oerjan: ;_; 23:45:37 WHAT DID I DO WRONG 23:45:56 case is not @pl'able 23:46:06 oerjan: is there an uncase? :) 23:46:37 @pl let f x = if x == [()] then [] else () : () : f (tail (tail x)) in f 23:46:37 (line 1, column 39): 23:46:37 unexpected " " 23:46:37 expecting variable, "(", operator, ";" or "in" 23:46:39 oh come on 23:46:41 @pl \(x:l) -> l 23:46:41 tail 23:46:47 ok it manages _that_ 23:47:06 also @pl has a fugly parser, i think 23:47:14 @pl let f x = if x == Cons POOP Nil then Nil else Cons POOP (Cons POOP (f (tail (tail x))) in f 23:47:14 (line 1, column 88): 23:47:14 unexpected reserved word "in" 23:47:14 expecting variable, "(", operator or ")" 23:47:23 ...what?! 23:47:33 @pl let f x = if x == Cons POOP Nil then Nil else Cons POOP (Cons POOP (f (tail (tail x)))) in f 23:47:33 fix (ap (flip if' Nil . (Cons POOP Nil ==)) . ((Cons POOP . Cons POOP) .) . (. (tail . tail))) 23:47:36 FINALLY 23:47:54 fix (ap (flip if' [] . ([()] ==)) . (((:) () . (:) ()) .) . (. (tail . tail))) 23:47:56 that's kinda ugly 23:47:57 oerjan: deugly that 23:50:33 elliott: "tail" 23:50:51 oerjan: ...:D 23:50:53 oerjan: VERY GOOD POINT 23:51:05 oerjan: the point is that it works in a language where you can't decrement 23:52:27 also, "init" may be closer to the spirit of it 23:53:18 elliott: oh. also it's buggy. 23:53:26 it will fail on even length lists 23:53:32 oerjan: *you're* buggy. 23:54:01 oerjan: but well. :p 23:54:07 oerjan: i was inspired by your talking with olsner actually. 23:55:39 * oerjan may have already forgotten that 23:58:11 oerjan: base-e/base-pi cat language 23:58:14 ages ago 23:58:15 months 23:59:10 huh 23:59:32 oerjan: because you mentioned increment and decrement being the only fast operations 23:59:40 but in Nock, decrement is O(n) 23:59:45 because itw orks like my recursive function 23:59:45 *it works 2011-02-02: 00:00:03 nock? 00:00:46 oerjan: http://moronlab.blogspot.com/2010/01/nock-maxwells-equations-of-software.html, continued in http://moronlab.blogspot.com/2010/01/urbit-functional-programming-from.html; relevantly, http://moronlab.blogspot.com/2010/01/decrement-in-reck.html 00:00:52 the first and the last are all you are likely to be interested in 00:02:52 -!- SimonRC has quit (Ping timeout: 265 seconds). 00:03:02 eek 00:04:14 Blah at Nu being a very much non-Windows thing 00:05:20 oerjan: why eek :) 00:05:51 that's the sound of my brain going "too much work" 00:06:25 oerjan: well i think decrement is quite simple 00:07:03 if you can get a conditional going, and recursion 00:07:21 also you have to construct the f such that *[s f] does it, not anything simpler :P 00:07:24 i think the language is postfix kinda 00:13:28 12:51:02 also -fpic NOT -fPIC 00:13:28 12:51:15 the lower case version is better on some platforms iirc 00:13:29 _what_ 00:13:55 -!- copumpkin has joined. 00:14:05 -!- augur has quit (Remote host closed the connection). 00:14:17 12:56:11 pikhq, well the difference is slight 00:14:17 12:56:18 also x86-64 is the norm nowdyas 00:14:18 12:56:21 days* 00:14:18 12:56:25 for linux 00:14:18 maybe in Vorpal-land... 00:14:44 when was this? 00:15:07 10.02.01 00:15:38 13:04:06 At any rate, it's built. best not to think any more about it, right? :) <-- wrong. You always try to figure out *why* something unexpected happened 00:15:39 maybe in Vorpal-land... 00:21:04 -!- BeholdMyGlory has quit (Read error: Operation timed out). 00:21:47 -!- BeholdMyGlory has joined. 00:22:02 09:27:44 FP is STUPID!!!!!! 00:22:03 09:28:02 anyone that wants to do functional programming without LAMBDA has lots his MARBLES 00:22:03 09:28:19 it's no coindicendec that LAMBDA is an anagram of MARBLES 00:22:20 oerjan: you know, i don't think j-invariant is coming back... 00:23:39 -!- augur has joined. 00:27:42 elliott: I have lots my MARBLES 00:29:33 quintopia, fun game 00:29:53 sgeo: no 00:30:08 http://www.youtube.com/watch?v=xSJBeV2hNUE 00:31:38 -!- pingveno has quit (Ping timeout: 276 seconds). 00:31:55 The music in that video is unfamiliar to me 00:32:53 A closed door 00:32:53 is a rather obvious obstacle to any adventurer, but there are several 00:32:53 ways to deal with one. Probably the most obvious method of getting 00:32:53 past a door is to try to open it; to do that, just try to walk into it 00:32:57 OKAY 00:33:03 -!- pingveno has joined. 00:33:03 I FIND NETHACK IS NOT VERY REALISTIC 00:34:06 THAT'S JUST BECAUSE YOU HAVEN'T TESTED THAT METHOD ON SUFFICIENTLY MANY _REAL_ DOORS 00:34:12 i find *insert video game* not very realistic 00:34:19 oerjan: i have. 00:34:25 oerjan: usually doesn't work :( 00:34:56 yes, but if you do it _enough_ times, head first, i'm sure your sense of reality will start adjusting. 00:35:28 the door might need some new hinges too 00:36:00 -!- SimonRC has joined. 00:36:50 oerjan: if it works in nethack, it works on the first try 00:37:15 conclusion: nethack adventurer is THE JUGGERNAUT, BITCH 00:38:08 -!- elliott has quit (Ping timeout: 265 seconds). 00:38:09 it works on the first try in reality too. it's the repetitions that are a bitch. 00:38:20 ^ deep truth 00:38:35 "Will you please stop saying you're sorry?" "Sorry" 00:38:40 I can imagine doing that myself 00:40:24 -!- poiuy_qwert has joined. 00:41:20 sgeo: are you watching M*A*S*H? 00:41:26 * oerjan guesses today's square root of minus garfield was also inevitable. 00:41:57 ... \sqrt{-garfield}? 00:42:06 yes. 00:42:12 http://www.mezzacotta.net/garfield/ 00:42:24 quintopia, DS9 00:43:05 summary of dwarf fortress after having played it for an afternoon: kind of like minecraft but with the micromanagement of widelands and the difficulty and GUI of nethack 00:43:07 oerjan: do they frequently feature bad puns? 00:43:23 or should I say UI rather than GUI perhaps 00:43:27 Oh my goodness. 00:43:39 quintopia: they have an overly long gag based on the format you see there 00:43:45 so yes. 00:43:51 and other puns too, probably 00:43:52 pikhq, you never heard of \sqrt{-garfield} before? 00:43:58 -!- cheater00 has joined. 00:44:17 If I tell pikhq to read the entire Mezzacotta archive, will he do it? 00:44:35 no. he might _try_, perhaps. 00:45:25 http://www.mezzacotta.net/garfield/?comic=9 *grin* 00:45:29 Sgeo: Not only no but fuck no. 00:45:48 Sgeo: I am not infinitely prolonged. 00:45:57 * Sgeo hears his dad shouting on the phone at his step-mom 00:46:04 Vorpal: Nope. 00:47:05 -!- cheater- has quit (Ping timeout: 240 seconds). 00:48:26 pikhq, huh. I was pretty sure you took part of discussions mentioning it before... 00:48:51 Nope. 00:50:16 -!- azaq23 has quit (Quit: Leaving.). 01:02:02 -!- cal153 has quit (Ping timeout: 246 seconds). 01:06:13 -!- BeholdMyGlory has quit (Ping timeout: 240 seconds). 01:08:54 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 01:10:31 -!- poiuy_qwert has joined. 01:27:01 -!- augur has quit (Remote host closed the connection). 01:31:25 -!- cal153 has joined. 01:38:54 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 01:40:01 Can I make fun of coppro now? 01:40:32 -!- poiuy_qwert has joined. 01:47:06 "On a clear disk, you can seek forever." -- HP-UX manual, circa 1985 01:50:17 http://cacm.acm.org/magazines/2011/2/104395-puzzled-parsing-partitions 01:50:22 interesting article 01:54:28 -!- augur has joined. 01:58:52 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 02:00:30 -!- poiuy_qwert has joined. 02:06:47 -!- tswett has joined. 02:06:52 How do I ask this question in Finnish? 02:07:12 `translatefromto en fi How do I ask this question in Finnish? 02:07:12 (Heimo, Herobrine. Even though "heimo" isn't a greeting.) 02:07:32 Miten kysyä tätä kysymystä suomeksi? 02:08:11 LOOKS PLAUSIBLE 02:09:00 Hm, I like what "mys" means in Swedish. What's the equivalent Norwegian word? 02:09:17 `translatefromto sv en mys 02:09:19 mys 02:09:31 Because it apparently means "coziness". 02:09:40 oh. 02:09:54 "kos", i suppose 02:11:07 `translatefromto sv no mysigt 02:11:08 koselig 02:11:16 That doesn't look like a cognate, but then again, the English word "do" doesn't look like the Spanish word "hacer" even though they are cognates. 02:11:33 um it's a cognate to "cozy", surely 02:11:36 This channel is full of natrual language geeks too? 02:11:36 :V 02:11:44 finnish is soo different 02:11:56 Lymia: there's even a real linguist here (hi augur) 02:11:58 It doesn't look like one to "mys", though. 02:12:03 like from an other planet 02:12:06 But yeah, it's almost certainly a cognate to "cozy". 02:12:10 oerjan: ohai 02:12:13 I thought people usually said that about Japanese. 02:12:17 Not Finnish. 02:12:26 augur: hi! Are you one of those one-language linguists? Not that there's anything wrong with that, I'm just wondering. 02:12:39 Lymia: people also say that Finnish is just a cipher of Japanese. 02:12:49 Lymia: there's a certain similarity between them, syllable structure and agglutination 02:13:00 tswett: what do you mean one language linguists 02:13:09 augur: THAT YOU ONLY SPEAK ENGLISH 02:13:12 Monolingual linguists. 02:13:14 What oerjan said. 02:13:23 oh, do i only speak one language? yes. 02:13:33 tswett, well. 02:13:35 I can say this. 02:13:40 I've never heard of that one before. 02:13:41 =p 02:13:55 It seems... wise for a linguist to know multiple languages. 02:13:58 Then again, the non-computer science related communities I go to are usually anime related. 02:14:26 But eh, if just knowing English works out for you. 02:14:39 (An if-only sentence. There is no then, only an if.) 02:14:42 augur: i mean you blather on about syntactic typed calculi and stuff, but do you _ever_ discuss in japanese like the real geeks here? nope. 02:14:55 tswett: knowing another language isnt terribly important. 02:15:04 oerjan: no what 02:15:11 why would i discuss japanese 02:15:14 whats to discuss 02:15:21 augur: THAT'S A JOKE 02:15:41 sou ka 02:15:57 augur: although this outsider _does_ feel it's somewhat suspicious to call yourself a linguist without any _actual_ breadth of language experience 02:16:14 which outsider 02:16:19 <- this one 02:16:20 Linguistics sure isn't *about* knowing lots of languages. 02:16:21 oh 02:16:26 The one to oerjan's left. 02:16:29 :P 02:16:35 well its not like i dont have experience with other languages 02:16:38 * oerjan swats tswett -----### 02:16:39 linguists are assholes 02:16:44 THAT ALMOST ALLITERATES 02:16:48 i just dont speak any well enough to say i speak them at all 02:16:59 hagb4rd: you mean they're talking out their asses? 02:17:22 they're talking out of anything they can 02:17:33 but theres no music in it 02:18:04 But knowing only English for a linguist is like knowing only about cats for a biologist. Sure, lots of facts that are true of cats are true of life in general. But many are not; if you only study cats, you never know what might be present in other animals. 02:18:09 augur: good, good. i guess. 02:18:26 maybe i exaggerate a lil 02:18:30 tswett: whoa whoa you're making the wrong analogy 02:18:41 knowing only english for a linguist is like BEING only a human for a biologist 02:18:53 I imagine I am; I'm not the linguist here. 02:19:01 i can tell you lots of things about other languages' grammars 02:19:18 more than most speakers know about the grammars 02:19:25 i just cant speak them 02:19:54 Ah, then you do know other languages well, for the purposes that you use them for. 02:20:09 no, i dont _know_ them in any real sense 02:20:17 i know facts about them 02:20:23 Right. 02:20:55 * oerjan is reminded of The Mathematician's Lament 02:21:01 Lockhart's Lament? 02:21:02 just like lots of people know facts about caesar and brutus 02:21:08 but noone _knows_ caesar or brutus 02:21:15 *A 02:21:18 tswett: yes 02:21:22 sweez 02:21:26 -z+t 02:21:32 analogy 02:21:36 I met Caesar once. I put him on my salad. He was delicious. 02:21:43 hehe 02:21:44 hagb4rd: are you making an analogy out of my surname? 02:21:49 tswett: how brutal 02:21:56 should i? 02:22:04 Yes, you should. 02:22:37 hehe 02:30:52 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 02:32:30 -!- poiuy_qwert has joined. 02:50:51 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 02:52:28 http://manageddreams.com/osmpbb/ 02:52:30 I have a sad. 02:53:03 sgeo: is it blue with a gold stripe across the head? 02:53:14 i lost my sad a little while back, been looking all over for it 02:54:01 ^ul (:::***)(~(~(:a~*):^))~(a)~^^SS 02:54:02 ((((~(~(:a~*):^))))) ...out of stack! 02:57:02 -!- Lymia_ has joined. 02:57:08 -!- Lymia has quit (Disconnected by services). 02:57:09 -!- Lymia_ has changed nick to Lymia. 02:57:10 -!- Lymia has quit (Changing host). 02:57:10 -!- Lymia has joined. 03:14:07 ^ul ((:::***)(~(~(:a~*):^))~(a)~^^())((:^(:)~*(*)*a~a~*(((T)(F))~*^(^)~^^^S!)~a*^)~:a~**^):^ 03:14:07 ((~(~(:a~*):^)))(~(~(:a~*):^))~(~(:a~*):^)~(:a~*):^(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a~*):a~*(:a ...too much output! 03:14:27 ^ul ((:::***)(~(~(:a~*):^))~(a)~^^())((:^(:)~*(*)*a~a~*(((T)(F))~*^(^)~^^^!S!)~a*^)~:a~**^):^ 03:14:28 FFFTFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ...out of time! 03:53:58 `-` 03:53:59 No output. 03:56:27 you need to stop it with the ugly-ass backtick "face" or at least put a space in front of it 03:58:16 -!- augur has quit (Remote host closed the connection). 04:09:45 [00:33:42] afaik we don't have any indians or chinese here, though 04:09:45 [00:34:26] hm wait that was during european day wasn't it 04:09:58 Uhm yeah it was night for east and south Asia by that time already 04:12:46 -!- Lymia has quit (Ping timeout: 240 seconds). 04:13:55 i think my mind triggered on the mention of "2 billions" --> china + india 04:15:15 It was supposed to be Europe + Africa + west Asia :p 04:28:14 -!- augur has joined. 04:52:38 -!- poiuy_qwert has joined. 05:26:25 "The enzo" wtf 05:26:36 http://www.wrapanap.com/order.html 05:29:18 same color as the car? 05:30:46 * pikhq is too good at procrastination. 05:30:59 I have been home for 8 hours. I have done nothing so far. 05:31:07 8. Fucking. Hours. 05:32:06 pikhq: you could get outraged over sony's lawsuits a bit more 05:32:17 that's a fairly productive pastime 05:32:27 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 05:34:17 -!- poiuy_qwert has joined. 05:36:07 copumpkin: Nothing new on that front, so *shrug* 05:36:18 Why is there a car named after the Active Worlds CEO? 05:37:27 http://wiki.activeworlds.com/index.php?title=User:E_N_Z_O&oldid=18626 05:37:55 Ah, Anki, how you make it so easy for a having-done-nothing day to have actual accomplishments in it. 05:38:29 Anki? 05:38:46 flashcards? 05:39:30 Anki is a fairly good SRS (spaced repetition system) program... 05:39:35 I use it for studying Japanese. 05:40:06 Yes, flashcards with an algorithm that prevents you from wasting too much time. 05:40:49 Basically, it attempts to model when you're likely to forget a card, so that it only shows up when seeing the card will actually be helpful. 05:41:02 Rather than, say, showing the same damned cards every day. 05:45:44 I find it almost *necessary* for learning kanji. 05:48:43 Well 05:48:50 I'm not going to be a double red cell donor 05:49:17 -!- benmoreassynt has joined. 05:50:36 -!- benmoreassynt has left (?). 05:54:26 copumpkin: BTW, thank you so much for cluing me in on Heisig. It's been about a year since, and, well, it's been amazing. 05:54:34 Heisig? 05:54:45 Sgeo: Heisig's "Remembering the Kanji". 05:54:50 oh 05:54:54 Sgeo: Also essential. 05:55:17 Sgeo: Learn (roughly) the meaning and (exactly) the writing of the commonly used kanji! 05:55:56 pikhq: no problem :) glad you made it through it! that's more than I did :P 05:56:11 Sgeo: I've gone from struggling to understand stuff for 2nd graders to struggling to understand ja.wikipedia.org courtesy of that. 05:56:47 And I read untranslated manga for pleasure now. Yay. 05:57:03 how's verbal? 05:57:15 spoken japanese and grammar are actually pretty easy 05:57:31 well, in some ways, anyway 05:57:36 copumpkin: Quite a bit below my reading comprehension, but it's improved by leaps and bounds. 06:02:45 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 06:04:20 -!- poiuy_qwert has joined. 06:18:14 Why am I shocked by Moove still existing? 06:24:19 http://www.youtube.com/watch?v=J5uptErhetY how did this embed itself into my subconsious so quickly that when I found it on YouTube, I was certain it was a different song 06:24:53 No 06:24:55 Hmm 06:25:15 I meant I thought that I thought what was playing in my head when I f... argh 06:32:44 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 06:34:33 -!- poiuy_qwert has joined. 06:40:57 -!- asiekierka has joined. 06:45:23 -!- Zuu has quit (Read error: Connection reset by peer). 06:45:26 -!- Zuu_ has joined. 06:52:43 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 06:54:33 -!- poiuy_qwert has joined. 07:02:05 -!- hagb4rd has quit (Ping timeout: 240 seconds). 07:06:10 -!- FireFly has joined. 07:08:12 -!- hagb4rd has joined. 07:12:43 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 07:14:34 -!- poiuy_qwert has joined. 07:14:51 -!- hi2u has joined. 07:15:30 -!- hi2u has left (?). 07:22:35 -!- Zuu_ has quit (Read error: Connection reset by peer). 07:27:12 -!- Zuu has joined. 07:32:42 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 07:34:31 -!- poiuy_qwert has joined. 07:43:13 -!- evincar has joined. 07:43:56 Well, here I am, more than twelve hours later than I planned. 07:45:00 that's relatively lousy timing for this channel 07:45:36 wait, do you mean you've been traveling or something? 07:49:56 * pikhq shall go to sleep. 07:52:06 ^ul (()~:a(~^)*~(()(~(~(:a~*):^))(a))~*^^)(::**)~^ 07:52:27 ^ul (()~:a(~^)*~(()(~(~(:a~*):^))(a))~*^^)(::**)~^(~aS:^):^ 07:52:27 ((((~(~(:a~*):^)))))()((::**)~^)() ...out of stack! 07:52:51 -!- FireFly has quit (Quit: swatted to death). 07:54:55 oerjan: No, I mean I told elliott to look at something I was talking about earlier with ais523, and that I'd be back in a couple hours after a nap. Twelve hours later... 07:55:03 heh 07:55:08 ...though not nearly all of that time was sleeping. 07:58:34 -!- poiuy_qwert has quit (Read error: Operation timed out). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:03:01 -!- poiuy_qwert has joined. 08:04:32 ^ul (aS:):((:*)~^(::**)~^(:*)~^)^ 08:04:32 (:*)(::**)(:*) 08:05:24 ^ul (aS:):((:*)~^(::**)~^(:*)~^)^S 08:05:24 (:*)(::**)(:*)aS: 08:05:46 ^ul (aS:):((:*)~^(::**)~^(:*)~^)^(aS:^):^ 08:05:46 (:*)(::**)(:*)(aS:^)(aS:) 08:06:06 ^ul (aS:):((:*)~^(::**)~^(:*)~^)^(~aS:^):^ 08:06:06 (:*)(::**)(:*)(aS:)(aS:) ...out of stack! 08:09:32 Poor, poor fungot. 08:09:33 evincar: it can say " make this a bit and watch it toast? or decide the project is quite quixotic. that being said, it comes to mobile code it has good parts and bad parts. the dynamic environment 08:09:53 Thanks. 08:09:58 Goodnight. 08:10:05 -!- evincar has quit (Quit: Toast...). 08:12:23 -!- aloril_ has quit (Read error: Connection reset by peer). 08:21:22 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 08:23:01 -!- poiuy_qwert has joined. 08:24:04 -!- aloril has joined. 08:25:26 -!- cheater00 has quit (Ping timeout: 240 seconds). 08:26:28 -!- cheater00 has joined. 08:29:14 ^ul (aS:):(:((0)(!(1)(!(2)(!(3)(_))))(^))~*^^!Sa(~^)*~a*(:)*^)((:*)~^(::**)~^(:*)~^)^(~aS:^):^ 08:29:14 2(:*) ...out of stack! 08:30:09 ^ul (aS:):(:((0)(!(1)(!(2)(!(3)(_))))(^))~*^^!Sa(~^)*~a*(:)*^):((:*)~^(::**)~^(:*)~^)^(~aS:^):^ 08:30:09 2(:*)3(::**)2(:*)(:((0)(!(1)(!(2)(!(3)(_))))(^))~*^^!Sa(~^)*~a*(:)*^)(:((0)(!(1)(!(2)(!(3)(_))))(^))~*^^!Sa(~^)*~a*(:)*^)(aS:)(aS:) ...out of stack! 08:32:18 ^ul (aS:):(:((0)(!(1)(!(2)(!(3)(_))))(^))~*^^!Sa(~^)*~a*(:)*^):((:*)~^(!())~^(:*:*)~^)^(~aS:^):^ 08:32:18 2(:*)0(!()) ...bad insn! 08:41:21 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 08:43:00 -!- poiuy_qwert has joined. 09:01:21 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 09:02:59 -!- poiuy_qwert has joined. 09:21:20 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 09:21:25 -!- cheater00 has quit (Ping timeout: 240 seconds). 09:22:59 -!- poiuy_qwert has joined. 09:23:33 -!- cheater00 has joined. 09:31:33 -!- oerjan has quit (Quit: leaving). 09:37:21 -!- poiuy_qwert has quit (Read error: Operation timed out). 09:40:12 -!- Tritonio has joined. 09:42:59 -!- poiuy_qwert has joined. 09:53:00 -!- hagb4rd has quit (Ping timeout: 240 seconds). 10:01:20 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 10:02:59 -!- poiuy_qwert has joined. 10:15:12 -!- Phantom_Hoover has joined. 10:18:32 -!- poiuy_qwert has quit (Read error: Operation timed out). 10:21:45 -!- poiuy_qwert has joined. 10:29:15 00:37:53 oerjan: you know, i don't think j-invariant is coming back... ← we didn't think he was coming back when he was fax either. 10:29:51 I know him from #haskell, was he a great contributor to this channel? 10:33:59 That's a long story which I a) don't know the entirety of and b) can't be bothered recounting. 10:39:37 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 10:41:13 -!- poiuy_qwert has joined. 10:47:45 -!- cheater- has joined. 10:48:51 -!- cheater00 has quit (Ping timeout: 272 seconds). 10:52:20 -!- Tritonio has quit (Read error: Connection reset by peer). 10:59:37 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 11:01:13 -!- poiuy_qwert has joined. 11:19:37 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 11:21:13 -!- poiuy_qwert has joined. 11:29:56 -!- asiekierka has quit (Ping timeout: 276 seconds). 11:39:36 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 11:40:43 -!- copumpkin has quit (Ping timeout: 260 seconds). 11:41:10 -!- copumpkin has joined. 11:41:13 -!- poiuy_qwert has joined. 11:59:36 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 12:01:12 -!- poiuy_qwert has joined. 12:09:54 Haha... Lagerhom apparently tried to make countdown to first RIR depletion but apparently the code is quite buggy... 12:19:38 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 12:21:12 -!- poiuy_qwert has joined. 12:39:35 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 12:41:14 -!- poiuy_qwert has joined. 12:45:39 -!- sebbu2 has quit (Read error: Operation timed out). 12:46:06 -!- sebbu has joined. 12:54:51 -!- Deewiant has quit (Ping timeout: 255 seconds). 12:55:18 -!- Deewiant has joined. 12:59:01 -!- augur has quit (Remote host closed the connection). 12:59:35 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 13:01:14 -!- poiuy_qwert has joined. 13:07:45 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 13:19:35 -!- poiuy_qwert has quit (Read error: Connection reset by peer). 13:21:16 -!- poiuy_qwert has joined. 13:23:59 -!- asiekierka has joined. 13:25:33 -!- poiuy_qwert has quit (Read error: Operation timed out). 13:29:42 -!- FireFly has joined. 13:39:13 -!- augur has joined. 13:46:02 -!- elliott has joined. 13:47:56 00:58:38 summary of dwarf fortress after having played it for an afternoon: kind of like minecraft but with the micromanagement of widelands and the difficulty and GUI of nethack 13:48:05 Vorpal: Er, DF is *much* more difficult than NetHack. 13:49:15 -!- ais523 has joined. 13:50:23 02:22:49 (Heimo, Herobrine. Even though "heimo" isn't a greeting.) 13:50:25 tswett: it's a bot 13:51:07 02:28:02 augur: hi! Are you one of those one-language linguists? Not that there's anything wrong with that, I'm just wondering. 13:51:08 and how many diseases do you have, resident doctor? 13:51:12 hi ais523 13:51:17 hi 13:51:30 hmm, you know when I couldn't access anything? 13:51:51 when the system started working again, programs were working but Gnome was frozen (the shell, that is) 13:51:51 yes 13:51:53 heh 13:51:59 ais523: don't say Gnome and shell in the same sentence 13:52:01 so I had to log out via control-alt-backspace to get anything done 13:52:25 02:31:34 augur: although this outsider _does_ feel it's somewhat suspicious to call yourself a linguist without any _actual_ breadth of language experience 13:52:30 it seems that that didn't work properly, I just got an automated email to tell me that I'd left gnome-panel running for over two days and it was killed automatically 13:52:42 again... "Asking a linguist how many languages they know is like asking a doctor how many diseases they have." 13:53:13 (OK, it's a fairly stupid aphorism) 13:53:16 (but it's amusing) 13:54:37 hmm, with "linguist" there, the analogy does actually hold up 13:54:50 except that a doctor would be trying to get rid of diseases they had 13:55:00 and a linguist wouldn't have any motive to forget languages they happened to know 13:55:17 (although they wouldn't have a massive motive to learn new ones either) 13:55:18 ais523: linguist != someone who knows languages 13:55:30 meanwhile, off-topically, http://www.digitalspy.co.uk/odd/news/a300850/diddy-sued-for-causing-911-attack.html 13:55:40 well, I suppose it's rather esoteric 13:56:18 ais523: linguist != someone who knows languages <--- I know, what about my comment would have given a different impression? 13:56:32 hmm, that URL is pretty freakish as it is 13:56:42 and not just because of the random string of hex (or possibly, letter+decimal) 13:56:46 "A woman named Valerie Turks filed the suit against Diddy, whose real name is Sean Combs, alleging that he was the cause behind the collapse of the World Trade Centre in 2001 and stole a poker chip from her worth "100 zillions of dollars"." 13:57:02 "[Diddy] went through Kim Porter and Rodney King and knocked down the WTC and then they all came and knocked my children down. Set me up to be on disability and disabled my baby. He put my baby in a wheelchair," Billboard quotes Turks as saying in her legal papers. 13:57:15 elliott: you get lawsuits that silly once in a while 13:57:25 there was one during the SCO vs. Novell case 13:57:29 "- -and then for lunch, I knocked down the World Trade Centre -- but anyway, how was your day?" 13:57:31 *-- and 13:57:43 (debate: is World Trade Centre a correct spelling?) 13:57:59 (not SCO vs. Novell itself, although that was pretty silly as it was; someone who was in prison at the time decided to try to intervene in the case) 13:58:15 "It all started with tarsorrhaphy. Really." --Google 13:58:27 ais523: heh, on which side? 13:58:34 I saw something on Fark saying that Wikipedia had a redirect... 13:58:38 "Turks, who is asking for $900 billion dollars in child support and $100 billion dollars for 'loss of income', --" -- well, that sounds eminently reasonable! You can hardly raise a child with less. 13:58:50 [[We created about 100 “synthetic queries”—queries that you would never expect a user to type, such as [hiybbprqag]. As a one-time experiment, for each synthetic query we inserted as Google’s top result a unique (real) webpage which had nothing to do with the query. Below is an example:]] 13:58:51 omg 13:58:59 imagine finding those before they revealed it :D 13:59:00 elliott: they wanted to replace SCO in the case, on the basis that they were being incompetent 13:59:06 heh: http://www.google.com/search?q=hiybbprqag 13:59:19 elliott: it returns genuine results now 13:59:20 hiybbprqag.com goes to a Google job site now 13:59:23 mostly talking about the story in question 13:59:40 -!- elliott has set topic: For the discussion of hiybbprqag and mbzrxpgjys | http://208.78.103.223/esoteric/ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 14:00:21 -!- augur has quit (Remote host closed the connection). 14:00:33 delhipublicschool40 chdjob! 14:00:48 hmm, apparently Comcast have moved some of their customers to IPv4/IPv6 dual stack 14:00:50 what would happen if some poor sap really wanted to find information about these things?! 14:01:01 the Slashdot comments say it's because they ran out of space in 10/8 14:01:08 ais523: aren't Comcast terrible in every other aspect, though? 14:01:24 elliott: I think so 14:01:27 They did run out of space in 10/8 for their "control plane" network, and had to register public addresses for it. 14:01:32 so, reddit has "joined" the Free Software Foundation, but I'm not sure what they mean 14:01:33 oh, FSF associate 14:01:41 I also vaguely recall Comcast doing a largeish trial of 6rd. 14:01:49 it feels odd 14:01:51 running out of space in a class A for your own control network is pretty impressive 14:01:52 even though reddit is mostly open 14:02:05 Isn't reddit full of ads? 14:02:14 Games are ads! 14:02:43 ooh, I got an advert for a Windows registry scanner 14:02:50 I'm tempted to actually click on it just to see what will happen 14:03:03 my theory is that it'll load in Wine, and scan the Wine registry, if I do 14:03:10 lol 14:03:10 Ugh. 14:03:12 [[By the way, your replies in this thread strongly suggest to me that you're trying to adjust your definition of "generalisation" to fit the responses, rather than taking them into account.]] <-- probability of them taking this seriously: 0 14:03:19 I have to go to school, don't I? 14:03:19 ais523: Erm, usually they don't actually scan the registry. 14:03:24 "This is a tremendous milestone for Comcast, cable operators, and the Internet community at large, and it is a critical milestone in our many years of work to prepare IPv6 to work seamlessly in a residential broadband Internet network. Each user has been delegated a /64 block of [--]." 14:03:25 ais523: I would hide the Z: drive first. :p 14:03:27 Maybe a chroot. 14:03:37 fizzie: BROUGHT TO YOU BY WOLFRAM RESEARCH 14:03:41 yep, I'm unlikely to actually /do/ it 14:03:49 I might also make a user for the purpose 14:04:03 Blah blah your "tremendous milestone for -- the Internet community at large"; there's a whole pile of ISPs that have been doing that for who knows how long. 14:04:13 fizzie: lol, not in the US 14:04:22 when I run closed-source Windows programs that I suspect are either a) potentially malware, or b) have ridiculous DRM, I use a separate user without write access to anywhere but /tmp, /var/tmp, and its own home dir 14:04:26 even in the UK, it's non-trivial to find an IPv6 ISP 14:04:30 they're all small 14:04:38 They're not smaller than the Comcast trial. :p 14:04:45 Well, tru. 14:04:50 "On January 11th, 2011, our first 25 IPv6-enabled users came online in the Littleton, Colorado area." 14:05:03 (Okay, so they've expanded now to an unspecified, larger number, but still.) 14:05:05 btw, MPLAB C30 definitely counts as ridiculous DRM 14:05:06 Not even BE have IPv6, which is kind of annoying. 14:05:10 mostly because it's GPLed 14:05:13 http://my.opera.com/chooseopera/blog/2011/02/02/egypt-is-back-online-2 14:05:13 ais523: all DRM counts as ridiculous DRM 14:05:20 so patching the DRM out was surprisingly simple 14:05:38 ais523: hmm, theory: GPLv4 will prohibit obfuscating the source 14:05:44 so that DRM is always easy to remove 14:05:45 elliott: GPLv2 did that 14:05:50 ais523: really? :D 14:06:07 yep, their definition of source excludes obfuscated source 14:06:18 elliott, so idiots won't be allowed to program anymore? 14:06:36 ais523: OK, new theory, taking into account the fact that the GPL is already crazy: GPLv4 will prohibit writing unreadable code 14:06:39 * Sgeo needs to go put clothing on and go to school 14:06:47 GPLv5, then, will mandate the GNU coding standards be used, and that the code is eminently readable 14:07:02 GPLv6 will specify which fonts you are allowed to use when editing the code. 14:07:07 GPLv6 will just be a requirement to hand your project over to the FSF> 14:07:07 hmm... Ubuntu wants to upgrade the kernel from 2.6.32.28.31 to 2.6.32.28.32 14:07:13 apparently as a security update 14:07:25 Nice, that kernel is from like 2009 14:07:27 Pretty recent 14:07:29 that's the most minor version number bump I've ever seen for that sort of update 14:07:30 * elliott doesn't even see his updates 14:07:35 they just go automatically 14:07:43 The duck go. 14:07:45 ais523: that sounds like a local patch version 14:07:51 I don't think kernel.org kernels come in such versions 14:07:55 My router is still running .33 but it's been running for quite a while now so it's excusable 14:07:55 2.6.32.28 was released in 2011-01-07. 14:08:00 That's not exactly "like 2009". 14:08:13 *The pig go 14:08:14 Dammit 14:08:15 kfr: well, I reboot every time I go home or to work 14:08:15 "Not all updates can be installed" uh oh 14:08:19 because it's fast enough anyway 14:08:33 I need strong AI in my IRC client. 14:08:39 And the fifth number is Ubuntu-specific there. 14:08:53 wait, is there a new major Ubuntu release? 14:08:57 elliott: normally that's because two or more clash, and is relatively common in -proposed versions of Ubuntu, at least 14:08:59 no 14:09:05 so why is it showing me the distribution upgrade screen? 14:09:06 and no, those happen in April and October 14:09:18 elliott: because the distribution updater is the only one that knows how to handle that sort of clash 14:09:22 oops 14:09:23 the regular one can't 14:09:24 i just cancelled it 14:09:27 and now the regular one pops up 14:09:31 how do i get it back :D 14:09:44 sudo aptitude dist-upgrade from the terminal 14:09:51 I'm not sure what the synaptic equivalent is 14:09:55 ais523: ouch! 14:09:57 dist-upgrade is NOT the same 14:10:10 well 14:10:14 full-upgrade 14:10:14 Upgrades installed packages to their most recent version, removing 14:10:14 or installing packages as necessary. This command is less 14:10:14 conservative than safe-upgrade and thus more likely to perform 14:10:14 unwanted actions. However, it is capable of upgrading packages that 14:10:15 safe-upgrade cannot upgrade. 14:10:18 (it isn't actually called dist-upgrade) 14:10:26 OK, it was renamed slightly 14:10:55 aha 14:10:57 update-manager --dist-upgrade 14:10:58 I think 14:11:08 yep 14:11:20 Isn't it easier to use a rolling release distro? I always found this whole staged distro stuff somewhat irritating 14:11:38 hmm, it wants to install ttf-droid 14:11:57 i should really finish up kitten 14:12:00 kfr: it depends on what you want to do; staged lets you control when your system is most likely to randomly break, which helps if you're using it for something important 14:12:00 to avoid this ubuntu mayhem 14:12:11 wait, what did kfr say? 14:12:39 elliott: he or she asked why people would use a staged distro over a rolling release distro 14:12:43 but I used Debian for quite a while 14:13:08 because staged distros are often less hassle to manage, obviously... a rolling release distro with someone sane and conservative enough in charge works fine 14:13:27 but e.g. Arch is run by crackheaded monkeys running off the cliff of stability into a gigantic pit of lava marked "THE FUTURE" 14:13:43 I use Arch on my servers, the router and the notebook :D 14:14:00 I run yes | pacman -Syu in a daily cronjob 14:14:03 My good luck charm 14:14:55 (it repeatedly broke stuff with PostgreSQL and Apache) 14:15:02 (sites were down for days until I noticed that) 14:15:13 of course what everyone should use is Kitten. 14:15:32 because it's the only Linux distro that manages to say with its very existence, "get off my lawn" 14:15:32 What is Kitten? 14:15:40 Oh I have never heard of it before 14:15:44 elliott's vaporware Linux distro 14:15:44 I shall google it 14:15:49 Vaporware? :D 14:15:51 ais523: not vapourware, just too-busy-for-it-ware 14:15:52 googling it probably wouldn't work very well 14:16:07 http://kittenlinux.com/index.shtml 14:16:11 The same? 14:16:22 ais523: I could assemble a system that I'd call "Kitten" right now, but I'd prefer to get a package manager going first 14:16:30 it's kind of nice to have 14:16:32 sometimes :P 14:16:37 elliott: according to kfr's link, you probably have a naming clash 14:16:42 because I'm pretty sure you don't own kittenlinux.com 14:16:43 Oh. 14:16:54 what, they stole my fucking logo 14:16:56 almost 14:17:08 well...who cares about some Fedora user :D 14:17:23 ais523: I'm sure I can usurp it, since when is first-come first-serve a reasonable policy? 14:17:28 KITTEN LINUX EHIRD KITTEN LINUX EHIRD KITTEN LINUX EHIRD KITTEN LINUX EHIRD KITTEN LINUX EHIRD KITTEN LINUX EHIRD KITTEN LINUX EHIRD KITTEN LINUX EHIRD KITTEN LINUX EHIRD KITTEN LINUX EHIRD 14:17:53 ais523: also, it's just as vapourware as mine, except it has a vaguely self-congratulatory website with way too many italics 14:17:54 so bah 14:18:08 at least, all it has is the top google spot; the rest of the results are false positives 14:18:16 well, apart from: 8 Dec 2008 ... Kitten is based on Linux in part, but makes different design choices that are targeted at scalability (low noise, deterministic behavior) ... 14:18:23 -!- cheater- has quit (Ping timeout: 240 seconds). 14:18:25 but that's hardly relevant: https://software.sandia.gov/trac/kitten 14:18:36 ais523: btw, i never consciously named it Kitten 14:18:49 I had some name ideas, but called it Kitten as a joke until I decided on one, and then I forgot them 14:18:49 the name just happened? 14:18:55 so it just kept being called Kitten 14:19:09 ais523: it was originally a joke a la "and a pony!" 14:19:14 ah 14:20:58 -!- cheater- has joined. 14:21:08 -!- asiekierka has quit (Read error: Operation timed out). 14:21:28 -!- impomatic has joined. 14:21:32 Hi :-) 14:21:35 -!- BeholdMyGlory has joined. 14:21:55 hi impomatic 14:24:10 ais523: you need to make a patch that does undo! 14:24:11 :D 14:24:36 Today I met somebody in ##asm who had written an assembler in Prolog, I was very impressed by that 14:24:49 cheater-: err, wrong channel? 14:24:51 I still haven't really tried Prolog but I'm told it's very interesting 14:24:57 Food for thought 14:25:01 ais523: i don't want to talk there :) 14:25:03 (we're both in both #esoteric and #nethack, and your comment would make sense in #nethack but not #esoteric) 14:25:15 ais523: yes! it's for secrecy 14:25:29 oh, you don't want to admit you're a savescummer? 14:25:39 ais523: :troll-feeding: 14:25:50 everything can be expressed with a fake emoticon name; that's my theory of life 14:25:52 elliott: meh, it can be amusing sometimes 14:26:03 ais523: well, ok, but very annoying for everyone else 14:26:11 especially in #esoteric, isn't our typical response to trolls to countertroll them until they give up? 14:26:24 ais523: why are you refering to me as a troll? 14:26:29 also, I can't figure out if it's cheater- trolling, or me 14:26:33 cheater-: I'm not, I'm responding to elliott 14:26:49 ais523: elliott is an idiot. never mind him. 14:26:56 well, cheater- is either very idiotic or a troll, but it's irrelevant because what he does is the same 14:27:14 iddiott: sorry, i reserved the idiot insult first! 14:28:59 ais523: returning to what we were talking about before we were so rudely interrupted, an undo feature would be fun to learn the different outcomes from a single situation 14:29:08 and for newbies definitely a fun way to play the game 14:29:26 arguably, wizmode is more useful in the first case 14:29:49 and NetHack tends to be kind-of unsatisfactory with savescumming, especially to a new player 14:30:00 it's not as bad when you're experienced and know the sort of things it would be interesting to test 14:30:04 yes, but wizard mode gives you abilities beyond what you normally would be able to do 14:30:09 that's the point? 14:30:10 therefore it's not as useful for learning 14:30:19 it lets you set the situations you want to test up 14:30:24 rather than have to have them happen naturally 14:30:24 because when learning you want to be confronted with situations that normally come up 14:30:30 and no, you don't 14:30:32 savescumming to learning? 14:30:33 i want them to happen naturally 14:30:34 *learn? 14:30:36 sheesh 14:30:50 you want to use wizmode precisely to test things that only come up once in a blue moon 14:30:50 that's a great way to become someone who gives up every time they die, i guess 14:31:04 because the stuff that comes up all the time comes up all the time, so you learn it quickly enough 14:31:07 ais523: yes. i want to use undo to test things that come up naturally. 14:31:14 ais523: not quickly enough for me 14:31:36 hmm, I think NetHack is possibly the wrong game for you 14:32:03 -!- Behold has joined. 14:32:08 hey guys, i want to learn dwarf fortress 14:32:09 except 14:32:11 ais523: i think you're trying to patronize me by following the general beaten path way of playing nethack as opposed to being creative and finding fun new ways to enjoy it. 14:32:12 i want to be able to go back in time 14:32:15 so that whenever i fuck up 14:32:20 i don't have to lose my precious fortress 14:32:29 can |_| plz hax0r it 4 me ais523? 14:32:35 ;;)) 14:33:01 elliott: as Dwarf Fortress is a sandbox game in a way, I can see more reason to savescum it than I can to savescum NetHack 14:33:14 NetHack's a sandbox game in wizmode too, but it doesn't make for a very /good/ sandbox game 14:33:18 ais523: http://df.magmawiki.com/index.php/DF2010:Fun 14:33:21 (redirect to http://df.magmawiki.com/index.php/DF2010:Losing) 14:33:27 [[Losing is fun! 14:33:27 Either way, it keeps you busy. 14:33:27 There is no internal end point, single goal, final Easter egg or "You Win!" announcement in Dwarf Fortress. Therefore, eventually, almost every fortress will fall. The only ones that don't tend to be very conservative and very boring—and what fun is that? Therefore, DF = losing /\ DF = fun => losing = fun, and that's okay! It's a game philosophy, so embrace it, own it, and have fun with it! 14:33:29 Most new players will lose their first few forts sooner rather than later; when you lose a fortress, don't feel like you don't understand the game. Dwarf Fortress has a steep learning curve, and part of the process (and fun!) is discovering things for yourself. However, this Wiki serves as an excellent place to speed up the learning process. 14:33:32 ais523: is it so unimaginable to play nethack in a way that it's not played normally? 14:33:33 If you lose, you can always reclaim fortress or go visit it in adventurer mode. 14:33:35 If you're looking for more ways to test yourself, try either the mega construction or the Challenges articles.]] 14:33:38 ais523: if Dwarf Fortress didn't have losing, it wouldn't be a game 14:33:54 (Minecraft is a game on a technicality -- you can die by being killed, which counts as losing) 14:33:59 -!- BeholdMyGlory has quit (Ping timeout: 264 seconds). 14:34:00 You can't lose in WoW 14:34:04 cheater-: http://www.youtube.com/watch?v=g-1hk-whXJI 14:34:26 (sorry, that's close to the perfect comeback but I had to look up the link) 14:34:49 ais523: oh, you guys actually released the TAS? 14:34:53 elliott: no 14:34:53 or is the project still ongoing? 14:34:56 still ongoing 14:35:00 that's just the start 14:35:05 what the fuck is happening :D 14:35:07 I like how you're called F 14:35:32 ais523: please get hallu at some point 14:35:34 or wait, are you? 14:35:40 ais523: say what? 14:35:44 hallu would cause a desync the way we're doing things 14:35:50 cheater-: ais523: is it so unimaginable to play nethack in a way that it's not played normally? 14:36:10 put it this way, if you're going to savescum, you want to do it /properly/ 14:36:15 cheater-: you could always code your own cheating code rather than telling ais523 to do something he obviously isn't going to do 14:36:28 that would also have the side-effect of not polluting #esoteric with lines both idiotic and offtopic 14:36:29 iddiott: you could always just /ignore me 14:36:35 (that's _my_ job) 14:37:14 what the fuck is happening :D <-- http://gitorious.org/nethack-tas-tools/mainline/blobs/raw/master/turnbyturn.txt 14:37:25 that's over ten thousand words now, and I felt the need to write it just to explain what was happening 14:37:27 ais523: you think that will answer my question? 14:37:37 ais523: I'm not a very good NetHack player :) 14:37:46 elliott: it's designed to be understood by people who don't know about NetHack much 14:37:54 it's that long partly because it explains all the relevant mechanics 14:37:55 ais523: will you do another TAS on the most favourable day? 14:38:17 admittedly, most of the relevant mechanics are ones that never come up in "real" games, so I need to explain them to veterans too 14:38:24 and no, because it would look basically the same 14:38:48 aww 14:39:12 it turns out that there have been 14:39:12 none at all since the release of NetHack 3.4.3, 14:39:17 ais523: can you not play a release on a day before it was released? 14:39:17 heh 14:39:28 elliott: obviously not, that would be unrealistic! 14:39:36 ah. unlike minecraft! 14:39:38 erm 14:39:40 ah. unlike nethack! 14:39:43 (I tend to take the "theoretically possible" bit rather pedantically) 14:39:52 oh, so the game doesn't actually stop you :) 14:39:57 ais523: it's theoretically possible to set your clock back! 14:40:11 well, yes 14:40:19 but that would be illegally modified hardware 14:40:28 (well, probably not, I'm just being excessively pedantic) 14:40:36 (and there's no reason /not/ to pick a date after the release of 3.4.3) 14:40:51 it would be theoretically possible to be someone who has left earth at light speed and used the twin effect to result in them being in the most favourable day 14:41:20 I did something similar in the Pokémon World Championships, using a more difficult method to control the RNG to produce perfect Pokémon just in order to leave them with possible timestamps 14:41:28 in fact, I left the timestamp as close to the actual time as I could 14:41:39 but I made sure it was neither before I bought the game, nor in the future 14:42:29 haha 14:42:51 "Amusingly, this dependence on the moon phase can 14:42:51 cause desyncs on occasion; this is likely the only TAS that will have 14:42:51 been desynced by running a script on a full moon by mistake." 14:42:51 :D 14:42:55 i want to make a roguelike now 14:43:02 and devote 20 pages to the RNG 14:43:13 this might theoretically have practical advantages, in that I was vaguely expecting them to ban Pokémon caught with impossible dates in order to exclude the majority of RNG controllers in a way that wasn't clearly impossible to enforce 14:43:25 which will take into account the phase of the moon, the stock market (using the Internet) and its difference from predictions of the stock market, 14:43:37 heh 14:43:38 the day on which Easter falls in that year, ... 14:43:51 this might theoretically have practical advantages, in that I was vaguely expecting them to ban Pokémon caught with impossible dates in order to exclude the majority of RNG controllers in a way that wasn't clearly impossible to enforce 14:43:52 I translated an Easter-finding algorithm from Algol-68 into C once 14:43:56 so that I could actually run it 14:43:59 hmm, you cheated in a way people didn't want you to? :) 14:44:00 how un-ais523 14:44:05 elliott: it was completely legal 14:44:14 well, yes, just against the spirit 14:44:23 someone actually asked the people in charge of the tournament, and said that they didn't like it but couldn't think up a way to ban it, so it was legal 14:44:54 * elliott decides ais523 is Lawful Neutral 14:45:01 in a really insidious way 14:45:15 (OK, Lawful isn't referring to following the letter strictly) 14:45:37 elliott: normally I wouldn't act like that, but it was a world championship qualifier 14:45:40 so I'm going to do the best I can within the rules 14:46:05 "This means that there's a hard 14:46:05 limit of 46 minutes 58 seconds for the run, because at 1am, the game 14:46:05 would become slightly less difficult as undead damage reverted to 14:46:05 normal, so we would no longer be playing at highest difficulty." 14:46:06 :D 14:46:09 you're crazy 14:46:12 elliott: yep. 14:46:18 I agree with that thing you said earlier. 14:46:24 tswett: WELL I DON'T 14:46:55 -!- Vonlebio_ has joined. 14:47:19 a _gnome+? :D 14:47:22 *_gnome_ 14:47:38 Well, then, I don't agree with it either. 14:47:47 wow, that's a good starting inventory, ais523 14:52:20 -!- Sgeo has quit (Ping timeout: 240 seconds). 14:57:52 -!- poiuy_qwert has joined. 15:02:06 -!- poiuy_qwert has quit (Client Quit). 15:04:32 elliott: what? 15:04:40 Vonlebio_: ...what? 15:04:44 Argh, comma pings. 15:04:53 Why are you going on about gnomes? 15:05:05 Why... do you have gnome... on ping. 15:05:11 Vonlebio_: See logs. 15:06:05 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 15:06:06 Waitwhat 15:07:19 elliott: no mention that lets that make sense in today's logs. 15:07:26 The .txt. 15:10:30 Ah, right. 15:19:28 Vonlebio_: -minecraft 15:22:19 -!- Mathnerd314 has joined. 15:23:11 ~47 minute time limit vs. one WIP (apparently almost the latest I found) being 25 seconds long... I'll check what the final turn number is... 15:25:49 -!- ais523 has quit (Ping timeout: 246 seconds). 15:27:57 Ilari: http://www.youtube.com/watch?v=g-1hk-whXJI is rather longer than 20 seconds 15:30:47 elliott: I found a input movie file dated 2011-01-09. According to emulator's computation of length, it is 24997ms long (rounded down)... 15:31:58 I don't know how up to date it is (I'm checking that now). 15:34:55 -!- elliott has quit (Ping timeout: 240 seconds). 15:35:30 -!- copumpkin has joined. 15:37:18 Conclusion: elliott == copumpkin. 15:37:45 ? 15:38:11 [ Quit ] elliott (~elliott@unaffiliated/elliott): Ping timeout: 240 seconds 15:38:11 [ Join ] copumpkin (~pumpkin@unaffiliated/pumpkingod) 15:38:23 omg 15:38:26 you're right 15:45:27 -!- asiekierka has joined. 15:47:03 -!- ais523 has joined. 15:48:33 how does one get an unaffiliated hostname? 15:48:43 quintopia: by asking in #freenode 15:49:05 just go there, identify to nickserv if you haven't already, and ask for an unaffilated cloak 15:49:11 and wait for one of the Freenode staff to notice 15:49:11 they just hand them out? 15:49:13 yep 15:49:13 nifty 15:49:47 so why do they do that instead of traditional hash cloaking? 15:51:05 I'm not sure 15:51:12 perhaps in case someone bruteforces the hash 15:51:23 no matter how secure the hash, that would be pretty easy due to the limited space in IPv4 15:51:36 -!- elliott has joined. 15:51:44 aha 15:51:46 not to mention, dynamic IPs would hash to completely different strings, thus defeating the point 15:52:33 -!- Sgeo has joined. 15:53:07 -!- nddrylliog has joined. 15:53:07 ais523: hmm, autopickup doesn't waste a turn? 15:53:10 that seems like a bug to me 15:53:23 ohai! 15:53:29 it makes the game go better 15:53:30 ais523: wouldn't that actually make you more secure? 15:53:30 hi nddrylliog 15:53:38 quintopia: well, there's a balance 15:53:44 why does it show that part of the name anyway? 15:53:48 it's so you can ban trolls 15:53:51 ais523: well, then pickups should take 0 turns 15:53:58 elliott: I've been wondering about it 15:54:17 here's another fun one: while blind, : takes 1 turn, m, takes 0 turns if you cancel it and gives basically the same information 15:54:18 ais523: trolls aren't asking for unaffiliated cloaks. and they already benefit from dynamic IP allocation :P 15:54:28 elliott, I've done 1 year worth of research in two days 15:54:32 quintopia: well, dynamic IPs tend to stay within the same block 15:54:40 nddrylliog: that's entirely possible 15:54:46 nddrylliog: wat 15:54:50 were they the first 2 days of the year? or the last 2? 15:55:19 nope, I just have extra wikipedia+paper-reading skillz 15:55:26 0.05 from APNIC today. 15:55:56 I have the feeling that the Curry-Howard correspondence has been *way* under-exploited 15:56:36 nddrylliog: it really hasn't :) 15:56:41 Coq and Agda use it to fullest effect 15:56:56 nddrylliog: you'd like j-invariant. if e was still here. 15:56:56 mmm 15:57:01 Ilari: is that, that APNIC allocated 5% of a /8 today? 15:57:05 yeah.. two, maybe three languages. that's not what I call properly exploited 15:57:07 elliott: he still posts on reddit 15:57:31 copumpkin: hm. last time he got banned from here, he left the internet entirely for months. 15:57:32 seriously, there are only a handful of teams that work on it. that's insane 15:57:37 nddrylliog: I've exploited it in haskell too 15:57:40 :P 15:57:43 elliott: he got banned in here? 15:57:47 elliott: why did he get banned? 15:57:48 I thought he just left cause I'm a twat 15:57:52 nddrylliog: but the teams are really big 15:58:06 ais523: j-invariant = soupdragon = fax = MissPiggy = quantumEd = infinite number of nicknames 15:58:08 = faxathisia 15:58:12 copumpkin: e got banned /months/ ago in 2010 15:58:16 don't forget vixey 15:58:17 copumpkin: and then came back recently 15:58:30 elliott: was the huge number of nicks against some rule? if not, you didn't answer my question 15:58:32 j-invariant was the first one I've come across that actually used a new nickserv 15:58:39 ais523: for spamming "FUCK YOU" in-channel 15:58:41 0.05x/8 that is... So 5%... 15:58:44 elliott: ah 15:58:49 copumpkin, what did you do in haskell regarding curry-howard ? 15:58:55 Ilari: it's not going to last more than a couple of months at that rate 15:59:00 ais523: after Vonlebio_ (Phantom_Hoover) said "You fail at Life", where life there means the /Game/ of Life 15:59:20 it was more a straw-camel-back type situation though, e'd been going a bit crazy before that 15:59:31 3.16x/8 left before phase 3... 15:59:33 nddrylliog: I did some trivial "proofs" (you have to trust that I didn't put any bottoms in) of properties of the naturals 16:00:08 copumpkin, I see. Well proofs are fancy and all but I'm more interested in carrying computations from proofs than the other way around 16:00:11 haskell as a theorem prover 16:00:13 xD 16:00:20 nddrylliog: that doesn't really happen 16:00:26 proofs are usually erased at compilation time 16:00:32 I don't think you could get much useful computation out of them 16:00:40 or if you can, it's likely that they're actually more functions than proofs 16:00:44 just, they happen to prove something too 16:01:17 nddrylliog: does that even make sense? 16:01:28 elliott, well my thinking is that if you 1) express properties 2) hint on how to develop algorithms the compiler should be able to do wonders. But I still have to prove that (with, like, a proof-of-concept, not a proof) 16:01:35 well 16:01:42 I sort of agree with nddrylliog 16:01:42 Vonlebio_, I'm not sure, apparently I'll find out in 9 years 16:01:45 Proofs in a Curry-Howard setup tend to just be some function whose final result is a proposition. 16:01:45 nddrylliog: uh huh :) 16:01:51 nddrylliog: well yes I kind of agree 16:01:55 nddrylliog: but 16:02:08 I'll call my language "kindof" 16:02:13 so, does "kindof" works? 16:02:15 the more invariants you can specify in your inductive types (à la GADT) the easier it is to prove properties about your programs, without writing explicit proofs for most of it, because your algorithms are carrying proofs with them 16:02:17 nddrylliog: the way you talk reminds me more of the overly-optimistic side of visionary :P 16:02:23 a bit like conor's sort algorithm in epigram 16:02:34 that provably sorts the list, but has no real proof in it 16:02:51 well the really optimistic way would be to forget about the "hint" part 16:03:16 the whole challenge is how to express hints that aren't too overly-verbose (otherwise you could just as well go imperative and be done with it) nor too hard on the compiler / too implicit 16:03:30 and I'm only using "compiler" because I have no better term right now and that "proof assistant" gives me chills 16:04:12 nddrylliog: why are you interested in this stuff? 16:05:04 Vonlebio_, well, I've already exhausted the whole Java/C++/C#/whatever object-oriented fraud there is universe by re-implementing mine and being unhappy with it as well. So I'm trying something new 16:05:25 Finally, some option values were chosen 16:05:25 in order to make the game look visually better and to remove 16:05:25 timeconsuming animations: 16:05:29 ais523: visuals? setting that option takes time!!! 16:06:00 nddrylliog: you should get interested in ursala! instant guaranteed obscurity 16:06:06 nddrylliog: my brain cannot cope with that statement. 16:06:26 Vonlebio_, would you like me to rewrite it to normal form? 16:06:29 https://github.com/nddrylliog/fe2/blob/master/array-second.fe2 I demand royalties, nddrylliog. 16:06:33 elliott, is there *any* kind of doc? 16:06:33 I demand endless fucking royalties. 16:06:35 nddrylliog: yes. 16:06:44 elliott, I'll give you candy 16:06:44 nddrylliog: there's a whole book-manual 16:06:49 nddrylliog: http://www.basis.netii.net/ursala/manual.pdf 16:06:53 prepare for insanity! 16:07:00 ais523 is our resident Ursala know-it-all* fan* 16:07:03 *know-it-nothing 16:07:04 *not fan 16:07:19 elliott, 2.6Mb? are you trying to make my mobile subscription explode? 16:07:38 nddrylliog: you're in Switzerland, surely you are rich! 16:07:58 YOUR ARGUMENT IS INFALLIBLE 16:08:03 elliott, I'm also in a train. 16:08:07 they seem to be completely ignoring my request >_> 16:08:11 nddrylliog: what's .ooc? 16:08:21 Vonlebio_: http://ooc-lang.org/ 16:08:24 nddrylliog's regret. 16:08:25 Vonlebio_, I'd rather not talk about it 16:08:26 here, can anyone here think of a remotely sane way of automatically testing Linux kernel-mode keyloggers? 16:08:29 quintopia: ? 16:08:30 Vonlebio_, go ask on #ooc-lang 16:08:45 ais523: give it to someone evil, wait to see if security advisories trickle in 16:08:59 nddrylliog: omg i want to troll them 16:09:07 nddrylliog: "so hey, this nddrylliog guy says ooc sucks, is he right?" 16:09:08 err, assume I have a great number of them, most of which will probably lock up the kernel 16:09:10 can i troll them 16:09:14 elliott, haha, try 16:09:16 ais523: give them to LOTS of evil people 16:09:29 nddrylliog: Fe2 looks very cool, but also very academic (i.e. I don't understand a nugget of it) 16:09:30 elliott: i asked in #freenode for an unaffiliated cloak and the +v's are saying stuff like i never asked... 16:09:43 quintopia: you just have to keep asking every three hours 16:09:51 xD 16:09:59 elliott: That movie is the latest. Ends on turn 426. And as said, the length is bit less than 25 seconds. 16:10:02 elliott: how many tries should i expect it to take? 16:10:07 Ilari: cool 16:10:12 quintopia: 2-3 is typical for #freenode 16:10:56 elliott: The one in youtube is slowed down a lot (to avoid dropping frames). 16:11:03 quintopia: it depends on if any staffers are paying attention 16:11:10 -!- elliott has set topic: DISCUSSION OF GOATS | HTTP://GOAT.ORG/ | NO NON-GOAT-RELATED TALK | http://208.78.103.223/esoteric/ | NO. 16:11:15 RED ALERT 16:11:19 -!- locks has joined. 16:11:28 locks: GOATS 16:11:30 * locks hides beneath the bleachers 16:11:37 O GOD IT HAS STARTED 16:11:45 BATTEN DOWN THE HATCHES 16:11:46 I think you'll handle the influx 16:11:48 err, I don't like that topic 16:11:49 MAN THE LIFEBOATS! 16:11:50 wot? discussion of goatse? 16:11:55 ais523: ssssh! 16:11:57 ais523: nddrylliog mentioned us in #ooc-lang! 16:12:00 it's our only hope! 16:12:03 secure secure secure shell! 16:12:09 it's a REALLY secure shell 16:13:06 -!- ais523 has quit (Read error: Connection reset by peer). 16:13:17 not much is happening so far... 16:13:32 told ya 16:13:33 -!- ais523 has joined. 16:13:44 That level of security must obviously involve X.509 and PKI up the wazoo... No matter if those working with X.509 wouldn't trust it for access control to beer fridge... 16:14:05 apparently they're too boring 16:14:24 -!- elliott has set topic: For the discussion of hiybbprqag and mbzrxpgjys | http://208.78.103.223/esoteric/ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 16:14:53 -!- nddrylliog has quit (Quit: Ex-Chat). 16:15:05 nddrylliog's nick would not be out of place in the topic 16:15:22 this place bombs 16:15:30 locks: It totally bombs. 16:15:41 locks: http://esolangs.org/ may be enlightening. 16:15:52 nddrylliog is in here because ooc is so bad it counts as an esolang HAHA 16:16:54 don't diss ndd, poor fellow 16:17:37 locks: we love him, it's just that he gets unhappy if we mention ooc 16:17:38 all that regret 16:17:56 Vonlebio_, well, I've already exhausted the whole Java/C++/C#/whatever object-oriented fraud there is universe by re-implementing mine and being unhappy with it as well. So I'm trying something new <-- maybe I'll put that in the #ooc-lang topic 16:17:59 elliott: now I'm trying to figure out just who you're trolling 16:18:01 i wonder if it's +t 16:18:05 ais523: EVERY OOC USER 16:18:09 all 3 of them 16:19:46 ISTR having a pleasant conversation with nddrylliog once, but I can't remember what it was for the life of me. 16:20:17 Vonlebio_: http://i.imgur.com/KEujW.jpg 16:20:23 What you say to becoming invisible and killing everyone? 16:20:23 -!- azaq23 has joined. 16:20:25 hmm, offtopic #esoteric has really shifted 16:20:26 (Sorry, -minecraft ->) 16:20:31 it seems to be all about trolling nowadays 16:20:37 it does? 16:20:57 "all 3 of them", I laughed 16:21:12 elliott: well, more today specifically, than nowadays 16:22:14 elliott: you are a funny bastard 16:22:20 no i'm not 16:22:21 at least so far 16:22:33 hmm, does that mean i have expectations to keep up? 16:22:38 worrying 16:22:51 normally people just accept that I'm irritating and I go about my day 16:23:00 -!- elliott has changed nick to noone. 16:23:06 -!- noone has changed nick to elliott. 16:23:33 ais523: paste your self-uudecoder again? 16:23:57 which version specifically? 16:23:58 the C code that generates it? 16:24:02 You mean uudecoding it produces itself? 16:24:04 no, the actual machine code 16:24:04 the executable that does the encoding? 16:24:10 The eigenstring for uudecoding? 16:24:14 Vonlebio_: no, it's a printable x86 executable 16:24:17 that uudecodes things 16:24:20 I'm not sure why it's self- 16:24:20 the executable that prints out the C code that does the encoding? 16:24:26 elliott: it doesn't uudecode 16:24:31 ais523: I just want the thing that's x86 machine code. :p 16:24:33 And printable. 16:24:42 We need to find eigenvalues for EVERYTHING. 16:24:44 it's basically a program that generates printable executables that print arbitrary binary 16:25:09 ais523: an executable that prints the C code, then 16:26:42 XP_W^VH%35%DCPYXPH%=5%=CP[]UM#(UX%??t&* * * * ZR 1() !GFF=\ouU0_0<0^3L1L0^292L1^1Q1L2Y1D1\3R3P0A3B2D0<1p3p3o11131p3>2D0<3:0<18253<2:170D021p3D0>0A0D0<183<3:1:1D0432041p24143o031p2D0p331o0A2D0B2A3I1J2I1J2D321124310o13031D0=0p3o0302113A220=2I1J2I1J22112o0D011412112B02112o0D042A0D0432041p2B2B2D0o2B1I1J2n3I1J2p231o0o1p212D0B042=0?0B1B2B042B242A142B1B2B042A1@2B1=342B3@1m0m032p0o1o0p3B0D2<2@090@061@1;0@15050@382@380@0D2A0B0o2132130B2B1@263o251B1A042A1@ 16:26:44 3=342B3@3=3I1J2B0B2B02112o0B2B1B2o2=1323331o043B0B0o2132130B2B1@163o251B1B1A1;193;2=311412112B011412112B0A1@3A0o2B1A0o2B1>2@1>2A132p0p22112o032B0B0o2132130B2B1@263o251A0I1J2D2C143C143D2A0C380C3B3C3=0C3A1B2B02112o0B2B1B2o2A3?0A1B0B2B02112o0B2B1B2o2=0C3p0C3B1B2C3<0C3A0C3@0C3B3B2B02112o0B2B1B2o2C1?0B1>2D1B0B0@163o251=1B0o2132130I1J2B2B13213p03112B0B0o2132130B2B1@163o251A0D2p242D2B1B1C2C2B0@263o251=1B0o2132130B2B13213p03112B0B0o2132130B2B1@ 16:26:46 263o251A0D2o3B342D2B1B1C2C2@2@2B332p0o1o0p3B0I1J2D2608053735272:0C1@3?1C1;0<380616080:0C1=1?1C1=1<38063517191D3B07160C1=350=3o0C2B2D0B2D0B2D0B2D06282D0@1B0B1D0D1;3;2;2=1505013o171@053@0=0@052@390@1D2I1J2D290@052@2>1@290@152@1D2A0B0o2132130B2B1@263o251B1C2C211412112B0A1@1A0o2B1C2C232p0o1o0p3B0D2<0<0<1?1D2A0B0o2132130B2B1@263o251B1C2C2B0C3m2C3B332p3313123B0I1J2B0o2132130B2B1@263o251A0>0@1A0@0B1A0@ 16:26:47 1B1C2C2B0B0B2B02112o0B2B1B2o2=132o0311010B0B0o2132130B2B1@163o251B1C1@2?1?2B1A011412112B0A1@3A0o2B1A0B0B2B02112o0B2B1I1J2B2o2=132o0311010B0B0o2132130B2B1@163o251B1A3?0A3?2?0B1A011412112B0A1@3A0o2B1A032431013p331B0B0o2132130B2B1@163o251B1A032431013p331B0B0o2132130B2B1@263o251I1J2B1B2@0B1B1>2@1>3I1J2m1I1J2@@A5 16:26:56 (there is no whitespace past the end of the first line) 16:27:01 did all four lines arrive? 16:27:11 ais523: yikes, don't you have something shorter? 16:27:16 I mean the one that ended with "AIS" 16:27:18 let me get a hello world 16:27:21 and they all end @@A5 16:27:25 where A5 are my initials 16:27:48 XP_W^VH%35%DCPYXPH%=5%=CP[]UM#(UX%??t&* * * * ZR 1() !GFF=\ouU0_0<0^3L1L0^292L1^1I2L0Y1D1\3R3P0:031101013A0D0o313p21030D1J2@@A 16:27:50 there, that's a hello world 16:28:04 although I think it ends with a UNIX newline 16:28:15 yep, it does 16:28:45 ais523: you forgot the last 5 16:28:50 err, yes, copy/paste fail 16:28:59 ais523: works as a COM, right? 16:29:01 not that it actually matters 16:29:03 and yes, .com 16:29:18 ais523: does the newline matter? 16:29:29 the A5 at the end is to cause the loading to fail noisily rather than silently if there's enough space to load the executable, but not enough stack space to run it 16:29:38 which only happens if your memory below 640K is almost exhausted 16:29:42 haha 16:29:45 ais523: does the newline matter, though? 16:29:48 and probably not, but it feels weird printing a UNIX newline on a DOS system 16:30:32 -!- nddrylliog has joined. 16:30:47 -!- nddrylliog has quit (Read error: Connection reset by peer). 16:30:50 ais523: did you actually assemble that, or? 16:30:58 XP_W^VH%35%DCPYXPH%=5%=CP[]UM#(UX%??t&* * * * ZR 1() !GFF=\ouU0_0<0^3L1L0^292L1^1I3L0Y1D1\3R3P0:031101013A0D0o313p21030D1I1J2@@A5 16:31:00 there, that's better 16:31:04 Vonlebio_: no, I wrote the machine code by hand 16:31:21 it turns out that there aren't any control flow instructions made entirely out of printable characters 16:31:32 so instead, you have to construct them at runtime using instructions that are 16:31:57 ais523: wait, is that second one functioning? 16:32:05 Vonlebio_: ? 16:32:07 it works in DOSBox, IIRC 16:32:15 Wow. 16:32:27 If you're interested in Eigenratios, this blog is pretty interesting http://eigenratios.blogspot.com 16:32:27 it doesn't work on wineconsole, though 16:32:50 -!- nddrylliog has joined. 16:32:56 it also exploits a few features of DOS which were there for backwards compatibility even in DOS 1 16:33:07 and are incredibly obsolete nowadays, but preserved just in case anyone still cares about them 16:33:19 backwards compatibility in DOS 1? O_o 16:33:41 in particular, it misinterprets the CP/M compatibility return address as a character in order to initialise registers 16:33:59 the very first instruction, the X, is actually a pop instruction 16:34:34 impomatic: very unupdated though 16:35:12 and then the P is a push that puts the 0 back onto the stack so I can use it for other things 16:35:22 hmm, I should disassemble that sometime, although the disassembly goes crazy after a while 16:36:26 nddrylliog: There's quite a few oddities in DOS because of its odd history... 16:36:49 pikhq: btw, which DOS are we talking about? There was a few different flavours, IIRC 16:37:23 I used the MS-DOS 3 manual to write suuda, although I wouldn't be be surprised if it worked on other DOS flavours too 16:37:24 MS-DOS and related OSes.\ 16:37:43 (yes, MS-DOS 3 was massively obsolete when I wrote it) 16:38:02 MS-DOS 1 didn't even have directories 16:38:16 ais523: Yeah, but MS-DOS 3 had pretty much all the features that you'd care about. 16:38:47 ais523: And it ought to be compatible with everything that you'd find called "DOS"... 16:42:38 IIRC, \ and / are both valid path seperators on DOS. 16:42:46 As a *UNIX* "compatibility" feature. 16:44:19 -!- Slereah has quit (Ping timeout: 276 seconds). 16:47:19 -!- augur has joined. 16:49:24 -!- Slereah has joined. 16:50:33 ais523: I care... Obsolete stuff needs to be preserved :-) 16:50:54 there probably is a "your mom" joke hiding in there 16:51:00 impomatic: about what? 16:51:06 oh, those features in DOS 16:51:10 well, I care too, because I used them 16:51:25 hmm, I wonder if nowadays, CP/M executables /still/ run correctly in NTVDM? 16:52:14 ais523: meanwhile, in #ooc-lang, somebody is arguing that you can store Chaitin's constant in a number variable, "with enough laziness" 16:52:20 -!- Vonlebio_ has quit (Quit: Page closed). 16:52:27 nddrylliog why don't you like disown these people and go on a pilgrimage ... a pilgrimage of fire 16:52:33 elliott: it's even worse than merely stupid to ask a linguist those questions 16:52:42 augur: it's RACISM 16:52:54 elliott: heh, that's hilarious; it'd work up to a point, and I'm not even sure it's decidable where that point is 16:53:00 wandernauta: I suggest you look up "computable number" on WP. 16:53:00 WordPress? 16:53:05 if we expect humans to have any sort of insight into their language, we expect only native speakers to have such insights 16:53:07 goddamn nddrylliog, don't you have ops in this thing so you can ban everyone :( 16:53:10 oh wait locks is in here 16:53:15 HEY OERJAN WE NEED BANS 16:53:15 ais523: about CP/M compatible file i/o. 16:53:17 :D 16:53:25 so, let's recap 1) I'm not responsible of whatever is on ooc-lang.org 2) I'm not responsible of whoever is on #ooc-lang 3) I'm not responsible. EOL 16:53:37 almost by necessity, since the object of study in linguistics is naturally acquired language 16:53:54 nddrylliog: then who do i blame :( 16:53:55 god? 16:54:28 elliott: ask your mirror 16:54:28 blame yourself, fool 16:54:42 hey I _erase_ stupidity from this world. with knives. 16:54:46 :} 16:54:50 everytime I come back to IRC, I wonder why I left 16:54:55 then eventually I remember 16:54:57 now I remember 16:55:05 nddrylliog: don't worry 16:55:07 we're all nice in here 16:55:12 just stay here, forever 16:55:24 elliott: are you kidding? you're horrible, horrible people. That's why I feel at home here. 16:55:35 `addquote elliott: are you kidding? you're horrible, horrible people. That's why I feel at home here. 16:55:40 dammit 16:55:42 to be fair, some of us are more horrible than others 16:55:47 285) elliott: are you kidding? you're horrible, horrible people. That's why I feel at home here. 16:55:55 we're really nice horrible people 16:56:01 I already have several quotes in there 16:56:04 best way to erase stupidity is to educate 16:56:05 how do you search? 16:56:18 well, up to a certain point. then it's time for knives 16:56:39 educating people is hard. they say stupid things and it hurts. 16:56:43 nddrylliog: `quote foo 16:56:48 searches with spaces don't work because i don't know why 16:56:56 nddrylliog: `pastequotes foo links you to all the results for that 16:57:01 i wrote this system, it's totally expert. 16:57:02 elliott: probably screwed up your shell escaping 16:57:05 `quote elliott 16:57:06 208) elliott: i like scsh's mechanism best: it's most transparent and doesn't really serve a very useful feature. \ 211) elliott: it's hard to debug havoc on your mirror if you accidentally hit r, then a character could be multiple words long, depending on the task. \ 220) elliott: My university has 16:57:13 ais523: i didn't 16:57:15 `url bin/quote 16:57:16 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/quote 16:57:17 `quote nddrylliog 16:57:19 276) are you always careful to have a small enough margin so that it can't contain the proof? nddrylliog: i usually use latex, and make sure my hd is almost full \ 277) I went to chat with him after his talk at the ELC and he was like "hum, right - humans. How do they work again... oh, hi!" \ 278) 16:57:21 ais523: see for yourself 16:57:31 ais523: note that in hackego, $1 contains the whole argument line 16:57:43 `pastequotes nddrylliog 16:57:43 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.21628 16:58:02 he doesn't know what rationals are :( 16:58:28 oh, the "heavy liquor" one is good. 16:58:39 unfortunately 277 lacks context :/ I was talking about Walter Bright 16:58:46 nddrylliog: we just remember context 16:58:51 it's easier than stuffing it all into one irc line :P 16:58:59 I probably should have put [on Walter Bright] before, though 16:59:06 elliott: can you edit? 16:59:11 nddrylliog: well technically yes. 16:59:16 elliott: will you edit? 16:59:16 `run grep humans. quotes 16:59:18 I went to chat with him after his talk at the ELC and he was like "hum, right - humans. How do they work again... oh, hi!" 16:59:26 who's walter bright and why is he so bright 16:59:39 locks: he's to D what I'm to ooc 16:59:40 locks: guilty 16:59:45 nddrylliog: [about Walter Bright] or [on Walter Bright] 16:59:56 elliott: I prefer "on", it can be mis-interpreted 17:00:00 `run sed -i 's/\(.*humans\..*\)/[on Walter Bright] \1/' quotes 17:00:00 on 17:00:03 No output. 17:00:03 `quote 277 17:00:04 277) [on Walter Bright] I went to chat with him after his talk at the ELC and he was like "hum, right - humans. How do they work again... oh, hi!" 17:00:09 you're welcome 17:00:10 EXPERT SED 17:00:12 elliott: thanks a lot 17:00:16 `addquote who's walter bright and why is he so bright locks: he's to D what I'm to ooc locks: guilty 17:00:17 286) who's walter bright and why is he so bright locks: he's to D what I'm to ooc locks: guilty 17:00:20 elliott: also, subtitle "ELC" as "Emerging Languages Conference" 17:00:25 nddrylliog: no, fuck you 17:00:28 :D 17:00:32 elliott: \o/ 17:00:32 | 17:00:32 /`\ 17:00:37 maybe we need a substring-based annotation system 17:00:38 and comments 17:00:42 and folksonomic tags 17:00:49 coded in Ruby 17:00:53 for hipsters 17:00:54 why Ruby? 17:00:58 working only on OS X 17:00:58 for hipsters 17:00:58 I should stopwait wtf @ myndzi 17:01:00 ag 17:01:01 *ah 17:01:09 ais523: because it /was/ hip, but then it wasn't 17:01:09 RUBY IS AWESOME SUKER 17:01:10 myndzi is tabbig wrong :/ 17:01:13 now it's hip again, because it's retro 17:01:14 \o 17:01:15 \o/ 17:01:15 | 17:01:15 >\ 17:01:17 nddrylliog: it's for mirc users 17:01:18 \o 17:01:21 ,o, 17:01:24 \m/ 17:01:26 grr 17:01:26 what \o/ 17:01:26 | 17:01:26 |\ 17:01:28 i forget what triggers it 17:01:31 \o/ 17:01:31 | 17:01:31 >\ 17:01:32 nddrylliog: they fail at spaces 17:01:35 \o/\o/\o/ 17:01:35 | | | 17:01:35 /´\ >\/| 17:01:36 I thiought /o/ triggered it too 17:01:36 | 17:01:36 /| 17:01:36 yeah. 17:01:39 oooh 17:01:43 myndzi sucks 17:01:43 /o/ \o/ \o\ 17:01:43 ¦ ¦ | 17:01:43 ´¸¨ ´¸¨ >\ 17:01:44 let's try this again /o/ 17:01:44 | 17:01:44 /| 17:01:47 augh. 17:01:50 i use a proportional font :D 17:01:50 I'M GONAN /o/ OUT OF HERE 17:01:50 | 17:01:51 |\ 17:01:56 elliott: so do I 17:02:05 IRC has no inherent reason to line up in columns 17:05:24 Just tradition. 17:05:35 -!- Phantom_Hoover has joined. 17:06:20 Phantom_Hoover: you here? 17:06:39 nddrylliog: you here? 17:07:07 elliott: let's talk about hiybbprqag. 17:07:41 yes. 17:07:41 very. 17:07:52 about what? 17:08:05 I prefer mbzrxpgjys myself. 17:08:12 locks: we could talk about mbzrxpgjys if you prefer 17:08:28 both, at the same time 17:08:53 ijoijioj 17:09:22 quintopia, get out of here, you pervert. 17:09:37 qwljqw 17:09:41 pedohiybbprqag. 17:09:45 that sounds dirty 17:10:13 Phantom_Hoover: ssadasdsn!!! 17:10:38 Pedo hi! Why BB... prqag? 17:11:20 you could have done something more interesting with the prqag. poor qag :( 17:11:20 *public relation gag. 17:12:03 * pikhq likes having a "fuck it's cold" day. 17:12:13 Should have had one yesterday, but oh well.. 17:14:14 I don't get it. Are you speaking some kind of esoteric human language? 17:14:52 CLEARLY 17:15:42 motirontà'tehàyo! 17:15:44 -!- addyf3 has joined. 17:15:55 my name is iniguo montoya 17:15:57 you've killed my father 17:15:59 prepare to die 17:16:04 Oooo 17:16:07 addyf3: c 17:16:09 nddrylliog: ouch, you screwed up that quote badly 17:16:12 -!- quintopia has quit (Changing host). 17:16:12 -!- quintopia has joined. 17:16:17 burn the witch 17:16:18 ais523: bahh. my cloudy brain doesn't care 17:16:23 quintopia: TADA 17:16:27 -!- addyf3 has left (?). 17:16:28 * quintopia has quit (Changing host) 17:16:28 * quintopia (~quintopia@unaffiliated/quintopia) has joined #esoteric 17:16:36 okay, it's inigo, not iniguo 17:16:38 My name is Inigo Montoya. You killed my father. Prepare to die. 17:16:38 yay, someone useful appeared! 17:16:41 nddrylliog: you scared addyf3 away quickly! 17:16:43 and it's you, not you'ved. 17:16:44 (i had to ask again) 17:16:53 7yaukdjlflsd/fadsf 17:17:16 nddrylliog: Well, yes. Given that he is exacting revenge *decades* later... 17:17:30 jgs v fgvyy qba'g trg vg :-( 17:17:47 pikhq: well, regardless, I didn't say *you've _just_ killed my father*. 17:17:56 pikhq: ssddfdfwew3 17:18:04 nddrylliog: "You've killed my father" kinda suggests that it just happened. 17:18:13 oh Inigo Montoya isn't the protagonist? maybe i should actually watch the films :D 17:18:23 elliott: s/films/film/ 17:18:23 oh wait 17:18:24 wtf 17:18:24 he is A protagonist 17:18:25 all this time 17:18:27 elliott: Or read the book. 17:18:29 there are several 17:18:32 i thought Inigo Montoya was from Kill Bill ... I swear to god 17:18:35 now i'm really confused 17:18:39 lol i'm not kidding 17:18:41 how did i even 17:18:41 elliott: The Princess Bride. 17:18:44 .......... 17:18:47 Princess Bride FAIL you are terrible person 17:18:48 ok i'm gonna crawl up into a hole now and wonder what happened to my life 17:18:49 elliott: It is one of the best movies ever. 17:18:52 elliott: Watch it now. 17:18:52 i know, i'm just 17:18:54 how did i 17:18:58 -> 17:18:58 -!- elliott has left (?). 17:19:04 good boy 17:19:29 I want a "My name is Inigo Montoya" t-shirt 17:19:45 I want to remember where I put my copy of that book. 17:19:47 The Princess Bride is famous for all sorts of things 17:19:48 i went into #irssi and was like "are there any experts here?" and they're all "ask your real question" and i'm like "here's my real question:" and they're all "" 17:20:04 i'm gonna take that as a no, no experts today 17:20:14 lmao 17:20:30 is everyone in here a bitch? 17:20:38 ask your real question, locks 17:20:44 locks: I doubt there's any female dogs on IRC. 17:21:01 there are on twitter 17:21:04 Phantom_Hoover: nothing if you're not an idiot. i do it all the time. 17:21:11 i thought Inigo Montoya was from Kill Bill ... I swear to god ← CURL UP IN A HOLE AND DIE 17:21:29 pikhq: is your copy the one with red/black text? 17:21:31 -!- elliott has joined. 17:21:34 have you all forgotten yet 17:21:40 impomatic: I don't think so. 17:21:45 oh that kid who didn't know where inigo montoya was from is back 17:21:48 -!- elliott has left (?). 17:22:10 -!- locks has left (?). 17:25:50 -!- elliott has joined. 17:25:55 -!- elliott has left (?). 17:28:54 Hmm... A graph predicting APNIC exhaustion end-May... Then RIPE in end-August and ARIN in end-September... 17:31:57 ARIN's more likely than the others to get /8s handed back to it, I think 17:32:07 when's the press conference happening? 17:32:28 Tomorrow at ? 17:33:26 where ? is a metasyntactic variable, rather than a punctuation mark? 17:34:12 AFAIK, 1430Z or something like that... 17:34:28 ais523: Yes. 17:35:02 hmm, at least there's /no way/ IPv4 will last out until 20123 17:35:04 *2102 17:35:05 *2012 17:35:21 and thus, won't lead to the end of the world 17:35:57 This graph would show depletion of 3 of 5 RIRs before this year is over... 17:36:11 Ilari: That's crazy. 17:37:21 AfriNIC will likely start depleting a lot faster when people who need IPv4s get a colo in Africa just so they can get at them 17:39:36 Also, LACNIC... LACNIC also includes the caribean (which should have better connectivity than Africa...) 17:40:49 -!- elliott has joined. 17:40:57 ais523: please tell me the TAS run will end up killing Ischak 17:41:04 hmm, is that how you spell it? 17:41:15 "Izchak", and we never meet him 17:41:17 *Izchak 17:41:22 ais523: how far along are you? 17:41:23 he's in an optional part of the game, and we have no reason to go there 17:41:26 Hmm... Do requests for