00:00:06 screw this 00:00:20 no application does aac tagging compatibly! 00:00:21 why 00:00:32 I'm just going to transcode it to .ogg 00:05:15 -!- kallisti has quit (Ping timeout: 265 seconds). 00:31:48 i keep the master copy of my music collection in a simple "artist/album/nn - track.ext" directory structure 00:31:55 because multi-container tagging is a pain 00:32:25 -!- kallisti has joined. 00:32:25 -!- kallisti has quit (Client Quit). 00:32:30 i have a script to transcode a subset of that to ogg vorbis and tag it, for my portable player 00:34:11 -!- pikhq_ has joined. 00:34:28 -!- pikhq has quit (Ping timeout: 244 seconds). 00:53:32 -!- invariable has quit (Remote host closed the connection). 00:53:36 Do you like Ogg containers? 00:56:38 who doesn't? 01:02:52 I do not like greens oggs and hogs 01:02:58 *green 01:03:19 Do you like the Decompose type I have made up in Haskell? 01:06:58 -!- variable has joined. 01:08:15 I do not like them, o-er-jan 01:09:13 -!- pikhq has joined. 01:09:22 -!- pikhq_ has quit (Ping timeout: 252 seconds). 01:15:17 Do you like CodensityAsk (and CodensityAskT)? I have figured out many things about it. 01:20:21 (CodensityAsk (Store s)) is also MonadPlus. 01:21:17 hm on-board sucks so badly. I just compared it to my phone, my phone has way better bass than my desktop's onboard sound (using a pair of studio headphones in both cases). My SB Live beats both of course. 01:22:14 After edwardk told about F-algebras to make free monad and so on, I realized that making the free comonad from Maybe and from the Copeanoid class it is also a F-coalgebra for Maybe so it is the same thing. 01:22:37 Even though I can already see that it is a non-empty list comonad in both cases, now I can see the similarity, too. 01:28:52 -!- HackEgo has quit (Ping timeout: 265 seconds). 01:29:24 -!- HackEgo has joined. 01:29:36 zzo38, wow that went completely over my head 01:29:53 should learn more category theory I guess 01:34:29 TWO _HUNDRED_ THIRTEEN _THOUSAND_ ONE _HUNDRED_ FORTY_ FOUR 01:34:46 Today's puzzle: come up with #defines so that that expression works as expected. 01:35:00 The first few seem easy enough: 01:35:38 #define ONE 1; #define TWO 2; #define FOUR 4; #define THIRTEEN 13; #define FORTY_ 40 +; #define _HUNDRED_ * 100 + 01:35:53 The hard part is _THOUSAND_. 01:36:35 I guess the best I can think of is #define _THOUSAND_ ) * 1000 + ( 01:36:43 Then (TWO _HUNDRED_ THIRTEEN _THOUSAND_ ONE _HUNDRED_ FORTY_ FOUR) will work correctly. 01:37:00 I think. 01:37:12 #define TWO 213144; #define _HUNDRED_ + 0; #define THIRTEEN + 0; ... 01:37:29 kmc: I said "as expected". That's not how I would expect it to work. 01:37:35 oh 01:37:40 i wouldn't expect it to work at all 01:38:00 if one may assume that an expression like TWO _HUNDRED_ alone should also work, then there are more problems... 01:38:25 Nah, there'd be a separate symbol, _HUNDRED, for that. 01:38:31 oh 01:38:59 -!- DHeadshot has quit (Read error: Connection reset by peer). 01:39:03 <$ <$> <* <*> *> 01:39:06 -!- DH____ has joined. 01:39:15 well TWO and FOUR need to work alone, which means they cannot contain any unbalanced bracketing 01:40:27 Then FORTY_ must work next to FOUR, so it can't have unbalanced bracketing, either. 01:40:35 -!- DH____ has quit (Read error: Connection reset by peer). 01:40:42 Then you can conclude the same for _HUNDRED_, then for _THOUSAND_, right? 01:40:49 So you need some real trickery. 01:40:54 which tells me we need to use precedence to get the grouping correct, not brackets 01:42:20 it might be worth looking into more operators than + and * 01:42:20 is C++ allowed? ;) 01:42:36 i still don't understand the problem statement 01:42:39 The C preprocessor is supposed to be Turing-complete, isn't it? 01:42:45 No. 01:42:50 It's explicitly designed not to be. 01:42:54 what does it mean for it to work "as expected" 01:42:54 Oh. 01:43:00 cpp is turing complete if you allow a file to re-include itself 01:43:04 more or less? 01:43:04 No, it's not. 01:43:10 kmc: make it so that the written-out form of any number evaluates to the correct number. 01:43:11 We had this debate a while ago, it's still not. 01:43:12 tswett: C++ might make a lot of difference to C, since you can overload operators 01:43:13 though it is, with a certain nonstandard feature 01:43:21 i assume implementations have limits on sizes of things 01:43:23 cpp is designed to guarantee termination, no? 01:43:26 comex: which feature? 01:43:32 pragma push_macro 01:43:34 Well, sure, it could be with nonstandard features, but even with no limit on inclusion depth, it's not TC. 01:43:37 you can use it to do recursive macros 01:43:56 why is it not turing complete if you allow re-inclusion 01:43:57 You can't simulate state changes and without that sort of special macro you can't do recursion. 01:44:15 -!- pikhq_ has joined. 01:44:23 Or rather, sorry, you can't simulate unbounded memory. 01:44:28 -!- pikhq has quit (Ping timeout: 248 seconds). 01:44:28 You can only do a finite number of states. 01:44:34 tswett: i think we really need to know is this is supposed to work with just C... 01:44:46 Because you can't really define macros in terms of previously defined macros. 01:44:48 anyway, that wouldn't really help here because there's no enclosing macro 01:44:53 It seems easy to do it with C++. Just find some operators with the required precedence (you only need four) and overload them. 01:45:13 you actually only need one 01:45:28 So let's say it must be done in plain C. 01:45:55 If you were allowed to require that they be prefixed by some NUMBER_START macro it'd be easy >_> 01:46:05 Or, equivalently, suffixed. 01:46:10 (Or both of course) 01:46:13 #define NUMBER_START ((; #define NUMBER_END )) 01:46:18 And then my scheme works. 01:46:25 Gregor: what's your scheme? 01:47:03 tswett: struct numberthing { int value; struct numberthing (*add)(int v); struct numberthing (*mul)(int v); }; 01:47:19 You just need to be able to get the value back out at the end. 01:49:54 -!- DHeadshot has joined. 01:50:53 hm... 01:51:16 struct numberwang 01:51:20 -!- Dovregubben has quit (Ping timeout: 246 seconds). 01:51:52 Vorpal: OK then learn 01:52:07 You could look at Wikipedia article about F-algebra 01:52:08 -!- Dovregubben has joined. 01:53:45 hm what about the 3[a] trick, can that help? 01:54:45 * oerjan is browsing http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Operator_precedence 01:54:52 ... you brilliant, brilliant psychopath. 01:55:17 All you need is an array of size 1000, mapping x to 1000*x... oh wait, that operator's precedence is no more convenient than * though. 01:55:18 WHY THANK YOU 01:55:40 What are you trying 01:56:05 Gregor: except you can _combine_ it with a real + for the thousands? 01:56:17 TWO _HUNDRED_ THIRTEEN _THOUSAND_ ONE _HUNDRED_ FORTY_ FOUR 01:56:17 Today's puzzle: come up with #defines so that that expression works as expected. 01:56:28 3[a] trick? 01:56:42 hm the problem is you still need something else to join the part after it... 01:56:43 oerjan: I think it's salvageable, I just haven't figured out how yet. 01:56:50 comex: In C, a[3] and 3[a] are equivalent. 01:56:56 oh 01:57:45 is there a fake C facts blog 01:57:46 oerjan: Maybe EVERY op uses [], except that THOUSAND, MILLION etc use [...]+0 01:58:21 Oh, except then you couldn't get both TWENTY_ TWO and TWO to work, at least not without _TWO being a thing. 01:58:37 bitwise OR would have been nice if you tried doing this for binary :P 01:58:43 (|) 01:58:44 oerjan: Yeah, I thought of that. 01:58:44 "arrays in C actually contain one extra element at the end" is a commonly believed fake C fact 01:58:48 what if 01:58:50 but not that funny 01:59:05 #define TWO (two) 01:59:07 and ditto all the other ones 01:59:13 where two is a function that returns a function pointer, etc. 01:59:13 tswett: Is there a reason you've chosen to underscore-attach things exactly like that? Can't have TWO_ _HUNDRED_ _THIRTEEN_ _THOUSAND_ _ONE_ _HUNDRED_ _FORTY_ _FOUR? 01:59:42 comex: That was the gist of my struct solution (although yours is more elegant), but the problem is you need a suffix. 01:59:43 kmc: there is a technically true fact slightly similar - it is not undefined behavior to increment a pointer to that address 01:59:53 Otherwise you end up with a function pointer instead of data :( 01:59:55 but dereferencing it still is 01:59:57 yeah i think it stems from that 02:00:01 Gregor: pointers automatically cast to integers :) 02:00:05 lol 02:00:16 So the (two) function will just CONVENIENTLY be at location 0x2? 02:00:31 probably an error introduced when the C specification was translated from the original Aramaic 02:00:35 nah, but it would detect when you've come to the end and give you (void *) result 02:00:49 “detect” 02:00:49 How? 02:01:45 because you basically have an interpreter 02:02:08 Except that when you're finished is /exactly/ when you don't have an interpreter. 02:02:20 kmc: Is that fact believed because you can say int x[5]; and then compare &x[0] to &x[5]? 02:02:28 oh, I guess it doesn't know what you end with 02:02:31 Oh, yes, oerjan said that. 02:02:36 (Or something similar.) 02:03:17 never mind :) 02:03:38 (I mean, you could still do it by conveniently locating functions in such a way, or trapping SIGSEGV or whatever) 02:06:28 #define TWO +0<0?0:two() 02:07:14 use global state 02:07:31 comex: i was just pondering combining , and = :P 02:07:47 oh durr, , would be easier 02:08:13 +0,two() 02:09:59 http://www.uesp.net/dagger/dagbug.shtml 02:10:09 Wow, and they say modern Bethesda games are buggy. 02:11:52 Fun fact: In JavaScript, (0,eval)(x) is very different from eval(x) 02:12:32 shachafun 02:12:39 and then there's something in cpp about joining identifiers, which i only know exists 02:12:47 shachaf: nice 02:12:53 or tokens, or whatever 02:13:00 shachaf, wait, how does that even work? 02:13:18 @google javascript global eval 02:13:23 http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context 02:13:23 Title: Eval JavaScript in a global context | Java.net 02:13:26 Oh, wait, (x,y) is a sequencing operation in C-likes. 02:13:34 Indirect eval is global eval. 02:13:42 It's so that scope-modifying evals are statically knowable. 02:13:59 fun fact 0 = 1 02:14:10 <3 02:15:53 Yes, both < 3 02:16:00 oh hm 02:16:28 in c, are global variables and record fields in the same namespace? 02:16:43 otherwise there might be a way to use -> or . ... 02:17:21 * shachaf wonders what people are trying to do here. 02:18:08 * oerjan is just vaguely pondering the TWO _HUNDRED_ THIRTEEN _THOUSAND_ ONE _HUNDRED_ FORTY_ FOUR problem 02:19:06 without actual global state, it seems hard to use anything lower precedence than +, but if something high could be used, _THOUSAND_ could be * 1000 + if there was just 02:19:20 *-if there was just 02:22:52 oh hm FORTY_ TWO _HUNDRED is not necessary to support, i assume. which means _HUNDRED _could_ use the 3[a] trick for the left part 02:23:24 Yes. 02:23:34 The problem with the [a] trick is making both FORTY_ TWO and TWO work. 02:23:50 (And FORTY_ TWO _THOUSAND, of course) 02:24:25 That's why I asked tswett whether a solution with more connectors would work, e.g. FORTY_ _TWO_ _THOUSAND. 02:24:33 Then the [a] trick would give us everything we need. 02:25:02 (It also has the benefit that it'd be much easier to remember how to use it) 02:25:31 a -> or . trick could make FORTY_ TWO and TWO work assuming record fields are in a different namespace 02:25:38 What does C do when you give it a bunch of whitespace-separated digits, out of curiosity? 02:25:53 Phantom_Hoover: Cry a lot. 02:26:14 oerjan: That was my suffixing problem. 02:26:24 oerjan: You can make it work like that, but need a suffix to get it back to a number. 02:26:55 Gregor: or some initialized structures and variables, surely? 02:26:58 > 1 2 base 8 which is 10 base 10 and you take away 3 that's 7 02:27:01 1 02:27:22 wowchaf 02:27:32 oerjan: I don't see how having initialized structs and vars helps you avoid the suffix issue... 02:27:36 -!- Phosphenes has joined. 02:27:48 -!- Phosphenes has left ("PHOSPHENES HAS LEFT THE CHANNEL"). 02:27:50 wheegan? 02:27:59 Whoops, where were we. 02:28:18 dude 02:28:23 Gregor: if you can have two be both a global variable set to 2 and a field name in your struct... 02:28:23 every word in that sentence starts with 'w' 02:28:32 or TWO, even 02:28:32 Gregor: well, yeah, the idea is that each underscore represents the presence of an operator. 02:29:25 oerjan: Ohh, I see your game… but you'd still end up with a . problem with the underscores as presented. 02:29:36 tswett: If I'm allowed to throw underscores everywhere, it becomes quite achievable. 02:30:06 With my scheme, (FORTY_ _THOUSAND) would process to (40 + ) * 1000. 02:30:31 Uh, except no, because _THOUSAND cannot suppress the trailing parenthesis. 02:30:44 Okay, (40 + ) * 1000 + (0). 02:30:57 Since FORTY_ is 40 +, whereas FORTY is 40. 02:31:47 #define _HUNDRED_ [hArray] -> 02:32:25 or ., whatever 02:32:44 * oerjan has never actually used -> he thinks 02:33:24 I'mma build the [a] trick version. 02:33:54 #define FORTY_ FORTY -> 02:34:11 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:34:22 oops 02:34:35 that won't work 02:36:06 int FORTY = 40 02:36:33 -!- augur_ has joined. 02:37:08 NEGATIVE_ B _PLUS_OR_MINUS_ THE_SQUARE_ROOT_OF_ THE_QUANTITY_ B _SQUARED _MINUS_ FOUR _TIMES_ A _TIMES_ C _ALL_OVER_ TWO _TIMES_ A 02:37:13 #define FORTY_ array_or_field_40 02:37:25 um wait no that was the problem 02:37:34 -!- augur has quit (Ping timeout: 246 seconds). 02:37:43 getting FORTY_ to work both with and without HUNDRED_ preceding 02:38:24 um wait no that's fine 02:39:46 dammit searching for C namespaces gives all those hits about how to do user-definable ones 02:41:42 tswett++ 02:42:00 pretty sure you can have a field and a variable of the same name 02:42:03 linux does this all over 02:42:20 Certainly you can have two fields of the same name. 02:42:41 oh right 02:43:46 http://sprunge.us/KbiF Tada 02:44:17 The format isn't exactly as tswett described, but is in fact much, much simpler. 02:45:38 oh that's what you wanted the +0 for 02:47:48 Yeah, it would be unnecessary if I just required that the first word after THOUSAND or MILLION or whatnot not be prefixed. 02:47:49 But bleh. 02:48:23 * soundnfury wonders if you can pull some trick with ## 02:48:43 Um hello it's already done I win guys. 02:49:40 um, it's ugly? 02:49:54 and requires preinitialised tables? 02:49:58 :( 02:51:14 "It is also possible to concatenate two numbers (or a number and a name, such as 1.5 and e3) into a number." 02:51:22 so maybe... 02:51:26 tasty tasty token pasty 02:51:56 "However, it is an error if `##' appears at either end of a macro body. " 02:52:00 sadly. 02:52:03 The problem is you only have token pasting within macros X_X 02:52:08 They need to expand to something consistent. 02:52:22 so we'd have TWO##THIRTEEN##ONE##FORTY##FOUR, and then HUNDRED etc. would be noise keywords? 02:52:38 soundnfury: You couldn't even use that, because you can only paste tokens WITHIN macros. 02:52:41 or #define HUNDRED 0 // for eg TWO##HUNDRED##FIVE == 205 02:52:53 um, ok that sucks 02:53:20 Also, what the hell is TWO THIRTEEN ONE FORTY FOUR 02:53:29 213144. 02:53:33 Oh 02:53:35 ... obviously 02:53:40 Well for that you're just fucked in any system I think 8-D 02:53:54 Or possibly 2131404. But probably not. 02:54:07 Although if 213144 were a string of digits, I'd be likely to read it as "twenty-one thirty-one forty-four". 02:54:21 oh yeah, that would want to be ONE##FOUR##FOUR 02:54:25 (if we could) 02:54:30 (which we can't as Gregor notes) 02:54:53 MY SYSTEM IS BEST SYSTEM AND YOU'RE ALL JUST JEALOUS 02:54:55 anyway, why are we trying to do this? Is someone trying to make C feel more COBOLish? 02:55:00 lol 02:55:04 soundnfury: ask tswett 02:55:23 To be esoteric. 02:55:25 Ooooh, with my system you could eschew underscores for capitalization! FOUR becomes Four, _FOUR becomes four! 02:55:26 * soundnfury thinks Welsh television should have a show called Cobol y pwm 02:55:51 (it's funny because they have one called Pobol y cwm, whatever that means) 02:55:52 Gregor: fancy 02:57:06 "People in the valley" 02:57:16 it's about the wonderful art of padlock folding or, "padlockigami" 02:57:28 kmc: you are david mitchell AICMFP 02:57:45 :3 02:57:57 google seems to think "Cobol" still means people when switching the letters 02:58:02 sadly nothing for pwm 02:58:10 *+ translate 02:59:27 oh hm i recall p initially in celtic languages only exists in loanwords, so they may be rare... 02:59:32 see? they is his cousins! 03:00:05 or more precisely, that they dropped initial p at some point 03:01:08 also, the only native word in norwegian starting with p is the preposition på (which is a contraction of norse upp á) 03:01:12 -!- david_werecat has quit (Ping timeout: 244 seconds). 03:01:51 which i guess is cognate to upon 03:02:13 kmc: Is the mosh object synchronization thing meant to be used on its own yet? 03:02:22 http://pastie.org/4258682 - THIS TOTALLY WORKS, I IMAGINE 03:02:49 shachaf: not exactly, but it is reasonably well abstracted in the mosh source code 03:02:54 talk to KeithW about it 03:03:08 That's the eventual plan, though, right? 03:03:20 "plan" is a strong word 03:03:21 tswett: a most sublime imagination 03:03:35 hmm I'll actually be in Wales next week 03:03:42 is there something i should do there besides "take a train to London"? 03:03:56 -!- pikhq_ has quit (Ping timeout: 248 seconds). 03:04:01 -!- pikhq has joined. 03:04:32 kmc: obviously you need to visit llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch 03:04:50 obviously, i was planning to pick up some padlocks there 03:04:54 from a store or smith 03:05:09 obviously. 03:05:12 (wat?) 03:05:16 * kmc is now known as jonah 03:05:30 wat = http://www.youtube.com/watch?v=N-Fcy70fhds 03:06:06 * oerjan wonders why youtube things i'm using IE 7 03:06:10 *thinks 03:06:18 Are you using IE 7? 03:06:22 no, 8 03:06:41 and youtube is warning me to change since they'll stop supporting 7. 03:06:57 Are you using IE 7 compatibility mode? 03:07:15 "By Abergavenny, Merther Tydfil, and Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch!" said Mr. Bargain-Price. "This is too much!" 03:07:23 - who knows what that's from? 03:07:44 oerjan: wow i thought you made that name up 03:09:47 kmc: you couldn't /make/ something like that up 03:09:53 -!- augur_ has quit (Ping timeout: 265 seconds). 03:09:54 well yes you could 03:09:59 but anyway it does seem like i will go through there 03:10:03 as it's on the rail line from holyhead 03:10:31 soundnfury: "The village's long name cannot be considered an authentic Welsh-language toponym. It was artificially contrived in the 1860s to bestow upon the station the honour of having the longest name of any railway station in Britain" 03:11:10 shachaf: hm no, although google+ likes to complain that i am :P 03:11:51 i suppose it might be the same cause... 03:11:57 -!- augur has joined. 03:12:11 kmc: sure, but it wasn't "made up" per se, it's authentic welsh, even if not an authentic welsh name 03:12:19 as in, it really does mean something 03:12:52 that's true 03:17:08 Ahh, Johnston Railway Sans... now there's a real corker of a font 03:18:13 what about dyddiadfymathoobellamaenarywbethygwaithanoddinierdigon 03:19:26 which i pulled out of a markov chain just now 03:27:18 In Soviet Russia, YouTube watches YOU!! 03:28:19 that is closer to an actual soviet russia joke than most 03:29:28 -!- edwardk has joined. 03:33:44 in soviet russia, worn-out meme repeats YOU!! 03:33:58 ;) 03:34:35 yeah 03:35:12 the meme'd ones lack the part where the reversal has a comprehensible but different meaning which comments on life in the soviet union 03:35:16 i.e. the humor 03:36:02 indeed. Although it's called humour 03:36:14 I RESPECTFULLY DISAGREE 03:36:24 I'M OFFENSIVE AND I FIND THIS WELSH 03:36:38 stop choosing to be offended, you mexican jew lizard 03:36:51 * soundnfury raises an eyebrow 03:37:09 ("Yes, actually. My mother was from Mexico and my dad was a Hebrew iguana, so...") 03:38:29 ("No, to be a jew your *mother* would have to be Hebrew, though it doesn't matter which one was the iguana.") 03:38:43 ("What are you quoting now?") 03:38:58 and that depends who you ask, but yeah basically 03:39:10 ("I'm not, I'm just irrespectfully disagruntling.") 03:41:52 -!- edwardk has quit (Quit: Computer has gone to sleep.). 03:42:20 so, what's your favourite font? 03:42:49 http://dotsies.org 03:44:57 soundnfury: Computer Modern because it has so many parameters which can be varied. But even some things about Computer Modern are not perfectly; but the source-codes is available so you can make improvements (as long as you do not call the new one "Computer Modern"), such as a parameter for "R" with straight lines, and so on. 03:45:07 * oerjan is _guessing_ that the warning he got against IE not working well on the site is why he doesn't see anything special there 03:45:40 oerjan: on dotsies? 03:45:44 yes 03:45:53 _or_ that could be the joke, i guess 03:46:13 i don't think this is a joke :/ 03:46:34 well it's a joke to me but i don't know if the author is in on it 03:46:42 ok. because i only see a boring normal font. 03:47:47 dotsies is here. 03:48:00 oerjan, it's a bunch of dots 03:48:05 The font is dots 03:48:07 it's an alterative way of writing the latin alphabet where every letter is a 5-bit column of black or white dots 03:48:18 because human vision is just a grid of pixels right 03:48:19 Sgeo: well so is a boring normal font 03:48:31 it's not like the brain has dedicated hardware for recognizing lines, curves, corners, etc. 03:48:52 ;P 03:49:02 like, this person clearly knows nothing about vision 03:49:06 not even the pathetic amount i know 03:49:12 which is "i get stoned with neuroscientists occasionally" 03:49:23 but you know, being a rails developer makes you an expert at every topic in the world 03:49:47 kmc, I... guess people could treat each word the way Chinese treat chinese words? 03:49:53 Or glyphs or whatever 03:49:56 that's the idea 03:50:03 but encoding it as pixels is still stupid 03:50:10 han characters have lines, curves, corners, etc. 03:50:29 so do joined arabic letters, hangul clusters, etc. 03:52:04 Note: Caps and lowercase differ by a dot above the letter 03:52:13 i would think that an attempt to revolutionize the latin alphabet should start with a thorough survey of other writing systems, preferably with psychophysical measurements from fluent users of each 03:52:30 and also a thorough understanding of human visual processing 03:53:50 but you know, all that research is invalid because it was performed by non-programmers 03:55:04 * kmc rage 03:59:13 -!- oerjan has quit (Quit: Good night). 03:59:32 .:| ::. ..: |.|... 03:59:46 (not actually meaning anything) 04:02:33 http://www.ccelian.com/concepca.html this is way cooler and also probably better 04:03:19 oh yeah and the dotsies guy didn't even put any thought into assigning better dot patterns to common letters 04:03:40 and has allegedly been working on this for 10 years 04:04:35 and braille already exists 04:05:01 and has real users who could tell you what's good and bad about it 04:05:04 kmc: well it's not at all like saying A = 65, 65 - 64 = 00001, 90 - 64 = 11010, then drawing the binary numbers as vertical stacks 04:05:19 it is a lot like that 04:06:16 it's not the binary counting sequence but it's another kind of regular binary sequence applied to the latin letters in order 04:08:04 * kmc rage 04:08:37 it got a fawning article in techcrunch too 04:08:55 Gah, dotsies looks like a *stupid* orthographic scheme. 04:09:08 but it was invented by a rails developer from SF!!! 04:10:54 "Keep up the crazy innovation, Craig! It’s guys like you who aren’t afraid to push the status quo that make the world better for the rest of us." 04:11:53 He managed to redesign the *least bad* part of English orthography, and didn't even make it that easy to figure out. 04:13:27 -!- ogrom has joined. 04:13:57 his design goals are absurd 04:14:15 which ones? 04:14:53 i would have thought you'd sympathize with this kind of crackpottery itidus21 04:16:29 it's tempting 04:17:04 but i have decided to try not to 04:17:55 "Dotsies is optimized for reading." this isn't clear 04:18:12 that claim would be more credible if the author displayed any understanding of how reading works 04:18:39 it is not a ridiculous idea to try to improve the latin alphabet and make it more optimized for reading 04:18:43 he's not saying it's faster 04:18:50 he's just saying it's optimized 04:18:53 Reading relies heavily on glyphs being distinctive. 04:18:56 but you would want to start by knowing something about the field 04:19:04 and surveying what's already out there 04:19:23 Aheegan. 04:19:32 this displays the classic crackpot attitude of "i'm so much smarter than everyone else that I don't need to understand what anyone else has done" 04:19:50 and he's concerned with how much space is taken up by text 04:19:51 plus the classic programmer attitude of assuming you know how something works in people because you know how it works in computers 04:20:09 itidus21: that makes sense, the time to read something is proportional to how quickly you can move the fovea across it 04:20:18 he does seem to know about the fovea at least 04:20:24 whachaf? 04:20:49 -!- pikhq_ has joined. 04:23:09 one thing i like about this alphabet is that the long bits on letters like ldbh is that you can see them even in blurry text 04:23:48 -!- pikhq has quit (Ping timeout: 248 seconds). 04:24:06 kmc: The Elian script there does look neat. 04:27:34 i don't think i would have such a problem with dotsies if it was just "hey, i made this, isn't it kind of cool / weird, what do you think" 04:27:47 but the author is so sure that it's better, and so, so ignorant of anything he would need to understand to make that claim 04:30:06 i mean i don't *know* that he's ignorant, but there are many things conspicuously absent from that page 04:30:18 anyway i think i have said everything i have to say on this subject 04:30:24 but it pisses me off and so i'm disposed to keep talking 04:36:53 plus the classic programmer attitude of assuming you know how something works in people because you know how it works in computers <-- technically humans are nothing more than neural networks. Complicated ones sure, but still just neural networks 04:37:21 ;) 04:37:39 humans are just atoms man 04:37:44 that too 04:37:48 so partical physicists are experts in psychology 04:37:49 and love 04:37:54 particle too 04:37:55 yes 04:38:13 kmc, what was the actual topic though? 04:39:02 which actual topic 04:39:36 the topic from which the line I commented upon was taken 04:39:43 I just read a few lines above and below 04:39:51 after getting back 04:39:58 also it's not like programmers who develop artificial neural networks have much insight into how the ANN has learned what it knows 04:40:02 it's just a black box 04:40:12 Vorpal: you could scroll up 04:40:16 meh 04:40:25 we were talking about http://dotsies.org 04:40:30 yeah you can only really explain why ANN works for really simple ones 04:41:51 the fact that there is centered text further down the page is an immediate warning that the guy doesn't know what he is talking about 04:42:02 also it's not like ANNs have much to do with real neurons 04:42:10 not going to read the rest 04:42:16 why is centered text bad 04:42:21 kmc, indeed, I was being ironic/sarcastic 04:42:26 yeah i know 04:42:32 i just felt like enumerating all the ways it's wrong 04:42:34 for completeness you know 04:42:35 kmc, well, it is harder to read, besides it is far too large 04:42:43 -!- edwardk has joined. 04:42:47 like hard to read on this 15" screen due to being so large 04:42:57 that's true 04:43:41 oh right, I didn't allow javascript 04:43:47 turning that on helped a bit 04:44:06 well with the size 04:44:23 the big centered text is supposed to be in the dotsies font 04:44:31 which would also explain why you can't read it 04:44:31 it wasn't due to noscript 04:44:52 when I did allow scripts it is no longer like 72 pt 04:44:54 which is good 04:45:10 kmc, but centered text like that is a terrible idea 04:45:23 reminds me of timecube 04:45:33 yeah 04:45:49 there are more than a few parallels you could draw 04:46:03 actually timecube isn't even properly centered 04:46:10 it is centered but not in the center of the screen 04:46:12 does he like insert spaces manually 04:46:22 no the page is just too wide 04:46:25 on this monitor 04:46:28 that it scrolls sideways 04:46:44 kmc, I'm on a laptop 04:50:21 kmc, the maximally readable text is something generated by LaTeX with the microtype package btw 04:50:34 both margins straight 04:50:37 not too wide lines 04:51:02 and yes microtype adjustments to make the text more pleasing to the eye 04:53:01 cool 04:53:04 i did not know about microtype 04:54:39 wow to think all my previous latex documents had slightly ragged margins and suboptimal inter-word spacing 04:54:45 * kmc deeply embarrassed 04:55:13 kmc, :D 04:55:40 kmc, actually they had straight margins, it is that slightly ragged margins look optically straighter! 04:55:49 right 04:56:12 kmc, needs pdftex, doesn't work with xelatex yet afaik 04:56:16 not sure about luatecx 04:56:17 tex* 04:58:26 kmc: Eh, most people won't notice. 04:58:48 kmc: I have been accused of being some sort of freak for being able to actually consciously notice a lack of microtypography. 04:58:56 heh 04:59:14 pikhq_, I would notice if I specifically set out to check, probably not otherwise 04:59:57 latex freak 05:00:31 Not too hard. 05:00:39 bah! You kids and your LaTeX! Real men use TĒX! 05:00:47 soundnfury, hey are you zzo38? 05:01:01 um, I don't think so... 05:01:05 hey zzo38, am I you? 05:01:16 If so, that should disturb us both! 05:01:27 Inference suggests it's elliott. 05:01:38 soundnfury: I don't think you are me. 05:01:39 From the mythical land of six pigs. 05:01:53 Whois says otherwise. 05:02:04 I don't think I can be, because iirc zzo38 likes Haskell. I flatly refuse to have an alternate personality which likes Haskell. 05:02:28 Haskell? MORE LIKE STUPIDSKELL 05:02:30 -!- Nisstyre has quit (Ping timeout: 264 seconds). 05:03:28 Inference suggests it's elliott. <-- oh? 05:03:36 why 05:03:42 Vorpal: Just seemed like a fairly elliott-y response is all. 05:03:47 well yes 05:03:57 but the rest I don't think 05:04:02 also he dislikes haskell 05:04:04 Some documents may require different TeX executables such as tex, latex, pdftex, pdflatex, xelatex, xetex, etc some may work with more than one. My TeX documents I only ensure they work in Plain TeX using the "tex" executable everywhere; someone has told me one document they got from me doesn't work with pdftex. 05:04:06 that is /NOT/ elliott 05:04:10 Yes. 05:04:51 zzo38: Yeah, that was your thing for documenting an RPG character's story and stats through a campaign. 05:04:51 interference suggests it's elliott 05:05:12 coinference 05:05:16 I do not know why it doesn't work with pdftex but if you require PDF format you can convert DVI to PDF afterward and also with whatever other format you need, DVI to PostScript, DVI to PCL, DVI to PNG, etc. 05:05:24 zzo38 likes haskell but had a pile of suggested changes to the language from day 1 05:05:25 pikhq_: Yes, I think that was it. 05:05:36 zzo38: I know it was: I'm the one who told you. :P 05:05:55 * kmc likes haskell but doesn't use it or think about it much anymore 05:05:57 zzo38: Anyways, yeah, I just ran it through dvipdf. 05:06:04 I guess that makes me one of those people 05:06:57 pikhq_: If your printer does not require PDF then you shouldn't require to convert it to PDF (unless you have a DVI previewer that has some problems and a PDF previewer which works better). 05:09:35 I have still written some more of that RPG story since you saw last, possibly. And I have finally thought about all the plan ahead what to do in next session of this game. 05:10:14 kmc: Did you like some of the suggestions and hate some of the others? I think that was the case of some people. But I think not all of my ideas would work in Haskell therefore we have to make up the new programming language instead. 05:11:50 soundnfury: Well, that is OK if you hate Haskell. I like Haskell and I like mathematics, though. 05:11:56 zzo38: i definitely liked some of them 05:12:07 others seemed too weird for me to figure out if i liked them or not 05:12:47 i guess it's just that, i haven't written much code recently, and i got tired of talking about haskell if i'm not writing much code 05:12:57 but i still intend to use haskell in the future where appropriate 05:13:23 I still do sometimes program in Haskell but I also program in C and so on. Yesterday I have written a 6502 assembly language program. 05:13:43 cool, what for? 05:13:57 the languages i use most are C, Haskell, and Python 05:14:20 also shell script but I try not to write shell scripts with much in the way of "programming" 05:14:27 To test VRC7 audio by placing values in the register and then push START to send them, such as to make custom instrument so you can know what it sound like and adjust it until it is what you like. 05:14:38 cool 05:15:42 This is the program code: http://sprunge.us/RDMj 05:15:43 zzo38: Mostly just that I prefer to use a PDF viewer 05:16:09 i wonder if i should do something with my shell / Python / brainfuck / COM / C / Haskell polyglot 05:16:11 pikhq_: Well, if that is what you prefer, then OK, I suppose 05:16:25 it's not the most impressive polyglot or the most comprehensive, but it's concise and i like it 05:16:54 however posting it on my blog is a bit pointlessly showoffy even for me 05:17:23 "is there something like tumblr for code" 05:17:30 Instructions: LEFT/RIGHT move cursor, UP/DOWN adjust value, START to send values. Rightmost column labeled "A" means the "ST" column will be XOR by that value when START is pushed before the values are sent to the audio hardware. 05:17:56 kmc, COM? 05:17:59 what do you mean COM 05:18:06 as in .COM? 05:18:07 the source code is also a DOS COM file 05:18:08 yes 05:18:11 nice 05:18:16 what does the program do? 05:18:29 it prints "Hello, shell!" or "Hello, Python!" etc. 05:18:35 ah 05:18:50 i am pretty pleased with these lines: 05:18:50 printf="#%s" 05:18:50 exec printf %"sHello, shell!\n" 05:18:50 print "Hello, Python!" 05:19:42 ponders about a conditional text file, where command line parameters are passed along with the textfile to read a particular subset of that text file based on those parameters 05:19:43 Do you know anything about VRC7 audio? 05:19:52 i do not 05:20:02 itidus21: you could do that with C preprocessor 05:20:32 It is using OPLL but with only six channels and the built-in instruments are different. You can only define one custom instrument at a time although it can be played on multiple channels at once. 05:21:08 itidus21: Perhaps use a shebang line mentioning grep? 05:21:28 yeah it does sound like grep 05:21:46 it sounds more like CPP with -D parameters to me 05:21:50 but there are plenty of ways to skin this cat 05:22:30 i wanted to make it an AVR binary as well, but all the interesting AVR instructions contain non-ASCII characters :/ 05:22:41 when interpreted as, err, Latin-1 05:22:58 what i mean to say is, they contain bytes above 0x7F 05:23:27 Can you include Z80 or 6502 codes? 05:24:21 maybe 05:24:30 but i would have to pick a particular platform 05:24:47 if it's going to display text 05:24:54 Yes 05:25:18 i say "DOS .COM file" because as 8086 machine code it uses DOS INT 21h calls 05:25:30 though there are other platforms that provide those calls, i think COMBOOT might even 05:26:00 for AVR i would probably just blink the LED on the Arduino, that being the Hello World of that particular platform 05:26:03 but i can't even do that i think 05:27:48 Could you make a PRG ROM (only) of NES/Famicom that writes the text to the name table assuming the CHR ROM 0 is ASCII? 05:29:12 kmc: Atari 2600 >:D 05:29:23 Do that too. 05:29:58 what's the name table? 05:31:14 kmc: Name table is the grid of the tiles to display on the background. (I don't know why it is called a name table) 05:42:25 Have you ever make up a puzzle game of Pokemon Card? 05:42:32 Or of Magic: the Gathering? 05:46:44 nes graphics has a peculiar charm about it. 05:57:54 itidus21: Have you ever made any NES game? 05:58:05 no 05:58:29 challenge make an interesting C/C++ polygot. 05:58:48 making a polygot in general for that case is of course trivial, but how do you make an interesting one 05:58:51 So far I have just written one program for NES/Famicom which is used to test the VRC7 audio. 05:58:58 I posted the source-codes of that program above. 06:00:01 Who of you have and have not figure out my Pokemon Card puzzle? 06:00:06 "For example, character literals such as 'a' are of type int in C and of type char in C++, which means that sizeof 'a' will generally give different results in the two languages" 06:00:30 http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B#Constructs_that_behave_differently_in_C_and_C.2B.2B 06:01:01 has another interesting example where a local struct declaration shadows a global variable 06:01:22 kmc: Well, that is one way to test the difference of C/C++ at runtime, although normally you would test this at compile-time instead. 06:01:51 well Vorpal just asked for an interesting one 06:02:39 now, can you make something that's valid C and also valid Objective C, and does different things in each language 06:02:47 i think interesting is using c++ keywords not in c 06:02:48 without using the preprocessor define explicitly designated for this purpose 06:03:13 but im kinda dumb! 06:03:19 I think Objective C is a strict superset of C. 06:03:33 Vorpal: I thought for C vs C++ you could also maybe use the fact that iso646.h is (basically) implicitly included in C++ 06:03:39 heh 06:03:41 So that if it is a valid C code, then it will mean the same thing in Objective C, as far as I know. 06:03:55 kmc, I was thinking syntax that would be interpreted differently 06:03:57 is there any 06:05:02 For certain implementations it still may be possible to test Objective C at runtime in a different way. 06:09:38 Do you like my Pokemon Card puzzles? 06:09:53 Make one involving the IMAKUNI? card. 06:10:54 Possibly you can make a <100% win Pokemon Card puzzle, a helpmate Pokemon Card puzzle, etc. 06:12:37 These ones are both 100% win normal mode (not helpmate or anything else like that): http://zzo38computer.cjb.net/textfile/miscellaneous/pokemon_card/puzzle.1 http://zzo38computer.cjb.net/textfile/miscellaneous/pokemon_card/puzzle.2 06:13:07 However in both games you have to win on the current turn. 06:16:37 You might think to activate CHARMANDER [Lv12], play DARK CHARMELEON [Lv23] on CHARMANDER [Lv12], and then use the FIRE BALL attack, but that won't work, because you don't have enough energy and even if you do it only gives you a 50% chance. 06:18:49 Once in Pokemon Card, I played an evolution card for the sole purpose of increasing my own retreat cost. Its attacks and the number of its hitpoints were irrelevant at that time. 06:19:02 !befunge98 "a". 06:19:03 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 97 06:19:08 oh right 06:19:16 !befunge98 "+".@ 06:19:17 43 06:19:21 But only once. Have you ever done anything like that? 06:23:57 bbl 06:25:38 -!- Vorpal has quit (Read error: Operation timed out). 06:26:20 -!- edwardk has quit (Read error: Connection reset by peer). 06:26:44 -!- edwardk has joined. 06:30:54 -!- itidus20 has joined. 06:31:13 i had pokemon blue in about 1998 06:34:32 But did you have Pokemon Card? 06:34:54 -!- itidus21 has quit (Ping timeout: 264 seconds). 06:35:04 -!- itidus20 has changed nick to itidus21. 06:35:19 no 06:36:02 i have never actually played a card game like yugioh, pokemon card, magic the gathering, etc 06:36:22 I have played all of those games. 06:38:06 Do you know rules of any of those game? Can you make up any Pokemon Card puzzle? 06:42:39 i know what pikachu looks like! 06:42:42 Someone told me that to make a noisy audio filter you have a minimum and maximum change between two frames and then if it is not within that range change it to that range and then try next one. 06:42:52 itidus21: That isn't good enough. 06:43:34 -!- Nisstyre has joined. 06:43:43 he has thundershock attack and can evolve into raichu 06:43:50 thats about all i know about him 06:44:58 That is correct but not much use. 06:48:50 it makes for a good drinking game. "1 drink every time pikachu uses thundershock" 06:49:15 "1 drink every time brock's pokemon attacks him" 06:49:34 O, it is the TV drinking game. 06:49:39 I prefer card game. 06:49:43 i just thought it up 06:51:17 i am interested in dragonball z card games because there are NES/Famicom dragonball z card games 06:51:26 -!- edwardk has quit (Quit: Leaving...). 06:51:31 so it interests me that i should study it one day 06:53:00 OK 06:56:31 i am not sure if they are real card games though 06:59:32 -!- aloril has quit (Ping timeout: 252 seconds). 07:11:53 -!- asiekierka_ has joined. 07:12:08 -!- asiekierka_ has changed nick to asiekierka. 07:13:00 -!- aloril has joined. 07:15:15 -!- azaq23 has joined. 07:15:23 -!- azaq23 has quit (Max SendQ exceeded). 07:23:46 00:21 html is like php, it wasnt designed for todays usage 07:23:49 00:22 its like pure C, you can programm object orientated, but it is not designed for it 07:26:59 -!- azaq23 has joined. 07:31:54 hear, hear 07:31:56 +1 07:32:07 me too 07:35:41 itidus21: I'm not surprised. 07:36:32 the wikipedeia page for hear, hear links to "+1" and "me too" thus artificially inflating my enthusiasm 07:38:46 monqy: Are you a cryptography expert? 07:38:53 shachaf: maybe 07:40:31 -!- zzo38 has quit (Remote host closed the connection). 07:44:45 ...

#include
main(){printf("Hello, world!\n");}

07:44:57 so close but so far 08:33:48 itidus21: Allow me to help: remove html, head, and body. 08:38:55 -!- Taneb has joined. 08:41:32 Hello 08:41:39 hi 08:41:42 but after I removed html, there is no body? :( 08:49:18 -!- AnotherTest has joined. 08:54:39 -!- Ngevd has joined. 08:57:56 -!- Taneb has quit (Ping timeout: 246 seconds). 09:00:18 -!- zzo38 has joined. 09:01:10 -!- aloril has quit (Ping timeout: 246 seconds). 09:13:03 -!- Ngevd has changed nick to Taneb. 09:14:20 -!- aloril has joined. 09:31:26 -!- ais523 has joined. 09:41:35 wow. reading mccarthy's original paper of lisp I hardly recognise that language as lisp 09:54:30 I don't really know lisp 09:54:47 If I saw lisp at a party, I wouldn't recognize it 09:55:17 type Sto s = CodensityAsk (Store s); getSto = CodensityAsk (\(StoreT _ s) r -> r s); setSto x = CodensityAsk (\(StoreT (Identity f) _) _ -> f x); modSto x = CodensityAsk (\(StoreT (Identity f) s) _ -> f (x s)); runSto s (CodensityAsk f) = f (store Left s) Right; 09:56:00 I'm one of the few people who actually sees programming languages at parties, while sober 09:56:11 We even have: modSto f = getSto >>= setSto . f modSto f <|> modSto g = modSto (g . f) 09:56:12 I don't when drunk? Maybe I should investigate 09:56:39 you see programming alanguages at parties? 09:56:53 Yeah, I get tired and microsleep 09:57:03 And dream about programming languages? 09:57:11 Therefore empty = modSto id 09:59:04 also how would you not recognize lisp? (define append (lambda (x y) (if (null? x) y (cons (car x) (append (cdr x) y)))) 10:00:56 (define map (lambda (f s) (if (null? s) s (cons (f (car s)) (map f (cdr s)))))) 10:01:35 For a start, I'm normally pretty much asleep 10:03:44 Damn, Data.FamilyTree.addPerson is the wrong way round for State 10:13:54 -!- Taneb has changed nick to Taneb|Away. 10:35:55 -!- Taneb|Away has quit (Ping timeout: 246 seconds). 11:08:48 -!- derdon has joined. 11:27:09 -!- MoALTz has joined. 11:29:21 -!- olsner has quit (Remote host closed the connection). 11:41:21 -!- olsner has joined. 11:48:16 -!- Frooxius|TabletP has joined. 11:56:15 is it possible to describe one idea of computation as, for every finite expression X in some given language A there is a finite set of primitive operations that will result in finite expression Y in some given language A? 12:06:14 disregard 12:09:15 -!- Frooxius|TabletP has quit (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.17/2009122204]). 12:13:30 How is a boxer supposed to try to get his opponent to punch himself out? 12:19:07 (My brother doesn't know either.) 12:30:04 by making him exhausted? 12:30:19 or. 12:30:39 they both punch at the same time 12:30:54 and the punch deflects the punch of the opponent so that he hits himself in the face 12:30:58 or 12:30:59 they both punch at the same time 12:31:25 but you punch so hard that you push his hand back into his face 12:33:15 -!- Phantom__Hoover has joined. 12:34:40 -!- Frooxius|TabletP has joined. 12:35:41 -!- Frooxius|TabletP has quit (Read error: Connection reset by peer). 12:36:10 -!- Frooxius|TabletP has joined. 12:40:23 -!- Frooxius|TabletP has quit (Ping timeout: 244 seconds). 12:40:58 -!- Frooxius|TabletP has joined. 12:42:45 I found a secret menu in X-BIT 12:46:12 -!- Frooxius|TabletP has quit (Read error: Connection reset by peer). 12:46:40 -!- Frooxius|TabletP has joined. 12:52:04 -!- Frooxius|TabletP has quit (Ping timeout: 248 seconds). 12:52:17 -!- Frooxius|TabletP has joined. 12:57:32 -!- Frooxius|TabletP has quit (Ping timeout: 248 seconds). 12:58:28 -!- Frooxius|TabletP has joined. 13:03:18 -!- Taneb has joined. 13:03:36 Hello 13:04:20 -!- Frooxius|TabletP has quit (Ping timeout: 248 seconds). 13:05:04 -!- Frooxius|TabletP has joined. 13:11:37 -!- Frooxius|TabletP has quit (Ping timeout: 240 seconds). 13:11:59 -!- Frooxius|TabletP has joined. 13:16:12 -!- Frooxius|TabletP has quit (Read error: Connection reset by peer). 13:17:09 -!- Frooxius|TabletP has joined. 13:22:04 -!- Frooxius|TabletP has quit (Ping timeout: 248 seconds). 13:26:56 -!- Frooxius|TabletP has joined. 13:28:14 -!- Frooxius|TabletP has quit (Client Quit). 13:32:07 -!- Taneb has quit (Quit: AWAY). 13:52:06 -!- david_werecat has joined. 14:02:18 -!- MoALTz has quit (Quit: Leaving). 14:33:56 -!- Taneb has joined. 14:54:25 In US schools get paid according to how well their students perform in national wide standardized tests? 14:54:44 Hello 14:54:55 I have figured out what (Codensity ((,) x)) does 14:54:56 Wb Taneb 14:55:16 mroman, wouldn't be a vicious cycle in poorly performing schools? 14:56:46 yeah. but supporting every school equaly is socialism!!!!!!!!!!11111111111 14:56:47 You mean "wouldn't that be"? 14:56:56 mroman, yes 14:57:01 It seems so to me, yes. 14:57:07 It even sounds stupid to me. 14:57:13 I think it could be like a quadratic thingy 14:58:03 But asymmetric? 14:58:22 -!- itidus20 has joined. 14:59:50 -!- itidus21 has quit (Ping timeout: 250 seconds). 15:00:24 zzo38, do you think I should change Data.FamilyTree.addPerson etc from FamilyTree -> (FamilyTree, PersonID) to FamilyTree -> (PersonID, FamilyTree) so it works nicer with StateT? 15:01:10 :t StateT 15:01:12 forall s (m :: * -> *) a. (s -> m (a, s)) -> StateT s m a 15:01:48 :t let addPerson = undefined :: a -> (b, a) in StateT (arr addPerson) 15:01:49 Occurs check: cannot construct the infinite type: s = (a, s) 15:01:49 Expected type: s 15:01:49 Inferred type: (a, s) 15:02:24 :t let addPerson = undefined :: a -> (b, a) in state addPerson 15:02:26 forall s a. State s a 15:02:56 :t arr id `asTypeOf` return 15:02:58 Occurs check: cannot construct the infinite type: b = m b 15:02:58 Expected type: b -> b 15:02:58 Inferred type: b -> m b 15:03:04 :t arr 15:03:06 forall b c (a :: * -> * -> *). (Arrow a) => (b -> c) -> a b c 15:03:44 Hmm 15:03:49 Ah 15:03:56 :t arr id `asTypeOf` Kleisli return 15:03:57 forall b (m :: * -> *). (Monad m) => Kleisli m b b 15:04:09 :t let addPerson = undefined :: a -> (b, a) in StateT (runKleisli $ arr addPerson) 15:04:11 forall (m :: * -> *) a b. (Monad m) => StateT a m b 15:06:20 But if I do that, I can't use IORefs as easily 15:07:32 @hoogle atomicModifyIORef 15:07:33 Data.IORef atomicModifyIORef :: IORef a -> (a -> (a, b)) -> IO b 15:40:55 -!- ogrom has quit (Quit: Left). 15:41:07 atomicModifyIORef is nice 15:42:42 and it's a cool use of laziness -- a strict atomicModifyIORef would have to use heavier-weight synchronization 15:43:49 ಠ_ಠ, atomicModifyMutVar# :: MutVar# s a -> (a -> b) -> State# s -> (#State# s, c#) 15:45:04 The point is, either I can make using State easy, or I can make using IORefs easy 15:45:30 you should make some kind of horrible typeclass which accommodates both 15:45:38 so that they're equally bad to use 15:45:42 StateT IO? 15:47:15 Unfortunately, the only difference between them is that the tuple is the other way round 15:47:26 Taneb: I think OK change it to work with StateT if you are making a new major version of that package anyways. 15:51:54 -!- ogrom has joined. 15:53:21 Due to this IORefs etc, instead do not change it, but perhaps make up another module Data.FamilyTree.State which export the function with output in other order, that way you have compatibility too. 15:56:48 I'm not sure if I need compatibility 15:56:55 I think roughly 0 people use it 16:06:00 The type (Codensity ((->) x)) is also a state monad like (State x) and the function to access the state is simply (Codensity join). 16:06:48 Taneb: StateT IO isn't a typeclass... I'm not sure what you're getting at 16:07:04 anyway it was a not-serious bad suggestion 16:07:49 Heh 16:08:10 I think (StateT IO) is not even a valid type. 16:08:24 nope 16:08:30 Sorry 16:09:40 Perhaps you want (StateT FamilyTree IO) or (StateT (ExtProd Globals) IO) or something like that 16:09:59 The former, most likely 16:10:05 Yes 16:16:33 -!- ogrom has quit (Quit: Left). 16:20:11 -!- ogrom has joined. 16:42:47 -!- nooga has joined. 16:46:11 @ping 16:46:12 pong 16:47:37 @pung 16:47:37 pong 16:47:42 @prng 16:47:43 pong 16:47:47 @ding 16:47:47 pong 16:50:43 @pine 16:50:44 pong 16:50:59 @piog 16:50:59 pong 16:58:40 @prme 16:58:40 Maybe you meant: free time 16:59:05 @pzzz 16:59:06 Unknown command, try @list 17:32:27 -!- ogrom has quit (Read error: Connection reset by peer). 17:32:30 -!- oggmm has joined. 17:33:48 -!- oggmm has quit (Client Quit). 17:34:07 -!- zzo38 has quit (Remote host closed the connection). 17:35:08 -!- ogrom has joined. 17:37:02 I think I should add a "Handy re-exports" section in Data.FamilyTree 17:38:42 Data.Lens.[Strict/Lazy], Data.Lens.[Strict/Lazy].fromList (maybe), Data.Time.Calendar? 17:52:26 -!- ogrom has quit (Quit: begone). 17:56:28 -!- ogrom has joined. 18:04:46 -!- asiekierka has quit (Remote host closed the connection). 18:05:07 -!- variable has changed nick to trout. 18:10:58 -!- nortti_ has joined. 18:11:00 -!- pikhq has joined. 18:11:25 I am using netscape to irc 18:12:03 nutscrape exploder 18:12:22 no. netscape 7.2 18:12:53 -!- Taneb has quit (Ping timeout: 255 seconds). 18:14:20 -!- pikhq_ has quit (Ping timeout: 248 seconds). 18:14:33 it is actually pretty decent browser 18:17:16 -!- nortti_ has quit (Quit: ChatZilla 0.9.61 [Mozilla rv:1.7.2/20040804]). 18:23:07 it was decent 10 years ago 18:23:25 it is around the same age as ff 1 18:23:39 it is still decent browser 18:23:57 (compared to links2 at least) 18:23:58 i began using ff since version 0.7 and i know mozilla too 18:24:18 it was called firebird at version 0.7 18:24:18 and? 18:24:31 I know. I have also used it 18:24:33 they were decent back then 18:25:07 well when does browser stop being decent? 18:25:11 if the machine is not antique, then i always upgrade 18:25:38 -!- Taneb has joined. 18:25:41 Hello 18:26:17 but i see no advantage with firefox these days.. other than it's not chrome 18:26:39 what browser do you use then? 18:26:48 opera 18:27:04 opera? has it got html5? 18:27:12 yes 18:27:20 (I know opera. I have used it) 18:27:30 since when? 18:28:00 i don't know.. since recently 18:28:01 isn't html 5 also something recent? 18:28:26 yeah. what codecs does it support with html5 video? 18:28:41 i don't know.. i never ran into codec problems with it 18:28:48 supports everything i need 18:29:04 nortti: I think it's just WebM. 18:29:14 what i don't need, i don't just care about 18:29:17 ok. is it still available for ppc macs? 18:29:29 mmno 18:29:34 not the recent versions 18:29:54 i see, nortti .. you have an antique machine 18:30:07 it's a shame. I remeber it being kinda lightweight 18:30:09 -!- Vorpal has joined. 18:30:27 actually the g3 is going to be upgrade for me 18:30:30 ppc is antique.. the last version for it was opera 8 or 9 18:30:41 now opera is at v 12 18:31:06 Last one for PPC Mac OS X was Opera 10. 18:31:10 ppc is not antique. it is not that old either 18:31:54 well my iBook might be but some ppc machines are just 7 years old 18:32:12 *7*. 18:32:36 so? my current machine is 12 years old 18:32:54 http://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/ 18:33:00 opera 10 supported html 5 18:33:28 nortti: Yes, yes, gramps, *you* use something from a different geological era. 18:33:43 computers haven't improved *that* much in the past 7 years 18:33:43 ppc is jurassic 18:33:46 not compared to the 7 years prior 18:33:49 ogrom: well if newest version is not available I'm not going to bother. tenfourfox is still updated 18:34:10 kmc: A 12 year old machine, on the other hand, predates XP. 18:34:34 so? 18:35:15 pre-xp means antique 18:35:30 nortti: *So*, the average phone is a more capable device. 18:35:36 I know 18:36:12 speaking about browsers, i like lynx best 18:36:26 I can still program, irc, get new software, surf internet and play video 18:36:39 ogrom: I prefer links2 with graphics 18:36:47 My oldest machine is only 11 years old 18:36:58 what graphics does it have? nortti 18:37:01 It runs Windows 98 SE for reasons I know not why 18:37:24 nortti: And you pay more in power for the privelege of using such an old machine than you would just *getting a new one*. 18:37:36 ogrom: images. it runs on framebuffer, x, windows and dos 18:38:01 i also know about the experimental ob1 with basic graphics.. its encoding sucks 18:38:11 pikhq: it is a laptop. and as I said I am getting a new one 18:38:15 (assuming you go for a low power usage machine, rather than a computing behemoth) 18:38:35 the encoding has to work.. my language must look good 18:38:38 ogrom: ob1? 18:39:19 nortti: http://offbyone.com/offbyone/ 18:40:18 links2 seems bit more modern but on the other hand ob1 has tabs 18:41:09 oh. it is not available for linux 18:41:48 i liked ob1 more when it had no tabs 18:42:04 why? 18:42:22 because its interface is otherwise built that way 18:42:39 the tabs are pointless there 18:42:51 on the other hand, tabs always made sense in opera 18:43:21 tabs are halfway there in firefox/mozilla, but they make total sense in opera 18:43:26 nortti: No linux port :( 18:43:30 Else I'd bought it. 18:43:46 it's free 18:43:56 I know. 18:44:25 I meant another meaning of "buy" ;) 18:45:07 as in? 18:45:34 o.O HTML 3.2 18:45:46 yes? 18:45:56 Why am I installing it 18:46:04 no idea 18:46:09 Sgeo: Because it rocks. 18:46:17 HTML 3.2 is like the real HTML ;) 18:46:57 is like? it _is_ THE real HTML 18:47:38 old believers itt 18:48:44 I'm starting to think because even Chrome is a memory hog these days 18:48:56 use links2 18:49:14 it is bit more modern that ob1 18:49:25 o.O CSS on fark.com isn't working 18:50:10 It..... doesn't redirect on 302 18:50:16 does it have css support? 18:50:18 Try going to minecraftwiki.com 18:50:29 and is it ob1? 18:50:48 Erm 18:51:01 Not .com 18:57:21 ob1 can't load gmail. it sucks 18:59:34 Sgeo: take a look at netsurf 18:59:55 Sgeo: you might like it. or if you need javascript try hv3 19:06:06 @ping 19:06:07 pong 19:07:43 -!- Sgeo has quit (Ping timeout: 246 seconds). 19:09:52 -!- oerjan has joined. 19:11:02 -!- Sgeo has joined. 19:13:45 mumble mumble bitch and grumble 19:13:57 * oerjan is feeling shakespearean there 19:14:09 ok 19:15:11 -!- ogrom has quit (Quit: Left). 19:17:20 website crash and project stumble 19:17:36 ^ not actually based on a current event 19:18:08 then who was stumble if not project? 19:18:34 ok, that's not exactly english, but then again I didn't really mean it to be 19:19:53 THEN WHO WAS PHONE? 19:20:02 vem var stumblan om inte project? 19:20:20 oerjan, "stublan"? What? 19:20:21 (s/english/swedish/) 19:20:28 err "stumblan"? 19:20:40 Vorpal: i don't know what stumble is in swedish 19:20:49 vem var snubbla 19:20:52 yeah 19:20:58 ah better 19:21:03 snoo blah 19:21:14 olsner, also "projekt" 19:21:30 bbl food 19:21:39 Vorpal: that's just spelling, no-one cares about that anymore :P 19:21:44 Vorpal: i don't know the precise rules of how swedish adapts orthography, either :P 19:22:21 (no:prosjekt, but i somehow didn't feel that would be correct in swedish) 19:22:27 the verb project would be projicera 19:22:52 olsner: well it was the noun from the start 19:23:20 "sj" is almost always wrong in swedish 19:24:28 but swedish is deprecated anyway, you should just use english nowadays 19:24:33 sjuttiosju sjösjuka sjömenn etc. 19:25:36 "sjuttiosju sköna sjuksköterskor skötte sju sjösjuka sjömän på skeppet shanghai" 19:25:46 that's a lot of nurses per sailor 19:25:59 ...probably a porn flick 19:27:03 * oerjan vaguely thought the numbers were the other way around 19:27:40 -!- oonbotti has quit (Read error: Connection reset by peer). 19:28:27 sjuttiosju sjösjuka gives a lot of variation in the google hits 19:28:40 "whence"? 19:28:57 thence. 19:29:02 Do they still use that? 19:29:09 * oerjan has been practicing the sje sound lately. no idea if a swede would approve of the result. 19:29:18 I bet stephen fry uses whence a lot 19:29:40 him and Tolkien 19:30:33 What's the shortest way to dereference a null pointer in C? *((void*)0)? 19:30:44 Obviously, *0 won't work. 19:30:57 * oerjan saw a reddit novelty user downvotes_whilst yesterday, he got soundly downvoted himself 19:31:23 *(void*)0 saves a pair of parens 19:31:29 whilst being explained that the word is still commonly used outside the us 19:32:14 if you have a pointer typedef somewhere that is shorter than five letters, or a global pointer that is null, that might be shorter 19:32:38 http://www.reddit.com/user/downvotes_whilst 19:34:24 tswett: will *(int*)0 work? 19:34:44 other alternatives would be *NULL, or in C++ *nullptr (if I remember the name correctly) 19:35:24 *NULL looks like a win 19:36:25 even a single letter typedef won't beat that 19:37:13 it might also be cheating 19:37:41 * oerjan doesn't know precisely why *NULL would work if *0 doesn't 19:38:54 in C, NULL is usually a macro defined to something like (void*)0 19:40:06 actually, _can_ you derefence a (void*) pointer without recasting it first? 19:41:02 http://exopolitics.blogs.com/exopolitics/2012/07/third-whistle-blower-confirms-obamas-participation-in-cia-jump-room-program-of-early-1980s.html 19:44:57 * oerjan has been practicing the sje sound lately. no idea if a swede would approve of the result. <-- why would you need that sound? 19:45:06 also I thought some dialects of Norwegian had it 19:45:27 -!- Gregor has set topic: The Unicode smackdown channel | Individuals guilty of ruining this channel: itidus21 (ex officio), oerjan (ex cathedra), Gregor (ex pony), olsner (k ex), ion (deus ex), shachaf (ex machina), others (see /names) | http://codu.org/logs/_esoteric/. 19:45:29 Vorpal: when singing swedish sounds, of course :P 19:45:32 *songs 19:45:46 you can dereference a void* if the compiler lets you, maybe it silently makes it a char pointer in order for the expression to have a value? 19:46:40 iirc, llvm has no void type, and you need to use something like i8* instead 19:47:24 Gregor: did you add yourself (ex pony) to the guilt list? 19:47:31 http://c-faq.com/ansi/voidparith.html isn't quite the same... 19:47:33 What's the shortest way to dereference a null pointer in C? *((void*)0)? <-- if you have stdef.h, stdlib.h or any other header that includes NULL somehow, I think *NULL might be shorter. 19:48:11 oerjan, you sing Swedish songs? 19:48:13 why on earth 19:48:18 Vorpal: we concluded that *NULL was most likely not valid just moments ago 19:48:22 olsner: Yes, though I was originally “ex post facto” 19:48:25 olsner, yes I saw that after 19:48:34 Gregor: oh, ex pony is much funnier 19:48:39 olsner, I did a elliott and didn't read the whole log before responding 19:48:44 * oerjan sings in the shower when no one else is around 19:48:56 oerjan, Swedish songs specifically? 19:49:09 -!- AnotherTest has quit (Quit: Leaving.). 19:49:12 And when someone else is around in the shower, he does… /other/ things. 19:49:14 some of them yes. 19:49:35 Gregor: *around in the basement 19:49:39 oerjan: which swedish songs would that be? 19:49:43 I don't get why some people sing in showers, I thought that was a myth in general 19:50:12 the bathroom is usually the room with the best acoustics, that's why 19:50:27 bbs 19:50:29 Vorpal: I sing in the shower. 19:50:32 I also sing when I drive. 19:50:43 hoerjan 19:50:51 holsner, Horpal 19:51:00 I used to sing Le Cantique de Noël (in swedish) in the shower 19:51:26 a bit of vreeswijk [sp?] or taube, for example. now if i just remembered the text 19:51:52 oh yeah helga natt i _definitely_ sing in swedish. know all the text too. 19:52:04 not in norwegian? 19:52:23 olsner: nope! 19:52:46 i sometimes sing a little of it in french, after i learned that's the original. 19:53:11 jussi björling all the way, man 19:54:11 http://www.youtube.com/watch?v=FjGnanUrZjA 19:55:34 also I thought some dialects of Norwegian had it <-- if so i haven't heard of it 20:01:35 oerjan: how did you come up with this idea of singing swedish songs? 20:02:05 olsner: my father has been a big taube fan for ages 20:03:52 Vorpal: I sing in the shower because nobody can hear me. 20:04:05 I *just* realized how sad that is. 20:04:59 also much swedish music is just part of norwegian culture. it's traditional. 20:06:29 (i sing norwegian and english songs too, of course. oh and i think i sang hava nagila earlier today :P) 20:07:34 and the chorus to kharoun kharoun, which i remembered the melody of for ages but only recently learned was armenian 20:08:04 hmm, hava nagila, I recognize that name 20:08:22 olsner: it's hebrew 20:08:56 oh, must be from some psytrance thing I recognize it then 20:08:57 i recall we learned several hebrew songs back in primary school 20:09:16 "Taneb" has a hebrew etymology, but it's largely accidental 20:15:55 http://www.youtube.com/watch?v=dDBnGaB-iKk apparently 20:18:40 olsner: agh! (closes after 20 seconds) 20:18:55 */me closes 20:19:16 that was painful XP 20:24:10 oerjan :D 20:24:41 Oh no, an oerjan/olsner discussion. (It's so problematical nickwise.) 20:24:42 -!- TeruFSX has joined. 20:25:19 while( x --> 0 ) // x goes to 0 20:26:14 so now they're in some kind of deep-sea "high" speed "car" (submersible) chase 20:26:37 -!- pikhq_ has joined. 20:26:45 but afaict they already dropped the nuke somewhere on the sea floor, so I can't tell why they're doing this 20:27:06 Are you watching something? 20:27:33 no, I'm just making this up 20:28:37 -!- pikhq has quit (Ping timeout: 240 seconds). 20:28:54 (i sing norwegian and english songs too, of course. oh and i think i sang hava nagila earlier today :P) <-- nagila being? 20:29:12 Vorpal: it will be explained a few lines after that one 20:29:33 right 20:29:35 saw it 20:29:56 Oh no, an oerjan/olsner discussion. (It's so problematical nickwise.) <-- indeed 20:30:18 It's better than oklopol/oklofok 20:30:49 but afaict they already dropped the nuke somewhere on the sea floor, so I can't tell why they're doing this <-- who? what? 20:30:58 oh right, explained a bit below 20:31:05 they, the nuke 20:31:23 olsner, what are you actually watching? Or are you making the thing up as you said? 20:31:47 I think I missed the part where they explain why they took the nuke in the first place, it's not like the US has a shortage on them 20:31:55 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 20:31:57 Vorpal: The Abyss 20:32:04 fair enough 20:32:07 never heard of it 20:32:22 it's fairly famous I think 20:44:57 -!- Phantom_Hoover has joined. 20:44:59 Vorpal: Vorpal "“Hava Nagila” (הבה נגילה) (lit. Let us rejoice) is a Hebrew folk song that has become a staple of band performers at Jewish weddings and Bar/Bat Mitzvahs." 20:45:19 so the "hava" isn't swedish either :) 20:45:50 * oerjan knows not why he duplicated Vorpal 20:47:39 * oerjan realized "o helga nat" is probably _the_ song that got him started on trying to pronounce swedish properly. 20:47:59 Next time, try to write it "Vorpal²" for economicalness. 20:48:22 -!- zzo38 has joined. 20:48:38 *natt 20:48:49 not so much with the _spelling_ alas 20:49:01 -!- oonbotti has joined. 20:49:34 fizzie: ² is a pain to type :( 20:50:02 oerjan: ¹²³⁴⁵⁶⁷⁸⁹⁰ 20:50:13 I'm not sure Jussi Björling speaks swedish the same way swedes do nowadays 20:50:31 Once I mentioned on Haskell program about making a program for astronomy/astrology and they said they cannot be combined. But actually even at least one astronomer has said he would find it useful combined. 20:50:31 olsner: well perhaps not :P 20:50:41 compose ^ 2 20:53:07 kmc: you and your compose keys. my norwegian keyboard setting seems to be based on "include absolutely nothing extra, even if that means not using most key combinations for anything." 20:53:08 -!- nooga has quit (Ping timeout: 248 seconds). 20:53:20 but you can set up a compose key can't you? 20:53:24 it's super useful 20:53:32 in windows xp? no idea. 20:53:39 oh well that's a different matter 20:53:53 the idea comes from X although someone has probably tried to implement it for Windows at some point 20:54:50 oerjan, ah 20:55:06 * oerjan realized "o helga nat" is probably _the_ song that got him started on trying to pronounce swedish properly. <-- "natt" 20:55:12 right you said that below 20:55:21 -!- Taneb has quit (Quit: Leaving). 20:55:29 fizzie: ² is a pain to type :( <-- altgr-shift-2 20:55:34 i mean, i have ã and õ, but _not_ ~+ eiu 20:55:44 Vorpal: you'd think, but no 20:55:53 PuTTY has I think built-in compose key support. And I'm sure someone's fiddled together a Windows thing, but I don't know of one. 20:55:58 compose ^ 2 <-- doesn't work for me 20:56:05 o helga NAT 20:56:09 I guess becuase my ^ is a dead key 20:56:38 olsner, something about a holy router is that? 20:57:12 maybe it should be "oh holey NAT" 20:57:44 in English you mean? 20:57:49 minute cretins 20:58:06 oerjan, what? 20:58:16 also you two have too confusingly similar nicks 20:58:18 Vorpal: just punning on the french original, nothing to see here... 20:58:31 oh I see 20:58:51 Vorpal: one is me, the other is oerjan, I have no trouble telling the difference 20:59:00 of course not 20:59:07 olsner: we should talk more 21:00:00 I realise both of you, me and fizzie all have the same nick length 21:00:12 now we just need kmc to shut up XD 21:00:47 -!- ais523 has quit. 21:00:50 oerjan: indeed, I think we should also start talking to ourselves more 21:00:54 There goes another six-letter name. 21:01:05 -!- nooga has joined. 21:01:07 eho? 21:01:16 *who` 21:01:21 nortti: ais523. 21:01:25 nortti, you are allowed to speak, your nick has 6 letters 21:01:25 oh 21:01:30 there appears to be a significant correlation between 6 letters and nordic 21:01:34 Possibly there should be a channel mode to enforce nick lengths. (It'd pad the too short ones, and intelligently shorten the long ones.) 21:01:39 oerjan, hm possibly 21:01:43 well my old nick was longer 21:01:47 "nordic" is also 6 letters ... COINCIDENCE? 21:01:54 DUN DUN DUN 21:02:05 fungot: Congratulations on having the right number of characters. 21:02:07 fizzie: mr president, the report insists on the need to take socioeconomic aspects into account, in some cases, must we make it possible to offer the same guarantees as the tests carried out on fnord, but i also feel, however, where it would be those who are listening to us. 21:02:36 those poor fnords, always the guinea pigs 21:02:40 heh 21:02:44 ok, the movie took a good turn now, the aliens showed up and took someone on board the mother ship 21:02:55 heh 21:03:53 what movie? 21:03:59 but they should've gone there like two and a half hours ago 21:04:03 nortti, the one olsner was watching 21:04:22 olsner: what movie are you watching? 21:04:52 oh, now they're doing the humanity on trial thing 21:05:01 nortti: The Abyss 21:05:39 oh, now they're doing the humanity on trial thing <-- so cliché 21:05:44 -!- nooga has quit (Ping timeout: 255 seconds). 21:07:28 I think I've heard of that thing. Doesn't it have something to do with water? 21:08:52 so it's 2.5h of Das Boot with deep sea diving and submersible chases followed by bits and pieces of the first episode of TNG 21:09:06 * oerjan thinks he saw part of it once 21:09:38 There was a CGI water thing-thing. 21:10:39 thing-thing 21:11:27 Let's play chess with I don't know! 21:11:39 one thing I liked though: when the civilian divers met the SEAL divers they didn't have an hour of side quests all about overcoming their differences and proving that each group has something to contribute 21:13:57 Why should there be a channel mode to affect nick lengths? I think that is a bad and useless idea. 21:14:39 Pad the names yourself in messages and/or client configuration setting if you want it 21:15:13 would you like to be known as zzo388 or zzo338? 21:16:02 Ah, but the point is that everyone would behave like one big happy family if the artificial divisor of nick length weren't there. Currently there's e.g. a state of bitter war between all "fivers" and the "six club", I believe. 21:16:27 (This is all not true.) 21:17:09 -!- nooga has joined. 21:17:16 olsner: "zzo38 " so it has a space at the end 21:17:58 -!- edwardk has joined. 21:22:42 maybe I should just keep going and watch the rest of TNG again 21:27:14 one thing I liked though: when the civilian divers met the SEAL divers they didn't have an hour of side quests all about overcoming their differences and proving that each group has something to contribute <-- of course, it was a movie, not an RPG 21:28:30 movies do that *all the time* ... often half the movie is about two groups starting out hating but growing to trust each other in the face of adversity 21:28:36 heh 21:28:47 I guess I don't watch all that many movies 21:29:49 -!- edwardk has quit (Quit: Computer has gone to sleep.). 21:29:56 olsner: If the side quest about overcoming the differences is to kill 30 sea slugs, though, then it might be a RPG instead. 21:31:05 the standard operating procedure would be for the seals to be all "puny civilians, we eat people like you for breakfast" and the other ones to be "you stupid jarheads, this diving stuff is complicated and we're experts" 21:31:06 fizzie, no that would be an MMORPG 21:31:19 Any decent single player RPG wouldn't do that 21:31:21 but then some calamity happens and they are forced to work together, and then they can continue the movie 21:32:04 olsner, so what did this movie do instead? 21:32:06 Why does edwardk on and then quit in a short time later? 21:32:21 Vorpal: what? single player RPGs frequently have some "find all the stars" side quest 21:32:25 usually optional 21:32:26 zzo38, you forgot a verb there 21:32:32 maybe you don't like those and so they aren't "decent" 21:32:40 no true scotsman would play such a game 21:32:46 kmc, can't remember any such that I played recently 21:33:15 A single-player RPG could have a fetch quest there instead. 21:33:17 let me see, which RPGs have I played recently.... bastion, witcher 2, uh... yeah that is about it recently 21:33:44 Play game "No True Scotsman" 21:33:58 sure oblivion has the nirnroot quest, and skyrim had the crimson nirnroot quest. Fetch quests indeed. 21:34:07 haven't played either game for a long time though 21:34:21 Vorpal: the head civilian was like "btw, this is our boat, I built it and I call the shots" and the SEALs were like "cool, btw we got some extra diving toys, wanna see?" 21:34:39 olsner, sounds unrealistic though 21:36:55 maybe the seals just played nice because they wanted to be set up the bomb 21:37:51 olsner, that sounded grammatically wrong 21:38:18 afaik it was 21:38:32 so what did you actually mean 21:39:11 nm, I don't think it makes sense in the plot either 21:39:48 fair enough 21:40:14 olsner, so there are plot holes? 21:43:16 probably, not sure 21:45:37 Vorpal: you think oerjan and olsner have confusingly similar nicks? http://i.imgur.com/V4m7M.png 21:45:44 but plot holes generally don't bother me 21:46:28 Why are they different colors? 21:50:01 zzo38: so I can tell them apart more easily. 21:50:13 soundnfury: is you lisp implementation available somewhere? also will it use lexical or dynamic typing? 21:50:19 olsner, what *are* you watching, again? 21:50:26 O, so you put those colors on there yourself. 21:50:39 Well, the colors are automatically chosen. 21:50:51 How? 21:51:13 Some simple algorithm on the characters in the nick. 21:51:23 I think it just takes the sum of all the characters mod 13, or something. 21:51:58 Phantom_Hoover: not watching it anymore, but The Abyss 21:52:37 (humanity passed the trial due to the protagonist's message of love to his wife, everyone lived happily ever after) 21:53:49 oh good 21:54:00 how did aliens manage to get established in a trench and start setting tests without establishing the human reproductive cycle first 21:54:25 nortti: s/typing/scoping/, me thinks 21:54:42 yeah 21:55:03 lexical typing would be interesting concept 21:55:18 Phantom_Hoover, your nick is to long, more than 6 letters 21:55:33 -!- Phantom_Hoover has changed nick to Hoover. 21:55:37 Vorpal: it's ok he's a true scotsman. 21:55:42 Hoover++ 21:55:45 oerjan, oh okay 21:56:06 Does that mean I can go back? 21:56:10 sure 21:56:11 This account's registered. 21:56:16 oh well, go back then 21:56:20 no. once you go scot, you cannot go back. 21:56:45 Hoover, you could be Phanto I guess? 21:56:59 -!- Hoover has changed nick to Phanto. 21:57:22 but on the other hand, you are not from a Nordic country, so I guess it is okay 21:57:31 oklopol however has an issue 21:57:49 and so does FireFly 21:57:55 both 7 chars 21:58:01 * oerjan swats FireFly -----### 21:58:27 http://what-if.xkcd.com/ 21:58:27 what's wrong with seven characters? 21:58:27 oklpol or oklopl should be fine though 21:58:31 Oh wow Munroe started doing something worthwhile. 21:58:38 -!- Phanto has changed nick to Phantom_Hoover. 21:58:41 or oklokl 21:59:09 FireFly, because fizzie, Vorpal, olsner, oerjan and fungot are all 6 chars, and all from a Nordic country. 21:59:11 Vorpal: i am sure this will be included in the debate by december and that you will see when we present them next year to stimulate more innovative forms of work and problems involving the working methods and organisation of pension and social security payments, in so far as to say that a shipyard wishes to reduce noise levels and is not open to the examination of petitions always depends on an adequate presence of human resour 22:00:14 -!- EgoBot has quit (Remote host closed the connection). 22:00:17 -!- HackEgo has quit (Remote host closed the connection). 22:00:38 only fungot has a clear perspective on this 22:00:39 oerjan: mr president, on a point of order. you will understand that i cannot speak about the annex to the legislation on the reduction in staffing levels, the existence of technological needs which justify the adaptations and specific measures to end this round of budgetary framing, to forget that this european educational space is a notion which must be defined now. 22:00:44 -!- EgoBot has joined. 22:00:46 should I implemen't if, cond or both? 22:00:53 nortti, in what language 22:00:58 lis 22:01:01 nortti: yes, definitely 22:01:21 olsner: yes to what? 22:01:54 use case instead 22:02:03 never 22:02:04 lisp needs more pattern matching 22:02:13 why? 22:03:17 ...because after doing haskell, using null, car and cdr to decompose lists starts looking primitive. 22:03:38 okay 22:04:05 how should I implement this pattern matching?" 22:05:24 as a macro, of course, this _is_ lisp isn't it. 22:05:34 yes 22:05:48 * oerjan may not have thought this very through, although he assumes someone has already done this. 22:06:22 Phantom_Hoover, http://what-if.xkcd.com/ <-- that site is awesome 22:07:38 i was thinking something like (case x ((`(tag ,@z) ...) ...)) to steal scheme's quasiquoting in reverse 22:08:12 what does ` do? 22:08:52 as an expression, `(tag ,@z) is equivalent to (cons 'tag z) 22:09:03 oh 22:09:17 ` starts a quasiquotation and , interpolates, ,@ interpolates a list 22:10:22 so as a pattern it would match if (eq? (car x) 'tag) and bind z to (cdr x) in the following ... 22:11:10 if you just wanted to match with a constant pattern, you could use ' instead 22:11:32 hmm. that sounds kinda interesting but bit hard to implement 22:11:59 there's already that setf thing in CL, i think, which sounds like similar work 22:12:12 although different 22:12:23 * oerjan doesn't actually know all of common lisp, mind you 22:18:35 well common lisp include everything and three different kinds of kitchen sinks 22:19:05 * oerjan should maybe check if CL _has_ pattern matching 22:21:37 http://common-lisp.net/project/cl-match/doc/clmatch-api.htm 22:32:53 well back to the original question: if, cond or both 22:33:13 nortti, case 22:33:24 ;) 22:33:26 I'm not implemeting case 22:33:38 it seems like racket's match library does precisely what i thought with ` (but also has many other pattern types) 22:33:49 http://docs.racket-lang.org/reference/match.html 22:33:53 nortti, cond then, and implement if as a macro using cond 22:33:53 lis is meant to be simple lisp dialect 22:34:02 ok 22:34:25 nortti, in scheme I always found cond nicer to use 22:34:53 but then I'm used to the erlang style if, which is basically a cond 22:35:03 actually it is a case 22:48:04 -!- azaq23 has quit (Remote host closed the connection). 22:52:41 -!- elliott has joined. 22:52:47 ^rainbow are you sure 22:52:48 are you sure 22:53:03 oh my god elliott is here 22:53:05 -!- elliott has left ("Leaving"). 22:53:22 darn you spoke and scared him away 22:53:33 sorry :( 22:56:41 sure about what 22:56:48 hm 22:57:09 about rainbows! 22:57:11 olsner, oerjan: we need more esolang discussions if we are to get elliott back I guess 22:57:16 if we want that 22:57:47 is #esoteric about esolangs? 22:57:48 Vorpal: nah i told him once that the channel was currently on topic and he said it didn't matter 22:58:03 (not in those exact words) 22:58:52 could someone explain to me how label worked in mcCarthys original lisp eval? 22:59:54 nortti: hm, is that a label for a goto? i _very_ vaguely recall those were only inside proc's or something 23:00:17 no. it is like define 23:00:45 also what language are you talking about? 23:01:03 lisp doesn't have goto or procs 23:02:33 ...i distinctly vaguely recall reading about a lisp form which i think was named proc and which allowed for spaghetti goto programming of the list of expressions inside 23:06:32 distinctly vaguely :) 23:07:09 very much so 23:09:25 -!- nortti_ has joined. 23:10:52 -!- Phantom_Hoover has quit (Quit: Leaving). 23:15:29 -!- nortti_ has quit (Remote host closed the connection). 23:15:44 -!- atehwa has joined. 23:17:41 -!- nortti_ has joined. 23:29:06 -!- pikhq has joined. 23:29:20 -!- pikhq_ has quit (Ping timeout: 265 seconds). 23:48:12 can anyone recommend me a simple shell? 23:49:57 (or way to build staticaly linked heirloom-sh)