00:00:50 qoppa has no reserved words and no special forms 00:01:47 fizzie: i recall my impression of that was that it prevented you from redefining define-syntax as another macro, but not as an ordinary function... 00:02:46 oerjan: Right. In any case, it's a kind of a restriction. 00:02:56 and only one thing in the default environment that's special, the rest of the default env is just basic data types and IO and stuff 00:03:18 well 1-3 things depending on how you count 00:04:53 I'd guesstimate that PostScript also has no reserved words, though haven't checked. 00:07:22 -!- epicmonkey has quit (Ping timeout: 246 seconds). 00:25:54 -!- variable has quit (Ping timeout: 264 seconds). 00:31:14 hi elliott 00:31:23 did you enjoy "ur sleep" 00:31:26 no 00:31:41 did you wake up feeling horrible and also guilty 00:31:45 -!- variable has joined. 00:31:58 why would i 01:03:57 Hey, this theatre has a "Casting Coördinator" 01:06:52 Why does my workplace have a theater? 01:12:28 i think you're in a better position than us to answer that question 01:13:03 -!- heroux has quit (Ping timeout: 252 seconds). 01:13:23 !c printf("%d", 2 * -2); 01:13:26 There's dry cleaning there, I don't know why 01:13:29 ​-4 01:13:31 It's kind of nice, that floor 01:13:40 And then where I work feels so... stuffy in comparison 01:13:43 Same building 01:13:46 It's kind of weird 01:14:21 Also knowing that everyone I see and meet works for the same company (kind of) 01:14:37 -!- heroux has joined. 01:15:53 in Archer the spy HQ has a secret entrance in a dry cleaner's 01:15:57 Sgeo, are you sure this isn't one of those companies you're expected to never leave 01:16:28 i think i did work experience in one of those places 01:16:47 Phantom_Hoover, I don't know what their views are on that sort of thing 01:17:11 I think most companies allow you to go home in the evenings. 01:17:46 Maybe a good rule of thumb would be that if the work day is over, you're allowed to leave. 01:17:57 Of course, but some of them give you all these nice facilities, I mean you can go home to your crummy apartment, if you feel like it. 01:18:16 Oh, I see what you meant 01:18:16 Or at least that's the gist of it I've seen,. 01:18:26 I thought you meant never leave as in, stay at the same job forever 01:18:28 Some workplaces, although I think not many, have dormitories. 01:18:36 hotel california etc. 01:18:37 I'd love a workplace with a dormitory 01:18:50 I'd love a college with a dormitory. :| 01:19:43 -!- surma has quit. 01:20:06 I'd love to have dormed in college :| 01:20:14 The college had a dorm, I just never dormed 01:20:15 :( 01:20:25 nessun' dorma 01:20:32 are dorms like halls 01:20:36 or are they weirder 01:27:23 Which is to say, I'd love to be in one of the dorms at this college. 01:28:06 Phantom_Hoover: I guess dormitories are bedrooms that do not have their own separate bathrooms and kitchens. 01:28:23 oh, so they are like halls 01:28:30 except halls are sometimes en-suite 01:29:22 how to make lazy evaluation? 01:29:34 I suppose the distinction between a dormitory and an apartment must be that renting an apartment involves renting the bathroom and kitchen in it as well. 01:30:17 GOMADWarrior: in what language? 01:30:44 i think in the US, "dorm" is a pretty general term for school-affilitaed housing 01:31:02 tswett, I think one of the dorms at my college had bedrooms that had separate bathrooms, and the other buildings didn't 01:31:08 I guess that's true. I briefly lived in a "dorm" that was actually an apartment. 01:31:11 shared bathrooms and kitchens are common but not universal 01:31:21 Or maybe it was actually an "apartment-style dormitory" or something. 01:32:01 dunno 01:33:22 we had houses, house-affiliated 'off-campus' housing, and unaffiliated 'off-campus' housing 01:33:38 and 'off-campus' doesn't necessarily mean anything geographically, one of them was right in the middle of campus 01:33:59 GOMADWarrior: well, "how to make lazy evaluation" is too vague a phrase to permit a meaningful answer. 01:34:04 does "houses" mean houses or does it mean something else 01:34:06 Why do you want to make lazy evaluation? 01:34:11 the rooms ranged from private bedroom with private bathroom, to three people in a bedroom with shared bathroom 01:34:28 shachaf: else 01:34:35 i'm reading the wiki, it says Lazy is unimplemented 01:34:44 I was wondering if it'd be hard to implement it 01:35:06 kmc: how many gentlemen on the billiard-table 01:35:13 i... do not kno 01:35:38 GOMADWarrior: well, the specification is unfinished. 01:35:49 kmc, it's pretty much the same here, there are a bunch of residencies on campus which you stay in for first year, then after that you have to find your own accomodation, usually in university-owned housing in the surrounding towns. 01:35:49 So it's kind of impossible to implement. 01:36:26 yeah 01:36:31 that is common in the US as well 01:36:46 but its possible to just make what is specified 01:36:50 i don't quite get this special-casing of first year 01:36:59 Caltech is unusual in that non-freshmen actually want to live in the dorms, and there isn't enough space 01:37:04 Yeah, I guess so. 01:37:04 so 2nd year is the most common year off campus 01:37:24 elliott: well a) it's hard to line up an apartment if you've just moved to the city, b) it helps you meet people 01:37:42 https://upload.wikimedia.org/wikipedia/commons/1/1e/Euro-comic-sans.png 01:37:45 kmc: i guess 01:37:50 (b) was a really big deal for us because of the byzantine procedure for sorting frosh into houses 01:37:58 hahachaf 01:38:07 Earlier versions of Comic Sans had an eye in the Euro sign. This was later removed because "The EU was going to sue us over that."[5] 01:38:23 it mainly just seems like a whole lot of infrastructure to only be used for a single year, but of course that's from the perspective of one person 01:38:36 -!- copumpkin has quit (Ping timeout: 240 seconds). 01:38:44 they don't burn down the buildings after 1 year elliott 01:38:46 they reuse them 01:39:00 elliott, when you're getting a house you generally get together with a group of 4 or 5 other people you know you can avoid strangling for the next year. 01:39:07 -!- copumpkin has joined. 01:39:15 kmc: wow are these things run by hippies or what 01:39:19 kmc: oh that explains everything 01:39:23 what hippies shachaf 01:39:39 Which obviously you can't do in first year (I also completely failed to sort it out). 01:39:41 kmc: i think it would be quite cool if a university burned down its first-year accommodation every year 01:39:46 like some kind of weird fucking tradition 01:39:57 elliott: With the students inside, I hope? 01:39:58 GOMADWarrior: well, try evaluating Lazy on paper and see if you can figure out all the patterns, or something. 01:39:59 the first years symbolically get to start the fire 01:40:11 Maybe with the last-years inside. 01:40:17 and it is tradition to leave at least one personal belonging in the building at the time 01:40:19 elliott: we kind of did that 01:40:28 The bonus is that if they're inside the building, any student can be a last-year! 01:40:42 they were going to start extensive renovations after my freshman year 01:40:47 so we kind of trashed the place on the way out 01:41:03 on the last day, four houses independently decided to have huge bonfires 01:41:34 also we spent about a month constructing reinforced concrete & steel plate fortifications in one of the rooms 01:41:48 in order to have another team of students break in using power tools and see how long it took them 01:41:53 but actually that was a yearly tradition 01:42:06 that sounds much more funs than my halls 01:42:38 http://www.gdbg.org/traditional_events.shtml#hellride 01:42:58 my corridor is a quarter chinese exchange students who keep to themselves, and the rest of us basically gave up on any meaningful social interactions in the first weekend 01:44:01 http://www.ugcs.caltech.edu/~blacker/history/ancient/hr-96.html 01:45:10 ancient indeed 01:45:20 Phantom_Hoover: :/ 01:46:56 kmc is old 01:47:57 kmc is that true 01:48:15 which 01:54:10 fucking vim, be sure not to hit any number keys immediately before entering insert mode 01:54:42 will that actually overwrite anything or just take forever to undo 01:55:05 neither 01:55:14 it _will_ make lots of copies, however 01:55:19 if you type 6i and then insert some stuff, it will insert it 6 times 01:55:37 you don't see the copies until you complete the i command with Esc 01:56:06 and you can only undo it as a unit 01:58:59 kmc: you can do u".p 02:02:42 what is that 02:02:57 undo, then put from the last insertion register 02:03:04 ok 02:03:10 i don't know fancy vim things such as these 02:03:14 what is an insertion register 02:03:16 i just looked it up 02:03:34 it's a "last insertion" register 02:03:46 oh 02:04:37 i recalled there were registers for (several last) deleted items, so i figured there might be one for inserted as well 02:04:43 -!- DH____ has joined. 02:05:03 -!- DHeadshot has quit (Read error: Connection reset by peer). 02:05:27 ed/vim is an esolang, discuss 02:05:36 no contest, your honor 02:09:52 oh another method which frequently works is to yank text across undo/redo history 02:10:33 since undo and redo only logs actual text changes, or thereabouts 02:11:20 i sometimes use this when i regret having deleted something a while ago 02:11:21 hm I suppose i might make good use of p even if i is mostly a nuisance 02:11:54 i sometimes use o or O to open many blank lines at once 02:12:53 mostly in combination with the ^V rectangle editing stuff 02:13:19 (actually ^Q on windows) 02:14:39 -!- GOMADWarrior has quit (Ping timeout: 252 seconds). 02:18:26 protip: xp 02:20:31 delete and paste? 02:21:06 yes, but look at what it actually does 02:21:23 > 232.0/8 02:21:24 29.0 02:21:40 > 893.0/8 02:21:42 111.625 02:22:51 kmc: it's "insert command" not "insert mode" hth 02:23:09 c.c 02:23:13 ...is probably a vim command too 02:23:39 cc is change line 02:24:04 if the . makes sense between them, i don't know 02:24:43 looks like the . cancels the c 02:25:02 vim has some weird things 02:25:10 Like ci and ca 02:25:13 . alone is repeat last command 02:25:28 ok i don't know those yet 02:26:13 Can you implement 02:26:15 "Sort a file" 02:26:16 In vim? 02:26:21 is there a RPG where you learn vim... wait, yeah there is 02:26:21 :%sort 02:26:26 (or is that, heaven forbid, a primitive) 02:26:32 Without invoking sort primitives? 02:26:43 does %sort shell out to /usr/bin/sort 02:26:51 istr it's very easy to pipe the current selection through external command 02:26:56 no. not in windows at least. 02:26:57 :%!sort does 02:27:03 :%sort is built-in 02:27:05 * Sgeo decides to troll #spring a bit 02:27:06 right 02:27:09 :%!shuf 02:27:53 :%!sort -R # as a last resort 02:28:42 Lymia: you can probably write a vim script for it 02:31:49 oh right ci/ca are c + text object selections 02:31:54 never used those afair 02:32:38 I think a language based on Java modified to work better with Spring and the bean concept would be nice. 02:32:55 As it is, JavaBeans (not so much Spring beans) break encapsulation horribly IMO 02:35:15 ooh, those text object selections could be more precise than % in many cases 02:35:45 and support many more delimiters 02:36:37 oerjan: how do you delete a ( and its matching ) plz 02:36:52 oh that 02:40:25 i still haven't found a command for that. i needed it a lot when writing my fueue programs, and i ended up just going to the ), appending a space, going to the matching (, delete, going to end of Word, delete, which depended on not having any space inside. 02:40:56 someone said there was a script for it, though. 02:41:05 You can insert some other character instead. 02:41:39 well yes, but searching to end of Word is just a single character (E) 02:42:05 while another character requires /b 02:42:10 or thereabouts 02:42:19 f 02:42:36 oh i was just about to wonder if there is a shortcut 02:43:07 ooh, t is even better 02:43:24 f puts on you on the character, which is what you need for pressing x. 02:44:23 i was assuming ) but i guess ) also works 02:45:05 Oh, I see. 02:45:22 Hmm, I forgot about the deleting ) part. 02:45:52 There's a @NotNull annotation in Java 8 02:46:20 Oh, there isn't one except in 3rd party libraries 02:48:38 shachaf: oh i found something: the ]) command 02:49:29 it appears to work precisely for this 02:49:45 go to first (, x])x 02:50:00 oerjan++ 02:50:29 oerjan: what about deleting [ and matching ] ............. 02:51:05 good question, why are only () and {} supported 02:54:17 -!- oerjan has quit (Quit: Anyway, good night). 02:58:09 -!- spacew has joined. 03:01:07 oerjan: good night 03:08:07 kmc: have you considered changing your name to kmc 03:09:07 no 03:09:33 i think it may be a wise career move 03:18:41 -!- Jafet has quit (Quit: Leaving.). 03:45:31 JavaBeans destroy the good of Java, imo 03:46:04 (Well, not all of them. Ones that just serve as plain old data are fine by me) 03:49:44 i don't mean this as a snark but in your view, what is the good of Java? 03:49:52 also are you JavaBeaning at work? 03:55:36 I think the ability to have private implementation that can't be set willy nilly is not a bad thing 03:55:50 Also I like checked exceptions, or at least the concept, but that's not relevant 03:56:00 Spring MVC. Not as bad as JavaBeans I guess 03:56:13 Checked exceptions is only bad as part of an API... 03:56:19 wait... 03:58:36 Suppose you have a JavaBean that, in a DI style way, takes in an object that it relies on to do some service 03:58:51 * kmc supposes 03:58:57 That object would probably be passed in via a public method, setWhatever() 03:59:04 But now clients of that JavaBean can also use setWhatever() 04:02:00 . 04:02:13 i see 04:02:42 i would say solve this with Moar Abstraction 04:02:59 a FooBean is constructed from a FooBeanConfiguration object which you can setWhatever on 04:03:06 but the FooBean itself will only use that at construction time 04:03:17 i believe this is a common pattern in java although i forgot its Official Pattern Name 04:03:43 Factory pattern? 04:05:06 Or is that something else 04:06:02 related 04:06:31 -!- lahwran has quit (Ping timeout: 264 seconds). 04:06:59 Sgeo: What's the Ada solution to this problem? 04:07:55 Don't design major specs that ignore features and design of the language and replace those with complexity? 04:08:39 -!- lahwran- has joined. 04:11:06 -!- Phantom_Hoover has quit (Remote host closed the connection). 04:11:13 fuck, if I say "AES-NI instructions" then nerds are going to make fun of me for 'redundant acronym' 04:11:37 * Fiora looks in, sees SSE 04:11:37 because when I read "AES-NI" i totally spell it out in my head as "Advanced Encryption Standard -- New Instructions" 04:11:45 hi Fiora 04:11:52 i'm going to put some AES-NI example programs on GitHub soon 04:11:54 very simple 04:12:04 AES AES-NI New Instructions 04:12:16 kmc: AES-NInstructions 04:12:20 maybe i'll lampshade it with a footnote 04:12:21 PNGraphics 04:12:29 ^^^ I HAVE THE SOLUTION TO YOUR PROBLEMS 04:13:53 RAID Array 04:14:40 RArrayID 04:15:00 is "ATM machine" an americanism 04:15:25 i think ATM is an americanism 04:15:43 good point 04:15:45 elsewhere they're cashpoints or bankomats or geldautomats or something 04:16:12 "kaspomat" in Hebrew. 04:16:15 i think of em as atms because internet 04:16:34 "-mat" is the best 04:16:46 Oh, apparently in Hebrew each bank calls them something else or something? 04:16:48 i guess it's from "automate"? who even cares it's awesome 04:16:48 käteisautomaatista? 04:17:10 Bike: yeah http://en.wikipedia.org/wiki/Automat 04:17:16 these are the best 04:17:25 Bike: It's "omat", not "mat", isn't it? 04:17:34 Like "ometer". 04:17:50 kmc: I guess there's system libraries and stuff that already do the AES-NI stuff, or...? 04:17:53 I'm guess that's a similar situation to "-ology", which is actually from "logos". 04:18:12 Fiora: yeah Linux and OpenSSL already have implementations at minimum 04:18:20 "In its heyday, recipes were kept in a safe, and described how to place the food on the plate as well as how to make it." 04:18:22 System and Method to Do the AES-NI Stuff 04:18:27 -!- DH____ has quit (Remote host closed the connection). 04:18:34 i wanted to learn how it works so I wrote simple self-contained programs and commented them better than any of the examples I could find 04:18:43 intel has a zip file with a boatload of examples but they're all big and ugly 04:19:23 Did you find any timing issues in the CPU? 04:19:55 no but did you see http://inertiawar.com/microcode/ 04:19:59 incredibly badass 04:20:11 oh, cool :o 04:20:35 apparently Intel CPUs have a hidden implementation of RSA for verifying signatures on microcode updates?? 04:20:41 "erratums", what 04:20:53 Bike: i know right, gb2latinschool 04:21:02 0x20110831 04:21:11 erratupodes 04:21:29 kmc: I remember a week or couple ago I was futzing with those other weird instructions from roughly the same time period 04:21:32 the string instructions 04:21:37 30 days have september, april, june, and november, and one time february in sweden 04:21:38 "the Intel-supplied undocumented binary blob" sweet 04:21:40 strinstructionsg 04:22:14 pcmp(e/i)str(i/m) (gosh I always have to look those names up) 04:22:34 they can do some really crazy things, internally it's basically a 256-way comparison of bytes 04:23:11 Why not scrap Java as a language and just make a language that compiles to Java with Java idioms 04:23:13 oh wow, 0x20110831, wow. 04:23:20 Have Java idioms be language-level features 04:23:28 Sgeo: The True Java 04:23:50 like, you could return a bitmask with 1s for bytes that are letters and 0s for bytes that aren't, or for the start of all instances of a word in a string or something 04:23:53 they're kind of nutty 04:24:03 Bike: man 2 reboot (on Linux), look at the MAGIC constants 04:24:14 but um, maybe if you can poke me once you get the AES-NI thing up, I haven't used those at all so it sounds really cool 04:24:48 Fiora: sure thing 04:25:25 goofy constants i'm used to, the coding of dates not so much 04:25:41 the reboot(2) constants are also dates 04:25:41 Admittedly these are quite goofy indeed. 04:27:53 also geez the cipher mode things are complicated 04:28:16 i hate computers 04:28:39 AES-NI has cipher mode things? 04:29:08 just like the different block cipher modes and implementing them I guess 04:29:28 kmc, if the data's apparently random. 04:29:29 computers are sooooo overrated 04:29:38 Can't the hash, er, be of the decryption of the main data 04:29:44 Bad language with community that has made numerous workarounds for the language's flaws, or decent language that still has some flaws but little community? 04:30:03 Lymia: what are you talking about? 04:30:06 no but did you see http://inertiawar.com/microcode/ 04:30:13 Fiora: CTR mode is pretty simple, at least 04:30:26 CBC is pretty simple too 04:30:50 ECB mode is pretty simple 04:30:50 do you think in a hundred years programming language arguments will be as quaint and obviously wrong as people arguing about sanskrit being magical or english being superior to french? that would be great 04:31:04 huh. counter mode does look really simple actually 04:31:07 is there some reason people use any of the others? 04:31:30 Fiora: The best part is that counter mode doesn't actually use a block cipher. 04:31:35 "he Phantasy Star Online: Blue Burst online video game uses Blowfish in ECB mode. Before the key exchange system was cracked leading to even easier methods, cheaters repeated encrypted "monster killed" message packets, each an encrypted Blowfish block, to illegitimately gain experience points quickly." 04:31:37 It uses a hash function. 04:31:40 *the 04:33:37 ECB mode isn't a mode. 04:34:04 Fiora: some modes provide both encryption and authentication/integrity at once 04:34:15 ahh, and counter mode doesn't? 04:34:17 if you use bare CTR mode then you let an attacker flip any bit they choose in the plaintext 04:34:30 ohhhhh 04:34:32 CTR mode has advantages even if you don't care about integrity/authentication 04:34:35 so you would use CTR mode with a message authentication code, often the HMAC construction 04:34:39 Er, disadvantages. 04:35:05 but a mode like GCM or OCB gives you both encryption and integrity/authentication in a single step 04:35:16 OCB performs only slightly more block cipher operations than the unauthenticated moes 04:35:44 GCM is nastier, it has some weird polynomial math and people are arguing on Twitter today about whether it's dumb 04:35:51 But it performs them even if the authentication fails. 04:35:58 it had better! 04:36:30 Polynomial math, does it do some finite field thing? 04:36:32 do you think in a hundred years programming language arguments will be as quaint and obviously wrong as people arguing about sanskrit being magical or english being superior to french? that would be great 04:36:37 Bike: are you some kind of aim hecker 04:36:37 I remember carry-less multiplication for galois field arithmetic had something to do with GCM 04:36:38 kmc: Why? 04:36:51 well maybe it doesn't matter in this case 04:36:59 in general you want to do the same steps always to avoid timing side channels 04:37:06 Sure. 04:37:16 laziness sucks! 04:37:17 This was used as an explicit argument for doing them separately, though. 04:37:21 it'd be interesting to have a programming language where your branches have to have the same timing 04:37:25 to enforce this 04:37:33 cache attacks though too :< 04:37:39 elliott: enforce it in the type system! 04:37:45 if you want a bunch of cool crypto exercises, email sean@matasano.com 04:37:49 Fiora: no stop. you can't remind me of how security is awful 04:37:57 OK NEW PLAN: we all stop using computers for important things 04:37:58 kmc: you recruiting for them now? 04:38:01 I remember reading a wonderful paper where (before AES-NI) they avoided timing attacks in an AES implementatoin 04:38:06 by doing it entirely in registers 04:38:08 do everything in the cost-counting indexed monad! 04:38:10 because otherwise we are so fucked 04:38:15 and turning the 2^8 galois operations into 4-bit sliced operations using shuffles as lookup tables 04:38:18 um, let me find this 04:38:19 Fiora: was that the one where they stored the key in the debug registers? 04:38:26 oh that might be a different paper 04:38:32 http://shiftleft.org/papers/vector_aes/vector_aes.pdf 04:38:36 there was one that did that thing I said 04:38:44 It's an implementation of AES that uses no table lookups 04:38:49 elliott: the hell is an "aim hecker" 04:38:50 Fiora: cool! 04:38:50 and so should be immune to timing attacks of that kind? 04:39:03 Kinda less useful now I guess, but <.< 04:39:07 elliott: also you know things sucked before computers right, like the whole thing with missiles 04:39:11 `quote hecker 04:39:13 736) aim hecker (n): when ur dronk and u pee so bad all over the toilet that ppl make fun of u (corruption of "aim heckler") 04:39:17 Bike: please observe ^ 04:39:54 uh what 04:39:59 oh, and the best part is it's still like 3-6 times faster than openssl 04:40:04 kmc: i don't think Bike gets it 04:40:10 there was Context 04:40:16 but I'm too lazy to find it 04:40:55 i mean obviously there are differences between languages but it seems weird to restrict that to "languages" instead of "programming systems" or something 04:40:58 maybe i'm slightly tired yes. 04:41:20 -!- heroux has quit (Read error: Operation timed out). 04:41:22 anyway the point is something about php 04:41:23 I maintain that I haven't peed so bad over the toilet. 04:41:47 anything you say that can be interpreted in some way as a defence of php makes you an aim hecker 04:41:50 sorry 04:41:54 kmc: the part of the paper I am wayyyy beyond understanding (and probably the interesting part) is how they turn 256-way table lookups into 16-way ones 04:42:03 your interpretation is dumb, so there. 04:42:04 but the 16-way table lookup trick is one of my favorite things 04:42:09 you don't understand 04:42:18 pshufb {16-byte table}, {data} does 16 16-way table lookups in one cycle, it's kind of amazing 04:42:19 we have to bring up aim heckers once every month or so 04:42:20 forever 04:42:36 to prove... something to the guy who started it 04:42:39 I'm part of a new, dynamic, unheckered #esoteric. I am the new generation. I am unstoppable 04:42:50 something about how we really care way too much about php sucking, etc. 04:43:26 PHP more like shitty crap doodoo that sucks 04:43:38 elliott: "the whole aim hecker thing is dumb hth" 04:43:42 no 04:43:47 the whole aim hecker thing is beautiful 04:44:08 imo you have bad taste in things that are things 04:44:16 Bike: the original "aim hecker" was some awful php script on this guy's site that was meant to do something or other ("hecking") with aol instant messenger accounts 04:44:24 so speaking of something more interesting than whatever that is, I got to teach kids to play with a Mindstorms robot today 04:44:26 presumably it was actually meant to be "aim hacker" but here is the twist: it was not 04:44:32 Bike: best segue ever 04:44:33 hope you're splitting your sides 04:44:34 which was exciting because i've never so much as seen one before 04:44:45 `addquote so speaking of something more interesting than whatever that is, [...] 04:44:49 994) so speaking of something more interesting than whatever that is, [...] 04:44:50 but goddamn, 10 year olds get enthusiastic about robots 04:44:57 mindstorms *_* 04:45:03 Bike: hey i remember when i played with mindstorms 04:45:08 it was p.good imo 04:45:09 my dad got me a set of that when I was like 10 or something 04:45:28 they just had to get it to go into a garage and back but man did they work at that shit. 04:45:29 omg am i Fiora 04:45:34 that would explain the fangs 04:45:44 what @_@ 04:46:09 -!- heroux has joined. 04:46:14 by kids bike actually means ... well i was planning to come up with a funny punchline by the time i typed that out, but i failed to 04:46:22 Today they have those new-fangled Mindstorms things with Bluetooth and what not, right? 04:46:23 Like every time a kid from one of the other activities came up and saw the robot going they literally just went "whooooooa" 04:46:37 shachaf: it was USB. I don't know how fangled it was otherwise though. 04:46:38 I have no idea what they have nowadays, I just remember programming by dragging little puzzle piece blocks around 04:46:42 and building stuff 04:46:44 Yeah, that was it. 04:46:52 I liked that the graphical interface resembled physical legos. 04:46:54 Bike: The old ones had to use infrared, didn't they? 04:47:06 I really loved Technic-style lego though (like, making things that connected together and moved) instead of just structures though 04:47:19 OK when I said I'd never seen mindstorms before, I mean I didn't know anything about it besides that they're Lego robots. 04:47:40 As the only young adult I just got shoved into the tech thing because "you kids know all that stuff right" 04:47:53 well, one of two, the other also got shoved into the tech thing, I mean. 04:47:58 did you teach them lisp 04:48:14 Yes. You've unraveled my insidious plot 04:48:21 how could you 04:49:17 http://www.landmarksofbritain.co.uk/ivrpa/mindstorms-layout-selected.jpg?q=ivrpa/mindstorms-layout-selected.jpg all those parentheses are terrifying 04:49:44 landmarksofbritain.co.uk 04:50:08 dude nxt is like a billion times fancier than rcx? 04:50:15 imo kids these days 04:50:32 kids these days have a raspberry pie glued to an arduino duct taped to an iphone 04:50:39 pi and/or pie 04:51:16 one time I used duct tape to tape a duct 04:51:17 I should invent something called "duct typing" and then get mad at people when they say "duck typing". 04:51:17 what a day 04:51:26 ductible typing 04:51:34 deductible typing 04:51:56 Oh, also the kids did this while wearing labcoats labeled as being from clean rooms. It was pretty much adorable. 05:02:18 -!- Bike has quit (Ping timeout: 258 seconds). 05:02:48 -!- Bike has joined. 05:04:46 -!- ThatOtherPerson has joined. 05:06:44 whaat it's 5 am already 05:06:52 i did absolutely nothing to deserve this 05:08:02 I get to wake up in 4 hours! 05:08:53 why arent you asleep 05:09:25 -!- Bike_ has joined. 05:09:32 fu chrome, how many documents contain the characters — in that order 05:09:53 famed swedish post-metal band — completed their record-setting tour today 05:09:58 -!- Bike has quit (Disconnected by services). 05:10:02 -!- Bike_ has changed nick to Bike. 05:10:33 mojibake is mai waifu 05:10:56 I once went to a 3d chat site, it was based in Israel and there were a lot of Hebrew speakers there, but I didn't have fonts so their text showed up as a lot of vowels 05:10:57 i don't know what that is so i'm going to assume it's a flavor of pocky 05:11:06 And got said by the narrator thing as a vowely sound 05:11:16 how ironic 05:11:25 mojibake is what you call consequences of encoding errors like "—" (if you're feeling japanese) 05:11:30 yes 05:11:43 oh did you mean the waifu thing? yeah that's pocky 05:12:09 in Russian it's called krakozyabry (кракозя́бры) 05:12:17 http://en.wikipedia.org/wiki/File:Koverto-kun-krakozjabroj.png still the best thing 05:12:33 also serves as the title of my blog 05:12:38 cool, link? 05:12:42 ok yeah that's great 05:13:05 it's mostly personal stuff, i'll link it later if i feel like it and write soething moderately interesting maybe 05:13:09 ok 05:13:16 or you could just google that word >_> 05:13:37 anyway i'm imagining a russian mailperson being like "yeah this looks like polish i guess" 05:14:03 `addquote i don't know what that is so i'm going to assume it's a flavor of pocky 05:14:07 995) i don't know what that is so i'm going to assume it's a flavor of pocky 05:14:40 guys we need 5 moreq uotes 05:14:54 perhaps zzo38 will say 5 things tomorrow 05:15:12 i hope there's a wraparound error when it hits 1000 05:15:15 `quote 0 05:15:17 10) So what you're saying is that I shouldn't lick my iPhone but instead I should rub it on my eyes first and then lick my eyeballs? \ 20) so i can only conclude that it is flawed, or the world is utterly bonkers \ 30) anyway, torture would be fun to experience, true should put that on my todo 05:15:29 ok that wasn't what i expeted 05:16:04 im not sure what that is doing 05:16:27 `quote 1 05:16:28 1) I used computational linguistics to kill her. 05:16:29 Searching for the string "0"? 05:16:47 > all (0 `isInfixOf`) ["10","20","30"] 05:16:49 No instance for (GHC.Num.Num [GHC.Types.Char]) 05:16:49 arising from the literal ... 05:16:55 > all ("0" `isInfixOf`) ["10","20","30"] 05:16:56 True 05:16:58 php > haskell 05:17:03 -!- kmc has set topic: There is no rule in poker that says you have to try hard to win. | http://codu.org/logs/_esoteric/. 05:17:06 it wouldn't search in quoten umbers though 05:17:36 kmc: zzo38 has actually written the plots of most hollywood films of the last few years 05:17:41 alt. yugioh 05:20:23 Sgeo: A lot of vowels? 05:20:31 That's like having anti-fonts. 05:20:57 kmc: Is that a zzo38 quote? 05:21:04 `quote poker 05:21:06 801) There is no rule in poker that says you have to try hard to win. 05:21:31 Oh. 05:21:37 `pastequotes zzo38 05:21:42 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16671 05:22:43 zzo38 for https://en.wikipedia.org/wiki/The_Ruler_of_the_Universe 05:22:54 zzo38 for emperor of united states and protector of mexico 05:23:55 Bike: Do you understand the F-Alg free monad thing? 05:24:09 I'm going to say no. 05:24:23 I don't really either. :-( 05:24:27 Actually if that's catamorphismy it might be yes, but I'm still going to say no 05:24:53 Please explain it and its relation to the free monad as given by the left adjoint to the forgetful functor to the category of endofunctors? 05:24:56 -!- lahwran- has changed nick to lahwran. 05:25:12 Yeah, no. 05:25:19 imo stick with sigma algebras 05:25:36 Bike this is important....... 05:26:03 free peltier 05:26:16 @wn peltier 05:26:16 No match for "peltier". 05:26:22 I don't even know what a free monad is, is that like a free monoid 05:26:31 yes 05:26:37 http://en.wikipedia.org/wiki/Leonard_Peltier 05:26:37 it's like a free monoid in the category of endofunctors 05:26:51 Bike: Please make that an https link so I can click on it. 05:27:00 https://en.wikipedia.org/wiki/Leonard_Peltier 05:27:47 Bike++ # uses https links unbidden 05:29:58 hm so is a free monad like a monoid of strings of endofunctors which are compositions or something maybe 05:30:19 it's data Free f = Pure a | Free (f (Free f a)), hope this helps 05:30:27 boring 05:31:26 Bike: lists are 1 + a*(1 + a*(1 + a*(... 05:31:43 yes 05:31:43 free monads are a + f (a + f (a + f (... 05:31:53 Oh. That's kinda neat. 05:32:22 You can make them look even more similar. 05:32:34 It's sort of like 1 + f + f^2 + f^3 05:32:58 yeah a lot of category theory stuff ends up looking like combinatorics to me for some reason. 05:33:21 Types are related to combinatorics in all sorts of ways. 05:33:26 did you know the derivative of a type is the type of its one-hole contexts?? 05:33:28 And combinatorial species. 05:33:33 elliott no 05:33:42 also the logarithm of a functor is the number of holes it has. 05:33:45 -!- heroux has quit (Ping timeout: 245 seconds). 05:33:49 (where applicable.) 05:34:30 what's the logarithm of [] 05:35:30 doesn't exist 05:35:30 -!- heroux has joined. 05:35:38 :( 05:35:42 http://cstheory.stackexchange.com/questions/17006/what-is-the-logarithm-or-root-operation-in-type-space 05:43:11 -!- heroux has quit (Read error: Operation timed out). 05:46:40 -!- heroux has joined. 05:50:30 -!- atehwa has quit (Ping timeout: 264 seconds). 05:51:48 -!- Arc_Koen has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?"). 05:57:37 -!- atehwa has joined. 06:11:32 -!- glogbackup has quit (Remote host closed the connection). 06:26:33 -!- copumpkin has quit (Ping timeout: 252 seconds). 06:27:04 -!- copumpkin has joined. 06:38:31 -!- TeruFSX has quit (Ping timeout: 258 seconds). 06:45:33 -!- heroux has quit (Read error: Operation timed out). 06:50:16 -!- heroux has joined. 07:05:30 -!- FreeFull has quit. 07:29:38 -!- Bike has quit (Ping timeout: 272 seconds). 07:35:32 -!- epicmonkey has joined. 07:43:34 -!- oonbotti has joined. 07:50:32 -!- epicmonkey has quit (Ping timeout: 272 seconds). 07:53:16 -!- ThatOtherPerson has quit (Quit: Leaving). 08:14:23 -!- Zerker has joined. 08:30:42 -!- c00kiemon5ter has joined. 08:33:33 -!- carado has joined. 08:40:38 -!- azaq23 has joined. 08:51:57 -!- epicmonkey has joined. 08:53:24 -!- DHeadshot has joined. 09:01:02 `slist 09:01:06 slist: Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 09:04:48 -!- impomatic has quit (Quit: impomatic). 09:30:58 -!- ThatOtherPerson has joined. 09:36:16 -!- ThatOtherPerson has quit (Quit: Leaving). 09:45:33 -!- Jafet has joined. 10:00:50 -!- Zerker has quit (Quit: Colloquy for iPad - Timeout (10 minutes)). 10:13:58 -!- Zerker has joined. 10:25:19 * Sgeo provisionally retracts his objections to JavaBeans 10:26:19 Someone suggested having the interface that clients use not mention private things 10:54:15 -!- ThatOtherPerson has joined. 11:02:03 Person who agreed with me is now being clueless 11:02:05 :( 11:14:19 -!- heroux has quit (Read error: Operation timed out). 11:18:08 -!- heroux has joined. 11:22:04 -!- tromp_ has joined. 11:22:49 -!- jix_ has joined. 11:22:50 -!- Gregor` has joined. 11:23:01 -!- shachaf_ has joined. 11:23:02 -!- EgoBot has quit (Ping timeout: 260 seconds). 11:23:02 -!- hogeyui has quit (Ping timeout: 260 seconds). 11:23:02 -!- mroman has quit (Ping timeout: 255 seconds). 11:23:02 -!- mtve has quit (Ping timeout: 255 seconds). 11:23:02 -!- comex has quit (Ping timeout: 255 seconds). 11:23:02 -!- jix has quit (Ping timeout: 260 seconds). 11:23:02 -!- SDr has quit (Ping timeout: 260 seconds). 11:23:03 -!- tromp has quit (Ping timeout: 260 seconds). 11:23:03 -!- [mbm] has quit (Ping timeout: 260 seconds). 11:23:03 -!- nortti has quit (Ping timeout: 255 seconds). 11:23:03 -!- tswett has quit (Ping timeout: 255 seconds). 11:23:03 -!- Gregor has quit (Ping timeout: 260 seconds). 11:23:03 -!- shachaf has quit (Ping timeout: 260 seconds). 11:23:15 -!- [mbm] has joined. 11:24:08 -!- nortti has joined. 11:24:23 -!- comex has joined. 11:24:33 -!- tswett_ has joined. 11:24:34 -!- mroman has joined. 11:24:45 -!- hogeyui has joined. 11:25:51 -!- EgoBot has joined. 11:26:38 -!- mtve has joined. 11:28:31 -!- dessos has quit (*.net *.split). 11:28:31 -!- aloril has quit (*.net *.split). 11:28:31 -!- elliott has quit (*.net *.split). 11:28:31 -!- Gracenotes has quit (*.net *.split). 11:28:31 -!- kmc has quit (*.net *.split). 11:28:38 -!- elliott_ has joined. 11:28:47 -!- elliott_ has changed nick to elliott. 11:31:51 -!- aloril has joined. 11:31:51 -!- dessos has joined. 11:31:51 -!- Gracenotes has joined. 11:31:51 -!- kmc has joined. 11:32:08 -!- KingOfKarlsruhe has joined. 11:37:23 -!- TeruFSX has joined. 11:43:38 -!- TeruFSX has quit (Ping timeout: 258 seconds). 11:46:11 -!- Taneb has joined. 11:50:28 -!- heroux has quit (Ping timeout: 256 seconds). 11:50:31 -!- carado has quit (Ping timeout: 246 seconds). 11:52:20 -!- heroux has joined. 12:16:54 -!- TeruFSX has joined. 12:22:24 -!- TeruFSX has quit (Ping timeout: 256 seconds). 12:25:08 -!- GOMADWarrior has joined. 12:27:27 -!- carado has joined. 12:30:33 would it be possible to make a language that compiles to an exe? 12:30:51 Yes 12:31:05 how? would it need to use gcc? 12:31:51 You'd need to compile it for windows 12:32:35 only windows would work? 12:33:11 Maybe DOS 12:33:23 .exe is just the suffix Windows uses to mark executables 12:33:45 there are more, like .msi etc 12:34:19 .wmf 12:34:42 ah, yes, I meant an executable, not specifically .exe 12:35:10 That's what a lot of compilers do 12:35:23 Including gcc, GHC, and others 12:36:21 There is in fact, an obscure language that has a 200-byte compiler. 12:37:44 -!- boily has joined. 12:37:49 -!- metasepia has joined. 12:40:58 -!- KingOfKarlsruhe has left. 12:42:06 Awib is (modulo some arguments about "cheating") written in one obscure language like that, and generates (x86 Linux) binaries directly. 12:45:21 Windows compilers are probably slightly more complicated than *nix compilers 12:45:38 Since the Windows API is written in C 12:45:48 and can't be accessed directly from assembly 12:47:57 Also, .exe is used as the executable suffix at least by Symbian and OS/2 in addition to Windows and DOS. 12:48:16 -!- Taneb has quit (Quit: Page closed). 12:51:36 (Symbian also makes a difference between .app for applications with user interfaces, and .exe for service-type things.) 12:59:38 symbian still exists? 13:00:01 -!- shocked has joined. 13:00:02 -!- shocked has quit (Excess Flood). 13:03:22 boily: That is not dead which can eternal lie. 13:06:50 ~duck symbian 13:06:50 --- No relevant information 13:07:44 fizzie: and with strange aeons symbian will have >50% market share on mobile devices. 13:13:32 -!- azaq23 has quit (Quit: Leaving.). 13:13:49 -!- azaq23 has joined. 13:17:46 ~duck sybian 13:17:46 --- No relevant information 13:27:40 -!- Gregor` has changed nick to Gregor. 13:27:46 -!- nooodl has joined. 13:33:43 -!- impomatic has joined. 13:43:40 ~duck symbiote 13:43:41 Symbiosis is close and often long-term interaction between two or more different biological species. 13:46:37 ~duck duck 13:46:38 duck definition: any of various swimming birds (family Anatidae, the duck family) in which the neck and legs are short, the feet typically webbed, the bill often broad and flat, and the sexes usually different from each other in plumage. 13:46:44 ~duck duck goose 13:46:44 --- No relevant information 13:47:17 Can TAs who teach lab classes have a larger quota? 13:47:18 -!- Arc_Koen has joined. 13:47:18 We are not planning to subsidize work that TA's are doing. Our recommendation would be that a department provides a work printer for their TAs to use, or that they subsidize their quotas. 13:47:22 My university = brilliant. 13:47:40 Pluralizing initialisms in two different ways within the same answer to a question. 13:47:43 ∴ brilliant = your university 13:48:43 yesterday someone told me I was your university 13:48:50 TA:s. 13:52:20 AEs. 13:57:01 TAnen 13:57:06 A.T. fields. 13:57:35 -!- ThatOtherPerson has quit (Quit: Leaving). 14:14:03 -!- sebbu2 has joined. 14:14:35 -!- sebbu2 has quit (Changing host). 14:14:35 -!- sebbu2 has joined. 14:17:30 -!- sebbu has quit (Ping timeout: 245 seconds). 14:47:45 -!- azaq23 has quit (Quit: Leaving.). 14:55:03 -!- Phantom_Hoover has joined. 15:01:50 -!- Bike_ has joined. 15:48:57 -!- Zerker has quit (Ping timeout: 258 seconds). 15:49:32 -!- Zerker has joined. 15:52:50 -!- sebbu2 has quit (Read error: Connection reset by peer). 15:53:10 -!- sebbu has joined. 15:53:45 -!- sebbu has quit (Changing host). 15:53:45 -!- sebbu has joined. 15:54:01 -!- Taneb has joined. 15:54:12 -!- Lymia has quit (Ping timeout: 256 seconds). 16:33:55 -!- Lymia has joined. 16:33:55 -!- Lymia has quit (Changing host). 16:33:55 -!- Lymia has joined. 16:34:18 today's mushroom fact: many mushrooms are carnivorous 16:34:52 the mycelium will attract, trap, and digest nematodes for their delicious nitrogen 16:34:57 http://www.youtube.com/watch?v=0n04wCkIpuQ 16:38:44 Taneb: .NET programs are .exe files, even when compiled by Mono on Linux 16:38:45 -!- DHeadshot has quit (Ping timeout: 272 seconds). 16:38:48 and they have a PE-like format 16:38:55 Huh 16:38:58 and you can exec them directly thanks to binfmt_misc 16:39:40 /tmp/foo.exe: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows 16:39:59 i don't know a) why it's "for MS Windows" and b) whether it's really architecture-specific 16:41:00 now I wonder what ThatOtherPerson meant by saying the Windows API can only be accessed from C and not assembly 16:41:31 isn't there a standard ABI? I can call libc from assembly code on Linux as long as I comply with the C ABI 16:42:05 you can have APIs that are defined at source level and might be implemented with macros -- POSIX allows this for a lot of things -- but I didn't know that the Windows API is like this 16:50:07 -!- DHeadshot has joined. 16:56:25 -!- copumpkin has quit (Ping timeout: 246 seconds). 16:56:57 -!- copumpkin has joined. 17:01:53 ~duck mushroom 17:01:53 mushroom definition: an enlarged complex aboveground fleshy fruiting body of a fungus (as a basidiomycete) that consists typically of a stem bearing a pileus; '''especially'''. 17:04:32 -!- Zerker has quit (Ping timeout: 255 seconds). 17:05:06 kmc: I think e meant that it's defined in terms of functions in DLLs, so you get a slight complication in that you need to do linking, as opposed to calling some sort of int X/syscall-based interface directly. 17:05:53 -!- Zerker has joined. 17:06:15 (It might have some amount of could-be-a-C-macro-logy going on, too, for all I know; but people certainly are calling into the API from assembly. 17:06:34 ~duck absolute terror field 17:06:34 --- No relevant information 17:08:17 -!- DHeadshot has quit (Ping timeout: 256 seconds). 17:10:35 *nod* 17:11:33 'By extension, the term "mushroom" can also designate the entire fungus when in culture' 17:12:29 ~duck black fungus 17:12:29 --- No relevant information 17:12:35 ~duck jew's ear 17:12:35 --- No relevant information 17:12:44 ~duck wood ear 17:12:45 wood ear definition: any of several ear- or cup-shaped basidiomycetous fungi (genus '''Auricularia''') that grow on wood. 17:12:49 ah! 17:13:15 http://upload.wikimedia.org/wikipedia/commons/b/b4/Zwerg_Postkarte_001.jpg 17:23:43 what langs other than haskell have pattern matching? 17:24:27 erlang does. 17:24:36 Scala has a bit. 17:24:49 SML, OCaml 17:25:00 there are pattern-matching libraries for many other languages 17:25:05 i think there's one built into Racket 17:25:10 Many non-standard Scheme bits. (Maybe there's a SRFI too?) 17:25:30 Scheme's syntax-rules is a bit like pattern matching, albeit in a specialized domain 17:25:45 kmc: Also, the bit that says "for MS Windows" is there in the PE executable magic detection where it decides whether to say either "for MS Windows" or "for MS-DOS, 32rtm DOS extender # hooray, there's a DOS extender using the PE format, with a valid PE executable inside (which just prints a message and exits if run in win)" -- and doesn't have anything in particular to do with the Mono/.Net ... 17:25:51 ... assembly part. 17:25:57 Coq has pattern matching 17:26:08 and Agda 17:26:13 they're inspired by OCaml and Haskell respectively 17:26:23 actually OCaml was invented for writing the Coq implementation... but anyway 17:26:26 ocaml and coq sort of inspired each other i think 17:26:39 coq pattern matching is really kind of awful 17:26:39 fizzie: haha 17:26:46 dependent types make everything a pain 17:26:47 s/pattern matching // 17:26:55 :/ 17:27:02 coq is a pretty impressive system 17:27:06 it is 17:27:14 a lot of its parts are pretty ugly though 17:27:25 i don't really like the tactics system but it's amazing just how advanced and old (80s!) it is 17:27:31 and some things like the notation system are really pretty cool 17:27:36 -!- Lymia has quit (Ping timeout: 260 seconds). 17:28:24 -!- carado has quit (Ping timeout: 264 seconds). 17:30:58 is it easy to implement pattern matching? 17:31:37 yes 17:31:39 generally 17:31:57 it depends on what kinds of data types and what kinds of patterns you want to support 17:32:13 the ML/Haskell form of pattern matching goes along with the concept of algebraic data 17:32:39 where every value you can decompose has a constructior and zero or more fields 17:32:56 the constructor isn't like an OO constructor; it's not a chunk of code that runs; it's just a tag applied to some fields 17:33:30 so the basic form of pattern is "match if the constructor was X and apply sub patterns p, q, ... to the fields" 17:34:11 in Haskell this is also the basic construct which drives lazy thunks to be evaluated, but you can ignore that in a language without lazy eval 17:36:00 something about paramorphisms and induction schemes 17:39:09 something about higher order unification being undecidable 17:42:25 -!- ssue_ has quit (Ping timeout: 258 seconds). 17:43:08 -!- Bike_ has quit (Ping timeout: 256 seconds). 17:44:42 -!- Bike has joined. 17:47:00 -!- Madoka-Kaname has joined. 17:47:00 -!- Madoka-Kaname has quit (Changing host). 17:47:00 -!- Madoka-Kaname has joined. 17:49:04 -!- ssue_ has joined. 17:58:12 -!- hagb4rd has joined. 18:08:35 -!- Zerker has quit (Ping timeout: 240 seconds). 18:08:52 -!- FreeFull has joined. 18:11:33 -!- Zerker_ has joined. 18:13:11 -!- oerjan has joined. 18:15:46 -!- iamcal_ has quit (Ping timeout: 258 seconds). 18:20:02 -!- carado has joined. 18:20:35 -!- ssue_ has quit (Ping timeout: 240 seconds). 18:38:50 @tell shachaf Another method which works with [] : go to [ , then %x``x 18:38:50 Consider it noted. 18:42:24 -!- ThatOtherPerson has joined. 18:45:32 -!- ThatOtherPersonY has joined. 18:46:57 -!- ThatOtherPerson has quit (Read error: Connection reset by peer). 19:07:17 -!- AnotherTest has joined. 19:07:54 -!- Madoka-Kaname has quit (Read error: Connection reset by peer). 19:08:10 Hello, does either Python or Haskell has an operator (built-in or standard library) for Knuth's arrowup notation? 19:08:27 s/has/have 19:10:35 -!- Nisstyre has quit (Quit: Leaving). 19:11:56 AnotherTest: not to my knowledge 19:12:04 probably in non-standard library 19:12:27 Ok, do you know of any such library? 19:13:18 AnotherTest: the result wouldn't fit in memory for any but the simplest cases... 19:13:50 oerjan: I just need the simplest cases :-) 19:13:59 AnotherTest: no 19:15:24 kmc: alright, time to ddg 19:15:47 :t let up 0 a b = a^b; up n a b = foldr1 (up (n-1)) (replicate b a) in up 19:15:48 (Eq a, Num a) => a -> Int -> Int -> Int 19:16:01 > let up 0 a b = a^b; up n a b = foldr1 (up (n-1)) (replicate b a) in up 3 3 2 19:16:03 *Exception: stack overflow 19:16:06 welp 19:16:11 kmc: was writing that, i think it should start at 1 though 19:16:16 oh yead 19:16:20 > let up 1 a b = a^b; up n a b = foldr1 (up (n-1)) (replicate b a) in up 3 3 2 19:16:21 7625597484987 19:16:26 cool, matches wikipedia 19:16:35 now let's golf 19:16:49 ~eval up up 1 a b = a^b; up n a b = foldr1 (up (n-1)) (replicate b a) in up 3 3 2 19:16:52 Error (1): 19:16:54 ~eval up up 1 a b = a^b; up n a b = foldr1 (up (n-1)) (replicate b a) in up 3 3 2 19:16:55 Error (1): :1:13: parse error on input `=' 19:17:03 :t let up 0 = (^); up n = (foldr1 (up (n-1))) . flip replicate in up 19:17:04 Couldn't match expected type `[b0 -> a0]' 19:17:05 with actual type `a1 -> c0' 19:17:05 Expected type: a0 -> [b0 -> a0] 19:17:09 * boily stares angrily at metasepia 19:17:25 boily: you have duplicated an up 19:17:44 i think you might want a let instead of the first one 19:21:00 ~eval let up 1 a b = a^b; up n a b = foldr1 (up (n-1)) (replicate b a) in up 3 3 2 19:21:01 Error (1): Ambiguous occurrence `foldr1' 19:21:01 It could refer to either `GHC.List.foldr1', 19:21:01 imported from `Data.List' at Imports.hs:16:1-16 19:21:01 (and originally defined in `base:GHC.List') 19:21:01 or `Data.Foldable.foldr1', 19:21:02 imported from `Data.Foldable' at Imports.hs:13:1-20 19:21:04 -!- AnotherTest has quit (Read error: Connection reset by peer). 19:21:15 ~eval let up 1 a b = a^b; up n a b = Data.List.foldr1 (up (n-1)) (replicate b a) in up 3 3 2 19:21:16 7625597484987 19:21:21 now _that_ is a reason to stare angry. 19:21:22 ah, much better. 19:21:30 good bot, good bot 19:21:38 * boily pat pat pats his bot 19:22:03 What what what language is that of the bot which you are pat pat patting? 19:22:05 i'm sure there must be some way of checking for name collisions. 19:22:53 ThatOtherPersonY: it's written in haskell, but input from ~eval is forwarded to mueval, so it's only a coincidence. 19:23:39 -!- AnotherTest has joined. 19:24:09 okay, thanks! 19:24:11 -!- ais523 has joined. 19:24:19 oerjan: I had those collisions mostly flattened, but this one is rebarbative. 19:24:56 > let up 1 a b = a^b; up n a b = iterate (up (n-1) a) a !! (b-1) in up 3 3 2 19:24:57 7625597484987 19:26:10 I think I /may/ have fixed Anarchy 19:26:10 ais523: You have 4 new messages. '/msg lambdabot @messages' to read them. 19:26:16 the fix is to make it intentionally sub-TC 19:26:17 @messages 19:26:18 oerjan said 1d 22h 34m 33s ago: imagine something as simple as "do >+, then wait for the current cell to become zero, then wait that many cycles again, then do something else" <-- +>([{}] 19:26:18 somethingelse(.)*-1)%-1 assuming %-1 is legal 19:26:18 oerjan said 1d 22h 34m 15s ago: *>+ 19:26:18 oerjan said 1d 22h 33m 31s ago: Oops, discard, duh 19:26:18 elliott said 1d 22h 31m 24s ago: *>+ 19:26:52 oerjan: that doesn't work because the current cell could become nonzero again 19:26:54 * kmc wonders if a language extension that allows to define (↑), (↑↑), (↑↑↑), etc. all at once would generalize in any interesting way 19:26:59 -!- shachaf_ has quit (Changing host). 19:26:59 -!- shachaf_ has joined. 19:27:01 -!- shachaf_ has changed nick to shachaf. 19:27:46 kmc: I once defined a lisp macro "cr" to generalize cadr etc. 19:27:46 shachaf: You have 1 new message. '/msg lambdabot @messages' to read it. 19:27:52 (cr addada x) 19:27:56 It was pretty awful. 19:29:38 ais523: I SAID DISCARD 19:31:34 boily: i thought before in the context of lambdabot, if all names were filtered through a module reexporting them, then ghc would have to check for collisions on compilation. 19:31:35 c.c 19:32:38 oerjan: :) 19:32:47 oerjan: fwiw, I tried to write anticipation that way first too 19:32:52 but it clearly wouldn't work 19:33:19 ~eval foldl (+) 0 [1..6] 19:33:20 21 19:33:38 oerjan: I import qualified Data.Foldable as F. 19:33:43 what signal is 13? 19:33:56 oh, SIGPIPE 19:34:02 that makes sense 19:35:12 boily: ok, although one problem with lambdabot is that it's hard to guess the module prefixes used 19:35:46 so i hope you have a logical system. 19:36:04 * boily whistles innocently, subtly tryin to avoid the problem. 19:36:20 right now, I have F, T, A, B and M as prefixes. 19:37:04 Data.Foldable, Data.Traversable, Control.Applicative, Data.Bits and Control.Monad? 19:37:16 no wait 19:37:18 Data.Map 19:37:27 two hits. 19:37:28 Control.Monad doesn't clash with anything 19:37:33 WAT 19:37:56 i may have switched Data and Control somewhere 19:37:57 T is Data.Text, A is Data.Attoparsec.Text, B is Data.ByteString.Lazy. 19:38:11 OKAY 19:38:58 eek 19:39:02 ook. 19:39:20 -!- Zerker_ has quit (Ping timeout: 255 seconds). 19:40:12 A and B seem icky 19:40:47 and? 19:40:55 I don't see any problem there. 19:40:56 :D 19:41:59 DAT and DBL would have been logical. 19:42:13 assuming the scheme were used throughout. 19:42:16 -!- Zerker has joined. 19:43:09 i guess you _are_ choosing the most informational single letter. 19:43:19 *informative 19:44:20 B for bytestring is normal (I think), and applicative usually doesn't need a qualified import 19:44:31 applicative has no qualifications. 19:45:55 maybe I should «import qualified Control.Applicative as ₳». 19:48:00 btw, we seem to have people editing over IPv6: http://esolangs.org/wiki/Special:Contributions/2001:980:B030:1:92E6:BAFF:FE12:44BB 19:48:03 always nice to see that 19:48:06 -!- epicmonkey has quit (Ping timeout: 272 seconds). 19:48:10 I,I import qualified Control.Lens as ^Lens 19:48:38 no you don't hth 19:49:02 what is I,I help 19:49:06 also what's this I,I thing i've been seein... right 19:49:16 Bike: it looks like an owl face to me hth 19:49:17 some sort of smiley, I think, hth 19:49:29 * boily stares at shachaf, but not angrily, cause he's not a bot. 19:49:37 (at least, I *think* he's not a bot.) 19:49:47 boily: let your bot stare angrily at him instead hth 19:49:49 * shachaf is almost certainly a bot. 19:49:57 shachaf: no you're not 19:50:01 ~echo /me ça marche tu? 19:50:01 /me ça marche tu? 19:50:04 meh. 19:50:04 But aren't we all bots on the inside? 19:50:39 ~echo ACTION ça marche tu? 19:50:40 * metasepia ça marche tu? 19:50:58 thørjan. 19:51:23 the inside idioms are coming so thick today i may need a machete 19:51:50 inside idioms? 19:52:39 olsner: strange phrases and behaviors common on #esoteric, like e.g. swedes don't understanding my phrases 19:52:43 *not 19:53:46 your phrases are not the only ones I'm having trouble understanding 19:54:30 ok iyss hth 19:55:28 @where me 19:55:29 sure, whatever you say 19:55:29 I know nothing about me. 19:55:31 Gregor: those are just nanobots waiting for their command to destroy us, that's not the same thing 19:55:37 @where+ me /me knows nothing about me. 19:55:38 I will never forget. 19:55:39 @where me 19:55:39 * lambdabot knows nothing about me. 19:55:41 ~echo ACTION SOH 19:55:41 ACTION SOH 19:55:53 stupid terminal that won't let me input \SOHs. 19:55:58 huh it works in lambdabot? 19:56:33 i hope it is a special case, although i feel a slight twitching to try @where+ quit /quit 19:57:02 wait *itching i think 19:57:11 what does that do? 19:57:15 @where+ quit /quit 19:57:15 It is stored. 19:57:25 *gasp* 19:58:02 boily: saves a piece of data. now if you were to try the obvious next step, which would be evil of course... 19:58:10 * oerjan is SO enabling today 19:58:18 to try what? that? 19:58:23 @where quit 19:58:23 /quit 19:58:26 whew 19:58:36 you fool! 19:58:51 uhm... second time a bot abuses me or my mother. 19:59:58 > '\1' 20:00:00 '\SOH' 20:00:24 hm i don't know about that client 20:01:01 in irssi i had to change a keybinding to allow inserting ^A 20:01:24 I'm in weechat, in screen, in urxvt. 20:01:44 boily: i saw the weechat part 20:01:55 and i've heard evil things about screen 20:02:21 both are evil. urxvt lets me be unicodely evil. 20:05:03 imo stick with sigma algebras <-- imo good policy 20:05:39 then you can measure things properly. 20:11:15 `addquote symbian still exists? boily: That is not dead which can eternal lie. fizzie: and with strange aeons symbian will have >50% market share on mobile devices. 20:11:19 996) symbian still exists? boily: That is not dead which can eternal lie. fizzie: and with strange aeons symbian will have >50% market share on mobile devices. 20:11:32 -!- ssue_ has joined. 20:13:48 -!- iamcal_ has joined. 20:20:44 oh wow, have you seen the patent that Red Hat just got invalidated when it was asserted against one of their customers? 20:21:12 no, cool 20:21:17 it basically comes down to "rounding floating-point numbers by using a floating-point coprocessor" 20:21:22 is there a clause in the support contract that obliges them to defend you 20:21:25 boily: I think symbian "exists" at most as much as canada does 20:21:32 ais523: who patented that? 20:21:35 ISTR this is one major reason for The Enterprise to pay for Linux 20:21:51 Bike: I don't know, but Uniloc seemed to own it 20:22:06 kmc: yeah, there is indeed a clause in Red Hat's support contract that they'll defend you from lawsuits 20:22:08 that's why they were there 20:22:28 normally the clause goes the other way, that you have to defend the distributor from lawsuits 20:22:44 but for red hat it's one of the main reasons to pay them rather than just using fedora or centos 20:22:58 so like, going after someone for using an x87 CPU? O_O 20:23:17 yeah that sounds like a troll 20:23:24 patents :( 20:23:49 Fiora: pretty much 20:24:15 the court threw the patent out right at the start of the case, btw 20:24:37 impressive 20:24:39 link? :o 20:24:47 http://www.groklaw.net/article.php?story=20130124104536791 20:25:12 also has links to all the legal documents, if you're interested in those 20:25:30 "converting a floating-point number memory register representation to a floating-point register representation;" for real 20:28:27 "However, according to the patent itself, the claims’ novelty and improvement over the standard is the rounding of the floating-point number before, rather than after, the arithmetic computation." 20:30:19 do we know like what exactly they were suing over, like a particular CPU? 20:30:52 it's probably in uniloc's motion 20:31:55 although, perhaps they didn't say 20:31:56 It says near the top that the Linux kernel infringed it (supposedly) 20:32:00 ah right 20:32:04 In the article, I mean, not the motion. 20:32:05 that's not surprising, really 20:32:21 I'm kind of wondering how the kernel can infringe that o_O 20:32:45 the main problem is whether the kernel does float calculations 20:32:47 if I'm reading this right the idea here is a CPU that rounds floating point numbers during loads, letting it simplify the pipeline stages and improve performance in hardware float computation 20:33:04 Fiora: no, the idea is to round a floating point number when you move it from memory into the floating-point registers 20:33:07 but if a piece of software can infringe that I guess I don't really get it... 20:33:15 um, I thought that's what I said... 20:33:26 you brought a CPU into the discussion 20:33:40 the patent doesn't care whether it's the CPU doing it automatically 20:33:44 or if you wrote code to do it by hand 20:33:46 the article mentioned it though... um... 20:33:57 As stated in the ‘697 Patent: 20:33:57 [...] 20:33:57 The benefit of rounding the operand instead of the result is that carry propagation is eliminated and no exponent adjustment is required. Additionally, due to the lack of result rounding, arithmetic 20:33:59 now, the x87 has a different bitwidth to a typical float or double 20:34:02 operations have a more efficient implementation. In particular, it becomes possible to have fewer pipeline stages or eliminate conditionally performed pipeline stages thereby shortening the total logic delay of the arithmetic operation. 20:34:05 hmm 20:34:11 that's the bit that confused me , sorry 20:34:15 maybe I'm wrong 20:34:25 although note that that bit of a patent, its only job is to be confusing 20:34:30 because it's not legally binding 20:34:45 it kind of feels like "maybe this was a legitimate invention for a piece of hardware, but now they're trying to twist it to go after linux"? I don't know >_< 20:35:13 "Uniloc's story mirrors an American theme seen over and over during the last few decades: a company that is discovering, growing and innovating technology ..." can't say i'm sympathetic to them from their site 20:35:32 -_- 20:35:55 http://en.wikipedia.org/wiki/Uniloc not sure it's the same one, though 20:36:02 "Look at many ideas. Pick an outstanding one. Patent it. Commercialize it. Reap the rewards." 20:37:27 Uniloc is more than a device recognition company, however. Without tipping our hand we are developing really interesting ideas in the local advertising and entertainment content licensing spaces. Plus, we’ve got a few ultra-secret concepts we’re not ready to disclose publically yet. 20:37:38 ais523: Linux includes an x87 emulator. 20:37:40 Gonna be honest here, I didn't know "device recognition" was a thing. 20:37:49 Admittedly not many systems *need* it, but still. 20:37:54 pikhq: aha 20:38:00 that would explain it 20:38:11 what's the odds that Rackspace were actually using it, though? 20:38:16 Near-zero. 20:38:27 But it wouldn't be too surprising that they just happened to be compiling it in. 20:38:39 It's on by default. 20:38:51 And it's the sort of thing you simply wouldn't go out of your way to disable. 20:39:15 Even though you're probably not running on a 486 or 386 sans FPU. 20:40:34 Second, Uniloc can cite no support for its claim that a lack of specificity somehow renders a claim less abstract. 20:40:49 Snort. 20:41:07 didn't linux actually like drop 386 support a bit ago? 20:41:32 Many distributions dropped that a while ago. 20:41:41 fizzie: Very recently, yes. 20:41:46 Erm, Fiora 20:41:51 The kernel did something, too, yes. 20:41:56 But, some 486 systems do not have an FPU. 20:42:00 does linux still support 486? 20:42:01 Meaning that that code is still relevant. 20:42:02 Yes. 20:42:15 And it's not quite as insane to support the 486 as the 386. 20:42:26 Does suing Red Hat about the kernel even make sense? 20:42:41 The 386 doesn't have the atomic primitives necessary for a sane threading implementation. 20:42:44 I think red hat has money 20:42:55 it's that thing where you can't actually sue linus or someone, so you sue people who use it and have money 20:43:08 Whereas the 486 does... 20:43:12 and 486 is still relevant? as some sort of embedded cpu thingy? 20:43:19 From a pure ISA standpoint it's not too hard to support. 20:43:26 olsner: Yeah, it's still around in embedded use. 20:43:32 The 386 isn't. 20:43:33 That's what I"m wondering about, like, can you sue Red Hat for something they just use. 20:44:01 Bike: Sadly, patent law is really screwy in the case of software. 20:44:17 It amounts to Red Hat being in violation because they compiled it. 20:44:23 I know. I just want to know a bit more about how scrrrrr oh. Oh. 20:44:35 Well... wow. 20:45:08 This sort of shit is why Microsoft regularly shakes down Android distributors for protection money. 20:45:18 Because of dubious patents on FAT. 20:46:03 pikhq: I thought Linux had a workaround for that patent ages ago 20:46:26 which left it unable to write long file names on FAT, but still capable of reading them, or something like that 20:47:07 ais523: They've got several FAT patents, and these don't end up going to court. 20:49:21 Besides which, Android devices are starting to have to support exFAT. 20:49:49 (because SDXC mandates it) 20:51:17 (which is honestly a fucking stupid decision on the part of Secure Digital, given that there's at least two filesystems entirely suitable for the purpose that don't have crazy license requirements) 20:51:26 (FAT32 and UDF, namely) 20:52:58 I guess they really really want Windows to support their new thingy 20:53:10 Windows already supports UDF. 20:53:52 Indeed, each version of Windows that supports exFAT supports UDF. 20:53:55 -!- Zerker has quit (Remote host closed the connection). 20:54:00 FAT32 has that 4 gigabyte file problem. 20:55:08 -!- AnotherTest has quit (Quit: Leaving.). 20:55:40 (and significantly more versions of Mac OS support UDF) 20:56:02 (namely, Mac OS 9 and up) 20:59:15 -!- epicmonkey has joined. 20:59:43 -!- Zerker has joined. 21:00:39 -!- ThatOtherPersonY has quit (Quit: Leaving). 21:02:16 pikhq: and presumably Linux supports everything? 21:05:02 I was under the impression that exFAT in Linux was kind of iffy, due to the aforementioned issues. 21:05:16 (And exFAT is clearly part of everything.) 21:05:31 right 21:06:14 btw, SCO are trying to reopen the case against IBM again 21:07:35 I do wonder what the next step for the SD family will be called; there's SD (SDSC?), SDHC and now SDXC. SDUC, for ultra capacity? 21:07:38 -!- boily has quit (Quit: Poulet!). 21:07:40 -!- metasepia has quit (Remote host closed the connection). 21:08:11 ID, because they realised nobody used the security features 21:10:04 fizzie: It's not upstream at all. 21:10:19 wait does LYAH just stop with zippers 21:10:26 But yes, Linux supports UDF, and has since Linux 2.2 21:10:50 Bike, the author of LYAH disappeared mysteriously or something 21:11:26 woah!! 21:13:37 oh no :/ 21:14:32 "Miran Lipovaca is a computer science student in Ljubljana, Slovenia. In addition to his passion for Haskell, he enjoys boxing, playing bass guitar, and, of course, drawing. He has a fascination with dancing skeletons and the number 71, and when he walks through automatic doors he pretends that he's actually opening them with his mind." 21:15:08 Seriously though, it just died in the middle of something? Not even a generalization of zippers? 21:16:16 I guess there is always Real World Haskell 21:16:54 you should just hang out in #haskell for 2 years and learn all the important shit nobody bothers writing down coherently and then get bitter and come here and complain about #haskell all the time 21:17:20 truly, haskell is ineffable 21:17:34 don't even try to eff it 21:17:46 LYAH ends with Maybe (Zipper a) 21:17:50 you cannot generalize zippers. tru fax. 21:18:00 how many languages actually need to be TC? 21:18:10 ais523: 1 21:18:14 like, how many typical programs wouldn't work properly in a sub-TC language? 21:18:22 interpreters typically need a TC language 21:18:24 but apart from that 21:18:32 well what has an interpreter 21:18:32 ais523: congratulations, you've reinvented total programming 21:18:44 oerjan: possibly 21:18:48 Is there any form of computation stronger than TC? 21:18:51 but in the context of Anarchy, which is a bit atypical as languages go 21:18:52 there's always the kmc device: pointing out that linux has a JIT for packet filtering or whatever it is 21:19:00 FreeFull: not ones you can "actually" "do" but yes 21:19:02 FreeFull: not that we can _use_ 21:19:11 FreeFull: "uncomputable"; the Church-Turing thesis is the theory that no uncomputable languages can be implemented in the universe that actually exists 21:19:21 and seems to be more of a religious than a mathematical belief 21:19:30 FreeFull: There are several such theoretical models, but to our knowledge they cannot be actually implemented. 21:19:39 FreeFull: there's an infinite hierarchy going turing machines, machines that have access to an oracle that determines whether turing machines can halt, etc etc 21:19:44 certainly, nobody has a working implementation of an uncomputable language; this was quite surprising when first discovered 21:19:46 ais523: there are some neat physics papers on it, though. 21:19:47 However, "to our knowledge" is the tricky bit. 21:19:48 ais523: Maybe it could be done in an universe that is uncomputable for our computers 21:20:04 Bike: and it's not the only interesting hierarchy 21:20:07 * FireFly is reminded of banana scheme 21:20:13 'course not 21:20:21 * FreeFull gives FireFly a banana 21:20:44 you should just hang out [...] <-- you missed "and write the book yourself" hth 21:21:02 and disappear halfway through? 21:21:09 btw this means I can now think of two different slovenians 21:21:10 just write a monad tutorial, we don't have enough of those yet 21:21:20 btw, what are there more of: monad tutorials, or BF derivatives? 21:21:54 to demonstrate this weird "monad" things, let's define a simple programming language 21:22:10 Bike: I've seriously considered writing a blog post about monad transformers in BF 21:22:20 mostly for the purpose of trolling reddit 21:22:54 the Tape monad 21:23:10 istr Tape is a comonad, not a monad hth 21:24:22 Write a comonad tutorial 21:24:33 ais523: Do it 21:24:40 i'm too lazy, but _maybe_ i could help cowriting it 21:24:54 it'd probably be really mathematically inaccurate 21:25:11 I was thinking about things like "double all the < and > so you can interleave two tapes" 21:33:43 Does HTH mean "Happy to Haskell"? 21:34:07 much the same as "lol" means "lots of love" 21:34:38 ^style sms 21:34:39 Selected style: sms (National University of Singapore SMS corpus, 2011-08-20) 21:34:40 fungot: lol 21:34:41 fizzie: nw i has cum mre frm urself thn frm othrs hav done 21:34:54 fungot: That sounds vaguely dirty. 21:34:54 fizzie: want to eat chicken. note. sorry. anyway i can help let me just to talk to you about some cals. take a gd rest. nite nite. 21:35:14 fungot: I don't think bots can eat chicken. 21:35:15 fizzie: later. will come outside the lab? i hav to weigh me down! and insing de all not much review i am having a baddiarrhea... please update me on the street 21:35:48 well now we know what happens when bots eat chicken. 21:36:09 I'm afraid to go to my "server room" (it's not really that) now. 21:37:25 hm an ugly lag here, i hope i'm not getting disconnected 21:37:48 oerjan: you responded to a ping in 0 seconds 21:38:16 ais523: the lag is between my laptop and my irc client 21:38:23 right 21:38:54 MILF -- May I Leave Flowers? 21:49:01 i'll add a timeout 21:49:13 everytime the timeout expires you break out of the loop 21:49:19 even if you're in the middle of it 21:49:37 @tell elliott Should we move Everett to the joke language list? As far as I can tell, the main idea is that although it allows you to express any program very concisely, you have to be very lucky for it to actually work 21:49:38 Consider it noted. 21:49:46 that thinking is _so_ out of the loop, man 21:49:53 actually, I can put that on the talk page 21:54:27 incidentally, what does it say about me that my reaction to the ISP's DNS apparently being dodgy is to, when I find a site I want to visit that's broken because of the DNS, looking up its address in a different server then adding it to my hosts file? 21:54:51 -!- tswett_ has changed nick to tswett. 21:55:16 can't you just use an alternative DNS 21:56:12 yeah but I don't want to 21:56:38 wouldn't it be easier 21:56:40 I wouldn't mention the fact that I was potentially doing something abnormal to the channel if there wasn't an obvious better way 21:57:41 it's so easy to use google dns 21:58:15 kmc: do you think it might be a monoid? 21:58:22 Sometimes I wonder if I should do that DNSSEC thing. It doesn't really seem to be taking off very well. 22:00:51 There was a thing where qmail servers were unable to send mail to domains with DNSSEC enabled, because it couldn't cope with its "domain IN ANY" query returning a response that was larger than 512 bytes, which could easily happen with DNSSEC on due to all the keys. 22:01:04 djb hates dnssec 22:01:40 kmc: yeah but I distrust Google several orders of magnitude more than average 22:01:43 qmail is also sort of dead. 22:01:54 allowing them to see every site I visit would be ridiculous 22:02:28 -!- Zerker has quit (Quit: Colloquy for iPad - Timeout (10 minutes)). 22:04:11 this is yet not a complete overview. Modules are likely to be part of C++17/22. 22:04:27 (iki.fi, a Finnish email forwarding serv^W...thing, toggled DNSSEC on at some point last year, and hit some of those qmail problems; or so they said in their recent yearly meeting.) 22:05:33 I've seen iki.fi used on occasoin 22:05:45 what exactly does it do? or is that too complex to explain easily? 22:05:50 is getting the system time a costly operation? 22:06:28 C++17/22? and here I was hoping they'd kill that thing off some time soon, not make more standards 22:06:48 GOMADWarrior: not massively; it involves a context switch on most kernels, and those aren't particularly cheap 22:07:07 GOMADWarrior: it's about the same cost as, say, an unbuffered read/write to a file 22:07:24 alternatively, there's a very cheap but nonportable method involving the CPU timestamp counters 22:07:25 ais523: It is an email forwarding service, except apparently they can't call it service because a tax-exempt nonprofit can't provide "services". 22:07:35 fizzie: hmm, right 22:07:47 it does email forwarding in a non-servicey way? 22:08:16 ais523: Technically you pay a yearly membership fee, but the membership fee has been 0 during it's... 17 or so years of history. 22:08:27 hmm 22:08:32 do they actually send invoices? 22:08:40 also, does a fee make them more of a service, or less of one? 22:08:40 No. It'd be a hassle. 22:09:02 don't games send the dt to the physics update function? 22:09:30 I'm not sure the fee matters w.r.t. that. But perhaps more. 22:09:44 There's a bit over 20k members. 22:10:21 Of which 93% have working email addresses, as measured by the number of bounces for the meeting invitation, or something like that. 22:10:50 And there's a fee of 30 EUR when joining, which is what keeps the organization going; though the rate of getting new members has been slowing down the last couple of years. Which is quite understandable. 22:12:10 They do have some 440 kEUR of money collected and invested, though, which should be enough to keep things going for the next 15-20 years. And they're still getting enough new members to cover the bandwidth bills, though only just. 22:13:28 Also, technically the organization is supposed to in general promote Internet-related things; the name (Internet-käyttäjät ikuisesti, "Internet Users Forever") alludes to that. But the email thing is their most visible activity. 22:14:24 (There's also a HTTP redirection service thing, and a DNS .iki.fi subdomain thing; and they've been participating in relevant public discussion and projects and whatnot.) 22:16:50 There is an amusing resemblance between the IKI funding model and a pyramid scheme, though. 22:17:50 http://www.iki.fi/iki/statistics.html <- membership plot thing. 22:20:18 Their "reasons to join" list is delightfully antiquated; one of the listed reasons is "your email is in a X.400 system, with a long, dreary and hard-to-remember address". 22:21:24 Wonder how many people there are who still use an X.400 address, and communicate with "Internet people" through a SMTP gateway. 22:23:43 zzo might have an X.400 address 22:24:02 I had one into some BBS system, but I've completely forgotten what it was. 22:27:03 > 2 == -(-2) 22:27:05 True 22:27:38 > (0$0-) 22:27:40 The operator `GHC.Num.-' [infixl 6] of a section 22:27:41 must have lower prece... 22:27:53 Also, I think X.400 was involved in the mail system at the insurance company where my mother worked at, 15-20 years ago. There were nasty email addresses, and some gateway-added messiness in emails. 22:29:50 http://www.alvestrand.no/x400/debate/addressing.html has a nice table of x.400 attributes 22:30:12 "those with PD- in front of them are used with X.400 networks that support delivery of mail by printing it onto paper and sending it to the postal service" 22:30:45 GOMADWarrior: not massively; it involves a context switch on most kernels, and those aren't particularly cheap <-- not on modern linux 22:30:57 Vorpal: hmm, interesting 22:31:06 or do you mean the cheapness, rather than the context switch? 22:32:16 > (-0^) 22:32:18 The operator `GHC.Real.^' [infixr 8] of a section 22:32:19 must have lower prec... 22:32:25 ais523, I mean clock_gettime or gettimeofday does not involve a context switch 22:32:49 Vorpal: do they read the timestamp directly from the CPU, then? 22:33:18 ais523: There is (was?) a gettimeofday optimilization so that it can read it from the vDSO page. 22:33:30 ah right 22:33:49 ais523, vdso magic, it goes to the vdso, and reads a shared page (shared with the kernel that is), containing the timestamp. It does some checks to make sure it read a consistent s+ns combo (not atomic, iirc it checks an update-counter before and after and retries if that changed) 22:33:52 then it returns 22:33:55 no context switch 22:34:08 so what's responsible for updating it? the MMU, upon detecing a read? 22:34:11 or the kernel every tick? 22:34:12 or what? 22:34:21 timer interrupt iir 22:34:23 iirc* 22:34:36 I don't remember exactly 22:34:56 i think the kernel updates its periodically, and the user code uses RDTSC to get a delta from the last update 22:35:00 ais523, anyway I'm pretty sure I mentioned this to you earlier, wrt Web of lies 22:35:08 yes 22:35:21 this seems like a lot of trouble to go to for optimising reading the common time 22:35:23 ais523, also I don't think this is used on 32-bit x86, only 64-bit x86, though I'm not sure 22:35:24 *current time 22:35:29 which can't be a very common operation 22:35:38 if you had the MMU fault on every access to that page then it would not really be more efficient than a syscall 22:35:44 ais523: a lot of code calls gettimeofday() very often 22:35:54 kmc: that sounds kind-of broken 22:36:00 kmc, really? 22:36:09 well if you're benchmarking stuff, for one.... 22:36:09 although, you reminded me of stracing some SDL code 22:36:14 you'd rather have a low overhead to benchmarking 22:36:33 apparently it runs 1ms delays in a loop, and requests the current time each time round so it doesn't drift 22:36:34 Mosh calls gettimeofday() often because it's recording the times of events, and scheduling events to occur at times in the future 22:36:54 rather than delaying until the next time it actually has to do something, which would be the sensible option 22:37:11 you can argue that this is 'broken' and Mosh should do more work to cache timestamps and fiddle with them 22:37:18 and I think it does now, because of other platforms 22:37:40 but the counter-argument is that the OS exists to provide useful abstractions to userspace and if cheap gettimeofday() is useful then it should provide it 22:37:49 indeed 22:37:53 rather than every app reimplementing that gettimeofday() + RDTSC offset logic locally 22:37:56 probably poorly 22:38:20 one reason this routine is provided by the kernel is that the exact steps you want to take depend on what timer hardware is available 22:38:42 also there is no guarantee that RDTSC is usable, unless your CPU has constant_tsc in /proc/cpuinfo flags 22:38:58 There's the automagic clocksource selection for that. 22:38:58 my old early 64-bit Sempron didn't for example 22:39:07 yep 22:39:14 geez, really? I thought that was standard... 22:39:16 otherwise you need more help from the kernel to use it 22:39:30 Internet suggests that the vDSO approach is only enabled if /sys/devices/system/clocksource/clocksource0/current_clocksource is hpet or tsc, and further that if it's hpet, it doesn't really buy anything since getting time from hpet is slow enough. 22:39:49 the kernel is aware of the events that can cause TSC jumps -- CPU clock speed changes, and rescheduling between cores 22:39:59 I don't think this does constant_tsc either, IIRC it's kind of a new thing really. 22:40:00 the intel manual says it was added in the pentium 1.... but yeah, like. geez, it's probably best to benchmark gettimeofday or something before deciding it's too slow... 22:40:07 Fiora: TSC != constant TSC. 22:40:14 what's constant TSC? 22:40:22 The one that doesn't jump around all the time. 22:40:26 ohhhhhhh. 22:40:27 Due to frequency scaling and whatnot. 22:40:37 (Also, there's something about TSC and multiple cores.) 22:40:37 then there's also the question of whether it's syncronized between cores 22:40:48 yeah, that's an issue with rdtsc, I think in like all the recent intel chips it goes at the speed of the base clock, not the current clock 22:40:49 you know, the flags list on a modern x86 CPU is kind of insane 22:40:52 again, this is why you need the kernel's help if you want to extract a monotonic clock from the TSC 22:40:53 flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm ida arat epb xsaveopt pln p 22:40:53 ts dtherm tpr_shadow vnmi flexpriority ept vpid 22:41:03 and that is Sandy Bridge 22:41:06 so not even the latest 22:41:40 flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm 22:41:46 pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid 22:41:50 >:3 22:41:57 Fiora, Ivy Bridge? 22:42:01 haswell~ 22:42:08 secret unreleased processor :P 22:42:20 which one is haswell? the one after? 22:42:20 Fiora: it has SMEP but does it have SMAP? 22:42:24 SMAP? 22:42:49 * Fiora looks it up. "Supervisor Mode Access Prevention?" 22:42:55 prevents the kernel from accessing userspace data when it meant to access kernel data 22:43:06 ohhhhhh 22:43:09 Fiora, hey, wikipedia says Haswell is "under development". Seriously, what are you using :P 22:43:18 you know, that thing that we had with segmentation 20 years ago 22:43:36 I wonder if that might be a Broadwell instruction? 22:43:43 kmc, what is SMEP? 22:43:45 along with RDSEED and ADOX or whatever weird things 22:44:07 Vorpal: same but prevents it from executing userspace code 22:44:11 flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida ... 22:44:15 kmc, ah 22:44:17 ... arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms well, it doesn't lose a *whole lot*. (But it was the workstation at work.) 22:44:29 fizzie: ohhh. I wonder if my kernel is actually too old to detect it? 22:44:40 fizzie, that is a ...? 22:44:58 huh. it's 3.8.3... 22:45:06 Vorpal: Ivy Bridge Xeon, I think. I don't know how the numbers go. It does have a "3" in it. 22:45:07 I wonder why there's no smap then. 22:45:10 ah 22:45:18 maybe it's like a market segmentation thing where only the server chips have smap ? 22:45:19 Also a "V2" in it, I think that was also relevant. 22:45:23 "Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz" 22:45:42 Linux tux 3.2.0-4-amd64 #1 SMP Debian 3.2.39-2 x86_64 GNU/Linux <-- I clearly stopped caring about being on the latest kernel all the time 22:45:51 I have better stuff to do than compile kernels... 22:46:03 Vorpal: hee hee. it is a haswell :3 22:46:07 At home my flags are fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy which is really very short, compared to all that. 22:46:09 * Fiora is serious! 22:46:10 Fiora, how? 22:46:21 engineering samples~ 22:46:25 @slap Fiora 22:46:25 * lambdabot pulls Fiora through the Evil Mangler 22:46:28 eeeep 22:46:31 Fiora, oooh, who do you work for? Heh. 22:46:41 That's for having a Haswell! 22:46:45 nyahahaha~ 22:46:52 awhg. you want one? 22:46:52 Has well, will travel. 22:47:09 Fiora, you work for intel or a motherboard manufacturer? 22:47:12 * Fiora would looove one for her own computer but 22:47:25 or why would you have an engineering sample? 22:47:28 all I have is ssh access without root to a test box that is somewhere 22:47:39 ouch 22:47:39 ummm I'm using it mostly to write avx2 code 22:48:00 intel/amd send out engineering samples to a bunch of companies in the months before release for various things I think 22:48:15 I'd guess board manufacturers and stuff get them first, then people doing software work and stuff? 22:48:21 Fiora, Now I'm really curious. Who would be writing AVX2 code at this stage. Compiler writers? 22:48:26 I really have no involvement in any of it, so >_< 22:48:33 imo you should answer Vorpal's question 22:49:07 "it87: Beeping is supported", says my boot-time dmesg. (it87 is one of those sensors chipsets.) 22:49:18 fizzie, heh? 22:49:27 I haven't heard it beep, though. 22:49:31 gosh, it's too much fun not answering the question though! 22:49:31 But apparently beeping is supported. 22:49:32 fizzie, I don't think I even have a PC speaker on this thing btw 22:49:38 beep boop 22:49:48 It might beep over something else, for all I know. 22:50:06 I'm trying to find the usual TSC-related message I always get at boot. 22:50:35 hm my boot is outside the circular buffer of dmesg 22:50:36 Hm, I think the wording has changed. 22:50:46 "Marking TSC unstable due to TSCs unsynchronized", is what it says. 22:50:54 $ cat /var/log/dmesg 22:50:55 cat: /var/log/dmesg: Permission denied 22:50:56 really? 22:50:58 why? 22:51:12 (And I don't have tsc in the available_clocksource list.) 22:51:18 kmc: are you one of Today's Fad-Crazed Teens 22:51:31 [ 0.000000] Initializing cgroup subsys cpuset 22:51:31 [ 0.000000] Initializing cgroup subsys cpu 22:51:31 [ 0.000000] Linux version 3.2.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-15) ) #1 SMP Debian 3.2.39-2 22:51:32 hm 22:51:39 cgroup are *REALLY* early 22:51:46 http://o.onionstatic.com/images/21/21198/original/700.hq.jpg 22:52:18 There's quite a bit of 0.000000's. 22:52:28 shachaf: yup 22:52:40 fizzie, also it is always fun to run dmidecode on a home built computer. Usually a lot of "none" or "1234" or "to be filled by OEM" 22:52:40 I,I [ 0.000000] Initializing clock 22:53:41 shachaf, that would be about the last 0.000000 line? 22:53:51 Vorpal: Yep. 22:53:56 I don't think this has all that much. But it has some amount of empty fields. 22:54:01 [ 0.000000] hpet clockevent registered 22:54:01 [ 0.000000] Fast TSC calibration using PIT 22:54:01 [ 0.004000] Detected 3310.564 MHz processor. 22:54:01 [ 0.000001] Calibrating delay loop (skipped), value calculated using timer frequency.. 6621.12 BogoMIPS (lpj=13242256) 22:54:01 [ 0.000004] pid_max: default: 32768 minimum: 301 22:54:05 well THAT is interesting 22:54:16 what the hell happened with that timestamp 22:54:35 "Version: x.x" "Serial Number: Tue Jan 01 00:01:46 2008." 22:54:42 That looks more like a date than a serial number to me. 22:54:48 so is all that actually happening within 1µs? 22:54:56 or has the timer simply not started running? 22:55:11 Linux Kernel has come unstuck in time. 22:55:24 ais523, the time jumped *back*... 22:55:33 that is what confuses me 22:55:38 Vorpal: yeah, I was talkign about earlier 22:55:42 ah 22:56:00 ais523, but yeah, until the timer is started all timestamps will be 0 22:56:07 can't say how long that took 22:56:15 probably a few seconds at most 22:56:35 right 22:56:38 are the dmesg timestamps in seconds since boot? 22:56:44 olsner, yes 22:56:58 Asset Tag: Asset-1234567890 22:57:07 Location In Chassis: To be filled by O.E.M. 22:57:27 fizzie, that is the location of the motherboard in the chassis, not sure why that info would be there 22:57:34 "Yama: becoming mindful." (more dmesg). 22:57:35 (It's that PTRACE limitation thing and such.) 22:57:59 fizzie, it is the massive board taking up most of the side of the chassis, why would there be a tag for the location 22:58:03 https://bugs.freedesktop.org/show_bug.cgi?id=58770 seeeeee haswells exist and wow she got one months before I did too 22:58:17 I have just "Asset Tag:" with an empty field there. 22:59:08 fizzie, I have so many entries for SATA ports heh 22:59:14 (this board has a LOT of them) 22:59:51 There's one entry for each USB port here, too. All terribly useful. 22:59:57 * Fiora actually found that bug report by googling the microcode number of the CPU (I have no idea what this is but it looked unique) 22:59:58 Handle 0x002B, DMI type 11, 5 bytes 22:59:58 OEM Strings 22:59:58 String 1: To Be Filled By O.E.M. 22:59:58 String 2: To Be Filled By O.E.M. 22:59:59 String 3: To Be Filled By O.E.M. 23:00:00 String 4: To Be Filled By O.E.M. 23:00:01 heh 23:00:17 fizzie, that too yes 23:00:18 "Internal Reference Designator: USB" "Internal Connector Type: None" "External Reference Designator:" "External Connector Type: Access Bus (USB)" "Port Type: USB" 23:00:23 They all say exactly the same thing. 23:00:44 fizzie, all the fan power connectors are there too 23:00:54 Handle 0x001A, DMI type 8, 9 bytes 23:00:54 Port Connector Information 23:00:54 Internal Reference Designator: USB3_34 23:00:54 Internal Connector Type: Access Bus (USB) 23:00:55 External Reference Designator: Not Specified 23:00:56 External Connector Type: None 23:00:58 Port Type: USB 23:01:01 fizzie, hey my USB are different! 23:01:16 apparently my dmesg buffer spans 41 days 23:01:28 all the PCI Express slots are there 23:01:32 Vorpal: You've got actual names for them, I see. 23:01:32 olsner, heh 23:02:02 Vorpal: Looked at laptop's dmidecode, there they've decided to write "Not Applicable" to just about everything. 23:02:03 fizzie, yeah, I don't have 34 USB ports though, there is a jump from USB_12 to USB_34 for example 23:02:06 more jumps like that 23:02:10 and I reached 2^8 days uptime today 23:02:20 Handle 0x002F, DMI type 26, 22 bytes 23:02:20 Voltage Probe 23:02:20 Description: LM78A 23:02:20 Location: 23:02:21 Status: 23:02:21 Vorpal: Base Board Information: "Version: Not Applicable" "Serial Number: Not Applicable" "Asset Tag: Not Applicable" "Location In Chassis: Not Applicable" 23:02:22 nice! 23:03:02 I would assume there's a (theoretical, at least) connector for USB ports 1 and 2 (USB_12) and for ports 3 and 4 (USB_34). 23:03:02 also accuracy, tolerance and resolution are unknown for that probe 23:03:31 fizzie, actually that is USB3_34, not USB_34 23:03:48 fizzie, USB7_8 USB9_10 USB11_12 USB3_34 23:03:48 Chassis: "Version: Not Applicable" "Serial Number: Not Applicable" "Asset Tag: Not Applicable" "Height: Unspecified" "Number Of Power Cords: 1" 23:03:51 are the ones I have 23:03:54 terribly logical 23:04:03 Good that they've bothered to specify the number of power cords, at least. 23:04:20 Cooling Device 23:04:20 Temperature Probe Handle: 0x0032 23:04:20 Type: 23:04:20 Status: 23:04:26 Electrical Current Probe 23:04:26 Description: ABC 23:04:26 Location: 23:04:27 Status: 23:04:29 ABC? 23:04:35 DMI information is such a mess. 23:04:46 my PSU's type is OUT OF SPEC too 23:05:01 Yeah, and this says "Voltage: 0.0 V" for my CPU 1. 23:05:06 well I assume "System Power Supply" is PSU 23:05:11 I guess it runs on something else than electricity. 23:05:32 itt: dmidecode 23:05:41 kmc, what does itt mean? 23:05:51 What do you guys think about Idris? 23:05:53 In This Thread, I've always assumed. 23:05:56 Hey, the Processor Information does have your-style "Serial Number: To Be Filled By O.E.M." "Asset Tag: To Be Filled By O.E.M." "Part Number: To Be Filled By O.E.M.". 23:05:58 FreeFull, what is that 23:06:26 In This Thread 23:06:27 fizzie, there is tons more "To Be Filled By O.E.M." all over the place 23:06:58 -!- Taneb has quit (Quit: Leaving). 23:07:00 dmidecode? 23:07:11 * FireFly has a ton of those as well. You'd think they'd bother to fill it out for pre-built machines at least 23:07:13 fizzie, seems my BIOS support multiple languages: 23:07:16 BIOS Language Information 23:07:16 Language Description Format: Abbreviated 23:07:16 Installable Languages: 6 23:07:16 en- 23:07:16 fr- 23:07:17 de- 23:07:18 ja- 23:07:20 zh- 23:07:22 chs 23:07:26 Currently Installed Language: en- 23:07:38 which is strange, since I don't HAVE a BIOS 23:07:43 I'm glad your bios doesn't support more languages anyway 23:07:47 Vorpal: A dependent typing programming language with syntax somewhat similar to Haskell 23:07:49 I have an UEFI 23:07:59 bah, uefi is just another name for bios 23:08:01 olsner, spammy isn't it XD 23:08:12 uefi doesn't do a lot of things a bios does 23:08:15 $ sudo dmidecode | wc -l 23:08:16 1130 23:08:25 olsner, I should /msg you the entire thing ;P 23:08:38 I only have 739 lines of dmidecode crud 23:09:02 I don't have dmidecode 23:09:03 http://sprunge.us/jUAd <- best battery info ever. 23:09:22 I suppose I can't say that e.g. "Manufacturer: Battery Manufacturer" would be untrue. 23:09:23 to be fair, that is an UEFI running in BIOS emulation mode, because I couldn't be bothered setting up GUID partition tables anyway (I use mdraid and LVM2 anyway) 23:09:45 (I'm pretty sure the "Chemistry" field is completely bonkers, though.) 23:09:49 fizzie, nice 0x12345678 23:10:08 my system version is "System Version" with serial number "System Serial Number" 23:10:15 fizzie, presumably chemistry = 0 = NiCd or something 23:10:27 I'm a bit surprised they didn't write "Design Capacity: Design Capacity" too. (But maybe that only accepts numbers.) 23:10:36 olsner, yep:Serial Number: System Serial Number 23:10:41 "OEM-specific Information: 0x12345678" well, that's helpful.. 23:10:51 olsner, same as you for the version too 23:11:13 it is only x86 that has DMI right?= 23:11:32 The laptop is also full of "Nominal Speed: Unknown Or Non-rotating" cooling devices. 23:11:34 $ sudo dmidecode | wc -l 23:11:35 638 23:11:36 that is my laptop 23:11:58 that one has sensible values from what I can see 23:12:03 System Information 23:12:03 Manufacturer: LENOVO 23:12:03 Product Name: 271434G 23:12:03 Version: ThinkPad R500 23:12:05 -!- epicmonkey has quit (Ping timeout: 248 seconds). 23:12:16 573 on the desktop, 853 on the laptop. But of course the laptop's a lot newer; I would assume these things tend to increase as a function of time, generally. 23:12:33 Handle 0x0015, DMI type 8, 9 bytes 23:12:33 Port Connector Information 23:12:33 Internal Reference Designator: Not Available 23:12:33 Internal Connector Type: None 23:12:33 External Reference Designator: USB 2 23:12:34 External Connector Type: Access Bus (USB) 23:12:35 Port Type: USB 23:12:41 USB 1, USB 2, USB 3 23:12:45 yep, completely sane 23:13:09 -!- Madoka-Kaname has joined. 23:13:09 -!- Madoka-Kaname has quit (Changing host). 23:13:10 -!- Madoka-Kaname has joined. 23:13:12 Surely it must have *some* to-be-filled fields? 23:13:31 FireFly, it has one OUT OF SPEC field, the "Memory Device" type field 23:13:51 Hey, there's a second battery in my laptop too. 23:14:02 fizzie, here is my battery: http://sprunge.us/OSGP 23:14:24 fizzie, a lot of OEM-specific type with just a hex dump though 23:14:29 err FireFly ^ 23:14:39 there are NO dummy values on my laptop 23:14:47 http://sprunge.us/BSBb -- both are located at "Location of the battery", but at least the other one is called "BATT 1" instead of "Battery Name", and also has known design numbers. 23:15:19 Though I don't think the numbers are correct. 23:15:32 now, which battery is in the location of which battery? 23:15:33 Unless it's some sort of a backup battery somewhere. 23:16:05 Handle 0x0028, DMI type 11, 5 bytes 23:16:05 OEM Strings 23:16:05 String 1: IBM ThinkPad Embedded Controller -[7VHT16WW-1.06 ]- 23:16:12 what do you mean "5 bytes" 23:16:21 that string looks much longer 23:16:22 I guess they could've put the cmos battery in the dmi data? I wonder why though 23:16:24 Good compression. 23:16:45 guess: the entry has a pointer to a string table 23:16:53 olsner, probably 23:17:03 Modem ring resume is supported 23:17:06 OKAY 23:17:16 well it actually *does* have a built in modem 23:17:21 so I suppose that is possible 23:17:37 427 lines of dmidecode cruft on the Atom box; a "personal best" so far. 23:17:39 Zoom Video is supported <-- what? 23:17:49 739 lines here 23:18:06 kmc: oh, same as me 23:18:11 fizzie, I assume it would be length 0 on my Raspberry Pi 23:19:13 Zoom Video (or something with a really similar name) had something to do with video-out-via-PCMCIA-slot. 23:19:18 Well, PC Card, I guess. 23:19:26 -!- c00kiemon5ter has left. 23:19:27 oh, well it does have a PCMCIA slot 23:19:38 well, one PC Card and one Express Card 23:20:01 -!- TeruFSX has joined. 23:20:42 back to my desktop: 23:20:44 5.25"/1.2 MB floppy services are supported (int 13h) 23:20:44 3.5"/720 kB floppy services are supported (int 13h) 23:20:44 3.5"/2.88 MB floppy services are supported (int 13h) 23:20:47 right 23:21:13 Printer services are supported (int 17h) <-- that would be parport? 23:21:23 I don't have a parallel port 23:21:57 iki.fi should watch out for those printer services 23:22:08 8042 keyboard services are supported (int 9h) 23:22:15 is that a PS/2 keyboard? 23:22:21 I do have a PS/2 connector 23:22:24 yes, or the controller for it 23:22:42 No (or not much, at least) nonsense entries on the Fujitsu-Siemens Lifebook, either. OTOH, it's a "real" laptop. 23:22:45 fungot: I'm talking about your machine, by the way. 23:22:46 fizzie: break for dinner. haven say wat u nd leh!! mug mug. now we can get an early spring is coming early yay hahaha btw today i cmi for run...paiseh.... 23:22:58 ^style 23:22:58 Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack pa qwantz sms* speeches ss wp youtube 23:23:00 Don't know what "mug mug" means. 23:23:06 ^style enron 23:23:06 Selected style: enron (subset of the Enron email dataset) 23:23:13 -!- nooodl has quit (Ping timeout: 240 seconds). 23:23:42 Port Connector Information 23:23:44 Internal Reference Designator: GbE LAN 23:23:44 Internal Connector Type: None 23:23:44 External Reference Designator: GbE LAN 23:23:44 External Connector Type: RJ-45 23:23:44 Port Type: Network Port 23:23:50 I don't think that is technically correc 23:23:52 correct* 23:24:12 Doesn't it have a RJ-45 hole in it? 23:24:13 I'm pretty sure ethernet is not "proper" RJ-45, though it is the same connector 23:24:51 It's a reasonable name, though. 23:24:53 fizzie, I thought RJ-45 required a specific wiring scheme (wrt which colors go to which pins), which was not used for ethernet 23:25:01 Nobody knows what you mean if you say "8P8C" or something. 23:25:16 fizzie, well I know 23:25:20 and you know too 23:25:29 fizzie, my laptop makes the same mistake though 23:25:32 mug mug sounds like it should mean something 23:25:43 fizzie: I do. :-P 23:25:48 Handle 0x0012, DMI type 8, 9 bytes 23:25:48 Port Connector Information 23:25:48 Internal Reference Designator: Not Available 23:25:48 Internal Connector Type: None 23:25:48 External Reference Designator: Modem 23:25:49 External Connector Type: RJ-11 23:25:51 Port Type: Modem Port 23:25:52 err 23:25:54 wrong one 23:25:58 Handle 0x0013, DMI type 8, 9 bytes 23:26:00 Port Connector Information 23:26:02 Internal Reference Designator: Not Available 23:26:04 Internal Connector Type: None 23:26:06 External Reference Designator: Ethernet 23:26:08 External Connector Type: RJ-45 23:26:10 Port Type: Network Port 23:26:12 I guess the RJ-11 one IS correct though 23:26:24 `slist 23:26:26 slist: Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 23:28:11 Print screen service is supported (int 5h) 23:28:14 what is that? 23:28:37 oh, actual print screen 23:29:23 fizzie, btw, my chassis is empty: Contained Elements: 0 23:29:50 also, how do you configure those DMI strings heh 23:30:25 I made a commit today! 23:30:37 To quote man dmidecode: "BUGS: More often than not, information contained in the DMI tables is inaccurate, incomplete or simply wrong." 23:30:48 true 23:30:48 Sgeo: welcome to the world of version control! 23:31:08 Also, fuck Eclipse 23:32:01 Sgeo, hg? git? darcs? 23:32:14 * ais523 guesses TFS 23:32:25 SVN 23:32:25 TFS? 23:32:25 SCCS! 23:32:26 oh 23:32:33 Sgeo, I feel sorry for you 23:32:33 Oh, no SCCS. 23:32:41 What's so terrible about SVN? 23:32:42 svn isn't /bad/ 23:32:42 ais523, at least that isn't VSS 23:32:44 it's just outclassed 23:32:49 RCS over a shared smb filesystem? 23:32:49 and yeah, VSS is a disaster 23:32:58 olsner: sounds about as reliable as VSS 23:33:15 ais523, also Vault, a VSS compatible software, but slightly less buggy 23:33:16 fizzie: No DMI table can be both consistent and complete. 23:33:18 still terrible 23:33:18 is rcs at all safe against multiple users? 23:33:35 In version control news, we're putting (most of) our recognizer thing into github in the next few months. 23:33:42 olsner: yeah, it just refuses to commit if someone else is using it at the time 23:33:46 ais523, it was used many years ago at the place I work (hg nowdays), but I recently had to get some old code from it. 23:33:56 as in, you explicitly have to cede control of the file and let someone else work on it 23:34:11 so it's safe via lack of functionality 23:35:27 indeed, if it doesn't work in the first place, it can't break 23:35:41 I know one former VSS shop, but I forget what they migrated to. Perhaps Perforce? 23:35:48 olsner: it also detects that it's in a situation it doesn't work 23:35:50 fizzie: that seems reasonable 23:35:59 ais523, why is that reasonable? 23:36:10 from what I've heard, perforce is the only paid-for non-d vcs that actually has advantages in some situations 23:36:18 I know nothing about Perforce... Wait isn't that a build system? Perforce Jam or something? 23:36:27 ais523: It's got some kind of git client support these days. 23:36:40 ais523, what advantages would that be? 23:36:44 Vorpal: perforce is a CVCS with support for very large files, most notably 23:36:54 http://www.perforce.com/product/components/git-fusion 23:37:11 ais523, I can put a massive file in hg. It isn't going to be a good idea, but I can. 23:37:15 "Perforce Git Fusion removes the bottlenecks that come from using Git while also making Git more productive. Git Fusion is a seamless addition to the Perforce distributed version management environment. That means Git developers can continue to use their preferred tools unchanged. Release managers can assemble their projects using tried-and-true engineering processes. And administrators have ... 23:37:16 so what is your point 23:37:21 ... enterprise-class IP security, availability and visibility across all projects and teams." 23:38:04 ais523, or rather, it isn't going to be a good idea if it is also a binary file 23:38:06 Presumably what that means is that they've heard developers like Git, but they'd still want to sell stuff, so they've hobbled together a thing that lets you clone a Perforce repo with git, and push stuff to it. 23:38:11 a massive text file wouldn't be an issue 23:38:41 fizzie, well, it also gives "enterprise class IP security" 23:38:45 Vorpal: we're talking about things like the entire assets for an AAA 3D computer game 23:38:46 SOMEHOW 23:38:52 the idea being that you can still control versions 23:38:53 Or possibly make parts of a Perforce megathing into a set of configured Git repositories. 23:38:56 even though it isn't text 23:38:56 ais523, right, so binary files then 23:38:57 But anyhow. 23:39:10 Binary files in git? 23:39:12 ais523, but what about merging 23:39:17 Isn't that well known to be a horrible idea 23:39:18 -!- Madoka-Kaname has changed nick to Lymia. 23:39:24 so by bolting on perforce you can avoid "making your Git developers use bolted-on tools"? 23:39:35 Lymia, yes, we were talking about Perforce, not git 23:39:58 TWIST: ALL FILES ARE BINARY FILES 23:40:11 shachaf: Not on trinary storage media 23:40:12 hah 23:40:16 olsner: I guess the common use case is that you're already doing Perforce. 23:40:20 FreeFull, ternary* 23:40:56 :/ 23:41:14 What's wrong with trinary 23:41:21 Next you'll call octal octary 23:41:30 I'm pretty sure "ternary" is the correct word though 23:41:44 why not tertiary? 23:41:47 FreeFull, and don't be silly, that would be octarian of course! 23:42:02 olsner, good point 23:42:16 wait, no, not good point 23:42:20 -!- Bike_ has joined. 23:42:34 -!- Bike_ has quit (Client Quit). 23:42:51 Unary files 23:42:51 -!- Bike_ has joined. 23:43:12 FreeFull, https://en.wikipedia.org/wiki/Ternary_numeral_system "Ternary (sometimes called trinary)" <-- clearly ternary is more common according to wikipedia (a source you can always trust ;) 23:43:27 dammit, I hate making smilies inside parens 23:43:31 it ends up awkward 23:43:57 use smileys that don't involve parens, like I,I 23:43:59 (a source you can always trust ;\)) 23:44:17 Jafet, hm, the length of the file would uniquely identify the file 23:44:37 that is cool 23:44:55 Vorpal: One thing I know Perforce has is plugins into things like Photoshop and 3ds Max, so that the artists can also be using it. (Probably won't do anything for merging that kind of stuff, but still helps.) 23:45:12 -!- Bike has quit (Ping timeout: 264 seconds). 23:45:12 fizzie, huh 23:45:24 fizzie, I wonder what those provide then 23:45:42 Vorpal: I assume the same sort of thing version control plugins for an IDE would. 23:45:58 fizzie, I don't really use those 23:46:56 -!- Bike_ has changed nick to Bike. 23:47:13 Also, apparently Perforce's P4Merge can diff images visually. 23:47:32 that is nice 23:47:36 but can it merge them? 23:47:47 also, good look doing that with vector graphics 23:48:42 Vector images are... 23:48:45 ... textfiles 23:49:04 Jafet, not always 23:49:12 Jafet, could be using a binary encoding 23:49:15 svg doesn't 23:49:30 but I'm pretty sure there were vector graphics before svg 23:51:53 night 23:52:17 Turns out it was Surround SCM they migrated to. (I understand it tries to do a bit more configuration-managementy stuff.) 23:52:19 Flash does vector images that aren't text