←2014-10-11 2014-10-12 2014-10-13→ ↑2014 ↑all
00:06:57 -!- augur has joined.
00:21:17 <oerjan> > 1+["\n"]
00:21:19 <lambdabot> No instance for (GHC.Num.Num [[GHC.Types.Char]])
00:21:19 <lambdabot> arising from a use of ‘GHC.Num.+’
00:21:22 -!- ^v has joined.
00:21:26 <oerjan> gah
00:21:33 -!- MBH has joined.
00:21:58 <MBH> HI
00:22:00 <MBH> Hi
00:22:04 <oerjan> hmph lambdabot cuts off the error message even in privmsg
00:22:11 <oerjan> `relcome MBH
00:22:12 <HackEgo> MBH: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
00:24:25 -!- ^v has quit (Excess Flood).
00:24:53 -!- ^v has joined.
00:26:17 <oerjan> anyone with a linux ghci who can test what error messages 1+["\n"] gives?
00:26:36 <oerjan> (7.8.3)
00:26:52 <dianne> <interactive>:2:2: No instance for (Num [[Char]]) arising from a use of ‘+’ In the expression: 1 + [""] In an equation for ‘it’: it = 1 + [""]
00:27:06 <GeekDude> ghci?
00:27:08 <oerjan> ic. so this bug is not just windows.
00:27:13 <Taneb> Can confirm
00:27:20 <oerjan> note how there is no \n in the error message.
00:28:44 <Taneb> Odd
00:29:05 <dianne> the error message for 1+["\n "] is also a bit strange, but in a different way
00:29:39 <Taneb> I can still confirm
00:29:52 <oerjan> also the []s aren't actually needed for this
00:30:33 -!- tlvb has quit (Ping timeout: 246 seconds).
00:30:45 <MBH> If only BF had a square function like Deadfish...
00:34:23 <Taneb> MBH, down that path brainfuck derivatives lie, and I fear Phantom__Hoover will have to update his blog
00:40:36 <oerjan> hm i suppose the "\n " case is not _technically_ in error
00:40:57 <oerjan> it just uses a string gap
00:44:49 <Taneb> Still odd, though
00:49:42 <oerjan> https://ghc.haskell.org/trac/ghc/ticket/9681#ticket
00:50:31 <MBH> FiM++ sounds so cool
00:51:49 <Taneb> oerjan, :)
00:54:08 -!- MBH has quit (Quit: Page closed).
00:56:47 <oerjan> i suppose the "\n " case might be about GHC trying to show multiline strings on multiple lines, so considered a feature.
01:12:00 -!- augur has quit (Remote host closed the connection).
01:30:28 -!- Phantom__Hoover has quit (Remote host closed the connection).
01:32:57 -!- augur has joined.
01:34:37 <Taneb> Help, apparently I translated the first strip of IWC into Latin
01:34:42 <Taneb> I... don't remember doing this
01:37:34 <oerjan> irregularissime
01:39:07 <Taneb> But... looking at the translation
01:39:12 <Taneb> I remember looking up one of the words
01:40:45 <Taneb> Odd
01:40:53 <Taneb> As you said, irregularissime
02:11:23 -!- brandonson has quit (Read error: Connection reset by peer).
02:12:30 -!- brandonson has joined.
02:15:25 * oerjan cackles evilly
02:23:35 -!- oerjan has quit (Quit: Nite).
02:40:26 -!- augur has quit (Quit: Leaving...).
02:44:15 <Sgeo> What does "reborn as vocaloid" mean? This video's annotations seem intent on telling me this character is not reborn as vocaloid.
03:00:12 -!- idris-bot has quit (Quit: Terminated).
03:00:37 -!- MoALTz_ has joined.
03:03:12 -!- MoALTz has quit (Ping timeout: 245 seconds).
03:19:22 -!- MoALTz__ has joined.
03:22:02 -!- MoALTz_ has quit (Ping timeout: 244 seconds).
03:25:50 <elliott_> Sgeo: other than the obvious?
03:26:43 <Sgeo> Are vocaloids actually considered a character in and of themselves (like Gumi actually being a character's name) in some settings?
03:27:01 <Sgeo> That doesn't seem to happen in this setting, but that's the only meaning I can ascribe to the concept
03:27:42 <elliott_> you haven't seen the vocaloid fandom?
03:28:05 <elliott_> maybe I don't understand the question since I have no idea what the cnotext is though :p
03:29:40 <Sgeo> The Evillious Chronicles is my first interaction with the Vocaloid fandom.
03:30:02 <Sgeo> The context is the annotation towards the end of https://www.youtube.com/watch?v=Zpl1uMEWM_g
03:35:37 <elliott_> *context
03:36:01 <elliott_> anyway, they're treated as characters, yes; I don't know whether that answers your original question but it answers your second one
03:40:25 <Taneb> I once ended up at a Hatsune Miku live show
03:40:30 <Sgeo> elliott_: thank you
03:40:50 <Taneb> She was having troubles with Windows Media Player
03:40:55 <Sgeo> elliott_: afaik, the setting I'm interested in does not treat them as characters in and of themselves. But I guess people could incorrectly assume that they are
03:42:02 <elliott_> I presume the exact meaning would be more obvious if you saw the PV the note mentions.
03:43:13 -!- shikhin has joined.
04:08:44 -!- Left_Hand_6969 has joined.
04:09:01 -!- Left_Hand_6969 has quit (Client Quit).
04:13:05 <dianne> i'll hand it to them, they sure left quickly
04:13:38 <Taneb> They lasted 16 whole seconds
04:14:58 <elliott_> by the time you adopt a name like Left_Hand_6969 you're experienced enough to get the job done quickly
04:17:32 <dianne> they just came and left
04:22:31 -!- zzo38 has joined.
04:28:25 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:08:15 -!- password2 has joined.
05:20:58 -!- Bike has quit (Quit: leaving).
05:51:52 -!- augur has joined.
05:59:37 -!- Sprocklem has quit (Ping timeout: 244 seconds).
06:11:57 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
06:35:01 -!- Bicyclidine has joined.
06:48:17 -!- idris-bot has joined.
06:50:18 -!- Hjulle has quit (Ping timeout: 246 seconds).
06:51:45 -!- zzo38 has quit (Ping timeout: 260 seconds).
07:23:24 -!- Bicyclidine has quit (Ping timeout: 260 seconds).
07:23:42 -!- Bicyclidine has joined.
07:24:25 -!- MoALTz_ has joined.
07:27:53 -!- MoALTz__ has quit (Ping timeout: 272 seconds).
07:36:46 -!- password2_ has joined.
07:37:53 -!- password2 has quit (Read error: Connection reset by peer).
07:42:24 -!- password2_ has changed nick to password2.
07:51:18 -!- FreeFull has quit (Remote host closed the connection).
07:54:27 -!- Bicyclidine has quit (Ping timeout: 245 seconds).
08:05:53 -!- FreeFull has joined.
08:31:30 -!- Bicyclidine has joined.
08:39:20 <Sgeo> I'm watching what I think is the wrong PV. It's subbed... really really badly
08:39:54 <Sgeo> lu li la got turned into lapis lazuli. Also: "Boy's crimes are getting old" "You're far from me forever" "It left from this room"
08:40:11 <Sgeo> But some of it is actually clearer than the one I've seen
08:42:54 <Sgeo> "It's not that you're sins aren't tolerated"... the other translation I've seen is more "You're sins will never be forgiven, but..."
08:42:59 <Sgeo> *your
08:44:08 -!- Bicyclidine has quit (Ping timeout: 260 seconds).
08:45:58 -!- nisstyre has quit (Quit: WeeChat 1.0.1).
08:47:20 -!- Bicyclidine has joined.
09:02:58 <nortti> Sgeo: I personally would check against http://theevilliouschronicles.wikia.com/wiki/The_Evillious_Chronicles_Wiki 's translation
09:11:13 <nortti> Sgeo: the vocaloids are not considered chars and the being reborn as vocaloid bit is a fan-theory contradicted by mothy's actual work. (I suggest you check out 'Irregular' and 'Waiter' on the wiki)
09:16:28 -!- shikhout has joined.
09:19:36 -!- shikhin has quit (Ping timeout: 260 seconds).
09:20:54 -!- brandons1 has joined.
09:24:02 -!- brandonson has quit (Ping timeout: 245 seconds).
09:26:55 <Sgeo> nortti: I meant the PV noted as incorrect by a video that has decent-seeming translations (except 'Clockwork' instead of spring?). And yeah, I meant vocaloids as characters in most Vocaloid-based works.
09:27:24 <Sgeo> I should probably check the wiki more often though
09:28:08 <Sgeo> I should probably watch Story of Evil. re_birthday says Irregular severely sinned (I guess by helping his evil sister?), so I don't quite get how it's supposed to be a Jesus parallel
09:29:00 * int-e wonders about the meaning of "PV"
09:29:50 <Sgeo> Promo Video, equivalent to Music Video
09:30:32 <Sgeo> http://en.wikipedia.org/wiki/PV#Other
09:31:41 <int-e> Ah, I tried that page but didn't get that far. Thanks.
09:33:43 -!- conehead has quit (Quit: Computer has gone to sleep).
09:40:33 -!- Phantom_Hoover has joined.
09:43:41 <impomatic_> I've entered Al Zimmermann's programming contest http://azspcs.net/Contest/DelacorteNumbers
09:49:00 -!- Bicyclidine has quit (Ping timeout: 260 seconds).
09:49:19 <Sgeo> nortti: In Judgement of Corruption, when Gallerian is facing the Master of the Hellish Yard, is that scene Gallerian's interpretation of the events of Muzzle of Nemesis, or did Gallerian face a similar choice twice?
09:50:18 <nortti> I interpreted it as being his interpretation of muzzle of nemesis's events
09:50:46 <Sgeo> That's what I initially thought.
09:51:43 <Sgeo> Reading the wiki made me a bit less confident though
09:51:46 <Sgeo> I should sleep
10:07:04 <fizzie> I don't understand the DOS console input at all. I do "dosemu -quiet -dump test.com < file.txt" where file.txt contains "12345\n67890\n", and test.com is just a cat loop using int 21h/AH=08h and int 21h/AH=02h, but what comes out is "12345\n\x1e\n" after which stdin reports that it has no more characters available, and 21/AH=08h starts to block.
10:10:02 <fizzie> I guess it needs to have \r's instead of \n's in the input file. That's confuzzling.
10:10:32 <fizzie> And also the fact that 21h/AH=08h blocks indefinitely if dosemu's stdin hits eof.
10:16:20 <fizzie> I'd need it to work for \n, though. And it's even more confusing for other inputs. E.g. "whatever\nsomethingelse\n" results in "whatever\n\x05\x14\x08" and "aa\nbbbbbb\n" returns "aa\n\x02\x02\x02\x02\x02\x02\n".
10:16:44 <fizzie> It's almost as if hitting a '\n' makes the rest of the input be interpreted as if the ctrl key was stuck on.
10:57:53 <int-e> fizzie: that's not expected behavior
11:00:36 <int-e> hmm "Could not open current VT." is also unexpected.
11:00:42 <J_Arcane> Doesn't DOS specify \r\n for newline?
11:01:55 -!- shikhout has changed nick to shikhin.
11:02:27 -!- oerjan has joined.
11:03:12 <int-e> oh it wants a linux VT ... not an xterm.
11:04:46 <int-e> fizzie: and then I can reproduce the behavior. it's dosemu's fault, things look better inside its own X11 terminal window.
11:06:06 <int-e> and now it does something inside xterm as well, huh ...
11:06:53 <int-e> J_Arcane: well, the expected output is that 12345 is overwritten by 67890
11:07:35 <J_Arcane> Ahh, so in this case a proper newline isn't necessarily what is wanted?
11:07:46 <int-e> but it's having trouble with input redirection.
11:12:00 <fizzie> int-e: Maybe it's not a coincidence no-one ever seems to have submitted a DOS com file to any program involving multi-line input (except by embedding the output in the program).
11:12:42 <fizzie> Incidentally, I meant "dosemu -quiet -dumb" and not -dump, that's presumably not a real flag.
11:13:02 <int-e> fizzie: I recommend dosbox
11:13:14 <int-e> but hmm
11:13:15 <fizzie> It's not up to me, unfortunately; this was re anagolf.
11:13:30 <fizzie> I don't know if you can handily feed input to dosbox either.
11:13:36 <oerjan> apropos anagolf, *evil cackle*
11:14:20 <int-e> right that won't help when the server is using dosemu
11:18:24 -!- AndoDaan has joined.
11:20:30 <int-e> oerjan: I saw the asteriks and obeliks score
11:21:45 <oerjan> good, good
11:22:02 <int-e> fizzie, J_Arcane: it works better with ^M instead of ^J for newlines in the input.
11:23:11 <b_jonas> fizzie: I have a DOS in bochs connectible to irc. I can bring it up if you want. It has the borland C compiler.
11:24:57 <b_jonas> there, started it up, it's in the #esoteric-blah channel, you can try it with `help
11:25:35 <b_jonas> I don't know about dosbox, I never tried to hook that up to anything
11:26:09 <b_jonas> but anyway, my bot proves that you can feed at least textual input to that dos in bochs,
11:26:15 <b_jonas> and get output from it
11:26:24 <b_jonas> and reset its hard disk state quickly
11:26:43 <b_jonas> so in theory it could be used as a golf language
11:55:09 -!- Patashu_ has quit (Ping timeout: 272 seconds).
12:10:30 -!- tlvb has joined.
12:25:16 <int-e> fizzie: "It's almost as if hitting a '\n' makes the rest of the input be interpreted as if the ctrl key was stuck on." -- that's exactly what happens; the input is translated to scancodes; \n is interpreted as Ctrl-J. But the control key is never released.
12:25:39 <fizzie> V. good.
12:27:06 <int-e> fizzie: interesting things happen around here: http://sourceforge.net/p/dosemu/code/ci/master/tree/src/plugin/term/keyb_slang.c#l836
12:29:07 <b_jonas> int-e: that won't happen in my setup with the bot, because input goes in the serial terminal instead of a keyboard
12:29:31 <b_jonas> so of course you still need to press control-M for newlines, control-J doesn't have bad side effects
12:30:46 <b_jonas> (there's some drawbacks of course, as in some console-oriented programs won't talk through the serial terminmal)
12:44:49 <int-e> fizzie: the easiest workaround would be for anagolf to convert \n to \r (\r is not mapped to Ctrl-M, it's mapped to the return key without modifiers, so that works)
12:45:29 <b_jonas> just use the serial terminal instead of keyboard
12:46:48 <b_jonas> hmm, teebee did http://golf.shinh.org/p.rb?hello+hello+world in 59 bytes, 10 less than me
12:51:15 <b_jonas> besides that it's not very useful for golf, why does http://golf.shinh.org/ not have GAP? does it start up too slowly?
13:05:43 <oerjan> you cannot use acronyms that are identical to common words hth
13:05:53 <oerjan> sorry, *may not
13:09:55 * oerjan tentatively concludes the most likely referent to be http://www.gap-system.org/
13:12:37 <int-e> oerjan: stop making up gnu rules
13:13:30 <oerjan> gnu isn't a common word hth
13:15:39 <b_jonas> yes, http://www.gap-system.org/
13:15:40 <int-e> > time gap4r5 < /dev/null ... real 0m7.094s with a hot FS cache
13:15:42 <lambdabot> <hint>:1:15: parse error on input ‘/’
13:15:52 <int-e> I should know better
13:15:55 <int-e> @botsnack
13:15:55 <lambdabot> :)
13:16:23 <b_jonas> 7 seconds? it starts in like two seconds for me
13:16:53 * Melvar is trying something unintended with idris’ type providers.
13:17:07 <int-e> oh well, this computer is 4 years old.
13:17:58 <b_jonas> this one as well
13:18:06 <b_jonas> it might depend on how many libraries it loads
13:18:08 <int-e> http://sprunge.us/KKac
13:18:17 <oerjan> are you carrying them upward in the snow
13:19:20 <b_jonas> yes
13:20:02 <int-e> (what did sprunge do to those poor unicode characters?)
13:20:04 <b_jonas> I'm running an old version of GAP though
13:27:23 <oerjan> > (undefined :: (Int,Int)) & each .~ "hi"
13:27:26 <lambdabot> ("hi","hi")
13:28:54 <oerjan> int-e: i thought sprunge gave the file raw by default, sure it wasn't your upload that converted things
13:29:38 <int-e> oerjan: hmm, I used the form. I guess the browser may have mangled it.
13:29:56 <oerjan> they have a form too?
13:30:23 <int-e> http://sprunge.us/ has a link
13:30:46 <int-e> so I've never bothered with installing the tool
13:30:51 <oerjan> http://sprunge.us/ZRHA looks fine when piped from the command line
13:31:37 <int-e> and by "installing" I mean wrapping the curl command line into a script so I don't have to remember the details.
13:32:01 <oerjan> int-e: you don't need much of a tool, i just have a shell script with curl -F 'sprunge=<-' http://sprunge.us in it
13:32:14 <oerjan> oh heh
13:32:31 <oerjan> (also a #!/bin/sh)
13:34:02 <int-e> you're right, the curl command works. http://sprunge.us/NBeV
13:34:34 <int-e> (but why do I have to hit ^D twice to make it submit?)
13:35:03 <oerjan> fancy graphics
13:35:35 <oerjan> hm indeed
13:36:03 <oerjan> prepending cat | fixes that.
13:36:06 <int-e> cat | curl -F 'sprunge=<-' http://sprunge.us # non-useless use of cat
13:36:08 <int-e> heh.
13:36:31 <b_jonas> int-e: it's unix terminal canonical mode. control-D flushes, making the read return. if you've already typed characters in the line, that makes the read return those cahracters. if you just hit newline or control-d, there's no characters, so it makes read return 0, which programs interpret as an EOF.
13:36:45 <b_jonas> int-e: so you need to hit control-D twice to signal an EOF.
13:36:59 <int-e> b_jonas: this was at the beginning of the line
13:37:08 <b_jonas> then I don't know.
13:39:48 <int-e> Thanks anyway, I didn't know that.
13:58:03 <fizzie> Yeah, I've wondered about the curl-sprunge-^D^D-even-at-beginning-of-line thing too.
13:58:21 <fizzie> I've just assumed it's some sort of curl peculiarity.
13:58:57 <b_jonas> maybe curl reads twice or something?
14:00:52 -!- tromp_ has quit (Ping timeout: 240 seconds).
14:01:08 <oerjan> if you keep typing after the first ^D the rest gets into the upload
14:02:27 -!- Hjulle has joined.
14:02:32 <fizzie> The curlman always reads twice.
14:53:39 -!- boily has joined.
15:03:54 -!- boily has quit (Quit: WeeChat 0.4.2).
15:06:40 -!- boily has joined.
15:17:13 -!- shikhout has joined.
15:20:59 -!- shikhin has quit (Ping timeout: 272 seconds).
15:31:57 -!- boily has quit (Ping timeout: 245 seconds).
15:39:01 -!- drdanmaku has joined.
15:40:12 -!- Hjulle has quit (Ping timeout: 246 seconds).
15:45:57 * oerjan found the command to make vim display character count for current visual selection. (g^G) now i can golf with multiple lines!
15:47:03 <oerjan> (also needed to set fileformat=unix to not have it count newlines double)
15:50:21 -!- AndoDaan has quit (Ping timeout: 246 seconds).
15:56:14 -!- boily has joined.
16:07:29 -!- oerjan has quit (Quit: leaving).
16:22:53 -!- password2 has quit (Remote host closed the connection).
16:50:16 -!- boily has quit (Quit: WeeChat 0.4.2).
16:51:55 -!- nys has joined.
17:01:13 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
17:04:29 -!- Sprocklem has joined.
17:04:56 -!- Sprocklem has changed nick to Guest66576.
17:05:38 -!- Guest66576 has changed nick to Sprocklem.
17:06:08 -!- Sprocklem has changed nick to Guest70178.
17:07:53 -!- password2 has joined.
17:08:33 -!- Guest70178 has changed nick to Sprocklem.
17:08:42 -!- Sprocklem has quit (Changing host).
17:08:42 -!- Sprocklem has joined.
17:11:32 -!- Hjulle has joined.
17:14:52 -!- ^v has quit (Ping timeout: 240 seconds).
17:16:27 -!- nys has quit (Ping timeout: 244 seconds).
17:16:49 <HackEgo> [wiki] [[Special:Log/newusers]] create * Woodpecker * New user account
17:25:36 <fizzie> The single-question CAPTCHA seems to have be working okay.
17:28:12 -!- shikhout has quit (Ping timeout: 260 seconds).
17:32:15 -!- Bike has joined.
17:34:25 -!- nys has joined.
17:37:22 -!- ^v has joined.
17:38:21 -!- S1 has joined.
17:38:21 -!- S1 has quit (Client Quit).
17:58:05 <myname> great
18:01:43 -!- shikhin has joined.
18:11:49 <fizzie> "have be working".
18:33:30 -!- FreeFull has quit (Ping timeout: 255 seconds).
18:35:28 -!- FreeFull has joined.
18:39:51 <fizzie> Yay, improved on both Befunge and Befunge-98 pocket solutions. (Too bad it still has something like 5 days to go, so someone will surely go and one-up.)
18:40:27 <coppro> do we have a funge-98 funge-98 interpreter yet?
18:41:50 <fizzie> I forget. Possibly not? There's definitely a Befunge-93 Befunge-93, though it limits the playfield still further.
18:42:56 <fizzie> I have this vague impression that there was also a fingerprintless "non-cheating" Funge-98 Funge-98, but I could be wrong.
18:43:03 <coppro> non-cheating?
18:44:43 <fizzie> Not just loading the corresponding fingerprints to the "host" Funge-98 and (for A..Z) just executing those instructions and hoping for nothing unexpected, which would probably break for many instructions.
18:45:07 <coppro> ah ok
18:45:10 <coppro> yeah that seems awful
18:45:39 <coppro> it should be a proper implementation
18:46:33 <coppro> it seems to me that the funnest way to implement it would be a supercell
18:46:38 <coppro> it would probably be a giant supercell though
18:48:06 <fizzie> I assume it would make sense (funcespace-storage-wise) to implement N-funge in (N+1)-funge.
18:49:45 <coppro> yeah that would work too
18:49:57 <coppro> but it would be more challenging to implement directly
18:51:19 <fizzie> I clearly remember sketching a translation from 2D-language A to 2D-language B based on some sort of cell-grid thing, but no idea about the identities of A and B or whether that went anywhere. A != B, though.
19:03:48 <Vorpal> Hm, are there any compilers to befunge-98?
19:03:54 <Vorpal> That could be a neat project
19:04:40 <Vorpal> Possibly a llvm code gen backend, then you could compile cfunge into befunge
19:05:43 <coppro> that sounds awful
19:07:35 <Vorpal> Well it would probably turn out awful, but still pretty neat
19:07:56 <fizzie> There's the http://www.mikescher.de/programs/view/BefunGen thing.
19:08:04 <fizzie> It generates "big Befunge-93", basically.
19:08:28 <Vorpal> From what? My mouse just died a couple of seconds ago, so I can't click the link
19:08:34 <Vorpal> brb, debugging the issue
19:09:01 <fizzie> From a custom language it calls "TextFunge", which (AIUI) is somewhat pedestrian.
19:09:28 <Vorpal> Ah
19:09:59 <fizzie> Oh, and how did I forget Sponge, the Scheme-to-Befunge-98 compiler.
19:10:10 <fizzie> I think I even tried it out once.
19:10:39 <fizzie> Neither of those is terribly advanced, or make too much of an effort to generate "natural" Befunge-98 output, I think.
19:11:02 <Vorpal> Well that would be tricky
19:11:21 <Vorpal> It is not a well researched class of target languages as it were
19:11:41 <fizzie> Sponge you can find at http://cubonegro.orgfree.com/sponge/sponge.html though the page tried to pop up some sort of an ad.
19:12:07 <Vorpal> Heh
19:12:30 <fizzie> (Probably won't without scripts, I'm sure it's part of that "free web hosting area" code at the end.)
19:12:46 <b_jonas> I posted you a golf problem
19:12:50 <b_jonas> on anagolf
19:13:08 <fizzie> 27 days(!)
19:14:02 <fizzie> Are you going to use the golfed solutions for some business purpose?
19:14:05 <b_jonas> what the heck got into me when I wrote this old C program? it uses "template" as an identifier
19:14:15 <Vorpal> I wonder if it is still possible to buy IDE drives?
19:14:23 <b_jonas> fizzie: no. I already have a good non-golfed solution in C, which I posted
19:14:29 <Vorpal> I have an old computer that might need a new drive. 2.5"
19:14:32 <b_jonas> Vorpal: CD reader or hard disk?
19:14:37 <Vorpal> hard drive for laptop
19:14:43 <fizzie> I know some people use 'class' as an identifier specifically in order to make their C code not compilable as C++.
19:14:47 <fizzie> For philosophical reasons.
19:14:54 <Vorpal> fizzie, "new" also works
19:15:00 <b_jonas> ouch
19:15:09 <b_jonas> I didn't know people did that deliberately
19:15:11 <fizzie> Yes, maybe "new" is easier to shoehorn in.
19:15:21 <Vorpal> b_jonas, So don't compile it as C++?
19:15:31 <Vorpal> fizzie, well I used it unintentionally in cfunge IIRC
19:16:02 <b_jonas> Vorpal: I want to submit it as a C++ solution for the golf
19:16:02 <Vorpal> fizzie, As in, I didn't think about it until some tool or other decided to highlight that file as C++ due to the existance of "new" in the code
19:16:06 <b_jonas> done, I renamed the variable
19:16:27 <Vorpal> b_jonas, you should use variable names like t or such anyway to golf it
19:16:30 <Vorpal> Surely
19:16:37 <b_jonas> Vorpal: sure, but this one isn't golfed
19:16:49 <b_jonas> it's my original code back when I wrote this task for non-golf purposes
19:16:58 <Vorpal> Ah
19:17:05 <b_jonas> I did submit a golfed perl code too
19:17:17 <Jafet> To be more devious, make the code work differently even if renamed and compiled as C++
19:17:21 <mroman_> !blsq 256?!fC
19:17:21 <blsqbot> Ain't nobody got time fo' dat!
19:17:24 <mroman_> !blsq 256?!fC
19:17:24 <blsqbot> Ain't nobody got time fo' dat!
19:17:28 <mroman_> !blsq 100?!fC
19:17:28 <blsqbot> {2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
19:17:33 <fizzie> Vorpal: Heh. The (completely unused) Forth code in the fungot github repo gets flagged as F#, probably due to the .fs extension.
19:17:33 <fungot> fizzie: hence, all m are x; all m are x'; no m are x; &there4 some x are y, and some, that have not green eyes.
19:17:35 <mroman_> ok
19:17:38 <b_jonas> 62 characters, it's probably possible to get it shorter
19:17:47 <Vorpal> Jafet, hm, what sort of different behaviour would work for detecting that (except #ifdef _CPP or similar)
19:18:00 <b_jonas> Vorpal: I know some possiblities
19:18:01 <fizzie> fungot: Did you know that you're 58.2% Perl, 28.2% F# and 13.6% Python?
19:18:01 <fungot> fizzie: " no," said he. i said " my name's not tibbs."
19:18:04 <mroman_> !blsq 100?!fCNB
19:18:04 <blsqbot> {2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97}
19:18:15 <Vorpal> fizzie, forth for what?
19:18:16 <mroman_> cool
19:18:23 <Jafet> sizeof 'a'
19:18:29 <Vorpal> Jafet, ah, 1 or 4?
19:18:34 <Jafet> And a few billion other things
19:18:35 <b_jonas> Vorpal: you can use sizeof('a') ; or some identifier scope tricks about struct definitions
19:18:43 <Vorpal> Hm
19:18:47 <fizzie> We had this discussion already, kind of.
19:18:52 <fizzie> Maybe I should look for the logs.
19:18:54 <b_jonas> let me find that latter code (I didn't write it)
19:19:06 -!- conehead has joined.
19:19:09 <fizzie> I posted one way that was based on identifier mangling, and hilariously unportable.
19:19:32 <b_jonas> you can also use some words as keywords in C++ and identifiers in C
19:19:48 <mroman_> !blsq 100?!fCNB{q?iq?d}M-
19:19:48 <blsqbot> {{3 4 6 8 12 14 18 20 24 30 32 38 42 44 48 54 60 62 68 72 74 80 84 90 98} {1 2 4
19:19:58 <mroman_> !blsq 100?!fCNB{q?iq?d}M-\[NB
19:19:59 <blsqbot> {3 4 6 8 12 14 18 20 24 30 32 38 42 44 48 54 60 62 68 72 74 80 84 90 98 1 2 10 1
19:20:06 <Jafet> int vector, T, a; vector <T <1>> a;
19:20:08 <mroman_> !blsq 100?!fCNB{q?iq?d}M-\[><NB
19:20:08 <blsqbot> {1 2 3 4 6 8 10 12 14 16 18 20 22 24 28 30 32 36 38 40 42 44 46 48 52 54 58 60 6
19:20:12 <Vorpal> Of course there is a million ways to tell different C++ implementations apart. Mostly related to templates
19:20:38 <b_jonas> Jafet: how do you make that work? you need to include a header for vector, and you can't include that in C
19:21:31 <Vorpal> Jafet, that
19:21:39 <Vorpal> that* wouldn't compile surely in C++
19:21:59 <mroman_> Can't you just use parsers to detect languages?
19:21:59 <fizzie> ais523 had a quirky one for modern C++: int main(void) { auto i = 4.5L; printf("%d\n",(int)sizeof i); return 0; } -- C++ does type inference, while C defaults to int.
19:22:07 <Vorpal> After all >> still means bit shift in C++
19:22:15 <b_jonas> I can't find that code
19:22:17 <Vorpal> And you didn't #include <vector>
19:22:34 <mroman_> Although... there are C++ programs you can parse as C
19:22:37 <Vorpal> fizzie, niiice
19:22:48 <b_jonas> Vorpal: not in C++11
19:22:57 <b_jonas> Vorpal: in C++11 the >> is a valid way to end a template
19:23:02 <Vorpal> b_jonas, well okay, true
19:23:09 <b_jonas> (but < :: still needs a space)
19:23:20 <Vorpal> What would <:: mean?
19:23:27 <Vorpal> That would make it an issue
19:23:37 <Jafet> clang compiles it: -c { int vector = 0, T = 0, a = 0; vector <T <1>> a; } template <int n> struct T {};
19:23:43 <b_jonas> Vorpal: < to start a template or a comparision, :: to start a global identifier or namespace
19:23:54 <b_jonas> but I think they're fixing this one as well in C++14
19:24:02 <b_jonas> so <:: will mean < :: instead of the current <: :
19:24:04 <Vorpal> b_jonas, I know, but what would <:: without a space mean
19:24:13 <b_jonas> Vorpal: <: is a C++ digraph
19:24:16 -!- S1 has joined.
19:24:16 -!- S1 has quit (Client Quit).
19:24:17 <b_jonas> meaning [
19:24:24 <Vorpal> Oh a trigraph
19:24:24 <Vorpal> right
19:24:27 <b_jonas> digraph
19:24:30 <b_jonas> not trigraph
19:24:38 <b_jonas> the second : is a separate token and most likely a syntax error
19:25:31 <fizzie> http://codu.org/logs/log/_esoteric/2011-08-17#132744ais523 is the auto-one, I haven't yet found when we had the longer discussion with a couple of examples.
19:25:38 <Vorpal> Why the fuck does upgrading ubuntu break so many things? I upgraded 12.04 to 14.04 on a laptop. Just rebooted it.
19:26:08 <fizzie> There's also a scope trick from Deewiant few lines later.
19:26:31 <elliott_> Vorpal: two years of software upgrades...
19:26:54 <b_jonas> obviously the proper way to write code that differs is #ifdef __cplusplus
19:26:58 <mroman_> Vorpal: with dist-upgrade?
19:26:59 <Vorpal> elliott_, true, but it is LTS -> LTS
19:27:11 <mroman_> apt-get dist-upgrade has caused me only troubles so far.
19:27:13 <Vorpal> mroman_, with the GUI thing that popped up saying "hey there is a new release"
19:27:41 <Jafet> Wouldn't be surprised if LTS doesn't include support for moving to the next LTS
19:28:18 <fizzie> http://codu.org/logs/log/_esoteric/2011-03-28#042936zzo38 there's the earlier discussion.
19:28:41 <Jafet> I would just do a clean install of Ubuntu Windows 14.04
19:28:43 <fizzie> But not the one with my name-mangling, and I'm sure there were more examples too.
19:29:11 <b_jonas> back several releases ago, I could successfully upgrade debain to the next release with dist-upgrade, it caused only very few problems
19:29:23 <b_jonas> I haven't done it these days, and won't do it now either
19:29:36 <b_jonas> not because I don't trust dist-upgrade, but because I want to reinstall for other reasons
19:29:38 <fizzie> Oh, this seems to have been a good grep term.
19:29:51 <mroman_> My server doesn't have enough RAM for a dist-upgrade
19:29:54 <fizzie> int main(void) { printf("%d\n", 1//**/2 \n ); } works for C89-vs-C++.
19:29:55 <b_jonas> so I'll not upgrade this system from lenny, but install a new squeeze, or whatever they're called
19:30:05 <b_jonas> I might later do a dist-upgrade on a different machine though
19:30:07 <mroman_> It crashes doing stuff with .ko because "out of memory"
19:30:22 <b_jonas> but only after I tested squeeze on my home computer enough to be confident it works
19:30:32 <b_jonas> and of course I always recommend that you take backups before you dist-upgrade,
19:30:48 <Vorpal> Jafet, it does (supposedly)
19:30:49 <b_jonas> and follow the notes in the debian release notes about what to do before and after dist-upgrade
19:31:03 <Vorpal> Jafet, also "ubuntu windows"??
19:31:03 <b_jonas> don't just blindly run dist-upgrade
19:31:23 <fizzie> int main(void) { int i = 0; { for (int i = 1; !i; ); printf("%d\n", i); } } -- for C99 vs. pre-ISO C++.
19:31:27 <Vorpal> b_jonas, well of course I did. I mean stuff like fucking with my settings
19:31:39 <Vorpal> b_jonas, like changing default desktop environment on login
19:32:01 <Vorpal> I use xfce on that laptop, is is too old to run anything more complex
19:32:08 <Vorpal> Might even go for LXDE
19:32:09 <b_jonas> I think in C++14 you can use apostrophed integer literals to write a program that works differently from previous versions of C++ or C; this is easiest with macros
19:32:28 <fizzie> http://sprunge.us/UWcN is the really unportable one I wrote.
19:32:36 <Vorpal> fizzie, what did it do in pre-ISO C++?
19:33:07 -!- thekey has joined.
19:33:16 <fizzie> Vorpal: "Old-fashioned" (or Microsoft for a long time, I believe) C++ had the scope of variables from the for-loop initial declarations extend to the block the for loop was in.
19:33:26 <Vorpal> Ouch
19:33:52 <fizzie> GCC has a flag for it, unless they've removed it already.
19:33:57 <Vorpal> Heh
19:34:27 <b_jonas> in fact, I think it requires macros, and might require variadic macros
19:34:37 <Vorpal> On the MS side, the oldest I used for C++ was 2005, by which point it was starting to get more in line with the standard (though still far from there, especially for templates)
19:34:43 <b_jonas> so it's probably not a really good way to distinguish between older stuff
19:34:53 <b_jonas> but you can at least distinguish between strict c++11 and c++14 with it
19:35:03 <fizzie> https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html "-fno-for-scope" still there.
19:35:19 <Vorpal> Heh
19:36:18 <Vorpal> Also, fuck boost. Just saying
19:37:02 <Vorpal> At best it is an over-engineered over-complicated library for what you want to do. At worst...
19:37:25 <b_jonas> Vorpal: I like some parts of boost actually
19:37:34 <b_jonas> not all parts, but you can use just some of the parts
19:37:41 <b_jonas> some parts are unmaintained and hard to use
19:37:43 <Vorpal> b_jonas, okay sure, boot::noncopyable is hard to fuck up, I'll admit that
19:37:44 <b_jonas> some parts are ugly
19:37:55 <b_jonas> Vorpal: actually, boost::noncopyable just got worse
19:37:59 <Vorpal> Oh?
19:38:08 <Vorpal> b_jonas, But I was looking at Boost Graph recently at work. What a mess.
19:38:26 <b_jonas> it used to require only a single header, boost/noncopyable.cpp, but now it pulls in lots of other internal headers as a dependency. heck if I know why.
19:38:40 <Vorpal> hpp surely?
19:38:42 <Vorpal> Not cpp
19:38:44 <b_jonas> yes, hpp
19:38:44 <b_jonas> sorry
19:38:56 <Vorpal> Anyway I thought it was that header including a single other internal header
19:39:40 <b_jonas> Vorpal: I could be wrong, but I seem to remember it used to include nothing, and now it includes a few headers
19:39:41 <Vorpal> b_jonas, anyway, I don't know of any non-trivial part of boost that is decent
19:40:01 <Vorpal> MPL maybe? ;P
19:40:06 <b_jonas> Vorpal: I like the container library, especially its flat_map and flat_set classes
19:40:19 <Vorpal> Haven't looked at that, I'll admit.
19:40:21 <b_jonas> that one of course is a large library requiring lots of other headers
19:40:22 <b_jonas> but I like it
19:40:49 <b_jonas> only they messed up the docs so large chunks are missing from the compiled docs now
19:40:54 <b_jonas> you ahve to look at docs in older versions
19:40:55 <b_jonas> :(
19:41:00 <Vorpal> b_jonas, That multi-index thing was useful I remember, though still a terrible mess of templates
19:41:21 <Vorpal> b_jonas, really? And no one noticed and told them?
19:41:25 <Vorpal> You should file a bug
19:41:27 <b_jonas> Vorpal: they did tell
19:41:31 <b_jonas> there's already a bug ticket
19:41:34 <Vorpal> And?
19:41:50 <b_jonas> it was broken in .55, haven't checked .56
19:41:59 <b_jonas> was still right in .53 iirc
19:42:05 <Vorpal> b_jonas, at work we recently updated from .45 to .54
19:42:17 <b_jonas> I mean 1.55 and 1.56 and 1.53 resp
19:42:27 <Vorpal> I guessed as much
19:43:00 <b_jonas> I also used some of the other libraries mostly for replacing missing C++11 libraries from older compilers, but these days I don't need that
19:43:16 <Vorpal> Oh great, now that laptop freezes whenever the screen turns off
19:43:32 -!- LordCreepity has quit (Ping timeout: 245 seconds).
19:43:42 <Vorpal> What a terrible bug after an ubuntu upgrade
19:43:45 <b_jonas> but flat_map is still useful
19:44:27 <Vorpal> Well I guess shared_ptr was convenient, still a lot of template bloat
19:44:48 <Vorpal> Anyway STL is messy too
19:45:07 -!- LordCreepity has joined.
19:45:20 <b_jonas> and of course, you should choose the right tool for the right job
19:45:22 <Vorpal> Well I'm not going to upgrade my other laptop to 14.04 any time soon
19:45:52 <b_jonas> I'm actually planning to reinstall my computer soon... but soon means I've been planning it for months, and will do it when I find the time
19:45:55 <b_jonas> or something
19:46:01 <Vorpal> Like not C++ for everything?
19:46:02 <b_jonas> but I really should do it
19:46:16 <b_jonas> Vorpal: and various C++ libraries depending in what you need. some projects want boost, some don;t.
19:46:32 <b_jonas> I'm not saying C++ is for everything either, but I quite like C++ these days.
19:46:33 <Vorpal> Oh I recently reinstalled my desktop, since my drives died. (RAID? Hah! More like RADD)
19:46:46 <b_jonas> hope you had good backups
19:46:50 <Vorpal> Of course
19:46:57 <Vorpal> But still, annoying to deal with
19:47:04 <b_jonas> sure
19:47:06 <Vorpal> I went GUID when I was at it anyway
19:47:18 <Vorpal> But I stayed on the same distro (debian wheezy)
19:47:19 <b_jonas> what's GUID?
19:47:30 <Vorpal> GUID parititon tables
19:47:31 <Vorpal> GPT
19:47:42 <b_jonas> uh, whatever, ok. I don't so sysadmin stuff
19:47:43 <Vorpal> since I have UEFI in my desktop
19:47:48 <Vorpal> Not MBR
19:48:04 <b_jonas> mmkay
19:48:04 <Jafet> Succinct array of inexpensive drives
19:48:07 <Vorpal> b_jonas, you know, the replacement for BIOS?
19:48:10 <b_jonas> yes
19:48:16 <b_jonas> I didn't know about GUID though
19:48:34 <b_jonas> I was dimly aware that there existed partition tables other than the really old PC one,
19:48:35 <Vorpal> b_jonas, We can finally get rid of the old MBR partition table layout mess with that
19:48:45 <Vorpal> And use GPT (GUID Partition Table)
19:48:56 <b_jonas> but I thought they were mostly for BSD and for RAID/LVM stuff and for non-PC platforms
19:49:19 <Jafet> The old format has been unused for many years
19:49:21 <Vorpal> Well I do LVM on top of RAID, but that has nothing to do with UEFI
19:49:22 <b_jonas> I did have the BSD stuff on my machine, but only inside an ordinary PC partition
19:49:30 <Vorpal> Jafet, MBR? Not really
19:49:47 <b_jonas> well, obviously when I say PC, I don't mean the original PC, but with modern extensions where the CHS no longer matters
19:49:57 <Vorpal> Jafet, My computer isn't that old. 3 years. And Windows 7 is installed on MBR still
19:50:06 <pikhq> MBR/GPT and BIOS/EFI are somewhat orthogonal issues anyways.
19:50:12 <b_jonas> anyway, I use MBR and see no reason to change right now
19:50:18 <Vorpal> pikhq, kind of, but not fully
19:50:24 <pikhq> (EFI can boot just fine from MBR and BIOS can boot just fine from GPT)
19:50:34 <pikhq> Mostly just Windows that conflates it.
19:50:35 <Vorpal> b_jonas, indeed, but you need GPT if you go for larger than 2 TB
19:50:43 <b_jonas> Vorpal: what? really?
19:50:54 <pikhq> b_jonas: It's a hard limit in MBR partitioning.
19:50:57 <b_jonas> why? does MBR store 32 bit unsigned count of 512 byte sectors?
19:51:01 <Vorpal> b_jonas, yep, MBR can't express those bug numbers
19:51:04 <pikhq> b_jonas: Yes.
19:51:05 <b_jonas> is it not extended to a wider field now?
19:51:08 <pikhq> No.
19:51:08 <Vorpal> b_jonas, Nope
19:51:19 <Vorpal> b_jonas, you go GPT instead
19:51:29 <b_jonas> not even for some software, like eg. if the BIOS and boot loader doesn't know it but Linux does?
19:51:41 <Jafet> I thought Microsoft shipped GPT with Vista, but apparently Vista didn't boot from it.
19:51:51 <Vorpal> pikhq, anyway apparently some BIOS check that the MBR is reasonable and thus end up refusing to boot from GPT if it looks "fishy"
19:52:07 <Vorpal> Jafet, only from 8
19:52:16 <Vorpal> b_jonas, nope
19:52:26 <b_jonas> pity. I mean, technically I don't need any partition table after bootup, I can just mount unmarked partitions as size-limited loop devices in modern Linux and BSD,
19:52:30 <b_jonas> but a partition table is much safer
19:52:48 <b_jonas> does 2T work fine? because I have a 2TB large disk
19:52:53 <b_jonas> and I didn't know it almost reached that limit
19:53:00 <Vorpal> b_jonas, that is the limit yes
19:53:05 <b_jonas> hmm
19:53:06 <b_jonas> ok
19:53:19 <b_jonas> I'll have to read up on this then
19:53:29 <b_jonas> I didn't know there was no extension for MBR
19:53:30 <Vorpal> Anyway you can mostly just use GPT these days, as long as you don't try to boot from it with windows on a BIOS system
19:54:07 <b_jonas> can I have MBR and GPT on the same disk, with MBR listing partitions on the first 2TB?
19:54:10 <b_jonas> on a hard disk
19:54:25 <Vorpal> Not that I know of
19:54:44 <pikhq> Vorpal: How weird. That's utterly improper.
19:54:44 <b_jonas> hmm
19:54:46 <Vorpal> GPT has a "protective MBR", which just marks the entire disk as allocated
19:54:49 <pikhq> MBR is purely an OS detail.
19:54:52 <Vorpal> pikhq, yep
19:55:07 <b_jonas> Vorpal: sure, but how can it do that if the disk is more than 2TB?
19:55:08 <Vorpal> pikhq, well BIOS loads the first sector basically and executes it
19:55:25 <pikhq> b_jonas: It sets the protective MBR for 2TB instead.
19:55:27 <b_jonas> I mean, large hard disks are cheaper and cheaper these days, though 2TB is the usual size currently
19:55:30 <b_jonas> ok
19:55:44 <b_jonas> but if it does that, why can't I just have both on the same disk?
19:56:00 <b_jonas> to, say, use MBR for the bios and boot loader, and GPT in Linux or BSD?
19:56:11 <pikhq> Because there's no way to have it meet both specs easily.
19:56:17 <b_jonas> hmm
19:56:27 <pikhq> Also, the BIOS only looks at the MBR if it's bad and buggy.
19:56:35 <b_jonas> that's no problem
19:56:42 <pikhq> A BIOS system *should* be able to just boot from GPT without any effort.
19:56:50 <b_jonas> the bios only has to aces the partitions with the MBR system
19:56:58 <pikhq> No, it doesn't.
19:56:58 <b_jonas> pikhq: not if I still use grub-l I think
19:57:19 <b_jonas> but I guess I could upgrade to grub2 or syslinux
19:57:20 <Vorpal> pikhq, anyway I'm fairly certain that UEFI parses GPT, no? And the parition table section of MBR
19:57:21 <pikhq> Here is the BIOS' knowledge of the disk format: the first 512 bytes go into memory and are executed.
19:57:26 <b_jonas> when I get such a large disk
19:57:29 <pikhq> Vorpal: Yes, it has to.
19:57:46 <pikhq> Vorpal: Because UEFI actually boots from a filesystem on disk.
19:57:51 <Vorpal> Exactly
19:57:56 <Vorpal> FAT32 no less
19:57:59 <b_jonas> pikhq: yeah. but it's that dumb for hard disks and floppies only; boot from CDs adn network are way more complicated
19:58:00 <Vorpal> Which is annoying
19:58:04 <pikhq> Vorpal: UEFI is specd so that it can boot from an MBR partitioned filesystem though.
19:58:16 <pikhq> b_jonas: CD boot is about that dumb actually.
19:58:16 <b_jonas> Vorpal: why is that annoying?
19:58:33 <Vorpal> b_jonas, no journalling
19:58:42 <b_jonas> Vorpal: sure, but it's just a boot partition
19:58:46 <Vorpal> Also good luck doing MDRAID on that
19:58:49 <Jafet> You don't need to journal a read-only partition
19:58:53 <pikhq> b_jonas: The El Torito standard basically shoves an offset to where a filesystem image is on the CD, and the BIOS sets up the BIOS interrupts so that they point there.
19:58:58 <Vorpal> Jafet, except during grub updates
19:58:58 <pikhq> And then normal BIOS boot happens.
19:59:16 <b_jonas> Vorpal: you mean what if your system crashes just when you rename your kernel on the boot partition?
19:59:16 <Vorpal> pikhq, how does UEFI boot from CD or USB stick work?
19:59:22 <pikhq> Same exact way.
19:59:26 <b_jonas> is taht why you need journaling?
19:59:33 <Vorpal> b_jonas, well yes, I my case it is grub2 on the EFI parition
19:59:37 <pikhq> It's a separate El Torito image.
19:59:42 <Vorpal> My kernel is still on the ext4 /boot
19:59:46 <pikhq> Well. USB stick it's a 100% normal EFI boot.
19:59:51 <pikhq> CD, it's just El Torito.
19:59:55 <pikhq> Because of course it is.
20:00:00 <Vorpal> Right
20:00:14 <Jafet> Well, use a recovery drive to reinstall grub
20:00:23 <Vorpal> Also it makes it annoying to mirror the EFI partition between my disks in RAID1
20:00:29 -!- Patashu has joined.
20:00:43 -!- shikhin has quit (*.net *.split).
20:00:45 -!- int-e has quit (*.net *.split).
20:00:45 -!- b_jonas has quit (*.net *.split).
20:00:45 -!- SirCmpwn has quit (*.net *.split).
20:00:45 -!- paul2520 has quit (*.net *.split).
20:00:45 -!- diginet has quit (*.net *.split).
20:00:45 -!- ineiros has quit (*.net *.split).
20:00:50 <Vorpal> For now I basically run rsync to copy that partition to the second drive
20:00:51 -!- b_jonas has joined.
20:00:53 -!- int-e has joined.
20:00:58 -!- ineiros has joined.
20:01:04 <pikhq> On the bright side, it finally gives Linux a legally excusable reason to have a FAT driver.
20:01:12 -!- shikhin has joined.
20:01:13 -!- paul2520 has joined.
20:01:17 -!- SirCmpwn has joined.
20:01:23 <Jafet> It wasn't legal before?
20:01:32 -!- paul2520 has changed nick to Guest50760.
20:01:36 -!- diginet has joined.
20:02:05 <b_jonas> Vorpal: I for one currently have grub-l and my kernel on a fat16 partition, but I might use ext3 instead next time I do this stuff
20:02:11 <pikhq> Microsoft asserts patents on FAT32 (bullshit, but there it is).
20:02:23 <pikhq> There is a patent grant for implementing FAT32 for purposes of EFI though.
20:02:33 <b_jonas> pikhq: what? I do need a FAT32 driver for accessing memory cards of my mobile phone and digital cameras
20:02:39 <b_jonas> that's why I have them in my kernel
20:03:39 <pikhq> But you don't have a patent license for it.
20:03:48 <Vorpal> b_jonas, My setup is a 512 MB EFI system parition (FAT32), then a 512 MB MDRAID ext4 /boot. Then the rest of the disk is an MDRAID LVM2, with a 32G / (I no longer use separate /usr)
20:03:48 <b_jonas> besides, that driver is not that big anyway, though it has some ugly parts about translating filenames which could be too large
20:03:53 <pikhq> But you don't have a patent license for it.
20:03:58 <Vorpal> And of course separate /var /tmp, /home
20:04:21 <b_jonas> pikhq: don't the manufacturers of those digital cameras and mobile phones have a license for it that I can use if I have the digital camera?
20:04:35 <pikhq> The license only applies to the digital camera.
20:04:37 <Vorpal> pikhq, surely you mean exfat?
20:04:42 <pikhq> The digital camera has the license, you do not.
20:04:43 <Vorpal> pikhq, that has patents I know of
20:04:55 <pikhq> Vorpal: No, they also assert patents on FAT32, in particular long file names.
20:04:58 <b_jonas> Vorpal: I see
20:05:08 <pikhq> And yes it's bullshit.
20:05:09 <Vorpal> pikhq, I'm fairly certain everyone still ships Linux with vfat
20:05:13 <pikhq> Yes.
20:05:15 <Vorpal> And don't care about what MS think
20:05:22 <pikhq> Unless you're an Android vendor.
20:05:29 <pikhq> MS does shakedowns on them.
20:05:50 <Vorpal> pikhq, well I'm pretty sure my phone shipped with buggy exfat support even
20:06:06 <Vorpal> It was unusable, so I switched to fat32
20:06:10 <b_jonas> pikhq: I don't need the long filenames for the digital camera, nor their sucky way of filling up all bytes of the 32 byte long directory entry in such a way that it's really hard to add a compatible extension such as for mtimes past year 2127
20:06:17 <b_jonas> or whatever was the year limit
20:06:21 <b_jonas> not 2127 I think
20:06:21 <b_jonas> um
20:06:37 -!- thekey has quit (Ping timeout: 272 seconds).
20:06:46 <b_jonas> 2107
20:07:16 <Vorpal> Anyway, I look forward to btrfs becoming stable
20:07:41 -!- Guest50760 has changed nick to paul2520.
20:07:53 -!- paul2520 has quit (Changing host).
20:07:53 -!- paul2520 has joined.
20:08:09 <elliott_> Vorpal: it is considered mostly stable now, I believe.
20:08:44 <b_jonas> there'll be major suckage in 2107, when all the cash registers and digital cameras will be unable to write proper mtimes and there's no easy way to extend fat to allow that
20:09:10 <b_jonas> and people will hastily try to find solutions for that a few years before, and will come up with various mutually incompatible solutions
20:09:18 <Jafet> btrfs-tools is still fairly useless at this time
20:09:21 <b_jonas> I wish they'd think forward more
20:09:42 <elliott_> Jafet: well, I mean the disk format is stable
20:09:51 <b_jonas> and you say UEFI requires this too?
20:09:53 <elliott_> I think the tools are fine for everyday use.
20:10:04 <elliott_> b_jonas: UEFI uses a FAT-32 system partition just to store bootloaders essentially
20:10:10 <elliott_> (plus diagnostic tools and the like)
20:10:21 <elliott_> doesn't need mtimes
20:10:32 <b_jonas> elliott_: well sure, but mtimes would be still nice to have
20:10:43 <elliott_> time for FAT-64
20:10:51 <pikhq> Also, it's not that using FAT32 is required per se, it's that FAT32 is the only filesystem that a UEFI firmware is *required* to support.
20:10:53 <b_jonas> I'm not saying computers will suddenly be unbootable at that point or anything
20:10:59 <Vorpal> elliott_, There is exfat I suppose
20:11:10 <pikhq> It's perfectly valid for a UEFI firmware to support any number of other filesystems.
20:11:12 <elliott_> pikhq: right. apple's efi can read HFS+
20:11:15 <pikhq> Yep.
20:11:28 <elliott_> though it's a bad example, since I hear it's a jumbled incompliant specialised mix of EFI 1 and UEFI
20:11:42 <b_jonas> pikhq: sure, but that means if you want your operating system software to work on all UEFI computers, it has to use FAT for the boot partition
20:11:42 <pikhq> Because that's Apple for ya.
20:11:49 <pikhq> b_jonas: Yes.
20:12:00 -!- brandons1 has quit (Ping timeout: 260 seconds).
20:12:00 <Jafet> There is no reason to care about 2107 AD, because we'll be dead by then
20:12:05 <elliott_> pikhq: to be fair they deployed x86 EFI before anyone else
20:12:13 <elliott_> at a very wide scale
20:12:30 <pikhq> And strictly speaking nobody else has deployed *x86* EFI in a non-trivial scale. :)
20:12:33 <elliott_> (ok, maybe not anyone else, but close enough)
20:12:41 <Jafet> And, hope upon hopes, fat32 will be dead long before then
20:12:41 <b_jonas> Jafet: but our childrens will be alive (not that I have children, but in general)
20:12:42 <pikhq> (it's pretty much all x86_64 EFI otherwise)
20:12:55 <b_jonas> Jafet: we should hope that, yes
20:13:05 <elliott_> pikhq: I tihnk apple was shipping 64-bit from the start too?
20:13:07 <elliott_> *think
20:13:09 <elliott_> along with some 32-bit
20:13:18 <b_jonas> Jafet: but if they use it not only in new cameras and cash regsiters, but also in new UEFI standards, then it will be hard to kill it
20:13:21 <elliott_> maybe not
20:13:21 <pikhq> elliott_: Yes, but their EFI implementation is 32-bit unconditionally.
20:13:37 <elliott_> pikhq: I don't believe you http://www.everymac.com/mac-answers/snow-leopard-mac-os-x-faq/mac-os-x-snow-leopard-64-bit-macs-64-bit-efi-boot-in-64-bit-mode.html
20:13:43 -!- AndoDaan has joined.
20:13:49 <pikhq> Ah, guess they changed it at some point.
20:13:52 <Vorpal> b_jonas, Actually the OS can still use something else, as long as the boot loader can be stored on FAT32
20:13:59 <elliott_> I remember a lot of fuss many years back about 32 vs 64-bit firmware and kernel
20:14:02 <pikhq> Snow Leopard apparently.
20:14:03 <b_jonas> Vorpal: yes, of course
20:14:08 <b_jonas> I won't store my OS on FAT32
20:14:16 <elliott_> pretty sure it's all 64 bit all the time now and all models with any amount of 32 bit in them are unsupported
20:14:20 <b_jonas> oh, you mean the kernel?
20:14:22 <b_jonas> yes, yes
20:14:25 <b_jonas> still
20:14:46 <elliott_> Vorpal: to be fair, the kernel/initrd will probably be stored in FAT-32 a lot
20:14:52 <pikhq> Strictly speaking the kernel doesn't have to be accessible from EFI, just some binary that eventually loads the kernel.
20:15:13 <Vorpal> elliott_, well I went for grub.efi on FAT32 and the kernel/initramfs on ext4
20:15:13 <elliott_> since you don't need all the GRUB or the like machinery with UEFI, especially now that the kernel supports native UEFI booting
20:15:15 <pikhq> (though one of the easier ways to boot Linux on EFI is just to throw EFI at the kernel)
20:15:27 <elliott_> and can get away with a simple boot menu like gummiboot, which doesn't have any linux-specific knowledge
20:15:27 <Vorpal> elliott_, since that is what the debian docs suggested
20:15:43 <Vorpal> So I mount the EFI parititon on /boot/efi
20:15:43 <b_jonas> pikhq: sure, you can have any number of boot loaders between them, counting a small linux with a fs driver and kexec as a potential bootloader
20:15:48 <pikhq> Yeah, Debian's got infrastructure for automanaging GRUB.
20:15:59 <elliott_> Vorpal: yes, I just would hope that lighter-weight stuff becomes more common over time, since making /boot the efi system partition is simpler and has less moving parts
20:16:01 <Vorpal> pikhq, indeed
20:16:19 <b_jonas> pikhq: I know. I just don't trust that. I want to manage my grub myself, and I do.
20:16:28 <Vorpal> elliott_, well sure, but then I need to deal with the fact that my /boot doesn't behave as a proper POSIX file system with symlinks and what not
20:16:30 <elliott_> Vorpal: and since I think expecting bootloaders to be able to, like, read btrfs is a dead end
20:16:33 <Vorpal> And permissions
20:16:43 <Vorpal> Hm
20:16:44 <elliott_> (sure some of them can do it but do they support compression etc.? syslinux doesn't support lzo compression on btrfs, for instance)
20:16:57 <Vorpal> Right
20:17:03 <elliott_> (it seems ridiculous to support these complex filesystems in the bootloader when there is a deliberately simple filesystem set aside for booting purposes already)
20:17:13 <b_jonas> Vorpal: so you put your boot loader on a FAT but your kernel on an ext or reiser fs?
20:17:24 <Vorpal> b_jonas, reiser? hell no
20:17:31 <elliott_> Vorpal: you use symlinks for your initrd? :p
20:17:37 <elliott_> POSIX ACLs on your kernel to set who can boot it!
20:17:52 <Vorpal> elliott_, no, but debian scripts does weird shit with the grub config
20:18:03 <b_jonas> elliott_: I agree, even if the boot loader only neads read support, and it might do some of the reading inefficiently, eg. traverse all directory entries instead of hashing the filename and descending the b-tree the right way
20:18:05 <elliott_> I suppose something like deduplication could be useful in /boot.
20:18:12 <elliott_> for multiple kernel versions or such
20:18:16 <elliott_> if it was smart enough.
20:18:27 <Vorpal> elliott_, anyway I *do* use mdraid for /boot
20:18:48 <b_jonas> Vorpal: even at boot time?
20:18:49 <Vorpal> elliott_, and that metadata block is first on the parition, messing up for something like UEFI reading it
20:18:53 <Vorpal> b_jonas, what
20:18:53 <elliott_> b_jonas: right. I just don't think we should have our bootloaders be weird mini-OSes nowadays because UEFI is already a weird mini-OS
20:19:05 <Vorpal> That is a good point yes
20:19:08 <b_jonas> Vorpal: as in, does the boot loader know about the raid too, or does it just read the kernel one of the mirrored copies
20:19:12 <elliott_> and because bootloaders don't really have to be linux-specific at all these days
20:19:16 <b_jonas> elliott_: exactly
20:19:24 <elliott_> something like gummiboot just runs UEFI executables, because the kernel has been one itself for a while now, it's its own bootloader
20:20:01 <b_jonas> elliott_: the kernel had been its own bootloader for a while at least if you put it on a floppy, but they dropped that part
20:20:06 <elliott_> I think it is nicer than the old BIOS setup overall, even though it has a ton of cruft.
20:20:12 <elliott_> b_jonas: heh, yeah, I remember something like that
20:20:25 -!- ^v has quit (Quit: Leaving).
20:20:26 <Vorpal> b_jonas, It knows I think
20:20:57 <b_jonas> I never used that own feature, I used only lilo and loadlin and grub-l and syslinux to boot anything
20:21:03 <Vorpal> b_jonas, yep it knows, insmod raid http://sprunge.us/bJOC
20:21:18 <pikhq> b_jonas: It was fairly limited.
20:21:23 <elliott_> another thing is that with secure boot you don't really want to trust a bootloader that will execute arbitrary other unsigned boot code
20:21:37 <elliott_> (when using it to authenticate your boot)
20:21:38 <pikhq> IIRC it only even worked if you dd'd it straight to floppy and compiled in command line arguments.
20:21:53 <elliott_> and nobody wants to implement code signing stuff in a bootloader when again UEFI already handles that
20:21:54 <b_jonas> pikhq: worse than taht actually
20:22:09 <Vorpal> elliott_, the problem with gummiboot (which is a simple menu, much simpler than grub afaik) I read is that it doesn't work properly on all UEFI implementations
20:22:13 <b_jonas> pikhq: no command line argument, but a few bytes giving specific settings that you would normally set command line options
20:22:18 <elliott_> (you still have to make linux do code signing for modules and some other stuff, but that's a less avoidable task)
20:22:27 <b_jonas> pikhq: eg. a byte to set the root fs device
20:22:28 <b_jonas> etc
20:22:39 <elliott_> Vorpal: right... there's no real solution to that other than waiting for bad ones to get better
20:22:47 <elliott_> but I think they're a lot better than they were a few years ago these days
20:22:49 <Vorpal> elliott_, on my specific board it is supposed to blackscreen apparently. So I didn't even try it
20:23:05 <Vorpal> And I have an early UEFI
20:23:07 <elliott_> it is a little sad how UEFI exposes so many convenience APIs but they're unreliable
20:23:15 <Vorpal> Not much is going to happen with it
20:23:25 <elliott_> bring back open firmware?
20:23:52 <Vorpal> elliott_, that was what the old PPC macs had right?
20:23:55 <elliott_> by which I mean Open Firmware
20:24:03 <elliott_> Vorpal: many things actually
20:24:04 <Vorpal> Some sort of FORTH environment iirc
20:24:07 <elliott_> it's common on lots of non-x86 stuff
20:24:13 <elliott_> originally by Sun but it's an open standard, hence the name
20:24:17 <Vorpal> elliott_, arm uses uboot iirc?=
20:24:20 <Vorpal> s/=//
20:24:28 <pikhq> ARM uses whatever the hell people feel like.
20:24:30 <elliott_> yeah I mean like sparc and power and stuff
20:24:33 <elliott_> arm is a mess
20:24:35 <Vorpal> Right
20:24:41 <b_jonas> I don't see why I'd want raid/llvm in my boot loader even if I used it in the operating system
20:24:42 <elliott_> red hat are pushing for standardising on UEFI for arm
20:24:46 <Vorpal> I looked into how rpi boots
20:24:51 <Vorpal> It is interesting to say the least
20:24:58 <b_jonas> as in, just put the boot file system on an ordinary partition accessible without llvm or raid
20:24:59 <Vorpal> The GPU loads the kernel apparently
20:25:02 <elliott_> which is probably better than the unstandardised mess it uses now.
20:25:03 <b_jonas> s/llvm/lvm
20:25:06 <Vorpal> Yes that was not a typo
20:25:06 <b_jonas> /g
20:25:08 <elliott_> b_jonas: I was about to say
20:25:16 <elliott_> store your kernel as llvm bitcode
20:25:21 <Vorpal> elliott_, neat!
20:25:26 <pikhq> The "GPU" is a full CPU with some fancy firmware.
20:25:34 <pikhq> That happens to be well-suited for graphics.
20:25:44 <pikhq> The ARM on it is a low-powered coprocessor.
20:25:50 <elliott_> Vorpal: sadly bitcode isn't really portable
20:25:52 <Vorpal> b_jonas, the thing is, should one drive fail, my /boot can be mirrored back to the replacement drive
20:25:55 <Vorpal> No hassles
20:26:01 <Vorpal> that is the point of RAID after all
20:26:05 <Vorpal> elliott_, true
20:26:07 <elliott_> Vorpal: UEFI does support multi-architecture stuff with a single ESP though
20:26:18 <Vorpal> elliott_, what is ESP now again
20:26:18 <pikhq> elliott_: Also irritating is that they're trying to get ACPI on ARM.
20:26:21 <elliott_> efi system partition
20:26:24 <b_jonas> Vorpal: /boot can be mirrored anyway, only the boot loader will access only one copy
20:26:31 <elliott_> so if you had a portable bitcode sorta kernel and a few UEFI executables to compile and run it on the fly...
20:26:46 <pikhq> ACPI is by design fairly x86-specific, and there's already a well-known solution to everything it does on ARM.
20:26:47 <elliott_> pikhq: right, and ARM people don't like that because they have their device tree thing?
20:26:47 <b_jonas> Vorpal: and I can switch over to a second copy if the first hard drive fial
20:26:54 <Vorpal> pikhq, yes, I wonder why we can't use the GPU for CPU duty on the RPi...
20:26:58 <Vorpal> pikhq, that would be neat
20:27:07 <elliott_> pikhq: all my info here is just from michael garrett :p
20:27:07 <pikhq> elliott_: Yeah. Device trees are a fully-general and well engineered solution.
20:27:08 <Vorpal> Probably not well supported or open though
20:27:10 <elliott_> er.
20:27:12 <elliott_> matthew garrett
20:27:18 <elliott_> pikhq: doesn't linus hate them or something
20:27:21 <elliott_> I remember him whining
20:27:29 <pikhq> Vorpal: Only just that the GPU is poorly documented.
20:27:34 <pikhq> elliott_: Yes, but he hates ACPI more.
20:27:48 <Vorpal> pikhq, right
20:28:05 <b_jonas> mind you, right now I don't have any sort of mirroring or llvm or raid system, so I don't do this
20:28:07 <elliott_> pikhq: typical
20:28:14 <Vorpal> pikhq, what sort of GPU is it anyway...
20:28:21 <b_jonas> if my primary hard drive failed, I'd boot from a CD and restore from backups
20:28:25 <pikhq> Some sort of Broadcom chip.
20:28:25 <Vorpal> Not the standard ARM reference one I suppose
20:28:29 <elliott_> pikhq: ACPI does legitimately seem like the sort of huge mess that is more fuss than it is worth but it seems like we're stuck with it
20:28:31 <b_jonas> I have some boot CDs ready
20:28:44 <b_jonas> elliott_: yeah
20:28:46 <Vorpal> elliott_, that describes a lot of the modern tech world
20:28:53 <b_jonas> heh
20:28:54 <b_jonas> yeah
20:28:55 <b_jonas> so true
20:29:04 <elliott_> Vorpal: well, UEFI is a huge mess but I think it's probably still a net positive, for instance :P
20:29:12 <Vorpal> Right
20:29:20 <Vorpal> Yeah BIOS wasn't a clean design indeed
20:29:32 <Vorpal> interrupts and crap
20:29:32 <pikhq> "Design".
20:29:46 <Vorpal> Touche
20:29:53 <elliott_> I've become really disheartened wondering what the correct way is to, like, display some pixels on the screen or interact with some other hardware without any "legacy" stuff in 2014 and the answer goes like "well, first you have to write an ACPI bytecode interpreter"
20:30:05 <nys> acpi
20:30:07 <elliott_> "and put it in your kernel"
20:30:12 <nys> what a Joke
20:30:28 <pikhq> BIOS was somewhat sensible for the IBM PC.
20:30:38 <pikhq> And then nobody let it die.
20:30:40 <Vorpal> elliott_, Well shouldn't you load the proper driver too?
20:30:43 <elliott_> has anyone written ACPI malware btw
20:30:54 <Vorpal> elliott_, Where would it store itself?
20:31:00 <elliott_> Vorpal: what driver? you're writing the driver
20:31:03 -!- password2 has quit (Ping timeout: 246 seconds).
20:31:13 <elliott_> in some kind of firmware memory, presumably
20:31:19 <Vorpal> Ah
20:31:26 <b_jonas> as I see, the problem with the original XT BIOS is that it had a well-designed documented public API, but then everyone used the undocumented parts so every PC clone had to support those too
20:31:27 <elliott_> maybe you can do a buffer overflow by crafting special invalid boot options
20:31:33 <Vorpal> elliott_, exactly. I assume you can't just output a framebuffer in a generic way?
20:31:39 <elliott_> and rootkit every kernel that does ACPI
20:31:49 <Vorpal> elliott_, but have to have separate nvidia and amd drivers
20:31:59 <pikhq> b_jonas: And then BIOS vendors started adding random crap to it to support new things.
20:32:00 <elliott_> Vorpal: well, there's like, VESA
20:32:01 <b_jonas> these undocumented parts include memory addresses, including odd memory addresses for two-byte words (which had no penalty on 8088)
20:32:05 <b_jonas> pikhq: yes, that too
20:32:10 <Vorpal> elliott_, ah, true, forgot about that
20:32:16 <Vorpal> elliott_, doesn't ACPI do byte code or some crap?
20:32:21 <elliott_> yes, I just said that :p
20:32:34 <elliott_> Vorpal: VESA involves bizarre 16-bit stuff in old versions and I don't know if people support the newer versions that don't?
20:32:37 <elliott_> it's a mess
20:32:45 <Vorpal> Hm
20:32:47 <elliott_> but I guess s/display stuff/any other kind of hardware interaction/ since admittedly graphics are especially bad
20:33:06 <elliott_> and I was more referring to just the huge pain it is to *get* to find and talk to the hardware in a non-legacy way
20:33:13 <b_jonas> elliott_: so, like, hard disk and cd reads? keyboard?
20:33:25 <elliott_> b_jonas: sure
20:33:32 <b_jonas> and serial port io
20:33:36 <b_jonas> and network access
20:33:37 <Vorpal> elliott_, so.. lets avoid hardware and just do software? In other words, don't write an OS
20:33:37 <b_jonas> and stuff
20:33:46 <elliott_> if you want to do mouse and keyboard you have to implement USB!!
20:33:47 <elliott_> yaaaaay
20:33:53 <b_jonas> mouse? who needs mouse
20:33:56 <Vorpal> elliott_, but I still have a PS/2 port!
20:34:01 <Vorpal> elliott_, You need to support that too
20:34:15 <Vorpal> Not that I use it
20:34:17 <elliott_> Vorpal: I fully "support" ripping it out
20:34:20 <Vorpal> But I MIGHT!
20:34:25 <b_jonas> right, you need to support serial, AT keyboard, PS2, and USB
20:34:36 <elliott_> you need to support AT keyboard so you can flip the A20 line
20:34:37 <Vorpal> elliott_, the laptop next to me has a parallel port on the back. It is old admittedly
20:34:46 <elliott_> or was that another keyboard standard
20:34:55 <b_jonas> elliott_: heh... no, you don't need that these days I think
20:34:58 <elliott_> see, no A20 line crap, that's a nice thing about UEFI!
20:35:05 <Vorpal> Haha
20:35:07 <b_jonas> elliott_: that was needed before 386
20:35:11 <elliott_> b_jonas: it's still emulated
20:35:15 <elliott_> they added nicer ways to flip it off
20:35:15 <b_jonas> elliott_: and the A20 line is not even the most important part
20:35:22 <Vorpal> elliott_, I'm fairly certain there is still an ISA bus in modern computers
20:35:28 <elliott_> but in real mode bootloader code by default your memory is halved by repeating like that
20:35:41 <Vorpal> elliott_, at least lm-sensors detects nct6776-isa-0290
20:35:44 <elliott_> you can try turning it off via a less silly BIOS call than talking to the fake keyboard controller, but on some machines that just, like, hangs
20:35:50 <b_jonas> the more important part was that 286 couldn't switch from protected mode to real mode, so the real mode memory driver that had to access memory in protected mode asked the motherboard through the keyboard controller to reboot the cpu
20:35:51 <elliott_> seriously
20:36:00 <pikhq> Vorpal: Not an ISA bus, but some special bus that looks identical to software.
20:36:02 <b_jonas> that hack is way worse than the A20 line
20:36:07 <Vorpal> pikhq, ah
20:36:07 <elliott_> http://wiki.osdev.org/A20_Line
20:36:20 <Vorpal> pikhq, I still have an old computer in this room with a real ISA slot!
20:36:28 <elliott_> "here's three ways to do it -- the legacy way and two simpler ways. by the way, you have to try them all"
20:36:35 <b_jonas> hehe
20:36:38 <Vorpal> pikhq, also PC card, and AGP. And of course real PCI
20:37:58 <b_jonas> at some point I used an AT slot keyboard with an AT->PS2 controller that I had to pull off and replug after any power loss (but not after ordinary turning off the machine), because apparently the motherboard wasn't tested for AT keyboards
20:38:21 <b_jonas> not a real AT keyboard, just a Compaq keyboard with AT plug
20:38:34 <Vorpal> elliott_, must be nice to be Apple. Just a few devices to care about and test on
20:38:58 <elliott_> yes
20:39:03 <elliott_> vertical integration is a soothing thing
20:39:07 <b_jonas> Vorpal: don't they like have to support any USB device too?
20:39:20 <b_jonas> including idiotic ones
20:39:23 <Vorpal> b_jonas, well that is still less of a mess than supporting any chipset
20:39:30 <b_jonas> sure
20:40:38 <b_jonas> but yes, Linux does a good job of supporting all kinds of old hardware generally
20:40:45 <b_jonas> from back when hardware came with a documented interface
20:40:52 <Vorpal> elliott_, " Test if A20 is enabled in a loop with a time-out (as the fast A20 method may work slowly) " I love that the "fast" method might work "slowly"
20:41:19 <b_jonas> hehehehe
20:41:23 <Vorpal> b_jonas, yes, i486 or newer these days I believe
20:41:24 <elliott_> Vorpal: seriously, people who whine about UEFI being unnecessary overcomplicated cruft have never seen what it takes to boot an x86 BIOS machine
20:41:32 <Vorpal> elliott_, true
20:41:46 <b_jonas> Vorpal: it's not really the cpu I'm talking about
20:41:47 <Vorpal> elliott_, And UEFI is still overcomplicated
20:41:48 <elliott_> Vorpal: going from the state you start out in to 64-bit with paging is like one of those movie montages going through 20 years of computing history
20:41:51 <b_jonas> more like the rest of the system
20:41:55 <Vorpal> Right
20:42:08 <elliott_> fix real mode to not have horribly broken memory, set up protected mode with segmentation and everything, only to arrange long mode...
20:42:09 <Vorpal> elliott_, I know
20:42:17 <b_jonas> elliott_: yeah, or development of fetuses
20:42:23 <Vorpal> elliott_, You need to go through segmentation?
20:42:26 <elliott_> b_jonas: heh
20:42:33 <elliott_> Vorpal: erm, right, no
20:42:36 <Vorpal> elliott_, I thought you just had to go to flat paged protected mode
20:42:49 <elliott_> yeah but you have to set up dummy "segments" for that :p
20:42:53 <Vorpal> Oh right
20:43:00 <b_jonas> Vorpal: no, I think you need flat unpaged. the segments are there. the page table isn't.
20:43:00 <elliott_> it's not really segmented, but...
20:43:02 <Vorpal> elliott_, but lm still uses that, for something iirc
20:43:13 <Vorpal> the fs segment is used for offsets for something iirc
20:43:15 <b_jonas> you have to set up a single segment
20:43:22 <elliott_> I wonder if UEFI firmwares go through that dance themselves
20:43:39 <elliott_> they need to be able to go back to "Welcome to 1985!" mode for CSM BIOS booting, at least
20:43:51 <elliott_> do they have code to deliberately downgrade everything? :)
20:43:52 <b_jonas> elliott_: some of it most likely, at least the part until protected mode, either 16 or 23 bit
20:44:01 <b_jonas> they might not need to go to long mode
20:44:07 <Vorpal> elliott_, To some extent I guess, probably don't need to try all ways to enable A20, they probably know which one will work
20:44:07 <elliott_> b_jonas: 64-bit UEFI is long mode
20:44:16 <elliott_> and that's the only version anyone bothers deploying (mostly)
20:44:18 <b_jonas> they can't stay in real mode because then they can't access enough memory
20:44:23 <b_jonas> elliott_: ok
20:44:31 <Vorpal> elliott_, they need to be able to downgrade yes I guess
20:44:42 <elliott_> yeah, I guess the CPU is always going to start in hell mode rather than initialising straight in long mode or whatever
20:44:51 <pikhq> Yep.
20:44:56 <b_jonas> but then how does that access 32-bit ACPI?
20:45:05 <pikhq> That's just the initial eecution mode.
20:45:09 <elliott_> you're asking me? :p
20:45:14 <b_jonas> elliott_: yes
20:45:16 <elliott_> thankfully, I am not a firmware developer
20:45:24 <elliott_> that's even worse than being an OS developer
20:45:38 <elliott_> you have to write code that works without any /RAM/ for a while
20:45:39 <Vorpal> That is interesting, how do BIOS access enough memory to store all the ACPI shit
20:45:47 <b_jonas> elliott_: I don't think the CPU starting in real mode is the big problem. it's more how you have to use that mode for accessing the BIOS and VESA and ACPI and maintainer mode and whatever all that stuff is
20:45:59 <Vorpal> elliott_, they presumably use the cache for data storage?
20:46:02 <elliott_> Vorpal: yes
20:46:05 <pikhq> BTW, elliott, you can skip from real mode straight to long mode.
20:46:16 <elliott_> Vorpal: to initialise everything so they can talk to the RAM
20:46:19 <elliott_> kind of amazing
20:46:28 <pikhq> The only real difference between protected and long mode is a flag on the code and data segment.
20:46:30 <Vorpal> b_jonas, maintainer mode, which one is that now again
20:46:35 <elliott_> pikhq: that's when you sort of half set up protected mode and then cheat a little, right?
20:46:45 <elliott_> is that actually allowed by the "spec"?
20:46:49 <b_jonas> elliott_: do you need cache for that? I thought the memory-mapped ROM and registers were enough.
20:46:57 <Vorpal> elliott_, pretty sure the answer is no
20:47:10 <pikhq> elliott_: Yes. Long mode is literally just an extra flag on the segment.
20:47:16 <b_jonas> Vorpal: maybe it's called something else. some CPU mode like real mode that is used to access ACPI from long mode or some shit like that.
20:47:21 <fizzie> pikhq: The Intel manual specifies no state transition directly from Real-Address mode to IA-32e Mode.
20:47:21 <elliott_> b_jonas: coreboot uses cache at that stage, at least, I think
20:47:23 <Vorpal> b_jonas, ah
20:47:50 <elliott_> b_jonas: I guess motherboards and memory and everything are all fancy now and it's more complicated to set up? I know literally nothing about the process.
20:47:58 <b_jonas> elliott_: maybe. I dunno.
20:48:00 <pikhq> fizzie: Who said anything about IA-32e?
20:48:04 <elliott_> b_jonas: alternatively, it's just convenient to have more RAM than registers give you
20:48:13 <elliott_> so why not
20:48:16 <b_jonas> elliott_: sure
20:48:27 <b_jonas> I guess you can do that in modern cpus
20:48:28 <elliott_> (what does using the L1 cache for storage even /look/ like in code? I should read coreboot)
20:48:32 <fizzie> pikhq: That's what "Long Mode" is.
20:48:44 <pikhq> fizzie: Why the hell did Intel invent a new name for it?
20:48:46 <Vorpal> elliott_, my "BIOS", is pretty fancy, if you brick it you can make it load a backup from an USB drive in a special port on the back while holding a button on the mobo
20:48:51 <b_jonas> obviously that method didn't yet exist for old cpus
20:48:52 <pikhq> Also I would not care about Intel's docs.
20:48:55 <pikhq> It's not their design.
20:49:05 <Vorpal> elliott_, so yes I guess it is a lot more complicated
20:49:12 <fizzie> pikhq: Not just one new name, they also called it EM64T for a while.
20:49:21 <fizzie> And now they call it "Intel 64".
20:49:24 <elliott_> pikhq: I just wouldn't want to rely on it when it's not much more work to go into protected mode.
20:49:30 <pikhq> elliott_: *shrug*
20:49:35 <b_jonas> I call it amd64
20:49:39 <fizzie> (The mode is still called IA-32e.)
20:49:41 <Vorpal> elliott_, also there is another button that checks for valid memory configurations while the system is not booted, and signals if it is ok or not using some leds
20:50:18 * elliott_ tries to find early-stage coreboot code
20:50:32 <b_jonas> man, computers are complicated these days
20:51:24 <elliott_> they have been for a long time :/
20:51:44 <elliott_> isn't there a C compiler that uses cache as storage or something
20:51:49 <elliott_> I remember hearing coreboot used that or something
20:51:52 <elliott_> it sounded incredible
20:52:43 <b_jonas> elliott_: there's a C compiler at boot time made from TCC, but I don't think it uses cache as storage, only ordinary RAM
20:53:15 <fizzie> Relevant (if entirely outdated) article: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.45 "High-Performance IP Routing Table Lookup Using CPU Caching"
20:53:16 <b_jonas> (well, you know, it sure uses cache but the cpu handles that transparently)
20:53:20 <fizzie> I remember it was v. fancy.
20:53:24 <elliott_> b_jonas: right, I mean an ahead-of-time thing
20:53:31 <elliott_> b_jonas: it compiles C code to machine code that doesn't use RAM but cache
20:53:43 <elliott_> because... writing early-stage boot stuff in assembly is just too much of a pain, I guess?
20:55:28 <elliott_> http://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/init/bootblock_normal.c;h=218d456ad326050aeb5ff171ab1cbb35b75934d5;hb=HEAD if (boot_cpu()) is a great bit of code (I guess this boots other CPUs in SMP or something)
20:56:16 <elliott_> http://www.coreboot.org/Developer_Manual#coreboot_Overview ah
20:56:38 <elliott_> romcc was what I was thinking of
20:56:39 <b_jonas> elliott_: what? doesn't only the real OS have to boot other CPUs?
20:56:55 <fizzie> To call back on the earlier topic, whether or not "x86-64" is Intel's design is pretty irrelevant to what are the legal ways of switching modes on an Intel processor (of which there are quite a few), and the Intel manual is pretty clear on that: "On Intel 64 processors, the IA32_EFER_ MSR is cleared on system reset. The operating system must be in protected mode with paging enabled before attempting to initialize IA-32e mode."
20:57:13 -!- t1vb has joined.
20:57:13 <elliott_> b_jonas: I don't know, honestly. that code doesn't seem to be part of that boot sequence on that wiki page I linked.
20:58:08 <elliott_> I like how this code works around /bugs in gas/
20:58:19 <elliott_> when you can't even trust your assembler...
20:58:28 <b_jonas> elliott_: as in, actual bugs, or just no support for later extensions in older gas?
20:58:42 -!- zzo38 has joined.
20:59:35 <elliott_> bugs, or at least quirks
20:59:51 <Vorpal> elliott_, where is that workaround?
20:59:55 <elliott_> see http://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/16bit/reset16.inc;h=33712d179911b2a4e64c5a79d98d81bdc3fc22bc;hb=HEAD and http://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/16bit/entry16.inc;h=c82edfd93698e56acde4c1fd45e79ec25d5f2ef0;hb=HEAD
21:00:00 <b_jonas> are those bugs for 16 bit (real or protected) mode only?
21:00:03 <elliott_> two comments about gas/binutils workarounds :)
21:00:07 -!- tlvb has quit (Ping timeout: 255 seconds).
21:00:14 -!- t1vb has changed nick to tlvb.
21:00:43 <elliott_> 79 * The criteria for relocation have been relaxed to their
21:00:43 <elliott_> 80 * utmost, so that we can use the same code for both
21:00:43 <elliott_> 81 * our initial entry point and startup of the second cpu.
21:00:48 <elliott_> so, coreboot /can/ initialise other CPUs
21:00:54 -!- aretecode has joined.
21:00:55 <elliott_> I guess because it is more flexible than just doing BIOS
21:02:29 <b_jonas> elliott_: I don't think those are assembler bugs. one of them is a linker bug for 16-bit cpu mode, the other is just missing features supporting convenient syntax for segmented modes
21:02:54 <b_jonas> so the first one is a binutils bug, but only for 16 bit modes probably.
21:02:56 <elliott_> fair enough
21:02:57 <b_jonas> um
21:03:27 <b_jonas> unless perhaps it affects instructions with 16 bit long address override (accessing the first 64k) in 32 bit mode
21:03:43 -!- AndoDaan has quit.
21:03:45 <elliott_> why is this making me want to play with firmware code :/
21:03:46 <b_jonas> those are rarely used, because you rarely know taht somethign is in the first 64k address space
21:03:57 <elliott_> I wonder what the boot process looks like for other architectures
21:04:00 <elliott_> I bet it's so much less baroque
21:04:06 <b_jonas> hehehehe
21:04:22 <b_jonas> elliott_: you only don't know enough about those architectures :-)
21:04:25 <b_jonas> I think
21:04:33 <elliott_> yeah, that's why they're a nice fantasy :p
21:04:34 <Sgeo> I really like the 'lu li la' melody. Although I think it's inaccurate to call it a melody, each song which has it seems to be a bit different when it uses them
21:04:53 <elliott_> still, I figure x86 has gotten more than its fair share of cruft just due to its popularity and longetivity
21:05:04 <b_jonas> I mean, the problem with ARM is that until recently ARM machines didn't have good ways to discover the hardware configuration, because they were lots of different architectures, unlike x86 which is almost all PC
21:05:13 <elliott_> I'd be interested in learning how POWER or SPARC machines or whatever boot
21:05:23 <elliott_> right... ARM suffers from popularity too
21:05:38 <b_jonas> in this, x86 is actually better because it has a bios, even if that bios sucks
21:05:55 <b_jonas> (obviously there are some non-PC x86 machines, but very few.)
21:06:00 -!- aretecode has quit (Max SendQ exceeded).
21:06:23 -!- Phantom_Hoover has joined.
21:07:00 <b_jonas> it's lucky there are no pre-486 machines anymore
21:07:06 <elliott_> fm towns! pc-98! okay, maybe you count those as PC, but they're not all that compatible
21:07:27 <Bike> i did not know pc-98 was 86
21:07:46 <Bike> this is totally going to alter my la mulana experience or whatever
21:08:01 <b_jonas> well, maybe I live in a sort of closed world were I don't want to consider the possibility of non-PC non-x86_64 machines
21:08:01 <elliott_> it got a windows port
21:08:08 <b_jonas> because I'm really a software guy, not a hardware guy
21:08:20 <b_jonas> I just refuse to work with such machines
21:08:28 <Bike> oh, la mulana was about msx, not pc-98
21:08:36 <Bike> derf
21:08:47 <elliott_> FM Towns Marty totally preempted the trend of x86 consoles
21:08:51 <Bike> guess i'll have to resort to h4xing toho then
21:09:20 <Bike> «This refers to Charles Townes, one of the winners of the 1964 Nobel Prize in Physics, following a custom of Fujitsu at the time to code name PC products after Nobel Prize winners» what...
21:09:21 <elliott_> (I wonder what /their/ firmware is like)
21:10:03 <Vorpal> <elliott_> yeah, that's why they're a nice fantasy :p <-- ARM is messy, and not standardalized at all
21:10:11 <Vorpal> Much worse than PC in that aspect
21:10:18 <fizzie> Incidentally, the AMD64 Architecture Programmer's Manual is pretty clear too: "Protected mode must be entered before activating long mode. A minimal protected-mode environment must be established to allow long-mode initialization to take place."
21:10:26 <elliott_> why can't we just use UEFI on Z80 or something
21:10:31 <elliott_> how hard can it be
21:10:32 <fizzie> (It does seem to allow you to dispense with setting up legacy paging, which you might count as "going directly from real mode to long mode", but you do need to set CR.PE0 to 1 -- enable protected mode -- and set EFER.LMA to 1 -- enable long mode -- as two discrete steps. Admitteldy long mode will only "activate" when CR0.PG is set to enable paging.)
21:11:10 <elliott_> I know about unreal mode, but can you do some kind of unprotected mode?
21:11:11 <Vorpal> elliott_, I think sparc is openfirmware
21:11:16 <elliott_> don't ask me how it'd work
21:11:17 <Vorpal> elliott_, same for power mostly
21:11:32 <Vorpal> elliott_, not sure what happens with stuff like Cell in PS4 though
21:11:39 <elliott_> PS4 is x86-64
21:11:39 <Vorpal> err
21:11:41 <Vorpal> PS3
21:11:43 <Vorpal> is what I meant
21:12:04 <elliott_> https://en.wikipedia.org/wiki/System_Management_Mode oh, the NSA have actually done rootkits with this
21:12:51 <elliott_> I like their codenames
21:12:55 <Vorpal> elliott_, SMM is a mess when doing real time systems I know that
21:13:04 <Bike> i see the nsa still uses the cia cryptonym school of naming
21:13:17 <Vorpal> elliott_, which is one reason we don't use off-the-shelf hardware at work
21:13:18 <elliott_> SOUFFLETROUGH! SCHOOLMONTANA! DEITYBOUNCE! IRONCHEF! wait, /iron chef/?
21:13:45 <elliott_> how do they work on those without cracking up
21:13:52 <elliott_> "ah yes, I was just treaking the... souffle trough"
21:13:56 <elliott_> *tweaking
21:14:06 <b_jonas> fizzie: you never really needed paging, as in 32 bit protected mode always worked without paging too, only that didn't get much use, except as an intermediate step when booting into paged 32 bit mode
21:14:43 <elliott_> can you use SMM for like, running a hypervisor
21:14:48 <elliott_> or something
21:14:49 <b_jonas> can you skip 16 bit protected mode to set up 32 bit protected mode though?
21:15:04 <Bike> hm, the dep of state was codenamed ODACID
21:15:10 <b_jonas> elliott_: no, there's a separate mode for that
21:15:16 <b_jonas> also supported by the cpu
21:15:21 <elliott_> b_jonas: yeah but that's less fun
21:15:24 <Bike> "ODENVY: Federal Bureau of Investigation" you stupid assholes
21:15:34 <b_jonas> elliott_: I think this supervisor mode is for ACPI stuff
21:15:37 <elliott_> yeah
21:15:41 <elliott_> and rootkits
21:15:41 <elliott_> :p
21:15:50 <fizzie> elliott_: You could argue that the 32-bit compatibility submode of long mode is an "unprotected mode", based on how unreal mode lets "real mode" code access beyond the segment limits, and the compatibility submode lets 32-bit code run. Though that breaks down if you look too closely at the details.
21:16:17 <elliott_> fizzie: kind of dull, though
21:16:37 <elliott_> oh, SMM uses unreal mode, great
21:16:55 <Bike> in the desert of the real mode
21:17:07 <elliott_> look I'm just going to do everything in vm86 mode from now on and cry
21:17:12 -!- shikhout has joined.
21:17:32 <elliott_> ooh, are there any hacks you can do to get at vm86 mode from long mode
21:17:33 <Vorpal> elliott_, you can't do vm86 if you are in long mode I think
21:17:41 <elliott_> like, maybe sort of partially sort of exiting long mode so you can get at it
21:17:47 <Vorpal> elliott_, well you could reset the CPU I guess
21:17:50 <Vorpal> that would work
21:17:53 <elliott_> yeah I mean less dramatically :p
21:17:57 <Vorpal> But the overhead would be terrible
21:18:32 <Vorpal> Is VIA still around btw?
21:18:42 <Vorpal> Or is it just Intel and AMD making x86 CPUs these days
21:18:49 <elliott_> they're still around
21:18:53 <Vorpal> Also Cyrix and Transmeta I guess
21:19:04 <Vorpal> elliott_, they still make x86?
21:19:09 <elliott_> yep
21:19:10 <b_jonas> wait,
21:19:14 <b_jonas> what the heck
21:19:16 <elliott_> cyrix and transmeta are dead
21:19:24 <elliott_> via acquired cyrix in '99
21:19:35 <b_jonas> std::string::size_type can be a signed integral type?
21:19:36 <elliott_> looks like via even does quad cores now
21:19:37 <fizzie> The process of leaving long mode is there in the manuals, at least.
21:19:39 <b_jonas> I thought it woudl be always unsigned
21:19:42 <b_jonas> let me ask ##c++
21:20:00 <Vorpal> elliott_, really huh
21:20:10 <elliott_> yes
21:20:18 <elliott_> they have pretty fancy processors, for being bad, slow x86
21:20:36 -!- shikhin has quit (Ping timeout: 260 seconds).
21:20:39 <elliott_> crypto acceleration, 3d graphics, H.264
21:21:21 <Vorpal> elliott_, speaking of which, how does TPM work? And how does it work when you don't have secureboot?
21:21:28 <Vorpal> Are they even related
21:21:33 <elliott_> I don't think it has anything to do with secure boot
21:21:35 <Vorpal> Hm
21:21:38 <Vorpal> What is it for then
21:21:40 <elliott_> it's just a piece of hardware you can talk to
21:21:53 <elliott_> that will do crypto on some keys it has for you
21:21:55 <Vorpal> I know my thinkpad has it, but it is pre-EFI
21:22:06 <Vorpal> That is all? Okay
21:22:19 -!- aretecode has joined.
21:22:20 <elliott_> https://en.wikipedia.org/wiki/Trusted_Platform_Module
21:22:21 <Vorpal> I guess it would be useful for hard disk encryption maybe
21:22:23 <elliott_> plus some other misc. stuff
21:22:27 <elliott_> yes bitlocker uses it for that
21:22:43 <elliott_> it can do some kind of hardware authentication stuff too it seems
21:23:43 <Vorpal> Hm
21:23:45 * pikhq finds the market for old game consoles to have gotten really confusing
21:23:47 <elliott_> https://en.wikipedia.org/wiki/List_of_x86_manufacturers
21:23:56 <elliott_> looks like intel, amd and via are the only people still running
21:24:04 <Vorpal> pikhq, oh?
21:24:06 <elliott_> someone should write an open source vhdl/verilog implementation of x86-64 or something
21:24:11 <elliott_> that would be fun slash horrible
21:24:40 <pikhq> Vorpal: The NES is only slightly cheaper than the damned AV Famicom.
21:24:44 <elliott_> oh
21:24:49 <elliott_> sorry, that's just general purpose manufacturers
21:24:57 <pikhq> Or the Twin Famicom.
21:25:07 <elliott_> http://zet.aluzina.org/index.php/Zet_processor cooool
21:25:15 <Vorpal> pikhq, aren't they the same but PAL vs whatever the US used?
21:25:16 <elliott_> This project is quite complex and is in a very early stage of development. Only the 16-bit part (ie. the 8086/80186) is supported, see Zet status for more information. It can boot successfully MS-DOS 6.22, FreeDOS 1.1 and run Microsoft Windows 3.0 and other MS-DOS games.
21:25:20 <elliott_> !!
21:25:27 <Bike> wow, somebody actually went through the effort
21:25:28 <pikhq> Vorpal: They're both NTSC!
21:25:33 <Bike> how's that work legally?
21:25:43 <Vorpal> pikhq, then what is the difference
21:25:53 <pikhq> Cartridge slot.
21:25:53 <elliott_> https://en.wikipedia.org/wiki/Vortex86 linux supports this I guess?
21:26:03 <pikhq> The cartridge slot is physically different.
21:26:15 <elliott_> Bike: well, how did amd work legally? you're allowed to create compatible CPUs
21:26:18 <pikhq> *Electronically* they are utterly the same.
21:26:35 <Bike> elliott_: yeah, that's what i'm wondering, i mean i don't know if amd has to license something or what.
21:26:37 <Vorpal> pikhq, Same ports?
21:26:44 <pikhq> elliott_: AMD has a long-standing license.
21:26:44 -!- J_Arcane_ has joined.
21:26:46 <Vorpal> pikhq, then what is the difference?
21:26:53 <elliott_> pikhq: they didn't originally, did they?
21:27:05 <elliott_> I think as long as you are sufficiently clean-room about it there is not much case for it being infringing.
21:27:17 <pikhq> elliott_: They had a license way back in the day too.
21:27:22 -!- fungot has quit (Ping timeout: 245 seconds).
21:27:29 <pikhq> elliott_: At the time of the IBM PC, IBM required second-source providers for all the chips.
21:27:42 <pikhq> So Intel licensed the 8086 design to other manufacturers, most notably AMD.
21:27:43 <Vorpal> elliott_, well intel probably has a license from AMD for x86-64. Probably since they both depend on each other there, they don't pay each other anything
21:27:47 <elliott_> pikhq: mm
21:28:14 <pikhq> Vorpal: https://en.wikipedia.org/wiki/Nintendo_Entertainment_System#mediaviewer/File:NES-Console-Set.jpg vs. https://en.wikipedia.org/wiki/Nintendo_Entertainment_System#mediaviewer/File:Famicom-Console-Set.jpg
21:28:17 <elliott_> it is a little sad that architectures are things subject to licensing and such
21:28:47 -!- J_Arcane has quit (Ping timeout: 258 seconds).
21:28:54 -!- J_Arcane_ has changed nick to J_Arcane.
21:30:34 <pikhq> The freaking Twin Famicom being cheap is just really weird though. It was a very short-lived obscure version of the Famicom that had the Famicom disk system builtin.
21:31:24 <elliott_> I bet the famicom has a nice simple boot process
21:31:28 <pikhq> Yes.
21:31:31 <pikhq> It starts running code.
21:31:44 <b_jonas> Vorpal: yes, intel and amd have licences both ways, while they still treat each other as enemies
21:31:52 <Vorpal> pikhq, well they are different physically
21:31:52 <b_jonas> and try to screw with each other all the time
21:31:55 <Vorpal> pikhq, region locking?
21:32:33 <Vorpal> b_jonas, naturally
21:32:34 <pikhq> Vorpal: The NES has a (easily gotten around) lockout chip, which the Famicom does not have.
21:33:07 <Vorpal> pikhq, what does that chip lock out exactly?
21:33:23 <pikhq> It prevents a cartridge that is not approved by Nintendo from booting on the NES.
21:33:33 <Vorpal> Ah
21:35:05 <pikhq> Ah, just going over to a Japanese marketplace makes it nutsier.
21:35:07 <fizzie> Z80, when reset by the <overline>RESET</overline> signal, disables interrupts, clears the I and R registers, and starts executing code at address 0000. Oh, and switches the interrupt mode to IM 0 (out of the three existing ones).
21:35:22 <pikhq> I could literally have a Famicom imported from Japan for less than an NES would cost.
21:35:45 <Vorpal> pikhq, Or you could run a cycle perfect emulator I assume
21:35:49 <pikhq> Well yes.
21:36:00 <Vorpal> Which would be cheaper
21:36:05 <pikhq> I'm merely noting that this is a stupidly anomalous market.
21:36:17 <Vorpal> Btw, are there drivers for PS4 controllers on PC yet?
21:36:26 <elliott_> Vorpal: you don't need drivers
21:36:28 <elliott_> it just works, has since day 1
21:36:32 <elliott_> via bluetooth or usb
21:36:32 <pikhq> Especially as NES to Famicom adapters are pretty cheap.
21:36:33 <Vorpal> elliott_, even on Windows?
21:36:35 <b_jonas> fizzie: to 0000? seriously?
21:36:35 <elliott_> yes
21:36:43 <elliott_> it works perfectly
21:36:47 <Vorpal> elliott_, nice, a step up from PS3 controllers then
21:36:52 <Vorpal> elliott_, what about for android?
21:36:55 <elliott_> pairing it via bluetooth can be a little tricky since you need to press the buttons in some fussy way but whatever
21:37:01 <elliott_> don't know about android. I think it works via usb on android?
21:37:06 <elliott_> afaik it just presents itself as a very normal usb device
21:37:10 <elliott_> it's nice
21:37:16 <Vorpal> elliott_, yeah my PS3 controllers works with android with a special app
21:37:20 <fizzie> b_jonas: Yes, I think you usually put ROM down at the start of the address space. I mean, that's where all the zero-page RST instruction go to, too.
21:37:23 <Vorpal> (that needs root)
21:37:28 <Vorpal> over bt that is
21:37:36 <Vorpal> elliott_, anyway, what about the touchpad? That works too?
21:37:37 <Bike> well, i've successfully written an assembly language interpreter in an assembly language, feelin pretty g- *looks at conversation*
21:37:41 <elliott_> you can use it with games designed for xbox controllers if you have a program for that, too
21:37:45 <elliott_> I've played spelunky like that
21:37:50 <Vorpal> Very nice
21:37:53 <elliott_> Vorpal: idk
21:37:56 <elliott_> not as a pointing device last I tried
21:38:02 <elliott_> but probably you can write code that works with it
21:38:03 <Vorpal> I don't like the triggers on the PS3 controller that I have
21:38:07 <elliott_> and pressing it down might do something
21:38:08 <Vorpal> Very nice otherwise
21:38:11 <elliott_> but the touchpad is kind of useless and silly.
21:38:20 <b_jonas> fizzie: I'm just surprised because 6502 and the original 86_16 have the boot code near the top of their address space, and that's where itnerrupts in 6502 jumpt too
21:38:24 <b_jonas> and RST in 6502
21:38:50 <b_jonas> which makes sense, because you want the zero page to be a RAM, it's inconvenient to put the bootup ROM there
21:39:02 <b_jonas> you'd have to bank switch it out after bootup, and couldn't write it during
21:39:14 <fizzie> b_jonas: Well, the Z80 doesn't have any cheaper zero-page addressing modes.
21:39:18 <b_jonas> and you don't want to consume zero page space with jump instructiosn anyway
21:39:34 <b_jonas> fizzie: yeah, I guess that's the difference
21:39:43 <b_jonas> that explains why 6502 has the interrupt stuff at top
21:40:02 <fizzie> About the only instructions for which the zero page is special are RST 08h, RST 10h, ..., RST 38h which perform a call to $0008, $0010, ..., $0038 which make sense to be (cheaply callable) ROM routines.
21:40:39 <fizzie> Also the "IM 1" interrupt mode has the interrupt handler at $0066.
21:40:50 <zzo38> I think GameBoy (which is a variant of Z80) has a $FFxx addressing mode for a few instructions.
21:41:14 <Vorpal> The TI83+ has a Z80 right?
21:41:38 <fizzie> Vorpal: Yes.
21:41:49 <b_jonas> zzo38: I see
21:41:53 <Vorpal> fizzie, So I have x86, x86-64, PPC, ARM, MIPS and Z80 in this room then. Not bad.
21:42:05 <Vorpal> no ALPA or SPARC :/
21:42:18 <b_jonas> Vorpal: heh
21:42:20 <Vorpal> Also that switch might have something
21:42:31 <b_jonas> Vorpal: what cpu does your keyboard have?
21:42:31 <Vorpal> My router is MIPS I know, but the switch I have no clue
21:42:44 <Vorpal> b_jonas, I have no idea. It is a MS egronomic one
21:42:48 <Vorpal> ergonomic*
21:43:01 <b_jonas> Vorpal: what room is that? home? work? work server room?
21:43:06 <Vorpal> b_jonas, home
21:43:21 <fizzie> For the record: IM 0 "handles" interrupts by executing an instruction directly from the data bus; the interrupting device is supposed to put it there. IM 1 was just a reset to $0066. And IM 2 reads byte X from the data bus (theoretically from the device), forms a 16-bit address from the I register (high half) and X, and performs an indirect jump to the address given at that location in memory.
21:43:38 <b_jonas> frankly I have no idea what cpu my nokia mobile phone has
21:43:43 <elliott_> Vorpal: also, PS4 controller is very nice handfeel wise, if you haven't used one
21:43:46 <b_jonas> this pc has x86_64 of course
21:43:54 <Vorpal> elliott_, I have not
21:44:07 <fizzie> It's really awkward, because in many real systems (like the TI-8x calculators, and the speccy) you don't really have any control over what's on the data bus, and it doesn't zero the lowest bit (even though the manual says it has to be 0).
21:44:08 <elliott_> PS3 was a little awkward to hold in comparison to e.g. the 360 controller but I prefer the PS4 controller to both
21:44:13 <b_jonas> I have three calculators of which at least one might be 6502 but I don't really know for sure
21:44:27 <elliott_> and they did change the triggers :p
21:44:37 <Vorpal> b_jonas, I have some old computers, including a first generation ibook (PPC and x86). And RPi, a phone and a tablet (ARM). A TI83+ (Z80). A netgear router (MIPS). A modern laptop and a desktop (x86-64)
21:44:48 <fizzie> So you need to fill 257 bytes (with the start position aligned to 256) with e.g. $ab, point I at that area, and put your own interrupt handler in $abab.
21:44:51 <b_jonas> the radio probably has a cpu, but I've no idea what
21:45:13 <elliott_> Vorpal: I think phones/tablets have another CPU hiding on there
21:45:17 <elliott_> maybe another ARM but maybe something else
21:45:23 <elliott_> for the mobile radio stuff
21:45:39 <Vorpal> elliott_, well that is true, for the phone at least. The tablet is wifi only though
21:45:43 <elliott_> also your computers probably have non-x86 CPUs on the motherboard or cards
21:45:53 <b_jonas> I don't have a camera (other than the phone) in the room right now
21:45:57 <Vorpal> elliott_, indeed, I assume my disk controller runs something for example
21:46:00 <b_jonas> hmm, what else can have a cpu?
21:46:03 <Vorpal> elliott_, but I listed the CPUs I knew of
21:46:08 <elliott_> Vorpal: and network card type stuff I think
21:46:13 <b_jonas> yeah, my keyboard most likely has some microprocessor or microcontroller
21:46:15 <Vorpal> elliott_, yep
21:46:21 <Vorpal> b_jonas, my mouse too
21:46:32 <Vorpal> The PS3 controller as well
21:46:34 <b_jonas> probably the mouse too, yes, especially because it's optical
21:46:39 <Vorpal> Indeed
21:46:41 <elliott_> how long until I can get an x86 implanted so that I, too, can have a shitty overcomplicated boot process every time I wake up in the morning
21:46:51 <elliott_> actually I already do
21:46:59 <elliott_> :/
21:47:01 <Vorpal> elliott_, :D
21:47:02 <b_jonas> elliott_: you wouldn't boot up when you wake in the morning
21:47:13 <b_jonas> oh, I know
21:47:24 <elliott_> b_jonas: you think I'd want the kind of heat consumption x86s have while under blankets like that?
21:47:32 <elliott_> gotta shut it down for bed
21:47:38 <elliott_> er, not consumption.
21:47:41 <b_jonas> I think I still have two old unused mobile phones in the room, and maybe a wristwatch too
21:47:43 <Vorpal> elliott_, my laptop battery charging controller probably has a CPU too. Of some sort
21:47:43 <elliott_> heat consumption would be a very nice thing for a processor to have
21:47:47 <Vorpal> or microcontroller at least
21:47:51 <elliott_> use your CPU to cool your GPU
21:48:04 <b_jonas> elliott_: you'd lower the power consumption, but won't need a full cold boot
21:48:06 -!- AndoDaan has joined.
21:48:15 <elliott_> b_jonas: you have clearly not seen me in the mornings
21:48:27 <b_jonas> oh come on, you still need a cpu while sleeping
21:48:30 <b_jonas> in case an emergency comes up
21:48:36 <Vorpal> elliott_, try a warm water bottle
21:48:44 <fizzie> Vorpal: If you have any sort of printer, it probably has a CPU too.
21:48:47 <elliott_> I might as well be running TCCBOOT with how long it takes me to be active
21:48:47 <b_jonas> ok ,maybe you'd have multiple cpus in you and some of them power down so you boot those
21:48:51 <b_jonas> I dunno
21:48:56 <Vorpal> fizzie, oh yes I have a printer with a scanner built in
21:49:02 <Vorpal> fizzie, so it can copy stuff too
21:49:04 <b_jonas> yes, the printers certainly do, but those are not in the same room
21:49:11 <Vorpal> fizzie, and my monitors have menu systems
21:49:19 <b_jonas> Vorpal: true, that too
21:49:24 <b_jonas> the monitor
21:49:25 <fizzie> Vorpal: The CPUs I know around here (if the basement counts) are really quite similar -- x86 (old PC), x86-64 (several), PPC (two old iBooks), ARM (as you; RPi, phone, tablet), MIPS (three consumer networking devices and a SGI Indy), SPARC (SparcStation 5 in the basement), 8502 (C128), Z80 (C128 and TI-86), and I think that's it. The rest don't advertise themselves.
21:49:33 <Vorpal> b_jonas, plural. I have two in front of me
21:49:39 <b_jonas> yeah. I have only one here
21:49:45 <b_jonas> in this room taht is
21:49:50 <elliott_> fizzie: I am jealous of your old hardware
21:49:57 <elliott_> well
21:50:01 <elliott_> more jealous of the mips and sparc than the c128
21:50:16 <fizzie> elliott_: I haven't even booted those old Unixy things in maybe 5 years. *sad*
21:50:17 <b_jonas> if you count other rooms too, there's at least the washing machine
21:50:27 <elliott_> fizzie: I'll pay for shipping
21:50:28 <Vorpal> fizzie, SGI Indy, nice
21:50:30 <b_jonas> probably more
21:50:42 <fizzie> Vorpal: The Indy was retired from university classroom use, got it for free.
21:50:51 <Vorpal> nice
21:51:02 <fizzie> elliott_: I might be migrating to UK from around the start of next year, incidentally.
21:51:07 <Vorpal> Does an USB memory have a CPU?
21:51:09 <b_jonas> a SparcStation... wow
21:51:11 <elliott_> fizzie: whoa, like, permanently?
21:51:14 <Vorpal> I mean, I have a 2 GB USB stick here
21:51:19 <b_jonas> Vorpal: probably like a microcontroller at least
21:51:26 <Vorpal> fizzie, whaat
21:51:41 <elliott_> fizzie: that's a dangerously critical mass... is it time for an #esoteric meetup
21:51:58 <Vorpal> b_jonas, my god, there is digital logic everywhere
21:52:13 <b_jonas> fizzie: migrating to the UK? nice
21:52:21 <b_jonas> can you tell which part of UK?
21:52:32 <fizzie> elliott_: "For the time being", at least. But it's not entirely certain yet, should be clearer in the next week or two.
21:52:46 <Vorpal> fizzie, what prompted this?
21:52:54 <fizzie> b_jonas: If it happens, it would be London.
21:52:55 <b_jonas> a job I guess
21:52:58 <b_jonas> fizzie: ok
21:53:20 <fizzie> A job indeed. I'm getting dangerously close to graduating, had to go find something to do afterwards.
21:53:32 <Vorpal> b_jonas, I assume the desk at work with buttons to raise and lower it has a micro controller, because it moves slower near the bottom and top to prevent a jolt when it hits the stop. And if the power goes you have to reset it by running it to the bottom position and then back to the top, to calibrate it.
21:53:33 <elliott_> fizzie: well, if you happen to sadly end up with no space to store your sgi indy or sparcstation I am graciously willing to relieve you of them
21:53:35 <b_jonas> good luck with that
21:53:35 <Vorpal> Very strange
21:53:35 <fizzie> I might end up in Germany, though; applied to two places, both are still doing the rounds.
21:54:10 <b_jonas> Vorpal: I don't have such a desk, but ok. well, the chair at the dentist is probably like that.
21:54:21 <Vorpal> b_jonas, It is a pretty nice desk
21:55:04 <b_jonas> this one is too, I just have to adjust the height mechanically and only when there's nothing on the desk, but I've adjusted the height only once so far.
21:55:13 <fizzie> b_jonas: Also the SparcStation cost something like <100 EUR, there is (was?) a company specializing in old Sun hardware (and "server-class" PCs) who did these "sell something by auction every now and then" deals.
21:55:15 <elliott_> how many UK #esotericers would that make? like five?
21:55:19 <b_jonas> the height adjustment isn't the nice part
21:55:22 <elliott_> oh, six even
21:55:35 <b_jonas> it's that it's custom made in a shape that I can't buy anywhere
21:55:39 <elliott_> finally finland will fall
21:55:50 <Vorpal> b_jonas, I like switching between sitting and standing for health reasons
21:56:03 <fizzie> I had it actually working as an OpenBSD router box for maybe a year or two, but it was horribly noisy.
21:56:18 -!- Hjulle has quit (Ping timeout: 250 seconds).
21:56:53 <b_jonas> Vorpal: I used to switch between sitting on a chair and on a ball for a while, but didn't adjust the table for that. now I have that simplified to chair at home and ball at office.
21:57:00 <b_jonas> comfy chair.
21:57:05 <fizzie> Someone snailmailed me an extra SBus NIC and all.
21:57:26 <Vorpal> I have a comfortable chair at work and a comfortable chair at home too
21:57:37 <Vorpal> fizzie, sbus?
21:57:54 <fizzie> Vorpal: It's like the SPARCStation version of PCI.
21:58:01 <Vorpal> Ah
21:58:18 <Vorpal> elliott_, any idea how loud water cooling is? Is there a need for fans on the radiator?
21:58:22 <fizzie> Vorpal: Except all the devices have Forth-based drivers built in, so you don't need any special OS support necessarily.
21:58:39 <elliott_> Vorpal: depends on how big your radiator is :P
21:58:43 <elliott_> Vorpal: note that the pump makes noise, too
21:58:43 <Vorpal> fizzie, heh
21:58:49 <Vorpal> fizzie, that is neat
21:58:49 <elliott_> you can certainly make very quiet water cooling setups
21:59:09 <elliott_> I don't think water cooling makes much sense these days though, it's such a fuss compared to just using huge heatsinks and big quiet fans.
21:59:15 <Vorpal> elliott_, one that is quiet, not super-costly and not larger than the computer itself? :P
21:59:30 <elliott_> if you really want a super xxxtreme quiet setup use liquid immersion cooling
21:59:39 <Vorpal> elliott_, that might be a bit too far
21:59:52 <Vorpal> elliott_, I just want a desktop that is as quiet as a idling laptop
21:59:52 <fizzie> Oh, right, I retired the box when I moved to the university campus, because it only had 10M Ethernet, and 100M SBus cards were quite rare/expensive. (Sun switched away from SBus to PCI even for SPARC hardware later.)
22:00:03 <Vorpal> an*
22:00:05 <elliott_> I wonder if you could use a house's heating radiators for watercooling
22:00:14 <elliott_> just turn on your computer to warm up the room
22:00:28 <Vorpal> elliott_, I have electric radiators sadly
22:00:39 <elliott_> Vorpal: then probably just buy aftermarket big, quiet fans and gigantic heatsinks for CPU and GPU?
22:00:45 <elliott_> I don't know.
22:00:48 <elliott_> I've never done watercooling.
22:00:55 <elliott_> it's scary.
22:00:57 <Vorpal> fizzie, the card could only do 100???
22:01:17 <Vorpal> err sorry misread
22:01:31 <Vorpal> I read it as the campus having 10M ethernet
22:02:04 <Vorpal> elliott_, right, my case have premade holes for water cooling though
22:02:07 <fizzie> Right, no, the other way around.
22:02:43 <fizzie> These days they have gigabit Ethernet to the apartments, and I'm pretty sure there are no gigabit SBus cards, I doubt the bus even has enough bandwidth for that.
22:02:53 <Vorpal> heh
22:03:03 <fizzie> Not that the 75 MHz µSparc or whatever it had would probably deal with that either.
22:03:09 <Vorpal> It is neat to have forth firmware though
22:03:11 <elliott_> fizzie: hope you're prepared for underwhelming internet here btw :p
22:03:42 <fizzie> elliott_: I've heard underwhelming things about it, yes.
22:04:05 <Vorpal> elliott_, Surely there are exceptions? My linode in london runs just fine
22:04:15 <Vorpal> I guess datacenters are better though
22:04:16 <elliott_> Vorpal: I did not know swedes live in data centres
22:04:25 <elliott_> truly let me call up level 3 and ask them for a DSL link
22:04:34 <Vorpal> elliott_, how else did you think we got our good internet speeds?
22:04:52 <Vorpal> elliott_, You didn't think we all lived in normal houses right?
22:05:05 <Vorpal> Oh we managed to fool you? Still? After how many years!?
22:05:18 <elliott_> no, Vorpal. swedes have not managed to fool the world into thinking they're normal.
22:05:24 <elliott_> not even slightly.
22:05:25 <fizzie> elliott_: We only have 10M/10M here at home these days (because it's ~free), and that seems perfectly survivable.
22:05:29 <Vorpal> elliott_, damn
22:05:35 <elliott_> fizzie: oh, yikes, my condolences
22:05:54 <elliott_> (well, you'll certainly get better as far as download goes, but probably not upload)
22:06:03 <Vorpal> elliott_, anyway I have ADSL (24/2), meaning actually 12-14/1.5-1.7
22:06:07 <elliott_> (cable and fibre-to-the-cabinet are pretty widely available and quite decent, though)
22:06:13 <b_jonas> I have sane internet at home, and superb internet at the university, but very sucky internet at the office.
22:06:37 <Vorpal> elliott_, I know people who have 100/100 fibre though
22:06:50 <b_jonas> So sucky I'm considering to just buy a cheap mobile internet account and try to route some of the low bandwidth traffic (like irc access) through that.
22:07:06 <fizzie> They'd bump it up to 100M/10M if we paid a bit extra, but haven't really seen the need for that so much. Can't push very much more than that through dirty old phone lines, anyway. (There's fibre to the basement telecoms room of this building, but the last hundred metres or so are still old copper.)
22:07:36 <b_jonas> yeah, 10M is enough usually if it's reliable enough
22:07:53 <elliott_> but my animes :(
22:08:06 <fizzie> (Based on speed tests, it's actually 12M/6M for some reason.)
22:08:14 <Vorpal> b_jonas, not really, Try a family with several people streaming video at the same time
22:08:23 <b_jonas> elliott_: load them in advance, rather than real time streaming, or load time from office or something and take them home on a disk.
22:08:34 <Vorpal> b_jonas, 1080p of course
22:08:37 <Vorpal> Or even 4k
22:08:39 <fizzie> Well, the 6M part is reasonable, since that's around what the VDSL2 box reports as maximum attainable, but I'm slightly unsure why the download link is faster than what we pay for.
22:08:43 <elliott_> offended that you'd assume I'm talking about streaming :p
22:08:46 <fizzie> Maybe it's compensating.
22:09:16 <b_jonas> Vorpal: if you control the router, it doesn't matter for you what other people stream.
22:09:23 <Vorpal> b_jonas, hah
22:09:31 <fizzie> Fun fact: with previous ISP's hardware, the very same VDSL2 modem reported a maximum attainable upload rate somewhere in the 50M-60M range.
22:09:33 -!- mlilenium_ has joined.
22:09:34 <Vorpal> b_jonas, the router is some crap provided by the ISP
22:09:42 -!- mlilenium_ has left.
22:09:45 <b_jonas> Vorpal: connect another router to it
22:09:49 <Vorpal> b_jonas, "Thomson Speetouch" iirc
22:09:50 <b_jonas> to its only output port
22:09:52 <Vorpal> Speedtouch*
22:09:57 <fizzie> I think this new one hasn't enabled the 30a profile or something.
22:09:58 <b_jonas> as in, don't connect anything else directly
22:10:03 <b_jonas> and then you control the second router
22:10:10 <Vorpal> b_jonas, well sure
22:10:11 <fizzie> elliott_: I may have to ask about ISP opinions at some point, though.
22:10:13 <elliott_> I won't be happy until ten petabits of data beam into my literal microwave skull which boots an x86 processor for every packet that comes in, constantly, never stopping, always, forever
22:10:38 <b_jonas> here I don't have an ISP owned router, only an ISP owned modem that has only a single eth output.
22:10:48 <b_jonas> the router is ours.
22:10:52 <Vorpal> b_jonas, the modem has a built in router
22:11:00 <b_jonas> (routers. there's more than one actually.)
22:11:05 <Vorpal> bbl, night
22:11:08 <elliott_> fizzie: I haven't used http://aaisp.net.uk/ but they're very well-regarded (and will do FTTC/FTTP if available). virgin media do 100 mbit cable and aren't that bad for a big isp; all the other "mainstream" options are very questionable.
22:11:11 <b_jonas> yeah, getting too late
22:11:28 <fizzie> I have a formerly ISP-owned router from the previous ISP, because the router provided by the current ISP was randomly flaky.
22:11:32 <b_jonas> elliott_: hmm
22:11:55 <elliott_> http://www.zen.co.uk/ too. them and AAISP both do IPv6 unlike practically everyone else :p
22:12:04 <b_jonas> elliott_: sounds nice
22:12:25 <b_jonas> elliott_: as in, IPv6 without having to pay extra for it, right?
22:12:31 <fizzie> OTOH, the new one actually used the passwords you set via the web-interface for the telnet-interface, unlike the old one, into which you have to log in with user "ztedebug", pass "ztedebug". (If you couldn't guess, it's made by ZTE.)
22:13:03 <b_jonas> well, good night now
22:13:11 <elliott_> b_jonas: UK internet is just a mess though. government pressuring for mandatory in-your-face "wanna enable a bad internet filter??" options, awful speeds if you're far from the exchange...
22:13:12 <elliott_> and yes
22:13:12 <b_jonas> bb in the morning
22:13:40 <b_jonas> I see
22:13:49 <b_jonas> is it worse than Australia?
22:13:56 <elliott_> heh, probably not
22:13:58 <elliott_> that would be an achievement
22:14:10 <b_jonas> :)
22:14:21 <fizzie> I guess I should be sleepy too, have to wake up around 7am for a listening test, some people at the university were all "please come help Science and all of humanity".
22:14:24 <elliott_> would you like kicking so you can get to bed? :p
22:14:42 <fizzie> (And it's past 1am here, what with the zones of time.)
22:15:33 <fizzie> It's something to do with research about tinnitus, and they were all "oh no, not at all, don't worry about it" when I checked whether the experiment will, in fact, cause that.
22:16:12 <fizzie> But you get a free "this is how good your hearing is" score out of it, which is maybe interesting. ->
22:16:35 <fizzie> (Unless it's the number "your ears suck", in case it might be more depressing than interesting.)
22:17:17 <elliott_> my favourite number
22:43:30 -!- tlvb has quit (Ping timeout: 244 seconds).
22:44:24 -!- Hjulle has joined.
22:52:13 -!- tlvb has joined.
22:56:05 -!- erdic has quit (Remote host closed the connection).
22:56:37 -!- erdic has joined.
23:13:50 -!- Hjulle has quit (Ping timeout: 255 seconds).
23:18:09 -!- Hjulle has joined.
23:18:40 -!- ^v has joined.
23:24:44 <HackEgo> [wiki] [[Hello world program in esoteric languages]] M http://esolangs.org/w/index.php?diff=40599&oldid=40596 * AndoDaan * (+37) Added Burlesque's "Hello, World!"
23:31:56 <HackEgo> [wiki] [[Hello world program in esoteric languages]] M http://esolangs.org/w/index.php?diff=40600&oldid=40599 * AndoDaan * (+2406) Added Verbose's "Hello, World!"
23:33:27 <AndoDaan> well, 'minor'...
23:39:54 -!- Hjulle has quit (Ping timeout: 272 seconds).
23:51:28 -!- thekey has joined.
←2014-10-11 2014-10-12 2014-10-13→ ↑2014 ↑all