00:08:08 quintopia: QUINTHELLOPIA!!!!!!!!!! 00:10:11 -!- axelcsep has quit (Ping timeout: 240 seconds). 00:11:22 so, we meet again 00:11:59 * boily motions a time out, pause, PAUSE! 00:12:07 (hot pepper. ow. oooow.) 00:12:22 boily: pause? no. 00:12:38 -!- augur has joined. 00:12:45 (strawberry jam. mm. mmmmm.) 00:13:18 olsner: more of a chilli-ng out 00:14:03 i just ate a pizza with tabasco and chili flakes. unlike some people, i can handle the heat 00:14:59 http://en.wikipedia.org/wiki/Bird%27s_eye_chili 00:17:15 I grew some piri piri as potted plants this year, looks much the same (but seems to be a different species?) 00:18:18 it's similar, but not the same. 00:37:13 -!- nycs has quit (Ping timeout: 258 seconds). 00:38:59 -!- mihow has quit (Quit: mihow). 00:52:40 -!- augur has quit (Remote host closed the connection). 01:05:27 Rust would make me happier if there weren't so many little details that seem to be undocumented 01:05:45 e.g. the concept of partially moving a value 01:06:37 the concept of partially documenting 01:09:07 deserves a formal semantics 01:10:07 -!- shikhout has joined. 01:13:24 -!- shikhin has quit (Ping timeout: 264 seconds). 01:13:59 -!- oerjan has quit (Quit: Nite). 01:24:03 -!- AndoDaan has quit (Ping timeout: 245 seconds). 01:31:08 -!- AndoDaan has joined. 01:43:21 -!- adu has joined. 01:59:08 -!- glguy has quit (Quit: Part). 02:07:05 -!- axelcsep has joined. 02:07:48 -!- FreeFull has quit (Ping timeout: 245 seconds). 02:11:31 -!- axelcsep has quit (Ping timeout: 258 seconds). 02:25:01 -!- b_jonas has quit (Ping timeout: 255 seconds). 02:25:33 -!- b_jonas has joined. 02:59:49 -!- FreeFull has joined. 03:01:13 -!- axelcsep has joined. 03:06:21 -!- boily has quit (Quit: PROPANOLOL CHICKEN). 03:06:21 How can I wire a TV cable so that channel 95 comes from one cable and I can get lower numbered channels from another cable? 03:07:08 (I have no need to access higher numbered channels at all.) 03:08:14 I don't know 03:10:31 Are the channels 1-95 all in the same frequence band? 03:11:13 Actually I only need 3-90 from one cable, not all of them up to 94. I do not know much about exactly what frequency bands and stuff TV cables use 03:11:44 (I don't need channel 2 either because that channel has gone out of business.) 03:12:42 3 - 90 havent made the transition to digital yet? 03:13:18 They probably are available in digital too, but I am not using digital service; digital is too slow and cannot be used with VHS. 03:15:33 I'm no expert, I just played with my vcr and tv setting years ago, but I vague remember being able to tune my vcr to a certain bandwith height, and also use it as a splitter. 03:17:25 Is your aim to just have your tv ignore any channel above 90? 03:17:47 No, it is to connect a different device to channel 95 specifically. 03:18:03 Other than that I have no use for the other channels above 90. 03:19:25 Channels 3-90 come from the television service provider, and I have another device that broadcasts on channel 95, and I don't want to have to switch the cable manually every time. 03:21:00 okay, again, not an expert, but plug from the wall to your tv, tv to the vcr, set your vcr to channel 95, and then output from your vcr to chosen device. 03:22:01 In the slim chance that works, you'd have to keep your vcr on channel 95 though. 03:22:33 Yes but I cannot connect two cable inputs to the VCR. It is actually a VCR/DVD combo, and it isn't actually a TV either but a computer monitor, so only the VCR is used as the tuner. Also, I want to be able to change the channel to other channels in order to watch and record other TV shows. 03:24:48 That's me spent. 03:31:59 -!- augur has joined. 03:33:26 -!- augur has quit (Remote host closed the connection). 03:34:24 fizzie, ping 03:35:23 -!- augur has joined. 03:36:06 -!- augur has quit (Remote host closed the connection). 03:39:16 -!- adu has quit (Quit: adu). 03:39:30 -!- augur has joined. 03:58:22 -!- augur has quit (Quit: Leaving...). 04:13:28 -!- nys has quit (Quit: quit). 04:22:21 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:23:23 -!- AndoDaan_ has joined. 04:23:42 -!- AndoDaan has quit (Read error: Connection reset by peer). 04:27:01 -!- shikhout has quit (Ping timeout: 264 seconds). 04:45:52 -!- CrazyM4n has quit (Quit: Leaving). 04:46:44 -!- AndoDaan_ has quit (Quit: bbl). 04:53:49 -!- Decensum has joined. 04:54:51 -!- Decensum has changed nick to Decensum|Zzz. 04:58:17 How much danger am I putting myself in if I buy a USB port from eBay? 04:58:33 I'm kind of desparate 04:59:40 Odds are, I'd guess, not much 05:00:02 Any reason you can't buy one from a store or other reputable retailer 05:00:08 ? 05:00:21 Tried going on Amazon, would take around a month to come in 05:00:31 This one on eBay will arrive in days 05:00:58 Are you near a physical store that might sell them? 05:01:27 and able to get to the store 05:01:32 Would AT&T store be likely to sell such a part? 05:01:47 They might offer to do the repair, but I don't necessarily want to give my phone out 05:03:33 I don't know, could you ring them and ask? 05:03:45 -!- Sprocklem has joined. 05:04:26 I could walk over there and ask I guess 05:04:28 Tomorrow 05:05:08 -!- Farra_000_ has joined. 05:06:44 THe listing says 3 available (from this seller which seems to be the best not lucrudiously expensive nearby). What if I wait that day and it runs out 05:06:58 dude just meditate 05:07:10 thats all you need to do 05:07:24 `relcome Farra_000_ 05:07:32 lol thank you 05:07:38 ​Farra_000_: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on irc.dal.net.) 05:07:58 oh, this is a promgramming channel 05:09:10 Meditation is certainly not the only thing that is necessary or possible!!! 05:09:16 Learning computer programming is also good. 05:09:22 I know java and c++ 05:09:41 not no damn esoteric 05:09:45 lol 05:09:49 That's good, but do you know any esoteric programming (such as INTERCAL)? 05:10:16 INTERCAL was designed in 1972 by Donald R Woods 05:10:21 and James M Lyon 05:10:28 - Wikipedia :) 05:10:45 Do I win a prize? 05:11:03 Yes, of course Wikipedia says so; our esolang wiki also mentions it. 05:11:23 I am not the one to decide who win the prize or not, but I expect there isn't a prize. 05:11:32 :( 05:11:55 In that case, i am off in search of other channels where prizes may be awarded. 05:11:57 Godspeed 05:12:00 OK 05:12:11 I wish you all the best in life 05:12:17 OK 05:12:21 -!- Farra_000_ has left ("Leaving"). 05:14:20 Do stores even -sell- replacement electronic parts? 05:14:26 I'm trying to replace the USB port... 05:15:20 I have never tried to buy a replacement USB port so I don't know. 05:16:37 I have never lived in the country you are in, so I also don't know 05:18:40 i've never peed 05:19:10 elliott, you may want to fix that 05:19:41 it's too dangerous 05:20:23 Well, I'm writing a plugin for an IRC bot written in Haskell so it has a BF Joust hill 05:21:04 lambdabot? 05:21:07 No 05:21:25 I think BF Joust is somewhat out-of-scope for lambdabot 05:22:02 It's for yukibot, an IRC bot one of my friends is writing 05:22:04 for a desktop you may be able to buy a usb pci card 05:22:34 are you implementing the fancy scoring algorithm 05:22:38 did fizzie ever fix that 05:22:51 Right now I'm basically translating fizzie's code 05:22:55 Haven't done much yet 05:24:39 i buy most ofmy electronics at a store in chinatown where everything is cheap and the cashiers don't speak english. 05:27:35 so i know you can get a desktop computer with a usb pci pard in it for less than 120 dollars (canadian) 05:29:06 oren: I'm trying to be able to charge my phone 05:29:42 you can get a plug-to-usb adaptor for 3 dollars 05:30:41 unless the problem is with the phone.... 05:30:54 The problem is with the phone. 05:31:17 then buy a new phone. 20 dollars. 05:33:35 the problem is these phones have the usb ports and everything soldered to one plastic board. 05:34:36 Did python update? 05:34:54 Which is why I've found exactly 0 replacement parts such as the one I'm considering buying on eBay? 05:35:22 Is it your battery 05:35:27 i was saying the 20 dollar phones are one piece 05:35:29 Or did you crack it 05:35:43 I think the pins in the port are bent 05:36:01 try using needlenose pliers 05:36:21 Oh 05:36:32 Micro usb? 05:36:47 or tweezers 05:36:59 Not for a micro oren 05:37:04 If thats what it is 05:38:24 Not sure what the difference between micro and mini is, but probably 05:39:13 on the off chance: did you try cleaning the port with vodka? 05:40:03 No 05:41:26 you should def try cleaning it. use a thin watercolor paintbrush and some strong alcohol such as cheap vodkaor everclear 05:42:35 The pins look bent I think 05:42:50 * Sgeo just bought the part from eBay. Spent more in shipping than the part itself, to save a few days 05:43:34 Have you tried 05:43:50 -!- adu has joined. 05:44:01 Putting the chsrger back in and trying to slowly bend them back 06:18:41 [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41434&oldid=41406 * Orenwatson * (+37) hollerith encoding 06:27:05 -!- shikhin has joined. 06:28:39 is there any fast way to convert floating point to a fraction 06:29:52 To what approximation do you want? 06:30:36 so that if the user entered a simple fraction it would be converted losslessly back 06:31:36 e.g. if i were to enter 30.0/7 the algorithm would output 30/7 06:34:04 i realize this requirement isn't defined mathematically... 06:34:06 My suggestion would be to use a rational type 06:34:13 Instead of floating point 06:34:29 the floats are being read out of the memory of a running C program 06:35:08 Floats are scientific notations. Is there any fast way to simplify fractions? 06:35:12 *notation 06:35:20 But it probably won't show original input so closely 06:35:39 hopefully close enough 06:37:11 suppose that the integers of the original fraction are under 16 bits... 06:37:21 and the result of the division is given as a double 06:37:33 is it possible to reverse the division? 06:41:04 i am going to try some ieee hackery 07:07:00 making some progress: 3/4->0.75->1572864/2097152 07:07:37 But 3/4 is represented exactly in floats, isn't it? 07:07:52 it is... so i am trying to extract it better... 07:07:55 mantissa of 3 and exponent of -2 07:08:00 exactly 07:08:45 the mantissa is extracted by: ((*(int64_t*)&f)&0x000fffffffffffffLL|0x0010000000000000LL) 07:09:23 and then i reduced it to a small nubmer of bits 07:09:58 why are you doing this... 07:10:08 to undivide 07:10:18 also, I think that cast violates strict aliasing. not sure though 07:10:35 whatver the cast works 07:10:46 no, it doesn't. not necessarily/ 07:10:52 it depends on compiler optimisations 07:10:55 *neccessarily. 07:11:04 (if I'm right) 07:11:39 it works on gcc -O3. 07:11:56 I hate programmers like you. 07:12:19 because we think in bits and bytes? 07:12:27 (and no. not necessarily. undefined behaviour can break depending on billions of other things, like surrounding code, CPU architecture...) 07:12:51 no, because you don't care when if write code that explicitly violates the standards and can and will break. compilers have only gotten *more* aggressive at exploiting UB 07:13:30 for instance signed overflow always does the obvious thing even though it's UB, right? 07:13:36 but some unefined behaviour is defined by programmer's conventianl usage 07:13:37 except, oops, no, gcc and clang will do optimisations that assume it never happens 07:13:59 for instance you can do a signed addition and check if it overflows and raise an error if it does, and return the result if not 07:14:08 gcc and clang will happily optimise out the check but then let it wrap at runtime anyway 07:14:11 because /it is undefined behaviour/ 07:14:29 if you don't write code that obeys the rules of the language you will get burnt, whether "it works right now" or not 07:14:32 because wrapping is the conventional behaviour 07:14:41 oren: ...but optimising out the check is not. 07:15:03 and easiest to implement in a cpu. it is harder to have a check 07:15:11 oh my god, would you listen to what I say? 07:15:34 Maybe UB just should be banished 07:15:57 he can't 07:16:02 oren: { int c = a + b; if ((a >= 0 && c < a) || (a < 0 || c > b)) { puts("overflow!"); abort(); } do_something_with(c); } 07:16:08 One thing that I want to do at some point is to write a C implementation which does the worst thing with undefined behaviour 07:16:14 oren: gcc and clang *can and do* optimise code like this to be the same as { do_something_with(a + b) } 07:16:20 *even if (a + b) overflows in practice* 07:16:28 Taneb: Boing? 07:16:40 relying on undefined behaviour can and will get you burnt, in practice, on programs that have an "obvious conventional meaning" to you. 07:17:04 What happens when there's no standard, or the standard is ignored half the time? 07:17:08 Fuck the web 07:17:30 fizzie, I'm trying to use gearlanced for an IRC bot... 07:17:43 Actually, could I talk to you later 07:19:00 Taneb: Oh, poor you. But sure. 07:20:07 gcc on overflow does not do the opimization you said elliot 07:20:16 even on -O3 07:20:57 checkmate 07:21:23 it is defined by convention that 2s complement integers will wrap 07:21:49 because that is obvious and easy to implement 07:21:53 oren: fine, I'll bring up a fucking bug report where it optimises out overflow checks and got closed as WONTFIX 07:22:05 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475 07:22:24 if you say something false that could have been proven wrong by reading that page I'm probably going to be annoyed enough to kick you again 07:23:14 (I take no position on whether C *should* be like this but the gcc developers in that bug report are completely correct that this is legal behaviour by the C standard, and this of course suffices as proof that compilers can and do optimisations like this in practice.) 07:23:53 here's some more reading material http://blog.regehr.org/archives/213 http://blog.regehr.org/archives/226 http://blog.regehr.org/archives/232 http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_14.html http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_21.html 07:25:08 (those do cover strict aliasing) 07:27:06 It is a bug. C is a bug. 07:27:22 Rust has UB too I think :( 07:30:07 I had http://sprunge.us/iRcT as an example of GCC optimizing something by assuming no signed integer wraparound recently. 07:30:52 Rust arithmetic overflow is defined, I think 07:31:04 Defined as wrapping iirc, but defined 07:31:19 -!- dts|pokeball has quit (Read error: Connection reset by peer). 07:32:00 -!- dts|pokeball has joined. 07:32:33 "I'm still amazed that for the gcc maintainers, performance seems to be more important than security of the existing code base. " 07:32:46 It's C! Stop using C for security. Stop using C for security. Stop using C for security. 07:33:37 people used COBOL, Fortran, and indeed C in the defense industry 07:33:56 I think only the parts that are needed to be secure, need to be made secure; most of it needn't need be secure since that is the job of the individual program being written. 07:34:00 however they probably have their own compilers 07:34:12 -!- AndoDaan has joined. 07:34:40 "My issue with gcc is that it removes statement THREE. Your argument about undefinedness is about statement TWO. " 07:34:41 ahahaha 07:34:56 i guess many makefiles will include -fwrap soon 07:35:32 You certainly can write secure programs in C if you are careful; that isn't a problem. Making careful isn't too difficult; you can avoid buffer overflows and stack overflows if you don't have a buffer or recursive subroutine calls, for example. 07:35:47 This was 2007 07:36:08 oren: It's "-fwrapv", and I highly doubt that. 07:36:08 I know in LLVM it is possible for each instruction to specify whether or not signed wrapping, and whether or not unsigned wrapping, is possible. 07:37:12 oren: "soon"? gcc has worked this way for an extremely long time. as has clang. 07:37:43 I'm pretty sure C compilers have been making assumptions like this since the 90s at the latest, and they've only gotten more aggressive. that bug report is from 2007 and was certainly nothing new at the time. 07:37:45 fizzie: why? it was the 'standard' behaviour for so long no doubt people relied on it... take the guys complaining for example. are they going to change their code or add the flag that gets the behavious they want? 07:37:52 no, you just assumed it was. 07:38:01 things don't start existing when you become aware of them. 07:38:23 object permanence trumps arrogance 07:38:57 http://pastebin.com/gnHcc4EX this works. gcc only optimizes when it is obvious 07:39:42 and most of the time i don't bother checking for overflow at all 07:40:25 so i just see it wrap and don't care 07:41:17 oren: For the record, that definition for main is also undefined behavior. 07:41:19 you're trying to make talking to you as frustrating as possible by ignoring everything said to you until the evidence is overwhelming enough that you have to accept 1% of the truth and continue vociferously denying the remaining 99%, right? 07:42:00 it must be nice for everything you know to be the obvious, self-evident truth that you can argue it when someone tries to correct you and not even have your belief shaken next time when you turn out to be wrong 07:42:09 Just... use a better language already 07:42:46 I have no problem with people not knowing things but nothing is more irritating than confidence exceeding that knowledge. 07:43:07 (a sin which I've been plenty guilty of over the years, true.) 07:43:10 anyway elliot, if gcc does not do what i want then i will change my makefiles or use a different compiler. why are you so mad? 07:43:20 -!- Patashu has joined. 07:43:38 Sgeo: if you don't care about how the language you're programming in and the compilers you're using work, no language will save you 07:43:50 it is true C makes writing correct programs significantly harder. 07:44:05 but you have to actually care about things to go from that to deciding you'd be better off using something else. 07:44:09 fizzie, you still about? 07:44:34 oren: because you're the second most annoying person in here and I don't like people enroaching on my title 07:44:57 (also, I only talk in here when I feel like venting these days, because it's usually boring) 07:45:37 souns good! i actually like reading your tirades 07:45:37 fizzie, is it possible to use gearlanced as a library? 07:46:10 great. it would be nice if you actually listened to them 07:46:36 fizzie: I like how argv is mega-super-duper-const but argc isn't. 07:47:34 perhaps legacy code contains code looping backward thru arguments by --argc? 07:48:09 Legacy could could equally well contain code looping forward via ++argv. 07:48:41 I suspect that most programmers in the world are more like oren than like elliott :( 07:48:42 Taneb: I'm not sure what you mean by that, but assuming an abritrary interpretation, you'd probably need to change the code a little bit, since it's designed to be used as an external process. 07:49:07 Right. I'm not sure if I'm up to that task. 07:49:16 For now I'll just use it as an external process. 07:49:42 Sgeo : most programmers are trying to get things done, not achieve mathematical provability and perfect precision 07:50:00 blasphemy! 07:50:08 :( 07:50:11 if it works 99 percent of the time you can do it manuallt he other 1% 07:50:52 welcome to the real world where COBOL is *still* a thing 07:50:54 fizzie, how well-documented is gearlanced's interface? 07:51:11 Oh I see, in the comments at the top of the file 07:51:26 oren: Yeah, I somehow expect that excuse not to work so well when the resulting bugs ends up costing someone money. 07:51:36 When a Java method returns null instead of an empty array when there are no items, and the programmer doesn't realize this, is it the programmer's fault for not reading the docs carefully enough, or Java's fault for providing such a backass stupid method? 07:51:52 fizzie: can I just kick him again? it's therapeutic. 07:52:02 go ahead 07:52:35 Taneb: Librarification would probably just entail splitting the three cases of main into separate functions, and fiddling the persistent state into some struct. 07:52:54 Sgeo: the latter, but if the programmer argues not that java is badly designed (which is fair), but that actually the code is okay and they'll keep using it because everyone assumes by convention that the method will return an empty list... 07:52:54 I may do that at some point, but not just now 07:53:30 fizzie:true. but will it cost more money to fix the bugs or to simply learn to deal? 07:53:58 "the code works, it's fine" -> "the code is broken, but it's fine" 07:54:28 it is fine if the cost is less than your salary for the time it will take to fix it 07:54:31 I'm going to smirk way more than is reasonable if a type-based alias analysis optimisation breaks your code in this case. 07:54:50 I'd pay you to not contribute to any open-source software I might use x_x 07:56:14 well in the case of OSS the cost can't be less than your salary since the salary is often zero 07:56:44 elliott: I think e'd fit in with the OpenSSL team 07:56:57 (Ok, that's mean to the OpenSSL team, I'm sure... they're not that bad?) 07:57:32 save me from programmers 07:57:35 I wish I was any good at anything else 07:58:33 Depressing cynicism can be funny! 07:58:40 the companies that rely on OSS whould pay programmers to work on OSS... or is that already happening? 07:58:45 That's how I cope. I find humor in how horrible everything is. 07:59:12 I kind of think of it as a job perk 07:59:17 oren: I don't know how common it is, although it does seem like reasonable. 07:59:21 sadly, there's a certain level of horribleness in your life where that doesn't stop you drowning 08:00:09 I think it's relatively common for companies to let their progammers commit code they've made back to the project. 08:00:38 elliot: i am willing to write standard-conforming code if i am paid to do so. 08:01:52 you know, people missing the t from my name hasn't actually annoyed me for years 08:01:54 however if the requirements are simply that it works, then my boss will not be happy if i expend extra effort to avoid undefined behaviour. 08:02:00 lol 08:02:13 save me from programmers. 08:02:35 you mean 'save me from economics' it's the dismal science for a reason 08:02:48 or is that comp-sci 08:03:07 oh my god 08:03:16 you keep getting more and more absurd 08:03:26 -!- adu has quit (Quit: adu). 08:03:50 I would probably fight back against my boss in that situation 08:04:05 Product never cares about security, but they should 08:04:56 Actually, that's not really true 08:05:43 thankfully, everything sucks and one day each and every nerd will be condemned to the eternal blazing fires of hell, wherein they will maintain a sustained argument that said fires manifestly don't exist and they can't possibly be burning in them 08:06:01 I can't wait for them to come for me. 08:07:17 what is absurd? you have requirements and you are paid to write a program satisfying business objectives. if business objectives do not include "works every single time and is super-secure" then you do not do that it is a waste of time. instead the solution is "when it doesn't work, call Bob to type it into the DB manually" or something 08:08:17 I actually kind of agree with oren. Security is a trade off. 08:08:47 listen. listen. jesus has saved me from talking about undefined behaviour in C with you any more, and He could save you too. 08:08:47 oren: By the way, getting back to your "compilers only optimize when it's obvious" example: http://sprunge.us/TJcW -- "Hey, your code stopped working when we switched compiler vendors!" "Oh? Well, learn to deal." 08:09:10 Sgeo: and there is a tradeoff between my salary and Bob's. 08:09:13 (I don't think the overflow check was quite right, earlier.) 08:09:18 fizzie have you not heard His word 08:09:57 I use only the Lord's C Compiler and it never lets me down 08:10:16 you mean tcc ? 08:10:28 I mean the Gospel. 08:10:42 (because t is the cross on which He was crucified) 08:11:34 If you write "gcc" on an OS X system, it's actually clang. 08:11:39 Of course, is Product really trustworthy to even comprehend the tradeoff? 08:11:41 (Assuming Apple's Xcode.) 08:12:02 fizzie: I wonder what llvm-gcc does. or that dragonegg thing. 08:12:23 hey, I wasn't paid to do anything but compile a binary on this exact linux box at 2 pm on a tuesday. if that's the only time it works so be it 08:12:51 Didn't OpenOffice have a bug that printing wouldn't work on Tuesdays? 08:13:04 elliot in all seriousness it is possible for that to be the business requirments 08:13:05 http://mdzlog.alcor.net/2009/08/15/bohrbugs-openoffice-org-wont-print-on-tuesdays/ 08:13:08 now watch for my next trick as I show you my perfectly acceptable C program that exploits a buffer overflow in one version of gcc on one platform to do a bunch of manual printfs to the outputted assembly file 08:13:45 Sgeo: that's great 08:13:56 Also I think these days if you write "as" what you get is 'clang -cc1as' instead. 08:15:21 fizzie: I don't think so, they have their own assembler 08:15:27 % as --version 08:15:27 FATAL:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../libexec/as/x86_64/as: I don't understand '-' flag! 08:15:35 % clang -cc1as --version 08:15:36 LLVM (http://llvm.org/): LLVM version 3.5svn from Apple Clang 6.0 (build 600.0.54) Optimized build. Default target: x86_64-apple-darwin14.0.0 Host CPU: core-avx2 08:16:01 it could be a wrapper, but /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../libexec/as/x86_64/as is a binary, at least 08:16:29 as(1) says as - Mac OS X Mach-O GNU-based assemblers 08:17:05 maybe it uses LLVM under the hood nowadays, though. 08:17:12 it certainly knows about options clang -cc1as doesn't 08:19:01 Possibly not. I don't have any real OS X systems to test on. 08:19:25 elliott: do you also hate people who use compiler-specific extensions? 08:19:28 I just came across something that said they "will switch /usr/bin/as to call the clang internal assembler soon". Perhaps it never happened. 08:20:23 because that is also undefined behaviour which may change at any time. 08:20:46 oren: The storm had now definitely abated, and what thunder there was now grumbled over more distant hills, like a man saying "And another thing..." twenty minutes after admitting he's lost the argument. 08:21:54 when did i admit id lost argument? i just accepted you have different objectives from me. 08:22:24 yes, nobody's perfect 08:22:32 I was being charitable 08:23:41 but if you like gcc for using undef-behaviour for speed,do you dislike them for creating new constructs that are undefined or even illegal standard c? 08:24:22 e.g. {label: void q =&&label; ...} 08:24:31 e.g. {label: void *q =&&label; ...} 08:24:33 oren: I'm not sure how you derived "like" from "I take no position on whether C *should* be like this". 08:24:45 you know you can't force me to argue with you even if you keep doing your side of it, right? 08:25:15 sorry, i thought you hated programmers who do stuff that is undefined? 08:26:20 I use some of the GNU extensions; I like ?: with nothing in between, and I like the ability to create zero-length arrays. I also sometimes use function to count how many bits are set. 08:26:32 I hate programmers like you. 08:26:43 fizzie: should I be compensating you for your efforts here 08:27:26 so do you hate programmers who use gcc extensions too? 08:27:34 zzo38: I'm curious, how does (x ?: y) differ from (x || y)? 08:28:29 What does that mean? 08:28:48 x?:y seems to turn into x?x:y but i would have assumed it was undefined, just happened to see teebee using it once 08:28:48 (x || y) is always 0 or 1. 08:28:56 Taneb: it's (x ? x : y) but x is only computed once 08:28:58 oh 08:29:09 right, C logical operators are pedantic like that 08:29:19 elliott: The (x ?: y) acts similar to how (x || y) functions in JavaScript. 08:29:52 i don't use ?: very much actually, i prefer full if statements 08:32:32 fun fact, in php 1?1:0?2:3 gives 2, in C it gives 1. 08:32:34 I wonder when Bike left. 08:43:28 -!- glguy_ has joined. 08:49:03 -!- FreeFull has quit (Ping timeout: 244 seconds). 08:51:01 -!- Decensum|Zzz has quit (Quit: Connection closed for inactivity). 08:54:32 -!- dts|pokeball has quit (Ping timeout: 244 seconds). 09:09:26 Did you know that? In ZZT, picking up a gem while your health is at 32767 (regardless of how many gems you have), will kill you instantly. However, a program that gives you additional gems or health will not do this. 09:14:17 What will it do? 09:18:22 What will what do? 09:18:46 -!- AnotherTest has joined. 09:20:34 A program that gives you additional gems or health. 09:24:40 -!- glguy_ has quit (Quit: Computer has gone to sleep.). 09:25:19 -!- AnotherTest has quit (Ping timeout: 245 seconds). 09:25:36 It simply doesn't adjust the amount of gems/health you have in such a case. 09:41:00 -!- FreeFull has joined. 10:38:58 -!- ais523 has joined. 10:59:52 -!- GeekDude has joined. 11:04:26 -!- cluid has joined. 11:04:31 hello 11:04:40 hell0 11:04:54 I've been thinking about this new brainfuck derivative but I can't find anything it's really good for 11:06:00 any brainfuck derivative is good for annoying people (even though they don't complain about yet another algol derivative...) 11:06:32 well it gives you more room to use than brainfuck, so it shoudl be able to write some programs more efficiently or much shorter or something 11:11:52 http://lpaste.net/116231 11:11:59 This is the language 11:12:30 you can embed any brainfuck program into this language by s/\^/ cluid: it's kind of cute how that lets you contain infinite data structures in one cell 11:12:46 you mean s/ yes thanks! 11:13:06 yeah you can have infinite structures next to any cell, 11:13:17 so you might represented tree structured data quite easily 11:13:31 (without having to flatten it as you would in brainfuck) 11:14:02 is the tree infinite in all directions? 11:14:06 yes 11:14:22 http://lpaste.net/116233 11:14:26 here's an example program I wrote 11:14:39 to swap two numbers using a third cell 11:15:19 so but you can binary encode your tmp varibales (<><>>><><>) rather than unary in brainfuck (>>>>>>>>>>>>>>>>>>) 11:15:29 this isn't too amazing though 11:15:55 cluid: you could run the same language on an arbitrary graph with the condition that every vertex has three edges 11:15:57 the next thing I learned about this language is what elliott said 11:16:15 sort of like doing bf with a wrapping tape 11:16:29 cluid: what's the tape like? is it an infinite unrooted 3-regular tree? 11:16:34 yes b_ 11:16:35 yes b_jonas 11:17:30 have you tried to search the existing bf variants for whether this already exists? 11:17:42 no, but I dont think it exists 11:17:49 do you think that it might exist? how would I check... 11:17:56 most bf derivatives aren't so fancy to mess with the tape 11:17:59 well, there are already tons of bf variants 11:18:01 the closest thing I can think of is dimensifuck 11:18:23 sadly https://esolangs.org/wiki/Category:Brainfuck_derivatives is pretty incomplete I think but it probably has most of the more interesting ones 11:18:34 elliott: what? I think there's a two-tape brainfuck somewhere. or maybe a two-headed brainfuck. I mean, that's sort of an obvious idea. 11:18:36 (people often don't bother to categorise crappy text substitution bf derivatives that pop up I think) 11:18:48 b_jonas: by closest thing I meant closest to cluid's language 11:18:49 -!- sebbu2 has joined. 11:18:56 and yeah (doublefuck) 11:19:26 -!- sebbu2 has quit (Changing host). 11:19:26 -!- sebbu2 has joined. 11:19:29 the ultimate will be when someone makes a dual deadfish + brainfuck derivative 11:19:37 http://esolangs.org/wiki/Arborealis (similar but not same), http://esolangs.org/wiki/V (close? danger..) 11:19:39 then we can permanently feature it and implement it in every language that has ever existed 11:19:41 I don't have a problem with working on a 3-regular tree tape, but why make it a brainfuck variant? can't you do something else on a tape? 11:19:44 i am just glad cluid's language is not called ?fuck for any ? 11:20:12 whoa, V is cool for a bf derivative 11:20:25 try to figure out more than one cool ideas, and put them together, rather than just changing one thing in brainfuck. 11:20:36 -!- sebbu has quit (Ping timeout: 264 seconds). 11:21:07 Fun fact: I implemented this brainfuck derivative using derivatives 11:22:27 cluid: parsing derivatives? 11:22:32 data T a = B (T a) a (T a) 11:22:35 oh 11:22:36 cluid: hehe. have you also written any programs in that language that can't be just as easily written in brainfuck? 11:22:39 a zipper, of course 11:22:42 data Z a = ZL (Z a) a (T a) | M (T a) (T a) | ZR (T a) a (Z a) 11:22:54 b_jonas, that's the hard bit, I've been thinking about it all night 11:23:26 All I got so far was tmp variables are much shorter and the point elliott raised, about infinte structures held next to one cell 11:23:38 I was thinking maybe iyou could implement something like game of life much shorter, but then im not sure if you really could 11:24:17 i feel like this language can improve on brainfuck a lot but only in more complex programs? 11:25:18 actually, interesting question: out of all the TC esolangs, which are only polynomially slower than, say, C? which are no more than O(n) slower? 11:25:24 just being TC doesn't mean you have the same complexity 11:25:39 yes ais523 good point 11:25:52 I like that you say this becaues when ever I say things like this people try to teach me about the turing machines and it's really frustrating 11:26:26 well, almost all languages are TC, but nonetheless, some are better than others 11:26:33 ais523 learned about arguing subtleties about tcness the hard way :p 11:27:01 even defining "TC" is hard when you reach the edge cases 11:27:49 I'd like to understand the connections between derivatives (of types) and linear types better. 11:29:35 ais523: as you know, many languages are quadratically slower, specifically all tape-based (even multi-tape or multi-head) languages have a quadratic slowdown. 11:29:53 b_jonas: I first noticed with Thutu, which seems O(n) slower than anything else 11:29:59 I'm not convinced that BF has to be quadratically slower, though 11:30:02 A fun game could be like a 'boy scouts' thing for esoprogramming. You get a badge for writing a quine, for self interpreter, implement certain algorithm in strange language etc.. 11:30:14 I think that if you use tape elements only as single bits, it can be linearly slower instead 11:30:27 cluid: #esoteric achievements? 11:30:59 http://www.cs.nott.ac.uk/~txa/publ/tlca03.pdf talks about it a bit. 11:31:02 * shachaf goes to sleep. 11:31:04 ais523: by quadratically, I mean that there are programs that take O(n) time in, say, C, but require Omega(n^(2-epsilon)) time on brainfuck or even on a multi-head turing machine 11:31:34 b_jonas: right, that's what I took you to mean 11:31:48 Also, as you know, counter machines (turing machines that can't write the tape) are exponentially slower; counter machines with only two counters are probably doubly exponentially slow. 11:32:05 I'm not 100% sure you're wrong, but I think it's quite likely that all programs that are O(n) in C can be done in O(n^2) in BF, unless there's something obvious I'm missing 11:32:23 also, C is a bad example 11:32:30 maybe we should pick Scheme or something 11:32:43 C's only TC due to technicalities involving writing to a file and reading it back, due to the existence of sizeof 11:33:18 just pick the obvious subset of Python 11:33:21 or whatever 11:33:37 nah... Fortran 11:33:51 how about just measure the complexity of the best algorithm for a given problem 11:34:16 My favourite reference machine is a pointer machine with only immutable cells. This has any number of registers (given by the program) and any number of algebraic data types. 11:34:41 that sounds pretty cool 11:34:52 without mutation there is a logarithmetic slowdown though, so that might not be the perfect benchmark 11:36:13 The program has a number of states and four kinds of instructions: (1) halt; (2) allocate a new cell on the heap of the given constructor, filling its cells from registers, then jump to a state; (3) test whether a register contains a value with particular constructor, if it does, unpack it to registers and jump, else jump to somewhere else. 11:36:57 Where can I upload a implementation of my esolang? 11:36:57 You get the input as a linked list in a register, and put the output as a linked list in another register. You could add a register copy instruction for convenience but it's redundant because it can be simulated in two instructions. 11:37:04 i want to link to it from the wiki 11:37:16 i have been using pastebin 11:37:17 or have it as a 'behind' page would be nice.. if that's ok 11:37:25 oren, that is likely to 404 after some time, I linke 11:37:26 think 11:37:26 cluid: Does it have a short text source code? If it does, you could just put it to a wiki page. 11:37:28 you shuldnt' trust it 11:37:43 -!- oerjan has joined. 11:37:44 its 90 lines 11:37:54 oh, huh, the esoteric files archive is on github now 11:37:55 https://github.com/graue/esofiles 11:38:03 yes its just i dont want to use github 11:38:11 I don't like github eitehr 11:38:14 cluid: I say put it on the wiki. 11:38:16 if someone else puts it on github that would be fine/kind 11:38:18 ok thank you 11:38:28 I'm fine with other repo hosting sites, I just dislike github in particular 11:38:32 (Provided it's 90 not very long lines.) 11:38:55 ais523: do you like gitorious 11:38:57 ? 11:39:03 b_jonas: it's my favourite git hoster, right now 11:39:31 bah git is unnecessarily complex to my mind... 11:39:35 cluid: you could put it on a subpage of your user page and link to that or such 11:39:38 that's quite common 11:39:39 (is github better than sourceforge?) 11:40:02 ais523 got crawl to use gitorious and everyone involved has suffered for years because of it :p 11:41:05 -!- callforjudgement has joined. 11:43:39 -!- ais523 has quit (Ping timeout: 245 seconds). 11:43:43 im giving up on the undivider for now, can't figure out a good heuristic 11:43:48 -!- callforjudgement has changed nick to ais523. 11:45:34 undivider? 11:46:51 -!- ais523 has quit (Read error: Connection reset by peer). 11:46:53 suppose i have a double f which i know came from dividing two small numbers. reproduce the small numbers again. 11:47:00 -!- ais523 has joined. 11:47:40 of course it is not necessary to distinguish 3/9 from 1/3... 11:47:45 oren: use continuous fractions for that 11:48:03 -!- ais523 has quit (Read error: Connection reset by peer). 11:48:17 -!- ais523 has joined. 11:48:19 nah let's assume the double came from say a core dump... 11:48:23 wait, I might have code for that 11:48:53 um 11:48:56 continued fractions 11:49:05 I think that's what they're called, not "continuous fractions" 11:49:34 here: http://www.perlmonks.com/?node_id=424519 11:49:36 there's the code 11:49:51 oren: see there 11:49:54 looks good. 11:50:49 for reference on the theory of how it works, I recommend the ''Concrete Mathematics'' book 11:51:03 How do I upload an image to wiki? 11:51:06 http://i.imgur.com/axDhZce.png 11:51:08 I want to use this one 11:51:32 under tools, upload file 11:51:52 cluid: http://esolangs.org/wiki/Special:Upload (you may have to log in first) 11:52:20 wait, is the source code 90 lines PLUS and image? 11:52:26 [wiki] [[Special:Log/upload]] upload * Cluid Zhasulelm * uploaded "[[File:Fulbt.png]]": A picture of a full binary tree 11:53:08 source code doesn't include an image i don't think, it is not that kind of language 11:54:24 A continued fraction would be good 11:54:31 you can take the first fwe terms before you see a very large convergent 11:54:45 zzo38: you might or might not be interested in http://www.madore.org/~david/weblog/d.2014-12-10.2254.html#d.2014-12-10.2254 11:54:57 it's very easy to compute a CF 11:55:15 take off the integer part and then 1/ in a loop 11:55:30 cluid: sure, but what I wrote is more numerically stable 11:55:42 oh interesting 11:55:43 it won't give as much nonsense when you run out of precision 11:55:48 and it's not too complicated either 11:55:51 il have to look at this 11:55:53 -!- Patashu has quit (Ping timeout: 244 seconds). 11:57:36 [wiki] [[Treehugger]] N http://esolangs.org/w/index.php?oldid=41436 * Cluid Zhasulelm * (+1495) created page 11:58:58 cluid: btw one disadvantage of putting implementations on the wiki is that they have to be public domain 11:59:26 what's bad about that? 11:59:59 nothing unless you like the gpl or whatever 12:00:05 just letting you know 12:00:06 I like GPL a lot but this is fine 12:00:07 thank you! 12:00:16 [wiki] [[Treehugger/Implementation]] N http://esolangs.org/w/index.php?oldid=41437 * Cluid Zhasulelm * (+2989) Implementation 12:00:26 I like the GPL in spirit but the implementation isn't great :/ 12:00:34 If anyone will try writing programs in this I would be interested in what you find 12:00:44 also the code is excellent 12:01:47 elliott: sure. but for an esolang, it can be useful to have a readable (non-obfuscated) reference interpreter which is clearer than your description 12:02:17 cluid: I wonder how hard a self-interpreter would be 12:02:23 it would be cool to write the tree structure 12:02:31 doing fiddly things like parsing makes it unfun though :/ 12:03:14 [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41438&oldid=41295 * Cluid Zhasulelm * (+124) 12:04:49 elliott: GPL3 has a much better impl than GPL2; it annoys me a lot when people use GPL2 specifically because they like the bugs, because BSD or Expat or something would probably be a better choice for those people 12:04:57 but yes, it could be better still 12:05:08 ais523: I just don't like how you get fuzzy definitions of "linking" 12:05:09 I guess the GPL looks good once you're working with the NetHack General Public License 12:05:21 which is one of the buggiest licenses ever 12:05:23 where things like static linking can be relevant and stuff 12:05:27 LGPL is much worse in that respect though 12:05:36 like when using GHC, LGPL is equivalent to GPL basically 12:05:42 I had to invent a comment syntax for NetHack level files purely to comply with the license 12:05:57 If anyone looks at my page http://esolangs.org/wiki/Treehugger and http://esolangs.org/wiki/Treehugger/Implementation - would you comment? thanks you 12:06:02 also there's hugely widespread disagreement on lawyers about linking wrt the GPL 12:06:11 -ss 12:06:13 and people just prefer to avoid the issue if they can 12:06:17 the whole libedit controversy, for instance 12:06:47 (actually, I wonder if the FSF position on that is actually correct, in the wake of Oracle v. Google; I hope it isn't, because it's ridiculous) 12:06:49 cluid: I think a "reified" binary tree in this language would look like a 0 or 1 to denote whether it has children 12:07:06 cluid: followed below by either two leaf value slots if not, or a left and right pointer if so 12:07:06 I dont understand 12:07:06 lawyers are more expensive than programmers 12:07:14 cluid: if you wanted to represent finite binary trees in this language 12:07:19 using the binary trees it has 12:07:20 oh you mean like implementing it in a non lazy language 12:07:23 that's a good idea! 12:07:23 no I mean 12:07:28 implementing binary trees inside the language 12:07:30 ohh 12:07:31 I see 12:07:35 I agree 12:07:38 (since I was thinking about a self-interpreter) 12:08:20 a self interpreter would be really stunning 12:08:44 a structure like ((*,*),(*,t)) could be used to implement each node of the empulated tree 12:08:48 so if you have that tree structure you should be able to write something that descends to an index in it coded as binary 12:08:49 I was shocked how small the best BF interpreter is 12:08:53 self-interpreter 12:09:01 I looked up some stuff to get ideas to try out in treehugger 12:09:02 the smallest, you mean? 12:09:05 by moving it into the 0/1 meta slots, chopping off a bit, and then copying the new index down to the appropriate child 12:09:06 yes 12:09:14 the best at smallness :P 12:09:19 self-interpreting BF is interesting because of the limited access to data that you have 12:09:23 [^] will ascend all the way up a tree 12:09:40 hmm, BF self-interpretation is obviously eigenratio infinity, right? 12:09:41 what if there is no top 12:09:47 there isn't, but you run into a 0 12:09:53 ah 12:09:54 because you can't keep your place in both the program and data at the same time 12:09:59 actually, no, it's O(length of program) 12:10:05 cluid: one thing that's a bit weird is that moving around gets you a penalty 12:10:08 as you can move the program around as you move the tape pointer around 12:10:14 massively slow, but not so bad asymptotically as leaving it in place 12:10:28 cluid: like if you're a thousand nodes deep in the reified tape you have to like [^]< down to the program and back again 12:10:51 ais523: as for me, I prefer non-copyleft licenses these days, like the X11 license. I haven't really thought about gpl2 versus gpl3 yet. 12:11:09 ais523: why use GPLv3 when AGPLv3 exists? 12:11:19 agpl is also bug-fixing in the same way 12:11:39 okay no I don't even want to talk about licenses on IRC ever again 12:11:47 OK, let's change the topic then 12:11:58 ok 12:12:01 -!- ais523 has set topic: arbitrarily changed topic | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 12:13:32 -!- nyuszika7h has quit (Remote host closed the connection). 12:15:01 In some sense, the eigenratio of brainfuck is constant 12:15:02 -!- nyuszika7h_ has joined. 12:15:36 As you interpret the input program, also take some time to search for a proof that the program state is a brainfuck interpreter applied to a program 12:15:50 When you find such a proof, start interpreting the nested program instead 12:16:47 hmm, BF self-interpretation is obviously eigenratio infinity, right? <-- i discussed it with that eigenratio guy previously, the _usual_ implementations have something like a^(n^2) growth but i also thought of that moving the program thing which gives an actual eigenratio. 12:17:47 Jafet: doesn't that fail in cases where you have a program that's a BF interp, but not provably so? 12:18:03 if you're talking about the alternative case where you just have an interpreter that recognises and optimizes out itself 12:18:09 something like that would be pretty handy for Feather 12:18:26 Well, if you write a bf interpreter presumably you know why it is one 12:18:41 what if some bf instructions take longer than others? 12:18:56 ais523: that's pretty unlikely. but I wonder if the program would start nested bf interpreters faster than you can prove it's a bf interpreter 12:19:24 The self-recognition case is degenerate, but any attempt to generalize it would require proof search probably 12:19:25 in particular, a naive interpreter might take O(n) time to do a [ or ] 12:19:32 oren: doesn't matter for computational complexity unless some of them are asymptotically slower 12:19:40 also, a program could start a bf interpreter parallel to some other task, so you may have to recognize that too. 12:19:48 not sure if [] matching is asymptotically slower on the right variable 12:20:02 Yes, but the definition of eigenratio presupposes a tower of (arbitrary) interpreters 12:20:03 like, a bf interpreter and some fancy performance counters. 12:20:06 program size? 12:22:19 yes i think a naive interpreter would be O(1) on program size for most instructions but O(n) on program size for [ and ] 12:22:59 oren: as i said, i concluded a naive interpreter's "eigentower" grows as O(a^(n^2+...)) 12:23:34 where n is number of generations and ... is something <=linear 12:23:54 ...i guess that's redundant with O() 12:24:07 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 12:24:46 oren: note that you're not going to escape using [ and ] for implementing the others, so things definitely go O(n) from second generation 12:25:55 or well, you can try tricks that delay it for a finite number of generations, clive gifford tried some 12:26:22 iirc 12:26:52 -!- shikhout has joined. 12:30:16 designing an actual moving-program bf self-interpreter that has an eigenratio you can calculate is one of my many vaporware projects. 12:30:24 -!- shikhin has quit (Ping timeout: 265 seconds). 12:30:37 i think its eigenratio would be several thousand, at least 12:33:15 -!- sebbu2 has changed nick to sebbu. 12:33:42 oerjan: moving program? wouldn't it be rather repeated program? 12:35:08 b_jonas: no, you put the representation of your program between your left and right tape representations, and > and < are implemented by moving the whole program representation 12:35:25 repeating the program would seem overkill in comparison... 12:35:44 oerjan: ah! 12:36:00 that could work, yes 12:40:35 another thing that i believe will simplify the actual matrix (by avoiding having a row/column for every possible cell _value_ you operate on) is to let the current cell be either to the left or to the right of the program representation, and not moving across it unnecessarily. 12:40:57 -!- shikhout has quit (Ping timeout: 258 seconds). 12:41:59 -!- shikhin has joined. 12:42:37 but that's just an additional trick, and not necessary to have an eigenratio bound. 12:45:40 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41439&oldid=41430 * TomPN * (+42) 12:45:50 the thing about phi eigenratio got disproved right 12:46:20 -!- nyuszika7h_ has changed nick to nyuszika7h. 12:46:21 as far as i am concerned my unlambda self-interpreter did that 12:47:28 howso? I've forgotten 12:47:35 it has eigenratio 1 12:47:48 because it is nearly entirely metacircular 12:48:57 well, I mean, so does eval 12:49:07 what I mean is "no eigenratios > 1 < phi" 12:49:15 oh well 12:49:16 (and then arbitrarily branding eigenratio 1 as cheating) 12:49:25 is phi one? 12:49:40 > (sqrt 5 + 1)/2 12:49:41 1.618033988749895 12:49:45 it's that 12:49:53 has that been attained? 12:50:18 no but there's some anecdotal evidence/handwavy argument that it might be a lower bound of some sort 12:50:35 http://eigenratios.blogspot.co.uk/2007/11/search-for-phi-holy-golden-ratio.html 12:50:50 i thought he just picked it beacuse its a nice looking number 12:51:31 there's a bit more argumentation in that post :p 12:51:42 i don't think it really is a lower bound even in that sense because you can lower the number by having a longer chain of operations that are implemented as a single other. 12:51:45 (it's more about it "feeling" right than just being pretty, though, I think) 12:52:25 oerjan: I guess 12:52:28 I want it to be true though :( 12:52:42 OKAY 12:54:08 it really annoys me that letter size paper isn't a golden ratio 12:54:48 you know A(n) paper is sqrt(2) ratio for rather elegant reasons, right? 12:54:58 oren, golden ratio is a myth hth 12:55:30 -!- mr45_ has joined. 12:55:44 the point is that when you fold the paper in half it has the same proportions 12:56:16 so you can print 2^n pages on one page without distortion 12:56:19 oren: yes. assuming you're referring to sqrt(2) _not_ golden ratio 12:56:52 yes. 12:57:02 oren: psst, you can still print 4^n pages 12:57:06 golden ratio on the other hand just looks good 12:57:18 or n^2 pages 12:57:26 can you print phi^n pages? 12:57:38 -!- ais523 has quit (Read error: Connection reset by peer). 12:57:43 the golden ratio is literally a myth 12:57:43 cluid: no because that's never an integer hth 12:57:45 like the number doesn't exist 12:57:46 -!- callforjudgement has joined. 12:57:48 complete hoax 12:57:55 (sqrt(5)+1)/2 has no value 12:58:14 with golden ratio, you could cut out a square and be left with a piece of paper of the same proportions 12:58:17 well it has no value in the rationals hth 12:58:17 I'm not sure if that's useful or not 12:58:19 elliott: it's used to hide the mathematical errors of the "round globe" fraud hth 12:58:20 oerjan: Origamists would probably like golden ratio paper, because you could cut off a square (and use it for folding), and still be left with... 12:58:27 lol 12:58:33 fizzie: true 12:58:36 oren: yeah, believing in the golden ratio can only be irrational 12:58:44 Origamists prefers squares 12:59:00 callforjudgement: I had painstakingly typed all that with a touchscreen and then you scooped it. 12:59:07 the golden ratio: 1 : 1 12:59:20 callforjudgement: fizzie: are you competing with me and int-e for redundancy? 12:59:33 i have a notebook from mexice which for some reason has square pages 12:59:38 *mexico 13:00:27 oren: not fair, I didn't see your line due to disconnect 13:00:40 *oerjan: 13:00:47 you two have names that are very easy to mistabcomplete into each others' 13:00:51 callforjudgement: _my_ line? 13:00:56 callforjudgement: *fizzie 13:01:09 I was later. 13:01:22 mine came before fizzie's 13:01:34 and because I wasn't here for the original, I didn't see who said it 13:01:45 callforjudgement: i ... don't think there was one? 13:01:59 oh 13:02:14 why are you accusing me of competing with people for redundancy when I was first, then? 13:02:15 -!- callforjudgement has changed nick to ais523. 13:02:26 all i said was that it annoys me that letter size paper isn't a golden ratio 13:02:45 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41440&oldid=41439 * TomPN * (-2) /* Syntax */ 13:02:47 it isnt root 2 either... so it is entirely useless 13:03:02 ais523: you and fizzie are stealing our redundancy trademark hth 13:03:26 why should it be golden ratio? 13:03:38 because it look better 13:03:41 it's a myth. a myth! 13:03:41 no it wouldn't 13:04:09 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41441&oldid=41440 * TomPN * (+131) 13:04:29 oerjan: the more the merrier, you just have to learn to share. 13:04:40 int-e: NOOOOOOOOOOO sharing 13:04:41 Let's compromise on 1.5, then you can fold one big crane and twi small ones. 13:06:13 fizzie: how rational of you. 13:06:47 8.5/11 is just... stupid. 13:07:00 it is a stupid number 13:09:14 the golden ratio is 1/79 13:09:15 * elliott hides 13:09:30 Recent reviews of the empirical literature bearing on the claim of special aesthetic significance for this ratio in the context of the perception of simple figures include Green (1995), Hoge (1995), and contributors to a dedicated edition of Empirical Studies of the Arts (Hoge 1997). Some investigators doubt that the golden section has any aesthetic significance, even suggesting that research on it be abandoned 13:09:42 Russel (2000) explored the height to width ratio of a large database of famous paintings and did not find any particular support for a preference for the golden-section 13:10:05 McManus (1980) felt that existing empirical research was unable to adequately differentiate preference for the golden-section versus other similar ratios such as 1.5, 1.6 or 1.75. 13:10:12 Boselie F, 1992. "The golden section has no special aesthetic attractivity!" Empirical Studies of the Arts 10 1-18. 13:10:31 well 8.5/11 is not even close and i hate it 13:10:38 one use I like for the golden ratio is using rotations of (tau/golden ratio) radians around a color wheel to create distinct colors 13:11:04 because it's irrational, the colours never exactly repeat; and the golden ratio is also quite good at avoiding approximate clashes 13:11:23 ais523, there is rigorous mathematics explaining why that works 13:11:36 well, yes, obviously 13:11:47 damn ais523 that is what i should have done instead of using rand 13:11:49 sqrt(2) is so much better 13:12:06 i will remeber that trick 13:12:12 oren: for what, colours? 13:12:15 yeah 13:12:23 ais523: tau, really :p 13:12:25 also, the word "damn" looks a little out of place there 13:12:38 phi has importance in number theory, not `aesthetics` 13:12:43 normally I go into a rant when people use it, but this time I'm just confused because I can't parse the sentence 13:12:49 elliott: I wanted "complete circles" 13:12:57 what did you want me to say? 400 gradians? 13:13:03 use 2 pi 13:13:16 ais523: it is an exclamation of dismay hth 13:13:27 I guess complaining about tau is even more a waste of time than using tau in the first place 13:13:29 stop hthing, that's oerjan's gimmick 13:13:43 really we just need a "complete cycles" unit of measurement 13:13:44 it helps to increase confusion dth? 13:13:53 hertz-seconds, perhaps 13:14:07 "rotations" 13:14:15 'cycles' 13:14:37 well, hertz = cycles per second, thus hertz-seconds = cycles 13:14:39 but "rotations" has precedent in rpm. 13:14:52 http://www.shallowsky.com/blog/science/fibonautilus.html 13:15:29 (Not a strong argument. But I rarely associate associate Hertz with rotations.) 13:16:11 elliott: anyway, tau makes more sense in that context than in most others, because of the actual connotation of "complete rotation" which is its only advantage over pi in the first place 13:17:06 tau is bad because of the assholes spamming wikipedia with it 13:17:16 Hertz-seconds, the SI definition of numbers 13:18:56 naughtilus 13:20:21 -!- mr45_ has left. 13:20:38 hm are there any other SI units that can be multiplied to be dimensionless 13:20:58 oh. "The cycle per second was a once-common English name for the unit of frequency now known as the hertz." 13:21:57 oerjan: Can't all of them? metres per meter, ... 13:21:58 oerjan: or more interestingly, multiplied to be dimensionless and not equal to 1 13:21:58 they should have made more of the units be vaguely relevant german organ names 13:22:37 ais523: well you have to find the first before you can get the latter 13:22:43 The bequerel is the same as the hertz. 13:23:02 wat 13:23:06 It's s^-1, as decays/time. 13:23:23 fizzie: in that case bequerel-seconds also work 13:24:04 "A special name was introduced for the reciprocal second (s−1) to represent radioactivity to avoid potentially dangerous mistakes with prefixes. For example, 1 µs−1 could be taken to mean 106 disintegrations per second: 1·(10−6 s)−1 = 106 s−1.[3] Other names considered were hertz (Hz), a special name already in use for the reciprocal second, and fourier (Fr).[3] The hertz is now ... 13:24:06 i suppose radians and steradians... 13:24:10 ... only used for periodic phenomena.[2] Whereas 1 Hz is 1 cycle per second, 1 Bq is 1 aperiodic event per second." 13:24:11 -!- oren has quit (Ping timeout: 256 seconds). 13:24:38 oerjan: well there are plenty of secondary units. N = kg m/s^2 13:24:55 fizzie: i mean without using division, obviously 13:25:18 oerjan: so you probably need some more rules in the game. 13:26:21 int-e: the rule is to take a list of named units and multiply them, hth 13:26:27 oerjan: Well, arguably second-hertz makes seconds dimensionless just as much as hertz-seconds make hertz. 13:29:26 the list at https://en.wikipedia.org/wiki/International_System_of_Units#Derived_units contains no negative exponents for mol, K or cd 13:30:14 !blsq_uptime 13:30:14 8d 23h 23m 44s 13:30:28 The farad-ohm-becquerel is dimensionless, but it's just making use of the same 1/s as before. 13:30:55 On the other hand, the farad-ohm makes for a nice name for a second. 13:31:13 -!- callforjudgement has joined. 13:31:33 int-e: the rule is to take a list of named units and multiply them, hth ← N = kg m Hz Hz 13:31:35 Oh, the ohm-siemens, of course. 13:31:56 They're exactly complementary. 13:31:57 I am annoyed at conductance having units 13:32:00 callforjudgement: um the result is supposed to be dimensionless hth 13:32:26 fizzie: oh right 13:32:38 -!- ais523 has quit (Ping timeout: 252 seconds). 13:32:45 (One is V/A and the other is A/V.) 13:32:55 hertz-farad-ohm would be a good spell invocation 13:33:00 -!- callforjudgement has changed nick to ais523. 13:33:27 and probably very painful for the recipient 13:33:55 well, farad+ohm gives you an RC circuit, which is one of the simplest ways to make time-sensitive electronics 13:34:15 put appropriate circuitry around that (an amplifier or inverter or similar), you can probably measure the resulting circuit in hertz or in seconds 13:36:54 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]). 13:37:00 beautiful. https://en.wikipedia.org/wiki/File:Original_Abraham-Bloch_multivibrator_circuit.png 13:38:01 oerjan: hehe 13:39:14 oerjan: are you trying to generate sparks? 13:39:16 and there's a higher level version, the hertz-farad-henry-ohm 13:40:29 int-e: or obliterating them, only science will tell! 13:41:06 b_jonas: not dimensionless hth 13:41:08 oerjan: so do you think the monks have another of those muses around? 13:41:11 int-e: there are a ton of ways to make time-dependent circuits 13:41:17 int-e: hm good question 13:41:26 hook an RC circuit up to anything vaguely amplifier-like, and you'll most commonly get oscillating behaviour 13:41:39 I guess the interesting thing about that circuit is that it was the first to be discovered 13:41:52 also there is something somewhat hilarious about the 80 volt battery 13:42:08 ais523: also the voltages are way more impressive than what electronics generally deal with today 13:42:14 exactly 13:43:39 -!- atslash has quit (Quit: This computer has gone to sleep). 13:43:42 the voltages used in modern circuits have gone down and down over time 13:43:57 modern electronics is about making it still work at lower voltage, because then you get less energy wasted when you make it go faster 13:44:43 yeah 13:44:50 I knew that. 13:45:06 `? smart 13:45:07 smart? ¯\(°​_o)/¯ 13:46:47 How about reversible CPUs? 13:46:57 since information isnt destroryed, it can work with less energy 13:47:08 this might be a big improvement in computing 13:48:11 all quantum computations have to be reversible up to the point you measure the 13:48:12 *them 13:48:32 otherwise they'd require too much energy 13:48:56 cluid: that was the idea of the pendulum architecture. unfortunately the main cpu lines are just too good for reversible ones to compete (yet!) 13:49:08 i thought reversible was just a property of quantum computing 13:49:16 can you elaborate on that "otherwise"? 13:50:17 i'd imagine if reversibility gets used it would be in a hybrid way. 13:50:41 cluid: well the theory is, destroying information needs energy 13:50:49 making as much of the cpu reversible as possible, but preserving overall backwards compatibility 13:50:51 oh yeah 13:50:53 and you'd need to destroy the information in multiple multiverses at once 13:50:55 so this is the same principle as i said 13:51:08 and as yet, we don't know how to steal information from other potential universes 13:51:20 I have a question about multiple universes? 13:51:32 https://en.wikipedia.org/wiki/Landauer's_principle for anyone following along 13:51:39 cluid: I'm not an expert in this stuff 13:51:49 I did it as my A-level coursework, but that's about it 13:52:03 one nice thing about doing coursework on an obscure subject is that it reduces the chance that the person marking it will know the subject 13:52:11 so they'll find it harder to find errors in it 13:52:22 https://www.cise.ufl.edu/research/revcomp/ has a funny slide that implies that reversible computing should begin to matter this decade. 13:52:33 ais523: we don't even know if other universes exist, they might just be a mathematical convention and we'll find some other explanation. 13:52:39 of course that's there area of research so I take it with a spoonful of salt 13:52:43 oerjan: indeed, definitely 13:52:44 (yuck!) 13:52:58 salt is tasty 13:53:02 I'd eat a spoonful of salt 13:53:03 however, even if they don't, it seems reasonable that the laws you'd predict from involving multiple universes still work, but for a different reason 13:53:10 elliott: I hope it's a very small spoon 13:53:17 oerjan, I hope we have a differetn interpretation, the multiple universes thing is really scary to me 13:53:20 depends how much you're paying me 13:53:25 elliott: nothing! 13:53:33 elliott: the salt was expensive enough 13:53:40 from my point of view, the issue with salt is a) it's added too soon in the cooking process by most people, b) although it tastes nice in small amounts, almost anywhere which salts things will use too much 13:53:56 int-e: ooh 13:54:04 for instance, last I looked, unless I completely messed up the calculations, there's more salt in one slice of bread than there is in a packet of ready salted crisps 13:54:13 and yet the salt tastes much nicer in the crisps 13:54:22 arguments about cooking in #esoteric > arguments about programming in #esoteric 13:54:40 -!- J_Arcane has joined. 13:54:49 oerjan: sorry for the typo, this one was unintentional for once. 13:54:54 hwy is there so much salt in bread 13:57:14 Hmm the bread I'm currently eating has 1.1g/100g, the chips 2.0g/100g (they're cheese flavoured, not primarily salty.) 13:57:16 int-e: wait what typo 13:57:23 oerjan: their. 13:57:26 oh. 13:57:37 's ok just say 50 hail marys 13:58:00 * oerjan isn't even catholic. 13:58:40 int-e: I have a feeling that the salt-as-only-flavouring crisps actually have lower salt content than the other flavours 13:58:58 could be. I don't like them very much. 13:59:07 So I'll have to go to a shop to check the theory. 13:59:44 int-e: i can't swat you for saying "there" when other people are going around saying "hwy" 14:00:41 I hvae more sympathy for "hwy" though ;-) 14:00:43 ais523: so basically they are using more salt when they're not paying attention to it? 14:02:06 RE: YOU’RE PAYMENT NOTIFICATION 14:02:43 int-e: that slide seems to be more than a decade old though 14:03:28 ais523: you're aware of the "make obvious errors so people to smart to fall for our scame drop out early" theory, i assume 14:03:34 *too 14:03:38 *scam 14:03:41 oerjan: yes 14:03:48 I might have been the person who introduced #esoteric to it 14:03:52 you prob... right 14:04:00 what scam 14:04:06 that said, I received an email that looked a huge amount like a Facebook friend request reminder, but I'm not on Facebook and have never heard of the person who sent it 14:04:16 oh 14:04:31 cluid: basically nearly all spam scams look hilariously bad to intelligent people 14:04:50 ais523: I believe sites loke facebook still send email like that asking you to join and friend or whatever, even if you're not joined yet. 14:04:53 and the theory is that this is intentional because they _don't_ want intelligent people 14:05:07 they want really, really gullible ones 14:07:19 and desparate, I suppose 14:07:58 *desperate 14:14:10 "Though even the Landauer limit is millions of times below the energy consumption of modern computers." 14:14:25 i'm guessing it might not be this decade, then. 14:15:03 we have high level reversible programming languages and efficient compilers to reversible instruction sets 14:15:14 hardware has been fabricated too 14:15:43 i mean that they won't see the need for it this decade 14:16:24 because it's still 3 decades of moore's law before we hit that limit 14:16:48 only millions? are we that close already? 14:17:00 or is that just one of those riddiculous understatements/ 14:17:37 "Theoretically, room‑temperature computer memory operating at the Landauer limit could be changed at a rate of one billion bits per second with only 2.85 trillionths of a watt of power being expended in the memory media. Modern computers use millions of times as much energy." 14:18:59 you do the math (because i'm too lazy) 14:19:42 doesnt that just mean we could improve things by a lot? 14:20:20 is the implication that the reversible stuff would only improve by such a tiny fraction of whats already wasyed? 14:20:55 cluid: well my implication is that they won't change to an entirely new method of doing things while the methods they are good at still work 14:21:23 because incremental improvement is much cheaper than complete revamping 14:21:27 i gues we wont see reversible computers :( 14:21:37 but its very interesting technolofy 14:22:38 hmm. desperate typography channel. 14:23:17 we should ask fizzie to do some typo graphing 14:26:58 -!- callforjudgement has joined. 14:27:05 -!- ais523 has quit (Disconnected by services). 14:27:08 -!- callforjudgement has changed nick to ais523. 14:32:09 I have no clue at all what the trade-offs are for reversible computing implementations. I imagine they have higher circuit complexity, larger circuit area, probably longer critical paths, thus lower possible clock frequencies. This has to be weighed against just taking an irreversible circuit and underclocking it, which often allows one to decrease voltages, which also reduces consumed power? Tricky. 14:32:57 int-e: also you have to store all the unused bits somewhere 14:33:10 most "TC in reversible computing" constructions use a bitbucket 14:33:31 oerjan: I imagine that we don't need new production processes though, "only" different software for the process above up to mask preparation. 14:35:17 what do you mean "TC in reversible computing" 14:36:09 cluid: you have a reversible language, and want to compile to it from a TC language 14:36:15 oh yes 14:36:20 I think tromp knows about this, 14:36:28 it requires some garbage 14:36:58 but there is also a notion of 'reversibly turing complete' which involves simulating reversible turing machines no garbage 14:37:22 ais523: The architecture doesn't have to be completely reversible anyway. Reducing the number of destroyed bits from 1/2 per transistor and cycle to a couple of thousands or even millions per cycle should help a lot. 14:38:18 Anyway, that's pure speculation on my part. 14:39:31 -!- ais523 has changed nick to scarf. 14:39:52 -!- scarf has changed nick to ais523. 14:42:17 oh, nice PCP https://en.wikipedia.org/wiki/File:Dec_SYSTEM_BUILDING_BLOCKS_1103.jpg 14:43:39 -!- Sprocklem has quit (Ping timeout: 245 seconds). 14:43:54 aaaah 14:43:55 PCB 14:44:29 I was wondering. 14:45:00 (It's a PCB for the PDP 1) 14:45:33 very cool 14:45:59 I'm glad there are pictures. I like preserving our history. 14:46:29 I love the fact that someone decapped a 6502 and scanned it with an electron microscope 14:46:43 source? 14:46:44 so we now know for a fact exactly how it works 14:46:52 oh bleh, it was a news aggregator and years ago 14:46:56 so my chance of finding it now is quite low 14:46:56 okay 14:47:06 ais523: http://visual6502.org/wiki/ , http://visual6502.org/ 14:47:08 um 14:47:10 paul2520: ^ 14:47:18 and yes, it's amazing 14:47:20 asking in #esoteric can be a decent way, though 14:47:24 well done. I was about to search 14:47:46 they're also trying other chips. they've done one simliar size chip completely, and have some progress in larger chips 14:48:10 oh wait, there's further progress 14:48:19 apparently they've finished with the motorola 6800 14:48:20 nice 14:48:52 oh this is beautiful. I now have desktop backgrounds for life 14:50:03 hehe 14:50:35 I use a photo from my brother's wedding as desktop background, but that's not a sustainable plan for life because he won't have more weddings 14:52:09 i'm sure it could be arranged. 14:53:44 also you could just stick to that background image forever 14:54:00 oerjan: like what? polymorph him to a pudding, split him with an iron weapon, polymorph both of them back, hope the clone gets married? 14:54:17 that's dangerous because he could polymorph to an exploding monster 14:54:26 b_jonas: that would be an option. normal people just get a divorce. 14:54:27 also very expensive 14:54:32 b_jonas: i think you're suffering from evil imagination deficiency hth 14:54:47 (i guess it might not actually be suffering.) 14:55:09 The legality of splitting one's brother in two with an iron weapon seems dubious 14:55:15 (I'm omitting another obvious possibility for obvious reasons.) 14:56:02 int-e: actually it's possible b_jonas's problem is he's living inside Nethack 14:56:08 Jafet: he's not human while polymorphed so it's less illegal 14:56:36 can we post from #esoteric to the #nethack qdb? 14:56:37 If you split too hard, it's still murder. 14:57:07 Jafet: not unless he is a priest or something like that, no 14:57:12 Jafet: use a dull, rusty, iron weapon that's corroded down to -3 then 14:57:21 oerjan: It's not a problem as long as nobody gets hurt. 14:57:22 and use a stethoscope first to make sure that the brother still has at least two hitpoints 14:57:29 yeah, stethoscope first 14:57:39 make sure he's fully healed 14:58:46 But if you cut a cube in two, won't you get cuboids? 14:58:54 wait, am i the only one here who _isn't_ living inside nethack 14:59:17 oerjan: no?! 14:59:31 int-e: pudding, not gelatinous cube 14:59:36 bash: nethack: command not found 14:59:48 `nethack 14:59:48 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: nethack: not found 14:59:50 `? nethack 14:59:51 nethack? ¯\(°​_o)/¯ 14:59:56 oerjan: I'm more busy manipulating the laws of NetHack to my whim 15:00:17 int-e: good, good 15:00:22 oerjan: I've tried the game, didn't get into it. 15:01:06 int-e: did you get into other video games instead? other fantasy themed games (possibly not video but tabletop) instead? 15:04:18 Yes, there are some video games. Sokoban and Lemmings were early favorites, and Lucas Arts adventures. (The Sierra ones, not so much, I hated dying all the time.) 15:04:42 Ah I should really say Lucasfilm adventures. 15:04:46 int-e: on the subject of NetHack and Sokoban, NetHack inspired me to start working on a Sokoban generator 15:05:02 that was years ago, and I ended up downloading a bunch of Sokoban-related stuff for research, then becoming a level designer for Enigma 15:05:10 and recently, the Sokoban generator is actually near-complete 15:05:28 -!- augur has joined. 15:05:33 "hated dying all the time" -- ah, so that's why you don't like nethack. ok. 15:06:03 b_jonas: Yes, that's a big part of it. 15:06:11 ais523: I'd actually like to try to design levels for a game different from sokoban that can be embedded in nethack sort of like sokoban 15:06:23 but I'm not sure that will work, and don't hold your breath 15:07:49 even the embed of Sokoban into NetHack is awkward 15:08:08 however, I also got sokogen to generate puzzles for NetHack boulder physics (i.e. without the restrictions that make it work like Sokoban) 15:08:42 ais523: yes, what I'm thinking of also needs special code. 15:08:51 oh, you're thinking of something in particular? 15:09:00 rather than just "what games can we simulate with NetHack physics"? 15:09:05 Yes, I have a particular idea for a game, but it might not actually work. 15:09:11 submit it to /dev/null :-) 15:09:17 /dev/null/nethack, that is 15:09:18 In the sense that, it might not be a game for which it's possible to design interesting levels. 15:09:23 not the character special file 15:09:27 :-) no 15:11:57 ais523, i would play your sokoban generated levels 15:12:30 the generator isn't quite finished yet 15:12:35 And even if I can make levels, I'm not sure it's a good fit for nethack still. 15:12:38 it can generate /parts/ of levels, but not connect them together yet 15:12:53 sounds very interesting! 15:13:00 have you seen other generated sokoban levels? I know one set 15:14:07 I'm just compiling it now 15:14:15 I'll give you a part of a level to solve once it's done 15:14:41 suddenly realised that I should probably keep this permanently checked out, rather than in a branch of NH4 15:15:44 `addquote listen. listen. jesus has saved me from talking about undefined behaviour in C with you any more, and He could save you too. 15:15:46 1225) listen. listen. jesus has saved me from talking about undefined behaviour in C with you any more, and He could save you too. 15:15:52 -!- `^_^v has joined. 15:26:11 `` echo " you play too much nethack when: you look down both sides of the corridor, start to sweat and then realize you're looking at your email address" >wisdom/nethack 15:26:13 No output. 15:27:46 `? nethack 15:27:47 you play too much nethack when: you look down both sides of the corridor, start to sweat and then realize you're looking at your email address 15:34:27 -!- Sprocklem has joined. 15:46:56 -!- S1 has joined. 15:51:05 -!- GeekDude has joined. 16:00:53 -!- atslash has joined. 16:04:46 -!- AnotherTest has joined. 16:10:04 -!- atslash has quit (Quit: This computer has gone to sleep). 16:14:03 Oh, Numeric might actually win for once... 16:15:39 But I'll probably be proven wrong. 16:20:41 int-e: if so we'll be two hth 16:23:53 So nasty to make it just one past 36. 16:24:05 heh 16:24:18 so nasty to put lower case letters before A 16:24:43 > filter isAlphaNum [' '..] 16:24:44 "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\170\178\179\... 16:25:02 fizzie: well haskell's builtins don't support beyond 16 anyhow 16:25:29 int-e: isAlphaNum requires another import, anyhow 16:25:35 -!- drdanmaku has joined. 16:25:38 but Burlesque does support bases up to 36 16:25:45 !blsq 12357 36B! 16:25:45 | "9j9" 16:25:48 !blsq 12357 37B! 16:25:48 | That line gave me an error 16:26:06 It supports also higher bases as long as it doesn't encounter any digit above 36. :p 16:26:18 fizzie: fancy 16:26:21 !blsq 12345 37B! {just fine}vv 16:26:21 | "90o" 16:26:31 oerjan: I know, it wouldn't really help. But it's still nasty :P 16:27:17 > 276088010547702691069957 16:27:18 276088010547702691069957 16:27:20 oops 16:27:29 > logBase 2 276088010547702691069957 16:27:30 oerjan: in the meantime, cojna figured out the identity matrix thing. I have no clue. 16:27:31 77.86947442093677 16:27:36 heh 16:27:43 int-e: i haven't really tried that one 16:28:00 also nasty: going too high for Int 16:28:46 oerjan: yes. that's the deciding factor for Numeric atm. 16:31:38 -!- mihow has joined. 16:31:57 ...wat 16:32:21 what wat? 16:33:14 i tried submitting that anyhow and it gave a stack space error 16:33:43 > (-1) `div` 37 16:33:45 -1 16:34:01 -!- AnotherTest has quit (Ping timeout: 256 seconds). 16:34:29 even in Haskell, infinite recursion tends to do that :) 16:34:43 [wiki] [[Special:Log/newusers]] create * QuackQuack * New user account 16:34:49 > 1201688513203::Int32 16:34:50 -902329677 16:34:55 ic 16:35:13 it worked in my ghci because that's 64 bits, presumably 16:47:39 @hoogle Show a => a -> Doc 16:47:41 Language.Haskell.TH.Ppr showtextl :: Show a => a -> Doc 16:47:41 Language.Haskell.TH.Ppr ppr :: Ppr a => a -> Doc 16:47:41 Language.Haskell.TH ppr :: Ppr a => a -> Doc 16:52:43 -!- atslash has joined. 17:02:39 Is there any common program that would buffer all data it receives (in RAM and/or temporary file) and only open the file specified for writing and dump data there upon EOF of input? 17:03:44 zzo38: hmm... I wonder if you could abuse a program like that, 17:04:17 zzo38: what happens if you connect stdbuf to cat, with a very large buffer size? 17:04:20 it would be easy if you asked for only _writing_ when it gets eof, but if it has to only _open_ the output file it might be harder 17:04:26 zzo38: Yes, it's called 'sponge'. 17:04:30 b_jonas: ah, oh right 17:04:35 that breaks the stdbuf method 17:05:10 "sponge reads standard input and writes it out to the specified file. Unlike a shell redirect, sponge soaks up all its input before opening the output file. This allows constricting pipelines that read from and write to the same file." 17:05:14 as in, tail -n 999 might work for large values of 999 17:05:27 I wonder if "constricting" is a typo, or just some sort of a pun. 17:05:43 fizzie: probably a pun 17:05:59 it both constricts the pipe and lets you construct the pipeline 17:06:26 I don't have such a "sponge" program on my computer; is there a Windows version available? (I want Linux version too if it is so that when working on Linux I can use it too) 17:07:32 -!- glguy has joined. 17:07:45 zzo38: Debian has it in a package called "moreutils". 17:08:19 I don't know about a Windows version, and "sponge windows" just finds things related to cleaning windows. 17:08:22 zzo38: how about something like: perl -e "local$/;binmode STDIN;$d=;open$o,q(>:raw),$ARGV[0]or die qq(error open: $!);print$o$d or die qq(error write: $!);close$o or die qq(error close: $!);" outpufilename 17:09:29 -!- oerjan has quit (Quit: leaving). 17:09:38 -!- zzo38 has quit (Remote host closed the connection). 17:14:40 -!- callforjudgement has joined. 17:15:59 -!- atslash has quit (Quit: This computer has gone to sleep). 17:17:53 -!- ais523 has quit (Ping timeout: 250 seconds). 17:18:11 -!- callforjudgement has changed nick to ais523. 17:19:34 -!- augur has quit (Remote host closed the connection). 17:22:04 -!- bb010g has quit (Quit: Connection closed for inactivity). 17:25:35 -!- augur has joined. 17:27:34 -!- oren has joined. 17:29:58 -!- augur has quit (Remote host closed the connection). 17:33:56 -!- augur has joined. 17:39:47 -!- augur has quit (Remote host closed the connection). 17:43:51 -!- hjulle has quit (Ping timeout: 264 seconds). 17:43:59 -!- ais523 has quit (Read error: Connection reset by peer). 17:44:11 -!- ais523 has joined. 17:45:08 o 17:52:28 -!- tswett_ has joined. 17:52:58 -!- tswett_ has quit (Client Quit). 17:59:26 -!- ais523 has quit. 17:59:38 -!- ais523 has joined. 18:05:58 -!- S1 has quit (Quit: S1). 18:08:05 this is probably a dumb question, but is there a "technical" name for whatever type of grammar you would need to parse TECO? In TECO, there is no delimitation, everything is one string, white space is not significant except in escaped strings. 18:08:26 so to parse it you have to go in order 18:09:09 commands can have modifiers which are sometimes special characters like a hyphen, and other times letters 18:09:34 "the lexical analysis is context-sensitive" might be what you're looking for? 18:11:00 ais523: probably 18:11:37 INTERCAL has that problem 18:11:42 ais523: I'm trying to play around with writing a TECO interpreter, but the lexical analysis stage is incredibly tedious. 18:12:13 ais523: it doesn't look like something like FLEX would really be able to handle TECO (though I could be wrong) 18:12:34 there is a restriction to make it LALR(1)-parseable (which is in the original manual): if something could be interpreted either as a close paren or an open paren based on the text so far, it's an close paren even if that leads to a syntax error and an open paren would parse correctly 18:13:01 this means that the parser needs to tell the lexer what sort of sparkears could close a group 18:13:37 "sparkears" ? 18:13:52 diginet: INTERCAL has undirected parentheses 18:13:57 ' to ' (spark), or " to " (ears) 18:14:12 there are various ways to make this unambiguous, such as always alternating 18:14:20 but INTERCAL allows you to be ambiguous so long as you're unambiguous 18:15:27 LOL 18:16:07 -!- MoALTz has joined. 18:16:41 wow that is awful 18:17:15 ais523: when you say parentheses, do you mean this as a generalized term to refer to things that "open and close" like (), {}, '', ""? 18:17:33 diginet: this is for precedence override in expressions, just like what parentheses do normally 18:17:44 oohhhhhh 18:17:46 gotcha 18:18:23 `! intercal DO .1 <- #15~'#2~#7' DO READ OUT .1 18:18:24 ​/hackenv/bin/!: 4: exec: ibin/intercal: not found 18:18:30 do we have an INTERCALbot here? 18:18:38 `` ls bin/*intercal* 18:18:39 ls: cannot access bin/*intercal*: No such file or directory 18:18:42 `` ls ibin/*intercal* 18:18:43 ibin/cintercal \ ibin/clcintercal 18:18:45 ais523: I hope INTERCALbot is written in intercal lol 18:18:48 ooh, we have C-INTERCAL 18:18:55 that means I can do a better example 18:19:06 (CLC-INTERCAL's harder to type because of all the non-ASCII characters) 18:19:40 `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP 18:19:43 ICL999INO SKELETON IN MY CLOSET, WOE IS ME! \ ON THE WAY TO 1 \ CORRECT SOURCE AND RESUBNIT 18:19:50 oh, we have C-INTERCAL but it's broken 18:20:43 `` ibin/cintercal -u 18:20:44 ICL999INO SKELETON IN MY CLOSET, WOE IS ME! \ ON THE WAY TO 1 \ CORRECT SOURCE AND RESUBNIT 18:20:56 hmm, how do I pass arguments to that 18:21:02 `` file ibin/cintercal 18:21:04 ibin/cintercal: POSIX shell script, ASCII text executable 18:21:06 pleaese can I read the IOCCC entries now 18:21:10 `` cat ibin/cintercal 18:21:11 ​#!/bin/sh \ . lib/interp \ interp_file ./interps/c-intercal/c-intercal 18:21:21 `` ./interps/c-intercal/c-intercal -u 18:21:22 cp: missing destination file operand after `/tmp/290.i' \ Try `cp --help' for more information. \ ICL999INO SKELETON IN MY CLOSET, WOE IS ME! \ ON THE WAY TO 1 \ CORRECT SOURCE AND RESUBNIT 18:21:34 `` cat interps/c-intercal/c-intercal 18:21:35 ​#!/bin/bash \ if [ ! "$1" ] \ then \ exit 1 \ fi \ \ INTERCAL="`dirname $0`/inst" \ \ cp "$1" /tmp/$$.i \ $INTERCAL/bin/ick /tmp/$$.i \ if [ -e /tmp/$$ ] \ then \ /tmp/$$ \ fi \ rm -f /tmp/$$.i /tmp/$$ 18:21:54 `` interps/c-intercal/inst/bin/ick -u 18:21:55 Trying to open '/home/gregor/projects/hackbot/multibot_cmds/env/interps/c-intercal/inst/share/ick-0.29/ick-wrap.c'... \ Failed! \ Trying to open 'ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-intercal/inst/bin/ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-intercal/inst/bin/../lib/ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-in 18:22:25 `` pwd 18:22:26 ​/hackenv 18:22:44 hmm, I think that first entry indicates what's wrong 18:22:48 fixing it may be harder 18:23:19 the potential solutions involve recompiling C-INTERCAL, making the HackEgo directory structure match the EgoBot directory structure exacly, or hex-ediing the binary 18:23:22 all these seem awkward 18:26:22 -!- augur has joined. 18:26:37 -!- shikhout has joined. 18:27:42 -!- augur has quit (Read error: Connection reset by peer). 18:27:53 -!- augur has joined. 18:29:49 -!- shikhin has quit (Ping timeout: 250 seconds). 18:31:17 ln -s /home / 18:31:19 `` ln -s /home / 18:31:21 ln: failed to create symbolic link `/home': File exists 18:31:28 `` ls -la /home 18:31:29 total 0 \ drwxr-xr-x 3 0 0 0 Dec 11 18:30 . \ drwxr-xr-x 15 0 0 0 Dec 11 18:30 .. \ drwxr-xr-x 3 0 0 0 Dec 11 18:30 hackbot 18:31:35 `` ln -s / /home 18:31:36 ln: failed to create symbolic link `/home/': File exists 18:31:54 `` ls -lad /home 18:31:55 drwxr-xr-x 3 0 0 0 Dec 11 18:30 /home 18:34:40 `` find -name ick-wrap* interps/c-intercal 18:34:41 find: paths must precede expression: interps/c-intercal \ Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression] 18:34:55 `` find interps/c-intercal -name ick-wrap* 18:34:56 interps/c-intercal/inst/share/ick-0.29/ick-wrap.c \ interps/c-intercal/src/ick-wrap.c 18:36:07 int-e: the problem is that the binary hardcodes the source and build directories, and looks for the files it needs in those and in the current directory and binary's directory 18:36:16 and the binary was copied from a system with a different filesystem layout 18:36:32 `` ln -s ../share/ick-0.29/ick-wrap.c interps/c-intercal/inst/bin 18:36:34 No output. 18:36:49 int-e: ooh, clever 18:36:54 `` interps/c-intercal/inst/bin/ick -u 18:36:55 Trying to open '/home/gregor/projects/hackbot/multibot_cmds/env/interps/c-intercal/inst/share/ick-0.29/ick-wrap.c'... \ Failed! \ Trying to open 'ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-intercal/inst/bin/ick-wrap.c'... \ Success! 18:37:05 int-e: that's not the only file that needs symlinking 18:37:12 but it'll probably work for a simple program 18:37:21 `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP 18:37:27 ​/tmp/299.c:14:20: fatal error: fiddle.h: No such file or directory \ compilation terminated. 18:37:52 `` cd interps/c-intercal/inst/bin; echo * 18:37:53 convickt ick ick-wrap.c 18:37:54 ooh, it compiles to C, just the runtime support (libick and its dev headers) is missing 18:38:35 (I wasn't sure whether we had write access there) 18:39:18 `` cd /tmp; echo *.c 18:39:18 ​*.c 18:39:30 `` find interps/c-intercal -name fiddle.h 18:39:31 interps/c-intercal/inst/include/ick-0.29/fiddle.h \ interps/c-intercal/src/fiddle.h 18:40:32 `` find interps/c-intercal -name *.a 18:40:33 interps/c-intercal/libyuk.a \ interps/c-intercal/libick.a \ interps/c-intercal/inst/lib/libyuk.a \ interps/c-intercal/inst/lib/libick.a \ interps/c-intercal/inst/lib/libickec.a \ interps/c-intercal/inst/lib/libickmt.a \ interps/c-intercal/libidiot.a \ interps/c-intercal/libickec.a \ interps/c-intercal/libickmt.a 18:41:23 `` pwd 18:41:24 ​/hackenv 18:41:26 http://pastebin.com/m2MLBGuu 18:41:38 the only union you'll ever need 18:42:19 `` ls -lad /usr/include 18:42:20 drwxr-xr-x 35 0 0 4096 Jan 29 2014 /usr/include 18:42:45 `` ln -s /hackenv/interps/c-intercal/inst/include/ick-0.29 /usr/include # hmm 18:42:45 ln: failed to create symbolic link `/usr/include/ick-0.29': Read-only file system 18:45:39 -!- dts|pokeball has joined. 18:47:16 hmm nvm i'm missing some of the types from stdint.h 18:48:41 `` sed -i 1a"export CFLAGS=-I/hackenv/interps/c-intercal/inst/include/ick-0.29" interps/c-intercal/c-intercal 18:48:44 No output. 18:48:56 `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP 18:48:57 ​/tmp/299.c:14:20: fatal error: fiddle.h: No such file or directory \ compilation terminated. 18:49:54 `` ls /hackenv/interps/c-intercal/inst/include 18:49:55 ick-0.29 18:50:25 int-e: maybe something isn't respecting CFLAGS? 18:50:32 I don't think either ick or gcc parse it 18:50:47 true. 18:50:52 `revert 18:50:57 Done. 18:51:16 I keep forgetting that this is handled by autoconf and make. 18:52:17 perhaps the trick is to place a wrapper around gcc somewhere that ick will find it? 18:55:04 `` sed -i 1a"export CPATH=/hackenv/interps/c-intercal/inst/include/ick-0.29" interps/c-intercal/c-intercal 18:55:06 No output. 18:55:12 `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP 18:55:15 ​ \ MCCCXCV \ \ MMDCXXI 18:55:41 oh wow, I think it's working 18:55:45 the second number should be larger, at least 18:55:51 now all we need to fix is syslib 18:55:59 does anone know a place i could ask about and get help on algorithms? 18:56:05 from knuth 18:56:08 `! cintercal DO .1 <- #1 DO .2 <- #1 DO (1000) NEXT DO READ OUT .3 PLEASE GIVE UP 18:56:09 ICL127ISAYING 'ABRACADABRA' WITHOUT A MAGIC WAND WON'T DO YOU ANY GOOD \ ON THE WAY TO THE CLOSET \ CORRECT SOURCE AND RESUBNIT 18:56:24 and I'm not sure how to get -u to complain about that with this setup 18:56:34 ais523: so does the symlink-to-bin-dir work for that, too? 18:56:38 int-e: it should 18:56:43 file name is syslib.i 18:57:15 there are various other wrappers too but I don't think there's any way to get ick to use them without command-line args that `! cintercal never uses 18:58:10 `` cd interps/c-intercal/inst/bin; ln -s ../share/ick-0.29/* . 18:58:12 ln: failed to create symbolic link `./ick-wrap.c': File exists 18:58:41 `! cintercal DO .1 <- #1 DO .2 <- #1 DO (1000) NEXT DO READ OUT .3 PLEASE GIVE UP 18:58:43 ​ \ II 18:58:49 that's the correct answer 18:59:07 I'm amused at your nuclear solution to doing the symlinks, but it seems to work 19:00:13 RESUBNIT? NIT??? 19:00:23 oren: that typo has been preserved for well over a decade 19:00:32 oic 19:00:33 every now and then someone tries to fix it and we have to revert them 19:00:43 I'm not quite sure why it caught on, but it did 19:01:54 anyway i am working on a nuclear solution to elliott's problems with my pointer casting, by using a giant union of every type that exists. this is guaranteed to work according to gcc. 19:02:12 I doubt it 19:02:16 what is safe is to use memcpy 19:02:27 by going through (char *) 19:02:32 which is explicitly allowed by the standard 19:02:35 gcc gives better guarantees on unions than the C standard does 19:02:39 but still 19:02:40 gcc allows you to use a union -- it's a GNU extension 19:02:50 yes but why would you make a big union when memcpy is easier and more portable... 19:03:37 hmmmmmm....to avoid the copy? 19:03:43 also, what about types which have a comparable size to your address space? 19:03:44 eaxtcly 19:04:14 *every non-array, non-struct type that exists 19:04:47 ais523: btw I'm surprised that just setting CPATH worked, I expected that I'd have to set the LIBRARY_PATH variable as well. 19:04:53 int-e: I think that is one thing I trust compilers with. :p 19:05:18 elliott: I wouldn't. 19:05:28 clang has special knowledge of memcpy, at least. 19:05:28 elliott: my guess is that oren learned about how computers work from ~30 year old books, or books whose authors learned from books that old 19:05:29 memcpy to the same place will check? i would expect it to screw up the value 19:05:31 pretty sure gcc does too 19:06:01 oren: double x; uint64_t y; memcpy((char *) &y, (char *) &x, sizeof y); 19:06:02 in every other instance where the src and dest overlap it does 19:06:11 I'm not sure those casts are necessary. 19:06:13 I guess they're not. 19:06:23 well, as opposed to casting straight to void * 19:06:44 cluid: I would probably ask such a question here first, actually, but there must be general programming and algorithm channels somewhere. 19:06:56 then it is a copy. in asm i can access any place as any type why should i make my c code slower? 19:06:59 anyway, I will give you like a billionth of a bitcoin if gcc -O3 and clang -O3 don't optimise that out to essentially y = x 19:07:04 oh lord 19:07:26 you'll never fix your mental model of things if you keep treating C as something that maps directly and simply to assembly 19:07:31 unless you take a time machine back a few decades 19:07:56 elliott: naaah, all we need to take back a few decades is the compiler. 19:08:29 or use a less complex contemporary compiler 19:08:35 int-e: but that way we still have to listen to oren 19:08:42 elliott: ... 19:09:09 I would suggest /ingore but then elliott would demonstrate /kick 19:09:21 oh come on, that was a good spur of the moment quip 19:09:22 -!- Sprocklem has quit (Ping timeout: 244 seconds). 19:09:32 (ah, typos. you can love them or hate them, but not get rid of them. 19:09:39 what to you expect in 39 seconds 19:09:46 actually that's kind of a lot of time :/ 19:10:31 but yeah, C compilers do lots of crazy things. 19:11:45 I mean I'm not saying C's annoying edges for systems programming is a good thing, although a lot of the things people assume will work are actually broken for good reasons. a language that maps directly to the hardware wouldn't look like assembly either, though 19:12:43 movsd %xmm0, 8(%rsp) 19:12:44 movq 8(%rsp), %rdx 19:12:47 elliott: I tried it out 19:13:11 seems that gcc optimizes out the memcpy, but has to bounce the value off memory to convert it from a double to a uint64_t 19:13:28 I don't think any other sort of assignment would work better, though? 19:13:31 let me try with the union 19:13:56 is there a move instruction from %xmm0 to %rdx? 19:14:37 x86_64's instruction set is far from consistent 19:14:46 so i don't know 19:14:54 I get exactly the same code for the assignment as I did for the memcpy 19:15:11 the instruction might be missing from the set? 19:15:12 actually the output asm are completely identical apart from where the filename appears in the debug info 19:15:26 okay thanks int-e 19:15:30 ok i'll use memcpy thanx for the help 19:15:31 I was wondering what the point of dancing links was 19:15:33 so, basically, elliott is right 19:15:39 he is! 19:15:40 http://www.ams.org/samplings/feature-column/fcarc-kanoodle 19:15:43 i read about it there 19:15:46 which is the result I thought I'd get before testing, but best to make sure 19:15:58 I think the answr is it lets ou use less memory, but it still seems a bit stupid 19:16:33 if youre trying to solve a pentomino problem, why not generate pentominos rather than build a huge big matrix and cross things off? 19:18:19 #define db2u64(x) ({uint64_t u;memcpy(&u,&x,8);u;}) 19:19:30 x86 has this historical separation of CPU and FPU, with no direct transfer of values (but with a direct transfer of flags for comparisons). And MMX SSE and so on all happen to extend the FPU. 19:19:45 ;u;; 19:19:47 s/;$// 19:20:09 blah int-e i knew it! 19:20:19 int-e: which dates back from the time when the x86 and x87 were actually separate chips, IIRC 19:20:24 yes 19:21:03 that is so inconsistent... i like the 6502's instruction set for its consistency 19:21:05 movq %xmm0, %rax 19:21:54 any one know knuth dancing links 19:22:08 presumably knuth does 19:22:14 and you can find examples elsewhere 19:22:14 ok but he isnt here 19:22:25 I've received emails from knuth's secretary, it was weird 19:22:39 (he doesn't write them himself, which IMO is entirely reasonable) 19:22:42 I only got one, asking for my middle name. 19:22:49 hes a busy guy 19:23:23 he writes program books and doesnt afraid of anything 19:23:30 knuth should be here 19:23:38 it'd be horrible 19:24:02 I'd prefer it if not 19:24:16 actually, better would be if he just turned up, asked a quickly answered INTERCAL question 19:24:18 got the answer, and left 19:24:30 Re "copy", when this came up in ##c last (it comes up quite often), GCC generated absolutely identical code to the three common "reinterpret the bits" approaches (the *(x*)&y one, the union { x a; y b; } one and the memcpy one). 19:24:31 -!- oren has quit (Quit: eating a chicken). 19:24:41 I guess ais523 already tested all three, though. 19:24:41 ais523: ideally he'd turn up, get `welcomed, and turn out to be looking for the other kind of esoteric 19:24:47 fizzie: I didn't test the first one 19:24:48 and leave 19:24:56 that's the best knuth/#esoteric interaction I can think of 19:25:11 gah, I think you broke me 19:25:25 I literally am having problems imagining that 19:26:21 elliott: http://www-cs-faculty.stanford.edu/~uno/316.html 19:26:37 that's a weird subdomain 19:27:11 int-e: Middle name for what? 19:28:11 -!- AndoDaan has quit (Quit: bbl). 19:28:12 shachaf: Some list of authors I presumed. I don't even know whether I made it. 19:28:46 -!- AndoDaan has joined. 19:29:30 Ah. 19:29:56 "Please send me ALL your names, even if you don't customarily use them! They will appear only in the index, where many of my readers have said they enjoy seeing esoteric information like this." 19:30:31 He lost my name once. :-( 19:31:26 "Needless to say, the employee responsible for this glitch has been sacked." 19:35:54 -!- shikhout has changed nick to shikhin. 19:49:21 ais523: To be fair, "bham.ac.uk" is pretty weird too. And the whole deal with ultra-abbreviated names. 19:50:08 (Admittedly something like www-cs-bham.ac.uk would be weirder.) 19:50:50 I think we had a wwwcs. or www-cs. or cswww. or some other such subdomain at the university. 19:51:47 (But it was just for "strange stuff", not for any high-profile webserver.) 19:52:35 -!- Sprocklem has joined. 19:53:34 I don't find www-cs-faculty.stanford.edu strange at all 19:53:50 At my university, www-it.math.… is a thing. 19:55:28 but anyway, http://cs.stanford.edu/~uno/316.html works too 19:56:01 and www.cs.... 19:56:25 I wonder what "uno" is. 19:57:04 http://cs.stanford.edu/~uno/programs/dance.w 19:57:44 its C with weird @ signs everywhere 19:57:45 thanks knuth 19:59:33 CWEB, which makes sense, since it's in the web. 19:59:52 to weave, or to tangle... 20:00:24 his code seems about 6x shorter than mine 20:01:46 cluid: weird @ signs everywhere and it has its own macro system 20:01:51 and its own nonlinear text expansion facility 20:01:59 `rainbow ~*~literate programming~*~ 20:02:23 http://arxiv.org/abs/cs/0011047 "The first trick is to implement each assumption of the search with reversible local operations on doubly linked lists. By this trick, every step of the search affects the data incrementally" 20:02:30 No output. 20:02:37 -!- Patashu has joined. 20:02:44 whaat 20:02:47 `rainwords ~*~literate programming~*~ 20:02:55 that will be underwhelming 20:03:09 the author reports excellent performance for his algorithm for some familiar puzzles. These include tiling a hexagon by 19 hexiamonds and the N queens problem for N up to 18 20:03:18 No output. 20:03:29 Uh. 20:03:33 `echo x 20:03:34 x 20:03:47 `` echo abcde | rainbow 20:03:47 cluid: the most simultaneous queens england has ever had at once is 7 so that's a comfortable scalability margin for solving the problem 20:03:48 ​abcde 20:03:57 -!- oren_ has joined. 20:03:58 lol 20:04:05 ~*~literate programming~*~ hth 20:04:17 the algorithm decides which queen to keep and which ones to sacrifice 20:04:24 it's like easter calculation 20:04:28 goes back centuries 20:04:47 Oh, of course it's a filter kind of a thing. 20:05:08 ^rainbow does this still work? 20:05:08 does this still work? 20:05:10 Wasn't there a clever way for commands to be both kinds of things? 20:05:23 That rainbow is kind of gloomy. 20:05:35 I prefer {cheerful} rainbows. 20:05:38 Oops. 20:05:42 I prefer cheerful rainbows. 20:05:46 That didn't work very well. 20:05:47 you can check $# and see if you got any arguments 20:05:47 I think it's limited to one-character color codes. 20:06:04 I assumed "clever way" meant something cleverer than DIY. 20:06:16 that rainbow look extra cheerful for me 20:06:44 Perl has that <> thing that's either stdin or the *contents* of the files named as command line arguments, but it's not quite the same as taking command-line data instead. 20:07:24 ^show rainbow 20:07:26 +3>4+6[->+8<],[<4.>[->+>+<2]>2-[-[-[-[-[-[-[<[-]>[-]]]]]]]]<[-<+>2+<]<+>4.[-<2+>3+<]<2+2.[-]>.>2[-<+>]<2,] 20:08:27 is that run-length encoded brainfuck 20:08:32 does this still work? 20:08:35 does this still work? 20:08:38 looks liek brainfuck + numeric constants 20:08:45 There you go, much more cheerful and only a one-character difference. 20:08:46 i see brainfuck + named variables on the wiki too 20:08:58 It's a run-length encoding thing, yes. 20:09:06 (putting a ^B at the beginning) 20:09:12 ^rainbow does this still work? 20:09:14 does this still work? 20:09:30 what do you call "languages" like that that are just used to describe a thing? 20:09:35 I just want befunge with functions. how that'd work... who knows! 20:09:36 the aren't supposed to be a real language 20:09:56 cluid: flowerpots? 20:10:07 hi 20:10:34 uh... perhaps declarative programming 20:11:27 Technically, it's a lower-level representation of the bytecode fungot's ^bf uses internally. 20:11:29 fizzie: they probably know better than to use the lisppaste bot, visit http://paste.lisp.org/ new/ scheme and enter your paste. it is really needed 20:11:43 -!- nycs has joined. 20:12:51 (It has six instructions, each of which has an argument field, two of which ignore their argument.) 20:13:46 (Although that was probably unnecessary to explain, given how literate the fungot sources are.) 20:13:49 fizzie: any ideas about how config files and other extensions.) refer to? ( as said, so far three puzzles none of which is being used by these orgs now"... 20:14:43 ^style 20:14:47 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube 20:14:53 -!- `^_^v has quit (Ping timeout: 265 seconds). 20:15:11 i got fungot 20:15:13 shachaf: care to take a huge detour from fnord to mit to read sicp this semester. the prof is doing every 15 minutes and didn't even bother checking if fnord was declared to return the whole ( loop thing specifically intended for that? 20:15:24 shachaf: oh noes, is there a cure? 20:15:35 tried to read a sentence as if it was intended to make sense 20:16:27 hmm, fungot put a space on both sides of ( there, but istr the perl scripts had code to put such punctuation at the start/end of the next/last word 20:16:29 olsner: as i said, it can 20:16:37 wait, so fungot gives you a (senseless) sentence every time you mention it? learn something new every day haha 20:16:40 singingboyo: 7 greasemonkey: daemon idle_10 bf8. i 20:18:33 -!- AndoDaan has quit (Quit: bbl). 20:18:50 coudl anyone turn a .w file into C for me please? 20:18:56 http://cs.stanford.edu/~uno/programs/dance.w this one 20:20:25 http://manpages.ubuntu.com/manpages/utopic/man1/cweb.1.html 20:21:54 Knuth has such an odd style of writing C. 20:22:01 oh so actually pentominos is not best solved by dancing links 20:22:03 Even disregarding the literate programming thing. 20:22:14 Well, maybe I shouldn't be disregarding it. But either way. 20:23:28 you can gard it, it doesn't need to be regarded. 20:24:07 -!- oren_ has changed nick to __oren__. 20:24:19 <__oren__> hey look iim a c99 thing 20:24:36 <__oren__> or maybe a gnu extension 20:24:59 * Melvar tugs on __oren__’s proboscis. 20:25:01 C99 would be _Oren. 20:25:12 <__oren__> oh right right 20:25:31 -!- Patashu has quit (Ping timeout: 265 seconds). 20:25:38 What is the best algoirtmh to pack shapes with pentominos? 20:26:32 -!- sebbu has quit (Ping timeout: 240 seconds). 20:26:40 <__oren__> what sort ofshapes? 20:27:01 http://gp.home.xs4all.nl/PolyominoSolver/Polyomino.html like these 20:27:02 oren: btw did you see the esolang I invented? 20:27:12 -!- sebbu has joined. 20:27:32 <__oren__> yes, looks original and i like that you didn't name it *fuck 20:27:38 oh yeah i remember you said that 20:27:50 -!- sebbu has quit (Changing host). 20:27:51 -!- sebbu has joined. 20:33:46 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 20:36:50 http://www.halley.cc/ed/linux/scripts/quine.html 20:39:53 olsner: The Perl scripts, sure, because it was easier to implement in Perl than in Befunge. 20:40:01 olsner: The Perl scripts maintain balanced punctuation, too. 20:40:07 I've found that if the set to be covered is small, DLX isn't all that good; it's better to use bitmasks. Then, when selecting a mask from the list of remaining candidates, copy the list of candidates, filtering out those that collide with the selected mask. 20:40:22 olsner: (It's on the TODO list to fix at least the spacing.) 20:40:56 The point is that this usually uses less memory and accesses memory in a linear fashion, making it well suited for modern CPUs and their caches. 20:41:42 But DLX will be better if each bit is only covered by a few possible masks (rows). 20:44:56 int-e, I thought this would be better even without bitmasking - then I noticed it will use more memory (but that is probably okay) 20:45:25 -!- atslash has joined. 20:56:43 -!- AnotherTest has joined. 20:58:52 -!- Sprocklem has quit (Ping timeout: 240 seconds). 21:17:22 -!- dts|pokeball has quit (Quit: Leaving). 21:17:41 -!- dts|pokeball has joined. 21:34:21 -!- axelcsep has quit (Ping timeout: 256 seconds). 21:44:36 -!- nycs has quit (Quit: This computer has gone to sleep). 21:58:00 -!- hjulle has joined. 22:06:32 -!- dts|pokeball has quit (Read error: Connection reset by peer). 22:08:19 -!- dts|pokeball has joined. 22:18:43 nice golfing challenge at http://www.reddit.com/r/tinycode/comments/2o6jqu/ascii_connect_4_in_124_bytes_of_c/ 22:19:12 see my latest reply in there 22:23:21 W(n){return b[c]&b[c+n]&b[c+n*2]&b[c+n*3];} lol damn 22:23:26 that's crazy 22:24:34 that's a straightforward test of 4 in a row:) 22:47:49 fizzie: wow how did you get Collatz parity so slow... 22:49:42 -!- AnotherTest has quit (Remote host closed the connection). 22:51:32 Using a lookup table, perhaps. 22:53:50 -!- oerjan has joined. 22:55:04 -!- boily has joined. 22:55:26 bonsoily 22:56:03 bonsai? 22:56:17 int-evening 22:56:26 int-e: I don't think I did anything special. 22:56:27 bon sœrjan. 22:56:34 bont-esoir. 22:56:43 bon soizzie. 22:57:16 oerjan: what is today's tldr? I won't be able to stay long tonight hth 22:58:58 -!- CrazyM4n has joined. 22:59:05 int-e: It does involve 512*64 things, that's a big number. Anyway, I'm faster than GolfScript. 23:01:14 boily: i joined 2 minutes before you so it's a bit early to say 23:01:57 fizzie: hmm. python is slow, too, perhaps you're right. 23:04:11 int-e: All languages can't be such mean, lean murder-machines like Haskell. 23:04:30 [wiki] [[User:Darkgamma/SB3]] N http://esolangs.org/w/index.php?oldid=41442 * Darkgamma * (+46) Created page with "Modernised Brainfuck using Unicode and colour?" 23:04:55 haskull 23:05:09 haskill 23:05:14 oerjan: oh. so it's a vsdr... oh well. be back in a... uhm... future? 23:05:27 -!- boily has quit (Quit: YEARLY CHICKEN). 23:05:44 he left without explaining his acronym. fiendish. 23:06:36 very silly december racoon 23:06:55 Taneb: ah, of course. 23:07:20 verne from over the hedge in christmas mood, i bet 23:07:43 wait 23:07:48 wrong animal 23:07:50 Modernised Brainfuck using Unicode and colour? 23:08:06 *RJ 23:08:24 we seem to be approaching the bf derivative singularity. 23:08:48 oerjan: how about "very short, did(n't) read." 23:09:28 int-e: but the logs are long and i haven't finished them 23:09:39 so that's crazy talk hth 23:10:23 but you didn't mention the logs and boily may have temporarily forgotten that you catch up on those 23:11:03 wikia's article on verne has the word "deuteragonist" 23:11:50 That's the protagonist of a side story, right? 23:11:59 Like Homestuck's Karkat? 23:12:23 fizzie: but doing things completely naively, I get 0.05s with python for the collatz parity (according to the performance check on anagol). 23:13:01 Taneb: pretty sure it means "second main character" 23:13:15 I think that is a better definition 23:13:15 [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41443&oldid=41442 * Darkgamma * (+152) 23:13:24 Still, like Homestuck's Karkat 23:13:28 proton vs. deuteron 23:13:48 fizzie: it's when using 'eval' that python becomes slow. 23:17:13 int-e: I'm guessing it's a stack rotation #r I do to work around the lack of Forth "-rot" (there's x/ aka rot, but not to the other direction), I guess rotating an up-to-64-element linked list isn't all that fast. 23:18:41 maybe not. 23:19:31 Well, I don't know. It's 0.65s locally with #r and 0.75s with x/x/. 23:20:36 There is an eval (an EvalMany, actually) in there, but I don't think that's a major thing in Burlesque. 23:20:44 Clearly a profiler is needed. 23:22:05 (An earlier C!-based version was 0.45s locally.) 23:27:36 wow. another "loop unrolling" and python takes almost 10 seconds... (time: 9.736676sec) 23:29:42 E! is listed to be defined as .*\[e! (aka "repeat, concatenate, eval") so it's quite unrolly too. 23:31:14 -!- axelcsep has joined. 23:32:48 -!- cluid has quit (Remote host closed the connection). 23:35:28 -!- axelcsep has quit (Ping timeout: 244 seconds). 23:45:24 -!- zzo38 has joined.