< 1288569609 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION digs up stuff from his past < 1288569610 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://i.imgur.com/S6pDQ.png < 1288569615 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Apparently this is OfficeSuite < 1288569622 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :* Sgeo digs up stuff from his past < 1288569624 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :don't you do that all day? < 1288569641 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You an probably use the first, third, fifth and so on megabytes, though. < 1288569647 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :s/an/can/ < 1288569679 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :At some point, I will feel nostalgic about #esoteric < 1288569682 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Or maybe zeroth, second and fourth; depending on how you number those. < 1288569683 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :After #esoteric dies < 1288569715 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Or IRC channels may be longer lived than other communities < 1288569719 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That seems likely < 1288569723 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But still < 1288569729 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Will Freenode really be around forever? < 1288569753 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: or you can use all of them as long as you account for the mirroring :) < 1288569776 0 :MigoMipo!unknown@unknown.invalid QUIT :Quit: Quit < 1288569786 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Yes, well, the addresses, sure; but not the physical megabytes. < 1288569894 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :"On most newer computers starting with the IBM PS/2, the chipset has a FAST A20 option that can quickly enable the A20 line. To enable A20 this way, there is no need for delay loops or polling, just 3 simple instructions." < 1288569899 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :THAT SOUNDS NICE NO I/O OK THX < 1288569906 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :"However, this is not supported everywhere and there is no reliable way to tell if it will have some effect or not on a given system. Even worse, on some systems, it may actually do something else like blanking the screen, so it should be used only after the BIOS has reported that FAST A20 is available. Code for systems lacking FAST A20 support is also needed, so relying only on this method is discouraged." < 1288569909 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :HAHAHAHAHAHAHAHAHAHA < 1288569913 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :"Another way is to use the BIOS." < 1288569915 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :yes that's better thank you < 1288569943 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Please tell me that you're researching history < 1288569954 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Actually, I have no idea what you're trying to do < 1288569977 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :writing a bootloader < 1288570005 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :writing a bootloader *is* researching history < 1288570040 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it's actually something like an accelerated trip through all revisions of the x86 isa and bios api:s < 1288570102 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :That's only if you want to support more than just your own machine < 1288570119 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I assume < 1288570178 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :most of the steps you need to do on any machine < 1288570222 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :cmp word [magic], word [MIRROR_MAGIC] < 1288570226 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :doesn't work, what a surprise! < 1288570243 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So why "all revisions"? < 1288570264 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: because it starts off in 16-bit real mode < 1288570275 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :and you use the bios to get shit done < 1288570284 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :then you do the, cough, fun dance to get into protected mode < 1288570284 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I never learned x86 stuff < 1288570287 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :then if you're on 64-bit < 1288570292 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :you do the fun dance to get into long mode from there < 1288570294 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Or x64 stuff < 1288570298 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :*x86-64 < 1288570310 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Anything sinful about abbreviating it to x64? < 1288570313 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1288570315 0 :elliott_!unknown@unknown.invalid PRIVMSG #esoteric :i'll stab you < 1288570318 0 :elliott_!unknown@unknown.invalid NICK :elliott < 1288570321 0 :elliott!unknown@unknown.invalid QUIT :Changing host < 1288570321 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1288570324 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :With your _? < 1288570342 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1288570347 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: http://wiki.osdev.org/A20_Line#Testing_the_A20_line dear god this is long and ugly < 1288570349 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i don't have that kind of space < 1288570352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :gotta OPTIMISE < 1288570382 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :*OPTOMISE < 1288570410 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: maybe i'll just deal with the duplicated megabytes :D < 1288570413 0 :sftp!unknown@unknown.invalid QUIT :Remote host closed the connection < 1288570439 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You could do the A20 dance outside your bootloader. < 1288570450 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: after I get into protected mode??? < 1288570458 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Assuming reasonable-sized kernel, anyway. < 1288570458 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that sounds... fun < 1288570483 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :also VICE does not build out of the box on NetBSD because of a *syntax error*. < 1288570491 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I don't see why not; except that then you don't really have the BIOS helping you. < 1288570526 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :any of the A20 methods listed there (except for anything calling into bios) should work from protected mode afaict < 1288570597 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric : for (d = hid_start_parse(report, 1 << hid_input, id) { < 1288570597 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric : } < 1288570600 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :THIS IS NOT C, PEOPLE < 1288570610 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: i, uh, wow. < 1288570634 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I'm enabling the A20 line with the BIOS. < 1288570637 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :All this low-level talk reminds me of this nice paper floating around on how to do really fast "software" routing tables with a clever (ab)use of the cache systems: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.35.45&rep=rep1&type=pdf < 1288570641 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Because the alternative is talking to the keyboard and I have am oral objection to that. < 1288570648 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*a moral < 1288570660 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :*An oral. < 1288570770 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :0x0F is "pure white on black", yeah? < 1288570775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in vgatextspeak < 1288570783 0 :Jack!539596cb@gateway/web/freenode/ip.83.149.150.203 JOIN :#esoteric < 1288570783 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's how it appears here < 1288570793 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I now have a snazzy error message: < 1288570798 0 :Jack!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1288570799 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :boot A20? < 1288570801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hello Jack < 1288570809 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jack: this channel is about esoteric programming languages < 1288570809 0 :Jack!unknown@unknown.invalid NICK :Guest20118 < 1288570816 0 :Guest20118!unknown@unknown.invalid NICK :Jackoz < 1288570827 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :is it an autoreply? < 1288570852 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no < 1288570857 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :oh :) < 1288570866 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we get tons of people here thinking it's about that *other* type of esoterica. < 1288570871 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1288570877 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :Ok, btw I know about that mate < 1288570891 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :actually I'm developing an esoteric language < 1288570893 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://i.imgur.com/WjGPH.png < 1288570898 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Worst. UI. Ever < 1288570903 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: cool < 1288570905 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :that's why I joined this channel, shortly I'll need some feedback :D < 1288570916 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Suppose I want to move stuf from 200N 200E to 323S 370E < 1288570922 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :prepare the "your language sucks" cannons, men! < 1288570930 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I put the old location in "Rotate Old Prop Around" < 1288570939 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I put the new location in "Offset Values" < 1288570941 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1288570955 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Except for Height offset, which is the difference in heights < 1288570958 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I wish I was joking < 1288570978 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :actually the only real problem is that it is stack based, but I feel it is not enough < 1288570988 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: we're actually nice! on occasion. < 1288570989 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Int 15/AX=2402h - SYSTEM - later PS/2s - GET A20 GATE STATUS < 1288570994 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: See, I can just use the BIOS for everything! < 1288571001 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :but having a normal "variable declaration" language seemed too overkill < 1288571008 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: stack is nice! < 1288571014 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I have to find something in the middle, so maybe I can get some inspiration here < 1288571019 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"not enough" is always almost a bad impulse, keeping things simple and pure is what leads to a gem of a language < 1288571023 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :imo < 1288571024 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm having an affair with a stack based language < 1288571026 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but i'm interested, so go on < 1288571034 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: Sgeo is our friendly channel bot < 1288571068 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :channel bot write in Factor for great justice < 1288571092 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :^^too coherent for a fungot-like bot < 1288571106 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hey, fungot doesn't detect on fungot- < 1288571107 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: using the odd syntax for one < 1288571120 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :-fungot- < 1288571121 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: toi ei oo fnord ja kanava fnord? l) < 1288571129 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: a bot with a tendency to call the other bots. < 1288571132 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'm trying to keep it fully functional with powerful but obscure operators, but this implies having to manipulate the stack a lot < 1288571140 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: "later PS/2s" -- surely you're not going to limit yourself on such! < 1288571144 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :stack manipulation is fun, but ok :) < 1288571147 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh yes I am. < 1288571151 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Just to clarify, I'm not actually a bot < 1288571154 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: *to such < 1288571160 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Well, maybe a nostalgia-bot < 1288571164 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: he's also wired to say he's not a bot whenever his botness is mentioned :) < 1288571179 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: They're technically "optional", but the amount that I care is zero. :P < 1288571186 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: do some goole searches for me! < 1288571190 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :*google < 1288571212 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :There's no way I'm actually failing a Turing-test, am I? < 1288571236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :What we have learned here: Sgeo truly is indistinguishable from a simple computer program. < 1288571250 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or, y'know, [some less cynical conclusion about the way people react to other people when they have assumptions]. < 1288571262 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: The fungot-not-replying thing was probably that one occasional bug it has that I haven't managed to catch. < 1288571262 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: i don't need that much range anyway. < 1288571265 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: just to give you an idea http://jacoposantoni.com/impossible/operators (but many operators aren't documented there yet) < 1288571277 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :testing. fungot-like. testing < 1288571277 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes, i'm just trying to understand syntax-case. so i'll be here tomorrow for a response on c.l.s < 1288571289 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(And apparently 'e doesn't think it's worth fixing anyway.) < 1288571302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : cmp al, 1 < 1288571302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : je protect < 1288571302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :gotta be a simpler way of writing that < 1288571303 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1288571319 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :comp.lang.??? < 1288571320 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :scheme? < 1288571323 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :smalltalk? < 1288571326 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Scheme. < 1288571341 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :syntax-case is a tricky Sceme macro thing. < 1288571343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: just so you know, trash is usually called "drop" < 1288571350 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: and dupe dup < 1288571364 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: this is a good language < 1288571374 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: thanks, I'll take it into account :) < 1288571381 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that's why I joined here < 1288571384 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: you should see some of the first esolangs people come up with :) < 1288571390 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :they can be truly awful < 1288571438 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it's impolite to make someone laugh at food-time < 1288571441 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I was thinking about having many stacks with a default behaviour that is usually good without any additional thought from the developer but I wasn't unable to come up with anything yet < 1288571443 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I could be dead thanks to you < 1288571461 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: surely you're a bot now < 1288571470 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo !search pr0n < 1288571480 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :boot sector is 168 bytes, that's over a *fifth* of the maximum! < 1288571488 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :this damn bot, it needs some fixes < 1288571499 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :In fact, it's basically a third. < 1288571517 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Who said I have to give the results back to you? *ponders* I don't think you want the results < 1288571540 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : < 1288571561 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You! Tell me why my segments go all strange after going into protected mode. < 1288571628 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :it's building openssh < 1288571632 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :... < 1288571634 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :that's why! < 1288571669 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OH! < 1288571681 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Because video memory is 0xB8000 on the other side of the divide, not 0xB800. < 1288571683 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Duh. < 1288571716 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Now it works in qemu but not bochs -- which is *never* a good sign. < 1288571835 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :...how does that happen? < 1288571928 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Because bochs is anal and slow and qemu is lax and fast. < 1288571965 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :00134663903e[CPU0 ] interrupt(): gate descriptor is not valid sys seg (vector=0x0d) < 1288571965 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :00134663903e[CPU0 ] interrupt(): gate descriptor is not valid sys seg (vector=0x08) < 1288571977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :00134663903e[CPU0 ] interrupt(): gate descriptor is not valid sys seg (vector=0x08) < 1288571979 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :whoops < 1288571985 0 :FireFly!unknown@unknown.invalid QUIT :Quit: swatted to death < 1288571988 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so lol something is up. < 1288572013 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :something's causing an interrupt, and you probably haven't set up an interrupt descriptor yet < 1288572029 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: ah. < 1288572032 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bochs is a bitch, then < 1288572070 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: wrong! < 1288572073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: well < 1288572079 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I set up idtr using yours (dw 0 dd 0) < 1288572086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: is it triggering despite that or something? < 1288572088 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and i have to set up more? < 1288572090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if so WOOOOOO. < 1288572117 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :you don't have to set up more as long as you have interrupts disabled and don't do anything wrong :) < 1288572130 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: clearly I do, because it happens anyway :) < 1288572135 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : lidt [idtr] < 1288572140 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :align 4 < 1288572141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :idtr: dw 0 < 1288572141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dd 0 < 1288572148 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It occurs to me that I have a record of my Opera usage < 1288572155 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you just have to stop doing something wrong that causes the interrupts < 1288572162 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So if I'm ever tempted to try Opera again, say in a few years... < 1288572183 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: did you disable interrupts? < 1288572197 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: probably not! < 1288572214 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: i should figure out how! < 1288572234 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I shouuld learn how this stuff works < 1288572234 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: wait yes i did < 1288572236 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :CLI, isn't it? < 1288572239 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : cli < 1288572239 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : lidt [idtr] < 1288572240 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That looks like a pretty small IDT. < 1288572242 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : lgdt [gdtr] < 1288572244 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Especially if I want to build a computer at some point < 1288572245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: blame olsner < 1288572262 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: all of this is utterly irrelevant to the trivial "stick a few components together in a case". < 1288572272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the latter is like lego. < 1288572272 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I meant in virtual worlds < 1288572286 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I know how to stick components in the real world together < 1288572287 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: !google typical < 1288572302 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The first few (19) entries of the idt can be invoked by processor-generated exceptions. < 1288572305 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :..? < 1288572312 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh < 1288572325 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :You're not giving me advice, you're saying that I'm being typical me < 1288572333 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :vector=0x0d there is a general protection fault. < 1288572335 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :You are typically typical you < 1288572337 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :So what? < 1288572343 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Well that's not good. < 1288572347 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And vector=0x08 is a double fault. < 1288572351 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :other_side: < 1288572352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov word [0xB8000+ebx+2], 0x0F21 < 1288572352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :x: hlt < 1288572352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : jmp x < 1288572357 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :What's so protection-faulty about that? < 1288572437 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Have you reloaded your ds after the jump to protected mode? If ds was zero before, I would assume it still has that 64k limit. But really, I haven't done this before: ask oelsner. < 1288572448 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ølsner < 1288572461 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oerrrrsleer. < 1288572465 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But fizzie is right! < 1288572470 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :push DATA_SEGMENT pop ds works just fine. < 1288572526 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ommina sleep now, though; good luck with protecting your modes. < 1288572549 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hey, look! < 1288572554 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: catseye: olsner: BOOTLOADER COMPLETE < 1288572555 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(sort of) < 1288572559 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And it's 200 bytes exactly. < 1288572559 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: sweet < 1288572572 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That includes the "jmp KERNEL_SEGMENT:0" at the very end that I'm not sure will work entirely properly here. < 1288572581 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I should probably reset all the registers like you do. < 1288572623 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But still, 200 bytes to read the kernel from a floppy disk, giving diagnostics along the way, enable the A20 line (giving "boot? A20" if it doesn't work), jump into protected mode and jump to my kernel. < 1288572624 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Not bad. < 1288572631 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1288572632 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yes, having all of them point to a proper 32-bit data segment is useful < 1288572797 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :that's frightening < 1288573109 0 :FireFly|n900!~n900@unaffiliated/firefly JOIN :#esoteric < 1288573115 0 :FireFly|n900!unknown@unknown.invalid PRIVMSG #esoteric :Hi < 1288573158 0 :FireFly|n900!unknown@unknown.invalid PRIVMSG #esoteric :Golf a BF infinite loop code fragment that can be inserted in any valid brainfuck program < 1288573173 0 :FireFly|n900!unknown@unknown.invalid PRIVMSG #esoteric :Would +[]+[] be the shortest possible? < 1288573261 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :'[]+[]'? < 1288573285 0 :FireFly|n900!unknown@unknown.invalid PRIVMSG #esoteric :Hm < 1288573296 0 :FireFly|n900!unknown@unknown.invalid PRIVMSG #esoteric :I suppose that works < 1288573354 0 :FIQ!~FIQ@unaffiliated/fiq JOIN :#esoteric < 1288573463 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders if he can find his Haskell BF interpreter < 1288573533 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :FireFly|n900: Define the Brainfuck. < 1288573671 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :in any case you should be able to wrote a BF interpreted in any language in just a couple of minutes < 1288573688 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :*interpreter < 1288573697 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Try writing one in Malbolge. < 1288573706 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :except Malbolge :) < 1288573711 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(if you can, you win all the Internet points) < 1288573714 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I was excluding esoteric languages actually < 1288573718 0 :FIQ!unknown@unknown.invalid PRIVMSG #esoteric :brb write one in MSL :D < 1288573726 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :There's non-esoteric sub-Turing languages. < 1288573744 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was about to o.O, but SQL would be one, right? < 1288573759 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and "non-programming" languages like HTML < 1288573760 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :SQL is indeed one. < 1288573761 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :it depends on which extensions of SQL are available < 1288573770 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :HTML is not a programming language < 1288573773 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: HTML is still a language, though. < 1288573774 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :it's a markup language < 1288573783 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yup, for Hyper Text. < 1288573806 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :English would count as TC, right? < 1288573816 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :why not? < 1288573826 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Are there any non-TC natural languages/ < 1288573842 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :you can easily define a corrispondence between a turing complete language and the english language, providing the right semantics < 1288573875 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Also, I don't think it would be easy to write BF interpretter in any esolang I have designed (I actually have more than that Pointer-B mess...) < 1288573903 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is Ancient Egyptian TC? < 1288573940 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: are you assuming the semantics as they intended it? < 1288573977 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :in any case Egyptians didn't have any 0 concept < 1288573984 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: I think we can safely say "yes" to that < 1288574009 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :so < 1288574021 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure that hieroglyps are a TC language < 1288574031 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :at least not using their original semantics < 1288574050 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: Hieroglyphs were an orthography for a language. < 1288574055 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: I would be *extremely* surprised if they did not have a concept for "nothing" < 1288574073 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :actually make that *****extremely***** < 1288574078 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was thinking "off", but just realized how riduculous that was < 1288574078 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it's much more than that < 1288574090 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :riduuuuuuuculous < 1288574094 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : < 1288574106 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: hieroglyps are far more esoteric as normal languages since they were used either to express words eithers as just word fragments < 1288574128 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :My English parser broke. < 1288574169 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :sorry, english is not my mother language and I'm watching a movie so my attention is partially here < 1288574172 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :My English lexer *also* broke. < 1288574191 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And my Japanese lexer sees funny squiggles. < 1288574192 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :in any case you shouldn't have reached parsing phase, you should have stopped before. < 1288574217 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: English speakers have highly accepting lexers. < 1288574275 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION now ponders where the term "lexing" came from < 1288574275 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :catseye: they had the concept of zero intended as perfection or completion but it wasn't, strictly talking, a numeral concept < 1288574322 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: You don't need numerals to build a Turing Machine, though. < 1288574344 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :catseye: no, but I think you need the concept of zero intended as zero :) < 1288574363 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Might the concept of words be sufficient? < 1288574377 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :this is something somewhat trivial for us, we should ask an ancient Egyptian < 1288574401 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: No, you don't even need that. < 1288574407 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'll just take Apophis and hand him over to the Tok'ra < 1288574414 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Then we can ask his host! < 1288574415 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :I also wonder if "I have no money" in Ancient Egyptian was regarded as a state of perfection or completion :) < 1288574444 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :[spoiler] but whatever < 1288574446 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: One could just as well have a Turing machine with an alphabet consisting of 日 and 本 instead of 0 and 1. < 1288574458 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't even matter what the symbols *mean*. < 1288574580 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :that's undoubtely true, but we are talking about using a language to see if it is TC < 1288574610 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :actually you can build a TC language with any chosen alphabet, from that point of view every language is TC < 1288574647 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :the problem in that case is that you should be able to build a partial function that describes the behaviour of the turing machine by using their already existing semantics < 1288574701 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :without choosing an arbitrary one, just to prove its Turing completeness < 1288574793 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :otherwise you are just proving that a language, which shares its alphabet with hieroglyps, is TC < 1288574803 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :You only need a small number of verbs and nouns and adjectived to describe a Turing machine: left, right, change, check, etc. I would guess there has never been a human language in existence that has lacked these concepts, and words for them. < 1288574819 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :*adjectives < 1288574884 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :that's why Turing completeness is a concept quite useful from a theoretical point of view, but really overused all around < 1288574895 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :ACTION stops fiddling with protected mode and goes to bed < 1288574923 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :should extend my code so it can go into long mode too < 1288574972 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :languages that are not TC simply aren't languages used to express computations. So the fact that SQL is not TC doesn't astonish me :) < 1288575033 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :by the way this channel should be called #pedantic, you are really all ready to push newcomers in a corner .. < 1288575040 0 :FIQ!unknown@unknown.invalid PRIVMSG #esoteric :yay, done < 1288575055 0 :FIQ!unknown@unknown.invalid PRIVMSG #esoteric :$bf(++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.) -> HelloWorld! < 1288575056 0 :FIQ!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1288575206 0 :iamcal!~cal@c-24-4-207-72.hsd1.ca.comcast.net JOIN :#esoteric < 1288575206 0 :cal153!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1288575255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :back < 1288575263 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : that's frightening < 1288575266 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :why? the size of the bootloader? < 1288575280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : There's non-esoteric sub-Turing languages. < 1288575281 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :e.g. C < 1288575284 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :at least without libc < 1288575297 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : by the way this channel should be called #pedantic, you are really all ready to push newcomers in a corner .. < 1288575313 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :some of us -- cough pikhq -- have not learned that you're meant to start being nice once the newbie demonstrates a modicum of intelligence :) < 1288575407 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just kidding pikhq let's be friends. < 1288575409 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1288575420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :woo one of the spontaneous channel lulls < 1288575430 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: I think it's meaningless to talk about natural languages being TC < 1288575435 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :they're description languages < 1288575453 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Is XML TC?" is a meaningless question, but XML-Prog-Lang-2000 can perfectly well be TC with its syntax in XML < 1288575466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Are S-Expressions TC?" is also meaningless, but Lisp is certainly Turing complete. < 1288575481 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Similarly, you could define a language out of valid English sentences, and it could be Turing complete. < 1288575490 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Give me N gram(s) of sugar." could add N to the accumulator, etc. < 1288575511 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: re, that was my point. I think that TC has its coolness but it is somewhat not so much significative < 1288575528 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :it is just the best effort we've been able to do in the field of computational theory < 1288575566 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just because you can't apply the concept of turing-completeness to some things doesn't mean it's meaningless :) < 1288575573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :like saying colours aren't an ideal concept, because you can't ask what the colour of 3 is < 1288575617 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I don't say it is meaningless, I say that every language used to compute something is 99.9% TC < 1288575621 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I would disagree. There is a subset of English that is Turing-complete, even with the natural semantics of the sentences (no contrived meaning for what N grams of sugar is, e.g.) < 1288575639 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: well sure, but it's not English that's TC < 1288575643 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just like the s-expression < 1288575646 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(define (brainfuck x) ...) < 1288575648 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :doesn't prove S-expressions TC < 1288575652 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it proves Scheme TC < 1288575656 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :English is more than S-expressions, though. < 1288575660 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :Sentences have meanings. < 1288575662 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: what that shows is that English Interpreter Deluxe is TC. < 1288575665 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: well, sure < 1288575668 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but they're descriptive meanings < 1288575671 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :they describe objects < 1288575676 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you could describe a turing machine < 1288575680 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :etc. < 1288575689 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but you can't actually describe something that takes a Turing machine to compute < 1288575697 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(although you can describe a Turing machine that computes a certain thing) < 1288575719 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: You are hopelessly confused on this point. < 1288575739 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: That's an... interesting way to say "we disagree". < 1288575750 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :just to avoid a fight, can I ask a side question? < 1288575771 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :catseye the one of Cat's Eye Technologies? < 1288575776 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1288575789 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :cool, my maximum respect to you :) < 1288575801 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :since I remember your website from many years ago < 1288575808 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Don't believe the hype! catseye is actually a slimy, slithery snake of EVIL and LIES. < 1288575822 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: If I had said "words are TC", our analogy with S-exps would make sense. But I said "English", not "words". < 1288575831 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :*you < 1288575831 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :yeah, then he tried to push me in a corner together with the others :( < 1288575833 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :*your < 1288575852 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: And I believe that English is a language describing (and is thus executable) objects in a sub-TC way. < 1288575855 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well. < 1288575865 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"The contents of the tape after executing the Brainfuck program '...'." < 1288575869 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I wonder why elitistic nerds are also misanthropic < 1288575875 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: You may be right! < 1288575879 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: it's IRC, get over it :P < 1288575891 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: I saw no pushing into corners, just nitpicking and discussion < 1288575898 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and when the conversation is this academic, nitpicking is important < 1288575910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : My English parser broke. < 1288575921 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :yes, some years are passed from my last IRC visit :) < 1288575923 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this is Sgeo's wonderfully polite way of saying "please restate what you last said, I couldn't understand it" < 1288575936 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ironic, i'm usually the asshole here < 1288575952 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :it's hard to speak about academic topics when english is not your mother language < 1288575956 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: I'm sorry if it seemed like I was pushing you into a corner; certainly not my intent, I was just arguing my position. < 1288575958 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I'm really trying to do my best :) < 1288575962 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: i swear we're nice and cuddly < 1288575980 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :nah, I'm just joking. Actually I was just trying to make you feel a little bit guilty about something < 1288576017 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION didn't mean to be an asshole < 1288576018 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: YEAH WELL I HATE YOU TOO < 1288576027 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now back to my bootloader -- the only true friend i have < 1288576032 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :my main concern < 1288576033 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :is to find < 1288576034 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :a way < 1288576039 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :to talk over multiple lines? < 1288576041 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :congrats :) < 1288576050 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :to change my stack language in something different < 1288576058 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"in something different"? < 1288576062 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :yeah, sorry, as I stated I'm not used anymore to IRC :) < 1288576064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION legitimately doesn't understand < 1288576069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, i do it too < 1288576073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm just being silly < 1288576082 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :good heuristic: lines in #esoteric are not serious 99% of the time < 1288576103 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I mean that just having a stack needs too many extra operations < 1288576131 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :so I thought that here some dark-uber-mega-nerd-misantrophic-guy < 1288576135 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :could give me a better idea < 1288576200 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well it's a bit of a vague question :) < 1288576211 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :yes, I can get it < 1288576213 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :my actual idea < 1288576229 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :was to avoid variable declaration < 1288576251 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: functional? < 1288576255 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :but *guessing* having many stacks that are used by convention < 1288576255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if every function has a fixed number of arguments < 1288576258 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :yes, it is < 1288576262 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then the program is just f g x y h x y z < 1288576267 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :if f has three arguments < 1288576272 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and g and h have two < 1288576276 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then that's f(g(x,y),h(x,y),z) < 1288576277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :etc. < 1288576289 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :ok, now assume that many builtin instructions < 1288576297 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :can work on different parameters according to the stack < 1288576306 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :(either number of parameters, either types) < 1288576319 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :for example .> < 1288576329 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :computes the floor function if it finds a float onto the stack < 1288576338 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :while it works like OCaml iter (or each) < 1288576347 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :if it finds a collection and a lambda < 1288576347 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oh god this language looks awesome < 1288576365 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :so that < 1288576374 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :2.2 .> will leave 2.0 onto the stack < 1288576375 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :while < 1288576385 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :{1,2,3,4}[^].> will print 1 2 3 4 < 1288576408 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: right < 1288576415 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: so, function overloading except on a stack basically. < 1288576421 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1288576429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and? :) < 1288576432 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :this can be good but a little bit weak in certain situations < 1288576434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just not sure what your question is < 1288576434 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1288576447 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :my question was about not using a stack but something different :) < 1288576457 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :maybe multiple stacks that are filled accordingly to the types? < 1288576466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so each lambda goes on the lambda stack? < 1288576467 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :etc.? < 1288576468 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I really don't know, I just thought that the stack was not enough < 1288576477 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :something like that < 1288576486 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :actually there is a lambda stack, but it is used to track execution < 1288576496 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right, "return stack". < 1288576509 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :yes, the good old activation record < 1288576514 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: general advice - keep it simple. your language looks interesting as it is < 1288576516 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :of CPUs < 1288576524 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok, it's not *hugely* esoteric, but it's definitely more esoteric than most languages < 1288576545 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :so your personal advice is to keep it this way? < 1288576557 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :personally, yes; but if you hit on something interesting, don't let me stop you :) < 1288576559 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: maybe a queue! < 1288576561 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that would be ... odd < 1288576566 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :rotfl < 1288576586 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :that would be crazy < 1288576602 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I could implement a fuzzy rule < 1288576615 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :that tries to execute the right implementation of the operator < 1288576618 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: you want nothing more than to read my bootloader, right? < 1288576621 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :according to what it actually finds on the stack < 1288576632 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: well that's not fuzzy that's just function overloading isn't it? :) < 1288576639 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :not at all < 1288576667 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :then I was thinking about < 1288576674 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :elliott: ob < 1288576677 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :not having to pick values from the stack, or rotate them < 1288576699 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :no, this language must have only one stack < 1288576702 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :like something that is able to guess the correct operation not caring about order of parameters < 1288576704 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: http://sprunge.us/UfHO boot.s! < 1288576708 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :it should have an 'evaluation stack' < 1288576712 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: coppro is now in charge of your language :) < 1288576718 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1288576726 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :err, sorry < 1288576727 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :two stacks < 1288576733 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :one for values/functions, one for evaluations < 1288576736 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :don't want to be invasive, just to get some ideas < 1288576736 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: it already does < 1288576742 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: invasive? howso? < 1288576754 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :just by submerging you with questions < 1288576768 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :if we get tired/annoyed we'll just not answer < 1288576773 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :nothing could ever match Sgeo's questioning power < 1288576778 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :that too < 1288576784 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and we still answer him < 1288576787 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mostly because he doesn't shut up if we don't < 1288576788 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :very little matches this channel's noise:signal ration < 1288576809 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :you just need a Sgeo-pass filter < 1288576931 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: I need to read logs and stop commenting things I don't understand in the slightest < 1288576950 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :coppro: don't worry, I like your good intents < 1288576966 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :which could be a good way to test the expressiveness of the language? < 1288576988 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :trying to implement things as project euler challenges? < 1288577000 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: it's esoteric, it's not meant to be expressive! well ok that's not true but still < 1288577004 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: implement a brainfuck interpreter < 1288577005 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or Underload < 1288577016 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I was already trying it < 1288577024 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :but the use of the stack was really tough :) < 1288577025 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1288577032 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :that's why I came here < 1288577038 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1288577044 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :it would be easier to help with a specification < 1288577056 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :{:}#y{>}#z{'>:[:1+:],'<:[:1-:],'+:[%;3$>1+3$:<%%],'-:[%;3$>1-3&:<%%],'.:[2$2$>^^]}#x(:16:)0 0"+[>,]<-[+.<-]";0 0%[;'[= [,:1+:][']= [@y:>>% %4$% %<<,<<][1+]??]??]e@y^^ [@x:>>!]e < 1288577063 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :this is how much far I gone < 1288577065 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :but now I realize that what I was thinking is not what you are thinking < 1288577070 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: there's a function reference :P < 1288577080 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :that function reference is really old :( < 1288577083 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :but now I have an excellent idea for a language < 1288577117 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :coppro: don't steal my ideas! :) < 1288577153 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :based on your small code samples, it's RPN, right? < 1288577161 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no shit :P < 1288577174 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :yes, it is < 1288577212 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yeah; I want a bracketless functional PN language < 1288577220 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: I already mentioned that... < 1288577224 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: And REBOL already did that. < 1288577229 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: And Logo already did that. < 1288577234 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I know you mentioned it < 1288577235 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :ok, this could give a better view: http://img823.imageshack.us/img823/9518/operators.png < 1288577249 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :but many of these instructions can work with different parameters too < 1288577260 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :and REBOL has brackets < 1288577267 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: Is that an excel spreadsheet? < 1288577271 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: yes, but it doesn't need them < 1288577277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: pure functions can be just < 1288577281 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :f g x y z h a b c < 1288577283 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately yes < 1288577290 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: and logo has no brackets... well, it has [], but that's just lambda < 1288577292 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :after trying to keep consistency directly in source code < 1288577292 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :so does logo < 1288577301 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: so? you could easily get rid of lambda < 1288577304 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :have it be < 1288577306 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lambda (list) < 1288577306 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I had to find a simpler way, since many things were subjected to change < 1288577311 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*(list) (list) < 1288577311 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then you'd do < 1288577318 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :elliott: list < 1288577320 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lambda cons :a cons :b nil < 1288577325 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :for (lambda (a b) < 1288577326 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then uh < 1288577331 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :that would require brackets for any sane implementation < 1288577340 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lambda cons :a cons :b nil cons :display cons :a nil < 1288577341 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :would be < 1288577343 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Aren't stack languages bracketless RPN? < 1288577348 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(lambda (a b) (display a)) < 1288577352 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: i meant list as in a list object < 1288577353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not the list function < 1288577358 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yes, which is considerably easier than bracketless PN < 1288577361 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :lambda add #1 #2 < 1288577383 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :coppro: no it's not < 1288577384 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: what's the real issue? < 1288577391 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :RPN languages with lambda have [] too < 1288577393 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :exact same problem < 1288577395 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"problem" < 1288577398 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh < 1288577402 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Durh < 1288577406 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :coppro: I tried to explain it in my words but with no success :/ < 1288577407 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :elliott: lies. I will show you the evility of my language < 1288577412 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: :/ < 1288577447 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I was wondering if something what is not just a stack but that doesn't work by variable declarations too exists < 1288577453 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :what = that < 1288577472 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: here is what i think you want to say < 1288577480 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Are there languages which are neither concatenative or imperative?" < 1288577484 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :perhaps? < 1288577486 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I mean that variable declaration is verbose < 1288577496 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: lambda calculus :) < 1288577517 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :while using just a stack is verbose too, since you then need to manipulate it very often inside the code < 1288577535 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :coppro: sally has no brackets. no proper lambdas, either, but it would be a straightforward addition < 1288577538 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :so I would like to have a computational model which works without having to do explicitly any of two < 1288577556 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :maybe it simply doesn't exist < 1288577652 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: of course it does < 1288577655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: see the lambda calculus < 1288577702 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :the real problem about λ-calculus is that it needs a more complex VM underlying it < 1288577738 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :mmh I'll take a look, but I remember from university that it needs to care about bound variables, free variables and so on < 1288577750 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :and having to declare parameters will bring back verbosity < 1288577793 0 :FIQ!unknown@unknown.invalid QUIT :Quit: - nbs-irc 2.39 - www.nbs-irc.net - < 1288577803 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :(by the way I'm just guessing, this is the real first approach to an esoteric languages) < 1288577811 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I have found something too obscure for Fark1 < 1288577812 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://www.fark.com/cgi/comments.pl?IDLink=5726773 < 1288577816 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :my lexer broke too < 1288577837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : the real problem about λ-calculus is that it needs a more complex VM underlying it < 1288577841 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :only on imperative hardware < 1288577849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lambda-calculus on the Reduceron would be a sinch < 1288577861 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :sinch < 1288577862 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :sin < 1288577874 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION channels elliott < 1288577883 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I love the relativistic way you approach things < 1288577900 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :in any case I'm not writing this language in an imperative language < 1288577905 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: well if all we cared about was intel amd x86 windows linux... we'd be very boring. :) < 1288577909 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: ocaml is imperative < 1288577911 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's just functional, too < 1288577920 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but ocaml functions can have any side effects they want < 1288577923 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :yes, it's not pure functional < 1288577930 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :but you can use it as a pure functional < 1288577935 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :if you want < 1288577936 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"impure functional" is a rather worthless concept academically :) < 1288577942 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :perl counts as impure functional < 1288577944 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it has lambdas < 1288577973 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I actually skipped the course about functional languages years ago < 1288577984 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :just because I was too young to feel their coolness < 1288578023 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :so I admit my ignorance < 1288578035 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :but I assert that OCaml is purer than perl from that point of view :) < 1288578052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :purER, sure, but just try and define the scale of purity mathematically >:) < 1288578078 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :(purer is not correct in english?) < 1288578084 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: it's correct < 1288578086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i was emphasising it < 1288578091 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. "pur*er*, but not pure" < 1288578101 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"MORE pure" is equivalent emphasis < 1288578113 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1288578115 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: aiee, you didn't tell me -- you can't read a whole floppy with one int 13h! < 1288578127 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: you'd have to go through the heads and cylinders and stuff < 1288578127 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :where are you from? (just to chitchat, but I have to ask it after some lines) < 1288578141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: i can only read 31 kilobytes as-is! < 1288578146 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: england < 1288578147 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that's because i didn't know that! < 1288578159 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Which is purer, OCaml or Factor? < 1288578166 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I guess it depends on what is meant by pure < 1288578169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: http://www.ctyme.com/intr/rb-0607.htm < 1288578173 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: "CL = sector number 1-63 (bits 0-5)" < 1288578183 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Purely concatenative, in which Factor is obviously closer, or purely functional < 1288578186 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: 63 * 512 bytes = 31.5 k < 1288578187 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Which, um < 1288578189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*31.5k < 1288578197 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: the point is that you can't define a degree of pureness (or at least I think that was elliott's point < 1288578197 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: so read a bunch of chunks in a loop < 1288578197 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: so yeah, urgh! < 1288578204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: oh i will once the kernel is big enough :D < 1288578205 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: it was < 1288578218 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :you can assert it empirically < 1288578219 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: other things i'll do then: do the A20 line properly, rather than relying on the BIOS... < 1288578228 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: say, how hard is it to talk to the floppy without the bios, any ideas? < 1288578306 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: since you seem fond of this topic, which languages are pure functional but with performance comparable to OCaml? just for curiosity < 1288578329 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :(this means compiled into native and strongly type inferred) < 1288578331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: I, uh, Haskell! If you write your code in a way that GHC serendipitously happens to like... < 1288578331 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i doubt you actually want to talk to a *floppy*, but... i don't think it's *super* hard, just messy < 1288578353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: mm. wait, surely befos reads from the floppy? < 1288578358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :via ide or something i guess though < 1288578360 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: using bios, yes < 1288578366 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: oh, right, you never cli < 1288578439 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'm scared that the lack of imperative features can make simple things really complex sometimes < 1288578461 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: if you code inside the IO monad in haskell, then it's "just" like an imperative language < 1288578478 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: wait, this should make it impure too < 1288578486 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: nope < 1288578520 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: I'd try to explain, but to *really* explain why it doesn't make the language impure in any way requires a dumbed-down version of a category theory concept and I'm not in the mood for that :) < 1288578522 0 :p_q!~poiuy_qwe@64.231.55.154 JOIN :#esoteric < 1288578550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: for any X you can find a tutorial explaining how monads are actually just like X :) < 1288578559 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Even burritos (http://blog.plover.com/prog/burritos.html) < 1288578572 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: maybe I won't even understand you < 1288578594 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: monads are actually really simple -- it's explaining them that's the hard thing < 1288578601 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1288578615 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: the best policy for a beginning haskeller is just to trust that the IO monad works :) < 1288578637 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: faith is not something I'm used to rely upon :) < 1288578665 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: when you wrote your first program, did you ask how on earth "print foo" put little dots representing foo on the screen, or did you just go "ok, that says 'foo'"? :) < 1288578686 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it *is* possible to fully understand monads before using them -- but impractical, and pointlessly difficult < 1288578690 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I actually did, but I was unable to answer my self :( < 1288578709 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: this means that after OCaml I'll try Haskell, since functional programming really opened my mind < 1288578749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: It is a good idea. < 1288578751 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: just a last question.. does Erlang worth trying? < 1288578779 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: opinions are divided :) < 1288578783 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it has interesting things. < 1288578791 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i don't want to be the one to make that decision for you :) < 1288578847 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: for your answering availability you just gained an alpha release of my language as soon as it's ready, now feel happy.. < 1288578859 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: I can barely contain my excitement. < 1288578862 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(sarcasm, but ok :P) < 1288578871 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: that is a good start < 1288578875 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: you know what's cool? my OS doesn't boot! < 1288578884 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: linux? < 1288578890 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: no, literally, MY os :) < 1288578907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :because writing an os is the best thing anyone can ever do apart from .... < 1288578908 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i don't know < 1288578912 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is fully willing to attempt to describe why the IO monad is not impure < 1288578913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :resurrecting the dinosaurs < 1288578920 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: writing a programming language is just second to that < 1288578921 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But elliott will yell at me < 1288578925 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: please don't take up Sgeo on his offer; he is an excellent confuser :) < 1288578930 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :(from my point of view) < 1288578970 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But it's so SIMPLE < 1288578974 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Kind of < 1288578979 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :is it a bootloader problem or a OS problem? < 1288578985 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION feels like a burrito tutorial author < 1288578989 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :just because you were talking about bootloaders so far < 1288579060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: bootloader, i think < 1288579070 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :either my floppy assembly script isn't working, or my bootloader isn't actually jumping to the kernel < 1288579081 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :^@^@^@^@^@Uª^@^@^@^@^@^@^@^@ < 1288579084 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :suspicious lack of my kernel there < 1288579106 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION just wants to blurt out what's on his mind < 1288579117 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: /msg me with it < 1288579118 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm eager to hear it < 1288579128 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION prepares himself < 1288579179 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Just making sure I don't embarrass myself by using an example function that doesn't actually exist < 1288579190 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :just do it in /msg < 1288579202 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :dd: `kernel/kernel': cannot skip to specified offset < 1288579204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that would explain it! < 1288579231 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh, it needs to be seek= < 1288579232 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that would explain it < 1288579234 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :skip= is for input < 1288579259 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not that that works, either :D < 1288579277 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@^@^@^@^@UªEVERYBODY PARTY!ôéêÿÿÿ^@^@^@ < 1288579280 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ok it is copying ther < 1288579281 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*there < 1288579468 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :My explanation appears to have the elliott seal of approval? < 1288579530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :MAYBE < 1288579679 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : Things that might seem impure, such as getChar function, don't actually do what they say. Instead, they return a description. getChar always returns the same description of the action of getting a character. You piece together descriptions to make a bigger description. Whatever main describes is what's done < 1288580049 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: gah! my bootloader isn't loading correctly! < 1288580057 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :ACTION clicks "Popular amongst people in their twenties" on AppBrain. < 1288580063 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Damn it. People in their twenties are retards. < 1288580064 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1288580088 0 :augur!~augur@208.58.6.161 JOIN :#esoteric < 1288580158 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: in the source of developing software, it is common that errors, or "bugs", are introduced. one of the jobs of the software developer is to locate and fix these bugs, a process called "debugging". < 1288580184 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: no it's clearly the bioses fault < 1288580187 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :evidence: fuck the bios < 1288580191 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :how can you disagree? < 1288580195 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :now catseye -- fix my bios < 1288580200 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is not a technophile < 1288580225 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is also not funny < 1288580249 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ACTION never knows what Sgeo is talking about half the time < 1288580294 0 :Behold!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1288580359 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1288580371 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :but I *set* GTK_CFLAGS, you stupid configure script! don't tell me it's not set! < 1288580454 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Okay, the read is failing; even if the floppy is random, I just display zeroes. < 1288580604 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Aren't you using a VM? < 1288580611 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...yes... < 1288580648 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh. Maybe I should ask what read is failing? Is it a read your code is doing, or is the VM actually simulating faulty hardware now? < 1288580720 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :foremr < 1288580721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*former < 1288580752 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders jEdit < 1288580832 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :...okay, this is just inexplicable < 1288580838 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'm following the interrupt spec perfectly. < 1288580849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's not erroring out. < 1288580915 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ok so apparently it was not smart enough to look for pkg-config *on my search path*, it had to be told where it was < 1288580948 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :oh! and netbsd world built. < 1288580989 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: including kernel? < 1288581060 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :yes, but i may have to build it again; i need t check somehtin < 1288581069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: because if so DEBIAN YAY :p < 1288581097 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :no its good < 1288581112 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: DO YOU TOTALLY REMEMBER THE SSH COMMAND (nothing is more important) < 1288581188 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :it started with ssh < 1288581226 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: ssh -L R 9292:localhost:22 cpressey@91.104.241.33 < 1288581227 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :i believe emulating linux 2.6 will require linux 2.6 shared libs; such things are not so convenient as to be in pkgsrc already < 1288581231 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think that's it < 1288581233 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no, it won't < 1288581235 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: it's in a _chroot_ < 1288581240 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the chroot contains _all the linux libraries_ including glibc < 1288581248 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :when you chroot, it looks for /lib/libc or whatever, the /bin/sh < 1288581252 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which is of course *inside the chroot* < 1288581257 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1288581318 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :well, need to reboot to test new kernel < 1288581323 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hahaha good luck < 1288581341 0 :catseye!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1288581344 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :...... < 1288581369 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: ...what? < 1288581414 0 :Sgeo|jEdit!~Sgeo|jEdi@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1288581418 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :... < 1288581474 0 :Sgeo|jEdit!unknown@unknown.invalid PART #esoteric :? < 1288581474 0 :Sgeo|jEdit!~Sgeo|jEdi@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1288581498 0 :Quadlex!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1288581503 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is now accidentally spamming comex < 1288581538 0 :Sgeo|jEdit!unknown@unknown.invalid PRIVMSG #esoteric :There we go < 1288581582 0 :Sgeo|jEdit!unknown@unknown.invalid PRIVMSG #esoteric :For what it's worth, I hate this client < 1288581613 0 :Sgeo|jEdit!unknown@unknown.invalid PRIVMSG #esoteric :(What? Sgeo have taste?) < 1288581720 0 :Sgeo|jEdit!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1288582147 0 :catseye!~catseye@adsl-99-96-163-210.dsl.chcgil.sbcglobal.net JOIN :#esoteric < 1288582211 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :that was interesting < 1288582223 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :it claims to not have any file system modules compiled into the kernel < 1288582236 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :thus could could not mount the, uh, filesystem < 1288582268 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :also, the new kernel makes my speakers go "WEEP!" during boot now < 1288582293 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :custom kernel time! < 1288582340 0 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1288582361 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1288582408 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :oh the silly < 1288582420 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :all fs support is built as modules by default < 1288582422 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ALL < 1288582443 0 :Quadlex!~quadlex@li23-6.members.linode.com JOIN :#esoteric < 1288582659 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: don't you embed your fs in the kernel? SHEESH < 1288582680 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION ponders the limitations of any editor not written in Factor attempting to do syntax hilighting on Factor code < 1288582750 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: just freakin' use FUEL < 1288582761 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not even jedit's author, uses it any more < 1288582765 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and that's the same as factor's author! < 1288582774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :he uses fuel like everyone else < 1288582801 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How well does emacs really run on Windows/ < 1288582819 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :perfectly. < 1288582955 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Does the editor.emacs thingy know where to look on Windows? < 1288582968 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :"PAL emulation" in VICE should be called "CRT emulation" -- as a North American I feel discriminated against by this < 1288583009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: it, presumably, only emulates the characteristics of a PAL C64 on a PAL TV < 1288583017 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: you have to set it, just like on unix < 1288583020 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :it makes it look like a tv! < 1288583037 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: it's lovely :P < 1288583045 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OK FUCK YOU BIOS < 1288583052 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :IM GONNA FUCK UP YOUR SHIT AND READ THE FUCKING KERNEL WHETHER YOU WANT ME TO OR NOT < 1288583142 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :even in ntsc mode! which they seem to have improved slightly in this version < 1288583161 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: why would you want to use ntsc mode < 1288583167 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pal representin' < 1288583229 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :...............................for nostalgia! < 1288583256 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :i tried Factor once and it defeated me < 1288583258 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: but it looks exactly the same, more or less :P < 1288583291 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :i tried Emacs like a dozen times an it always defeated me too < 1288583311 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"dw 0xAA55 < 1288583311 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :For some reason the signature has to be written this way round!" < 1288583316 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what is it with morons writing tutorials? < 1288583333 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :catseye, hmm? < 1288583391 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ok so i'm gonna check out this ophis thing < 1288583404 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: the manual is pretty good < 1288583415 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: http://hkn.eecs.berkeley.edu/~mcmartin/ophis/manual/book1.html < 1288583429 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :NUTS TO MANUALS < 1288583442 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: i don't mean read it :P < 1288583444 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i just mean reference it < 1288583491 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"This tutorial is to show you how to load sectors from a floppy disk. Variations will be needed to get this code to work on most other disks." < 1288583492 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :there < 1288583610 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :disks of varying floppiness < 1288583642 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ok so ophis can assemble my existing code RIGHT < 1288583713 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Be nice? What's that? < 1288583723 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :well, at least one file! < 1288583723 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lawl < 1288583758 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it just doesn't work! aaargh < 1288583763 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: WANNA DEBUG MY BOOTLOADER? < 1288583804 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I should write a bootloader at some point < 1288583823 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :*everyone laughs at the thought of Sgeo doing something like that* < 1288583943 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ok ophis is decent. i hope he's improved label arith. and being able to produce a symbol map would be a nice feature. but, i can hack on it myself if i like < 1288584010 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: it's not difficult. really. < 1288584025 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :elliott certainly seems to be having trouble < 1288584042 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott is trying to make elephants dance in his bootloader. < 1288584053 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: actually, my problem right now is loading sectors from the floppy < 1288584060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: i can enable the a20 line, i can go into protected mode, everything < 1288584063 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: i just can't load the kernel < 1288584074 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :you load the kernel *before* the otehr stuff, right? < 1288584083 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: yes. well, i print "boo" first. < 1288584090 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :also: reset the disk. but you're meant to do that < 1288584105 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :and it was working before, from what i gather < 1288584117 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :seemingly. < 1288584186 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"The 6 segment registers are all loaded with a segment selector, which is an offset into either the GDT or the current LDT. A segment selector is only 16 bits long and looks like this:" < 1288584188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :YOU'RE A FUCKING LIAR < 1288584199 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'M IN REAL MODE < 1288584201 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ahem < 1288584259 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :A < 1288584260 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :HA!!! < 1288584273 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :wait what < 1288584325 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hehehehehe "boob*o*o*" AHEM < 1288584334 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :maturity elliott this is serious < 1288584470 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :brb testing NEW new kernel < 1288584481 0 :catseye!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1288584584 0 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1288584798 0 :catseye!~catseye@adsl-99-96-163-210.dsl.chcgil.sbcglobal.net JOIN :#esoteric < 1288584815 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :cannot exec /sbin/init: error 8 < 1288584829 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: LAWL < 1288584865 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :translation: < 1288584872 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :You have no chance to survive make your time. < 1288585040 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: end of the netbsd era eh? < 1288585147 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :i apparently have to install more things somewhere else. < 1288585193 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :i need a kernel module for executing ELF files. < 1288585256 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ok NOW i find http://www.netbsd.org/changes/changes-6.0.html < 1288585325 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1288585360 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :./build.sh modules < 1288585363 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ok cool < 1288585437 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Error 8 is ENOEXEC. < 1288585464 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :00056902415e[CPU0 ] fetch_raw_descriptor: GDT: index (807) 100 > limit (17) < 1288585465 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1288585469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Anyone know what that means? < 1288585529 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :You are trying to access GDT descriptor far above the limits. < 1288585569 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: That's the thing, though; I'm really not. :) < 1288585574 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: I think my kernel is still failing to load. *sigh* < 1288585588 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WHAT DO YOU WANT, INFERNAL HARDWARE?! < 1288585629 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Limit 17 would mean it only has 3 entries (null, code and data)... < 1288585635 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Indeed, it does. < 1288585649 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: I think it's trying to run random memory since the kernel didn't load properly, or suchlike. < 1288585676 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :It seems like the descriptor its trying to access is 1024, 1025, 1026 or 1027... < 1288585692 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Ah, no. < 1288585709 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :2048, 2049, 2050 or 2051. < 1288585747 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Maybe you try to refer to 0x0008 (that would be code?) and get the bytes swapped for some reason? < 1288585755 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Or offset by one. < 1288585783 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: The code is loaded at 0x8000. < 1288585806 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: The kernel, that is. < 1288585821 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Hmm... < 1288585826 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : jmp KERNEL_SEGMENT:0 < 1288585832 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I do this, but in protected mode. < 1288585841 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I should do jmp KERNEL_SEGMENT * 16? < 1288585842 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Because trying to refer to segment 0x0800 (instead of 0x0008) would trigger just that kind of error... < 1288585852 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Indeed, KERNEL_SEGMENT = 0x800. < 1288585935 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :If you are in pmode ring 0 with the likely GDT, the only valid segment to jump to is segment 8. < 1288585946 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Right. < 1288585957 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: So what I need to do is... "jmp CODE_SEGMENT:0x8000", right? < 1288585970 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I think so. < 1288585974 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Thanks; I'll try that. < 1288586009 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :You might need to initialize SS first so it validates after jump (0x0010?) < 1288586027 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov ax, DATA_SEGMENT < 1288586028 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov ds, ax < 1288586028 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov es, ax < 1288586028 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov fs, ax < 1288586028 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov gs, ax < 1288586028 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov ss, ax < 1288586032 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Already done that. < 1288586043 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Well, that should work. < 1288586064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :qemu: fatal: Trying to execute code outside RAM or ROM at 0x000a0000 < 1288586064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :EAX=00000000 EBX=0000ff31 ECX=00000000 EDX=00000500 < 1288586064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ESI=00000002 EDI=e900fed4 EBP=00000000 ESP=00006ef9 < 1288586080 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Bochs error is just... < 1288586082 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Hah. You jumped into VGA memory. < 1288586085 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :00042725627e[CPU0 ] write_virtual_checks(): no write access to seg < 1288586086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :00042725627e[CPU0 ] interrupt(): vector must be within IDT table limits, IDT.limit = 0x0 < 1288586086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :00042725627e[CPU0 ] interrupt(): vector must be within IDT table limits, IDT.limit = 0x0 < 1288586086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :00042725627i[CPU0 ] CPU is in protected mode (active) < 1288586089 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: ha! < 1288586093 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how I managed that. < 1288586099 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I do set the segment register to vga memory in real mode. < 1288586105 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :DOSBox would lock up if you did that. < 1288586116 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1288586117 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov ax, DATA_SEGMENT < 1288586117 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov ds, ax < 1288586121 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ds was where i had vga memory, so < 1288586126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov word [0xB8000+ebx+2], 0x0F21 < 1288586138 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's the last time i reference vga memory in my program and as you can see... < 1288586179 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :blub blub < 1288586181 0 :catseye!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1288586183 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :What instruction actually triggers that execution attempt from VGA memory? < 1288586197 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :The 'jmp CODE_SEGMENT:0x8000'? < 1288586304 0 :Mathnerd314!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1288586350 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: I'm not sure how to get bochs to tell me that :) < 1288586388 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Hmm, I have replaced CODE_SEGMENT: with "push CODE_SEGMENT \ pop cs" earlier in the program. < 1288586392 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Then just "jmp (KERNEL_SEGMENT*16)" later. < 1288586396 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Same error, but that seems clear. < 1288586398 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*cleaner. < 1288586401 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :POP CS doesn't exist. < 1288586416 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Are you sure? nasm assembles it happily. < 1288586443 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :At least on any x86 processor that supports protected mode. < 1288586453 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Oh, looks like it assembles it into a hopeless tangle of things... < 1288586463 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov ax, CODE_SEGMENT < 1288586463 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov cs, ax < 1288586466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That'll work, right? < 1288586477 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I don't think you can do that either... < 1288586482 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Can you set CS at all? < 1288586523 0 :catseye!~catseye@adsl-99-96-163-210.dsl.chcgil.sbcglobal.net JOIN :#esoteric < 1288586528 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :NetBSD catseye 5.99.39 NetBSD 5.99.39 (CATSEYE) #0: Sun Oct 31 16:54:30 CDT 2010 catseye@catseye:/usr/obj/sys/arch/i386/compile/CATSEYE i386 < 1288586531 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: ^^ < 1288586541 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :now to install the userland! < 1288586542 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I think only far jump, far call, far return, interrupt, syscall or sysreturn can change CS. < 1288586548 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: NO WAIT YOU SHOULD GIVE ME SSH FIRST >:) < 1288586550 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1288586551 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or not. < 1288586563 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Oh. Then CS is already correct :) < 1288586565 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : jmp CODE_SEGMENT:dword other_side < 1288586611 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: I'm actually at a complete loss why it jumps into VGA memory... < 1288586644 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: KERNEL_SEGMENT is 0x800, so it's jumping to 0x8000. < 1288586651 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :And that's graphics VGA memory, not text VGA memory... < 1288586661 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: I still think the floppy might not be reading correctly. < 1288586664 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Wait, easy way to find out. < 1288586667 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :*** Failed target: mkvarsyesno < 1288586671 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :whuh-oh < 1288586682 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps it runs off the end of kernel, there's only zeroes (AFAIK, that instruction can actually work) and then hits VGA graphics memory? < 1288586705 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: *Possibly* the kernel isn't even *there* and there's only zeroes. < 1288586714 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: It does pause a bit before crashing. < 1288586732 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: But I'm calling the BIOS perfectly, I've even carbon-copied catseye's code -- I have no idea why it isn't reading from floppy! < 1288586773 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :00 00 is ADD [EAX], AL. With the segments the way they are, that works even with zero EAX... < 1288586791 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Indeed, I just added this:. < 1288586796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov al, [KERNEL_SEGMENT*16] < 1288586796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov byte [0xB8000+ebx+4], al < 1288586796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov byte [0xB8000+ebx+5], 0x0F < 1288586796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov al, [(KERNEL_SEGMENT*16)+1] < 1288586796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov byte [0xB8000+ebx+6], al < 1288586796 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : mov byte [0xB8000+ebx+7], 0x0F < 1288586798 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :x: jmp x < 1288586800 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Before the jump. < 1288586804 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And it just says "boo" on my screen. < 1288586807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. i'm putting zeroes there. < 1288586829 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. the kernel isn't getting loaded. < 1288586831 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i.e. WTF? < 1288586948 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: did you post the code somewhere? < 1288586963 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: I TOTALLY CAN < 1288586976 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: Ilari: http://sprunge.us/MLOL < 1288587159 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :i like how sprunge has put "LOL" in that url < 1288587254 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: SO WUTZ MY BUG < 1288587255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :LOL < 1288587339 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :It just says "boo"? < 1288587355 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :Appropriate for Oct 31 I suppose :) < 1288587376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: i don't even know HOW < 1288587384 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Today has been a good day. < 1288587385 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: if you look at my code, it all writes *after* the "boot!" < 1288587388 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: so wtf < 1288587449 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :Well, I just got back from trick-or-treating < 1288587456 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :free candy is best candy < 1288587466 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :"it all writes", you mean, the code after 'protect' does stuff? maybe "t!" is being erased < 1288587497 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: yeah but HOW < 1288587502 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it makes the NONSENSE < 1288587503 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: Yeah, I'm eating the leftovers ATM. < 1288587511 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1288587520 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(I did not buy the candy, for I live with my parents) < 1288587552 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :so do I < 1288587560 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :but I am 16 so I have an excuse < 1288587565 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you pop bx < 1288587570 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :but your push bx is commented out < 1288587581 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :What's you excuse, pikhq? < 1288587585 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: uh right < 1288587593 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: push bx before "mov ah, 02h" < 1288587595 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: 20 and go to school nearby. < 1288587600 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1288587604 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: ok now it's just "boot!" < 1288587608 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: with what are presumably zero bytes after it < 1288587611 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: So, similar position except it'd be *possible* for me to move out. < 1288587618 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1288587620 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, except that it's nearly impossible to find a job right now. < 1288587625 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :I want to move when I am of-age < 1288587627 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i'm 8 years old and own a flute that gives me a bedroom < 1288587627 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fucking Bush. < 1288587636 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*15, *don't own < 1288587636 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :even if I have to walk to Seattle < 1288587639 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :sadly, reality is never quite as perfect. < 1288587641 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :from Northern AZ < 1288587649 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :elliott's 15? < 1288587660 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :that explains the pompous douchebaggery < 1288587662 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I actually did move out. And reality is a bitch and a half. < 1288587663 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: 8 < 1288587688 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: The pompous douchebaggery is just from knowing far better than most people. < 1288587694 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: oh shut up < 1288587697 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :you douchebag :) < 1288587700 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :thinking he knows far better < 1288587708 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: it's always interesting to see how many people just accept the pompous douchebaggery until "zomg he's $age_at_time" which suddenly offers an explanation for why i'm a pompous douchebag < 1288587717 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: But, see, he does. :) < 1288587721 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :which, of course, is just a rationalisation, but there you go... < 1288587724 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :See, I know more than elliott about lots of things. But, I'm not a douchebag. < 1288587734 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I was a pompous douchebag at 15 too < 1288587738 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: no, but you are, evidently, incapable of rational thought < 1288587740 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : elliott, I was a pompous douchebag at 15 too < 1288587745 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: You're fucking 16. < 1288587747 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :and then serious depression kicked in < 1288587750 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :this in no way lends evidence to the proposition that my pompous douchebaggery is due to my age < 1288587753 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: People don't change that damned much in a year. < 1288587758 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :so I am too depressed to be a douchebag < 1288587760 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Everyone on the internet is depressed! Everyone on the internet has motherfuckin' autism! < 1288587770 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Everyone on the internet is so much deeper than all these sheep! < 1288587773 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: And every other possible disorder. < 1288587774 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :I'm diagnosed with clinical depression < 1288587783 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Everyone on the internet is fucking stupid and you too -- whoever is reading it, you too. < 1288587784 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :take pills and everything < 1288587832 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: i think i blame jews for my bootloader < 1288587837 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it can't be that my code is wrong, absolutely not < 1288587858 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Don't you have someone less offensive to blame? < 1288587874 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Oh, right, Muslims! < 1288587875 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Like that witchdoctor over there? < 1288587881 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION points at nearest black man < 1288587887 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Actually I blame society. < 1288587891 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I blame society for my murders. < 1288587936 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :hey, if there was no society, it wouldn't be murder, would it? let's move on. < 1288587948 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: so now that your stack is no longer stupid < 1288587957 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: still doesn't work at all < 1288587968 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :you *don't* see the other stuff being printed? < 1288587974 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: Nope; zeroes. < 1288587980 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :that you saw before. when the stack was stupid. < 1288587980 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well, spaces, but they're zeroes. < 1288587985 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I saw nothing. < 1288587992 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :my mistake < 1288587993 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I have never seen anything because *it isn't being loaded*. < 1288588004 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Here's what's loaded right after the first sector, btw: < 1288588009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bits 32 < 1288588010 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :org 0x8000 < 1288588010 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :foo: hlt < 1288588010 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : jmp foo < 1288588056 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1288588057 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :write the code to display what's been loaded, before you got into protmode. < 1288588078 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :obv you have to write it in segmented form, so i didn't just say 'copy it to...' < 1288588095 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :"segmented form"="real mode" < 1288588138 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: i did < 1288588141 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: zeroes, the same < 1288588144 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: i did that like three times :) < 1288588220 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i don't know if this is it but you don't set dl when you issue the reset interrupt < 1288588232 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :mine has: < 1288588233 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric : mov ah, 00h ; call code = reset < 1288588233 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric : mov dl, 00h ; drive < 1288588234 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric : int 13h < 1288588244 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :yours skips the dl part < 1288588270 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :god forbid you are resetting some OTHER drive. < 1288588290 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: isn't dl initialised to current-drive??? < 1288588320 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :it may be, ok < 1288588331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: i'll try though < 1288588443 0 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1288588506 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1288588539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: same result < 1288588573 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :i should de-OPTOMISE my bootblock and make it easier to understand, but the only other thing i can suggest for now is to double-check your sec, cyl, head computations < 1288588591 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :i have a netbsd 5.999999 world now so i have to reboot to completely break my machine, you see < 1288588616 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :brb (knock on wood) < 1288588618 0 :catseye!unknown@unknown.invalid QUIT :Quit: leaving < 1288588746 0 :catseye!~catseye@99.96.163.210 JOIN :#esoteric < 1288588759 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :NetBSD 5.99.39 inna house! < 1288588860 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: SSH! < 1288588983 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :otay < 1288588991 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to log < 1288589111 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :Bad local forwarding specification 'R' < 1288589124 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: uh uh < 1288589126 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: what command did you run < 1288589143 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ssh -L R 9292:localhost:22 cpressey@91.104.241.33 < 1288589144 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :YOU SAID < 1288589169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: *ssh -R < 1288589173 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I must have made mistake lol < 1288589178 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :s/-L R/-R/ < 1288589198 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :ha < 1288589200 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :done < 1288589246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[1] Bad system call (core dumped) sudo chroot debian < 1288589246 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye$ < 1288589253 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :wahoo < 1288589255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: 2.6 SUPPORT WOO < 1288589283 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :hrm < 1288589474 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :xkcd is starting to bore me < 1288589492 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Or at least, this one did < 1288589604 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: up until now *xkcd did not bore you*? < 1288589692 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Night all < 1288589754 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1288589862 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Europeans are ruining me. < 1288589885 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh? < 1288589886 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Recently I've been counting thumb-first. I don't know why, and I can't stop myself. I've become so conscious of it that I'm even more incapable of stopping it. < 1288589894 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :The other day I said "queue" instead of "line" < 1288589919 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The queue thing might just be bits getting to you. < 1288589923 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: ...what do americans normally count with? < 1288589926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Pinky first??? < 1288589936 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Index-finger first, then to pinky, then thumb is #5 < 1288589936 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :elliott: index finger down to pinky, thumb last < 1288589940 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what < 1288589945 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that is the most retarded thing i've ever heard < 1288589950 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1288589951 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Which is also how Brits count, by the way :P < 1288589955 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no it isn't < 1288589957 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :well i don't dot hat < 1288589960 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*do that < 1288589969 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :probably it never occurred to me to do something so blatantly illogical < 1288590013 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Peple count on fingers? < 1288590018 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yes, peple do. < 1288590018 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :s/Peple/People/ < 1288590019 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: and what is error 79? :) < 1288590019 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Just asked two friends, neither of them do that. < 1288590044 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I think my "Brits" you might mean "Brits in the 18th century". < 1288590045 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I can't find a Wikipedia article on this. < 1288590046 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*by < 1288590048 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :HOW IS THAT EVEN POSSIBLE. < 1288590049 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Possibly. < 1288590058 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Brits also use feet and miles btw. < 1288590064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Yes. Yes we do. < 1288590071 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Usually for height and road distances only. < 1288590075 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: The units should DIE IN A FIRE. < 1288590075 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well, people under N. :) < 1288590087 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Along with the stone. < 1288590089 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Y'know, they make perfect sense in base 12. < 1288590112 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Tell that to the hand. < 1288590115 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(unit) < 1288590131 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Damn it, SOMEWHERE there must be an article about this on Wikipedia! < 1288590175 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Try "hands" < 1288590189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: http://en.wikipedia.org/wiki/Finger_counting < 1288590192 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :The human hand has five fingers [citation needed] < 1288590192 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Finger counting, or dactylonomy, is the art of counting along one's fingers. Though marginalized in modern societies by Arabic numerals, formerly different systems flourished in many cultures,[1][2] including educated methods far more sophisticated than the one-by-one finger count taught today in preschool education. < 1288590193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Finger counting can also serve as a form of manual communication, particularly in marketplace trading and also in games such as morra. < 1288590193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Finger counting is studied by ethnomathematics. < 1288590194 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ETHNOMATHEMATICS < 1288590198 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Not useful. < 1288590204 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Ethno. Mathematics. < 1288590210 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :I count differently < 1288590214 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :79 => ELIBACC < 1288590217 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :the art < 1288590221 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :thx Ilari < 1288590226 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: so have you figured it out yet :P < 1288590239 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :I use the fingercounting method used by American Sign Language < 1288590260 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: That's even screwier than conventional American counting :P < 1288590269 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: I find that very very weird for numbers larger than 10. < 1288590282 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :Or, I use Chisanbop < 1288590291 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Just to be different" < 1288590298 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has no valid excuse for not knowing ASL. < 1288590311 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :I use thumb-as-5 to count up to 10 on one hand (but not usually) < 1288590315 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :well ok < 1288590317 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :up to 9 < 1288590318 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :i lied. < 1288590319 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: oh my god, when i start with a fist and try and put my index finger up to count < 1288590322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: my thumb automatically pops out < 1288590323 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not joking < 1288590331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it is SERIOUSLY hard to get the index finger out < 1288590332 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :takes dedication < 1288590337 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Point instead of counting. < 1288590340 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1288590346 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Is that what all Americans do :P < 1288590352 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Do binary numerals instead. < 1288590360 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Just training a poor Brit on being a good A'merkin! < 1288590362 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Tried that once; really uncomfortable, impossible to understand. < 1288590365 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :wait if you start with the humb, how do you do 4? i can't hold my pinky back like that! < 1288590368 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :I can count in binary on my fingers < 1288590369 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :*thumb < 1288590375 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Really simple to do. < 1288590389 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Except that you flip someone off at 100. < 1288590389 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :catseye: ... do you use your thumb to hold your pinky while counting three? < 1288590396 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :with thumb-last, you use the thumb to hold the pinky in, at 3! < 1288590397 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Erm. 100_2. < 1288590399 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: yes! < 1288590403 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Requires tons of finger movement though. < 1288590404 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :catseye: Pretty pathetic :P < 1288590410 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Yeah, well. < 1288590417 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :We're all retarded < 1288590424 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: That's what 10000100 is for. < 1288590432 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :That's what humans are < 1288590435 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :retarded < 1288590439 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Try 0b1000 < 1288590440 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: IMPOSSIBLE < 1288590452 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: 0? EASY. < 1288590457 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I should show you my "4", it's very entertaining what with the half bent fingers and all. < 1288590471 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :*European "4" < 1288590475 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: but it's physically impossible to lift up like that! < 1288590478 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :catseye: We just hold the thumb in. So much easier. < 1288590485 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: ... Zero. < 1288590489 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: ??? < 1288590490 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: 0b1000 < 1288590494 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :1000 in binary < 1288590500 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Oh. Misparsing. < 1288590501 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :with your fingers < 1288590507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is physically torturous < 1288590507 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: 0 base 1000 is how I parsed it. < 1288590511 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1288590522 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: It's half-bent. Quite annoying. < 1288590543 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :If I am feeling like a twat, I convert all my answers to octal for my math class. < 1288590553 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sasha: And then you don't just *feel* like a twat! < 1288590561 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :EXACTLY < 1288590576 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :Instead of kicking puppies, I do that < 1288590583 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :it's my only release for anger < 1288590597 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is slowly dying on the inside < 1288590710 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shoots Sasha in the leg < 1288590713 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Quater-imaginary finger counting. < 1288590717 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Now you're slowly dying on the outside! < 1288590718 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :You could do so much worse than octal. < 1288590721 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: o.O < 1288590725 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, that would be difficult. < 1288590728 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Is there a binary equivalent? < 1288590729 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Base-11 would be pretty mean. < 1288590730 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Base pi? < 1288590740 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: I like duodecimal < 1288590743 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Base pi would be more difficult to do than it was worth :P < 1288590748 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Base 9 is the worst for talking in. < 1288590751 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's so close to making sense. < 1288590753 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :or ternary < 1288590782 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :ooh, or sometimes I will use unal < 1288590795 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Naaah, imaginary base. < 1288590801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Golden ratio finger counting. < 1288590809 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :base i < 1288590812 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Golden_ratio_base < 1288590814 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*ratio base < 1288590844 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :TIME FOR DUDLEY DO-RIGHT WOOH < 1288590861 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: You can disconnect from my box now :P < 1288590906 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Base √2 behaves in a very similar way to base 2 as all one has to do to convert a number from binary into base √2 is put a zero digit in between every binary digit; for example, 191110 = 111011101112 becomes 101010001010100010101√2 and 511810 = 10011111111102 becomes 1000001010101010101010100√2. This means that every integer can be expressed in base √2 without the need of a decimal point." < 1288590907 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: This. < 1288590929 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Sounds quite comfortable for hand-counting. < 1288590937 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Gorgeous. < 1288590944 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :oh lordy < 1288590968 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I suggest it be done right to left. < 1288590983 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :elliott: otay < 1288590985 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That is, 1101| on hands where | is right edge of hands = 1011_sqrt(2) < 1288590993 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :eh < 1288591009 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :I work binary on my fingers from right to left < 1288591021 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :the pinky on my right hand has a value of 1 < 1288591037 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :and the pinky on my left, a value of 128 < 1288591183 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :bases are for the weak! i use pure numbers < 1288591223 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :you know what else is for the weak? < 1288591230 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :CORPOREAL FORMS < 1288591258 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: SO DID YOU DEBUG MY CODE < 1288591307 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :i've got it all figured out, man < 1288591313 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :but i'm going to sleep < 1288591315 0 :catseye!unknown@unknown.invalid PRIVMSG #esoteric :good night < 1288591315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: DARN < 1288591319 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :catseye: HAVE A BAD NIGHT < 1288591325 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :bye < 1288591335 0 :catseye!unknown@unknown.invalid QUIT :Quit: leaving < 1288591827 0 :augur!~augur@208-59-167-26.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1288592759 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1288593748 0 :wareya!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1288593840 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Did you just DETERMINE the capital of Spain?" --http://www.viruscomix.com/page490.html < 1288593855 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And with that -- and a broken boot sector, too -- I leave you. < 1288593859 0 :elliott!unknown@unknown.invalid QUIT :Quit: Leaving < 1288593881 0 :wareya!~wareya@cpe-74-70-142-220.nycap.res.rr.com JOIN :#esoteric < 1288593895 0 :augur!~augur@208.58.6.161 JOIN :#esoteric < 1288595219 0 :sftp!~sftp@79.174.50.208 JOIN :#esoteric < 1288597577 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :inb4 negabinary < 1288597606 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :also: i never thought i'd meet another person who counts binary on their fingers, but then i realized what channel i'm in ;) < 1288597618 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :i use palms towards me though, so right thumb is LSB < 1288598399 0 :clog!unknown@unknown.invalid QUIT :ended < 1288598400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1288603758 0 :sftp!unknown@unknown.invalid QUIT :Remote host closed the connection < 1288604506 0 :Quadlex!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1288604552 0 :Quadlex!~quadlex@li23-6.members.linode.com JOIN :#esoteric < 1288604841 0 :Quadlex!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1288605101 0 :Quadlex!~quadlex@li23-6.members.linode.com JOIN :#esoteric < 1288606460 0 :MigoMipo!~John@84-217-4-106.tn.glocalnet.net JOIN :#esoteric < 1288607816 0 :p_q!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1288608016 0 :p_q!~poiuy_qwe@bas5-toronto47-2925108878.dsl.bell.ca JOIN :#esoteric < 1288608665 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1288608815 0 :augur!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1288608948 0 :augur!~augur@208.58.6.161 JOIN :#esoteric < 1288611866 0 :wareya!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1288612128 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1288613567 0 :ais523!93bcc029@gateway/web/freenode/ip.147.188.192.41 JOIN :#esoteric < 1288613837 0 :Deewiant!unknown@unknown.invalid QUIT :Ping timeout: 255 seconds < 1288614012 0 :wareya!~wareya@cpe-74-70-142-220.nycap.res.rr.com JOIN :#esoteric < 1288614233 0 :Deewiant!~deewiant@cs186230.pp.htv.fi JOIN :#esoteric < 1288615038 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1288615226 0 :rodgort!unknown@unknown.invalid QUIT :Quit: Coyote finally caught me < 1288615241 0 :rodgort!~rodgort@li14-39.members.linode.com JOIN :#esoteric < 1288615427 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1288615619 0 :fungot!unknown@unknown.invalid QUIT :Read error: Operation timed out < 1288615630 0 :fizzie!unknown@unknown.invalid QUIT :Ping timeout: 250 seconds < 1288615851 0 :fizzie!~fis@iris.zem.fi JOIN :#esoteric < 1288616452 0 :ais523!unknown@unknown.invalid QUIT :Quit: Page closed < 1288623364 0 :ais523!93bcc029@gateway/web/freenode/ip.147.188.192.41 JOIN :#esoteric < 1288624501 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :why on earth is configuring which program should open a given file type so hard in gnome? There is a checkbox to change default when selecting "open with". Thats all. No place to remove apps from that list for example. < 1288624550 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I resorted to editing the underlying .ini-style config file < 1288624759 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Other somewhat related issue: wine likes to steal associations for stuff like *.jpg, *.txt and so on for the included wine-notepad, wine-browser and so on. And keeps adding them back even if you remove them. Disabling that took some work as well. < 1288624815 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Neither thing would be easy for a novice-user. Things like this are probably why we haven't yet seen the "year of the linux desktop". Heh. < 1288624823 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oh btw, hi ais523 < 1288624887 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You can open Nautilus, select a file of given type, do right-click + properties + "open with"; that gives you a list (with add/remove/reset options) for that file type. < 1288624893 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure if there's some central place, though. < 1288624935 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: hi < 1288624936 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, I'm pretty sure there is no central place. I found one for KDE though. < 1288624939 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm in the middle of teaching my students atm < 1288624944 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but one at a time, at 12-minute intervals < 1288624946 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, ah ok < 1288624951 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, java? < 1288624953 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so presumably I'll do loads of talking up to but not including :24 < 1288624955 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, java < 1288624963 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :IRC's open for me to check up on in the gaps in between < 1288624971 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1288624994 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, won't take your time with fea^W^W^Wstuff then! < 1288625010 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :^W = delete last word < 1288625019 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so that's "ais523, won't take your stuff then" < 1288625027 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, oh right, haven't slept for over 24h < 1288625030 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is presumably correct, if not what you meant to say < 1288625034 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :also, why avoid sleep for that long? < 1288625052 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, not intentional, trust me. I had an exam this morning so... < 1288625059 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :just couldn't sleep this night < 1288625065 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so sleeping before it would have been a good idea? < 1288625079 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ais523, yes, I tried but didn't work < 1288625085 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :it didn't* < 1288625629 0 :wareya!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1288626241 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what was the exam about, anyway? < 1288627103 0 :Sgeo!~Sgeo@137.125.188.14 JOIN :#esoteric < 1288627147 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :*sigh* < 1288627164 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :If people weren't so afraid of following instructions, things would be much easier < 1288627167 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Some printer wasn't working < 1288627187 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I "fixed" it by following prompts that were on the screen and choosing to change the paper tray that it used < 1288627393 0 :GregorR!~gregor@65.183.185.80 JOIN :#esoteric < 1288627420 0 :GregorR!unknown@unknown.invalid NICK :Guest55736 < 1288627525 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Guests can only watch the chat < 1288627737 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Guest55736: stop impersonating Gregor! < 1288627748 0 :Gregor!unknown@unknown.invalid NICK :Guest395 < 1288627778 0 :Guest55736!unknown@unknown.invalid NICK :Gregor < 1288627792 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :I shouldn't have my BNC log in for me when it doesn't know my nickserv password :P < 1288628172 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :ACTION mumbles < 1288628183 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :good afternoon :) < 1288628486 0 :wareya!~wareya@cpe-74-70-142-220.nycap.res.rr.com JOIN :#esoteric < 1288628687 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1288630070 0 :MigoMipo_!~John@84-217-1-23.tn.glocalnet.net JOIN :#esoteric < 1288630183 0 :p_q!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1288630228 0 :MigoMipo!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1288630527 0 :Phantom_Hoover!~phantomho@cpc12-sgyl29-2-0-cust185.sgyl.cable.virginmedia.com JOIN :#esoteric < 1288630766 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1288630793 0 :Sgeo!~Sgeo@137.125.188.14 JOIN :#esoteric < 1288631083 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : what was the exam about, anyway? <-- computer networks < 1288631137 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : I "fixed" it by following prompts that were on the screen and choosing to change the paper tray that it used <-- do you seriously expect people to read any dialogue boxes? < 1288631172 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wasn't a dialog box, it was a message on the printer < 1288631174 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But yeah < 1288631203 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wish people did < 1288631232 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, that is even less likely < 1288631254 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo, what did you "fix"? < 1288631330 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Switched the printer to tray 2 < 1288631361 0 :FireFly|n900!unknown@unknown.invalid QUIT :Quit: -> < 1288631469 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1288632681 0 :sftp!~sftp@79.174.50.208 JOIN :#esoteric < 1288632819 0 :Guest395!unknown@unknown.invalid PRIVMSG #esoteric :Your printer-fixing prowess is unohyou'regone never mind. < 1288632957 0 :Quadrescence!unknown@unknown.invalid QUIT :Quit: omghaahhahaohwow < 1288634494 0 :augur!~augur@129.2.129.32 JOIN :#esoteric < 1288634863 0 :Gregor!unknown@unknown.invalid QUIT :Disconnected by services < 1288634868 0 :Guest395!unknown@unknown.invalid NICK :Gregor < 1288634893 0 :GregorR!~gregor@65.183.185.80 JOIN :#esoteric < 1288634915 0 :GregorR!unknown@unknown.invalid NICK :Guest7928 < 1288635034 0 :Guest7928!unknown@unknown.invalid QUIT :Client Quit < 1288635240 0 :cpressey!~cpressey@12.116.117.150 JOIN :#esoteric < 1288635426 0 :cpressey!unknown@unknown.invalid TOPIC #esoteric :11 days since last oerjan sighting | http://esolangs.org/wiki/ | DEAD SERIOUS | http://tunes.org/~nef/logs/esoteric/?C=M;O=D < 1288635535 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :he's probably on vacation < 1288635541 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :or dead < 1288635555 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Or in a well. < 1288635568 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Or on vacation, dead in a well. < 1288635590 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The things people do for fun nowadays. < 1288635652 0 :ais523!unknown@unknown.invalid QUIT :Quit: Page closed < 1288635898 0 :sebbu2!~sebbu@ADijon-152-1-54-4.w83-194.abo.wanadoo.fr JOIN :#esoteric < 1288636083 0 :sebbu!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1288636083 0 :sebbu2!unknown@unknown.invalid NICK :sebbu < 1288636358 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1288636497 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1288637147 0 :Phantom_Hoover!~phantomho@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com JOIN :#esoteric < 1288637361 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Why does my AC adapter smell like burning solder ... < 1288637533 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Parfum du overload < 1288637932 0 :poiuy_qwert!~poiuy_qwe@bas5-toronto47-1176439161.dsl.bell.ca JOIN :#esoteric < 1288638830 0 :elliott!~elliott@unaffiliated/elliott JOIN :#esoteric < 1288638850 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Not a good thing? < 1288638876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :07:15:01 why on earth is configuring which program should open a given file type so hard in gnome? There is a checkbox to change default when selecting "open with". Thats all. No place to remove apps from that list for example. < 1288638876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :07:15:50 I resorted to editing the underlying .ini-style config file < 1288638876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :07:19:19 Other somewhat related issue: wine likes to steal associations for stuff like *.jpg, *.txt and so on for the included wine-notepad, wine-browser and so on. And keeps adding them back even if you remove them. Disabling that took some work as well. < 1288638876 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :07:20:15 Neither thing would be easy for a novice-user. Things like this are probably why we haven't yet seen the "year of the linux desktop". Heh. < 1288638879 0 :ais523!~ais523@unaffiliated/ais523 JOIN :#esoteric < 1288638882 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Normal people don't configure their apps. < 1288638886 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Normal people don't use Wine. < 1288638895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Wine doing that sucks, and Gnome's feature could be more obvious, < 1288638901 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but that is not a problem for "normal people". < 1288638930 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hi ais523 < 1288638943 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :good to see you; haven't in a while < 1288639032 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :real users don't use linux either < 1288639037 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :they just go with plan9 < 1288639046 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: i swear, i had my pitchfork out < 1288639051 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then you totally redeemed yourself < 1288639053 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz++ < 1288639074 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :or, if they are able to manage bootloader, I can allow them to use their own OSes < 1288639145 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: you were scared about what? microsoft windows? rofl < 1288639156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: BSDs or, hell, OS X :) < 1288639239 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :should I give this book (http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504) a try? < 1288639250 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : Jackoz: i swear, i had my pitchfork out <-- BSD joke right? < 1288639257 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: no. < 1288639262 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: YES! < 1288639266 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: Chris Okasaki is wonderful < 1288639274 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, worked as one anyway < 1288639283 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking about buying it, now you convinced me < 1288639302 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: The examples in the book use a version of ML (not OCaml), too, so you probably won't have much trouble reading them. < 1288639315 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Laziness is done with a little ad hoc language extension, heh... He does give equivalents in Haskell though.) < 1288639331 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: another dialect? they should be all quite similar < 1288639339 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: Standard ML < 1288639345 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :the original that your poseur OCaml is derived from ;) < 1288639359 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: oh SML, btw laziness shouldn't be so hard to implement < 1288639378 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: yeah he just uses uh $x to denote lazy x i think < 1288639382 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :not sure he actually implemented it < 1288639382 0 :cheater99!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1288639387 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :but why would you want to *run* code?!?!? < 1288639394 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :we're theoreticians! pfft! < 1288639404 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what I was wondering is if he will talk about complex things, cause easy ones are already enough mastered < 1288639451 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: I've never heard of anyone who doesn't recommend it :) I haven't read the whole thing myself but I've read parts and a lot of other things Chris Okasaki has written, and I've heard many, many recommendations from cool people, so. < 1288639482 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: You could always click that "look inside" link and get a selection of probably 5 of the most useless pages. :P < 1288639492 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: ok, you've been enough convincing again.. since this kind of books is usually not so much cheap :) < 1288639511 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I just clicked the "look-rapidshare-inside" big red button < 1288639518 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, CS books are... impressively expensive. < 1288639519 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1288639532 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Jackoz: I couldn't read a whole book on a computer. < 1288639537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'd have to at least print it out. < 1288639611 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :me neither, I definetely love the flavour of paper when I hold a book, but before spending some money a peek is needed < 1288639746 0 :Jackoz!unknown@unknown.invalid PRIVMSG #esoteric :then I bought a pivot monitor just to have some comfort in reading books < 1288639939 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I need an eBook reader that doesn't suck ass. < 1288639950 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Maybe Gregor will convince me to get one of those iREXs. < 1288639958 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*IREX. < 1288639979 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"As publicly announced, IREX Technologies is no longer trading and this website has been permanently closed." < 1288639981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Never mind! < 1288640009 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :They went bankrupt because of the FCC :P < 1288640110 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :09:33:39 Your printer-fixing prowess is unohyou'regone never mind. < 1288640113 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :whut < 1288640125 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You switched back to Gregor and there's no record of anyone joining or /nicking in the interim in the logs < 1288640139 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Yeah, don't get an IREX :P < 1288640151 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: MORE IMPORTANT: EXPLAIN THIS MYSTERY < 1288640154 0 :zzo38!~zzo38@h24-207-49-17.dlt.dccnet.com JOIN :#esoteric < 1288640156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :08:09:08 --- nick: Gregor -> Guest395 < 1288640156 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :08:09:38 --- nick: Guest55736 -> Gregor < 1288640168 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :[time passes, no log discontinuity, no nicks to Guest395, no joins of that nick either] < 1288640169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Then < 1288640172 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :09:33:39 Your printer-fixing prowess is unohyou'regone never mind. < 1288640174 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :WHAAAAAAT < 1288640184 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: 1) I accidentally had two systems logging in and to set my nick, 2) My BNC doesn't know my nickserv pass. < 1288640199 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: Oh, oh I see. < 1288640200 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I thought it was < 1288640202 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor -> GuestX < 1288640205 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :GuestX -> Gregor < 1288640213 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: You broke my brain with your numbers. < 1288640255 0 :cheater99!~cheater@e181131129.adsl.alicedsl.de JOIN :#esoteric < 1288640665 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I'm a bit confused about "unohyou'regone never mind" though < 1288640678 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Try applying the splitting engine.; < 1288640681 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :s/;$// < 1288640698 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1288640779 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1288640824 0 :Quadrescence!~Quad@unaffiliated/quadrescence JOIN :#esoteric < 1288640853 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, doyouthinktextwrittenlikethisishardtoreadornot? < 1288640878 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Not very. And besides, it was a non-word three words. < 1288640882 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*non-word and three < 1288640891 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes < 1288640901 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: did you do anything more on the boot sector that went into protected mode? < 1288640910 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I just generalised the issue < 1288640918 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I am still working on it; currently, the issue is that it doesn't actually load the kernel. < 1288640926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: This makes *no sense whatsoever*. < 1288640969 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, maybeyourenteredthenextsector,thatisrunoutofbytesintheMBR? < 1288640996 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: If I run out of bytes in the MBR my padding would be negative and it would not assemble. No: It is 512 bytes exactly. The issue is that the BIOS interrupt somehow does not load the kernel. < 1288641004 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The code is only 208 bytes or so, anyway. < 1288641031 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, how easy was "maybeyourentered" to parse, did you need to backtrack from "you're" to "you en[tered]"? < 1288641055 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :This is beyond ridiculous. < 1288641060 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, true < 1288641121 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I haven't slept for about 34 hours though < 1288641146 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I just couldn't sleep this night. Sigh... some sort of temporary insomnia I guess. < 1288641154 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: wtf -- I couldn't either < 1288641170 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Admittedly it was about 8am when I started sleepcrastinating and actually went to bed. < 1288641182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But then it was 12 am and nothing had happened. < 1288641191 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :This is why it is almost 7 pm now and I've just woken up. < 1288641196 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, am, that is [0,12) right? < 1288641203 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :or is it [12,24) ? < 1288641205 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*12 pm < 1288641211 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I can never keep them apart < 1288641213 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :From midnight onwards: < 1288641235 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :12 am, 1 am, 2 am, 3 am, 4 am, 5 am, 6 am, 7 am, 8 am, 9 am, 10 am, 11 am, 12 pm, 1 pm, 2 pm, 3 pm, 4 pm, 5 pm, 6 pm, 7 pm, 8 pm, 9 pm, 10 pm, 11 pm < 1288641239 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :anyway, I couldn't sleep in the day, had an exam < 1288641246 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :during* < 1288641257 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Holidays here. Although ending rapidly.. < 1288641284 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :holiday week here, but only for high school and lower < 1288641303 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :I think TeX contains a lot of lies --- there is one error message that says "Missing { inserted", but actually it isn't inserting anything; what it does is skip the { if there is one, and otherwise displays the error message. < 1288641322 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, has the innovative name of höstlov (en:autumn holiday) < 1288641339 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: It's called "half term" here. < 1288641342 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And yeah, high school and lower. < 1288641353 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :well, it is the current week iirc < 1288641364 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: I think it means "I'm pretending there was a { here." < 1288641381 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: It was last week, but today is ~Teacher training day~ < 1288641385 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Yes, that would be a better way of writing it, in my opinion. < 1288641390 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, for me it is called "exam week". Oh well, I have more days than usual free at least. < 1288641399 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh those < 1288641409 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Pretty sure they just eat biscuits all day. < 1288641415 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: at the risk of being obvious, it sounds like the problem is that you're doing something wrong < 1288641421 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you don't such during university you know < 1288641429 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: What, eat biscuits? < 1288641430 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Yes, I considered that. < 1288641448 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: However I have directly ripped off cpressey's code again almost word for word and it *just doesn't work*. < 1288641453 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no, skipped teaching due to teachers getting taught < 1288641463 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Uh, yeah, I know that ... < 1288641469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'm not a moron. < 1288641472 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, but biscuits, short supply too < 1288641488 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: http://sprunge.us/eKMD < 1288641504 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Includes magical debug code! After "boot!" you see the first few bytes of the brave new world^W^W^Wloaded kernel. < 1288641507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Which are zeroes, as it stands. < 1288641514 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I have some disk code here, but I don't know how it works, and I don't know if it actually supports a >1 sector kernel image < 1288641518 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and the black market biscuits are too expensive for most students. < 1288641526 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Theft. < 1288641543 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Well, the BIOS call can load N sectors with a parameter for reasonable N. < 1288641543 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you mean like, raid the cafeterias? < 1288641552 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Sure. Or whatever shops are nearby. < 1288641600 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, campus is located at the edge of the city. Modern university. Not one of the old ones spread out over half the town centre < 1288641625 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Psht! < 1288641648 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, what does dx=0 mean here? my code uses mov dx,0x0180 before all the disk calls < 1288641653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I gather that Oxford is like an unkillable patch of weeds. :) < 1288641660 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, should be fixable once the time travel lab gets some actual results < 1288641675 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :DH = head number < 1288641675 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :DL = drive number (bit 7 set for hard disk) < 1288641693 0 :p_q!~poiuy_qwe@bas5-toronto47-1167928439.dsl.bell.ca JOIN :#esoteric < 1288641703 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So you read from the 0x80th head (??????????) of drive 1. < 1288641716 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I can imagine (wrt Oxford) < 1288641720 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :no, head 1 of first hard drive < 1288641734 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Oh, right. < 1288641738 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Well, I'm on a floppy. < 1288641749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Also, *pretty* sure that DL gets initialised by the BIOS. < 1288641755 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :or 0th hard drive? or "the" boot drive? not sure which is which here < 1288641760 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: The worst thing is that *this* *worked*. < 1288641772 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: If I filled the floppy with /dev/urandom, it'd do crazy shit. < 1288641778 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : DL = drive number (bit 7 set for hard disk) <-- if not set, floppy? < 1288641778 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: If I filled it with /dev/zero, the same thing every time. < 1288641784 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: So *why* is it failing now??? < 1288641787 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Dunno. Guess so. < 1288641791 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what about cds then? they use something else? < 1288641797 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :CDs are weird. < 1288641805 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oh right, now I remember < 1288641805 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :DL gets initialized by the BIOS (at least in Bochs, it does, anyways). < 1288641807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Don't think BIOSes can do them for you. < 1288641809 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :el torrito or something? < 1288641836 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1288641838 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :El Torito < 1288641847 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :could it be that you're mistaking the address where the stuff is loaded? < 1288641855 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, why that strange name I wonders < 1288641857 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :wonder* < 1288641862 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1288641866 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :gah, don't change a /me to a /msg in the middle < 1288641903 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :According to legend, the El Torito CD/DVD extension to ISO 9660 gained its name because its design originated in an El Torito restaurant in Irvine, California.[2] The initial two authors were Curtis Stevens, of Phoenix Technologies, and Stan Merkin, of IBM.[2] < 1288641910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :El Torito (Spanish for "the little bull") is a Mexican restaurant chain located primarily in California, with a small number of outlets in Oregon, Arizona, and Japan. They have a total of 69 outlets.[1] El Torito is one of several Mexican cuisine restaurants operated by Real Mex Restaurants. The executive chef is Pepe Lopez. < 1288641910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Founded in 1954, they claim to be "a pioneer in the California full service Mexican casual dining restaurant segment. Leveraging more than 50 years of operational experience, El Torito is currently the largest Mexican restaurant brand in California in terms of number of restaurants and operates franchise locations in Japan, Turkey and the Middle East."[2] < 1288641936 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1288641951 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Fuck OFF Jimbo, I'm not giving you any money. < 1288641955 0 :zzo38!unknown@unknown.invalid PRIVMSG #esoteric :Does the TRIP test allow that if I write C-TeX, I can make the error messages different? Or only the help messages? < 1288641974 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: There's also: < 1288641974 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :zzo38, what? < 1288641975 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The Rock Ridge Interchange Protocol (RRIP, IEEE P1282) is an extension to the ISO 9660 volume format, commonly used on CDROM and DVD media, which adds POSIX file system semantics. The availability of these extension properties allows for better integration with Unix and Unix-like operating systems. < 1288641975 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :RRIP was developed by Andrew Young of Young Minds, Inc. in the early 1990s. The standard takes its name from the fictional town Rock Ridge in Mel Brooks' film Blazing Saddles. < 1288641977 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :zzo38: I don't know. < 1288641994 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I know what rock ridge is, though I never thought about the reason for the name < 1288642031 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I mean, Joilet. Is it named after Joilet, Arkansas or what? < 1288642033 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :;P < 1288642047 0 :zzo38!unknown@unknown.invalid QUIT :Quit: I don't know < 1288642056 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1288642059 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :strange quit < 1288642067 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :who would remember the name of the fictional town in blazing saddles? < 1288642098 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: It's Microsoft; probably named after jolly toilets. < 1288642106 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, a creepily fanish fan! < 1288642116 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Andrew Young < 1288642135 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, *shudder* that made me think of MS Bob < 1288642149 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I hope the MS Bob recycle bin was a toilet. < 1288642153 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Flush" < 1288642156 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, google? < 1288642162 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It won't be :P < 1288642181 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"Microsoft originally owned the domain name bob.com, but traded it to Bob Kerstein for the windows2000.com domain name." < 1288642185 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :What a strategy. < 1288642189 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Now if he had been called Dave... < 1288642206 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: "Bob's install images are used as "padding" on the original Windows XP install CDs as an anti-piracy measure." < 1288642269 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you know, you could easily do this on your computer. 10 minutes max: 7 minutes to find good images to use. 1 minute to create a new theme and symlink the unchanged stuff in. half a minute to put new icons in, and then 20 seconds to change to that theme < 1288642277 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(for the toilet in gnome I meant) < 1288642294 0 :myndzi\!myndzi@c-24-19-39-178.hsd1.wa.comcast.net JOIN :#esoteric < 1288642300 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: I don't use Gnome :P < 1288642313 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well, which DE/WM do you currently use? < 1288642322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Xfce. Admittedly it uses the same icons. < 1288642331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But really, the only time I ever see the Wastebasket is in Thunar :P < 1288642355 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, the wastebasket? Oh you must mean the toilet. hah < 1288642370 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :mv old-data ~/.shitter < 1288642378 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :yes I know they can't draw a toilet < 1288642380 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :very strange < 1288642406 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :why do the artist always screw up toilet icons so they look more like paperbins < 1288642436 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Linux users don't leave the room; they've never seen a toilet. < 1288642449 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Although they'll need to change their XXXXXXXXL-size nappy soon. < 1288642466 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Wow did not need that mental image. < 1288642478 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: SO HAVE YOU FIGURED IT OUT YET < 1288642501 0 :myndzi!unknown@unknown.invalid QUIT :Ping timeout: 272 seconds < 1288642549 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I concluded in terms of "hi I'm a mac..." openbsd would be the linux "tronman" but with a tinfoil armour instead (one size too small) and a tie added. < 1288642596 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :the tie would be rather badly put on < 1288642614 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: and with really puffed up cheeks, red in the face with flame < 1288642619 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :perhaps holding a flamethrower < 1288642623 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, oh definitely < 1288642653 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: also there'd be little patches where there's no armour, but they'd have "ONLY TWO REMOTE HOLES" scribbled on. < 1288642686 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :then when he decides to talk to someone -- his head is in the armour too -- he opens it up and a swarm of bees attack him and he dies. Then he holds up a flag saying "I said in the DEFAULT installation!". < 1288642691 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, indeed. but I didn't like to draw such a mental NSFW picture (considering where those holes are...) < 1288642704 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1288642746 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :NSFVI < 1288642747 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :@^@^@^@^@^@Uªôéúÿÿÿ^@^@^@^@^@^@^@^@^@^@^@^@^@^@ < 1288642749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :THIS IS INEXPLICABLE < 1288642766 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, Not Safe For Vertical Integration? < 1288642775 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ah there is a clear pattern to that! < 1288642782 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Not Safe for Vorpal's Imagination < 1288642792 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, oh, touche indeed < 1288642801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :+-----------------------------------------------------------+ < 1288642801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :| IMPORTANT: PLEASE DON'T MAKE ANY CHANGES TO THIS PROJECT! | < 1288642801 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :+-----------------------------------------------------------+ < 1288642811 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :("The system saves every version of every project, so nothing is ever lost." Aww.) < 1288642821 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, where is that from? < 1288642833 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :OMeta/JS < 1288642859 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it looks almost like frama-c, which is french which could explain why they use "project" to refer to "immutable processed version of the AST" < 1288642878 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Presumably, they mean "projection". < 1288642880 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or something. < 1288642889 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :so as read in is one project, then value analysis creates a new project < 1288642902 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes probably but the result is rather weird :P < 1288642934 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, the english is quite good elsewhere in general. Just a few small things that stands out as odd, like this < 1288643011 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, can't find any desc on ometa/js when googling, just interactive "try it out online" kind of things < 1288643024 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :so, what is it < 1288643024 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: that is what ometa/js is < 1288643027 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :js = javascript < 1288643032 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and ometa? < 1288643036 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www.tinlizzie.org/ometa/ < 1288643055 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :a meta-meta-parser-framework-meta object framework parser meta meta. < 1288643063 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hm, any good? Or just yet another one? < 1288643076 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Mu. < 1288643086 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: It's a Viewpoints Research Institute project. < 1288643087 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well it said programming language on the page < 1288643090 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :which is what I meant < 1288643095 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It did not. < 1288643102 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :"yet another programming language, or one that stands out?" < 1288643111 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :oh wait indeed it didn't < 1288643114 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :"OMeta is a new object-oriented language for pattern matching" < 1288643125 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :well, object oriented language fooled me < 1288643145 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's half-research, half lovely VPRI madness. < 1288643173 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what else have they done? Trying to remember what they are famous for < 1288643200 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Alan Kay works there, and you may have heard of COLA/idris/pepsi/... < 1288643210 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*idst < 1288643217 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :pepsi certainly but not in this context I think < 1288643237 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://piumarta.com/software/cola/ has some information. < 1288643245 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cola (aka Idst, Jolt, the SODA languages, &c.) is an ongoing project to create a springboard for investigating new computing paradigms. Everything in it is late-bound, the intention being that any paradigm (existing or yet to be invented, formal complexity notwithstanding) be easily and efficiently mapped to it and made available to the user. It is a small part (the implementation vehicle) of the reinventing computing project. < 1288643263 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :very... meta? < 1288643322 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: COLA is -- uh, I think "COLA" is the word for this component -- a Smalltalk-esque language on top of it all. VPRI have used it to do insane things such as: < 1288643333 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You know how in the IP (at least v4) RFC, it has a diagram of a packet? < 1288643342 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :They defined their packet structure by: < 1288643348 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I got stuck at figuring out what "be easily and efficiently mapped to it and made available to the user" actually meant in practical terms < 1288643349 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :- Writing a parser for the ASCII diagrams < 1288643353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :- Pasting the diagram in from the RFC < 1288643354 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I mean, it parses fine < 1288643361 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :but uh < 1288643380 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, right, I heard about that < 1288643396 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, wasn't there some language with a name starting with E that supported that? < 1288643401 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: tl;dr user-as-programming, meta, etc. < 1288643406 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :E? Uhh... < 1288643410 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Not E itself? < 1288643415 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Epigram? < 1288643420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I don't think Epigram does that < 1288643420 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ah yes! < 1288643421 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*that. < 1288643423 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1288643424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I may be wrong. < 1288643428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Trying to rack my brains... < 1288643428 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :might have confused it < 1288643431 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, might have *dreamt it* < 1288643432 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It sort of rings a bell for that but... < 1288643447 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :I read something about visual structs and then about epigram quite recently < 1288643455 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Whatever, anyway, tl;dr: VPRI is Alan Kay's organisation dedicated to being entirely too awesome on a regular basis. < 1288643491 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, http://en.wikipedia.org/wiki/Epigram_%28programming_language%29 seems to have quite fancy decls anyway < 1288643497 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :it might be that I confused it with < 1288643507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Yes, Epigram 1 is... queer. < 1288643518 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Epigram *2* we're not entirely sure is a language. Or has syntax.) < 1288643523 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Or can be executed.) < 1288643530 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, awesome! < 1288643530 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(Or is even thinkable of.) < 1288643540 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And we've been trying to figure it out since, what, 2005? < 1288643542 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, huh < 1288643549 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :that means it must intersect with feather < 1288643558 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: No, it's just extreme vapourware. < 1288643562 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Stuff happens, but at an amazingly glacial rate. < 1288643563 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :question is now, if it is a subset, superset, or just boring intersection < 1288643572 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you mean like feather? < 1288643576 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And Connor keeps deciding to chuck things out and rewrite whole swathes of the language. < 1288643584 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Especially when it turns out that whoops, that won't work. < 1288643596 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, second system syndrome? < 1288643650 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: It's academia. The whole thing is practically an exercise in third system syndrome. < 1288643680 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, anyway I'm sure VPRI is awesome but it is a bit too meta to make any sense when I'm as sleep deprived as I am. < 1288643700 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Don't worry, it doesn't make any sense when you're awake either. < 1288643701 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, as long as you can produce papers on it at a steady rate < 1288643719 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I'm not sure if that is good, bad or lacks emotional value < 1288643728 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's meta. < 1288643744 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, wow, I would never have guessed! ;P < 1288643754 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Anyway, VPRI don't need to write papers, they have FUNDING! < 1288643765 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www.viewpointsresearch.org/html/sponsors.htm < 1288643766 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I meant for epigram mostly < 1288643773 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :SNF, Intel, Motorola, HP, Nokia. < 1288643781 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And in the past: ARPA, Xerox PARC, Atari, Apple, Disney. < 1288643787 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*NFS < 1288643788 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*NSF < 1288643820 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, those companies would want you to get results. Not getting results = no more funding. So they can't go too far into >1 system syndrome < 1288643836 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: VPRI get... few "results" as such. < 1288643851 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hm, then why do intel still fund them < 1288643857 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: They did Squeak Etoys and Croquet. < 1288643866 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :And they *do* write papers and stuff. < 1288643871 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But, uh, :) < 1288643877 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, Croquet... what was that now again < 1288643896 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :familiar, bell is definitely ringing, but there is all echo around here < 1288643899 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: A not-very-good 3D Smalltalk environment thing and oh god Sgeo is going to pipe up. < 1288643901 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :so no clue from where < 1288643910 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: It's an open project; VPRI aren't responsible for most of the badness. :) < 1288643912 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, he is not in the channel atm :P < 1288643935 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, and what did etoys do... < 1288643964 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: http://www.linux.com/var/uploads/Image/articles/130014-1.png < 1288643979 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: VPRI's official goal is "lol, computers + learning". < 1288643983 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But really, an awful lot of it is just awesome shit. < 1288644002 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, hah. That explains so much about the awful colour theme of squeak < 1288644018 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Etoys is an addon. :p < 1288644028 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well, even without that it is quite... colourful < 1288644029 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: I'm missing a kernel image, obviously, but otherwise it does seem to me that it successfully loads some garbage and jumps into it < 1288644054 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Well *that* it does not do, considering I put an infinite loop in there. < 1288644073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: How about I give you a .tgz? < 1288644074 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Something is up. < 1288644079 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :after removing the infinite loop obviously :P < 1288644081 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Well, Disney. < 1288644097 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, they are behind sqeuak?! < 1288644101 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :squeak* < 1288644111 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: It was derived directly from Smalltalk-80 by a group at Apple Computer that included some of the original Smalltalk-80 developers. Its development was continued by the same group at Walt Disney Imagineering, where it was intended for use in internal Disney projects. < 1288644121 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The colour scheme is just because fuck you. :) < 1288644126 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1288644149 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it isn't just the colours, it isn't just the shape of elements, it isn't just the icons. It is all three together. < 1288644162 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It is pretty bad. < 1288644164 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: http://filebin.ca/eaxjwt/tempo.tar < 1288644175 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what, we agree on a UI being bad? < 1288644181 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Smalltalk-80 was much classier: http://tedkaehler.weather-dimensions.com/us/ted/resume/st80release-lic2.jpg < 1288644218 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, possibly only due to 1 bit per pixel from the look of that image... < 1288644236 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: You could easily add a few highlights and it'd still be nice. < 1288644239 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Of colour, that is. < 1288644246 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes, it would even be nicer < 1288644255 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www.abclinuxu.cz/images/clanky/krivanek/smalltalk-80-2.png < 1288644256 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :More. < 1288644258 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, like, make non-active window borders dark grey or something < 1288644266 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www.abclinuxu.cz/images/clanky/krivanek/smalltalk-80-6.png < 1288644276 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, no colours? < 1288644282 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: It's the early 80s. < 1288644300 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, not common even with greyscale then < 1288644309 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: ? < 1288644326 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/images/stShot1.gif Early Squeak, basically Smalltalk 80 + colours. < 1288644326 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, that is b&w, not even 4 bit greyscale or such < 1288644331 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Admittedly not very nice colours. < 1288644344 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: The Macintosh was 1-bit in 84. < 1288644355 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, that actually looks better than modern squeak... < 1288644355 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://www.cosc.canterbury.ac.nz/wolfgang.kreutzer/cosc205/images/stShot12.gif FUCKING OW MY EYES < 1288644376 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: So have you fixed it yet?!?!?!?/1 < 1288644381 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I hope this can be blamed on gamma or something < 1288644391 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: IT CAN'T AIEEEEEE < 1288644395 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ouch < 1288644398 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: nope, but I seem to have discovered how to connect gdb to bochs < 1288644411 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :olsner, sounds like quite a feat < 1288644419 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: bochs is designed to do that :P < 1288644432 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: doesn't make it less of a feat :P < 1288644435 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I thought it had a built in debugger? < 1288644437 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :and well < 1288644442 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :everything with bochs is a feat < 1288644446 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well, yeah. < 1288644462 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Every time I think "Oh, I should use bochs" I start crying. < 1288644485 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :" It can also be used to run older software – such as PC games – which will not run on non-compatible, or too fast computers." --Wikipedia < 1288644487 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*"It < 1288644492 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I can't imagine any game wanting to run on a computer THAT slow! < 1288644493 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :afaik, the built-in debugging amounts to having a grayed-out menu option for displaying memory contents, and a box that displays the registers (in real-time! making it too fast to see anything) < 1288644500 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1288644553 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, for recording perfect frame timing? < 1288644581 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, because you no longer need a software that allows you to go back to previous frame if you screwed up! < 1288644614 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, you could use bochs for tool-assisted speedruns. < 1288644621 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :You get a whole hour to decide what input to give each frame. < 1288644623 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yes what I said basically < 1288644634 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1288644637 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well, lets be fair. 45 minutes max on a modern computer < 1288644675 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :probably could be as little as 40 minutes, but I doubt less than that < 1288644883 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :http://www.viewpointsresearch.org/html/work/pichri.htm: "For example, the Wikipedia is impressive in its number of entries and that it has been made and sustained by the larger Internet community, but its content is mostly hyperlinked text with a few pictures and formulas. It is very far from rich dynamic computer media and from the kind of content that most learners need." <-- because there are only so < 1288644883 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric : many ways to graphically illustrate http://en.wikipedia.org/wiki/Affirming_a_disjunct (first result on clicking random article) < 1288644886 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, ^ < 1288644908 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and? < 1288644915 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :VPRI are focused primarily on children learning < 1288644929 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well, wikipedia isn't just that though, so bad example maybe < 1288644954 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sigh: < 1288644955 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"I blame java and bloated, resource-hogging platforms. The disk drive has increased in speed quite a bit in the last 10 years and is still the slowest thing in a computer (excluding the user). If we wrote all programs in efficient languages like C and ASM, our computers should be thousands of times faster than we perceive them to be today. The reliance on interpreted languages and bloated platforms (even the browser is considered a platform nowad < 1288644955 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ays and is mega-bloated if you ask me) but people continue to think that the advancements of hardware will make up for the lazy and bloated programming solutions that people come up with nowadays." < 1288644958 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Comment on the Loper OS blog. < 1288644964 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Because as we all know < 1288644970 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(1) GNOME is incredibly lightweight and speedy, and < 1288644975 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(2) Smalltalk was impossibly slow. < 1288644982 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1288644987 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, what idiot wrote that? < 1288645003 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://badcheese.com/; he was kind enough to leave a name and URL so we can all know to not listen to him in the future. < 1288645004 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :though, gnome is not slow enough to cause any annoyance at least. < 1288645013 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :GNOME has got better :) < 1288645021 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But it's certainly not super-C-speedy, that's for sure. < 1288645022 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, well, I used KDE back when GNOME sucked < 1288645033 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, of course, but as long as it is fast enough, who cares < 1288645045 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Well, see http://www.loper-os.org/?p=300, the post on which it is a comment :) < 1288645069 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :GNOME is not quite fast enough for me to like it. It is okay though. < 1288645071 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :KDE 4 is slower. < 1288645088 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, metacity or compiz? < 1288645097 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I found metacity far more responsive < 1288645111 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I have used both. < 1288645116 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1288645129 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, existing DEs have far greater problems than speed. < 1288645141 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, even on my old sempron 3300+ gnome is fast enough that I don't notice any speed difference compared to, say, twm < 1288645169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"You can click the mouse on ANY area that you can see in the editor and the cursor will go there and allow you to start typing. < 1288645169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If you position yourself at the beginning of the line and hit the left arrow, you will not budge. < 1288645169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If you position yourself at the end of the line and hit the right arrow, you will keep moving right < 1288645169 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :This is how IntelliJ IDEA works by default." < 1288645176 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION puts IntelliJ IDEA on his list of "weird things". < 1288645186 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :oh no < 1288645193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: ? < 1288645199 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :i've heard of that thing < 1288645209 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, actually that sounds almost like kate in block mode < 1288645216 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, apart from the arrow at start of line < 1288645251 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it is useful to move and copy rectangular blocks rather than every letter between two points < 1288645256 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :and such things < 1288645271 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I use it every now and then, try it out if you never used it < 1288645294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I used it extensively when I used TextMate and I have developed a healthy hate of every other editor ever because I can't figure out how to do it quickly. < 1288645299 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :With TextMate it's just alt+drag. < 1288645319 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, it's a mode because it interacts with copy and paste too < 1288645323 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :even from other apps < 1288645324 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :also, I'd just like to say, in Python, string.upper() should totally be a magical attribute (str.upper) that hides the method, because that would be so pythonic, i.e. conceptually incoherent < 1288645343 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, in that, what pasting a multi-line thing does changes with this mode < 1288645353 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: Also, x.sort. < 1288645353 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :back to your regularly scheduled IntelliJ IDEA wtf'ing < 1288645358 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yes totally < 1288645358 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :print x.sort < 1288645359 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :print x < 1288645361 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yay! < 1288645363 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It's so convenient! < 1288645372 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, __upper__! < 1288645376 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(no reason) < 1288645379 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: Oh, and the nicest thing about it in TextMate: < 1288645380 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :(just more... python) < 1288645390 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: If you alt-drag vertically across a certain bit and type, it *adds to all those lines*. < 1288645397 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :how about every method you could define has a __methodname__ counterpart < 1288645415 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Vorpal: < 1288645420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :b|lah < 1288645420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :q|uux < 1288645420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :a|sdf < 1288645420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :a|brt < 1288645420 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :-------------- < 1288645421 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :bX|lah < 1288645422 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :qX|uux < 1288645424 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aX|sdf < 1288645426 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :aX|brt < 1288645428 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :After typing "X". < 1288645431 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :This is *insanely* useful. < 1288645445 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, inded < 1288645447 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :indeed* < 1288645451 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Does kate do that? < 1288645458 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, uh, let me try < 1288645509 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, alas it does something else. Anyway it is the two-mode thingy < 1288645515 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Bah! < 1288645526 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, still the features somewhat overlap, none has all the features of the other one < 1288645533 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I assume leaden will do this? < 1288645546 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Yes. Or if it doesn't, amend will :) < 1288645553 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, amend? < 1288645564 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :which one was that < 1288645568 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :sounds familiar < 1288645573 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Leaden is what I call prereleases of amend because calling anything amend that does not live up to its name is sinful. < 1288645650 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So basically leaden is amend before it turns into a gigantic beast worthy of emacs complexity :) < 1288645704 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, also I'm sorry to inform you that it is my duty to inform you that you have exceeded the names reserved / actually used limit. To prevent phase space depletion you are now forbidden from naming new things until you implemented at least 4 of the current reserved names. < 1288645726 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :BAH < 1288645856 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :elliott, you could also send in form 14c(32)b9 in three copies to request a release of some of your reserved names. That is three copies per name to release. < 1288645900 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :then you would get a confirmation form 11t(53)h14 in return to sign and send back < 1288646426 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: hmm, when you're testing and it doesn't work, do you compile with the code that sets the real sector to find the kernel image or do you compile with mov cl,3; mov ch,3; which is the wrong values? < 1288646448 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: the values are wrong? < 1288646455 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I worked them out using cpressey's bootloader code. < 1288646472 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :because if I replace that with mov cx,KERNEL_START, it boots and halts at 0x8001 < 1288646477 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Feel free to fix the values :P Ignore KERNEL_SECTORS btw, it's way too big to work with the bios call, just pretend the kernel is 2 sectors or something. < 1288646485 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: don't you mean mov cl? < 1288646512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :But, uh, wow, you're right. < 1288646517 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :well, same thing, except it doesn't rely on ch already being 0 from before < 1288646537 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: aren't all the registers defined to be zero on boot? apart from dl < 1288646563 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :on boot, but I don't want to do dataflow analysis on your boot loader to find out if that's the value still lying around in ch when it gets there < 1288646576 0 :Vorpal!unknown@unknown.invalid PRIVMSG #esoteric :night → < 1288646590 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: i'm planning to do the a20 line properly, so i'm space-optimising to make room for that :) < 1288646695 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :you could skip it and do A20 in the second stage/the kernel :P < 1288646712 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :olsner: NO IPOSSIBLE < 1288646718 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :it must be done in the boot block! < 1288646731 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :i refuse to give reasons for this < 1288646737 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey sure hates me < 1288646748 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: but i want my kernel to be in a nice environment when i get to it! < 1288646751 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :besides i have space :D < 1288646777 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: What I *am* worried about is, if I want to modify the GDT and IDT later, I have to modify them where the bootsector is, right? < 1288646792 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: So, basically, they can be about two, three hundred max, combined. < 1288646792 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :elliott: i feel half-responsible, since i had a similar idea (go into unreal mode in the bootblock) < 1288646804 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: that was zzo38's idea :) < 1288646822 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :elliott: he doesn't actually do it in the bootblock - that was my misrecollection < 1288646829 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1288646840 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm, I think you can change them later < 1288646845 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: well, unreal mode = protected mode + more code :) < 1288646851 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :prit' much yeah < 1288646867 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: you can relocate them? < 1288646867 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1288646870 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :seems a bit pointless though < 1288646871 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ehh < 1288646871 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but in the GDT case, you really don't need more than one data and one code segment < 1288646884 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: unless i start doing crazy shit :) < 1288646974 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: now all I have to do is have a loop so i can load more than 8.5 kilobytes of kernel < 1288647022 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :yeah, you should be checking al after int 13h, that contains the number of sectors read < 1288647064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: erm, the only reason it'd load less than what i tell it to is if something went wrong, surely < 1288647073 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and if something went wrong i'm not interested :) < 1288647100 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: presumably carry is set if al < the input al? < 1288647105 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :in which case, i retry anyway < 1288647108 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :maybe :) < 1288647182 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: but hey, 8.5k is good enough for now :) < 1288647185 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Welp, there goes that afternoon. < 1288647193 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :that's over 17 times this bootsector! < 1288647278 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: remind me to get around to doing a higher-half kernel sometime :P < 1288647294 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :say, I don't need CODE_SEGMENT and DATA_SEGMENT defined inside the kernel proper, do I? < 1288647298 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :since they're cs and ds anyway < 1288647349 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :nah, you only need those if you ever wanted to reset cs or ds... maybe that's relevant when you get to multitasking, but I haven't really gotten that far myself yet < 1288647360 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1288647380 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :in any case, you know them since you set up the gdt, those are just constants anyway < 1288647443 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1288647450 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :does blinking exist at the vga memory level? < 1288647451 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I guess not < 1288647469 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's just that qemu displays my A20 error as solid black on solid white < 1288647489 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and bochs displays it as flickery (not blinking, really, just *flickery*) black that seems to be grey eveyr now and then on top of grey < 1288647497 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :(grey being the default colour, the "greyish white") < 1288647506 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I think there's magic involved that determines whether it's a high-intensity or blinking bit, or something like that < 1288647507 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :and, well, it's 0xF0 the attribute < 1288647512 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :right < 1288647513 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1288647513 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1288647527 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :solution: don't have a computer that doesn't have the A20 bios routines < 1288647536 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :or, just wait until I put actual A20 code in there < 1288647580 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Can someone explain why x86 is so damn register-starved? < 1288647619 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1288648202 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :One of the VGA registers controls whether the high bit of the background color does "high intensity" or "blink". < 1288648498 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Does it have a defined default? < 1288648602 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :"The "Unity" user interface that debuted in Ubuntu 10.10's Netbook Edition will be standard on the next version of the Ubuntu Desktop Edition, as well. Ubuntu Desktop 11.04 will replace the Linux distribution's default GNOME environment in favor of the multitouch-enabled Unity user interface, says Canonical." < 1288648630 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So much for GNOME Shell. < 1288648726 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :ooh, http://wiki.osdev.org/Entering_Long_Mode_Directly < 1288648743 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: yeah, it's < 1288648745 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: unreliable. < 1288648775 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :unreliable? < 1288648780 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: It's not documented. < 1288648789 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :The only documented way to enter long mode is via protected mode. < 1288648798 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'd rather go through the hassle than risk things. :) < 1288648817 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Don't know about defaults, but according to the Interrupt List you can do ax = 1003h, bx = 0000h/0001h, int 10h to disable/enable the blink bit. < 1288648830 0 :MigoMipo__!~John@84-217-1-23.tn.glocalnet.net JOIN :#esoteric < 1288648863 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Woo, that works. Thanks. < 1288648885 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: hmm, ok... well, I already have the protected mode code, so I might as well do the long mode stuff directly afterwards rather than changing the code < 1288648893 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: yaeh < 1288648895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*yeah < 1288648905 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I'm not sure whether I want long mode or not :) < 1288648913 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: although more registers would be very, very, very, very, very, very nice... < 1288648934 0 :MigoMipo__!unknown@unknown.invalid QUIT :Client Quit < 1288648958 0 :MigoMipo!~John@84-217-1-23.tn.glocalnet.net JOIN :#esoteric < 1288648958 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :you can use long mode as a simplified protected mode that accidentally also supports some 64-bit stuff < 1288648982 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: how is it simplified? < 1288649013 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :some things like segmentation disappeared in long mode (however much simpler that makes it) < 1288649039 0 :Phantom_Hoover!~phantomho@cpc12-sgyl29-2-0-cust185.sgyl.cable.virginmedia.com JOIN :#esoteric < 1288649055 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but other than that, I guess not simpler at all just different < 1288649060 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: You still have paging though. < 1288649076 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or whatever. < 1288649100 0 :MigoMipo_!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1288649155 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If you want "documented", incidentally, the AMD doc 24593 (AMD64 Architecture Programmer's Manual, Volume 2: System Programming) has a "Long-Mode initialization example" assembly code snippet -- 4.5 pages, but well over half is comments -- that starts from real mode, goes to protected and from there to long. It's not the most elegant piece ever, and does things like CPUID checks for whether the long mode actually exists. < 1288649176 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :My boot sector is now 214 bytes long. < 1288649188 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :elliott: TOO MUCH < 1288649194 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So I get to fill the remaining 296 bytes! < 1288649210 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: hmm, doesn't the idt tend to get kinda big? < 1288649216 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Or am I misremembering? < 1288649297 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You can run things in your boot sector with that empty IDT and interrupts disabled, and then in your kernel code relocate it somewhere where you have lots of space before enabling the interrupts. < 1288649373 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I *could*, yes, but the idea is sort of to not have to relocate things, just being able to modify the existing gdt and idt. :) < 1288649382 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Hey... How do you get the location of the GDT and IDT? < 1288649387 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Do I have to store them somewhere? < 1288649405 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :have you already forgot where you put them? :) < 1288649430 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: No, it's just that my kernel is compiled separately, so it can't know where the GDT and IDT are unless it can get the location somehow :) < 1288649458 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :well, you can make that detail part of your boot loader|kernel interface < 1288649473 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: there is no such interface :) < 1288649523 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1288649525 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :idtr: dw 0 < 1288649525 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : dd 0 < 1288649528 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :is this "limit 0, offset 0"? < 1288649534 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :great -- so i have no interrupt table at all :) < 1288649543 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :yep, the limit is the first value (the 16-bit one) < 1288649554 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: starting to think that maybe, just *maybe*, this won't fit inside the boot sector < 1288649558 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: especially not if I do A20 the proper way < 1288649577 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, new version of Golly out, FWIW. < 1288649585 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: kay < 1288649704 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Proper support for different topologies seems to be the Big Thing in it < 1288649795 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION decides to check the long-term evolution of the TTT with it, < 1288649883 0 :p_q!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1288649960 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: SGDT and SIDT should help you. < 1288649974 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :They're the inverse operation of LGDT/LIDT. < 1288649979 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: TTT? < 1288649981 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Ah, thanks. < 1288650006 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, a pattern on a tubular universe with unknown-ish long-term behaviour. < 1288650019 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Link? < 1288650023 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Wait, I could always just point the GDT and the IDT somewhere else in memory, right? < 1288650033 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: And put stuff there in the bootloader, and then expand on it later inside my actual OS code? < 1288650059 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't see why not, assuming they're low enough for the 16-bit mode code to write to. < 1288650094 0 :p_q!~poiuy_qwe@64.231.53.240 JOIN :#esoteric < 1288650188 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Well, OSes have to write to such a location anyway, so. < 1288650302 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, look for "Titanic Toroidal Traveler" at http://www.argentum.freeserve.co.uk/lex_t.htm < 1288650340 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :A curious bit of trivia: an empty interrupt table like that is how Windows on a 286 used to switch from its protected mode back to real mode; the virtual 8086 stuff and the "proper" way to get from protected to real were only added in the 386. < 1288650368 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: so just that, repeated forever horizontally? < 1288650378 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :you had me at "A20 is routed through the keyboard controller" < 1288650380 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, yeah. < 1288650389 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: you didn't know that? :) < 1288650393 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: heh < 1288650404 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :elliott: not until yesterday < 1288650407 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I don't think the long-term behaviour is nearly as enigmatic as they claim, FWIW. < 1288650422 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :In the 286, you needed a reset; and reseting the processor via the RESET pin (from the keyboard controller, again...) was slow. But if you put in an empty interrupt table, then segfault, double-fault (due to missing interrupt handler) and triple-fault (due another missing interrupt handler) the CPU will reset a lot faster. < 1288650432 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: there is a "fast a20" that skips talking to the keyboard controller, and bios stuff for it < 1288650444 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: but the proper way involves talking machine code to the keyboard port. < 1288650462 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: 8042 machine code, to be precise. < 1288650474 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Well, the first interrupt could be just "int 3" or anything, it doesn't need to be a fault.) < 1288650495 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Wouldn't that... reboot the computer? < 1288650529 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Not if you patch the place where the reset ends up in; that's in real memory. < 1288650559 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: lovely < 1288650602 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Apparently also Windows on a 386 used an invalid instruction to do a "syscall" from v86 mode, since it was the fastest way. < 1288650791 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Hmm, Golly allows the projective plane as a topology. < 1288650791 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yep, it breaks down. < 1288650822 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: how goes your long mode hackery? :-) < 1288650832 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I think I will go into long mode, just for simplicity. < 1288650844 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :64-bit on a floppy < 1288650845 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :lovely < 1288650867 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: But what about hardware task management! It's mostly gone in long mode. < 1288650875 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: just leisurely reading the system programming manual < 1288650881 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Well, that was fun. It seems that the color setting on my monitor was hella-weird. < 1288650886 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh dear, I will shoot myself. < 1288650895 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: "leisurely" < 1288650903 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Task-State Segments and whatnot. < 1288650908 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: spelling? :) < 1288650937 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and more importantly, you can't go to virtual-8086 mode from long mode. < 1288650994 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :always wondered about that - so you use virtualization to run real-mode code or something? < 1288650998 0 :augur!~augur@129.2.129.32 JOIN :#esoteric < 1288651060 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: "hardware task management"? < 1288651064 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Maybe you just don't run it. < 1288651076 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: "64-bit Windows versions do not include NTVDM or Windows on Windows, so there is no native support for the execution of MS-DOS or 16-bit Windows applications." (Though that was for the 64-bit XP.) < 1288651118 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :You know, I don't think I want to know. < 1288651138 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :I should check how virtualization works on amd64, iirc virtualization used to rely on VM86 to run all the boot loaders etc of the guest os:es < 1288651141 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: There's a rather complicated hardware multitasking thing (based on the segment stuff; handles register saving and so on, and privileges) that's been mostly cut off in the long mode. < 1288651143 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ACTION hugs the 6502 < 1288651204 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :As far as I know, not very many operating systems actually use it. < 1288651211 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :which only works for sane boot loaders and not e.g. the OS/2 boot loader that went into unreal mode before starting the real boot loader < 1288651219 0 :poiuy_qwert!~poiuy_qwe@69.157.45.190 JOIN :#esoteric < 1288651226 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :http://i55.tinypic.com/261dnav.gif seems to be their current plan for implementing spherical topologies. < 1288651263 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :That's so obviously not valid it's not even funny. < 1288651283 0 :p_q!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1288651389 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Well, the amd-64 processors still do *have* the legacy mode with all the vm86 bits, you just can't invoke them normally from long mode. I guess the virtualization control block structures let the guest be in legacy mode. < 1288651421 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: that makes sense < 1288651425 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: "To facilitate virtualization of real mode, the VMRUN instruction may legally load a guest CR0 value with PE = 0 but PG = 1"; so you can have the guest in real mode but with paging enabled. < 1288651442 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: that's hilarious < 1288651457 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"This processor mode behaves in every way like real mode, with the exception that paging is applied." < 1288651472 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, OK, it takes a certain type of mind to find that amusing. < 1288651477 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : elliott: spelling? :) < 1288651479 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :no, just < 1288651485 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :reading the x86 manual leisurely :D < 1288651497 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :olsner: so there IS a real boot loader out there that goes into unreal mode! cool. < 1288651503 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: yep! < 1288651529 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: I'm not listening to you because you are just a mirror image of the OTHER Phantom_Hoover. < 1288651542 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :and OS/2 is one of the few operating systems that use more than two of x86's privilege levels ("rings") < 1288651568 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :usually you have kernel mode and user mode, but OS/2 has two or three levels of kernel mode < 1288651577 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : which only works for sane boot loaders and not e.g. the OS/2 boot loader that went into unreal mode before starting the real boot loader < 1288651585 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Real that unreals to load the real. < 1288651655 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: hmm, if i go into real mode, the gdt i already have will be the only one that works, right? < 1288651658 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :so i only have to relocate the idt < 1288651706 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :hmm? you're going into real mode now? < 1288651709 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :*into long mode < 1288651714 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: or, wait, i'd actually want two more entries, wouldn't i? for user mode < 1288651720 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :you'll load a new long-mode gdt < 1288651738 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: the mind boggles. < 1288651749 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: you know what, i'll wait for you to write long mode stuff and then rip that off :) < 1288651754 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :ooor, would you? I don't know if long mode even has a gdt, it doesn't have segmentation anyway < 1288651774 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: it uses a flat gdt < 1288651775 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i think < 1288651779 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :requires, even < 1288651780 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :yes, long mode has a gdt and it has a different format < 1288651782 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: It does have a GDT, but the descriptors are different. < 1288651784 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Right. < 1288651808 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :oh joy :) < 1288651827 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Seriously, wouldn't a geodesic dome-like-thing make more sense? < 1288651832 0 :poiuy_qwert!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1288651848 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric : http://i55.tinypic.com/261dnav.gif seems to be their current plan for implementing spherical topologies. < 1288651849 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :what < 1288651850 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, for the spherical topology thing? < 1288651879 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's topology, so it makes no difference the precise shape. < 1288651894 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: most of the example from osdev (the hack that skips protected mode) is also applicable for jumping from protected to long mode < 1288651904 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But it *is* impossible to fit any planar neighbourhood onto a sphere. < 1288651912 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: copying you is so much easier though :) < 1288651923 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Or a projective plane, but that's stopped them even less. < 1288651933 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: you can't cover a sphere with squares anyway, if that's what they're trying to do in theory < 1288651942 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, I object. < 1288651954 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: oerjan proved it once :) < 1288651976 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Cubes are, after all, a topologically spherical object covered with squares < 1288651984 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: but then you won't *learn*! < 1288651985 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :You can't have a Moore neighbourhood, though. < 1288651997 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: i will, by copying your code carefully :) < 1288652004 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: well, right < 1288652011 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: can't be equally-sized squares though :) < 1288652025 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Uhhh no it's not topology exactly. < 1288652033 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :elliott, have you looked at a cube lately. < 1288652054 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, Euler characteristics, which are what oerjan's proof used, are a topological thing. < 1288652058 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :elliott: Re long-mode gdt: "This LGDT [for the 64-bit mode] is only needed if the long-mode GDT is to be located at a linear address above 4 Gbytes. If the long mode GDT is located at a 32-bit linear address, putting 64-bit descriptors in the GDT pointed by [pGDT32] -- the 32-bit GDT -- is just fine." < 1288652059 0 :poiuy_qwert!~poiuy_qwe@69.157.46.199 JOIN :#esoteric < 1288652084 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You do need a 64-bit IDT, because the descriptors are of completely different size and so on. < 1288652140 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: hmm, so you overwrite the gdt with completely different data, then do a new far jump to a 64-bit segment, and it works? < 1288652154 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Can you go into long mode with interrupts disabled? < 1288652160 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: If this can be done with "just" topology then... I don't know why they are trying < 1288652178 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If so, plan: Use the code I have now. Make it jump into long mode and mangle the GDT properly. Let the OS handle setting up an IDT. < 1288652180 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :doing this with interrupts enabled seems like a very dubious idea < 1288652185 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, because they don't know topology. < 1288652199 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Isn't there only one way you can have a GDT set up in long mode? < 1288652206 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I'm trying to tell them why it's impossible on the mailing list. < 1288652226 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :A geodesic dome construction might not be topologically kosher, or even geometrically kosher *really*, but it would... shoehorn what they're trying to do, onto a sphere, in a way that's "fair". < 1288652231 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :link to their mailing list? < 1288652260 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I don't know how it works: the example just says that the 32-bit GDT will need "at a minimum" "1) a CPL=0 16-bit code descriptor for this code segment", "2) a CPL=0 32/64-bit code descriptor for the 64-bit code." and "3) a CPL=0 read/write data segment, usable as a stack". < 1288652294 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :All I mean is: when we say "n neighbours" we kinda sorta really mean "n UNIQUE neighbours" and fudging that is silly. Fudge something else please. < 1288652295 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :This AMD64 example enables protected mode, but uses 16-bit protected mode code to go to long mode. < 1288652322 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :right, so it just stays in the old code segment after setting protect enable? < 1288652328 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :16-bit protected mode?! < 1288652362 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Well, sort-of. It does a far jump, but into the "same" 16-bit code segment. < 1288652383 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :cpressey, well, a 1,1 torus is legitimate enough, for reasons I'm unsure of. < 1288652446 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I suppose there's also a tiling-based argument somewhere... < 1288652463 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: hmm, weird, what's the point of doing it like that? < 1288652483 0 :Quadrescence!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1288652501 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :also, what's the difference between this new 16-bit code segment and the one inherited from real mode? < 1288652535 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: You need to do the far jump for the protected mode to actually get enabled; other than that, probably not much difference there. < 1288652588 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Anyway, I guess it saves the need for a 32-bit code segment anywhere. It also doesn't bother with things like setting up ds/es/fs/gs in protected mode, since it jumps directly to long mode very soon after enabling protected mode. < 1288652658 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I LIKE HOW OLSNER IS GOING TO DO THIS ALL FOR ME < 1288652664 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: Is your x86 manual set the AMD or Intel one? If the AMD one (Volume 2: System Programming), it's 14.8 "Long-Mode Initialization Example" I was pulling that stuff from. < 1288652718 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :aha, I'm reading AMD's document 24593 now, so I could just read this at the source instead of asking you :) < 1288652747 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(It's a bit messy, since it has a pGDT64 pseudo-descriptor in there, but the later comments say it's not exactly needed; and it doesn't show what actually is at gdt32_base.) < 1288652773 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :fizzie explains it, I write the code, elliott uses it :D < 1288652794 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :and then in a week or so i'm going to try writing something that goes into protected mode and we'll all go through all this AGAIN < 1288652802 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I totally write code too! Except my bits are the ones that don't work until you figure out what's wrong with them. < 1288652807 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: NO DUDE LONG MODE < 1288652815 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I"M NOT READY FOR THAT < 1288652815 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :it's like protected mode but you have an aneurysm < 1288652823 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: LET ME SPELL IT OUT FOR YOU < 1288652826 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: EIGHT MORE FUCKING REGISTERS < 1288652830 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :NO STUPID SEGMENTATION BULLSHIT < 1288652834 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Eight more registers! EIGHT! < 1288652840 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :AND TWICE THE BITS PER REGISTER!!! < 1288652846 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :That's 15 general-purpose 64-bit registers! < 1288652851 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :AND ANOTHER STACK!!!!! < 1288652851 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Suddenly X86 ISN'T SO SHITTY ANYMORE < 1288652859 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :AND MY AXE < 1288652876 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it's the glazing on the turd < 1288652898 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how many systems there are that actually support long mode, but not "fast A20" < 1288652906 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :are manufacturers really so weird? < 1288652915 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: Just use the BIOS to do it :P < 1288652924 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: You can disable Fast A20 in the BIOS sometimes. < 1288652926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Inexplicably. < 1288652929 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :i fully plan to, that's what the BIOS is *for* < 1288652932 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Sometimes it's disabled by default. < 1288652996 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, when it comes to the 64-bit GDT: it needs to have a TSS descriptor (for the single 64-bit task there can be), as many code descriptors as you wish (they still exist, though mostly just to determine if code's running in 64-bit mode or the 32-bit compatibility-mode-in-long-mode), and any data-segment descriptors needed by 32-bit code. (In 64-bit code, ds/es/ss values are ignored; for fs/gs it's.. complicated.) < 1288653189 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :and this TSS thing is what you use to leave kernel mode and run in user mode for a while? < 1288653203 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :In 64-bit mode, it seems that it ignores pretty much everything in the descriptors except a few flag bits; I guess that's what they mean with the comment in the example that you don't necessarily need to set up a different GDT, they're compatible enough. < 1288653340 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :i.e. as long as you're not retarded and set non-0 offsets or non-4G limits you can use the exact same segment descriptors for both modes? < 1288653369 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :olsner: It doesn't even matter if you set non-0 offsets or fancy limits, they're ignored in 64-bit code. < 1288653413 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :they should have a segment retardation fault or something for it instead :) < 1288653425 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :So how does all this fit in with a higher half kernel? < 1288653427 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Just askin' < 1288653432 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1288653436 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I really don't know about the TSS; "Although the hardware task-switching mechanism is not supported in long mode, a 64-bit task state segment (TSS) must still exist. System software must create at least one 64-bit TSS for use after activating long mode, and it must execute the LTR instruction, in 64-bit mode, to load the TR register with a pointer to the 64-bit TSS that serves both 64-bit-mode programs and compatibility-mode programs." < 1288653464 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :elliott: what does "higher half" mean? < 1288653516 0 :Sasha!unknown@unknown.invalid PRIVMSG #esoteric :proximal end? < 1288653529 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I think for that you just need to mostly set the paging tables properly. I profess to complete ignorance on the privilege level changes: it seems to be a whole other esoteric mess of call gates, interrupt gates and trap gates. < 1288653539 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: http://wiki.osdev.org/Higher_Half_Kernel < 1288653541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :It is traditional and generally good to have your kernel mapped in every user process. Linux, for instance (and many other Unices) reside at the virtual addresses 0xC0000000 - 0xFFFFFFFF of every address space, leaving the range 0x00000000 - 0xBFFFFFFF for user code, data, stacks, libraries, etc. Kernels that have such design are said to be "in the higher half" by opposition to kernels that use lowest virtual addresses for themselves, and leave h < 1288653541 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :igher addresses for the applications. < 1288653562 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://wiki.osdev.org/Higher_Half_Kernel < 1288653567 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :If you don't want to enable paging right from the start, it is still possible to have your kernel appearing in the higher half. Tim Robinson's GDT Trick works by using segmentation to select an appropriate base for the code and data segments. Say you've loaded your kernel at 0x10000 and we want it to appear at 0xC0000000, then all we need to do is find a base _X_, such as _X_ + 0xC0000000 = 0x10000. The bootloader will then initialize the GDT wit < 1288653567 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :h cs.base = 0x40010000 = ds.base. This also means that special care must be taken for VRAM (video RAM) access, as 0xB8000 is now somewhere above 1GB. Either use a special 0-based additional data-segment or use < 1288653584 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: I seem to recall reading something about entering long mode while using that insane GDT trick. < 1288653592 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :http://wiki.osdev.org/Higher_Half_With_GDT < 1288653627 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That doesn't sound like something that would work in long mode. < 1288653638 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Given that GDT bases are ignored. < 1288653673 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: You do that and *then* do it properly with paging in long mode. < 1288653684 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Aw hell, I have no idea. I just parrot the wiki. < 1288653699 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :that page instantly makes me hate OS programming for some reason < 1288653702 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Right, but it doesn't sound like it would help you anything assuming you want to get long mode done before jumping to the kernel. < 1288653723 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I mean, as long as you don't actually jump into the kernel code, it doesn't really matter at what address it appears to be. < 1288653727 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Right. < 1288653734 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I realised that a second ago :) < 1288653751 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Of course you might run out of bytes in your boot sector in setting up paging. :p < 1288653773 0 :Quadrescence!~Quad@unaffiliated/quadrescence JOIN :#esoteric < 1288653786 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :obviously you'd generate the page tables for the regions you need access to during startup < 1288653814 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :didn't look into the details, but the direct-to-long-mode page had something like that < 1288653854 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i understand, now, why people like unreal mode < 1288653861 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Paging in long mode is so simple, too: http://zem.fi/~fis/paging.png < 1288653911 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Page frames, page tables, page directory tables, page directory pointer tables and finally the "page map level 4 table" on top. < 1288653971 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Maybe you should just opt for not using virtual memory or privilege levels; who needs that sort of stuff anyway? < 1288654006 0 :Mathnerd314!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1288654014 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :what, of course you must have proper kernel/user mode, memory protection and task switching < 1288654027 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: WHY < 1288654041 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :you just do! < 1288654043 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :To SAVE you from YOURSELF, of course. < 1288654050 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Or BADLY BEHAVED CODE, anyway. < 1288654057 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Doesn't matter in a lisp OS at least :) < 1288654064 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :In fact running everything in kernel mode is beneficial there. < 1288654094 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :oh, you're building a lisp os? :) < 1288654102 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: well -- maybe! :p < 1288654108 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I'd like to get the freaking boot sector written first. < 1288654158 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :There's only ~1.59361 * 10^1228 boot sectors, anyway. < 1288654162 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :I just have to pick one! < 1288654333 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1288654628 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I once designed a protected memory system for the Z80 (in hardware) < 1288654701 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :A clock would periodically reset the processor and switch the lower half of memory to a new bank < 1288654755 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :I forget exactly how, but the plan was to write a JMP to the address you were last executing, into the first few bytes of your task's bank, so you could continue executing < 1288654789 0 :MigoMipo!unknown@unknown.invalid QUIT :Remote host closed the connection < 1288654790 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :Maybe there was an interrupt issued just before the reset, then your code was supposed to do this then enable the reset < 1288654790 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: wow. < 1288654805 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: all that for protected memory :) < 1288654823 0 :MigoMipo!~John@84-217-1-23.tn.glocalnet.net JOIN :#esoteric < 1288654872 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :elliott: yes. also considering there is an "enhanced Z80" out there somewhere which basically does all this in a chip :) < 1288654917 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The DS, which doesn't really do paging or have an MMU, still has a rudimentary "memory protection unit" thing that can define the access privileges (and caching behaviour) to was-it-8 mostly arbitrary ranges of physical addresses. < 1288655006 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :wtf, my boot loader/os project has a CVS dir that points to a cvsroot with a windows path < 1288655038 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :it is from 2002 though, I was younger then < 1288655087 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :`addquote it is from 2002 though, I was younger then < 1288655104 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :olsner: wait i just adapted code developed on windows and cvs? < 1288655106 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :i feel wrong < 1288655145 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :no, it can never have been developed on windows, the build script is very much unix < 1288655147 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1288655166 0 :olsner!unknown@unknown.invalid PRIVMSG #esoteric :but it was *stored* on windows at some point < 1288655615 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :ACTION tries to decipher why his vga display fun isn't working < 1288655728 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Cat + melodica = insane cat < 1288655924 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :Gregor: approve# < 1288655926 0 :elliott!unknown@unknown.invalid PRIVMSG #esoteric :s/#$//