00:07:22 -!- rodgort has joined.
00:09:13 -!- kwertii has quit (Ping timeout: 245 seconds).
00:10:40 <elliott> monqy: did i miss anything
00:15:45 -!- kwertii has joined.
00:24:01 -!- Madoka-Kaname has joined.
00:24:01 -!- Madoka-Kaname has quit (Changing host).
00:24:01 -!- Madoka-Kaname has joined.
00:33:49 -!- PatashuXantheres has quit (Remote host closed the connection).
00:37:30 -!- elliott has quit (Remote host closed the connection).
00:41:36 -!- elliott has joined.
00:41:55 -!- Patashu has joined.
00:42:30 -!- MDude has joined.
00:45:26 -!- azaq23 has quit (Quit: Leaving.).
01:15:25 -!- oerjan has quit (Quit: perhaps).
01:16:41 -!- Lumpio- has quit (Ping timeout: 252 seconds).
01:35:33 <elliott> monqy: guess what's about to get squarelos
01:37:17 <elliott> monqy: i suggest you play some AKs afterwards because I'm pretty sure I ~op'd~ corrupt
01:37:45 <monqy> it can't be more op than what tornado used to be
01:38:15 <monqy> level 8, near full los, no timeout, long duration, huge ac-ignoring damage per turn
01:38:50 <monqy> and it did more damage if you were hasted
01:39:00 <elliott> how did anyone design that
01:39:12 <monqy> most of it was fixed before the release
01:39:18 <monqy> then the rest of it was fixed later
01:41:31 <elliott> "eagerly awaiting shaming"
01:49:02 -!- DH____ has quit (Read error: Connection reset by peer).
01:49:06 -!- DHeadshot has joined.
01:52:49 <elliott> monqy: im actualyl dying of the sham.
01:55:15 -!- Lumpio- has joined.
02:09:23 <elliott> monqy: It bothers me how we refer to a line of sight as having a shape.
02:09:31 <elliott> Is there better Crawl terminology for that?
02:10:11 -!- pikhq_ has joined.
02:10:26 -!- pikhq has quit (Ping timeout: 260 seconds).
02:11:03 <itidus21> is the idea that line of site is not directional?
02:11:27 <ais523> itidus21: the idea is that computer-game worlds have weird topology
02:11:35 <ais523> and thus it's awkward to define what exactly a circle should be
02:12:05 * itidus21 becomes self concious of using the words "the idea"
02:12:08 <quintopia> honestly, a square makes the most sense when diagonal motion is possible. circles are just prettier
02:12:23 <monqy> circles are not prettier !!!
02:12:38 <itidus21> he could just use an asterisk shape
02:12:44 <elliott> quintopia: have you seen approximated circles
02:12:52 <itidus21> because whoever makes these decisions is probably a male :P
02:12:55 <elliott> it doesn't matter what's pretty
02:12:57 <elliott> because it messes with gameplay
02:13:11 <elliott> (ask any experienced player, if you don't believe me)
02:13:20 <monqy> next on the "stupid quasieuclidean things messing with gameplay" list: targeting
02:13:23 <elliott> things like "it's better to approach diagonally or horizontally because the enemy will see you less"
02:13:30 <monqy> not that i know how to fix it !
02:13:36 <elliott> monqy: "Make the line-of-sight square" "Make line-of-sight square"
02:13:39 <elliott> which of these is more correct :(
02:13:59 <itidus21> yahoo is nearly as bad as that worlds video
02:14:07 <itidus21> demonpoweredinternet left the room
02:14:13 <itidus21> timemachinemessiah left the room
02:14:22 <monqy> also next on that list: light bending around walls funny
02:14:33 <itidus21> thejock_of_torment left the room
02:14:51 <itidus21> ***********s_smell_worse_than_my_shit left the room
02:15:12 <itidus21> it's not important what that is
02:15:22 <monqy> is there a word worse than shit :o
02:15:26 <monqy> does such a word exist :o
02:15:30 <monqy> please tell me what it is :o
02:16:11 <quintopia> one way to make true euclidean geometry works is to make diagonal moves take sqrt(2) times the amount of time orthogonal moves take (aka, 1 turn will not always be 1 time step)
02:16:22 <monqy> quintopia: that wouldn't work
02:16:36 <elliott> monqy: "The log entries for the commits used follow:" or "The log entries for the commits used follows:"
02:16:45 <elliott> can you give a serious answer to my first question
02:16:47 <elliott> that is one of the options I gave
02:16:56 <monqy> elliott: no because i don't have an opinion on it
02:17:36 <monqy> quintopia: since everything's all discretized you still don't get single minimal paths
02:17:48 <monqy> quintopia: that throws a wrench into calling it actually euclidean, no ?
02:17:52 <itidus21> what are the units of space called in crawl? :D
02:17:59 <itidus21> the so called tiles or squares or cells
02:18:00 <monqy> itidus21: squares, tiles, you name it !
02:18:12 <elliott> The log entries for the commits used follow (in chronological order):
02:18:18 <elliott> is there a less awkward way to write this
02:18:19 <quintopia> monqy: its true euclidean where you're not allowed to move in z straight line. :P
02:18:20 <elliott> e.g. avoiding the parenthical
02:18:38 <monqy> quintopia: hardly true euclidean !
02:19:07 <monqy> The log entries for the commits used follow in chronological order
02:19:10 <quintopia> monqy: the space is euclidean, you just can't take advantage of the fact!
02:19:17 <monqy> quintopia: im weeping
02:19:43 <itidus21> monqy: the fact that i knew what they were shows that math has really let this area of naming down
02:19:44 <quintopia> i agree with monqy. just drop the parens
02:20:06 <elliott> it seems kinda weird with the parenthical though
02:20:11 <elliott> like it's obvious it's in chronological order!
02:20:25 <ais523> imagine how confusing a roguelike would be if diagonals were root-2 slower than orthogonals
02:20:35 <elliott> quintopia: it's not that obvious because it's in a git log view
02:21:02 <monqy> ais523: I particularly like the arguments that it's more intuitive that way
02:21:15 <itidus21> well one approach would be to overlay a real disc on top of the squares and make a rule about how much % of the square has to be covered before it is part of the disc
02:21:18 <elliott> The (chronologically-ordered) log entries for the non-merge commits
02:21:18 <elliott> unique to that branch follow:
02:21:20 <ais523> monqy: what, root2los?
02:21:29 <quintopia> ais523: exactly. now add the ability to move between two points alonga straight euclidean line (without doing any actions along the way)
02:21:32 <monqy> ais523: root2 diagonal movement
02:21:46 -!- PatashuXantheres has joined.
02:22:02 <ais523> monqy: haha, that's not intuitive at all
02:22:21 <monqy> unless I'm misremembering, not everyone agrees!
02:22:57 <elliott> "Make the line-of-sight square."
02:23:02 <elliott> make this commit message not a contradiction in terms
02:23:31 <elliott> quintopia: you can view beyond that
02:23:34 <monqy> "Implement squarelos" "Import new_squarelos"
02:23:36 <elliott> (also, when you say "A record of X follows:" or similar, do you use a colon, or a full stop?)
02:23:48 <monqy> where squarelos and new_squarelos are technical terms
02:23:51 <elliott> monqy: I mention new_squarelos in the commit message, but it is simply too powerful a word to put in the summary line!
02:24:07 <elliott> elliptic used "Square LOS." but that's not even a sentence!
02:24:18 <quintopia> elliott: how can you view beyons that? i thought it was all fog-of-war beyond?
02:24:26 <elliott> quintopia: you can remember what you saw
02:24:36 <elliott> also, LOS affects things like targetting too
02:24:38 <quintopia> elliott: remembering is not seeing
02:24:39 <elliott> so it's not just visibility
02:24:53 -!- Patashu has quit (Ping timeout: 248 seconds).
02:26:17 -!- DHeadshot has quit (Read error: Connection reset by peer).
02:27:34 <elliott> what happens when you stand directly north-west of a single-square wall with circlelos
02:27:57 <elliott> monqy: aha, that one has official precedent
02:27:58 <elliott> ./hints.cc: "accidentally entering into its field of view when using "
02:28:00 <monqy> the same thing that happens when you stand directly north-west of a single-square wall in squarelos, no?
02:28:29 <elliott> ostr << "You can easily mark its square as dangerous to avoid "
02:28:29 <elliott> "accidentally entering into its field of view when using "
02:28:29 <elliott> "auto-explore or auto-travel. To do so, enter targeting "
02:28:33 <elliott> monqy: right, just checking
02:29:00 <elliott> and when you walk slightly away from that wall? you still get a few dots south-east of you invisible but everything around them visible, right?
02:29:05 <elliott> I'm just checking that I haven't introduced any nastiness
02:29:12 <elliott> (because it's damn ugly in tiles)
02:29:16 <elliott> (of course everything is but)
02:30:15 <elliott> i tested in tiles because i had to
02:31:35 <elliott> Make the field of view square.
02:31:38 <elliott> is this an acceptable commit message
02:31:42 <elliott> it feels weird not mentioning los
02:32:34 -!- david_werecat has quit (Ping timeout: 256 seconds).
02:32:47 <monqy> you're worrying too much about your commit messsag
02:33:50 <elliott> i must get it right the first time!!!
02:34:10 <elliott> thank you github for making me stare at "Hardcore Forking Action" once again to get this done
02:34:10 <itidus21> someone might download it on the basis of the commit message
02:34:24 <monqy> what is hardcore forking action
02:35:29 <elliott> We're forking a repository just for you. It should only take a few seconds. Refresh at will
02:35:35 <elliott> the awful message github displays when you fork a repository
02:35:46 <quintopia> "make the field of view square (squarelos, bitches!)
02:36:01 <elliott> quintopia: no if i wrote that i'd have to kill myself and burn my corpse
02:36:19 -!- BlueProtoman has joined.
02:36:39 <quintopia> which god are you sac'ing your corpse to
02:37:12 <elliott> they dont burn they just disappear in flames
02:37:25 <HackEgo> BlueProtoman: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
02:37:43 <monqy> you're welcome anyway
02:37:52 <elliott> time for the second-level welcome
02:37:53 <monqy> friendly is not just for newcomers
02:37:59 <HackEgo> BLUEPROTOMAN: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
02:38:10 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wElCoMe: not found
02:38:15 <elliott> you're so welcome that we forgot you were here
02:38:15 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wElCoMe: not found
02:38:50 <BlueProtoman> Still, that's the nicest I've ever seen anyone on IRC. Won't lie.
02:39:06 <BlueProtoman> Nicest welcome wagon, rather. Hell, this is the only welcome wagon I've seen.
02:39:14 <elliott> i'm trying to think of how to be amusingly horrible in response that doesn't cross the line into being actually horrible
02:40:11 <BlueProtoman> Question. I'm trying to do a Brainfuck interpreter in C++. I can successfully check to see whether the braces [] are valid, and I record their positions in a vector, too. Problem is, now I'm not sure how to use this vector to skip the instruction pointer past a ] if the value at the current cell is 0.
02:41:07 <BlueProtoman> I'm using a stack to see whether the braces are valid or not.
02:41:37 <BlueProtoman> Then again, I supposed I could somehow use a stack of a pair<int, int>...
02:42:29 <quintopia> hell, you can even just do a linear search for the matching brace every time you must jump between them :P
02:42:49 <BlueProtoman> Here's how I check for brace validity. I just create a stack<int> that records the position of each brace, opening or closing. If the stack underflows or ends up not empty at the end of the check, we don't run the program.
02:43:14 <BlueProtoman> I also want to remove non-BF characters with a regex, but this is more important.
02:43:54 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
02:44:16 <quintopia> one easy thing to do is replace the braces with the location of the other brace in your actual program represtation
02:44:21 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: <command>: not found
02:44:46 <quintopia> so your have a list of +-><., or number
02:45:10 <quintopia> + means opening brace, negative means closing brace
02:45:41 <quintopia> do brace operation, jump to magnitude of number when necessary
02:45:54 <quintopia> its a list now not a string remember
02:46:50 <quintopia> and you do the replacement of braces with numbers when your validator pops the bracepair
02:48:12 <quintopia> (possible limitation: program length will be limited to max_int of the data type you use for numbers
02:48:14 -!- MoALTz has quit (Ping timeout: 244 seconds).
02:48:25 <quintopia> but this is long enough for all real programs)
02:49:44 <BlueProtoman> But don't I need the ability to reference entries by index? Lists don't provide that.
02:50:09 <BlueProtoman> And I want to generalize this to other Brainfuck derivatives, some of which use numbers.
02:51:20 <monqy> could actually parse to an actually AST and then everything will be fine & dandy ,right?
02:52:41 <quintopia> well, array. i meant list in the abstract, not a particular implementation
02:53:23 <quintopia> but yeah, if you want to parse shit like bfjoust, why not parse to an AST
02:54:16 <quintopia> a harder but more general technique
02:54:33 -!- MoALTz has joined.
02:54:36 -!- DHeadshot has joined.
02:55:23 <quintopia> here's another system: keep a dictionary of left/right braces. when you come to a left brace, index to dictionary key. when you come to a right brace, index it by value.
02:55:26 <elliott> it's less scary than it sounds
02:55:34 <elliott> you just make data types to represent each type of syntax in the language
02:57:32 <BlueProtoman> elliott: French to me. I'm gonna do compilers in college, but right now...
02:58:02 <BlueProtoman> quintopia: Oooh, that works, too. Thanks for the tip!
02:58:25 <elliott> BlueProtoman: Here's my preferred scheme for bracket-matching:
02:58:44 <elliott> BlueProtoman: You have an array, indexed by source position.
02:58:50 <elliott> In array[position_of_left_brace], you store position_of_right_brace.
02:58:59 <elliott> In array[position_of_right_brace], you store position_of_left_brace.
02:59:01 <elliott> Then jumping is really easy.
02:59:08 <elliott> Note: an associative map (like std::map) is better than an array here.
02:59:49 <BlueProtoman> Or an unordered_map, maybe? Those have quicker lookup times, I think.
03:00:39 <quintopia> that basically sounds like what i said above, but with twice as many pairs
03:00:43 <elliott> Sure, whatever. I don't do implementation details :)
03:00:53 <elliott> quintopia: Yours is more complicated :p
03:01:18 <quintopia> elliott: the things i do for memory efficiency :P
03:01:23 <elliott> monqy: I don't like Light folks' anti-nerfing sentiment. :(
03:01:45 <monqy> elliott: come to monqys-crawl !!! in the future
03:09:05 <kmc> the distant future, the year 2000
03:14:44 -!- esowiki has joined.
03:14:44 -!- glogbot has joined.
03:14:44 -!- glogbackup has left.
03:14:48 -!- esowiki has joined.
03:14:48 -!- esowiki has joined.
03:27:04 -!- BlueProtoman has quit (Quit: Leaving).
03:27:55 -!- elliott has quit (Remote host closed the connection).
03:31:29 -!- elliott has joined.
03:32:13 -!- pikhq has joined.
03:35:15 -!- pikhq_ has quit (Ping timeout: 244 seconds).
03:37:22 -!- Sgeo_ has joined.
03:38:26 -!- Sgeo has quit (Ping timeout: 246 seconds).
03:59:34 -!- a has joined.
03:59:55 -!- a has changed nick to Guest65643.
04:00:13 <HackEgo> Guest65643: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
04:00:33 -!- Guest65643 has quit (Remote host closed the connection).
04:12:21 -!- Lymee has joined.
04:15:42 -!- Madoka-Kaname has quit (Ping timeout: 265 seconds).
04:17:07 -!- pikhq_ has joined.
04:17:38 -!- asiekierka has joined.
04:21:01 -!- pikhq has quit (Ping timeout: 265 seconds).
04:42:06 -!- pikhq has joined.
04:43:36 <shachaf> Useful tool: https://github.com/timmaxw/netrecord
04:44:08 <elliott> shachaf: You should play Crawl Light.
04:44:30 <shachaf> elliott: help what's crawlight????????
04:44:43 <shachaf> qne: what's squarelos?????
04:46:02 -!- pikhq_ has quit (Ping timeout: 244 seconds).
04:48:05 -!- pikhq_ has joined.
04:50:53 -!- pikhq has quit (Ping timeout: 245 seconds).
05:28:24 -!- MoALTz_ has joined.
05:30:19 -!- MoALTz__ has joined.
05:30:53 -!- MoALTz has quit (Ping timeout: 245 seconds).
05:33:29 -!- MoALTz_ has quit (Ping timeout: 245 seconds).
05:36:09 -!- MoALTz__ has quit (Ping timeout: 244 seconds).
05:40:10 -!- MoALTz has joined.
05:55:53 -!- bin_bash has joined.
05:56:00 <bin_bash> I want to use brainfuck to build an IRC bot.
05:58:00 <HackEgo> bin_bash: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
05:58:04 <elliott> you'll need an interface to connect it to the network
05:58:22 <bin_bash> It's been done? really?. well shit.
05:58:34 <elliott> The only one I've seen just joined and said something, then pinged out a bit later.
06:02:44 <fizzie> 2012-04-06 12:33:29 <lambdabot> I'm written in brainfuck
06:02:46 <fizzie> (But then, it was a lie.)
06:03:12 <fizzie> fungot: Are *you* written in brainfuck?
06:03:13 <fungot> fizzie: it's probably intentionally inaccessible to the language construct, before they used computers. when i was using symbols, there's no way you can just push enter again
06:03:42 <fizzie> I suppose that's a "maybe".
06:03:48 <elliott> @ask Patashu How was it that brogue's stairs were scummable, again? There's talk of doing something similar (monsters following you through them) for Crawl Light.
06:04:54 <shachaf> elliott: You never answore my question.
06:05:28 <elliott> You asked it with too many question marks.
06:09:37 -!- kwertii has quit (Quit: kwertii).
06:16:51 <shachaf> elliott: What's Crawl Light?
06:17:27 <elliott> A fork of Crawl that removes a lot of pointless tedium (hunger, curses, identification), shortens the game, and is starting to add new stuff; e.g. it has a hard mode.
06:17:31 <elliott> Also it has squarelos now.
06:19:30 <elliott> You know how the field of view is a badly-approximated circle in Crawl?
06:19:37 <elliott> Which fixes a bunch of gameplay bugs.
06:27:04 -!- bin_bash has left ("And I find it kind of funny, I find it kind of sad. The dreams in which I'm dying are the best I've ever had.").
06:34:22 -!- ais523 has quit.
06:38:59 -!- MDude has changed nick to MSleep.
06:39:56 -!- PatashuXantheres has quit (Remote host closed the connection).
06:44:18 -!- madbr has quit (Quit: Radiateur).
06:44:19 -!- MSleep has quit (Ping timeout: 245 seconds).
06:51:07 -!- Patashu has joined.
07:00:41 <lambdabot> Patashu: You have 1 new message. '/msg lambdabot @messages' to read it.
07:01:09 <Patashu> http://brogue.wikia.com/wiki/Stairdancing this should fully explain it
07:01:28 <Patashu> basically, in brogue monsters follow you when you take stairs if they were hunting you actively when you took it
07:01:35 <Patashu> X turns pass and then they come up the stairs
07:01:44 <Patashu> where X = how long it takes them to get there
07:01:53 <elliott> yes, i also understand this :P
07:02:52 <elliott> "If all these are satisfied, the game calculates how long it would take the monster to walk to where you were (not to the stairs, to where you were)"
07:03:14 <Patashu> the thing about brogue staircases is
07:03:18 <Patashu> taking the staircase is an instant action
07:03:26 <Patashu> if you're next to a staircase you can will yourself to be next to it on the other level
07:03:35 <elliott> does that mean you can go up
07:03:58 <Patashu> the fun thing you can exploit about this is
07:03:58 <elliott> do those two things in combination fix the scumming? :P
07:04:02 <Patashu> say you and a monster are next to the stairs
07:04:11 <Patashu> repeat as long as you like
07:04:15 <Patashu> it's like crawl's doordancing but with stairs
07:04:27 <elliott> yeah, none of that will apply to Light
07:04:36 <elliott> you should play Light!!! it has squarelos now
07:05:19 <Patashu> now I'll have to unlearn my habit of moving diagonally towards things
07:05:36 <elliott> monqy: do even you do that
07:05:38 <Patashu> another fun thing about brogue
07:05:44 <Patashu> monsters are slightly less likely to wake up approaching them diagonally
07:05:49 <Patashu> but only if they're land based
07:05:57 <shachaf> You never told me what squarelos were.
07:06:06 <monqy> Patashu: did you know: light has sidestepping
07:06:20 <monqy> Patashu: like in doomrl
07:06:26 <Patashu> shachaf: because it can't be both a square and a circle at once
07:06:30 <Patashu> monqy: I never mastered sidestepping in doomrl
07:06:30 <elliott> Patashu: https://github.com/dtsund/crawl-light/commit/4978bd01902f948a5bdbc00d48539a2d912523a7 the biggest commit
07:07:32 <shachaf> It should be a circle on even turns and a square on odd turns.
07:07:35 <Patashu> this is my favourite sentence of the day
07:08:02 <Patashu> ' Replace PI with 3 for Tornado rotation purposes.'
07:08:50 <shachaf> Remember when the universe explodes at the end of Riven?
07:09:00 <elliott> + // const int corrupt_perc_chance =
07:09:00 <elliott> + // idistance * idistance <= ground_zero_radius2 ? 100 :
07:09:04 <elliott> + // std::max(1, 100 - (idistance * idistance - ground_zero_radius2) * 70 / 42);
07:09:06 <elliott> nice forgetting-to-coment-out, elliott
07:09:34 <elliott> Patashu: anyway telnet light.bitprayer.com
07:10:09 <monqy> nice try, shachaf !
07:11:49 <elliott> Patashu: (#crawllight does not talk much)
07:12:52 <elliott> Patashu: btw you should try hard mode
07:12:58 <elliott> ask monqy for details on hard mde
07:13:20 <shachaf> Is #CrawlLight a type of beer?
07:13:23 -!- nooga has joined.
07:14:03 -!- Sgeo_ has quit (Read error: Connection reset by peer).
07:22:56 -!- Sgeo has joined.
07:23:52 <elliott> Sgeo: You should play Crawl Light! IT HAS SQUARELOS NOW. THANKS TO ME.
07:23:58 <fungot> elliott: (...) and generate all posible combinations of the three
07:24:29 <Sgeo> And you were there, and you were there, and you were there
07:25:00 <shachaf> elliott: Should I play Crawl Light?
07:25:24 <shachaf> 00:25 <shachaf> !talk crawl
07:25:24 <shachaf> 00:25 <sourbot_> crawl instead! =D =D =D =D =D =D =D =D =D =D good for washing her mother father’s sister doesn't work in multiple .muttrcs
07:30:51 -!- impomatic has quit (Ping timeout: 244 seconds).
07:37:23 -!- elliott has quit (Remote host closed the connection).
07:41:03 -!- Phantom_Hoover has joined.
07:55:38 -!- Lymee has changed nick to Madoka-Kaname.
08:13:51 -!- fungot has quit (Ping timeout: 244 seconds).
08:15:53 -!- shachaf has quit (Ping timeout: 245 seconds).
08:16:32 -!- shachaf has joined.
08:22:21 -!- ais523 has joined.
08:30:26 <Sgeo> I'm a little butterfly!
08:34:23 <qfr> Noo, that transcription is wrong
08:35:07 <qfr> It's [bVt@flaI]!
08:35:33 <monqy> i don't like that transcription
08:36:01 <shachaf> monqy: Can you transcribe it for us?
08:36:22 <monqy> it's mostly that @ that i don't like
08:37:46 <shachaf> @tell elliott <monqy> it's mostly that @ that i don't like
08:38:48 <shachaf> (don't worry monqy I'm a big monqyfan!)
08:40:52 <Sgeo> Is it bad that the first I heard of Yahoo! Axis is due to the private key?
08:41:58 <shachaf> I think it just came out yesterday or something.
08:42:39 <Sgeo> http://www.reddit.com/r/netsec/comments/u26pv/yahoo_included_their_cert_private_key_inside_the/
08:42:52 <qfr> Sgeo I saw
08:43:04 <qfr> https://p.twimg.com/AtoL12ICIAEwTbz.jpg:large
08:43:30 <qfr> Ah, it's linked there
09:01:39 <ais523> Sgeo: I'd heard of Yahoo! Axis before, but they only announced it today, IIRC
09:02:01 <ais523> but a mistake as obvious as that is likely to be found quickly
09:02:13 <ais523> who puts their private key in a source tarball anyway?
09:02:22 <Madoka-Kaname> ais523, I think they meant for people to use it...
09:02:58 <ais523> a public private key is completely useless :)
09:03:23 <Sgeo> I was assuming that maybe someone was a bit unsure of how Chrome extensions work?
09:03:32 <Sgeo> And didn't know that much about cryptography?
09:03:41 <Madoka-Kaname> I think they meant for the developers to use it, and, failed to think things through, to be honest.
09:03:45 <ais523> it'd have to be both, I think
09:03:47 <Sgeo> Thought that in order to sign it, they needed the key in there?
09:04:11 <kmc> if only it said "PRIVATE KEY" in big letters
09:04:31 <ais523> well, it makes some sort of sense to have the key with the rest of the source on their dev machines, because it's part of what you need to actually build and release the extension
09:04:53 <ais523> but it doesn't make sense to make it part of the source you hand out (as part of the extension, in this case, because Chrome extensions are delivered in source form)
09:05:53 <ais523> even the GPLv3's anti-tivoisation stuff doesn't require you to provide /your/ key, just if a key's required, provide a mechanism via which the user can use theirs, or one you provide for them
09:06:34 <Madoka-Kaname> I doubt Chrome's extension system is good enough for a public testing key though.
09:06:55 <pikhq_> Oh my shiiiit, they did *what*.
09:07:05 <pikhq_> They actually released their private key.
09:07:09 <Madoka-Kaname> ais523, if that's the case, there's a different question.
09:07:22 <Madoka-Kaname> Why do the developers have direct access to the public key?
09:07:39 <ais523> pikhq_: I assume a company as big as Yahoo! have more than one private key
09:07:55 <pikhq_> ais523: Well, true, but *any* private key leaking is moronic.
09:08:01 <ais523> but still, a valid private key for Yahoo! is the sort of thing that criminals would find quite valuable
09:08:59 <ais523> well, the key's got to be made out to Yahoo!, right?
09:10:14 <Madoka-Kaname> If devs really had it, that's possibly >10-20 people who can leak/do nasty things with it
09:10:46 <ais523> it's of a similar level of chaos to being able to reliably forge Bill Gates' handwritten signature, in such a way that people would believe it was him
09:11:03 <ais523> well, or the equivalent for the CEO of Yahoo!, at least
09:11:08 <ais523> whoever the new one is, or haven't they appointed one yet?
09:11:14 <pikhq_> This also suggests somewhat poor key protocol.
09:11:15 -!- cheater has joined.
09:11:15 -!- ChanServ has set channel mode: +b cheater*!*@*.adsl.alicedsl.de.
09:11:15 -!- ChanServ has kicked cheater User is banned from this channel.
09:11:56 <pikhq_> Meaning that I bet a lot of people are going to be trying shit on Yahoo.
09:12:02 <Sgeo> What would be the normal thing to do, exactly?
09:12:39 <Madoka-Kaname> (Sysadmins could easily snatch the key, I think, even with lots of precautions)
09:12:40 <Sgeo> Rather than give devs the key? Have another in-house key?
09:12:55 <Sgeo> Madoka-Kaname, I mean, for devs to test
09:12:56 <Madoka-Kaname> Giving devs the production key is a horrible idea.
09:13:11 <pikhq_> Giving devs a test key is trivial.
09:13:18 <Patashu> Wouldn't the private key be physically separated from everything else
09:13:19 <pikhq_> You, well, just make one up.
09:13:21 <Patashu> Except when needed to publish
09:13:22 <Madoka-Kaname> The proper solution is to have a test mode so you don't need things signed.
09:13:23 <pikhq_> Perhaps also a testing CA.
09:13:32 <pikhq_> Patashu: In a sane environment? Yes.
09:13:37 <kmc> aiui for chrome you generate a new keypair for every extension
09:13:43 <kmc> so this is hardly like leaking the yahoo master key
09:13:44 <pikhq_> Madoka-Kaname: I'm assuming for some reason you can't just do that.
09:13:46 <kmc> but still a major fuckup
09:14:08 <pikhq_> In which case, you make a test CA and test certs off that.
09:14:26 <pikhq_> It's really not that hard. I've got the tools for it installed right now.
09:14:31 <pikhq_> (they come with OpenSSL)
09:14:58 <ais523> Madoka-Kaname: you /can/, not via the revocation method, but all the browser manufacturers will go remove the CA from their list of root keys
09:15:04 <pikhq_> How you "revoke" a CA is convincing people to remove it from the list of approved keys.
09:15:07 <ais523> it's already happened to DigiNotar
09:15:13 <pikhq_> And a leak of a CA key makes that happen *quick*.
09:15:33 <pikhq_> And usually they also remove all other keys you've ever had, because you're bad at this.
09:16:17 <ais523> don't have to convince the average user, they put it in the browser updates and push it out as security updates
09:16:21 <ais523> average user will normally apply /those/
09:16:24 <pikhq_> Don't have to, it's a "screaming emergency" security patch. Anymore, it'll happen unless it's some guy using Windows 95 on a computer bought in 1995.
09:16:52 <pikhq_> And that guy has a computer where every single binary is infected with a virus, so who cares?
09:17:27 <ais523> and it's probably running, umm, IE4?
09:17:45 <ais523> actually, I wonder how easily exploitable IE4 on Win95 is nowadays from random attacks in the wild
09:17:51 <ais523> you'd wonder if they'd died out due to a lack of hosts
09:18:05 <ais523> or whether there's still one hugely optimistic win95 virus somewhere still trying to spread
09:18:17 <pikhq_> Actually, could be running IE5.5.
09:18:51 <Madoka-Kaname> ais523, win95 viruses can't even infect modern Windows, right?
09:19:13 <pikhq_> In principle you could make a virus with multiple attack vectors...
09:19:18 * Sgeo watches mbam scan itself
09:19:23 <pikhq_> But it's highly unlikely anyone bothered trying.
09:19:38 <Sgeo> I want to see a WINE-aware virus
09:19:44 <ais523> Madoka-Kaname: in theory they could, if the backwards-compatibility is good enough; but the attack vectors they user are pretty locked down
09:19:56 <Madoka-Kaname> Sgeo, that is just a Linux virus in a PE executable.
09:19:59 <ais523> Madoka-Kaname: Linux/Windows has been done as proof of concept, but it didn't get into the wild
09:20:23 <pikhq_> The architecture of Win9x is so damned *different* from WinNT that most of the more clever viruses would hard-core break.
09:20:42 <pikhq_> And the less clever ones would get permission errors on WinNT.
09:21:09 <pikhq_> Well, unless you run as admin.
09:21:18 <pikhq_> Madoka-Kaname: Only by obscurity.
09:21:31 <pikhq_> DOS is also pretty secure by that notion.
09:21:59 <monqy> a slice of bread "the most secure computing platform"
09:22:13 <ais523> hmm, /can/ Wine executables call Linux syscalls?
09:22:27 <ais523> I'd sort-of expect Wine to translate them into somethinge lse
09:22:29 <Sgeo> Stanislav recently called a brick "Lisp-like" by some measures
09:22:35 <Sgeo> I think he was making fun of something
09:22:39 <pikhq_> ais523: Wine isn't that extensive.
09:22:49 <pikhq_> ais523: It's actually most akin to Microcosm in structure.
09:22:49 <Madoka-Kaname> ais523, I recall reading that WINE binaries can use Linux syscalls.
09:23:09 <Sgeo> http://www.loper-os.org/?p=405
09:23:18 <Madoka-Kaname> Checks if Linux syscalls work, and, if they do, load libc.so, etc, and follow a slightly different codepath.
09:23:22 <pikhq_> It's a PE loader and dynamic linker, with a set of libraries, with some hacks so *those* libraries can link against Linux libraries.
09:24:01 <pikhq_> (actually, I think it's actually a set of hacks so some of its libraries are straight-up provided by .so files. But anyways.)
09:24:36 <pikhq_> Oh, yeah, and for maximum compatibility, part of DOS and a Win16 environment (which manages to work on x86-64).
09:24:57 -!- ais523_ has joined.
09:24:58 <ais523_> in particular, I was wondering if Windows used the interrupt in question for something else, in which case it would have to
09:25:02 -!- ais523 has quit (Disconnected by services).
09:25:04 -!- ais523_ has changed nick to ais523.
09:25:09 <ais523> <ais523_> in particular, I was wondering if Windows used the interrupt in question for something else, in which case it would have to
09:26:10 <pikhq_> Actually, Windows has the interesting property that the system calls are *not* part of the userspace API.
09:26:32 <pikhq_> The interrupts used to get into kernel space are known to change with individual *patches* sometimes.
09:26:57 <pikhq_> So, the only interrupts used by Windows are DOS interrupts, and those only for Win16.
09:27:16 <pikhq_> And those don't interact too well with Win16 anyways.
09:27:24 <pikhq_> Well, not all of them.
09:27:59 <pikhq_> Though, WINE does implement them even on x86 systems *without* the virtualized real mode...
09:28:06 <pikhq_> Wonder how it does that, actually.
09:28:27 <pikhq_> Oh, wait, right. No, it probably doesn't.
09:28:58 <pikhq_> Win16 programs need to work in protected mode, because configurations of Win2.0 or Win3.x would actually do that.
09:29:46 <ais523> win3.1 ran in protected mode by default, if it existed on your processor
09:30:21 <pikhq_> Yeah. 16-bit protected mode is, nevertheless, protected mode.
09:30:48 <pikhq_> So, I guess anything using DOS interrupts on Win16 would just break horribly on popular configurations of it.
09:34:02 <ais523> well, for DOS programs, it dropped into real mode temporarily to run them
09:34:22 <ais523> it had a secondary alt-tab handler for that case so you could switch away from them
09:34:39 <pikhq_> I suppose on 286 protected mode it would have.
09:35:10 <fizzie> ais523: As far as I know, 3.1 no longer ran on real mode at all; that's why it required at least a 286. (Though it had a separate "386 enhanced" mode.)
09:35:20 <pikhq_> On 386 protected mode it would preëmptively multitask a bunch of virtual DOS machines.
09:35:34 <Sgeo> "As of August 2011, even the newest x86 CPUs (including x86-64 CPUs) start in real mode at power-on and can run software written for almost any previous chip (with a few exceptions due to slight instruction set differences)."
09:36:19 <pikhq_> Sgeo: I think the main thing is the absolute latest Intel chips *finally* stopped disabling A20.
09:36:20 * ais523 notes that both preëmptive and coöperative have a diaeresis
09:36:50 <ais523> aren't they planning to reuse the opcodes for the BCD stuff for something else
09:36:51 <Sgeo> I don't no much about this stuff
09:37:02 <fizzie> Sgeo: Also, you can't do the virtual-8086 mode while in the 64-bit "long mode", i.e. when running a 64-bit OS.
09:37:08 <ais523> Sgeo: one of the address lines, it was repurposed for something dubious on the basis that nothing had that much memory anyway and they needed a pin
09:37:19 <pikhq_> With 286-and-up based IBM PCs, the 20th address line was disabled by default.
09:37:32 <pikhq_> Actually, 21st, sorry.
09:38:08 <pikhq_> This was to emulate the wrapping behavior of earlier Intel CPUs, which only had 20 address lines.
09:38:19 <fizzie> ais523: IIRC, they repurposed a pin from the keyboard controller to enable/disable it; it was disabled for backwards compatibility reasons, so that the one-megabit wrapping would work.
09:38:29 <Sgeo> I was more shocked at the still supporting real mode thing
09:38:41 <pikhq_> The upshot of which is that you had ~1M of *address* space, but only 640k of actual memory max.
09:38:43 <ais523> right, the keyboard controller was repurposed for several dubious things, like rebooting
09:38:50 <fizzie> It's not that they'd have used the address bus pin for anything dubious.
09:38:52 <Sgeo> Was a way to go protected -> real ever introduced?
09:38:53 <ais523> although people later decided that triple-faulting was easier
09:39:01 <ais523> Sgeo: yep, that's what the keyboard controller reboot was for
09:39:12 <pikhq_> Before that you needed keyboard controller reboot.
09:39:14 <ais523> I think they added an official method eventually
09:39:26 <ais523> was it triple-faulting, or something else?
09:39:38 <pikhq_> Something else, I don't recall what it was off the top of my head.
09:39:54 <pikhq_> It was essential to making DPMI reasonable, though.
09:40:01 <ais523> (triple-faulting: when you have an exception in the exception handler /for/ the exception handler)
09:40:32 <ais523> IIRC, both Linux and Windows still try the keyboard handler as the final fallback for when they can't find any other way to reboot a machine
09:40:54 <pikhq_> I'm pretty sure Linux still has intentional-triple-fault somewhere.
09:41:24 <pikhq_> Sgeo: Anyways, the reason why x86 CPUs still support real mode is pretty simple...
09:41:55 <ais523> pikhq_: Linux's reboot method is actually currently identical to Windows'
09:42:15 <ais523> they reverse-engineered Windows' methods in the end, rather than trying to follow standards, on the basis that all the hardware manufacturers were only testing with Windows
09:42:17 <pikhq_> Sgeo: A CPU, when it starts, needs to start executing at a known address, so the startup code will run, right?
09:42:36 <pikhq_> Sgeo: So, waaaay back in 8086, they set that up. So, the BIOS was stuck there.
09:43:03 <Madoka-Kaname> pikhq_, Linux, IIRC, used an intentional triple fault for rebooting.
09:43:46 <pikhq_> Sgeo: And this has never changed, because you would essentially end up creating a CPU with an utterly incompatible boot scheme.
09:44:00 <pikhq_> And, for obvious reasons, the BIOS expected to run in real mode.
09:44:17 <pikhq_> So, all x86 CPUs support real mode to some extent.
09:44:29 <pikhq_> It gets better: EFI systems still start this way, too.
09:44:48 <fizzie> arch/x86/kernel/reboot.c: http://p.zem.fi/st2n
09:44:51 <Sgeo> Is it because the CPU expects it?
09:45:11 <fizzie> There's an extra triple-fault fallback at the end.
09:45:12 <pikhq_> Sgeo: No, it's because you don't want to make EFI-only CPUs.
09:45:16 <Sgeo> Even with a ... I don't know much about EFI other than being an alternative to BIOS
09:45:18 <pikhq_> ais523: I'm pretty sure Windows actually complies with standards.
09:45:43 <pikhq_> ais523: It's just that merely working with something that complies with standards doesn't mean much. :)
09:45:58 <pikhq_> Sgeo: EFI is essentially *just* different startup code.
09:46:29 <pikhq_> Instead of the CPU starting at 0x9000 (was that where it starts? I don't even remember) and running the BIOS, it starts at 0x9000 and runs the EFI firmware.
09:46:46 <Sgeo> Different enough that the OS needs to expect it?
09:47:09 <pikhq_> Well, *yes*, it presents a somewhat different API.
09:47:10 <Madoka-Kaname> fizzie, what does it mean that I find funny that after the normal shutdown sequence, Linux acts kinda like a human operator kicking on a machine going "Hello?? Why arn't you working?"
09:47:29 <Sgeo> Madoka-Kaname, hm?
09:47:41 -!- ais523_ has joined.
09:47:53 <ais523_> <ais523> that's still following standards, but it's pointless, but some real-life hardware actually relies on it doing that
09:47:55 -!- ais523 has quit (Disconnected by services).
09:47:57 -!- ais523_ has changed nick to ais523.
09:48:19 <pikhq_> ais523: What I'm trying to say is, it's not *Windows* fault at all.
09:48:34 <ais523> it's the hardware manufacturer's fault
09:48:36 <ais523> for only testing with it
09:48:39 <pikhq_> They have perfectly reasonable behavior, the rest of the world is just insane.
09:48:43 <ais523> it's like screenscraping
09:48:56 <ais523> you can't really blame the website when it stops working
09:49:27 <fizzie> pikhq_: "The reset vector for the 80386DX and later x86 processors is 0xFFFF0, although the value of the CS register at reset is 0xF000 and the value of the IP register at reset is 0xFFF0. In actuality, current x86 processors fetch from the physical address 0xFFFFFFF0. This is due to a hidden base address portion of the CS register in real mode which defaults to 0xFFFF0000 after reset."
09:49:33 <fizzie> But it was ffff:0000 for 8086.
09:49:37 <pikhq_> Sgeo: A handful of things in x86 don't work consistently in all systems; shutdown is one of the big areas.
09:49:45 <fizzie> (I.e. physical ffff0.)
09:50:03 <kmc> don't confuse x86 with the PC platform
09:50:07 <pikhq_> Sgeo: Because of this, Linux basically tries a random smattering of different things.
09:50:40 <kmc> there is no reason to expect that all x86 systems would have the same shutdown sequence
09:50:50 <pikhq_> Trust me when I say your computer is, at its basis, a pile of hacks.
09:50:51 <kmc> that's a function of the platform and not the CPU architecture
09:51:02 <ais523> kmc: you'd expect them to have the same reset vector, though
09:51:14 <pikhq_> Yes, but you'd expect all IBM PCs to have the same one. ... Not that it works that way. :)
09:51:24 <Sgeo> pikhq_, this is fascinating, I want to learn more about these "hacks"
09:51:46 <kmc> the osdev wiki has some info
09:52:07 <pikhq_> Sgeo: You'd "love" how you figure out the address space map, then.
09:52:15 <pikhq_> (fun fact, it was standardised in *2002*.)
09:52:41 <kmc> Sgeo: write a real mode graphics demo which uses 640x480 resolution and fits in a boot sector
09:53:02 <Sgeo> I'm not entirely sure what is referred to by "address space map". Mapping what?
09:53:21 <Sgeo> Can't just refer to memory by a single number, I guess?
09:53:21 -!- ais523_ has joined.
09:53:30 -!- ais523_ has quit (Changing host).
09:53:30 -!- ais523_ has joined.
09:53:44 <pikhq_> Sgeo: Some parts of the non-virtualised address space are in use. For instance, there's a chunk of memory dedicated to the BIOS, some to the video framebuffer, some for ACPI...
09:54:05 <pikhq_> The kernel needs to know about this so it doesn't allocate over them and break stuff.
09:54:10 -!- ais523 has quit (Disconnected by services).
09:54:13 -!- ais523_ has changed nick to ais523.
09:54:26 <Sgeo> pikhq_, well, ok. I'm going to guess that it's not as simple as "Anything below this number is reserved stuff"?
09:54:31 <Madoka-Kaname> Triple fault pretty guaranteed to reset the system?
09:54:39 <ais523> Madoka-Kaname: not much else it can do
09:54:48 <pikhq_> Sgeo: Nowhere *near*. In part because real mode makes that really hard.
09:54:49 <Sgeo> ais523, shut it down?
09:55:15 <fizzie> ais523: I'm sure there's *some* processor that has a more or less configurable reset vector. Quite a few let you configure endianness, after all. (Okay, scoped into x86 you'd expect it to be same.)
09:55:20 <pikhq_> Sgeo: Some of that reserved stuff is at the high end of the 16-bit address space.
09:55:48 <pikhq_> Sgeo: Normal real mode programs would run *below* that point, and it was reasonably well-known where the BIOS would be.
09:55:50 <fizzie> Also there's quite a lot of stuff around the one megabyte limit.
09:55:58 <fizzie> http://wiki.osdev.org/Memory_Map_(x86) lists some stuff.
09:56:09 <pikhq_> And then, there's anything added later.
09:56:33 <pikhq_> It could very well have gotten allocated at random points, because the evolution of the design is *weird*.
09:56:52 <fizzie> There's a hole between 15-16MB, too, for memory-mapped ISA stuff.
09:57:26 -!- ais523_ has joined.
09:57:32 -!- ais523 has quit (Read error: Connection reset by peer).
09:57:36 <kmc> i learned the other day that the default location for RAM used by System Management Mode is under the VGA framebuffer
09:57:43 -!- ais523_ has changed nick to ais523.
09:57:52 <kmc> that is, accesses to those addresses in SMM go to RAM, in other modes they go to VGA hardware
09:58:00 <Sgeo> "By far the best way to detect the memory of a PC is by using the INT 0x15, EAX = 0xE820 command. This function is available on all PCs built since 2002"
09:58:35 <ais523> meanwhile, Microsoft are shooting themselves in the foot (although maybe not quite as badly as Yahoo!) with VC++2012
09:58:46 <Sgeo> ais523, howso?
09:58:50 <ais523> you have to pay for the expensive pay version to compile anything but Metro apps
09:58:57 <pikhq_> In effect, they're deprecating Win32.
09:59:15 <pikhq_> i.e. the only thing keeping Windows at all relevant.
09:59:21 <fizzie> You can check early dmesg for what your own computer's memory map looks like. It'll have a list like http://p.zem.fi/ujz1
10:00:15 <Sgeo> ais523, well, there are free compilers for Win32 right?
10:01:12 <ais523> yes; cygwin (produces executables that depend on a GPLed library, deliberately); mingw (produces properly native executables); apparently nowadays also clang
10:02:03 <pikhq_> ais523: cygwin can also be used to generate non-cygwin binaries.
10:02:10 <pikhq_> In this usage, it's basically mingw, though.
10:02:20 <pikhq_> By which I mean "literally".
10:02:32 <ais523> pikhq_: indeed, and a relatively crippled mingw at that
10:04:46 <pikhq_> Also "fun" is that ISA is basically still around.
10:04:58 <pikhq_> Well, nearly dead, but hey.
10:05:28 <kmc> nelhage's qemu breakout exploit involves hotplug-removing the emulated ISA bridge
10:05:49 <pikhq_> Certain devices are hanging off a bus that looks like the ISA bus to software, and IDE is literally very fast ISA.
10:06:04 <pikhq_> Admittedly, IDE is dead or dying.
10:06:24 <fizzie> Many hardware monitoring chips are "ISA" devices.
10:06:38 -!- ais523 has quit (Ping timeout: 240 seconds).
10:07:52 <pikhq_> temp3: +85.0°C (low = +127.0°C, high = +112.0°C) sensor = thermal diode
10:07:57 <pikhq_> That... Can't be right.
10:08:03 <fizzie> Those things are also such a mess. Everyone wires the resistors differently, lm-sensors configuration files are full of "well, it's this chip, but we need to either multiply this by two or divide it by three depending on which MB it is".
10:08:34 <fizzie> And the labels are mostly guesswork too.
10:08:50 <fizzie> I've just labeled my voltage numbers manually based on which number they're closest to.
10:11:02 <fizzie> They have a rather large wiki of configurations, http://www.lm-sensors.org/wiki/Configurations
10:12:19 <pikhq_> Oh, jeeze, yeah... Also, compact flash.
10:12:38 <pikhq_> Electrically compatible with ISA and IDE.
10:12:54 <pikhq_> And PCMCIA, of course.
10:14:38 -!- ais523 has joined.
10:14:56 <fizzie> Hey, someone's filed in the Wiki computation rules that might work for my Atom box. That's nice; currently the voltage readings are +1.68, +1.16, +1.50, +0.94, +1.10, +0.82, +0.94, +1.53 and +1.50. Apparently those should be multiplied by 2, 1, 1, 5.255319148, 11, 5.255319148, 2, 2 and 2, respectively, in order to get actual voltages.
10:19:39 -!- ais523_ has joined.
10:20:30 -!- ais523 has quit (Disconnected by services).
10:20:32 -!- ais523_ has changed nick to ais523.
10:22:52 -!- ais523_ has joined.
10:24:11 -!- monqy has quit (Quit: hello).
10:25:38 -!- ais523 has quit (Ping timeout: 240 seconds).
10:25:49 -!- ais523_ has changed nick to ais523.
10:29:21 -!- impomatic has joined.
10:36:24 <Sgeo> OS dev is not a CS subject, right?
10:36:31 <Sgeo> So what sort of thing is it?
10:38:04 -!- ais523 has quit (Ping timeout: 245 seconds).
10:38:39 <Sgeo> "It is a powerful feeling for the only code to be running on a machine to be your own."
10:38:47 <Sgeo> What about BIOS/EFI, that's not your own code...
10:41:30 <kmc> well that isn't running after boot
10:41:40 <kmc> but SMM is
10:41:57 <kmc> as is the firmware on hundreds of special purpose controllers all over the motherboard
10:42:45 -!- impomatic has quit (Quit: http://retroprogramming.com).
10:43:03 <kmc> Sgeo: it's common for CS programs to have OS courses
10:43:31 <kmc> CMU's is supposedly very good
10:43:35 <kmc> MIT's 6.828 is very good
10:43:36 <Sgeo> Do they discuss what things must do on actual hardware?
10:43:40 <Sgeo> The course I took did not
10:43:45 <kmc> in large part
10:44:01 <Sgeo> The professor wrote a program in .NET with a simulated CPU
10:44:08 <kmc> in 6.828 you write substantial parts of an OS that can run on a real PC
10:44:11 <Sgeo> We would write algorithms for various things as plugins in C#
10:44:25 <Sgeo> kmc, is MIT's course on Open CourseWare or whatever?
10:44:37 <kmc> some of the more arbitrary details of x86 are dealt with in code that's provided to you
10:44:43 <kmc> but it is explained and they go into some detail
10:44:56 <kmc> by the way i recently came across http://www.returninfinity.com/pure64.html
10:45:02 <Sgeo> kmc, I'm stuck in a shitty school
10:45:29 <kmc> Sgeo: i don't remember if it's formally on OCW... but I had no trouble finding the labs online
10:46:04 <kmc> i've only done the labs where you work on JOS, the cool "exokernel" OS
10:46:26 <Sgeo> "You end up writing code that gets plugged in as part of the simulation rather than as code that executes on the simulated computer."
10:46:37 <Sgeo> ^^just said that to my gf explaining what the course is like
10:46:38 <kmc> i haven't looked at the other parts of the course, like the parts that deal with xv6, which is a UNIX-like OS
10:46:47 <kmc> Sgeo: that's double lame
10:47:00 <kmc> at least for something claiming to be an OS course
10:47:08 <kmc> it would be a good way to approach CPU architecture, though
10:47:18 <kmc> 6.004 is another very cool MIT class
10:47:42 <Sgeo> I think the idea was to understand the algorithms behind, say, fixed partitioning memory whatchamacallit
10:47:44 <kmc> you design a RISC CPU at the level of individual logic gates
10:48:03 <Sgeo> kmc, I wish I went to MIT
10:48:12 <kmc> their simulator is very simple, nowhere near as much complexity as an industrial HDL
10:48:45 <kmc> but the simulator is specific enough that you can play with timing and try to optimize your design for higher clock speed
10:48:51 <kmc> Sgeo: I've never been an MIT student
10:48:56 <Sgeo> http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-828-operating-system-engineering-fall-2006/
10:49:12 <kmc> labs are here: http://pdos.csail.mit.edu/6.828/2011/
10:49:54 <Sgeo> kmc, how are OSDev's tutorials?
10:50:11 <kmc> i've just used it as a reference to a few specific things
10:53:36 -!- ais523 has joined.
10:54:19 <Sgeo> "All of the 32-bit registers (EAX, ...) are still usable, by simply adding the "Operand Size Override Prefix" (0x66) to the beginning of any instruction. Your assembler is likely to do this for you, if you simply try to use a 32-bit register."
10:54:27 <Sgeo> I guess assemblers aren't as trivial as I thought
10:55:11 <ais523> assemblers still just do symbol resolution (and much of that's done by the linker nowadays), and convert opcode names into machine code
10:55:17 <ais523> just there are a /lot/ of opcode names nowadays to convert
10:55:40 <Sgeo> "Some OS designers think that it is simpler and cleaner to temporarily return to Real Mode on those occasions when it is necessary to access a BIOS function. "
10:55:55 <Sgeo> I... I guess it wasn't simpler and cleaner when the CPU had to be restarted, right?
10:56:06 <Sgeo> What OSes do that?
10:58:09 <Sgeo> ". Probing memory-mapped PCI devices may have *unpredictable results* and may theoretically *damage your system*, so once again we discourage its use."
11:02:24 <kmc> x86 assembler's job is actually pretty easy compared to some architectures
11:03:48 <Sgeo> What architectures have assemblers that need to do significantly more than what amounts to a find and replace?
11:04:13 <Sgeo> </possibly-revealing-lack-of-knowledge-about-assemblers>
11:04:40 <kmc> on ARM a simple "load from immediate" encodes in kind of a complicated way
11:05:03 <kmc> the assembler might translate it to a load from memory, and put a constant into memory somewhere
11:06:15 <kmc> also conditionals work totally differently depending on which variant of ARM you're using and which CPU mode it's in
11:06:29 <kmc> most ARM chips support switching back and forth between at least two instruction sets, ARM and Thumb
11:06:44 <kmc> so the assembler has to keep track of that as well
11:08:24 <kmc> also the linker can generate additional instructions as it links, and there's a register reserved for this purpose
11:08:50 <kmc> (which is not directly a concern for the assembler, however)
11:16:24 <kmc> Sgeo: on Itanium the potential parallelism between instructions is explicitly encoded in the machine code
11:16:40 <kmc> and some assemblers can figure this out for you automatically
11:17:36 <Sgeo> Does doing that mean more microoptimizations are possible for programmers willing to mess with the machine code, or is it a matter of what will make the chip be faster, or what's the purpose of that design decision?
11:18:31 <kmc> i think the idea is to have less complex (and therefore, all else equal, faster) hardware
11:18:49 <Sgeo> Hmm, also, those computations at assembly-time rather than run-time I guess'
11:19:04 <kmc> explicitly encode parallelism instead of having the CPU figure it out on the fly
11:19:13 <kmc> http://en.wikipedia.org/wiki/VLIW
11:19:18 <kmc> i don't know much about VLIW though
11:19:53 <fizzie> Sadly, I don't think VLIW-architecture compilers have been so incredibly clever after all.
11:20:19 <kmc> though VLIW or no, a good compiler still needs to know a lot of microarchitectural details in order to produce good code
11:20:38 <kmc> it's fun to run the same code through gcc with various settings for -march=... and see what it produces
11:21:44 <kmc> on Itanium you explicitly encode the parallelism; on x86 you read about how the chip will infer the parallelism and then explicitly arrange instructions so it infers what you wanted ;)
11:29:40 -!- PatashuXantheres has joined.
11:32:45 -!- Patashu has quit (Ping timeout: 250 seconds).
11:39:27 -!- ais523_ has joined.
11:40:10 -!- ais523 has quit (Read error: Connection reset by peer).
11:40:51 -!- ais523_ has changed nick to ais523.
11:59:10 -!- ais523 has quit (Read error: Connection reset by peer).
11:59:13 -!- ais523_ has joined.
11:59:42 -!- ais523_ has changed nick to ais532.
11:59:46 -!- ais532 has changed nick to ais523.
12:07:33 -!- PatashuXantheres has quit (Remote host closed the connection).
12:10:03 -!- pikhq_ has quit (Ping timeout: 245 seconds).
12:10:07 -!- pikhq has joined.
12:21:29 -!- Patashu has joined.
12:21:36 -!- ais523 has quit (Read error: Connection reset by peer).
12:21:52 -!- ais523 has joined.
12:26:33 -!- PatashuXantheres has joined.
12:28:37 -!- Patashu has quit (Ping timeout: 248 seconds).
12:47:48 -!- Patashu has joined.
12:48:43 -!- PatashuXantheres has quit (Ping timeout: 244 seconds).
12:54:11 -!- Patashu has quit (Ping timeout: 252 seconds).
12:57:23 -!- ais523_ has joined.
12:57:24 -!- ais523 has quit (Disconnected by services).
12:57:27 -!- ais523_ has changed nick to ais523.
13:02:15 <ais523> http://www.groklaw.net/pdf3/OraGoogle-1193.pdf
13:02:34 <ais523> (it's a scanned-in version of all the questions the jurors asked in oracle v. google)
13:04:54 -!- ais523 has quit.
13:05:07 -!- ais523 has joined.
13:08:41 <fizzie> How's oragoogle going? Have they decided the copyrightability of API thing yet?
13:09:09 <fizzie> The thing the judge was going to decide by himself.
13:09:43 <fizzie> I guess I can read groklaw myself, though.
13:11:13 <ais523> "Please provide more notebooks for Phase 2." indeed!
13:11:20 <ais523> and no, no copyright progress
13:11:25 <ais523> google won on all the patent allegations
13:17:55 <ais523> yes, now that the full story's coming out it seems that they were
13:18:05 <ais523> especially if you read one of the interviews with the jury foreman
13:18:16 <ais523> (who was the only one who did interviews after the trial)
13:18:23 <fizzie> I would like to know how the court case about my ISP blocking Pirate Bay is going. They did it in early January (when someone had managed to dream up a list of DNS names and IP addresses), and the decision itself from the lowest court came in October 2011; IIRC they immediately filed an appeal, but I haven't heard anything about it, even though it's been seven months now. And there's no web ...
13:18:29 <fizzie> ... thing that I know of to follow on these things.
13:20:06 <Madoka-Kaname> "Can you explain the difference between a package an an API"
13:20:30 <Madoka-Kaname> Then again, if they had even a single programmer, it would likely end VERY quickly.
13:21:03 <fizzie> If they had programmers, they kicked them out.
13:22:14 <ais523> yep, there were several people who knew about programming in the jury selection pool, who got excluded for one reason or another
13:22:24 <ais523> (knowing about programming seems to have been enough of a reason to exclude…)
13:22:40 <ais523> so the jury were selected to not know about the issues in advance
13:22:52 <fizzie> As far as I know, just plain knowing anything about the matter in question is usually a reason enough.
13:23:20 <ais523> there were also some lawyers in the jury selection pool, they got excluded too
13:23:43 <ais523> I vaguely wonder why they even bother to put lawyers in the pool, they're basically guaranteed to get excluded from every case
13:23:55 * ais523 much prefers the UK system
13:24:17 <ais523> where they just take the first 12 random people, unless there's a really obvious reason why they shouldn't be there, like being a relative of the defendant
13:24:23 <Gregor> The jury selection pool is random, neither your profession nor background is relevant until the actual selection process.
13:24:53 <Gregor> Ah, yeah, the very existence of a selection process is somewhat suspect.
13:25:09 <fizzie> It's also specified by law, so they can't just drop people that they thing are likely to be dropped, I suppose.
13:28:04 <fizzie> We don't have much of a jury thing, though the district courts have this "lay judge" people.
13:28:51 <fizzie> I think Sweden is very close, except they have an actual jury system explicitly for libel and press-freedom cases.
13:46:53 -!- Phantom_Hoover has quit (Remote host closed the connection).
13:47:15 -!- Phantom_Hoover has joined.
14:03:43 <Madoka-Kaname> It's somehow better to start with people with no prior knowledge of the subject at hand??
14:09:07 <Sgeo> Is Star Trek: The Animated Series any good?
14:09:56 -!- derdon has joined.
14:14:15 -!- MDude has joined.
14:14:44 -!- ais523 has quit (Ping timeout: 245 seconds).
14:19:20 <Phantom_Hoover> Sgeo, I know it has an episode which is written by Larry Niven which is just a straight copy of one of his short stories but with the Enterprise pasted in.
14:19:33 -!- ais523 has joined.
14:19:36 <Sgeo> Niven... Niven...
14:19:43 <Sgeo> Why does the name Larry Niven sound familiar
14:19:44 <Phantom_Hoover> Which also has the delightful side-effect of welding the Star Trek and Known Space canons.
14:22:23 -!- ais523 has quit (Read error: Connection reset by peer).
14:22:30 -!- ais523 has joined.
14:29:10 <itidus21> i wonder if jury selection is like bfjoust
14:33:28 <Sgeo> I think I've heard the name due to Creatures community
14:34:01 <Sgeo> There was some sort of text-based game
14:36:19 -!- ais523_ has joined.
14:36:32 -!- ais523 has quit.
14:38:28 -!- ais523_ has changed nick to ais523.
14:38:29 <ais523> http://en.wikipedia.org/wiki/List_of_regicides_of_Charles_I
14:38:34 <ais523> haven't followed the link yet, was just admiring the URL
14:39:52 <ais523> the page content is disappointing by comparison
14:40:06 <itidus21> The Jury or Juror has the following question: "I'm Sick. Can I get a sick day without being discharged? Sorry."
14:43:10 <ais523> she was discharged, in order to not hold up the trial, and also because the judge was worried about the illness spreading
14:43:40 <Sgeo> I'd hate to miss Jury duty due to being sick
14:45:02 <ais523> you probably would if you'd already spent two weeks listening to the evidence
14:45:34 <ais523> I remember the judge talking about the situation the following day (the whole jury'd been dismissed for the afternoon)
14:45:53 <itidus21> i think i could excuse myself from being in a jury
14:46:10 <ais523> he pointed out that there were three possibilities: he could arrest her and force her to serve (legally), but he thought that was a stupid idea; wait for her (she'd likely take at least a day); or discharge her
14:46:10 <ais523> so the third option was the only really sane one
14:46:25 <itidus21> you guys have heard me chat.. i don't think it would take much for me to show its a bad idea to have me in there
14:47:29 <Gregor> There's an episode of Becker where the titular character is awaiting jury duty, and decides to bring a book about law with him since to his non-stupid mind that makes sense. At first in the juror interviews he says things like, "in fact, I've been reading a book about law and–" before they dismiss him, but by the end he realizes that even if he just says "book" he'll be dismissed.
14:47:44 <itidus21> Gregor: yes i saw some of this on tv the other week!
14:49:03 <itidus21> i remember the book thing at least
14:49:47 -!- ais523_ has joined.
14:50:22 <itidus21> i wonder if discussing jury duty excludes us all from doing jury duty?
14:51:09 <Gregor> Knowing enough about civics to realize that there exists a concept of jury duty excludes you from jury duty.
14:52:08 -!- ais523 has quit (Ping timeout: 252 seconds).
14:54:43 <itidus21> i wonder how many of those in the jury subsequently took up programming hobby
14:54:44 -!- ais523_ has quit (Ping timeout: 245 seconds).
14:56:31 -!- Taneb has joined.
14:58:58 -!- nooga has quit (Quit: Lost terminal).
15:01:25 <itidus21> with this, i also thought up a new way to set up a school. that if you fail, some anonymous person in the class takes the fall for you.
15:02:03 <itidus21> although such a system could be exploited by those who don't have much morals, it may be highly motivating
15:04:53 <Madoka-Kaname> itidus21, I'd imagine that at least one took up programming. I'm sure anybody able to fully understand low level stuff like that in the span of 2 weeks would do at least decently
15:06:46 <itidus21> they were probably motivated to learn by knowing that there were consequences for failing to learn.. i think thats where i bridged the two ideas
15:14:27 <Madoka-Kaname> <itidus21> with this, i also thought up a new way to set up a school. that if you fail, some anonymous person in the class takes the fall for you.
15:14:52 <Madoka-Kaname> Do I need to say what happens if you try that K-12 or pre-graduate?
15:14:58 <Madoka-Kaname> (And people will call you super-unfair post-graduate)
15:15:16 <itidus21> i wanted to unpost that after i posted it
15:15:44 <itidus21> i can feel a spirit of fascism in it
15:30:43 <Taneb> I had 3 exams today
16:20:33 -!- MoALTz_ has joined.
16:23:01 -!- MoALTz has quit (Ping timeout: 244 seconds).
16:32:58 <Sgeo> I'm installing a new version of the JVM
16:33:21 <Sgeo> And the ad in the installer says Java is installed in 3 billion places, including cell phones
16:39:18 <Taneb> My old phone had it
16:39:55 <Sgeo> I was just amused, because of the whole Oracle vs Google over Android thing
16:41:06 <pikhq> That's not counting Android.
16:41:26 <Taneb> Hang on, my new phone has it
16:41:28 <pikhq> Though it is counting the large number of feature phones, which invariably have Java ME.
16:42:57 <Taneb> I don't think either of my middle phones had it?
16:52:43 <pikhq> Almost surely did.
16:53:17 -!- calamari has joined.
16:54:00 <pikhq> I'm pretty sure the only phones *without* a JVM installed on them in the past decade are Android phones.
16:54:18 <Gregor> I'm sure Windows phones don't have a JVM.
16:54:22 <Sgeo> pikhq, iPhone has a JVM?
16:54:28 <Gregor> Yeah, iPhone definitely doesn't.
16:54:54 <pikhq> Okay, apparently smartphones are weirder than I thought.
16:55:11 <nortti> well featurephones didn't tecnicaly use JVM. they used KVM
16:55:12 <Sgeo> I should write an apology to #scheme
16:55:18 <Sgeo> I inflicted a clueless person on them
16:55:38 <Gregor> Windows phones are a .NET monstrosity on top of Windows CE, which is of course also a monstrosity.
16:55:56 <Gregor> iPhone is quite fervently against VM languages, except for JavaScript.
16:56:04 <Gregor> (And then only their VM)
16:57:16 <pikhq> Apparently Apple decided to permit Sun to do a port. Sun has not since bothered.
16:57:23 <pikhq> And Oracle is unlikely to.
16:58:03 <pikhq> As they seem to be moving into the lucrative "lawsuit" market.
17:03:28 <Gregor> Man, xz is REALLY slow.
17:04:38 <Gregor> I don't know if its compression ratio is worth its speed.
17:06:14 <Gregor> Wow, although it sure is an impressive compression ratio X-D
17:06:24 <Gregor> Just got a Snowflake root image to 20% original size.
17:09:39 <calamari> Gregor: I stopped using bzip2 and I just use gzip since it's faster.. slightly bigger but not too much difference between those two anyways
17:10:00 <calamari> is xz significantly better than bzip2?
17:10:38 * Sgeo puts SICP on his Nook
17:10:50 <Gregor> It's unequivocally better. Whether it's significantly better depends on who you ask, the phase of the moon, ...
17:12:21 <calamari> ah you can use it on the kernel, that's cool
17:15:11 <Phantom_Hoover> http://tvtropes.org/pmwiki/pmwiki.php/Main/GaussianGirl
17:17:39 -!- Taneb has quit (Ping timeout: 245 seconds).
17:18:12 <Lumpio-> >Named for the Gaussian Blur effect in Adobe Photoshop and imitators.
17:19:27 -!- pikhq has quit (Ping timeout: 244 seconds).
17:19:33 -!- pikhq has joined.
17:51:29 -!- pikhq_ has joined.
17:51:38 -!- pikhq has quit (Ping timeout: 240 seconds).
17:55:32 -!- Taneb has joined.
17:58:35 -!- FireFly has quit (Changing host).
17:58:35 -!- FireFly has joined.
18:12:42 -!- monqy has joined.
18:27:08 -!- SimonRC has quit (Ping timeout: 240 seconds).
18:29:17 -!- asiekierka has quit (Remote host closed the connection).
18:29:28 -!- nortti_ has joined.
18:29:48 -!- Taneb has quit (Quit: Leaving).
18:30:48 <nortti_> does anyone here know free shell account provider that lets users run ircbots
18:31:09 -!- azaq23 has joined.
18:31:18 -!- azaq23 has quit (Max SendQ exceeded).
18:36:14 -!- SimonRC has joined.
18:38:13 <fizzie> Does it need to be still alive?-)
18:39:56 <fizzie> Or does it count if it is a free shell provider but has an annual-cost membership tier which allows that?
18:41:39 <fizzie> Well, I mean, it is still a completely free shell provider (for some users), and it does let (some) users run ircbots, it's just that the two sets of users don't intersect.
18:43:09 <nortti_> it has to let free shell accounts run ircbots
18:43:45 <calamari> nortti: why not run it from your connection?
18:43:54 -!- oerjan has joined.
18:45:13 -!- impomatic has joined.
18:45:37 <impomatic> Song contest? Like #songsincode or something?
18:46:08 <impomatic> Which reminds me, there's still a few days left to enter http://code-poems.com
18:48:15 <fizzie> nortti_: If IPv6-only IRC is okay, I think geekshells.org maybe? Haven't tried, but their front page mentions precompiled eggdrops.
18:48:50 -!- KingOfKarlsruhe has joined.
18:48:59 <nortti_> calamari: freenode requires SASL from users of my ISP
18:49:25 <nortti_> fizzie: well I have my own ircbot coded in python
18:50:34 <nortti_> calamari: freenode block users of my ISP if their irc client/bots don't use SASL
18:52:33 <fizzie> nortti_: You could get a v6 tunnel and run your IRC thing over that. (It's what I do at the moment, since they started doing that for my ISP too, and the bouncer I've been using doesn't do SASL.)
18:53:09 <nortti_> fizzie: do you also use elisa?
18:53:41 <nortti_> what does [calamari VERSION] meaŋ
18:54:16 <calamari> your client responded: -nortti_- VERSION AndroIRC - Android IRC Client (3.3.4 - Build 54a08b6-) - http://www.androirc.com
18:55:29 <fizzie> It's not all *that* hard, based on the length (not terribly long) of the xchat/irssi SASL patches freenode distributes. (Still, it... might be a file before I can manage to do that for fungot.)
18:55:43 <fizzie> It's not even a patch.
18:56:41 <nortti_> yeah. but getting it to work is another thing. I have even more reasons to hate perl now
18:56:45 <calamari> looks like there are a few free sasl implementations for python out there too
18:57:36 <nortti_> calamari: if something under BSD/ISC/MIT/CC0/WTFPL shows up tell me
18:58:39 <fizzie> One of the XChat scripts is in Python. Though admittedly it's GPL'd and they say it's broken by some Debian/Ubuntu patch, which is kinda weird.
18:59:34 <nortti_> yeah. I don't really like GPL <=2 and hate GPL 3
19:00:32 <nortti_> nope. They are jusr toi restrictive
19:01:42 <nortti_> I was fan of GPL but nowadays I use WTFPL
19:04:24 <nortti_> Also I think that calling linux distr
19:04:41 <nortti_> +os GNU/linux distros is stupid
19:05:17 <nortti_> next step: FSF says linux has to be called stalmaniz
19:26:13 <kmc> calling it GNU/Linux is not a matter of politics, just basic correctness
19:26:30 <kmc> i frequently have occasion to talk about GNU tools on other kernels, as well as other userland on Linux
19:29:34 <nortti_> well then it kinda makes sense but calling distro that has gcc+binutils as only gnu software GNU/Linux is stupid
19:29:57 <Gregor> People DON'T call distros that have only gcc+binutils GNU/Linux.
19:30:01 <Gregor> Because of that matter of basic correctness.
19:30:08 <kmc> most "Linux distros" have a lot more GNU software than that
19:30:30 <kmc> this is exactly *why* FSF cares what you call it!
19:30:34 <Gregor> That's actually the most compelling reason to use the term, to disambiguate the vast majority of distros from those few unique ones. GNU/Linux = GNU userland, Android is not GNU/Linux.
19:31:09 <kmc> because you're ignoring many of their contributions
19:31:55 <nortti_> Gregor: they don't? explain SliTaz GNU/Linux
19:32:30 <kmc> what libc does SliTaz use?
19:32:33 <kmc> what coreutils?
19:33:11 <nortti_> kmc: glibc, busybox. and it doesn't include gcc and binutils on normal install
19:33:28 <kmc> so they use glibc
19:33:50 <Gregor> glibc is a pretty major component, already on its way to being quite reasonably "GNU/"
19:35:07 <kmc> you don't have to like GNU project, but refusing to acknowledge their contributions as a way to stick it to RMS is just churlish
19:35:23 <nortti_> it is a major component but still just one component. Should I call my distro jmld MUSL/Linux
19:35:32 * ion looks up “churlish”.
19:35:33 <kmc> if you like
19:36:04 <pikhq_> nortti_: If you're only using gcc and binutils, you're about as GNU as BSD. :)
19:36:16 <kmc> nortti_: I don't care if you do or not
19:36:35 <kmc> but if I see someone in another channel call it "MUSL/Linux" i'm not going to be like "hey call it Linux, fuck that nortti_ guy"
19:37:43 <nortti_> kmc: I have nothing against them. I just don't like their licenses and that they want everyone to call every linux distro containing even a tiny bit of GNU software GNU/Linux
19:39:59 <Gregor> I probably would find it perfectly reasonable for SliTaz to call themselves something else. They're at best a border case. But it's not at all ambiguous for the vast, vast majority of distros.
19:43:59 -!- impomatic has left.
19:45:12 <nortti_> well if you really want to call linux distro that has gcc+binutils+gnu coreutils+glibc GNU/Linux go for it but I still think it is kinda stupid. If it had something like 25% of software made by GNU I would use GNU/Linux
19:45:25 -!- monqy has quit (Ping timeout: 248 seconds).
19:45:43 <kmc> it's dumb to put a number on it
19:45:54 <kmc> the point is, i recognize the contribution of GNU, and I personally choose to acknowledge it
19:46:06 <kmc> i'm not going to like go into #ubuntu and yell at them all for saying "Linux"
19:47:16 -!- monqy has joined.
19:47:21 <kmc> i'm not going to pick a fight, as RMS would, and as you did
19:47:57 <kmc> you know recognizing GNU's contribution to open source software does not require agreeing with every crazy thing the FSF says
19:48:01 <kmc> i don't even particularly like the GPL
19:48:18 <nortti_> ny distro is GNU/Busybox/MUSL/Linux
19:50:59 <nortti_> but yeah. they have done much good for open source but also mach bad for it
19:51:33 <nortti_> I still think there is more good things they have done
19:52:28 <itidus21> i can't see the big picture.. just how good is the best unix system?
19:53:03 <itidus21> (sees the answer but add sthis anyway) that the free alternative takes this much work
19:53:17 <kmc> or is not as good
19:53:55 <itidus21> is gnu/linux not as good as the best existing unix?
19:54:17 <kmc> depends on what you're doing
19:54:18 <Lumpio-> Well it depends on how good the best unix is
19:54:26 <Lumpio-> I'd say Linux is something like a 17
19:54:29 <Lumpio-> On the standard goodness scale
19:54:43 <kmc> it's a mysterious question because it's a stupid question ;P
19:54:45 <itidus21> why would anyone even pay for unix anymore then?
19:54:50 <kmc> things aren't ranked according to a clear goodness scale
19:56:06 <nortti_> bit offtopic but original unixen are free currently
19:56:10 <itidus21> maybe i should look these things up and not ask the dumb questions
19:57:24 <kmc> if by "GNU/Linux" you mean that you compile upstream sources and run those, then it's a disaster for security
19:57:25 <Lumpio-> Phantom_Hoover: I said, on the standard scale
19:57:38 <kmc> the Linux kernel devs don't even keep track of which commits are security-relevant
19:57:43 <kmc> in fact I think they deliberately obfuscate it
19:58:01 <Lumpio-> "out of what?" when somebody tells you it's 16 o'clock
19:58:07 <kmc> you need a distribution to keep track of security, and to backport security fixes so you don't need a full upgrade
19:58:34 <kmc> and based on paying a lot of attention to this for a while, Red Hat does a much better job than any of the distros you can get for free
20:01:58 <kmc> and CentOS will get you those updates for free, but only after months of delay
20:02:29 <itidus21> someone who was born in the year 2000 will have some confusion over why their world is linux mac and windows
20:03:22 <nortti_> itidus21: what do yo mean?
20:05:14 <nortti_> why would it make more sense for people not born in year 2000?
20:06:45 <itidus21> i mean it won't occur to them that windows is an attempt to cash in on the idea of GUI, and linux and/or GNU/linux is a free(or freer?) version of some programmers workbench(wiki)
20:07:01 <itidus21> they would just have to invent their own idea of what linux and windows are
20:07:39 <kmc> you are barely coherent
20:09:25 <nortti_> itidus21: occured for my little sister born in 2000 and for me born in 1997
20:09:42 <kmc> nortti_: you were born in 1997?
20:10:14 <kmc> i feel old
20:11:05 <fizzie> Whoa, a post-Windows 95 birth is kinda weird, yes.
20:12:09 <kmc> nortti_: 1988
20:12:13 <kmc> almost 10 years before you
20:12:22 <fizzie> Also I feel old when younger people say "I feel old", like now.
20:12:31 <Lumpio-> Bein' born like it's the 80s
20:12:49 <fizzie> Being born is so 80s, no-one gets born nowadays.
20:15:13 <oerjan> fizzie: shaddap, whippersnapper
20:15:25 <fizzie> oerjan: I was kind of waiting for that.
20:15:28 <calamari> is there some simple replacement for /dev/dsp?
20:15:46 <kmc> how so? you want to send raw PCM data to the sound card?
20:15:51 <kmc> look at sox and play
20:16:38 <calamari> kmc: yeah.. it's kinda sad that ability is gone now
20:16:42 <fizzie> Alternatively, if you have code written for a /dev/dsp, 'padsp' LD_PRELOAD-emulates it with Pulse.
20:18:45 <nortti_> what do you mean by gone and when?
20:20:15 <calamari> nortti_: gone meaning /dev/dsp no longer exists
20:20:49 <nortti_> from since when? Slitaz seems to still have it
20:21:13 <Sgeo> I should read SICP at some point
20:22:42 <nortti_> why did the remove it? I still want to be able to drive other people crazy with find / > /dev/dsp
20:24:06 <oerjan> a great loss to harassment technology
20:30:10 <pikhq_> calamari: Beat Linux devs a bit.
20:31:19 <nortti_> I have never had problem with it. but then again I have only used IBMs and POMIs
20:35:40 <itidus21> nortti: well its weird cos when i was young 8bit NES was this exciting thing.. and infact the first game we got for it was pinball.. and stayed up all night playing that..
20:36:04 <itidus21> the next day xmas day our relatives had been told about this NES thing we have so were able to get even more games
20:36:10 <itidus21> it was a very whoa kind of day
20:36:41 <itidus21> up till that point most exciting possession would have been the slotcars
20:42:01 <itidus21> as for operating systems, i had some version of dos with qbasic1.0 included, then windows 3.1, we probably had win 95 i can't even remember, then win98SE,
20:42:56 <itidus21> and video games, i had pretty much stopped playing them by the time your sister born :-D
20:44:53 <nortti_> itidus21: My first computer was also DOS machine (well it also had win95 but after I learned how to use dos I preferred CLI over GUI.
20:47:54 <nortti_> I have always been hanging around the low ens
20:49:55 -!- elliott has joined.
20:56:29 <kmc> Sgeo: you should :)
20:56:50 <kmc> /dev/dsp was never a great interface
20:56:57 <kmc> you have to use ioctls to set the sample rate etc.
20:57:01 <elliott> you can copyright a db schema, right?
20:57:02 <lambdabot> elliott: You have 1 new message. '/msg lambdabot @messages' to read it.
20:57:10 <kmc> in that sense, piping to 'play' is more convenient
20:57:18 -!- MoALTz_ has quit (Quit: brb).
20:57:36 -!- MoALTz has joined.
20:58:38 <elliott> 09:04:31: <ais523> well, it makes some sort of sense to have the key with the rest of the source on their dev machines, because it's part of what you need to actually build and release the extension
20:58:53 <elliott> I disagree, developers shouldn't have access to an important production-use private key...
20:59:08 <elliott> ah, it's a chrome-extension-signing key
20:59:11 <elliott> well, I stand by that, still
20:59:48 <elliott> "Also note the second Yahoo! employee reply right after the OP, who goes by the name: "?" - likely an abbreviation for "Yahoo?"."
21:00:30 <elliott> 09:08:01: <ais523> but still, a valid private key for Yahoo! is the sort of thing that criminals would find quite valuable
21:00:34 <elliott> well, it's not /that/ valuable
21:00:54 <elliott> all it lets you do is write a browser extension that people think Yahoo wrote for the next 5 minutes before Google special-case it
21:01:16 <elliott> 09:11:15: -!- cheater has joined #esoteric.
21:01:16 <elliott> 09:11:15: -!- ChanServ changed the modes of #esoteric: +b cheater*!*@*.adsl.alicedsl.de
21:01:16 <elliott> 09:11:15: -!- ChanServ has kicked cheater from #esoteric: User is banned from this channel
21:02:21 <elliott> 09:38:52: <Sgeo> Was a way to go protected -> real ever introduced?
21:02:27 <elliott> Sgeo: yes, and you can use it for "unreal mode"
21:02:39 <elliott> "In x86 computing, unreal mode, also big real mode, huge real mode, or flat real mode, is a variant of real mode, in which one or more data segment registers have been loaded with 32-bit addresses and limits."
21:05:52 -!- KingOfKarlsruhe has quit (Ping timeout: 265 seconds).
21:12:39 -!- kwertii has joined.
21:13:20 <MDude> http://images.4chan.org/vg/src/1337824725371.png
21:18:51 <elliott> 10:36:24: <Sgeo> OS dev is not a CS subject, right?
21:18:51 <elliott> 10:36:31: <Sgeo> So what sort of thing is it?
21:23:36 <elliott> Is "interiour" a valid spelling in any dialcet?
21:23:53 <elliott> http://en.wiktionary.org/wiki/interiour Apparently.
21:24:34 <shachaf> British spelling is so complicated even Brits don't know how to do it.
21:24:50 <elliott> Actually, in this case it's Australian English.
21:25:12 <shachaf> Commonwealth spelling is so complicated even Brits don't know how to do it.
21:28:44 <MDude> Meant to post that somewhere else.
21:29:29 <Sgeo> Someone wrote a Scheme interpreter in LSL
21:29:48 <Sgeo> I should totally just fix it up to be usable for general scripts in SL
21:32:59 -!- nortti_ has quit (Quit: AndroIRC - Android IRC Client Sucks @$$( http://www.androirc.com )).
21:36:38 <elliott> "I need a map which can contain arbitrary values as long as their types are of the same typeclass."
21:36:59 <elliott> The joke is that they don't actually want that.
21:37:10 <Sgeo> I already thought of a solution
21:37:43 <Sgeo> Well, "I" and "thought" are slight exaggerations
21:44:43 -!- MSleep has joined.
21:46:24 -!- MDude has quit (Ping timeout: 245 seconds).
21:49:22 <Gregor> Are you kidding me X-D
21:50:37 <itidus21> for just kidding we might also say just joshing. i dunno which country that originates but its used in australia
21:50:50 <elliott> Gregor: It's in Crawl's los.cc :P
21:51:14 <Gregor> itidus21: "Joshing" in that meaning was not uncommon in the US a few decades ago.
21:51:32 <itidus21> ""Just joshing you" came from the late 1800's and has a very interesting story behind it! Josh Tatum was a deaf mute, but a very enterprising young man from the"
21:51:35 <Gregor> In fact, I can point to a line in MLP that uses it, and that's Canadian ;)
21:53:07 <itidus21> http://wiki.answers.com/Q/Where_did_the_term_just_joshing_you_come_from
21:55:38 * oerjan considers asking the obvious question
22:08:58 <Sgeo> Ok why TF is a stupid wrapper around an HTML renderer taking up so much memory
22:10:49 <pikhq_> [...] HTML renderer [...] memory
22:11:36 -!- elliott has quit (Remote host closed the connection).
22:12:19 -!- elliott has joined.
22:14:35 <oerjan> incidentally the answer to the obvious question was "yes".
22:16:01 <oerjan> (i didn't even have to google, just follow a couple of links)
22:27:15 <elliott> what was the obvious question.
22:27:37 <oerjan> "is that answer joshing us?"
22:28:59 <oerjan> specifically, the term is older than the events in the story, whether or not the story is true.
22:29:19 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
22:39:14 <elliott> oerjan: i'm sad the story isn't true
22:40:39 * oerjan gives elliott a lollipop
22:47:50 -!- Phantom_Hoover has joined.
22:50:21 -!- Patashu has joined.
22:51:46 <oerjan> *A +1 staff of lollipop.
22:53:26 * elliott wished for 99 blessed greased fixed +42 staffs of lollipop
22:53:32 -!- derdon has quit (Remote host closed the connection).
22:55:59 -!- david_werecat has joined.
23:08:54 -!- kwertii has quit (Ping timeout: 245 seconds).
23:12:02 -!- kwertii has joined.
23:12:02 -!- kwertii has quit (Changing host).
23:12:02 -!- kwertii has joined.
23:15:13 <elliott> shachaf: http://nethackwiki.com/mediawiki/index.php?title=Nethack.alt.org&curid=2459&diff=78074&oldid=74669
23:15:18 <elliott> shachaf: NOW YOU'RE EVEN MORE FAMOUS.
23:23:42 <elliott> Patashu: What do quarterstaves of speed do?
23:24:15 <monqy> they're like quarterstaves,
23:24:27 <elliott> monqy: should i use a +2,+1 quarterstaff of speed
23:24:30 <elliott> im ddak that's going to cast spelles
23:24:54 <monqy> i think speed is something like 2x speed but in dcss at least they have slightly nerfed damage uhh
23:25:06 <monqy> i think also in dcss qstaves got buffed though so
23:25:09 <elliott> a - a +2,+2 dwarven hand axe (weapon)
23:25:09 <elliott> g - a +2,+1 quarterstaff of speed
23:25:16 <monqy> i'd use the qstaff
23:25:19 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: choices': not found
23:25:47 <elliott> Maybe I should be a DDAK stabber.
23:28:43 <Gregor> <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: choices': not found
23:35:02 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:41:29 <oerjan> wtf http://www.dagbladet.no/tegneserie/gjesteserie/morketid/ (i don't _think_ you need to understand the text...)
23:44:36 <oerjan> anyway let that be a warning to everyone to do careful testing of their time travel devices.
23:46:55 <shachaf> DID YOU HEAR THAT I'M FAMOUS?
23:47:32 <oerjan> WHITE UP POINTING INDEX? THAT'S RACIST
23:48:13 <shachaf> oerjan: Unicode doesn't have BLACK UP POINTING INDEX. :-(
23:48:52 <oerjan> unicode is racist, check
23:50:38 <Gregor> For some reason it has BLACK LEFT POINTING INDEX and BLACK RIGHT POINTING INDEX, but not UP or DOWN.
23:51:57 -!- elliott has left.
23:53:26 -!- MSleep has changed nick to MDude.
23:55:09 <kmc> why are you famous shachaf
23:55:29 <shachaf> 16:15 <elliott> shachaf: http://nethackwiki.com/mediawiki/index.php?title=Nethack.alt.org&curid=2459&diff=78074&oldid=74669
23:55:31 <shachaf> 16:15 <elliott> shachaf: NOW YOU'RE EVEN MORE FAMOUS.