00:00:27 -!- heroux has joined. 00:05:15 -!- TeruFSX has joined. 00:11:15 -!- heroux has quit (Ping timeout: 245 seconds). 00:12:30 -!- heroux has joined. 00:27:31 -!- heroux has quit (Ping timeout: 264 seconds). 00:28:19 -!- heroux has joined. 00:36:37 -!- heroux has quit (Ping timeout: 246 seconds). 00:37:43 -!- heroux has joined. 00:45:42 -!- impomatic has quit (Read error: Connection reset by peer). 00:50:51 -!- zzo38 has joined. 00:53:19 -!- heroux has quit (Ping timeout: 264 seconds). 00:54:11 -!- heroux has joined. 01:29:50 -!- TeruFSX has quit (Read error: Connection reset by peer). 01:35:27 -!- Bike has quit (Read error: Operation timed out). 01:36:40 -!- heroux has quit (Ping timeout: 245 seconds). 01:38:18 -!- Bike has joined. 01:38:27 -!- heroux has joined. 02:01:09 -!- Bike has quit (Ping timeout: 248 seconds). 02:02:54 -!- Bike has joined. 02:30:00 !bfjoust flow -+>--->(>[>>([(+)*5[-]]+>)*-1])*-1 02:30:03 ​Score for Lymia_flow: 38.8 02:30:09 The evolver, indeed works when you give it something that already works. 02:30:21 Unfortunately, it's not so good at making working things ex-nillo... 02:45:50 -!- pikhq has quit (Ping timeout: 245 seconds). 02:45:57 -!- pikhq has joined. 02:46:05 FUCK YES, Time Trumpet finished downloading 02:46:19 time for a fanfare 02:51:37 ok wow the thick of it is amazing 02:52:28 yes 02:52:58 wow is that an ubik reference in the topic 02:54:42 -!- Arc_Koen has quit (Quit: Arc_Koen). 02:55:08 yes 02:58:48 -!- copumpkin has changed nick to necropumpkin. 02:59:53 -!- Bike has quit (Ping timeout: 240 seconds). 03:00:18 i read that book yesterday 03:02:02 -!- Bike has joined. 03:05:45 -!- Jafet has quit (Quit: Leaving.). 03:09:27 -!- oerjan has quit (Quit: leaving). 03:14:25 !bfjoust flow >(+)*5(>[>>([(+)*5[-]]>)*-1])*-1 03:14:28 ​Score for Lymia_flow: 40.8 03:16:09 !bfjoust flow >(-)*5>(>[>>([(+)*5[-]]>)*-1])*-1 03:16:12 ​Score for Lymia_flow: 41.5 03:16:24 Automating "optmizing for current hill" yay :p 03:23:16 wooow, that's a really good score 03:23:22 for something so simle, too 03:23:24 *simple 03:23:47 It's probs abuse of programs being deterministic. 03:24:37 There's an, uh. VERY FATAL flaw 03:24:45 That can't be rectified without sending the score into the gutter x.x 03:25:03 It assumes that the target has a decoy-- and that there's at least one space between its first decoy and its flag. 03:25:38 decoy++ 03:26:13 * Lymia baps shachaf 03:32:30 -!- pikhq has quit (Ping timeout: 245 seconds). 03:32:39 -!- pikhq has joined. 03:39:57 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 03:53:42 !bfjoust flow >(+)*5>(>[>>([(+)*5[-]]>)*-1])*-1 03:53:44 ​Score for Lymia_flow: 40.7 04:00:42 !bfjoust flow >(-)*5>(>[>>([(+)*5[-]]->)*-1])*-1 04:00:45 ​Score for Lymia_flow: 42.0 04:06:50 -!- Nisstyre-laptop has joined. 04:22:32 !bfjoust flow >(-)*5>>(>[+>>([(+)*6[-]]->)*-1])*-1 04:22:35 ​Score for Lymia_flow: 42.2 04:29:50 ais523, fizzie. 04:29:53 I'm curious. 04:30:01 Given a point P in a Bfjoust program 04:30:15 I wonder if it'd be possible to construct a valid string s that is the continuation of the rest of the program. 04:30:20 Erm. 04:30:21 syntatical* 04:31:09 Meaning, like, [+P]+ => [+([+{}]+(.)*-1)%-1]+ 04:33:56 -!- Bike has quit (Read error: Connection reset by peer). 04:34:00 -!- Bike has joined. 04:42:41 -!- pikhq_ has joined. 04:42:58 -!- Bike_ has joined. 04:43:08 -!- pikhq has quit (Ping timeout: 256 seconds). 04:44:36 -!- Bike has quit (Ping timeout: 264 seconds). 04:47:08 The idea is, in a language that compiles to BFJoust 04:47:19 -!- Lymia has left ("Hug~♪"). 04:47:22 -!- Lymia has joined. 04:48:02 You could write something like (try-for(300, -, try-for(300, +, nil))>)*-1 04:50:05 -!- Bike_ has changed nick to Bike. 04:53:24 !bfjoust flow >(-)*5>>>(>[..>>([(+)*6[-]]->)*-1])*-1 04:53:27 ​Score for Lymia_flow: 43.0 05:07:39 -!- heroux has quit (Ping timeout: 240 seconds). 05:09:23 -!- heroux has joined. 05:23:30 Now I made a AWK program to convert selector strings from Internet Quiz Engine into SQL codes, so that you can make polls. 05:24:34 AWK on Airships 05:25:02 What is that? 05:25:20 A web framework based on passing http requests through awk scripts. 05:27:46 Still better than Spring MVC? 05:28:40 * Bike plays laugh track 05:30:05 Is it just the entire HTTP request it received, and then it needs to response the entire response including header and data? It seem AWK to not be very good for that kinds of things. 05:30:24 Even if it is CGI, it still won't be very good for that purpose, I think. 05:33:02 You can do it if you want to, though. 05:34:21 isn't Spring supposed to be the /lightweight/ framework? 05:34:26 you gotta use Enterprise JavaBeans man 05:34:47 "Millions of developers use Spring to create high performing, easily testable, reusable code without any lock-in." 05:34:54 that last bit seems kind of weird, I guess it's a dig at C#? 05:35:12 does it not lock you into Spring 05:35:42 you've discovered their evil plot 05:35:53 D:!!! 05:35:59 ↁ: 05:36:34 Bike: i think being locked into an open source project doesn't count 05:36:46 why not 05:36:55 because that's how the people making these decisions think 05:36:56 kmc, "Java culture", and "light" are mutually incompatible. 05:36:59 :p 05:37:14 kmc: Well, at least you are locked in less than if it were not an open source project, but that doesn't make it not locked in 05:37:21 yeah 05:37:26 What is it called when the web framework is based on SQL instead of AWK or PHP or any other programming language? 05:37:35 locked into using monoids 05:37:38 it was so easy 05:37:43 i just can't quit you, monoids. 05:37:43 the first one's always free 05:37:44 kmc, the way Spring is structured, to the best of my understanding, is that the objects you create often don't have any explicit reliance on Spring 05:37:55 You use Spring, but the objects you make for it don't necessarily know about it 05:37:58 THE JOKE IS FREE MONOIDS 05:38:13 it's funny because in startuplandia we don't think about vendor lock-in at all, it's open source and we think about open source project lock-in 05:38:17 shachaf: That is easy to see. 05:38:44 Yeah shachaf. 05:38:47 tho, Microsoft New England Research & Development (MS NERD) was running a thing where they would give your web startup free licenses for IIS and MS SQL and whatever for n years 05:38:53 'First the joke must be caught.' / That is easy: a baby, I think, could have / caught it. 05:38:55 first hit's free kids 05:40:01 Did you know the most important feature of Haskell is list comprehensions? 05:40:12 kmc: I still don't need them though; I have better software than those ones. Shouldn't those people learn all of them to see what is better for them, at first, before buying, or even getting for *free*, the software? 05:41:11 shachaf.......... 05:41:18 somebody says? 05:41:22 shachaf: I don't think so. 05:41:33 kmc: i accidentally read the internet 05:41:38 bad mistake, will not repeat 05:41:42 This IRC is the internet. 05:41:46 zzo38: that takes too long and in startuplandia it is more important to move quickly than to make the absolute best technical decision at every step 05:42:11 kmc: Perhaps to *you* it is. 05:42:25 to people who want to make lots of money and build successful companies 05:42:43 kmc's secret ambition revealed 05:42:46 anyway though I think it's a hard sell for MSFT because there's a lot of advantage to using what everyone else is using 05:42:57 though also some advantage to using what nobody else is using 05:43:01 i bet you could make a cool argument about the "best" step at any given time not being the "best" step in some overall sense, with some kind of time-bound optimization problem solving formalism 05:43:01 shit is complicated, as they say 05:43:18 Lots of people are using Microsoft things. 05:43:18 Bike: Maybe it sometimes is. 05:43:27 Even lots of startups, I imagine. 05:43:27 shachaf: but not so much in web startupland I think. 05:43:35 well, I don't know... 05:43:49 I tend to think more people use Microsoft things than I typically see. 05:43:53 yes 05:43:57 I'm in too much of a bubble. :-( 05:44:04 it's true that none of my friends use Windows and approximately everyone uses Windows 05:44:13 but web startup land is also a bubble shachaf 05:44:45 I have to wonder how good Microsoft's SQL server/web server stuff, etc, actually is. 05:44:53 ... and if it's better enough to justify the cost >_> 05:44:54 It's not particularly obvious from using a website what it runs on, anyway. 05:45:05 shachaf, should be obvious by looking at the headers, right? 05:45:26 Lymia: I don't look at the headers of every website I use. 05:45:29 Unless they omitted that header 05:46:05 What are some web startupland places that use Microsoft things? 05:46:26 stackoverflow.com is one, I suppose. They don't have such a header. 05:47:18 I suspect you can sniff it with the approprate tools 05:47:30 Oh, sure. 05:47:32 nmap -V -p80 stackoverflow.com 05:47:50 -V might not be the right flag 05:47:52 nope 05:48:11 --version-all 05:48:18 Anyway I think it's a good default assumption that I'm in more of a bubble than I think I am. 05:48:47 Still, I want to make a good quality, rather than just earning money or whatever. 05:49:07 they're not even exclusive 05:49:58 What is not even exclusive? 05:51:03 shachaf: you know you're more bubbled than you think you are 05:51:30 bubbled bubbles, unbubbled bubbles, bubbled unbubbles, and unbubbled unbubbles 05:52:04 OK, well, I don't know what that is, but, OK, anyways, perhaps that is what it is. 05:52:26 yes Bike 05:53:49 it was that or a sex joke. 05:54:30 insert topical reference to donglegate 05:54:48 I may use some proprietary and surface-mount and so on if it has to and in case it might be change later on if it can be used without vendor-lock, like this. 05:54:53 http://www.piehead.com/blog/2011/05/why-startups-could-use-net-but-don%E2%80%99t this is a p. shit article 05:55:51 However, other than that, I would try to make it better, rather than being forced to use inferior stuff if there is the alternative. 05:55:56 any article that expects me to already acknowledge a consistent distinction between "developer culture" and "engineering culture" 05:55:59 is p. shit 05:56:56 kmc knows the truth: if your startup doesn't have a rockstar culture, it's already doomed to fail 05:57:15 sometimes I wonder if ninja rockstars is one of those things everyone makse fun of now and nobody actually says seriously 05:57:25 but then I look through craigslist job ads 05:58:02 perhaps those ads are being cool and saying it ironically 05:58:13 doubtful 05:58:27 well there's this: "Here's what we're looking for: Your peers describe you as a rockstar, but the term embarrasses you. Homejoy has a culture that revolves entirely around our customers and cleaners, not our egos." 05:58:58 'get better peers' 05:59:27 you're at a fork and you see two people, a rockstar and a ninja. you can ask one of them one question. 06:00:49 If the train conductors never collect my ticket, is it ok to reuse the ticket? 06:01:00 I think CF card is better than SD card, so I will use CF card. Blu-ray is full of stupid stuff (I mean, even other than the video format!), so I won't use that. 06:01:08 Sgeo: What is printed on the ticket? 06:01:09 Sgeo: doesn't it have a date on it? 06:01:13 It's "ok" in that you'll probably not get caught, it's not OK in that it's illegitimate 06:01:22 kmc, yes, but it expires in 60 days 06:01:32 i'm not categorically against stealing from The Man but I feel like public transit has a bad enough time as it is 06:01:41 that's why i don't lifehack my SFO trips with the BART lost ticket hack 06:01:45 Sgeo: what railway? 06:01:48 LIRR 06:02:05 BART lost ticket hack? 06:02:23 Sgeo: well, are the tickets intended to be used one time only? 06:02:32 !bfjoust flow >(-)*5>>>(>[..>>([(+)*6[-]]->)*-1])*-1 06:02:35 ​Score for Lymia_flow: 43.8 06:02:36 Bike, I think so yes 06:02:38 Evolver's no longer making progress. 06:02:49 Sgeo: there's your answer then 06:02:54 I am LIRR of the planet Omicron Persei 8 06:03:21 shachaf: it costs more to swipe out at SFO than to claim you lost your ticket and pay the fine 06:03:46 No! Precisely, what is everything that is printed on the ticket? Does it say, one fare? Does it say, the date/time? Does it say you can give it to someone else? 06:03:47 Oh. 06:04:04 It has the date and time that I purchased it 06:04:20 But it's usable for 60 days after purchase 06:04:32 It's one fare 06:04:44 is dates + thyme a good combination 06:04:56 i can't remember what thyme tastes like....... 06:04:59 zzo38: How's about MMC? 06:05:09 (yaaay, obscure formats. :P) 06:05:15 model model controller 06:05:40 just do model-model-model like http://sqlonrails.org/ 06:05:43 If it just says "one fare" then probably it is not allowed to reuse it, but, if you have to, then do 06:05:47 shachaf: tyne and wear 06:05:57 * pikhq_ is honestly confused why that format got replaced by SD cards 06:06:02 pikhq_: Is MMC compatible with SD in some case? 06:06:09 SD supports some kind of DRM and so the Powers that Be were pushing it 06:06:21 zzo38: An MMC card can be read in an SD reader, but not vice versa. 06:06:33 There is no *real* benefit to SD over MMC. 06:06:41 people do write whole web apps in the database 06:06:45 kmc: Yes, although that feature is never used, so it wastes capacity, I think. 06:06:45 Why is the NYC subway so much cheaper than BART? 06:06:52 Postgres supports JavaScript stored procedures 06:07:07 kmc: That is not what I mean; I mean pure SQL 06:07:10 https://code.google.com/p/plv8js/wiki/PLV8 06:07:39 pikhq_: Well, I supppose so, but still I prefer CF. If you want to use MMC and SD, you still can, since adapters exist for such purposes. 06:07:51 Amusingly, SD actually had a *lower* max card size than MMC. 06:07:59 (128 GiB vs 4 GiB) 06:09:17 pikhq_: SD does at least have one thing, which is a write protect switch, but the smaller SD cards lack that feature. It might be possible to make CF cards with such a switch, too, though. 06:09:28 It's also a fairly silly feature. 06:09:55 And I have read about the max capacity too; I think CF has more max capacity 06:09:56 But yeah, not surprised you prefer CF cards. Of the commonly supported flash formats it's the one most zzo38-friendly. 06:10:18 128 PiB 06:13:51 so did xkcd do anything interesting today 06:13:52 looks like no 06:14:47 Tomorrow I fly back to SFO. 06:15:12 will you ride the BART train 06:15:37 Probably. 06:15:44 p. good train 06:16:00 imo it should be synchroniszed with the caltrain 06:16:10 missing the caltrain is p. annoying 06:16:17 also the caltrain should come more often 06:16:21 CALTRAAAAAIN 06:16:30 caltrain is a p. shite train 06:17:07 when you're trying to get to palo alto caltrain has a distinct advantage over BART 06:17:10 inter-agency timed transfers........ not in god's america 06:17:14 namely that it goes to palo alto 06:17:35 when you're riding BART, not trying to get to palo alto has a distinct advantage 06:18:37 sadly i live in ₑₐₛₜ palo alto 06:18:53 ᵉᵃˢᵗ 06:19:08 how many copies of the latin alphabet are there in Unicode 06:19:24 not enough 06:19:32 where's the big .txt list of all unicode chars 06:19:35 Consolidated for cut-and-pasting purposes, the Unicode standard defines complete sub- and super-scripts for numbers and common mathematical symbols ( ... ) 06:19:43 a full superscript Latin lowercase alphabet except q ( ... ) 06:19:47 ... 06:19:51 a limited uppercase Latin alphabet ( ᴬ ᴮ ᴰ ᴱ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴼ ᴾ ᴿ ᵀ ᵁ ⱽ ᵂ ), a few subscripted lowercase letters ( ₐ ₑ ₕ ᵢ ⱼ ₖ ₗ ₘ ₙ ₒ ₚ ᵣ ₛ ₜ ᵤ ᵥ ₓ ), and some Greek letters ( ᵅ ᵝ ᵞ ᵟ ᵋ ᶿ ᶥ ᶲ ᵠ ᵡ ᵦ ᵧ ᵨ ᵩ ᵪ ). 06:19:55 except q... 06:20:08 Why do they have strange sets like that? 06:20:14 http://www.unicode.org/Public/UNIDATA/NamesList.txt is a partial list 06:20:19 what the fuck 06:20:45 kmc: Did you think it would be complete? 06:20:51 How naïve. 06:21:19 Unicode is really crazy anyways, in many ways...... 06:22:57 why isn't C in the uppercase 06:23:08 jesus christ 06:23:08 C is a pretty good letter! 06:23:22 uh Bike it's spelled "p. good" 06:23:34 Bike lern2#esoteric 06:23:43 god i'm so tired and hungry and sleepy 06:23:54 "i just can't TAKE a lack of c's right now" 06:23:57 and hungry 06:24:01 imo sleep and eat and sleep and eat 06:24:08 hmmm 06:24:10 good plan 06:24:13 Are you in SF? Or was that last week/next week/something else? 06:24:16 no 06:24:17 hm unicode should have a character that's an apostrophe but instead of marking possession it marks multiplicity of a letter 06:24:26 it looks exactly the same though. 06:24:27 that was in the week of turning on of the bay bridge lights 06:24:34 cannot remember which week is before the other one 06:24:50 Oh, that was a while ago. 06:24:58 I remember now. 06:24:59 Unicode is just really dumb, mostly. 06:25:32 http://www.buzzfeed.com/awesomer/things-youll-see-on-public-transportation 06:25:37 also i have glyphs for some of the lowercase letters but not all of them 06:25:39 cool 06:26:44 lens 3.9 is out 06:26:46 everyone upgrade 06:26:53 everyone = {Bike,zzo38} 06:27:01 whenever I see this kind of thing I always try to identify what system each photo is from 06:28:35 nyc mta: 1, 8, 9, 18, 19, 25, 26 06:29:51 lacmta: 4; london (?) 11; BART: 20 06:30:12 are you.......... a trainspotter 06:30:25 insert quote from movie that i haven't actually seen 06:30:28 Once I had a dream that the first computer game ever invented was called "One Draw" and it was implementing a card game. One of the features of this game is that the suit of clubs has three dots (whenever a club was played, the referee would exclaim, "It has three dots!"). However there is many errors in the game, for example half of one card might be a different card, or something like that 06:30:51 -!- carado_ has joined. 06:30:52 but you know the soundtrack, and it's a good soundtrack. 06:30:53 1D6B LATIN SMALL LETTER UE [ᵫ] 06:30:58 I didn't know about that one. 06:30:59 amazing 06:31:15 sigh isn't ü a good enough ue 06:31:33 ï certainly am 06:31:34 ᴾᴱᴺᴵ- there's no S!! 06:31:57 fuck i ought to sleep right now 06:32:01 good night #esoteric 06:32:06 keep flying that freak flag 06:32:20 g'neegan 06:32:31 ♞ 06:48:08 How can someone meet you in a location they cannot find? 06:52:10 "This is not a fight. The reason the lights are red is because my other eye is looking at another subway train." ...what? 06:54:09 What is your dream today? 06:54:31 I don't remember. I found it unsettling, though. 06:56:17 -!- kyyni has quit (Ping timeout: 245 seconds). 07:02:55 -!- kyyni has joined. 07:08:24 -!- nooodl has joined. 07:27:02 I made a Magic: the Gathering cards that is "Exile all indestructible permanents" 07:29:46 How do you make a cards? Do you mean that you made a card? 07:30:00 Yes, like that. 07:30:05 -!- Bike has quit (Quit: leaving). 07:30:22 Another card is "Creatures with abilities having {Q} in their cost have vigilance" 07:30:28 ({Q} is the untap symbol) 07:31:10 Another one means "You are allowed to attack yourself and/or planeswalkers you control" 07:32:43 I don't want to have to wake up at 5am 07:32:44 fuckfuckfuck 07:38:44 -!- nooodl has quit (Ping timeout: 272 seconds). 07:52:18 I have a list of "You know you've been in Japan too long when..." and I have never been in Japan but I do a few of the things on that list (even before I found this list), such as underlining words with a ruler. 07:52:27 Do you underline words with a ruler? 07:53:04 No. 07:53:08 I have never been in Japan. 07:53:41 Nor have I. I don't think it is necessary to be in Japan to underline words with a ruler; it is necessary to have a ruler, though. 07:54:52 It is also necessary to underline words. 07:55:29 Yes. 07:58:36 Do 1000000 push-ups each day, 1000001 in the morning and -1 at night. 07:59:00 zzo38: Good point. 08:04:14 It is difficult to repair a watch while falling from an airplane. 08:04:38 But that is what you have to do to win at this TV game show 08:05:37 Which game show? 08:05:41 I don't know. 08:06:10 It isn't a game show; it is actually your *job*. 08:06:20 oh no! 08:06:25 oh no! 08:06:47 /!\ 08:06:50 /⚠\ 08:06:52 /⚠\ 08:07:48 -!- carado has joined. 08:07:51 Did you underline that with a ruler? 08:08:35 No. 08:08:39 I've never been in Japan. 08:09:16 But you don't have to! 08:10:24 fizzie, I'm curious 08:10:25 Does 08:10:36 (((({+})%0)%0)%0)%0 08:10:40 Do anything to gearlance? 08:10:45 <[mbm]> 08:11:58 -!- carado_ has quit (Ping timeout: 246 seconds). 08:12:48 -!- Nisstyre-laptop has quit (Ping timeout: 264 seconds). 08:16:42 Someone once made up the text for Magic: the Gathering card, "Goblins cannot reach Nirvana". 08:16:55 (It is an enchantment card named "Nirvana", with no other effect) 08:17:09 -!- heroux has quit (Ping timeout: 240 seconds). 08:19:00 -!- heroux has joined. 08:22:27 Lymia: %'s and *'s are equivalent as far as it's concerned, so that should just be (((({+})%0)*0)*0)*0 and the outermost loop would be deleted. (Technically, it might turn into (((()*0+()*0)*0)*0)*0 as an intermediate step.) 08:23:33 Lymia: Come to think of it, I'm not entirely certain the "remove contentless loops" will do the right thing when nested {}s are involved. Fortunately those aren't used much. They bind kind of strangely. 08:23:36 zzo38: wouldn't that be correctly templated as "If Nirvana is a creature with flying, Goblins cannot block it unless they have flying"? 08:23:45 or perhaps "Goblins with reach cannot block it" 08:23:50 I don't think many goblins have reach anyway, though 08:24:33 ais523: I don't know if whoever made that had a meaning, but I made up the meaning of it, that if Nirvana is a creature with flying then Goblins with reach cannot block it unless they also have flying 08:24:43 Lymia: (Doing (a(b{c{d}e}f)%2g)%3 is legal and equivalent to abbcabbcabbcdeffgeffgeffg.) 08:24:57 zzo38: yeah, that's the only sensible meaning within the rules 08:25:01 but it's templated really badly 08:25:10 ais523: Yes I know 08:25:25 that said, it needs at least two extra cards in order to make an enchantment into a creature with flying 08:25:42 and probably requires one extra card (as well as the goblin) to make a goblin with reach 08:25:48 so the situation is unlikely to happen often 08:25:56 I know this situation is very unlikely. 08:28:14 I *think* (a({c{d}e})%2g)%3 currently would turn into (a()*0c{d}e()*0g)%3 which would do the right thing. And... (({{d}e}f)%2g)%3 into (()*0)*0d(e(f)*2g)*3, which also seems like it'd work out. 08:28:48 ais523: You probably know better, are nested {}s used in real-word business bfjoust code? 08:28:51 Which card texts could be compiled by computer into a computer program with the same meaning? 08:29:08 fizzie: they aren't, but I think we agreed that if they have a meaning, the inside % matches the outside {} 08:29:32 Yes, that's what gearlance does (should do). I was just wondering. 09:01:18 -!- Fiora_ has joined. 09:01:31 Waking up hellishly early just so I have 3 hours to get ready. Good idea or bad idea? 09:02:13 Sgeo: for what? and is it likely that you'd spend 3 hours getting ready? 09:02:32 normally for important things, I time how long it would take to get ready, through experience, then add half an hour 09:02:50 Ready for work. And it's likely that if I had only 2 hours to get ready, then I'd end up panicking and rushing 09:03:00 first day at a new job? 09:03:10 Second day 09:03:49 starting early makes sense until you know how long it takes to get ready 09:04:31 I had so little sleep for yesterday that I ended up zoning out while reading about Spring 09:04:47 I did not get enough sleep tonight, so I'm worried it will be worse 09:06:24 -!- clog has quit (*.net *.split). 09:06:25 -!- Fiora has quit (*.net *.split). 09:06:40 -!- FreeFull has quit. 09:06:48 * itsy used to get up at 4:30am to start work at 6:30am (when I had a 15 minute journey) 09:07:45 when going to work, I consistently leave 80 minutes if going in by bus, or 50 for going in by train 09:08:01 ais523, have you ever had to deal with Spring? 09:08:14 no 09:13:15 -!- epicmonkey has joined. 09:17:25 -!- heroux has quit (Ping timeout: 246 seconds). 09:17:40 1 hour of the 3 hours is reserved as failing to actually accomplish anything for the first hour after waking up 09:17:49 (Except eating. I do manage to eat sometimes) 09:18:11 -!- epicmonkey has quit (Remote host closed the connection). 09:19:28 -!- heroux has joined. 09:19:32 -!- epicmonkey has joined. 09:22:15 fizzie, I was thinking about something related to that. 09:22:29 If the consulting company gives me a laptop and a case, is the case likely to be waterproof? 09:22:35 I was wondering if it'd be possible to construct a continuation, effectively, from a point in a BFJoust program-- nested {}s will almost certainly be involved. 09:22:43 If not, then the laptop they gave me is probably ruined :( 09:22:49 The purpose would be for generating some constructions in a higher level language compiling to BFJoust 09:24:47 Something like, (try-for(300, +, nil)>)*-1 -> ((([+{{}}])%300)*-1)%300 09:24:54 Erm 09:25:01 Something like, (try-for(300, +, nil)>)*-1 -> ((([+{{}}])%300)*-1)%-1 09:25:31 Lymia: I don't think it's possible in general 09:25:36 If you intend for the %s to bind to the {}s, that does not look like something you could write, also. 09:25:49 well, except via the very wasteful method of duplicating the entire program for each control flow operator 09:26:09 Sgeo: it's possible for a case to be waterproof, but did they have any reason to believe you would try to use water on it? 09:26:09 ((([+{{}}])%300)*-1)%-1 has the {}s bound to the inner two sets of parentheses. 09:26:15 if not, they wouldn't have a reason to make sure you get a waterproof laptop 09:26:28 ais523, yeah. 09:26:30 That's the problem. 09:26:45 olsner, I don't know. Maybe they don't believe in rain or something 09:26:56 You can't do (a(b{c}d)*N e)%M with {}s bound to the outer parens, in general; what would that expand to? 09:27:04 maybe they believe in you using a bag of some sort to carry the laptop 09:27:07 Sgeo: was it just rained on? Or was it dropped in a puddle or something? 09:27:17 Heavily rained on 09:27:21 also, most electronic components work fine after they dry out, even if they get wet 09:27:27 removing the battery will help in the case of a laptop 09:27:28 olsner, the case counts as a bag I assume? 09:27:36 in general, if it hasn't exploded already, that's a good sign 09:27:50 most laptop cases aren't perfectly waterproof, but will substantially reduce the amount of water reaching the laptop 09:27:56 I'm not sure what "case" means here, so I can't tell ... did the laptop get wet? 09:28:04 I don't know if the laptop got wet 09:29:21 ais523, I'm certain that you can calculate a series of instructions that will do the job 09:29:33 The problem is if it can always be encoded without huge amounts of reptition 09:29:47 Lymia: it can't be, I'm basically 100% sure, if you need it cycle-accurate (and you usually do) 09:29:53 Sgeo: why don't you examine the laptop to see whether it's wet? 09:30:05 I know when I took my laptop home from work in very heavy rain 09:30:12 the laptop itself stayed dry, but the charger got wet 09:30:18 so I had to wait for it to dry out 09:30:19 Taking the laptop out of the case is difficult 09:30:27 ais523, what construction would prevent that? 09:30:40 I could look at it when I get to work, I gues 09:30:42 guess 09:31:07 Lymia: I don't think there is a general method for doing what you're planning to do 09:31:32 I'm not sure either-- without a gigabyte program 09:31:59 imagine something as simple as "do >+, then wait for the current cell to become zero, then wait that many cycles again, then do something else" 09:32:13 the only implementation I know of that involves making a huge number of copies of the "do something else" 09:32:50 Right 09:32:55 And you need 100000 copies in the worst case. 09:34:08 yeah 09:34:12 well, 50000 09:34:22 past then, you can use a fixed 50000-cycle wait 09:34:32 because it's going to take you off the end of the cycle limit regardless 09:34:46 actually, EgoBot currently can't handle a nesting depth greater than 256 09:34:49 so you'd have to stop at 256 cycles 09:35:08 or do what I did in anticipation (the first one), and look for all the cases that were actually used on the hill 09:35:16 and remove the others to save on nesting 09:35:22 Well 09:35:27 with the result that anticipation often won't do anything against newer programs 09:35:34 Without features to transform code, there's still a macro language at its core 09:35:50 -!- heroux has quit (Ping timeout: 245 seconds). 09:35:50 I'd need to see if it'd actually be useful though :p 09:36:45 -!- heroux has joined. 09:39:52 ais523, I had an idea that I have no idea where to begin with implementing 09:40:10 Lymia: this is common 09:40:24 asking for help may sometimes help, but not always 09:40:32 :c 09:40:42 ais523: I've bumped up the nesting limit number (it's just the size of three int arrays during parsing, after all) to 4096, incidentally, while fixing that denial-of-service issue, though I don't think Gregor has necessarily updated. 09:40:48 Given a hill, make a program that will distinguish the exact target program, tape length, and polarity. 09:41:05 Lymia: that's come up before, normally in the context of "and beat it" 09:41:15 :p 09:41:15 people have put thought into it, but nobody's solved it yet 09:41:16 (There's still a limit that's different than "maximum amount of memory", however.) 09:41:21 ais523, well. 09:41:32 "And beat it" isn't really hard 09:42:00 Since once you know exactly the game state, you can just go ahead and find a fixed sequence of commands 09:42:01 Lymia: it could be if it's already on your flag by the time you figure out what it is and you can't get back to defend in time 09:42:30 Yeah. 09:42:53 I'm pretty sure you have to be able to do it in 128 cycles, period. 09:43:02 Or, at least, figure out the fast rushes in that time. 09:43:11 And distinguishing the multitude of defense programs would be near impossible. 09:43:20 (The ones that never leave their cell that is) 09:43:54 ais523, well... 09:43:57 I guess you could start with 09:44:06 "Given a program, figure out the exact polarity and tape length" 09:44:11 Which should be more possible. 09:44:39 I'm not sure it's that much more possible 09:44:59 also you have a bit more than 128 against even the fastest turtles 09:45:15 !bfjoust fastest_turtle (>)*8(>(+)*128.)*21 09:45:23 ​Score for ais523_fastest_turtle: 4.6 09:45:50 !bfjoust almost_as_fast_turtle (>)*8(>[(+)*128.>])*21 09:45:53 ​Score for ais523_almost_as_fast_turtle: 17.4 09:46:09 2 is faster for most cases though :p 09:46:13 yeah :) 09:47:10 Figuring out the polarity+length could probs be easily done by simply planting decoys, and checking timings 09:47:30 actually, distinguishing one vibrator from another seems to be very difficult indeed 09:47:48 or imagine a hypothetical unsynchronized lock + full-tape clear 09:48:02 which only changes its own cell, and the cell 9 away, moving onto 10 away when that's been cycled, and so on 09:48:14 Right. 09:48:14 say the tape is length 10; how do you determine the polarity? 09:48:32 ais523, it might be marginally possible if you relax the constraints a little. 09:48:35 AFAICT it can only be via clearing the enemy flag, or monitoring your own flag to see when it's cleared 09:48:37 To "as many cases as possible" 09:49:16 I suspect that, given a certain set of programs, you can, given a certain initial sequence of commands, figure out which cycles during which you are /in danger/ of your flag being cleared. 09:49:42 yeah, that seems like a more fruitful route of investigation 09:50:30 I'm not fully clear on the rules here 09:50:32 If you do []+ 09:50:42 On your home cell-- when [ is the exact same tick as the - 09:50:46 That brings your cell down to 0 09:50:47 What happens 09:52:37 .bfjoust ([]+)*-1 09:52:45 er... 09:52:53 * Lymia just goes to the JS intreperter 09:53:25 Lymia: the [ gets the value at the start of the cycle 09:53:28 so no, that trick doesn't work 09:53:32 it'd probably be overpowered if it did 09:54:52 I think a stepping stone would be 09:54:57 Creating a "perfect vibrator" 09:55:04 That never /loses/ a single joust 09:56:45 This program would likely be filled with NOPs... 10:00:18 Could be doable. 10:00:20 I'll have to try sometime 10:04:54 -!- heroux has quit (Ping timeout: 256 seconds). 10:06:47 -!- heroux has joined. 10:21:31 -!- heroux has quit (Ping timeout: 264 seconds). 10:21:48 -!- heroux has joined. 10:33:56 -!- sebbu has quit (Ping timeout: 252 seconds). 10:41:26 -!- sebbu has joined. 10:41:32 Lymia: yeah, I was thinking along those lines too 10:41:59 -!- sebbu has quit (Changing host). 10:41:59 -!- sebbu has joined. 10:42:02 ais523, there'd be a lot of infrastructure. 10:42:21 I'd need a BF joust simulator where one side of the joust doesn't actually have a set program. 10:42:32 Furthermore, it'd have to operate on immutable data structures 10:42:54 (to allow looking ahead, then going back) 10:51:56 -!- heroux has quit (Ping timeout: 256 seconds). 10:51:56 ais523, if you have enough nops 10:52:16 yeah, I don't have a simulator that works like that 10:52:18 You might be able to try and simply chip away at the flag each cycle you have time. 10:52:31 Lymia: that's how defence programs normally win 10:53:32 Right 10:53:38 The remaining issue is 10:53:43 A final case for dealing with other defense programs 10:53:54 -!- heroux has joined. 10:54:06 Eh. 10:54:10 Needs a lot of figuring out, I guess 10:55:25 -!- carado has quit (Ping timeout: 246 seconds). 10:57:04 Are khaki pants and a blue and white striped button down shirt considered business casual? 10:57:27 your work has a dress code? O.O 10:57:50 Sgeo, wear a dress! :D 10:58:12 -!- carado has joined. 10:58:12 olsner, erm, pretty sure every place has a dress code of some sort. Except nudist resorts 10:58:17 Does egojsout have any keyboard shortcuts for moving the "expanded" cycle window forward and backward? 10:58:45 fizzie, how do you implement ({})? 10:58:59 I might need to write my own interperter for something 10:59:16 (since I'll basically need to go cycle by cycle, analysing stuff as I go) 11:01:49 That is, both a ({ pair and a }) pair are implemented much like a simple () loop is, with the sole exception that a }) pair counts from down to up, so that things work out right if a [ inside the ({ pair jumps into the matching ] inside a }) pair. 11:01:53 It's reasonably simple; about the only real "trick" is that one of them counts backwards. 11:02:00 (I said those two things in the wrong order.) 11:02:07 (Please read them backwards too.) 11:03:07 -!- carado has quit (Ping timeout: 246 seconds). 11:03:16 (In fact, ( in a () and the ( in a ({}) have the same "opcode".) 11:04:40 -!- carado has joined. 11:06:04 fizzie, eh. 11:06:07 Due to language of choice. 11:06:14 It'd be best to find an representation that works as an ADT 11:06:37 -!- clog has joined. 11:07:01 -!- clog has quit (Client Quit). 11:07:13 -!- clog has joined. 11:08:27 -!- Taneb has joined. 11:09:00 -!- heroux has quit (Ping timeout: 272 seconds). 11:09:06 Lymia: You are going to have much fun with ([{...}])%N, if you want your types to have both a "Loop [Code]" kind of a thing and a "ComplexRep [Code] [Code] [Code] Int" kind of thing at the same time. 11:09:41 -!- heroux has joined. 11:09:49 That's the bad part :p 11:09:57 Unless I wanna call/cc or something. 11:10:29 I think next week I may go start the GRAND #ESOTERIC LOG CLASSIFICATION PROJECT 11:10:30 Ahaha! 11:12:06 Hmm 11:12:18 This is probably a well researched topic in computer science 11:13:37 -!- carado has quit (Ping timeout: 246 seconds). 11:14:13 -!- heroux has quit (Ping timeout: 240 seconds). 11:15:10 Or I could do it manually, which would take ages 11:15:56 -!- heroux has joined. 11:18:08 -!- carado has joined. 11:18:47 What does the PROJECT classify the logs into? 11:18:58 Categories 11:19:05 `? categories 11:19:09 categories? ¯\(°_o)/¯ 11:19:16 Categories in the not computer science sense 11:19:21 I thought it knew about that. 11:19:27 `? category 11:19:29 Categories are just a special case of bicategories. 11:19:37 Ah, it's not a plural. 11:19:49 Could you do a linky thing? 11:20:04 Topic modelling of text is certainly a well researched topic. 11:21:45 Soon... it shall be TIME TO LEARN! 11:21:46 Ahaha! 11:22:57 As you can tell, I'm feeling rather OTT at the moment 11:24:36 Unfortunately, I suspect I may be venturing into the unexplored 11:25:04 I also suspect I am hungry and have no access to food 11:25:37 Goodbye 11:25:42 -!- Taneb has quit (Quit: Page closed). 11:42:00 So tired 11:42:01 :( 11:42:10 Will I even be able to keep my eyes open at work? 11:42:13 Will coffee help? 11:42:23 Why does my chest hurt and why have I been coughing so much? 11:45:34 -!- Jafet has joined. 11:46:19 -!- carado has quit (Remote host closed the connection). 11:46:36 -!- carado has joined. 11:55:01 -!- WeThePeople has joined. 11:58:10 -!- WeThePeople has quit (Read error: Connection reset by peer). 11:58:52 -!- sebbu2 has joined. 11:59:21 -!- sebbu2 has quit (Changing host). 11:59:21 -!- sebbu2 has joined. 12:00:26 -!- heroux has quit (Ping timeout: 245 seconds). 12:02:13 -!- heroux has joined. 12:04:43 -!- sebbu has quit (Read error: Connection reset by peer). 12:04:44 -!- zzo38 has quit (Ping timeout: 246 seconds). 12:18:39 -!- carado has quit (Remote host closed the connection). 12:21:57 -!- carado has joined. 12:23:24 -!- boily has joined. 12:32:36 -!- heroux has quit (Ping timeout: 264 seconds). 12:34:14 -!- heroux has joined. 12:38:29 -!- carado has quit (Remote host closed the connection). 12:38:51 -!- asiekierka has quit (Quit: acorp). 12:56:51 -!- Phantom_Hoover has joined. 13:22:33 -!- sebbu2 has quit (Read error: Connection reset by peer). 13:22:35 -!- ais523 has quit. 13:22:52 -!- sebbu has joined. 13:23:20 -!- sebbu has quit (Changing host). 13:23:20 -!- sebbu has joined. 13:38:59 -!- ThatOtherPerson has joined. 14:12:51 -!- metasepia has joined. 14:30:12 -!- GOMADWarrior has joined. 14:31:14 I'm thinking up a eso lang 14:32:04 ok 14:36:22 @tell tswett how's your combientièm(e) lang going on? 14:36:23 Consider it noted. 14:36:41 GOMADWarrior: what kind of lang is it going to be? 14:39:26 no brackets 14:39:32 one command per line 14:39:51 esoteric 14:40:11 I think so 14:40:35 ...i hope there's more to it than that 14:40:35 as in, made just for fun 14:41:07 you can alter functions at run time 14:41:27 so far this describes python 14:42:12 how do you do it in python? 14:42:27 modify functions? 14:42:40 f = something else 14:43:35 not the variables 14:43:39 the functions themselves 14:43:54 as in, add one more thing for it to do 14:44:11 functions are first-class in python 14:44:14 it'll be how we specify functions, first create empty, then add 14:45:09 def g(*a, **kw): f(*a, **kw); other thing \n f = g 14:45:32 anyway it's not the same as what you're planning, I agree 14:46:05 btw whitespcae syntax is a good idea but treating it as anything other than sugar for punctuation is a terrible idea 15:02:49 -!- ThatOtherPerson has quit (Quit: Leaving). 15:11:37 -!- Taneb has joined. 15:17:14 -!- Arc_Koen has joined. 15:18:19 -!- azaq23 has quit (Quit: Leaving.). 15:23:01 -!- ThatOtherPerson has joined. 15:31:48 -!- ThatOtherPerson has quit (Ping timeout: 252 seconds). 15:31:52 -!- ThatOtherPersonY has joined. 15:32:32 -!- ThatOtherPersonY has changed nick to ThatOtherPerson. 15:36:42 -!- carado has joined. 15:56:35 -!- Lymia has quit (Ping timeout: 255 seconds). 16:03:52 -!- nooodl has joined. 16:16:58 -!- Lymia has joined. 16:17:00 -!- Lymia has quit (Changing host). 16:17:00 -!- Lymia has joined. 16:30:29 -!- c00kiemon5ter has joined. 16:31:28 http://www.youtube.com/watch?v=v2ITaI4y7_0 that was interesting 16:34:26 -!- Laurita has joined. 16:34:52 hola 16:35:00 hola 16:35:05 `welcome Laurita 16:35:07 Laurita: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 16:35:32 como estan 16:37:13 Muy bien 16:37:24 Y usted? 16:37:33 bn bn calii 16:38:12 yes 16:38:39 Hablas ingls? 16:39:10 noo 16:40:05 `ls bin/ 16:40:06 ​? \ @ \ WELCOME \ addquote \ allquotes \ anonlog \ aseen \ botsnack \ bseen \ calc \ CaT \ define \ delquote \ emmental \ emoclew \ emptylist \ etymology \ forget \ fortune \ frink \ fueue \ gaseen \ google \ h \ ?h \ h! \ hatesgeo \ hello \ ?hh \ hyfinate \ hyphenate.fi \ instalist \ interp \ joustreport \ jousturl \ js \ json \ k 16:40:19 `run ls bin/ | paste 16:40:25 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.31664 16:41:04 `paste bin/welcome 16:41:06 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/welcome 16:41:24 `paste wisdom/welcome 16:41:26 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/wisdom/welcome 16:41:38 kmc: you can use `url when the target is a filename btw 16:41:42 maybe `paste should optimise that 16:41:45 ok 16:41:51 i want to add welcome.es 16:42:04 just echo something to wisdom/welcome.es 16:42:13 i guess you want to make a bin/welcome copy too 16:42:25 it should be generalized! 16:42:28 but i don't wanna do it 16:42:45 do we really need to make it even easier to make stupid programs on hackego :p 16:43:23 Laurita, Hablas finlands? 16:43:29 i don talk eingles 16:43:57 Laurita: ¿habla usted francés? 16:44:03 `echo "Bienvenido al centro internacional para el diseo esotrico lenguaje de programacin y despliegue! Para obtener ms informacin, echa un vistazo a nuestro wiki: http://esolangs.org/wiki/Main_Page. (Para el otro tipo de esoterismo, prueba # esotrico en irc.dal.net.)" > wisdom/welcome.es 16:44:04 ​"Bienvenido al centro internacional para el diseo esotrico lenguaje de programacin y despliegue! Para obtener ms informacin, echa un vistazo a nuestro wiki: http://esolangs.org/wiki/Main_Page. (Para el otro tipo de esoterismo, prueba # esotrico en irc.dal.net.)" > wisdom/welcome.es 16:44:11 # esotérico 16:44:17 i think that translation is slightly fucked 16:44:21 probably 16:44:25 Google translate 16:44:42 should be "diseño y despliegue de lenguaje de programación esotérico" or so 16:44:55 `bienvenue 16:44:56 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bienvenue: not found 16:45:04 je ne parle pas francais 16:45:17 Someone who knows spanish better than me should fix it 16:45:21 working on it 16:46:09 hablo espool no se hablar otro idioma 16:46:10 Laurita: ¿finés? 16:46:27 espaol 16:46:45 Laurita: tomé clases de español desde hace mucho tiempo, pero lo he olvidado casi todo. 16:46:59 boily: you know *two* fake languages? 16:47:02 <.< 16:47:09 mmm 16:47:20 elliott: that one was shamelessly, partially, bluntly google translated. 16:47:24 tenemos muchos personas quien hablan finés 16:47:34 no se por que 16:47:54 * kmc habla solamente un poquito de español 16:48:00 boily: c'est comme ça que vous parlez français aussi? 16:48:03 boily: Yo tambin. :/ 16:48:15 elliott: non, c'est ma langue maternelle. 16:48:32 quien sabe hablar espaol 16:48:44 elliott: on a eu 2 ans d'espagnol à l'école, mais ça fait longtemps et mettons que j'ai pas eu vraiment d'occasions de le pratique après. 16:48:48 * kmc también ha olvidado mucho español 16:48:58 boily: tes mensonges sont aussi transparentes que l'existence présumée vraie de la langue qu'ils sont écrits po. 16:49:32 elliott: the É is real! long live acute marks! 16:50:26 `echo "¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/wiki/Main_Page. (Para el otro tipo de esoterismo, prueba #esoteric en irc.dal.net.)" > wisdom/welcome.es 16:50:28 ​"¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/wiki/Main_Page. (Para el otro tipo de esoterismo, prueba #esoteric en irc.dal.net.)" > wisdom/welcome.es 16:50:33 `run echo "¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/wiki/Main_Page. (Para el otro tipo de esoterismo, prueba #esoteric en irc.dal.net.)" > wisdom/welcome.es 16:50:37 No output. 16:51:14 Re. Spanish: https://www.youtube.com/watch?v=4LjDe4sLER0 16:52:09 Laurita: ¿cómo descubriste este canal? 16:53:00 programa usted los ordenadores? 16:53:24 por la lista de canales 16:53:59 `welcome 16:54:00 Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 16:55:18 `echo "Bienvenue sur le centre international pour le design et le déploiement des langages de programmation ésotériques! Pour plus d'informations, visitez le wiki: http://esolangs.org/wiki/Main_Page. (Pour l'autre type d'ésotérisme, essayez #esoteric sur irc.dal.net.)" > wisdom/welcome.fr 16:55:19 ​"Bienvenue sur le centre international pour le design et le déploiement des langages de programmation ésotériques! Pour plus d'informations, visitez le wiki: http://esolangs.org/wiki/Main_Page. (Pour l'autre type d'ésotérisme, essayez #esoteric sur irc.dal.net.)" > wisdom/welcome.fr 16:55:27 `wisdom.fr 16:55:28 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wisdom.fr: not found 16:55:31 darn. 16:55:36 `run echo "Bienvenue sur le centre international pour le design et le déploiement des langages de programmation ésotériques! Pour plus d'informations, visitez le wiki: http://esolangs.org/wiki/Main_Page. (Pour l'autre type d'ésotérisme, essayez #esoteric sur irc.dal.net.)" > wisdom/welcome.fr 16:55:39 No output. 16:55:44 `wisdom.fr 16:55:45 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wisdom.fr: not found 16:55:50 bin là. 16:55:56 den 16:55:59 for a start it's welcome.fr, not wisdom.fr :P 16:56:03 `? welcome.fr 16:56:05 Bienvenue sur le centre international pour le design et le déploiement des langages de programmation ésotériques! Pour plus d'informations, visitez le wiki: http://esolangs.org/wiki/Main_Page. (Pour l'autre type d'ésotérisme, essayez #esoteric sur irc.dal.net.) 16:56:10 * boily facepalms. 16:56:16 you didn't see nothing. 16:56:19 `run ls wisdom | paste 16:56:24 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.1022 16:56:50 `? tanebvention 16:56:52 Tanebventions include D-modules and automatic squirrel feeders 16:57:03 I forgot about that 16:57:07 `? välkommen 16:57:08 Hej och välkommen till den internationella knutpunkten för design och distribution av esoteriska programspråk! För mer information, se vår wiki: http://esolangs.org/wiki/Main_Page. (För den andra sortens esoterism, pröva #esoteric på irc.dal.net.) 16:57:15 `? phantom____________________hoover 16:57:15 `? bonvenon 16:57:17 Your soundcard works perfectly. 16:57:17 bonvenon Bonvenon al la internacia centro por la desegno kaj ellaso de esoteraj programlingvoj! Por pli da informado, vizitu la Viki-o: http://esolangs.org/wiki/Main_Page. (Por la alia speco de esotero, iru al #esoteric sur irc.dal.net.) 16:57:20 -!- necropumpkin has quit (Ping timeout: 255 seconds). 16:57:24 `run mv wisdom/welcome.fr wisdom/bienvenue 16:57:25 is that esperanto? 16:57:27 No output. 16:57:38 boily: eh I think it's more helpful to use the codes 16:57:50 otherwise I have to remember how to spell bienvenue to greet someone speaking french ;P 16:57:51 -!- copumpkin has joined. 16:57:57 but maybe this channel isn't about being helpful 16:58:01 kmc: what about välkommen? 16:58:02 hola copumpkin 16:58:08 this channe is all about helpfulness. 16:58:12 (and squirrel feeding.) 16:58:16 copumpkin: hablemos español hoy 16:58:31 `? misspellings of croissant 16:58:33 misspellings of crosant? ¯\(°_o)/¯ 16:58:39 kmc: you realise translating the welcome isn't for the benefit of people who speak that language 16:58:47 no 16:58:53 furthermore, 16:58:54 cocks 16:59:03 ~duck cock 16:59:05 --- No relevant information 16:59:11 go figure. 16:59:55 they're corkscrew shaped 17:00:06 ~duck corkscrew 17:00:07 corkscrew definition: a device for drawing corks from bottles that has a pointed spiral piece of metal turned by a handle. 17:00:56 So I've heard, kmc 17:01:05 However I fail to see the relevance 17:01:30 -!- c00kiemon5ter has left. 17:01:34 ~duck relevance 17:01:35 Relevance is a measure of how pertinent, connected, or applicable something is. 17:01:49 ~duck types 17:01:50 type definition: a person or thing (as in the Old Testament) believed to foreshadow another (as in the New Testament). 17:01:50 ~duck neotheology 17:01:51 --- No relevant information 17:01:52 er 17:01:55 ~duck neurotheology 17:01:56 Neurotheology, also known as spiritual neuroscience, attempts to explain religious experience and behaviour in neuroscientific terms. 17:03:05 ~duck anatidaephobia 17:03:06 --- No relevant information 17:03:55 One of my gran's ex-boyfriend's birthday just got published in the Times today 17:04:03 anyone translate the welcome to lojban? 17:05:36 `? huomenta 17:05:38 huomenta? ¯\(°_o)/¯ 17:06:14 `? tervetuloa 17:06:15 tervetuloa? ¯\(°_o)/¯ 17:08:21 Gregor: can codu.org (or at least the hackbot pastes) be configured to specify that it's serving UTF-8? 17:08:44 You tell me how to make Mercurial do that and I'll do that. 17:08:53 it's sending Content-Type:text/plain; charset="ascii" 17:09:02 you're using Mercurial as a web server? 17:09:57 *sigh* 17:09:59 Look at the URL 17:10:04 It uses the Mercurial web CGI thing. 17:10:18 I don't know anything about Mercurial.......... 17:10:25 I could guess what "fshg" is I supposee 17:10:29 Well then I guess we're not going to be fixing this problem today. 17:10:40 we will not go to space today 17:10:49 anyway I'm doing research but Chrome is shitting its pants 17:10:54 i will get back to you if I figure out how 17:12:33 well I mean Gregor could set his webserver to override the headers sent 17:13:56 rebooted Chrome 17:26:12 -!- Taneb has quit (Ping timeout: 252 seconds). 17:28:13 -!- Lymia has quit (Ping timeout: 240 seconds). 17:34:12 -!- Taneb has joined. 17:37:07 -!- Lymia has joined. 17:37:07 -!- Lymia has quit (Changing host). 17:37:08 -!- Lymia has joined. 17:37:59 -!- Laurita has quit (Quit: Saliendo). 17:38:15 boily: I guess Combientièm is finished. 17:38:16 tswett: You have 3 new messages. '/msg lambdabot @messages' to read them. 17:38:22 And I'm reasonably sure it's Turing-complete. 17:39:01 What if. 17:39:02 @messages 17:39:02 oerjan said 1m 10d 8h 53m 2s ago: I think that given a finite state machine with n states, you can construct a finite state machine with, like, O(n^3 log n) states that solves its halting 17:39:02 problem. <-- you seem close to reinventing hierarchy theorems... 17:39:02 oerjan said 1m 10d 8h 24m 57s ago: http://en.wikipedia.org/wiki/Large_countable_ordinals 17:39:02 boily said 3h 2m 40s ago: how's your combientièm(e) lang going on? 17:39:21 I guess that's why lambdabot said I should /msg her. 17:39:57 * Lymia notes to start on her, er, concept for a bfjoust warrior 17:40:15 I'm aiming for >80.0~ 17:41:12 Why aim for anything less than a hundred? 17:41:36 -!- Taneb has quit (Ping timeout: 264 seconds). 17:42:09 Also, misread "Turgid-complete". (I suppose many esolangs are that too.) 17:42:20 fizzie, because I'm not 100% sure it's possible :p 17:42:41 Or, at least, computationally feasible. 17:43:53 With the power of your IMAGINATION, anything is possible. 17:44:12 Sure 17:44:25 There likely exists at least one program P that beats the whole hill, and every program that has ever existed on the hill. 17:44:38 Finding it is likely computationally infeasible, although /possible/ 17:45:51 You have to reach for the stars in order to something something something. 17:47:00 tswett: solves its halting in what sense? 17:47:09 accepts the strings on which the original halts? 17:47:28 are these two-way machines? 17:47:37 http://sprunge.us/WbfA <- stars. 17:47:46 fizzie: That sounds like an Impossible Dream 17:47:47 otherwise i have a much better solution: 1 state. 17:48:01 That is your quest 17:48:04 To follow that star 17:48:10 No matter how hopeless 17:48:15 No matter how far! 17:48:41 "you have to reach for the stars in order to release only mycology.b98 after writing to (-1,-1) ()" this one is probably about Deewiant. 17:49:27 the russian guy who asked about my military rank studies exactly this kind of problems and i'm taking his course atm 17:49:44 oklopol: "solves its halting problem" as in "determines whether it halts or not, for all inputs". 17:50:09 I realized that there's actually a way better way to do it, that only uses... O(n) states, I think. 17:50:10 what does "halts" mean? 17:50:24 and what language does the machine accept exactly? 17:50:37 Whatever and whichever, respectively? 17:50:40 okay 17:50:40 so 17:50:49 Assume that there's a state called "HALT" that unconditionally leads to itself. 17:50:55 And then it accepts the language {0, 1}. 17:51:19 Anyway, you can just run it for about n steps; if it hasn't halted by then, it never will. 17:51:54 so err. you are given a deterministic finite state automaton A, and you need to produce an automaton B which, say, accepts something if A always halts, and otherwise accepts nothing? you need 1 state. 17:52:09 Well, yeah, that's correct. 17:52:13 and the answer is that it always halts 17:52:15 okay 17:52:26 your bound is not optimal but i suppose it's correct 17:52:26 Wait, I think I misread "accepts". 17:52:50 1+1 is less than 1893798374 17:52:51 What does it mean for an FSA to accept a language, again? 17:53:23 * tswett brbs. 17:53:29 if A is a DFA (deterministic finite state automaton), its language is the set of words w such that after reading w, A is in an accepting state. 17:53:48 a DFA will walk once over its input, then halt in some state 17:54:18 it has an initial state from which it starts, and it has a function that determines what state it enters next, given the current state and the current symbol 17:54:26 some states are accepting, some are not 17:57:37 what i thought you wanted was to take a two-way DFA (so it has a rule that determines what state it enters next _and which way to move_, given the current state and the current symbol), and construct another two-way DFA that accepts the words on which the previous does not halt. 17:57:55 -!- epicmonkey has quit (Ping timeout: 245 seconds). 17:58:00 i think you need at most 4n states for this 17:59:17 are you talking about FSAJoust? 17:59:36 i'm just trying to find out what tswett is talking about 17:59:45 I hope nobody actually makes that 17:59:52 (Malborge Joust) 17:59:54 (do it) 18:00:17 jousting with pebble automata might be fun 18:00:18 well bfjoust programs are already fine state machines 18:00:25 finite too 18:00:38 not in any relevant sense though 18:01:25 or otherwise it makes no sense, conceptually, to run the programs on inputs of multiple sizes 18:01:40 imo 18:01:52 In befjoust, you play all the 441 different playfield rectangles from 10x10 to 30x30; your flag is in the top left corner, and the opponent's is in the bottom right. 18:02:08 yeay 18:02:30 what happens if I use the command p with coordinates outside the rectangle? 18:02:48 I suppose you lose by way of analogue from "falling off the tape". 18:02:59 beefjoust 18:03:10 In beefjoust, everything's delicious. 18:03:17 beetlejuist 18:03:25 fizzie: another idea for overoptimising bf joust interpretation: you can share work between tape lengths 18:03:50 like, before you reach a square another warrior set or the edge of the tape, everything is always exactly the same 18:04:22 is the code for the bf joust interpreter thing online? 18:04:25 so you can simulate when they'll "meet" on the smallest length and then take that as the first N steps of every longer tape length 18:04:25 -!- Fiora_ has changed nick to Fiora. 18:04:30 fizzie: if you make befjoust, you might as well have 4 warriors 18:04:32 just by putting zeroes in the middle 18:04:43 Fiora: http://git.zem.fi/chainlance 18:04:58 erm so when it says "move toward the opponent" in >, does that mean move toward the opponent's flag? 18:05:10 definitely 18:05:23 oklopol: yes 18:05:50 a simpler interpretation would be "move right" and then "by convention, all warriors are written as if they were the left warrior" 18:06:13 that sounds less simple :P 18:06:22 ok :( 18:06:30 thankies 18:06:31 !bfjoust fwoggle ><><><>>>><<<< 18:06:34 ​Score for boily_fwoggle: 6.5 18:06:44 That's pretty close to fizzie_headless_chicken. 18:06:54 how in the fungot did I manage to score >0.0 ??? 18:06:54 boily: roosa's pulling fiz's nose. :p don't think that matters greatly for the semantics... we proved earlier that urban's original bf is fnord. 18:06:58 whooa, it's written in asm? 18:06:59 Except it goes a bit further. 18:07:42 Fiora: It's not? 18:08:00 fizzie: Fiora is probably referring to the header file? 18:08:01 for the jit stuff 18:08:08 Oh, well, that's chainlance. 18:08:13 Fiora: You want to be looking at gearlance.c. 18:08:36 why does egobot use the non-jitting one, anyway? 18:08:40 oh, what's the difference between the asm part and the switch inteprreter in gearlance? 18:08:53 Turns out the threaded-code-computed-goto was faster than my admittedly clunky and optimization-less JIT version. 18:08:58 If I remember rightly, anyway. 18:09:00 heh 18:09:34 fizzie: you know you want to write the parallel-with-syncing work-sharing-across-tape-lengths-(and-polarities???) mega-JIT version!!! 18:10:08 I'm pretty sure I don't want to want to, though. 18:11:20 oklopol: all right, I'm talking about something a lot simpler. 18:11:31 wow. computed gotos. this looks wonderfully fun 18:11:32 Namely, a DFA with no input. 18:11:50 and halting means? 18:12:10 Entering a halting state at any time. 18:12:10 each DFA either halts or not? 18:12:19 Yeah. 18:13:01 so given a tswett-DFA A, you need to output a tswett-DFA that says "yes" if A halts, and you need to output a tswett-DFA that says "no" if it doesn't halt? 18:13:13 this is still O(1) 18:13:36 Indeed it is. 18:13:58 -!- Taneb has joined. 18:13:59 which, again, does not contradict what you said, i was just wondering if maybe the n^3 log n was for a reason. 18:14:03 I guess the significant result is that the halting problem can be computed using however much space and however much time. 18:14:33 Yeah, I figured it was possible to solve the halting problem for a DFA using O(n^3 log n) space. 18:14:35 fizzie, how do you implement ({}) exactly? 18:14:43 I'm going to have to write a custom parser for this project, I'm almost positive. 18:14:48 well tswett-DFA are essentially just booleans with a fancy representation. 18:15:01 hmm, here's a silly idea. what if you had 8^2 possible labels instead of 8 of them, i.e. like for each possible pair of A/B instructions? 18:15:05 I need to do manipulations on a sub-joust level, in parallel, with a huge number of warriors. 18:15:09 They are. The only hard part is evaluating the representation. 18:15:13 so like "[<" would be if A is doing [ and B is doing < 18:15:20 that'd cut the jumps in half, right? 18:15:32 if maybe make them even worsely unpredictable I guess 18:15:51 You can't really. 18:15:53 how about 8^200000? then you could just use one jump 18:15:54 And it won't optimize much 18:16:19 well halving jumps sounds like the kind of thing that would save a lot of time 18:16:42 yes, the computational complexity of actually finding out whether to output a tswett-DFA that says "yes" or one that says "no" is more complicated. 18:16:44 Fiora: It would also make dispatching to the next instruction worse. I mean, you can't prepare in advance the sequence of your double-instructions. 18:16:56 prolly O(n) or O(n^2) depending on your definitions. 18:17:05 Yeah. 18:17:12 fizzie: ahh, that makes sense. 18:17:13 plus some logs 18:17:13 maybe 18:17:29 O(1000000n!) anyways 18:17:53 Is O(n!) the same as O(n^n)? 18:17:59 No 18:18:00 Fiora: Since (++--)*-1 and (<<<>>>)*-1 would execute essentially (+< +< -< -> +> +>)*-1 and working out that in general sounds bad, esp. with []s involved. 18:18:03 I don't think 18:18:13 -!- FreeFull has joined. 18:18:18 yeah, I see now :< 18:18:26 tswett: no 18:18:41 n^n is O(n^n) but not O(n!) 18:18:49 Yeah, I guess it's pretty clear that n^n/n! increases without bound. 18:19:22 yes. n! is o(n^n) i suppose. 18:19:34 Fiora: I have a Befunge-93 interpreter that has 4*N labels, one for each current direction (for those where it matters). 18:19:41 or something like that 18:19:47 °(n) 18:19:51 ^ 18:19:56 that's a good o 18:19:59 Calculating n! you mean? 18:20:43 ? 18:20:50 "calculating n! is o(n^n) i suppose."? 18:22:03 the point was that the function (n \mapsto n!) is o(n^n), that is, the limit of n!/n^n is 0 18:22:03 Lymia: I implement ({})%N so that ( does count=N, { does if (--count) jump back, } does count=0 and ) does if (++count == N) jump back. 18:22:21 (With a stack involved to handle nesting.) 18:22:23 so the () and {} hassle in bfjoust; erm, why? 18:22:30 why not just allow unbalanced things? 18:22:31 oh 18:22:40 perhaps for optimization of the interpreter 18:23:04 oklopol: I believe it's to make that easier, yes. 18:23:14 fizzie, push the stack when you find a ()%? 18:23:39 Lymia: Well, it pushes on ( and }, pops on { and ). 18:23:52 Eh? 18:24:08 n! = Theta((n/e)^n sqrt(n)) 18:24:11 Right 18:24:34 How does this handle the loop being interrupted from the middle? 18:24:35 Like 18:24:39 ([{}])%200 18:24:45 It doesn't need to be handled specially. 18:24:55 The other side counts up, so it goes right automatically. 18:25:08 .. I see 18:25:18 And the rest is matching () with {}? 18:25:40 If you're doing the 50'th iteration of the ({ part, and jump out of it into the corresponding }), you'll do the remaining (corresponding) 50 iterations of the }). 18:25:51 How do you find the corrasponding one? 18:25:54 -!- Nisstyre has quit (Ping timeout: 264 seconds). 18:26:17 Lymia: Well, you can look at the parser. There's some stacks involved. 18:26:32 Well, wait. 18:26:33 Actually, I'm not sure you want to look at the parser, it's not pretty. 18:26:38 I guess there's no jump aheads involved in () 18:26:44 Meaning you can just push the location on a stack to begin with 18:26:53 Without too much preformance penality 18:26:56 oklopol: What is the complexity of multiplication? 18:27:20 Lymia: If you mean runtime, there's no stack of locations involved in any of [] () ({}), since all the locations are static. 18:27:30 i don't remember what the best one is 18:27:48 FreeFull, depends, AFAIK. 18:27:55 Won't n! usually have n-1 multiplications 18:28:11 we are not discussing the complexity of computing n! 18:28:16 Lymia: The parser populates each of those instructions with the index of the matching one. (Plus extra links between the {}s of a ().) 18:28:17 Fine 18:28:37 fizzie, yeah, I see 18:28:38 but yes, it has n-1 multiplications when written down 18:29:15 * Lymia goes ahead and just uses imperative idioms for parsing 18:29:41 Lymia: As for the parser, I tokenize everything into a list of struct op's first; then do one pass that matches ()s and ({})s together; and then another pass that matches each [] while checking that they don't "cross levels". 18:30:03 I can likely omit the cross level check 18:31:23 computing the binary representation of n! from the binary representation of n must be exponential time because the output is of superexponential length 18:34:30 (And a third pass which turns (Z)*N into (Z)*0, (Z{a}b)%N into (Z)*0a(b)*N and (a{b}Z)%N into (a)*Nb()*0, where Z is any string with no +-<>.[]; and a fourth pass that removes (...)*0 and turns (...{a}...)%0 to plain a. Pass #3 is for the DoS issue, and pass #4 is because the interpreter assumes that every () and ({}) loops at least once.) 18:34:33 -!- Bike has joined. 18:37:50 how does the op_rep thing work with nested repeats? 18:38:33 ooh, it has a repeat stack 18:39:46 Yes, and with complex stuff like (a(b{c{d}e}f)%Ng)%M, by the time you get to c, the (b{%N part pretty much no longer matters at all, so it can just push on the stack on all ( and }, and pop from the stack on all { and ). 18:40:35 hm, does ((a(b{cd}{e}f)%Ng)%M make sense 18:40:56 It's at least not allowed. 18:41:13 -!- Nisstyre has joined. 18:41:41 -!- augur has quit (Remote host closed the connection). 18:41:42 I only have a meaning for the (a(b{c{d}e}f)%Ng)%M case, and even that's a bit theoretical. 18:41:49 -!- itsy has changed nick to impomatic. 18:42:12 -!- augur has joined. 18:43:00 !bfjoust theoreoetic (([(-{>-}{]}+)%1>)%2 18:43:03 ​Score for boily_theoreoetic: 0.0 18:43:33 It's going to barf on that, I can tell from the {]} already. 18:43:35 take THAT, theoreticians 18:44:03 !bfjoust theoreoetic (([(-{>-}{.}]+)%1>)%2 18:44:06 ​Score for boily_theoreoetic: 0.0 18:44:19 I still prefer my fwoggle. 18:44:37 http://maximecb.github.com/Turing-Drawings/ 18:44:45 fizzie: well the meaning should be the same as the * form, presumably 18:44:51 the potentially-invalid * form that is 18:45:37 elliott: Could you expand (a(b{c}{d}e)%2f)%3 for me, then, in terms of abcdef. 18:45:58 http://demoseen.com/langton 18:45:59 -!- hkt has joined. 18:46:09 kmc, it's Wolfram's wet dream. 18:46:13 -!- augur has quit (Ping timeout: 240 seconds). 18:46:42 fizzie: well um let's see 18:47:27 (b{c}{d}e)%2 --> (b)*2c({d}e)*2 --> bbc{d}e{d}e ok never mind 18:47:55 !bfjoust nested_repeats_need_love_too (>>++<<(++-{>+<}-++)%20)%-1 (yeah, yeah, makes not much sense)*0 18:47:58 ​Score for fizzie_nested_repeats_need_love_too: 8.5 18:48:28 does wolfram even give a damn about automata that don't have his name on them 18:48:40 Er, I think I forgot the second pair of {s. 18:48:55 Bike, he does if he can modify them enough to rename them! 18:49:07 fizzie, wouldn't %-1 just end up as - 18:49:07 well i mean has he done that with langton 18:49:37 Taneb: Yes, I was going to put a regular ()*-1 around the whole thing, but got all confuzzled. I'll try it again. 18:49:44 Bike, yes. 18:49:46 !bfjoust wooden+ (>)*8(->)*15([-.]>)*30 18:49:49 ​Score for boily_wooden_: 0.0 18:50:13 !bfjoust wooden+ (>)*8(->)*5([-]>)*30 18:50:16 ​Score for boily_wooden_: 4.9 18:50:31 !bfjoust wooden+ (>)*8(->)*5(++++[-.]>)*30 18:50:34 ​Score for boily_wooden_: 1.0 18:50:51 I think there may be some strategic elements I *may* not quite grasp yet. 18:50:58 so anyway 18:51:05 !bfjoust nested_repeats_need_love_too ((>>++<<(++-{+++{>>>+<<<}---}-++)%20>>-<<)%20)*-1 (still makes no sense)*0 18:51:08 ​Score for fizzie_nested_repeats_need_love_too: 8.3 18:51:10 boily: that dies on too-short tapes, for a start 18:51:10 what's the definition of Control.Monad.forever because the standard isn't too helpful 18:51:19 Bike: forever m = m >> forever m 18:51:20 !bfjoust poor_defender_thing >>+<-<(-)*60(+)*65[-] 18:51:23 or forever m = do { m; forever m } 18:51:23 ​Score for FireFly_poor_defender_thing: 3.0 18:51:25 or forever m = fix (m >>) 18:51:27 oh 18:51:46 also are you really still reading the report over lyah. 18:51:51 really 18:51:58 elliott: I need a tape length detector: if I die when advancing, then the tape ends there. 18:52:17 Bike you're going to regret this have you even read the applicative functor chapter yet. 18:52:23 that covers something that's not even in the standard. 18:52:31 whoa, man 18:52:43 (what?) 18:52:49 (applicative functors) 18:52:55 (ah) 18:53:04 shocking twist 18:53:05 http://maximecb.github.com/Turing-Drawings/#4,3,2,1,3,1,1,1,1,1,3,2,2,1,1,2,3,0,1,3,1,1,2,1,1,1,0,2,0,2,1,2,1,2,0,1,2,0 these are awesome :D 18:53:12 !bfjoust nested_repeats_need_love_too ((+--+(++-{--+{-}++-}--+)%20-++-)%20)*-1 (let's just vibrate)*0 18:53:14 ​Score for fizzie_nested_repeats_need_love_too: 14.3 18:53:21 (in fact Bike should have already read that chapter before asking about forever) 18:53:21 Ooh, over a dozen. 18:53:28 FINE 18:53:29 (because you should learn about applicative functors before monads) 18:53:31 Or is that shuddering. 18:53:36 I don't know, I don't do jousting. 18:53:48 fiiiiine 18:53:53 (or actually forever should be defined with an Applicative constraint rather than a Monad one, but that's backwards compatibility for you) 18:56:41 -!- AnotherTest has joined. 18:57:04 oklopol, looks like sand dunes 19:00:32 -!- epicmonkey has joined. 19:01:28 -!- epicmonkey has quit (Remote host closed the connection). 19:02:30 -!- Nisstyre-laptop has joined. 19:04:52 -!- epicmonkey has joined. 19:08:30 -!- FreeFull has quit (Ping timeout: 252 seconds). 19:09:56 -!- FreeFull has joined. 19:10:57 !bfjoust canoninoff (>)*9([(+)*9[-]]>)*21 19:11:00 ​Score for boily_canoninoff: 18.5 19:11:10 when all else fails, read the documentation. 19:14:02 !bfjoust wooden_ (>++>+>-->-)*3(>[(+)*8[-...]])*18 19:14:05 ​Score for boily_wooden_: 8.2 19:14:08 eep. when I try to execute chainlance's asm, I get "cannot excute binary file" after assembling :< 19:14:14 !bfjoust wooden_ (>++>+>-->-)*3(>[(+)*8[-]])*18 19:14:17 ​Score for boily_wooden_: 17.5 19:14:27 -!- Nisstyre-laptop has quit (Quit: Leaving). 19:15:13 Does ducktyping always allow for generic programming? 19:15:54 -!- hkt has quit (Quit: Page closed). 19:16:07 -!- mrtrop has joined. 19:16:57 does anyone have any idea what this might be :< 19:17:07 all the results on google are trying to run a 64-bit binary on 32-bit but my system is 64-bit 19:17:36 Fiora: then there should be no problem at all? 19:17:42 but there is :< 19:17:53 -!- augur has joined. 19:17:56 "<" is the problem? 19:18:17 Fiora: what do you get from 'file thebinaryfile' 19:18:28 test: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped 19:18:37 Fiora: you need to append the warrior code to the header file, aiui 19:18:45 I don't think it'll work by itself 19:18:47 wait but I thought it alreaddoes that 19:18:51 the output code has the headerin it 19:18:55 oh 19:19:00 I think 19:19:02 ... yeah it does 19:19:05 I thought you were trying to assemble header.asm by itself or something, never mind 19:19:08 nonono 19:19:18 elliott: Does ducktyping always allow for generic programming? 19:19:25 I'm doing ./chainlance header.asm in1 in2 > test.asm;yasm -f elf -m amd64 test.asm -O2 -o test 19:19:36 AnotherTest: I'm... not quite sure waht you mean by that 19:19:43 oh well it's a relocatable and not an executable 19:19:44 in particular there are tons of kinds of generic programming 19:19:53 Fiora: "test" is like an .o file 19:19:54 you need to invoke a linker somehow 19:19:57 you need to link it into an executable 19:19:58 .... ohhhhhhhhh 19:20:00 e.g. with ld or gcc 19:20:06 i recommend gcc 19:20:44 okay, I ran it and it runs but it does nothing (?) 19:20:52 maybe it outputs only via exit code or such 19:21:03 does it take arguments? 19:21:05 probably fizzie's answer is more useful than my guessing here :P 19:21:07 "That bump will likely be relatively small, and continue for just a few days before settling down again, but it's already crowded out most of the offtopic discussion in #esoteric, leaving it mostly with BF Joust discussion" 19:21:17 -- ais523, February 2011 19:21:40 elliott, did you ever finish Shiro? 19:21:42 oh wow it literally returns an exit code @_@ 19:21:46 um, how do I print the exit code in bash 19:22:04 Fiora: It does indeed return the result as the exit code. 19:22:05 echo $? 19:22:16 elliott: Well, that's true. Let us take the generic programing form where you make abstraction of fundamental requirements/restrictions on types and thus allows you to write generic algorithms that work for a given set of types that are related to each others by concepts 19:22:16 that prints a $ 19:22:26 s/others/other 19:22:27 Fiora: Did you add the ? there? 19:22:28 i love concepts 19:22:33 Taneb: Shiro worked and almost passed Mycology (like one edge-case it failed) and had like 10 fingerprints implemented 19:22:36 so yes 19:22:42 Sweet 19:22:42 ohhhhh 19:22:43 the ? 19:22:52 though I believe accessing the code would cost me ~£500 because I am an idiot 19:22:56 Fiora: "$?" is the name of the variable. 19:23:18 the bash variable meaning "the last exit code". 19:23:20 also if you did echo $ then you need to run the command again, since running echo itself sets $? 19:23:21 geez it takes 0.005 seconds to load and run the program o_O 19:23:22 good name huh 19:23:24 between two huge programs too 19:23:55 Fiora: Sure, but you have to factor in the compilation time too, since no-one's interested in running the same thing repeatedly. 19:24:02 ahhhhh 19:24:13 I guess it'd probably be way faster if it outputted asm directly but that'd be hard 19:24:19 fizzie: but what if you want to measure ram bit flips?? 19:24:44 Fiora: It could make sense if it'd save a compiled single program so that in hill use you'd only need to compile the new competitor and then do a bit combining. 19:24:57 (But that's not how it's written.) 19:25:06 I was thinking the code could be maybe made faster by using call/ret instead of the ip-exchanging thing 19:25:16 e.g. A calls B, B jumps to nextcycle, nextcycle rets to A 19:25:23 but I guess it doesn't really matter :< 19:26:28 (the reason is that feels like it'd eliminate at least ~half the branch mispredictions, since the calls would be super predictable) 19:29:24 kmc: isn't it kind of awful how MaybeT is slower than using IO + exceptions 19:29:41 I wonder if you can make a faster MaybeT that uses unsafePerformIO internally 19:29:44 might have problems with nesting I guess 19:29:50 haha 19:29:55 you saw my Maybe# right 19:30:38 yes 19:31:05 I think monad transformer stacks are kind of slow in general 19:31:07 which is bad 19:31:26 Is that a problem with Haskell, or with GHC 19:31:55 well it's a problem of repeatedly packing and unpacking a billion levels of data every bind 19:32:05 a Sufficiently Smart Compiler could remove it all, but that's not really saying anything 19:32:44 JIT JIT JIT JIT JIT JIT JIT JIT 19:32:58 YKYWT 19:33:18 you know you want... something 19:33:24 'to' 19:33:35 you know you want tswett 19:33:42 o 19:34:16 you know you want towriteatracingjitforhaskell 19:34:25 didn't edwardk have one in the works 19:34:53 I would be tremendously amused and not entirely surprised to hear that certain Haskell programs run faster when compiled to JS and run in V8 19:35:31 ...compared to GHC with default options? 19:35:36 compared to GHC ever 19:35:54 because V8 can trace through all those abstractions and optimize them 19:35:59 JITs wouldn't help the competitive befunge interpretation space anyway 19:36:10 there are cases where C code runs faster when you compile it to JS and run it in V8 19:36:11 since there's one program you have to run instantly or everyone makes fun of you 19:36:22 canonical example is printf with a constant format string 19:36:55 a JIT can do optimization with information that's not available at compile time; it can even make assumptions that don't always hold (and just bail when they fail to hold) 19:37:24 a lot of function parameters become constants when you're looking only at calls in your hot path 19:37:27 and so can be constant-folded 19:37:45 entire chunks of code removed due to unreachability, tests for edge cases dropped 19:37:48 p. cool stuff 19:38:00 wait, if the format string is constant why couldn't a static compiler do it. 19:38:07 it could in this case 19:38:23 but it would need either printf-specific code or a pretty sophisticated compile time partial evaluation / supercompilation engine 19:38:31 not that compilers don't have printf specific code but anyway 19:38:45 this stuff is much easier (read: tractable at all) if you are doing it at runtime and only for the case you actually encounter 19:39:35 the equivalent of a JIT for haskell is pretty much a lazy specialiser I think 19:39:40 GCC will at least optimize printf("%s", x) to puts(x) but, I mean, c'mon 19:39:49 which is a kind of ridiculously complicated piece of tech that nobody knows how to write 19:39:55 i dunno 19:40:07 i think a JIT on STG machine operations would do really well 19:40:15 oh well that is cheating 19:40:22 why 19:40:39 do any used compilers have "a pretty sophisticated partial evaluation / supercompilation engine" 19:40:51 because you've made it imperative already by then! 19:41:56 not that i know of 19:42:02 the problem is that you need to know which cases are worth optimizing 19:42:21 since there are obviously a huge number of specializations you could emit for every particular function 19:42:29 compile time tends to be a limiting factor, aiui 19:42:37 and code size. 19:42:44 mm 19:43:10 normal compilers can do optimizations that don't always hold either right? and branch based on them 19:43:15 yeah 19:43:24 like one I remember is "compile version that assumes no aliasing, branch based on runtime aliasing" 19:43:30 that's clever 19:43:40 I think I heard Intel's compiler does that 19:43:52 it kinda makes sense given their focus on autovectorization while needing to remain correct 19:44:07 assume there's no aliasing, bail to the slow code if there is 19:44:33 I love cool compiler optimizations like that, even if sometimes it feels like the compiler is so dumb 19:50:55 -!- Lymia has quit (Ping timeout: 264 seconds). 19:55:07 -!- heroux has quit (Ping timeout: 246 seconds). 19:55:47 -!- oerjan has joined. 19:56:54 -!- ogrom has joined. 19:57:06 -!- heroux has joined. 19:59:51 -!- carado_ has joined. 20:01:04 -!- carado has quit (Ping timeout: 246 seconds). 20:12:12 -!- heroux has quit (Ping timeout: 264 seconds). 20:12:23 @tell Lymia I wonder if it'd be possible to construct a valid string s that is the continuation of the rest of the program. <-- there's a way of textually interpreting brainfuck by, at the start of a loop [inloop]rest turning the program into inloop[inloop]rest . that essentially gives you a continuation. (...)*n should be easy to handle similarly. maybe ()%n too... 20:12:24 Consider it noted. 20:12:36 -!- heroux has joined. 20:16:26 @tell Lymia Meaning, like, [+P]+ => [+([+{}]+(.)*-1)%-1]+ <-- hm so you mean putting it _inside_ at that point? i guess the same method would still work by padding with (.)*-1 as you to there. also, i vaguely recall %-1 may not be supported... 20:16:26 Consider it noted. 20:17:27 @tell Lymia so [+P]+ -> [+[+]+(.)-1]+ 20:17:28 Consider it noted. 20:25:55 Anyway I think it's a good default assumption that I'm in more of a bubble than I think I am. <-- being in a bubble is good. remember, most of the universe is vacuum. 20:29:12 -!- augur has quit (Remote host closed the connection). 20:32:45 -!- carado_ has changed nick to carado. 20:35:25 -!- augur has joined. 20:38:08 -!- pikhq_ has quit (Ping timeout: 240 seconds). 20:38:22 -!- pikhq has joined. 20:38:24 -!- Nisstyre-laptop has joined. 20:47:33 -!- epicmonkey has quit (Ping timeout: 248 seconds). 20:47:56 -!- ThatOtherPerson has quit (Quit: Leaving). 20:51:52 @tell ais523 imagine something as simple as "do >+, then wait for the current cell to become zero, then wait that many cycles again, then do something else" <-- +>([{}]somethingelse(.)*-1)%-1 assuming %-1 is legal 20:51:53 Consider it noted. 20:52:09 @tell ais523 *>+ 20:52:10 Consider it noted. 20:52:54 @tell ais523 Oops, discard, duh 20:52:54 Consider it noted. 20:53:21 -!- AnotherTest has quit (Quit: Leaving.). 20:55:01 @tell ais523 *>+ 20:55:01 Consider it noted. 20:55:27 elliott: i meant the whole thing hth 20:55:41 i forgot the entire "wait that many cycles again" part 20:55:49 thx 20:56:12 also apparently %-1 doesn't work, by what's said later 20:56:15 -!- heroux has quit (Ping timeout: 245 seconds). 20:56:47 which if true means fizzie isn't using my elegant constant space method, boo! 20:57:21 at least i think it's constant space 20:58:00 -!- heroux has joined. 20:58:09 -!- Nisstyre-laptop has quit (Quit: Leaving). 20:59:43 oerjan: well %-1 is pointless... 20:59:59 why? 21:00:09 because it is (a)*-1b(c)*-1. 21:00:17 (a{b}c)%-1 --> (a)*-1 21:00:31 um, no? 21:00:42 ['s in the a can jump to ]'s in the c 21:00:47 and vice versa 21:01:29 i am assuming a non-expanding implementation, of course 21:01:41 oh hm 21:01:51 i guess you're right 21:02:22 -!- boily has quit (Quit: アァ!). 21:02:26 -!- metasepia has quit (Remote host closed the connection). 21:03:25 Wouldn't the -1 in %-1 not get parsed as a number 21:03:27 the only reason to limit the % nesting is if you are somehow pushing things on the stack instead of just bumping a counter. 21:03:31 But a - followed by a comment symbol 21:03:44 Taneb: *-1 is supported syntax 21:04:10 %-1 could be, although i'm not sure whether it is if there is a nesting limit anyhow 21:06:24 oerjan: a problem is that %-1 would be distinguishable from %100000, right? 21:06:30 (ok it makes sense to push the _counter_ to the stack, although you could save it in a different way 21:06:30 or hm would it 21:07:22 elliott: it shouldn't, assuming there isn't empty code between ({ or }) 21:08:05 although i think it's common that -1 is interpreted as "a very high number" 21:08:14 so it _shouldn't_ be different. 21:09:08 and fizzie has some empty code removal code, which was discussed recently 21:09:20 turning ()*n into ()*0 21:09:47 oerjan: well -1 is meant to be infinite 21:09:48 although it would not _obviously_ work for ({...})%n if he isn't expanding 21:09:58 it's just that picking the cycle size works for ()*n, indistinguishably 21:10:21 elliott: not if you are using empty code :P 21:10:43 well I would say infinite repetitions of the empty string is the empty string 21:10:49 seems to be the most sensible choice 21:11:06 yeah. well in that case you can do it for ()%n as well. 21:11:21 of course, oh right... 21:11:30 Let Th be a formal theory. Suppose that Con (Th). Does it Godel completeness theorem confirms that the corresponding model M_Th of the Th really exists? 21:12:19 if (...{ is empty it can contain no [, which means the corresponding }...) can contain no internally _unmatched_ []'s, which means both can be converted seemlessly to ()*n instead. 21:12:40 which i think fizzie depends on. 21:13:06 *seamlessly 21:14:10 *+) up above 21:14:11 -!- heroux has quit (Ping timeout: 245 seconds). 21:15:05 -!- heroux has joined. 21:15:58 If Pi contains an infinite number of numbers, is it possible that within this infinity, there is an infinite series of 1's? 21:16:07 No 21:16:08 hello 21:16:15 dbelange: you already asked that last one 21:16:15 Because then Pi would be rational 21:16:18 Which it isn't 21:16:36 There could be an arbitrarily long sequence of 1's 21:16:54 dbelange: the 1's cannot be consecutive. there is _probably_ an infinite nonconsecutive subsequence of 1's, but there is no proof. 21:17:30 because pi is believed to be normal, in a famous unsolved problem 21:17:49 How would you go about proving a number to be normal 21:18:10 dbelange: also the completeness theorem does confirm that iirc 21:18:29 Taneb: if you find out in general, you'll be famous 21:18:29 dbelange: didn't you ask that already 21:18:30 there's only one know class of provable normal numbers 21:18:50 oerjan, I already am famous, darling ;) 21:18:51 tromp: are there any that are provably normal in all bases? 21:18:51 i mean known to be provable:) 21:19:03 yes 21:19:40 for provable in e.g. base 10 only, there are other examples 21:19:48 like champernowne's number 21:20:20 but normal (for all bases) has only been proved for halting probabilities 21:22:05 -!- heroux has quit (Ping timeout: 245 seconds). 21:23:00 -!- heroux has joined. 21:26:22 funny, the only numbers known to be normal cannot be written out, eh? 21:26:46 oh hm. 21:26:58 maybe that's inherent for all numbers normal in all bases, or something. 21:27:05 they contain too much information, or some such nonsense 21:27:11 Would knowing whether pi is normal be useful in any way 21:27:18 can't you write out champernowne's 21:27:26 yes it'd let you respond to people who ask whether it is or not. 21:27:29 Bike: that's only for base 10 21:27:34 or such 21:27:34 oh, right. 21:27:47 i was wondering, couldn't you do something with factorial base. or wait that would be backward. 21:27:57 Champernowne proved that is normal in base ten, although it is possible that it is not normal in other bases.[3] 21:28:27 Fiora: Well, I hope you're happy now: I implemented your suggestion of having 8^2 (actually, 12^2) labels, and not only is it slightly slower -- http://sprunge.us/EFND -- it's also horrible -- http://sprunge.us/QMAR?c -- to behold. 21:29:19 fizzie: ok, now do 3. or 4. 21:29:27 you may need a perl script. 21:29:37 All I need is the preprocessor. 21:31:43 * oerjan has no idea what fizzie is talking about now 21:31:56 sorry :< 21:32:24 wow that's terrifically messy 21:32:51 fizzie: btw why does %n have a nesting limit thx 21:32:58 combining the repetition loops with that seems like it'd be particularly terrible 21:34:01 sorry for wasting your time though >_< 21:34:02 hm it's easy to make a number normal in a finite set of bases; just consider their lcm. i think. 21:34:14 well assuming you can do it for one. 21:34:31 so then, couldn't you actually _do_ something like factorial base... 21:35:52 this is so simple it either must be well-known, or have a fatal flaw. 21:36:10 -!- pikhq_ has joined. 21:36:31 -!- pikhq has quit (Ping timeout: 264 seconds). 21:38:11 you're claiming Champernowne's number is normal in both base 2 and 5? 21:38:31 um, an optimization idea that might apply to both: make &tape[tapesize] a global constant? so it doesn't have to calculate it for the comparisons 21:38:38 i fail to see that 21:38:39 well, constant per run 21:38:40 oerjan: Ease of implementation. It's C, not well-known for its resizable arrays, and many pieces of code touch those. But perhaps I should make it so that it dynamically sets the nesting limit equal to the number of (s in the program; I don't suppose you can nest any deeper than that. 21:39:41 tromp: oh it isn't? hm. 21:39:50 Fiora: Isn't a compiler supposed to be clever enough for that kind of stuff? I mean, it's all within a function, shouldn't it be able to figure out that nothing changes tapesize and use a single computed value? 21:39:57 it may be. i dunno:( 21:40:01 ah, that should be okay I guess 21:40:14 one thing I worry about is how well the compiler handles the crazy computed gotos though, and keeping things in registers 21:40:41 I guess looking at the asm might help... 21:40:59 but yeah, sorry :< I wonder why this did worse though. maybe it made branch prediction even awfuller 21:41:34 fizzie: er, i thought from the discussion that the n in %n was limited, did i misunderstand? 21:42:31 oerjan: That's limited to 100000 but isn't that okay since that's the maximum number of cycles anyway? 21:42:54 fizzie: yes. i misunderstood what the 256/4096 thing was about. 21:43:02 oerjan: It was a nesting depth limit. 21:43:16 oerjan: You used to be able to "only" nest (((()))) up to 256 levels deep. 21:43:26 right 21:47:00 -!- heroux has quit (Ping timeout: 264 seconds). 21:48:47 -!- heroux has joined. 21:49:46 "Becher and Figueira proved in 2002 that there is a computable normal number." 21:50:53 Fiora: There's also presumably quite a bit more code, I suppose that could count for something. 21:50:58 -!- carado has quit (Ping timeout: 246 seconds). 21:51:05 oerjan: I don't suppose they mentioned what it was? 21:51:15 it was a classical proof 21:51:27 I guess so 21:51:42 (that frustrating feeling when an optimization that sounds cool doesn't work at all) 21:51:50 oerjan, did they ever get round to working out what it was 21:51:53 "A computable normal number was constructed in (Becher 2002). Although these constructions do not directly give the digits of the numbers constructed, the second shows that it is possible in principle to enumerate all the digits of a particular normal number." 21:53:29 haha, so it was actually a non-constructive proof? 21:54:40 isn't that what you'd expect from "proved that there is" rather than a link to the constant named after them 21:55:34 not really 21:55:47 chaitin's constant is also non-constructive and that has a name 21:56:01 (my favourite real) 21:57:30 Gregory Chaitin: keepin' it real since '75 22:00:35 Gregory Chaitin: The man who brought you "theorems are like boobs" and "theorems are like child-bearing hips" 22:01:15 what 22:01:22 mathematical ideas or the physical universe, 22:01:22 in a word, by their “fertility”. Just as the beauty of a woman’s breasts or 22:01:25 the delicious curve of her hips is actually 22:01:43 l0l http://arxiv.org/abs/math/0404335 22:02:02 man i knew he was crazy but what the christ 22:03:34 @tell Lymia That never /loses/ a single joust <-- the other day i believe i proved that you cannot make a program that can never lose on a particular tape/polarity. 22:03:35 Consider it noted. 22:07:22 ooh howso 22:07:43 surely the "optimal rushes" draw at worst? 22:07:50 oh because defence programs. ok never mind. 22:07:52 thingy 22:08:23 elliott: i am pretty sure you were the person i previously explained the proof to 22:08:38 right i just didn't realise that was what you proved :P 22:09:02 Is it possible to create a program that always wines more than it loses across all tape lengths and polarities 22:09:11 wines 22:09:21 Taneb: QUESTION FOR FURTHER RESEARCH, THAT IS 22:09:30 hey elliott i'm actually reading lyah again now. why isn't (a ->) syntactically valid? 22:09:43 well i guess because (-> a) wouldn't be 22:09:56 why not 22:10:08 Because no type level lambdas 22:10:17 -!- ogrom has quit (Quit: Left). 22:10:23 infix notation is syntax sugar for lambdas, iirc 22:10:45 Sections, rather 22:10:57 was there an extension that made (a ->) valid or not 22:11:12 oerjan, I do not recall one. 22:11:12 Bike: because giving instances for something like (-> a) would cause major ambiguity and type inference problems. 22:11:18 you also cannot partially-apply type synonyms for this reason etc. 22:11:33 whereas (a ->) is just ((->) a), i.e. a partially applied non-type-synonym 22:11:47 you could still have sections one way couldn'tcha 22:11:59 yeah you could 22:12:07 but they may just not have bothered 22:12:15 yes but (a ->) working but not (-> a) could be viewed as confusing. I would probably allow it personally, just offering a possible reason 22:12:17 fair 22:12:33 Other than (->), infix types require an extension 22:12:33 I would allow it impersonally. 22:12:34 hi Bike 22:12:38 `welcome Bike 22:12:41 Bike: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:12:52 `välkommen shachaf 22:12:53 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: välkommen: not found 22:13:01 :( 22:13:10 `tervetuloa FireFly 22:13:11 `? välkommen 22:13:11 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: tervetuloa: not found 22:13:12 Hej och välkommen till den internationella knutpunkten för design och distribution av esoteriska programspråk! För mer information, se vår wiki: http://esolangs.org/wiki/Main_Page. (För den andra sortens esoterism, pröva #esoteric på irc.dal.net.) 22:13:19 ????????? 22:13:27 someone plz add `tervetuloa thx 22:13:34 * shachaf is at SEA now. 22:13:57 p.good aæeroport 22:14:10 oh, at SEA, not at sea 22:14:13 hi shachaf 22:14:56 `run echo "tervetuloa: ask shachaf" > wisdom/tervetuloa 22:14:59 No output. 22:15:03 `? tervetuloa 22:15:05 tervetuloa: ask shachaf 22:15:08 is it ok if i just ignore all this "box" stuff 22:15:27 what box stuff 22:15:30 -!- impomatic has left. 22:15:34 ps i dont remember half of lyah 22:15:41 as a metaphor for monads or functors or whatever 22:15:42 oh no is it talking about polykinds 22:15:43 I haven't read lyah I think 22:15:46 or is it saying functors are boxes 22:15:50 imo ewwwwwwww 22:15:54 it's saying something like that 22:15:58 Bike: do ignore all metaphors, they're useless 22:16:02 @quote kmc box 22:16:02 No quotes match. Are you on drugs? 22:16:04 @quote kmc contain 22:16:04 No quotes match. Are you on drugs? 22:16:05 :-( 22:16:05 k 22:16:07 functors are functors 22:16:19 They're like monads but less powerful and more general 22:16:22 i thought elliott said they were endofunctors :( 22:16:27 MORE POWERRRRR 22:16:31 @quote kmc 22:16:31 kmc says: in C++ you give the [design] pattern a name so you can look it up and copy it out of the book when you repeat it 22:16:31 Bike: functors are just something you can map over <-- more useful than a box metaphor 22:16:38 yes 22:16:40 @quote kmc 22:16:40 kmc says: Haskell is a language where the community observes that there are 50 incompatible error handling monads, and the response is 50 incompatible packages for generically handling all error 22:16:40 handling monads 22:16:45 @remember kmc monads are like containers, as long as you forget everything you know about the meaning of the word "container" and take it to be a totally abstract word synonymous with "monad" 22:16:46 I will never forget. 22:16:50 this isn't working 22:16:52 And with that I say goodnight 22:17:20 Taneb: with what? 22:17:29 "I will never forget." 22:17:52 with his keyboard! 22:17:57 or speech recognition stuff 22:18:00 -!- Taneb has quit (Quit: who knows). 22:18:10 I usually view monads as a way of chaining a -> m a functions 22:18:22 so on a related note 22:18:31 "In the same vein, if we write fmap :: (a -> b) -> (f a -> f b), we can think of fmap not as a function that takes one function and a functor and returns a functor, but as a function that takes a function and returns a new function that's just like the old one, only it takes a functor as a parameter and returns a functor as the result." 22:18:33 that is a pretty bad way of viewing them considering they can do more than that 22:18:39 Bike: oh no, it calls (f a) a functor? 22:18:43 i'm having trouble thinking of an "f a" as "a functor" 22:18:45 this chapter is worse than I thought. 22:18:48 yeah that's what i'm wondering about 22:18:49 go back to reading the report. 22:19:02 elliott: the report refers to monads as actions hth 22:19:17 calling (m a) an action is ok 22:19:18 Maybe action :) 22:19:29 The Monad class defines the basic operations over a monad, a concept from a branch of mathematics known as category theory. From the perspective of a Haskell programmer, however, it is best to think of a monad as an abstract datatype of actions. 22:19:56 calling a value of type (m a) an action is ok 22:19:58 that's not an unreasonable description, though "abstract" is meaningless there 22:19:59 ftfy hth 22:20:28 so how is like, [] an action, in a useful sense 22:21:06 it's not [] that's an action 22:21:15 it's [1,2,3] :: [Int] that you can consider an action 22:21:21 in particular the [] monad models (ordered) nondeterminism 22:21:23 like prolog. 22:21:34 > do { x <- [1..10]; y <- [1..10]; guard (x + y == 10); return (x, y) } 22:21:36 [(1,9),(2,8),(3,7),(4,6),(5,5),(6,4),(7,3),(8,2),(9,1)] 22:21:48 > [(x,y) | x <- [1..10], y <- [1..10], x + y == 10] 22:21:50 [(1,9),(2,8),(3,7),(4,6),(5,5),(6,4),(7,3),(8,2),(9,1)] 22:25:46 I don't think I get what guard does. does it just always return [()] there? 22:26:07 -!- carado has joined. 22:26:19 Yes. 22:26:25 it returns [] if x + y /= 10 22:26:26 > guard (1 + 9 == 10) :: [()] 22:26:29 [()] 22:26:32 > guard (1 + 8 == 10) :: [()] 22:26:35 [] 22:26:38 Er, return [()] when you give it True. 22:26:41 ooh 22:26:53 shachaf: *return () 22:26:58 anyway so you can consider [1,2,3] an action that returns 1, 2 or 3, nondeterminstically 22:27:10 and the result of composing together all these actions is the list of all possible results of the program 22:27:10 hm right 22:27:12 oerjan: No, guard returns [()] 22:27:13 guard (1 + 9 == 10) :: [Bool] 22:27:15 silly oerjan 22:27:17 > guard (1 + 9 == 10) :: [Bool] 22:27:19 Couldn't match expected type `GHC.Types.Bool' with actual type `()' 22:27:26 shachaf: it returns return () hth 22:27:33 and guard (x + y == 10) is an action that doesn't return if x + y /= 10 and returns with a trivial result otherwise, etc. 22:27:33 "guard True" is "return ()" 22:27:50 imo people talk about functions "returning things" too much 22:28:21 instead of things being things?? 22:28:37 "id returns its argument" 22:28:41 shachaf: that's just people returning people. 22:29:02 join us at FOSSCON for talks and real-life collaboration or bring a picnic and come join like-minded geeks for a geeknic 22:29:04 Soylent green returns people to people 22:29:33 elliott: did you hear my monoid pun in #haskell 22:29:38 just mentioning it because you hate monoids 22:29:45 but you also hate puns 22:29:49 so what do you hate more 22:30:26 > guard False 22:30:28 No instance for (GHC.Show.Show (m0 ())) 22:30:28 arising from a use of `M78945842... 22:30:38 @gyarrd 22:30:38 I heard andersca is a pirate 22:30:43 > guard False :: [()] 22:30:44 [] 22:30:58 shachaf: wat 22:31:04 @gyard 22:31:05 I'll crush ye barnacles! 22:31:15 good function 22:31:21 woerjan 22:31:21 @gyrrd 22:31:21 Unknown command, try @list 22:31:38 @gyzfoiharrd 22:31:38 Unknown command, try @list 22:31:45 @gyzarrd 22:31:46 Unknown command, try @list 22:31:50 @gzarrd 22:31:50 Unknown command, try @list 22:32:06 oh it's yar 22:32:08 *yarr 22:32:19 The first functor law states that if we map the id function over a functor, the functor that we get back should be the same as the original functor. 22:32:30 Bike: :-( 22:32:34 Is that LYAH? 22:32:40 yep 22:32:44 -!- augur has quit (Remote host closed the connection). 22:32:45 elliott: ☝ 22:33:02 Lick Your ___ Hole 22:33:09 -!- ChanServ has set channel mode: +o oerjan. 22:33:09 Bike: A value of type (f a) isn't a functor. 22:33:16 f is a functor. 22:33:21 -!- oerjan has set channel mode: +b *!*yevunye@*.csclub.uwaterloo.ca. 22:33:22 -!- oerjan has kicked dbelange I think that's about enough. 22:33:25 yes, that seems easy enough 22:33:29 These people are abusing terminology. 22:33:46 clearly i was well served by glancing through wikipedia's category theory articles 22:34:14 I,I it's the endofunctor as we know it 22:34:15 -!- oerjan has set channel mode: -o oerjan. 22:34:28 what's that I,I thing 22:35:53 i don't feel any particular need to be generous on that last comment given that he's been banned N times before. 22:36:30 N=-1? 22:37:02 shachaf: about 3 is what i heard. 22:37:11 oh was he recurrent 22:37:31 Bike: primitively recursive 22:38:05 that's not very recurrent at all! 22:38:36 OKAY 22:47:20 -!- augur has joined. 22:47:30 -!- augur has quit (Remote host closed the connection). 22:48:56 @gar 22:48:56 Maybe you meant: arr faq ghc map part yarr 22:49:24 16:41:38: kmc: you can use `url when the target is a filename btw 22:49:24 16:41:42: maybe `paste should optimise that 22:49:34 @garrr 22:49:34 Maybe you meant: arr yarr 22:49:37 an excellent idea, which is why i already implemented it. 22:50:40 @arr 22:50:41 Yo ho ho, and a bottle of rum! 22:50:43 @yarr 22:50:44 Eat maggoty hardtack, ye unkempt, jenny frequentin', son of a gun. 22:50:47 @list yarr 22:50:48 quote provides: quote remember forget ghc fortune yow arr yarr keal b52s brain palomer girl19 v yhjulwwiefzojcbxybbruweejw protontorpedo nixon farber 22:51:18 a bit silly to get an ambiguity between synonyms for the same command :P 22:51:28 http://1-media-cdn.foolz.us/ffuuka/board/a/image/1349/90/1349909391603.png 22:53:01 oerjan: congratulations 22:53:24 yay! 22:54:57 oerjan: it's not that it's ambiguous, it's that the edit distance >1, I think 22:55:15 elliott: not for Jafet's @garrr 22:55:28 @yrr 22:55:28 Maybe you meant: arr yarr 22:55:31 hm. 22:55:33 fair enough 22:55:45 though maybe it's taking y -> a as a delete + remove step 22:55:53 @yarrrr 22:55:54 I'll keel haul ya fer that! 22:56:28 shachaf: what do you like about the SEAport 22:56:51 Well, it depends. 22:56:59 The TSA took my screwdriver here once. 22:57:08 I'm still pretty mad at them because it was a very good screwdriver. 22:57:22 > fmap (+) [1,2,3] <*> [9,8,7] 22:57:23 [10,9,8,11,10,9,12,11,10] 22:57:36 oh 22:57:51 that's usually prettier with <$> 22:58:12 > fmap (+) [1,2,3] <$> [9,8,7] 22:58:14 Couldn't match expected type `(->) a0' with actual type `[]' 22:58:23 not for the <*>, for the fmap 22:58:24 > [(1+),(2+),(3+)] <*> [9,8,7] 22:58:26 [10,9,8,11,10,9,12,11,10] 22:58:34 that's not what i expected anyway >_> 22:58:38 > getZipList $ ZipList [(1+),(2+),(3+)] <*> ZipList [9,8,7] 22:58:40 [10,10,10] 22:58:43 yeah that. 22:59:23 are you reading the original idioms paper or something 22:59:33 > (,) <$> [1,2,3] <*> [4,5,6] -- cartesian product 22:59:34 the what 22:59:35 [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)] 22:59:39 the applicative has to be this way to match the monad instance 23:00:34 Misread "the original idiot paper". 23:00:52 (applicative functors used to be called idioms) 23:00:56 (and had a zippy [] instance) 23:01:05 (indeed they were invented as a generalisation of zipWith, zipWith3, etc.) 23:01:18 "idiom" seems like a bad name 23:02:18 applicative functors seems like a worse name 23:02:27 > map length ["idiom", "applicative functor"] 23:02:28 [5,19] 23:03:02 just slap a GUID on everything and be done with it. 23:03:07 @name 23:03:08 "applicative functor" doesn't mean all that much to start with 23:03:12 (it is actually a strong lax monoidal functor) 23:03:26 SLMF, done 23:03:49 what does lax mean 23:03:57 i know what strong means: NOTHIN' 23:04:07 laxative 23:04:22 @fresh 23:04:22 Hajw 23:05:04 I think it's, like, salmon? 23:12:10 -!- carado has quit (Ping timeout: 246 seconds). 23:14:00 -!- copumpkin has quit (Ping timeout: 264 seconds). 23:14:30 -!- copumpkin has joined. 23:15:12 -!- Lymia has joined. 23:15:12 -!- Lymia has quit (Changing host). 23:15:12 -!- Lymia has joined. 23:30:00 Maybe there is value in being able to discriminate based on types at runtime 23:30:11 typist 23:30:24 Spring MVC does that. You make a method that takes arguments of the types you want, and it will be called with what's required 23:30:53 why are you learning spring 23:30:58 elliott, job 23:31:10 this job sounds awful already 23:31:17 imo MCV > MVC 23:31:21 fuck how can you be anticonsumerist and elitist with a job! did you even think this through 23:31:44 every part of swing's api that i've seen looks exactly like the kind of tired factoryfactory jokes people make about java 23:31:53 BTW MCV = MOBILE CONSTRUCTION VEHICLE 23:32:07 imo scvs 23:32:16 @slap Bike imo 23:32:16 * lambdabot would never hurt Bike imo! 23:32:30 There might be some factoryfactoryness to Spring, but there seems to be a lot of sugar that hides much of it 23:32:35 thanks lambdabot. you're a true friend 23:32:36 Or, at least some of it. Sometimes. 23:33:25 @quote ways.free 23:33:25 shachaf says: edwardk will try to get you addicted to monoids. The first one is always free. 23:34:03 the joke is free monoids 23:34:18 you look like a crowd that needs some puns shoved in your faces 23:34:24 help 23:35:10 oh no, not more funpuns 23:36:05 18 lines of Java for what would be 1 line of Haskell 23:36:41 18 lines of perl for what would be one line of sed 23:37:16 Oh, also, IDEs help 23:37:29 Bike: THAT MAKES NO SENSE HTH 23:37:38 Although my boss seems to want me to make a Spring MVC project from scratch, or at least ... somewhat 23:37:45 18 lines of Java guiltied to a zegnatronic rocket society 23:37:47 18 lines of #esoteric for what would be one line of #haskell 23:38:06 oerjan: sense or enterprise java beans sense?? LAUGHTRACK 23:38:07 (except in #haskell it would be more like 400 lines) 23:38:16 -!- carado has joined. 23:38:36 18 lines of cocaine for what would be one line of 23:38:44 uhh, what other drugs come in lines 23:38:47 help me out here kmc 23:39:00 stronger cocaine 23:39:07 thx 23:39:10 crackier 23:39:14 polonium hth 23:39:35 i think kmc should adopt the middle name "drugs" 23:39:36 i can't be an adult yet, i've never even done a line of polonium off a hooker's back 23:39:40 keegan drugs mc 23:39:53 keegan "methylenedioxymethamphetamine" c 23:40:02 good name 23:40:03 Callister 23:40:11 haha callister 23:40:17 looks like a lizard 23:40:22 * kmc has never taken MDMA 23:40:32 why not 23:40:44 kmc, are you of scottish extraction by any chance 23:40:51 scottish extraction 23:40:56 Phantom_Hoover: somewhere back 23:41:06 elliott: so called because they're extracted in the scot mines 23:41:08 elliott, see?? 23:41:25 shachaf: no specific reason, just never wanted to and had the opportunity at the same time 23:41:50 scottish extract: 100% pure essence of scot 23:42:29 shachaf: lines of http://www.amazon.com/gp/product/B008C8SKUY/ref=as_li_ss_tl 23:42:53 great review 23:43:01 -!- nooodl has quit (Ping timeout: 248 seconds). 23:43:10 lines of deckardcain 23:43:14 snorting lines of hooker off a block of cocaine? 23:43:37 * oerjan sees a disturbing amount of latin-1 in the logs 23:44:05 Ok, I think I missed something important today. There are a lot of people on Facebook with pink equality signs 23:44:06 kmc: is there seriously a noticeable difference between 98% and 99% benzocaine 23:44:35 depends what the rest of it is 23:44:42 Sgeo: math is gay, m'kay? 23:45:12 Sgeo: umm did you say "something important" and then "people on Facebook" 23:45:17 what Phantom_Hoover said 23:45:31 math declared "totally gay" by US supreme court 23:45:37 Phantom_Hoover: clearly polonium 23:46:41 Sgeo: the Supreme Court heard oral arguments regarding striking down California's constitutional amendment banning same sex marriage in the state 23:46:44 i think benzocaine is a topical local anaesthetic so the polonium probably wouldn't do much unless you ate it or sth 23:46:50 they're not expected to issue a ruling for several more months 23:47:00 but everyone is flipping out trying to interpret what the justices said today 23:47:16 kmc, ah 23:47:19 benzocaine is a topical local anaesthetic slash popular adulterant for cocaine 23:47:24 in two months, the us supreme court commits collective suicide under the pressure 23:47:38 they are chemically similar and cocaine is also a local anaesthetic and this property is used by customers to test its purity 23:48:46 does anyone use cocaine to operate on themselves 23:49:50 dunno but it is still occasionally used in medicine 23:50:05 that's why it's schedule 2, not schedule 1 like the really dangerous drugs such as heroin and marijuana 23:50:40 is heroin actually useful in medicine 23:50:59 imo marijuana should be legal but smoking should be illegal 23:51:02 What drugs could I simulate in norns? 23:51:03 it's an opiate innit 23:51:06 i mean i assume there's /some/ reason morphine's used as a painkiller and heroin's used as a drug 23:51:13 because smoking is disgusting 23:51:21 Sgeo: and tomorrow (?) they're hearing challenges to DOMA, the federal law which prevents the federal govt from recognizing same sex marriage, and allows states to ignore same sex marriages performed by other states (which otherwise they would be required to recognize under the Full Faith & Credit clause of the Constitution) 23:51:25 i suppose it's already illegal in a lot of places?? and no one cares 23:51:29 http://www.bonkersinstitute.org/showpics/bayer1901.gif 23:51:39 bonkersinstitute 23:51:40 kmc, awesome 23:51:41 http://wings.buffalo.edu/aru/Bayer-heroin.jpg 23:51:52 Sgeo, as if we know about norn neurology? 23:51:52 but yeah opiates were used as painkillers forever, phantom 23:52:01 didn't you ever hear about it being marketed to shut up babies 23:52:01 they still are 23:52:02 i am aware of this! 23:52:08 I,I villainess 23:52:11 it's just we have better ones than heroin now 23:52:14 both safer and more powerful 23:52:19 (not the same ones) 23:52:28 I could impede the processing of drives 23:52:50 But that would make them fail to recognize, say, boredom too 23:52:52 that sounds like a bad drug... 23:52:53 The Cheapest Specific for the Relief of Coughs 23:53:31 Also it's pretty easy to lower drives, that's kind of boring 23:53:39 Although a more permanent effect may be interesting? 23:53:45 can you simulate rabies 23:54:07 Depends what you would consider to be acceptably close to rabies 23:54:23 Sgeo, surely the obvious thing to do would be to stimulate some award mechanism 23:54:46 kmc: DOMA affects national law stuff too 23:54:58 oh, nevermind, you mentioned that 23:55:01 missed that >_< 23:56:42 in Canada you can get opiates over the counter 23:56:46 My school's library server requests a client certificate for some reason. 23:56:46 Lymia: You have 4 new messages. '/msg lambdabot @messages' to read them. 23:56:53 Tylenol 1 with 325 mg acetaminophen and 8 mg codeine 23:57:35 the acetaminophen ensures that if you take enough to have fun you will also destroy your liver 23:57:40 wow, codeine OTC? 23:57:41 oerjan, 23:57:41 oerjan said 1h 53m 22s ago: That never /loses/ a single joust <-- the other day i believe i proved that you cannot make a program that can never lose on a particular tape/polarity. 23:57:43 Phantom_Hoover, it's easy to stimulate the reward system constantly, but I suspect the effects are boring 23:57:47 Qualify that with "given a known hill" 23:57:50 I would assume the norn would get locked onto one activity 23:57:50 drug policy is largely based on harm maximization, i.e. the opposite of harm reduction 23:58:11 If you're going for random flailing aboutness, then a genetic disorder I made does have that effect in its middle stages 23:58:11 I think they include the acetominpohen here in most prescription versions too 23:58:28 yeah I don't think harm maximization is the only reason, it's actually effective 23:58:29 -!- copumpkin has quit (Ping timeout: 248 seconds). 23:58:34 The norn starts off normal, then starts trying to do weird things, before eventually sitting doing nothing whatsoever 23:58:49 And refuse to eat except under mind control 23:58:51 the only time I've tried codeine it made me a bit nauseus and kind of sick 23:58:57 which is I guess not as bad as percoset 23:59:00 -!- copumpkin has joined. 23:59:01 which made me very nauseus and actually sick 23:59:06 http://www.slate.com/articles/health_and_science/medical_examiner/2010/02/the_chemists_war.html 23:59:14 It's constant stimulation of the punishment pathway 23:59:49 So, they try normal things because of their instincts, then, they learn that those things are bad. They avoid those and start doing other things that are vaguely related but haven't been punished yet. Eventually everything is punished.