00:43:08 -!- nooga has quit (Ping timeout: 248 seconds). 00:50:30 kmc: I joined #python earlier and they were making fun of how stupid those static languages and people who use them are. 00:51:18 shachaf, do they ever think about what the most common implementation of Python is written in? 00:51:41 Vorpal: that's a silly argument 00:51:45 Vorpal: "I hate making hardware." 00:51:48 shachaf: like bizarro world #haskell, eh? 00:51:55 "Are you aware what your software runs on?" 00:52:02 kmc, true, but so is the idea that static languages are stupid 00:52:18 shachaf: ahahaha 00:52:20 shachaf, hardware is awesome though not easy. 00:52:23 Vorpal: It's a silly idea but that counterargument isn't very valid. 00:53:13 hardware afaik is mostly long to design :D 00:53:36 optimised assembler is like 10 times slower to write than C++ for instance 00:53:53 though it's partly processor dependent 00:55:52 anyway some good reasons to use statically typed languages: Better error checking at an early stage (compile time errors are much better than runtime errors) 00:55:52 kmc: Did I just troll-by-proxy? 00:55:52 another good reason is that it provides the optimiser with much more information 00:55:52 Vorpal: You don't need to tell me about advantages of statically-typed languages. 00:55:53 I think a statically typed language with some support for dynamic typing if you really want to (and where the dynamic typing would be easy to spot for someone reading the code) would be the optimal way to go. Something like a (static!) type Dynamic that can be contain any type or such. Wasn't there something for haskell kind of doing that? 00:56:29 that would probably be nice yes 00:56:45 madbr, I have written some VHDL. And that isn't even on the level of designing transistors and so on. Presumably doing ASIC development is even harder than just working against an FPGA 00:57:07 Also with std::string, vector and map as basic types instead of half grafted on things 00:57:34 no 00:57:39 fewer baked in things is better 00:57:53 Vorpal: that Dynamic type is part of the GHC Haskell standard library, yes 00:58:02 yeah but the base weakness of C/C++ is the lack of built in types 00:58:04 uh 00:58:09 C/C++ 00:58:09 ahaha that makes no sense 00:58:12 kmc, really haven't worked that much with haskell, only the basics 00:58:12 yep 00:58:22 yeah but the base weakness of C/C++ is the lack of variable size structures 00:58:37 Vorpal: oh, well, wishing for a static language with a feature Haskell already has is a common enough occurrence 00:58:45 everything is fine as long as none of your strings or arrays ever change size 00:58:49 I'm not sure a string should be a fundamental type. Sure there are some good arguments for it. It definitely shouldn't be handled as an array of chars. But I think a linked list of chars (in a language having the linked list as a fundamental type, like Erlang or Scheme) is a good representation. 00:59:06 What does "fundamental" mean? 00:59:12 Vorpal: that has terrible performance though 00:59:19 vorpal: that's kinda impossible to parallelize 00:59:21 A language should let you make your own abstractions. 00:59:28 i think you need some general purpose type for things contiguous in memory 00:59:33 and you can apply that to characters 00:59:35 That's probably the most important thing in a high-level language. 00:59:36 abstractions? 00:59:40 shachaf, I presume kmc meant "baked into the syntax of the language, and is more than just syntax sugar for something else" 00:59:41 I don't need abstractions 00:59:46 I need arrays of floats 00:59:49 and shit like that 01:00:08 i think you need some general purpose type for things contiguous in memory and you can apply that to characters <-- you can create a binary containing a string in erlang as well 01:01:00 purely functional data type though (can sometimes be optimised to be mutable if the compiler can be sure it won't be visible elsewhere though), so there are some interesting things to be aware of. 01:01:25 mutable types are nice 01:01:41 A language should let you make your own abstractions. <-- so something like lisp? 01:02:07 Vorpal: are there popular implementations which do that? 01:02:08 Vorpal: That's one kind of abstraction. 01:02:17 kmc, hm? 01:02:29 optimize data structures to be mutable locally 01:02:38 kmc: Languages with uniqueness typing, maybe? 01:02:42 the problem is the aliasing caused by pointers 01:02:43 kmc, popular implementations of erlang? 01:02:47 of anything 01:02:50 whatever you were talking about 01:02:50 kmc, there is just one Erlang implementation 01:03:00 I guess it is the most popular Erlang implementation 01:03:02 XD 01:03:02 "is that a thing at all" 01:03:05 is what i'm asking 01:03:19 it's a common misconception about GHC and Haskell 01:03:21 kmc: It's a thing that they tell young Haskell programmers to get them to go to sleep. 01:03:26 yeah 01:03:32 to my knowledge GHC does not really do that 01:03:34 I believed it for a while! 01:03:42 but it does eliminate intermediate data structures entirely, sometime 01:03:43 kmc, oh yeah, erlang can optimise certain appending style operations to mutate the data in certain cases 01:03:58 afaik it is fairly restricted, but it is documented in the efficiency section of the manual 01:03:59 the nice thing about pure functional data structures isn't some weird compiler trick 01:04:20 it's that they *fundamentally* support efficient non-destructive update 01:04:33 if you implement a binary search tree in the most naive way in Haskell with a stupid naive Haskell compiler 01:04:38 pikhq, why are there no Tcl "data structures" that map cleanly to a bunch of Tcl commands? 01:04:39 and you add a new node into a tree 01:04:40 "give your compiler this one weird tip to make your data structures support efficient non-destructive update" 01:04:48 the "new tree" will share most of its storage with the old one 01:04:57 Lists are good for one Tcl command, thus making construction with [list ... ] simple 01:05:04 There seems to be nothing for multiple commands 01:05:05 kmc, well binaries are fairly efficient anyway. A lot of operations on them will do stuff like "this is a view of byte 8 to byte 83 (plus 3 extra bits) of this underlying binary" 01:05:06 kmc: Not with a naïve implementation that copies everything! 01:05:09 won't that have a zillion tiny allocations? 01:05:14 Which might be the most obvious implementation. 01:05:19 -!- monqy_ has joined. 01:05:20 -!- monqy has quit (Quit: Reconnecting). 01:05:23 honqy_ 01:05:24 (yeah binaries don't have to be whole byte sizes) 01:05:41 madbr: sure, but a typical Haskell runtime uses an allocator where allocation is vastly cheaper than malloc() 01:05:41 -!- monqy_ has changed nick to monqy. 01:06:01 heh really 01:06:01 though you pay for it later in the garbage collector 01:06:04 well yes 01:06:09 kmc, anyway LISP style linked lists support prepending for example without copying 01:06:10 allocation in GHC is just a matter of incrementing a pointer 01:06:15 what does it do, just increment a pointer? 01:06:23 Vorpal: that is an example of my fundamental property, not of some compiler trick 01:06:24 or tail without copying 01:06:42 but what does it do later when half the data in the array is alive and half is not 01:06:50 recompact everything???!?? 01:06:53 compacting garbage collector 01:06:53 yes 01:07:00 which is also good for cache utilization 01:07:13 ???!?? 01:07:31 yeah provided you can lock the whole program for like 200ms once in a while 01:07:37 yeah 01:07:47 allocation in GHC is just a matter of incrementing a pointer <-- like a stack then? 01:07:51 can't do that in the kind of code I write :D 01:07:55 if you have realtime constraints then the story is different 01:07:56 (games, software synths) 01:07:59 sure 01:08:16 hm real time haskell, is there any hard realtime haskell variant? 01:08:19 both of which are traditionally programmed in C++ 01:08:23 Vorpal: ask in #haskell 01:08:30 Vorpal: yes, like, a stack, but you never pop either 01:08:44 you just accumulate objects in this region, in order, until it's full 01:08:46 then you run the GC 01:08:47 btw, I'm going to be working with hard realtime systems pretty soon 01:08:50 "like, a stack, but you never pop" 01:08:52 whoa, dude 01:08:53 ie you leak until the GC runs 01:09:05 got a job at Atlas Copco, starting the end of this month 01:09:10 madbr: uh, yes 01:09:17 that is how a GC works 01:09:31 Not a reference-counting "GC"! 01:09:35 using the word "leak" there is disingenuous 01:09:41 I guess that's not really a GC. 01:09:52 shachaf: since when did words in CS mean anything? 01:10:01 "like, a stack, but you never pop" <-- you could make your address space cyclic and use that as a cache kind of thing maybe?? 01:10:04 kmc: Good point. 01:10:18 you need some way to detect overwritten references though 01:10:48 really it's not disingenuous, just false 01:10:56 a leak is an dead object which will never be freed 01:11:09 well, I guess it's a hyperbole 01:11:18 you say "hyperbole" i say "wrong" 01:11:21 it's not really a leak 01:11:25 anyway i'm not saying GC is the answer to anything 01:11:29 but it is more efficient in some ways 01:11:32 and less efficient in others 01:11:37 leak: Sometimes a leak is an object which has been freed despite best efforts to keep it hidden! 01:11:45 s/lea(.)/\1mc/ 01:11:47 people who don't like GC tend to paint it as strictly less efficient and for lazy programmers only 01:11:50 that's simply not true 01:12:06 since when was reference counting considered a GC? You could have a GC that detect and take care of cycles in such a system though (lol python) 01:12:13 compacting garbage collection gives you faster allocation and better cache utilization, at the expense of periodic pauses 01:12:29 I'm not convinced about better cache use 01:13:14 ok 01:13:18 well i don't have any numbers handy 01:13:24 this isn't an area i know in depth 01:13:31 what about non compacting GC? 01:13:45 madbr: Sucks. 01:14:04 It gives you all the downsides of GC with most of the downsides of malloc. 01:14:07 madbr: Better cache use than what? 01:14:21 pikhq, I'm pretty sure many VMs use those for small collections 01:14:30 with bigger, compacting collections more rarely 01:14:36 unless I missremember 01:14:45 misremember* 01:14:56 shachaf: than traditional malloc-using C++ code I guess 01:15:04 you shouldn't be using malloc in C++ 01:15:09 Vorpal: The smaller your heap the cheaper compacting GC is. 01:15:14 you should use new, preferably with smart pointers 01:15:18 pikhq, hm true 01:15:21 kmc: same as malloc 01:15:31 i guess by "C++" most people mean "C with whatever C++ features i feel like understanding" 01:15:42 pikhq, well if you have a pool for very large allocations it might not be a good idea to compact that too often I guess 01:15:48 except for the smart pointer thing 01:16:04 Vorpal: Yes, you'd probably be best trying to split it into small and large object pools. 01:16:12 kmc, what are C++ smart pointers? 01:16:15 Compacting large allocations is really rather painful. 01:16:26 a smart pointer is a class which wraps a pointer, but provides some nicer semantics and/or guarantees 01:16:27 vorpal: reference counted objects AFAIK 01:16:29 pikhq, combined with a generational GC as well 01:16:33 they aren't always reference counted 01:16:39 you can have a reference-counted smart pointer 01:16:52 And besides which, you'll probably want to make it so that space contains objects that don't reference other things. 01:16:55 a smart pointer is a class which wraps a pointer, but provides some nicer semantics and/or guarantees <-- like that which more higher level languages do? 01:17:03 (because most large buffers won't be giant pointer buffers) 01:17:17 anyway what, apart from reference counting could they usefully provide in C++ 01:17:17 you can construct a shared_ptr from a T*, or copy-construct it from another shared_ptr 01:17:35 Vorpal: They basically are reference counting... 01:17:39 it records somewhere the number of shared_ptr's holding that particular T* 01:17:43 pikhq, " they aren't always reference counted" 01:17:47 pikhq, so he is wrong then? 01:17:49 the destructor for a shared_ptr decrements the count 01:17:52 let me finish 01:17:54 god 01:17:55 Vorpal: No, he's merely being more accurate. 01:18:00 hm okay 01:18:03 when it drops to 0, it calls delete on the original pointer 01:18:04 anyway 01:18:08 that's a reference-counted smart pointer 01:18:12 but you can also make other kinds 01:18:20 i guess by "C++" most people mean "C with whatever C++ features i feel like understanding" -- which is actually fine so long as you don't have to read anyone elses code 01:18:26 kmc: such as? 01:18:30 like unique pointers 01:18:55 Yeah. They also can be used to give you guarantees like "delete this when it falls out of scope". 01:18:58 kmc: How do you catch a unique pointer? 01:18:59 kmc, how does it keep track of shared_ptr though? What if I pass a function a reference to a shared_ptr? Or are they small enough that you usually pass by value and invoke copy constructors all over the place? 01:19:07 A: Unique up on it 01:19:08 Vorpal: the latter 01:19:27 Vorpal: the compiled representation of a shared_ptr is probably the same as a T* 01:19:39 dunno 01:19:42 kmc, plus a reference count surely? 01:19:44 the reference counting is done in some global hidden structure 01:19:49 ah... 01:19:51 no, the reference count has to ba global 01:19:52 well 01:19:54 kmc, so are they thread safe? 01:20:03 if each shared_ptr had their own count, then they would all have a count of 1... 01:20:07 it should be in the structure that is getting counted no? 01:20:12 madbr: you can build those too 01:20:15 "intrusive shared pointers" 01:20:22 more programmer effort, somewhat more efficient 01:20:39 Vorpal: I don't know about the thread saftey guarantees of Boost's or C++11's implementations of this idea 01:20:45 doing it without having it in the structure being counted sounds very much like a kludge 01:20:50 in general yes, you can make a thread-safe shared pointer 01:20:58 doesn't seem like a kludge to me, really 01:21:07 only a little bit 01:21:13 At least, no more so than anything else in C++. 01:21:20 pikhq, touche 01:21:27 thread-safe shared pointer? what, by locking a mutex to it every time you manipulate it? :D 01:21:56 madbr: well first of all, it would only be when you create/destroy a shared_ptr, not dereference one 01:22:00 madbr, implementing an atomic counter isn't that hard targeting most ISAs 01:22:15 implementing a hash table of atomic counts is harder 01:22:20 but still quite doable 01:22:29 why a hash table? 01:22:35 given that this is a piece of core library code which is hopefully not re-implemented in every project 01:22:38 oh right, if it doesn't have anything except the pointer 01:22:39 though knowing C and C++, it likely is 01:22:44 a pointer pair seems better 01:22:46 Vorpal: you need a map from T* to reference count 01:23:03 Vorpal: pointer to T and also pointer to its count location in the table? 01:23:04 you'd need atomic count+value no? 01:23:05 yeah maybe 01:23:07 i don't know how it's done 01:23:26 You could also maybe use a per-thread count for some things. 01:23:46 otherwise your count may be accurate but it can still change whenever no? :D 01:23:54 madbr, x86 provides atomic increment/decrement iirc. And there is always CAS 01:24:14 you need atomic [inc/dec PLUS value read/write] 01:24:17 I *think* 01:24:27 of course if they are in a table, that is going to play hell with the cache line ownership between the CPUs 01:24:30 shachaf: yeah 01:24:57 i think the Linux kernel uses per-CPU reference counting for some objects 01:25:15 don't remember the exact semantics 01:25:16 the linux kernel uses a lot of snazzy data structures 01:25:34 kmc: It's a fun performance issue when you have per-thread counters for something (not referece counts, just integers) and you put them all in one array, so that each thread does arr[tid]++; 01:25:54 shachaf, that is just going to kill the performance XD 01:25:56 Vorpal: Well, yes. A kernel is fundamentally no more than a pile of allocators and schedulers. :) 01:26:24 pikhq, a lot of device drivers too (unless a micro kernel, in which case it is just some device drivers) 01:28:28 how real time are real time OSes these days? 01:28:43 uh, completely? 01:29:03 well, what latency can you get :D 01:29:08 ok 01:29:10 that is a different question 01:29:18 1ms? 100us? 10us? :D 01:29:19 madbr, you misunderstood the meaning of a real time OS 01:29:26 "real time" does not mean "super low latency" necessarily 01:29:30 it means that you care what the latency is 01:29:40 you can have a "hard real time" system where the latency bound is 60 seconds 01:29:50 it's still hard real time because if you miss that deadline, the plane blows up or whatever 01:29:54 It's not all that /likely/, but it fits the definition :) 01:29:59 i think it is pretty likely 01:30:02 "A key characteristic of an RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task;" 01:30:04 planes take a while to blow up 01:30:11 that's latency 01:30:14 it means that you can work out guarantees that the latency running a specific set of software on it will be within specific limits 01:30:21 yes, it is about predictable and guaranteed latency bounds 01:30:27 madbr: Yes, CONSISTENCY, not BREVITY. 01:31:30 hi Gregor 01:31:33 I confused you with Vorpal 01:31:42 what 01:31:42 but then if your guaranteed time is 100ms... that's still not so cool :D 01:32:00 that depends on the application 01:32:06 you can have a "hard real time" system where the latency bound is 60 seconds <-- I'd hate to draw the timing diagram for that, given that most other stuff will probably be in the millisecond range 01:32:09 you really do not seem to be getting this idea 01:32:13 shachaf: Capital letter, five more letters. 01:32:28 Gregor: Right. 01:32:29 but yeah was asking for irl values 01:32:35 * Vorpal is now known as Vergor 01:32:40 oops 01:32:43 * Vorpal is now known as Vregor 01:32:50 I wonder if capital letters are "actually" easy to distinguish without reading them. 01:33:06 If you gave someone who can't read English a text with capital and lower-case letters, would they be able to pick out the capitals? 01:33:23 Capital thorn is smaller than lowercase thorn! 8-D 01:33:36 shachaf, well the rest of the word shape is different too, r is half the height of l 01:34:03 shachaf, if they know the latin script, sure? 01:34:04 kmc: just say that you don't know the values and don't care, jeez 01:34:39 madbr, your question made no sense. 01:34:43 madbr: Come on, don't troll kmc. :-( 01:35:05 it's dumb that you keep badgering us over t his 01:35:14 when it's probably plastered all over the front page of anyone marketing a RTOS 01:35:26 madbr, most real time systems are probably slower than your average PC in average response time. But the thing is, you don't know the maximum response time on your OS. It might suddenly swap trash for example 01:35:39 shachaf: at least I haven't still got Virgil in here ;) 01:37:43 hm 01:37:54 seems more for military usage then yeah 01:38:04 and planes 01:38:19 madbr, your car probably contains at least one if it isn't too old 01:38:32 The ABS brakes for a start 01:38:39 any ESP system 01:38:41 mhm 01:38:53 because if those took too long. Yeah would be bad 01:38:59 realtime control systems outnumber "computers" by a huge factor 01:39:05 not all of them use an "operating system" though 01:39:18 many are just simple microcontrollers running a single program at a deterministic speed 01:39:19 kmc, control systems in general outnumber what we normally think of as computers 01:39:26 yeah 01:39:44 true 01:39:54 dishwasher, freezer, TV, washing machine. Doubt any of those run RTOS. 01:40:04 or well maybe they though (not the TV though) 01:40:13 s/they/they do/ 01:40:28 most digital TVs run Linux 01:40:29 no idea what they put in TVs these days 01:40:41 as did set top boxes during the analogue->digital transition 01:40:51 vxworks is probably convenient to put in a dishwasher even if you don't use the real time properties. 01:40:58 either that or it runs on bare metal 01:41:07 in which case it is most likely not real time in any way 01:41:18 huh? 01:41:26 that's about as real time as it gets. 01:41:27 hm? 01:41:32 if you're the only program running on the chip... 01:41:49 kmc, you have to design that program so you can be sure it won't ever enter an extra long loop though 01:41:51 and the chip has no cache and out of order execution? 01:41:53 otherwise it isn't real time 01:41:59 Vorpal: sure 01:42:09 vorpal: some people do that afaik :D 01:42:14 or you do everything time sensitive in a timer interrupt 01:42:19 madbr, sure, I done it at university 01:42:20 but yeah 01:42:27 using vxworks was much easier though 01:42:30 simple microcontrollers give you totally deterministic execution 01:42:34 no cache, no out of order execution 01:42:38 since then you knew the scheduler would prioritise the right thing 01:42:43 each instruction takes a known number of clock cycles, always 01:42:49 without a scheduler, well you have to get everything perfectly right 01:42:56 kmc: ie too long :D 01:43:04 madbr, not really 01:43:16 madbr, they work fine for what they are designed for 01:43:26 well, not too long for a microcontroller application where there's little data to crunch through 01:43:33 madbr: that's fucking annoying, stop asserting that things are "too slow" without knowing what the application is 01:43:43 you strike me as one of those people who programs in C because it means your e-penis is so big 01:43:49 kmc, he is obviously trolling you 01:43:52 yeah 01:44:06 don't feed the troll (I know that can be hard) 01:44:22 kmc: don't be silly. He obviously writes direct to machine code. In binary. With butterflies. 01:44:40 with e-penis 01:44:48 eheh 01:44:48 soundnfury, you make me laugh. He loads customised microcode into the processor 01:45:03 i shit trains, what now 01:45:05 don't be silly, he doesn't use processors with microcode, they're "too slow" 01:45:13 XD 01:45:25 hardwired logic 4 lyfe 01:45:38 it's the kind of system that doesn't have cache miss because essentially every memory access is a cache miss :D 01:45:42 Why am I still looking at Tcl instead of Lisp? 01:45:48 so you have deterministic time 01:45:50 TTL logic is kind of fun. 01:46:00 madbr: no, it's more like every memory access is a cache *hit* 01:46:05 AVR microcontrollers have all SRAM 01:46:07 What about time-loop logic? 01:46:10 or it has like 1k ram so it doesn't have cache misses yeah :D 01:46:12 kmc, hm do AVR processors even have a pipeline? 01:46:19 in fact there's not much distinction between registers and RAM 01:46:25 I guess some might have a 2 stage pipeline or something simple like that 01:46:44 Vorpal: isn't "TTL logic" a PIN-number-ism? 01:46:45 the registers are just the first n locations in RAM, they have a special addressing mode but show up as normal memory too 01:46:50 soundnfury: oh god 01:46:52 soundnfury, yeah and? 01:47:00 that is the dumbest thing to care about 01:47:13 kmc: what can I say? I'm a pedantic dickweed 01:47:19 soundnfury, it is also a CD disc thing. It is not quite a Personal PIN Number-ism though 01:47:24 saying "TTL is kind of fun" is more ambiguous and awkward 01:47:29 language exists to serve the needs of communication 01:47:35 not to satisfy the arbitrary rules of pedantic dickweeds 01:47:38 Vorpal: my eyes my eyes it burns 01:47:41 do you also object to "all OK"? 01:47:41 Ah, kmc. 01:47:49 the wires very quickly ends up being tricky to keep track of though 01:48:10 I remember doing a binary->2 digit BCD converter in a lab at university 01:48:11 kmc: the rules aren't arbitrary, they exist to serve the needs of communication 01:48:23 after all OK might be (nobody's quite sure) an initialism for "oll korrect", an intentional misspelling of "all correct" 01:48:24 the mess of wires, aiee 01:48:27 so "all OK" is ambiguous 01:48:31 -!- ais523 has quit. 01:48:31 er redundant 01:48:33 just like "ATM machine" 01:48:35 am i right 01:48:45 kmc: Oh no! 01:48:57 We don't *know* whether it's redundant or not! 01:49:05 It's, like, quantum pedantry, man. 01:49:11 kmc: who cares? Everyone calls it a hole-in-the-wall anyway :p 01:49:14 soundnfury, I have a compact CD disc here 01:49:26 itt: nerds saying the things nerds always say 01:49:33 soundnfury, with that I mean it is one of those mini-sized ones 01:49:48 Vorpal: you mean a minidisc? 01:49:57 soundnfury, is that the name of them? Maybe 01:50:04 "n order to maximize performance and parallelism, the AVR uses a Harvard architecture – with 01:50:08 separate memories and buses for program and data. Instructions in the program memory are 01:50:11 it fits into the inner depression in the CD reader 01:50:12 executed with a single level pipelining. 01:50:16 or one of those silly "singles" disks that play in a normal CD player? 01:50:21 sorry for spam, failed copying from pdf 01:50:22 those are fscking pointless 01:50:24 kmc, hm nice 01:50:34 and yeah I know it uses Harvard 01:50:37 so yeah, it's a 2 stage fetch-execute pipeline 01:50:40 a lot of microcontrollers do 01:50:46 well you can also load data from program memory 01:50:52 and you can write to program memory using special instructions 01:50:52 PIC and AVR do at least 01:50:55 everything uses either hard or soft harvard these days 01:51:02 I really have no idea about any other micro controller architectures 01:51:06 which ones are there even 01:51:08 #Fight fiercely, Harvard, fight fight fight! 01:51:11 8051 is very popular 01:51:19 kmc, which ISA is that? 01:51:21 ARM is used as a microcontroller too 01:51:29 Vorpal: it's, uh, the 8051 ISA? 01:51:32 kmc: ah yeah, saw one of those 01:51:34 uh okay 01:51:49 I think for low-end applications the Z80 still gets used as a microcontroller 01:51:49 68k is used as a microcontroller too 01:51:50 kmc, hm ARM really has a huge span 01:51:54 tend to quite faster too 01:51:57 soundnfury, like in my graph calculator 01:52:02 and MIPS and PPC implementations 01:52:04 though that is like 12 years old now 01:52:11 with nice features like fast multipliers 01:52:12 awesome battery time though 01:52:16 you can synthesize a PPC chip on a higher end FPGA 01:52:26 4xAAA lasts several years in it 01:52:27 Vorpal: yeah, ARM has a huge span 01:52:42 it's a licensed ISA with many implementations 01:52:45 Vorpal: graphical calculators are shoite tho 01:52:58 kmc, which ARM ISA are they using for microcontrollers? Not ARM7 I guess 01:53:03 beats me 01:53:07 no more like arm11 01:53:23 madbr, stop trolling by making up stuff 01:53:31 let me look it up 01:54:00 madbr, the last version is 8 01:54:04 there is no ARM11 01:54:27 (and there are no products based on version 8 yet) 01:54:37 soundnfury, hm, they work well for their intended purpose though 01:54:38 afaik arm11 is the raspberry pi's processor and has armv6 instruction set but that's probably fairly higher end and there are probably much more limited ones 01:54:51 yeah it's confusing 01:55:00 kmc: Hey, "PowerPC computing" is also redundant. 01:55:20 shachaf, that C stands for computing? 01:55:22 http://www.arm.com/products/processors/classic/arm11/index.php 01:55:23 haha 01:55:32 Hrrrng, shachaf: that is NOT redundant. 01:55:48 how about "ARM machine" 01:55:48 That's like when people say that "SMS message" is redundant because the 'M' stands for messaging. 01:55:59 So is "ARM Machine"! 01:56:06 Aw. 01:56:07 yep 01:56:16 But the C in PowerPC stands for computing ,__, 01:56:29 “ARM machine” I would be more agreeable to. Also the 'C' in PowerPC surely stands for comput/er/? 01:56:33 ARM ATM Machine 01:56:36 Gregor, uh, Short SMS Service would be redundant technically 01:56:39 -!- comex has quit (*.net *.split). 01:56:41 It doesn't 01:56:44 Vorpal: Yes, that would be. 01:56:46 I learned that yesterday. 01:56:47 though I think the interpretation would be rather different actually 01:56:48 Vorpal: But "SMS message" is not. 01:56:52 Lumpio-: Hm. 01:56:54 this is 01:56:56 Gregor, of course 01:56:56 the dumbest thing 01:56:57 I don't see what's redundant about Short Messaging Service message at all. 01:56:57 to care about 01:57:10 The service is for short messaging, and you have a message through it. 01:57:12 kmc: Agreed! 01:57:25 I like the new automatic ATM machines 01:57:30 pikhq, "Short SMS Service" is redundant. 01:57:34 Lumpio-: HAHAHAHAHAHHAHAHHHA FUNNAY JOKE 01:57:34 that was the point 01:57:36 * shachaf sends pikhq a short SMS message. 01:57:47 it's not like 20 people have already made that joke in the past 5 min 01:57:56 I'M ON FIRE 01:58:00 I know. 01:58:01 LET'S ALL USE ACRONYMS REDUNDANTLY GUYS, ON PURPOSE 01:58:02 yawn 01:58:06 IT'S IRONY 01:58:10 I.R.O.N.Y. 01:58:13 RAS syndrome day 01:58:23 Lumpio-, pay royalties. I started it with the compact CD disc (minidisc) 01:58:26 fuckinfg nerds 01:58:31 i should get drunk 01:58:33 kmc: Have you filed with the Department of Redundancy Department? 01:58:37 surfin the web on my pc computer 01:58:41 instead i'm going to eat a pizza 01:58:51 >joins #esoteric >complains about nerds 01:58:52 kmc: Hey, I wish I had a pizza right now. 01:58:58 pikhq, You meant the Redundant Department of Redundancy Department? 01:59:19 kmc: Is your pizza vegetarian? 01:59:31 Lumpio-: hey, i like interesting nerd conversations 01:59:32 veggie pizza is nice 01:59:39 not Standard Nerd Conversation #15 01:59:51 next up: i don't care about sports and I want you to know this 01:59:52 it has tons of nice things on it 01:59:54 $relevant_xkcd 01:59:59 http://www.smbc-comics.com/comics/20120712.gif 02:00:09 * pikhq actually watches football 02:00:14 the issue with pizzas is that too many seem to contain tomatoes. Sure there are those without, but I would say that the majority of pizzas found over here contain tomatoes 02:00:30 don't know if it is the same elsewhere 02:00:38 how is that an issue 02:00:41 itidus21: please weigh in regarding pizzas and tomatoes 02:00:48 Vorpal: Here, pizza *typically* only contains tomato sauce. 02:00:51 madbr, because I don't like tomato? 02:01:02 ahah then you're screwed yes 02:01:02 tomatoes* 02:01:04 shachaf: I think I'll get a prosciutto calzone, actually. So, no. 02:01:16 I suppose some pizzas contain sun-dried tomatoes, but those aren't the "typical" ones. 02:01:33 kmc: I recommend a vegetarian pizza.r 02:01:38 yeah 02:01:41 i probably should get one 02:01:43 to be a good person 02:01:55 i don't like "veggie pizza" generally, but i do like (say) mushrooms and pineapples 02:01:57 next up: i don't care about sports and I want you to know this <-- oh I care about some sports 02:02:00 also nice: spicy chicken, mexican 02:02:02 mostly esports 02:02:08 * shachaf doesn't like "veggie pizza" 02:02:11 don't really care about physical sports though 02:02:17 depends on the kind of veggies it has 02:02:28 onions, olives => yum 02:02:54 There are a lot of vegetables that I don't like that much, for being vegetarian. 02:03:00 i dislike onions and, because this is the internet, my opinion of onions is also an objectively true fact 02:03:00 And a few that I really hate. 02:03:02 Like bell peppers. 02:03:11 kmc, what about garlic? 02:03:14 i love garlic 02:03:16 Bell peppers = the devil 02:03:18 can't get enough garlic 02:03:20 kmc, good for you 02:03:20 shachaf: what about hot peppers? :D 02:03:29 jalapeno poppers 02:03:29 Friggin' bell peppers. They're peppers with too little flavor! 02:03:31 i'm told that shallots are halfway between onion and garlic 02:03:34 'Specially the green ones. 02:03:37 madbr: Less devil than bell. 02:03:38 but i don't have a strong opinion of them yet 02:03:40 Jerks, not even ripe. 02:03:45 kmc, as I don't have to kill you know due to taking taste way too seriously (as is the tradition on the internet) 02:03:54 pikhq: Too *little*? 02:04:07 pikhq: Their flavor -- and smell -- and texture -- makes me want to vomit. 02:04:08 shachaf: Why would you want peppers without capsaicin? 02:04:12 kmc: if you think we're bad, try reading comp.lang.c 02:04:15 shachaf: hah you remind me of one guy I met 02:04:18 and ask them about the declaration of main 02:04:23 haha 02:04:25 I don't really like too much pepper 02:04:28 was vegan, didn't like salad 02:04:31 oh and see if you can fit in a cast of the return value of malloc while you're at it 02:04:32 shachaf: do you like szechuan peppercorn? 02:04:37 a bit of traditional black pepper is enough for me 02:04:38 shachaf: Also: green bell peppers are literally unripe. This is just evil. 02:04:57 hmm 02:05:04 his diet consisted of veggie burgers, KFC potato wedges, chips and various other crunchies and sugary things 02:05:12 pikhq, I don't really go above black pepper when it comes to pepper 02:05:48 Vorpal: What a bland existence. 02:05:53 a pizza base as an ingredient works with just about everything 02:05:54 I buy those pots of minced chili at the corner store 02:05:57 pikhq, eh, I add more garlic instead 02:06:04 and then I put that shit on everything 02:06:06 pikhq, you can't have too much garlic 02:06:08 Vorpal: Okay, that's at least respectable. 02:06:27 main(argc, argv) char **argv; { return 0; } 02:06:28 ♥ garlic 02:06:32 today I had chicken nuggets with honey and chili paste 02:06:34 kmc: I don't know. 02:06:51 shachaf: do you know about it? 02:06:56 pikhq, I ate at an Indian restaurant once (and I ordered extra mild). I'm never going to eat at an Indian restaurant again! 02:07:01 way too spicy 02:07:01 pikhq: Green bell peppers, red bell peppers, yellow, orange, blue, I don't care. 02:07:03 vorpal: what 02:07:11 Vorpal: The *mild* was too spicy? 02:07:15 pikhq, yes 02:07:19 :O 02:07:19 on pizzas, i generally go for olives, mushrooms, anchovies, cows, pigs, chickens 02:07:19 shachaf: They're still in a shitty place, mind you. 02:07:23 shachaf: Sans capsaicin. 02:07:31 Vorpal: That's sad. 02:07:45 pikhq, sure it tasted good, but it played hell with my mouth 02:08:00 you need the antidote 02:08:01 i tend to assume a pizza will have a base of tomato, garlic and cheese, however, when my brother cooked vegan pizzas i found that you can taste the ingredients more without the cheese 02:08:09 madbr, ? 02:08:12 What, do you guys do a British-style "boil the flavor out" diet? :P 02:08:12 kmc: I don't know. 02:08:18 indians have that crazy yougurt drink 02:08:31 absorbs capsaicin 02:08:45 Yeah, that's pretty good stuff. 02:08:50 madbr, yeah I used that. Too bad I don't really like yougurt though. 02:08:58 Heathen! 02:09:14 Tomato, yougurt and fish. Those are the mostly random things I really hate eating. 02:09:18 you need to get good yogurt, not cheap crap 02:09:20 I suppose next you'll tell me you don't like bacon. 02:09:26 pikhq, oh I love bacon 02:09:39 Mmm, cured pig-meats. 02:09:41 i eat fish practically every day 02:09:49 madbr: lassi? 02:09:54 there's a large difference between a good yogurt brand and whatever cheap dental paste you can find 02:09:55 mango lassi is fucking amazing 02:09:58 kmc: yes 02:10:02 also want to try bhang lassi sometime 02:10:12 speaking of dental paste. I forgot mint 02:10:17 I really don't like mint either 02:11:38 let me guess, you don't like beer either? :D 02:11:44 or coffee? :D 02:11:45 madbr, I'm a teetotaller 02:11:56 cinnamon I have a slight negative opinion on. It doesn't taste good, but it is editable. 02:12:05 cilantro? 02:12:07 Sickening. 02:12:18 as for coffee, the taste is okay, but eh, I can stay awake anyway 02:12:33 cilantro? no clue what that is. Google Translate time 02:12:40 aka coriander leaves 02:12:44 oh right 02:12:55 madbr, no opinion either way 02:13:28 Guess you're not one of the unfortunate people who have a gene making it taste like soap, then. 02:13:34 thai food? :D 02:13:52 madbr: "Yes please." 02:13:55 pikhq, I honestly don't know if I ever eaten coriander though. 02:14:01 madbr, never tried 02:14:15 I like Chinese restaurants though 02:14:26 viet? 02:14:29 Vorpal: Thai is profoundly spicy. 02:14:29 and Italian ones 02:14:39 pikhq, I would guess the answer is "no" then 02:14:41 madbr, huh? 02:14:46 vietnamese 02:14:50 no idea 02:14:55 never tried 02:14:58 -!- comex has joined. 02:15:05 Also peanutty in some cases... 02:15:21 peanuts aren't used a lot in Sweden really 02:15:22 haven't tried extremely hot thai yet 02:15:29 we see it as something rather American 02:15:37 To be fair, it is. 02:15:42 We love our peanuts. 02:15:42 peanut butter is very definitely regarded as an American thing over here 02:15:47 Especially peanut butter. 02:15:51 I think it tastes meh. Editable sure, but what is the point 02:16:07 vorpal: makes a good sauce for skewers :D 02:16:13 Peanut butter and jelly sandwiches. 02:16:16 madbr, Parse Error 02:16:31 I have no idea what you are talking about 02:16:37 pikhq, also you go crazy with apple pies 02:16:45 peanut butter + thai hot sauce + some jalapenos 02:16:46 Vorpal: Yes. They are delicious. 02:17:09 (the thai hot and really sweet sauce) 02:17:28 + maybe some extra garlic if the thai hot sweet sauce doesn't already have tons 02:18:03 the Swedish image of a stereotypical American: eats peanut butter, apple pies and hamburgers. Drives an oversized car and drives it even if he is just going like 4 houses away from home. Is most likely overweight. Has a gun without being a hunter. 02:18:19 make some meat cubes, let that marinate in the sauce, put the cubes on some skewers (ie make kebabs), put on barbecue 02:18:25 pikhq, how accurate is it? 02:18:31 Vorpal: Ish. 02:18:37 vorpal, i would guess thats probably true on average 02:18:42 Vorpal: No American eats peanut butter straight, for one... 02:18:42 keep some of the sauce for putting on the kebabs after cooking 02:18:44 itidus21, that is kind of sad 02:18:49 im not american 02:18:51 im just guessing 02:18:53 pikhq, what do you mean "straight"? 02:18:59 sure I meant on toast or such 02:19:04 possibly on the apple pie 02:19:05 Vorpal: Ah. 02:19:06 wouldn't surprise me 02:19:12 Peanut butter on toast is a common thing. 02:19:19 apple pie is american? 02:19:19 if not, you should try peanut butter on apple pie 02:19:21 More common is as part of a sandwich, or as an ingredient. 02:19:29 Apple pie is typically done with ice cream. 02:19:30 shachaf: szeuchan peppercorn produces a tingly sensation that is said to be like licking a 9 volt battery 02:19:30 Vorpal: american restaurants enjoy releasing burgers designed to give health problems :D 02:19:35 madbr, yes definitely. Sure it happens elsewhere. But over there it is a constant state 02:19:36 it's totally unlike spicy peppers or pretty much anything else 02:19:43 Hamburgers are very common. 02:19:50 Like, that *is* the stereotypical meal. 02:19:52 i mean.. like.. monster burgers 02:19:56 itidus21: yes it's a conspiracy by the man that you're fat 02:20:06 it couldn't possibly be that the restaurants are just producing what people want to eat 02:20:13 Vorpal: Nearly all US cars are probably oversized by your standards. 02:20:22 -!- azaq23 has joined. 02:20:33 i have eaten scoops of peanut butter out of the jar 02:20:33 I'm not sure I like szechuan pepper 02:20:35 kmc: its a pleasant coincedence.. 02:20:39 pikhq, I would say we have a large car, it being a station wagon. But it is small compared to the american ones 02:20:42 let me find an image 02:20:43 kmc: I've never licked a 9-volt battery. 02:20:45 it's kinda like flavoring stuff with cedar fruit 02:20:49 Vorpal: We wouldn't drive somewhere actually that close, but we would probably drive distances you'd consider walking distance just because it's not sane to walk most places. 02:20:55 people want to eat satirically unhealthy burgers 02:20:59 Vorpal: Statistically, we are fairly likely to be overweight. 02:21:08 burgers aren't too bad 02:21:13 it's the cola that kills you 02:21:18 pikhq, this https://upload.wikimedia.org/wikipedia/commons/c/c5/Fiat_Marea_Weekend_front_20090329.jpg 02:21:21 Vorpal: And the gun ownership thing is mostly rural areas or parts of the South. 02:21:22 pikhq, do you consider that large? 02:21:25 "As many fast-food chains introduce healthier fare amid fears of being sued, Hardees is bucking the trend, serving up a megaburger with 1,420 calories and 107 grams of fat." 02:21:32 isn't the number of calories you consume far more important than the particular composition of the food? 02:21:40 i mean if you ate 20 "healthy" burgers t hat would be pretty bad too 02:21:42 Vorpal: Small-to-average. 02:21:45 The "Monster Thickburger" two 1/3-pound slabs of Angus beef, four strips of bacon, three slices of cheese and mayonnaise on a buttered sesame seed bun sells alone for $5.49, $7.09 with fries and a soda. 02:22:02 pikhq, I would consider it large. Especially when I reverse it into a parking slot. 02:22:09 and yeah 02:22:12 non-diet soda is just dumb 02:22:18 learn to like diet soda taste, or drink something else 02:22:19 kmc: yeah but just compare that to the soft drink tubs that comes with them 02:22:29 isn't the number of calories you consume far more important than the particular composition of the food? <-- not really iirc 02:22:30 soft drinks suck 02:22:41 you want a bit of everything and not too much of anything 02:22:46 they are the worst cheap industrial crap 02:22:48 and some healthy exercise as well 02:23:22 drink pepsi in restaurants, whatever, they need a profit margin after all 02:23:26 Vorpal: We have tons of people driving fairly *large* pickup trucks. 02:23:31 madbr, I drink water in there 02:23:32 drink pepsi at home, are you crazy? 02:23:42 Vorpal: Not because they actually use it. But because they just want a giant vehicle. 02:23:43 and i think some places have these deals that if you can eat the whole meal you can have it for free (but i admit its all a bit satirical) 02:23:47 why do people do carbonated drinks. They mess up my stomach 02:23:54 and it doesn't add to the taste 02:24:09 advertisement 02:24:30 pikhq: it's a prisoner's dilemma, if you are driving a massive car and get into a collision with someone driving a less massive car, you will do better 02:24:32 I think at some point coke or pepsi tried doing less ads, and the sales fell 02:24:47 and we can't stop driving so many cars and having so many collisions because it's The American Way 02:24:48 pikhq, my parents actually have a reason to own a station wagon. My mom is a garden nerd. That car can take 15 x 50 kg bags of earth or manure 02:25:07 god forbid we should make transportation the responsibility of trained experts rather than every drunken idiot 02:25:15 pikhq, would likely have had a smaller car if it wasn't for that 02:25:33 kmc, your driving test is a joke 02:25:40 my driving test? 02:25:43 * kmc doesn't have a driving test 02:25:45 no the US one 02:25:47 Vorpal: European small vehicles literally don't sell in the US. 02:25:52 and US car safety regulations the same 02:25:54 Vorpal: There's not a US driving test. 02:25:54 Vorpal: there isn't a "US driving test" 02:26:02 every state has their own test and procedures for granting licenses 02:26:02 Vorpal: There's 50 driving tests. 02:26:03 right 02:26:08 most of them are jokes 02:26:09 pikhq: probably at least 52 02:26:10 Just 50? 02:26:11 from what I heard 02:26:14 kmc: Ah, duh. 02:26:25 DC, Puerto Rico, et al. 02:26:42 I mean come on, you don't regulate the maximum light emitted from the half-light (or whatever you call that in English) 02:26:49 In the US Virgin Islands they drive on the left side of the road. 02:26:52 federalism isn't quite dead, it's just that now the states handle whatever the federal government doesn't want to do, rather than having some actual soverignty 02:26:58 shachaf: really? 02:26:58 from what I read your car headlamp rules are a joke compared to EU 02:27:07 kmc: Well, at least on the one island I was on. 02:27:12 read the WP article about car headlamps 02:27:12 there are federal car standards and state ones as well 02:27:20 for example california is famous for more strict emissions standards 02:27:28 shachaf: Wikipedia confirms it 02:27:44 pikhq, ^ 02:27:54 Vorpal: Yes, our licensing and regulations are lax in general. 02:27:54 -!- Phantom_Hoover has quit (Remote host closed the connection). 02:28:10 Vorpal: In part because you basically can't hold down a job without a vehicle. 02:28:21 pikhq, they were overly strict before. Only permitting round ones from like the 1950s to the 1970s or so iirc 02:28:24 except in certain areas 02:28:28 ^ pikhq 02:28:32 kmc: Yes. 02:28:37 and no smooth glass in front to reduce areodynamic drag 02:28:45 what were you guys thinking? 02:29:00 Vorpal: Protectionism, of course. 02:29:12 pikhq, huh? 02:29:14 If it's impossible to sell a European vehicle in the US, that protects the US car industry! 02:29:16 gotta compete with the wily Japanese 02:29:20 ... Yes, this is a mindset. 02:29:25 pikhq, they just made slight modifications 02:29:36 You'll note that this didn't actually work out too well. :) 02:29:41 indeed 02:29:55 turns out that without competition, they made shit cars! 02:30:05 and you use (used?) your own voltage standards for the car headlamps 02:30:19 12.8 instead of 12 V iirc 02:30:22 or something like that 02:31:02 the one thing I don't get is 50 vs 60 hz hdtv 02:31:07 "The first dual-filament halogen bulb (to produce a low and a high beam with only one bulb), the H4, was released in 1971 and quickly became the predominant headlamp bulb throughout the world except in the United States, where the H4 is still not legal for automotive use. In 1992, the Americans created their own standard for a bulb called HB2/9003, almost identical to H4 except with more stringent const 02:31:08 raints on filament geometry and positional variance, and power consumption and light output expressed at the U.S. test voltage of 12.8V." 02:31:15 madbr, hm? 02:31:32 madbr: That's just hysterical raisins. 02:31:41 madbr, what are you talking about? 02:31:56 why is there more than 1 hdtv standard 02:32:01 the vertical refresh rate? 02:32:01 Vorpal: Some places use 1080i50, others use 1080i60. 02:32:04 Yes. 02:32:21 I thought TV used like 24 or 30 FPS 02:32:21 so ridiculous 02:32:26 aha no 02:32:32 well the specs for broadcast TV are completely different in USA vs elsewhere 02:32:35 it's not just framerate 02:32:38 Vorpal: 50/60 Hz. 02:32:46 Vorpal: NTSC (US and some other places) uses 29.97 FPS 02:32:52 PAL (most of Europe) uses 25 FPS 02:32:55 most film uses 24 02:32:58 pikhq, that much? Aren't movies generally 24 FPS? 02:32:58 60 fields per second 02:33:05 Vorpal: Yes. 02:33:07 interlaced half-frames 02:33:10 pikhq, how do you even properly scale that when broadcasting TV? 02:33:25 Vorpal: In Europe, they speed up the film. 02:33:26 tbh I call it 50 and 60 fps 02:33:26 I mean, when airing a movie 02:33:47 yeah, 24 Hz to 25 Hz is done by speeding up and adjusting audio pitch 02:33:48 you could say it's only half the lines but I think it's still a frame 02:33:48 Vorpal: In the US, they use a pulldown pattern, so not all frames are shown for the exact same amount of time. 02:33:57 just that every other frame is offset by half a frame 02:33:58 pikhq, wouldn't that be jerky? 02:34:10 Vorpal: Slightly. It's hard to notice. 02:34:11 how relevant. 02:34:12 pikhq, what do DVD players do then on a typical PC? 02:34:22 it's something you can train yourself to notice and then be insufferable about 02:34:35 what really bugs me these days are the TVs that do frame interpolation 02:34:39 vorpal: they probably just randomly vsync 02:34:47 hah yeah 02:34:49 Vorpal: Deinterlace and inverse pulldown. Also ignore the pulldown pattern if it's soft pulldown. 02:34:58 kmc: Is "Television remote" redundant? 02:34:59 i was reading about an upcoming south park game based on LOTR, and they were talking about using pulldown pattern to convert the walk cycle from 24fps to 30fps or whatever it is 02:35:05 pikhq, sorry? 02:35:13 deinterlace I understood 02:35:13 30 FPS content looks "cheaper" than 24 FPS 02:35:14 the rest? 02:35:15 (soft pulldown is where the video is stored 24fps, but with instructions on how to render it in 30fps) 02:35:18 because video is cheaper than film 02:35:29 an arbitrary association which has become entrenched in the way we consume content 02:35:30 kmc, eh, I prefer 60 FPS, it looks smoother 02:35:33 Vorpal: Inverse pulldown is where you match the pulldown pattern and pull out the 24fps content. 02:35:45 so these interpolating TVs make everything look like a Mexican soap opera 02:35:56 (in the words of Jack Donaghy) 02:35:56 kmc, you can see the difference between watching a game on youtube and playing it yourself at 60 FPS, and I don't just mean the compression 02:35:57 kmc: Except shittier. 02:36:00 Vorpal: that's not what I mean 02:36:04 pikhq, ah 02:36:06 I'm not talking about which one looks better objectively 02:36:10 or even subjectively 02:36:15 vorpal: games were lucky 02:36:23 they started at 60 fps 02:36:24 I wouldn't actually care about the interpolation (much), except that they give you artifacts. 02:36:38 i'm talking about the association formed from having lots of low production quality content at 30+ FPS and lots of high-budget or "artsy" content at 24 FPS 02:36:38 madbr, you can easily go higher with most games though 02:36:40 so the "more frames = better" mentality set in 02:36:41 if the hardware can do it 02:36:47 madbr, anyway consoles generally do 30 FPS 02:36:49 james cameron also complained about this 02:36:50 on a computer, sure 02:37:01 vorpal: before 3d they did 60 fps 02:37:04 because 3D films don't really work at 24 FPS, but anything above looks "cheap" to at least some viewers 02:37:14 madbr, I know people who have 120 Hz monitors. Generally for usage with 3D glasses 02:37:30 Vorpal: Older consoles actually did 60fps, and emitted an invalid TV signal to do progressive scan at half the vertical resolution. 02:37:46 pikhq, how comes that worked at all? 02:37:48 also huh 02:37:57 SNES does progressive scan actually 02:38:07 kmc: Did you see Simon Marlow's concurrent and parallel Haskell slides? 02:38:13 I only ever played SNES in emulator 02:38:17 Because TVs aren't strict validating devices, they're just NTSC/PAL decoders driving a CRT. 02:38:24 essentially they just ignored all the bullshit timing you had to do to have the lines offset half the frames 02:38:47 and generated the same timing every frame 02:38:53 Yup. 02:39:02 kmc: They're good. 02:39:03 pikhq, surely you can't get 60 FPS on the TV from that though? 02:39:08 kmc: http://community.haskell.org/~simonmar/slides/cadarache2012/ 02:39:09 Vorpal: Sure you can. 02:39:20 Vorpal: They're drawing 60 fields per second... 02:39:23 vorpal: well, TVs are 60 fps 02:39:32 -!- oerjan has quit (Quit: Good night). 02:39:42 but you offset your timing on half the frames 02:39:55 Vorpal: And if you've hacked the timing somewhat so they draw the lines of each field at the same place, you're basically doing 60 frames per second. 02:40:03 pikhq, wouldn't there be problems with the time the phosphor stayed lit between 60 FPS and 25 FPS (for PAL) 02:40:12 which gets you 480 lines instead of the real value of 240 lines 02:40:21 Vorpal: PAL systems did 50fps instead. 02:40:26 ah 02:40:30 pikhq, still 02:40:32 SNES etc were progressive scan so they actually do a 240 line picture 02:40:40 and you can see the black between the lines 02:40:41 Vorpal: And the answer is "yes". 02:40:44 what is the resolution of PAL then 02:40:53 pikhq, oh? So there were issues? 02:41:05 Vorpal: Just somewhat weird brightnesses, IIRC. 02:41:11 ah 02:41:21 Vorpal: It's not like drawing on the phosphor too often actually causes *major* issues. 02:41:31 fair enough 02:41:48 irl most tvs were so fuzzy it didn't really matter anyways :D 02:42:01 pikhq, what about it fading too slow when the screen changes though? Ghost images and such I mean 02:42:12 Older PAL consoles just did 240 lines... 02:42:12 madbr, hardware antialias! 02:42:30 afaik CRTs fade really fast actually 02:42:34 pikhq, and usual PAL is how many lines? 02:42:40 Vorpal: IIRC, the phosphor fades really fast. 02:42:54 so fast that most of the picture you see is actually just a residual image on your retina 02:42:55 then why does 25 FPS even work 02:43:03 that's how the light gun works 02:43:08 Vorpal: They're scanning it 50/60 times per second and interlacing because they needed to scan that fast to not blink. 02:43:12 madbr, ah right yes 02:43:28 right, forgot the interlacing 02:43:58 light gun watches for a change in brightness 02:44:05 pikhq, anyway I found CRT computer monitors painful to use at less than 75 Hz 02:44:14 and even then they are not nice to use 02:44:23 once that happens you know the timing and can figure out which pixel you've been aiming at :D 02:44:48 heh 02:45:06 Vorpal: PAL is usually 576i. 02:45:23 Real Programmers use an analog vector generator with a vector CRT 02:45:39 so doing 240p... right someone said they left black lines above 02:45:43 Yup. 02:46:05 what generation of consoles stopped doing this craziness? 02:46:28 ps2 i think 02:46:45 what is that in nintendo 02:46:54 gamecube? 02:46:58 I don't remember 02:47:04 had enough fillrate to render in like 640x480 :D 02:47:04 technically ps2 in nintendo is gamecube 02:47:13 yeah gamecube is interlaced 02:47:27 hm 02:47:36 Yeah, pretty sure it was PS2/GC/Xbox. 02:47:49 gamecube can do component out.. i had component out on mine... 02:47:51 did they go 30 FPS then too? 02:48:04 or wait I guess not all modern console games are 30 FPS, only most 02:48:09 Mostly, yeah. 02:48:13 but when i traded it in.. the bitch at that store treated it like garbage 02:48:17 pikhq, I would be surprising if fighting games weren't 60 FPS 02:48:23 surprised* 02:48:29 Vorpal: The screen's not 60 FPS, though. 02:48:33 pikhq, oh? 02:48:35 actually even PSX can do interlaced 02:48:39 but there's no point 02:48:39 It just redraws 60 times per second. 02:48:43 madbr, PSX? 02:48:48 play station 1 02:48:51 :D 02:48:54 PS1 you mean then? 02:49:02 its also known as psx for some reason 02:49:04 usually it's abreviated PSX 02:49:08 for some reason yeah 02:49:18 pikhq, what is the refresh rate for the screen then? 02:49:36 Vorpal: 60 Hz. 02:49:58 incidentally psone was a re-release of ps1/psx .. a pointless thing really 02:50:07 pikhq, doesn't that equate to 60 FPS max possible? 02:50:22 can't actually do anything new, just comes in a case which is cheaper to manufacture 02:50:38 Vorpal: But if you're actually drawing a standard TV signal you only get 60 fields per second. 02:50:39 iti: and probably combined all the chips together :D 02:51:04 pikhq, with a field you mean? 02:51:11 in fact I wonder if the snes can do interlace 02:51:42 pikhq, also which TV signal standard is this 02:51:55 Vorpal: You get the same amount of *motion* with 240p60 and 480i30, BTW. 02:52:11 uhu 02:52:19 It's not that you get only 30 full frames per second with 480i30. 02:52:19 pikhq, what do you mean with motion here 02:52:32 You get 60 frames with every other line chopped out. 02:52:38 I know what interlaced is yes 02:53:02 the US standard did 29.something right? 02:53:04 not 30 02:53:08 29.97 I think 02:53:17 _features_ of the psone as listed on wikipedia is: added protection against the use of modchips, a lack of the original PlayStation's parallel and serial ports, 02:53:19 maybe it is close enough 02:53:28 Yes, when we switched to color we divided the framerate by 1001 to prevent interference between the color signal and audio signal. 02:53:30 though over time you should run into some issues 02:53:33 and it's just some thing they introduced later to deal with some timing issue on some shitty TVs 02:53:39 Erm. Not 1001. 02:53:47 It's 30000/1001 frames per second, though. 02:54:14 madbr: No, it's color. 02:54:26 irl stuff like SNES probably generates like 29.9fps 02:54:29 also psone has an external power supply! 02:54:39 madbr: Part of the color signal would interfere with the audio if you stuck at 30fps. 02:54:46 since it actually only draws 524 lines per 2 frames instead of 525 lines 02:54:54 (IIRC) 02:54:58 pikhq, why didn't you just go PAL? 02:55:06 Vorpal: PAL didn't exist. 02:55:10 ah okay 02:55:38 PAL was invented to overcome NTSC's shortcomings. 02:55:49 I think there's even a 60hz version of pal 02:55:55 10 years after NTSC color came into being. 02:55:59 madbr: Yeah. Brazil uses it. 02:56:38 pikhq, then why didn't you switch 02:57:01 oh the N in NTSC stands for "national", how typical 02:57:02 how did pal work again 02:57:02 Vorpal: PAL was *invented* 10 years after NTSC color was *adopted*. 02:57:16 invert colors for every 2nd line or something like that no? 02:57:20 pikhq, fair enough, what did Europe do during those 10 years? 02:57:38 Black-and-white. 02:57:41 ah 02:57:54 Regular color broadcasts in Europe started in 1967. 02:58:02 (UK and West Germany, specifically) 02:58:23 anyway, how typical of US to put "national" in a name. It is like how the UK puts "Royal" in names 02:58:30 At this point, NTSC color was 14 years old. 03:00:09 pikhq, are the NTSC and PAL greyscale signals compatible? 03:00:11 I guess not 03:00:22 but why did they have separate systems there before then 03:00:42 Vorpal: Actually, the only differences are the framerates and the frequency allocation. 03:00:48 hm 03:00:54 there are only so many ways to do analog monochromatic TV 03:01:00 why did the framerates end up being different before? 03:01:15 Vorpal: different researchers working in different countries settled on different arbitrary choices 03:01:17 The framerates were based on the AC frequencies. 03:01:23 ah 03:01:29 pikhq, why was that important though 03:01:29 because if you don't sync to AC on an old analog tv the picture dances :D 03:01:36 was solved later on but still 03:01:39 heh 03:01:42 Vorpal: Because it was available as a cheap oscillator. 03:01:51 it ruined video forever? 03:02:04 (ie they figured how to do actually good power supplies :D) 03:02:47 madbr, switching? 03:02:52 dunn 03:02:53 o 03:03:39 also France had their own system right 03:03:41 forgot the name of it 03:03:56 secam 03:04:06 Vorpal: The only differences you can have with analog black-and-white video are refresh rates, frequency allocations, and whether a low signal is white or black... 03:04:09 essentially pal but with a different color scheme 03:04:18 ah 03:04:19 All of these have been different in different countries. 03:04:25 (FM color, alternating the color component on every line) 03:05:35 what is the format of the audio signal of PAL? Plain FM? 03:05:40 AM 03:05:47 really, heh 03:06:02 Vorpal: "Depends". 03:06:02 actually quadrature amplitude modulation or something 03:06:06 I would expect worse sound quality then 03:06:12 pikhq, oh? 03:06:18 Vorpal: There is not a single PAL OTA standard. 03:06:25 Vorpal: There are dozens. 03:06:26 with amplitude of modulation = saturation and phase of modulation = hue 03:06:33 pikhq, as used in Sweden 03:08:02 or, real part of the color signal = red - luminance and imaginary part of color signal = blue - luminance 03:08:03 I think 03:08:08 pikhq, thing is I many years ago built a radio receiver from a kit (circuit board and components provided, solder yourself kind of deal) and managed to get the audio of one of the Swedish TV channels when tweaking the tuning knob. I think it was an FM receiver. 03:08:13 Vorpal: Seems it was FM. 03:08:26 well that explains that 03:08:48 yeah TV audio is over FM 03:09:04 Hmm. Seems it was almost always FM. 03:09:11 madbr, you said it was "quadrature amplitude modulation or something" above :P 03:09:11 France used AM. 03:09:23 And positive video modulation... 03:09:37 quadrotor amplitude modulation 03:09:56 pikhq, meaning? 03:10:11 Vorpal: Low signals are white, high signals are black. 03:10:23 makes sense 03:10:31 it is probably the most natural way to do it 03:10:37 err wait I misread 03:10:43 it is NOT the most natural way to do it 03:10:49 The exact opposite of what's used in every other system that survived past the 50s. 03:10:55 pikhq, why would anyone do that, is there some technical advantage of it? 03:11:04 No technical advantage at all. 03:11:24 any technical disadvantage though? 03:11:27 vorpal: oh, QAM is for the color 03:11:29 Not that I know of. 03:11:32 french system has to be different 03:11:56 pikhq, I guess at least one of them needs to invert the signal controlling the power to the cathode ray though? 03:12:03 The UK also used to use positive modulation. 03:12:13 They shut off broadcasts on that signal ages ago though. 03:12:20 what was that called? 03:12:27 System A. 03:12:48 catchy 03:13:12 pikhq, which type of modulation needs to invert the signal compared to the cathode ray tube power though? 03:13:17 Vorpal: Dunno. 03:13:22 one would have to 03:13:25 inverted signals make sense no? 03:13:34 ie high signal = black 03:14:23 madbr, the case of high = no beam hitting the phosphor 03:14:29 maaaybe? 03:14:56 there's a good reason 03:15:02 oh? 03:15:05 if high signal = white 03:15:13 yes, makes sense 03:15:16 how do you correct for signal amplitude? 03:15:32 I'm not sure what you mean 03:15:49 suppose you receive the signal at half the amplitude you were expecting 03:16:12 madbr, I presume you need to use transistors or similar to drive the high voltage to the cathode ray anyway 03:16:22 like, you need 0 to 1 03:16:26 but you got 0 to 0.5 03:16:33 so you could just adjust the strength of it there 03:16:48 yeah but you need to guess the amplification factor 03:17:02 you know how TVs used to have all those knobs on the front 03:17:05 won't you need to do that in the other case too? 03:17:08 and you have to fiddle with them to get a good picture 03:17:11 no see 03:17:12 and yeah they used to have lot of knobs 03:17:18 if you make black the highest level 03:17:21 damn kids these days don't know about knobs 03:17:33 then at least once per scanline you have a sync 03:17:46 kmc, oh come on, I had a TV with lots of knobs until like 7 years ago. 03:17:49 kmc, from the 80s 03:17:53 (which is encoded as hyper-black) 03:18:08 madbr, surely you could just do a similar white sync instead? 03:18:10 madbr: You actually can tell what the amplitude is. 03:18:36 i remember one of my first tv's had sliders for colour, brightness, contrast 03:18:39 madbr: Because all signals are relative to the absolute low point of the sync signal, and you have a period of regular black after the sync. 03:18:39 vorpal: would be harder on TVs :D 03:18:56 and that you could make the pictures larger by turning up some of these sliders 03:19:20 i don't know a better word than slider 03:19:35 right, since you're guaranteed to have the lowest possible level at least once per scanline (sync), then you can easily guess the signal amplitude 03:19:41 if you use negative signaling 03:19:48 Colour [-----[]-----------] 03:20:19 yeah I remember our tv having settings for that, but you changed them digitally with the remote 03:20:29 and irl you could just make everything worse mostly 03:20:31 shachaf: good call on "TV remote", by the way 03:20:40 default adjust was fine 03:20:42 madbr: worse = fun 03:20:58 when i was a small person i took a magnet to the front of our television 03:21:01 the red would really bleed onto everything 03:21:01 madbr: You're also sure to have the lowest ordinary signal level a bit higher above that. 03:21:04 and my parents were too cheap to buy another one 03:21:10 so for 10 years we had wrong colors on everything 03:21:23 kmc: That's why I made sure not to buy discount parents. 03:21:28 -_- 03:21:36 It'a big up-front cost, but you're stuck with them for life. 03:21:42 pikhq: well, yeah you're sure to have some black too 03:21:44 kmc, must have been a really strong one then. Usually such things clear themselves pretty quickly 03:21:54 or you can hit the degauss thingy, at least on computer CRTs 03:22:02 yeah that came later 03:22:12 Vorpal: Yeah, most TVs don't have degaussing coils. 03:22:16 I think tv repairmen could degauss a tv too 03:22:24 Yeah. It's not hard to do. 03:22:41 pikhq, but even then magnets usually don't leave lasting problems 03:22:46 only temporary ones 03:23:15 Degauss :-( 03:23:18 * shachaf nostalg 03:23:38 every time you deguass a small man resembling gauss can be seen fleeing 03:24:31 http://img.spikedmath.com/comics/504-scumbag-gauss.png 03:25:57 wonder how much time is left until an asshole proves p!=np 03:26:31 anyway im killing the topic... >.< 03:26:36 pikhq, according to wikipedia the "thunk" when turing on the TV comes from automatic degaussing, don't know if that is correct though 03:26:48 Vorpal: Not all TVs do that. :) 03:26:56 never seen one that didn't 03:27:20 madbr: Because all signals are relative to the absolute low point of the sync signal, and you have a period of regular black after the sync. 03:27:20 vorpal: would be harder on TVs :D 03:27:34 right, since you're guaranteed to have the lowest possible level at least once per scanline (sync), then you can easily guess the signal amplitude 03:27:34 if you use negative signaling 03:27:56 itidus21: he had to leave *something* for other people to do 03:28:28 yeah if you use positive signaling you need at least a bit of white to figure out your signal range 03:28:46 or you could try to guess it from the difference in level between hblank and black 03:28:57 wow, a whole wikipedia page for "List of things named after Carl Friedrich Gauss" 03:29:11 /gaus/ 03:32:22 Gauss Facts seems indicated at this point 03:32:34 http://www.gaussfacts.com/ 03:32:57 -!- copumpkin has changed nick to Kronos. 03:33:05 -!- Kronos has changed nick to copumpkin. 03:35:05 comex! 03:35:06 Er. 03:35:08 copumpkin! 03:35:14 yo 03:35:17 comex is cool too 03:35:24 I'd be more excited about him than myself 03:35:36 Oh. 03:35:40 Never mind about you, then. 03:35:43 comex: Are you the dual of mex? 03:35:55 copprumpkin regex 03:57:56 `log comex 03:58:16 shachaf: maybe 03:58:20 ahh! 03:58:29 No output. 03:59:57 hm what do you do for android an java package names if you don't own a domain? 04:01:57 cx.goatse.MyShittyApp 04:16:41 -!- ogrom has joined. 04:28:03 -!- DHeadshot has quit (Ping timeout: 245 seconds). 04:28:51 kmc, oh come on 04:42:48 jabberwock.vorpal.package 04:43:17 oh i know the right answer 04:43:30 you create a ytmnd for your project 04:44:05 Vorpal: You should get a domain name. 04:44:25 Is Alabama a country yet? 04:46:15 yes it's a third world country 04:49:13 ... Huh. 04:49:19 iso646.h 04:50:39 That and some digraphs, and you can write some really weird C. 04:52:01 int main(int argc, char *argv<::>) <% return not printf("Yes, really, this is C.??/n"); %> 04:56:05 main(argc, argv) char *argv<::>) <% return not printf("Yes, really, this is C.??/n"); %> 04:56:41 I don't think that'll work. IIRC C99 gets rid of K&R-style declarations. 04:56:52 And digraphs are C99. 04:57:25 // Will the next line be executed????????????????/ 04:57:25 a++; 04:58:34 Ugh. 04:58:38 pikhq: Digraphs are C99? 04:58:42 shachaf: Yes. 04:58:50 shachaf: Oh, sorry, I'm wrong. 04:58:52 Weren't digraphs a thing invented for really old machines? 04:58:55 shachaf: '94 addon. 04:59:00 Yes. 04:59:11 However, iso646.h *is* C99. 04:59:31 shachaf: Digraphs were also invented because trigraphs (a C90 thing) were ridiculous. 04:59:39 s/#include /#define not !/ 05:00:01 Oh, I confused digraphs and trigraphs. 05:00:12 main(argc, argv) char *argv??(??); ??< return not printf("So much uglier!??/n"); ??> 05:00:52 Trigraphs are the ones processed basically via sed before anything else. 05:01:03 Whereas digraphs are synonyms for tokens. 05:01:26 Ah. 05:09:42 they were invented because ebcdic was missing some characters no? 05:10:02 i think it's because some keyboard layouts make those characters hard to type 05:11:24 "Tcl is formally just as powerful since everything is a string, but it is usually not practical to have Tcl code take Tcl scripts apart and modified, since there are few facilities available out of the box for handling Tcl scripts at a higher level than as a string of characters (there are packages for higher level handling, however)." 05:11:24 and some national variants of ISO 646 don't have them 05:11:26 *sigh* 05:12:26 -!- azaq23 has quit (Remote host closed the connection). 05:13:30 kmc: looking up ISO 646 05:13:36 what the hell is this dinosaur 05:14:03 it's ASCII and the various other national 7-bit codes based on it 05:14:54 ISO 8859 > ISO 646 05:15:25 yes but where the heck was that char set used 05:15:25 yeah 05:15:45 ASCII? it was pretty popular bro 05:15:55 you've probably heard of it before 05:16:10 kmc: You mean restricted UTF-8? 05:16:14 u madbr o? 05:16:22 no I mean iso646 05:16:42 [ISO 646 is] ASCII and the various other national 7-bit codes based on it 05:18:00 so in ISO 646 you have 7-bit characters, with 82 positions fixed (the "invariant set") and others varying by language 05:18:18 in ISO 8859 you have 8-bit characters, with 128 positions fixed (corresponding to all of ASCII) and the other 128 varying by language 05:18:46 Sgeo_: Incidentally, all valid Tcl scripts are also valid Tcl lists. 05:18:50 and now we have Unicode, which is the same everywhere, with various different standards for representing Unicode characters as sequences of bytes 05:20:00 pikhq, but not necessarily easy-to-process lists: semicolons become part of elements and newlines are ignored when viewing a script as a list, right? 05:20:17 Sgeo_: Bleh, probably. 05:20:21 yeah but what sort of real system uses iso 646 05:20:30 Sgeo_: Tcl metaprogramming eventually gets kinda weird. 05:20:35 you are huffing glue or something 05:22:02 Yet Lisp metaprogramming seems like it's simpler 05:22:12 Sgeo_: PARENTHESES LOLOLOLLOLOLLOLLOLOLOLOL 05:22:27 Sgeo_: That's because it is a bit simpler. 05:22:58 So why am I looking at Tcl? I think the whole starpack and Tk and event loop thing is drawing me in 05:23:18 Dunno. It is a neat language, at least... 05:23:39 iso646 looks like a pie in the sky standard some idiot came up with "because ascii is to US centric" 05:24:24 yeah, people outside the USA don't deserve computers anyway 05:24:37 they should be happy with the free bombs we drop on them 05:25:03 kmc: *free freedom bombs 05:25:17 http://en.wikipedia.org/wiki/ISO/IEC_646#National_variants so basically madbr you're arguing that all of these are fictional or just never used by anyone? 05:25:35 note the various different national standards bodies which created each one 05:25:38 they're not fictional but I'm looking around for uses 05:25:42 just "some idiot" right 05:26:02 god you annoy me 05:26:32 "That's why foreign standardizers crafted up national variants of ASCII like the German DIN 66003 which my first CP/M computer (a Sharp MZ-731) used in 1984 to communicate with its daisy wheel printer or the Danish DS 2089 mentioned by Bjarne Stroustrup in § 6.5.3 of his C++ history." 05:26:37 aha 05:26:39 http://czyborra.com/charsets/iso646.html 05:26:55 yeah that's the one I saw 05:27:04 trying to find another 05:27:05 i mean this stuff is all much older than the Internet 05:27:11 so don't expect to find much of it on the Internet 05:27:18 probably much older than DOS even 05:27:42 then why did they have to put trigraphs in C 05:27:57 because characters like { } aren't in the ISO 646 invariant set! 05:28:12 they don't exist in all national variants, or they might be at different code points 05:28:17 Are they in the covariant or the contravariant set? 05:28:22 -_- 05:28:48 the section "ISO-646: First attempts to internationalize the 7bit code" in that document 05:28:50 kmc: Good enough 05:28:51 explains the problem precisely 05:28:56 what about digraphs 05:29:05 which they put in in like 1994 05:29:25 presumably some people were still using these codes in 1994 05:31:45 TIL that the BCD in EBCDIC stands for BCD 05:33:03 madbr: it takes years to upgrade legacy systems and it also takes years to get standards through the process 05:33:17 fine for trigraphs 05:33:28 but why did they have to add digraphs after that 05:33:34 as a saner alternative to trigraphs 05:33:34 in 1994 05:33:57 1994 is like PCs and amigas 05:34:00 and macs 05:34:04 mostly PCs 05:34:08 madbr: Dude, we live in a world where UTF-8 is still not ubiquitous. 05:34:10 and a bunch of legacy systems 05:34:18 this is the typical mind fallacy 05:34:20 I was *3* when UTF-8 was invented. 05:34:30 in 1994 it was DOS's weird ass character set 05:34:35 vs latin01 05:34:38 you assume that the machine you had on your desk at home represents the typical computer in the world at that time 05:34:41 I was <3! 05:34:41 vs latin-1 rather 05:34:43 * shachaf <3 UTF-8 05:34:50 ignoring the huge numbers of old mainframes, industrial control systems, etc 05:34:55 vs whatever messed up sets the Macs had 05:35:01 all of which are 8 bit 05:35:04 If it takes that friggin' long for legacy charsets to die die die die, it certainly makes sense for ISO-646 based charsets to still be in use in '94. 05:35:15 And it's perfectly reasonable to want to use C on some of them. 05:35:23 yeah but they already had a solution (trigraphs) 05:35:26 these shiny but useless PC toys were probably not at the forefront of the minds of the people designing C94 05:35:31 Except trigraphs sucked. 05:36:06 Trigraphs are essentially a sed process before you hit the tokeniser. 05:36:19 they apply inside string literals and such 05:36:20 kinda nasty 05:36:39 Digraphs are just synonyms for certain tokens. 05:37:45 yeah there are many people who would laugh at you for asserting that 1994 was "PCs and amigas" 05:37:58 what do you think was used to do real work back then 05:38:11 yeah well I hope their lines of crummy servers died 05:38:31 (most of them did) 05:38:44 You think this now because you know what survived. 05:38:58 Namely, the shittiest platform around at the time. 05:39:21 shittiest? 05:39:28 madbr: must destroy what you don't understand, eh? 05:40:05 no I'm pissed at them for taking a piss on C's tokenizer 05:40:09 madbr: The IBM PC is perhaps the single shittiest platform to have ever been notable. 05:40:36 I'm not sure the macs compared favorably 05:40:37 the major redeeming feature of the PC platform is that it's remarkably open 05:40:58 which (as we're seeing today with smartphones and tablets) is not an inevitable property of successful products 05:41:03 but rather some kind of historical accident 05:41:10 basically IBM wasn't paying enough attention to lock it down 05:41:22 It's currently a 64-bit extension of a 32-bit extension of a 16-bit revision of an 8-bit CPU inspired by the *original* integrated circuit CPU. Which was 4-bit, BTW. 05:41:50 kmc: Did you see http://www.yesodweb.com/blog/2012/07/classy-prelude ? 05:41:54 madbr: lol you're still thinking about "PC vs Macs" 05:42:12 pikhq: still strangled the itanium to death 05:42:14 "as soon as Hackage comes back up" 05:42:15 lol 05:42:20 sounds like i missed some drama 05:42:52 madbr: Quality and popularity have 0 correlation. Accept it, for this is the most fundamental truth of the world. 05:43:00 i wouldn't say 0 05:43:04 but it's pretty weak 05:43:24 x86 has some nice features 05:43:36 "PC platform" ≠ x86, also 05:43:47 aside from the randomization of the instruction set 05:43:54 and low number of registers 05:44:06 people always fixate on the ISA but this is one of the less interesting choices made in designing a platform 05:44:48 The ISA is more-or-less just the consequence of backwards compatibility decisions made on day one. 05:45:03 all the people trying to design VLIW stuff? failed 05:45:30 Only the better RISC architectures hold a candle 05:45:57 (it was designed so you could trivially machine translate 8080/8008 code to it) 05:46:25 yeah and then they carefully designed a processor to get away from that 05:46:30 and ended up with the i432 05:48:51 does the ISA really matter that much once you're doing out of order execution and register renaming? 05:49:50 It does, but not as much as several other shitty, shitty design decisions in the platform. 05:50:01 Figure 1: The BIOS. 05:50:43 is binary technically redundant? :D 05:52:08 ok i was wrong its not binary 05:52:15 i dunno how i got that idea in my head.. basic 05:52:40 what I'm saying is that, yes PCs have lot of baggage, but then if you look at the competing personal computers from back then, they had worse flaws 05:53:03 why do you think we're talking about personal computers 05:53:19 that's what the PC is 05:53:25 that's how it took the market 05:53:53 Imagine if the C64 had evolved like the IBM PC. ... In '94, it would be the shittiest platform. 05:54:49 I guess it would eventually have ended up with the 16 bit version of the 6502 05:55:07 well we were talking about how trigraphs are necessary for programming in C on certain platforms 05:55:15 and you seem to have assumed those platforms are "personal computers" 05:55:25 which is extremely far from the truth 05:55:41 aiui even programs for personal computers would often be compiled on bigger machines, in that era 05:55:57 kmc: never heard of that one 05:57:16 kmc: I didn't think that was *too* common by the 90s. 05:57:33 Certainly it was the case earlier. 06:01:58 but yeah as flawed as the PC was, it was probably the best of the personal computers 06:01:59 IMHO 06:03:07 yes the personal computer is the best personal computer. 06:03:08 I agree. 06:03:13 nothing else could be as good of a personal computer. 06:03:20 -_- 06:03:22 lol 06:03:27 jezz 06:04:10 redundant acronyms am i rite 06:04:11 raucous laughter here 06:04:52 i don't think redundant acronyms represents a full survey of the absurdity unfolding 06:05:13 I just choose to interpret PC as literally "personal computer" 06:05:23 what other interpretations are possible? 06:05:27 instead of "machine running Windows" or whatever it's supposed to mean nowadays. 06:05:52 the whole "PC vs. Mac" thing... 06:05:57 but Macs are PCs! 06:06:16 "IBM PC" is a computer platform 06:06:25 "It's not that I'm incapable of understanding what you meant, I just choose to misinterpret regardless of however it derails the conversation because it makes me feel better about something" 06:06:30 meaning it's a set of specifications for a processor and how that processor interacts with peripherals 06:06:44 stuff like, here is your bus, here is your BIOS and the functions it provides, here's how you boot 06:07:02 "PC" today would refer to a large and evolving collection of such specifications 06:07:02 I see. I must have arrived late to the party. 06:07:17 shachaf: is that a quote from somewhere? 06:07:36 No. 06:07:47 kallisti: The term WC has been suggested for a computer running Windows. 06:08:08 * kallisti pretends to be an ignorant American. "I DON'T GET IT" 06:08:10 i'm not sure to what extent "Macs are PCs" under that view 06:08:24 EFI is part of the new world order for PCs, isn't it 06:08:45 you can boot an EFI-aware Windows or Linux system on a Mac without Boot Camp, can't you? 06:08:49 perhaps a PC is a machine which is not a Mac 06:09:01 itidus21: perhaps bonghits will fix your dichotomy 06:09:08 EFI isn't an Apple thing. 06:09:15 i know 06:09:18 Well, maybe Apple is the only one who uses it. 06:09:20 but Macs use it, no? 06:09:33 i thought other consumer hardware was EFI capable by now 06:09:57 does EFI still boot in 16 bit mode? 06:10:18 I thought a PC was a computer designed for and in the price range of an individual person. 06:10:25 I think kmc has taken a more specific definition the one I use. 06:10:26 kmc: Rather a lot of it is by now. 06:10:36 kallisti: I took the definition used by the preceeding discussion 06:10:37 madbr: Technically, all x86 CPUs do. 06:10:40 where "PC" was short for "IBM PC" 06:10:58 yeah 06:11:02 madbr: EFI firmware just switches to protected or long mode early in the boot sequence, before control is handed to the OS. 06:11:09 bastard 06:11:27 was just thinking they were trying to find a way to avoid the 16 bit part in the boot 06:11:47 to eventually make 16bit support not necessary at all and eventually take it out of CPUs 06:12:01 jenga principle 06:12:06 It'll take the death of the BIOS first. 06:12:38 And then a new generation of CPUs which are incompatible with EFI firmwares that start in 16-bit mode. 06:14:09 Even then, you'd probably want those CPUs to be long mode only, so you don't have to think about virtual 8086 mode. 06:14:51 * kallisti goes back to his corner. 06:17:26 32bit mode on x86 still probably has a long life left tho 06:18:10 Yup. 06:18:36 And so we're stuck with a single platform with ludicrous floats. 06:18:45 floats? 06:18:55 x87. 06:19:11 isn't it slowly being replaced by SSE? 06:19:49 not that it really matters, afaik for most cpus, x87 and SSE use the same ALUs anyways 06:19:55 -!- pikhq_ has joined. 06:20:20 but x87 supports the wacky 80-bit float format 06:20:30 if x87 went away you could drop the hardware to support that 06:20:34 not sure if that really matters 06:20:34 for intermediate computation only 06:20:42 you can also load/store them 06:20:52 but anyway, you still need that hardware to produce the correct results 06:20:53 madbr: The 32-bit x86 ABIs don't generally *permit* you to ignore x87. 06:21:06 Floats are passed on the x87 register-stack. 06:21:15 kmc: yeah but that's actually rare 06:21:27 kmc: x87 is technically available on x86_64 as well. 06:21:30 afaik loading/storing 80bit floats is really slow 06:21:46 thought it was deprecated on x86-64 06:21:50 madbr: but the CPU still needs to support it 06:21:50 madbr: Then passing floats is really slow? 06:21:58 madbr: You pass floats on the x87 register stack. 06:22:04 Which only knows about 80-bit floats. 06:22:12 pikhq: no I mean loading and saving them to ram 06:22:46 well you can set a FPU control bit to make them act like 64-bit floats, iirc 06:22:59 kmc: which almost works 06:23:08 (exponent range isn't affected) 06:23:14 it's not actually faster though 06:23:16 -!- pikhq has quit (Ping timeout: 248 seconds). 06:23:20 x87's weird ass floats at least gives you a funny property... 06:23:28 except for / and sqrt 06:23:45 x86 has, in effect, 64-bit integers, and has even when it was a 16-bit platform. 06:23:48 :P 06:24:07 eh 06:24:30 hehe 06:25:20 x = x; 06:25:29 Did someone make an esolang where that would be a useful thing to do? 06:25:34 It vaguely sounds familiar 06:25:36 yes, it's called C++ 06:25:51 ?!?! 06:26:35 i mean, if you have some bad / weird design 06:26:48 then operator= might have some useful side effect 06:26:56 at least a performance optimization 06:27:06 mov eax, eax 06:27:12 performance optimization? 06:27:28 like what? :D 06:27:57 like rebalancing a data structure 06:28:37 how would you optimize that with 80 bit floats? :D 06:29:00 i was responding to Sgeo_ 06:29:06 who i do not believe was talking about 80 bit floats 06:29:36 Sgeo was talking about "x = x;", which could potentially have strange semantics in C++. 06:29:41 oh 06:29:46 x += 2 an lvalue in C? 06:29:48 I thought it was an emoticon 06:29:49 like it is in perl? 06:30:12 (x += 2) returns x+2 I think 06:30:18 yes 06:30:19 that's an rvalue 06:30:21 but is it an lvalue? 06:30:33 rvalue *as opposed to lvalue*, presumably. 06:30:46 unless I guess it could return the address of x 06:30:52 I should test it 06:31:55 in perl it's perfectly reasonable to do ($hash{x} = $x = $arr[2] += 1) %= 256; 06:32:08 yeah but that's perl 06:32:16 "perfectly reasonable" 06:32:53 which has some operators that can change behavior depending on if there's 0, 1 or 2+ values in an array 06:32:59 If I'm not mistaken 06:33:09 barely remember it tho 06:33:12 not that I've seen. 06:33:29 perl is far more consistent than it's given credit. 06:43:18 madbr: oh, I guess you're talking about subroutines arguments, since they're stored in an array. 06:43:29 that's the same thing as having default values in other languages. 06:50:42 -!- Taneb has joined. 06:50:57 Hello 06:50:59 -!- DHeadshot has joined. 07:03:23 -!- Taneb has quit (Quit: Leaving). 07:03:56 The fuck. Guess when Egyptian (well, its evolved descendant) died? 07:05:01 The 17th friggin' century. 07:09:16 http://news.cnet.com/8301-1009_3-57471178-83/yahoos-password-leak-what-you-need-to-know-faq/ 07:09:30 They're vulnerable to SQL injection, why expect them to store passwords sanely? 07:17:40 Assuming volatile int x that coincides with some memory-mapped device, 'x = x;' can be a reasonable thing to do. 07:18:08 Can't exactly think of an example offhand, but anyway. 07:18:53 Could also be handy to pad your executable. :P 07:19:57 -!- madbr has quit (Quit: Radiateur). 07:22:35 And to nitpick a little, 'x += 2' returns new value of x, not necessarily the same as 'x+2'. Consider e.g. unsigned char x = 255, in which case (assuming regular sizes) x+2 is likely to be 257 thanks to the default integer promotions, while x+=2 is likely to return 1. 07:48:52 -!- myndzi has joined. 08:03:09 -!- asiekierka has joined. 08:08:05 " The -- switch can be used to mark the end of switches; it may be needed if path is an unusual value such as -safe." 08:08:11 Well, I feel safe now (no I don't) 08:13:38 -!- nooga has joined. 08:20:45 -!- ogrom has quit (Ping timeout: 255 seconds). 08:35:48 -!- copumpkin has quit (Ping timeout: 250 seconds). 08:36:20 -!- copumpkin has joined. 08:46:15 Sgeo_: General rule when doing stuff like foo * is to use foo -- * ;) 08:49:42 -!- ogrom has joined. 09:10:00 -!- sirdancealot has quit (Read error: Connection reset by peer). 09:12:38 -!- sirdancealot7 has joined. 10:00:56 -!- AnotherTest has joined. 10:01:49 -!- AnotherTest has quit (Client Quit). 10:01:56 -!- AnotherTest has joined. 10:48:24 -!- ogrom has quit (Ping timeout: 255 seconds). 10:55:57 -!- Phantom_Hoover has joined. 11:37:07 -!- boily has joined. 11:50:04 -!- DHeadshot has quit (Read error: Connection reset by peer). 11:51:33 -!- derdon has joined. 12:55:45 -!- gkunno has joined. 13:12:02 -!- asiekierka has quit (Read error: Connection reset by peer). 13:17:11 . 13:17:12 .. 13:17:14 ... 13:17:16 .... 13:17:20 ..... 13:17:34 Insert requisite combo breaker. 13:17:52 success 13:17:57 -!- gkunno has quit (Remote host closed the connection). 13:41:24 From elsewhere, though I think I recall an older similar thing few years back: http://www.legoturingmachine.org/ (it's 13:41:33 -!- sirdancealot7 has quit (Remote host closed the connection). 13:41:38 I forget what the bit in parens was trying to be. 13:41:39 Anyway. 13:48:58 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 13:53:10 -!- Sgeo has joined. 13:53:18 -!- stanley has quit (Read error: Operation timed out). 13:54:53 -!- Sgeo_ has quit (Ping timeout: 244 seconds). 13:56:02 -!- stanley has joined. 14:01:48 -!- Sgeo has quit (Quit: Leaving). 14:02:15 -!- Sgeo has joined. 14:02:37 -!- Sgeo has quit (Client Quit). 14:02:55 -!- Sgeo has joined. 14:07:02 -!- copumpkin has joined. 14:27:53 -!- aod has joined. 14:28:51 hi 14:30:38 Hi 14:30:43 `welcome aod 14:30:45 hi 14:30:53 aod: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 14:31:00 -!- aod has left. 14:31:06 Good going. 14:33:00 -!- asiekierka has joined. 14:37:42 -!- pikhq has joined. 14:37:46 -!- pikhq_ has quit (Ping timeout: 244 seconds). 14:52:35 -!- ernesto1 has joined. 14:52:47 -!- ernesto1 has quit (Remote host closed the connection). 14:53:27 -!- ernesto1 has joined. 14:56:54 -!- ernesto1 has left. 14:57:18 -!- ernesto1 has joined. 15:01:55 `welcome HackEgo 15:01:58 HackEgo: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 15:02:22 He needed that . 15:02:26 At least HackEgo didn't run away screaming. 15:02:33 Unlike most other welcomees. 15:04:50 -!- ernesto1 has left. 15:06:47 -!- Taneb has joined. 15:07:26 Hello! 15:07:30 I've got bad news 15:09:01 NOn your plane were snakes? 15:09:20 Why the 0x7Fs? 15:09:30 Isn't that DEL? 15:09:39 Have you incorrectly configured your terminal? 15:09:51 Am I seeing things? 15:10:17 Hm? 15:10:35 You should see NOn your plane were snakes? 15:10:45 Anyway, the bad news is that I'm going to start volunteering in a charity shop 15:11:01 why is that bad news? 15:11:07 But my internet connection is very slow at the moment so I don't see what I type 15:11:13 nortti, I dunno 15:11:34 He's not getting paid for it? 15:13:24 mroman, http://imgur.com/wAJFC 15:15:13 Do you see them now? 15:16:30 Yes 15:16:39 No 15:16:48 You mean in that line you just said? 15:16:49 No 15:16:57 Taneb: Yes @17:15 15:17:08 They aren't there :) 15:18:26 what. what the fuck it that what happens when you press ^A c ^[ on screen? 15:19:37 I mean ^A^[ 15:20:14 Isn't that the copy mode by default? 15:20:27 Screen's built-in copy-paste thing. 15:20:43 oh 15:20:48 Select stuff by... several keys, and then paste with ^A^]. 15:21:28 hjkl (or cursor keys) move, enter starts/ends selection, and there's other less useful keys too. 15:21:32 (Aways now.) 15:25:03 getting message: Welcome to hacker's treasure zoo - Column 13 Line 64(+1000) (160,64) 15:25:15 was just kinda strange 15:34:55 -!- ogrom has joined. 16:08:21 -!- ais523 has joined. 16:09:38 hi 16:10:30 -!- Taneb has quit (Quit: Leaving). 16:16:13 -!- edwardk has joined. 16:19:44 -!- Lumpio- has quit (Read error: Connection reset by peer). 16:20:31 -!- Taneb has joined. 16:23:48 -!- Lumpio- has joined. 16:25:10 -!- kallisti has quit (Ping timeout: 246 seconds). 16:25:44 Hello 16:27:49 -!- aloril has quit (Ping timeout: 244 seconds). 16:29:49 -!- ais523 has quit. 16:31:21 -!- ais523 has joined. 16:32:11 Taneb: You still haven't told us why you think that your news is bad. 16:32:27 BECAUSE I WILL LOSE MY SATURDAYS 16:32:56 Jeez. No need to scream. 16:33:09 I'M NOT SCREAMING 16:33:15 NOW I'M SCREAMING 16:40:09 -!- aloril has joined. 16:47:50 -!- zzo38 has joined. 16:48:54 -!- aloril has quit (Ping timeout: 250 seconds). 16:55:19 Got a spam with the subject "i'm dying" 16:55:26 Apparently referring to the laptop battery 16:55:38 :P 16:56:15 http://www.reddit.com/r/spam 17:01:20 -!- aloril has joined. 17:11:04 -!- kallisti has joined. 17:14:26 zzo38, will there be a new version of prelude-generalize to reflect the new version of comonad? 17:15:07 -!- boily has quit (Quit: WeeChat 0.3.8). 17:17:30 -!- kallisti has quit (Ping timeout: 250 seconds). 17:17:48 Taneb: Perhaps I may do that one day but then I should fix my other packages using comonads too 17:17:55 :) 17:18:11 how does a comonad work? 17:18:44 duplicate :: w a -> w (w a); extend :: (w a -> b) -> w a -> w b; extract :: w a -> a 17:19:17 This lets you manipulate context without adding to it 17:19:22 *Use context 17:20:06 I really think monads should be defined in a similar way class Functor m => Monad m where { join :: m (m a) -> m a; bind :: (a -> m b) -> m a -> m b; return :: a -> m a; } 17:20:18 zzo38, that's tangentical 17:20:21 Consider the ((,) e) comonad 17:20:55 This lets you do extend (\(a,b) -> a + b) :: Num a => (e, a) -> (e, a) 17:20:58 -!- aloril has quit (Ping timeout: 250 seconds). 17:21:16 *Num a => (a, a) -> (a, a) 17:21:36 This lets you use the environment element of the tuple while keeping it the same 17:22:09 Another example: 17:22:23 Yes I do understand that it is an environment comonad, I like that. 17:22:35 Imagine an image data type data Img a = Img (Array (Int, Int) a) (Int, Int) 17:22:43 So it has the image, and a coordinate 17:22:59 extract would get the pixel at the specified coordinate 17:23:13 (the pixel is an arbitrary type, of course) 17:23:49 And I guess extend would do convolution filters 17:24:02 If you define a function that gives the pixel above the specified pixel, call it f, extend f shifts the image down a pixel 17:24:36 * edwardk looks up at the comonad chatter 17:24:37 Blurs aren't that hard to do, etc, etc 17:24:53 edwardk, was it you who showed me this example 17:25:03 yeah 17:25:03 Blur, shift one down, these are both kinds of convolution filters 17:25:21 For recolouring, you can just use fmap 17:25:26 its one of my favorite comonad examples 17:25:35 It's a good example 17:25:50 cellular automata are another good one 17:26:03 because you can run a game of life in that image comonad as well for instance 17:26:08 how about faster convolutions? 17:26:27 -!- Phantom__Hoover has joined. 17:26:31 faster how? 17:26:39 Less slow. 17:26:42 I want to use comonads to derive the convolution theorem 17:26:44 >_> 17:26:53 What convolution theorem? 17:27:02 http://en.wikipedia.org/wiki/Convolution_theorem 17:28:27 The NonEmpty comonad lets you use the remainder of the list as context, which is useful sometimes 17:28:31 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 17:29:04 duplicate for non-empty list makes the part of the list starting from each element 17:29:11 So it will do that 17:29:21 -!- kallisti has joined. 17:29:21 -!- kallisti has quit (Changing host). 17:29:21 -!- kallisti has joined. 17:30:18 duplicate copies the context to the content, sort of? 17:30:42 While keeping the content 17:31:05 -!- edwardk has quit (Quit: Computer has gone to sleep.). 17:32:11 -!- edwardk has joined. 17:32:19 The purpose of duplicate differs by the comonads and the purpose of join differs by the monads, what they mean for each one is differ as long as the laws are followed. Therefore it also makes a Kleisli category or coKleisli category and can use bind and extend to mean something too. Or you can do it the other way around also work. 17:33:07 I've got an unrelated question 17:33:22 How are Arrows generalizations of Monads? 17:34:15 -!- aloril has joined. 17:34:22 I do not understand that either. To me it seem, Arrow is a category, having a functor from (->), and is a tensor category, and fanout, and possibly some additional laws. 17:36:19 Arrows are a specialisation of Categories, I get that 17:37:07 -!- Taneb has quit (Quit: dinner). 17:43:07 -!- aloril has quit (Ping timeout: 240 seconds). 17:43:24 edwardk: Do you know anything about Penrose graphical notation? And about what categories are possible to draw in this way (with restrictions, such as you may be unable to cross lines and whatever depending on what category) 17:43:49 -!- edwardk has quit (Quit: Computer has gone to sleep.). 17:44:34 -!- zzo38 has quit (Remote host closed the connection). 17:45:34 -!- zzo38 has joined. 17:47:19 -!- azaq23 has joined. 17:48:02 -!- edwardk has joined. 17:51:07 back 17:51:26 re: penrose diagrams I'm more familiar with the trace diagram special case 17:52:10 -!- atehwa has quit (Ping timeout: 246 seconds). 17:52:16 -!- ernesto1 has joined. 17:53:19 and you can probably use some form of tensor diagrams in monoidal categories, which would make sense given the existence of string diagrams 17:53:32 zzo38: are you familiar with string diagrams? 17:55:28 -!- aloril has joined. 17:56:14 -!- ernesto1 has left. 18:15:33 No 18:17:01 -!- aloril has quit (Read error: Operation timed out). 18:17:43 -!- pikhq_ has joined. 18:17:52 -!- neutrino2000 has quit (Quit: leaving). 18:17:53 -!- pikhq has quit (Ping timeout: 265 seconds). 18:30:56 zzo38: they are what you are looking for in category theory as an equivalent 18:31:18 there is a video series by the catsters on them 18:31:18 http://www.youtube.com/watch?v=USYRDDZ9yEc 18:31:20 -!- aloril has joined. 18:31:46 they have ~5 videos, and the recent hinze paper on kan extensions uses them a lot, so you may get some intuition on them from that 18:32:11 they are closer to trace diagrams, which are a special case of the penrose notation 18:41:35 I wonder what these dmesg lines spamming my dmesg is about: 18:41:36 [203653.110416] cdc_acm 2-2:1.1: This device cannot do calls on its own. It is not a modem. 18:41:36 [203653.110589] cdc_acm 2-2:1.1: ttyACM0: USB ACM device 18:42:13 mostly from yesterday 18:42:25 I only think I used an USB mouse and an USB memory then? 18:42:36 hacked by chinese 18:43:16 oh actually I might have connected my phone yesterday 18:43:22 that would make some sense 18:44:01 bbl 18:46:17 -!- edwardk has quit (Ping timeout: 244 seconds). 18:46:18 -!- Lumpio- has quit (Read error: Connection reset by peer). 18:49:39 -!- asiekierka has quit (Remote host closed the connection). 18:51:05 -!- edwardk has joined. 18:52:43 -!- derdon has quit (Remote host closed the connection). 19:01:43 I like the error message. 19:01:53 It's somehow whimsical. 19:03:24 "I'm a doctor, not an escalator", or whatever. 19:05:52 -!- oerjan has joined. 19:10:44 -!- Taneb has joined. 19:11:38 Hello 19:11:54 evening 19:14:56 -!- AnotherTest has quit (Quit: Leaving.). 19:24:11 Night! 19:25:04 -!- kallisti has quit (Ping timeout: 265 seconds). 19:29:12 -!- Dovregubben has quit (Ping timeout: 252 seconds). 19:29:28 @ping 19:29:28 pong 19:30:03 -!- Dovregubben has joined. 19:31:36 Do you know what NES mappers map the name tables as well as additional RAM both to $6000..$7FFF CPU memory? 19:42:20 -!- azaq23 has quit (Read error: Connection reset by peer). 19:44:20 -!- nooga has quit (Ping timeout: 248 seconds). 20:07:57 -!- ogrom has quit (Ping timeout: 255 seconds). 20:07:58 -!- pikhq has joined. 20:08:30 -!- kallisti has joined. 20:08:34 -!- pikhq_ has quit (Ping timeout: 265 seconds). 20:12:51 -!- kallisti has quit (Ping timeout: 246 seconds). 20:26:27 -!- ernesto1 has joined. 20:29:33 -!- kallisti has joined. 20:29:45 -!- ernesto1 has left. 20:36:07 IT’S A SHARK! http://youtu.be/ZcuYjDR2tSg?t=40s 20:40:17 -!- ogrom has joined. 20:41:00 A bigass shark, at that! 21:11:23 -!- ernesto2 has joined. 21:19:24 -!- ernesto2 has left. 21:29:37 -!- ernesto1 has joined. 21:29:51 -!- ernesto1 has left. 21:38:16 -!- nooga has joined. 21:38:36 -!- nortti has changed nick to ]. 21:38:46 -!- ] has changed nick to nortti. 21:44:26 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 21:45:23 -!- edwardk has quit (Quit: Computer has gone to sleep.). 21:49:14 !bf +[#>+] 21:49:16 No output. 21:49:25 no debug command. shame. 22:02:57 -!- copumpkin has joined. 22:06:08 -!- Taneb has quit (Read error: Connection timed out). 22:06:38 -!- Taneb has joined. 22:12:44 Hello 22:13:12 @ping 22:13:13 pong 22:13:28 Goodbye 22:13:43 -!- Taneb has quit (Quit: I'm really interesting, aren't I?). 22:16:59 * oerjan is having a bout of simon tatham's Loopy puzzle 22:17:26 they require a fascinating variety of little tricks 22:17:45 and the occasional deeper logic 22:18:27 and which tricks are useful changes subtly with the chosen grid shape 22:39:21 -!- david_werecat has joined. 22:52:36 -!- nooga has quit (Ping timeout: 248 seconds). 23:02:05 except when you have to restart... 23:05:21 -!- edwardk has joined. 23:17:33 -!- nortti_ has joined. 23:21:39 edwardk: Why did you make a Plus that requires Functor as well even though it can be used without? 23:24:00 -!- edwardk has quit (Quit: Leaving...). 23:24:58 If you make a type for F-algebra newtype Algebra f x = Algebra (f x -> x) then you can make a monoid of coKleisli endomorphisms 23:31:34 You get CodensityAsk ((->) x) to be like Either x including a MonadPlus instance if x is a monoid 23:32:28 Free (Const x) is also like Either x and it is similar by ((->) x) like Algebra (Const x) too. 23:35:16 -!- david_werecat has quit (Read error: Connection reset by peer). 23:35:25 -!- david_werecat has joined. 23:37:03 -!- nortti_ has quit (Quit: AndroIRC - Android IRC Client ( http://www.androirc.com )). 23:38:01 -!- nortti_ has joined. 23:40:46 -!- nortti_ has quit (Client Quit).