00:00:50 <kmc> qoppa has no reserved words and no special forms
00:01:47 <oerjan> 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 <fizzie> oerjan: Right. In any case, it's a kind of a restriction.
00:02:56 <kmc> 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 <kmc> well 1-3 things depending on how you count
00:04:53 <fizzie> 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:41 <shachaf> did you wake up feeling horrible and also guilty
00:31:45 -!- variable has joined.
01:03:57 <shachaf> Hey, this theatre has a "Casting Coördinator"
01:06:52 <Sgeo> Why does my workplace have a theater?
01:12:28 <kmc> 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 <oerjan> !c printf("%d", 2 * -2);
01:13:26 <Sgeo> There's dry cleaning there, I don't know why
01:13:31 <Sgeo> It's kind of nice, that floor
01:13:40 <Sgeo> And then where I work feels so... stuffy in comparison
01:13:46 <Sgeo> It's kind of weird
01:14:21 <Sgeo> Also knowing that everyone I see and meet works for the same company (kind of)
01:14:37 -!- heroux has joined.
01:15:53 <kmc> in Archer the spy HQ has a secret entrance in a dry cleaner's
01:15:57 <Phantom_Hoover> Sgeo, are you sure this isn't one of those companies you're expected to never leave
01:16:47 <Sgeo> Phantom_Hoover, I don't know what their views are on that sort of thing
01:17:11 <tswett> I think most companies allow you to go home in the evenings.
01:17:46 <tswett> Maybe a good rule of thumb would be that if the work day is over, you're allowed to leave.
01:17:57 <Phantom_Hoover> 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 <Sgeo> Oh, I see what you meant
01:18:26 <Sgeo> I thought you meant never leave as in, stay at the same job forever
01:18:28 <tswett> Some workplaces, although I think not many, have dormitories.
01:18:37 <Sgeo> I'd love a workplace with a dormitory
01:18:50 <tswett> I'd love a college with a dormitory. :|
01:19:43 -!- surma has quit.
01:20:06 <Sgeo> I'd love to have dormed in college :|
01:20:14 <Sgeo> The college had a dorm, I just never dormed
01:27:23 <tswett> Which is to say, I'd love to be in one of the dorms at this college.
01:28:06 <tswett> Phantom_Hoover: I guess dormitories are bedrooms that do not have their own separate bathrooms and kitchens.
01:29:34 <tswett> 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 <tswett> GOMADWarrior: in what language?
01:30:44 <kmc> i think in the US, "dorm" is a pretty general term for school-affilitaed housing
01:31:02 <Sgeo> 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 <tswett> I guess that's true. I briefly lived in a "dorm" that was actually an apartment.
01:31:11 <kmc> shared bathrooms and kitchens are common but not universal
01:31:21 <tswett> Or maybe it was actually an "apartment-style dormitory" or something.
01:33:22 <kmc> we had houses, house-affiliated 'off-campus' housing, and unaffiliated 'off-campus' housing
01:33:38 <kmc> and 'off-campus' doesn't necessarily mean anything geographically, one of them was right in the middle of campus
01:33:59 <tswett> GOMADWarrior: well, "how to make lazy evaluation" is too vague a phrase to permit a meaningful answer.
01:34:04 <shachaf> does "houses" mean houses or does it mean something else
01:34:06 <tswett> Why do you want to make lazy evaluation?
01:34:11 <kmc> the rooms ranged from private bedroom with private bathroom, to three people in a bedroom with shared bathroom
01:34:28 <kmc> shachaf: else
01:34:35 <GOMADWarrior> i'm reading the wiki, it says Lazy is unimplemented
01:34:44 <GOMADWarrior> I was wondering if it'd be hard to implement it
01:35:06 <shachaf> kmc: how many gentlemen on the billiard-table
01:35:13 <kmc> i... do not kno
01:35:38 <tswett> GOMADWarrior: well, the specification is unfinished.
01:35:49 <Phantom_Hoover> 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 <tswett> So it's kind of impossible to implement.
01:36:31 <kmc> that is common in the US as well
01:36:46 <GOMADWarrior> but its possible to just make what is specified
01:36:50 <elliott> i don't quite get this special-casing of first year
01:36:59 <kmc> Caltech is unusual in that non-freshmen actually want to live in the dorms, and there isn't enough space
01:37:04 <kmc> so 2nd year is the most common year off campus
01:37:24 <kmc> 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 <shachaf> https://upload.wikimedia.org/wikipedia/commons/1/1e/Euro-comic-sans.png
01:37:50 <kmc> (b) was a really big deal for us because of the byzantine procedure for sorting frosh into houses
01:38:07 <shachaf> 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 <elliott> 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 <kmc> they don't burn down the buildings after 1 year elliott
01:38:46 <kmc> they reuse them
01:39:00 <Phantom_Hoover> 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 <shachaf> kmc: wow are these things run by hippies or what
01:39:19 <elliott> kmc: oh that explains everything
01:39:23 <kmc> what hippies shachaf
01:39:39 <Phantom_Hoover> Which obviously you can't do in first year (I also completely failed to sort it out).
01:39:41 <elliott> kmc: i think it would be quite cool if a university burned down its first-year accommodation every year
01:39:46 <elliott> like some kind of weird fucking tradition
01:39:57 <shachaf> elliott: With the students inside, I hope?
01:39:58 <tswett> GOMADWarrior: well, try evaluating Lazy on paper and see if you can figure out all the patterns, or something.
01:39:59 <elliott> the first years symbolically get to start the fire
01:40:11 <shachaf> Maybe with the last-years inside.
01:40:17 <elliott> and it is tradition to leave at least one personal belonging in the building at the time
01:40:19 <kmc> elliott: we kind of did that
01:40:28 <shachaf> The bonus is that if they're inside the building, any student can be a last-year!
01:40:42 <kmc> they were going to start extensive renovations after my freshman year
01:40:47 <kmc> so we kind of trashed the place on the way out
01:41:03 <kmc> on the last day, four houses independently decided to have huge bonfires
01:41:34 <kmc> also we spent about a month constructing reinforced concrete & steel plate fortifications in one of the rooms
01:41:48 <kmc> in order to have another team of students break in using power tools and see how long it took them
01:41:53 <kmc> but actually that was a yearly tradition
01:42:38 <kmc> http://www.gdbg.org/traditional_events.shtml#hellride
01:42:58 <Phantom_Hoover> 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 <kmc> http://www.ugcs.caltech.edu/~blacker/history/ancient/hr-96.html
01:45:10 <Bike> ancient indeed
01:45:20 <kmc> Phantom_Hoover: :/
01:54:10 <kmc> fucking vim, be sure not to hit any number keys immediately before entering insert mode
01:54:42 <Phantom_Hoover> will that actually overwrite anything or just take forever to undo
01:55:14 <oerjan> it _will_ make lots of copies, however
01:55:19 <kmc> if you type 6i and then insert some stuff, it will insert it 6 times
01:55:37 <kmc> you don't see the copies until you complete the i command with Esc
01:56:06 <kmc> and you can only undo it as a unit
02:02:42 <kmc> what is that
02:02:57 <oerjan> undo, then put from the last insertion register
02:03:10 <kmc> i don't know fancy vim things such as these
02:03:14 <kmc> what is an insertion register
02:03:34 <oerjan> it's a "last insertion" register
02:04:37 <oerjan> 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 <kmc> ed/vim is an esolang, discuss
02:05:36 <oerjan> no contest, your honor
02:09:52 <oerjan> oh another method which frequently works is to yank text across undo/redo history
02:10:33 <oerjan> since undo and redo only logs actual text changes, or thereabouts
02:11:20 <oerjan> i sometimes use this when i regret having deleted something a while ago
02:11:21 <kmc> hm I suppose i might make good use of <numbers>p even if <numbers>i is mostly a nuisance
02:11:54 <oerjan> i sometimes use <numbers>o or O to open many blank lines at once
02:12:53 <oerjan> mostly in combination with the ^V rectangle editing stuff
02:13:19 <oerjan> (actually ^Q on windows)
02:14:39 -!- GOMADWarrior has quit (Ping timeout: 252 seconds).
02:20:31 <kmc> delete and paste?
02:21:06 <oerjan> yes, but look at what it actually does
02:22:51 <shachaf> kmc: it's "insert command" not "insert mode" hth
02:23:13 <kmc> ...is probably a vim command too
02:24:04 <oerjan> if the . makes sense between them, i don't know
02:24:43 <oerjan> looks like the . cancels the c
02:25:10 <shachaf> Like ci<something> and ca<something>
02:25:13 <oerjan> . alone is repeat last command
02:25:28 <oerjan> ok i don't know those yet
02:26:21 <kmc> is there a RPG where you learn vim... wait, yeah there is
02:26:26 <Lymia> (or is that, heaven forbid, a primitive)
02:26:32 <Lymia> Without invoking sort primitives?
02:26:43 <kmc> does %sort shell out to /usr/bin/sort
02:26:51 <kmc> istr it's very easy to pipe the current selection through external command
02:26:56 <oerjan> no. not in windows at least.
02:27:05 * Sgeo decides to troll #spring a bit
02:27:53 <shachaf> :%!sort -R # as a last resort
02:28:42 <oerjan> Lymia: you can probably write a vim script for it
02:31:49 <oerjan> oh right ci/ca are c + text object selections
02:31:54 <oerjan> never used those afair
02:32:38 <Sgeo> I think a language based on Java modified to work better with Spring and the bean concept would be nice.
02:32:55 <Sgeo> As it is, JavaBeans (not so much Spring beans) break encapsulation horribly IMO
02:35:15 <oerjan> ooh, those text object selections could be more precise than % in many cases
02:35:45 <oerjan> and support many more delimiters
02:36:37 <shachaf> oerjan: how do you delete a ( and its matching ) plz
02:40:25 <oerjan> 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 <oerjan> someone said there was a script for it, though.
02:41:05 <shachaf> You can insert some other character instead.
02:41:39 <oerjan> well yes, but searching to end of Word is just a single character (E)
02:42:05 <oerjan> while another character requires /<char><return>b
02:42:36 <oerjan> oh i was just about to wonder if there is a shortcut
02:43:07 <oerjan> ooh, t<character> is even better
02:43:24 <shachaf> f puts on you on the character, which is what you need for pressing x.
02:44:23 <oerjan> i was assuming )<char> but i guess <char>) also works
02:45:22 <shachaf> Hmm, I forgot about the deleting ) part.
02:45:52 <Sgeo> There's a @NotNull annotation in Java 8
02:46:20 <Sgeo> Oh, there isn't one except in 3rd party libraries
02:48:38 <oerjan> shachaf: oh i found something: the ]) command
02:49:29 <oerjan> it appears to work precisely for this
02:50:29 <shachaf> oerjan: what about deleting [ and matching ] .............
02:51:05 <oerjan> good question, why are only () and {} supported
02:54:17 -!- oerjan has quit (Quit: Anyway, good night).
02:58:09 -!- spacew has joined.
03:08:07 <elliott> kmc: have you considered changing your name to kmc
03:09:33 <elliott> i think it may be a wise career move
03:18:41 -!- Jafet has quit (Quit: Leaving.).
03:45:31 <Sgeo> JavaBeans destroy the good of Java, imo
03:46:04 <Sgeo> (Well, not all of them. Ones that just serve as plain old data are fine by me)
03:49:44 <kmc> i don't mean this as a snark but in your view, what is the good of Java?
03:49:52 <kmc> also are you JavaBeaning at work?
03:55:36 <Sgeo> I think the ability to have private implementation that can't be set willy nilly is not a bad thing
03:55:50 <Sgeo> Also I like checked exceptions, or at least the concept, but that's not relevant
03:56:00 <Sgeo> Spring MVC. Not as bad as JavaBeans I guess
03:56:13 <Lymia> Checked exceptions is only bad as part of an API...
03:58:36 <Sgeo> 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:57 <Sgeo> That object would probably be passed in via a public method, setWhatever()
03:59:04 <Sgeo> But now clients of that JavaBean can also use setWhatever()
04:02:42 <kmc> i would say solve this with Moar Abstraction
04:02:59 <kmc> a FooBean is constructed from a FooBeanConfiguration object which you can setWhatever on
04:03:06 <kmc> but the FooBean itself will only use that at construction time
04:03:17 <kmc> i believe this is a common pattern in java although i forgot its Official Pattern Name
04:03:43 <Sgeo> Factory pattern?
04:05:06 <Sgeo> Or is that something else
04:06:31 -!- lahwran has quit (Ping timeout: 264 seconds).
04:06:59 <shachaf> Sgeo: What's the Ada solution to this problem?
04:07:55 <Sgeo> 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 <kmc> 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 <kmc> because when I read "AES-NI" i totally spell it out in my head as "Advanced Encryption Standard -- New Instructions"
04:11:52 <kmc> i'm going to put some AES-NI example programs on GitHub soon
04:11:54 <kmc> very simple
04:12:04 <shachaf> AES AES-NI New Instructions
04:12:20 <kmc> maybe i'll lampshade it with a footnote
04:12:29 <elliott> ^^^ I HAVE THE SOLUTION TO YOUR PROBLEMS
04:15:00 <shachaf> is "ATM machine" an americanism
04:15:25 <kmc> i think ATM is an americanism
04:15:45 <kmc> elsewhere they're cashpoints or bankomats or geldautomats or something
04:16:15 <elliott> i think of em as atms because internet
04:16:34 <Bike> "-mat" is the best
04:16:46 <shachaf> Oh, apparently in Hebrew each bank calls them something else or something?
04:16:48 <Bike> i guess it's from "automate"? who even cares it's awesome
04:16:48 <kmc> käteisautomaatista?
04:17:10 <kmc> Bike: yeah http://en.wikipedia.org/wiki/Automat
04:17:16 <kmc> these are the best
04:17:25 <shachaf> Bike: It's "omat", not "mat", isn't it?
04:17:50 <Fiora> kmc: I guess there's system libraries and stuff that already do the AES-NI stuff, or...?
04:17:53 <Bike> I'm guess that's a similar situation to "-ology", which is actually from "logos".
04:18:12 <kmc> Fiora: yeah Linux and OpenSSL already have implementations at minimum
04:18:20 <Bike> "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 <shachaf> System and Method to Do the AES-NI Stuff
04:18:27 -!- DH____ has quit (Remote host closed the connection).
04:18:34 <kmc> 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 <kmc> intel has a zip file with a boatload of examples but they're all big and ugly
04:19:23 <shachaf> Did you find any timing issues in the CPU?
04:19:55 <kmc> no but did you see http://inertiawar.com/microcode/
04:19:59 <kmc> incredibly badass
04:20:35 <kmc> apparently Intel CPUs have a hidden implementation of RSA for verifying signatures on microcode updates??
04:20:41 <Bike> "erratums", what
04:20:53 <kmc> Bike: i know right, gb2latinschool
04:21:29 <Fiora> 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 <Fiora> the string instructions
04:21:37 <kmc> 30 days have september, april, june, and november, and one time february in sweden
04:21:38 <Bike> "the Intel-supplied undocumented binary blob" sweet
04:22:14 <Fiora> pcmp(e/i)str(i/m) (gosh I always have to look those names up)
04:22:34 <Fiora> they can do some really crazy things, internally it's basically a 256-way comparison of bytes
04:23:11 <Sgeo> Why not scrap Java as a language and just make a language that compiles to Java with Java idioms
04:23:13 <Bike> oh wow, 0x20110831, wow.
04:23:20 <Sgeo> Have Java idioms be language-level features
04:23:28 <Bike> Sgeo: The True Java
04:23:50 <Fiora> 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 <Fiora> they're kind of nutty
04:24:03 <kmc> Bike: man 2 reboot (on Linux), look at the MAGIC constants
04:24:14 <Fiora> 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 <kmc> Fiora: sure thing
04:25:25 <Bike> goofy constants i'm used to, the coding of dates not so much
04:25:41 <kmc> the reboot(2) constants are also dates
04:25:41 <Bike> Admittedly these are quite goofy indeed.
04:27:53 <Fiora> also geez the cipher mode things are complicated
04:28:39 <shachaf> AES-NI has cipher mode things?
04:29:08 <Fiora> just like the different block cipher modes and implementing them I guess
04:29:28 <Lymia> kmc, if the data's apparently random.
04:29:29 <Bike> computers are sooooo overrated
04:29:38 <Lymia> Can't the hash, er, be of the decryption of the main data
04:29:44 <Sgeo> 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 <kmc> Lymia: what are you talking about?
04:30:06 <Lymia> <kmc> no but did you see http://inertiawar.com/microcode/
04:30:13 <shachaf> Fiora: CTR mode is pretty simple, at least
04:30:26 <kmc> CBC is pretty simple too
04:30:50 <Bike> 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 <Fiora> huh. counter mode does look really simple actually
04:31:07 <Fiora> is there some reason people use any of the others?
04:31:30 <shachaf> Fiora: The best part is that counter mode doesn't actually use a block cipher.
04:31:35 <Fiora> "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:34:04 <kmc> Fiora: some modes provide both encryption and authentication/integrity at once
04:34:15 <Fiora> ahh, and counter mode doesn't?
04:34:17 <kmc> if you use bare CTR mode then you let an attacker flip any bit they choose in the plaintext
04:34:32 <shachaf> CTR mode has advantages even if you don't care about integrity/authentication
04:34:35 <kmc> so you would use CTR mode with a message authentication code, often the HMAC construction
04:35:05 <kmc> but a mode like GCM or OCB gives you both encryption and integrity/authentication in a single step
04:35:16 <kmc> OCB performs only slightly more block cipher operations than the unauthenticated moes
04:35:44 <kmc> GCM is nastier, it has some weird polynomial math and people are arguing on Twitter today about whether it's dumb
04:35:51 <shachaf> But it performs them even if the authentication fails.
04:35:58 <kmc> it had better!
04:36:30 <Fiora> Polynomial math, does it do some finite field thing?
04:36:32 <elliott> <Bike> 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 <elliott> Bike: are you some kind of aim hecker
04:36:37 <Fiora> I remember carry-less multiplication for galois field arithmetic had something to do with GCM
04:36:51 <kmc> well maybe it doesn't matter in this case
04:36:59 <kmc> in general you want to do the same steps always to avoid timing side channels
04:37:17 <shachaf> This was used as an explicit argument for doing them separately, though.
04:37:21 <elliott> it'd be interesting to have a programming language where your branches have to have the same timing
04:37:33 <Fiora> cache attacks though too :<
04:37:39 <copumpkin> elliott: enforce it in the type system!
04:37:45 <kmc> if you want a bunch of cool crypto exercises, email sean@matasano.com
04:37:49 <elliott> Fiora: no stop. you can't remind me of how security is awful
04:37:57 <elliott> OK NEW PLAN: we all stop using computers for important things
04:38:01 <Fiora> I remember reading a wonderful paper where (before AES-NI) they avoided timing attacks in an AES implementatoin
04:38:06 <Fiora> by doing it entirely in registers
04:38:08 <copumpkin> do everything in the cost-counting indexed monad!
04:38:10 <elliott> because otherwise we are so fucked
04:38:15 <Fiora> and turning the 2^8 galois operations into 4-bit sliced operations using shuffles as lookup tables
04:38:18 <Fiora> um, let me find this
04:38:19 <kmc> Fiora: was that the one where they stored the key in the debug registers?
04:38:26 <kmc> oh that might be a different paper
04:38:32 <Fiora> http://shiftleft.org/papers/vector_aes/vector_aes.pdf
04:38:36 <kmc> there was one that did that thing I said
04:38:44 <Fiora> It's an implementation of AES that uses no table lookups
04:38:49 <Bike> elliott: the hell is an "aim hecker"
04:38:50 <kmc> Fiora: cool!
04:38:50 <Fiora> and so should be immune to timing attacks of that kind?
04:39:03 <Fiora> Kinda less useful now I guess, but <.<
04:39:07 <Bike> elliott: also you know things sucked before computers right, like the whole thing with missiles
04:39:13 <HackEgo> 736) <kmc> aim hecker (n): when ur dronk and u pee so bad all over the toilet that ppl make fun of u <kmc> (corruption of "aim heckler")
04:39:59 <Fiora> oh, and the best part is it's still like 3-6 times faster than openssl
04:40:04 <elliott> kmc: i don't think Bike gets it
04:40:10 <kmc> there was Context
04:40:16 <kmc> but I'm too lazy to find it
04:40:55 <Bike> 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 <Bike> maybe i'm slightly tired yes.
04:41:20 -!- heroux has quit (Read error: Operation timed out).
04:41:22 <elliott> anyway the point is something about php
04:41:23 <Bike> I maintain that I haven't peed so bad over the toilet.
04:41:47 <elliott> anything you say that can be interpreted in some way as a defence of php makes you an aim hecker
04:41:54 <Fiora> 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 <Bike> your interpretation is dumb, so there.
04:42:04 <Fiora> but the 16-way table lookup trick is one of my favorite things
04:42:18 <Fiora> pshufb {16-byte table}, {data} does 16 16-way table lookups in one cycle, it's kind of amazing
04:42:19 <elliott> we have to bring up aim heckers once every month or so
04:42:36 <elliott> to prove... something to the guy who started it
04:42:39 <Bike> I'm part of a new, dynamic, unheckered #esoteric. I am the new generation. I am unstoppable
04:42:50 <elliott> something about how we really care way too much about php sucking, etc.
04:43:26 <Bike> PHP more like shitty crap doodoo that sucks
04:43:38 <shachaf> elliott: "the whole aim hecker thing is dumb hth"
04:43:47 <elliott> the whole aim hecker thing is beautiful
04:44:08 <shachaf> imo you have bad taste in things that are things
04:44:16 <elliott> 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 <Bike> 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 <elliott> presumably it was actually meant to be "aim hacker" but here is the twist: it was not
04:44:32 <kmc> Bike: best segue ever
04:44:33 <elliott> hope you're splitting your sides
04:44:34 <Bike> which was exciting because i've never so much as seen one before
04:44:45 <kmc> `addquote <Bike> so speaking of something more interesting than whatever that is, [...]
04:44:49 <HackEgo> 994) <Bike> so speaking of something more interesting than whatever that is, [...]
04:44:50 <Bike> but goddamn, 10 year olds get enthusiastic about robots
04:45:03 <shachaf> Bike: hey i remember when i played with mindstorms
04:45:09 <Fiora> my dad got me a set of that when I was like 10 or something
04:45:28 <Bike> they just had to get it to go into a garage and back but man did they work at that shit.
04:45:34 <shachaf> that would explain the fangs
04:46:09 -!- heroux has joined.
04:46:14 <elliott> 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 <shachaf> Today they have those new-fangled Mindstorms things with Bluetooth and what not, right?
04:46:23 <Bike> 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 <Bike> shachaf: it was USB. I don't know how fangled it was otherwise though.
04:46:38 <Fiora> I have no idea what they have nowadays, I just remember programming by dragging little puzzle piece blocks around
04:46:42 <Fiora> and building stuff
04:46:44 <Bike> Yeah, that was it.
04:46:52 <Bike> I liked that the graphical interface resembled physical legos.
04:46:54 <shachaf> Bike: The old ones had to use infrared, didn't they?
04:47:06 <Fiora> I really loved Technic-style lego though (like, making things that connected together and moved) instead of just structures though
04:47:19 <Bike> 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 <Bike> As the only young adult I just got shoved into the tech thing because "you kids know all that stuff right"
04:47:53 <Bike> well, one of two, the other also got shoved into the tech thing, I mean.
04:48:14 <Bike> Yes. You've unraveled my insidious plot
04:49:17 <Bike> http://www.landmarksofbritain.co.uk/ivrpa/mindstorms-layout-selected.jpg?q=ivrpa/mindstorms-layout-selected.jpg all those parentheses are terrifying
04:50:08 <shachaf> dude nxt is like a billion times fancier than rcx?
04:50:32 <kmc> kids these days have a raspberry pie glued to an arduino duct taped to an iphone
04:50:39 <kmc> pi and/or pie
04:51:16 <kmc> one time I used duct tape to tape a duct
04:51:17 <shachaf> I should invent something called "duct typing" and then get mad at people when they say "duck typing".
04:51:17 <kmc> what a day
04:51:26 <Bike> ductible typing
04:51:34 <kmc> deductible typing
04:51:56 <Bike> 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:52 <elliott> i did absolutely nothing to deserve this
05:08:02 <Sgeo> I get to wake up in 4 hours!
05:09:25 -!- Bike_ has joined.
05:09:32 <kmc> fu chrome, how many documents contain the characters — in that order
05:09:53 <kmc> 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 <Bike> mojibake is mai waifu
05:10:56 <Sgeo> 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 <kmc> i don't know what that is so i'm going to assume it's a flavor of pocky
05:11:06 <Sgeo> And got said by the narrator thing as a vowely sound
05:11:16 <kmc> how ironic
05:11:25 <Bike> mojibake is what you call consequences of encoding errors like "—" (if you're feeling japanese)
05:11:43 <Bike> oh did you mean the waifu thing? yeah that's pocky
05:12:09 <kmc> in Russian it's called krakozyabry (кракозя́бры)
05:12:17 <kmc> http://en.wikipedia.org/wiki/File:Koverto-kun-krakozjabroj.png still the best thing
05:12:33 <Bike> also serves as the title of my blog
05:12:38 <kmc> cool, link?
05:12:42 <Bike> ok yeah that's great
05:13:05 <Bike> it's mostly personal stuff, i'll link it later if i feel like it and write soething moderately interesting maybe
05:13:16 <Bike> or you could just google that word >_>
05:13:37 <Bike> anyway i'm imagining a russian mailperson being like "yeah this looks like polish i guess"
05:14:03 <elliott> `addquote <kmc> i don't know what that is so i'm going to assume it's a flavor of pocky
05:14:07 <HackEgo> 995) <kmc> i don't know what that is so i'm going to assume it's a flavor of pocky
05:14:40 <elliott> guys we need 5 moreq uotes
05:14:54 <kmc> perhaps zzo38 will say 5 things tomorrow
05:15:12 <Bike> i hope there's a wraparound error when it hits 1000
05:15:17 <HackEgo> 10) <reddit user "othermatt"> 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) <ehird> so i can only conclude that it is flawed, or the world is utterly bonkers \ 30) <oklopol> anyway, torture would be fun to experience, true <oklopol> should put that on my todo
05:15:29 <Bike> ok that wasn't what i expeted
05:16:04 <elliott> im not sure what that is doing
05:16:28 <HackEgo> 1) <Aftran> I used computational linguistics to kill her.
05:16:29 <shachaf> Searching for the string "0"?
05:16:47 <shachaf> > all (0 `isInfixOf`) ["10","20","30"]
05:16:49 <lambdabot> No instance for (GHC.Num.Num [GHC.Types.Char])
05:16:55 <shachaf> > all ("0" `isInfixOf`) ["10","20","30"]
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 <elliott> it wouldn't search in quoten umbers though
05:17:36 <Bike> kmc: zzo38 has actually written the plots of most hollywood films of the last few years
05:20:31 <shachaf> That's like having anti-fonts.
05:20:57 <shachaf> kmc: Is that a zzo38 quote?
05:21:06 <HackEgo> 801) <zzo38> There is no rule in poker that says you have to try hard to win.
05:21:42 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16671
05:22:43 <shachaf> zzo38 for https://en.wikipedia.org/wiki/The_Ruler_of_the_Universe
05:22:54 <kmc> zzo38 for emperor of united states and protector of mexico
05:23:55 <shachaf> Bike: Do you understand the F-Alg free monad thing?
05:24:09 <Bike> I'm going to say no.
05:24:23 <shachaf> I don't really either. :-(
05:24:27 <Bike> Actually if that's catamorphismy it might be yes, but I'm still going to say no
05:24:53 <shachaf> 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:19 <Bike> imo stick with sigma algebras
05:25:36 <shachaf> Bike this is important.......
05:26:22 <Bike> I don't even know what a free monad is, is that like a free monoid
05:26:37 <Bike> http://en.wikipedia.org/wiki/Leonard_Peltier
05:26:37 <shachaf> it's like a free monoid in the category of endofunctors
05:26:51 <shachaf> Bike: Please make that an https link so I can click on it.
05:27:00 <Bike> https://en.wikipedia.org/wiki/Leonard_Peltier
05:27:47 <shachaf> Bike++ # uses https links unbidden
05:29:58 <Bike> hm so is a free monad like a monoid of strings of endofunctors which are compositions or something maybe
05:30:19 <elliott> it's data Free f = Pure a | Free (f (Free f a)), hope this helps
05:31:26 <shachaf> Bike: lists are 1 + a*(1 + a*(1 + a*(...
05:31:43 <shachaf> free monads are a + f (a + f (a + f (...
05:31:53 <Bike> Oh. That's kinda neat.
05:32:22 <shachaf> You can make them look even more similar.
05:32:34 <shachaf> It's sort of like 1 + f + f^2 + f^3
05:32:58 <Bike> yeah a lot of category theory stuff ends up looking like combinatorics to me for some reason.
05:33:21 <shachaf> Types are related to combinatorics in all sorts of ways.
05:33:26 <elliott> did you know the derivative of a type is the type of its one-hole contexts??
05:33:28 <shachaf> And combinatorial species.
05:33:42 <elliott> also the logarithm of a functor is the number of holes it has.
05:33:45 -!- heroux has quit (Ping timeout: 245 seconds).
05:34:30 <Bike> what's the logarithm of []
05:35:30 -!- heroux has joined.
05:35:42 <elliott> 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:06 <HackEgo> 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 <Sgeo> Someone suggested having the interface that clients use not mention private things
10:54:15 -!- ThatOtherPerson has joined.
11:02:03 <Sgeo> Person who agreed with me is now being clueless
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 <GOMADWarrior> would it be possible to make a language that compiles to an exe?
12:31:51 <Taneb> You'd need to compile it for windows
12:33:23 <Taneb> .exe is just the suffix Windows uses to mark executables
12:34:42 <GOMADWarrior> ah, yes, I meant an executable, not specifically .exe
12:35:10 <Taneb> That's what a lot of compilers do
12:35:23 <Taneb> Including gcc, GHC, and others
12:36:21 <Jafet> 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 <fizzie> Awib is (modulo some arguments about "cheating") written in one obscure language like that, and generates (x86 Linux) binaries directly.
12:45:21 <ThatOtherPerson> Windows compilers are probably slightly more complicated than *nix compilers
12:47:57 <fizzie> 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 <fizzie> (Symbian also makes a difference between .app for applications with user interfaces, and .exe for service-type things.)
12:59:38 <boily> symbian still exists?
13:00:01 -!- shocked has joined.
13:00:02 -!- shocked has quit (Excess Flood).
13:03:22 <fizzie> boily: That is not dead which can eternal lie.
13:07:44 <boily> 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:27:40 -!- Gregor` has changed nick to Gregor.
13:27:46 -!- nooodl has joined.
13:33:43 -!- impomatic has joined.
13:43:41 <metasepia> Symbiosis is close and often long-term interaction between two or more different biological species.
13:46:38 <metasepia> 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:47:17 <Gregor> Can TAs who teach lab classes have a larger quota?
13:47:18 -!- Arc_Koen has joined.
13:47:18 <Gregor> 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 <Gregor> My university = brilliant.
13:47:40 <Gregor> Pluralizing initialisms in two different ways within the same answer to a question.
13:47:43 <ion> ∴ brilliant = your university
13:48:43 <Arc_Koen> yesterday someone told me I was your university
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 <kmc> today's mushroom fact: many mushrooms are carnivorous
16:34:52 <kmc> the mycelium will attract, trap, and digest nematodes for their delicious nitrogen
16:34:57 <kmc> http://www.youtube.com/watch?v=0n04wCkIpuQ
16:38:44 <kmc> 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 <kmc> and they have a PE-like format
16:38:58 <kmc> and you can exec them directly thanks to binfmt_misc
16:39:40 <kmc> /tmp/foo.exe: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows
16:39:59 <kmc> i don't know a) why it's "for MS Windows" and b) whether it's really architecture-specific
16:41:00 <kmc> now I wonder what ThatOtherPerson meant by saying the Windows API can only be accessed from C and not assembly
16:41:31 <kmc> 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 <kmc> 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 <metasepia> 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 <fizzie> 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 <fizzie> (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 <boily> ~duck absolute terror field
17:08:17 -!- DHeadshot has quit (Ping timeout: 256 seconds).
17:11:33 <kmc> 'By extension, the term "mushroom" can also designate the entire fungus when in culture'
17:12:29 <boily> ~duck black fungus
17:12:45 <metasepia> wood ear definition: any of several ear- or cup-shaped basidiomycetous fungi (genus '''Auricularia''') that grow on wood.
17:13:15 <kmc> http://upload.wikimedia.org/wikipedia/commons/b/b4/Zwerg_Postkarte_001.jpg
17:23:43 <GOMADWarrior> what langs other than haskell have pattern matching?
17:24:49 <kmc> SML, OCaml
17:25:00 <kmc> there are pattern-matching libraries for many other languages
17:25:05 <kmc> i think there's one built into Racket
17:25:10 <fizzie> Many non-standard Scheme bits. (Maybe there's a SRFI too?)
17:25:30 <kmc> Scheme's syntax-rules is a bit like pattern matching, albeit in a specialized domain
17:25:45 <fizzie> 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:57 <kmc> Coq has pattern matching
17:26:13 <kmc> they're inspired by OCaml and Haskell respectively
17:26:23 <kmc> actually OCaml was invented for writing the Coq implementation... but anyway
17:26:26 <elliott> ocaml and coq sort of inspired each other i think
17:26:39 <elliott> coq pattern matching is really kind of awful
17:26:39 <kmc> fizzie: haha
17:26:46 <elliott> dependent types make everything a pain
17:26:47 <kmc> s/pattern matching //
17:27:02 <elliott> coq is a pretty impressive system
17:27:14 <kmc> a lot of its parts are pretty ugly though
17:27:25 <elliott> i don't really like the tactics system but it's amazing just how advanced and old (80s!) it is
17:27:31 <elliott> 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:31:57 <kmc> it depends on what kinds of data types and what kinds of patterns you want to support
17:32:13 <kmc> the ML/Haskell form of pattern matching goes along with the concept of algebraic data
17:32:39 <kmc> where every value you can decompose has a constructior and zero or more fields
17:32:56 <kmc> 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 <kmc> 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 <kmc> 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 <elliott> something about paramorphisms and induction schemes
17:39:09 <kmc> 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 <oerjan> @tell shachaf Another method which works with [] : go to [ , then %x``x
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 <AnotherTest> Hello, does either Python or Haskell has an operator (built-in or standard library) for Knuth's arrowup notation?
19:10:35 -!- Nisstyre has quit (Quit: Leaving).
19:11:56 <kmc> AnotherTest: not to my knowledge
19:12:04 <kmc> probably in non-standard library
19:13:18 <oerjan> AnotherTest: the result wouldn't fit in memory for any but the simplest cases...
19:13:50 <AnotherTest> oerjan: I just need the simplest cases :-)
19:13:59 <kmc> AnotherTest: no
19:15:47 <kmc> :t let up 0 a b = a^b; up n a b = foldr1 (up (n-1)) (replicate b a) in up
19:15:48 <lambdabot> (Eq a, Num a) => a -> Int -> Int -> Int
19:16:01 <kmc> > 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:11 <oerjan> kmc: was writing that, i think it should start at 1 though
19:16:20 <kmc> > 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:26 <kmc> cool, matches wikipedia
19:16:35 <kmc> now let's golf
19:16:49 <boily> ~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:54 <boily> ~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 <metasepia> Error (1): <hint>:1:13: parse error on input `='
19:17:03 <kmc> :t let up 0 = (^); up n = (foldr1 (up (n-1))) . flip replicate in up
19:17:04 <lambdabot> Couldn't match expected type `[b0 -> a0]'
19:17:09 * boily stares angrily at metasepia
19:17:25 <oerjan> boily: you have duplicated an up
19:17:44 <oerjan> i think you might want a let instead of the first one
19:21:00 <boily> ~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 <metasepia> Error (1): Ambiguous occurrence `foldr1'
19:21:01 <metasepia> It could refer to either `GHC.List.foldr1',
19:21:01 <metasepia> imported from `Data.List' at Imports.hs:16:1-16
19:21:01 <metasepia> (and originally defined in `base:GHC.List')
19:21:02 <metasepia> 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 <boily> ~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:21 <oerjan> now _that_ is a reason to stare angry.
19:21:30 <boily> good bot, good bot
19:21:38 * boily pat pat pats his bot
19:22:03 <ThatOtherPersonY> What what what language is that of the bot which you are pat pat patting?
19:22:05 <oerjan> i'm sure there must be some way of checking for name collisions.
19:22:53 <boily> 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:11 -!- ais523 has joined.
19:24:19 <boily> oerjan: I had those collisions mostly flattened, but this one is rebarbative.
19:24:56 <kmc> > 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:26:10 <ais523> I think I /may/ have fixed Anarchy
19:26:10 <lambdabot> ais523: You have 4 new messages. '/msg lambdabot @messages' to read them.
19:26:16 <ais523> the fix is to make it intentionally sub-TC
19:26:18 <lambdabot> oerjan said 1d 22h 34m 33s ago: <ais523> 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 <lambdabot> somethingelse(.)*-1)%-1 assuming %-1 is legal
19:26:18 <lambdabot> oerjan said 1d 22h 34m 15s ago: *>+
19:26:18 <lambdabot> oerjan said 1d 22h 33m 31s ago: Oops, discard, duh
19:26:18 <lambdabot> elliott said 1d 22h 31m 24s ago: *>+
19:26:52 <ais523> 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 <shachaf> kmc: I once defined a lisp macro "cr" to generalize cadr etc.
19:27:46 <lambdabot> shachaf: You have 1 new message. '/msg lambdabot @messages' to read it.
19:29:38 <oerjan> ais523: I SAID DISCARD
19:31:34 <oerjan> 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:32:47 <ais523> oerjan: fwiw, I tried to write anticipation that way first too
19:32:52 <ais523> but it clearly wouldn't work
19:33:19 <boily> ~eval foldl (+) 0 [1..6]
19:33:38 <boily> oerjan: I import qualified Data.Foldable as F.
19:35:12 <oerjan> boily: ok, although one problem with lambdabot is that it's hard to guess the module prefixes used
19:35:46 <oerjan> so i hope you have a logical system.
19:36:04 * boily whistles innocently, subtly tryin to avoid the problem.
19:36:20 <boily> right now, I have F, T, A, B and M as prefixes.
19:37:04 <oerjan> Data.Foldable, Data.Traversable, Control.Applicative, Data.Bits and Control.Monad?
19:37:28 <oerjan> Control.Monad doesn't clash with anything
19:37:56 <oerjan> i may have switched Data and Control somewhere
19:37:57 <boily> T is Data.Text, A is Data.Attoparsec.Text, B is Data.ByteString.Lazy.
19:39:20 -!- Zerker_ has quit (Ping timeout: 255 seconds).
19:40:55 <boily> I don't see any problem there.
19:41:59 <oerjan> DAT and DBL would have been logical.
19:42:13 <oerjan> assuming the scheme were used throughout.
19:42:16 -!- Zerker has joined.
19:43:09 <oerjan> i guess you _are_ choosing the most informational single letter.
19:44:20 <olsner> B for bytestring is normal (I think), and applicative usually doesn't need a qualified import
19:44:31 <boily> applicative has no qualifications.
19:45:55 <boily> maybe I should «import qualified Control.Applicative as ₳».
19:48:00 <ais523> 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 <ais523> always nice to see that
19:48:06 -!- epicmonkey has quit (Ping timeout: 272 seconds).
19:48:10 <shachaf> I,I import qualified Control.Lens as ^Lens
19:49:02 <Bike> what is I,I help
19:49:06 <oerjan> also what's this I,I thing i've been seein... right
19:49:16 <shachaf> Bike: it looks like an owl face to me hth
19:49:17 <olsner> 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 <boily> (at least, I *think* he's not a bot.)
19:49:47 <oerjan> boily: let your bot stare angrily at him instead hth
19:49:49 * shachaf is almost certainly a bot.
19:49:57 <olsner> shachaf: no you're not
19:50:01 <boily> ~echo /me ça marche tu?
19:50:04 <Gregor> But aren't we all bots on the inside?
19:50:39 <oerjan> ~echo <CTCP>ACTION ça marche tu?<CTCP>
19:51:23 <oerjan> the inside idioms are coming so thick today i may need a machete
19:52:39 <oerjan> olsner: strange phrases and behaviors common on #esoteric, like e.g. swedes don't understanding my phrases
19:53:46 <olsner> your phrases are not the only ones I'm having trouble understanding
19:55:29 <olsner> sure, whatever you say
19:55:31 <oerjan> Gregor: those are just nanobots waiting for their command to destroy us, that's not the same thing
19:55:37 <shachaf> @where+ me /me knows nothing about me.
19:55:53 <boily> stupid terminal that won't let me input \SOHs.
19:55:58 <oerjan> huh it works in lambdabot?
19:56:33 <oerjan> i hope it is a special case, although i feel a slight twitching to try @where+ quit /quit
19:57:11 <boily> what does that do?
19:57:15 <boily> @where+ quit /quit
19:58:02 <oerjan> boily: saves a piece of data. now if you were to try the obvious next step, which would be evil of course...
19:58:18 <boily> to try what? that?
19:58:51 <boily> uhm... second time a bot abuses me or my mother.
20:00:24 <oerjan> hm i don't know about that client
20:01:01 <oerjan> in irssi i had to change a keybinding to allow inserting ^A
20:01:24 <boily> I'm in weechat, in screen, in urxvt.
20:01:44 <oerjan> boily: i saw the weechat part
20:01:55 <oerjan> and i've heard evil things about screen
20:02:21 <boily> both are evil. urxvt lets me be unicodely evil.
20:05:03 <oerjan> <Bike> imo stick with sigma algebras <-- imo good policy
20:05:39 <oerjan> then you can measure things properly.
20:11:15 <oerjan> `addquote <boily> symbian still exists? <fizzie> boily: That is not dead which can eternal lie. <boily> fizzie: and with strange aeons symbian will have >50% market share on mobile devices.
20:11:19 <HackEgo> 996) <boily> symbian still exists? <fizzie> boily: That is not dead which can eternal lie. <boily> 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 <ais523> oh wow, have you seen the patent that Red Hat just got invalidated when it was asserted against one of their customers?
20:21:17 <ais523> it basically comes down to "rounding floating-point numbers by using a floating-point coprocessor"
20:21:22 <kmc> is there a clause in the support contract that obliges them to defend you
20:21:25 <olsner> boily: I think symbian "exists" at most as much as canada does
20:21:32 <Bike> ais523: who patented that?
20:21:35 <kmc> ISTR this is one major reason for The Enterprise to pay for Linux
20:21:51 <ais523> Bike: I don't know, but Uniloc seemed to own it
20:22:06 <ais523> kmc: yeah, there is indeed a clause in Red Hat's support contract that they'll defend you from lawsuits
20:22:08 <ais523> that's why they were there
20:22:28 <ais523> normally the clause goes the other way, that you have to defend the distributor from lawsuits
20:22:44 <ais523> but for red hat it's one of the main reasons to pay them rather than just using fedora or centos
20:22:58 <Fiora> so like, going after someone for using an x87 CPU? O_O
20:23:17 <Bike> yeah that sounds like a troll
20:23:24 <kmc> patents :(
20:24:15 <ais523> the court threw the patent out right at the start of the case, btw
20:24:47 <ais523> http://www.groklaw.net/article.php?story=20130124104536791
20:25:12 <ais523> also has links to all the legal documents, if you're interested in those
20:25:30 <Bike> "converting a floating-point number memory register representation to a floating-point register representation;" for real
20:28:27 <Bike> "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 <Fiora> do we know like what exactly they were suing over, like a particular CPU?
20:30:52 <ais523> it's probably in uniloc's motion
20:31:55 <ais523> although, perhaps they didn't say
20:31:56 <Bike> It says near the top that the Linux kernel infringed it (supposedly)
20:32:04 <Bike> In the article, I mean, not the motion.
20:32:05 <ais523> that's not surprising, really
20:32:21 <Fiora> I'm kind of wondering how the kernel can infringe that o_O
20:32:45 <ais523> the main problem is whether the kernel does float calculations
20:32:47 <Fiora> 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 <ais523> 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 <Fiora> but if a piece of software can infringe that I guess I don't really get it...
20:33:15 <Fiora> um, I thought that's what I said...
20:33:26 <ais523> you brought a CPU into the discussion
20:33:40 <ais523> the patent doesn't care whether it's the CPU doing it automatically
20:33:44 <ais523> or if you wrote code to do it by hand
20:33:46 <Fiora> the article mentioned it though... um...
20:33:57 <Fiora> As stated in the ‘697 Patent:
20:33:57 <Fiora> 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 <ais523> now, the x87 has a different bitwidth to a typical float or double
20:34:02 <Fiora> 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:11 <Fiora> that's the bit that confused me , sorry
20:34:25 <ais523> although note that that bit of a patent, its only job is to be confusing
20:34:30 <ais523> because it's not legally binding
20:34:45 <Fiora> 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 <Bike> "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:55 <Bike> http://en.wikipedia.org/wiki/Uniloc not sure it's the same one, though
20:36:02 <olsner> "Look at many ideas. Pick an outstanding one. Patent it. Commercialize it. Reap the rewards."
20:37:27 <Bike> 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 <pikhq> ais523: Linux includes an x87 emulator.
20:37:40 <Bike> Gonna be honest here, I didn't know "device recognition" was a thing.
20:37:49 <pikhq> Admittedly not many systems *need* it, but still.
20:38:11 <ais523> what's the odds that Rackspace were actually using it, though?
20:38:27 <pikhq> But it wouldn't be too surprising that they just happened to be compiling it in.
20:38:39 <pikhq> It's on by default.
20:38:51 <pikhq> And it's the sort of thing you simply wouldn't go out of your way to disable.
20:39:15 <pikhq> Even though you're probably not running on a 486 or 386 sans FPU.
20:40:34 <ais523> <Red Hat> Second, Uniloc can cite no support for its claim that a lack of specificity somehow renders a claim less abstract.
20:41:07 <Fiora> didn't linux actually like drop 386 support a bit ago?
20:41:32 <fizzie> Many distributions dropped that a while ago.
20:41:41 <pikhq> fizzie: Very recently, yes.
20:41:51 <fizzie> The kernel did something, too, yes.
20:41:56 <pikhq> But, some 486 systems do not have an FPU.
20:42:00 <olsner> does linux still support 486?
20:42:01 <pikhq> Meaning that that code is still relevant.
20:42:15 <pikhq> And it's not quite as insane to support the 486 as the 386.
20:42:26 <Bike> Does suing Red Hat about the kernel even make sense?
20:42:41 <pikhq> The 386 doesn't have the atomic primitives necessary for a sane threading implementation.
20:42:44 <Fiora> I think red hat has money
20:42:55 <Fiora> 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 <pikhq> Whereas the 486 does...
20:43:12 <olsner> and 486 is still relevant? as some sort of embedded cpu thingy?
20:43:19 <pikhq> From a pure ISA standpoint it's not too hard to support.
20:43:26 <pikhq> olsner: Yeah, it's still around in embedded use.
20:43:33 <Bike> That's what I"m wondering about, like, can you sue Red Hat for something they just use.
20:44:01 <pikhq> Bike: Sadly, patent law is really screwy in the case of software.
20:44:17 <pikhq> It amounts to Red Hat being in violation because they compiled it.
20:44:23 <Bike> I know. I just want to know a bit more about how scrrrrr oh. Oh.
20:45:08 <pikhq> This sort of shit is why Microsoft regularly shakes down Android distributors for protection money.
20:45:18 <pikhq> Because of dubious patents on FAT.
20:46:03 <ais523> pikhq: I thought Linux had a workaround for that patent ages ago
20:46:26 <ais523> which left it unable to write long file names on FAT, but still capable of reading them, or something like that
20:47:07 <pikhq> ais523: They've got several FAT patents, and these don't end up going to court.
20:49:21 <pikhq> Besides which, Android devices are starting to have to support exFAT.
20:49:49 <pikhq> (because SDXC mandates it)
20:51:17 <pikhq> (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 <pikhq> (FAT32 and UDF, namely)
20:52:58 <olsner> I guess they really really want Windows to support their new thingy
20:53:10 <pikhq> Windows already supports UDF.
20:53:52 <pikhq> Indeed, each version of Windows that supports exFAT supports UDF.
20:53:55 -!- Zerker has quit (Remote host closed the connection).
20:54:00 <fizzie> FAT32 has that 4 gigabyte file problem.
20:55:08 -!- AnotherTest has quit (Quit: Leaving.).
20:55:40 <pikhq> (and significantly more versions of Mac OS support UDF)
20:56:02 <pikhq> (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 <ais523> pikhq: and presumably Linux supports everything?
21:05:02 <fizzie> I was under the impression that exFAT in Linux was kind of iffy, due to the aforementioned issues.
21:05:16 <fizzie> (And exFAT is clearly part of everything.)
21:06:14 <ais523> btw, SCO are trying to reopen the case against IBM again
21:07:35 <fizzie> 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 <ais523> ID, because they realised nobody used the security features
21:10:04 <pikhq> fizzie: It's not upstream at all.
21:10:19 <Bike> wait does LYAH just stop with zippers
21:10:26 <pikhq> But yes, Linux supports UDF, and has since Linux 2.2
21:10:50 <Taneb> Bike, the author of LYAH disappeared mysteriously or something
21:14:32 <Bike> "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 <Bike> Seriously though, it just died in the middle of something? Not even a generalization of zippers?
21:16:16 <FreeFull> I guess there is always Real World Haskell
21:16:54 <kmc> 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 <Bike> truly, haskell is ineffable
21:17:34 <kmc> don't even try to eff it
21:17:46 <FreeFull> LYAH ends with Maybe (Zipper a)
21:17:50 <oerjan> you cannot generalize zippers. tru fax.
21:18:00 <ais523> how many languages actually need to be TC?
21:18:14 <ais523> like, how many typical programs wouldn't work properly in a sub-TC language?
21:18:22 <ais523> interpreters typically need a TC language
21:18:32 <Bike> well what has an interpreter
21:18:32 <oerjan> ais523: congratulations, you've reinvented total programming
21:18:48 <FreeFull> Is there any form of computation stronger than TC?
21:18:51 <ais523> but in the context of Anarchy, which is a bit atypical as languages go
21:18:52 <Bike> there's always the kmc device: pointing out that linux has a JIT for packet filtering or whatever it is
21:19:00 <Bike> FreeFull: not ones you can "actually" "do" but yes
21:19:02 <oerjan> FreeFull: not that we can _use_
21:19:11 <ais523> 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 <ais523> and seems to be more of a religious than a mathematical belief
21:19:30 <pikhq> FreeFull: There are several such theoretical models, but to our knowledge they cannot be actually implemented.
21:19:39 <Bike> 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 <ais523> certainly, nobody has a working implementation of an uncomputable language; this was quite surprising when first discovered
21:19:46 <Bike> ais523: there are some neat physics papers on it, though.
21:19:47 <pikhq> However, "to our knowledge" is the tricky bit.
21:19:48 <FreeFull> ais523: Maybe it could be done in an universe that is uncomputable for our computers
21:20:04 <ais523> Bike: and it's not the only interesting hierarchy
21:20:07 * FireFly is reminded of banana scheme
21:20:44 <oerjan> <kmc> you should just hang out [...] <-- you missed "and write the book yourself" hth
21:21:02 <Bike> and disappear halfway through?
21:21:09 <Bike> btw this means I can now think of two different slovenians
21:21:10 <ais523> just write a monad tutorial, we don't have enough of those yet
21:21:20 <ais523> btw, what are there more of: monad tutorials, or BF derivatives?
21:21:54 <Bike> to demonstrate this weird "monad" things, let's define a simple programming language
21:22:10 <ais523> Bike: I've seriously considered writing a blog post about monad transformers in BF
21:22:20 <ais523> mostly for the purpose of trolling reddit
21:22:54 <Bike> the Tape monad
21:23:10 <oerjan> istr Tape is a comonad, not a monad hth
21:24:40 <oerjan> i'm too lazy, but _maybe_ i could help cowriting it
21:24:54 <ais523> it'd probably be really mathematically inaccurate
21:25:11 <ais523> I was thinking about things like "double all the < and > so you can interleave two tapes"
21:33:43 <fizzie> Does HTH mean "Happy to Haskell"?
21:34:07 <Bike> much the same as "lol" means "lots of love"
21:34:39 <fungot> Selected style: sms (National University of Singapore SMS corpus, 2011-08-20)
21:34:41 <fungot> fizzie: nw i has cum mre frm urself thn frm othrs hav done
21:34:54 <fizzie> fungot: That sounds vaguely dirty.
21:34:54 <fungot> 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 <fizzie> fungot: I don't think bots can eat chicken.
21:35:15 <fungot> 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 <oerjan> well now we know what happens when bots eat chicken.
21:36:09 <fizzie> I'm afraid to go to my "server room" (it's not really that) now.
21:37:25 <oerjan> hm an ugly lag here, i hope i'm not getting disconnected
21:37:48 <ais523> oerjan: you responded to a ping in 0 seconds
21:38:16 <oerjan> ais523: the lag is between my laptop and my irc client
21:38:54 <kmc> MILF -- May I Leave Flowers?
21:49:13 <GOMADWarrior> everytime the timeout expires you break out of the loop
21:49:37 <ais523> @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:46 <oerjan> that thinking is _so_ out of the loop, man
21:49:53 <ais523> actually, I can put that on the talk page
21:54:27 <ais523> 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 <Bike> can't you just use an alternative DNS
21:56:12 <ais523> yeah but I don't want to
21:56:38 <Bike> wouldn't it be easier
21:56:40 <ais523> 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 <kmc> it's so easy to use google dns
21:58:15 <oerjan> kmc: do you think it might be a monoid?
21:58:22 <fizzie> Sometimes I wonder if I should do that DNSSEC thing. It doesn't really seem to be taking off very well.
22:00:51 <fizzie> 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 <kmc> djb hates dnssec
22:01:40 <ais523> kmc: yeah but I distrust Google several orders of magnitude more than average
22:01:43 <fizzie> qmail is also sort of dead.
22:01:54 <ais523> 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 <ais523> <meetingcpp> this is yet not a complete overview. Modules are likely to be part of C++17/22.
22:04:27 <fizzie> (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 <ais523> I've seen iki.fi used on occasoin
22:05:45 <ais523> what exactly does it do? or is that too complex to explain easily?
22:05:50 <GOMADWarrior> is getting the system time a costly operation?
22:06:28 <olsner> C++17/22? and here I was hoping they'd kill that thing off some time soon, not make more standards
22:06:48 <ais523> GOMADWarrior: not massively; it involves a context switch on most kernels, and those aren't particularly cheap
22:07:07 <ais523> GOMADWarrior: it's about the same cost as, say, an unbuffered read/write to a file
22:07:24 <ais523> alternatively, there's a very cheap but nonportable method involving the CPU timestamp counters
22:07:25 <fizzie> 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:47 <ais523> it does email forwarding in a non-servicey way?
22:08:16 <fizzie> 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:32 <ais523> do they actually send invoices?
22:08:40 <ais523> also, does a fee make them more of a service, or less of one?
22:09:02 <GOMADWarrior> don't games send the dt to the physics update function?
22:09:30 <fizzie> I'm not sure the fee matters w.r.t. that. But perhaps more.
22:09:44 <fizzie> There's a bit over 20k members.
22:10:21 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> 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 <fizzie> (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 <fizzie> There is an amusing resemblance between the IKI funding model and a pyramid scheme, though.
22:17:50 <fizzie> http://www.iki.fi/iki/statistics.html <- membership plot thing.
22:20:18 <fizzie> 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 <fizzie> 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 <olsner> zzo might have an X.400 address
22:24:02 <fizzie> I had one into some BBS system, but I've completely forgotten what it was.
22:27:40 <lambdabot> The operator `GHC.Num.-' [infixl 6] of a section
22:27:53 <fizzie> 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 <olsner> http://www.alvestrand.no/x400/debate/addressing.html has a nice table of x.400 attributes
22:30:12 <olsner> "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 <Vorpal> <ais523> GOMADWarrior: not massively; it involves a context switch on most kernels, and those aren't particularly cheap <-- not on modern linux
22:30:57 <ais523> Vorpal: hmm, interesting
22:31:06 <ais523> or do you mean the cheapness, rather than the context switch?
22:32:18 <lambdabot> The operator `GHC.Real.^' [infixr 8] of a section
22:32:25 <Vorpal> ais523, I mean clock_gettime or gettimeofday does not involve a context switch
22:32:49 <ais523> Vorpal: do they read the timestamp directly from the CPU, then?
22:33:18 <fizzie> ais523: There is (was?) a gettimeofday optimilization so that it can read it from the vDSO page.
22:33:49 <Vorpal> 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:34:08 <ais523> so what's responsible for updating it? the MMU, upon detecing a read?
22:34:11 <ais523> or the kernel every tick?
22:34:36 <Vorpal> I don't remember exactly
22:34:56 <kmc> i think the kernel updates its periodically, and the user code uses RDTSC to get a delta from the last update
22:35:00 <Vorpal> ais523, anyway I'm pretty sure I mentioned this to you earlier, wrt Web of lies
22:35:21 <ais523> this seems like a lot of trouble to go to for optimising reading the common time
22:35:23 <Vorpal> ais523, also I don't think this is used on 32-bit x86, only 64-bit x86, though I'm not sure
22:35:29 <ais523> which can't be a very common operation
22:35:38 <kmc> 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 <kmc> ais523: a lot of code calls gettimeofday() very often
22:35:54 <ais523> kmc: that sounds kind-of broken
22:36:09 <kmc> well if you're benchmarking stuff, for one....
22:36:09 <ais523> although, you reminded me of stracing some SDL code
22:36:14 <kmc> you'd rather have a low overhead to benchmarking
22:36:33 <ais523> apparently it runs 1ms delays in a loop, and requests the current time each time round so it doesn't drift
22:36:34 <kmc> 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 <ais523> rather than delaying until the next time it actually has to do something, which would be the sensible option
22:37:11 <kmc> you can argue that this is 'broken' and Mosh should do more work to cache timestamps and fiddle with them
22:37:18 <kmc> and I think it does now, because of other platforms
22:37:40 <kmc> 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:53 <kmc> rather than every app reimplementing that gettimeofday() + RDTSC offset logic locally
22:37:56 <kmc> probably poorly
22:38:20 <kmc> 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 <Vorpal> also there is no guarantee that RDTSC is usable, unless your CPU has constant_tsc in /proc/cpuinfo flags
22:38:58 <fizzie> There's the automagic clocksource selection for that.
22:38:58 <Vorpal> my old early 64-bit Sempron didn't for example
22:39:14 <Fiora> geez, really? I thought that was standard...
22:39:16 <kmc> otherwise you need more help from the kernel to use it
22:39:30 <fizzie> 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 <kmc> the kernel is aware of the events that can cause TSC jumps -- CPU clock speed changes, and rescheduling between cores
22:39:59 <fizzie> I don't think this does constant_tsc either, IIRC it's kind of a new thing really.
22:40:00 <Fiora> 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 <fizzie> Fiora: TSC != constant TSC.
22:40:14 <Fiora> what's constant TSC?
22:40:22 <fizzie> The one that doesn't jump around all the time.
22:40:27 <fizzie> Due to frequency scaling and whatnot.
22:40:37 <fizzie> (Also, there's something about TSC and multiple cores.)
22:40:37 <kmc> then there's also the question of whether it's syncronized between cores
22:40:48 <Fiora> 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 <Vorpal> you know, the flags list on a modern x86 CPU is kind of insane
22:40:52 <kmc> again, this is why you need the kernel's help if you want to extract a monotonic clock from the TSC
22:40:53 <Vorpal> 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 <Vorpal> ts dtherm tpr_shadow vnmi flexpriority ept vpid
22:41:03 <Vorpal> and that is Sandy Bridge
22:41:06 <Vorpal> so not even the latest
22:41:40 <Fiora> 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 <Fiora> 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:42:08 <kmc> secret unreleased processor :P
22:42:20 <Vorpal> which one is haswell? the one after?
22:42:20 <kmc> Fiora: it has SMEP but does it have SMAP?
22:42:49 * Fiora looks it up. "Supervisor Mode Access Prevention?"
22:42:55 <kmc> prevents the kernel from accessing userspace data when it meant to access kernel data
22:43:09 <Vorpal> Fiora, hey, wikipedia says Haswell is "under development". Seriously, what are you using :P
22:43:18 <kmc> you know, that thing that we had with segmentation 20 years ago
22:43:36 <Fiora> I wonder if that might be a Broadwell instruction?
22:43:45 <Fiora> along with RDSEED and ADOX or whatever weird things
22:44:07 <kmc> Vorpal: same but prevents it from executing userspace code
22:44:11 <fizzie> 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:17 <fizzie> ... 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 <Fiora> fizzie: ohhh. I wonder if my kernel is actually too old to detect it?
22:44:40 <Vorpal> fizzie, that is a ...?
22:44:58 <Fiora> huh. it's 3.8.3...
22:45:06 <fizzie> Vorpal: Ivy Bridge Xeon, I think. I don't know how the numbers go. It does have a "3" in it.
22:45:07 <Fiora> I wonder why there's no smap then.
22:45:18 <Fiora> maybe it's like a market segmentation thing where only the server chips have smap ?
22:45:19 <fizzie> Also a "V2" in it, I think that was also relevant.
22:45:23 <fizzie> "Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz"
22:45:42 <Vorpal> 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 <Vorpal> I have better stuff to do than compile kernels...
22:46:03 <Fiora> Vorpal: hee hee. it is a haswell :3
22:46:07 <fizzie> 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:21 <Fiora> engineering samples~
22:46:25 * lambdabot pulls Fiora through the Evil Mangler
22:46:31 <Vorpal> Fiora, oooh, who do you work for? Heh.
22:46:41 <shachaf> That's for having a Haswell!
22:46:52 <Fiora> awhg. you want one?
22:46:52 <fizzie> Has well, will travel.
22:47:09 <Vorpal> Fiora, you work for intel or a motherboard manufacturer?
22:47:12 * Fiora would looove one for her own computer but
22:47:25 <Vorpal> or why would you have an engineering sample?
22:47:28 <Fiora> all I have is ssh access without root to a test box that is somewhere
22:47:39 <Fiora> ummm I'm using it mostly to write avx2 code
22:48:00 <Fiora> intel/amd send out engineering samples to a bunch of companies in the months before release for various things I think
22:48:15 <Fiora> I'd guess board manufacturers and stuff get them first, then people doing software work and stuff?
22:48:21 <Vorpal> Fiora, Now I'm really curious. Who would be writing AVX2 code at this stage. Compiler writers?
22:48:26 <Fiora> I really have no involvement in any of it, so >_<
22:48:33 <shachaf> imo you should answer Vorpal's question
22:49:07 <fizzie> "it87: Beeping is supported", says my boot-time dmesg. (it87 is one of those sensors chipsets.)
22:49:27 <fizzie> I haven't heard it beep, though.
22:49:31 <Fiora> gosh, it's too much fun not answering the question though!
22:49:31 <fizzie> But apparently beeping is supported.
22:49:32 <Vorpal> fizzie, I don't think I even have a PC speaker on this thing btw
22:49:48 <fizzie> It might beep over something else, for all I know.
22:50:06 <fizzie> I'm trying to find the usual TSC-related message I always get at boot.
22:50:35 <Vorpal> hm my boot is outside the circular buffer of dmesg
22:50:36 <fizzie> Hm, I think the wording has changed.
22:50:46 <fizzie> "Marking TSC unstable due to TSCs unsynchronized", is what it says.
22:50:55 <Vorpal> cat: /var/log/dmesg: Permission denied
22:51:12 <fizzie> (And I don't have tsc in the available_clocksource list.)
22:51:18 <shachaf> kmc: are you one of Today's Fad-Crazed Teens
22:51:31 <Vorpal> [ 0.000000] Initializing cgroup subsys cpuset
22:51:31 <Vorpal> [ 0.000000] Initializing cgroup subsys cpu
22:51:31 <Vorpal> [ 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:39 <Vorpal> cgroup are *REALLY* early
22:51:46 <shachaf> http://o.onionstatic.com/images/21/21198/original/700.hq.jpg
22:52:18 <fizzie> There's quite a bit of 0.000000's.
22:52:28 <kmc> shachaf: yup
22:52:40 <Vorpal> 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 <shachaf> I,I [ 0.000000] Initializing clock
22:53:41 <Vorpal> shachaf, that would be about the last 0.000000 line?
22:53:56 <fizzie> I don't think this has all that much. But it has some amount of empty fields.
22:54:01 <Vorpal> [ 0.000000] hpet clockevent registered
22:54:01 <Vorpal> [ 0.000000] Fast TSC calibration using PIT
22:54:01 <Vorpal> [ 0.004000] Detected 3310.564 MHz processor.
22:54:01 <Vorpal> [ 0.000001] Calibrating delay loop (skipped), value calculated using timer frequency.. 6621.12 BogoMIPS (lpj=13242256)
22:54:01 <Vorpal> [ 0.000004] pid_max: default: 32768 minimum: 301
22:54:05 <Vorpal> well THAT is interesting
22:54:16 <Vorpal> what the hell happened with that timestamp
22:54:35 <fizzie> "Version: x.x" "Serial Number: Tue Jan 01 00:01:46 2008."
22:54:42 <fizzie> That looks more like a date than a serial number to me.
22:54:48 <ais523> so is all that actually happening within 1µs?
22:54:56 <ais523> or has the timer simply not started running?
22:55:11 <shachaf> Linux Kernel has come unstuck in time.
22:55:24 <Vorpal> ais523, the time jumped *back*...
22:55:33 <Vorpal> that is what confuses me
22:55:38 <ais523> Vorpal: yeah, I was talkign about earlier
22:56:00 <Vorpal> ais523, but yeah, until the timer is started all timestamps will be 0
22:56:07 <Vorpal> can't say how long that took
22:56:15 <Vorpal> probably a few seconds at most
22:56:38 <olsner> are the dmesg timestamps in seconds since boot?
22:56:58 <Vorpal> Asset Tag: Asset-1234567890
22:57:07 <Vorpal> Location In Chassis: To be filled by O.E.M.
22:57:27 <Vorpal> fizzie, that is the location of the motherboard in the chassis, not sure why that info would be there
22:57:34 <fizzie> "Yama: becoming mindful." (more dmesg).
22:57:35 <fizzie> (It's that PTRACE limitation thing and such.)
22:57:59 <Vorpal> 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 <Fiora> 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 <fizzie> I have just "Asset Tag:" with an empty field there.
22:59:08 <Vorpal> fizzie, I have so many entries for SATA ports heh
22:59:14 <Vorpal> (this board has a LOT of them)
22:59:51 <fizzie> 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 <Vorpal> Handle 0x002B, DMI type 11, 5 bytes
22:59:58 <Vorpal> String 1: To Be Filled By O.E.M.
22:59:58 <Vorpal> String 2: To Be Filled By O.E.M.
22:59:59 <Vorpal> String 3: To Be Filled By O.E.M.
23:00:00 <Vorpal> String 4: To Be Filled By O.E.M.
23:00:18 <fizzie> "Internal Reference Designator: USB" "Internal Connector Type: None" "External Reference Designator:" "External Connector Type: Access Bus (USB)" "Port Type: USB"
23:00:23 <fizzie> They all say exactly the same thing.
23:00:44 <Vorpal> fizzie, all the fan power connectors are there too
23:00:54 <Vorpal> Handle 0x001A, DMI type 8, 9 bytes
23:00:54 <Vorpal> Port Connector Information
23:00:54 <Vorpal> Internal Reference Designator: USB3_34
23:00:54 <Vorpal> Internal Connector Type: Access Bus (USB)
23:00:55 <Vorpal> External Reference Designator: Not Specified
23:00:56 <Vorpal> External Connector Type: None
23:01:01 <Vorpal> fizzie, hey my USB are different!
23:01:16 <olsner> apparently my dmesg buffer spans 41 days
23:01:28 <Vorpal> all the PCI Express slots are there
23:01:32 <fizzie> Vorpal: You've got actual names for them, I see.
23:02:02 <fizzie> Vorpal: Looked at laptop's dmidecode, there they've decided to write "Not Applicable" to just about everything.
23:02:03 <Vorpal> fizzie, yeah, I don't have 34 USB ports though, there is a jump from USB_12 to USB_34 for example
23:02:10 <olsner> and I reached 2^8 days uptime today
23:02:20 <Vorpal> Handle 0x002F, DMI type 26, 22 bytes
23:02:20 <Vorpal> Location: <OUT OF SPEC>
23:02:21 <fizzie> Vorpal: Base Board Information: "Version: Not Applicable" "Serial Number: Not Applicable" "Asset Tag: Not Applicable" "Location In Chassis: Not Applicable"
23:03:02 <fizzie> 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 <Vorpal> also accuracy, tolerance and resolution are unknown for that probe
23:03:31 <Vorpal> fizzie, actually that is USB3_34, not USB_34
23:03:48 <Vorpal> fizzie, USB7_8 USB9_10 USB11_12 USB3_34
23:03:48 <fizzie> Chassis: "Version: Not Applicable" "Serial Number: Not Applicable" "Asset Tag: Not Applicable" "Height: Unspecified" "Number Of Power Cords: 1"
23:04:03 <fizzie> Good that they've bothered to specify the number of power cords, at least.
23:04:20 <Vorpal> Temperature Probe Handle: 0x0032
23:04:26 <Vorpal> Electrical Current Probe
23:04:26 <Vorpal> Location: <OUT OF SPEC>
23:04:35 <fizzie> DMI information is such a mess.
23:04:46 <Vorpal> my PSU's type is OUT OF SPEC too
23:05:01 <fizzie> Yeah, and this says "Voltage: 0.0 V" for my CPU 1.
23:05:06 <Vorpal> well I assume "System Power Supply" is PSU
23:05:11 <fizzie> I guess it runs on something else than electricity.
23:05:32 <kmc> itt: dmidecode
23:05:41 <Vorpal> kmc, what does itt mean?
23:05:51 <FreeFull> What do you guys think about Idris?
23:05:53 <fizzie> In This Thread, I've always assumed.
23:05:56 <fizzie> 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 <Vorpal> FreeFull, what is that
23:06:26 <kmc> In This Thread
23:06:27 <Vorpal> 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: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 <Vorpal> fizzie, seems my BIOS support multiple languages:
23:07:16 <Vorpal> BIOS Language Information
23:07:16 <Vorpal> Language Description Format: Abbreviated
23:07:16 <Vorpal> Installable Languages: 6
23:07:26 <Vorpal> Currently Installed Language: en-
23:07:38 <Vorpal> which is strange, since I don't HAVE a BIOS
23:07:43 <olsner> I'm glad your bios doesn't support more languages anyway
23:07:47 <FreeFull> Vorpal: A dependent typing programming language with syntax somewhat similar to Haskell
23:07:59 <olsner> bah, uefi is just another name for bios
23:08:01 <Vorpal> olsner, spammy isn't it XD
23:08:12 <FreeFull> uefi doesn't do a lot of things a bios does
23:08:15 <Vorpal> $ sudo dmidecode | wc -l
23:08:25 <Vorpal> olsner, I should /msg you the entire thing ;P
23:08:38 <olsner> I only have 739 lines of dmidecode crud
23:09:03 <fizzie> http://sprunge.us/jUAd <- best battery info ever.
23:09:22 <fizzie> I suppose I can't say that e.g. "Manufacturer: Battery Manufacturer" would be untrue.
23:09:23 <Vorpal> 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 <fizzie> (I'm pretty sure the "Chemistry" field is completely bonkers, though.)
23:09:49 <Vorpal> fizzie, nice 0x12345678
23:10:08 <olsner> my system version is "System Version" with serial number "System Serial Number"
23:10:15 <Vorpal> fizzie, presumably chemistry = 0 = NiCd or something
23:10:27 <fizzie> I'm a bit surprised they didn't write "Design Capacity: Design Capacity" too. (But maybe that only accepts numbers.)
23:10:36 <Vorpal> olsner, yep:Serial Number: System Serial Number
23:10:41 <FireFly> "OEM-specific Information: 0x12345678" well, that's helpful..
23:10:51 <Vorpal> olsner, same as you for the version too
23:11:13 <Vorpal> it is only x86 that has DMI right?=
23:11:32 <fizzie> The laptop is also full of "Nominal Speed: Unknown Or Non-rotating" cooling devices.
23:11:34 <Vorpal> $ sudo dmidecode | wc -l
23:11:58 <Vorpal> that one has sensible values from what I can see
23:12:03 <Vorpal> Version: ThinkPad R500
23:12:05 -!- epicmonkey has quit (Ping timeout: 248 seconds).
23:12:16 <fizzie> 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 <Vorpal> Handle 0x0015, DMI type 8, 9 bytes
23:12:33 <Vorpal> Port Connector Information
23:12:33 <Vorpal> Internal Reference Designator: Not Available
23:12:33 <Vorpal> Internal Connector Type: None
23:12:33 <Vorpal> External Reference Designator: USB 2
23:12:34 <Vorpal> External Connector Type: Access Bus (USB)
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 <FireFly> Surely it must have *some* to-be-filled fields?
23:13:31 <Vorpal> FireFly, it has one OUT OF SPEC field, the "Memory Device" type field
23:13:51 <fizzie> Hey, there's a second battery in my laptop too.
23:14:02 <Vorpal> fizzie, here is my battery: http://sprunge.us/OSGP
23:14:24 <Vorpal> fizzie, a lot of OEM-specific type with just a hex dump though
23:14:39 <Vorpal> there are NO dummy values on my laptop
23:14:47 <fizzie> 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 <fizzie> Though I don't think the numbers are correct.
23:15:32 <olsner> now, which battery is in the location of which battery?
23:15:33 <fizzie> Unless it's some sort of a backup battery somewhere.
23:16:05 <Vorpal> Handle 0x0028, DMI type 11, 5 bytes
23:16:05 <Vorpal> String 1: IBM ThinkPad Embedded Controller -[7VHT16WW-1.06 ]-
23:16:12 <Vorpal> what do you mean "5 bytes"
23:16:21 <Vorpal> that string looks much longer
23:16:22 <olsner> I guess they could've put the cmos battery in the dmi data? I wonder why though
23:16:45 <olsner> guess: the entry has a pointer to a string table
23:17:03 <Vorpal> Modem ring resume is supported
23:17:16 <Vorpal> well it actually *does* have a built in modem
23:17:21 <Vorpal> so I suppose that is possible
23:17:37 <fizzie> 427 lines of dmidecode cruft on the Atom box; a "personal best" so far.
23:17:39 <Vorpal> Zoom Video is supported <-- what?
23:17:49 <kmc> 739 lines here
23:18:11 <Vorpal> fizzie, I assume it would be length 0 on my Raspberry Pi
23:19:13 <fizzie> Zoom Video (or something with a really similar name) had something to do with video-out-via-PCMCIA-slot.
23:19:18 <fizzie> Well, PC Card, I guess.
23:19:26 -!- c00kiemon5ter has left.
23:19:27 <Vorpal> oh, well it does have a PCMCIA slot
23:19:38 <Vorpal> well, one PC Card and one Express Card
23:20:01 -!- TeruFSX has joined.
23:20:44 <Vorpal> 5.25"/1.2 MB floppy services are supported (int 13h)
23:20:44 <Vorpal> 3.5"/720 kB floppy services are supported (int 13h)
23:20:44 <Vorpal> 3.5"/2.88 MB floppy services are supported (int 13h)
23:21:13 <Vorpal> Printer services are supported (int 17h) <-- that would be parport?
23:21:23 <Vorpal> I don't have a parallel port
23:21:57 <olsner> iki.fi should watch out for those printer services
23:22:08 <Vorpal> 8042 keyboard services are supported (int 9h)
23:22:15 <Vorpal> is that a PS/2 keyboard?
23:22:21 <Vorpal> I do have a PS/2 connector
23:22:24 <olsner> yes, or the controller for it
23:22:42 <fizzie> No (or not much, at least) nonsense entries on the Fujitsu-Siemens Lifebook, either. OTOH, it's a "real" laptop.
23:22:45 <fizzie> fungot: I'm talking about your machine, by the way.
23:22:46 <fungot> 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 <fungot> 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 <fizzie> Don't know what "mug mug" means.
23:23:06 <fungot> Selected style: enron (subset of the Enron email dataset)
23:23:13 -!- nooodl has quit (Ping timeout: 240 seconds).
23:23:42 <Vorpal> Port Connector Information
23:23:44 <Vorpal> Internal Reference Designator: GbE LAN
23:23:44 <Vorpal> Internal Connector Type: None
23:23:44 <Vorpal> External Reference Designator: GbE LAN
23:23:44 <Vorpal> External Connector Type: RJ-45
23:23:44 <Vorpal> Port Type: Network Port
23:23:50 <Vorpal> I don't think that is technically correc
23:24:12 <fizzie> Doesn't it have a RJ-45 hole in it?
23:24:13 <Vorpal> I'm pretty sure ethernet is not "proper" RJ-45, though it is the same connector
23:24:51 <fizzie> It's a reasonable name, though.
23:24:53 <Vorpal> 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 <fizzie> Nobody knows what you mean if you say "8P8C" or something.
23:25:29 <Vorpal> fizzie, my laptop makes the same mistake though
23:25:32 <olsner> mug mug sounds like it should mean something
23:25:43 <ion> fizzie: I do. :-P
23:25:48 <Vorpal> Handle 0x0012, DMI type 8, 9 bytes
23:25:48 <Vorpal> Port Connector Information
23:25:48 <Vorpal> Internal Reference Designator: Not Available
23:25:48 <Vorpal> Internal Connector Type: None
23:25:48 <Vorpal> External Reference Designator: Modem
23:25:49 <Vorpal> External Connector Type: RJ-11
23:25:58 <Vorpal> Handle 0x0013, DMI type 8, 9 bytes
23:26:00 <Vorpal> Port Connector Information
23:26:02 <Vorpal> Internal Reference Designator: Not Available
23:26:04 <Vorpal> Internal Connector Type: None
23:26:06 <Vorpal> External Reference Designator: Ethernet
23:26:08 <Vorpal> External Connector Type: RJ-45
23:26:10 <Vorpal> Port Type: Network Port
23:26:12 <Vorpal> I guess the RJ-11 one IS correct though
23:26:26 <HackEgo> slist: Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot
23:28:11 <Vorpal> Print screen service is supported (int 5h)
23:28:37 <Vorpal> oh, actual print screen
23:29:23 <Vorpal> fizzie, btw, my chassis is empty: Contained Elements: 0
23:29:50 <Vorpal> also, how do you configure those DMI strings heh
23:30:25 <Sgeo> I made a commit today!
23:30:37 <fizzie> To quote man dmidecode: "BUGS: More often than not, information contained in the DMI tables is inaccurate, incomplete or simply wrong."
23:30:48 <olsner> Sgeo: welcome to the world of version control!
23:31:08 <Sgeo> Also, fuck Eclipse
23:32:33 <Vorpal> Sgeo, I feel sorry for you
23:32:41 <Sgeo> What's so terrible about SVN?
23:32:42 <Vorpal> ais523, at least that isn't VSS
23:32:49 <olsner> RCS over a shared smb filesystem?
23:32:49 <ais523> and yeah, VSS is a disaster
23:32:58 <ais523> olsner: sounds about as reliable as VSS
23:33:15 <Vorpal> ais523, also Vault, a VSS compatible software, but slightly less buggy
23:33:16 <shachaf> fizzie: No DMI table can be both consistent and complete.
23:33:18 <olsner> is rcs at all safe against multiple users?
23:33:35 <fizzie> In version control news, we're putting (most of) our recognizer thing into github in the next few months.
23:33:42 <ais523> olsner: yeah, it just refuses to commit if someone else is using it at the time
23:33:46 <Vorpal> 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 <ais523> as in, you explicitly have to cede control of the file and let someone else work on it
23:34:11 <ais523> so it's safe via lack of functionality
23:35:27 <olsner> indeed, if it doesn't work in the first place, it can't break
23:35:41 <fizzie> I know one former VSS shop, but I forget what they migrated to. Perhaps Perforce?
23:35:48 <ais523> olsner: it also detects that it's in a situation it doesn't work
23:35:50 <ais523> fizzie: that seems reasonable
23:35:59 <Vorpal> ais523, why is that reasonable?
23:36:10 <ais523> from what I've heard, perforce is the only paid-for non-d vcs that actually has advantages in some situations
23:36:18 <Vorpal> I know nothing about Perforce... Wait isn't that a build system? Perforce Jam or something?
23:36:27 <fizzie> ais523: It's got some kind of git client support these days.
23:36:40 <Vorpal> ais523, what advantages would that be?
23:36:44 <ais523> Vorpal: perforce is a CVCS with support for very large files, most notably
23:36:54 <fizzie> http://www.perforce.com/product/components/git-fusion
23:37:11 <Vorpal> ais523, I can put a massive file in hg. It isn't going to be a good idea, but I can.
23:37:15 <fizzie> "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:21 <fizzie> ... enterprise-class IP security, availability and visibility across all projects and teams."
23:38:04 <Vorpal> ais523, or rather, it isn't going to be a good idea if it is also a binary file
23:38:06 <fizzie> 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 <Vorpal> a massive text file wouldn't be an issue
23:38:41 <Vorpal> fizzie, well, it also gives "enterprise class IP security"
23:38:45 <ais523> Vorpal: we're talking about things like the entire assets for an AAA 3D computer game
23:38:52 <ais523> the idea being that you can still control versions
23:38:53 <fizzie> Or possibly make parts of a Perforce megathing into a set of configured Git repositories.
23:38:56 <ais523> even though it isn't text
23:38:56 <Vorpal> ais523, right, so binary files then
23:39:12 <Vorpal> ais523, but what about merging
23:39:18 -!- Madoka-Kaname has changed nick to Lymia.
23:39:24 <olsner> so by bolting on perforce you can avoid "making your Git developers use bolted-on tools"?
23:39:35 <Vorpal> Lymia, yes, we were talking about Perforce, not git
23:39:58 <shachaf> TWIST: ALL FILES ARE BINARY FILES
23:40:11 <FreeFull> shachaf: Not on trinary storage media
23:40:16 <fizzie> olsner: I guess the common use case is that you're already doing Perforce.
23:41:30 <Vorpal> I'm pretty sure "ternary" is the correct word though
23:41:47 <Vorpal> FreeFull, and don't be silly, that would be octarian of course!
23:42:16 <Vorpal> wait, no, not good point
23:42:20 -!- Bike_ has joined.
23:42:34 -!- Bike_ has quit (Client Quit).
23:42:51 -!- Bike_ has joined.
23:43:12 <Vorpal> 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 <Vorpal> dammit, I hate making smilies inside parens
23:43:57 <olsner> use smileys that don't involve parens, like I,I
23:43:59 <Bike_> (a source you can always trust ;\))
23:44:17 <Vorpal> Jafet, hm, the length of the file would uniquely identify the file
23:44:55 <fizzie> 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:24 <Vorpal> fizzie, I wonder what those provide then
23:45:42 <fizzie> Vorpal: I assume the same sort of thing version control plugins for an IDE would.
23:45:58 <Vorpal> fizzie, I don't really use those
23:46:56 -!- Bike_ has changed nick to Bike.
23:47:13 <fizzie> Also, apparently Perforce's P4Merge can diff images visually.
23:47:36 <Vorpal> but can it merge them?
23:47:47 <Vorpal> also, good look doing that with vector graphics
23:48:42 <Jafet> Vector images are...
23:49:12 <Vorpal> Jafet, could be using a binary encoding
23:49:30 <Vorpal> but I'm pretty sure there were vector graphics before svg
23:52:17 <fizzie> Turns out it was Surround SCM they migrated to. (I understand it tries to do a bit more configuration-managementy stuff.)
23:52:19 <FreeFull> Flash does vector images that aren't text