00:00:26 -!- myndzi\ has quit (Ping timeout: 255 seconds). 00:20:52 -!- Wamanuz has quit (Ping timeout: 240 seconds). 00:24:44 -!- hagb4rd has quit (Ping timeout: 255 seconds). 00:26:58 -!- nooga has quit (Read error: Operation timed out). 00:28:09 -!- nooga has joined. 00:28:11 -!- myndzi has quit (Ping timeout: 260 seconds). 00:49:46 -!- nooga has quit (Read error: Operation timed out). 00:51:35 -!- nooga has joined. 00:53:57 -!- zzo38 has joined. 00:59:30 -!- myndzi has joined. 01:03:46 -!- myndzi has quit (Ping timeout: 240 seconds). 01:06:01 Yay the A20 line turns on properly. 01:06:48 Good. 01:12:35 -!- myndzi has joined. 01:17:13 -!- myndzi\ has joined. 01:17:45 -!- myndzi has quit (Ping timeout: 260 seconds). 01:21:13 -!- elliott has quit (Quit: Leaving). 01:23:56 -!- myndzi has joined. 01:25:33 -!- myndzi\ has quit (Ping timeout: 265 seconds). 01:29:06 Do you like the idea http://esoteric.voxelperfect.net/wiki/TNTNT that you have to write a program in the form of a proof, and then run in the loop to figure if it is works that is the output? 01:29:30 What is its computational class? 01:31:05 -!- Goosey has quit (Remote host closed the connection). 01:31:29 Why is many things blocked from being typed in esolang wiki? These things should only be blocked for users that is not autoconfirmed accounts. 02:06:15 -!- zzo38 has quit (Remote host closed the connection). 02:28:13 -!- oerjan has quit (Quit: Good night). 02:32:38 -!- Gregor has set topic: This channel speaks not english. Please using other channel unless chinese! | 该通道目前正在红色中国的控制权。请继续深奥的活动不受干扰。 | 光榮的中華民國應收回這個主題的一些日子! | חנוכה שמח, הגויים! | sed อยู่เสมอดีกว่า Perl! | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 02:37:17 mi lojbo tavla 02:37:53 .i la lojban du lo bangrjonue 02:49:57 -!- goneriku_ has joined. 02:52:09 -!- goneriku has quit (Ping timeout: 272 seconds). 02:52:22 -!- goneriku_ has changed nick to goneriku. 03:00:26 -!- nooga has quit (Ping timeout: 255 seconds). 03:00:46 -!- nooga has joined. 03:13:14 -!- goneriku has left (?). 03:14:49 -!- augur has joined. 03:55:25 -!- augur has quit (Remote host closed the connection). 03:56:01 -!- augur has joined. 04:00:12 -!- augur has quit (Ping timeout: 240 seconds). 04:23:30 -!- augur has joined. 04:47:52 -!- zzo38 has joined. 04:48:37 This IRC client does not support sending non-ASCII (but it is capable to receive non-ASCII). I cannot type in Chinese. 04:48:46 Especially not simplified Chinese. 04:55:24 just think of everything as a "hanzi compound" 04:55:29 made up of multiple ascii characters 04:55:29 :P 04:56:25 It's a good thing nobody on this channel speaks Chinese then! 04:58:49 I am making the game with some ideas based on the ideas of Godel,Escher,Bach 04:59:08 And you also make the game with some ideas based on the ideas of Godel,Escher,Bach, too, please. 04:59:33 -!- Gregor has set topic: 這個通道是專門為追求深奧的話題在計算和編程語言。 | This is channel having esoteric programming computer language. We talking in chinese here, if english find other channel please! | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 05:03:22 -!- pingveno has joined. 05:09:37 Gregor: Indeed, we must make a point of using only languages nobody here speaks. 05:09:55 pikhq: Yes! 05:10:42 I want to find somebody Taiwanese to make the first part /perfect/ :P 05:10:44 -!- augur has quit (Ping timeout: 264 seconds). 05:11:12 Can you play Taiwanese mahjong? 05:11:36 I can play Japanese mahjong. 05:12:14 Oh, wow. There has been a message intentionally broadcast into space in Klingon. At the hypothetical coördinates of Qo'nos. 05:12:40 It invited Klingons to attend a performance of the opera 'u'. 05:12:48 zzo38: Although I'm sure that skill would bring me well on my way to understanding traditional Chinese, I cannot. 05:12:48 pikhq: ... must ... kill ... 05:12:51 pikhq: There is? 05:13:21 Gregor: Said opera was entirely in Klingon. 05:13:55 You do not need to understand much Chinese to play mahjong, except for the numbers 1-9 and the compass directions. They are the same in Japanese, also. 05:14:49 What does 'u' mean in Klingon? Does it mean anything? 05:15:20 zzo38: 一二三四五六七八九十北南東西? 05:15:40 zzo38: And it means "universe" or "universal". 05:17:15 The ' are significant. 05:17:29 pikhq: Yes those are the numbers and compass directions. However, ten is not used in most forms of mahjong. 05:17:41 Oh, right, you said "1-9" 05:17:43 And I do know the ' are significant, they do represent Klingon letter. 05:18:05 Wait, Star Trek used a ... system that corresponds with real space? 05:18:21 As opposed to just saying "Oh, we're x light-years away from Y"? 05:18:43 I do know that when writing Klingon texts using English alphabet, ' is a letter and uppercase/lowercase are used to represent different letters instead of grammar. 05:19:09 Sgeo: They used quadrants, isn't it? 05:19:47 ' is, like in most languages using it for a *phoneme*, the glottal stop. 05:21:14 zzo38, what about within a quadrant? 05:22:05 Sgeo: I don't know, actually. 05:22:52 Sgeo: Trek is one of those universes where everything that the fans can explain, has been. 05:23:01 The power of fanon! 05:23:39 What about "Threshold" ::trollface:: 05:24:17 Threshold has been retconned out of existence. 05:24:32 pikhq: Also, in mahjong, the directions are always go in the order East, South, West, North. The East player always plays first. In Japanese mahjong, East always pays and receives double (before other calculations). (If Wareme is used, Wareme also pays and receives double, but *after* other calculations.) 05:24:45 Do reruns of VOY show Threshold? 05:24:54 Sgeo: I hope not. 05:25:05 Sgeo: But anyways, the episode is officially not canon. 05:25:12 Sgeo: Because it sucked that much. 05:25:52 I should watch it! 05:26:02 But somehow it won an Emmy. 05:26:06 (for makeup) 05:26:27 Sgeo: Its *author* says it's shit. 05:27:04 Would it happen to be So Bad It's Good? 05:27:12 So Bad It's OHMYGODWHY 05:27:48 Much like the infamous Star Wars Christmas Special. 05:28:09 Sorry, *Holiday* Special. 05:30:43 Do you have any comments about TNTNT? 05:31:44 Is it Christian TNT? 05:32:07 Sgeo: No. 05:32:17 Look on the esolang wiki. 05:38:20 -!- myndzi\ has joined. 05:40:09 \o/ 05:40:16 :( 05:41:06 -!- myndzi has quit (Ping timeout: 240 seconds). 05:42:19 \o/ 05:42:19 | 05:42:20 /< 05:44:20 What is the computational class of RecurseMe? What is the computational class of SimulRecurseMe? 05:51:19 RecurseMe looks TC, but I'm tired 05:51:29 You have BF style test/loops 05:51:59 Although how is "subroutine" defined? 05:55:16 Sgeo: The only subroutine is the program itself. 05:55:25 But it can call itself recusively. 05:55:32 See the Talk page for more information. 05:56:00 So that's not a BF-style loop 05:58:13 -!- Goosey has joined. 05:58:59 Sgeo: Yes, correct, it is not a BF-style loop. The program is only allowed to call itself recursively. 06:08:59 -!- Goosey has quit (Ping timeout: 255 seconds). 06:18:06 -!- sftp has quit (Remote host closed the connection). 06:18:40 -!- augur has joined. 06:21:57 -!- Quadrescence has quit (Quit: omghaahhahaohwow). 06:30:26 -!- augur has quit (Ping timeout: 240 seconds). 06:38:24 I know the channel doesn't care, but I like to keep a log 06:38:46 n/m, I think I can do without 06:38:56 There is also the public log already available 06:40:40 I meant, I like to abuse that public log to keep a record of when I take certain medications (e.g. Tylenol) 06:43:40 Sgeo: O, that is what you mean. 06:45:24 What random number generating algorithm do you think is suitable for TeXnicard? Is the one in METAFONT acceptable? (If so, I can reference it in the bibliography of TeXnicard.) 06:46:54 I think the one where I go back in time to Tuesday and prevent ... it feels like I'm making a joke 06:46:58 I shouldn't joke 06:47:41 How can you go back in time to ... 06:47:51 -!- wareya has quit (Read error: Connection reset by peer). 06:48:31 I can't, obviously 06:48:33 -!- wareya has joined. 06:57:08 -!- Quadrescence has joined. 07:05:49 This is one of the old problems in anarchy golf: Emulate the printer-oriented 'banner' command in BSD. You are given input like: banner -w 48 ":-)" 07:06:34 This 'banner' program is installed in the system, but it is not in the path. In addition, it adds extra spaces to the end of the lines, which must be removed for this golf competition. 07:07:00 Without looking, do you know which programming language has the shortest solution, who the winner is, and/or how long the shortest solution is? 07:09:21 -!- augur has joined. 07:56:42 zzo38, it is probably shell 07:57:25 something along the lines of /path/to/banner $@|sed 's/ *$//' should work 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:01:50 I had to go look; but I like the "eval /*/*/`dd`" solution of building the banner command to invoke in the (not shortest) bash solution. 08:03:47 (It's given as input, not as a command line argument.) 08:04:32 (That is "not shortest" in the sense of "not shortest, globally"; it was the shortest shell one.) 08:08:58 Vorpal: That was someone's solution, to try that. But the shortest was vi 08:09:38 Actually, no, wait, that wasn't someone's solution. 08:09:44 (Except for the 'sed' part) 08:10:57 I do like the vi one too. 08:11:41 There are two in vi, both of them shortest than the shortest shell script solution, though. 08:21:06 There are a few strange things on anarchy golf, such as the "123" problem and the "Check for brainwave activity" problem. And others. 08:37:40 08:59:05 -!- hagb4rd has joined. 09:23:44 -!- ais523 has joined. 09:24:05 -!- augur has quit (Read error: Connection reset by peer). 09:24:09 -!- augur_ has joined. 09:25:01 -!- terry123 has joined. 09:38:07 -!- terry123 has quit (Ping timeout: 272 seconds). 09:42:52 -!- augur_ has changed nick to augur. 10:09:23 -!- augur has quit (Ping timeout: 255 seconds). 10:18:54 -!- augur has joined. 10:34:52 -!- hagb4rd has quit (Ping timeout: 245 seconds). 10:44:15 -!- oerjan has joined. 11:43:31 -!- ais523_ has joined. 11:44:01 -!- ais523 has quit (Disconnected by services). 11:44:04 -!- ais523_ has changed nick to ais532. 11:44:07 -!- ais532 has changed nick to ais523. 11:44:08 whoops 12:02:20 -!- nopseudoidea has joined. 12:16:50 -!- nopseudoidea has quit (Quit: Quitte). 12:30:05 -!- oerjan has quit (Quit: leaving). 12:38:11 hmm, I'm reading the Cocoa memory management conventions, because I was vaguely interesting 12:38:21 and it turns out they're exactly the same as the ones Perl uses internally 12:57:52 -!- atrapado has joined. 12:59:08 -!- augur has quit (Remote host closed the connection). 12:59:33 -!- augur has joined. 13:04:02 -!- augur has quit (Ping timeout: 245 seconds). 13:30:37 -!- nopseudoidea has joined. 13:31:29 -!- nopseudoidea has quit (Client Quit). 13:35:55 -!- Mathnerd314 has quit (Ping timeout: 255 seconds). 13:42:38 -!- ais523 has quit (Remote host closed the connection). 13:48:01 -!- fungot has quit (Ping timeout: 260 seconds). 13:56:58 -!- elliott has joined. 13:57:34 olsner: you've read the x86-64 manual, does it say anywhere "all x86-64 chips have to support the short method of turning A20 on (Fast A20)?" 13:57:37 say "yes" 13:59:21 -!- Phantom_Hoover has joined. 14:02:58 " Well, considering that I’m a computer science major, i figure that I know a great deal about programming and the such. However, I found this book to be simply incomprehensible. I’ve never wasted more time than I did trying to read this book. Worse than its failed attempts at instruction are its failed attempts at humor to “liven up” its instruction. After taking my class, i burnt this book." --Amazon reviewer, on SICP 14:03:13 s/" +W/"W/ 14:05:26 -!- sftp has joined. 14:11:57 elliott: ah, egositical CS majors. 14:12:15 Where would we be without them? 14:12:33 Answer: in a world with much better coding standards. 14:13:33 Have you read your SICP today? 14:13:51 I'd say they give CS a bad name, but it's known to be mathematically impossible to give CS a worse name than it already has. 14:14:01 Slereah: i'm actually going to buy the physical sicp :P 14:14:07 heh 14:14:32 Slereah: can you believe the price for the hardback is £60.75 from amazon, and that's a discount of £3.20! 14:14:39 elliott: "CS majors blamed for Holocaust, global warming." 14:14:41 although third-party sellers have it new from £49.99, ha ha, how cheap. 14:14:42 I can readily believe it 14:14:45 Phantom_Hoover: we already are 14:15:02 Because science books are shockingly expensive and used books sometimes criminally cheap :o 14:15:04 elliott: oh, congratulations on getting the CS major. 14:15:12 Once in a while, I buy one of those one cent book on Amazon 14:15:17 Phantom_Hoover: wut 14:15:21 I pay a thousand time more for the shipping 14:15:31 Slereah: criminally cheap? cheapest used hardback for SICP on amazon is £42.89. 14:15:36 Slereah: softback, £19.94. 14:15:47 elliott: "we". Implying you \in CS majors. 14:16:01 Hell 14:16:02 Phantom_Hoover: Oh. Well, it seems inevitable. 14:16:09 I once bought a $170 book :3 14:16:12 Well, not me 14:16:17 I asked for it for Christmas 14:16:36 Out of print hardback logic book 14:16:50 That's just asking for troubles 14:17:24 Slereah: bastard :P 14:17:37 Why meeee 14:18:09 elliott: what if you're murdered by a psychotic mental health worker? 14:18:29 didn't i tell you, they're all in my mind 14:18:36 Slereah: asking for an out-of-print hardback logic book 14:19:34 -!- Phantom_Hoover has quit (Quit: Page closed). 14:20:23 -!- nooga has quit (Ping timeout: 255 seconds). 14:20:49 Even worse 14:20:59 Somehow, I had to buy an out of print FEYNMAN book 14:21:08 How do you let a Feynman book go out of print? 14:21:17 elliott: The only thing the AMD64 manuals say about the A20 line is that the processor has it; it's an external line, even the short method (out to 0x92) involves external circuitry, so it's a system-level, not a chip-level property. (Okay, to be more literal there's also A20-related stuff in the virtualization bits, but anyhow.) 14:21:25 Plus, it was reedited a few months afterwards 14:21:53 fizzie: OK, rephrase: Has anyone ever made an x86-64 machine that does not support the fast a20 method; if yes, what is their address, and can I have a chainsaw? 14:22:02 -!- nooga has joined. 14:25:25 -!- augur has joined. 14:25:26 -!- augur has quit (Remote host closed the connection). 14:26:13 Not having it available sounds somewhat strange, but I can't seem to find any sort of standard mandating it. (Unless you're willing to limit yourself to EFI machines, where it of course is not an issue.) 14:27:54 -!- augur has joined. 14:32:26 The latest actual complaint about fast A20 not working I can find (with little searching) is someone's 500 MHz P3-mobile laptop, where the fast A20 method works at first, but breaks during hibernate, since only the keyboard-controller way is properly saved. 14:33:46 (And some random dude on the osdev forums claims "the BIOS function will use the best method, and will be supported on modern computers", but would you trust a random dude?) 14:37:16 fizzie: Does EFI specify that A20 is always on or something? Or does it just not have it at all? :) 14:37:42 And considering I get most of my info from the OSDev wiki, I'm sort of in the business of trusting random dudes, but not random dudes who haven't edited a wiki page, that's for sure! 14:37:59 And the full, safe keyboard controller method took up a whole 1/5th of my bootloader space. 14:38:10 EFI boot programs are ran in protected mode with a flat memory map, so I think it's safe to assume it's on at that point. 14:45:02 fizzie: OR IS IT 14:47:14 Hmn. 14:47:19 "The AMD64 Chipset Manuals guarantee I/O port 92, bit 1 to be available for use" says the talk page. 14:48:07 fizzie: Good enough for me. 14:48:29 fizzie: But now I really want a DS9K EFI machine that goes into protected mode with a flat memory map *without* turning the A20 line on. 14:49:26 Actually that Brendan guy from the forum's OS says it works even if turning the A20 line on fails, it just doesn't use those addresses... and his bootloaders all note all the faulty memory in the system so the OS can avoid using them... I think what we have here is someone absolutely devoted to the Right Thing and it's why he said his bootloaders (plural) took days each to write. :p 14:53:00 -!- ais523 has joined. 14:53:26 -!- augur has quit (Read error: Connection timed out). 14:54:26 -!- augur has joined. 14:56:45 that topic is /incredibly/ stereotypical 14:56:58 hmm, I don't know what the Chinese portion says, though 14:57:20 it'd be hilarious if it were a translated version of the English into similarly broken Chinese, except with the words "English" and "Chinese" swapped 14:57:44 This channel is dedicated to the pursuit of esoteric topics in computing and programming languages." 14:57:51 There *is* freely available machine translation nowadays. 14:58:31 indeed, but it's slightly broken 14:58:38 ais523: aww, I thought it was still the old one (saying the channel was in the control of Red China) 14:58:43 and thus, you can't distinguish intentionally slightly broken translations from perfect ones 14:58:51 It's often good enough for deciphering the meaning, anyhow. 14:59:48 -!- elliott has set topic: 這是通道有深奧的編程計算機語言。在這裡,我們用英語交談,如中文,請找其他渠道 | This is channel having esoteric programming computer language. We talking in chinese here, if english find other channel please! | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 14:59:58 in traditional chinese, just to make it more unhelpful than it already is 15:00:12 "This is the channel has profound programming computer language. Here, we talk in English, such as Chinese, please look for other channels" 15:00:38 "The channel is currently being Red China's control. Please continue to esoteric activities without interference." | "Glorious Republic of China should recover some of this theme day!" | "Happy Hanukkah, the Gentiles!" (last one in Hebrew) seems to have been mostly the previous topic. 15:01:05 ais523: i cleaned out the qdb, by the way; i forget if i told you 15:01:25 i had a dream today where there were only 4 quotes left in the qdb due to me removing all the crappy ones, but they were still numbered in the 200s 15:02:05 do you remember what the quotes were? 15:02:52 ais523: more than one line, I know that much 15:03:01 but no, I don't; I don't think I looked at the text in the dream 15:03:19 I had a truly hilarious dream last night, incidentally, but it made no sense on the meta-level 15:03:26 wat :D 15:03:43 normally, the dreams are inconsistent with reality, but you look back on it and think "that's the sort of dream it makes sense for me to have" 15:04:07 in this case, the dream was internally consistent, but it made no logical sense for me to be able to have them 15:04:20 21:24:45 Do reruns of VOY show Threshold? 15:04:22 Yes. 15:04:24 (90% sure) 15:04:50 ais523: i fear that even if you explained the dream this would make no sense to me :) 15:05:24 22:40:40 I meant, I like to abuse that public log to keep a record of when I take certain medications (e.g. Tylenol) 15:05:40 Sgeo: Please tell me you're worried you'll accidentally overdose on Tylenol even while being paranoid about it, so I can chuckle. 15:06:20 elliott: well, it contained a quiz show, and I didn't know the answer to some of the questions, yet I dreamed them anyway 15:06:29 as in, me in the dream didn't know the answers, but the person setting the questions did 15:06:45 ais523: name some questions and answers, and let's see if they're right IRL :P 15:06:48 now, that's an entirely plausible situation normally, yet; how could I know the answer to the question to be able to dream it, and yet not know the answer? 15:07:29 "You have some money. 15:07:30 [I'm korean so they will be won]" --http://golf.shinh.org/p.rb?kM4_ what is this i don't even 15:07:34 elliott: I can't remember all the details (in fact, I missed some of the questions within the dream, due to radio interference), but the nature of the quiz was such that even knowing the answer the questions were almost impossible to answer 15:07:40 "OMFG... There isn't any money... 15:07:40 I have to buy some pen..." 15:07:40 How sad... (What a stupid guy... And then.. You have to buy pen first!!!) 15:08:18 because as the quiz was being done over the radio, in order to avoid cheating, you couldn't answer in words, you instead had to come up with a piece of music that related to your answer and hum it 15:08:27 ais523: :D 15:08:42 ais523: i would listen to that 15:09:04 I remember one of the early questions had "pedantic" as its answer, and it was really easy except that neither I nor the other contestant could think of an appropriate piece of music 15:09:28 ais523: hmm, you know the anagolf challenge i made where you had to output one more each program run? what was it called? 15:09:37 1 2 3? 15:09:48 also, you made that? I noticed it, but there's no author information 15:10:12 It's just "123", if it's that one. 15:10:20 ais523: hmm, perhaps I did 15:10:21 I know I /solved/ it 15:10:35 no, i didn't make it 15:10:40 and my solution was the longest 15:10:43 silly egotistical mind :) 15:10:50 My solution was the only non-cheating one though, I think: 15:10:51 puts 1;x=File.read("test.rb").sub("puts","puts 1+");File.open("test.rb","w").write(x) 15:10:57 elliott: that's also cheating 15:11:10 ais523: it's not as cheating as $$%n 15:11:34 ais523: aha, I made this one: http://golf.shinh.org/p.rb?Calculator 15:11:40 it's much /more/ cheating for some of the large programs 15:11:54 which, nobody has solved without cheating, it seems 15:11:55 including you 15:11:56 because you can write the solution into files with a really large program, then read it back with a small one 15:11:58 or, well 15:12:00 without cheating much 15:12:19 ais523: I think it records the first size 15:12:24 no, it doesn't 15:12:29 in fact, they removed file save and load altogether 15:12:29 heh 15:12:31 to prevent abuse 15:12:39 "they"; you mean shinh 15:12:43 yes 15:12:46 ais523: that's really sad, I liked that solution 15:12:56 even if it was abusable 15:13:29 The Befunge solution for 123 is oh-so-complicated, since there's no PID, so you have to do it with ?, and you have to waste at least a second during the execution, all attempts at the same second get their random numbers seeded with the same. 15:13:34 ais523: how much will people hate me if I make a challenge which is to print out a string of data from /dev/urandom 15:13:49 so you have to try and rely in imperfections in the PRNG somehow :) 15:13:52 it'd just be boring, like hello world 15:13:58 urandom's cryptosecure 15:14:20 ais523: yes, but if the PRNG has a major flaw... 15:14:27 although it doesn't, of course 15:14:38 -!- augur has quit (Read error: Connection timed out). 15:14:41 ais523: also, I'm going to pipe it through cat -v 15:14:42 elliott: there was a hilarious anagolf question which wanted a sequence of numbers printed 15:14:46 so you can rely on the repeated M- and the like 15:14:47 and it was mersenne twister with seed 1 15:14:54 heh 15:15:07 it had a hilariously short solution in the languages which used mersenne twister and didn't seed by default 15:15:27 ais523: hmm, maybe I should seed a PRNG with random not-so-big numbers, and not reveal the seeds 15:15:35 so you can get a short program by brute-forcing what the seed was 15:15:57 And what the PRNG was. 15:16:03 I'd note that. 15:16:44 Non-crypto-oriented ones generally have better methods for finding the internal state than just brute-forcing. 15:16:59 cat -vet; a vet for cats. 15:17:06 fizzie: So I'd use a crypto-oriented one! :p 15:17:18 I'd make all the seeds less than a 8192 or so, so it's not "too" hard. 15:17:30 I'm still disappointed you can kill cat with just one kill(1) invocation, it should take nine 15:18:06 "Error: invalid title (use [a-zA-Z0-9_ ])" 15:18:07 pah 15:18:09 ais523: why? 15:18:10 oh 15:18:11 hah 15:18:23 -!- augur has joined. 15:18:25 You could also have a "--cat" flag for kill(1) that'd send the same signal nine times. 15:18:46 fizzie: no, no 15:18:49 fizzie: or just use -9 15:18:49 it'd be called curiosity(1) 15:18:57 ais523: -9 kills once with SIGKILL... 15:18:59 not nine times 15:19:03 beh 15:19:07 Yes, but it's the appropriate number. 15:19:09 -N is the signal id, not the # of times to kill. 15:19:11 elliott, feel free to chuckle 15:19:14 and it can't be blocked, either 15:19:22 Sgeo: So are you drunk from the vanilla essence, yet? 15:19:24 (I do /know/ what kill -9 does...) 15:19:32 ais523: are you suure :P 15:19:38 "Random data with redundancy from escapes" -- can anyone rewrite this in a better way? 15:19:48 I'm trying to suggest that the cat -v adds redundancy and thus compressibility into the data 15:19:52 elliott: well, it depends on platform 15:19:52 because of the M-s and the like 15:19:55 I'm far from certain what it does on Windows 15:22:18 anyone? :p 15:23:35 -!- Sgeo has quit (Read error: Connection reset by peer). 15:23:56 elliott: sorry, I was trying to remember what M-s did in Emacs 15:24:00 I might even have to C-h c to find out 15:24:11 it is a prefix, it seems 15:24:15 C-h c M-s prompts "M-s-" 15:26:44 M-s o runs "occur", and "M-s h r/u" does highlight/unhighlight a regexp. 15:27:09 This is irritating. 15:27:24 It seems that the only way to stay sane in a bootloader is to use the BIOS in unreal mode. 15:27:30 Which is ... ugh. 15:28:02 elliott: oh dear 15:28:20 for the exercise after the kernel keylogger, the students have to write a bootloader in asm, I think 15:28:50 I do not have high hopes 15:29:20 elliott: I didn't get mauled. I got Cooled. And I got some kind of award. And I thought e2 was supposed to hate noobs. 15:29:32 quintopia: Maybe it's been overrun by the facebookers. 15:30:01 ais523: seriously; talking to floppy disks and hard disks without the BIOS are both Pretty Damn Painful, especially if you would rather not have to make a multiple-stage bootloader and thus have to cram everything into 512 bytes. The BIOS lets you read from floppies and HDs easily, but only so much at a time. You can't really load the kernel in real mode, because you probably want to load it into the higher half of RAM (at least you will later on 15:30:01 wait what? 15:30:01 ). But you can't call the BIOS in protected mode. So you have to go into unreal mode. What's more, the BIOS can't write to high memory even if you're in unreal mode, so you have to load stuff into a scratch space, and then copy it into high memory. 15:30:09 ais523: Total. And utter. Cluster. Fuck. 15:30:28 ais523: quintopia decided he wanted to try being stupid, so he's written an everything2 node arguing that facebook doesn't damage relations 15:30:29 also, what /is/ unreal mode? I'm only aware of three x86 modes 15:30:50 ais523: unreal mode is real mode, except with a full flat 32-bit address space 15:30:58 "In x86 computing, unreal mode, also big real mode, huge real mode, or flat real mode, is a variant of real mode (PE=0), in which one or more data segment registers have been loaded with 32-bit addresses and limits." 15:31:13 ais523: did I mention that getting into unreal mode involves going into protected mode, and then doing crazy things to *undo* protection? 15:31:14 oh, so it's like oldfashioned huge pointers over a wider address space 15:31:22 was it deliberate? or a bug? 15:31:24 [[To enable unreal mode without using any undocumented features of the CPU, the program has to enter protected mode, locate a flat descriptor in the GDT or LDT or create such, load some of the data segment registers with the respective protected mode "selector", then switch back to real mode. When jumping back to real mode, the processor will continue using the cached descriptors as established in protected mode, thus allowing access to 4 GB of " 15:31:25 extended" memory from inside real mode.]] 15:31:26 ais523: deliberate 15:31:50 ais523: well, I lied slightly; you don't *have* to go into unreal mode to load a kernel into high memory 15:31:58 ais523: you could, of course, handle segment arithmetic yourself... 15:31:59 wait, is that how XMS is implemented? or is "extended" used for a different purpose there? 15:32:06 (assuming your kernel is bigger than one segment) 15:32:11 also, segment arithmetic is easy 15:32:11 ais523: "Some" DOS extenders, apaprently 15:32:15 *apparently 15:32:29 each segment starts 16 bytes from the one before 15:32:35 and as they're 64K long, they overlap 15:32:38 that's... it 15:33:02 ais523: segment arithmetic isn't easy if you have to cram loading a kernel with BIOS calls, copying memory around, printing diagnostics to the screen, enabling the A20 line, going into protected mode, and jumping to the kernel in 510 bytes 15:33:05 with x86 asm 15:33:33 why 510 bytes? 15:33:46 ais523: because that's how big a boot sector is 15:33:59 ais523: the last two bytes have to be 0x55, 0xAA 15:34:02 making up one sector 15:34:02 don't bootloaders just have a bootloaderloader in the boot sector? 15:34:12 oh, and I recognise 55 AA by heart 15:34:15 ais523: no. well, yes: multi-stage loaders. they're bloated. 15:34:23 getting stuff into 512 bytes isn't actually hard 15:34:34 it's the "this is deliberate and totally not a mistake" code for pretty much every hardware-based accidental-corruption check in existence 15:34:35 but you still feel a pang of irritation every time you realise you have to do something more 15:34:42 heh 15:35:29 (some /really/ secure checks require you to write a specific sequence of bytes on specific processor cycles to specific memory-mapped registers, to make absolutely sure it'll only happen during normal operation, but even then they normally have 55 AA in there somewhere) 15:36:18 ais523: the long, safe way of checking whether the A20 line is on involves comparing the 0x55, 0xAA signature with the value one megabyte higher; even then, if they're equal, you have to be paranoid and change one of them, and check the other 15:36:42 if you're really crazy, you even flush the cache in-between writing and reading (but only the 386 is affected by this, it seems, and it has no cache-flushing instruction) 15:37:09 olsner: what were you testing your OS with? qemu-system-x86_64 is pretty slow, although i guess it probably doesn't matter 15:37:42 the reason 55 AA is chosen, btw, is that it can't be sent unchanged through any plausible combination of shorted and broken wires unless they're arranged in a really weird order 15:37:56 heh 15:38:10 it's alternate wires, then the opposite set of alternate wires 15:38:20 ais523: behold the fun of boot sectors: 15:38:22 [[A device is "bootable" if it carries a boot sector with the byte sequence 0x55, 0xAA in bytes 511 and 512 respectively. When the BIOS finds such a boot sector, it is loaded into memory at a specific location; this is usually 0x0000:0x7c00 (segment 0, address 0x7c00). However, some BIOS' load to 0x7c0:0x0000 (segment 0x07c0, offset 0), which resolves to the same physical address, but can be surprising. 15:38:22 When the wrong CS:IP pair is assumed, absolute near jumps will not work properly, and any code like mov ax,cs; mov ds,ax will result in unexpected variable locations. A good practice is to enforce CS:IP at the very start of your boot sector.]] 15:38:42 (note, I've never actually heard of anyone being bitten by assuming it's 0:0x7c00, but you never know...) 15:39:43 knowing this course, they'll only care if it works on the computers they have there 15:40:13 -!- Sasha has quit (Ping timeout: 240 seconds). 15:40:14 also, absolute near is a weird combination of addressing modes to use in a 510-byte sector 15:40:30 given that you can go (signed 8-bit integer) with relative near, and it's shorter 15:40:40 ais523: well, you use an absolute jump to jump to the kernel 15:40:50 and it's more the "mov ax, cs; mov ds, ax" thing breaking, I think 15:41:40 elliott: presumably you'd set CS first 15:41:49 -!- augur has quit (Remote host closed the connection). 15:41:54 also, for some reason DOS seems to require bootable disks to start with a jump to the next location 15:41:56 ais523: um, no, because CS is initialised by the BIOS 15:42:10 elliott: I mean, it's likely a different CS for the bootloader and kernel 15:42:17 so you'd set it to a different value to be able to jump to the kernel 15:42:22 ais523: ...those were two separate things 15:42:24 ais523: well, you use an absolute jump to jump to the kernel 15:42:25 -------------- 15:42:27 and it's more the "mov ax, cs; mov ds, ax" thing breaking, I think 15:42:37 elliott: but after you set CS explicitly, absolute jumps work fine 15:43:02 ok, either you're not understanding me or I'm really not understanding you, so let's just change the subject :P 15:43:04 -!- Sasha has joined. 15:43:33 indeed 15:45:04 elliott: do you know the difference betwen near, far, and huge, incidentally? 15:45:21 ais523: vaguely; no idea what the last is 15:45:44 it's a DOS (well, any real-mode x86 platform) C compiler difference 15:46:01 far pointers will just assume they don't overflow from one segment to another, so you can only point to 64K of data at a time 15:46:30 huge pointers will add extra checks for segment overflow and adjust accordingly 15:46:57 so although far and huge are both 32-bit, huge are more expensive 15:47:08 (although, huge pointers could be merely 24-bit and work just as well; people just don't like such non-round number of bits) 15:47:13 (well, just as well from an information-carrying perspective, they'd be less efficient without the padding byte) 15:49:05 ais523: right 15:51:50 -!- MigoMipo has joined. 15:55:19 -!- nopseudoidea has joined. 15:55:54 -!- FireFly has joined. 15:56:23 -!- nopseudoidea has quit (Client Quit). 16:04:52 -!- Phantom_Hoover has joined. 16:15:49 -!- Wamanuz has joined. 16:16:41 -!- nooga has quit (Ping timeout: 260 seconds). 16:17:58 -!- nooga has joined. 16:18:22 -!- ais523_ has joined. 16:18:42 -!- ais523 has quit (Disconnected by services). 16:18:44 -!- ais523_ has changed nick to ais523. 16:25:58 !swedish hell 16:25:59 hell 16:26:14 !swedish The engines can't take it, captain! 16:26:15 Zee ingeenes cun't teke-a it, cepteeen! Bork Bork Bork! 16:26:39 Vorpal, you are now whatever Scotty was on the Enterprise, on the ROU. 16:26:51 You shall say the above phrase whenever possible. 16:43:53 -!- augur has joined. 16:50:20 ugh, this is irritating 16:59:22 Phantom_Hoover, is ROU finished? 16:59:29 Phantom_Hoover, also I doubt I will be that 16:59:31 Vorpal, nowhere near. 17:00:00 I'm building a reinforced bridge right now, although I just need to remove the scaffolding now. 17:00:07 Phantom_Hoover, oh and server side inventory will probably be implemented soon it seems. That means the end of throwing away tools and picking them up 17:00:19 I can only hope he adds kits 17:00:20 * Phantom_Hoover shakes his fist/ 17:00:39 Phantom_Hoover, also I suspect that means protocol changes, which means hmod won't work for a few days 17:01:04 Grr. 17:01:55 -!- Wamanuz has quit (Remote host closed the connection). 17:02:47 Phantom_Hoover, so any changes on ROU since yesterday? 17:03:00 Added bridge. 17:04:24 -!- nopseudoidea has joined. 17:04:37 -!- nopseudoidea has quit (Client Quit). 17:05:36 -!- Wamanuz has joined. 17:09:47 AL = number of sectors to read (must be nonzero) 17:09:47 CH = low eight bits of cylinder number 17:09:47 CL = sector number 1-63 (bits 0-5) 17:09:47 high two bits of cylinder (bits 6-7, hard disk only) 17:09:47 DH = head number 17:09:48 DL = drive number (bit 7 set for hard disk) 17:09:50 ES:BX -> data buffer 17:09:52 This is what we call "a bad API". 17:10:47 ais523: http://golf.shinh.org/p.rb?Random+data 17:13:34 ais523: hey, Brain Raiter competes on anagolf! 17:13:36 http://golf.shinh.org/reveal.rb?123/breadbox_1180162215&out 17:13:50 unless there's another person going by breadbox who does crazy-small ELF files 17:21:48 ineiros, there? 17:25:58 elliott, that list of register uses. Is it for some BIOS call or? 17:26:12 Vorpal: Yes; reading sectors from floppy-or-hard-disk. 17:26:29 elliott, a pity they didn't invent LBA back then 17:26:45 Vorpal: The issue being that the drive interface was totally shoehorned onto the floppy interface, making it a bitch to support loading from both, thus defeating the point of unifying the calls :P 17:27:22 Vorpal: Amusingly: ". 17:27:23 In order for BIOS to overcome this limit and successfully work with large hard drives, a CHS translation scheme had to be implemented in BIOS disk I/O routines which would convert between 24-bit CHS used by INT 13H and 28-bit CHS numbering used by ATA." 17:27:25 elliott, I don't see why you couldn't just use sector from start of disk 17:27:29 So it's getting translated to LBA anyway. 17:27:30 and length in sectors 17:27:39 oh and data buffer of course 17:27:41 and drive number 17:27:45 Vorpal: Um, because the BIOS call doesn't work like that? 17:27:54 elliott, yes, badly designed :P 17:28:15 elliott, also 28 bits is not LBA 17:28:21 elliott, iirc LBA is 48 bits or such 17:28:27 No it's not. 17:28:37 IDE standard included 22-bit LBA as an option, which was further extended to 28-bit with the release of ATA-1 (1994) and to 48-bit with the release of ATA-6 (2003). Most hard drives released after 1996 implement Logical block addressing. 17:28:47 elliott, ah yes a 48 bit one exist 17:28:52 And 28-bit. 17:29:00 elliott, presumably modern BIOSes handle the 48-bit one? 17:29:04 I'm staring at the vx6 boot sector source (partly in C, heh) and it seems to use IO ports to actually talk to some disk controller -- dunno whether floppy or HD or both -- so I'm going to see if I can find any information on that. 17:29:14 Vorpal: I don't think you can address anything that high with that BIOS call. 17:29:24 elliott, vx6? 17:29:33 elliott doesn't preoccupy himself with "modern" concerns. 17:29:38 Sorry, *xv6. 17:29:46 elliott, so we would run into issues with putting boot partition at the end of a modern 1 TB disk? 17:30:03 Vorpal: A Sixth Edition Unix-alike written in C for x86, developed 2006 by Russ Cox et al., for MIT's OS course. 17:30:09 (Replacing /actual/ Sixth Edition Unix.) 17:30:13 (Which was chosen in 2002.) 17:30:24 (Blame Lions for his commentary, I guess.) 17:30:29 wait, unix. As in the original unix? 17:30:36 No, as in eunuchs. 17:30:38 (original: not a fork or such) 17:30:41 Yes. 17:30:47 Bell Labs Research Unix. 17:31:07 Vorpal: It is a common pedagogical OS because of http://en.wikipedia.org/wiki/Lions%27_Commentary_on_UNIX_6th_Edition,_with_Source_Code. 17:31:10 huh 17:31:35 I'm just looking at xv6 because it's a very small boot sector that does most of what I want and it's really short, so I can use it for pointers to useful material :P 17:31:52 elliott, but hm why doesn't it use the bios? 17:32:06 bbl food 17:32:12 I don't know, I'll bring out my mind reader device and get back to you. 17:43:19 elliott, well maybe there was some docs? 17:43:31 Why do they need a reason not to use the BIOS? 17:43:52 elliott, for floppy I suppose it is portable, but what about harddrive controllers? 17:44:17 elliott, I mean, considering the huge number of drivers that the linux kernel has for different ATA controllers 17:48:25 waitdisk(); 17:48:26 outb(0x1F2, 1); // count = 1 17:48:26 outb(0x1F3, offset); 17:48:26 outb(0x1F4, offset >> 8); 17:48:26 outb(0x1F5, offset >> 16); 17:48:26 outb(0x1F6, (offset >> 24) | 0xE0); 17:48:28 outb(0x1F7, 0x20); // cmd 0x20 - read sectors 17:48:31 Doesn't look particularly unportable to me :P 17:48:34 Looks like IDE. 17:48:40 And IDE is really simple and universal. 17:56:08 I'm just looking at xv6 because it's a very small boot sector that does most of what I want and it's really short, so I can use it for pointers to useful material :P <-- might not work that well if they point to a different segment... 17:57:16 ais523: That was a joke, yes? 17:57:23 pointers, harr harr 17:57:24 I was actually expecting Vorpal to say that seriously, so ... 17:57:34 (Well, not with the segment thing, just "EH???") 17:57:45 elliott: why do you have to ask? I'm not Vorpal 17:57:53 -!- nooga has quit (Ping timeout: 240 seconds). 17:58:12 ais523: talking to vorpal is Vorpal-whoosh-paranoia-inducing 17:58:25 I apologise, it was a rather bad pun 17:58:27 ais523: incidentally, 17:58:28 > In my view, this (common) view makes nomic an uninteresting game of 17:58:28 > pedantic, and unrealistic legalese-wrangling. I personally find scams 17:58:28 > super-boring, and would much prefer it if Agora was a game of politics 17:58:28 > rather than legislation. But politics requires a grounding in some other 17:58:28 > activity. 17:58:31 --Michael Norrish 17:58:47 ais523, hah at that pun 17:58:48 (in reply to the "getting a loophole through is the fundamental gameplay of a Nomic" sentiment) 17:58:51 elliott: I replied to that, quoting it at me isn't going to be massively useful unless you have further comments 17:58:57 ais523: oh, you did? 17:58:58 so you did. 17:59:03 I didn't realise :) 17:59:06 -!- atrapado has quit (Quit: Abandonando). 17:59:08 Vorpal: no, not hah, it was a terrible pun 17:59:12 even ais523 admits that 17:59:21 elliott, I disagree though 17:59:34 well, you're wron 17:59:35 g 17:59:51 -!- nooga has joined. 17:59:57 ais523: I've replied too, and it seems like I basically agree with you except I addressed a different part of his point 18:00:04 elliott, is there any absolute truth when it comes to what is a good pun? Or any absolute truth at all 18:00:18 oh, some relay involved is being slow 18:00:18 Vorpal: Yes. 18:00:33 ais523: I only posted it a few minutes ago. 18:00:46 elliott, how can you know. Maybe thinking such an absolute truth exists is not absolute either 18:00:50 bbl 18:00:54 * elliott reads one of Norrish's papers 18:00:56 [[ Expressions in the programming language C have such an 18:00:56 under-specified semantics that one might expect them to be non-deter- 18:00:56 ministic. However, with the help of a mechanised formalisation, we have 18:00:56 shown that the semantics’ additional constraints actually result in a large 18:00:56 class of C expressions having only one possible behaviour.]] 18:01:08 Vorpal: because it was objectively unfunny and everyone who disagrees is both a Nazi, a hamster, wrong, bad, and evil 18:01:20 " However, our Cholera formalisation [6,7] is a completely formal se- 18:01:20 mantics for the bulk of the C language. It is formulated in a structural 18:01:20 operational style (see, for example, [2]) and is embedded in the HOL the- 18:01:20 orem prover [1]." 18:01:22 catchy name! 18:01:52 "The bulk of" 18:01:53 -!- Wamanuz has quit (Ping timeout: 255 seconds). 18:02:03 I'm betting that means it lacks casts and unions :P 18:02:11 elliott: I think it's funny the first time, it's just that that particular pun is coming up far too often 18:02:19 Gregor: http://www.cl.cam.ac.uk/~mn200/PhD/cholera-model.dvi 18:02:22 (doesn't open in my evince...) 18:02:29 Gregor: http://www.cl.cam.ac.uk/~mn200/PhD/esop1999.pdf the one i'm reading 18:02:32 hmm, evince can normally do dvi just fine 18:02:37 indeed 18:02:52 oh, I keep forgetting we have basically identical computers 18:03:06 it just... doesn't seem right, given our differing tastes in hardware 18:03:11 ais523: how is our hardware relevant here? or do you mean software, too? :) 18:03:32 admittedly, I don't actually have many programs installed here at all, over the base Debian install 18:03:38 Perhaps that's because it's 217 pages :P 18:03:42 elliott: our software isn't as similar as our hardware 18:03:52 and the answer is, it isn't relevant but I was reminded of it 18:03:59 emacs, xchat, minecraft, ghextris, ex falso appear to be all the gui apps i've installed 18:04:05 much more command-line stuff, obviously 18:04:17 ais523: I actually had no idea this model was in any way related to yours when I bought it 18:04:40 ais523: admittedly, there was not much choice (all the others were big, bulky, heavy machines with low battery life and terrible keyboards) 18:04:44 elliott: dvips handled it :P 18:04:52 -!- oerjan has joined. 18:05:00 well, and also super-super-crappy 3-penny netbooks 18:05:16 Gregor: * Omissions: The model doesn't do goto statements, switch statements or floating point values. 18:05:16 * Basic flaws: The model assumes that every integral value has a unique representation in terms of bytes. This is not true, though it is often true of C implementations. 18:05:26 I'd rather do without union than switch and goto :P 18:05:28 -!- Sasha has quit (Ping timeout: 265 seconds). 18:05:39 Vorpal: because it was objectively unfunny and everyone who disagrees is both a Nazi, a hamster, wrong, bad, and evil <-- Godwin! 18:05:47 Vorpal: you just say that because you're a hamster 18:05:48 elliott: Actually I'd say switch and goto are more reasonable to elide ... 18:05:58 elliott, Hamwin's law! 18:06:13 Gregor: I use switch and goto constantly, unions very rarely :P 18:06:19 Gregor: Have you seen https://staff.aist.go.jp/y.oiwa/FailSafeC/index-en.html, btw? 18:06:36 uh minecraft.net is down it seems 18:06:42 elliott: Well, there's no reason to get rid of unions if you're leaving in arbitrary pointer casts, so if they removed unions they'd probably be removing arbitrary pointer casts too. 18:07:08 Gregor: True dat. 18:07:22 elliott: I've heard of Fail-Safe C, haven't really looked into it. 18:07:39 Hmm, http://wiki.osdev.org/IDE looks much more complex than the xv6 code. 18:07:59 err what 18:08:13 fucking what the fuck 18:08:32 Vorpal: what. 18:08:32 getaddrinfo(whois.crsnic.net): Name or service not known 18:08:38 elliott, .net is down for me 18:08:45 elliott, ripe.net = DNS error too 18:08:48 just as an example 18:08:51 minecraft.net works for me :P 18:08:54 elliott, .com and such works fine 18:09:04 this is because networks are evil and corporations are awesome, duh 18:09:21 elliott, and .se is up and .uk is down. Yes the pattern fits 18:09:33 OS.c:14:42: error: asm/page.h: No such file or directory 18:09:34 wat 18:09:53 stupid xfreeeightysurcks :P 18:09:57 elliott, care to give me result of: host minecraft.net 18:10:10 Vorpal: minecraft.net mail is handled by 10 mx.hover.com.cust.hostedemail.com. 18:10:17 elliott, any other line? 18:10:21 There's also some line about "minecraft.net has address 194.28.157.42" but who knows what that's about! 18:10:26 ... 18:10:30 thanks anyway 18:11:01 there we go, in /etc/hosts 18:12:30 Vorpal: do you like hides and bacon 18:12:34 because uh 18:12:36 those trees 18:12:40 produce large amounts of it regularly 18:13:00 elliott, what 18:13:02 :O 18:13:05 i need some of them 18:13:07 elliott, how can tree produce it? 18:13:15 Vorpal: fire. 18:13:21 elliott, ah well, no thanks 18:13:28 They burn constantly now :P 18:13:45 elliott, so you didn't clean up after yourself? 18:14:41 Vorpal: You would prefer a bare forest? 18:14:48 There is no lava any more, just trees that burn. 18:14:57 It's quite pretty actually. 18:15:37 i wonder if california becomes littered with bacon every few years 18:16:09 dpkg: error processing linux-headers-2.6.32-5-686_2.6.32-28_i386.deb (--install): 18:16:09 package architecture (i386) does not match system (amd64) 18:16:11 elliott, I would like a beautiful natural forest yes 18:16:13 They're headers, you dumb-fuck package manager. 18:16:35 elliott, they probably only include the ones for this arch 18:16:44 I want the i386 ones :P 18:16:47 On purpose. 18:16:51 elliott, like include/asm/386 or such 18:16:55 I'm cross-compiling. 18:17:00 It's asm/page.h I want. 18:17:09 elliott, well then I think you are doing it down 18:17:11 wrong* 18:17:17 wtf at that typo 18:18:12 Vorpal: No, Debian literally has no cross-compiler support. 18:21:08 what's a verb for "to make transparent"? 18:23:33 Transparify :P 18:23:39 Clarify? 18:24:57 Opacify? 18:25:23 Uncolor 18:25:34 (or uncolour) 18:25:56 quintopia: colour != transparency 18:26:01 Phantom_Hoover: I'm not an opacifist. 18:26:33 elliott: but everything that is not transparent has a color, and hence, to uncolo[u]r would be to make transparent 18:26:35 Deopacify :P 18:28:15 Maybe I'll port http://www.colorforth.com/ide.html to asm. :p 18:28:57 Transpee. "I totally transpeed that texture." 18:29:57 this conversation is becoming quite cisparent 18:30:15 07:07:29 "You have some money. 18:30:15 07:07:30 [I'm korean so they will be won]" --http://golf.shinh.org/p.rb?kM4_ what is this i don't even 18:30:26 http://www.osdever.net/tutorials/view/lba-hdd-access-via-pio So this is what xv6 uses. 18:30:29 in case this is confusing you, won is the south korean currency unit 18:30:35 oerjan: orite 18:30:40 oerjan: the rest of the thing makes no sense though still :P 18:30:57 heh 18:31:33 Vorpal: It seems to me that LBA28 can address the first 128 gigabytes of any disk. 18:31:38 Apparently Bochs doesn't do LBA48. 18:32:08 "All ATA drives should support this way of addressing, the problem with LBA28 Addressing is that it only allows access 128GB to be accessed, so if the disk is bigger than 128GB, it should support the LBA48 Feature Set." 18:32:25 I'm just going to use LBA28 for now :P 18:33:04 PIO seems to be a DMA predecessor. 18:33:05 (also north korean actually, but i somehow doubt that was meant :D) 18:33:30 In the context of doing that in a boot loader, I wonder whether that sort of thing will let you USB-flash-boot, though; do they actually do IDE-controller-hardware-emulation, or just "make the BIOS disk routines be able to read the boot media"? I'd guess the latter. 18:33:47 PIO is older, but pretty much completely unrelated to DMA 18:33:51 different ways of sending data 18:34:08 olsner: same goal, though 18:34:20 fizzie: I imagine they'll do PIO. Prolly. 18:34:44 Gregor: SO with imake howwww do you make it not build a component exactly. 18:35:02 elliott: As soon as X11R7 came out, I put imake entirely out of my mind :P 18:35:20 Gregor: I DON'T WAAANT TO BUILD XFTTTTT 18:35:26 er 18:35:27 Xaw 18:35:27 Toooooo bad. 18:35:31 Toooooo bad. 18:35:31 no wait xft too :D 18:35:36 xftlex.l: In function ‘XftConfigLexDone’: 18:35:36 xftlex.l:274: error: ‘XftConfig_current_buffer’ undeclared (first use in this function) 18:35:36 xftlex.l:274: error: (Each undeclared identifier is reported only once 18:35:36 xftlex.l:274: error: for each function it appears in.) 18:40:51 Gregor: At this point, I'm considering just writing my own tiny X that runs on a framebuffer device :P 18:41:01 elliott: Do it. 18:41:04 elliott: DOIT 18:41:25 elliott: Make sure to just make it xlib compatible, and not actually be client-server. 18:41:41 Gregor: Why? Are domain sockets so big? :P 18:41:44 olsner: Why the enthusiasm :P 18:41:57 because you are doing it and not him 18:41:59 Gregor: (I was going to write my own miniature Xlib too.) 18:42:10 elliott: Because people are so bitchy about X11 being a "network" protocol :P 18:42:26 Gregor: BUT THEN WHAT OF ALL THE TWO PEOPLE WHO USE XCB 18:42:39 elliott: because it sounds better than all of your messing about with XFree 18:43:06 elliott: implement it halfway so that they thing it works and then it blows up and eats everything 18:43:09 olsner: you just want me to stop whining :D 18:43:12 *think 18:43:16 elliott: yes :P 18:51:59 elliott: So I compiled bash for JSMIPS. 18:52:04 elliott: I was like "YESSSS IT WORKS" 18:52:26 elliott: Problem: bash is 10x as big as Heirloom sh :P 18:52:31 (1.5MB vs 150K) 18:52:54 Gregor: Try pdksh. 18:53:01 Or http://www.wormhole.hu/~ice/ksh/. 18:53:03 elliott: ksh sucks arse. 18:53:15 Gregor: OpenBSD ksh doesn't. 18:53:21 It's just like bash, except not bloated and smaller :P 18:53:29 Ah :P 18:53:29 (It's a very-extended fork of pdksh.) 18:53:53 Gregor: http://www.wormhole.hu/~ice/ksh/'s Makefiles are BSD makefiles IIRC, so have fun :P 18:54:01 (ofc you can install pmake.) 18:54:30 Cross-compiling to a terrifying amalgam of SysV and GNU using a GNU toolchain with pmake sounds like a blast. 18:54:42 Gregor: It probably won't be that hard :P 18:54:49 Yeah, probably not *shrugs* :P 18:54:50 Hmm, does the AND instruction do an implicit TEST? 18:55:04 Or do I have to "test bl, bl" after ANDing it? 18:55:11 it's more like TEST does an implicit AND :P 18:55:44 I'm pretty sure AND also updates the flags 18:56:30 It does, yes. 18:56:57 Most of the things that actually involve the ALUish bits do; the memory-moves just don't. 18:57:57 Oh, test indeed does an implicit and. 18:58:00 "test bl, 0x08" then :P 18:58:04 I'm silley. 18:58:24 test is an and that doesn't save the result, just as cmp is a subtraction that doesn't save the result 18:59:19 And then there's the "oh, that's a bit strange" things, like inc/dec not updating carry flag (possibly because you can tell carry from the zero flag). 18:59:58 Am I allowed to hate Notch? 19:00:51 -!- cheater99 has quit (Read error: Connection reset by peer). 19:01:37 Incidentally, instead of "test ebx, 0x40000000; jz bleh" or something, you can consider "bt ecx, 30; jnc bleh"; that's only an 8-bit immediate constant. (For testing a bit in bl the test is probably more sensible.) 19:01:57 Phantom_Hoover: Do you have a plausible reason to? 19:02:22 I feel that with each update the server gets more restrictive. 19:02:33 With no way of reverting i. 19:02:35 *it 19:02:49 Phantom_Hoover: What happened now? 19:03:12 "The first step will be to commit everything to our brand new version control system (git)" I am 99% certain that this means he did not use a VCS before. At all. 19:03:17 Or perhaps he used TortoiseSVN! 19:03:31 Phantom_Hoover: Ah, but that's just done to make sure you play it right(tm). 19:06:22 Something is wrong! How do I know this? Because I'm reading the sector to the screen so it's obvious when it worked. 19:06:49 OMG, there's a bug in elliott's code! 19:06:52 fizzie, yeah, that's what I hate. 19:07:15 olsner: i know right i'm such an asm expert 19:07:17 how could i get it wrong 19:07:19 The fact that he can't see that people like having lightly-restricted sandboxes. 19:07:39 Phantom_Hoover: Or lightly-garnished sandwiches. 19:09:34 x86 needs an instruction, like, "blink the screen for two seconds" so I can see where my program borks. 19:12:02 If you're running it under an emulator, can't it catch an "int 3" or something for you? 19:13:25 (INT 3 is a special one-byte opcode that will raise the #BP breakpoint exception, used by debuggers.) 19:14:31 " magic_break: enabled=1 19:14:32 This enables the "magic breakpoint" feature when using the debugger. The useless cpu instruction XCHG BX, BX causes Bochs to enter the debugger mode. This might be useful for software development." 19:14:36 It's got that thing, at least. 19:14:39 (If it's bochs.) 19:18:41 -!- cheater99 has joined. 19:19:47 switching the bochses 19:22:42 Vorpal: Linux has a lot of drivers for the DMA support of various ATA controllers. 19:22:59 Vorpal: If you don't care about DMA, then ATA has a very, very simple interface. 19:23:07 And portable. 19:23:50 It's also an expansion on the ISA bus. 19:24:08 * Phantom_Hoover decides to care about Lazy K again. 19:24:31 pikhq, hey, you're an opinionated fellow. What's your opinion on the whole Wikileaks messs? 19:24:33 *mess 19:24:51 Phantom_Hoover: I think it a damned shame how the US has reacted to the mess. 19:25:15 You mean the whole "KILL ASSANGE" thing? 19:25:15 "ASSASSINATE HIM!" 19:25:18 Yes. 19:25:38 It's retarded and acts under the bizarre premise that US law applies outside of the US. 19:25:55 Australian in Sweden? Sorry guys, the US has no jurisdiction whatsoever. 19:25:57 I think it demonstrates admirably just how poorly governments have adapted to the internet. 19:26:04 Vorpal: Dodm? 19:26:12 That it does. 19:26:17 elliott, doom! 19:26:20 "Let's take out this guy; his face is everywhere so he MUST run the whole thing!" 19:26:46 * Phantom_Hoover ponders the contents of Wikileaks' insurance file. 19:26:58 Not to mention that their reaction is that of tyrants. 19:27:02 It's, literally, Julian Assange's house insurance details. 19:27:07 elliott, uå 19:27:08 He just wanted a bunch of backups in case his computer got lost or stolen. 19:27:10 up* 19:27:13 My logic is infallible. 19:27:14 Phantom_Hoover: Full set of everything Assange has that can be leaked. 19:27:15 elliott, XD. 19:27:15 elliott, did you get the bit about glass btw? 19:27:29 (source, Julian Assange in an interview I don't have a link to ATM) 19:27:30 It's rather larger than house insurance details, though. 19:28:07 Oh, and the leaks themselves show many worrisome acts by the US. 19:28:27 Like combing through Canadian television for anti-US sentiments? 19:28:41 Or asking diplomats to engage in espionage. 19:28:45 Phantom_Hoover: It has a bunch of copies of them, in case any sectors go bad. 19:28:50 *of it, 19:31:40 Anyway, anyone interested in the contents of io.scm? 19:32:11 (My monady IO thing.) 19:32:29 Oh, and senators are now wanting an ex post facto law to stop Julian Assange. 19:32:45 Not only do you lack jurisdiction, YOU CAN'T FUCKING DO EX POST FACTO LAWS. 19:33:06 It's one of the most explicit limits on government power! 19:34:09 bah, you just have to pass some law to allow ex post facto laws 19:34:34 Not in the UK, apparently. 19:35:15 olsner: US Constitution disallows ex post facto laws. 19:35:27 Patchable :P 19:35:46 Gregor: Not with our current Congressional setup. 19:35:53 pikhq: True :P 19:36:00 Gregor: It takes one Senator to halt Congress. 19:37:03 So when do Wikileaks go for the nuclear option? 19:37:32 Phantom_Hoover: If Julian Assange is stopped, all the shit flies. 19:37:41 "Stopped"? 19:37:46 As in "jailed"? 19:38:14 Sentenced, killed, etc. 19:38:31 Pretty sure it's a deadman switch setup. 19:38:51 Am I a Bad Person for wanting that to happen? 19:39:28 Also, what have they got that they haven't leaked (and why)? 19:39:58 they've saved it so they can leak it later, obviously 19:40:34 If they dumped it all at once, then it would probably take forever for the media to find things worth reporting on, and the government could actually react to the leak. 19:40:35 I guess it comes down to "is this worse for them to have leaked than it is good for us to leak?" 19:41:02 As it is, the media gets to report on things right when they're leaked, and the government *cannot react at all*. 19:42:32 -!- kar8nga has joined. 19:42:51 Also, keeping it ambiguous keeps government officials too afraid to just, say, send in the Marines, assassinate him, and deal with the fallout later. 19:43:57 Perhaps they have some things earmarked? 19:45:44 I also find the smear campaign going on completely ridiculous. 19:45:59 ... Not to mention the whole idea of a "surprise sex" law. 19:48:14 Incidentally, how can I check if my ISP (who I have established to be unethical bastards) are rate-limiting torrents? 19:48:27 Phantom_Hoover: if (comcast) { true } else { false } 19:48:43 :D 19:49:18 I refuse to believe that all other ISPs are too principled to do so. 19:49:25 What's in it for them? 19:49:38 Laziness. 19:49:45 Douchebaggery takes effort. 19:52:24 So... how do Comcast manage it? 19:54:29 I'm told that they spoof some built-in rate control message in BitTorrent. You can work around it by forcing your client to only send/accept encrypted messages. 19:56:44 I can't reach half of the DNS on internet. Gah 19:57:37 Gregor: Actually, they spoof a TCP reset. 19:58:02 pikhq: Oh really? I thought it was smarter than that, but I just have second-hand info. 19:58:02 Oh, wait, they *used to*. 19:58:10 The FCC ordered them to stop./ 19:58:16 Well, I only "used to" use Comcast too :P 19:58:47 pikhq: Did they force them to stop because they decided that doing it was illegal, or because Comcast was lying about it? 19:59:12 Exceptionally illegal. 19:59:49 how can it be illegal to send packets to your customers? if you pay for internet-with-RST-packets then that's what you get! :) 20:00:38 If only tampering with the Internet were like tampering with the mail. 20:01:51 pikhq: Fun for the whole family? 20:03:41 pikhq, Gregor: any if you can give me some ips to alternative dns servers? I don't know what good ones exist these days 20:03:48 (I haven't had dns issues like these for ages) 20:04:09 Vorpal: 8.8.8.8 20:04:14 hm 20:04:19 Vorpal: 8.8.8.8 and 8.8.4.4 if you're happy to hand all your data to The Google. 20:04:22 Or, if you're like me, 127.0.0.1 20:04:25 pikhq, which law does it break? 20:04:34 Phantom_Hoover: FCC regulations. 20:05:07 Gregor, if it is enough to be able to resolve the ip of the distro mirror to download a local recursive dns server: then yes for a while 20:05:30 Gregor, I'm utterly unable to reach anything not cached by my router atm 20:05:57 Or, if you're like me, 127.0.0.1 <-- isn't that rather unlikely to solve his fundamental problem? :D 20:06:20 oerjan: Does if he has a DNS server on localhost, like me. 20:06:21 pikhq, does dnsmasq do recursive resolver? 20:06:31 I do not want to install bind really 20:06:38 hm wait 20:06:47 Vorpal: Do you have some qualm with giving your data to The Google? The Google is everything. All that once was and all that will be. The Google controls time and space, love and death! The Google can see into your mind! The Google can SEE INTO YOUR SOUL! ALL GLORY AND LOVE TO THE GOOGLE 20:07:14 Gregor, for some reason that reminded me of time cube 20:07:20 I think dnsmasq only does forwarding. 20:07:27 Vorpal: It should have reminded you of Charlie the Unicorn :P 20:07:32 fizzie, so what is a good recursive one? 20:07:43 that preferably isn't bind 20:07:50 Gregor, never heard of that 20:07:55 Vorpal: ... D-8 20:08:04 pikhq, elliott: WEEP WITH ME 20:08:10 Gregor, which way is up in that smiley? 20:08:14 Gregor: Weep. 20:08:22 Vorpal: unbound does recursive DNS. 20:08:33 Well, if not bind, there was some small recursive-only thing too, but I've forgotten the name. 20:08:38 Vorpal: If you can't answer that question yourself, you have wildly insufficient experience with human faces :P 20:08:39 fizzie: unbound 20:08:48 pikhq, any good? 20:08:59 I've been using it for nearly a year now. 20:09:05 since it isn't in my distro repo I guess it means AUR or some manual work 20:09:06 Gregor: clearly you are wearing ray-bans and doing something contorted with your tongue 20:09:16 Vorpal: Which distro? 20:09:21 ah AUR... 20:09:23 pikhq, arch 20:09:34 pikhq, because I want rolling release. And gentoo is not a good option 20:09:36 Then there's djbdns' "dnscache", I don't have any first-hand experiences on that. 20:09:51 hm wait 20:10:18 hm I only used djbdns for authoritative 20:10:19 * oerjan thought ray-bans implied that shape but google images disagrees 20:10:36 * Gregor has no friggin' clue what "ray-bans" is supposed to mean :P 20:10:38 You could just use bind, and sob. 20:10:47 pikhq, nah, AUR has it 20:10:55 pikhq, so should be done soon 20:11:10 Gregor: it's a trademark for sunglasses afaik 20:11:36 oerjan: Sunglasses ... for cyclopses? 20:12:34 Gregor: well apparently not, although i haven't found the name of what i was really thinking of yet 20:14:51 Even those "uni-lens" sort of sunglasses have a bump where your nose goes, so D is a bad approximation for them too. (B I've seen for sunglass-eyes.) 20:16:19 pikhq, huh, it uses libtool yet the compiler command lines in make output are not massive 20:16:31 they fit on one line in my terminal 20:16:39 Gregor: hm maybe visor is the word 20:17:01 oerjan: That's a weird-lookin' visor, but I can see it :P 20:17:04 http://en.wikipedia.org/wiki/File:Visor.jpg looks similar 20:18:22 That ... is something I would usually call a facemask, unless it's worn in a way I can't fathom. 20:18:51 According to Wikipedia, I have no friggin' clue what a visor is 8-D 20:19:13 That linked one is a "sports visor" subclass object. 20:20:09 fizzie: er except the actual sports visor article says that's a cap and has nothing to do with glasses... 20:21:13 oh http://en.wikipedia.org/wiki/Green_eyeshade fits perfectly 20:22:06 So Gregor is involved in accounting, auditing, fiscal management, economics, or budgeting. 20:22:48 "The city is populated by various anthropomorphized animals, with ducks, dogs, and pigs the most dominant ones." 20:23:20 fizzie: sounds legit to me 20:25:05 Yes, such a git indeed. 20:25:58 olsner: Free yourself from the Wikipedia Clickit Game :P 20:26:00 "The population is estimated 316 000." I'm disappointed no-one's [citation needed]'d that. 20:28:09 * oerjan assumes green eyeshade -> Scrooge McDuck -> Duck universe 20:28:20 "The quality of Wikipedia pages has been brought into question, particularly in the amount of data it presents as needing citation [citation needed]." 20:28:52 Gregor: that needs a {{by whom}} tag as well :D 20:29:05 oerjan: Touche sir! 20:29:53 also i'm disappointed you apparently made that up 20:30:17 wow, I'm tired 20:30:35 that almost never happens! 20:30:42 oerjan: You would, what with being in one of those countries where Disney comics are actually popular. 20:30:52 (they hardly even *exist* in the US, their country of origin) 20:31:28 pikhq: i think norway may be the country where they are most popular 20:32:07 oerjan: Popular in most of Europe. It's rare to find someone aware of their existence in the US. 20:33:04 "By 2005 around one out of every four Norwegians read the Norwegian edition Donald Duck & Co. per week, translating to around 1.3 million regular readers. During the same year, every week 434,000 Swedes read Kalle Anka & Co. By 2005 in Finland the Donald Duck anthology Aku Ankka sold 270,000 copies per issue." I guess Norway does win, according to those perhaps not so reliable numbers. 20:33:24 * oerjan was about to paste that :D 20:33:36 At least our glorious country is the only one of which this tidbit of information is mentioned: "Finnish voters placing "protest votes" typically write "Donald Duck" as the candidate.[12]" 20:34:29 ineiros, ping! 20:34:37 If you say "comic" to the average American, they think of a small handful of superhero comics. 20:34:43 fizzie: on the other hand sweden had the distinction of Disney's Christmas special at one time being the most popular tv program 20:35:24 i vaguely recall a rumor that this fact made disney change a decision to cancel the program 20:35:42 (very vaguely) 20:36:18 Did I mention my pain in trying to find Sandman Vol. 4? 20:36:27 It seems to have been mysteriously discontinued. 20:36:29 "An annual Christmas special in Norway, Denmark and Sweden is called "Donald Duck and His Friends Celebrate Christmas". Segments include Ferdinand, a short with Chip and Chet, a segment from Lady and the Tramp, a sneak preview of a coming Disney movie and concludes with Jiminy Cricket performing "When You Wish Upon A Star"." -- What discrimination: we do that too. 20:36:47 Same contents and all. 20:36:51 Phantom_Hoover: i recall someone mentioning that about season of mists, was that it? 20:37:04 oerjan, indeed. 20:37:22 I really need a copy of Sandman. 20:37:46 So do I. 20:38:00 Phantom_Hoover: that's strange, i recall it being a particularly pivotal part 20:38:13 oerjan: Quite. 20:38:41 oerjan, perhaps it's sold out. 20:38:45 Bloody annoying. 20:39:02 IIRC I have a preorder which should arrive in... April. 20:39:18 not just for sandman itself, but also for the spinoff lucifer series 20:40:26 shutupshutupshutup 20:40:33 They also show this -- http://en.wikipedia.org/wiki/The_Snowman -- thing every Christmas (well; 1983, 1989, then 1992 onwards each year); I think that's been copied from UK? 20:41:04 Yep. 20:44:27 I'M WALKING IN THE AIIIIIIIIIIR 20:44:45 wait, chip and _chet_? 20:45:19 Uh, hmm. That's what it *says*. 20:45:42 Well, it's Tiku and Taku here in Finland; maye that was written with someone from another freaky-name-land too. 20:45:58 i'm pretty sure it's chip and dale (note the pun) 20:46:25 Yes, that sounds rather more familiar too. 20:46:52 A ""chip and chet" wikipedia" search seems to find just that one page and things quoting it. 20:48:47 It has been "Chet" on the page for at least the whole year 2010. (Wikipedia needs a "bisect"-style thing, or a "when was this bit edited" tool.) 20:48:49 WHY DOESN'T THIS WORK. 20:50:57 Needs more 🐮🔔 20:50:59 HEY OLSNER WANNA WRITE MY CODE FOR ME 20:51:01 eh olsner? eh? 20:51:12 Gregor: 01F42E 01F514? 20:51:36 YES. 20:51:59 http://en.wikipedia.org/w/index.php?title=Donald_Duck&diff=330059847&oldid=329462566 -- at least you now know which IP to blame. 20:52:27 -!- Wamanuz has joined. 20:52:28 fizzie: ah i was doing a binary search 20:52:55 ok so it was chet from the start 20:52:59 I was doing a "skip backwards one year at a time, then do a binary search" search. 20:53:51 oh i just did last 500 to start it 20:55:02 So what's a reliable way to make an x86 reboot in real mode? :p 20:55:05 As in crash it. 20:56:06 Use the same port as the fast a20 gate thing, except poke a 1 to bit 0. 20:56:51 What's this for? 20:57:24 * oerjan has edited 20:57:35 * oerjan has been edited 20:58:10 Use the same port as the fast a20 gate thing, except poke a 1 to bit 0. 20:58:17 No, apparently that doesn't crash everything. 20:58:21 It just doesn't work on some things. 20:58:22 pikhq, nice, dnssec works almost out of the box for unbound 20:59:09 Well, what do you need a reboot for? 21:00:31 fizzie: To check that this bit of code is actually being got to. :p 21:00:39 int 3 does nothing to qemu. 21:02:20 elliott: Does it even call interrupt 3? 21:02:29 Or just nothing at all? 21:02:42 btw the short in question is "Pluto's Christmas Tree" on the Chip 'n' Dale page 21:02:43 I have verified specifically that int 3 does nothing to qemu, so it does not help here. 21:02:58 Can you set a breakpoint in qemu? 21:03:00 Why does noöne appreciate my Lazy K IO library... 21:03:10 I HATE YOU ALL 21:03:17 Well, you could try the triple-fault, but I'm not sure how to do that in real mode really simply. 21:03:27 qemu's monitor can set breakpoints, IIRC. 21:03:35 Phantom_Hoover: I have never even seen your Lazy K IO library 21:03:47 zzo38, yay, you're interested! 21:04:19 fizzie: Can I jmp invalidly or something? 21:04:57 elliott: Well, the linux arch/x86/kernel/reboot.c reboots by executing the bytes 0xea, 0x00, 0x00, 0xff, 0xff /* ljmp $0xffff,$0x0000 */ 21:05:01 (After flipping to real mode.) 21:05:01 I think you would have to set a break point. 21:05:29 zzo38, http://esolangs.org/wiki/User:Phantom_Hoover/io.scm 21:05:30 Something I have done when debugging a GameBoy program in VisualBoyAdvance, which has no breakpoints, is make an instruction that jumps to itself. 21:06:24 Note the lack of documentation! 21:06:37 Supposedly a "jmp far 0xffff:0" will invoke a reboot routine in the BIOS. 21:07:19 Phantom_Hoover: OK, I can see it 21:07:30 I can see lack of documentation. 21:07:49 x86 is complicated. Let's all use MIPS instead. 21:08:20 tswett: No, MMIX! 21:08:31 Let's all use a non-imperative architecture! 21:08:47 One of our only involved-assembly-programming courses ("introduction to computer hardware", a really basic-level common-to-all course) used MIPS (simulated, in SPIM) for the (trivial) programming exercises. 21:08:48 Phantom_Hoover, reduciron! (sp?) 21:08:55 *e 21:08:59 Phantom_Hoover: I fixed the formatting for you. 21:09:02 Vorpal: -eron. 21:09:09 elliott, ah 21:09:29 elliott: No hardware implementation of MMIX exists. Although I would like to make one in some time 21:09:30 elliott, I wrote "reduceitron" first and thought "uh no, that wasn't it" 21:09:39 fizzie: "jmp far 0xffff:0" --> "mismatch in operand sizes" 21:10:09 elliott, hm. Add more f? 21:10:12 elliott, or fewer 21:10:19 (wild guess) 21:10:28 I do not see how that would accomplish anything. 21:10:39 elliott, well it would change the (textual) operand size 21:10:59 elliott: Just put in db 0xea, 0x00, 0x00, 0xff, 0xff then, I don't know what the proper syntax is. :p 21:11:21 OK, it doesn't reboot. Not good. 21:11:25 fizzie: Might I need interrupts enabled for that? 21:11:46 Possibly. You could try if it reboots if you put that in some place you're sure gets executed. 21:11:50 elliott, wait, you use intel I presume? So why are you using 0x? 21:11:58 Vorpal: ...as opposed to? 21:12:01 elliott, isn't h the usual way 21:12:05 No. 21:12:05 with intel 21:12:11 Only for interrupt numbers. 21:12:14 ah 21:12:16 zzo38: i see an FPGA implementation at least... 21:12:29 http://qntm.org/bead 21:12:33 THIS MUST BE MADE 21:12:34 http://www.reddit.com/r/programming/comments/dmk16/fpga_implementation_of_donald_knuths_mmix/ 21:12:51 well or maybe not the comment says something about it being abandoned 21:13:46 http://qntm.org/bead 21:13:47 Yes. 21:13:48 Yes yes yes. 21:13:55 Yesyesyesyes. 21:14:23 Phantom_Hoover, uh 21:14:26 "The locals will be equal parts sophisticated, intelligent, cosmopolitan Scandinavians with Bluetooth headsets, gigabit fibre optic internet connections and superb health care, and insane hairy fur-trappers and fishermen one step removed from the Norse god Thor." 21:14:31 not good for Svalbard 21:14:54 Vorpal, it is a sitcom. 21:14:57 Phantom_Hoover, I mean. Svalbard is probably satellite internet only 21:15:03 Humour > accuracy. 21:15:23 Phantom_Hoover, also uh. It is western Europe. So how eastern Europe makes no sense 21:15:41 eastern Europe starts east of Sweden definitely, and Svalbard is more like north of UK 21:16:02 Vorpal, if you can't realise the hilarity inherent in the concept, you suck. 21:16:09 Vorpal: well clearly they need the insane hairy fur-trappers to keep the polar bears at bay 21:16:12 Vorpal: Svalbard has a fibre-optic link. 21:16:19 To the US, iirc. 21:16:24 elliott, huh. That's impressive 21:16:27 Terrible latency one presumes, though apparently the throughput is great. 21:16:48 elliott, throughput ought to be great, not a lot of people share it 21:16:56 it's like. 1000 at most? 21:16:57 or such 21:17:02 Do they exist FPGA with publicly available information to program it, without encryption? 21:17:03 Plan 9 source code is so beautiful. 21:17:05 though quite season-dependant iirc 21:17:14 elliott, sample? 21:17:24 Svalbard, were it not so cold, would be a paradise; you can emigrate there just by *wanting to*. 21:17:31 There's actually a law. 21:17:39 I don't recall the exact statement. 21:17:39 elliott, what? 21:17:46 But basically anyone can go and live there, no questions asked. 21:17:52 And fibre-optic!!! 21:17:58 note: source is reddit :P 21:18:05 Phantom_Hoover: http://plan9.bell-labs.com/sources/plan9/sys/src/ 21:18:29 elliott, uh. if it wasn't so cold then probably it would be overcrowded and thus that law wouldn't exist (if it does, and wasn't misinterpreted) 21:18:48 Vorpal: IIRC it was part of some deal or something. 21:18:50 Looks like normal C code tto me. 21:18:50 I forget exactly :P 21:18:52 *to 21:19:17 Phantom_Hoover: You haven't seen most C code, then. 21:19:28 elliott, well, then we know where bin Ladin is hiding. No one asked him his name when he wanted to go there (no questions asked and so on) 21:19:29 ;P 21:19:36 Phantom_Hoover: (It might help you understand the elegance and simplicity of the code vastly if you know C.) 21:19:45 "Sick of your country? Don't mind cold weather? The treaty of Spitzbergen allows citizens of 39 nations to migrate to Svalbard (a Norwegian island near the North pole) and become residents if they want to, no questions asked." 21:19:59 elliott, any specific file that is a good example? 21:20:05 http://en.wikipedia.org/wiki/Politics_of_Svalbard#Spitsbergen_Treaty 21:20:21 Vorpal: Any file; pick one. The implementation will be more elegant than you expect unless you have very high expectations. 21:21:03 (OK, not every single file. But most.) 21:22:00 elliott, expectation: code for MMU handling will look like elegant haskell 21:22:06 Hm, Sharp has a "RGB+Y" TV (adds a yellow-ish subpixel into a RGB screen); after those RGBE camera filters, I was a bit wondering when they'd do the same trick in display technology too. (Too bad all the video signals contain only RGB material, so it's a bit dubious if it's any use there.) 21:22:19 Vorpal: Prepare to be disappointed. 21:22:23 elliott, which part is the low level kernel? 21:22:27 elliott, as in, what subdir 21:22:29 fizzie: Sulu was in the adverts for those here. 21:22:33 fizzie: As a pretentious scientist. 21:22:41 Vorpal: I think 9/, but I'm not sure. :p 21:22:50 boot/ is also relevant-looking. 21:23:32 http://plan9.bell-labs.com/sources/plan9/sys/src/9/pc/mmu.c 21:23:33 ah 21:23:36 elliott, not so elegant 21:23:49 Vorpal: It's the x86 MMU, how could it possibly be. 21:23:52 m->gdt[TSSSEG].d1 = (x&0xFF000000)|((x>>16)&0xFF)|SEGTSS|SEGPL(0)|SEGP; 21:24:04 elliott, well true 21:24:14 elliott, lets try memcpy 21:24:14 elliott: one point about svalbard btw, you need to have a job to go there, the usual norwegian welfare benefits don't apply there, not even to norwegian citizens iirc 21:24:17 The rest of the kernel is quite elegant beyond the low-level boot in my experience. 21:24:29 Vorpal: There's an assembly version I think, not sure if there's a generic version. 21:24:31 oerjan: lame :D 21:24:53 elliott, no generic code: http://plan9.bell-labs.com/sources/plan9/sys/src/libc/ ? 21:24:57 Vorpal: port/ 21:25:01 Vorpal: Here's memccpy: http://plan9.bell-labs.com/sources/plan9/sys/src/libc/port/memccpy.c 21:25:04 elliott, how logical name 21:25:09 elliott, ccpy? 21:25:10 Vorpal: PORTable. 21:25:20 Vorpal: The extra c is I'm not sure what. 21:25:25 elliott, ah, and 9/pc vs. libc/386 21:25:29 yes perfectly logical 21:25:31 Vorpal: 386s are not PCs. 21:25:33 PC = 386 + things. 21:25:38 libc/386 isn't PC-specific, just 386-specific. 21:25:40 elliott, indeed 21:25:44 So yes, it is logical. 21:26:02 Vorpal: (Also presumably one uses port/ when making a new PORT and you haven't yet written all the things; Plan 9 runs on more architectures than there are directories in libc/.) 21:26:07 http://plan9.bell-labs.com/sources/plan9/sys/src/libc/port/memccpy.c <-- why c &= 0xFF; 21:26:22 oh right 21:26:26 to get just one byte 21:26:57 elliott, the thin box on this looks weird: http://plan9.bell-labs.com/sources/plan9/sys/src/libc/386/memcpy.s 21:27:03 more like a poem or something 21:27:06 than a file 21:27:15 It's a CODE POEM. 21:27:25 elliott, it is x86 asm 21:27:32 CODE POEM 21:27:45 Phantom_Hoover: Maybe you should add a {{.file}} template to allow the formatted code to be downloaded. (Another way is changing the formatting to put a space before each line instead of
, that also allows it to be downloaded)
21:27:56  Either way should do.
21:28:30  elliott, opinion on DNSSEC?
21:28:38  I have no opinion.
21:28:45  elliott, you don't think it is bloated?
21:28:50  I am confused.
21:28:54  zzo38, I'd rather fix the scheduling.
21:28:58  by this behaviour
21:29:08  http://plan9.bell-labs.com/sources/plan9/sys/src/cmd/8c/cgen.c Entire 386 code generator for the Plan 9 compiler.
21:29:20  Vorpal: I haven't even looked at it since it sounds incredibly boring.
21:29:22  elliott, long
21:29:23  Phantom_Hoover: What scheduling?
21:29:31  Vorpal: Long?
21:29:34  Vorpal: I'd like to see gcc's.
21:29:37  Except it's probably 70 files.
21:30:34  zzo38, consider the following scenario: you wan to print something, input, print something else, then print whatever was input.
21:30:49  Vorpal: http://plan9.bell-labs.com/sources/plan9/sys/src/cmd/vc/cgen.c The much shorter code generator for big-endian MIPS.
21:30:49  hm... DNSSEC stands for "Domain Name System Security Extensions", hm SEC. I spot either a backronym or someone designing with the the acronym in mind
21:31:00  Lazy K's non-strict semantics cause the two constant outputs to be performed before the input.
21:31:18  elliott, still the usual mess, typical of well written C code
21:31:34  Vorpal: Code generation is a mess; there are nicer programs in the tree.
21:31:38  Nicer than gcc and llvm, I'll bet.
21:31:38  Phantom_Hoover: OK, then fix that problem.
21:31:43  elliott, C is ugly.
21:31:52  Vorpal: Not Plan 9 C.
21:31:53  sure, there are better and worse C code examples
21:31:59  elliott, compared to haskell yes it is ugly
21:32:03  Vorpal: Not if it is neatly printed using Enhanced CWEB.
21:32:11  zzo38, aaaaargh
21:32:15  Vorpal: Not at what Plan 9 is doing.
21:32:21  it's like sgeo and activeworlds
21:32:39  elliott, then we are doing the wrong thing :P
21:33:20  Phantom_Hoover: But I still suggest you correct the page to allow downloading (there are two ways to do so), as well.
21:34:34  The page isn't broken.
21:34:40  zzo38, what page
21:47:40  elliott: http://tools.ietf.org/html/rfc4255
21:47:44  looks cool
21:50:07  Vorpal: Heh.
21:50:30  elliott, proposed though
21:51:45  elliott, we can only be happy that the guys who invented stuff like DNSSEC haven't made DRM schemes. DNSSEC seems utterly competently made
21:54:59 -!- Sasha2 has joined.
21:55:59 -!- Mathnerd314 has joined.
22:03:24  ineiros, ping.
22:04:13  Phantom_Hoover, problems?
22:04:32  No, asking if he's come to a decision on MoveCraft.
22:04:54  http://interfacelab.com/objective-c-memory-management-for-lazy-people/ "whine whine i'm hardcore i don't need a gc"
22:06:00  Phantom_Hoover: The metatree is now a meta4.
22:06:10  No, wait.
22:06:11  Still a meta3.
22:06:24  But hey, I never meta3 I didn't like.
22:06:35  grr
22:06:40  how much horizontal clearance does a tree need
22:08:08  Phantom_Hoover: Are you coming back on today?
22:11:30 -!- kar8nga has quit (Remote host closed the connection).
22:11:56  Phantom_Hoover: Pong.
22:12:53  ineiros, have you come to a decision re MoveCraft?
22:14:31  elliott, ah, the classic hardcore nerd.
22:14:36  Haven't looked at it yet, no.
22:14:44  Phantom_Hoover: wut?
22:14:46  Oh.
22:15:08  elliott: a tree built out of metatrees?
22:15:29  or rather, a tree built out of those^?
22:15:39  http://www.youtube.com/watch?v=ySmYyAqV8jM
22:15:40  this
22:16:28  quintopia: do you play minecraft? i can only explain it if you do
22:16:57  quintopia, it's a tree planted on top of a tree. Ignore elliott.
22:17:47  metatree
22:17:53  what a rad name
22:17:58  Phantom_Hoover: i don't suppose minecraft yet has enough vertical voxels to accomodate a tree built of trees built of trees built of trees
22:18:12  quintopia, it does nott.
22:18:14  *not
22:18:52 -!- zzo38 has quit (Quit: zzo38).
22:19:30  but it might could manage 1 less meta there by digging down sufficiently far and limiting how many sub-trees each tree has suitably
22:19:32  Phantom_Hoover: it's harder than that
22:19:36 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:19:37  you have to do surgery after it grows
22:19:49  fizzie: I forget, what's the common way to get "jz" and friends all knowing after you do a mov?
22:19:52  test foo, foo?
22:20:07  That's the usual one.
22:20:19  Does that work if foo is [di+N] for constant N? :P
22:21:34  I don't think you can have two mem arguments in test, but in that case the other operand of mov should've been a register you could test.
22:23:57   Phantom_Hoover: i don't suppose minecraft yet has enough vertical voxels to accomodate a tree built of trees built of trees built of trees <-- do you mean the height from top to bottom of map in blocks?
22:23:58  Constant actually :P
22:24:02  I guess I could do test const, const.
22:24:11  Or, wait.
22:24:13  Just precompute the result.
22:24:19  make lisp using redstone logic
22:24:26  In that case you should do it compile-time, yes.
22:24:36  Well, assemble-time.
22:24:40   fizzie: I forget, what's the common way to get "jz" and friends all knowing after you do a mov? <-- somehow I read that as "jwz and [his] friends"
22:24:42  XD
22:25:07  I did spend a moment thinking "who's jz?" too.
22:26:28  er
22:27:40  anyway my system now does dnssec. Very nice
22:27:52  If you want to set flags based on what's at di+N, you could "cmp [di+N], 0"; I don't know offhand if there's a variant that doesn't involve a silly immediate value 0.
22:28:22  fizzie, if you assembler supports macros you could make one
22:28:28  (of course, that is cheating)
22:28:59  Sure, but for a dword that's a four-byte immediate.
22:29:54  fizzie, why are you using asm if you care for efficiency.. Oh wait
22:30:28  (And in fact you'd need to indicate the size there since there's no register involved, and Intel syntax doesn't put in the suffixes.)
22:31:02  fizzie, so how do you indicate the size with intel syntax?
22:31:24  I don't remember
22:31:29  cmp dword [di+N], 0
22:31:34  Right.
22:32:08  how verbose
22:32:15  ...
22:32:20  stfu
22:32:29  elliott, it *is* shorter with gas :P
22:32:30  I would think the suffixes take up more bytes on average.
22:32:43  fizzie, maybe
22:32:43  indeed
22:33:55  cmpl $0, N(%di) there?
22:34:08  ew
22:35:56  elliott, you are on MC, but what are you doing
22:36:05  fizzie, seems quite sensible
22:36:38  no it doesn;'6
22:36:50  Let's not do the same syntax discussion again.
22:37:05  let's
22:37:12  I don't want to go grepping my examples with the phone, anyway.
22:40:43 -!- Sgeo has joined.
22:41:51  elliott, down?
22:43:58  very down
22:44:01  ineiros, what is going on?
22:46:30  why does anything have to be going on
22:47:51  fizzie: What's the maximum displacement?
22:47:53  is it signed 8 bit?
22:49:50 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:49:57  32, I think.
22:50:03  fizzie: what, +32? :)
22:50:04  signed 32-bit, okay.
22:50:15  elliott: what are you doing?
22:50:16  But if you stay within 8, the encoding is shorter.
22:50:20  nooga: hm?
22:50:40  ais523: you know how you tried to make the dna maze source unconventionally formatted to irritate people?
22:50:42  (Asleep now.)
22:52:14  ineiros, see comment about authcraft in server chat
22:59:42 -!- augur has quit (Remote host closed the connection).
22:59:51 -!- impomatic has joined.
22:59:56  Hi :-)
23:00:18 -!- augur has joined.
23:01:03  请点我到英吉利海峡
23:01:07 -!- hkrliu has joined.
23:01:53 -!- augur has quit (Read error: Operation timed out).
23:06:18  ho
23:08:30  he
23:09:41 -!- impomatic has quit (Read error: Connection reset by peer).
23:24:30 -!- Goosey has joined.
23:27:10 -!- hkrliu has quit (Ping timeout: 260 seconds).
23:29:03  http://www.amazon.com/Unicorn-Castle-T-Shirt-Cotton-Sleeve/dp/B0037TPED4/ref=pd_sbs_a_2 // best comment ever: Here's the life-changing part: As soon as I started wearing it, people started believing I was gay. No more insisting on my part - the shirt says it all.
23:32:01  So if I'm gay, I should definitely get that shirt.
23:34:08  To quote another review: "Gay is the new black"
23:34:58  Customers Who Viewed This Item Also Viewed
23:34:59  The Mountain Three Wolf Moon Short Sleeve Tee by The Mountain
23:35:08  Surprising!
23:36:11  Can I get a Three Perry-the-Platypus Moon Short Sleeve Tee?
23:40:52 -!- ais523 has quit (Remote host closed the connection).
23:42:32 -!- Mathnerd314 has quit (Ping timeout: 255 seconds).
23:42:48 -!- Mathnerd314_ has joined.
23:43:13 -!- Mathnerd314_ has changed nick to Mathnerd314.
23:44:55  Gregor:     *  Receive 1 Ugly Christmas Sweater Fleece free when you purchase $100.00 or more of Qualifying Items offered by Bison Lake Trading Company. Enter code Q7WVSL9K at checkout. Here's how (restrictions apply)
23:44:59  WORST FLEECE EVER
23:45:38  elliott: It is pretty ugly :P
23:45:49  Oh, speaking of [SUPERLATIVE] [NOUN] EVER:
23:45:57  Gregor: you are the BEST JAZZ MUSICIAN EVER
23:46:04  That seems unlikely :P
23:46:47  Okay, you are a PRETTY GOOD JAZZ MUSICIAN?
23:46:56  I am no kind of jazz musician ...
23:47:12  I think tswett means Gregor's friend who is indistinguishable from him.
23:47:16 * tswett nods solemnly.
23:47:19  Why is my compiler trying to compile NULL and why is it working.
23:47:29  And is it actually...
23:47:31  If you're referring to Eric Allen, then he most assuredly is, y es.
23:47:31  *yes
23:47:47  Is NULL a programming language, a specific string, or... something else?
23:50:38  (void*)0
23:50:44  tswett: NULL is NULL :P
23:51:03  coppro: Actually it can be (T *)0 for any T, no?
23:51:14  So, a null pointer.
23:51:19  What does it mean to compile a pointer?
23:51:39  tswett: To feed the NULL pointer to my compilation procedure.
23:51:39  elliott: not sure
23:51:48 * tswett nods.
23:51:50  I don't think it actually is, but...
23:52:55  coppro: In C and C++ programming, two null pointers are guaranteed to compare equal; ANSI C guarantees that any null pointer will be equal to 0 in a comparison with an integer type; furthermore the macro NULL is defined as a null pointer constant, that is value 0 (either as an integer type or converted to a pointer to void), so a null pointer will compare equal to NULL.
23:53:06  coppro: So NULL can actually be #define NULL (char)0 :)
23:53:55  wait what
23:53:58  Okay, perhaps my parser is broken.
23:54:03  night
23:57:00  what compiler?
23:59:39  nooga: This one.