00:01:11 area man kmc 00:02:34 is that an advice animal or something 00:02:59 the dangerous new trend putting teens at risk 00:08:16 -!- FreeFull has quit (Ping timeout: 252 seconds). 00:15:51 elliott: i like solitaire kind of games precisely because they're _not_ realtime, thankyouverymuch 00:17:24 oerjan: There's sometimes a clock. 00:17:30 (For scoring.) 00:17:34 blasphemy! 00:18:00 oerjan: Faketime Solitaire 00:18:54 oerjan: THE AXIOMS OF SOLITAIRE: 1. Solitaire 00:18:59 2. Sloitaire 00:19:05 4. Slaloterre 00:19:12 5. French-German Solitaire Spanish English Happening Manual 00:19:41 siilotare 00:20:28 Well you know oerjan Finnish Solitaire is banned for a reason 00:20:56 Facetime Solitaire. (Also called 'a mirror'.) 00:20:57 they're too solitary already 00:21:32 esiltoria 00:21:45 FINNISH SOLITAIRE aka "The Hidden Death". 00:21:54 Finnish Solitaire has killed millions since its founding in 1964. 00:22:24 `? funpuns 00:22:28 funpuns? ¯\(°_o)/¯ 00:22:29 `? shachaf 00:22:32 shachaf sprø som selleri 00:22:35 What? 00:23:42 twah 00:24:38 o⃥rjan 00:26:41 `? shachaf 00:26:45 shachaf sprø som selleri 00:39:21 -!- augur has quit (Ping timeout: 256 seconds). 00:40:24 -!- augur has joined. 00:41:36 -!- Nisstyre-laptop has joined. 00:44:40 -!- Phantom_Hoover has joined. 00:57:45 -!- mds2 has joined. 01:01:35 -!- mds2 has left ("ERC Version 5.3 (IRC client for Emacs)"). 01:06:31 -!- copumpkin has quit (Ping timeout: 244 seconds). 01:07:07 -!- pumpkin has joined. 01:25:33 -!- Sgeo has quit (Ping timeout: 245 seconds). 01:28:29 -!- Sgeo has joined. 01:29:43 -!- Frooxius has quit (Ping timeout: 245 seconds). 01:41:51 A lot of the OEM crapware on this computer broke 01:42:06 But there's one that... well, I think the important part is actually in hardware, so it doesn't really matter 01:46:00 -!- variable has joined. 01:46:15 -!- invariable has joined. 01:46:22 -!- variable has quit (Remote host closed the connection). 01:46:38 -!- invariable has changed nick to Guest37703. 01:53:30 ARMv2 seems OK, not as complicated as newer versions, and there does exist the open-source Amber core which is ARMv2. How fast could it run? Does anyone sell ARMv2 at fast speeds? 01:55:52 Has Amber been tested for compatibility with a real ARMv2? 01:56:07 -!- aloril_ has quit (Ping timeout: 244 seconds). 01:58:54 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 02:05:54 Huh. 02:06:06 Minesweeper contests don't accept the official version of Minesweeper 02:06:28 wut 02:06:28 Is there something wrong with the official version? 02:07:01 zzo38, yes 02:07:11 http://www.minesweeper.info/wiki/Board_Cycles 02:08:40 -!- aloril_ has joined. 02:08:45 Winmine (the name of the official version) uses a smaller than theoretically possible number of boards, iiuc 02:09:40 OK now I can see what is wrong, and why the official version should be unacceptable. 02:10:20 http://www.minesweeper.info/wiki/Winmine_Congress 02:10:41 The Winmine Congress was established in response to controversy over the Dreamboard and Board Cycles. Seven members were elected to resolve these problems. Founded 31 Oct 2002, it dissolved 8 Mar 2004. It has since been superceded by the International Minesweeper Committee. 02:14:53 6 years of research to figure out how minesweeper generates boards? 02:58:43 -!- oerjan has quit (Quit: Good night). 03:02:18 One thing I do know about the Windows Minesweeper (because I have tried it and figured it out) is, if the square you click first has a bomb, the bomb will be moved elsewhere. 03:02:59 thanks winmine 03:03:41 winmine.exe 03:03:52 zzo38: How do you know? 03:03:57 Maybe you were just extremely lucky. 03:06:05 -!- Guest37703 has quit (Changing host). 03:06:06 -!- Guest37703 has joined. 03:06:10 -!- Guest37703 has changed nick to const. 03:09:29 -!- const has left. 03:21:54 -!- hagb4rd has quit (Ping timeout: 246 seconds). 03:32:27 shachaf: I tried it many times, and I used the cheat code, which sets the top-left pixel of the screen black if there is a bomb there, so I figured out 03:32:45 Oh, the cheat code. 03:32:48 xyzzy something 03:32:50 shift-enter 03:33:16 That's been documented 03:39:41 -!- Nisstyre-laptop has quit (Quit: Leaving). 03:42:41 -!- Nisstyre-laptop has joined. 03:44:59 -!- Nisstyre-laptop has quit (Remote host closed the connection). 04:23:40 -!- Nisstyre-laptop has joined. 04:34:06 -!- TodPunk has quit (Read error: Connection reset by peer). 04:34:18 -!- TodPunk has joined. 04:38:21 -!- elliott has quit (Remote host closed the connection). 05:13:01 -!- rodgort` has quit (Ping timeout: 246 seconds). 05:15:49 -!- rodgort has joined. 05:23:05 -!- Nisstyre-laptop has quit (Remote host closed the connection). 05:25:13 -!- Nisstyre-laptop has joined. 05:36:55 xsetroot -solid pink -cursor_name gumby 05:39:56 I think the DotFami mapper codes actually form a idempotent commutative monoid, rather than just being a monoid. 06:04:07 Does the order of the commands matter in a hardware description language such as Verilog or VHDL? Does it matter if you repeat a command? 06:37:55 -!- ogrom has joined. 06:45:13 I sent some file to Famicompo Mini vol.9 see if it work 06:54:15 the minesweeper wiki is somewhat incredible given what a silly game it is. it's the best game ofc but pretty damn silly nevertheless. 06:54:59 -!- Nisstyre-laptop has quit (Read error: Connection reset by peer). 07:17:09 -!- Vorpal has joined. 07:21:38 Do you know of any NES/Famicom emulator which includes net play but also has a mode to display only odd frames on one computer and only even frames on other? 07:26:23 It's NP complete. oklopol! It's almost as interesting as sudoku! 07:31:46 If you add a successor operator to Hofstadter's BlooP and/or FlooP programming languages, you can do without IF, QUIT BLOCK, addition/multiplication operators, and comparison operators. 07:49:55 In 2001, the Italian "International Campaign to Ban Winmine" voiced strong concern over the game, contending that it is an "offense against the victims of the mines" and those who risk their lives to clear them. 07:49:58 xD 07:51:11 i love how some people are like so stupid that you wish they were less stupid because their stupidity is so overwhelming that it's be equally funny to watch if it was reduced but they wouldn't be as stupid. 07:52:20 on the other hand i suppose that may have just been a well-executed joke 07:53:59 Jafet: sudoku, like minesweeper, is fun only if your speed-solving simple games. the difference is minesweeper games are always easy but there are a lot of clicks to be made. a simple sudoku takes like 5 seconds so bleh. 07:54:38 hard sudoku puzzles are just annoying, there's too much data so a simpleton like me cannot really extract a meaningful mathematical problem, or at least expect it to have an interesting solution. 07:55:24 i have yet to see a meaningful minesweeper puzzle that isn't just an obvious encoding of another type of problem, and no problems arise naturally in random minefields. 07:55:35 *you're 07:57:13 you very quickly learn to check in about 10 seconds whether there are solvable cells on the "advanced" board, and this can easily be kept in memory so actually you never have to stop to think. 07:57:42 (i mean kept in memory and updated as you go) 08:00:30 " Do you know of any NES/Famicom emulator which includes net play but also has a mode to display only odd frames on one computer and only even frames on other?" ...what 08:01:50 oklopol: What about what? 08:02:33 why would there be such a mode 08:03:25 I think it might be useful for some things 08:05:25 I think it might be not useful for some things but it might be useful for some other things. 08:06:11 Yes, OK 08:07:29 can you tell me some things for which it would be useful to have a NES/Famicom emulator which includes net play but also has a mode to display only odd frams on one computer and only even frames on other? 08:07:42 *frames 08:11:21 -!- monqy has quit (Quit: hello). 08:11:49 Such as multiplayers games with separate screens. It could be done on a TV screen as well; it does not have to be only on the emulator. 08:12:13 hmm right 08:12:17 i guess that's a fun hack 08:13:11 The similar thing can also be used for stereovision. 08:47:37 -!- zzo38 has quit (Remote host closed the connection). 09:02:19 -!- FreeFull has joined. 09:40:31 -!- hagb4rd has joined. 10:11:06 -!- Phantom_Hoover has joined. 10:40:26 -!- carado has joined. 10:43:03 -!- DHeadshot has quit (Ping timeout: 245 seconds). 11:08:52 -!- barts_ has joined. 11:11:54 -!- barts has quit (Ping timeout: 240 seconds). 11:21:03 -!- ogrom has quit (Quit: Left). 11:43:32 -!- carado has quit (Quit: Leaving). 11:53:05 -!- Arc_Koen has joined. 11:53:45 hello 11:53:46 Arc_Koen: You have 1 new message. '/msg lambdabot @messages' to read it. 11:53:49 @messages 11:53:50 oerjan said 16h 48m 36s ago: Stupid me, I left the <>'s around your nick when pasting into @tell... 11:55:06 -!- carado has joined. 12:40:06 -!- ogrom has joined. 12:49:23 -!- atriq has joined. 12:50:44 -!- pumpkin has changed nick to copumpkin. 13:01:17 -!- carado has quit (Quit: Leaving). 13:01:28 @messages? 13:01:28 Sorry, no messages today. 13:01:31 Yay! 13:12:51 -!- ogrom has quit (Quit: Left). 13:14:44 -!- atriq has quit (Ping timeout: 246 seconds). 13:18:18 -!- aloril_ has quit (Ping timeout: 276 seconds). 13:19:54 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 13:30:52 -!- aloril_ has joined. 13:43:59 -!- Phantom_Hoover has joined. 13:47:22 -!- kinoSi has quit (Read error: Connection reset by peer). 13:47:49 -!- kinoSi has joined. 14:02:50 -!- sivoais has quit (Read error: Connection reset by peer). 14:03:33 -!- sivoais has joined. 14:09:05 "After these deadly results, British intelligence leaked falsified information implying that the rockets were over-shooting their London target by 10 to 20 miles. This tactic worked and for the remainder of the war most landed in Kent due to erroneous recalibration.[37] 14:09:05 " -- [[V-2] 14:09:08 *]] 14:09:27 competent nazis 14:11:16 I like that story :) they trusted the double agents more than their (correct) radio location thingy 14:11:38 also apparently the v-2 programme cost more than the manhattan project 14:12:07 rockets = hard, throwing plutinium together = easy 14:12:33 silly olsner 14:12:43 gun-type assemblies don't work with plutonium 14:13:29 I think they're all based on some kind of throwing together of stuff, doesn't have to be gun-type 14:14:10 implosion assemblies are more about squeezing 14:15:44 I saw a ted talk about the norden bombsight a while ago, iirc it cost about half of the manhattan project 14:30:59 -!- oerjan has joined. 14:32:13 atriq: why are you happy when you have no messages? 14:34:33 @tell I think the DotFami mapper codes actually form a idempotent commutative monoid, rather than just being a monoid. <-- i think an idempotent commutative monoid may the same as a semilattice 14:34:33 Consider it noted. 14:34:37 argh 14:34:50 @tell zzo38 I think the DotFami mapper codes actually form a idempotent commutative monoid, rather than just being a monoid. <-- i think an idempotent commutative monoid may the same as a semilattice 14:34:50 Consider it noted. 14:35:16 `pastelogs oerjan_?> [@]tell < 14:35:24 -!- atriq has joined. 14:35:55 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.23392 14:35:56 @tell zzo38 *may be 14:35:56 Consider it noted. 14:36:23 `pastelogs oerjan_?> [@]tell < 14:36:33 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.21919 14:36:41 oerjan: It keeps happening. 14:38:22 what, the @tell < or HackEgo not working properly? 14:38:50 @tell zzo38 Does the Haskell compiler know that equality is reflexive? <-- it actually isn't, for Double (NaN) 14:38:50 Consider it noted. 14:39:30 i hope zzo38 doesn't get confused by me resending answers from back in january 14:39:35 oerjan: Both. 14:39:45 -!- atriq has quit (Ping timeout: 244 seconds). 14:39:49 there were only those three, however. 14:40:11 oerjan: But if you only take into account the seconds when they sent, that's like one every second. 14:40:24 DEEP 14:43:52 @src Monoid 14:43:52 class Monoid a where 14:43:52 mempty :: a 14:43:52 mappend :: a -> a -> a 14:43:52 mconcat :: [a] -> a 14:44:00 @tell zzo38 Actually, a it's a semilattice with a bottom element (the mempty). 14:44:00 Consider it noted. 14:44:15 @tell zzo38 *-a 14:44:15 Consider it noted. 14:46:35 @tell zzo38 From wikipedia: "A bounded semilattice is an idempotent commutative monoid." 14:46:35 Consider it noted. 14:49:42 -!- elliott has joined. 14:49:48 fizzie: Hey, you use the console sometimes, right? 14:50:08 a master of consolation 14:50:53 Not so often these days. And I'm making foods at the moment. 14:51:05 a master of cuisine too! 14:51:22 fizzie: Man, you and your foods. 14:51:34 People DIE if food is not made. 14:51:42 Or so they say, anyway. 14:51:48 fizzie: Yeah well, I'll die if my console remains unable to display Unicode characters!!! 14:51:53 Think about ME for a change, fizzie. 14:52:31 unicode characters are a vital part of elliott's immortality scheme 14:53:09 wait, wasn't i also supposed to eat -> 14:53:53 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds). 14:53:55 From what I recall from the days I actually used it, it's relatively easy to make it use UTF-8, but there seemed to be some kind of an issue fitting more than about 512 characters in a font. 14:54:11 fizzie: Weeeell, I'm using Terminus. 14:54:20 "ter-u20n". I assume the u is for Unicode??? 14:54:32 Anyway the fancy e in "caf[fancy e]" is just displaying as a square on the console. 14:54:48 There's this keymap option like "FONT_MAP=8859-2" that apparently you're meant to set appropriately for the font. 14:54:53 But I don't know what it's supposed to be for this one. 14:55:08 Alternatively maybe I am using the wrong Terminus?? 14:55:13 There are also a bunch with three digits and no "u". 14:55:21 Is that just the accented e? I'd think that'd be in the console selection. 14:55:28 Yes, the accented one. 14:55:31 The fancy French e. 14:55:55 Maybe I want, e.g. ter-120n. 14:55:56 -!- carado has joined. 14:56:00 Or ter-220n. 14:56:06 Or ter-520n. 14:56:13 Who even knows what these numbers and letters are??? 14:56:24 I guess there might be documentation somewhere? 14:57:16 ter-2* iso02, cp1250 ISO8859-2, Windows-1250 14:57:19 ter-u* koi8u KOI8-U 14:57:28 It doesn't seem to be the 'u' you want. 14:57:33 ter-1* iso01, iso15, cp1252 ISO8859-1, ISO8859-15, Windows-1252 14:58:00 That one is borderline reasonable. 14:58:02 ter-v* all listed above all listed above and many others (about 110 and many others language sets), 8 foreground colors 14:58:24 That one sounds funny, I wonder how it works. 14:59:29 It also claims the PSF has the "Unicode data"; I vaguely indeed recall that was a thing. 14:59:42 That, and a console set to UTF-8 mode, should mean the code page doesn't actually matter. 14:59:56 Though I suppose the koi8u version wouldn't necessarily have an accented e. 15:01:37 fizzie: So, er, which prefix of 12579cdfgkpux do I want? 15:02:55 -!- ogrom has joined. 15:04:16 I think '1' is like the most general-purposey, unless you have that 'v' thing and it works. 15:04:45 fizzie: I don't appear to have a v thing. :( 15:05:08 It also claims the PSF has the "Unicode data"; I vaguely indeed recall that was a thing. That, and a console set to UTF-8 mode, should mean the code page doesn't actually matter. 15:05:13 So, er, does that mean I can't use this or something? 15:05:15 (Is that the v thing?) 15:06:22 No, I just mean you shouldn't necessarily need to tell the thing about the code page, if it's using UTF-8 and has the Unicode code points in the PSF, since it'd pick characters using the code points. And I understood that applied to all the PSF versions, not just the mysterious v. 15:07:07 fizzie: So if I pick the 1 thing I should get the full Unicode coverage? I mean, as full as Terminus has to start with (e.g. in X). 15:07:18 Or is the character set still limited? 15:07:42 Well, it would be limited to 512 characters in any case, as far as I know. 15:07:52 how did you end up having to choose variants of terminus? 15:07:52 Ah. :( 15:08:04 olsner: Well, you know, Linux console. 15:08:08 iirc, I just installed it and since then it works 15:08:23 On the other hand, Terminus' README says it has 879 characters in total, so 512 is not a lot less. 15:08:38 I don't know whether the '1' variant only has the code pages it mentions or what, though. 15:08:58 There are tools to dump a list of characters in a PSF file, you could check with one. 15:09:08 I think I'll just live in ignorance. 15:09:17 I have no idea how systemd vconsole things are used to configure fonts, anyway. Back when I fiddled with these I just had the consoletools package. 15:09:18 but otoh, I don't use the linux console so I wouldn't notice if that part is completely broken 15:09:49 fizzie: Wait, when did I say anything about vconsole? 15:10:11 elliott: The hits for "FONT_MAP" said things about it. I suppose it could be something else. 15:10:21 It's kind of a generic-sounding term. 15:10:28 Oh, right. 15:10:44 fizzie: Well, I'm just migrating my Arch system from rc.conf to this vconsole.conf thing, but I happened to set Terminus as my console font at the same time. 15:11:01 fizzie: I'm not actually using systemd, but they're deprecating most of rc.conf and telling you to move settings to all these little files to prepare for switching over to systemd. 15:12:28 There's something called "FONT_UNIMAP" too, apparently. But from what I recall, in UTF-8 mode -- which is certainly the only reasonable mode these days -- the mappings weren't really relevant. 15:12:59 fizzie: Also, uh, wish me luck in upgrading to GRUB2. 15:13:07 Sort of scared. 15:13:16 Good luck. It went well for me. 15:13:25 Mature and well-tested technology and all that. 15:13:56 :: grub-common and grub are in conflict. Remove grub? [y/N] y 15:13:57 RIP 15:14:22 Anyway as long as you can boot from something external maybe things won't become too unfixable. I had that one laptop that couldn't boot from anything else than the internal HD, fiddling with its boot setup was always so tense. 15:14:23 Usually the post-MBR gap (after the 512 byte MBR region and before the start of the 1st partition) in many MBR (or msdos disklabel) partitioned systems is 31 KiB when DOS compatibility cylinder alignment issues are satisfied in the partition table. However a post-MBR gap of about 1 to 2 MiB is recommended to provide sufficient room for embedding GRUB2's core.img (FS#24103). It is advisable to use a partitioner which supports 1 MiB partition align 15:14:23 ment to obtain this space as well as satisfy other non-512 byte sector issues (which are unrelated to embedding of core.img). 15:14:23 If you do not dual-boot with MS Windows (any version) in BIOS systems, it is advisable to switch to GPT partitioning - GUID_Partition_Table#Convert_from_MBR_to_GPT 15:14:25 Um. 15:14:33 fizzie: Do I need to understand all this? 15:14:53 Also is it really telling me to switch from MBR to GPT on a regular system? That sounds sort of like a bad idea. 15:15:04 Maybe they want to be futuristic. 15:15:09 I mean, lots of things don't even support GPT, do they?? 15:15:15 They want you to do UEFI too :P 15:15:27 You don't exactly need "lots of things" to support it do you 15:15:34 Your hardware, bootloader and kernel mostly. 15:15:42 Hardware being the hard part (no pun intended) 15:15:54 Well, no, but it sounds like it'd be an awful pain if I ever, e.g., wanted to install an OS that has no clue what GPT is. 15:15:55 I couldn't be bothered with GPT 15:16:07 What kind of OS doesn't even support GPT these days 15:16:17 why the heck did they EVICT my favorite restaurant? 15:16:19 But anyway I guess I shouldn't be surprised that Arch advice is putting bleeding-edge high-techness over practicality.. 15:16:20 The mentioned MS Windows in BIOS systems maybe. :p 15:16:21 * oerjan screams 15:16:51 *hell 15:17:02 oerjan: you probably didn't eat there often enough 15:17:10 olsner: almost every day :( 15:17:13 They probably had rats in the food. 15:17:16 wait, what is "hell" replacing there 15:17:23 elliott: heck 15:17:28 oh 15:17:36 oerjan: don't they usually give notice of these kinds of things 15:17:38 "they" 15:17:42 oerjan: maybe they got evicted for letting people like you in 15:18:20 elliott: well yes, i've known it for a few months, but two days ago they actually closed :( 15:18:43 :( 15:19:08 [[ 15:19:08 There are 3 ways to install GRUB(2) boot files in BIOS booting: 15:19:09 #Install_to_440-byte_MBR_boot_code_region (recommended) , 15:19:09 #Install_to_Partition_or_Partitionless_Disk (not recommended), 15:19:09 #Generate_core.img_alone (safest method, but requires another BIOS bootloader like grub-legacy or syslinux to be installed to chainload /boot/grub/i386-pc/core.img). 15:19:10 ]] 15:19:18 fizzie: Sometimes I think about switching back to Debian. 15:19:48 nice, installing grub to boot grub is a recommended solution 15:20:06 if you interpret "safest method" as a recommendation 15:20:34 One of them is explicitly flagged as "recommended", I think that's the... recommended one. 15:20:47 Oh wow, "sudo grub-install --target=i386-pc --recheck --debug /dev/sda" produces a lot of output. 15:21:20 Debian's GRUB 2 installer initially did that #3 and configured the existing GRUB <2 to chainload the core.img; then when you had booted a couple of time and were certain it works, you were meant to call a script that actually put the GRUB 2 in the MBR. 15:21:38 That's sily. 15:22:52 fizzie: Okay I think it is done??? Let's try 15:23:01 And that was the last we heard of him. 15:23:35 -!- elliott has quit (Remote host closed the connection). 15:23:50 fizzie: they got impeccable marks on all the recent hygiene controls. (in trondheim they have to put the result form visible in the restaurant.) 15:24:29 no, i am going to believe it was pure greed by the landowner. (they're being replaced by a pharmacy.) 15:24:35 oerjan: Ooh, they should do that here too. Does it have to be "prominently visible" or something? 15:24:41 Like, neon lights and signs. 15:24:42 fizzie: yeah 15:24:50 well, not neon lights :P 15:25:07 -!- elliott has joined. 15:25:24 The local IKEA's restaurant has a diploma on the wall about how they do "organic" things. 15:25:44 So, um, it works, but it runs in a really really freaky resolution. 15:26:05 Like, it is stretching a 4:3 (but larger than the "plain old BIOS text") resolution to my widescreen... screen. 15:26:08 Oh, and some gas station in Norway where we stopped had a whole wall full of all kinds of yellowed diplomas about marketing seminars from 1989 or whatever. 15:26:15 Is there any hope of getting it the same resolution as my Linux console? 15:26:19 Or is that too fancy to ask of a bootloader. 15:26:23 (1336x768 or something.) 15:26:53 They at least used to be somewhat limited to modes listed by the BIOS in question. 15:27:09 Yes, but this is GRUB2. It's so fancy, and the future. 15:27:43 Visual Configuration 15:27:43 In GRUB2 it is possible, by default, to change the look of the menu. Make sure to initialize, if not done already, GRUB2 graphical terminal, gfxterm, with proper video mode, gfxmode, in GRUB2. This can be seen in the section #Correct_GRUB2_No_Suitable_Mode_Found_Error. This video mode is passed by GRUB2 to the linux kernel via 'gfxpayload' so any visual configurations need this mode in order to be in effect. 15:27:43 Setting the framebuffer resolution 15:27:43 GRUB2 can set the framebuffer for both GRUB2 itself and the kernel. The old vga= way is deprecated. The preferred method is editing /etc/default/grub as the following sample: 15:27:46 GRUB_GFXMODE=1024x768x32 15:27:48 GRUB_GFXPAYLOAD_LINUX=keep 15:27:50 fizzie: See? This looks super fancy. 15:27:53 "The VESA widescreen resolutions are not standardized, and I have never once been able to get one working from Grub2. I have heard it's possible, if using an Intel GFX chip and some semi-complicated VESA soft-patching", says some guy. 15:28:01 "You can choose one of these resolutions: 640×480, 800×600, 1024×768, 1280×1024, 1600×1200, 1920×1200" 15:28:05 None of those are the right resolution. :( 15:28:10 fizzie: Well I am using an Intel chip. 15:28:24 "Some times for Intel graphic adapters neither # hwinfo --framebuffer nor vbeinfo will show you the desired resolution. In this case you can use 915resolution hack. This hack will temporarily modify video BIOS and add needed resolution. See 915resolution's home page" 15:28:31 fizzie: Maybe I can use this to enable the true resolution?? 15:28:43 You can certainly *try*. 15:29:01 It's of course even possible your VESA BIOS has the widescreen resolution modes listed directly. 15:29:17 In which case I suppose just stating the mode should work. 15:29:24 fizzie: If this breaks horribly how will I boot things??? I don't even know wher my External Bootable USB Medium(TM) is. 15:29:34 Do you think grub has some kind of fallback if you specify an invalid resolution. 15:30:02 If you have it doing the right thing unattended, you can just touch nothing if it's messed up. 15:30:28 Right. Hokay then. 15:30:41 And anyway I suppose if the BIOS call to switch modes says "I don't like this" it's likely to just keep whatever resolution it was, or choose some "safe" default. 15:30:47 fizzie: Maybe I should install coreboot so I can get my BIOS to use the right resolution too!!! 15:30:50 I assume it supports fancy things like that. 15:31:11 # note that you can use only modes which your graphic card supports via VBE 15:31:12 # you can see them in real GRUB with the command `vbeinfo' 15:31:14 I guess I could try this also. 15:31:22 -!- Nisstyre-laptop has joined. 15:31:28 That's true, you could try that. 15:31:34 But I won't! 15:31:40 -!- elliott has quit (Remote host closed the connection). 15:33:04 now, last time we heard from him for _real_! 15:34:57 obviously *this* time he's really gone 15:35:07 yeah. 15:38:28 -!- elliott has joined. 15:38:35 Okay, since that's the case, those onions aren't going to dice themselves. -> 15:38:35 Intel chipset detected. However, 915resolution was unable to determine the chipset type. 15:38:39 :'( 15:38:40 Oh, dangnabbits. 15:38:41 darn, null hypothesis failed again! 15:38:50 Well, the onions still won't. 15:38:51 Well, I mean, you can go do whatever. But I might cry. 15:40:06 isn't it more likely that fizzie will cry, given the task at hand? 15:40:14 elliott: due to the onions? the onions are in finland 15:40:34 fizzie: I bet you're here. 15:40:46 [[ 15:40:46 Next, our purpose is to overwrite mode 30. (You can choose what ever mode you want.) In the file /etc/grub.d/00_header just before the set gfxmode=${GRUB_GFXMODE} line insert: 15:40:47 915resolution 30 1440 900 15:40:47 ]] 15:40:48 the hexham onion chop of 2012 15:40:50 Does it matter which mode you pick??? 15:40:52 Could something bad happen. 15:41:04 staffed entirely by finns 15:41:06 more famous last words 15:49:00 isn't it great how all of Linux functionality is reimplemented from scratch in GRUB just so you can use it for two seconds before you boot Linux? 15:49:34 GNOME for GRUB™ 15:49:58 * shachaf off to Seattle soon. 15:50:01 yeah, DON'T YOU JUST LOVE how modern operating systems require other operating systems to boot? 15:50:06 kmc: I don't like bootloaders. 15:50:17 elliott: Let me guess, @'s bootloader is @? 15:50:23 shachaf: Yes. :( 15:50:29 olsner: It's not really an operating system when all it can do is boot a kernel 15:50:36 grub can do more than that. 15:50:38 @s all the way down 15:50:38 Maybe you meant: shootout show slap smack source spell spell-all src . ? @ v 15:50:40 I think it even has a game of some kind. 15:50:48 COMMERCIAL AT 15:50:53 That's @'s full nam, right? 15:50:57 But seriously, if you have any kind of complexity in terms of reading files -- like say, encryption, LVM-type stuff, or whatever -- then your bootloader inevitably becomes more and more like your OS. 15:51:13 And eventually you've just rewritten your OS except weirder and with less functionality, except that this time it also has a boot sector. 15:51:23 FreeFull: just because all you use it for is booting another kernel, that doesn't mean it's not an OS 15:51:24 Yuck. 15:52:40 and it's not true that GRUB can only boot a kernel 15:52:47 doesn't GRUB2 have a turing complete scripting language 15:52:51 and filesystem read/write 15:52:53 and network capability 15:52:59 someone should write a webserver for GRUB2 15:52:59 When life gives you onions, make onionade. Okay, gone again. 15:53:13 so that you can log into the machine you just booted and select the kernel through an AJAXy web interface 15:53:16 just because 15:53:20 (bbl) 15:53:33 grub2 comes with a shell that can actually do stuff, that makes it really clear that it's an OS 15:55:03 -!- atriq has joined. 15:55:15 -!- elliott has quit (Remote host closed the connection). 15:55:21 GRUB2 is *definitely* an OS. 15:55:28 I use syslinux 15:55:29 Perhaps a relatively light-weight OS, but even so. 15:55:37 FreeFull: And that's not an OS. :) 15:55:47 I use 3D glasses 15:55:54 syslinux isn't (afaik), but DOS is an OS 15:56:06 I don't use DOS though 15:56:20 syslinux is essentially DOS's bootloading scheme adapted to Linux. 15:56:53 isn't syslinux an actual DOS application? 15:57:29 olsner: Though it might work on DOS, syslinux is the FAT bootloader, done in normal FAT bootloader style. 15:57:49 It also refers to the class of similar bootloaders, including isolinux and extlinux... 15:58:05 loadlin is the DOS program. 15:58:05 A part of syslinux can be used to boot linux from DOS, but you don't need dos to boot using syslinux 15:58:25 oh, ok 15:58:30 Uh, syslinux doesn't have loadlin I don't think? 15:58:35 I have the normal MBR -> second stage -> linux setup 15:58:41 Without a separate boot partition 15:59:46 Well. I guess syslinux itself almost counts as an OS. Because it can bootload COM files too. 16:00:03 Or "COM32" files. 16:00:11 (which is exactly what it sounds like) 16:00:20 pikhq_: com files are plain x86 code 16:00:23 No header or anything 16:00:34 I am very well aware. 16:00:49 Kernels are x86 code too =P 16:00:56 So I heard you like bootloaders 16:01:09 FreeFull: By that notion DOS is a bootloader. 16:01:27 Well, DOS does more than just loading executables 16:01:41 It provides an API for doing stuff 16:01:58 So does syslinux. 16:02:28 -!- jix has quit (Remote host closed the connection). 16:02:35 A very, very limited subset of DOS and a couple things handy for adding functionality to the boot process. 16:03:35 The difference is that DOS by default asks the user what to do, while syslinux by default follows the configuration =P 16:04:09 Cannot find /dev/sda1. Abort, retry, fail? 16:04:10 Also, 16:04:21 Also, I don't know if it's possible to go back to syslinux once the com32 file is done 16:04:56 It's an operating system with continuation passing, duh 16:10:07 -!- elliott has joined. 16:10:48 fizzie: Do you know how to change the Linux console cursor? 16:10:51 By the way, don't forget the third copy of a subset of an operating system that needs to be implemented in the firmware. 16:10:53 Like, pre-shell-opening. 16:11:08 I know you can put some funny escape codes in your bashrc or whatever, but that doesn't help for the login prompt and whatnot. 16:11:11 VITALLY IMPORTANT THINGS. 16:14:18 Does anyone know where I can get help with a problem with Ubuntu Unity without people telling me that Unity sucks? 16:14:28 Unity sucks. 16:14:48 atriq: not here, apparently 16:15:00 Evidently 16:15:09 Obviously 16:16:25 atriq: Try http://askubuntu.com/. 16:16:47 I don't exactly know how to elucidate my problem 16:17:05 it's not working? stop using it, problem solved. 16:17:10 atriq: Well, that's a problem. 16:17:21 atriq: You could ask for help on http://english.stackexchange.com/! 16:18:54 Do you know how to take a screenshot with the mouse cursor displayed? 16:19:26 Uhh, not really. I think it's possible, though. 16:19:28 I think scrot can do it. 16:19:38 Once settled in, ferrets quickly establish their territory and set the house rules: What's theirs is theirs, what's yours is up for grabs. 16:19:55 -!- elliott has quit (Remote host closed the connection). 16:25:19 huh, http://english.stackexchange.com/ exists 16:27:11 those people are such cycles 16:27:34 http://islam.stackexchange.com/ 16:34:43 -!- ogrom has quit (Quit: Left). 16:40:13 -!- Frooxius has joined. 16:49:16 -!- ogrom has joined. 16:50:23 -!- elliott has joined. 16:50:45 fizzie: hello 16:52:38 elliott: There's a set of escape codes that date from the VGA console days, I'm not sure if they still do the same thing in fbcon. They can set the hardware console to underscore/lower-third/lower-half/lower-two-thirds/full-block, or turn on the soft cursor that has the same shapes but also a color. 16:52:55 I only have the vgacon. 16:53:20 fizzie: Thanxe. 16:53:35 fizzie: Do you know how much of the average /var/log is produced by syslog? 16:53:36 fizzie: I think Linux does emulate them 16:53:43 Not fully certain though 16:53:46 FreeFull: I wouldn't be surprised. 16:53:51 fizzie: I've gotten systemd working but it doesn't seem to have this syslog compatibility shim thing running. 16:54:03 fizzie: So I'm wondering if I want to get that working or whether I could just do without any syslog support whatsoever. 16:54:18 The codes aren't for some reason listed in the usual console_codes man page (or if they are, I didn't notice) but googling found http://linuxgazette.net/137/anonymous.html that lists them. 16:54:19 If you tell me what the escape codes are I can find out 16:54:33 FreeFull: \e[?4c should make a half-block. 16:54:54 fizzie: (The escape codes aren't the problem; the main problem is that I can't figure out how I can get that to run before login(1) or such.) 16:55:37 fizzie: Works 16:56:11 -!- Phantom_Hoover has joined. 16:56:25 Changing the number to 1 turns it off entirely 16:56:31 As for /var/log all the usual things (auth, daemon, dmesg, mail.{log,info,warn,err} and so on) I think tend to go through syslog; only "major" things like Samba, HTTP servers and so on have their own logging. At least in the systems I have. 16:56:39 FreeFull: Yes, it should. 16:56:57 FreeFull: 1-6 should be a steadily growing thing from invisible to full block. 16:57:27 fizzie: I guess I should probably get this working then. 16:57:27 Yep, it does that 16:57:49 (VGA hardware cursor is specified in terms of scanlines, so it's not really exposing the full functionality; VGA cursor can be a middle-of-the-cell thing, or an overline. 16:57:49 fizzie: The wiki page is just all 16:57:49 [[ 16:57:50 Since version 38 systemd has an own logging system, the journal. 16:57:50 By default, running a syslog daemon is no longer required. To read the log, use: 16:57:50 ]] 16:58:14 I know absolutely nothing about systemd. Except that I hear it's all the rage. 16:58:20 As in, popular. 16:58:29 Well, uh, does this look sane to you? https://wiki.archlinux.org/index.php/systemd#Journald_in_conjunction_with_a_classic_syslog_daemon 16:58:49 I don't even know what that would do exactly. 16:58:58 I think the goal is to get syslog stuff filtered through into the systemd(tm) journal(tm). 16:59:05 -!- oerjan has quit (Quit: leaving). 16:59:06 But I don't really know how to do that because I'm incompetent. 17:00:31 I think -- based on http://lwn.net/Articles/474968/ -- that systemd is "syslog-compatible" out of the box in the sense that it provides a /dev/log applications can log to, and those already go to wherever it is the journal goes. 17:01:06 But if you want a traditional syslogd sorting the messages and outputting /var/log/whatever as it is configured to, you'll just start the traditional syslogd and make it read that /run/systemd/journal/syslog and then it also gets all that stuff. 17:01:27 I suppose if you're not terribly interested in how the logs are organized, letting systemd do the whole thing is okay too. 17:01:35 Assuming it writes the journal somewhere. 17:02:05 "Note that the journal will store log data only on /run/log/journal which makes it volatile. If a subdirectory /var/log/journal is created the journal will instead store its data on /var, thus making the journal persistant." 17:02:28 You might do that and then use that systemd-journalctl thing that can output human-readable things or JSON or whatever, it sounds very modern. 17:03:24 I mean, unless you have a traditional syslogd configuration you're interested in keeping. 17:04:06 I think -- based on http://lwn.net/Articles/474968/ -- that systemd is "syslog-compatible" out of the box in the sense that it provides a /dev/log applications can log to, and those already go to wherever it is the journal goes. 17:04:09 Oh, I do have a /dev/log. 17:04:15 I was trying nc -u 127.0.0.1 514. 17:04:24 The Googles told me that's how you sent a message to syslog. 17:04:25 Did they mislead me? 17:04:28 That's often not enabled by default. 17:04:33 Right. 17:04:37 Or, well, I don't know how often, but at least sometimes. 17:04:52 I don't think I need /var/log/whatever. I mean, I don't really look at them often, and I think systemd has its own stuff to read the logs. 17:05:10 Yes, it seems to have a thing that can produce things from the journal in all kinds of formats. 17:05:24 There's this "journalctl" that just spews a bunch of output to a pager when run as root, at least. 17:05:31 Including all the sudo logs and whatnot. 17:05:34 So I suppose it is working fine. 17:05:40 Yes. So it sounds like it's working okays. 17:05:57 But you can do that thing referred to above if you want to make the journal persistent and not wiped out at each boot. 17:06:07 Right, I heard about having to do the mkdir thing. 17:06:14 s/\s+/ /g 17:06:22 Well, I guess I'll uninstall sysvinit. 17:06:24 You know, living on the edge. 17:06:56 For the record, I don't seem to have an UDP-listening syslogd either. It's not really necessary except when wanting to collect logs over the network from other boxes. 17:07:09 I think my VDSL2 modem can send stuff to a listening syslogd. 17:07:27 Except it doesn't write anything very interesting in the log last I looked. 17:07:34 Right. 17:07:46 The thing I found was all about testing a syslog server with a separate IP and so on. 17:08:32 "B0 Line Rate - Downstream (Kbps): 99998" 17:08:35 That sounds a bit dubious. 17:08:45 (I went to look at the box's webif.) 17:09:21 "Slow boot? Blame systemd! 17:09:21 No, this is not a disparaging or bashing article of the new Linux boot process technology designed to replace the older, classic System V init daemon." 17:09:27 Good thing you didn't give it a sensationalised title, then! 17:10:13 Huh, I wonder if someone has done something to our internets. Upgraded hardware or something. 17:10:31 It reports attainable down/upstream rates as 123180/46260 Kbps. 17:10:49 They used to be something like 70M/... well, I don't remember what the upstream was. 17:11:01 Hokay, so I want to do "sudo systemctl enable dhcpcd@eth0.service", I think. 17:12:26 Then "sudo systemctl enable cronie.service". 17:12:26 -!- sivoais has quit (Read error: Connection reset by peer). 17:12:54 Then alsa-store.service and alsa-restore.service. 17:13:03 The unit files have no [Install] section. They are not meant to be enabled using systemctl. 17:13:03 HELP 17:13:15 -!- sivoais has joined. 17:13:16 Oh, it's default. 17:13:46 RIP DAEMONS=(network crond alsa). 17:14:09 fizzie: Isn't the FUTURE EXCITING? 17:15:25 It's almost enough for me to also try entering the future. But not quite. 17:15:46 I could do the stupid thing and try out the open-source nv driver one of these days, though. 17:15:52 fizzie: My system boots up in, like, seconds now!!! 17:15:55 Seconds! 17:16:03 fizzie: PARALLEL. 17:16:10 :: systemd-sysvcompat and sysvinit are in conflict. Remove sysvinit? [y/N] y 17:16:14 THE FUTURE 17:16:21 Amazzing. 17:16:28 I just saved 0.09 MiB by entering the future! 17:16:58 I should set up ntp. 17:17:01 I don't think I actually have it here. 17:17:03 And ntp is very future. 17:17:06 Debian went "parallel" with sysvinit+dependency-based boot ordering quite a while ago, I believe. 17:17:13 You should set up a GPS clock. 17:17:18 There was a picture not long ago. 17:17:19 elliott: don't do it, ntp will just adjust your system time back into the present 17:17:52 fizzie: It's actually silly-yet-amazing. 17:17:58 fizzie: Yes, but did you know that systemd is EVEN MORE PARALLEL? 17:18:01 fizzie: They create a makefile and run it with make -j 17:18:05 fizzie: It starts up services BEFORE THEIR DEPENDENCIES. 17:18:24 elliott: http://imgur.com/a/WtaOp if you didn't see it, it's what ion did. 17:18:42 fizzie: (By opening a fake socket on the same port or whatever as the dependencies, and then holding everything that comes in there until the thing actually starts, and then forwards it on.) 17:19:05 pikhq_: Oh. I assumed the "Makefile-based init" or whatever message that came up on every boot meant something... more reasonable. 17:19:05 I really need to get better at naming types 17:19:13 If you set up NTP, you'll get a stratum-2 time at best; if you have your own GPS receiver you'll be stratum-1. 17:19:20 Can I be stratum-0? 17:19:46 Only if your NTP server *actually is* an atomic clock. 17:19:46 If your computer is an atomic clock, maybe. 17:19:49 pikhq_: (Do they really do that?) 17:20:01 elliott: Yes, that's how make-based init works. 17:20:09 fizzie: What if I buy an atomic clock and plug it into my computer? 17:20:11 I bet they're cheap nowadays. 17:20:14 It's the future, after all. 17:20:20 elliott: Then the clock is stratum-0 and the computer stratum-1. 17:20:27 (They're weird that way.) 17:20:54 fizzie: What's the difference between a computer with an atomic clock on its motherboard and a computer with a wire running to an atomic clock? 17:20:58 Or is the former stratum-1 too? 17:21:08 What's the opposite of Separation? 17:21:12 (in a marriage context) 17:21:14 elliott: Possibly it is. I'm not really sure. 17:21:18 If you have a display on your atomic clock so you can measure the time it's reading, is that display stratum-0 or stratum-1? 17:21:23 (or, more generically, in a relationship context) 17:21:25 atriq: Matrimony? 17:21:27 :P 17:21:33 Starting to think there's no such thing as stratum-0???? 17:21:39 I guess the actual, like, atoms are stratum-0. 17:21:40 pikhq_, not quite 17:21:42 But they don't really know what time it is. 17:21:45 Perhaps Conjugation 17:21:47 elliott: It's kind of a philosophical question, I suppose. 17:22:07 OKAY LET'S TRY THIS. 17:22:10 -!- elliott has quit (Remote host closed the connection). 17:22:25 what's elliott doing 17:22:36 Trying to achieve enlightenment 17:22:51 leaving for the last time over and over again 17:27:08 ah, we had a word for that back at rationalwiki 17:29:43 -!- elliott has joined. 17:29:48 fizzie: HELP. 17:29:56 fizzie: I feel so future that I want to switch to GPT. 17:30:12 I tried that, didn't boot 17:30:16 "It's your funeral" is I think the phrase. 17:30:29 But it does sound like a natural thing to do. 17:30:38 and the GPT data is all hidden and stuff, so getting rid of it is surprisingly tricky 17:30:54 -!- hagb4rd has quit (Ping timeout: 246 seconds). 17:31:32 I'll try setting up ntp to, you know, stave it off. 17:32:07 Aaaargh 17:32:11 I'm not quite sure what GPT is supposed to give you that the good ol' crap doesn't 17:32:18 olsner: A sense of the future. 17:32:20 Who can I poke about the GEDCOM specs 17:32:44 I might easily consider GPT if setting up a computer right now. 17:33:03 i wish i could consider things like that 17:33:05 I'm not so sure about breaking an existing setup in order to do that. 17:33:27 my laptop has like 3 mystery partitions that i can't bring myself to risk messing with 17:33:37 Phantom_Hoover, can I ask you annoying questions regarding the GEDCOM specifications? 17:33:44 fire away 17:33:57 On the laptop that was set up maybe a year or so ago there was mostly the issue that it needed to dual-boot to Windows and it was a BIOS system. 17:34:16 In the definition of FAMILY_EVENT_STRUCTURE, what does the [Y|] represent? 17:34:37 the void in the soul of the sinner 17:34:39 -!- jiella has joined. 17:34:58 `welcome jiella 17:35:04 jiella: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 17:35:22 jiella, a small jier 17:36:03 jiella, did you want welcoming? 17:36:43 Err. 17:36:47 Not really. 17:36:53 This attention is kind of creepy. 17:37:02 Are you in Finland? 17:37:10 are you in hexham 17:37:12 `? finland 17:37:15 Finland is a European country. There are two people in Finland, and at least nine of them are in this channel. Corun drives the bus. 17:37:16 Why do you ask? 17:37:27 no reason 17:37:29 just curious 17:37:45 Because this is one of the English-language channels with the largest Finn density 17:38:01 Also Hexhamite density 17:38:04 Also, dinner, bbl 17:38:05 -!- atriq has quit (Quit: Leaving). 17:38:59 also this is what we do to all new people 17:39:06 we are a lonely bunch 17:39:11 But I'm not new. 17:39:16 Not really. 17:39:25 hi jiella 17:39:25 I've been here more or less for... four years now? 17:39:32 Hexham or Finland? 17:39:41 we also do it to people we haven't seen lately 17:39:46 and some people we have 17:39:46 Finland. 17:39:50 `WELCOME jiella 17:39:54 JIELLA: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.) 17:40:08 `? sweden 17:40:12 Sweden is the suburb capital of Norway. It's where all the Nobel prizes are announced, except the Math Prize. 17:40:20 `? norway 17:40:23 I was getting cold so now I'm compiling GHC to warm me up. 17:40:24 Norway is the suburb capital of Sweden. It's where the Nobel Peace Prize is announced. 17:40:40 `? denmark 17:40:43 denmark? ¯\(°_o)/¯ 17:40:44 jiella, so uh what nick did you use before 17:40:49 `? iceland 17:40:52 iceland? ¯\(°_o)/¯ 17:41:01 `? scotland 17:41:04 scotland? ¯\(°_o)/¯ 17:41:09 Several. You won't remember them. I say something perhaps every six months or so. 17:41:20 are you sftp 17:42:07 .. you're not going to go through a bunch of nicknames, are you? 17:42:13 yes 17:42:24 sshc 17:42:25 elliott: What are you doing here? 17:42:28 This isn't your channel. 17:42:30 @fresh 17:42:30 Haht 17:42:36 shachaf: fizzie let me 17:42:39 in 17:42:41 isn't that right fizzie 17:42:44 @help fresh 17:42:44 fresh provides: freshname 17:42:45 -!- Nisstyre-laptop has quit (Remote host closed the connection). 17:42:48 @fresh 17:42:49 Hahu 17:42:52 wrong 17:42:56 @help freshname 17:42:56 freshname. Return a unique Haskell project name. 17:43:06 @fresh 17:43:06 Hahv 17:43:38 $ sudo systemctl enable ntpd.service 17:43:39 ln -s '/usr/lib/systemd/system/ntpd.service' '/etc/systemd/system/multi-user.target.wants/ntpd.service' 17:43:40 The most futurest. 17:43:41 @fresh 17:43:41 Hahw 17:43:49 @freshname 17:43:49 Hahx 17:44:00 Uh, I wonder how to get it to enable it now/. 17:44:05 It just increments the letter 17:44:37 -!- Nisstyre-laptop has joined. 17:44:39 elliott: Is HEAD GHC building for you? 17:44:45 I don't build HEAD. 17:44:47 reinventing init seems to be almost as much fun as adding levels of boot loaders 17:44:58 olsner: Well, in fairness, init is pretty terribly-designed. 17:45:07 systemd is better. Not perfect, but... better. 17:45:08 -!- Nisstyre-laptop has quit (Read error: Connection reset by peer). 17:45:28 At least it just runs a bunch of stuff dependency-wise in parallel rather than the tangle of tasks old init does. 17:45:39 sure, but everything sucks anyway, so why add the choice of new kinds of suckage 17:46:13 -!- Nisstyre-laptop has joined. 17:46:23 I suppose it would be alright if there was one better init instead of a hundred 17:46:30 It's faster suckage, olsner. 17:47:22 Ah, "sudo systemctl start multi-user.target" did it. 17:47:23 and that's a good thing 17:47:33 -!- zzo38 has joined. 17:48:08 fizzie: Hey, how do I tell if my luck is... uh... ntp'd? 17:48:14 ntpd is running, but I don't know if it's... thinging. 17:49:40 ntptime seems to print some stats about that 17:49:55 olsner: Thank you, fizzie. 17:50:11 fizzie: "Startup finished in 5173ms (kernel) + 11636ms (userspace) = 16810ms". 17:50:18 Does YOUR system start up in 16810 ms??? 17:50:24 lrwxrwxrwx 1 shachaf shachaf 9 Sep 6 15:26 /home/shachaf/.ghc/ghci_history -> /dev/null 17:50:44 elliott: how often do you start your system? 17:50:50 olsner: Like, EVERY DAY. 17:50:54 I need the fastest suckage. :( 17:51:00 elliott: My *distro* boots in 3. :) 17:51:16 pikhq_: I don't believe your distro boots in 3 ms. 17:51:19 3s 17:51:23 That's not ms!! 17:51:29 3000ms Happy? 17:51:48 Phantom_Hoover: No. At least I don't think so. 17:53:08 at normal rebooting rate my system has about 25 minutes to boot before it spends more time booting than your 16810ms system 17:53:09 pikhq_: I'm actually never happy. 17:53:35 -!- Ginto8 has joined. 17:53:55 elliott: Upstart needs some kind of an extra thing to collect statistics, so I don't really know. (I did see a recent systemd user be all "look at all these statistics I get by default" on me, I think you can get very detailed boot-timings out of it.) 17:54:51 At least I'm under the impression the Ubuntu box has upstart involved. The Debians don't really get booted. 17:55:39 Yes, I can do this: http://sprunge.us/dIMG 17:55:42 It also works with bootchart, apparently. 17:56:01 -!- hagb4rd has joined. 17:59:13 fizzie: Do I have to do something special to check whether my BIOS supports GPT? 17:59:21 I don't really know what can go wrong. 17:59:58 I'd guess that it doesn't .. then again it might have it, or if it has support the support might not work 18:00:10 oh, and if the gpt support is there and works, it might only be able to boot windows 18:00:12 elliott: If it's a BIOS, it doesn't. 18:00:22 However, BIOS also doesn't support DOS partitions. 18:00:37 The BIOS's concept of partitioning is "load the first sector"... 18:00:53 If you're not using UEFI, you simply need an MBR that groks GPT. 18:01:00 pikhq_: Right. 18:01:09 pikhq_: And I guess GRUB2 does that. 18:01:17 (Do you use GPT??? Maybe I can be "ahead of the pack".) 18:01:24 Currently I don't. 18:01:28 My next system will. 18:01:37 Is there some kind of hack you can do to get Windows booting from GPT? 18:01:39 I'm still on an LVM setup. 18:01:44 Some kind of chainloading nonsense or the like. 18:02:13 (Also will this break /dev/sda2 and the like? I remember those having different names on OS X, which uses GPT.) 18:02:30 Uh, no, pretty sure Windows only supports booting from GPT if booted from UEFI... 18:04:08 It shouldn't. Linux's partition numbering is not based in DOS partitioning, but rather its generic partition handling code. Aside from that low level bit in the kernel, GPT is indistinct from all other partition formats. 18:04:41 Including BSD disklabels, classic Mac OS partitions, and anything else anyone was crazy enough to implement. 18:05:08 Right. 18:05:18 I would sort of like to not totally lock myself out of booting Windows. 18:05:24 Though I suppose I'm not likely to actually do so. 18:05:29 Is there a way to convert GPT back to MBR? :p 18:06:57 gdisk's "g" command. 18:07:08 Oh, awesomer. 18:07:15 You could create a "hybrid MBR"... 18:07:23 Is that like what Boot Camp does on OS X? 18:07:25 FreeDOS boots much faster 18:07:25 zzo38: You have 7 new messages. '/msg lambdabot @messages' to read them. 18:07:27 Yes. 18:07:30 It makes an MBR and synchronises that with the GPT or something. 18:07:33 Is that well-supported on Linux? 18:07:36 ?messages? 18:07:36 zzo38: You have 7 new messages. '/msg lambdabot @messages' to read them. 18:07:38 ?messages 18:07:39 Sgeo said 1m 8d 51m 9s ago: Now you have a message. 18:07:39 oerjan said 3h 32m 48s ago: I think the DotFami mapper codes actually form a idempotent commutative monoid, rather than just being a monoid. <-- i think an idempotent commutative monoid may 18:07:39 the same as a semilattice 18:07:39 oerjan said 3h 31m 42s ago: *may be 18:07:39 oerjan said 3h 28m 48s ago: Does the Haskell compiler know that equality is reflexive? <-- it actually isn't, for Double (NaN) 18:07:41 oerjan said 3h 23m 38s ago: Actually, a it's a semilattice with a bottom element (the mempty). 18:07:43 oerjan said 3h 23m 23s ago: *-a 18:07:43 ?messages 18:07:45 oerjan said 3h 21m 3s ago: From wikipedia: "A bounded semilattice is an idempotent commutative monoid." 18:07:47 You don't have any new messages. 18:07:47 All I remember is it is sort of a pain when they get out of sync. 18:08:30 Linux appears to be fussy if the first partition on disk is not EFI. 18:09:03 Erm, not GPT. 18:09:22 Actually, yeah. As part of its GPT support it needs the first partition to be an EFI partition. 18:09:35 Right. 18:09:38 However, if that's the case it'll just ignore the DOS partitions. 18:09:44 (I assume that doesn't mean I have to run EFI?) 18:09:56 It doesn't mean that at all. 18:10:04 That's just the partition EFI would read from if it existed. 18:10:33 Right. 18:10:36 -!- atriq has joined. 18:11:50 And Windows will gleefully ignore the GPT partitions. 18:13:21 Hahah. And FreeBSD has the best hybrid MBR support possible. 18:13:39 Faced with a hybrid setup, it parses both the GPT and classic partition headers. 18:13:46 And you get device files for both. 18:14:06 that sounds bad if they are duplicates 18:14:21 It also has logic preventing badness. 18:14:27 ok 18:14:40 pikhq_: Why doesn't Linux do that? 18:14:44 FreeFull: Beats me. 18:14:50 Oh, wait, duh. 18:15:02 Because Linux's partition numbering scheme doesn't quite handle that case well. 18:15:09 Hmm 18:15:27 /dev/sdaN doesn't work nicely for parallel partition numbers 18:15:50 /dev/da0pN and /dev/da0sN does, though. 18:18:09 I am REALLY bad at coming up with names 18:18:40 pikhq_: Couldn't it just use more numbers 18:19:07 FreeFull: Still doesn't quite seem right. Some of those numbers will refer to the same blocks. 18:19:25 pikhq_: Do you know of a login manager that doesn't depend on ConsoleKit? 18:19:33 Login manager. I mean display manager thing. 18:20:14 I don't think LXDE does. 18:20:28 There's also XDM. 18:20:50 I... guess I could use XDM. 18:20:58 -!- elliott has quit (Remote host closed the connection). 18:24:09 -!- elliott has joined. 18:24:16 pikhq_: You use systemd, right? 18:24:23 Nah. 18:24:40 I use stock init ATM, at one point I'd like to distro-like-crazy and use runit. 18:25:18 pikhq_: Can you start using systemd so I can ask questions about it? :p 18:25:53 I'd rather not. I'm not much of a Lennart fan. :P 18:26:13 (to fix problems with pulseaudio, do: apt-get remove pulseaudio ) 18:26:24 pikhq_: I prefer purge 18:26:36 pikhq_: Also, I'm not entirely convinced that doing that won't fix problems even if pulseaudio isn't installed 18:26:51 I use systemd 18:26:54 Not pulseaudio though 18:26:56 pikhq_: I don't like PulseAudio, but systemd is quite nice. 18:26:59 At least so far. 18:27:14 IIRC runit doesn't actually work properly as PID 1? 18:27:55 -!- monqy has joined. 18:27:58 FreeFull: Do you happen to use Arch also? 18:28:18 Yes 18:29:02 elliott: Yeah, but PID 1 does not need to do much. 18:29:29 FreeFull: Do you happen to know if I still need "fsck" in the HOOKS list in /etc/mkinitcpio.conf if I'm using systemd, since it seems to run its own systemd-fsck thing by itself? (Although it also seems to only run it on /dev/sda1, which might have something to do with /dev/sda2 being JFS...) 18:29:47 -!- ogrom has quit (Quit: Left). 18:29:50 elliott: I have no idea 18:30:01 http://sprunge.us/QAQe That does everything init needs to do. 18:30:04 FreeFull: Well, you were almost useful :P 18:30:04 elliott: Tried asking in #archlinux? 18:30:16 pikhq_: Well, no, but I don't like the idea of having an /etc/rc.start or whatever that "just" sets up filesystems and the network and so on... those can fit perfectly fine into a dependency-ish system like systemd does. 18:30:44 FreeFull: I probably should, yes. But I'll try floundering about messing with it for a bit more first. 18:30:58 for(;;) wait(&status); is all PID 1 does for the rest of the system run, FWIW. 18:31:16 -!- copumpkin has quit (Ping timeout: 248 seconds). 18:31:25 Yes, I know that much. 18:31:31 Still, you have an /etc/rc there which is the real problem. 18:31:52 -!- copumpkin has joined. 18:31:54 elliott: Ideally, perhaps. But systemd's approach appears to be "shove everything into a single process that, if it fails, crashes the *entire system*"... 18:32:12 pikhq_: That, uh, applies to every PID 1. 18:32:16 Yes. 18:32:27 Hence why PID 1 should be for(;;) wait(&status); 18:32:34 Nearly impossible to crash. 18:32:45 If it does crash, your system is already FUBAR'd. 18:32:57 monqy: What's *your* opinion on this? 18:33:18 I'd love for a better dependency-based boot scheme though. 18:33:26 I just don't feel systemd is the correct approach. 18:33:47 It does *resemble* the correct approach, but still... 18:34:24 pikhq_: Well it's less maintenance than having to manually fiddle about with a monolithic /etc/rc, even if it's theoretically less stable in the worst case. 18:35:28 hi opinion on what 18:35:48 monqy: Damn. 18:35:54 monqy: I was hoping to trick you again. 18:36:13 only 1 message 18:36:13 I've also got issues with PID 1 dbus. 18:36:16 tsk tsk tsk 18:37:30 monqy: Tsk yourself, I've been too busy living in the future. 18:38:31 -!- sirdancealot has quit (Read error: Connection reset by peer). 18:38:35 -!- atriq has quit (Quit: Leaving). 18:38:58 I've also got this weird thing where I want everything using *less* code... I mean, I find zlib offensive. 18:39:49 monqy: I'm so far in the future that /etc/rc.conf stopped existing :'( 18:40:10 -!- sirdancealot7 has joined. 18:42:51 i still have /etc/rc.conf but all that's in it is the DAEMONS array 18:43:40 monqy: I don't even have that!! 18:43:43 My /etc/inittab also disappeared. 18:46:15 monqy: Also I can do fancy things like this!! http://sprunge.us/gSGG you can't see it there but "active (running)" is green 18:48:00 -!- jiella_ has joined. 18:49:22 -!- elliott has quit (Remote host closed the connection). 18:49:31 -!- jiella has quit (Ping timeout: 260 seconds). 18:54:37 -!- elliott has joined. 18:55:57 pikhq_: OK well do you use GRUB 2 19:03:32 Yes. 19:03:46 Yay. 19:04:07 Do you know how to get it to skip the menu and just boot up in three seconds unless I press ESC? I've tried setting up the hidden menu stuff, but it ends up doing the countdown, and *then* showing the menu once the countdown expires. 19:04:11 Which seems... wrong. 19:06:24 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds). 19:08:39 fizzie: Also do you still use that crazy dzen2 dbus thing? 19:12:59 elliott: Regarding the earlier, I plead the saunath of not answering. 19:13:16 But people dual-boot Windows on systems with a dual GPT + MBR-emulation setup. 19:13:24 It's a bit arguable whether that makes any sense. 19:13:32 Regarding the latter, yes. 19:14:54 Everyone keeps saying I should adopt the XMonad view of there being a single set of workspaces shared between the monitors, but I'm just so stuck with this IndependentScreens thing. 19:15:11 (Okay, "everyone" here means like one person who wasn't even talking to me. But still.) 19:19:20 "The latest versions [of caesium clocks] are accurate to better than 1 part in 10^15, which means they would be off by about 2 seconds since the extinction of the dinosaurs 65 million years ago --" two seconds?! 19:19:33 -!- ogrom has joined. 19:23:09 fizzie: Why does passing -fn '-*-terminus-medium-r-*-*-20-*-*-*-*-*-*-*' do the wrong thing? :( 19:23:20 It shows me DejaVu Sans at 20 pixels or whatever. 19:23:23 To dzen2, I mean. 19:24:13 I don't know, but I've been having really stupid problems with dzen2 compiled to support xft when trying to use the usual X logical font descriptors like that. 19:24:27 I blame fontconfig. It might not be its fault, but I still blame it somehow. 19:24:57 (When you compile dzen2 to "support Xft", it actually uses Xft for everything. In *theory*, it should be possible to use bitmap fonts and XLFDs, but...) 19:25:08 Terminus:pixelsize=20 does the same thing. 19:25:20 If you're going to be using '-*-terminus-medium-r-*-*-20-*-*-*-*-*-*-*' exclusively, there's an easy fix of just compiling it without Xft support. 19:25:36 Ubuntu for example has a default fontconfig file hidden deep in /etc that disables all pixel fonts. 19:25:53 /etc/fonts/conf.d/70-no-bitmaps.conf that is. 19:26:08 If you're going to be using '-*-terminus-medium-r-*-*-20-*-*-*-*-*-*-*' exclusively, there's an easy fix of just compiling it without Xft support. 19:26:14 The "easy fix" involving "not using the standard Arch binary package for it". 19:26:22 Well, there's that. 19:26:37 I do have some somewhat suspicious 29-replace-bitmap-fonts.conf and 70-no-bitmaps.conf files. 19:27:09 Hokay, unlinking the latter has helped. 19:27:17 Yeah. It's possible to per-user "undo" those by suitable configuration in ~/...whateveritwas, but fontconfig configuration is such pain. 19:27:19 Now dzen2 uses some really shockingly beyond-belief godawful font by default. 19:27:47 I'm just using scalable fonts these days. *shame* 19:27:49 fizzie: Feel my pain: http://i.imgur.com/mgTSb.png 19:27:59 Well, I don't mind scalable fonts, of course. 19:28:02 I think I've seen that thing. 19:28:03 The Terminus thing is a long story. 19:28:09 -!- atriq has joined. 19:29:09 I used the SunOS console font for a while on some moderately-high-DPI screen. 19:29:25 -!- Phantom_Hoover has joined. 19:29:25 I don't think it had a very good Unicode support though. 19:30:16 I do wonder if that open-source Source Code from Adobe is any good at my point sizes and resomolutions. 19:30:18 important question, am i joinspamming 19:30:49 fizzie: Is there, uh, a nice way to get dzen2 to start at the bottom? 19:30:58 Also I don't like Source Code; it's way too wide and not tall enough. 19:31:52 Maybe not a "nice way"; it has -x -y -w -h parameters, but you'd need to do some math for "bottom". 19:32:27 The sort of complicated math of y=screenheight-barheight. 19:33:12 fizzie: Alsoalso what was that thing you needed to do to align text rightmost in new dzen2? 19:33:14 Some fancy code. 19:33:27 I'll grep for it, I can't remember ever. 19:34:12 There's an undocumented "make a fixed-width block of left/middle/right-aligned text" command ^ba -- sorta-described at http://dzen.geekmode.org/dwiki/doku.php?id=dzen:mainindex and not included (I believe) in the dzen2-0.8.5 stable version -- that can help. Then again, it might not; it's strictly fixed-width. 19:34:24 I don't know what source the Arch version uses. 19:34:28 git. :p 19:34:37 Well, that's good. 19:35:20 I'm not entirely sure the example is right and not missing an underscore for the alignment specifier. But maybe it is. 19:35:51 else if(!strcmp(buf, "_RIGHT")) 19:35:51 *a = ALIGNRIGHT; 19:35:55 Is there an xmonad helper function thingy that just runs a shell line and returns the output? ISTR there is. 19:35:56 That does look a bit _ey. 19:37:46 XMonad.Util.Run has some helpers. I don't see exactly that there, maybe it was somewhere else. 19:39:10 I think System.Process might have something reasonably usable non-XMonad-specific too. Like readProcess. 19:39:27 "readProcess forks an external process, reads its standard output strictly, blocking until the process terminates, and returns the output string." 19:40:34 Hmm, there's spawn :: MonadIO m => String -> m () in XMonad.Core. 19:41:01 I'll try readProcess. 19:45:04 elliott: Oh, right, XMonad.Util.Run has a runProcessWithInput. 19:45:17 elliott: I skipped it because of the name, but it also returns the output, and you can just give "" as the input. 19:45:22 That might be it. 19:46:05 It's :: MonadIO m => FilePath -> [String] -> String -> m String so it should work in IO or X or so on. 19:48:20 Oh, logCmd "date +'%H:%M'" works for my purposes. 19:49:13 Oh, so does date "%H:%M". 19:49:36 Though apparently it... only updates when you switch workspaces. 19:50:50 The logHook should be called every time you switch focus, too. 19:51:06 But not really much more oftener than that. 19:54:16 -!- sebbu- has joined. 19:54:30 I get these "dhclient: Discarding packet with bogus hlen."s nowadays. 19:55:18 -!- Deewiant has quit (*.net *.split). 19:55:18 -!- sebbu has quit (*.net *.split). 19:55:19 -!- zzo38 has quit (*.net *.split). 19:55:19 -!- pikhq_ has quit (*.net *.split). 19:55:19 -!- EgoBot has quit (*.net *.split). 19:55:19 -!- mroman has quit (*.net *.split). 19:56:13 -!- zzo38 has joined. 19:56:14 -!- pikhq_ has joined. 19:56:14 -!- EgoBot has joined. 19:56:14 -!- mroman has joined. 19:56:43 Hmm, I can't figure out what the width should be to have this work properly. 19:56:50 This is a very silly thing. 19:57:05 fizzie: (Do you know of any way to get it called more cmmonly?) 19:57:06 *commonly 19:57:13 I guess I might have to use your dbus thing if I want a clock and things. 19:57:23 EgoBot is on a different server to Gregor and HackEgo? 19:58:23 Being connected to a different server isn't very interesting, the server you get connected to is more or less random. 19:58:27 elliott: I think generally speaking "most people" use xmobar; it's got widgets like clocks in addition to the xmonad-reading bits. 19:58:32 Apparently there was both a Homestuck meetup and a Hetalia meetup in Newcastle together 19:58:38 *today 19:59:47 fizzie: I can't use xmobar because of shachaf. 20:00:20 -!- Nisstyre-laptop has quit (Remote host closed the connection). 20:01:43 elliott: Well, the dzen2 minority then use different kinds of "multiplexing" scripts, I believe. 20:02:09 Right. 20:02:27 dmplex has some kind of official status. 20:02:38 In that it's at the dzen site and so on. 20:02:48 Got a link? 20:02:56 -!- Nisstyre-laptop has joined. 20:02:57 http://dzen.geekmode.org/dwiki/doku.php?id=dzen:multiplexer has a link. 20:03:02 I haven't used it at all. 20:03:59 Does it really use a named pipe. 20:04:33 Well. It reads from the standard input. But the example setup does seem to use one. 20:04:59 I don't know, I've got that stupid dbus thing. And I don't have a clock anyway. 20:05:45 XMonad has timers -- well, XMonad.Util.Timer does -- and some real xmonad person would probably know some kind of a hack that'd make it call the logHook when one fires. 20:06:08 -!- oerjan has joined. 20:07:35 -!- Deewiant has joined. 20:14:00 lifthrasiir, are you following the League of Legends world championship 20:16:55 racist 20:17:08 Phantom_Hoover, are you? 20:17:28 yes 20:17:35 do you want to join my racist club 20:22:13 I forgot a ventilation window open while i was away. Some temperatures and the PC clock’s offset to GPS time from the same period: (yeah, all the things run too hot, i haven’t got around to doing something about the ventilation) http://heh.fi/collectd/img/temperature http://heh.fi/collectd/img/time-offset-gps 20:24:18 ion: that's disappointing, i was assuming you had discovered a temperature correction to relativity 20:32:30 `learn Scotland is a country in northern Britain. It is known for having no true inhabitants. 20:32:33 I knew that. 20:32:48 oerjan: fix 20:32:56 what NOW 20:32:58 `learn Scotland is a country in northern Britain. It is known for having no true inhabitants. Phantom_Hoover looks after the FREEDOM. 20:33:02 I knew that. 20:33:03 oerjan: ". " 20:33:06 atriq: ". " 20:33:12 sheesh 20:33:14 `learn Scotland is a country in northern Britain. It is known for having no true inhabitants. Phantom_Hoover looks after the FREEDOM. 20:33:18 I knew that. 20:33:36 `? england 20:33:39 england? ¯\(°_o)/¯ 20:33:43 although i'm looking after it in england these days 20:34:09 England is where the crumpets live 20:34:45 `learn England is a country in southern Britain, with capital Hexham. The people there are all punctuation fascists. ais523 looks after the Turing machines. 20:34:48 I knew that. 20:35:26 `learn England 20:35:30 I knew that. 20:35:30 `? england 20:35:33 England is a country in southern Britain, with capital Hexham. The people there are all punctuation fascists. ais523 looks after the Turing machines. 20:35:37 no!! 20:35:40 yay! 20:36:10 `run ls wisdom/en* 20:36:14 wisdom/endofunctor \ wisdom/england 20:36:29 -!- sebbu- has changed nick to sebbu. 20:36:29 -!- sebbu has quit (Changing host). 20:36:29 -!- sebbu has joined. 20:37:43 `run rm -rf wisdom 20:37:46 No output. 20:38:00 `run ls wisdow/en* 20:38:03 ls: cannot access wisdow/en*: No such file or directory 20:38:22 Sorry D: 20:38:28 `? england 20:38:32 england? ¯\(°_o)/¯ 20:38:35 `revert 20:38:38 Done. 20:38:41 `? england 20:38:45 England 20:38:50 aaaaa 20:39:07 `? scotland 20:39:11 Scotland is a country in northern Britain. It is known for having no true inhabitants. Phantom_Hoover looks after the FREEDOM. 20:39:43 `learn Scotland is a country in northern Britain. It is known for having no true inhabitants. The official religion is hatheism. Phantom_Hoover looks after the FREEDOM. 20:39:46 I knew that. 20:40:17 `learn England is [EXPUNGED]. 20:40:21 I knew that. 20:40:24 `run echo "I like pie" >> wisdom/pie 20:40:28 No output. 20:40:30 `? pie 20:40:34 I like pie 20:40:44 `run echo "I like pie" >> wisdom/pie 20:40:48 No output. 20:40:49 `? pie 20:40:52 I like pie \ I like pie 20:41:09 fungot: Do you like position-independent executables? 20:41:11 fizzie: and resource files as ascii have the same feelings, too. i'm pretty sure you'd just use fnord in load or on the author's part, mostly. direct to-c translation, no gc ( iirc) from the console 20:41:17 I see, "\n" becomes " \\ " 20:43:15 `learn pi is a very round number. 20:43:19 I knew that. 20:43:26 `revert 20:43:29 Done. 20:43:31 puntastically round 20:43:32 `? pi 20:43:36 pi? ¯\(°_o)/¯ 20:43:38 `learn pi is a very round number. 20:43:41 I knew that. 20:44:34 `? oerjan 20:44:37 Your evil overlord oerjan is a lazy expert in future computation. Also a lying Norwegian. 20:44:45 `? FreeFull 20:44:48 FreeFull? ¯\(°_o)/¯ 20:45:20 `learn FreeFull is either full of freedom or free of fulldom, we are not sure. 20:45:23 I knew that. 20:45:59 `run echo -ne "F\rr\re\reFull likes messing around way too much" >> wisdom/FreeFull 20:46:02 No output. 20:46:07 `? FreeFull 20:46:11 FreeFull is either full of freedom or free of fulldom, we are not sure. 20:46:21 Has to be lowercase then 20:46:23 `rm wisdom/FreeFull 20:46:26 Can you make a hardware description language based only on multiplexers? There is a esolang software programming language Muxcomp which is design of a computer based only on multiplexers. 20:46:26 No output. 20:46:28 `run echo -ne "F\rr\re\reFull likes messing around way too much" >> wisdom/freefull 20:46:32 No output. 20:46:37 `? FreeFull 20:46:41 FreeFull is either full of freedom or free of fulldom, we are not sure. \ F.r.e.eFull likes messing around way too much 20:47:09 :P http://thedailywtf.com/Articles/Known-Bad-Code.aspx 20:53:58 I'm in a Skype group call with someone who's asleep 20:54:13 k 20:54:19 are they snoring? 20:54:25 She was whimpering 20:54:28 hmmmm 20:54:32 She's woken up again, thoguh 20:55:03 She's asleep agaiN! 20:55:23 She's... 20:55:26 Started apologizing 20:55:29 In her sleep 20:56:17 so imagine I'm programming in C; I create a string with char *p = malloc(strlen(s) * sizeof(char)); and later I make this string shorter (possibly much shorter), can I do something like free(p+k+1); where k is the new length? 20:56:43 Okay, apparently she's got a head injury and blacks out from time to time 20:56:57 Doctor says it's either gonna last a month or it's permanent 20:56:57 Arc_Koen: No, but you can call realloc on it. 20:57:14 It's not guaranteed to actually free up any storage, of course. 20:57:19 Arc_Koen: sizeof(char) is 1, and you're forgetting to allocate a byte for the null 20:57:25 Those, too. 20:57:44 olsner: the null already is in s 20:57:51 Arc_Koen: But not counted by strlen. 20:57:58 oh 20:58:11 but it worked?! 20:58:15 If doing realloc, remember that it's also allowed to move the string, invalidating any other copies of the pointer you might have lying around. 20:58:21 Well, undefined behaviour is allowed to work. 20:58:28 Quite often allocation isn't all that exact anyway. 20:59:13 -!- ais523 has joined. 20:59:59 ais523: elliott is evil, he censored my reveals of english secrets! 21:00:52 oh dear 21:01:01 there are 10 episodes of the armando ianucci shows 21:01:14 fizzie: I have no idea what I'd use realloc for; I only wanted to free the remaining of the string because my paranoid aspy told me placing a new '\0' in the middle of the string would cause the remaining to be lost forever 21:01:32 "free the remaining of the string" makes no sense 21:01:56 elliott: well imagine I use malloc to get a string of 1000 characters 21:02:09 I know what you mean, but it makes no sense. 21:02:11 Arc_Koen: "free the remaining of the string" is what you could do with realloc; resize the block of memory to fit exactly the new string. 21:02:23 and then I decide only the first 10 are relevant, so I place a '\0' after the tenth character 21:02:24 Arc_Koen: But if you're not worried about memory consumption, there's really no reason to do it. 21:02:31 placing a magic value in the middle of a string will indeed have magic effects on the rest of the string 21:02:48 Arc_Koen: If you free(p) it will free what was allocated, and doesn't care about the contents of those bytes. 21:02:51 ok I guess I won't do it then 21:03:08 fizzie: that's why I wanted to free(p+k+1) 21:03:39 Arc_Koen: Uh. I'm not quite getting it. 21:03:56 Arc_Koen: You can't free p+k+1, because it is not a thing that was allocated by malloc. 21:04:01 -!- ogrom has quit (Quit: Left). 21:04:02 fizzie: If you do p[10] = 0 to truncate a string then Arc_Koen is saying free(&p[11]). 21:04:04 yeah, ok 21:04:08 (But that's not how allocation works.) 21:04:13 fizzie: Hey, what border widths and colours do you use in xmonad?? 21:04:22 SURVEY. 21:04:38 free can only take the exact pointer that's returned by malloc 21:04:39 elliott: Yes, I got that much. But I just explained that free(p) will free all of p even if you put a 0 in there, so it felt somehow incongruous to get an answer of "that's why I want to free the trailing part". 21:04:43 Or by calloc 21:04:45 Nothing else 21:04:55 FreeFull: Not true. 21:04:55 FreeFull: Also one that was returned by realloc. 21:05:00 FreeFull: free can also take NULL IIRC. 21:05:06 That, too. 21:05:10 Well, yeah, NULL too 21:05:21 If it gets NULL, it just returns successfully 21:05:27 so, about that +1 I forgot in the malloc (for the null character), the fact that the program still worked well without it, does it mean it happened to have placed that '\0' on a not-free byte without causing a segfault? 21:05:31 FreeFull: realloc(NULL, 42); is equivalent to malloc(42); and then you can later free that pointer. 21:05:42 Arc_Koen: Yes 21:05:45 yeah, free on NULL is a no-op ... lots of people miss that and add one or more layers of null checks just because 21:05:50 Well, not necessarily, but it is possible 21:05:59 elliott: I'm using a border width of 1 and colors that I don't think I have configured. It's some kind of a grey for non-focus, red for focus. 21:06:23 so I just destroyed a char from my computer? I thought that was what segfaults were supposed to prevent! 21:06:28 fizzie: Anything not allocated by the C *alloc functions then =P 21:06:33 Arc_Koen: It's also possible that malloc for some reason returned a bit more than what you asked for, and the byte was in fact free. 21:06:52 Arc_Koen: segfaults are caused by going onto an unmapped page of memory 21:07:01 pages are fairly coarse-grained units, typically 4kB or more 21:07:17 they are nowhere near exact bounds checking 21:07:56 FreeFull: I was going to be all "and then in C11 there's aligned_alloc" on you but your wildcard matches that too. :/ 21:08:11 Arc_Koen: FSVO "destroyed". 21:08:23 Arc_Koen: All you did was overwrite memory you weren't supposed to have btu were given anyway. 21:08:23 Yay globs 21:08:31 Arc_Koen: Nobody else was affected, just you. 21:08:34 *but 21:08:54 ok, so I did not overwrite a byte I wasn't given? great :) 21:09:04 there are only so many bits in the world, and every run of this program has destroyed 8 of them 21:09:12 Arc_Koen: Depends on how big the string is 21:09:28 Arc_Koen: Well, you overwrote a byte that you owned. It might have been part of some other string in your process, but not part of any other process. 21:09:50 If the strlen happens to match the alignment, then the \0 will overwrite something else 21:09:53 (FSVO "owned".) 21:10:02 (As far as C is concerned you were trespassing.) 21:11:04 Yes, it's certainly not a thing to do, and can be fatal to the program itself. 21:12:01 FreeFull: your allocation is probably rounded up at least to the nearest multiple of 4 or 8 (the alignment) 21:12:04 er 21:12:10 *Arc_Koen: 21:12:58 well I switched to strncpy that should shut down the paranoia for now 21:13:17 and malloc might want to use even larger blocks to avoid fragmentation? i don't actually know whether it does. 21:13:56 there are many mallocs, each making different tradeoffs 21:14:35 pikhq_: I forget, did I ask you about that GRUB 2 menu thing? 21:15:36 there are only so many bits in the world, and every run of this program has destroyed 8 of them <-- 2nd law says that's approximately true 21:16:10 yeah, I somewhat failed to not make sense there 21:17:07 unless his program was reversible, of course. 21:17:16 Arc_Koen: strncpy is a function that's somewhat hard to use right, FWIW. It's somewhat sad that strncpy is not to strcpy what e.g. strncat is to strcat. 21:18:44 unsigned int p_length = strlen(argv[1]); char *p = malloc((p_length + 1) * sizeof(char)); strncpy(p, argv[1], p_length); 21:19:16 meh, use memcpy with p_length+1 instead 21:19:21 I've never used strcat before so i'm not sure how I should feel about strncpy 21:19:29 this is one of the cases where you know exactly how much to copy 21:19:38 apparently to get gstreamer faac support i have to apt-get install gstreamer0.10-plugins-really-bad 21:19:51 :-) 21:20:07 you know it is very important to respect software patents while transcoding illegally acquired copyrighted TV shows 21:20:15 Verily. 21:20:23 Arc_Koen: Well, that's safe. But it's easy to forget \0s at the end of strings with strncpy; and when it's done safely like that, it's often still needlessly inefficient because if the source string is shorter, it will still pad the whole destination with \0s. 21:20:37 Arc_Koen: Oh, and yes, s/safe/unsafe/ 21:20:50 Arc_Koen: Since it doesn't put the \0 there. You've just left a space for it. 21:20:59 WHAT 21:21:01 If you follow it with a p[p_length] = 0 it's safe. 21:21:28 Arc_Koen: That's what strncpy does. It writes up to 'len' bytes, and if the source string is that long (or longer) the destination won't contain a \0. 21:21:42 so I should've, like, used "strncpy(p, argv[1], p_length+1);" ?? 21:21:44 is there any case where you really want to zero out the rest of the buffer? 21:22:17 so that strncpy would say "oh look, argv[1] is one byte too short, let's put an extra '\0'" 21:22:26 Arc_Koen: Well, that would've been safe, but in general no, because that won't put a \0 in the buffer if the source string is longer. 21:22:30 00:21 ,cc char *s = "alongstringhere"; char buf[4] = {1,2,3,4}; strncpy(buf, s, (sizeof buf) - 1); printf("is there a null byte in buf? %d %d %d %d...", buf[0], buf[1], buf[2], buf[3]); 21:22:34 00:21 fizzie: is there a null byte in buf? 97 108 111 4... 21:22:59 If you call the above with "sizeof buf" without the - 1, you'll get "alon" in the characters and still no \0. 21:23:06 That's why it's such a sucky function. 21:23:35 I second olsner's suggestion of using memcpy of p_length+1 since you really do want an exact copy of the original. 21:23:45 (Or 'strdup' if you can live with its unportability, I suppose.) 21:23:53 (It does both the allocation and copying.) 21:24:08 is strdup unportable? 21:24:14 olsner: It's not standard C. 21:24:16 unsigned int p_length = strlen(argv[1]); char *p = malloc((p_length + 1) * sizeof(char)); memcpy(p, argv[1], p_length + 1); 21:24:40 ah, it appears to be posix not c 21:24:43 olsner: So I suppose that depends on what "portable" means. It's certainly POSIX and common elsewhere too. 21:25:15 Arc_Koen: that looks well and proper. Though I'd drop the sizeof(char). 21:25:35 I thought that was something I should always write 21:25:49 like using '0' instead of 48 21:25:50 Arc_Koen: It's by definition 1. "sizeof" of anything else is measured in terms of how many 'char's there are in it. 21:25:59 sizeof(char) is something you should never write :) 21:26:02 ok 21:26:14 I'm sure there are some people that will still argue for it. 21:26:29 Like, "if you change the array type then you'll remember the sizeof multiplication when it was there already". 21:26:45 Though those people would have you writing char *p = malloc((p_length + 1) * sizeof *p) instead. 21:26:50 hey, that's true 21:26:54 (Which is I guess fair enough.) 21:27:05 what if I decide to replace all occurrences of "chat" with "int" 21:27:14 (that's the kind of dumb things I do) 21:27:18 kmc: transcoding :( 21:27:28 Oh yeah, I will change my string array to be an array of cake_t instead! 21:28:20 what's wrong with transcoding elliott 21:28:57 it's yucky 21:28:59 feel free though! 21:29:00 yes there is a quality loss but in this case i am scaling down by 40% so i think there's more quality loss there ;P 21:29:04 It's borderline possible that someone might go along changing things to wchar_t's (or char32_t's or something) and also the string literals and forget to fix the allocation. But still. 21:29:39 phone won't play 720p h264 :/ 21:29:54 and the screen is only 800x480 anyway ;P 21:29:57 - COMING IN 1991 - NEVADA SMITH IN... "JOURNEY TO THE CENTER OF THE EARTH" GEORGE BROUSSARD - AUTHOR 21:30:15 I don't know if the game referenced was actually made. 21:30:40 kmc: Watching things on phones is weird. 21:31:39 "Things on phones" is probably some kind of fetish site. 21:31:56 Now she's softly calling out for Kankri 21:31:58 There's things like pictures of a brick on top of a phone there. 21:32:08 atriq: What's a "Kankri"? 21:33:05 fizzie: I don't suppose you happen to use GRUB 2 with menu-hidey options? 21:33:25 atriq: Oh, never mind; I found out already. "Kankri is a village development committee in Rukum District in the Rapti Zone of western Nepal. At the time of the 1991 Nepal census it had a population of 4210 people living in 851 individual households." 21:33:32 Weird thing to call out for, though. 21:33:56 fizzie, I believe she's referring to the Homestuck character 21:34:06 https://help.ubuntu.com/community/AndroidVideoEncoding#MPEG4_.28standard.29_encoding this person's ffmpeg options seem highly suspect 21:34:10 fizzie, you've not been keeping up have you 21:34:30 Phantom_Hoover: Very much a negative. 21:34:42 atriq appears to be listening to some sort of homestuck erotica 21:34:56 out of character for him, but perhaps it has satellite appeals 21:34:59 One of my friends suffers from a head injury 21:35:07 This leads her to black out from time to time 21:35:46 I'm in a group Skype call with her, and she's been blacking out a lot 21:36:20 uh 21:36:22 that sounds somewhat serious 21:36:24 Phantom_Hoover: I think I'm somewhere like end of act 5. 21:36:28 she should probably be in hospital 21:36:35 fizzie, you haven't even watched cascade have you 21:36:35 Phantom_Hoover: So about 1200 pages behind. 21:36:35 Apparently Kankri refers to her boyfriend, who cosplays Kankri 21:36:39 you're a year behind 21:36:39 Phantom_Hoover: No. 21:36:42 Phantom_Hoover: Yes. 21:37:00 you don't even know about half the cast any more 21:37:03 She's seen a doctor and there's nothing they can do 21:37:05 Phantom_Hoover: True. 21:37:09 -!- elliott has left ("Leaving"). 21:37:31 Phantom_Hoover: But I'll catch up any day now. 21:37:35 what, they can at least guess a little and prescribe some drugs 21:37:35 -!- monqy has left. 21:37:44 atriq, damn, what kind of head injury was this 21:37:47 something antiepileptic perhaps? 21:37:56 Slammed into a locker by a chav 21:38:19 i am: glad i don't live in hexham 21:38:25 She doesn't. 21:38:32 She's elsewhere 21:38:38 fuck i'm in england now 21:38:40 There's only about 3 readers of Homestuck in Hexham 21:38:54 You're in Coventry. Coventry's practically France. You're safe. 21:39:17 there was a dead body in the woods nearby! 21:39:30 Was it your body? 21:39:48 hmm possibly 21:40:21 There was someone knifed about 400 metres from here a while ago. 21:40:38 There was someone hammered to death in Hexham last year 21:41:23 Alcohol kills 21:41:37 switch statements in C don't need a default: condition, right? 21:42:05 Arc_Koen: I think if you don't supply a default, it just does nothing for that case 21:42:37 Arc_Koen: Right. 21:42:40 that's what I thought to and it worked; then I thought "maybe it does need it" so I added one and it crashed 21:42:44 atriq, what happened to the chav 21:42:58 Nobody knows 21:43:09 (that is, "default: }" caused a syntax error) 21:43:14 Mainly because she, due to the head injury, forgot which chav it was. 21:43:33 Arc_Koen: That's because a label needs to point to a statement. 21:43:41 Arc_Koen: "default: ; }" would be legal, if useless. 21:43:51 the perfect crime (i am the worst) 21:43:53 Arc_Koen: (If there is no matching case and no default, the switch body is just skipped.) 21:44:39 default: break; } 21:44:42 cocaine's a hell of a drug 21:44:56 FreeFull: Well, that's also legal and also useless. 21:45:09 Did you know S-Lang allows you to supply a number to break, so you can break out of nested loops 21:46:01 FreeFull: Did you know Perl allows you to supply a label to break, so you can break out of a particularly labeled enclosing loop? 21:46:17 There was something else with a numeric multilevel break, too. 21:46:30 PHP, right. 21:46:38 "break accepts an optional numeric argument which tells it how many nested enclosing structures are to be broken out of." 21:46:46 Probably others too, of course. 21:47:35 (Okay, in Perl's case it's "last" and not "break", but anyway.) 21:47:44 fizzie: a goto is C's labelled break =P 21:48:09 FreeFull: Sure, though the label goes in the other end. 21:48:35 yeah, i like perl's labeled break 21:49:04 LOOP: while (...) { ...; last LOOP; ... } vs. while (...) { ...; goto GET_ME_OUT_OF_HERE; ... } GET_ME_OUT_OF_HERE: ... 21:49:47 goto is a fine solution except that some programmers will run screaming in horror at any mention of goto 21:49:55 It's CONSIDERED HARMFUL. 21:49:59 i know, right? 21:50:30 this is because like forty years ago, some propaganda was needed in order to convince programmers to use anything that *isn't* goto 21:50:43 back when structured programming was a controversial new idea 21:51:05 goto is used in the Linux kernel for handling errors 21:51:12 And it's cleaner than any other C solution 21:51:33 and people like hard rules because it absolves them of the need to think 21:51:34 -!- elliott has joined. 21:51:52 fizzie: I don't suppose you happen to use GRUB 2 with menu-hidey options? 21:52:05 The one useful hard rule for not writing bad code is "Don't write code, ever" 21:52:06 which is why it's "goto is evil!!!!!" and not "goto is sometimes useful but should be avoided generally" 21:52:07 elliott, I have significant evidence suggesting that I'm going to play a video game that will destroy the world. 21:52:15 If you don't write code, you can't write bad code :) 21:52:18 Please advise. 21:52:19 elliott: I'm not sure what options those are. 21:52:23 atriq: hi 21:52:30 also the teaching of programming updates at a glacial speed compared to actual programming practice 21:52:33 fizzie: Well, uh, do you get a menu when you start up GRUB? 21:52:45 elliott: I do. So I suppose I'm not. 21:52:48 elliott: You always get a menu if you hold shift while grub is loading 21:52:48 perhaps in 2012 warning students over the evils of goto should not remain a high priority 21:52:53 FreeFull: Yes. 21:53:17 Java doesn't even have a goto 21:53:36 goto is a reserved keyword just so people can't use it 21:53:37 atriq, are you playing sburb 21:53:54 yeah instead you use an AbstractSingletonControlFlowProxyFactoryIteratorBeanProxy 21:54:06 much cleaner than goto 21:54:31 FreeFull: It does have the labeled break, though. 21:54:52 Similar to Perl's, with a label of the iteration statement to break out from. 21:54:53 Multi-level break is just a delimited continuation anyhow. 21:54:58 pikhq_: Did I ask you yet, I forget. 21:55:20 no it's not 21:55:59 -!- jix has joined. 21:57:02 kmc: Sure it is. 21:57:29 not first class 21:57:42 Wrong "is". 21:57:50 continuations are so general that it's not meaningful to say "foo is just continuations" unless you mean that it's equally powerful 21:58:05 every single control flow feature can be described as a limitation of continuations 21:58:08 * elliott objects to the conflation of "continuations" and "delimited continuations". 21:58:13 The latter are much more well-behaved. 21:59:09 x: goto x; 21:59:20 -!- zzo38 has quit (Remote host closed the connection). 21:59:56 what? continuations aren't powerful 22:00:00 you can do anything without continuations 22:00:04 Phantom_Hoover, quite possibly. 22:00:27 coppro pro troll mode 22:00:45 One of my internet friends, who reads MS Paint Adventures, has been suffering mysterious blackouts where she remains surprisingly lucid, although significantly more emotional. 22:01:10 -!- elliott has left ("Leaving"). 22:01:19 atriq: are those two things related? 22:01:51 Adding to this is the fact that I have thrown enough money at the Homestuck Vidoe Game kickstarter to receive a physical copy 22:01:52 * oerjan swats coppro for chasing away elliott -----### 22:02:00 atriq, oh well 22:02:07 can i come too or am i too old and square now 22:02:14 is there a shell redirection command similar to | and >, but which redirect as the "argv[1]" of the next command? 22:02:16 If you get a copy! 22:02:22 oh dear 22:02:28 Arc_Koen: $(foo)? 22:02:45 coppro: I think you need to add "" somewhere 22:02:57 possibly 22:03:12 Maybe not 22:03:37 Phantom_Hoover, I'm pretty sure you're, if anything, slightly younger than me, and just a victim of the difference between the education system in Scotland and in England and Wales. 22:04:09 If memory serves. 22:04:14 "$( foo )" 22:04:33 This seems scarily TemplateHaskell 22:04:34 Spaces for clarity and not necessary 22:04:35 atriq, erm right 22:05:09 coppro, FreeFull: I'm not sure what you mean 22:05:38 But yes, if we both receive copies of SBurb, I will certainly invite you to my session. 22:05:51 $(foo) is the same as the old school `foo`, but nicer syntax which nests properly 22:06:07 Arc_Koen: $( ... ) puts the redirection output as the literal argv[1] string. if you want argv[1] to be a filename containing the output, try <( ... ) 22:06:23 Arc_Koen: rather than foo | bar 22:06:31 and nested quoting is a lot less hairy with "$(foo "bar baz")" 22:06:33 bar "$(foo)" 22:06:37 (in bash, uses a named pipe) 22:06:50 "`"`"`"`" 22:08:47 it's not quite a named pipe in bash on linux 22:08:56 so, if sceql is a sceql interpreter and truth-machine.sceql a program in sceql, I can type ./sceql $(cat truth-machine.sceql) and it will work? 22:09:22 oh, "or the /dev/fd method of naming open files" 22:09:29 yeah 22:09:49 Arc_Koen: more quotes 22:09:57 procfs contains files which look like symlinks to nonexistent paths, but you can still open and use them 22:09:58 there might be spaces in that sceql file 22:10:01 it's weirdness 22:10:05 yes there are 22:10:06 oh, right 22:10:14 Arc_Koen: that depends on whether the sceql interpreter takes a program string or a filename as argument 22:10:22 it takes a string 22:10:28 then yes 22:10:46 Arc_Koen: There are often also reasonably small limits of how much things you can push through the command line arguments. Like, "four kilobytes" kind of small. 22:10:56 (I don't know how long sceql programs tend to be.) 22:11:47 (POSIX guarantees 4096 characters as the sum total of arguments. Some systems of course are happy with more.) 22:11:54 hmmm well it doesn't seem to work, but that could be because of a bug in the interpreter, or in the sceql program 22:12:11 linux had a fun denial of service bug relating to huge command lines 22:12:20 Admittedly, if the interpreter takes a string, there's not much you can do to get around the command line length limit. 22:12:23 olsner: did you just say the spaces in the program file will split it into several arguments? 22:12:43 no, I just implied it 22:13:19 oh, ' quotes don't work because they take $(...) directly as the string, but " quotes work 22:13:24 thank you guys 22:13:30 argv is an array of pointers to strings; they can all point to the same string if you like 22:13:58 so userspace can construct a huge command line and pass it to execve 22:14:01 A true bash person would recommend you use ./sceql "$(< truth-machine.sqecl)" instead. 22:14:08 -!- elliott has joined. 22:14:10 without actually using much memory in userspace 22:14:13 ("The command substitution $(cat file) can be replaced by the equivalent but faster $(< file).") 22:14:44 but the kernel would not realize they are the same string, and so would allocate a huge amount of memory in the new process 22:14:58 yes it's important to micro-optimize your shell scripts for speed 22:15:16 one time i posted a shell script which used an unnecessary 'cat' 22:15:22 it brought shame upon my entire family 22:16:24 kmc: I, uh, don't suppose you use GRUB 2. 22:16:27 alias cat < 22:16:30 wait 22:16:37 $(cat <(cat <(cat <(cat <(cat file))))) 22:16:43 Fuuuck 22:16:44 alias cat='<'? 22:16:56 Don't do $(< /dev/urandom) 22:17:22 Phantom_Hoover: good job concatenating files with that 22:17:27 s/job/luck/ 22:18:42 Someone should inject in all cat binaries a thing that'd collect aggregate statistics on which fraction of cat invocations actually concatenate things. 22:18:58 % echo $( Europe/Helsinki Europe/Helsinki 22:19:12 % cat Europe/Helsinki 22:19:17 Europe/Helsinki 22:19:17 weeeeeeee interpreter works fine now 22:19:27 < isn't exactly equivalent to cat anyway 22:19:53 The latter works identically without the “cat”, too. 22:20:10 freefull: Yeah, e.g. cat -A is useful. 22:20:23 If you do < somefile on its own 22:20:35 It won't print that to the terminal 22:22:48 % Europe/Helsinki 22:22:53 Europe/Helsinki 22:25:15 ion: Which shell is this? 22:25:19 zsh 22:25:26 Fancy-schmancy. 22:26:36 0 freefull@freefull-hp:~$ 0 freefull@freefull-hp:~$ 22:26:52 Inventive hostname. 22:26:58 That's significantly less fancy, too. 22:27:34 zsh's behaviour seems less consistent. 22:27:40 elliott: I tried =P 22:27:46 If the command "defaults" to copying stdin, then ";" should act as "cat". 22:28:03 My hostnames come from Pan Sonic song names. They tend to be short and kind of interesting. 22:28:10 feh 22:28:13 stupid set theorists 22:28:33 bunch of twats 22:28:45 Bash doesn't like a ; without a command 22:28:54 -bash: syntax error near unexpected token `;' 22:29:19 "ooh I've got a great idea. Let's make these things called ordinals and cardinals. All cardinals are ordinals, but not the other way around. Let's also call some ordinals 'limit ordinals' and some cardinals 'limit cardinals' all cardinals will be limit ordinals but not all limit ordinals will be cardinals. Limit cardinals will be rare and magical.' 22:29:31 maybe I should start naming my computers in welsh 22:30:04 "let's go further and call all non-limit ordinals successor ordinals, and all non-limit cardinals successor cardinals. Then all successor cardinals are limit ordinals!" 22:30:59 Which of the ordinals and cardinals are limit ordinals/cardinals? 22:37:02 Let's make these things called ordinals and cardinals. All cardinals are ordinals, but not the other way around. 22:37:14 the concept of a subset annoys you, coppro? 22:38:22 Other than cardinals being limit ordinals, which you said 22:39:19 Phantom_Hoover: No, it's the confusing terminology which annoys me 22:40:30 FreeFull: \aleph_\alpha is a limit cardinal if and only if \alpha is a limit ordinal 22:40:36 what annoying terminology 22:40:38 some authors exclude \aleph_0 from the limit cardinals as well 22:40:51 Phantom_Hoover: The use of confusingly similar noun phrases 22:41:02 you mean 'limit' 22:41:04 in particular, there are non-limit cardinals that are limit ordinals 22:41:53 coppro: So is \aleph_(\aleph_0) a limit cardinal? 22:41:58 yeah, and? 22:42:13 'limit' depends on the structure of the thing it's applied to 22:45:01 Phantom_Hoover: The statement "Is \aleph_1 limit?" is nonsensical 22:45:11 The interpretation of limit does not depend on what you apply it to, it depends on context 22:45:17 FreeFull: Yes 22:45:20 ... 22:45:31 \aleph_{\aleph_\alpha} is a limit cardinal for all ordinals \alpha 22:45:56 yes coppro when you can interpret \aleph_1 as a cardinal or ordinal you DO need to specify which kind of limit you're talking about 22:46:02 yes 22:46:07 that is what annoys me 22:46:22 i suspect coppro will _really_ hate category theory, then. 22:46:26 i don't see the problem here at all 22:46:39 why would you assume structural properties cross over between subsets like that 22:46:39 is it so great an obstacle to have to add 'cardinal' or 'ordinal' to the end of your question 22:46:41 thingy 22:47:01 or topology - whether a set is closed _does_ depend on the surround space. 22:47:09 *surrounding 22:47:32 oerjan: actually, I don't have that much of an issue with category theory 22:47:37 The issue I have is just that I confuse the two 22:47:46 is hexham near wales? 22:47:48 even when the context is provided, sorting things out in my brain is difficult 22:47:51 olsner, no 22:47:55 not at all 22:48:05 elliott: I don't. It just is annoying to me that I have to expend mental effort to think about the distinction 22:48:16 it's very far from wales 22:48:30 olsner: yes 22:48:32 coppro, wat 22:48:57 you'd have to think about whether you meant the cardinal or ordinal anyway 22:49:27 i mean 22:49:56 if you asked "is aleph 1^2 == aleph 1" the answer would be different depending on if you meant the cardinal or ordinal 22:49:59 coppro: when you have two different topologies on the same space, you get the same trouble with limits there too. norm topology vs. weak *-topology comes to mind. 22:50:12 oerjan: yeah, topology annoys me 22:50:16 elliott: so you all have a welsh accent then? that is awesome 22:50:18 Phantom_Hoover: but it would be more intuitive 22:50:21 'sall 22:50:26 coppro, stick to cs please 22:50:35 Phantom_Hoover: dude, I'm a math major 22:50:37 wat 22:50:42 all this time 22:51:00 coppro the mathsochist 22:51:21 switch to cs then, you may have an easier time of it 22:53:59 Phantom_Hoover: no thanks 22:54:02 graph theory is too awesome 22:54:05 also set theory 22:54:07 also logic 22:56:31 set theory assignment was easy this week, which is a nice relief 22:56:47 I want to put dnolen and jimduey in a particle collider and collide them. 22:59:47 would that work 22:59:56 they must be pretty small 23:00:20 who and who 23:02:07 elliott, dnolen wrote a delimited continuations thing for Clojure, and jimduey wrote an actually decent monads implementation for Clojure 23:02:19 so 23:02:45 Want to use reset/shift like syntax for using monads, rather than do notation 23:03:06 what does that mean 23:03:13 applicative notation can only describe applicatives 23:03:22 though of course you only need a syntactic construct for join 23:03:25 but then it gets very messy 23:04:08 A function that takes a value v :: (Monad m => m a) and does v >>= current_continuation 23:05:03 that doesn't really make any sense 23:05:08 since do notation is precisely a CPS translation 23:05:23 anyway going by the first few tweets on https://twitter.com/jimduey I wouldn't wish being collided with him on anyone 23:05:54 But do notation is possibly an _ugly_ CPS translation 23:06:00 what 23:06:58 reset/shift may be prettier 23:07:27 But do notation is possibly an _ugly_ CPS translation 23:07:29 what does this mean 23:07:45 elliott, it means I think do notation is ugly. 23:08:10 do notation is *literally* foo >>= current_continuation 23:08:47 But it's ugly to use. 23:09:14 ok 23:12:58 How is reset/join applicative in nature? 23:13:03 If that's what you're saying 23:13:24 Aaargh 23:13:29 Trying to write music 23:13:36 I've got a big build-up going 23:13:43 But I've got nothing for it to build up to 23:14:24 plagiarise! 23:14:40 atriq: have it end after the build-up 23:14:42 ~avant-garde~ 23:16:14 I thought applicative notation can only describe applicatives was supposed to be an analogy, but now I'm assuming not 23:16:35 well you want a nested, rather than linear, notation, yes 23:16:42 which sounds like applicative notation to me 23:17:54 Hmm 23:18:01 Good point 23:18:38 for instance (| const (putStrLn "hello") (putStrLn "world") |) 23:18:50 (| const (putStrLn "hello") (| const (putStrLn "world") (putStrLn "again") |) 23:18:51 er 23:18:52 (| const (putStrLn "hello") (| const (putStrLn "world") (putStrLn "again") |) |) 23:19:01 join (| putStrLn getLine |) 23:19:02 But what about with let? 23:19:30 (| const (putStrLn "name:") (| const (join (| putStrLn getLine |)) (putStrLn "ok") |) |) 23:19:37 probably that is unbalanced, it is too unspeakably ugly for me to check 23:19:39 (Clojure's let binds sequentially) 23:19:42 Sgeo: with let that is do notation 23:19:47 let a = foo; b = bar; c = quux; in d 23:19:47 --> 23:19:53 do { a <- foo; b <- bar; c <- quux; d } 23:20:31 But I'm thinking make them usable together nicely... although hmm, my idea of "nice" may be slightly warped 23:20:56 i agree 23:21:25 Still, would be nice to write code that mostly isn't written monadically-aware except for the parts that are 23:22:01 sounds like you want an effect system 23:22:11 a la eff, McBride's Frank, and so on 23:24:27 Thanks for pointing me to that stuff 23:25:08 np 23:25:12 it is not really "production ready" 23:25:20 also edwardk doesn't think it'll work well at all 23:32:16 Goodnight! 23:32:18 -!- atriq has quit (Quit: Leaving). 23:35:13 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds). 23:47:29 -!- kinoSi has quit (Read error: Connection reset by peer). 23:47:57 -!- kinoSi has joined. 23:48:48 Sgeo: elliott: is that filinski stuff relevant to this? (never read it.) 23:49:22 http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.8213 23:50:27 oerjan: maybe, not sure 23:50:28 oerjan, looks very relevant to what I was thinking of 23:50:39 Not sure if it's at all relevant to effects 23:52:54 That's interesting, the undelimited + one piece of state = delimited thing 23:55:25 i've read some critique of that, though. specifically that it only works if you don't mix it with using undelimited continuations in any _other_ way. 23:56:36 -!- Vorpal has quit (Ping timeout: 276 seconds). 23:56:57 http://okmij.org/ftp/continuations/undelimited.html 23:57:08 -!- Phantom_Hoover has joined. 23:58:00 "Many applications that use call/cc also contain mutable cells holding continuations, betraying the well-known Filinski's emulation of delimited control via call/cc and a mutable cell."