00:00:05 https://blogs.msdn.microsoft.com/vcblog/2015/12/04/clang-with-microsoft-codegen-in-vs-2015-update-1/ 00:00:45 -!- J_Arcane has joined. 00:00:54 I mean, I know C++ templates and sfinae are _designed_ at language feature level to make it impossible to give sane diagnostics, but msvc gives horrible error messages even in simple cases, not only in the complicated template stuff. 00:00:58 Each notation consists of a list of key-value pairs. Each key and each value is a notation. Every notation has an ordinal number as its value. 00:02:00 There can only be finitely many key-value pairs. The keys must be arranged in descending order by ordinal value. 00:02:20 -!- hppavilion[wc] has quit (Ping timeout: 250 seconds). 00:02:50 Notations also have an ordering; this ordering is different from the order of the ordinal numbers they describe. 00:02:58 shachaf: tbh I'm *super* excited for modules 00:04:36 Seriously, msvc is so bad that even if the code you write will eventually be compiled only with msvc, it's worth to port some of it to be portable to non-msvc just to get sane error messages when developing it. 00:04:59 The ordering of two notations is calculated as follows. If one notation is empty and the other is not, the non-empty one is later. Otherwise, look at their greatest keys (by ordinal value). If one key is greater, then its notation is later. 00:05:02 I've done that with template code. 00:05:16 If the keys are equal, look at the corresponding values (again, by ordinal value). If one value is greater, then that notation is later. 00:05:26 Of course, then you get cases when your code is correct and gcc and clang both know that, but msvc can't compile it because it doesn't understand the c++ standard. 00:05:27 Otherwise, discard the top key-value pair of each notation and compare the results. 00:05:50 But even then, gcc or clang as tools help you figure out how to fix it. 00:07:07 The definition of the function from notations to ordinal numbers is: The ordinal value of a notation is the smallest ordinal number which is greater than all of the values in the key-value pairs, and also greater than the ordinal value of any earlier notation. 00:09:54 So, the big question is: are all notations well-defined? 00:10:39 -!- HackEgo has joined. 00:10:49 fungot, are all notations well-defined? 00:11:20 fungot: Kengyele, kantárja / a kádár munkája 00:14:05 -!- lleu has joined. 00:14:20 -!- tromp has joined. 00:18:00 fizzie: IEUAAAAAAAAAAAAAAAAAAAAAARGHGHGHGLGHRHGLGHRLGHRLGLGLGLGLGLLFLBLFLBLFLBLBLBLBLBLFLFLFLBLBLBLBL! 00:18:35 tswett: i don't think it's well-defined. it seems like key = 0, value = a must be at least a for any ordinal, so there's nothing left for other notations. 00:18:47 -!- tromp has quit (Ping timeout: 260 seconds). 00:19:00 oerjan: you can't get omega using only key = 0. 00:19:10 boily: is the topic the most recent wisdom? 00:19:15 it still says 2015 on the title page 00:19:26 Like, the function f(x) = {0: x} doesn't have omega in its range. 00:19:48 oh that mess. 00:19:52 FINE 00:20:07 `welcome oerjan 00:20:17 oerjan: 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 EFnet or DALnet.) 00:20:46 `wisdom 00:20:47 coppro: I think so. I haven't updatitled, only contents. 00:20:48 wisdome/The Wisdome is the place where all of HackBot's wisdom is stored and forced to fight to the death for the freedom of being printed out when you type `wisdom. 00:20:53 `wisdom 00:20:55 egobot/EgoBot is my arch-nemesis. 00:20:57 oh you said the ordering was different. 00:22:07 shachaf: WAT, and here i thought this place was about alchemy and stuff 00:25:25 oerjan: no, this place is about kitten typesetting 00:27:11 Not really alchemy, except as it applies to typesetting. 00:27:28 Which is surprisingly common. 00:27:41 `? ginorst # wut? 00:27:42 ginorst # wut?? ¯\(°​_o)/¯ 00:27:46 `? ginorst 00:27:47 Ginorst is eht aillpr fo dgoo iikw aaeegmmnnt. 00:27:57 storing is the pillar of goot wiki management??? 00:28:15 st\t wtd wt 00:28:44 boily: almost 00:29:10 * oerjan wanted to give a hint in the last message, but then realized something... 00:29:39 strigno? goirnst? 00:30:30 rty adeehrr 00:30:38 kiwi? 00:32:29 no, ahtt asw cceorrt 00:34:14 what is it with fungot today 00:34:29 oh oerjan's experimenting with some sort of encryption? 00:34:33 rosting? trisong? gnosirt? norsigt? 00:34:49 ... 00:34:52 snorting! 00:35:07 thint-e. 00:35:09 oerjan: snorting! 00:35:15 it's wrong 00:35:42 * oerjan astw biloy ###----- 00:35:50 *asstw 00:36:18 dhnt 00:36:50 oerjan: ehy :P 00:36:54 aacfhhs: aer ouy ersu? 00:36:55 apparently there's only Sorting and Storing 00:37:14 I already suggested storing, therefore it's sorting. 00:37:21 Or Tsing 00:37:29 Or Sting 00:37:30 also: is Hari a person, or a concept? 00:37:32 `? hari 00:37:38 shachaf: probably Sting. 00:37:39 Hari wears an identical suit every day. Or the same suit? The latter glitch would be a sign of adjustments on the Matrix. 00:39:48 -!- hppavilion[1] has joined. 00:40:09 So here's a rather interesting idea 00:40:40 Most type theories (and, by extension, good type systems) are based on Formal Logic and use logical proofs to engineer new functions 00:40:54 hppavellon[42]! you are wisdomupdated. 00:41:07 But what happens if we throw logic and functions out the window? 00:41:15 Instead of logic, we use geometry 00:41:27 And instead of functions we use, I dunno, constructions? 00:41:53 I think you've crossed some line there. 00:42:02 int-e: I think I have 00:42:03 int-e: in the first line imo 00:42:46 hppavilion[1]: your first error is in assuming that throwing random stuff together is sufficient to be "interesting". 00:42:49 * hppavilion[1] is guilty of four-plus-pi-i-degree linecrossing 00:43:02 oerjan: I was thinking about it on my walk home and it seemed interesting 00:43:26 oerjan: I tried to figure it out, but I was walking and thus unable to visualize it concretely 00:43:29 well, geometry is the ancient logical subject 00:43:44 oerjan: Yes, and? 00:44:02 what I was getting at, really, is that geometry is all about crossing lines 00:44:10 oerjan: Yes, it uses logic, but it's a rather different logic IME 00:44:14 int-e: Aaaaaaah. 00:45:26 oerjan: I tried to figure it out, but I was walking and thus unable to visualize it concretely <-- the trick is to find a nearby beach with sand to draw in. and watch out for romans. 00:45:29 that said, oerjan has a point 00:45:45 oerjan: I feel like I should get that reference 00:45:49 int-e: Yes, he does 00:45:59 int-e: But I think this actually is interesting 00:46:05 * int-e is going to let this discussion run in circles... and then move on to three dimensions. 00:46:24 01:11 <@DarwinElf> shachaf, Warrigal, poll: best spiritual site? (mine in the topic, and the two it's influenced by and that are now probably still offline, aren't the easiest for most people, so we could list others like we used to) 00:46:43 hppavilion[1]: well it's pretty old hth 00:46:52 oerjan: do you have any good ones for the other #esoteric 00:46:53 (Though further thought led me to realize that you need something to take the place of functions. Or just functions) 00:47:01 tswett didn't know any 00:48:01 oh perhaps the discussion could also spiral out of control or move off a tangent... 00:48:21 why are there so many geometric idioms... 00:48:23 oerjan: Is there some glaring obvious reason a geometric type theory wouldn't work that I'm missing? 00:48:34 hppavilion[1]: i don't know. 00:48:39 int-e: I think "tangent" was a thing before geometry and they both use the same thing 00:49:16 wat 00:49:26 tangent is part of geometry 00:50:36 oerjan: Yes, but it may have predated geometry 00:50:50 who is Jander? 00:50:55 oerjan: And the word may have been an already-existing word adopted by geometers (in its english sense) 00:50:57 -!- centrinia has joined. 00:51:26 hppavilion[1]: usually you should first have an idea of a mathematical object, then give it a name... you seem to be turning this process upside down, but it doesn't really work: "geometric type theory" has no inherent meaning. 00:51:41 int-e: True, true 00:51:41 coppro: ♪ DING ♪ PDF update! 00:52:09 `pbflist 00:52:10 pbflist: shachaf Sgeo quintopia ion b_jonas 00:52:14 hppavilion[1]: tangent is latin, and geometry is greek, so the latter is older hth 00:52:20 oerjan: Ah, yes 00:52:38 this channel seems to be unionized 00:52:39 (spot the error in this reasoning) 00:52:53 shachaf: we're very electrically neutral indeed 00:53:16 oerjan: are you positive? 00:53:19 * int-e runs 00:53:20 int-e: My point with it is that you have scalar types Circle and Line 00:53:22 boily: which Jander 00:54:06 `? jander 00:54:07 Jander was murdered, or deactivated permanently, depending on which side you ask. 00:54:16 ↑ this one here Jander. 00:54:40 Circle, Line, and Point 00:54:56 boily: oh. someone's been adding scifi references to the wisdom. that one is asimov. come to think of it, Hari may be too. 00:55:12 although the Matrix is confusing in that context... 00:55:23 `culprits wisdom/jander 00:55:28 b_jonas b_jonas 00:55:38 b_jonasimov. 00:55:42 int-e: And compound types called a Plot (which is like a labeled list or named tuple; not quite a dictionary because the "labels" are just compile-time macros) 00:56:09 Maybe something other than a Plot, but you get the point- a way of organizing constructions into nice neat groups 00:56:14 specifically, Jander was a robot. i've only read plot synopses. 00:56:43 int-e: And... hm... I seem to have done something wrong 00:57:20 int-e: My point at a high-level is "Type theory can be done with logical proof, so why not other proofs?" 00:57:56 The naive approach is just to include the primitives as types and have functions matching the postulates, but I feel like there's another, more interesting way to do it 00:59:45 hppavilion[1]: the proofs of geometry include logic, and on top they have mathematical objects that are being talked about. i think that kind of thing may generally lead to dependent types... 01:00:03 oerjan: Yes, that might be it. 01:00:16 without dependent types, the logic only talk about the propositions themselves 01:00:20 oerjan: But I'm going for the ruler-and-compass constructive proofs 01:00:21 *logics 01:00:32 oerjan: Basically, I want to ruler-and-compass type theory 01:01:18 A type would be a series of circle constructions and line constructions, given an initial set of known points 01:04:49 -!- oerjan has set topic: Quite puzzling | The international hub of esoteric programming language and kitten typesetting | logs: http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | http://esolangs.org/ | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf | Note: people with cloaks will be treated as if they're from Oslo (not Christiania). 01:04:50 Huh. I suppose a type is something you can construct with a static series of steps and some points satisfying certain predicates 01:05:04 i felt nationally obligated hth 01:05:31 OR it is a predicate type... 01:05:55 https://en.wikipedia.org/wiki/Hilbert%27s_axioms sets out a modern axiomatic framework for euclidean geometry 01:05:59 it's probably a useful start 01:06:10 Phantom_Hoover: Thank you 01:06:15 hey oerjan 01:06:35 phellover 01:06:42 can you prove stuff like the impossibility of the trisection with hilbert's axioms 01:07:26 Phantom_Hoover: probably? 01:07:37 Phantom_Hoover: Are hilbert's axioms equivalent to euclid's axioms? 01:07:44 it's not like i've looked at the axioms in detail 01:08:12 i guess you probably can, i was wondering if maybe you needed extra stuff to get all the necessary galois theory 01:08:12 hppavilion[1]: hilbert's axioms are basically filling in the loopholes because the ancient greeks weren't rigorous _enough_ 01:08:25 but otherwise, should be. 01:08:47 i still don't really understand what the point of axiom 4 of euclid is 01:08:57 oerjan: How do you prove whether a triangle is isosceles? Is there some way to reduce it to the intersection or non-intersection of two lines? 01:09:26 you can prove that two of its vertices lie on a circle centred on the third 01:09:41 Phantom_Hoover: That probably works 01:10:00 but in euclidean language i think you'd just say "the line segments AB and AC are of equal length" 01:10:04 Phantom_Hoover: well you need to be able to talk about what it means for something to be constructible, i guess that might not fit inside the first order logic of geometry itself. 01:10:19 oerjan, hilbert's axioms aren't first-order anyway 01:10:25 Phantom_Hoover: oh. 01:10:29 Phantom_Hoover: Yes, but I need to know how I can check for equivalent-length lines 01:10:45 hppavilion[1], well then, as i said 01:11:18 Phantom_Hoover: Yes, that's what I'm going to do 01:11:31 Phantom_Hoover: Though I think I'll need some non-deterministic computing 01:11:37 http://euclidthegame.com/Tutorial/ is a game that basically takes you through explicit constructions of a lot of these things 01:14:35 Phantom_Helloover. AAAAAAAAAURGH! 01:14:43 don't remind me of that timesink of a website! 01:18:04 boily: relax, have another weird al https://www.youtube.com/watch?v=bwvlbJ0h35A 01:18:43 best weird al https://www.youtube.com/watch?v=Ib2Vl7JEjfc 01:20:06 boily, i was just saved by its incredibly bad solution detection refusing to identify my perpendicular 01:20:51 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 01:21:52 (btw it needs to be watched until the end hth) 01:23:41 again with that weird issue. I get sounds, but no picture. it happens on some youtube videos for no apparent reason. 01:24:00 Phantom's video's fine, tho... 01:24:13 boily: darn :( 01:24:18 I know :/ 01:34:28 -!- tromp has joined. 01:34:52 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:36:37 -!- me4 has quit (Read error: Connection reset by peer). 01:37:14 -!- me4 has joined. 01:40:05 * boily lightly mapoles me4 01:40:10 another one https://www.youtube.com/watch?v=fMCwiL6MZcY 01:42:06 -!- acertain has quit (Ping timeout: 276 seconds). 01:43:36 it's not a working gramophone :D 02:08:27 -!- earendel has quit (Ping timeout: 260 seconds). 02:17:02 -!- acertain has joined. 02:21:50 -!- mad has joined. 02:23:42 I think I've figured it out 02:24:10 How to make a highly parallelizable CPU archi that can also be output from an ordinary C++ compiler 02:24:13 mellod. 02:24:33 some kind of Verilog/C++ crossover? 02:25:18 no, just an instruction set that's easy to run lots of instructions in parallel 02:27:07 you have an accumulator. every instruction writes its result to the accumulater, and also optionally to a register of the regfile 02:28:04 the instructions that don't have a dependency on the accumulator are the first instructions of each 'group' 02:29:29 -!- j-bot has joined. 02:29:30 also, each regfile register name can only be written to once, but you have an instruction to rotate regfile names and generate new ones 02:30:36 and the regfile is split into a few partitions so that values with different lifespans can be kept longer or shorter 02:31:09 so the cpu really only has 2 instructions 02:31:26 "generate N new register names" 02:31:28 and 02:31:53 "start executing a bunch of instructions at memory offset X" 02:33:00 the thing is, you can run another "start executing a bunch of instructions at memory offset Y", and you're guarenteed that it can run in parallel 02:33:35 because since every register is only written to once, you know that the group X and group Y will never write to the same registers 02:34:04 you'll also need seperate memory segments. 02:34:16 seperate methods of accessing I/O. 02:34:18 also if group Y reads from a register written to in group X, the register has a 'valid' flag and can simply wait until it's valid 02:34:30 ways of guaranteeing race conditions don't happen. 02:34:38 so.. there's a lot more than just a register file. 02:34:42 picobit : yeah, that's the catch... this solves arithmetic instructions but not really memory instructions 02:34:52 mad: look into flow based programming. 02:35:00 mad: that's truly a "shared nothing" paradigm. 02:35:25 actually I do have a plan for memory instructions too tho 02:36:07 memory instructions can also be instructions groups, with the catch that they can't have an accumulator 02:36:18 and they are run in-order 02:36:24 you're basically re-implementing atomics. 02:36:31 and threads. 02:36:49 yes but this can be output from a C++ compiler 02:37:04 it already is. 02:37:05 there's no way llvm can auto-threadify general purpose code 02:37:19 there's no way you can either. 02:37:29 because why would you want to "auto-threadify" something. 02:37:37 easy 02:37:40 I don't want my application suddenly barreling off, spawning off four threads. 02:37:49 I want to specify those threads and have control over them. 02:37:54 mapping them to some useful work. 02:38:05 if your cpu has N execution units 02:38:19 you can keep it busy with N "micro-threads" 02:38:41 okay, but you're not getting the fact that code is generally meant to be explicit about concurrency and parallelism, not implicit. 02:38:46 each unit is just an ALU + regfile write port + 2 regfile read ports 02:39:48 picobit : well, no this is a design to go get the 2/3/4 parallel instructions you can get implicitly 02:39:49 again, I don't want my prime number sieve spinning off into different threads, nor do I want any other code of mine to do so unless I explicitly specify it, and I can, and I will.. with existing threading libraries. 02:40:17 like, it's just a fancy design for an out-of-order cpu 02:40:19 your idea isn't really that useful when this exists as a solved problem. what you should focus on is better concurrency primitives. 02:41:50 my idea only has to be more useful than an out-of-order RISC in the style of the MIPS R10000 or quad-issue Dec Alpha or quad-issue PA-Risc or the x86 equivalents (3-issue amd athlon and so forth) 02:42:29 but.. you don't solve anything, you just succeed in the fact that "yeah, we can now, without much regard to what we're writing, spawn off threads for things that may not need them" 02:42:46 it's not going to be useful, we have out of order execution and atomic memory accesses already. 02:42:57 -!- tromp has quit (Remote host closed the connection). 02:43:02 focus on some interesting methods of organizing concurrent systems. 02:43:12 if it's easy to build register files with dozens of read and write port and schedule a whole bunch of execution units then my idea is useless, right 02:43:14 believe me, you'll find some untrodden grounds. 02:43:28 mad: yeah, we call them threads and thread local storage. 02:44:19 by all means don't let me stop you, just bear that in mind, you're inventing something that already exists. 02:44:20 picobit : If I was looking at a highly threadable load, then I'd go for a totally different design 02:44:39 it's not even highly threadable. show me one instance where I'd prefer implicit threading. 02:45:07 and by implicit, I mean "I don't have control over it and the compiler will automagically do it for me." 02:45:10 like, if you have tons of explicit threads, you only need a 2-issue in-order cpu with lots of cores and hyper threading 02:45:17 that's what the SPARC does 02:45:26 okay. 02:45:30 if anything stalls, move on to next thread 02:45:40 solves a ton of CPU design problems 02:45:41 annnnnnnnd your implicit threading model would be akin tooooo... 02:45:59 it works for SPARC because it runs servers with dozens of concurrent programs 02:46:11 yyyup, and we specify explicit threads. 02:46:16 saving state, switching, etc. 02:47:02 my 'implicit threading' model is more like an attempt at doing hardware SSA 02:47:34 ..static security analysis? 02:47:42 :P 02:47:56 joking, but okay. 02:48:27 it's only a way to reduce the number of regfile reads and writes 02:48:30 -!- tromp has joined. 02:48:31 like 02:48:36 if you have a sequence like 02:48:49 sub r0, r1 02:48:54 mul r0, r2 02:48:57 sar r0, 16 02:49:05 add r0, r1 02:49:08 you want to automatically parallelize calculations by duplicating regfiles. 02:49:14 mul r0, r8 02:49:20 sar r0, 16 02:49:23 and running the same operations over those regfiles with local names. 02:49:49 that's all well and good but be explicit in the how and where. we already have this kind of thing. 02:49:55 well, first step is that I'd use an accumulator 02:50:13 sub ac, r0, r1 02:50:20 mul ac, r2 02:50:24 sar ac, 16 02:50:26 etc... 02:51:02 excluding that the accumulator is also a register, it only reads from the regfile once per instruction except the first one 02:51:15 and it only writes to the regfile once at the end to store the result 02:51:27 have fun 02:51:38 instead of doing 2 reads 1 write per op like on the MIPS 02:52:30 now, that instruction sequence is serial 02:52:39 it cannot be parallelized no matter how 02:53:05 -!- XorSwap has joined. 02:53:32 so that cpu is slower than a pentium or a dual issue ARM as of yet 02:56:17 picobit : I'm sorry that this doesn't fall into your preferred topic of parallelization primitives 02:56:48 mad: don't be offended by my criticism of your idea. any idea worth its salt will be criticised. 02:57:45 well, it's just a different design area 02:57:49 and a different fight 02:59:34 if you add the requirement of specially written c++ code to get the extra performance, then the mainstream approach is probably a combination of SIMD (SSE) and multi-threading 02:59:45 or giving up on c++ and doing GPU calculation 03:00:22 or potentially using a DSP architecture if it benefits from low-power/embedded stuff and is math-y 03:00:54 or using an FPGA 03:01:26 but that's all lower level than C++ 03:04:20 the challenge I'm interested in is running single threaded C++ fast... does that make sense? :3 03:04:53 and potentially higher level languages, which all benefit from the same stuff as C++ generally 03:08:44 -!- boily has quit (Quit: NAMED CHICKEN). 03:11:30 Mike, obviously. 03:14:19 picobit : basically you're criticising the whole idea of having fewer more powerful cores, rather than lots of small slower cores :D 03:15:26 mad: no, I'm criticising your idea of what parallelism in terms of both execution and programming is supposed to mean. 03:15:31 not interested in discussing it further. 03:15:37 so, cheers. 03:19:38 -!- earendel has joined. 03:20:08 it's like, you throw me off tracks then lose interest... not happy... but anyhow 03:26:16 -!- picobit has quit (Ping timeout: 264 seconds). 03:26:52 -!- j-bot has quit (Ping timeout: 264 seconds). 03:26:52 -!- oerjan has quit (Ping timeout: 264 seconds). 03:27:00 -!- oerjan has joined. 03:27:11 eep 03:27:29 -!- centrinia has quit (Ping timeout: 264 seconds). 03:28:12 -!- picobit has joined. 03:34:12 `twilight 03:34:20 `doomsday 03:34:22 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: twilight: not found 03:34:22 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: doomsday: not found 03:36:04 `wisdom facebook 03:36:09 facebook/Facebook is Taneb's face collection. 03:36:27 `wisdom twilight 03:36:28 ​/cat: : No such file or directory 03:38:35 -!- bb010g_ has quit. 03:41:26 -!- FreeFull has quit. 03:43:25 -!- centrinia has joined. 03:46:05 -!- bb010g has joined. 03:54:46 <\oren\> DAMN! 03:55:03 <\oren\> It was flying really well until it exploded 03:57:54 -!- iconmaster has quit (Ping timeout: 260 seconds). 04:00:23 <\oren\> but rather than changing the configuration, I'll just say don't pull more than 12 gees in this 04:03:19 -!- MDude has joined. 04:15:20 One thing I have design is the instruction set where other than reading the instruction opcode, there is up to one additional memory access which may be a read or write depending on the instruction (whether or not such memory access exists at all depends on the addressing mode, which is independent of the instruction code number) 04:20:23 -!- hppavilion[1] has joined. 04:20:33 /join #totallynormal 04:20:38 -!- hppavilion[1] has left ("Leaving"). 04:20:43 -!- hppavilion[1] has joined. 04:20:45 Whoops 04:23:03 "Java syntax borrows heavily from C and C++, but object-oriented features are modeled after Smalltalk and Objective-C.[11]" 04:23:13 Now image s/C and C++/something else/ 04:23:37 "Java syntax borrows heavily from brainfuck and Befunge-98, but object-oriented features are modeled after Smalltalk and Objective-C." 04:29:22 And then also s/Smalltalk and Objective-C/something else/ too 04:29:31 zzo38: No, we have to keep one part 04:29:37 zzo38: Or else it becomes less fun 04:29:38 OK 04:29:55 zzo38: What would be a BFJava Hello World? 04:30:20 It doesn't necessarily have to mean both Smalltalk and Objective-C, or to add a new one to those two 04:30:36 zzo38: True 04:34:03 {'HELLO WORLD'($::~::.)(_::^::>)($::~::.)(_::^::>)($::~::.)(_::^::>)($::~::.)(_::^::>)($::~::.)(_::^::>)($::~::.)(_::^::>)($::~::.)(_::^::>)($::~::.)(_::^::>)($::~::.)(_::^::>)($::~::.)(_::^::>)($::~::.)} 04:34:41 zzo38: Something like that 04:35:03 $ is sys, $::~ is stdout, $::~::. is sys.stdout.write 04:35:27 _ is tape, _::^ is current tape cell, _::^::> is... hm.. 04:35:40 s/_::^/_/ 04:37:08 -!- centrinia has quit (Quit: Leaving). 04:43:58 -!- centrinia has joined. 04:44:54 -!- j-bot has joined. 04:50:52 I have now been quieted on ##programming 04:51:50 :o 04:51:59 mad: Yep xD 05:01:07 -!- hppavilion[1] has quit (Ping timeout: 244 seconds). 05:04:55 -!- hppavilion[1] has joined. 05:08:26 <\oren\> so far my attempts to program in kOS have mostly resulted in crashes and expolsions 05:10:03 \oren\: kOS? 05:10:33 \oren\: The mythical Canadian wrapper? 05:10:37 *rapper 05:11:13 \oren\: Kid Operating System? 05:12:20 \oren\: Oh, looks like that Wikipedia article was deleted because it was someone's personal project, not a noteworthy thing 05:14:53 \oren\: Oh, is it https://www.reddit.com/r/kos? 05:18:02 -!- tromp has quit (Remote host closed the connection). 05:18:50 that sounds like chaOS 05:21:03 Yurume_: Excellent puint. 05:23:13 knightOS? 05:27:46 ... 05:27:54 Kerbal arm skin color is #84D455 05:31:10 Wait, or BADA55 05:33:06 <\oren\> kerbal operation system 05:33:25 <\oren\> and so far, I can't program a launcher 05:37:24 <\oren\> which means all my probes are going to need to have constant radio signal, so I have to launch a ton of relay satellites 05:37:45 \oren\: Um. What's kerbal operation system? 05:37:57 \oren\: Please tell me it isn't a Billiard Ball Computer that uses gravity. 05:39:51 -!- picobit has quit (Ping timeout: 244 seconds). 05:40:13 <\oren\> no, it's a mod for the game which allows you to program your spacecraft to function autonomously 05:45:06 -!- oerjan has quit (Quit: Nite). 05:45:48 -!- XorSwap has quit (Quit: Leaving). 05:52:36 -!- lleu has quit (Quit: That's what she said). 06:00:11 \oren\: Ah, good 06:04:02 <\oren\> hppavilion[1]: do you ksp? 06:04:34 \oren\: I have it, but I don't use it often 06:05:49 <\oren\> ah. Soon I'm going to release my mod (like, probably tomorrow) 06:08:04 <\oren\> so it will add some parts that I think should have been in stock 06:08:31 <\oren\> It will add RCS thrusters that run on oxidizer 06:09:07 <\oren\> and a fuel cell that uses intake ait 06:09:12 <\oren\> *air 06:10:16 <\oren\> and saceplane parts with only fuel and no oxidizer in them 06:13:09 <\oren\> basically giving more latitude to make cool planes 06:16:23 <\oren\> and a fuel cell that runs on fuel and intake air allows to make cars that run like real cars kind of 06:18:35 -!- tromp has joined. 06:22:10 <\oren\> ooh. maybe I should add a resource called "MechanicalPower", parts that produce it from fuel and parts that use it? 06:22:24 <\oren\> That'll be in the next release I guess 06:22:44 -!- tromp has quit (Ping timeout: 244 seconds). 06:27:01 Oooh, a programming language that crashes and raises an error when you program badly 06:27:04 Or at least a warning 06:31:24 <\oren\> don't most programming languages do that to some extent? especially C? 06:31:48 Nah, C doesn't reliably crash when you program badly. 06:32:00 Mostly what it does is behave very weirdly. 06:32:14 And especially bad programmers then rely on the weirdness and are surprised when it breaks. 06:33:02 -!- Alcest has joined. 06:42:10 -!- Alcest has quit (K-Lined). 06:44:59 "gcc writers examine the C spec under magnifying glass to find a flaw that gets 0.1% extra speed but breaks in a corner case when compiled on non-x86" 06:45:26 \oren\: Perhaps a punishment is enacted if you don't adhere to the style guide? xD 06:45:45 Like the compiler won't work for 1.1^count minutes 06:46:25 Where count is incremented every time you try to compile without adhering to some style guide (described in a .sg file) and reset when you do 06:46:32 like how they figured that technically the spec allows them to crash if an int wraps 06:47:04 and of course the whole strict aliasing business 06:47:08 They could add options and attributes and so on in order to adjust such thing 06:47:26 there ARE options to turn off strict aliasing and the like 06:48:04 You might want to adjust them with more specifics though 06:48:07 <\oren\> -fno-strict-aliasing -fwrapv 06:48:10 mad: Wait, how does integer overflow result in crashes? 06:48:11 Rather than just on/off general. 06:48:50 <\oren\> hppavilion[1]: the c spec doesn't define what '\x7F'+1 is 06:48:59 What is the most terrifying-but-slightly-cryptic command name? 06:49:05 Fictitious or real 06:49:05 hppavilion[1] : it doesn't 06:49:07 but 06:49:09 Reality warping is allowed 06:50:06 <\oren\> Hehehe I would be a TERRIFYING pilot if I worked for an airline 06:50:08 they pretend that integers never overflow for the optimization of replacing 32bit counter values with 64bit values so that the cpu doesn't have to promote the value to 64bits every time on x64 06:50:36 as far as I can tell 06:50:53 Oooh, here's an idea 06:50:58 so code that works in 32bits might not work anymore if ints wrap 06:51:02 A language with both `odd' and `even' types 06:51:36 Also, I think languages with ADTs should have a `complex' keyword/ADT/whatever 06:51:57 At least in LLVM you could control type-based aliasing with more details, as well as doing other stuff that otherwise is messy or whatever in C, although there are some other problems with LLVM 07:10:28 \oren\: Depending on the implementations' other choices, there are two possible meanings of that. 07:10:35 It is either '\x80' or UB. 07:10:55 C doesn't say char is signed, C says char *may* be signed. 07:11:26 Also, char isn't necessarily 8 bits. :) 07:12:57 Also also, it's not just "technically": the spec literally says "signed overflow is undefined behavior". 07:13:14 It's not just a weird edge case, it spells it out for you that it is not defined behavior. 07:13:23 Just like the type aliasing rules. 07:14:09 I don't need signed overflow anyways in my programs generally, as I would use unsigned numbers in the cases where overflow wrapping would be useful anyways it would generally be more useful to use unsigned numbers in such cases. 07:14:38 Yeah. And C defines pretty exactly what unsigned overflow does. 07:15:46 char is like 07:16:00 it went signed on some places, unsigned on others, can't be fixed 07:16:08 everybody loses 07:16:11 Yup. So there's three variants of it. 07:16:19 There's signed char, unsigned char, and char. 07:16:22 You can explicitly set "signed char" and "unsigned char" when it cares 07:16:23 And now we're stuck with it. 07:16:25 it really should have been unsigned by default 07:17:00 But in some cases it does not matter if no arithmetic is being performed on it 07:17:01 I can think of one case for signed overflow 07:17:12 getting 0 when last bit is 0 07:17:20 Eh, for symmetry I would've preferred signed char to be default, but string literals to be unsigned char* (and all the C functions, and also the rule that char* can alias anything). 07:17:25 and 0xffffffff (-1) when last bit is 1 07:17:45 val << 31 >> 31 07:18:17 Bit shifting beyond the type's range like that on signed values is *also* UB. :) 07:18:29 how about decoding snes ADPCM 07:18:33 (4bit signed) 07:18:33 The reason is, well, frankly quite silly. 07:18:34 -!- centrinia has quit (Ping timeout: 260 seconds). 07:18:43 with overflow: nibble << 28 >> 28 07:18:51 C does not require implementations to have 2's complement arithmetic. 07:19:07 There are other ways to do sign extend anyways 07:19:09 ok please tell me what non-2's complement platforms are left 07:19:20 I didn't say it was reasonable. 07:19:26 I in fact said it was quite silly. 07:19:31 it's like 07:19:37 well, C supports ebcdic 07:20:07 But that's the reason. C quite specifically wants to support 1's complement and sign-and-magnitude arithmetic. 07:20:22 To be fair, there at least *are* users of C with EBCDIC. 07:20:25 Two's complement is the only mathematically reasonable way anyways 07:20:34 Which is utterly unlike the other sign representations. 07:21:33 I think char should be unsigned becaucause signed char is fairly rare imho 07:21:37 zzo38: You're correct about that, and I am damned glad that's what we settled on. 07:22:02 basically small numbers such as 8 bit sound sample data (which is unsigned usually but signed makes more sense) 07:22:17 I've also used signed 8 bit in like compressed FFT data 07:22:22 Much like how IEEE appears to be the only reasonable floating point representation. 07:22:31 mad: You could write "typedef unsigned char byte;" if you want to abbreviate unsigned char I guess, or else to use #define 07:22:34 IEEE has its quirks 07:22:38 (mostly due to being the only one with usable semantics) 07:22:45 mad: Sure, but the alternatives are worse. 07:22:50 zzo38 : uint8_t 07:23:05 mad: Yes or like that too 07:23:06 zzo38 : it's the one in that standard types header 07:23:12 stdint.h 07:23:23 yes stdint.h 07:23:24 <\oren\> just use -fwrapv 07:23:41 Which is also nice because if you compile on an utterly unreasonable system, your code just doesn't compile instead of running and failing horribly. 07:23:50 message to all people who use myLibSInt32 types and the like: use stdint.h 07:24:09 (reportedly there are such unreasonable systems, called "DSPs".) 07:24:12 Yeah, seriously. 07:24:23 pikhq: The case of floating points is different than the case of integers though. In the case of integers, two's complement is more mathematically correct, but in the case of floating point the representation isn't really mathematically correct but rather has certain properties of implementation, so it is different 07:24:27 Now that MSVC even supports it, there's literally no reason not to. 07:24:34 if you're on an unreasonable system, you're on a DSP and it's not like you're going to compile quake on that :D 07:24:55 or, like, arduino, which is 16bit C for some reason? 07:25:45 Two's complement is valid even for unbounded numbers 07:26:10 zzo38 : the real reason why IEEE is hard to beat is that it's what you can actually build in electronics 07:26:29 alternatives just don't translate into hw multipliers etc 07:26:54 -!- hppavilion[2] has joined. 07:27:05 although you could say that there's a practical alternative... "IEEE except all the slow values like inf nan denormals are replaced by 0" 07:27:29 mad: Yes, so there is the reason like that. What I have said is just that it isn't quite the same reason as I have described at first, although the reason having to do with electronics does help with both two's complement integers and IEEE floating point. 07:27:43 (The mathematical reason I described at first was only for integers though) 07:28:01 btw, have you read about unums v2 07:28:03 -!- j-bot has quit (Ping timeout: 264 seconds). 07:28:17 I don't know what that is 07:29:40 trying to find the paper 07:29:52 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 07:30:05 -!- John420 has joined. 07:30:17 http://www.johngustafson.net/presentations/Multicore2016-JLG.pdf 07:30:34 My own C programs are design for ASCII systems, although you might be able to run the program on EBCDIC systems by use of ASCII emulator I suppose; also by use of emulator you can even run program that use some feature not supported on the target system too in some cases. 07:30:59 v2 has fixed size numbers so it's a lot more reasonable... but: I'm pretty sure this doesn't scale to 16bit and 32bit numbers 07:31:20 ebcdic systems have 8bit bytes 07:31:50 if you simply ignore the platform's encoding then ebcdic disappears 07:33:45 If you don't rely on characters being particular numeric values, EBCDIC vs. ASCII doesn't really matter for most programs. 07:33:56 The big thing that causes issues is network programs. 07:34:34 TeX has stuff built-in in order to ensure that it will work with ASCII coding regardless of what coding the system it runs on uses 07:34:46 (FWIW, the '0' + x thing to get digits does work on EBCDIC. And *any* compliant C system, in fact. It's one of the few guarantees that C grants regarding the charset.) 07:35:38 I'm not even at that level of cross platformity 07:35:52 some of the code I've written has this in it: 07:36:05 #ifdef __BIG_ENDIAN 07:36:20 #error Code big endian support 07:36:22 #endif 07:36:35 Frankly, I just wish that the C spec would stop permitting utterly absurd implementations and require two's complement and UTF-8. 07:37:11 Allow me to grumble by listing the systems that people should care about that also don't do UTF-8: Windows 07:37:13 utf-8 libc in msvc would be a timesaver 07:37:15 I agree that it should require two's complement but should not require UTF-8 it should require ASCII (of which UTF-8 is a superset, so UTF-8 systems are compatible) 07:37:15 yes 07:37:23 like 07:37:32 the utf-16 stuff in windows is ridiculous 07:37:45 zzo38: I would be happy with only requiring UTF-8 if wchar_t supports anything beyond ASCII. 07:38:13 because of it we have a type that's typedefed to std::wstring on windows and std::string on osx 07:38:35 with conversion functions that do the whole utf16<->8 thing but are nops on osx 07:38:52 I don't like wchar_t anyways 07:39:18 wchar_t is useful in some cases 07:39:46 mostly string processing on languages that aren't english but don't have characters past utf-16 either 07:40:16 Note also that MSVC's implementation of wchar_t is non-compliant. 07:40:40 wchar_t is specified such that you can't have a code unit composed of two wchar_t's. 07:40:43 Yes, although my own opinion is that it should not be a built-in feature. 07:41:01 i.e. if you insist on having a 16-bit wchar_t, you are required by ISO C to only have UCS-2. 07:41:36 I wonder how many programs break if you give them >64k unicode chars 07:41:53 Depends. Probably a lot on Windows. 07:42:10 Not that many on Linux or OS X though; both of those have 32-bit wchar_t. 07:42:32 And programmers that mostly just go "eh, char's UTF-8. Whatever." and it all works. 07:42:57 reminds me of that program that used this library 07:43:11 I will implement my own UTF-8 parsing in programs that need Unicode, which is rare anyways. 07:43:21 libiconv 07:43:29 (In many cases just being 8-bit clean is good enough) 07:43:49 (And then it works with any kind of extended ASCII code which is compatible with ASCII) 07:43:56 problem: libiconv is lgpl 07:44:39 ... is only needed on Windows because Windows can't be assed to implement even the subset of POSIX that works reasonably in terms of Win32 semantics. 07:44:49 -!- John420 has quit (Ping timeout: 260 seconds). 07:45:25 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 07:45:35 the program in question used some obscure japanese encoding 07:45:44 as in: not sjis 07:45:51 (I mean seriously, not having strdup? Granted that it's a simple function, but WHY?!?) 07:45:55 EUC-JP? 07:45:59 Though that's not that obscure. 07:46:02 yes euc-jp 07:46:07 dude 07:46:22 most programs that support like every crazy encoding 07:46:27 do not support euc-jp 07:46:43 Weird. It's used pretty heavily on the Japanese web. 07:46:53 Not as much as Shift-JIS, but still. 07:46:57 to even read the comments in the freaking code I had to import it in, like, open office 07:47:38 *Granted* that you basically won't see it outside of websites and Unix systems with really obstinate admins, but still. 07:48:15 also like all the string constants 07:48:19 were in that encoding 07:48:31 It was probably an old Unix program. 07:48:47 and it did all sorts of weird conversions so I didn't want to touch it 07:48:57 sorta yeah 07:49:00 Prior to Unicode's popularity, all Japanese Unix systems used EUC-JP. 07:49:04 well 07:49:09 it supported 3 encodings 07:49:28 eucjp, sjis and utf8 07:49:46 except all the dictionary data had to be in the matching encoding 07:49:52 and all the input/output 07:50:14 and basically the win32 version had sjis data instead 07:50:23 but I didn't have the source to that 07:51:31 There is also my own text character encoding design which is called UTCE and is meant for terminal displays rather than for typesetting anyways. 07:51:44 also: no way that I'll trust source code encoding 07:52:08 Legacy encodings. Sigh. 07:52:17 in theory it should be 'as is' but I'm not testing it 07:52:43 well, usually for C++ code it's really just latin-1 07:52:49 which is really cp-1252whatever 07:52:56 I always write the source code in ASCII 07:53:27 Therefore avoiding the problem to consider whether it is Latin-1 or UTF-8 or PC or whatever else it might be. 07:53:41 zzo38 : Obviously you haven't had to encode a list of french words that don't have liaison into c++ code 07:53:55 A reasonable approach if you can get away with it. 07:54:05 Unfortunately, not all is English. 07:55:01 That is true I have not had to do that, although in such a case I may have used escapes and then the code would contain whatever is needed to deal with whatever encoding it uses anyways so can avoid it, or else to use an external file for the list of words in case it will be extended later on too 07:55:12 it's like... is the svn client going to decide to reencode behind my back or something? 07:55:17 what about xcode? 07:55:46 Yeah... Everything but UTF-8 can go die in a fire. 07:56:04 Especially things that aren't supersets of ASCII. 07:56:28 But really, all of the legacy charsets should just go away. 07:56:49 There are many problem with Unicode 07:56:55 I've actually used latin-1 encoding for a good part of the french processing stuff 07:57:01 so it's not totally useless 07:57:03 but... yeah 07:57:14 Latin-1, or as I prefer calling it, UCS-1. :P 07:57:23 windows cp-1252 07:57:30 is the real name 07:57:48 Windows 1252 though isn't quite ISO-8859-1 07:57:54 zzo38: Yes, but they are vastly outweighed by the problems of having a wide number of other incompatible charsets, some of which have the *exact same problems*. 07:58:06 yes, windows 1252 has useful chars from 0x80 to 0x9f 07:58:14 instead of more totally useless control characters 07:58:15 pikhq: That is true, some do have the same problem, and sometimes additional problems 07:58:24 I admit I'd like a nicer charset, but it's hard to say exactly how to get there. 07:58:34 But converting raw 8-bit data to UTF-8 is also same as converting ISO-8859-1 to Unicode. 07:58:47 And at least UTF-8 appears to mostly fit peoples' use cases and actually freaking work. 07:58:48 pikhq: Well I have made UTCE 07:59:01 zzo38 : except for the windows-1252 specific characters 07:59:09 -!- lambda-11235 has quit (Quit: Bye). 07:59:16 mad: Yes but then it isn't ISO-8859-1 07:59:33 if it's labeled as latin-1, it's not latin-1 07:59:40 it's really windows-1252 07:59:49 That's actually in the HTML-5 spec. 07:59:59 Which... matches real-world usage, as much as I hate it. 08:00:03 nobody actually uses the 'real' latin-1 with the 32 control characters 08:00:24 (You can convert UTCE to/from Unicode, although it is lossy either way, due to each missing characters of the other, some characters being ambiguous, and character widths sometimes differing) 08:00:25 because who the hell needs control characters 08:00:56 I use ASCII control characters in some applications, although that won't cause a problem with the C1 controls anyways since they aren't really ASCII 08:01:04 and basically they forgot œ in latin-1 08:01:20 so they snuck it into cp-1252 08:01:43 mad: That is a good correction yes, but it doesn't make it real ISO-8859-1 08:01:53 zzo38: The ASCII control characters will basically work regardless because, uh, I think everyone agrees on 'em. 08:01:54 nobody uses the real iso-8859-1 08:01:57 Even if ASCII doesn't. 08:01:58 :) 08:02:00 it's not a valid encoding 08:02:08 nobody wants it 08:02:57 Pretty much. 08:03:30 OK, although the command "utftovlq 81" converts raw 8-bit data to UTF-8, which in terms of Unicode text is converting the real ISO-8859-1 into Unicode so that is what it does, whether you want it to or not (you can use an external table to use custom conversion codes though) 08:03:57 it will break the day some guy writes œ in the text 08:04:28 Unless the program is being used incorrectly, it won't. 08:04:35 or € 08:04:51 like, if you have 8-bit data 08:05:05 from western european languages 08:06:20 the one situation that it happens is that it's the default 8-bit encoding for these languages since basically forever 08:06:33 that encoding is cp-1252 08:06:35 The encoding "8" of utftovlq corresponds to raw 8-bit data and does not propose specific meanings to it. If you want specific translations such as CP-1252 then you should use the "T" encoding type instead, in which case you will need to provide the encoding table file. 08:06:58 mad: Well, not "forever"... 08:07:12 Admittedly, the one they had before it is an old DOS codepage that *nobody* uses anymore. 08:07:18 right 08:07:22 Therefore trying to use "utftovlq 81" to convert Windows-1252 to Unicode is wrong 08:07:50 I use the PC character set though sometimes, such as when I need 8-bit text, though 08:07:54 zzo38 : so it only encodes stuff that uses the first 256 unicode codepoints 08:08:00 which is an encoding that nobody uses 08:08:19 pikhq : right, though that was tailored to different needs :3 08:08:32 gotta have all those box drawing characters 08:09:21 mad: It does not actually impose that the UTF-8 data is Unicode codepoints either; it just treats the data as a list of 36-bit unsigned integers. 08:10:06 However the code types "u" and "U" are UTF-16 and deal with surrogates properly. The code types "w" and "W" however are raw 16-bit data, not UTF-16. 08:10:36 anyhow 08:10:44 -!- J_Arcane has quit (Ping timeout: 244 seconds). 08:11:08 Therefore "utftovlq u1" will convert Unicode text from UTF-16 to UTF-8. If you instead write "utftovlq w1" you will get what is called CESU-8. 08:12:43 (Note however that "utftovlq 1u | utftovlq u1" will convert any Unicode text in UTF-8 that happens to be CESU-8 into proper UTF-8, while leaving proper UTF-8 as is, so the input may be mixed.) 08:14:32 -!- J_Arcane has joined. 08:15:10 I wonder if it would be possible to have a system that draws letters from the general characteristics of the font, rather than having a vectorial contour for each letter 08:15:51 so that if you had, say, a weird cyrillic letter in the text in chechen or something, it would automatically figure out how to do it in the style of the font 08:16:25 like you'd say "this is how a vertical stroke with serifs is done" and it would automatically combine strokes 08:16:43 <\oren\> Oh. I think that exists for chinese 08:16:45 Something like METAFONT can do similar things but would require the font to be precompiled anyways 08:17:38 If you modify the "vertical stroke with serifs" subroutine and then recompile it then you can get the version with different styles. 08:18:40 -!- tromp has joined. 08:22:26 So, such things already exists 08:23:19 -!- tromp has quit (Ping timeout: 260 seconds). 08:24:03 (It is sometimes said that METAFONT does not do outlines and only does drawing with pens of specified shapes; actually it can do both.) 08:28:32 -!- hppavilion[2] has joined. 08:41:50 -!- mad has quit (Quit: Pics or it didn't happen). 08:46:30 This sentence contains "this sentence" twice. 08:47:24 -!- j-bot has joined. 08:59:08 -!- bb010g has quit (Quit: Connection closed for inactivity). 09:03:32 This sentence contains "This sentence contains "This sentence contains "This sentence contains "This sentence contains " 09:08:28 This sentence isn't not false. 09:09:16 Bananas dananas. 09:09:54 -!- AnotherTest has joined. 09:19:58 -!- tromp has joined. 09:24:47 -!- tromp has quit (Ping timeout: 260 seconds). 10:38:15 -!- carado has quit (Quit: Leaving). 11:05:33 -!- Reece` has joined. 11:28:04 -!- dos has joined. 11:31:12 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 11:36:31 -!- Reece` has quit (Read error: Connection reset by peer). 12:17:43 -!- Phantom_Hoover has joined. 12:28:45 -!- idris-bot has joined. 12:29:17 -!- hppavilion[2] has joined. 12:32:16 -!- dos has quit (Ping timeout: 264 seconds). 12:32:16 -!- j-bot has quit (Ping timeout: 264 seconds). 12:52:26 -!- dingbat has quit (Quit: Connection closed for inactivity). 12:57:29 -!- J_Arcane has quit (Ping timeout: 244 seconds). 12:59:12 -!- J_Arcane has joined. 13:00:58 -!- j-bot has joined. 13:08:18 -!- FreeFull has joined. 13:08:30 -!- me4 has quit (Ping timeout: 276 seconds). 13:19:14 -!- boily has joined. 13:21:33 -!- tromp has joined. 13:21:38 hmm, cleaning up my tmp folder... http://int-e.eu/~bf3/tmp/yesno.png is still brilliantly bad 13:26:42 -!- tromp has quit (Ping timeout: 276 seconds). 13:28:37 what is the "smallest" logic that differs between "alice likes dogs" and "alice likes every dog"? 13:31:34 int-ello, mynamello. 13:31:36 i.e. forall x: dog(x) => likes(alice,x) would be the later, but not the former 13:42:25 . o O ( propositional logic... just assign true to "alice likes dogs" and false to "alice likes every dog" ) 13:42:39 :-P 13:43:02 I can't answer the actual question. 13:44:00 i may need to use something like: forall x: dog(x) => possibly likes(alice,x) 13:48:10 or just some kind of class/instance concept. forall x: instance(x, dogs) => likes(alice,x) vs. likes(alice, dogs) 13:48:49 (downside: you can't easily intersect classes... say, speak about yellow dogs) 13:49:21 but you can circumvent the problem of constructing a "typical" instance... or whatever it is that "alice likes dogs" really talks about. 13:50:58 dog(x)vis oretry much the same as instance(x,dog) 13:51:24 currently i translate yellow dog as dog(x)&yellow(x) 13:56:25 perhaps one can toy with a Bourbaki style operator... likes(alice, TYPICAL x. dog(x))) 13:57:42 i thought about something like that, but i guess that is equally bad to proove as is possiblygnecessarily 13:58:55 Grrr... "monetizing" URL shorteners are awful. 14:00:02 (Most of the link spam I see on IRC these days uses them.) 14:00:44 don't click on linkspam hth 14:00:54 monetizing? how can you monetize an URL itself? 14:01:05 adfly 14:01:35 khey, you want to open page x, thatjs fine. here is an app before i will put you there" 14:01:40 The URL shortener has a trampoline page that displays ads. The person who shortened the link gets a share of the resulting profit. 14:02:05 Hmm, installing an App is even better. 14:02:45 Anyway, it's one of those business models that only complete assholes would come up with or run... so there's a ton of these sites around. 14:03:15 yuck! 14:03:32 it's not as bad as these "want to see more nudes? make 2 million other people click this link" 14:03:51 I disagree, it's just as bad as that. 14:04:39 * boily drinks more coffee to cleanse his mind off of these atrocities 14:07:04 i get mich less spam from these adfly thingies 14:18:13 -!- iconmaster has joined. 14:23:40 `relcome iconmaster 14:23:43 i remember when minecraft modders started trying to monetise adfly 14:24:07 ​iconmaster: 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 EFnet or DALnet.) 14:24:37 and when people started pointing out "this site is known to serve malware, we're not using it" they started massive drama and started making public blacklists and shit 14:26:51 -!- boily has quit (Quit: POCKET CHICKEN). 14:26:56 huh wha 14:27:36 Nice new colors, boily 14:28:11 And yeah, I recall that whole adfly thing, Phantom_Hoover. Hated the site. Glad people use CurseForge more these days. 14:39:35 new colors? 14:39:48 oh, `relcome 14:40:12 (I don't see those) 14:57:05 -!- jaboja has joined. 15:08:37 -!- picobit has joined. 15:16:28 -!- J_Arcane has quit (Ping timeout: 244 seconds). 15:34:27 -!- J_Arcane has joined. 15:35:00 -!- j-bot has quit (Remote host closed the connection). 15:35:10 -!- j-bot has joined. 15:51:02 -!- carado has joined. 15:57:27 -!- lleu has joined. 16:05:23 `quote 16:05:24 `quote 16:05:25 `quote 16:05:26 `quote 16:05:27 `quote 16:05:50 ....lovely spam, oh wonderful spam... 16:06:45 1213) I got my girlfriend through the previous job's intranet IRC channel, so I don't see how the two can conflict... 16:06:46 689) fungot: Yeah, "fungott" would [...] remind people of elliott. fizzie: now that could be nice for a simple language can be used 16:06:46 4) GKennethR: he should be told that you should always ask someone before killing them. 16:06:46 161) Vorpal loves the sodomy. elliott, sure why not 16:06:46 1037) would not be surprised to find out this tumblr is guerilla marketing by wolfram co to sell mathematica to stoners 16:08:32 `addquote `quote `quote `quote `quote ....lovely spam, oh wonderful spam... 16:08:39 1275) `quote `quote `quote `quote ....lovely spam, oh wonderful spam... 16:09:23 I should've said it 5 times. 16:10:36 (or better, quote 5 different lines of that skit) 16:10:45 1213 lacks context 16:12:05 Does it? My interpretation is that the conflict is between the girlfriend and IRC. 16:16:04 -!- tromp has joined. 16:17:15 -!- Reece` has joined. 16:21:27 -!- jaboja has quit (Ping timeout: 264 seconds). 16:24:25 -!- p34k has joined. 16:29:30 -!- lambda-11235 has joined. 16:31:12 -!- iconmaster has quit (Ping timeout: 260 seconds). 16:39:24 -!- oerjan has joined. 16:49:08 -!- iconmaster has joined. 16:49:15 -!- ineiros_ has quit (Read error: Connection reset by peer). 16:51:35 abridged context: Don't worry, all that happens when you hit 20 is you start IRCing less. pikhq: what could possibly be a more important use of time, after all? * pikhq looks at girlfriend I got my girlfriend through the previous job's intranet IRC channel, so I don't see how the two can conflict... pikhq: only an amateur lets that interfere with IRC time. 16:52:54 -!- earendel has quit (Quit: earendel). 16:54:09 this is nice too... I'm completely drained, only a hollow shell of my past self. 16:54:42 -!- izabera has quit (Ping timeout: 276 seconds). 16:56:36 -!- gamemanj has joined. 16:56:51 I really need to get a cloak. 16:57:07 Then I can go all around the world, every day... 16:57:50 -!- tromp has quit (Remote host closed the connection). 16:58:10 I would expect you would need more than a cloak to do that 16:58:21 * gamemanj points at the channel topic 16:58:58 -!- oerjan has set topic: Quite puzzling | The international hub of esoteric programming language and kitten typesetting | logs: http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D | http://esolangs.org/ | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf | Note: people with cloaks will be treated as if they're from Chennai (not Madras). 16:59:02 ... 17:00:08 PROBLEM? 17:00:45 No, but I do wonder why on earth a Poetic Rock Orange Belated Linden Entity Master would exist in the first place. 17:00:57 next up, St Petersburg (not Leningrad) 17:02:54 How far ahead have you planned this? 17:03:07 not very far 17:04:47 is Beijing (not Peking) acceptable, it's just a transcription difference... 17:05:15 I'm wondering what on earth the general format is... 17:05:46 Judging by the "just a transcription difference", though, you're selecting a place, then a place that is nearby or something. 17:05:46 well it started when someone else put Istanbul (not Constantinople) there. you might reason from that. 17:06:26 One google search later... 17:06:32 So, renamings. 17:07:01 Chemnitz (not Karl-Marx-Stadt) 17:07:09 London (not Londinium) 17:07:09 int-e: ooh, good one 17:07:26 gamemanj: nah a bit close. Paris (not Lutetia), maybe. 17:07:40 * oerjan knows about that because Asterix 17:08:29 i think this could go on for a while. 17:09:01 Well, after parroting what little I know from history, I checked a wikipedia list. The full mess is: Londinium → Lundenwic → London 17:09:15 Lundenwic sounds a bit further... 17:09:20 oh Tokyo (not Edo) 17:09:59 gamemanj: well those all are descended from each other, is what i mean. 17:10:06 Ah, I see. 17:10:19 Well, since I have the cheat-sheet up anyway... 17:10:58 hm beijing has had other more distinct names 17:11:02 York (not Eburacum) 17:11:15 "Beijing, as Jicheng, was briefly the capital of the Xianbei Former Yan Kingdom." 17:12:10 _lots_ of distinct names, apparently. 17:18:24 https://en.wikipedia.org/wiki/Names_of_Beijing#Historical_names_of_Beijing 17:21:04 -!- izabera has joined. 17:22:49 huh what? 17:23:00 b_jonas: what what? 17:23:06 shachaf: what did you pbflist for? http://pbfcomics.com/ doesn't show a new strip 17:23:56 helloerjan 17:27:51 b_jhellonas 17:28:21 I guess brand names would be too easy. (Audi, not Horch... famous pun...) 17:30:00 `quote itidus21 17:30:03 630) myndzi\: ok so one of the nastiest puzzles i suppose is... you're on death row.. you don't want to die. \ 678) the possession of diamonds by the bourgeois is more about establishing their bourgeoisness more than wanting a malleable metal oops i forgot i said diamonds instead of gold \ 688) ok in oth 17:30:50 `` quote itidus21 | shuf 17:30:53 751) you are like the linux torvalds of quiz engines \ 789) and all this time I thought we were talking about postmodern analysis of junk mail delivery methods and simulations of elephant breeding patterns \ 774) world peace is for fascists \ 771) elliott___: we have been calling a book new for 2000 years 17:34:35 Carbon, now in Metal form! 17:34:42 Get yours today! 17:37:49 -!- tromp has joined. 17:57:31 -!- osboxes has joined. 17:59:11 `` quote itidus21 | wc -l 17:59:13 15 17:59:18 today carbon, tomorrow helium 18:00:21 hmm all I could find is this rather old news... http://phys.org/news/2013-11-three-dimensional-carbon-metallic.html 18:00:38 int-e: me too 18:02:07 -!- osboxes has quit (Quit: Leaving). 18:02:51 int-e: um, isn't that just graphite? if I understand correctly, graphite is when each carbon atom uses three of its electrons for covalent bonds to form a planar hexagonal grid of all carbon atoms, and donates one electron for a metallic bond that ties the sheets together. how is this different? 18:04:09 ah, I see, it's a stronger version with the three covalent bonds already tying together the whole thing, but all theoretical because they don't know how to synthetize. 18:04:46 like those magical really tiny solid state memory thingies that are impossible to manufacture short of assembling it atom by atom 18:05:06 * oerjan [citation needed]s gamemanj 18:05:42 b_jonas: yeah, not in particular that the red C atoms have 4 bonds 18:06:00 so it's a really funny structure 18:06:07 oh! 18:06:16 but that makes it even worse, doesn't it? 18:06:29 * oerjan currently playing tatham's slant puzzle 18:06:32 I mean, it would have less metallic electrons, so it would be a worse conductor probably 18:06:58 -!- ^v has quit (Ping timeout: 244 seconds). 18:07:01 it's not very hard any more, so it somehow becomes a speed challenge. 18:07:43 don't trust me though, I'm not a chemist. ais523 is the channel chemist. 18:08:22 * oerjan once aced the highschool chemistry exam. but that was also the last time he really touched it. 18:09:48 oh, I aced a few of those too, because they were usually choose-an-answer tests from a single book, so we just cheated by using a key for that book 18:09:58 but that doesn't make me a chemist 18:10:01 this was an oral exam 18:10:06 ah 18:10:09 that's more difficult 18:10:22 b_jonas: I couldn't say... there should be enough free electrons around. 18:10:24 my first ever 18:10:33 felt pretty good as i recall 18:10:34 our chemistry lessons were so random I've got all possible grades 18:10:53 oerjan: nice 18:11:36 so much pressure... 18:12:03 all possible? including A minus 82.47655 recurring, with potential bias 28.01GU? 18:12:43 gamemanj: that may not be a possible grade hth 18:12:50 "may" 18:13:18 that implies it's something which could be called into question, it's definitely not a possible grade 18:14:13 gamemanj: well i'll admit it's probably a possible grade in some hypothetical universe hth 18:14:46 a _very_ pedantic one. 18:26:18 -!- oerjan has quit (Quit: Later). 18:27:00 -!- picobit has quit (Ping timeout: 276 seconds). 18:38:23 -!- dingbat has joined. 18:44:14 -!- tromp has quit (Remote host closed the connection). 18:46:28 -!- atrapado has joined. 18:52:09 -!- Sgeo_ has quit (Ping timeout: 260 seconds). 18:53:32 -!- Reece` has quit (Ping timeout: 260 seconds). 19:08:51 -!- earendel has joined. 19:09:23 Since I have the boom of PC Technical Reference then possibly I can make up a program to emulate the IBM printer of PC. 19:10:07 My calculation is that the DVI units for this program should probably be 1/11880 inch (which is coarser than TeX) 19:11:17 Do you like this? 19:13:37 zzo38: um, I don't really understand what you're saying 19:14:01 why are the DVI units 1/11880 inch? 19:14:34 Since that divides all measurements needed to emulate it, as far as I can tell from the documentation of the printer 19:15:31 I see 19:16:41 Do you know about the IBM printer codes? I have the book of it so hopefully I can implement it. 19:17:23 zzo38: I know a little bit, because I've had an Epson matrix printer when I was young, and the manual for it, and I think it's a bit similar 19:17:55 Yes; I have also read Epson manual and from the IBM printer document it seems that the Epson is a superset of the IBM codes. 19:20:23 -!- picobit has joined. 19:20:55 The Epson matrix printer can print formatted text with built-in or uploadable fonts, as well as bitmap graphics. It has nine pins offset iirc about one postscript point from each other, can move the paper vertically with a resolution of half of that, horizontally the points are about one postscript points wide on the paper, but it can use various higher horizontal resolutions for moving the head horizontally, with a max resolution perhaps 1/360 inch. 19:21:21 zzo38: yes, Epson deliberately put an IBM printer compatibility mode in their printer. 19:21:44 -!- lambda-11235 has quit (Quit: Bye). 19:23:18 Oh, but where it's the most obvious that it's derived from IBM is that its ROM fonts are cp437 encoded, and it gives a way to access all 256 characters of that encoding, even the control characters. 19:27:02 I think you mentioned the IBM printer codes earlier on this channel. 19:27:38 "1/11880 inch"... that's pretty small 19:27:55 can someone translate into millimet(er|re)s? 19:28:13 gamemanj: it's not that small, it's only 1/165 postscript points 19:28:33 ah the days of "near letter quality" 19:28:38 oh, millimeters? it's 0.002138 millimeters 19:29:36 b_jonas: I don't think I'd seen the latest one before. 19:30:02 That's TINY! How am I supposed to use people with pencils to draw out a DVI file if the units are that tiny??? 19:30:26 shachaf: is "Adam 2.0" http://pbfcomics.com/274/ the latest? maybe I'm getting something wrong 19:30:34 I had a great plan! It involved biscuits! And people! With pencils... 19:30:44 * gamemanj quietly sobs in the corner 19:30:52 b_jonas: Yes, that one. 19:31:04 I recall a 9 pin printer that offered up to 240 dpi horizontally and 216 dpi vertically (with pins spaces 1/72in apart) 19:31:47 I don't recall any horizontal 360 dpi resolution... but it was a Citizen (cloning some Epson)... 19:31:53 int-e: that could match what I said about the Epson printer, because I don't quite recall the details 19:32:02 and I don't have the manual here 19:32:27 (Seriously, though, 0.002138mm is tiny. Go take out a ruler, and look at the size of a millimet(re|er). Now divide that by 500 or so. Ow.) 19:32:30 In any case, you'd probably need units smaller than that horizontally to represent a mixture of the various resolutions. 19:33:20 sure. 19:33:20 gamemanj: ^ the printer doesn't have that much resolution, that's just the unit you need for a representation of what it can print in an ideal model 19:33:47 Yay, so the world is sane!...now why on earth would even an ideal representation need to have that much resolution? 19:34:03 gamemanj: I don't know, ask zzo 19:44:46 -!- tromp has joined. 19:45:39 b_jonas: where did yo get that 11880 number? 19:47:22 b_jonas: more to the point, consider this: http://sprunge.us/GYXd (from http://www.ctan.org/pkg/dvitype) 19:49:23 int-e: “ My calculation is that the DVI units for this program should probably be 1/11880 inch (which is coarser than TeX)” 19:49:33 -!- tromp has quit (Ping timeout: 276 seconds). 19:49:39 ah, sorry. 19:51:25 TeX uses its own internal sp ("scaled point") unit, of course. 19:52:07 int-e: yes, and that's iirc 2**(-16) real point 19:52:38 where a "point" is 1/72.27 inch. 19:52:54 yes 19:53:39 and a postscript point (named so beacuse postscript uses it as the unit in the original coordinate system before transforms) is 1/72 inch 20:03:38 gamemanj: It is possible for a DVI file to have larger units; the units used in the file are defined in the header. The reason you need that much resolution of 1/11880 inch for this purpose is because you cannot have separate horizontal and vertical units. 20:04:08 ...so? 20:04:18 zzo38: ok, but still, how did you get 1/11880 in particular? 20:04:45 (b_jonas is wondering on the specifics of the value, it seems - I'm wondering why it's so small.) 20:05:11 zzo38: you can have different units in DVI? Is that what \magstep does in TeX? 20:05:29 Vertically the IBM printer uses line spacing of 1/72 inch but it uses 1/216 inch for double printing. Horizontally it can have 10 character per inch, 5 per inch, 16.5 per inch, or 8.25 per inch. 20:05:58 b_jonas: No, TeX always uses the "scaled points" units. DVI however supports different units 20:06:17 zzo38: ok 20:06:26 (Given in the header as a fraction of decimicrons, with 32-bit numerator and 32-bit denominator) 20:06:28 zzo38: so you found a very large number that fits all of these units? 20:06:50 gamemanj: Yes, that is what I did. 20:06:58 "decimicrons" -- um, that's 10**-5 meters, right? 20:07:01 what a strange unit 20:07:08 strange name I mean 20:07:21 Strange unit, strange name, both are accurate. 20:08:27 gamemanj: nah, after computer software apis measuring time in each of 1, 10**-1, 10**-2, 10**-3, 10**-6, 10**-8, 10**-9 seconds, I don't find any power of ten strange. 20:09:24 And with different epochs, I'm guessing? 20:09:42 <\oren\> Why not measure in 60^-n seconds 20:10:24 1460833804 time goes really slowly! 20:12:01 Huh. I missed a Digit 3 event by 9.6508101851852 days. *sigh* I'm always late to everything... 20:12:46 \oren\: base 60 was very popular back when the ancient babylonians and arabs made calculations, but these days it's out of fashion and everyone uses powers of 2 and powers of 10 20:13:19 But what about powers of 3? 20:13:39 -!- rdococ has quit (Quit: I have to go :c). 20:14:34 Z-machine uses deciseconds for timeouts, probably because the terminal control interface for UNIX uses deciseconds for input timeouts too. 20:14:40 hmm, was this jeans so dark before I put it in the washing machine? 20:16:38 <\oren\> did you put it in the same machine as some black socks? 20:16:41 b_jonas: I can't tell, your client doesn't support active jeans monitoring. 20:19:39 (An awkward silence hangs over the room for two minutes.) 20:19:47 s/two/three/ 20:22:27 -!- Reece` has joined. 20:37:13 -!- centrinia has joined. 20:37:19 -!- J_Arcane has quit (Ping timeout: 244 seconds). 20:38:52 -!- J_Arcane has joined. 20:44:06 TIS-100 is an interesting game. 20:49:01 "'Tis so." 20:49:46 TIS-100, or "Semi-esoteric programming, now on Steam!" 20:50:03 TIS-100, or "we're wasting processing power just buffering values" 20:50:19 Oh, we're de-fungotted again. 20:50:23 TIS-100, or "Timing is everything." 20:50:54 -!- fungot has joined. 20:51:03 Fungot! You're back! :D 20:51:08 TIS-100, or "I wish I had a stack." 20:51:14 ...fungot? 20:51:14 gamemanj: or make the x procedure be a parameter to make. instead of applying ep1 later we're going to get 20:51:18 Yay! 20:51:28 picobit: A stack? Who uses a stack, nowadays? 20:51:28 picobit: It's a bit case-sensitive. 20:51:41 * gamemanj smiles at fizzie 20:52:04 Uh, wrong person. Anyway. 20:52:13 gamemanj: me. the Forth-loving dude. :P 20:52:25 (Unless TIS-100 is case-sensitive, in which case, nevermind, ignore me) 20:52:46 No, 'tis was about 'got. 20:53:02 Also it has those stack nodes. 20:53:27 And fungot is also big on stacks, I'd guess. 20:53:27 fizzie: they generally prefer self evaluating! what a great verb would be a 20:53:41 TIS-100 has stack nodes? 20:54:07 Yes. Those separate stacks you send values to. 20:54:14 not that far in the game yet. 20:54:17 With a limited size. 20:54:19 (just bought it) 20:54:27 Well, you'll meet them. 20:54:31 cool. 20:54:44 They're as inconvenient as everything else in that game. 20:54:46 I was never much of a fan of "array processors" like this. 20:54:53 you spend more time routing values around than anything. 20:56:11 TODO: give picobit an FPGA 20:56:12 Protip: "JRO LEFT" (or any other direction) is super-handy. 20:56:18 gamemanj: already done. :P 20:56:57 It's (again) inconvenient when editing since you can't use labels for the offsets, but often saves a lot of space. 20:57:23 really reminds me of the green arrays 144. 20:57:45 Inconvenience is key. 20:57:49 Yeah, I've wondered whether that was an inspiration. 20:57:51 Otherwise it wouldn't be hard, would it? 20:58:23 still, not much of a fan. I'd rather a sort of "ring" pipeline. 20:58:38 where you can pick things off at will. lends itself better to asynchronous logic too. 20:58:52 The most convenient game is written in one line of shell script, and the line starts with "echo ". 20:58:54 -!- Vorpal has quit (Remote host closed the connection). 20:59:02 -!- XorSwap has joined. 21:05:08 -!- copumpkin has joined. 21:12:35 -!- boily has joined. 21:13:25 -!- gremlins has joined. 21:14:42 -!- Reece` has quit (Ping timeout: 260 seconds). 21:22:15 -!- centrinia has quit (Ping timeout: 244 seconds). 21:28:37 I should buy prog.io 21:28:44 And make a codewars-like game 21:28:51 s/codewars/corewar/ 21:31:50 -!- Reece` has joined. 21:32:09 -!- boily has quit (Quit: TABULAR CHICKEN). 21:33:22 -!- gremlins has quit (Ping timeout: 260 seconds). 21:34:17 Idea: programming roguelike 21:34:19 Called Progue 21:34:43 Taneb: Oooh 21:34:55 Taneb: We need a computational class called "C-Complete" 21:35:22 That'd... just be a large finite state automaton 21:35:26 Where it's TC aside from memory limitations, but the memory may be arbitrarily large-but-finite 21:35:32 Taneb: See ^ 21:35:56 That's a fairly useless computation class 21:36:06 So it's not TC, but it can perform any finite-memory computation given a properly-sized machine 21:36:08 It's "Is at least as powerful as a finite state automaton" 21:36:22 Taneb: It's not useful for theory, but it's good for discussing languages 21:36:28 hppavilion[2]: Would BytePusher fall under that? 21:36:32 Taneb: C is not TC, but its memory has no bounded size 21:36:46 hppavilion[2], yes it does 21:37:06 Taneb: I mean that the size is bounded for a given implementation 21:37:17 Taneb: But C in general doesn't have a baked-in memory bound 21:37:23 gamemanj: No, but an arbitrary WordWordJump machine would 21:37:38 `wisdom 21:37:39 gamemanj: WordPusher, which is BytePusher with a CPU other than ByteByteJump 21:37:44 utumno/Utumno is Morgoth's first dungeon. It is where he was defeated, and the Silmarils temporarily reclaimed from him. 21:37:56 gamemanj: WordPusher is a class of machines, while BytePusher is a single machine 21:38:07 `wisdom 21:38:08 universal property/Universal properties are the best. 21:38:19 `? free 21:38:20 free? ¯\(°​_o)/¯ 21:38:22 Is that a joke? 21:38:40 `wisdom 21:38:42 thwackamacallit/A thwackamacallit is like a whatchamacallit, but more painful. See mapole. 21:38:45 ... 21:39:01 Why did I ask of the pool of wisdom 21:39:16 `slashlearn free/A free structure is one that has no nontrivial identities, except algebraist phrase that in a much fancier way with morphisms. 21:39:19 Learned «free» 21:39:20 gamemanj: Because wisdom is never wrong 21:39:22 `? free 21:39:23 A free structure is one that has no nontrivial identities, except algebraist phrase that in a much fancier way with morphisms. 21:39:23 `? wisdom 21:39:24 wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, an ø? 21:39:26 `? mapole 21:39:29 A mapole is a thwackamacallit built from maple according to Canadian standards. The army version includes a spork, a corkscrew and a moose whistle. A regulatory mapole measures 6' by 12 kg, ±0.5 inHg. 21:39:30 b_jonas: See 21:39:36 hppavilion[2]: which one is a joke? 21:39:43 `` ls wisdom/ø* 21:39:45 wisdom/ø \ wisdom/øl \ wisdom/ørjan 21:39:56 b_jonas: Universal Properties 21:40:04 `? ø 21:40:06 ​ø is not going anywhere. 21:40:08 b_jonas: Is its `wisdom itself a universal property? 21:40:10 ``` find wisdom -iname "*hpp*" 21:40:11 wisdom/hppavilion[42] \ wisdom/hppavilion1 \ wisdom/hppavilion[1] 21:40:21 `? hppavilion[1] 21:40:21 hppavilion[1] se describe en las notas al pie. ¿Porqué no los dos? Nadie lo sabe. 21:40:25 `? hppavilion[42] 21:40:26 hppavilion[42] is the awesomest person you will ever meet. Much awesomer than oerjan. 21:42:07 `? hppavilion1 21:42:08 higgledy piggledy / hp pavilion / doesn't like jokes that are / written in text; // uncontroversially, / one in a million is / roughly the chance they won't / be left perplexed 21:42:54 `le/rn hppavilion/hppavilion is the generator including, but not limited to, hppavilion[1], hppavilion[2], and hppavilion[42]. hppavilion is of length 37-42i-28j+4k-28ij+38ik+62jk+20ijk 21:42:57 Learned «hppavilion» 21:43:31 For those wondering, '+'.join([str(random.randrange(-42, 69))+suff for suff in ['', 'i', 'j', 'k', 'ij', 'ik', 'jk', 'ijk']]).replace('+-', '-') 21:44:04 hppavilion[2]: huh... is that python or something? 21:44:07 b_jonas: Yes. 21:44:40 A language called Garfield that emphasizes lazy evaluation, generators, iterators, etc. 21:44:50 (A practical language, that is) 21:44:59 wait, .replace('+-', '-')? doesn't python just have format('{+d}',n) or something? 21:45:00 -!- gamemanj has quit (Ping timeout: 244 seconds). 21:45:17 b_jonas: It might, but I don't know the format notation 21:45:32 ok 21:47:47 b_jonas: Does garfield sound like a good language? 21:49:07 does garfield execute on mondays? 21:50:12 myname: Garfield's time libraries don't even have a concept of mondays 21:50:55 myname: The metaphor stops at lazy evaluation 21:55:10 lasagna dhould be a primitive 21:56:10 myname: It's a serious language to /some/ degree 21:57:04 :( 21:57:31 myname: Well /sorry/ 22:02:27 -!- dingbat has quit (Quit: Connection closed for inactivity). 22:16:21 zip(d) := {k:v for k, v in d} 22:18:34 myname: It appears that Garfield is largely declarative 22:18:35 -!- XorSwap has quit (Ping timeout: 244 seconds). 22:23:16 -!- earendel has quit (Quit: earendel). 22:30:25 I read that at least thrice as "Garfield is largely decorative". 22:31:46 I thought that's John 22:35:37 I also thought it was referring to a language called Garfield that had nothing to do with the comic strip. 22:36:05 And this swipey keyboard can't spell strip. 22:36:48 It keeps doing syrup, step, strop, etc. 22:37:08 . o O ( classic Garfield... this was as funny as it got... http://www.gocomics.com/garfield/1978/06/19 ) 22:37:37 (I'm kidding. One or two of the later strips are funnier than that.) 22:37:38 * int-e runs 22:38:22 I wonder if you could train a Markov generator to try to write Kányádi Sándor poems 22:39:05 I think I used to read Garfield steps... stripe... steps... syrups... steps... whatever in some magazine. 22:39:53 what is wrong with that keyboard? 22:40:06 are you on some touchy mobile device? 22:40:11 fizzie: probably strip is a dirty word 22:40:34 I think it would be much easier to make the output superficially similar than if you tried to imitate Arany János or Weöres Sándor poems. 22:40:51 (No, I don't mean to say his poems are bad. Just different.) 22:44:58 int-e: It's an Android phone, right. 22:45:30 I think maybe there was a content filter option in the settings. 22:46:05 -!- tromp has joined. 22:47:03 Also I think the swipe algorithm only looks at the shape and not the timing, so there's no way to indicate the difference between "strip" and "strop", the latter of which it deigns to type. 22:48:43 You should be allowed to type both words and also to be able to type any word you make up by yourself too 22:49:28 fungot, can you imitate Kányádi's poems? 22:49:29 b_jonas: bad joke. i typed " not me. it's obvious he's not a lunatic. ;d 22:49:32 zzo38: It pulls up a selection of words from the dictionary and just defaults to picking what it thinks is the likely one. 22:49:43 I turned off the "block offensive words" option, but it still doesn't want to strip. Wait. It did. 22:49:44 that was somewhat approperiate 22:49:51 ... Also, IIRC it lets you add words to the dictionary pretty easy. 22:50:41 However using a proper keyboard would be better than using touch-screen anyways. 22:50:51 -!- tromp has quit (Ping timeout: 264 seconds). 22:50:54 pikhq: It was in the dictionary all the time at least according to spellcheck -- at least it wasn't underlined in red. 22:51:02 *shrug* 22:51:05 zzo38: True. 22:51:07 -!- atrapado has quit (Quit: Leaving). 22:51:16 -!- bb010g has joined. 22:51:45 I have a relatively reasonable Bluetooth keyboard for this, but left it at home_2. 22:52:08 -!- Marcela_Gandara has joined. 22:55:03 -!- Reece` has quit (Read error: Connection reset by peer). 23:01:26 -!- dos has joined. 23:02:14 -!- p34k has quit. 23:02:31 -!- lambda-11235 has joined. 23:03:32 -!- hppavilion[2] has quit (Ping timeout: 244 seconds). 23:05:33 I want to write a compiler. Should the language be LISPy or something Cish? 23:06:27 dos: Either way would work. I can suggest to be like LISP 23:07:16 zzo38: OK 23:07:19 -!- dos has changed nick to hppavilion[1]. 23:10:32 -!- Marcela_Gandara has quit (Read error: Connection reset by peer). 23:11:40 -!- Marcela_Gandara has joined. 23:12:13 -!- AnotherTest has quit (Quit: ZNC - http://znc.in). 23:15:30 -!- oerjan has joined. 23:28:03 -!- hppavilion[1] has quit (Ping timeout: 264 seconds). 23:32:59 -!- Marcela_Gandara has quit (Ping timeout: 244 seconds). 23:38:14 "decimicrons" -- um, that's 10**-5 meters, right? <-- 10**-7, surely 23:38:14 -!- Marcela_Gandara has joined. 23:38:34 `bienvenido Marcela_Gandara 23:38:38 oerjan: oh... that's even worse 23:38:39 ok 23:38:39 Marcela_Gandara: ¡Bienvenido al centro internacional para el diseño y despliegue de lenguajes de programación esotéricos! Por desgracia, la mayoría de nosotros no hablamos español. Para obtener más información, echa un vistazo a nuestro wiki: http://esolangs.org/. (Para el otro tipo de esoterismo, prueba #esoteric en EFnet o DALnet.) 23:39:48 `wisdom 23:39:50 xyzzy/Nothing happens. 23:39:51 -!- jaboja has joined. 23:39:54 `wisdom 23:39:55 esoteric/This channel is about programming -- for the other kind of esoterica, try #esoteric on EFnet or DALnet. 23:40:05 yeah yeah, 23:40:07 I knoe 23:40:09 `wisdom 23:40:12 sbus/SBus is the standard bus in many a Sun SPARC-based system, capable of coping with thirty-two (32) bits in parallel, at rates of around 16.67 to 25 MHz. There is a 96-pin connector, and the cards lay parallel to the motherboard, like toppings on a sandwich. 23:44:26 Oh, we're de-fungotted again. <-- . o O ( how long before fizzie breaks down and implements DNS lookup ) 23:44:26 oerjan: if fnord p is too much 23:46:12 i guess it'll take a bit more to get completely autonomous reconnection 23:47:17 (you'd also probably need nick collision handling...) 23:48:13 -!- hydraz has changed nick to cnydraz. 23:49:48 -!- me4 has joined. 23:51:02 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 23:51:45 wow 23:52:44 b_jonas: ikr? 23:53:21 You know how on interent forums people often start a post with something like “I'm surprised nobody mentioned such and such”. I find that somewhat annoyingly superfluous, especially when they do that very quickly before most posters have had a chance to mention anything. 23:53:46 But this is the first time I saw a post starting with basically “I'm surprised I have never mentioned such and such” 23:54:05 i'm surprised you have never seen that before 23:54:21 -!- Phantom_Hoover has joined.