00:06:57 -!- augur has joined. 00:21:17 > 1+["\n"] 00:21:19 No instance for (GHC.Num.Num [[GHC.Types.Char]]) 00:21:19 arising from a use of ‘GHC.Num.+’ 00:21:22 -!- ^v has joined. 00:21:26 gah 00:21:33 -!- MBH has joined. 00:21:58 HI 00:22:00 Hi 00:22:04 hmph lambdabot cuts off the error message even in privmsg 00:22:11 `relcome MBH 00:22:12 ​MBH: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (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 anyone with a linux ghci who can test what error messages 1+["\n"] gives? 00:26:36 (7.8.3) 00:26:52 :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 ghci? 00:27:08 ic. so this bug is not just windows. 00:27:13 Can confirm 00:27:20 note how there is no \n in the error message. 00:28:44 Odd 00:29:05 the error message for 1+["\n "] is also a bit strange, but in a different way 00:29:39 I can still confirm 00:29:52 also the []s aren't actually needed for this 00:30:33 -!- tlvb has quit (Ping timeout: 246 seconds). 00:30:45 If only BF had a square function like Deadfish... 00:34:23 MBH, down that path brainfuck derivatives lie, and I fear Phantom__Hoover will have to update his blog 00:40:36 hm i suppose the "\n " case is not _technically_ in error 00:40:57 it just uses a string gap 00:44:49 Still odd, though 00:49:42 https://ghc.haskell.org/trac/ghc/ticket/9681#ticket 00:50:31 FiM++ sounds so cool 00:51:49 oerjan, :) 00:54:08 -!- MBH has quit (Quit: Page closed). 00:56:47 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 Help, apparently I translated the first strip of IWC into Latin 01:34:42 I... don't remember doing this 01:37:34 irregularissime 01:39:07 But... looking at the translation 01:39:12 I remember looking up one of the words 01:40:45 Odd 01:40:53 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 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 Sgeo: other than the obvious? 03:26:43 Are vocaloids actually considered a character in and of themselves (like Gumi actually being a character's name) in some settings? 03:27:01 That doesn't seem to happen in this setting, but that's the only meaning I can ascribe to the concept 03:27:42 you haven't seen the vocaloid fandom? 03:28:05 maybe I don't understand the question since I have no idea what the cnotext is though :p 03:29:40 The Evillious Chronicles is my first interaction with the Vocaloid fandom. 03:30:02 The context is the annotation towards the end of https://www.youtube.com/watch?v=Zpl1uMEWM_g 03:35:37 *context 03:36:01 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 I once ended up at a Hatsune Miku live show 03:40:30 elliott_: thank you 03:40:50 She was having troubles with Windows Media Player 03:40:55 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 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 i'll hand it to them, they sure left quickly 04:13:38 They lasted 16 whole seconds 04:14:58 by the time you adopt a name like Left_Hand_6969 you're experienced enough to get the job done quickly 04:17:32 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 I'm watching what I think is the wrong PV. It's subbed... really really badly 08:39:54 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 But some of it is actually clearer than the one I've seen 08:42:54 "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 *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 Sgeo: I personally would check against http://theevilliouschronicles.wikia.com/wiki/The_Evillious_Chronicles_Wiki 's translation 09:11:13 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 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 I should probably check the wiki more often though 09:28:08 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 Promo Video, equivalent to Music Video 09:30:32 http://en.wikipedia.org/wiki/PV#Other 09:31:41 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 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 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 I interpreted it as being his interpretation of muzzle of nemesis's events 09:50:46 That's what I initially thought. 09:51:43 Reading the wiki made me a bit less confident though 09:51:46 I should sleep 10:07:04 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 I guess it needs to have \r's instead of \n's in the input file. That's confuzzling. 10:10:32 And also the fact that 21h/AH=08h blocks indefinitely if dosemu's stdin hits eof. 10:16:20 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 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 fizzie: that's not expected behavior 11:00:36 hmm "Could not open current VT." is also unexpected. 11:00:42 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 oh it wants a linux VT ... not an xterm. 11:04:46 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 and now it does something inside xterm as well, huh ... 11:06:53 J_Arcane: well, the expected output is that 12345 is overwritten by 67890 11:07:35 Ahh, so in this case a proper newline isn't necessarily what is wanted? 11:07:46 but it's having trouble with input redirection. 11:12:00 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 Incidentally, I meant "dosemu -quiet -dumb" and not -dump, that's presumably not a real flag. 11:13:02 fizzie: I recommend dosbox 11:13:14 but hmm 11:13:15 It's not up to me, unfortunately; this was re anagolf. 11:13:30 I don't know if you can handily feed input to dosbox either. 11:13:36 apropos anagolf, *evil cackle* 11:14:20 right that won't help when the server is using dosemu 11:18:24 -!- AndoDaan has joined. 11:20:30 oerjan: I saw the asteriks and obeliks score 11:21:45 good, good 11:22:02 fizzie, J_Arcane: it works better with ^M instead of ^J for newlines in the input. 11:23:11 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 there, started it up, it's in the #esoteric-blah channel, you can try it with `help 11:25:35 I don't know about dosbox, I never tried to hook that up to anything 11:26:09 but anyway, my bot proves that you can feed at least textual input to that dos in bochs, 11:26:15 and get output from it 11:26:24 and reset its hard disk state quickly 11:26:43 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 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 V. good. 12:27:06 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 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 so of course you still need to press control-M for newlines, control-J doesn't have bad side effects 12:30:46 (there's some drawbacks of course, as in some console-oriented programs won't talk through the serial terminmal) 12:44:49 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 just use the serial terminal instead of keyboard 12:46:48 hmm, teebee did http://golf.shinh.org/p.rb?hello+hello+world in 59 bytes, 10 less than me 12:51:15 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 you cannot use acronyms that are identical to common words hth 13:05:53 sorry, *may not 13:09:55 * oerjan tentatively concludes the most likely referent to be http://www.gap-system.org/ 13:12:37 oerjan: stop making up gnu rules 13:13:30 gnu isn't a common word hth 13:15:39 yes, http://www.gap-system.org/ 13:15:40 > time gap4r5 < /dev/null ... real 0m7.094s with a hot FS cache 13:15:42 :1:15: parse error on input ‘/’ 13:15:52 I should know better 13:15:55 @botsnack 13:15:55 :) 13:16:23 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 oh well, this computer is 4 years old. 13:17:58 this one as well 13:18:06 it might depend on how many libraries it loads 13:18:08 http://sprunge.us/KKac 13:18:17 are you carrying them upward in the snow 13:19:20 yes 13:20:02 (what did sprunge do to those poor unicode characters?) 13:20:04 I'm running an old version of GAP though 13:27:23 > (undefined :: (Int,Int)) & each .~ "hi" 13:27:26 ("hi","hi") 13:28:54 int-e: i thought sprunge gave the file raw by default, sure it wasn't your upload that converted things 13:29:38 oerjan: hmm, I used the form. I guess the browser may have mangled it. 13:29:56 they have a form too? 13:30:23 http://sprunge.us/ has a link 13:30:46 so I've never bothered with installing the tool 13:30:51 http://sprunge.us/ZRHA looks fine when piped from the command line 13:31:37 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 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 oh heh 13:32:31 (also a #!/bin/sh) 13:34:02 you're right, the curl command works. http://sprunge.us/NBeV 13:34:34 (but why do I have to hit ^D twice to make it submit?) 13:35:03 fancy graphics 13:35:35 hm indeed 13:36:03 prepending cat | fixes that. 13:36:06 cat | curl -F 'sprunge=<-' http://sprunge.us # non-useless use of cat 13:36:08 heh. 13:36:31 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 int-e: so you need to hit control-D twice to signal an EOF. 13:36:59 b_jonas: this was at the beginning of the line 13:37:08 then I don't know. 13:39:48 Thanks anyway, I didn't know that. 13:58:03 Yeah, I've wondered about the curl-sprunge-^D^D-even-at-beginning-of-line thing too. 13:58:21 I've just assumed it's some sort of curl peculiarity. 13:58:57 maybe curl reads twice or something? 14:00:52 -!- tromp_ has quit (Ping timeout: 240 seconds). 14:01:08 if you keep typing after the first ^D the rest gets into the upload 14:02:27 -!- Hjulle has joined. 14:02:32 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 (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 [wiki] [[Special:Log/newusers]] create * Woodpecker * New user account 17:25:36 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 great 18:01:43 -!- shikhin has joined. 18:11:49 "have be working". 18:33:30 -!- FreeFull has quit (Ping timeout: 255 seconds). 18:35:28 -!- FreeFull has joined. 18:39:51 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 do we have a funge-98 funge-98 interpreter yet? 18:41:50 I forget. Possibly not? There's definitely a Befunge-93 Befunge-93, though it limits the playfield still further. 18:42:56 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 non-cheating? 18:44:43 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 ah ok 18:45:10 yeah that seems awful 18:45:39 it should be a proper implementation 18:46:33 it seems to me that the funnest way to implement it would be a supercell 18:46:38 it would probably be a giant supercell though 18:48:06 I assume it would make sense (funcespace-storage-wise) to implement N-funge in (N+1)-funge. 18:49:45 yeah that would work too 18:49:57 but it would be more challenging to implement directly 18:51:19 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 Hm, are there any compilers to befunge-98? 19:03:54 That could be a neat project 19:04:40 Possibly a llvm code gen backend, then you could compile cfunge into befunge 19:05:43 that sounds awful 19:07:35 Well it would probably turn out awful, but still pretty neat 19:07:56 There's the http://www.mikescher.de/programs/view/BefunGen thing. 19:08:04 It generates "big Befunge-93", basically. 19:08:28 From what? My mouse just died a couple of seconds ago, so I can't click the link 19:08:34 brb, debugging the issue 19:09:01 From a custom language it calls "TextFunge", which (AIUI) is somewhat pedestrian. 19:09:28 Ah 19:09:59 Oh, and how did I forget Sponge, the Scheme-to-Befunge-98 compiler. 19:10:10 I think I even tried it out once. 19:10:39 Neither of those is terribly advanced, or make too much of an effort to generate "natural" Befunge-98 output, I think. 19:11:02 Well that would be tricky 19:11:21 It is not a well researched class of target languages as it were 19:11:41 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 Heh 19:12:30 (Probably won't without scripts, I'm sure it's part of that "free web hosting area" code at the end.) 19:12:46 I posted you a golf problem 19:12:50 on anagolf 19:13:08 27 days(!) 19:14:02 Are you going to use the golfed solutions for some business purpose? 19:14:05 what the heck got into me when I wrote this old C program? it uses "template" as an identifier 19:14:15 I wonder if it is still possible to buy IDE drives? 19:14:23 fizzie: no. I already have a good non-golfed solution in C, which I posted 19:14:29 I have an old computer that might need a new drive. 2.5" 19:14:32 Vorpal: CD reader or hard disk? 19:14:37 hard drive for laptop 19:14:43 I know some people use 'class' as an identifier specifically in order to make their C code not compilable as C++. 19:14:47 For philosophical reasons. 19:14:54 fizzie, "new" also works 19:15:00 ouch 19:15:09 I didn't know people did that deliberately 19:15:11 Yes, maybe "new" is easier to shoehorn in. 19:15:21 b_jonas, So don't compile it as C++? 19:15:31 fizzie, well I used it unintentionally in cfunge IIRC 19:16:02 Vorpal: I want to submit it as a C++ solution for the golf 19:16:02 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 done, I renamed the variable 19:16:27 b_jonas, you should use variable names like t or such anyway to golf it 19:16:30 Surely 19:16:37 Vorpal: sure, but this one isn't golfed 19:16:49 it's my original code back when I wrote this task for non-golf purposes 19:16:58 Ah 19:17:05 I did submit a golfed perl code too 19:17:17 To be more devious, make the code work differently even if renamed and compiled as C++ 19:17:21 !blsq 256?!fC 19:17:21 Ain't nobody got time fo' dat! 19:17:24 !blsq 256?!fC 19:17:24 Ain't nobody got time fo' dat! 19:17:28 !blsq 100?!fC 19:17:28 {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 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 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 ok 19:17:38 62 characters, it's probably possible to get it shorter 19:17:47 Jafet, hm, what sort of different behaviour would work for detecting that (except #ifdef _CPP or similar) 19:18:00 Vorpal: I know some possiblities 19:18:01 fungot: Did you know that you're 58.2% Perl, 28.2% F# and 13.6% Python? 19:18:01 fizzie: " no," said he. i said " my name's not tibbs." 19:18:04 !blsq 100?!fCNB 19:18:04 {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 fizzie, forth for what? 19:18:16 cool 19:18:23 sizeof 'a' 19:18:29 Jafet, ah, 1 or 4? 19:18:34 And a few billion other things 19:18:35 Vorpal: you can use sizeof('a') ; or some identifier scope tricks about struct definitions 19:18:43 Hm 19:18:47 We had this discussion already, kind of. 19:18:52 Maybe I should look for the logs. 19:18:54 let me find that latter code (I didn't write it) 19:19:06 -!- conehead has joined. 19:19:09 I posted one way that was based on identifier mangling, and hilariously unportable. 19:19:32 you can also use some words as keywords in C++ and identifiers in C 19:19:48 !blsq 100?!fCNB{q?iq?d}M- 19:19:48 {{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 !blsq 100?!fCNB{q?iq?d}M-\[NB 19:19:59 {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 int vector, T, a; vector > a; 19:20:08 !blsq 100?!fCNB{q?iq?d}M-\[> {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 Of course there is a million ways to tell different C++ implementations apart. Mostly related to templates 19:20:38 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 Jafet, that 19:21:39 that* wouldn't compile surely in C++ 19:21:59 Can't you just use parsers to detect languages? 19:21:59 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 After all >> still means bit shift in C++ 19:22:15 I can't find that code 19:22:17 And you didn't #include 19:22:34 Although... there are C++ programs you can parse as C 19:22:37 fizzie, niiice 19:22:48 Vorpal: not in C++11 19:22:57 Vorpal: in C++11 the >> is a valid way to end a template 19:23:02 b_jonas, well okay, true 19:23:09 (but < :: still needs a space) 19:23:20 What would <:: mean? 19:23:27 That would make it an issue 19:23:37 clang compiles it: -c { int vector = 0, T = 0, a = 0; vector > a; } template struct T {}; 19:23:43 Vorpal: < to start a template or a comparision, :: to start a global identifier or namespace 19:23:54 but I think they're fixing this one as well in C++14 19:24:02 so <:: will mean < :: instead of the current <: : 19:24:04 b_jonas, I know, but what would <:: without a space mean 19:24:13 Vorpal: <: is a C++ digraph 19:24:16 -!- S1 has joined. 19:24:16 -!- S1 has quit (Client Quit). 19:24:17 meaning [ 19:24:24 Oh a trigraph 19:24:24 right 19:24:27 digraph 19:24:30 not trigraph 19:24:38 the second : is a separate token and most likely a syntax error 19:25:31 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 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 There's also a scope trick from Deewiant few lines later. 19:26:31 Vorpal: two years of software upgrades... 19:26:54 obviously the proper way to write code that differs is #ifdef __cplusplus 19:26:58 Vorpal: with dist-upgrade? 19:26:59 elliott_, true, but it is LTS -> LTS 19:27:11 apt-get dist-upgrade has caused me only troubles so far. 19:27:13 mroman_, with the GUI thing that popped up saying "hey there is a new release" 19:27:41 Wouldn't be surprised if LTS doesn't include support for moving to the next LTS 19:28:18 http://codu.org/logs/log/_esoteric/2011-03-28#042936zzo38 there's the earlier discussion. 19:28:41 I would just do a clean install of Ubuntu Windows 14.04 19:28:43 But not the one with my name-mangling, and I'm sure there were more examples too. 19:29:11 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 I haven't done it these days, and won't do it now either 19:29:36 not because I don't trust dist-upgrade, but because I want to reinstall for other reasons 19:29:38 Oh, this seems to have been a good grep term. 19:29:51 My server doesn't have enough RAM for a dist-upgrade 19:29:54 int main(void) { printf("%d\n", 1//**/2 \n ); } works for C89-vs-C++. 19:29:55 so I'll not upgrade this system from lenny, but install a new squeeze, or whatever they're called 19:30:05 I might later do a dist-upgrade on a different machine though 19:30:07 It crashes doing stuff with .ko because "out of memory" 19:30:22 but only after I tested squeeze on my home computer enough to be confident it works 19:30:32 and of course I always recommend that you take backups before you dist-upgrade, 19:30:48 Jafet, it does (supposedly) 19:30:49 and follow the notes in the debian release notes about what to do before and after dist-upgrade 19:31:03 Jafet, also "ubuntu windows"?? 19:31:03 don't just blindly run dist-upgrade 19:31:23 int main(void) { int i = 0; { for (int i = 1; !i; ); printf("%d\n", i); } } -- for C99 vs. pre-ISO C++. 19:31:27 b_jonas, well of course I did. I mean stuff like fucking with my settings 19:31:39 b_jonas, like changing default desktop environment on login 19:32:01 I use xfce on that laptop, is is too old to run anything more complex 19:32:08 Might even go for LXDE 19:32:09 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 http://sprunge.us/UWcN is the really unportable one I wrote. 19:32:36 fizzie, what did it do in pre-ISO C++? 19:33:07 -!- thekey has joined. 19:33:16 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 Ouch 19:33:52 GCC has a flag for it, unless they've removed it already. 19:33:57 Heh 19:34:27 in fact, I think it requires macros, and might require variadic macros 19:34:37 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 so it's probably not a really good way to distinguish between older stuff 19:34:53 but you can at least distinguish between strict c++11 and c++14 with it 19:35:03 https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html "-fno-for-scope" still there. 19:35:19 Heh 19:36:18 Also, fuck boost. Just saying 19:37:02 At best it is an over-engineered over-complicated library for what you want to do. At worst... 19:37:25 Vorpal: I like some parts of boost actually 19:37:34 not all parts, but you can use just some of the parts 19:37:41 some parts are unmaintained and hard to use 19:37:43 b_jonas, okay sure, boot::noncopyable is hard to fuck up, I'll admit that 19:37:44 some parts are ugly 19:37:55 Vorpal: actually, boost::noncopyable just got worse 19:37:59 Oh? 19:38:08 b_jonas, But I was looking at Boost Graph recently at work. What a mess. 19:38:26 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 hpp surely? 19:38:42 Not cpp 19:38:44 yes, hpp 19:38:44 sorry 19:38:56 Anyway I thought it was that header including a single other internal header 19:39:40 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 b_jonas, anyway, I don't know of any non-trivial part of boost that is decent 19:40:01 MPL maybe? ;P 19:40:06 Vorpal: I like the container library, especially its flat_map and flat_set classes 19:40:19 Haven't looked at that, I'll admit. 19:40:21 that one of course is a large library requiring lots of other headers 19:40:22 but I like it 19:40:49 only they messed up the docs so large chunks are missing from the compiled docs now 19:40:54 you ahve to look at docs in older versions 19:40:55 :( 19:41:00 b_jonas, That multi-index thing was useful I remember, though still a terrible mess of templates 19:41:21 b_jonas, really? And no one noticed and told them? 19:41:25 You should file a bug 19:41:27 Vorpal: they did tell 19:41:31 there's already a bug ticket 19:41:34 And? 19:41:50 it was broken in .55, haven't checked .56 19:41:59 was still right in .53 iirc 19:42:05 b_jonas, at work we recently updated from .45 to .54 19:42:17 I mean 1.55 and 1.56 and 1.53 resp 19:42:27 I guessed as much 19:43:00 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 Oh great, now that laptop freezes whenever the screen turns off 19:43:32 -!- LordCreepity has quit (Ping timeout: 245 seconds). 19:43:42 What a terrible bug after an ubuntu upgrade 19:43:45 but flat_map is still useful 19:44:27 Well I guess shared_ptr was convenient, still a lot of template bloat 19:44:48 Anyway STL is messy too 19:45:07 -!- LordCreepity has joined. 19:45:20 and of course, you should choose the right tool for the right job 19:45:22 Well I'm not going to upgrade my other laptop to 14.04 any time soon 19:45:52 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 or something 19:46:01 Like not C++ for everything? 19:46:02 but I really should do it 19:46:16 Vorpal: and various C++ libraries depending in what you need. some projects want boost, some don;t. 19:46:32 I'm not saying C++ is for everything either, but I quite like C++ these days. 19:46:33 Oh I recently reinstalled my desktop, since my drives died. (RAID? Hah! More like RADD) 19:46:46 hope you had good backups 19:46:50 Of course 19:46:57 But still, annoying to deal with 19:47:04 sure 19:47:06 I went GUID when I was at it anyway 19:47:18 But I stayed on the same distro (debian wheezy) 19:47:19 what's GUID? 19:47:30 GUID parititon tables 19:47:31 GPT 19:47:42 uh, whatever, ok. I don't so sysadmin stuff 19:47:43 since I have UEFI in my desktop 19:47:48 Not MBR 19:48:04 mmkay 19:48:04 Succinct array of inexpensive drives 19:48:07 b_jonas, you know, the replacement for BIOS? 19:48:10 yes 19:48:16 I didn't know about GUID though 19:48:34 I was dimly aware that there existed partition tables other than the really old PC one, 19:48:35 b_jonas, We can finally get rid of the old MBR partition table layout mess with that 19:48:45 And use GPT (GUID Partition Table) 19:48:56 but I thought they were mostly for BSD and for RAID/LVM stuff and for non-PC platforms 19:49:19 The old format has been unused for many years 19:49:21 Well I do LVM on top of RAID, but that has nothing to do with UEFI 19:49:22 I did have the BSD stuff on my machine, but only inside an ordinary PC partition 19:49:30 Jafet, MBR? Not really 19:49:47 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 Jafet, My computer isn't that old. 3 years. And Windows 7 is installed on MBR still 19:50:06 MBR/GPT and BIOS/EFI are somewhat orthogonal issues anyways. 19:50:12 anyway, I use MBR and see no reason to change right now 19:50:18 pikhq, kind of, but not fully 19:50:24 (EFI can boot just fine from MBR and BIOS can boot just fine from GPT) 19:50:34 Mostly just Windows that conflates it. 19:50:35 b_jonas, indeed, but you need GPT if you go for larger than 2 TB 19:50:43 Vorpal: what? really? 19:50:54 b_jonas: It's a hard limit in MBR partitioning. 19:50:57 why? does MBR store 32 bit unsigned count of 512 byte sectors? 19:51:01 b_jonas, yep, MBR can't express those bug numbers 19:51:04 b_jonas: Yes. 19:51:05 is it not extended to a wider field now? 19:51:08 No. 19:51:08 b_jonas, Nope 19:51:19 b_jonas, you go GPT instead 19:51:29 not even for some software, like eg. if the BIOS and boot loader doesn't know it but Linux does? 19:51:41 I thought Microsoft shipped GPT with Vista, but apparently Vista didn't boot from it. 19:51:51 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 Jafet, only from 8 19:52:16 b_jonas, nope 19:52:26 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 but a partition table is much safer 19:52:48 does 2T work fine? because I have a 2TB large disk 19:52:53 and I didn't know it almost reached that limit 19:53:00 b_jonas, that is the limit yes 19:53:05 hmm 19:53:06 ok 19:53:19 I'll have to read up on this then 19:53:29 I didn't know there was no extension for MBR 19:53:30 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 can I have MBR and GPT on the same disk, with MBR listing partitions on the first 2TB? 19:54:10 on a hard disk 19:54:25 Not that I know of 19:54:44 Vorpal: How weird. That's utterly improper. 19:54:44 hmm 19:54:46 GPT has a "protective MBR", which just marks the entire disk as allocated 19:54:49 MBR is purely an OS detail. 19:54:52 pikhq, yep 19:55:07 Vorpal: sure, but how can it do that if the disk is more than 2TB? 19:55:08 pikhq, well BIOS loads the first sector basically and executes it 19:55:25 b_jonas: It sets the protective MBR for 2TB instead. 19:55:27 I mean, large hard disks are cheaper and cheaper these days, though 2TB is the usual size currently 19:55:30 ok 19:55:44 but if it does that, why can't I just have both on the same disk? 19:56:00 to, say, use MBR for the bios and boot loader, and GPT in Linux or BSD? 19:56:11 Because there's no way to have it meet both specs easily. 19:56:17 hmm 19:56:27 Also, the BIOS only looks at the MBR if it's bad and buggy. 19:56:35 that's no problem 19:56:42 A BIOS system *should* be able to just boot from GPT without any effort. 19:56:50 the bios only has to aces the partitions with the MBR system 19:56:58 No, it doesn't. 19:56:58 pikhq: not if I still use grub-l I think 19:57:19 but I guess I could upgrade to grub2 or syslinux 19:57:20 pikhq, anyway I'm fairly certain that UEFI parses GPT, no? And the parition table section of MBR 19:57:21 Here is the BIOS' knowledge of the disk format: the first 512 bytes go into memory and are executed. 19:57:26 when I get such a large disk 19:57:29 Vorpal: Yes, it has to. 19:57:46 Vorpal: Because UEFI actually boots from a filesystem on disk. 19:57:51 Exactly 19:57:56 FAT32 no less 19:57:59 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 Which is annoying 19:58:04 Vorpal: UEFI is specd so that it can boot from an MBR partitioned filesystem though. 19:58:16 b_jonas: CD boot is about that dumb actually. 19:58:16 Vorpal: why is that annoying? 19:58:33 b_jonas, no journalling 19:58:42 Vorpal: sure, but it's just a boot partition 19:58:46 Also good luck doing MDRAID on that 19:58:49 You don't need to journal a read-only partition 19:58:53 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 Jafet, except during grub updates 19:58:58 And then normal BIOS boot happens. 19:59:16 Vorpal: you mean what if your system crashes just when you rename your kernel on the boot partition? 19:59:16 pikhq, how does UEFI boot from CD or USB stick work? 19:59:22 Same exact way. 19:59:26 is taht why you need journaling? 19:59:33 b_jonas, well yes, I my case it is grub2 on the EFI parition 19:59:37 It's a separate El Torito image. 19:59:42 My kernel is still on the ext4 /boot 19:59:46 Well. USB stick it's a 100% normal EFI boot. 19:59:51 CD, it's just El Torito. 19:59:55 Because of course it is. 20:00:00 Right 20:00:14 Well, use a recovery drive to reinstall grub 20:00:23 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 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 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 It wasn't legal before? 20:01:32 -!- paul2520 has changed nick to Guest50760. 20:01:36 -!- diginet has joined. 20:02:05 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 Microsoft asserts patents on FAT32 (bullshit, but there it is). 20:02:23 There is a patent grant for implementing FAT32 for purposes of EFI though. 20:02:33 pikhq: what? I do need a FAT32 driver for accessing memory cards of my mobile phone and digital cameras 20:02:39 that's why I have them in my kernel 20:03:39 But you don't have a patent license for it. 20:03:48 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 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 But you don't have a patent license for it. 20:03:58 And of course separate /var /tmp, /home 20:04:21 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 The license only applies to the digital camera. 20:04:37 pikhq, surely you mean exfat? 20:04:42 The digital camera has the license, you do not. 20:04:43 pikhq, that has patents I know of 20:04:55 Vorpal: No, they also assert patents on FAT32, in particular long file names. 20:04:58 Vorpal: I see 20:05:08 And yes it's bullshit. 20:05:09 pikhq, I'm fairly certain everyone still ships Linux with vfat 20:05:13 Yes. 20:05:15 And don't care about what MS think 20:05:22 Unless you're an Android vendor. 20:05:29 MS does shakedowns on them. 20:05:50 pikhq, well I'm pretty sure my phone shipped with buggy exfat support even 20:06:06 It was unusable, so I switched to fat32 20:06:10 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 or whatever was the year limit 20:06:21 not 2127 I think 20:06:21 um 20:06:37 -!- thekey has quit (Ping timeout: 272 seconds). 20:06:46 2107 20:07:16 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 Vorpal: it is considered mostly stable now, I believe. 20:08:44 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 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 btrfs-tools is still fairly useless at this time 20:09:21 I wish they'd think forward more 20:09:42 Jafet: well, I mean the disk format is stable 20:09:51 and you say UEFI requires this too? 20:09:53 I think the tools are fine for everyday use. 20:10:04 b_jonas: UEFI uses a FAT-32 system partition just to store bootloaders essentially 20:10:10 (plus diagnostic tools and the like) 20:10:21 doesn't need mtimes 20:10:32 elliott_: well sure, but mtimes would be still nice to have 20:10:43 time for FAT-64 20:10:51 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 I'm not saying computers will suddenly be unbootable at that point or anything 20:10:59 elliott_, There is exfat I suppose 20:11:10 It's perfectly valid for a UEFI firmware to support any number of other filesystems. 20:11:12 pikhq: right. apple's efi can read HFS+ 20:11:15 Yep. 20:11:28 though it's a bad example, since I hear it's a jumbled incompliant specialised mix of EFI 1 and UEFI 20:11:42 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 Because that's Apple for ya. 20:11:49 b_jonas: Yes. 20:12:00 -!- brandons1 has quit (Ping timeout: 260 seconds). 20:12:00 There is no reason to care about 2107 AD, because we'll be dead by then 20:12:05 pikhq: to be fair they deployed x86 EFI before anyone else 20:12:13 at a very wide scale 20:12:30 And strictly speaking nobody else has deployed *x86* EFI in a non-trivial scale. :) 20:12:33 (ok, maybe not anyone else, but close enough) 20:12:41 And, hope upon hopes, fat32 will be dead long before then 20:12:41 Jafet: but our childrens will be alive (not that I have children, but in general) 20:12:42 (it's pretty much all x86_64 EFI otherwise) 20:12:55 Jafet: we should hope that, yes 20:13:05 pikhq: I tihnk apple was shipping 64-bit from the start too? 20:13:07 *think 20:13:09 along with some 32-bit 20:13:18 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 maybe not 20:13:21 elliott_: Yes, but their EFI implementation is 32-bit unconditionally. 20:13:37 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 Ah, guess they changed it at some point. 20:13:52 b_jonas, Actually the OS can still use something else, as long as the boot loader can be stored on FAT32 20:13:59 I remember a lot of fuss many years back about 32 vs 64-bit firmware and kernel 20:14:02 Snow Leopard apparently. 20:14:03 Vorpal: yes, of course 20:14:08 I won't store my OS on FAT32 20:14:16 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 oh, you mean the kernel? 20:14:22 yes, yes 20:14:25 still 20:14:46 Vorpal: to be fair, the kernel/initrd will probably be stored in FAT-32 a lot 20:14:52 Strictly speaking the kernel doesn't have to be accessible from EFI, just some binary that eventually loads the kernel. 20:15:13 elliott_, well I went for grub.efi on FAT32 and the kernel/initramfs on ext4 20:15:13 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 (though one of the easier ways to boot Linux on EFI is just to throw EFI at the kernel) 20:15:27 and can get away with a simple boot menu like gummiboot, which doesn't have any linux-specific knowledge 20:15:27 elliott_, since that is what the debian docs suggested 20:15:43 So I mount the EFI parititon on /boot/efi 20:15:43 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 Yeah, Debian's got infrastructure for automanaging GRUB. 20:15:59 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 pikhq, indeed 20:16:19 pikhq: I know. I just don't trust that. I want to manage my grub myself, and I do. 20:16:28 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 Vorpal: and since I think expecting bootloaders to be able to, like, read btrfs is a dead end 20:16:33 And permissions 20:16:43 Hm 20:16:44 (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 Right 20:17:03 (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 Vorpal: so you put your boot loader on a FAT but your kernel on an ext or reiser fs? 20:17:24 b_jonas, reiser? hell no 20:17:31 Vorpal: you use symlinks for your initrd? :p 20:17:37 POSIX ACLs on your kernel to set who can boot it! 20:17:52 elliott_, no, but debian scripts does weird shit with the grub config 20:18:03 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 I suppose something like deduplication could be useful in /boot. 20:18:12 for multiple kernel versions or such 20:18:16 if it was smart enough. 20:18:27 elliott_, anyway I *do* use mdraid for /boot 20:18:48 Vorpal: even at boot time? 20:18:49 elliott_, and that metadata block is first on the parition, messing up for something like UEFI reading it 20:18:53 b_jonas, what 20:18:53 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 That is a good point yes 20:19:08 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 and because bootloaders don't really have to be linux-specific at all these days 20:19:16 elliott_: exactly 20:19:24 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 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 I think it is nicer than the old BIOS setup overall, even though it has a ton of cruft. 20:20:12 b_jonas: heh, yeah, I remember something like that 20:20:25 -!- ^v has quit (Quit: Leaving). 20:20:26 b_jonas, It knows I think 20:20:57 I never used that own feature, I used only lilo and loadlin and grub-l and syslinux to boot anything 20:21:03 b_jonas, yep it knows, insmod raid http://sprunge.us/bJOC 20:21:18 b_jonas: It was fairly limited. 20:21:23 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 (when using it to authenticate your boot) 20:21:38 IIRC it only even worked if you dd'd it straight to floppy and compiled in command line arguments. 20:21:53 and nobody wants to implement code signing stuff in a bootloader when again UEFI already handles that 20:21:54 pikhq: worse than taht actually 20:22:09 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 pikhq: no command line argument, but a few bytes giving specific settings that you would normally set command line options 20:22:18 (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 pikhq: eg. a byte to set the root fs device 20:22:28 etc 20:22:39 Vorpal: right... there's no real solution to that other than waiting for bad ones to get better 20:22:47 but I think they're a lot better than they were a few years ago these days 20:22:49 elliott_, on my specific board it is supposed to blackscreen apparently. So I didn't even try it 20:23:05 And I have an early UEFI 20:23:07 it is a little sad how UEFI exposes so many convenience APIs but they're unreliable 20:23:15 Not much is going to happen with it 20:23:25 bring back open firmware? 20:23:52 elliott_, that was what the old PPC macs had right? 20:23:55 by which I mean Open Firmware 20:24:03 Vorpal: many things actually 20:24:04 Some sort of FORTH environment iirc 20:24:07 it's common on lots of non-x86 stuff 20:24:13 originally by Sun but it's an open standard, hence the name 20:24:17 elliott_, arm uses uboot iirc?= 20:24:20 s/=// 20:24:28 ARM uses whatever the hell people feel like. 20:24:30 yeah I mean like sparc and power and stuff 20:24:33 arm is a mess 20:24:35 Right 20:24:41 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 red hat are pushing for standardising on UEFI for arm 20:24:46 I looked into how rpi boots 20:24:51 It is interesting to say the least 20:24:58 as in, just put the boot file system on an ordinary partition accessible without llvm or raid 20:24:59 The GPU loads the kernel apparently 20:25:02 which is probably better than the unstandardised mess it uses now. 20:25:03 s/llvm/lvm 20:25:06 Yes that was not a typo 20:25:06 /g 20:25:08 b_jonas: I was about to say 20:25:16 store your kernel as llvm bitcode 20:25:21 elliott_, neat! 20:25:26 The "GPU" is a full CPU with some fancy firmware. 20:25:34 That happens to be well-suited for graphics. 20:25:44 The ARM on it is a low-powered coprocessor. 20:25:50 Vorpal: sadly bitcode isn't really portable 20:25:52 b_jonas, the thing is, should one drive fail, my /boot can be mirrored back to the replacement drive 20:25:55 No hassles 20:26:01 that is the point of RAID after all 20:26:05 elliott_, true 20:26:07 Vorpal: UEFI does support multi-architecture stuff with a single ESP though 20:26:18 elliott_, what is ESP now again 20:26:18 elliott_: Also irritating is that they're trying to get ACPI on ARM. 20:26:21 efi system partition 20:26:24 Vorpal: /boot can be mirrored anyway, only the boot loader will access only one copy 20:26:31 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 ACPI is by design fairly x86-specific, and there's already a well-known solution to everything it does on ARM. 20:26:47 pikhq: right, and ARM people don't like that because they have their device tree thing? 20:26:47 Vorpal: and I can switch over to a second copy if the first hard drive fial 20:26:54 pikhq, yes, I wonder why we can't use the GPU for CPU duty on the RPi... 20:26:58 pikhq, that would be neat 20:27:07 pikhq: all my info here is just from michael garrett :p 20:27:07 elliott_: Yeah. Device trees are a fully-general and well engineered solution. 20:27:08 Probably not well supported or open though 20:27:10 er. 20:27:12 matthew garrett 20:27:18 pikhq: doesn't linus hate them or something 20:27:21 I remember him whining 20:27:29 Vorpal: Only just that the GPU is poorly documented. 20:27:34 elliott_: Yes, but he hates ACPI more. 20:27:48 pikhq, right 20:28:05 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 pikhq: typical 20:28:14 pikhq, what sort of GPU is it anyway... 20:28:21 if my primary hard drive failed, I'd boot from a CD and restore from backups 20:28:25 Some sort of Broadcom chip. 20:28:25 Not the standard ARM reference one I suppose 20:28:29 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 I have some boot CDs ready 20:28:44 elliott_: yeah 20:28:46 elliott_, that describes a lot of the modern tech world 20:28:53 heh 20:28:54 yeah 20:28:55 so true 20:29:04 Vorpal: well, UEFI is a huge mess but I think it's probably still a net positive, for instance :P 20:29:12 Right 20:29:20 Yeah BIOS wasn't a clean design indeed 20:29:32 interrupts and crap 20:29:32 "Design". 20:29:46 Touche 20:29:53 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 acpi 20:30:07 "and put it in your kernel" 20:30:12 what a Joke 20:30:28 BIOS was somewhat sensible for the IBM PC. 20:30:38 And then nobody let it die. 20:30:40 elliott_, Well shouldn't you load the proper driver too? 20:30:43 has anyone written ACPI malware btw 20:30:54 elliott_, Where would it store itself? 20:31:00 Vorpal: what driver? you're writing the driver 20:31:03 -!- password2 has quit (Ping timeout: 246 seconds). 20:31:13 in some kind of firmware memory, presumably 20:31:19 Ah 20:31:26 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 maybe you can do a buffer overflow by crafting special invalid boot options 20:31:33 elliott_, exactly. I assume you can't just output a framebuffer in a generic way? 20:31:39 and rootkit every kernel that does ACPI 20:31:49 elliott_, but have to have separate nvidia and amd drivers 20:31:59 b_jonas: And then BIOS vendors started adding random crap to it to support new things. 20:32:00 Vorpal: well, there's like, VESA 20:32:01 these undocumented parts include memory addresses, including odd memory addresses for two-byte words (which had no penalty on 8088) 20:32:05 pikhq: yes, that too 20:32:10 elliott_, ah, true, forgot about that 20:32:16 elliott_, doesn't ACPI do byte code or some crap? 20:32:21 yes, I just said that :p 20:32:34 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 it's a mess 20:32:45 Hm 20:32:47 but I guess s/display stuff/any other kind of hardware interaction/ since admittedly graphics are especially bad 20:33:06 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 elliott_: so, like, hard disk and cd reads? keyboard? 20:33:25 b_jonas: sure 20:33:32 and serial port io 20:33:36 and network access 20:33:37 elliott_, so.. lets avoid hardware and just do software? In other words, don't write an OS 20:33:37 and stuff 20:33:46 if you want to do mouse and keyboard you have to implement USB!! 20:33:47 yaaaaay 20:33:53 mouse? who needs mouse 20:33:56 elliott_, but I still have a PS/2 port! 20:34:01 elliott_, You need to support that too 20:34:15 Not that I use it 20:34:17 Vorpal: I fully "support" ripping it out 20:34:20 But I MIGHT! 20:34:25 right, you need to support serial, AT keyboard, PS2, and USB 20:34:36 you need to support AT keyboard so you can flip the A20 line 20:34:37 elliott_, the laptop next to me has a parallel port on the back. It is old admittedly 20:34:46 or was that another keyboard standard 20:34:55 elliott_: heh... no, you don't need that these days I think 20:34:58 see, no A20 line crap, that's a nice thing about UEFI! 20:35:05 Haha 20:35:07 elliott_: that was needed before 386 20:35:11 b_jonas: it's still emulated 20:35:15 they added nicer ways to flip it off 20:35:15 elliott_: and the A20 line is not even the most important part 20:35:22 elliott_, I'm fairly certain there is still an ISA bus in modern computers 20:35:28 but in real mode bootloader code by default your memory is halved by repeating like that 20:35:41 elliott_, at least lm-sensors detects nct6776-isa-0290 20:35:44 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 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 seriously 20:36:00 Vorpal: Not an ISA bus, but some special bus that looks identical to software. 20:36:02 that hack is way worse than the A20 line 20:36:07 pikhq, ah 20:36:07 http://wiki.osdev.org/A20_Line 20:36:20 pikhq, I still have an old computer in this room with a real ISA slot! 20:36:28 "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 hehe 20:36:38 pikhq, also PC card, and AGP. And of course real PCI 20:37:58 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 not a real AT keyboard, just a Compaq keyboard with AT plug 20:38:34 elliott_, must be nice to be Apple. Just a few devices to care about and test on 20:38:58 yes 20:39:03 vertical integration is a soothing thing 20:39:07 Vorpal: don't they like have to support any USB device too? 20:39:20 including idiotic ones 20:39:23 b_jonas, well that is still less of a mess than supporting any chipset 20:39:30 sure 20:40:38 but yes, Linux does a good job of supporting all kinds of old hardware generally 20:40:45 from back when hardware came with a documented interface 20:40:52 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 hehehehe 20:41:23 b_jonas, yes, i486 or newer these days I believe 20:41:24 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 elliott_, true 20:41:46 Vorpal: it's not really the cpu I'm talking about 20:41:47 elliott_, And UEFI is still overcomplicated 20:41:48 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 more like the rest of the system 20:41:55 Right 20:42:08 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 elliott_, I know 20:42:17 elliott_: yeah, or development of fetuses 20:42:23 elliott_, You need to go through segmentation? 20:42:26 b_jonas: heh 20:42:33 Vorpal: erm, right, no 20:42:36 elliott_, I thought you just had to go to flat paged protected mode 20:42:49 yeah but you have to set up dummy "segments" for that :p 20:42:53 Oh right 20:43:00 Vorpal: no, I think you need flat unpaged. the segments are there. the page table isn't. 20:43:00 it's not really segmented, but... 20:43:02 elliott_, but lm still uses that, for something iirc 20:43:13 the fs segment is used for offsets for something iirc 20:43:15 you have to set up a single segment 20:43:22 I wonder if UEFI firmwares go through that dance themselves 20:43:39 they need to be able to go back to "Welcome to 1985!" mode for CSM BIOS booting, at least 20:43:51 do they have code to deliberately downgrade everything? :) 20:43:52 elliott_: some of it most likely, at least the part until protected mode, either 16 or 23 bit 20:44:01 they might not need to go to long mode 20:44:07 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 b_jonas: 64-bit UEFI is long mode 20:44:16 and that's the only version anyone bothers deploying (mostly) 20:44:18 they can't stay in real mode because then they can't access enough memory 20:44:23 elliott_: ok 20:44:31 elliott_, they need to be able to downgrade yes I guess 20:44:42 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 Yep. 20:44:56 but then how does that access 32-bit ACPI? 20:45:05 That's just the initial eecution mode. 20:45:09 you're asking me? :p 20:45:14 elliott_: yes 20:45:16 thankfully, I am not a firmware developer 20:45:24 that's even worse than being an OS developer 20:45:38 you have to write code that works without any /RAM/ for a while 20:45:39 That is interesting, how do BIOS access enough memory to store all the ACPI shit 20:45:47 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 elliott_, they presumably use the cache for data storage? 20:46:02 Vorpal: yes 20:46:05 BTW, elliott, you can skip from real mode straight to long mode. 20:46:16 Vorpal: to initialise everything so they can talk to the RAM 20:46:19 kind of amazing 20:46:28 The only real difference between protected and long mode is a flag on the code and data segment. 20:46:30 b_jonas, maintainer mode, which one is that now again 20:46:35 pikhq: that's when you sort of half set up protected mode and then cheat a little, right? 20:46:45 is that actually allowed by the "spec"? 20:46:49 elliott_: do you need cache for that? I thought the memory-mapped ROM and registers were enough. 20:46:57 elliott_, pretty sure the answer is no 20:47:10 elliott_: Yes. Long mode is literally just an extra flag on the segment. 20:47:16 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 pikhq: The Intel manual specifies no state transition directly from Real-Address mode to IA-32e Mode. 20:47:21 b_jonas: coreboot uses cache at that stage, at least, I think 20:47:23 b_jonas, ah 20:47:50 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 elliott_: maybe. I dunno. 20:48:00 fizzie: Who said anything about IA-32e? 20:48:04 b_jonas: alternatively, it's just convenient to have more RAM than registers give you 20:48:13 so why not 20:48:16 elliott_: sure 20:48:27 I guess you can do that in modern cpus 20:48:28 (what does using the L1 cache for storage even /look/ like in code? I should read coreboot) 20:48:32 pikhq: That's what "Long Mode" is. 20:48:44 fizzie: Why the hell did Intel invent a new name for it? 20:48:46 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 obviously that method didn't yet exist for old cpus 20:48:52 Also I would not care about Intel's docs. 20:48:55 It's not their design. 20:49:05 elliott_, so yes I guess it is a lot more complicated 20:49:12 pikhq: Not just one new name, they also called it EM64T for a while. 20:49:21 And now they call it "Intel 64". 20:49:24 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 elliott_: *shrug* 20:49:35 I call it amd64 20:49:39 (The mode is still called IA-32e.) 20:49:41 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 man, computers are complicated these days 20:51:24 they have been for a long time :/ 20:51:44 isn't there a C compiler that uses cache as storage or something 20:51:49 I remember hearing coreboot used that or something 20:51:52 it sounded incredible 20:52:43 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 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 (well, you know, it sure uses cache but the cpu handles that transparently) 20:53:20 I remember it was v. fancy. 20:53:24 b_jonas: right, I mean an ahead-of-time thing 20:53:31 b_jonas: it compiles C code to machine code that doesn't use RAM but cache 20:53:43 because... writing early-stage boot stuff in assembly is just too much of a pain, I guess? 20:55:28 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 http://www.coreboot.org/Developer_Manual#coreboot_Overview ah 20:56:38 romcc was what I was thinking of 20:56:39 elliott_: what? doesn't only the real OS have to boot other CPUs? 20:56:55 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 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 I like how this code works around /bugs in gas/ 20:58:19 when you can't even trust your assembler... 20:58:28 elliott_: as in, actual bugs, or just no support for later extensions in older gas? 20:58:42 -!- zzo38 has joined. 20:59:35 bugs, or at least quirks 20:59:51 elliott_, where is that workaround? 20:59:55 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 are those bugs for 16 bit (real or protected) mode only? 21:00:03 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 79 * The criteria for relocation have been relaxed to their 21:00:43 80 * utmost, so that we can use the same code for both 21:00:43 81 * our initial entry point and startup of the second cpu. 21:00:48 so, coreboot /can/ initialise other CPUs 21:00:54 -!- aretecode has joined. 21:00:55 I guess because it is more flexible than just doing BIOS 21:02:29 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 so the first one is a binutils bug, but only for 16 bit modes probably. 21:02:56 fair enough 21:02:57 um 21:03:27 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 why is this making me want to play with firmware code :/ 21:03:46 those are rarely used, because you rarely know taht somethign is in the first 64k address space 21:03:57 I wonder what the boot process looks like for other architectures 21:04:00 I bet it's so much less baroque 21:04:06 hehehehe 21:04:22 elliott_: you only don't know enough about those architectures :-) 21:04:25 I think 21:04:33 yeah, that's why they're a nice fantasy :p 21:04:34 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 still, I figure x86 has gotten more than its fair share of cruft just due to its popularity and longetivity 21:05:04 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 I'd be interested in learning how POWER or SPARC machines or whatever boot 21:05:23 right... ARM suffers from popularity too 21:05:38 in this, x86 is actually better because it has a bios, even if that bios sucks 21:05:55 (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 it's lucky there are no pre-486 machines anymore 21:07:06 fm towns! pc-98! okay, maybe you count those as PC, but they're not all that compatible 21:07:27 i did not know pc-98 was 86 21:07:46 this is totally going to alter my la mulana experience or whatever 21:08:01 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 it got a windows port 21:08:08 because I'm really a software guy, not a hardware guy 21:08:20 I just refuse to work with such machines 21:08:28 oh, la mulana was about msx, not pc-98 21:08:36 derf 21:08:47 FM Towns Marty totally preempted the trend of x86 consoles 21:08:51 guess i'll have to resort to h4xing toho then 21:09:20 «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 (I wonder what /their/ firmware is like) 21:10:03 yeah, that's why they're a nice fantasy :p <-- ARM is messy, and not standardalized at all 21:10:11 Much worse than PC in that aspect 21:10:18 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 why can't we just use UEFI on Z80 or something 21:10:31 how hard can it be 21:10:32 (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 I know about unreal mode, but can you do some kind of unprotected mode? 21:11:11 elliott_, I think sparc is openfirmware 21:11:16 don't ask me how it'd work 21:11:17 elliott_, same for power mostly 21:11:32 elliott_, not sure what happens with stuff like Cell in PS4 though 21:11:39 PS4 is x86-64 21:11:39 err 21:11:41 PS3 21:11:43 is what I meant 21:12:04 https://en.wikipedia.org/wiki/System_Management_Mode oh, the NSA have actually done rootkits with this 21:12:51 I like their codenames 21:12:55 elliott_, SMM is a mess when doing real time systems I know that 21:13:04 i see the nsa still uses the cia cryptonym school of naming 21:13:17 elliott_, which is one reason we don't use off-the-shelf hardware at work 21:13:18 SOUFFLETROUGH! SCHOOLMONTANA! DEITYBOUNCE! IRONCHEF! wait, /iron chef/? 21:13:45 how do they work on those without cracking up 21:13:52 "ah yes, I was just treaking the... souffle trough" 21:13:56 *tweaking 21:14:06 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 can you use SMM for like, running a hypervisor 21:14:48 or something 21:14:49 can you skip 16 bit protected mode to set up 32 bit protected mode though? 21:15:04 hm, the dep of state was codenamed ODACID 21:15:10 elliott_: no, there's a separate mode for that 21:15:16 also supported by the cpu 21:15:21 b_jonas: yeah but that's less fun 21:15:24 "ODENVY: Federal Bureau of Investigation" you stupid assholes 21:15:34 elliott_: I think this supervisor mode is for ACPI stuff 21:15:37 yeah 21:15:41 and rootkits 21:15:41 :p 21:15:50 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 fizzie: kind of dull, though 21:16:37 oh, SMM uses unreal mode, great 21:16:55 in the desert of the real mode 21:17:07 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 ooh, are there any hacks you can do to get at vm86 mode from long mode 21:17:33 elliott_, you can't do vm86 if you are in long mode I think 21:17:41 like, maybe sort of partially sort of exiting long mode so you can get at it 21:17:47 elliott_, well you could reset the CPU I guess 21:17:50 that would work 21:17:53 yeah I mean less dramatically :p 21:17:57 But the overhead would be terrible 21:18:32 Is VIA still around btw? 21:18:42 Or is it just Intel and AMD making x86 CPUs these days 21:18:49 they're still around 21:18:53 Also Cyrix and Transmeta I guess 21:19:04 elliott_, they still make x86? 21:19:09 yep 21:19:10 wait, 21:19:14 what the heck 21:19:16 cyrix and transmeta are dead 21:19:24 via acquired cyrix in '99 21:19:35 std::string::size_type can be a signed integral type? 21:19:36 looks like via even does quad cores now 21:19:37 The process of leaving long mode is there in the manuals, at least. 21:19:39 I thought it woudl be always unsigned 21:19:42 let me ask ##c++ 21:20:00 elliott_, really huh 21:20:10 yes 21:20:18 they have pretty fancy processors, for being bad, slow x86 21:20:36 -!- shikhin has quit (Ping timeout: 260 seconds). 21:20:39 crypto acceleration, 3d graphics, H.264 21:21:21 elliott_, speaking of which, how does TPM work? And how does it work when you don't have secureboot? 21:21:28 Are they even related 21:21:33 I don't think it has anything to do with secure boot 21:21:35 Hm 21:21:38 What is it for then 21:21:40 it's just a piece of hardware you can talk to 21:21:53 that will do crypto on some keys it has for you 21:21:55 I know my thinkpad has it, but it is pre-EFI 21:22:06 That is all? Okay 21:22:19 -!- aretecode has joined. 21:22:20 https://en.wikipedia.org/wiki/Trusted_Platform_Module 21:22:21 I guess it would be useful for hard disk encryption maybe 21:22:23 plus some other misc. stuff 21:22:27 yes bitlocker uses it for that 21:22:43 it can do some kind of hardware authentication stuff too it seems 21:23:43 Hm 21:23:45 * pikhq finds the market for old game consoles to have gotten really confusing 21:23:47 https://en.wikipedia.org/wiki/List_of_x86_manufacturers 21:23:56 looks like intel, amd and via are the only people still running 21:24:04 pikhq, oh? 21:24:06 someone should write an open source vhdl/verilog implementation of x86-64 or something 21:24:11 that would be fun slash horrible 21:24:40 Vorpal: The NES is only slightly cheaper than the damned AV Famicom. 21:24:44 oh 21:24:49 sorry, that's just general purpose manufacturers 21:24:57 Or the Twin Famicom. 21:25:07 http://zet.aluzina.org/index.php/Zet_processor cooool 21:25:15 pikhq, aren't they the same but PAL vs whatever the US used? 21:25:16 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 !! 21:25:27 wow, somebody actually went through the effort 21:25:28 Vorpal: They're both NTSC! 21:25:33 how's that work legally? 21:25:43 pikhq, then what is the difference 21:25:53 Cartridge slot. 21:25:53 https://en.wikipedia.org/wiki/Vortex86 linux supports this I guess? 21:26:03 The cartridge slot is physically different. 21:26:15 Bike: well, how did amd work legally? you're allowed to create compatible CPUs 21:26:18 *Electronically* they are utterly the same. 21:26:35 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 pikhq, Same ports? 21:26:44 elliott_: AMD has a long-standing license. 21:26:44 -!- J_Arcane_ has joined. 21:26:46 pikhq, then what is the difference? 21:26:53 pikhq: they didn't originally, did they? 21:27:05 I think as long as you are sufficiently clean-room about it there is not much case for it being infringing. 21:27:17 elliott_: They had a license way back in the day too. 21:27:22 -!- fungot has quit (Ping timeout: 245 seconds). 21:27:29 elliott_: At the time of the IBM PC, IBM required second-source providers for all the chips. 21:27:42 So Intel licensed the 8086 design to other manufacturers, most notably AMD. 21:27:43 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 pikhq: mm 21:28:14 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 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 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 I bet the famicom has a nice simple boot process 21:31:28 Yes. 21:31:31 It starts running code. 21:31:44 Vorpal: yes, intel and amd have licences both ways, while they still treat each other as enemies 21:31:52 pikhq, well they are different physically 21:31:52 and try to screw with each other all the time 21:31:55 pikhq, region locking? 21:32:33 b_jonas, naturally 21:32:34 Vorpal: The NES has a (easily gotten around) lockout chip, which the Famicom does not have. 21:33:07 pikhq, what does that chip lock out exactly? 21:33:23 It prevents a cartridge that is not approved by Nintendo from booting on the NES. 21:33:33 Ah 21:35:05 Ah, just going over to a Japanese marketplace makes it nutsier. 21:35:07 Z80, when reset by the RESET 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 I could literally have a Famicom imported from Japan for less than an NES would cost. 21:35:45 pikhq, Or you could run a cycle perfect emulator I assume 21:35:49 Well yes. 21:36:00 Which would be cheaper 21:36:05 I'm merely noting that this is a stupidly anomalous market. 21:36:17 Btw, are there drivers for PS4 controllers on PC yet? 21:36:26 Vorpal: you don't need drivers 21:36:28 it just works, has since day 1 21:36:32 via bluetooth or usb 21:36:32 Especially as NES to Famicom adapters are pretty cheap. 21:36:33 elliott_, even on Windows? 21:36:35 fizzie: to 0000? seriously? 21:36:35 yes 21:36:43 it works perfectly 21:36:47 elliott_, nice, a step up from PS3 controllers then 21:36:52 elliott_, what about for android? 21:36:55 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 don't know about android. I think it works via usb on android? 21:37:06 afaik it just presents itself as a very normal usb device 21:37:10 it's nice 21:37:16 elliott_, yeah my PS3 controllers works with android with a special app 21:37:20 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 (that needs root) 21:37:28 over bt that is 21:37:36 elliott_, anyway, what about the touchpad? That works too? 21:37:37 well, i've successfully written an assembly language interpreter in an assembly language, feelin pretty g- *looks at conversation* 21:37:41 you can use it with games designed for xbox controllers if you have a program for that, too 21:37:45 I've played spelunky like that 21:37:50 Very nice 21:37:53 Vorpal: idk 21:37:56 not as a pointing device last I tried 21:38:02 but probably you can write code that works with it 21:38:03 I don't like the triggers on the PS3 controller that I have 21:38:07 and pressing it down might do something 21:38:08 Very nice otherwise 21:38:11 but the touchpad is kind of useless and silly. 21:38:20 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 and RST in 6502 21:38:50 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 you'd have to bank switch it out after bootup, and couldn't write it during 21:39:14 b_jonas: Well, the Z80 doesn't have any cheaper zero-page addressing modes. 21:39:18 and you don't want to consume zero page space with jump instructiosn anyway 21:39:34 fizzie: yeah, I guess that's the difference 21:39:43 that explains why 6502 has the interrupt stuff at top 21:40:02 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 Also the "IM 1" interrupt mode has the interrupt handler at $0066. 21:40:50 I think GameBoy (which is a variant of Z80) has a $FFxx addressing mode for a few instructions. 21:41:14 The TI83+ has a Z80 right? 21:41:38 Vorpal: Yes. 21:41:49 zzo38: I see 21:41:53 fizzie, So I have x86, x86-64, PPC, ARM, MIPS and Z80 in this room then. Not bad. 21:42:05 no ALPA or SPARC :/ 21:42:18 Vorpal: heh 21:42:20 Also that switch might have something 21:42:31 Vorpal: what cpu does your keyboard have? 21:42:31 My router is MIPS I know, but the switch I have no clue 21:42:44 b_jonas, I have no idea. It is a MS egronomic one 21:42:48 ergonomic* 21:43:01 Vorpal: what room is that? home? work? work server room? 21:43:06 b_jonas, home 21:43:21 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 frankly I have no idea what cpu my nokia mobile phone has 21:43:43 Vorpal: also, PS4 controller is very nice handfeel wise, if you haven't used one 21:43:46 this pc has x86_64 of course 21:43:54 elliott_, I have not 21:44:07 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 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 I have three calculators of which at least one might be 6502 but I don't really know for sure 21:44:27 and they did change the triggers :p 21:44:37 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 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 the radio probably has a cpu, but I've no idea what 21:45:13 Vorpal: I think phones/tablets have another CPU hiding on there 21:45:17 maybe another ARM but maybe something else 21:45:23 for the mobile radio stuff 21:45:39 elliott_, well that is true, for the phone at least. The tablet is wifi only though 21:45:43 also your computers probably have non-x86 CPUs on the motherboard or cards 21:45:53 I don't have a camera (other than the phone) in the room right now 21:45:57 elliott_, indeed, I assume my disk controller runs something for example 21:46:00 hmm, what else can have a cpu? 21:46:03 elliott_, but I listed the CPUs I knew of 21:46:08 Vorpal: and network card type stuff I think 21:46:13 yeah, my keyboard most likely has some microprocessor or microcontroller 21:46:15 elliott_, yep 21:46:21 b_jonas, my mouse too 21:46:32 The PS3 controller as well 21:46:34 probably the mouse too, yes, especially because it's optical 21:46:39 Indeed 21:46:41 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 actually I already do 21:46:59 :/ 21:47:01 elliott_, :D 21:47:02 elliott_: you wouldn't boot up when you wake in the morning 21:47:13 oh, I know 21:47:24 b_jonas: you think I'd want the kind of heat consumption x86s have while under blankets like that? 21:47:32 gotta shut it down for bed 21:47:38 er, not consumption. 21:47:41 I think I still have two old unused mobile phones in the room, and maybe a wristwatch too 21:47:43 elliott_, my laptop battery charging controller probably has a CPU too. Of some sort 21:47:43 heat consumption would be a very nice thing for a processor to have 21:47:47 or microcontroller at least 21:47:51 use your CPU to cool your GPU 21:48:04 elliott_: you'd lower the power consumption, but won't need a full cold boot 21:48:06 -!- AndoDaan has joined. 21:48:15 b_jonas: you have clearly not seen me in the mornings 21:48:27 oh come on, you still need a cpu while sleeping 21:48:30 in case an emergency comes up 21:48:36 elliott_, try a warm water bottle 21:48:44 Vorpal: If you have any sort of printer, it probably has a CPU too. 21:48:47 I might as well be running TCCBOOT with how long it takes me to be active 21:48:47 ok ,maybe you'd have multiple cpus in you and some of them power down so you boot those 21:48:51 I dunno 21:48:56 fizzie, oh yes I have a printer with a scanner built in 21:49:02 fizzie, so it can copy stuff too 21:49:04 yes, the printers certainly do, but those are not in the same room 21:49:11 fizzie, and my monitors have menu systems 21:49:19 Vorpal: true, that too 21:49:24 the monitor 21:49:25 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 b_jonas, plural. I have two in front of me 21:49:39 yeah. I have only one here 21:49:45 in this room taht is 21:49:50 fizzie: I am jealous of your old hardware 21:49:57 well 21:50:01 more jealous of the mips and sparc than the c128 21:50:16 elliott_: I haven't even booted those old Unixy things in maybe 5 years. *sad* 21:50:17 if you count other rooms too, there's at least the washing machine 21:50:27 fizzie: I'll pay for shipping 21:50:28 fizzie, SGI Indy, nice 21:50:30 probably more 21:50:42 Vorpal: The Indy was retired from university classroom use, got it for free. 21:50:51 nice 21:51:02 elliott_: I might be migrating to UK from around the start of next year, incidentally. 21:51:07 Does an USB memory have a CPU? 21:51:09 a SparcStation... wow 21:51:11 fizzie: whoa, like, permanently? 21:51:14 I mean, I have a 2 GB USB stick here 21:51:19 Vorpal: probably like a microcontroller at least 21:51:26 fizzie, whaat 21:51:41 fizzie: that's a dangerously critical mass... is it time for an #esoteric meetup 21:51:58 b_jonas, my god, there is digital logic everywhere 21:52:13 fizzie: migrating to the UK? nice 21:52:21 can you tell which part of UK? 21:52:32 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 fizzie, what prompted this? 21:52:54 b_jonas: If it happens, it would be London. 21:52:55 a job I guess 21:52:58 fizzie: ok 21:53:20 A job indeed. I'm getting dangerously close to graduating, had to go find something to do afterwards. 21:53:32 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 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 good luck with that 21:53:35 Very strange 21:53:35 I might end up in Germany, though; applied to two places, both are still doing the rounds. 21:54:10 Vorpal: I don't have such a desk, but ok. well, the chair at the dentist is probably like that. 21:54:21 b_jonas, It is a pretty nice desk 21:55:04 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 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 how many UK #esotericers would that make? like five? 21:55:19 the height adjustment isn't the nice part 21:55:22 oh, six even 21:55:35 it's that it's custom made in a shape that I can't buy anywhere 21:55:39 finally finland will fall 21:55:50 b_jonas, I like switching between sitting and standing for health reasons 21:56:03 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 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 comfy chair. 21:57:05 Someone snailmailed me an extra SBus NIC and all. 21:57:26 I have a comfortable chair at work and a comfortable chair at home too 21:57:37 fizzie, sbus? 21:57:54 Vorpal: It's like the SPARCStation version of PCI. 21:58:01 Ah 21:58:18 elliott_, any idea how loud water cooling is? Is there a need for fans on the radiator? 21:58:22 Vorpal: Except all the devices have Forth-based drivers built in, so you don't need any special OS support necessarily. 21:58:39 Vorpal: depends on how big your radiator is :P 21:58:43 Vorpal: note that the pump makes noise, too 21:58:43 fizzie, heh 21:58:49 fizzie, that is neat 21:58:49 you can certainly make very quiet water cooling setups 21:59:09 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 elliott_, one that is quiet, not super-costly and not larger than the computer itself? :P 21:59:30 if you really want a super xxxtreme quiet setup use liquid immersion cooling 21:59:39 elliott_, that might be a bit too far 21:59:52 elliott_, I just want a desktop that is as quiet as a idling laptop 21:59:52 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 an* 22:00:05 I wonder if you could use a house's heating radiators for watercooling 22:00:14 just turn on your computer to warm up the room 22:00:28 elliott_, I have electric radiators sadly 22:00:39 Vorpal: then probably just buy aftermarket big, quiet fans and gigantic heatsinks for CPU and GPU? 22:00:45 I don't know. 22:00:48 I've never done watercooling. 22:00:55 it's scary. 22:00:57 fizzie, the card could only do 100??? 22:01:17 err sorry misread 22:01:31 I read it as the campus having 10M ethernet 22:02:04 elliott_, right, my case have premade holes for water cooling though 22:02:07 Right, no, the other way around. 22:02:43 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 heh 22:03:03 Not that the 75 MHz µSparc or whatever it had would probably deal with that either. 22:03:09 It is neat to have forth firmware though 22:03:11 fizzie: hope you're prepared for underwhelming internet here btw :p 22:03:42 elliott_: I've heard underwhelming things about it, yes. 22:04:05 elliott_, Surely there are exceptions? My linode in london runs just fine 22:04:15 I guess datacenters are better though 22:04:16 Vorpal: I did not know swedes live in data centres 22:04:25 truly let me call up level 3 and ask them for a DSL link 22:04:34 elliott_, how else did you think we got our good internet speeds? 22:04:52 elliott_, You didn't think we all lived in normal houses right? 22:05:05 Oh we managed to fool you? Still? After how many years!? 22:05:18 no, Vorpal. swedes have not managed to fool the world into thinking they're normal. 22:05:24 not even slightly. 22:05:25 elliott_: We only have 10M/10M here at home these days (because it's ~free), and that seems perfectly survivable. 22:05:29 elliott_, damn 22:05:35 fizzie: oh, yikes, my condolences 22:05:54 (well, you'll certainly get better as far as download goes, but probably not upload) 22:06:03 elliott_, anyway I have ADSL (24/2), meaning actually 12-14/1.5-1.7 22:06:07 (cable and fibre-to-the-cabinet are pretty widely available and quite decent, though) 22:06:13 I have sane internet at home, and superb internet at the university, but very sucky internet at the office. 22:06:37 elliott_, I know people who have 100/100 fibre though 22:06:50 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 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 yeah, 10M is enough usually if it's reliable enough 22:07:53 but my animes :( 22:08:06 (Based on speed tests, it's actually 12M/6M for some reason.) 22:08:14 b_jonas, not really, Try a family with several people streaming video at the same time 22:08:23 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 b_jonas, 1080p of course 22:08:37 Or even 4k 22:08:39 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 offended that you'd assume I'm talking about streaming :p 22:08:46 Maybe it's compensating. 22:09:16 Vorpal: if you control the router, it doesn't matter for you what other people stream. 22:09:23 b_jonas, hah 22:09:31 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 b_jonas, the router is some crap provided by the ISP 22:09:42 -!- mlilenium_ has left. 22:09:45 Vorpal: connect another router to it 22:09:49 b_jonas, "Thomson Speetouch" iirc 22:09:50 to its only output port 22:09:52 Speedtouch* 22:09:57 I think this new one hasn't enabled the 30a profile or something. 22:09:58 as in, don't connect anything else directly 22:10:03 and then you control the second router 22:10:10 b_jonas, well sure 22:10:11 elliott_: I may have to ask about ISP opinions at some point, though. 22:10:13 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 here I don't have an ISP owned router, only an ISP owned modem that has only a single eth output. 22:10:48 the router is ours. 22:10:52 b_jonas, the modem has a built in router 22:11:00 (routers. there's more than one actually.) 22:11:05 bbl, night 22:11:08 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 yeah, getting too late 22:11:28 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 elliott_: hmm 22:11:55 http://www.zen.co.uk/ too. them and AAISP both do IPv6 unlike practically everyone else :p 22:12:04 elliott_: sounds nice 22:12:25 elliott_: as in, IPv6 without having to pay extra for it, right? 22:12:31 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 well, good night now 22:13:11 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 and yes 22:13:12 bb in the morning 22:13:40 I see 22:13:49 is it worse than Australia? 22:13:56 heh, probably not 22:13:58 that would be an achievement 22:14:10 :) 22:14:21 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 would you like kicking so you can get to bed? :p 22:14:42 (And it's past 1am here, what with the zones of time.) 22:15:33 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 But you get a free "this is how good your hearing is" score out of it, which is maybe interesting. -> 22:16:35 (Unless it's the number "your ears suck", in case it might be more depressing than interesting.) 22:17:17 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 [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 [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 well, 'minor'... 23:39:54 -!- Hjulle has quit (Ping timeout: 272 seconds). 23:51:28 -!- thekey has joined.