00:08:02 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.90.1 [Firefox 25.0/20131025151332]). 00:10:32 -!- nooodl has quit (Quit: Ik ga weg). 00:10:55 -!- Sprocklem has joined. 00:13:05 -!- Bike has quit (Ping timeout: 246 seconds). 00:20:08 -!- Bike has joined. 01:00:29 shachaf: when you write match x { Foo => 1 }, that can either bind a variable named Foo, or match an enum constructor named Foo if there's one in scope 01:00:40 because there's no lexical distinction between constructors and variables :/ 01:01:23 fortunately unreachable patterns are an error, so match x { Foo => 1, _ => 2 } won't be accepted if you didn't import Foo, but the error message is not very helpful 01:17:32 -!- avid has joined. 01:19:08 -!- Lymia has joined. 01:19:16 -!- Lymia has quit (Changing host). 01:19:16 -!- Lymia has joined. 01:22:10 O, I realized yesterday I also had a dream where I can fly (for the same reason as before, I think). I don't remember anything else except that a computer functioned in an unexpected way (something that happens a lot in my dreams). 01:23:05 that happens to me a lot in real life too. 01:23:27 Computers functioning in the unexpected way? 01:23:59 I had a dream where i extracted the key data from the chip in my driver’s license (there’s no such thing actually) and imported it to gnupg. 01:24:56 yes. it happens to me a lot. 01:26:42 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:27:25 -!- Sgeo has joined. 01:29:44 I think I'm done using Fiddler. 01:29:46 Charles is the one for me. 01:30:02 Fiddler? Charles? What is that? 01:31:54 HTTP proxy/debugger things 01:32:04 Let you view and manipulate HTTP traffic on your computer 01:34:17 kmc: You could also avoid that by requiring people to write Foo(). 01:34:33 But that's probably worse than the capitalization thing. 01:34:55 * shachaf isn't sure whether Haskell made the right choice there, but the syntatic distinction is nice. 01:52:33 ais523: CAPTCHAs and abusefilter settings changed 01:53:14 elliott: thanks 01:53:19 let's see how long this keeps the spambots down for 01:53:45 ais523: btw, if you want them changed faster in the future then you can use a format like 01:53:48 $wgCaptchaQuestions[] = array( 'question' => 'In which year was LOLCODE created?', 'answer' => '2007', 01:53:51 ); 01:53:53 uh, there were more newlines there originally 01:53:55 :p 01:54:04 that sounds pretty easy to bruteforce xD 01:54:34 Fiora: well, the spambots aren't actually being hardcoded for the wiki 01:54:39 they're just getting people to fill out the CAPTCHAs 01:56:17 looking forward to anti-esolang AIs 01:57:03 "write a BF program to print hello world" 01:57:36 eventually the wiki becomes run by only the strongest - only those who can defeat the hill in bfjoust. it's like mad max 01:58:03 "write a bfjoust program better than one of the top 50 to make an edit" 01:58:18 wiki-powered human algorithms or something xD 02:03:36 elliott: right, I didn't know what it looked like internally 02:04:03 also wouldn't the spambots just submit a slightly tweaked copy of omnipotence or whatever? 02:06:07 incidentally, so far my spam filters have blocked 3,440 attempted edits by spambots 02:06:19 and that's just the ones that got past the CAPTCHA 02:06:52 the actual editing doesn't seem to have human intervention 02:07:03 because it'd be trivial to change the content of the edit to avoid the filter 02:07:05 -!- copumpkin has joined. 02:08:13 or in the case of the latest batch of spambots, use the "edit this page" link rather than the "new section" link 02:08:32 (which interestingly, doesn't even exist on user pages by default, the spambots are getting there via URL editing) 02:10:01 oh wow, I opened Chromium halfway through a distro update 02:10:06 and it's missing its graphics for drawing tabs 02:10:07 so they're red 02:18:53 bleh, the distro upgrade tool thing that shows distro upgrade progress has frozen 02:19:00 I think the upgrade is still happening, though 02:19:03 and those things can't be interrupted 02:19:46 * ais523 reads dpkg.log instead 02:23:26 -!- tswett has joined. 02:24:00 So, you know self-solving multi-king chess puzzles. 02:24:23 I haven't seen any, but now I understand once you explained it. 02:24:27 really, aren't we all self-solving multi-king chess puzzle, on some level 02:24:28 I still can't think how you'd make a computer out of one if you were allowed to put walls in. 02:24:52 Bike: whoa. I think you're right. 02:25:00 Bike: What? ??? 02:25:15 When 02:25:20 Like, evolution. It's a multi-king chess puzzle because there are lots of different things that could kill you, and it's self-solving because we evolve defenses to deal with it without any particular effort on our parts. 02:26:23 makes you think. 02:26:24 I still don't think that is a proper analogy. 02:26:39 Tal vez no. 02:27:54 the world is a self-solving multi-king chess puzzle. note how the number of kings has been going down. 02:28:29 when there's only one king left, he wins. 02:28:48 Dang. 02:28:57 In tsumeshogi there is only king on one side though. 02:29:11 So *that's* why Britain's had a queen for so long. 02:29:15 A great conspiracy to keep her alive. 02:29:37 And why there's a new convention saying that the line to the throne will no longer depend on people's sexes. 02:30:10 yep, norway made that change too. sadly we still have a crown prince, but his oldest child is a daughter. 02:30:49 I have learned more about X-UA-Compatible than I ever wanted to know. 02:30:52 and sweden has victoria. 02:31:02 OK, I just killed saucy(8), let's continue this distro update by hand 02:31:15 I am now an empty shell of a web developer. 02:31:28 I think I may have figured out how to use category theory in Icosahedral RPG to make a category of spells. Each spell is a morphism, and the objects have to be correct in order to cast a spell. I haven't completely figured it out but I have figured out more ideas than just this too. 02:31:57 http://ie.microsoft.com/testdrive/ieblog/2010/Jun/16_IEsCompatibilityFeaturesforSiteDevelopers_1.svg 02:31:58 zzo38: do you have some sort of cartesian or closed monoidal structure on the category? 02:32:03 if not, each spell could only take one object 02:32:19 ais523: Well, I did think to make it a tensor category. 02:33:32 That chart is for IE9 specifically 02:35:30 I have figured out composing spells though; you add together their mana costs and casting times, causing to do both spells together simultaneously once the casting time is finished, if they are both castable spells normally. Otherwise, the objects might specify that the spells have to be connected together in a certain way so that their effects depend on each other. 02:35:33 ais523: did you see i was able to split the wiggle clear algorithm into two pairs of contiguous cells rather than four contiguous cells. 02:35:52 quintopia: no, although that makes sense given how it works 02:36:10 actually it just needs cells A B C D where the distance between A and B equals the distance between C and D, right? 02:36:15 finally bfjoust is giving features back to bf 02:36:17 ais523: I am not sure how it owuld be cartesian closed though 02:36:32 oh, it wouldn't be closed 02:36:34 ais523: yeah pretty much. it's on the algorithms page now. 02:36:35 it would be cartesian, though 02:36:38 But, does this way I described seems to work OK? 02:36:40 unless you could send the results of spells back in time 02:38:12 a category being "closed" basically means that the left and right of morphisms are mostly arbitrary, you can curve them around to move something from one side to the other 02:38:28 If there is a result to send back in time, there would need some other spells to make it do that, I think 02:39:05 e.g. Set is closed because a function from A to B is isomorphic to a function from (Unit) to (functions from A to B) 02:39:21 OK 02:39:27 all spells should be metaspells which affect spells as well as objects 02:39:30 that probably doesn't work for spells, though 02:39:35 quintopia: category theory doesn't work like that 02:39:49 ais523: magic does! 02:40:12 btw, for anyone here who doesn't understand category theory and wants to 02:40:14 hm if someone triggers the abuse filter, wouldn't the logical thing be to make them redo the captcha. 02:40:18 I'm planning to write a short tutorial in my PhD thesis 02:40:30 (does it?) 02:40:31 oerjan: no because we think the spambots have a database of CAPTCHA solutions 02:40:41 oh well. 02:40:53 I have an alternative CAPTCHA, "make an edit to some other page that gets past the spam filter" 02:41:21 they don't have such a database any more 02:41:23 and suggest using the sandbox 02:41:27 elliott: indeed 02:41:32 they may recreate it at some point though 02:42:32 Category theory isn't the only kind of mathematics involved in this game. I think multimanas form a free semiring over a set of five elements. 02:42:50 so can i use these spells to light plants on fire 02:43:20 Bike: Maybe some of them might be able to create fire, and those ones can be used for such purpose, if you target the plants with the fire. 02:43:32 I don't know if the partial ordering I have defined on the multimanas has another name already in mathematics. 02:43:45 the partial ordering of burning stuff 02:44:03 zzo38: what's your addition, and what's your multiplication? 02:45:25 ais523: It is a free semiring... I hope I have the correct terminology. (Over the elements named w, u, b, r, g, then you will have (w^2+3)(wb)=w^3b+3wb, I hope?) 02:45:35 Well, actually, a free commutative semiring, I mean. 02:46:04 zzo38: yes, that's how free semirings work 02:46:10 ais523: Now that I said it is actually a free commutative semiring, do you understand how I mean? 02:46:14 yes 02:48:35 The partial ordering I have defined is that X is less than or equal to Y if X is a sum of terms, and if you add zero or more additional terms and/or multiply any of the terms in X by anything (not necessarily the same thing every time), then you get Y. 02:49:28 (Hopefully I haven't made some mistake in writing this.) 02:49:39 Is this correct, and if so, does it have a name? 02:52:35 bleh, something's wrong with the filter 02:52:42 it's matching, but letting the edits through anyway 02:52:52 I would clean up this spam but my trackpad's stopped working properly 02:53:43 A mana is basically a multiset of {w,u,b,r,g}; you can only multiply. With a multimana you can add and multiply. The five manas (w), (u), (b), (r), and (g) are called "prime"; (1) is called "colorless"; all other manas are called "composite". 02:55:41 zzo38: and r^2 is different from r? 02:55:44 ah right, multiset 02:56:49 ais523: Yes, it is different. 02:57:44 -!- Oj742 has joined. 02:58:07 which esolang was it that has stacks on stacks on stacks? 02:58:39 Funge-98 has a stack stack, but that only goes two levels of nested stacks deep 03:02:09 you know what Ubuntu needs? fully transactional distribution upgrades 03:02:16 so that you can interrupt them at any point and the system still works 03:02:53 ais523: cleaned up 03:03:06 thanks 03:03:51 -!- Sprocklem has quit (Ping timeout: 260 seconds). 03:04:21 oh huh, I think the spambots still haven't figured out newlines 03:04:30 I just noticed the

in the summaries of the page content 03:04:50 but the previous filter was getting stuck because there were newlines added by the new section link 03:05:30 sadly, some real editors keep using the dang
s 03:05:40 oerjan: the test's against
but no \n 03:05:46 which is pretty unique to the spambots 03:05:59 if linebreaks are useful, paragraphing's going to be useful too 03:06:29 also pages should be categorised, and thus have a \n before the categories 03:17:32 There are some things Pin Eight has done to avoid spam; this is effective (not 100%, but reasonably effective) for them at least. 03:24:19 Another rule I was thinking of for Icosahedral RPG is the "MBL%" rule (it stands for "magical bad luck"). Every time you cast a spell there is a (spell level + 1)% chance to increment your MBL%, and then your MBL% chance to lose 1 XP. Every day your MBL% is cut in half, and there is the MBL% chance that you will not naturally heal that time. 03:24:45 sounds complicated. what's the plot purpose 03:24:47 In addition, when you succeed at a saving throw there is a MBL% chance that you have to try again (only once, though; it doesn't repeat) 03:25:23 how much is 1XP? I guess it's a lot more than in Dungeons & Dragons? 03:25:34 ais523: Ten times as much. 03:26:57 But all XP gained for playing the game is ad hoc (unlike D&D), and some spells may be able to heal MBL%, and possibly recover the XP loss in a few cases (not all) 03:28:07 (Actually when I play D&D all the XP gain is ad hoc too; the standard tables are not used at all. Icosahedral RPG simply doesn't even have such tables.) 03:29:40 Actually, in this game I say ten times as much, but that is considering the level advancement. Standard level advancements max at level 100 though rather than level 20 (and non-standard maxes as level 125), so it isn't exactly the same. 03:29:56 what is the backstory 03:30:30 The backstory is made up by the players and referee during the game. 03:32:12 There are a whole lot of other differences too, such as how alignments work, pseudolevels, and segments as a unit of time, and more 03:32:50 I have described some of these already in the past. 03:33:22 (Pseudolevels are similar to the D&D concept of level adjustment.) 03:36:19 (Challenge rating is gone too.) 03:39:00 Hopefully this is suffuciently understandable so far? 03:40:51 (I will recommend that you do not mark off the XP lost due to MBL% right away, but rather tally them and at the end of the session, subtract it from the session XP gained.) 03:50:25 Another feature of this game is that all of the ability scores are useful to all characters, although all for different purposes; for example, a high-level wizard may need a lot of strength to carry books if he wants to have a large selection of spells available to him at the time. 03:52:13 -!- ais523 has quit. 03:58:03 -!- ais523 has joined. 03:59:51 Or if he wants to move heavy furniture around. 04:00:13 Yes, anyone would need strength to move heavy furniture, though. 04:01:28 True. 04:10:03 i've always wanted a game where i have to take a few minutes to solve the knapsack problem in order to load up my spells 04:11:56 Bike: Ah. I like the idea but this game isn't quite like that; it could be done by making some spells take up multiple slots, though, or by the category theory way above where you need to compose two spells in order that they would work together to make the effect you want. 04:12:12 jesus 04:13:56 -!- tswett has left. 04:15:51 Bike: Do you know of any such game like you described? 04:16:02 god i hope not 04:16:03 You can try to make up such things, whether card games or computer games or otherwise 04:19:33 -!- lifthras1ir has joined. 04:21:29 !ping 04:21:54 sprong 04:22:49 -!- SirCmpwn_ has joined. 04:23:28 -!- FreeFull has quit (*.net *.split). 04:23:28 -!- lifthrasiir has quit (*.net *.split). 04:23:29 -!- aloril_ has quit (*.net *.split). 04:23:29 -!- SirCmpwn has quit (*.net *.split). 04:24:31 -!- SirCmpwn_ has changed nick to SirCmpwn. 04:26:43 -!- FreeFull has joined. 04:31:39 -!- aloril_ has joined. 04:38:07 a game with tetris shaped spell slots 04:38:45 a game where you solve captchas to cast spells 04:43:11 @tell elliott There is something unsatisfying when your deletions and blocks take up _more_ space in recent changes than the original spam did :( 04:43:12 Consider it noted. 04:43:36 well only nerds would read recent changes 04:43:46 * oerjan swats Bike -----### 04:43:53 ♥ nerds 04:43:56 as previously discussed? 04:44:00 prove me wrong mother fucker 04:44:21 NERDS WANT TIDY WEB PAGES 04:45:45 Then just add an option in the recent changes menu that says "Hide deleted/blocked" 04:47:08 -!- prooftechnique has joined. 04:57:52 oerjan: there are new CAPTCHAs and abusefilter settings now, so should end 05:01:15 also several rangeblocks, which should slow the rate a bit 05:01:26 sadly, there needs to be lots of spam to be able to aim a rangeblock correctly 05:01:57 also, bleh, there's definitely something wrong with abusefilter 05:02:31 it's set to disallow, but the filter seems to not be matching live 05:02:37 even though it does in the retrospective test thing 05:07:34 elliott: well i blocked another one just before doing that @tell 05:08:14 oerjan: right, the existing accounts will still edit for a while 05:08:29 yeah that one should have been trapped 05:09:05 the point is that the abusefilter is matching the new edits 05:09:18 and yet somehow, they're not being stopped 05:14:38 Are the abusefilters misconfigured? 05:14:56 zzo38: I don't think so, although it's possible 05:17:16 -!- tertu has quit (Ping timeout: 264 seconds). 05:17:41 are there any other filters than /4 ? 05:17:52 oerjan: there are /1, /2, and /3 05:17:57 all of which seem to be working correctly 05:18:09 huh? i couldn't get them listed.. 05:18:16 Anyone have a TeX file generated from the TeX source? cweave is choking on it for me and #latex is silent. 05:18:31 -!- Chat9490 has joined. 05:18:42 prooftechnique: Yes, I do have. 05:19:02 Cool beans. Any way you can share it? 05:19:12 Do you mean tex.web? 05:19:16 Yeah 05:19:36 I was trying to generate a TeX file from the one on CTAN, but cweave is giving me errors 05:19:46 Use weave, not cweave. 05:19:46 -!- Chat9490 has left. 05:19:57 Oh, maybe that's all I did wrong :D 05:20:08 http://www.openwall.com/lists/oss-security/2013/07/26/5 "remote command injection vulnerability in xmonad-contrib" 05:20:12 that's exciting (also old news I guess) 05:20:15 -!- Oj742 has quit (Quit: irc2go). 05:20:21 Thanks, zzo38! 05:20:26 That totally worked 05:21:23 ais523: i can only get to the page for /4, although the rest are listed in Special:AbuseFilter 05:21:52 oerjan: hmm, those pages had been crashing before 05:22:05 but when I created /4, I assumed it was fixed 05:22:22 * Sgeo vaguely wonders how or works in Icon 05:22:32 Can't work like < etc. do, right? 05:24:34 -!- conehead has quit (Quit: Computer has gone to sleep.). 05:24:54 how does < work and why not 05:25:28 a < b fails if a isn't less than b, and if a is less than b returns b 05:25:44 So you can do a < b < c and things like that comfortably 05:26:30 But with ||, then you still need to do the right-hand expression if the first fails.. hmm, just requires the operator to be able to succeed despite a failure 05:26:47 zen 05:30:04 dazed and confused but trying to continue 05:47:31 -!- nisstyre has quit (Quit: Leaving). 05:48:10 -!- nisstyre has joined. 05:50:14 The most recent spam is using wiki syntax 05:52:52 -!- glogbackup has quit (Remote host closed the connection). 05:55:36 THEY'RE LEARNING 05:58:56 How often are you flying in a dream, and if so is it ever because you have wings? 06:00:50 -!- Lymia has quit (Ping timeout: 245 seconds). 06:00:54 Some people say they fly without wings. Someone else has said to me that in their dream they use a boat, once they learned that the boat was built in a way that wouldn't work, it sink immediately. 06:01:20 i rarely remember flying dreams and I don't think I ever had wings but it could be 06:01:36 Were you still you, though? 06:01:43 usually 06:01:45 -!- Lymia has joined. 06:01:54 In which cases are you not you? 06:01:55 i don't have a specific memory of being someone else in a dream ever 06:02:06 in my dreams i'm only a blank puppet of the gods, acting out their fantasies for their amusement 06:02:29 i sometimes fly in my dreams, strangely enough by grabbing my legs. 06:03:25 oerjan: I used to be able to fly in dreams via repeatedly jumping 06:03:25 i can never fly very high though, because there's always bloody power lines in the way. 06:03:36 nowadays I tend not to have a physical form at all though 06:03:50 Interesting.............??? 06:04:10 is it interesting, zzo 06:04:21 i often attempt autofellatio in dreams and it usually works 06:04:30 which is odd because I rarely attempt it while awake and it never works 06:04:35 and yet this doesn't trigger lucid dreaming 06:04:48 `addquote nowadays I tend not to have a physical form at all though Interesting.............??? 06:04:53 1128) nowadays I tend not to have a physical form at all though Interesting.............??? 06:05:13 I was someone else I think three times, in all cases being a different species rather than human. Those are only reason I can fly is if I am of some species that has the ability to fly. In a few cases, I am nobody at all, just an observer, having no form or anything. 06:05:18 OK, those lines are only funny out of context 06:05:24 but they are pretty funny out of context 06:05:24 which species zzo38? 06:05:31 what's the mean and standard deviation of the number of cocks you have in dreams 06:05:33 ais523: I think zzo38's reaction is funny regardless 06:05:51 However I find that sometimes even when I am myself, I can levitate half an inch above the ground for some reason, without doing anything unusual. 06:06:15 Bike: I think it's always one so maybe the sd is undefined 06:06:25 wouldn't that make it zero? 06:06:35 would it? 06:06:48 i guess so 06:06:57 since you're not deviating from the norm 06:07:02 how limited of you 06:07:10 variance is expected square of deviation, yeah 06:07:12 conformist. 06:07:19 :< 06:07:25 kmc: Well, once I was illithid like my Dungeons&Dragons character. In the two cases I could fly it is because I was mi-go (I played in a computer game once). In both cases, I had additional memories as myself, which happened to be false memories, and uncombinable with the memories of the form I had in the dream. 06:07:38 what the heck, you're playing as an illithid? 06:07:45 kmc: Ah. So that is how standard deviation works? 06:07:48 http://en.wikipedia.org/wiki/Unbiased_estimation_of_standard_deviation is kind of neat 06:08:02 oh yeah 06:08:11 (I don't actually know a lot about it, but I have found the formula once and put it into the computer) 06:08:15 the sample s.d. is a biased estimator 06:08:17 wake up sheeple 06:08:41 \rainbow{KURTOSIS} 06:08:43 standard deviation is basically the sqrt of the variance, yeah 06:08:53 isn't it exactly that? 06:08:53 kurtosis is such an awesome word, i ahve no idea what the fuck it means too 06:09:03 Bike: Yes, I know that is what standard deviation is. 06:09:08 "Distributions with negative or positive excess kurtosis are called platykurtic distributions or leptokurtic distributions respectively." 06:09:12 now those are some awesome words 06:09:13 (For your other question: See my D&D recording) 06:09:50 I always try to record my and other people dream sequence things, so I will do that too now. 06:09:51 kmc: well there's the n-1 correction and other shit i don't remember so i dun wanna commit 06:09:54 -!- nisstyre has quit (Quit: Leaving). 06:10:03 also wow the unbiased sd estimator for the normal distribution is awesomely complicated. 06:10:15 http://upload.wikimedia.org/math/b/3/a/b3a3e6627a48873e4a582fc64a249cd2.png get it on 06:10:43 haha 06:10:52 now i wanna know what the n^-4 term is!! 06:11:14 That is a sd estimator? What is the Gamma and O doing? 06:11:27 "c4(n) is the scale mean of the chi distribution with n − 1 degrees of freedom" 06:11:48 i should learn more terrifying statistics facts 06:11:51 zzo38: http://en.wikipedia.org/wiki/Unbiased_estimation_of_standard_deviation#Results_for_the_normal_distribution i guess it's part of the mean of a chi distribution 06:11:56 use them to scare small children in my neighborhood 06:12:13 mmm chai distribution 06:12:23 http://upload.wikimedia.org/math/1/7/f/17f3c3655c300615607d0712fd73c09b.png oh, yes. (this is the mean of a chi with k dof) 06:12:40 i feel kind of bad since i have a favorite distribution. 06:12:59 When I open F:\HTML\backup in Windows Explorer, it crashes, for some reason. (Opening it in the command prompt, or in any other program, works fine though; subdirectories also work fine.) 06:14:42 well, actually, i guess it's a tie, between cauchy (because practically all the moments are undefined) and solomonoff's (because it's uncomputable) 06:14:56 O, the Gamma is factorial of (n-1). I still don't know what the "O" does? 06:15:44 It's saying that the series continues in terms of n^-4, n^-5, etc., and these all keep decreasing and don't affect the result much. 06:15:53 wtf is Solomonoff's distribution, is that the universal prior? 06:16:02 am i missing something because i'm pretty sure zzo knows what big o means 06:16:03 kmc: yeah 06:16:10 "The only assumption that the theory makes is that the environment follows some unknown but computable probability distribution. It is a mathematical formalization of Occam's razor." how can you not love this 06:16:16 it only makes that one tiny assumption 06:16:20 http://www.scholarpedia.org/article/File:RaySolomonoff2001.jpg 06:16:23 Bike: I don't know what the big O means in this context though. 06:16:36 (I do know what it means in general) 06:16:43 zzo38: it means the same as usual. the value is less than a cconstant times n^-4 06:17:04 have you never seen it used like this before? it comes up all the time... 06:17:17 Bike: maybe if you don't love uncomputable things? but imo that's like not loving kittens or sunshine 06:17:34 damn straight 06:17:54 hardcore bayesians are so awesomely out of it i love them. it's just the facts 06:18:34 hardcore bayesians in $YOUR_CITY want to update your prior TONIGHT 06:19:23 distribute their prior uniformly over your body 06:21:09 =D 06:22:42 shachaf: I think the lexical distinction at the value level would be good for Rust. people already mostly follow the style 06:24:28 you might want to make an exception for constants (static FOO: int = 3) 06:25:54 actually we already have -W non-camel-case-types which warns about variants too 06:27:20 rust has nice control over warnings; there are attributes for lexically scoped allow / warn / error plus another that's "error and forbid overrides of that within this scope" 06:27:49 I had one dream where the first computer game ever invented was an implementation of a card game called "One Draw", played on hardcopy terminals. 06:28:52 shachaf: I think Haskell's lexical distinction wouldn't fly for types; stuff like int is lowercase while structs are mostly camelcase, also using uppercase for tyvars is firmly established 06:30:48 I tend to use capitalized names for structs in C, but lowercase for other types such as "byte" and "boolean". In BASIC, I usually give a structure name capitalized and then if a single variable uses it, it has the same name (including capitalization) (I do this often in BASIC in order to serialize data structures more easily) 06:32:01 -!- doesthiswork has joined. 06:32:31 I have found my new bible. 06:32:49 doesthiswork: Which one is that? 06:32:55 The Guru Granth Sahib? 06:33:24 out of the crisis by Edwards Deming 06:33:47 -!- nisstyre has joined. 06:34:21 I can finally get rid of my copy of a new kind of science because Deming is a more exciting guru 06:34:33 you hurt me. 06:34:38 In another dream, I lived in an apartment; this apartment building was really strange, including elevators in strange places. In addition, the furniture store was also a video game arcade (without any separations between them); some of the games involved escalators to go around the building (both of them). 06:35:08 What's a strange place for an elevator? 06:35:08 "The Deming System of Profound Knowledge" god 06:35:10 fuc 06:35:19 fuck this earth 06:35:43 prooftechnique: At this time, I do not know. (Either I forgot or there was no data.) 06:36:32 Bike: The sequel is "The Deming Pyramid: Enlighten Your Friends for Fun and Profit" 06:36:43 shut up\ 06:37:37 I haven't gotten to the profound knowledge yet 06:38:31 I'm enjoying reading about how corporate slogans are stupid 06:39:34 and performance reviews are stupid 06:42:26 Work is also stupid and people with jobs are no better than sheep, MOM 06:42:55 bike: what's wrong? 06:43:34 "Why are you driving the subway train the wrong way?" ... "I am a druid and I am driving this way because I like to." ... What??? 06:44:33 prooftechnique: Isn't there some philosophy about the nobility of labor and all that? 06:44:56 Of course, but philosophy is also stupid 06:46:37 Someone told me they had a dream that ended in credits. 06:47:08 who was listed? 06:47:16 I don't know; they didn't say. 06:53:53 Philosophy is not necessarily so stupid to me. 06:54:10 -!- copumpkin has quit (Ping timeout: 245 seconds). 06:54:11 And work isn't stupid either. 06:58:24 I once had a dream that changed every time I blink. 06:59:04 zzo38: have you ever taken psychedelic drugs 06:59:47 kmc: No, I don't think so. 07:00:27 Okay 07:00:29 would you like to 07:00:38 No, I don't think so that either. 07:11:45 > (0$0`seq`) 07:11:46 The operator `GHC.Prim.seq' [infixr 0] of a section 07:11:46 must have lower pr... 07:13:12 I once had a dream where I was trying to throw away a key, but the people outside kept catching it. 07:14:22 * kmc . o ( `addquote zzo38: have you ever taken psychedelic drugs I once had a dream where I was trying to throw away a key, but the people outside kept catching it. ) 07:14:27 kmc: Someone made up a computer game called "Tetanus on Drugs", so you can play Tetris and you do not need any psychedelic drugs! 07:14:55 kmc: It is a miss of a lot of things; add [...] in the middle perhaps 07:16:03 yeah i'm not going to add it really 07:16:13 -!- Slereahphone has joined. 07:16:23 Yes I don't expect you to. 07:16:42 hooray for realistic expectations 07:16:44 I just mean that even if things like that are added for whatever reason it should add [...] on it 07:16:48 i agree 07:20:23 <^v> i dissagree 07:21:39 Why is everything identity? 07:22:06 From a certain convention's point of view, Prolog's =/2 could be called identity 07:22:14 The answer is id 07:22:27 In Kernel, (unwrap id) == quote, I think 07:22:27 I don't know what Prolog's =/2 is (or much else about Prolog) 07:23:21 woah 07:25:33 it's an infix predicate defined by the clause X = X, so it simply tries to unify its arguments when called. i think. 07:25:43 I only need three registers at max for binary expressions, right? 07:25:45 kmc: Sounds reasonable. 07:25:57 (assuming I have no constraints on which operations can be performed on which registers) 07:26:51 -!- ^v has quit (Ping timeout: 245 seconds). 07:28:27 what kind of expressions? 07:29:34 a + b, a * b, a << b and such 07:30:04 even though WP says that for every register machine there's an equivalent register machine with only two registers 07:30:54 althouh I couldn't get how I can implement it with only two registers 07:30:57 mroman: that assumes unbounded registers. also, exponential slowdown. or was it doubly exponential. 07:32:40 I once had a dream where the presence of the electric pokemon Voltorb caused the radio to explode every time it was turned on. I realized it could be prevented by turning on the TV set at the same time, which worked because the TV used more power than the radio. 07:33:14 how much more? 07:33:24 Doubly exponential sounds awful 07:33:25 mroman: basically you go via a single register multiplication/division machine. see also http://esolangs.org/wiki/Minsky_machine 07:33:51 prooftechnique: i'm not quite sure if it is that. 07:34:06 kmc: I don't know, but it was CRT, so probably a lot more. 07:34:15 I mean just in general, but yes, in that particular case I'm sure it would also be unpleasant 07:34:24 Ok. Then I stick to using three registers 07:34:27 perhaps i'm thinking of getting from there to a turing machine. 07:34:34 I had a dream about a bucket collecting contest 07:34:51 except on x86 because there are some nasty register constraints there 07:34:51 mroman: technically three registers don't necessarily help enough. 07:34:59 -!- Slereahphone has quit (Ping timeout: 260 seconds). 07:35:22 oerjan: My allocation tree skizzes tell me that three registers are enough 07:35:37 at max three registers are used at the same time 07:35:53 mroman: um are you assuming you have RAM in addition to this. 07:36:13 Yes 07:36:24 in which case 2 is obviously enough, it's a different problem. 07:36:54 you just put the result in one of the input registers. 07:37:33 yeah 07:37:36 x86 is probably turing complete with no registers 07:37:36 I can load two values 07:37:39 add them together 07:38:04 use the other register as a memory pointer 07:38:09 write the result there 07:38:21 that's esentially doable 07:38:33 but three registers are probably more practical 07:39:21 because if I can keep results in registers it's probably faster than writing/reading from memory all the time 07:39:37 but ok. 07:39:41 That answers my question. 07:39:44 How is x86 Turing complete with no registers? 07:40:19 olsner: What else about such dream which is about a bucket collecting contest? How does such contest work in a dream? 07:40:34 you can increment/decrement in memory 07:41:04 -!- Slereahphone has joined. 07:41:06 and you can compare with memory and immediate 07:41:18 i.e CMP m32, imm32 07:41:23 which means you can check for 0 07:41:39 and you can JMP imm32 07:42:00 which means you can translate brainfuck to x86 without using any registers 07:42:05 probably 07:42:08 I think the important question is "How are the contents of the bucket factored into the scoring of the game?" 07:42:15 zzo38: basically, collect buckets inside a specific apartment in a house, stack them and see which team gets the longest/tallest stack 07:42:44 olsner: Ah, OK. Any other details of such a dream, or just that? 07:43:10 -!- oerjan has quit (Quit: leaving). 07:43:13 not sure, I think we were tearing out stuff for a building to be demolished before then 07:43:17 I'm not yet certain how to address cells on the tape though 07:43:17 Ah, so a bucket full of sand is potentially much more valuable than an empty bucket 07:43:36 I do not think x86 or any CPU is really Turing complete by itself (whether or not you have any registers), but you probably can a CPU connected to an unbounded tape in the I/O ports 07:43:38 prooftechnique: it's also cheating, that must be emptied before scoring 07:43:51 zzo38: right 07:44:15 Hmm. Tall, shallow buckets, then 07:46:23 -!- Slereahphone has quit (Quit: Colloquy for iPhone - http://colloquy.mobi). 07:48:12 prooftechnique: unfortunately no-one puts buckets like that in their derelict buildings, but if there are such buckets they would indeed be good to find and collect 07:50:08 it's harder if you forbid using the flags register as well 07:52:23 but might be doable using tricks like those in the "mov is Turing-complete" paper 07:53:51 -!- zzo38 has quit (Remote host closed the connection). 07:54:28 "mov is Turing-complete" 07:54:50 I,I "I used to have a little tube of jmp here to sharpen it up a bit -- then this'll be Turing-complete." 07:55:40 "As long as someone else implements the compiler" 07:55:44 :) 07:56:16 shachaf: mov-only machines work, they have the instruction pointer as something you can move to 07:56:18 *mov to 07:56:29 i thought maybe not, because maybe mov doesn't support the right indirect modes if you can't use registers 07:56:54 but you can do a memory-indirect jump! 07:57:01 0000000000000000 ff2425efbead0b jmp qword [0xbadbeef] 07:57:12 oh, this is x86 mov? 07:58:00 the paper? 07:58:00 Yes, that paper was about x86. 07:58:02 yes. 07:58:11 i am thinking about whether x86 is turing complete with no registers, including no flags register 07:58:25 (still allowing the instruction pointer though!) 07:58:27 and no instruction pointer register? 07:58:29 aw 07:58:32 :3 07:58:36 kmc: so. cmp is not allowed? 07:59:08 that sounds really hard. like. the only non-flaggy conditional jump I can think of is the jecz thing or something? 07:59:49 something like jmp [mem] is conditional on the contents of memory 08:00:01 that makes sense 08:00:01 Malbolge-style loops 08:00:04 ret too 08:00:15 so I guess you could add/xor/etc constants to memory to change its address 08:00:18 olsner: ret counts as using the stack pointer 08:00:23 mroman: I would allow cmp without register operands but I wouldn't allow anything which depends on the condition flags 08:00:55 so I guess if your turing machine has N states you could like um 08:01:15 have [foo] be the address of the next state 08:01:24 kmc: ah 08:01:25 ok 08:01:26 and like, mov [foo], state2 would set the next state to 2? 08:01:32 because DEC for example affects flags as well 08:01:45 it's gonna be difficult finding instructions that don't affect any flags 08:01:56 right, I'm ok with that as long as it's not observable :) 08:02:06 No fair :( 08:02:26 but ok 08:02:33 no instructions depending on flags 08:02:35 "Hey I want to make a registerless x86 program but the TSC keeps changing what do I do?" 08:02:49 well 08:02:50 hehe 08:02:57 jecxz/jmp 08:03:04 TSC? 08:03:26 timestamp counter 08:03:29 -!- drlemon has quit (Remote host closed the connection). 08:03:38 you can't even forbid instructions that depend on EFLAGS because of, like, trap flag and alignment check flag 08:03:41 I think it's OK for the registers to change 08:03:44 so long as you don't read/write them 08:03:51 I didn't know about any TSC register 08:04:05 See "rdtsc". 08:04:05 every instruction is implicitly a read of the trap flag woah 08:04:37 ah 08:04:39 ok 08:04:46 TSC is not *really* good ol' x86 08:04:57 it's some new age thing 08:05:39 Arguably, every access to memory involves "reading" a segment register. 08:05:41 how much architectural state does x86 actually have? the answer is "a lot" and it's all listed in one place in the Intel manuals 08:06:00 specifically, the documentation for the virtual machine state struct thingy used by VMX 08:07:06 Since, y'see, "mov [foo], 42" is actually "mov ds:[foo], 42" and that's a register right there. 08:07:09 some of it's not directly accessible but observable state nonetheless 08:07:38 for example the segment descriptors, which are loaded from memory when you load a segment selector register 08:08:43 i wonder if the TLB is in there... because there are some fantastic VM tricks which involve deliberately making stale TLB entries 08:09:09 do they not work in virtualization? 08:09:22 * kmc should probably not have used the acronym "VM" there but meant virtual memory 08:10:18 * Fiora is being dumb and is trying to implement that registerless turing machine thing but can't figure out how to do the tape 08:10:29 the state seems doable but storing the current tape position sounds hard 08:12:28 I think there's just one TLB. (That's why there's the whole VPID stuff, so that everything VMX-related doesn't invalidate the whole TLB.) 08:13:44 ah 08:13:45 "The original architecture for VMX operation required VMX transitions to flush the TLBs and paging-structure caches. This ensured that translations cached for the old linear-address space would not be used after the transition. Virtual-processor identifiers (VPIDs) introduce to VMX operation a facility by which a logical processor may cache information for multiple linear-address spaces. --" 08:14:02 then I think those tricks should still work 08:15:51 is measuring the effective size of the TLB a good way to detect whether you're running in hardware virtualization? 08:16:18 are there easier ways that can't be thwarted by the hypervisor? 08:16:51 I was under the impression that there were ways, in general. No idea about their fakability. 08:17:06 -!- prooftechnique has quit. 08:18:39 theoretically, any way can be thwarted by a sufficiently AI-complete hypervisor 08:19:01 or, like, qemu 08:19:02 the TLB thing would involve timing measurements and so could be thwarted by virtualizing time 08:19:20 "The classic trick to detect a VM is to populate the ITLB, run an instruction that must be virtualized (which necessarily clears out such processor state when it gives control to the hypervisor), then run some more code to detect if the ITLB is still populated." 08:19:43 but yeah, if you care about hardware virtualization then you are not willing to virtualize time to an arbitrary degree 08:20:43 fizzie: cool my idea works hooray &c 08:22:46 shouldn't it be impossible to detect low-level emulation of a system? 08:22:55 I wonder if you could do virtualization by just giving the virtualized system one of your cpus, and use the iommu or something similar to sandbox it 08:24:03 mroman: The question was limited to the context of hardware-assisted virtualization. 08:24:51 (but the iommu would still be detectable of course, and probably even easier to detect there since the tsc would be reliable) 08:24:52 (We're all just snippets of code running in someone's universe simulator, anyway.) 08:25:08 does the iommu let you isolate a single processor from parts of memory and also prevent that processor from reprogramming the iommu? 08:25:21 maybe but I don't think so 08:27:16 are bizarrely restricted subsets of x86 the new turing tarpits? imo yes 08:27:48 yeah 08:27:50 like "only the MMU" https://github.com/jbangert/trapcc 08:28:00 those computer scientist must've really run out of better stuff to do 08:28:50 I'm not sure how/if the iommu affects cpu memory access, but if it does work I imagine you would simply hide the iommu from that cpu 08:29:43 how does that mmu turing thing work anyway? 08:30:08 there are some talks and papers and stuff 08:30:22 https://www.youtube.com/watch?v=NGXvJ1GKBKM is the one i watched 08:30:32 you'd also need to somehow set it up so the iommu faults go somewhere else and not to the sandboxed cpu, and make sure that the sandbox cpu can't override it (which I think is not currently possible) 08:30:44 but it also covers other cool stuff like the stale TLB tricks i mentioned earlier 08:35:15 -!- doesthiswork has quit (Quit: Leaving.). 08:59:32 -!- ais523 has quit. 09:10:31 * kmc -> sleep 09:19:36 -!- FreeFull has quit. 09:20:05 -!- shikhin_ has joined. 09:25:30 Oh for... *another* HTK filename length issue. 09:26:14 The result-analysis tool segfaults if paths in the label file are over 256 characters. 09:27:10 -!- Taneb has joined. 09:36:54 -!- FireFly has quit (Excess Flood). 09:37:18 char name[256]; /* file name for error messages */ 09:38:31 -!- FireFly has joined. 09:49:40 -!- shikhin_ has changed nick to shikhin. 09:52:56 -!- shikhin_ has joined. 09:55:11 -!- shikhin has quit (Ping timeout: 272 seconds). 09:59:48 -!- nisstyre has quit (Quit: Leaving). 10:11:52 -!- Ngevd has joined. 10:12:14 I'm trying voice recognition again 10:12:14 -!- realz has quit (Ping timeout: 264 seconds). 10:12:39 -!- shikhin_ has quit (Ping timeout: 240 seconds). 10:12:43 Hello 10:12:51 This is going pretty well 10:13:03 Much better than last time I tried 10:13:13 I don't even need to type 10:13:31 All I need to do is speak and occasionally press send 10:13:41 It's quite improving my diction 10:13:47 because I'm forced to speak quite clearly 10:14:04 I'm not sure what's with the spaces at the beginning of some lines 10:14:11 maybe that's for a partial sentence 10:15:30 This is actually working really well 10:15:43 real fast norris hair salon 3 she deserves to download 10:15:53 almost 10:16:19 Real fast nora's hair salon 3 shear disaster download 10:16:24 that was much better 10:19:14 (note: Taneb has a keyboard, Ngevd has a microphone) 10:19:22 Another bad PHP example: https://eval.in/60631 10:20:21 Try entering that URL via voice recognition 10:20:38 Okay 10:21:00 https: slash slash eval dart in slash 6 06 31 10:22:29 Is voice recognition have something to dance judges 10:22:46 Phone now it started 10:22:51 airedale 10:24:09 -!- realz has joined. 10:24:22 -!- realz has quit (Changing host). 10:24:22 -!- realz has joined. 10:29:17 Dart in. 10:30:21 I see you got the ':' in, but that was the only punctuation. 10:32:04 -!- KingOfKarlsruhe has joined. 10:33:08 (I sort of didn't catch those last three lines.) 10:34:39 -!- shikhin has joined. 10:40:14 -!- Ngevd has quit (Remote host closed the connection). 10:40:21 -!- Ngevd has joined. 10:41:46 "This voice recognition has" then I forgot 10:41:51 "Oh no, it's started" 10:41:59 And I can't remember what airedale was 10:44:28 -!- MindlessDrone has joined. 10:51:13 Well, it was nice while it worked. 10:57:24 Today's ##c extract: http://sprunge.us/bPch 10:57:56 :( 10:58:34 Can't argue with mathematical proof. 11:11:33 There are so many superior languages, but not many posterior ones. 11:29:24 so 11:29:28 PHP has a type system? 11:29:30 Since when? 11:29:37 I only knew PHP 4 once 11:29:54 but they're probably at PHP 6 or something 11:31:55 I wonder how he measures language sanity 11:32:34 mroman: PHP as a language is great, static typing, + sum types you can create types yourself, functional, latest version has algebraic data types amongst others 11:32:37 I think they're perhaps talking about some whole other PHP altogether -- or just generally trolling -- because I could not really verify any of this from the webs. 11:33:15 (Last I heard, PHP didn't really have much to do with the words "static typing".) 11:34:58 Also they seem to be in 5.x still. 11:37:03 ok 11:37:08 -!- Ngevd has quit (Remote host closed the connection). 11:37:14 -!- Ngevd has joined. 11:37:34 I hope PHP 6 will clean up the whole mess of functions 11:46:52 That, or mod_python becomes the new standard for webhosters 11:51:45 fizzie: Are you the boobie lover btw? 11:52:24 Why do people use stupid nicknames. 11:53:04 No, I was just a bystander. 11:54:16 is there something simpler to prove turing completeness rather than a bf interpreter? 11:54:33 BCT is quite common in some circles. 11:54:47 thought of that 11:54:56 it may be suitable 11:55:10 Or something SKIttish. 11:55:12 underload? 11:56:01 i do think anything stack based is too hard 11:56:10 BCT may be the perfect choice 11:56:39 but i may get better with a compiler from BCT 11:57:39 Going at it "directly" with a plain UTM can also be reasonable. 11:57:41 Fractran maybe? 12:00:30 -!- yorick has joined. 12:05:57 -!- Ngevd has quit (Remote host closed the connection). 12:06:03 -!- Ngevd has joined. 12:06:58 okay, maybe it's just impossible 12:08:28 what are you trying to translate to what? 12:08:35 What language are you trying to prove TC? 12:08:53 http://esolangs.org/wiki/Wolfgang 12:14:47 wikipedia states, that petri nets with inhibitor arcs are turing complete 12:14:59 i don't see why, though 12:15:02 Well 12:15:09 [citation needed] then :P? 12:15:28 there is one 12:15:54 "A universal Petri net with 14 places, 42 transitions, and 218 arcs was built" 12:15:56 oh dear 12:16:24 there should be a shorter way due to determinism of wolfgang 12:17:27 This might sound like a dumb question.. but: Aren't TC languages per 'definition' not deterministic? 12:17:46 why? 12:18:09 i find brainfuck pretty deterministic 12:18:13 halting problem 12:18:21 -!- Ngevd has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )). 12:18:55 what does halting problem have to do with determinism? 12:19:05 I have no idea. 12:19:13 :D 12:19:18 But at least you can't say if it terminates or not 12:19:27 and that sounds like it's not really deterministic at all 12:19:37 because you can't "foresee" what will happen 12:19:59 well, if it does not terminate with a given input, it should never terminate with that same input 12:20:05 that somehow violates my brain's definition of determinism 12:20:47 well, short way: if input is equal, output should be equal 12:20:50 i.e. if you treat the program as a state machine 12:20:53 and the input as an event 12:21:10 where terminated is a state 12:21:15 and still running is a state 12:21:57 no.. wait... 12:22:18 yeah... scratch that 12:24:29 I'm thinking of predeterminism probably 12:27:18 Predeterminism is the idea that all events are determined in advance 12:27:21 ^- that one. 12:35:45 Every program either terminates or does not terminate, and this is true in advance. 12:39:13 -!- Bike_ has joined. 12:40:25 -!- Bike has quit (Ping timeout: 265 seconds). 12:46:05 -!- Sgeo has quit (Read error: Connection reset by peer). 12:55:13 -!- shikhin_ has joined. 12:56:52 -!- shikhin has quit (Ping timeout: 264 seconds). 12:58:27 -!- shikhin__ has joined. 13:00:16 -!- shikhin_ has quit (Ping timeout: 260 seconds). 13:01:07 -!- Taneb has quit (Quit: late breakfast). 13:02:45 -!- boily has joined. 13:03:03 -!- metasepia has joined. 13:11:16 -!- copumpkin has joined. 13:36:28 -!- shikhin__ has quit (Ping timeout: 264 seconds). 13:36:32 -!- tertu has joined. 13:38:33 -!- shikhin__ has joined. 13:43:21 -!- shikhin_ has joined. 13:44:51 -!- shikhin__ has quit (Ping timeout: 246 seconds). 14:01:46 The internet archive / wayback machine is down. 14:02:36 Apparently they're on fire. They tweeted about a building being on fire (there's also a donate link in the same tweet!) 14:03:20 Odd how they mention the safety of the data before the safety of the people. 14:06:03 -!- Phantom_Hoover has joined. 14:14:57 -!- tertu has quit (Ping timeout: 246 seconds). 14:18:03 -!- tertu has joined. 14:18:21 -!- FreeFull has joined. 14:19:27 -!- ter2 has joined. 14:22:39 -!- tertu has quit (Ping timeout: 246 seconds). 14:23:46 they should store data on people. people tend to catch fire less often than buildings, so the data would be safer. 14:25:41 -!- shikhin_ has quit (Ping timeout: 246 seconds). 14:40:05 -!- shikhin_ has joined. 14:51:07 -!- ter2 has quit (Ping timeout: 240 seconds). 14:54:57 "The class "false" is undefined. Perhaps Java is not running." 14:55:02 Oh, MATLAB, you and your errors. 14:58:21 -!- ter2 has joined. 15:02:29 MDCS on the cluster seems to have broken down *again*. 15:02:35 Bah, I think I'll worry about it tomorrow. 15:02:57 (It's all "Reason: sbatch: error: Batch job submission failed: Invalid account or account/partition combination specified" about it.) 15:12:40 -!- asie has joined. 15:15:11 -!- conehead has joined. 15:27:22 -!- shikhin_ has changed nick to shikhin. 15:28:05 -!- Bike_ has changed nick to Bike. 15:29:35 -!- mrhmouse has joined. 15:49:35 -!- ter2 has quit (Ping timeout: 245 seconds). 15:54:00 -!- shikhin has quit (Ping timeout: 246 seconds). 16:01:07 -!- asie has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz...). 16:02:29 -!- asie has joined. 16:04:10 -!- shikhin has joined. 16:10:39 -!- shikhin has quit (Ping timeout: 272 seconds). 16:22:19 -!- shikhin has joined. 16:25:38 -!- ter2 has joined. 16:30:50 -!- ter2 has quit (Quit: Leaving). 16:33:41 -!- Taneb has joined. 16:36:35 -!- S1 has joined. 16:50:11 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 16:52:07 -!- carado has joined. 17:05:57 -!- Phantom_Hoover has joined. 17:06:54 -!- Sprocklem has joined. 17:08:26 -!- Koen_ has joined. 17:11:57 -!- Tawo has joined. 17:12:38 -!- Tawo has left. 17:22:05 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 17:24:35 -!- Sprocklem has quit (Ping timeout: 245 seconds). 17:33:40 -!- ^v has joined. 17:33:52 -!- oerjan has joined. 17:36:50 -!- Phantom_Hoover has joined. 17:37:05 -!- asie has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz...). 17:37:24 -!- S1 has quit (Quit: ChatZilla 0.9.90.1 [Firefox 24.0/20130910160258]). 17:44:05 -!- zzo38 has joined. 17:44:15 -!- yorick has quit (Remote host closed the connection). 17:49:36 -!- conehead has quit (Quit: Computer has gone to sleep.). 17:50:08 -!- asie has joined. 17:53:36 mroman: PHP as a language is great, static typing, + sum types you can create types yourself, functional, latest version has algebraic data types amongst others <-- all of this fits haskell except "latest version" (it had them from the start) 17:53:39 -!- nooodl has joined. 17:55:01 -!- asie has quit (Ping timeout: 244 seconds). 17:58:10 -!- augur_ has quit (Remote host closed the connection). 17:58:36 -!- augur has joined. 17:58:48 <`^_^v> this is a cool book cover http://ecx.images-amazon.com/images/I/5121HYFTK0L.jpg 17:59:17 The internet archive / wayback machine is down. <-- THUS IT BEGINS 17:59:27 they had a ire :( 17:59:28 fire* 17:59:47 well that was the next line. 18:00:28 `^_^v: finally something for the programming sheeple! 18:00:29 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ^_^v:: not found 18:01:24 hm there's no way to get HackEgo to simply not respond to a command, is there 18:01:31 on purpose 18:03:45 -!- augur has quit (Ping timeout: 272 seconds). 18:06:31 -!- Sprocklem has joined. 18:09:47 -!- oerjan has quit (Quit: leaving). 18:11:09 -!- mrhmouse has quit (Quit: Leaving.). 18:15:19 fungot: can you mute HackEgo? 18:15:19 boily: laf. they are 18:15:38 what's a laf? is it another Nordic Delicacy, like a fternooner? 18:17:06 -!- prooftechnique has joined. 18:17:51 `relcome prooftechnique 18:17:54 ​prooftechnique: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 18:18:07 `wercome boily 18:18:09 boily: エソテリックプログラミング言語のディザインとデプロイメントの国際な場所へようこそ!詳しく、ウィキを見て: http://esolangs.org/wiki/Main_Page。(他のエソテリック、irc.dal.netの#esotericへ) 18:18:37 Guys 18:18:40 I be wonderin' 18:18:50 Are there any OS in esoteric languages written around 18:18:56 I deduce from that random act of wercoming that prooftechnique's already been through that ritual. 18:19:00 I remember hearing projects of BF OS 18:19:06 But not sure if any of them came through 18:19:11 boily: Quite so 18:19:44 I switched my handle to my github name 18:19:50 I'm usually NihilistDandy 18:19:59 oooooh! quite the subterfuge! 18:20:11 (and an opportunity to cocoonspire you to the Wisdom Repo!) 18:20:12 * prooftechnique is a master of disguise 18:20:28 Slereah_: I think the closest we have to an esoteric OS is NixOS. 18:21:08 Or TempleOS, or whatever it's called now 18:21:08 prooftechnique: there, you are added. 18:21:19 Hurrah 18:21:24 Also, Wisdom Repo? 18:21:39 I don't know that I'm familiar with that 18:21:51 cf. the /topic of this chännel ↑ 18:21:54 Oh, I see 18:22:25 -!- Ghoul_ has quit (Remote host closed the connection). 18:22:32 I think I liked it more when it was called LoseThos. 18:23:00 (Also isn't PSOX a bit like an operating system?) 18:23:18 `? 18:23:20 ​? ¯\(°_o)/¯ 18:23:33 Already my wisdom increases 18:23:37 prooftechnique: I think now is a good moment to ask you the The Question: what are your approximate coördinates and body weigh? 18:23:49 >coördinates 18:23:57 This isn't the 20's Daddy-o 18:24:14 not yet. 18:25:32 I'll have to send a pull request for this alias :D 18:25:47 Also, let me look up coördinates 18:25:50 -!- realz has quit (Ping timeout: 245 seconds). 18:25:53 you have commit access. commit your heart away! 18:28:22 10 whole megabytes of wisdom 18:28:30 -!- upgrayeddd has quit (Remote host closed the connection). 18:28:30 -!- ggherdov has quit (Remote host closed the connection). 18:28:31 I would expect nothing less from #esoteric 18:29:48 there are some wisdom entries that I didn't get to format yet, such as “wisdom/c” and suchlike. 18:36:59 -!- Sprocklem has quit (Ping timeout: 246 seconds). 18:39:28 -!- realz has joined. 18:39:29 -!- realz has quit (Changing host). 18:39:29 -!- realz has joined. 18:40:47 When did I say "Benchmarks are only a good measure of surprise"? I like that, and I'm thrilled that I said it :D 18:41:06 <^v> does a random name for a language generator exist? xD 18:41:29 ^v, that's what spambots are for 18:41:40 cf. Real Fast Nora's Hair Salon 3: Shear Disaster Download 18:41:59 <^v> no, not random word generation 18:42:04 <^v> :P 18:44:33 ^v: For generating random names for D&D characters I have used an algorithm I read about somewhere and programmed in my TI-92 calculator, but I don't know if that works for your purpose. 18:44:54 I don't know what exactly you want. 18:44:59 quintopia: hi! 18:45:23 Maybe FurryScript can be made to do it somehow, though. 18:45:50 <^v> im just going to generate a large amount of random letters and pick the best looking one 18:46:13 -!- augur has joined. 18:46:41 ^v: OK, how do you want to do that? Pick letters from a Scrabble game? 18:47:02 God, I need to get my laptop working by Friday 18:47:04 ^v: pwgen -c 12? 18:48:21 -!- upgrayeddd has joined. 18:49:18 Add some more `? files for other esolangs and other various things too 18:49:32 `? TwoDucks 18:49:33 TwoDucks programming language was invented in 2023. 18:50:01 `? Real Fast Nora's Hair Salon 3: Shear Disaster Download 18:50:02 Real Fast Nora's Hair Salon 3: Shear Disaster Download? ¯\(°_o)/¯ 18:50:23 huh? how did I manage to miss TwoDucks? 18:50:38 <^v> zzo38, its trivial in lua 18:50:38 boily: I added it just a few minutes ago. 18:50:54 ^v: Ah, then use that. 18:51:07 `run echo "Real Fast Nora's Hair Salon 3: Shear Disaster Download is the most readable functional programming language out there." > wisdom/Real\ Fast\ Nora\'s\ Hair\ Salon\ 3\:\ Shear\ Disaster\ Download 18:51:11 No output. 18:51:21 `? Real Fast Nora's Hair Salon 3: Shear Disaster Download 18:51:23 Real Fast Nora's Hair Salon 3: Shear Disaster Download? ¯\(°_o)/¯ 18:51:26 (Although I still prefer FurryScript for random text generation) 18:51:27 `? Real Fast Nora's Hair Salon 3\: Shear Disaster Download 18:51:29 Real Fast Nora's Hair Salon 3\: Shear Disaster Download? ¯\(°_o)/¯ 18:51:33 I messed up 18:52:30 Wow, this is the closest I've ever lived to London 18:53:03 `run echo "Real Fast Nora's Hair Salon 3: Shear Disaster Download is the most readable functional programming language out there." > "wisdom/Real Fast Nora's Hair Salon 3: Shear Disaster Download" 18:53:05 No output. 18:53:12 `? Real Fast Nora's Hair Salon 3\: Shear Disaster Download 18:53:13 Real Fast Nora's Hair Salon 3\: Shear Disaster Download? ¯\(°_o)/¯ 18:53:17 `? Real Fast Nora's Hair Salon 3: Shear Disaster Download 18:53:19 Real Fast Nora's Hair Salon 3: Shear Disaster Download? ¯\(°_o)/¯ 18:54:00 Esolang wiki even has something about Perl. 19:00:05 -!- Ghoul_ has joined. 19:01:06 welcome to esolang wiki. you can do anything on esolang wiki. anything at all. the only limit is yourself. welcome... to esolang wiki! 19:01:38 -!- tswett has joined. 19:01:53 Hey guys. 19:02:09 Which people are not put on wisdom/ yet? 19:02:11 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds). 19:02:19 I dunno. Am I on wisdom/? 19:02:30 `? tswett 19:02:32 tswett is livin' it up with the penguins 19:02:41 Yup, I guess I am. 19:02:55 Right, right, I live in Antarctica. I forgot about that. 19:03:49 `? NihilistDandy 19:03:51 NihilistDandy? ¯\(°_o)/¯ 19:03:57 `? prooftechnique 19:03:59 prooftechnique? ¯\(°_o)/¯ 19:04:44 There is a file for LaTeX but not for TeX and Plain TeX. 19:05:08 I have a function that translates from the Haskell type "IO a" to the Hylisk type "World -> (Foreign a * World)". Now I'm writing a function that does the reverse. 19:05:56 As far as I've found, there isn't an isomorphism from Hylisk's type system to part of Haskell's, but there is a homomorphism, which is really all that matters. 19:06:11 -!- Bike has quit (Ping timeout: 272 seconds). 19:06:16 -!- shikhin has quit (Read error: Operation timed out). 19:06:21 Which is to say, if you convert a Hylisk type "A" to a Haskell type "B", then the type "B" will contain stuff that the type "A" doesn't. 19:06:51 But that doesn't really matter, because any value of type "B" can be used as we expect to be able to use a value of type "A". 19:07:30 So yeah. When my functions are composed together, the result ought to be the identity. 19:07:46 -!- Bike has joined. 19:09:45 It's ultimately a matter of converting something of the Haskell type "IO t" to something of the Haskell type "forall e. (IO e -> e, (t, IO e -> e) -> e) -> e". Obviously. 19:10:26 Hylisk? is that Haskell with Lisp syntax for the CPython VM? 19:10:37 kmc: astonishingly, no. 19:10:43 It's Haskell with a linear type system. 19:11:15 cool 19:11:19 I'm all about substructural types now 19:11:31 tswett: I don't know how such a type is supposed to work. 19:11:33 I was wondering if relevance logic has any applications in programming 19:11:38 that's so mainstream, i'm into structsubural types 19:11:45 zzo38: I barely know myself. 19:12:01 Bike: we should invent a language with subliminal types 19:12:36 kmc: What does subliminal types means? 19:12:48 i don't know, that's why we need to invent it 19:12:54 Okay, lemme see. So I'm importIO. I have an "IO t", an "IO e -> e" (but don't ask me what an "e" is), and a "(t, IO e -> e) -> e". I have to use all this to make an "e", in the obvious way. 19:13:06 OK. Perhaps make it in a list of ideas 19:13:27 This task might be impossible. Hopefully it is possible, but it'll be pretty inconvenient if it turns out to be impossible. 19:13:50 maybe it's a system where types are inferred but can't be written down and instead of the compiler giving specific type errors it just induces a vague feeling of unease 19:14:33 Java has superliminal types 19:14:45 HEY YOU! JOIN THE NAVY! 19:15:15 ABSTRACTNAVYRECRUITFACTORYFACTORY 19:16:10 -!- ggherdov has joined. 19:16:29 Let's see. If I apply liftM to the third thing there, I get "IO (t, IO e -> e) -> IO e". So I can just take my "IO t" and my "IO e -> e" and combine them to make "IO (t, IO e -> e)", and combine this with the liftM thing to get an "IO e", and then I can use the "IO e -> e" again to produce an "e". 19:16:35 The question is, does this make sense? 19:17:43 tswett: I don't know. 19:19:02 -!- shikhin has joined. 19:21:44 So I'm importIO. What am I supposed to do? I'm given a world, and I have to produce a bare value along with a new world. But a world is really just an "IO e -> e", and I'm supposed to tie actions into it by composing them with it on the right. I think. 19:23:42 This sounds backwards. 19:25:06 According to my notes, the "presumed way" to do things is to take this "IO t", compose it with the "IO e -> e", and drop the result into the function "(t, IO e -> e) -> e". 19:25:38 Of course, you can't combine "IO t" and "IO e -> e" together to get "(t, IO e -> e)". 19:27:27 There's a gamejam this weekend here and I'm entering 19:29:02 lol 19:29:06 -!- MindlessDrone has quit (Quit: MindlessDrone). 19:29:10 er whoops I was *way* scrolled back 19:29:17 just pretend i was lolling at the most recent amusing thing 19:29:38 * kmc was reading Taneb's speech recognition adventure 19:31:03 I think it's exactly the same software as last time 19:31:32 kmc, do you have any gamejam-entering advice? 19:31:35 no 19:32:04 Woohoo, a type error I don't understand because I don't understand the code I just wrote. 19:32:38 tswett: who does that compiler think he is?!? 19:33:14 Apparently he thinks he's someone qualified to try to understand my code. 19:33:44 -!- Koen_ has quit (Quit: Koen_). 19:39:44 -!- Sprocklem has joined. 19:40:13 -!- conehead has joined. 19:42:25 -!- prooftechnique has quit. 19:51:19 So, dang, now it works. 19:51:44 Now I'm afraid that something else will go wrong somewhere down the line. 19:54:53 Maybe IO actions will be performed in the wrong order, or the wrong number of times... 19:56:43 -!- Slereah has joined. 19:57:24 hm 19:57:39 does a C compiler cache a result in a register even if there's a pointer to that variable? 19:57:58 Why do you ask? 19:58:20 e.g. int i; while(i < N) { /* do stuff */ i++;} 19:58:21 mroman: I expect it might only if it can prove that it won't cause it to go wrong, probably 19:58:43 there you could keep i in a register and not write it back to memory after each increment 19:59:03 Yeah, you could. 19:59:05 int i; foo(&i); while(i < N) { /* do stuff */ i++; } 19:59:10 on the other hand, is a different story 19:59:20 And you ask because i might be simultaneously read by another thread or something? 19:59:41 well 19:59:54 it could be, that the order in which stuff happens is different for an observing thread 19:59:57 i.e 20:00:52 int a,b; foo(&a, &b); while(a < N) { i++; b = 5; } return i 20:00:57 oh 20:01:02 that should be an a there 20:01:06 since the compiler caches a 20:01:29 an obverver might see b = 5 before i changes 20:01:45 or a 20:01:47 :) 20:02:04 -!- ais523 has joined. 20:02:22 so esentially 20:02:38 i might actually never change 20:02:48 because you can keep it cached in a register the whole time 20:03:03 I suppose. 20:03:14 as return i wouldn't even need a writeback to memory 20:03:51 Are you actually doing something that depends on what C compilers do here? 20:04:18 I assume the standard says, that concurrent modificiation is undefined behaviour 20:04:23 it should at least say that 20:04:37 or concurrent reads in this case 20:04:56 I would hope that it says unspecified at worst. 20:05:22 esentially a compiler should perform a writeback after a pointer to that variable has been requested 20:05:28 well 20:05:35 not sure there 20:05:45 probably depends on what foo does 20:05:45 -!- Bike has quit (Ping timeout: 244 seconds). 20:05:53 but let's assume the compiler is dumb and has no idea what foo does 20:06:24 The question still on my mind is whether or not you're actually doing something that depends on what happens here. 20:06:50 int i = 0; while(..) { i++; /* i cached inside the loop */ }; /* writeback i due to &i */ foo(&i;) 20:06:59 tswett: I'm writing a compiler :) 20:07:06 Ah. 20:07:23 you can'r put a semicolon inside parens like that 20:07:25 *can't 20:07:37 the question is 20:07:47 If my compiler detects, that a pointer to a variable is held 20:07:56 is he forbidden to cache it later? 20:08:11 or can I he just say: Screw you, that's unspecified behaviour 20:08:16 *I/he 20:08:26 My guess is no, he can do that, but I'd suggest looking at the standard. 20:08:49 because after foo nothing could actually change i 20:08:50 brb, restarting my window manager 20:08:56 -!- ais523 has quit. 20:09:05 unless foo started a thread or something that is now doing cstuff with i behind my back 20:09:34 -!- mtve has quit (Ping timeout: 240 seconds). 20:09:34 -!- Slereah_ has quit (Remote host closed the connection). 20:09:35 -!- shikhin has quit (Ping timeout: 240 seconds). 20:10:09 even if I would writeback to memory every time I incremented i 20:10:10 it would not be safe for that thread to change i 20:10:10 the question still remains: What about reads? 20:10:30 concurrent writes are undefined anyway 20:10:57 but must that thread be able of observing a change in i? 20:11:45 tswett: I'm just using C as an example. 20:11:45 My source language is not actually c 20:12:00 The answer to your question depends on what the source language is. 20:12:12 seems the solution is to instantiate a different thread for every value of i. that way, each thread only sees a single value, and doesn't have to worry about changes. 20:12:20 -!- ais523 has joined. 20:13:05 ais523: what's your window manager? 20:13:11 -!- shikhin has joined. 20:13:13 boily: Unity 20:13:52 tswett: the question is not really "what C says" but 20:13:55 what makes more sense 20:14:11 I'm voting for: It's not well defined behaviour 20:14:17 and that thread may never see a change at all. 20:14:38 after all, that thread might not even be scheduled before the loop completes 20:14:41 but 20:14:45 now comes to tricky trick 20:15:24 http://codepad.org/jV9wdikK 20:15:34 ^- what if the loop only terminates, if the thread detected a change 20:16:25 -!- Bike has joined. 20:16:38 I'd say it's acceptable (but not desirable) for the main thread to loop forever, never yielding to the child thread. 20:17:45 Gotta go. Adiós. 20:17:53 -!- tswett has quit (Quit: Page closed). 20:22:30 -!- asie has joined. 20:22:45 -!- asie has quit (Excess Flood). 20:23:09 -!- asie has joined. 20:31:15 -!- ^v has quit (Quit: http://i.imgur.com/MHuW96t.gif). 20:31:55 -!- J_M has joined. 20:32:43 `relcome J_M 20:32:45 ​J_M: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 20:34:38 -!- J_M has left. 20:38:11 another Venezuelian scared away... 20:44:20 -!- shikhin_ has joined. 20:45:20 well. apparentely using signals in C is undefined. 20:45:35 and async callbacks 20:45:54 that's why real programmers only use ada. 20:46:18 i.e 20:46:25 while(dontstop); 20:46:33 -!- shikhin has quit (Ping timeout: 244 seconds). 20:46:38 int sigint_handler() { dontstop = 0; } 20:46:55 the compiler can reason that, since you never call sigint_handler yourself 20:46:56 dontstop believin 20:47:02 that dontstop is never changed in your code 20:47:14 * boily strikes Bike with a hardcopy of the Ravenscar Profile 20:47:20 and may replace while(dontstop) with while(1); 20:47:21 mroman: is that so even if it's declared volatile? 20:47:21 Isn't that what "volatile" is for 20:47:50 if dontstop is a volatile sig_atomic_t that might be well-defined in C+POSIX (C itself doesn't say anything about signals, obviously) 20:47:50 hm. yeah 20:47:54 signals are ♫ the worst ♫ though 20:47:59 “volatile” tells the compiler “don't you dare optimising my variable away, you crapshoot”. 20:48:20 i didn't know about sig_atomic_t, thanks olsner 20:48:25 tholsner 20:48:42 "Until C++11, which introduced std::atomic and std::atomic_signal_fence, about the only thing a strictly conforming program could do in a signal handler was to assign a value to a volatile static std::sig_atomic_t variable and promptly return." 20:48:55 fantastic 20:48:56 is there any way in plain C to use volatile except for setjmp/longjmp? 20:49:03 -!- Sprocklem has quit (Ping timeout: 265 seconds). 20:49:52 i thought it was originally added for mov-triggered architecture sorts of things 20:50:09 -!- shikhin_ has quit (Ping timeout: 244 seconds). 20:50:11 memory mapped hardware 20:50:30 yeah, but C itself doesn't really have memory mapped IO (nor threads), does it? 20:50:31 dunno if that's "plain C" 20:50:47 https://mitpress.mit.edu/covers/9780262019538.jpg btw my field has better book covers than yours 20:50:49 olsner: GPIO on microcontrollers. it's essential to declare that stuff volatile. 20:51:40 volatile int* gpio_thingy = [what goes here that's defined behavior by C?] 20:51:45 -!- yorick has joined. 20:53:19 oh well, I suppose it's still pretty useful to have C-defined behavior when talking to those things, even if all the pieces don't necessarily come from C 20:54:05 fungot: are you defined? 20:54:06 boily: hen. it is but so so, now fnord 20:56:46 boily: fungot is fnord behavior 20:56:47 olsner: second lord. it is too long; which makes it fiue and twenty yeares, and then why should we, in the smoake of warre: and formerly according to our appointment, when we were at work: my old master the iew to sup to night with a harlotry: and thither will i bring thee valentine 21:00:53 fungot: FNORD EAX, 0x2A 21:00:54 boily: fabian. is't so, indeed? we men may say more, than tigers of hyrcania. see, by ten mile. for fnord being dead, i tell thee, iacke cade the fnord means to dress the commonwealth, as which of you saw eglamoure of late? ophe. my honor'd lord 21:01:11 ^style irc 21:01:11 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 21:02:02 fungot: rep fnords 21:02:02 olsner: ( do we have? the translations are quite good. how dies sisc compare to plt?' 21:02:21 -!- asie has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz...). 21:05:13 Have you read your SICP today? 21:06:17 oh no. no no no no no no no. 21:06:24 * boily runs in fear far away from Slereah 21:07:12 I'm searching for scans of a Polish computer magazine called "Enter". Has anyone ever heard of it? 21:07:31 Not having much luck, probably due to the name... 21:07:44 is that name translated? 21:07:54 boily seems to be deathly afraid of snakes 21:08:08 snakes? 21:08:13 SNAKES 21:08:28 http://fuuka.warosu.org/data/lit/img/0037/37/1368047172925.gif 21:08:30 Snaaaakes 21:09:23 http://1-media-cdn.foolz.us/ffuuka/board/jp/image/1335/81/1335810578462.jpg 21:09:28 SNAAAAKE?!? 21:09:47 http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/wizard.jpg 21:09:52 Programming could use more wizards 21:10:53 scheme code with lots of defines is the worst 21:11:08 Or is it 21:11:11 THE BEST 21:11:16 Bike: it's the original name. I've found a few copies on eBay, but that's about all. 21:11:23 weird. 21:12:13 "Scheme allows you to do crazy things: (define + -) (define define 3)" 21:12:14 heh 21:12:47 john_metcalf: well my library doesn't happen, but searching "Enter" does turn up some Lost episodes. 21:13:20 Disc 3 (Episodes 9-12). Stranger in a strange land ; Tricia Tanaka is dead ; Enter 77 ; Par avion -- 21:13:55 http://www.youtube.com/watch?v=rdj6deraQ6k 21:13:56 Oh god 21:14:20 john_metcalf: they have a website at enter.pl, but I can't read Polish. 21:14:34 I know of the Finnish computer magazine called "Enter", but that probably won't help. 21:14:43 Slereah: and, uh, why snakes? 21:15:19 -!- Oj742 has joined. 21:15:20 I don't have a fucking clue 21:15:26 Boily: found that and translated some with Google translate. It doesn't look like they have an online archive. 21:15:27 It's an old /prog/ meme 21:15:30 and WHAT THE FUNGOT IS THAT VIDEO? 21:15:31 Don't know where it came from 21:15:36 It is the SICP snake 21:15:45 Enquiring about your daily reading of SICP 21:15:59 I vaguely recall having stored a copy about that somewhere... 21:16:15 That video is what Scheme is all about 21:17:42 -!- tswett has joined. 21:18:00 * boily sings “一二三 一二三 one two three one two three いち に さん!♪” 21:18:47 -!- Sprocklem has joined. 21:18:48 it was some guy mentioning SICP and then someone else said "is that just your way of saying I'VE READ SICP" and then "I'VE READ SICP" became a /prog/ meme 21:19:09 But why the snake! 21:20:08 simultaneously someone else made a postscript file of a snake and posted it in a thread called "the /prog/snake" i think? and someone else put two and two together 21:20:31 ddeep 21:20:31 is /prog/ that 4chan thing 21:20:32 heh 21:20:35 Yes 21:20:36 what the snake says! SICP-SICP-SICP-SICP-SICP-SICP-SICP! 21:20:42 It's one of the TOP SECRET boards 21:20:44 (Textboard) 21:20:57 An antagonistic snake would make more sense. (See: Python replacing Scheme in the MIT course.) 21:21:19 I'm afraid that now, Scheme is all snake 21:21:40 Among the programming animals, such as the Ocaml camel or... 21:21:43 The B bee? 21:21:51 Does the B language still exist 21:22:15 It turned out to have ceased to exist long before anyone realized it no longer existed. 21:22:26 is B the anti-Feather? 21:22:27 fizzie: the antagonist is, in the /prog/ canon, "the Abelson": http://www.youtube.com/watch?v=rdj6deraQ6k 21:22:43 https://mitpress.mit.edu/covers/9780262518420.jpg my programming language 21:22:47 book. thing 21:23:15 ah yes. the snake is in this too. i should just link http://www.youtube.com/watch?v=rdj6deraQ6k when people ask me about /prog/ always 21:23:32 Well, gee, now what. I guess writing an "apply" function might end up being useful eventually. 21:23:32 the factorial of seven is also in this... amazing 21:23:38 That's kind of a useful function. 21:23:41 it's cool how the sinuses (or whatever) look like a mustache 21:23:47 nooodl : Same link! 21:23:54 which I already gave before, anyway! 21:26:10 oh. excellent 21:26:50 http://www.zazzle.com/my_other_car_is_a_cdr_bumper_stickers-128776132386843273 21:26:57 Four bucks for a sticker? 21:27:01 What madness is this! 21:27:16 -!- boily has quit (Quit: un un deux trois cinq poulet). 21:27:21 -!- metasepia has quit (Remote host closed the connection). 21:31:03 http://i.imgur.com/gRbwf.png apparently jwz is on 4chan now, taking screens 21:31:42 haha burn 21:32:00 so where is this /prog/? 21:32:12 hell 21:32:41 *that* /prog/ is gone, but the current /prog/, which is (even more) complete shit, is http://dis.4chan.org/prog/ 21:33:05 i'd like to point out that "dis" is indeed part of hell, in dante 21:33:24 The best board is actually http://dis.4chan.org/vip/ 21:37:28 -!- shikhin has joined. 21:40:24 -!- carado has quit (Ping timeout: 252 seconds). 21:42:36 -!- Slereah has quit (Remote host closed the connection). 21:42:53 -!- Slereah has joined. 21:43:34 -!- shikhin_ has joined. 21:45:58 -!- shikhin has quit (Ping timeout: 244 seconds). 21:47:26 -!- Sprocklem has quit (Ping timeout: 268 seconds). 21:47:35 -!- Oj742 has quit (Ping timeout: 260 seconds). 21:47:50 -!- shikhin__ has joined. 21:50:44 -!- mtve has joined. 21:51:23 -!- shikhin_ has quit (Ping timeout: 272 seconds). 21:58:19 How to I append to a @ list in Perl? 21:58:50 push @foo, 'x'; is popular. 21:59:25 OK 21:59:41 I hope I did the rest of the program correctly. 21:59:51 I am trying to modify a Perl program. 22:00:09 Technically, @foo = (@foo, 'x') would also work, but I think 'push' is the usual thing for appending. 22:05:13 -!- zzo38 has quit (Remote host closed the connection). 22:05:48 fizzie: or $foo[scalar @foo] = 'x'; 22:05:55 push is probably clearest, though 22:06:01 and I think the compiler optimizes it into what I just wrote 22:08:09 https://twitter.com/History_Pics/status/397393751527919616 golf used to be more exciting i guess 22:08:40 ais523: I had $foo[@foo] = 'x' and $foo[$#foo+1] = 'x' all written up, but decided not to. 22:08:56 (I don't think that needs a "scalar".) 22:09:07 right, @foo[@foo] = 'x' would though 22:09:42 So many ways. 22:10:23 -!- Sprocklem has joined. 22:10:49 splice @foo, @foo, 0, 'x'; too. 22:13:59 splice @foo, -1, 1, $foo[-1], 'x'; 22:20:26 -!- Sprocklem has quit (Ping timeout: 245 seconds). 22:21:00 -!- prooftechnique has joined. 22:27:49 -!- shikhin__ has quit (Ping timeout: 248 seconds). 22:28:27 Aaaah once again I am painfully aware of the leftist positive reinforcement bubble I live in 22:29:45 CORRECT, CITIZEN 22:30:26 Taneb: ? 22:31:05 ais523, I was reading an article I saw on reddit, basically saying that the tories sucked, slowly nodding in agreement 22:31:11 -!- tswett has set topic: Pregnant memory client sialic Guillen Puede yen Ten del Est | Koirammekokaan ei lennä? :( | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf | logs: http://codu.org/logs/_esoteric/ or http://tunes.org/~nef/logs/esoteric/. 22:31:16 Then I realised there was almost nothing but tory-bashing 22:31:21 Little actual content 22:31:31 -!- tswett has quit (Quit: Page closed). 22:31:38 Just factoids for me to memorize and recite at those who disagree 22:31:39 Taneb: if it helps, I normally vote Conservative (although I didn't last election) 22:31:40 reddit is great for creating echo chambers like that 22:31:42 don't read redditn 22:31:46 although I'm well aware that I'm in the minority among my age group 22:31:55 i used to troll /r/atheism but that got old too 22:32:01 My family all vote conservative, although in general I don't 22:32:16 kmc, I'm not sure if there are any non-trolls in /r/atheism 22:32:48 well they mostly troll in the other direction, then? 22:32:58 Fair enough 22:33:02 I said unpopular things that quickly got downvoted 22:33:44 such as that if you want to blame the holocaust on hitler being a christian then you can also blame atheism for stalin 22:33:57 tory-bashing sounded like this was just going to be a big awful toribash pun 22:34:56 My childhood spent in a tory family with a lot of labour friends has left me with few to vote for 22:35:05 kmc: DID YOU KNOW THAT KING DAVID WAS JEWISH? 22:35:13 Taneb: are you currently able to take the Lib Dems seriously? 22:35:29 ais523, no, but I can't take any of the other big parties seriously either 22:35:37 So I end up voting for lib dems anyway 22:35:41 what about the small parties? 22:35:59 Yeah, like that white supremacist one. I imagine they're a fun bunch 22:36:01 They so far haven't ran in elections where I've voted for 22:36:15 -!- oerjan has joined. 22:36:38 which constituency is hexham in anyway? 22:36:53 I'm used to Birmingham which is lots of constituencies 22:36:58 but Hexham's probably just a fraction of one 22:37:12 It's in Hexham 22:37:26 oh, it's a constituency of its own? 22:37:28 Which is by area I think one of the largest in England 22:37:33 ah right 22:38:41 Yeah, both times I've voted (once in the Police Commissioners election, once in a county council election), there have been precisely four candidates 22:39:01 One labour, one tory, one lib dem, and one ukip 22:39:12 -!- augur has quit (Remote host closed the connection). 22:39:49 -!- augur has joined. 22:40:59 Both times, I've voted lib dem, and both times, the lib dems have outright lost 22:41:03 ais523: you removed the check for number of edits? btw i tried to test run it, but nothing matched... oh wait we've already deleted those :D 22:41:09 oerjan: yeah 22:41:19 I thought that the edit count check might be causing the rule to not match 22:41:30 and then match when I test ran it because the users had a different number of edits then 22:41:33 but apparently not 22:41:41 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.90.1 [Firefox 25.0/20131025151332]). 22:44:47 -!- augur has quit (Ping timeout: 268 seconds). 22:45:12 https://twitter.com/genometweet useful service 22:48:16 -!- tertu has joined. 22:49:37 ais523: ok now it blocks _me_ from starting my user page with a header so it must be doing _something_. 22:49:48 oerjan: hmm 22:49:51 try with the new section button 22:49:54 that's what the bots are using 22:50:23 ooh... 22:50:36 the button doesn't appear on user pages 22:50:45 so you have to get that via link editing 22:51:47 I hope the people writing these spambots at least have the decency to write them in an esolang 22:52:03 prooftechnique: the people writing them aren't the people running them 22:52:17 ais523: oooh i think i know why it doesn't work... 22:52:20 oerjan: go on 22:52:50 when using add section, there are _no_ literal ==s added by the user, it's in a different form field... 22:53:05 hmm, could work 22:53:56 hm this means something disturbing, let's check... 22:55:22 hm no, for some reason editing a section does not trigger the filter. 22:55:45 even though the edit area does start with == then 22:55:57 weird 22:56:49 http://www.youtube.com/watch?v=HiN6Ag5-DrU 22:57:48 ais523: oh i know i forgot an important test. trying again... 22:59:52 wait no i didn't, sheesh. oh well trying anyhow. 23:00:51 argh 23:01:09 if the new section button gets round abusefilter 23:01:14 then that may be why the spambots are using it 23:01:40 oh no. 23:01:53 it doesn't. i just managed to trigger it. 23:02:04 `seen Phantom_Hoover 23:02:09 2013-11-04 23:35:04: imho keep fnord forever 23:02:43 ais523: ok it's _not_ that, the filter triggered this time. 23:03:04 unless there is some weirdness... 23:03:38 well there's clearly weirdness 23:03:41 fungot_hoover 23:03:41 shachaf: i think it's pretty clear, i think it's bbls that's confused. perl is a lisp 23:03:43 we're just not sure what sort of weirdness yet 23:03:55 ok trying the really bad stuff 23:03:57 "perl is a lisp" is gold :) 23:06:04 ais523: darn creating my page anew did _not_ trigger the filter. 23:06:35 but we know that in general, it can trigger on page creations 23:06:39 because 1/2/3 do that all the time 23:06:59 well if those pages didn't crash when we tried to load them... 23:07:02 yeah 23:07:13 maybe 4 doesn't work properly /because/ it doesn't crash on load 23:07:20 also you may be able to load them indirectly 23:07:24 via the batch tester 23:07:33 it has a button to copy the filter condition from a filter 23:07:44 so you could get at their conditions, even if you couldn't edit them 23:10:34 hm right lessee 23:11:28 -!- ^v has joined. 23:16:43 -!- prooftechnique has quit. 23:16:56 what do today 23:18:04 quintopia, which day is that? 23:18:22 I think my today is a different day to oerjan's, for example 23:18:26 -!- prooftechnique has joined. 23:19:09 ais523: nr. 1 just has user_editcount == 0 but i guess you modified that in 4 as a wild guess to why it wasn't working. 23:19:16 oerjan: yes 23:21:49 -!- tertu has quit (Read error: Connection reset by peer). 23:22:05 -!- tertu has joined. 23:22:18 ais523: ok next question, why don't my blocked edits show up in the abuse log (for any of the filters) 23:22:39 oerjan: possibly because you're an admin 23:23:01 goddammit 23:23:29 also, is a 40something error the right result to get on a blocked edit 23:23:46 normally you get a warning, if "Warn" is set 23:24:11 well Warn is only set on nr. 1 afair 23:24:28 yeah, to avoid blocking legitimate users 23:25:16 well i cannot be bothered to make another account just to test things. 23:25:46 I did on Wikipedia, eventually 23:25:51 but yeah MediaWiki's a mess 23:27:51 i have this feeling the world is approaching the bug singularity this year. 23:29:29 IE11 managed to add a bug that makes tab groups dissolve occasionally when you close tabs in them. :( 23:30:07 it did fix one bug that had annoyed me in IE10 though. 23:34:48 elliott: ais523: i'd like to point out that _all_ of the filters, not just 4, stopped registering anything in the abuse log after Nov 5. 23:35:00 while having plenty of hits on that day. 23:35:04 oerjan: yeah but I haven't seen any edits that would have hit 1, 2, or 3 23:35:22 probably because I did a bunch of rangeblocks on that day 23:35:23 well in that case, maybe something is wrong with the _logging_? 23:35:28 oh. maybe so. 23:37:13 -!- augur has joined. 23:51:31 -!- nooodl has quit (Ping timeout: 244 seconds).