00:05:09 "Therefore if F' is right-Lobachevsky then |Σ| ≅ ℵ₀. By Newton's theorem, if Darboux's criterion applies then I < Γ'. So ζ is conditionally Erdős." 00:05:41 ok 00:05:50 http://thatsmathematics.com/blog/archives/102 00:08:40 hah 00:09:04 -!- Nisstyre-laptop has quit (Ping timeout: 246 seconds). 00:15:56 -!- Nisstyre-laptop has joined. 00:39:59 -!- DHeadshot has joined. 00:55:01 My program needs to run efficiently. My program is running more efficiently than I expect with my algorithm, which is horribly inefficient. My program is giving wrong results some, but not most, of the time. 00:55:47 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:00:18 -!- Vorpal has quit (Ping timeout: 276 seconds). 01:06:21 Fixed the code to be in line with my mental algorith, 01:06:24 algorithm 01:06:29 Getting out of memory errors 01:11:27 -!- DHeadshot has quit (Read error: Connection reset by peer). 01:12:58 Figured out a new algorithm 01:13:09 perhaps bonghits will fix your out of memory errors 01:16:03 * shachaf must be missing something there. 01:19:03 The Looney Tunes Show 1x22 finally gets to Looney Tunes levels of drag. 01:21:21 missing what 01:21:26 why does Gregor have voice 01:21:32 i thought #esoteric was a classless society 01:21:48 kmc: Looks like it's a reference to a git commit involving Radeon? 01:22:20 it's a reference to http://www.jerkcity.com/jerkcity490.html 01:22:56 kmc: I have +v because I'm SPECIAL. 01:23:07 Dangit, it's not fast enough, I think 01:25:25 It's annoying that using an iterable in Python permanently mutates/consumes it 01:27:51 http://goatkcd.com/1123/sfw nsfw 01:29:28 kmc: I've yet to click on any of these links. 01:29:45 I'm vaguely curious what happens to a one-panel comic, but not enough to click. 01:30:09 what happens in what sense 01:30:33 I don't really know! 01:30:49 http://blog.ezyang.com/2012/10/duality-for-haskellers/ 01:32:23 Sgeo: it is annoying; on the other hand, reasoning about space usage would be harder were it not the case, I think 01:33:04 It's already harder with lists in Haskell! 01:33:43 writing... code... is harder 01:34:13 I think I may have screwed up my ability to write imperative code. 01:34:53 that sucks 01:35:01 writing imperative code is an important skill in any language 01:35:27 not necessarily any 01:35:47 whether it's important depends not on the language but on the problem you're trying to solve 01:36:38 The problem I'm trying to solve tends to be the language not supporting functional idioms sufficiently 01:36:38 that's tautological 01:38:09 Tautologies tend to be. 01:44:00 i don't believe you 01:44:26 unless you are just doing toy functional programming exercises, you will need imperative style some of the time 01:44:57 i like Haskell not because it's OMG HARDCORE PURE FP, but because it actually supports imperative programming in a good way, a way which makes sense to people who understand FP too 01:45:26 but you know for every person who understands the IO monad there are 50 beginners talking about how pure the factorial function is and how it's going to destroy imperative programming next year 01:45:30 * kmc semi-coherent rant 01:45:48 i don't understand why you are making lots of assumptions about what i meant 01:46:30 i'm not assuming 01:46:36 i'm ranting off what Sgeo said 01:46:40 Isn't "coalgebroid" a great word? 01:46:46 no 01:46:52 oh 01:46:56 i thought you were replying to my statement 01:47:07 kmc: What about "iggrammatical"? 01:47:09 that the only reason he needs imperative programming is "the language not supporting functional idioms sufficiently" 01:47:12 anyway I disagree with " unless you are just doing toy functional programming exercises, you will need imperative style some of the time", at least philosophically 01:47:28 well it is a pragmatic statement, not a philosophical one 01:47:48 well i sort of disagree with it pragmatically too 01:47:49 see also: FRP still doesn't work 01:47:58 there are FRP libs that are mature enough for doing fairly involved stuff 01:48:00 A pragmatist in our midst! 01:48:02 well maybe it started working in the past year and nobody told me 01:48:08 depends what you mean by "doesn't work" 01:48:09 kmc, well, I don't have an issue when I need to write imperative code to handle imperative things, it's just imperative code when I know more functional languages have function idioms for those htings 01:48:11 *things 01:48:15 do you know of any major problems with reactive-banana/reactive-banana-wx? 01:48:15 ah, i see 01:48:21 that makes more snense 01:48:24 (And I understand those idioms and their use sufficiently well) 01:48:25 elliott: no, i haven't used them at all 01:48:29 I don't know of any semantic glitches it has, performance seems good... 01:48:38 i never tried doing FRP because everyone talked about how half-baked it was 01:48:41 but that may be out of date 01:48:42 what *doesn't* work is one frp framewotk to rule them all, yet 01:48:44 *framework 01:48:50 there are tradeoffs still 01:49:04 Not entirely comfortable with the idea of monad transformers to represent an entire running program's state+everything 01:49:10 but, I still think you can write a good amount of stuff without resorting to imperative programming right now 01:49:15 So more willing to do that stuff imperatively 01:49:19 elliott: You know who's "cool"? 01:50:23 I think part of kmc's point is that "resorting to imperative programming" assumes that "imperative" is always the worst way to express something. 01:50:33 Whereas in practice it can the clearest way to express your intent. 01:50:47 (But I'm not kmc so I shouldn't say what his point is.) 01:51:39 * elliott likes to be militantly anti-imperative as a general policy; that means I have to try hard to show to myself that imperative programming *isn't* the best way to express any given thing. 01:51:44 Which is good, because the results are sometimes insightful. 01:51:48 (Okay, only occasionally.) 01:52:30 elliott: Right, sometimes "your intent" is the thing that's misguided, and learning to "figure out what your intent really is" is one of the values of learning Haskell and such things. 01:52:40 But sometimes not. 01:53:41 i think "functional" and "imperative" is a bad choice of terms 01:53:45 shachaf: I think imperative programming often seems like the right choice just because of the baggage of the systems we use (like Unix)... obviously that means it *is* the right choice in practice, but I think it tends to not be inherent to the problem. 01:53:51 i think things should be more "denotational" 01:53:56 See also: strings as a nearly-useless data type. 01:53:56 and maybe "declarative" 01:53:58 (Booleans too, to some degree.) 01:54:05 imperative programming could be made more denotational and declarative 01:54:07 kmc: Conal, is that you? 01:54:12 haskell is a small step in that direction 01:54:28 I forget if I decided strings have any value. 01:54:30 But I think I didn't. 01:54:35 @quote stark 01:54:35 AlanPerlis says: The string is a stark data structure and everywhere it is passed there is much duplication of process. It is a perfect vehicle for hiding information. 01:54:47 elliott, what's wrong with strings and booleans? 01:55:03 @google boolean blindness 01:55:04 http://existentialtype.wordpress.com/2011/03/15/boolean-blindness/ 01:55:05 Title: Boolean Blindness « Existential Type 01:55:07 @google string sightlessness 01:55:08 http://legal-dictionary.thefreedictionary.com/strike+sightless 01:55:08 Title: strike sightless legal definition of strike sightless. strike sightless synonyms ... 01:55:09 Sgeo: The former is useless; the latter is harmless. 01:55:12 er. 01:55:14 Sgeo: The former is useless; the latter is harmful. 01:55:18 Also the former is often harmful too. 01:55:26 elliott: Is [Bool] useless or harmful? 01:55:29 http://existentialtype.wordpress.com/2011/03/15/boolean-blindness/ is a good description of the problems with booleans, yes. 01:55:35 shachaf: Yarmful. 01:58:02 Anyway I guess booleans are better than strings. 01:58:10 You can take them as configuration and that's not as bad as it could be. 01:58:12 Though it's still bad. 01:58:21 And even configuration usually wants its own types. 01:58:43 elliott: I prefer the strings "true" and "false". 01:59:51 kmc: Did you see the lens slides? 01:59:56 Or elliott, or whoever else. 02:00:05 Sgeo: Does Clojure have lenses? 02:00:08 -!- Nisstyre-laptop has quit (Quit: Leaving). 02:00:28 What slides? 02:00:46 Erm. I wanted to write a lens library once. But whenever I try to describe them to #clojure, they don't see the value. 02:00:48 https://groups.google.com/d/msg/bahaskell/YifnIpEu2OY/kddoyuvdCOMJ 02:01:18 Oops. 02:01:28 Er, no oops. 02:01:31 noops 02:01:45 no operations 02:01:58 no ooperations 02:02:28 Phantom_____Hoover: I define a new language as follows: 02:02:40 A program is composed of the character < > - + [ ] , . 02:02:44 Any other character is illegal. 02:02:52 The characters < > - + [ ] , . are all nops. 02:08:53 An interpreter in your new language: ++[->.<<[-,<+>++]] 02:09:01 A quine: 02:09:34 -!- copumpkin has quit (Ping timeout: 240 seconds). 02:09:59 Jafet: I guess I should introduce v2.0 of the language. 02:10:06 -!- copumpkin has joined. 02:10:08 v2.0 disallows the []s to be balanced. 02:11:46 A program is composed of the character < > - + [ ] , . 02:11:50 that's not a character 02:11:50 Is my quine legal in v2.0? 02:12:22 I met < > - + [ ] , . once. Great character. 02:12:50 elliott: It is in UNICODE VERSION 7 02:13:55 They should make a unicode glyph that consists of a table of all unicode glyphs. 02:18:20 Including itself, obviously. 02:21:03 An idea is programming using the linear logic, with additive conjunction, multiplicative conjunction, additive dusjunction, multiplicative dusjunction, and other stuff like "!" and so on, you can encode intuitionistic logic in linear logic using "!" so perhaps if you have a category, you can make "!" like a comonad for using ordinary functions? (Like you use "Cont" monad in Haskell to make continuations) 02:21:30 zzo38: cmccann in #haskell is all about linear logic, I hear. 02:25:55 -!- Max00355 has quit (Read error: Connection reset by peer). 02:37:22 -!- copumpkin has quit (Ping timeout: 245 seconds). 02:37:56 -!- copumpkin has joined. 02:42:17 -!- augur has quit (Remote host closed the connection). 03:14:42 -!- augur has joined. 03:27:48 https://www.destroyallsoftware.com/talks/wat 03:27:54 I'm lolling 03:28:11 Yeah, that talk is brilliant. 03:32:00 pikhq: do you know how wayland+xwayland compares in binary size to x11 right now 03:32:04 i have actual reasons for asking this 03:35:27 I wonder what causes the overhead when running OpenGL programs with Compiz? They run much smoother without compositing. One would think a single extra pass through render-to-texture wouldn’t cause anything noticeable by itself. 03:36:00 I suppose Wayland is more efficient at that. 03:39:09 -!- ogrom has joined. 03:41:53 Because compiz 03:42:45 jafet: Another OpenGL compositor on X.org might not have the issue? 03:43:58 Is there any other? 03:44:31 A hypothetical one 03:44:51 I.e. are you saying the problem is in Compiz, not X.org? 03:46:41 I don't know. Compiz has many problems. 04:00:57 How do you tell Mozilla to load the entire text first before loading images and CSS? 04:48:36 -!- Nisstyre-laptop has joined. 04:52:58 colon colon one y'all 04:53:09 kmc: lolcathost? 04:53:14 yessss 04:53:42 - if ((request.META['REMOTE_ADDR'] != '127.0.0.1') 04:53:42 + if ((request.META['REMOTE_ADDR'] not in ('127.0.0.1', '::1')) 04:53:56 what if it's 127.0.0.2 04:54:12 kmc: Did you know you can drop octets from an IP address and it fills them in according to some complicated pattern? 04:54:29 a.b.d -> a.b.0.d 04:55:21 (d can be a number up to 256^2, in which case it also works for c.) 04:55:45 Also you can use 0x or 0 for any octet. 04:58:43 anybody happen to know what a "two-way server" is? 04:59:03 far as i can tell it's an obscure term for either dual core or dual processor 04:59:05 \o/ 04:59:09 |O| 04:59:14 How do you do it? 04:59:24 \ o / 05:01:04 ahh, it's offline still 05:01:06 sorry :( 05:05:16 yeah people say "four-way SMP" and such 05:05:28 it probably does not distinguish dual core and dual socket 05:05:36 mk 05:05:45 i'm pretty sure he meant multi processor specifically 05:05:53 the usage was real weird 05:06:03 well in some cases "multi processor" might also include multi core 05:06:06 also apparently if you replace a dual-core system you should get a new dual-core system 05:06:09 :facepalm: 05:06:13 ? 05:06:29 when you first said "two-way server" i thought of http://www.supermicro.com/products/nfo/1UTwin.cfm 05:06:53 ah, just editing some technical articles 05:06:59 m o m 05:07:00 which is two independent servers in a 1U case 05:07:06 /o/ 05:07:08 unfortunately the guy doing the writing here ... apparently doesn't know jack 05:07:11 How do you do it, myndzi? 05:07:11 and they also have 4 servers in a 2U case 05:07:17 like i said.. it's offline, sorry 05:07:24 Oh, that's what you meant. 05:07:25 kmc: thanks :) 05:07:32 :-( 05:07:35 shachaf: yeah, my work comp and laptop are up atm 05:07:36 lol 05:07:39 but not my home desktop 05:07:45 hesktop 05:10:18 that's not quite as dense as blades, but it's probably a better deal if you only need a few of them 05:13:33 according to smartctl, my hard drive has spent 20 billion years with the head flying 05:14:44 That's a lot of years. 05:14:56 20 billion years isn't cool, though. 05:15:18 what about 20 trillion years? 05:15:23 Now *that's* cool. 05:15:28 apparently seagate drives just report nonsense to smartctl for fun 05:15:29 http://www.users.on.net/~fzabkar/HDD/Seagate_SER_RRER_HEC.html 05:15:36 FLYING THROUGH SPACE AND TIME 05:15:40 I,I 32-bit integers aren't cool. You know what's cool? 42-bit integers. 05:16:48 Bah. N-bit integers where N is a non-integer computable is cool. 05:17:04 kmc: i think you could get a good 3 to 4 rants out of this tweet https://twitter.com/ryah/status/258634435161899009 05:17:19 good to know node.js has such a sound engineer behind it 05:17:30 -!- monqy has joined. 05:17:36 (haha @ implication that "C/C++" (haha @ that too) isn't "legacy bullshit" also) 05:17:43 (haha @ @) 05:17:44 Sweet fuck. 05:17:47 Uh. By "interesting" do they mean "interesting + likely to be widely used"? 05:17:55 elliott: Well, technically C++ is "interesting". 05:18:01 hi 05:18:12 C/C++ 05:18:15 & then: 05:18:16 https://twitter.com/ryah/status/258635644681728000 05:18:17 It teaches how not to design a programming language by example. 05:18:26 https://twitter.com/ryah/status/258635662587199489 05:18:26 https://twitter.com/ryah/status/258635676726218752 05:18:44 * Sgeo sads 05:18:52 No reason given. At all. 05:18:54 monqy: hello 05:18:58 hey sgeo how's your clojure without lexical scoping going 05:19:02 yeah this is such transparent trolling 05:19:05 I'll give him a very slight bit of credit: Rust actually appears interesting. 05:19:13 i can't really work myself up over it 05:19:32 elliott: i heard C++ is for fat people 05:19:36 monqy, on hold while I try to determine if it actually would be better than Kernel 05:19:41 ok 05:20:08 You could accomplish more or less the same thing with Kernel's eval, I think 05:20:15 i hope that sometime near the end of The Office (US), the characters suddenly become aware of the fact that Kevin has gradually developed a severe cognitive impairment over the past decade, and find this profoundly disturbing 05:20:24 Well, not the same exact thing, but similarish enough, I think 05:20:54 kmc, does Kernel have quasiquoting? I vaguely remember "no", but not sure. 05:21:10 i don't remember 05:21:14 And if the answer is "no", who do I have to slap 05:21:17 are you asking about the `(a b) concrete syntax 05:21:33 or about the quasiquote special form 05:21:34 or what 05:21:46 presumably quasiquote wouldn't be a sepecial form, just an operative you can define yourself 05:21:57 and it's not super useful for the kernel way of doing things 05:21:59 Well, `(a b) concrete syntax would be nice, preferably translating into a particular set of operatives 05:22:12 i assume `x would be sugar for (quasiquote x) as in scheme 05:22:17 and ,x for (unquote x) 05:22:21 Yes 05:22:33 `,@x 05:22:38 Distinctly different from the Common Lisp style things of not actually having a concrete translation 05:22:42 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ,@x: not found 05:22:52 anyway quasiquote is not that useful for writing operatives, but it might sometimes be useful to use traditional lisp-ish macros in kernel 05:23:01 i think it should be easy to implement defmacro as an operative 05:23:15 i wonder if there is some kind of "quasieval" syntax you could define, to make writing operatives nicer 05:24:12 kmc, well, I more wanted to emulate Tcl-style commands, but with quasiquoting, since Tcl doesn't have nice quasiquoting syntax built-in and that sucks 05:24:46 (define list (vau xs env (if (nil? xs) nil (quasieval env (cons ,(car xs) ,(cdr xs)))))) 05:25:09 => (define list (vau xs env (if (nil? xs) nil (cons (eval env (car xs)) (eval env (cdr xs)))))) 05:25:29 awkward to use ` because you need to put the env parameter somewhere 05:27:34 http://twitter.com/ryah/status/258665167934611457 05:27:41 mmmmmmmmmmmmmmm 05:27:55 good to know his problem is uninteresting 05:29:13 monqy: ais523: you might like: http://www.ioccc.org/2012/tromp/hint.html 05:29:23 He could at least acknowledge that without PL research, he'd be stuck writing code in .... I'm not even sure 05:29:24 elliott: stop trolling by proxy 05:29:45 kmc: My friend said that trolling by proxy is fun but I don't believe him. 05:29:45 COBOL? 05:29:45 hey guys my cousin's barber says haskell causes aids 05:29:51 How can I show him the error of his ways? 05:30:27 Machine code. 05:30:41 He should write all his code in 0s and 1s from now on. 05:31:00 kmc: what is #esoteric fo rthen 05:31:08 if not crap 05:31:16 Silly elliott. #esoteric is for trolling directly, not by proxy. 05:31:23 But we shouldn't troll kmc, or he might leave. :-( 05:31:30 programming community full of anti-intellectual blowhards; film at 11 05:31:31 come on 05:31:41 actually though i have violated my own rule about the word 'community' 05:31:42 it is art to dismiss list but talk about scheme-relative JS as interesting and innovative and not legacy crap 05:31:44 *lisp 05:31:45 i'm not sure what to call that community 05:31:59 if i was trying to rile plt people up i couldn't do it so well 05:32:01 hacker news jackoff community 05:32:23 Then I'll be stuck either looking for bugs in Mosh or not talk to kmc! 05:32:47 i dread the day when the startup i'm working for now gets posted to hacker news 05:33:04 kmc: Is it still a secret what it does? 05:33:09 yeah 05:33:17 but it's not the interesting kind of secret 05:33:17 sorry 05:33:25 kmc is working on bombs 05:33:37 we're making a useful product, but it's not like ksplice where it's going to blow your mind that it's even possible 05:33:44 kmc is working on stealth bombers. 05:33:47 clearly 05:33:55 That's why his startup is in Stealth Mode. 05:33:57 kmc: ksplice didn't really surprise me 05:34:00 sorry 05:34:03 i am too ... anti-jaded 05:34:09 haha 05:34:29 i'm not really surprised that it worked as a research project 05:34:42 well that's the hard part 05:34:45 then you send it off to the engineers 05:34:47 and they ruin it 05:34:56 but i am very impressed that they managed to make a commercial product that was deployed on 200,000+ machines and crashed almost none of them 05:35:13 of course there were 2 years of work in between those two stages 05:35:43 I,I deployed on ℵ₁ machines and crashed almost none of them 05:35:47 hehe 05:35:52 Only a countable number! 05:35:54 is that alef or math alef? 05:36:00 2135 ALEF SYMBOL [ℵ] 05:36:10 The other one puts you in RTL mode, which is annoying. 05:36:13 or blackboard bold script italic math alef 05:36:13 hehe 05:36:36 (But on the other hand I have to type in the codepoint instead of switching my keyboard to Hebrew mode.) 05:36:51 kmc: whoa, dude, Unicode has codepoints for letters + nikud! 05:36:56 I thought it just had combining nikud. 05:36:57 I want to make up a chess variant having googolplex number of kind of pieces. I already wrote of some idea of such things. 05:37:13 shachaf: There are various things I dislike about Unicode 05:37:15 is there continuouschess 05:37:23 continuous chess* 05:37:27 * kmc should get a new spacebar 05:37:29 continuous chess got made up in here once 05:37:30 it went badly 05:37:35 kmc, "almost"? 05:37:38 what was continuous 05:37:42 piece position or also identity? 05:37:44 kmc: the board 05:37:52 mostly the problem is that you can't express the moves you want to make 05:37:54 * Sgeo should try continuous chess 05:37:56 1EE00 ARABIC MATHEMATICAL ALEF [] 05:38:02 kmc: i think the pieces might have been continuous too 05:38:05 honestly i do not remember 05:38:05 There's an ARABIC MATHEMATICAL ALEF but no HEBREW MATHEMATICAL ALEF?! 05:38:19 mathematical elf 05:38:29 did rooks and bishops have a facing direction 05:38:38 Another idea is to make up a description of googolplex number of variants all at once 05:38:43 This isn't it, is it? 05:38:43 http://www.chessvariants.org/other.dir/continuouschess.html 05:38:45 kmc: Do you know Gess? 05:38:47 It says created 2001 05:38:49 no 05:38:51 "Chess" played on a Go board. 05:38:58 yes Sgeo we made up continuous chess in this channel in 2001 05:38:59 It's kind of neat. 05:39:02 then put it on some random chess variants website 05:39:04 how did you guess 05:39:24 Hence me thinking that that isn't it. 05:39:25 A "piece" is any 3×3 square that contains at least one of your Go pieces and none of the enemy's. 05:39:35 Stones. 05:39:41 I do know Gess too 05:39:46 The 8 outer stones are bits that decide in which direction your "piece" can go. 05:40:02 The inner stone says whether it can move just one step or as far as it wants. 05:40:21 Your "queen" is 9 pieces, and your "king" is a ring. You lose when you have no ring. 05:40:30 (You can make additional kings if you're careful.) 05:40:31 weird 05:40:48 and moves are by 1 rather than 3? 05:40:50 You can make strange new pieces that can only move in a particular direction. 05:41:07 this is like go + chess + game of life 05:41:18 Hmm, I'm not sure... 05:41:32 Ah, there's a Wikipedia article. https://en.wikipedia.org/wiki/Gess 05:41:36 It says it can move up to 3. 05:41:53 in that it depends on identifying and cataloguing formations that are bigger than the 'physics' of the game, and can form out of other things 05:42:06 Right. 05:42:11 kmc: going to "troll" you with this too https://plus.google.com/u/0/115212051037621986145/posts/HajXHPGN752 05:42:26 "abstractions are slow in python so if you want to write fast python don't use them" -- gvr 05:42:51 elliott: Did you see bos's slides? 05:43:03 What if you make continuous chess where your moves are limited to rational numbers, or to algebraic numbers, or allowing rationals and quadratic surds 05:43:08 http://bos.github.com/reaktor-dev-day-2012/reaktor-talk-slides.html 05:43:25 And have a minimum movement 05:43:52 elliott: Guido was at ekmett's lens talk yesterday. 05:44:21 that's ok 05:44:28 I can make fun of people even if they attend edwardk talks 05:44:32 that's my superpower 05:44:53 Python's going to get lenses now, that's all I'm sayin'. 05:45:32 A go variant where you can't see the opponent's stones 05:45:54 And if you place a stone on an occupied place, the stone disappears 05:46:23 i'm just so burnt out on caring about people being wrong on the internet about programming languages 05:46:31 i did a tour of duty in /r/programming and two in #haskell 05:46:39 kmc: It's a sign you're getting old. 05:46:43 haha 05:46:43 (And wise?) 05:46:45 probably 05:46:48 maybe not that one 05:47:00 kmc: you should join #haskell again for the good times 05:47:08 is it good now 05:47:11 kmc: heck no 05:47:16 They were arguing about whether Lisp has syntax an hour ago. 05:47:26 (To be fair, you get that in here too.) 05:47:40 Someone linked to paulgraham.com an hour ago 05:47:44 Also someone was asking whether Haskell was used in any real-world projects and refusing to read any links. 05:48:23 more like poorgraham imo 05:48:54 Is there a channel that's like #haskell, except for all the bad parts? 05:48:59 Also someone was asking whether Haskell was used in any real-world projects and refusing to read any links. 05:49:02 who was this i wanna read it in the logs 05:49:07 elliott: No one. 05:49:20 that's not helpful 05:50:00 You can find it quickly by searching for "real-world", because that phrases comes up infrequently there 05:50:08 kmc: I went to a talk about graph coloring and the birthday problem and variations. 05:50:43 Jafet: There's only one result for "real-world" and one for "real world" in today's log. :( 05:50:44 Did you know that a pretty good approximation for "number of people you need in a room to have a 50% chance that two share the same birthday" is 1.2√c, where c is the number of days in a year? 05:51:02 no 05:51:53 Also coloring graphs is hard. :-( 05:54:37 I knew all those children's books had sinister intentions. 05:57:06 whoa, dude 05:57:06 Orwell did not invent the term "two minutes hate"; it was already in use in the First World War.[1] At that time, British writers satirised the German campaign of hatred against the English, and imagined a Prussian family sitting around the kitchen table having its "morning hate".[2] 05:59:29 Hmm. Well, if using a field and using getter/setter had the exact same syntax, with no oddities, I don't see any problems with using fields directly. 05:59:54 C# that's not the case, fields can be used in ways that properties (getter/setter combinations) cannot 06:00:08 There is also leap years though 06:00:24 So better to start off with properties rather than using fields, then needing to convert to getter/setter and finding that it breaks some code. 06:00:54 zzo38: Leap years don't influence it much. 06:01:03 In fact, even actual birth statistics don't influence it much. 06:01:45 Did you know that in the US, there are 20% fewer births on weekends? 06:01:47 (So I hear.) 06:03:35 kmc: Did you know that Compose v / makes √? 06:03:40 Radical, man. 06:03:44 nice 06:03:56 No, I didn't know that there are 20% fewer birth on weekend in US. 06:06:18 why is it 06:06:37 20% of labor is induced and doctors don't like to work on weekends, or something along those lines. 06:07:28 Cæsarean sections, too, I guess. 06:11:58 makes sense 06:13:09 20 % of labor is mathematically induced. 06:13:28 mathematical induct ion 06:14:10 A friend who's in liquor production 06:14:10 Owns a still of astounding construction. 06:14:11 The alcohol boils 06:14:11 Through old magnet coils; 06:14:11 She says that it's "proof by induction." 06:14:24 > cycle "HA" 06:14:25 "HAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHA... 06:16:33 not a true limerick as it lacks a dirty joke 06:16:40 that's like a haiku without a seasonal reference 06:17:24 I have an incomplete song with a (5+7+5)/8 rhythm. 06:18:52 kmc: Have you read some of Lear's limericks? 06:19:20 I don't really get them. 06:20:13 no 06:20:18 Preview from a crappy General MIDI export http://codu.org/webmidi/gen/924563928975/924563928975.ogg 06:20:33 elliott: Have you seen the way edwardk "overloads function application"? 06:21:46 Did you write this music? 06:21:50 yeah 06:22:05 It’s unfinished. 06:22:13 kmc: I changed some scenery but it didn't really help. 06:22:14 When, and what software? 06:22:25 Do you have more advice? 06:23:26 for what problem? 06:23:31 and which scenery? 06:23:45 I wonder the same thing 06:23:46 zzo38: I made a score in Lilypond () in 2011-01. You also get a crappy General MIDI file out of it almost for free. 06:25:12 OK 06:28:40 elliott: Have you seen the way edwardk "overloads function application"? 06:28:41 ? 06:28:41 Are there any simpler versions of Lilypond which will generate DVI output and do not require so many source files and that stuff? 06:28:43 You mean a ($) class? 06:29:03 elliott: I mean isomorphism. 06:29:23 inc :: Num a => a -> a <-> a; inc = isomorphic (+1) (subtract 1) 06:29:29 Lilypond even requires Python and Scheme and all that stuff too 06:29:31 inc 4 -- 5 06:29:37 from inc 5 -- 4 06:30:10 zzo38: You generally use just one source file with Lilypond. 06:31:14 shachaf: I don't get it. 06:32:07 Hmm 06:32:18 How is that <-> legal? Language extension? 06:32:38 I think I get it but I don't get the types 06:35:31 elliott: Oh, maybe I got the type wrong? 06:35:35 And the syntax sometimes changes. 06:36:00 elliott: Anyway, inc acts like a function when you apply it, but you can also get the other part of the isomorphism from it. 06:36:12 For example it requires Unicode 06:37:12 Which encoding of unicode? 06:37:17 UTF-8? 06:37:31 Who said anything about encodings? 06:37:58 shachaf, I should note that I didn't look at the type that closely 06:39:18 elliott: Anyway, inc acts like a function when you apply it, but you can also get the other part of the isomorphism from it. 06:39:19 How? 06:39:55 > (\x -> x x) (\x -> x x) 06:39:57 Occurs check: cannot construct the infinite type: t = t -> t1 06:39:59 class Category k => Isomorphic k where isomorphic :: (a -> b) -> (b -> a) -> k a b 06:40:07 isntance Isomorphic (->) where isomorphic = const 06:40:36 data Isomorphism a b = Isomorphism (a -> b) (b -> a); instance Category Isomorphism; instance Isomoprhic Isomorphism 06:40:45 type a <-> b = forall k. Isomorphic k => k a b 06:40:51 from (Isomorphism a b) = isomorphic b a 06:42:54 elliott: "pretty crazy huh" 06:44:06 oh 06:44:07 typeclasses 06:44:08 they don't count 06:45:07 > (\x -> x) (\x -> x) 06:45:09 Overlapping instances for GHC.Show.Show (t -> t) 06:45:09 arising from a use of `... 06:45:18 > (\x -> x) 4 06:45:19 4 06:45:22 > (\x -> x) id 06:45:23 Overlapping instances for GHC.Show.Show (a -> a) 06:45:23 arising from a use of `... 06:45:27 > id id 06:45:29 Overlapping instances for GHC.Show.Show (a -> a) 06:45:29 arising from a use of `... 06:45:52 FreudFull 06:46:02 > ego 06:46:03 Not in scope: `ego' 06:46:07 > superego 06:46:08 Not in scope: `superego' 06:50:42 Is there a version of LilyPond which generates DVI output and does not require Freetype, Ghostscript, Guile, Python, Pango, Unicode, etc? 07:00:03 Or similar program? 07:18:48 Depends on how you define similar. The major feature of Lilypond is how much they have made effort over the years to make the output look non-computer-ish. 07:19:08 Is your floppy disk running out of space? 07:21:33 No, I am using a hard disk. 07:23:03 5GB one? 07:24:26 Couldn't it be done with just one source-file (other than fonts), and then use ATLAST for extensions (also just one source file), and have macro files (just one for standard notation; others for specialized), use MCK-like syntax, output to DVI? 07:25:20 FreeFull: No, it is 200GB 07:29:05 I can understand why they would make effort over the years to make the output look non-computer-ish it is good idea. However, I don't think they should need many source files and all that other stuff to do that. 08:00:26 How difficult would it be to take the LilyPond source files, remove half of the stuff, change some of the stuff, and have it compile without anything more than the C++ compiler and no extra libraries? 08:01:05 try it 08:04:39 I looked at the source files and it appears to be way too complicated. 08:05:38 Most source does on first look 08:09:27 Many source files are not very large, but there are a lot of them, in a big mess, in multiple programming languages (including PostScript), a huge number of other files, too many external files needed, etc 08:10:49 Ideally nothing else should be needed except a DVI driver, and METAFONT (if you want to compile the fonts). 08:15:41 It even has a lot of makefiles, many files in Scheme, C++, Python, why does it need to be???? 08:16:34 -!- epicmonkey has joined. 08:24:32 Even if there is one that does not make the output look non-computer-ish, is there one which will make DVI format output and which does not use Unicode? 08:25:07 I sincerely don’t see what’s wrong with Unicode. 08:25:28 A score-writing system that heavily restricts the languages you can use for the lyrics would be strange. 08:25:49 And which requires only one programming language instead of five? 08:26:22 I don’t think using only one programming language prevents you from using Unicode. 08:27:43 ion: You don't need to restrict the languages you can use for the lyrics just because Unicode won't work. Just do it the way TeX does it 08:28:17 Yeah, writing Chinese in the variants of TeX that don’t support UTF-8 is nice. 08:29:43 -!- mekeor has joined. 08:30:02 Actually it is possible to write a macro in Plain TeX which will parse UTF-8 or other encodings you might use; I have done this. So you can write macros for the encoding you want. 08:30:52 I thought the goal was to be simple, with just a couple of files of source code. Now we’re going to have turing-complete macros? 08:31:32 Well, you should have some extension engine whatever it is; I suggested ATLAST. 08:31:57 (Which is a single C source file and a header file, as far as I can tell) 08:32:55 Problem with Unicode (for any uses, really) is the complicated stuff like character properties, changing text directions, and various other things 08:33:34 -!- monqy has quit (Quit: hello). 08:34:06 -!- mekeor has quit (Remote host closed the connection). 08:37:03 -!- monqy has joined. 08:41:41 Even if you do use Unicode, it shouldn't need to use a list of character properties and that stuff. 09:02:59 Program such as TeX works fine with just one source file, one macro file, and a few fonts. Same with METAFONT, LodePNG, TeXnicard, Famitile, and others. 09:04:32 -!- zzo38 has quit (Remote host closed the connection). 09:17:41 -!- MoALTz has joined. 09:52:48 -!- copumpkin has quit (Ping timeout: 244 seconds). 09:53:23 -!- copumpkin has joined. 09:56:50 -!- monqy has quit (Quit: hello). 09:58:50 -!- elliott has quit (Ping timeout: 255 seconds). 10:39:16 -!- barts has joined. 10:39:21 hi 10:49:52 -!- Vorpal has joined. 11:00:27 -!- Phantom_Hoover has joined. 11:11:06 -!- MoALTz has quit (Quit: Leaving). 11:43:55 -!- ogrom has quit (Quit: Left). 12:02:52 -!- carado has joined. 12:09:46 -!- hagb4rd has quit (Read error: Operation timed out). 12:20:11 -!- coppro has quit (Read error: Operation timed out). 12:20:18 -!- coppro has joined. 12:20:30 -!- mindlessDrone has joined. 12:50:14 -!- copumpkin has quit (Ping timeout: 240 seconds). 12:50:49 -!- copumpkin has joined. 13:18:11 -!- atriq has joined. 13:47:38 Well, I have new shoes 13:54:45 The new shoes! Is it the 2012 model? 13:55:06 is it the green model? 13:55:27 can you walk with 'em? 13:56:13 Blue model 13:56:29 I think they're the 2012 model 13:57:37 how fast are they? 13:59:05 which OS? 14:00:50 -!- Frooxius has joined. 14:01:59 olsner, I dunno, other factors are holding it back 14:02:03 mindlessDrone, Nike 14:02:08 -!- carado has quit (Ping timeout: 252 seconds). 14:07:31 -!- atriq has quit (Ping timeout: 244 seconds). 14:09:34 -!- jix has quit (Ping timeout: 240 seconds). 14:23:08 -!- ogrom has joined. 14:28:18 -!- ogrom has quit (Quit: Left). 14:48:11 -!- hagb4rd has joined. 15:24:40 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 15:27:17 -!- TheJimmyJames has joined. 15:30:45 -!- TheJimmyJames has quit (Client Quit). 15:37:56 -!- Phantom_Hoover has joined. 15:40:48 -!- AnotherTest has joined. 15:40:53 Hello 15:41:25 Hi 16:03:51 hi 16:04:59 `? hi 16:05:10 hi? ¯\(°_o)/¯ 16:09:06 -!- atriq has joined. 16:09:07 `log iterate 16:09:38 2010-07-04.txt:14:15:08: please obliterate this feature 16:09:43 > iterate (<|> " Hello!") mempty 16:09:44 [""," Hello!"," Hello! Hello!"," Hello! Hello! Hello!"," Hello! Hello! Hell... 16:12:29 -!- impomatic has joined. 16:21:20 -!- epicmonkey has quit (Remote host closed the connection). 16:21:36 -!- epicmonkey has joined. 16:35:36 Obliterate literate iterators. 16:42:11 -!- impomatic has quit (Quit: http://BASICcomic.com). 16:42:20 -!- ogrom has joined. 16:42:36 -!- ogrom has quit (Client Quit). 16:43:15 > iterate (id) 16:43:16 Overlapping instances for GHC.Show.Show (a -> [a]) 16:43:16 arising from a use of... 16:43:21 > iterate (id) 0 16:43:23 [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,... 16:53:47 -!- elliott has joined. 17:13:19 elliott, \o/ Hi! 17:13:32 why didn't myndzi react to that? 17:13:34 \o/ 17:13:37 weird 17:13:52 http://www.reddit.com/r/ProgrammerHumor/comments/11rcrl/google_has_their_own_version_of_chuck_norris_joke/ 17:14:20 is there any conceivable reason why i would click that link 17:15:18 Because they're slightly humorous? 17:15:33 oh boy /r/ProgrammerHumor 17:15:43 i'm sure this won't at all make me want to murder everyone 17:17:03 hey guys there's this little-known comic called xkcd, it's really funny 17:17:07 anyone else like it 17:17:49 Phantom_Hoover: actually, I find xkcd more insightful than funny 17:17:55 although some of the side material is hilarious 17:18:43 and randall munroe seems to be really good at apocalyptic overthinking 17:19:17 kmc: something called /r/programmerhumor is one thing 17:19:22 kmc: the chuck norris part worries me more about that url though 17:19:24 Phantom_Hoover: i only like obscure nerdy things, like video games, and movies based on superhero comics 17:19:24 his only weakness is his inability to draw 3-a-week comics 17:20:30 he's also good at aggregating data into vaguely surprising results 17:21:25 ais523, have you seen the tumblr insane theory that Randall Munroe is Andrew Hussie? 17:22:51 On the basis that they don't seem to know eachother and they are both friends with Ryan North 17:23:03 whatif.xkcd.com is actually fairly entertaining. 17:23:11 yeah 17:23:20 a lot of people have been saying for a long time that he should do something like whatif 17:23:32 Yeah. It plays very well to his strengths. 17:23:37 unclear if he can make money off it though 17:23:52 In "recent" xkcd, the various info things are all that have been more than "meh". 17:24:11 i like a few of the jokes from recent years 17:24:13 but not that many 17:24:22 kmc: can't he just make money off it the same way he's been doing 17:24:24 people don't generally agree on which of the jokes are funny 17:24:39 http://kawaii-yaois.tumblr.com/post/26879203396/a-case-study-randall-munroe-andrew-hussie 17:24:43 elliott: well he makes money off the comic by making one huge poster comic per month 17:24:46 i feel like xkcd might be gradually transitioning into a state of being underrated 17:24:53 since it seems to have been getting consistently better for a while now 17:24:56 which every nerd is then contractually obligated to buy for their dorm room 17:24:57 I'm pretty sure the plural of "yaoi" is "yaoi". 17:24:59 well 17:25:05 i guess it's impossible for it to be underrated 17:25:06 and then he phones in the other 11 comics for that month 17:25:08 since it has a huge fanbase 17:25:10 but they don't count 17:25:21 elliott: do you think the comic is getting better, or just side projects? 17:25:45 i think the comic has reached a very consistent level of mediocrity 17:25:50 pikhq, I'm pretty sure that isn't relevant 17:25:53 the comic; i think if you look back to how it was fairly recently (like a year or so) it's been improving 17:26:02 atriq: :P 17:26:04 obviously it is not as good as it once was but i think it is getting less bad than it became 17:26:17 every new joke is a rehash of some joke he's already done, but worse 17:26:46 it is rarely offensively terrible, but it's hitting the same dozen themes over and over and wringing all the funny out of them 17:26:48 http://xkcd.com/7/ was the last actually funny one 17:26:53 kmc: Which is still better than "insert nerdy reference here" sadly. 17:26:53 lol 17:27:18 Man. It's really funny his art quality has gone *down* over the years. 17:27:40 ugh arch upgrade fucked with my stuff 17:27:44 why are links opening in firefox now 17:27:51 arch deluxe 17:27:54 i am desirous of a refund 17:27:56 Firefox is best browser 17:28:39 One of my friends upgraded from Safari to Internet Explorer and the speed increase was so great he's too afraid to go to any quicker browser 17:29:43 i left my computer for 3 weeks and now pacman scares me 17:29:43 "upgraded" 17:30:03 elliott, apparently, Safari is really awful? 17:30:15 i guess on windows modern ie > safari 17:30:25 Doesn't it include a partial port of Cocoa on Windows? 17:30:28 Phantom_Hoover: i will derive intense satisfaction from your inability to handle the systemd transition and subsequent breaking of your installation 17:31:09 i can't really fault xkcd's art style 17:31:34 i mean nobody is reading it for the amazing art, but it's a consistent and recognizable look which is not terrible 17:31:36 Sugar. Javascript Sweetened. (sugarjs.com) 17:31:38 programmers 17:31:40 can we please stop 17:31:44 trying to imitate apple marketing 17:31:46 with slogans 17:31:51 thank you 17:31:55 compared to other stick figure comics on the internet which mostly look like they were drawn using the ellipse tool in ms paint 17:32:04 AND ALSO: programmers can we stop talking about JS 17:32:08 like, forever 17:32:10 kmc, it's better than most of MegaTokyo's art style, which I think is cluttered 17:32:18 stop imitating apple? then we would have to, like, think of original ideas 17:32:33 a more relevant criticism of xkcd is that most of the jokes just don't need to be visual 17:32:42 the prototypical bad xkcd strip is two unmoving stick figures exchanging dialogue 17:32:50 "Is Sugar available for Node.js? Yes!" 17:32:53 oh boy oh boy!! 17:32:59 but if this thing extends javascript does it count as an interesting language?? 17:33:02 I liked the latest xkcd's art 17:33:03 sounds like it might be legacy garbage 17:33:07 panel 1: setup line which nobody would possibly ever say in real life 17:33:14 panel 2: mildly amusing tweet-worthy observation 17:33:16 Javascript: the new C. 17:33:49 panel 3: unnecessary post-punchline dialogue (e.g. "we live in the future", " is weird, man", "i like science a whole lot can i please be in your club guys") 17:34:35 i wonder if any people at MIT hate RM on appropriationist grounds 17:34:44 most of the people i've talked to who know him seem to like him 17:35:13 RM = ? 17:36:11 randall munroe 17:36:23 guys should i play adom 17:37:03 Ah. 17:37:24 Yeah, my experience with him (admittedly limited and via IRC) suggests he's a decent guy. 17:37:31 kmc: maaan 17:37:37 kmc: did you know i've been on an old version of mosh for MONTHS??? 17:37:40 because the AUR package got renamed 17:37:42 and nobody told me 17:37:50 this is offset by the fact that I don't use mosh though 17:37:54 heh 17:37:58 you should upgrade to the just-released 1.2.3 17:38:09 kmc: afaict there's only mosh-git 17:38:14 gotta live on the bleeding edge 17:38:14 oh 17:38:20 oh! 17:38:23 there is mosh in the community repos 17:38:28 you're Officially a Program now 17:38:51 here by "you" I mean "mosh" 17:39:09 the package is 1.2.3 too 17:39:09 huray 17:39:55 yay 17:41:09 https://github.com/keithw/mosh/commit/029e8bbde5e53b2e3454241143050cef27705cbe#L0R1018 17:41:12 security is hard :( 17:41:34 before anyone starts ranting about "rolling your own crypto", this is a third party crypto library bundled with mosh and written by professional cryptographers 17:42:35 i think it's really interesting how "optimisations" like memcmp bailing out early are insecure 17:42:55 and also, really worrying 17:43:14 i also think a Sufficiently Smart compiler would be allowed to optimize my constant_time_memcmp into something that bails out early anyway 17:43:36 right 17:43:43 current infrastructure is just totally fucked for writing secure programs 17:43:46 it seems basically futile 17:43:49 yep 17:43:57 but what secure programs want is so at odds with what you want in general 17:44:04 like my regular programs would like memcmp to be fast pls 17:44:08 writing programs without timing side channel leaks probalby requires a domain specific language 17:44:19 and even then you will have to be careful about cache effects, etc 17:44:23 right 17:44:40 I guess in the end the ideal would be having all security code packaged up in libraries written in languages that are very precise about timing and so on 17:44:52 yeah 17:45:08 written by a small number of experts, exposing APIs which are hard to mis-use 17:45:22 which is how we saw ocb.c 17:45:27 ha, an API is that is hard to mis-use 17:45:35 a very self-contained "decrypt this packet and tell me if it's authentic" function 17:45:38 but even experts make mistakes 17:46:35 and yeah, it will always be possible to misuse APIs 17:46:45 especially when we have preconditions like "never use the same nonce twice" 17:47:04 but there is also a lot that can be done to improve this 17:47:42 clearly linearly-typed nonces 17:48:55 yes 17:49:01 perhaps linearly-typed nonces will fix my crypto API 17:49:37 don't talk noncense, kmc 17:49:42 wompwomp 17:50:45 What's mosh? 17:50:46 As the saying goes, Britain and America are two nations divided by a common charset. 17:50:52 atriq: http://mosh.mit.edu/ 17:51:08 Mosh is food 17:51:20 that's nosh 17:51:31 now he's telling users who can't get it to run to read his academic paper 17:51:36 you'd think this was haskell software or something 17:51:38 * kmc rimshot 17:51:47 nfood then 17:52:03 That reminds me 17:52:14 I need to find a way of running Skype from the command line 17:53:46 have some hard times trying to get these knockout.js observables to work with jquery based plugins.. thousand lines of workaround-js-code.. a nightmare 17:54:01 atriq: yeah 17:54:11 i switched to command line irc and aim/xmpp clients because of mosh 17:54:29 i run them on ec2 and my sessions follow me wherever i go 17:56:25 also it works on a lot of very marginal connections where the IRC protocol (or anything else TCP-based) is completely unusable 17:57:25 Spiffy. 17:57:46 okay so who wants to tell me how to fix links opening in firefox thanks 17:58:03 like i am not picky 17:58:06 it could be anyone 17:58:07 Change your default browser 17:58:07 could be you 17:58:19 which file 17:58:41 Who knows? 17:59:10 Maybe you open your browser of choice and click the button that says "make this your default browser" 17:59:41 Default browser 17:59:42 Chromium cannot determine or set the default browser. 18:00:01 Then you're using an obscure operating system 18:00:05 also does anyone have email client recommendations 18:00:41 I personally am using Claws ATM, but I'll note that it's a little rough. And if you find something better let me know. 18:01:01 use gmail like a normal human being 18:02:05 My university's email is on fucking outlook.com. I'm not using that straight. 18:02:08 kmc: i do and am vaguely sick of it 18:02:32 maybe i should just use mutt, 10 billion linux nerds can't be wrong 18:02:43 even if threaded discussion sort of sucks 18:03:02 http://twitter.com/1990sLinuxUser 18:03:13 wish this was still updating 18:04:55 *grin* 18:05:13 "Why has systemd deprecated support for /usr on a different filesystem!!" 18:05:43 My sensibilities run vaguely close to "90's Linux User", but I applaud that of systemd. Except that it didn't go far enough. 18:05:56 ln -s / /usr is the only right way 18:06:01 haha 18:06:06 what. could. go. wrong. 18:06:16 In my testing, nothing at all. 18:06:20 seriously? 18:06:23 Yeah. 18:06:27 wow 18:06:34 you a crazy motherfucker 18:06:36 And it's even FHS conformant. 18:07:07 About the only weirdness is you get a few more directories in / 18:07:14 e.g. /x86_64-unknown-linux-musl 18:08:05 i have come to prefer separate /usr 18:08:12 to some degree 18:08:29 i guess anything that traverses directories already needs to understand symlink loops 18:08:37 there seems to be enough semantic distinction between what is in /usr and e.g. the stuff in /var 18:08:48 and i don't think having a read-only /usr is inherently an unreasonable idea 18:09:07 Also, I see nothing wrong with /run at all. 18:09:22 i kind of want to compress /usr 18:09:26 I see nothing. 18:09:30 for my ssd 18:09:32 Because I AM BLIND ALL ALONG 18:09:36 :O 18:09:41 hm 18:09:45 speaking of 1990s linux users 18:09:45 Makes perfect sense to merge run-time transient state into a single dir. 18:09:46 (disclaimer: I'm not blind) 18:09:49 did I ever get X11 working on that floppy linux distro 18:09:51 i think i didn't :( 18:09:56 i should try that again! 18:10:03 Awesome. :) 18:10:18 pikhq, what's you're reaction to me, elliott, and Phantom_Hoover all being from the 90's 18:10:20 i managed to get the latest kernel and a crappy shell and some vaguely crappy standard utilities (written in asm) working, I know that much 18:10:22 in <1.4 megs 18:10:27 kmc: all modern file systems have transparent compression 18:10:30 uh i think pikhq was born in the 90s too 18:10:36 THE MYSTERY DEEPENS 18:10:37 oh and by "working " I mean "in qemu" 18:10:38 I was born in 1990, so yes. 18:10:59 I'm 18 in two weeksz 18:11:00 -!- atriq has quit (Quit: Leaving). 18:11:09 elliott: You're not getting a (recent-ish) build system in that space, sadly. 18:11:09 oh right that's why i asked thingy 18:11:13 olsner: really? 18:11:13 pikhq: you know about wayland right 18:11:23 Best I was able to do was an 11M squashfs. 18:11:30 elliott: Only vaguely. 18:11:30 olsner: do you mean automatically or with some command per-file 18:11:40 I have no idea if it + xwayland is larger or smaller than X11. 18:11:52 http://en.wikipedia.org/wiki/Ext4 says "no" for ext4 18:11:53 oh did you answer that 18:11:54 btrfs has a mount flag for compression, zfs lets you set it per file system 18:11:54 Though, bootstrap-linux currently static links all the binaries. 18:11:56 i fell asleep at one point so if you did 18:12:02 elliott: I didn't. 18:12:06 ok 18:12:08 http://www.ohloh.net/p/e4z 18:12:11 i suspect it'd probably be larger 18:12:20 just because wayland depends on fancy kernel graphical stuff that i turned off 18:12:22 probably 18:12:31 btrfs has it though 18:12:38 (I'm just too lazy to get the crosscompiler build scheme done "right", so it can actually do dynamic linking) 18:12:39 anyway maybe i would be satisfied with two floppies 18:12:43 one with X and a build chain and one with everything else 18:12:58 GCC's fucking huge. 18:13:03 but I think it'd be really cool if you could get a Linux system that's fully "bootstrapped" in that it comes with everything you need to download and rebuild itself in a graphical environment in 1.4 megs 18:13:04 (bak later) 18:13:16 with some ridiculous compression and brutal feature trimming 18:13:30 pikhq: are the patches to compile the kernel with tcc kept up-to-date 18:13:39 No. 18:13:43 bootstrap-linux is currently 31M... 18:14:21 At some point in the next year I anticipate landley actually getting tcc (well, more like qcc) functional, at least. 18:14:34 Though toybox probably comes first. 18:14:54 bootstrap-linux is currently 31M... 18:14:57 how big is your kernel 18:15:03 I think I got my kernel down to like 300-500 kilobytes compressed 18:15:11 as in, it actually booted in qemu and ran the stuff 18:15:19 -!- zzo38 has joined. 18:15:27 3.1M but I have *not* cleaned up the kernel config at all. 18:15:30 also I had no filesystems except in ram 18:15:42 i just used the embed-a-directory-tree-directly-into-the-kernel stuff 18:15:48 so it got compressed with the kernel image and loaded into ram 18:16:01 in fact I think the kernel had no idea how to load floppies at all 18:16:09 it just relied on the bootloader loading everything it needed or whatever 18:16:33 arguably it would be better to try and stuff floppy support into the kernel 18:16:46 so that you could boot it, recompile the sources from scratch (given a copy of them), and then write a new floppy with it 18:17:50 Hmm, the cpio.xz is a mere 7.9M... 18:18:24 "mere" 18:18:34 it gets something like exponentially harder to get things smaller as you go 18:18:46 IME 18:19:27 I'd probably do well to switch on dynamic linking. 18:19:33 pikhq: do you think the basic X11 protocol is simple enough that I could implement a tiny X server that outputs to the framebuffer without wanting to kill myself or spending a year on it 18:19:47 In a word, no. 18:19:55 not sure dynamic linking would help... you'd include unused library functions, and compression should already handle most of the redundancy, right 18:20:04 Removing the kernel from the cpio and some documentation got it down to 4.3M 18:21:23 anyway probably this would be a lot easier with some like 2.4 kernel 18:21:25 but that is cheating 18:21:53 Major benefit of dynamic linking is that binutils has a *lot* of programs which use libbfd... 18:25:41 are there no smaller alternatives for binutils? 18:25:51 I think I found my singing voice 18:26:32 olsner: Not really. 18:26:43 And I even went and beat a lot of bloat out of it with a giant stick. 18:27:03 -ffunction-sections -fdata-sections -Wl,--gc-sections 18:27:20 Why does elliott need a tiny X server? 18:28:28 -!- epicmonkey has quit (Remote host closed the connection). 18:28:44 -!- epicmonkey has joined. 18:28:56 -!- epicmonkey has quit (Remote host closed the connection). 18:29:24 -!- epicmonkey has joined. 18:29:30 -!- epicmonkey has quit (Remote host closed the connection). 18:30:50 -!- epicmonkey has joined. 18:36:46 pikhq: I'm not sure that's the "giant" stick, but definitely a start 18:37:05 olsner: From some binutils binaries it removes nearly a meg. 18:40:32 Also did some more autoconf fighting to convince it not to install libiberty. 18:40:48 Or libbfd. 18:41:05 (if you don't install the headers, you don't get to install the damned library!) 18:41:50 (libiberty is only installed as a .a anyways, meaning you don't even get the excuse of "it's a utility library all binutils needs") 18:44:26 -!- jix has joined. 18:58:26 pikhq: imo rewrite binutils 19:00:54 GCC's a bit more important to rewrite IMO. 19:01:09 binutils is bloated. GCC is bloated and stupidly fragile. 19:01:25 Or you could use a different compiler 19:01:29 -!- atriq has joined. 19:01:36 Name one that builds Linux. 19:01:51 ungcc 19:04:30 clearly minix time 19:08:50 Hasn't clang been used to compile a "working" kernel already? 19:09:00 does clang fit on a floppy? 19:09:27 fizzie: Needs patching, I think. Like icc. 19:10:04 GNU stuff tends to be bloated 19:13:18 -!- monqy has joined. 19:13:45 There's a BOM in my UTF-8 file. 19:14:47 fizzie: ew 19:16:15 clang's *larger* than GCC. 19:16:22 olsner: depends how you define "to flop" 19:16:32 Though GCC will probably catch up, and that quickly. 19:17:03 The only advantage GCC has over clang in binary size is that GCC is in C, and GCC isn't in C anymore. 19:17:34 And clang has the (decent) excuse of being a full on C static analysis tool that happens to have a code generator attached. 19:17:46 anyway, is the whole compiler and toolchain required to be on the floppy as well? 19:17:47 GCC isn't in C anymore? 19:18:03 zzo38: They switched to requiring C++ in git recently. 19:18:19 GCC 4.8 will be C++. 19:18:45 OK, but they should still compile C codes as well as C++ codes too 19:19:01 It does still function as a C compiler. 19:19:07 It's just written *in* C++ now. 19:19:17 OK 19:19:28 GCC also supports some targets that LLVM does not support, though, such as MMIX 19:21:13 -!- AnotherTest has quit (Quit: Leaving.). 19:25:38 -!- heroux has quit (Read error: Operation timed out). 19:30:21 -!- heroux has joined. 19:35:48 -!- shubshub has joined. 19:35:50 hi 19:36:03 hi 19:39:36 pikhq: do you know anything about ncurses 19:40:29 -!- hagb4rd has quit (Read error: Operation timed out). 19:41:55 Nwitches cast ncurses. 19:42:35 -!- hagb4rd has joined. 19:42:36 the BOM is also a zero-width non-breaking space 19:42:45 though there's now a different codepoint you're supposed to use for that 19:45:56 Well, it's immediately at the start of the file, there's no real reason for a zwnbsp, and (I think; haven't verified) it's confusing mplayer's srt subtitle parser because it expects "1", not "\ufeff1", at start. (Or possibly it's not autoloaded for some other reason.) 19:46:21 heh 19:46:41 All Microsoft's fault. 19:47:32 (Notepad expects and emits a UTF-8 BOM for UTF-8 text) 19:48:03 "Failed to open subtitle demuxer", it says, if I explicitly -subfile it. (VLC is happy with it though.) 19:51:20 This was from the Finnisn national broadcasting company's web thing (YLE Areena), though I'm really not sure if it's their fault, or the YLE-specific rtmpdump script+plugin's fault. 19:51:35 urllib.urlretrieve(url, subtitlefile.encode(enc, 'replace')) 19:51:38 self.add_BOM(subtitlefile) 19:51:44 Okay, that's quite clear. 19:52:21 I'm assuming some player or another is using the BOM to go all "hey, these subs are in UTF-8 and not in our legacy 8-bit encoding". 19:54:58 pikhq, Microsoft has done some good though. Isn't XMLHttpRequest from IE? 19:54:59 Also I think the web thing used to have burned-in subtitles in the RTMP video stream, it's kind of nice that they've switched it to an external SRT file presumably loaded by the official Flash player. 19:55:09 heh, that seems likely 19:55:39 btw python urllib sucks ass 19:55:43 'requests' is a much nicer library 19:55:53 Aren't you supposed to use urllib2? 19:56:10 someone probably thinks so 19:56:14 but requests is nicer than urllib2 19:56:30 I meant over urllib 19:59:48 Sgeo: It imports urllib and urllib2. 20:00:34 I seem to recall you used some things from the old one. But I haven't used it much. (It wasn't a nice library.) 20:02:27 -!- shubshub has quit (Remote host closed the connection). 20:03:30 yle-dl changelog, 1.99.7: "Add byte order mark into subtitle files. Some players don't show umlaut characters correctly without it." 20:04:44 How fast would CPU having an internal memory and an external memory, where the internal memory is partially ROM and partially RAM and also includes the external address bus and data bus as locations in the internal memory, it execute instructions from the internal memory using VLIW instructions and those are used like microcodes to execute external instructions? 20:37:37 -!- MoALTz has joined. 20:37:44 * Sgeo is poking a giant gaping hole in the Clojure bot's sandbox in #clojure 20:37:52 Although someone else discovered the hole, I'm exploring it 20:39:26 have fun 20:42:34 -!- epicmonkey has quit (Ping timeout: 240 seconds). 20:46:06 -!- carado has joined. 20:50:38 Now I figured out how to beat the demon in Dungeons&Dragons game, I think, although we need to beat the chancellor first just because it is more important. 20:50:50 We need to somehow tilt the demon's castle. 20:51:37 Like how Kaiji managed to tilt the entire casino in order to win at a pachinko game. 20:52:27 Like in New Super Mario Bros Wii? 20:52:41 It may or may not have happend in New Super Mario Bros Wii 20:52:45 I'm only on world 2 20:53:14 I don't know if it happens in New Super Mario Bros Wii, I have not played that game. 20:53:53 `:t foldr 20:53:55 :t foldr 20:53:56 forall a b. (a -> b -> b) -> b -> [a] -> b 20:54:02 -!- carado has quit (Ping timeout: 255 seconds). 20:54:03 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: :t: not found 20:59:16 When I was in the castle last time, I found that it was not tilted, and there is also water on the ceiling. If I use anti-magic in there (I know where to get such a device), the water might fall down and flood everything. Or maybe it is even artificial gravity and something will go wrong with that too... 21:00:47 Do you have any manipulate water spells? 21:01:03 I can't use those in a anti-magic field! 21:01:16 ...manupulate water prayers? 21:01:30 I can't use those in a anti-magic field either! 21:01:43 A very large sponge? 21:01:54 erect an anti anti-magic field field 21:02:23 No, my plan was to tilt the building so that all the water would go to one side 21:02:35 So that it is shallow on one side and deep on one side 21:02:40 One day I may actually play D&D 21:03:12 What character do you prefer to play? 21:03:26 I dunno 21:03:31 Probably a cleric type 21:03:39 kmc: 21:03:40 *Main> :kind! Foldr Pair Unit (Map Show '[Int, String]) 21:03:40 Foldr Pair Unit (Map Show '[Int, String]) :: Constraint 21:03:40 = Pair (Show Int) (Pair (Show [Char]) ()) 21:03:54 I do happen to know the demon's age if that ever becomes important (I know by psychic impressions on a chancellor's guard's sword) 21:03:59 (class (a, b) => Pair a b; instance (a, b) => Pair a b); type family Unit :: Constraint; type instance Unit = ()) 21:04:10 kmc: real world haskell 21:04:39 atriq: There are different versions of D&D game; I am playing D&D 3.5 edition. One day I may complete the writing of Icosahedral RPG rules; much of what I have in my mind I have not typed. 21:04:56 I've got the 4th ed player's handbook 21:05:18 I don't really like 4th edition, many other people also don't like it 21:05:42 I dunno, I've never actually played it 21:05:49 Or 3.5 or any other D&D 21:06:00 I've also got the Diana: Warrior Princess book 21:06:53 I also happen to know that the demon's magic powers are less powerful the farther away he is from his castle (I know this from the illithid savant's "lore" class feature); my idea initially was to try to lure the demon to the opposite side of the Earth. 21:07:15 That'd take a while 21:07:26 It might be quicker to move his castle 21:07:28 Yes I know, that is one reason why I won't do it 21:08:27 http://sprunge.us/jTUh 21:08:31 good ghc errors 21:08:41 (while trying to write mapElimH :: (All c ts) => (forall a. (c a) => a -> r) -> HList ts -> [r]) 21:09:45 I know a shortcut to the inside of the castle, which only works at nighttime, though. I may need a team to come in this way, exit through the door or something, and weaken the foundation, to tilt the castle. 21:14:42 But at first I need to get rid of the assassins, and I have some plan related to the phase of the moon and pretending to be trapped by the illithid haters society and miscast a spell intending to communicate with someone else, so they will believe me and try to kill me, but it is a illusion so that way I can trap them. 21:14:58 And then after that, I somehow need to trap the chancellor too, and rescue the king. 21:16:08 I cannot enter the king's castle because only the chancellor's guards are seen at the entrances; the king's guards are no where to be seen. So instead we just try something else, such as, sending messages secretly to the royal scribes and so on. 21:16:26 Hopefully the chancellor's guards have not infiltrated them too! 21:20:05 How much do you know about the Chancellor? 21:20:15 And how much does he know about you? 21:21:34 allThrough :: (All p (x ': xs)) => (forall ys. (All p ys) => rep ys -> r) -> rep xs -> r 21:21:34 allThrough k = k 21:21:36 even this isn't helping :( 21:32:19 -!- mindlessDrone1 has joined. 21:33:40 -!- mindlessDrone has quit (Ping timeout: 268 seconds). 21:33:51 -!- nys has joined. 21:36:26 I know a few things about the chancellor and he knows a few things about me. I do happen to know the chancellor is evil and I know his age too, but I do not know his location. The chancellor probably knows a few things about me or at least his guards do; they hired an assassin to kill me. 21:36:37 And I know exactly how much money they got paid for that job, too. 21:37:09 Could you outbid the assassin? 21:37:24 shachaf: Did you get your Stripe web CTF shirt yet? 21:38:45 kmc: Nope. 21:38:48 Did you? 21:38:52 nope 21:39:03 I was thinking it was just me, since they never managed to get it to me last time. 21:39:09 yeah, not just you 21:39:14 i should bug gdb about it 21:39:24 or perhaps i could... de-bug gdb?!?!? 21:39:50 -!- mindlessDrone1 has left. 21:41:06 Occasionally I go to their various events, so I might bug him then. 21:45:33 atriq: I have not enough money to outbid the assassin. 21:45:37 :( 21:45:57 * kmc is currently mashing four potatoes 21:46:01 shachaf: what are their events like? 21:46:01 Even if I did have enough, I do not know where the assassin's guid is. 21:46:09 s/guid/guild/ 21:46:50 kmc: four potatoes! 21:46:58 Do you know where there's a thieves' guild? 21:49:11 *Main> mapElimH' showTo (HCons 1 (HCons "abc" HNil)) 21:49:11 ["1","\"abc\""] 21:49:12 aww yeah 21:49:44 -!- atriq has quit (Remote host closed the connection). 21:50:20 I don't know a thieves' guild either but I don't think I need one of those. 21:50:53 elliott: is HCons like Lisp's cons? 21:51:00 depends what that means 21:51:11 sort of and no 21:51:18 Is there a HCar and HCdr 21:51:19 whatever it is, i'm sure lisp's is better because it's lisp 21:51:39 these are type level lists right 21:51:47 except that you've used some insane GHC 7.4 black magic 21:51:54 or am i totally off base 21:52:31 it's actually 7.6 black magic at this point 21:52:57 kmc: http://sprunge.us/BJHh 21:53:10 took the Show thing from an SO answer and modified it and am trying to get it to use mapElimH 21:54:52 -!- Nickname_ has joined. 21:55:40 next up: toListH :: (Homogeneous ts a) => HList ts -> [a] 21:56:02 GODDAMNNIT APPARENTLY THERE"S NO SUCH THINGS AS HEADPHONES THAT WON"T BREAK IN MY CARE 21:56:11 -!- MoALTz has quit (Quit: Leaving). 21:56:11 that is my experience as well 21:56:14 it is a matter of when, not if 21:56:14 actually hm 21:56:16 maybe i want something more like 21:56:22 but all things decay Sgeo 21:56:34 If atriq is ever come back on let them to read the recent text on my Dungeons&Dragons game if interested, or anyone else read if interesting perhaps you comment on my plans too 21:56:38 toListH :: HList ts -> Maybe () [] (Homogeneous ts) 21:56:44 hmmmmmm 21:56:46 Oh, I think it was the video, not the headphones 21:56:53 oh I actually do want a typeclass I think 21:56:54 Or even complain about spelling and grammatical errors if you want to 21:56:55 just one with an ATF 21:57:00 What is ATF? 21:57:32 associated type family 21:57:59 alcohol tobacco and firearms 21:58:05 uhh what's the simplest way of writing a foldr that checks all elements of a list are equal 21:58:05 essential ingredients for haskell programming 21:58:08 on the value level 21:58:12 shachaf: help 21:58:12 kmc: ... and explosives, nowadays 21:58:26 http://en.wikipedia.org/wiki/Bureau_of_Alcohol,_Tobacco,_Firearms_and_Explosives 21:58:29 yeah 21:59:02 What type family do you need? 21:59:47 something along the lines of toListH :: (Homogeneous ts) => HList ts -> [Elem ts] 22:00:17 oh hm 22:00:29 that doesn't work because HNil is polymorphic 22:00:31 interesting 22:01:24 -!- Nickname_ has quit (Quit: Alt-F4). 22:02:06 aha 22:02:07 toListH :: (All ((~) a) ts) => HList ts -> [a] 22:02:34 toListH :: (All ((~) a) ts) => HList ts -> [a] 22:02:34 toListH = mapElimH' cast 22:02:34 cast :: To ((~) a) a 22:02:34 cast = To id 22:03:02 so now just to separate mapElimH' and toListH 22:03:56 toListH :: (All ((~) a) ts) => HList ts -> [a] 22:03:56 toListH HNil = [] 22:03:56 toListH (HCons x xs) = x : toListH xs 22:03:57 One thing Haskell doesn't have but would be like is classes with automatic instances, you cannot define your own instances you can only use the instances made automatically. Typeable should be made into such a class. But I have wanted to make other classes having this feature too. 22:04:02 *Main> :t toListH 22:04:02 toListH 22:04:03 :: (Foldr 22:04:03 Constraint Constraint Pair () (Map Constraint * (* ~ a) ts)) => 22:04:03 HList ts -> [a] 22:04:10 kmc: i am enterprising 22:07:05 kmc: You were at one of them, weren't you? 22:07:06 shachaf: You have 1 new message. '/msg lambdabot @messages' to read it. 22:07:24 elliott: help 22:15:13 at what? 22:15:15 oh 22:15:20 yeah i was at the first ctf wrapup 22:24:47 zzo38: Why would you want that? 22:29:00 mroman: It would be useful sometimes, when you want to indicate that certain features of the type are available, as part of a constraint, Typeable is one example of such thing, although there are others, such as types belonging to another class but without exposing its methods, etc 22:30:53 "Seriously, what moron in this day and age is not familiar with the limitations of aclocal and the best practices to use system-wide m4 macros?" :D 22:31:42 http://www.nytimes.com/2012/10/20/us/in-silicon-valley-perks-now-begin-at-home.html 22:31:58 let's feed our programmers and do their laundry and clean their rooms and make sure they don't have to be capable of functioning as adults in any way 22:32:44 programmers are children right, it would be crazy to just give them money and expect them to spend that money in ways they see fit 22:33:12 Not all programmers are children. Some may be. 22:34:15 oh no 22:34:18 I need a way to eliminate via iso here 22:34:31 this sux 22:34:32 i think there is a learned helplessness aspect too 22:34:55 when all your daily needs are met by The Company and all your friends and housemates work for The Company and all your social events are organized by The Company, it makes it that much harder to quit 22:36:57 That is why you need to quit. 22:37:11 elliott, Phantom_Hoover monqy mapdate 22:49:45 -!- ais523 has quit. 23:30:41 -!- Vorpal has quit (Read error: Operation timed out). 23:36:25 -!- Nisstyre-laptop has quit (Ping timeout: 246 seconds). 23:38:35 -!- Nisstyre-laptop has joined. 23:40:27 -!- monqy has quit (Quit: hello). 23:41:51 -!- monqy has joined. 23:51:57 kmc: Have you had strawberries with balsamic vinegar? 23:53:44 OM NOM NOM 23:53:45 also, bacon 23:54:03 copumpkin: I don't think I've had that. 23:54:22 bacon with balsamic is good 23:54:35 everything is good with balsamic 23:54:40 Everyth -- that. 23:58:17 test :: ((forall a. (Show a) => a -> String) ~ (Int -> String)) => () 23:58:19 why is this not ok 23:58:21 is there a ~ that means 23:58:23 "can unify with" 23:58:25 so i can do 23:58:30 (a ~ String -> String, a ~ Int -> String) 23:58:38 and a = forall a. (Show a) => a -> String 23:58:39 works