←2010-10-27 2010-10-28 2010-10-29→ ↑2010 ↑all
00:00:03 <elliott> Sgeo: And?
00:00:06 <Vorpal> elliott, btw, further bad language ideas: coqtalk
00:00:14 <elliott> Sgeo: How do you know the syntax isn't flexible enough to do that with a library function?
00:00:15 <Sgeo> Maybe I'm taking "any" too literally
00:00:31 <Sgeo> Hmm, good point
00:00:33 <elliott> Sgeo: Do they need to know how while is implemented?
00:03:16 <cpressey> Sgeo: It was not written by a native English speaker, so, yes, you are/
00:03:41 <Sgeo> Am I inadverdantly causing this channel to like a language?
00:03:47 * Sgeo feels like he has a superpower
00:05:10 <cpressey> "A Picture viewer and media player, which is designed for some GPS handhold device." --
00:05:16 <cpressey> we're not sure which one
00:05:33 * Sgeo is not entirely sure what the difference between = and <- is
00:05:36 <elliott> Sgeo: no, we hate it
00:05:40 <elliott> just you hate it for the wrong reasons
00:05:44 <elliott> *we* hate it because it's not Apex
00:05:52 <cpressey> It has got on my (Other) List
00:05:56 <elliott> right, cpressey's dolphin-mermaid god-wife cunningly disguised as cpressey?
00:06:05 * elliott meddling kid
00:06:25 <cpressey> no more banana pepper ice cream floats before bedtime for you!
00:06:32 <Sgeo> There are no examples of ->
00:06:55 <elliott> cpressey: BUT DAD ;_;
00:07:26 <Sgeo> "active mobile native persistent"
00:07:27 <Sgeo> Oooh
00:07:38 <Sgeo> It has some sort of builtin OO DB?
00:10:04 <cpressey> elliott: what was the name of that minimal python editor in python, again?
00:11:07 <elliott> cpressey: sec
00:11:25 <elliott> cpressey: http://www.logarithmic.net/pfh/yaedit
00:11:28 <elliott> this is why i don't use bookmarks
00:11:36 <elliott> I found that just by remembering "logarithmic.net"
00:11:44 <cpressey> cool thanks
00:11:49 <elliott> cpressey: I tried it out and it's totally cool but it has deficiencies.
00:12:00 <elliott> cpressey: For instance while it does the auto-save thing it has no VCS support making it a bit of a bitch.
00:12:05 <elliott> cpressey: Also no auto-indent.
00:12:11 <elliott> cpressey: Well, there's copy-indent-of-last-line.
00:12:13 <elliott> But that's bullshit.
00:13:46 <cpressey> well, i figured i wanted to try it, at least
00:14:14 <elliott> cpressey: What you need to use is leaden!
00:14:24 <elliott> cpressey: Which I am either going to code, or Kayak, right now!
00:14:46 <cpressey> Is Kayak your web browser? The log was way too long for me to dig through
00:15:21 * Sgeo needs a tutorial on Haskell zippers, other than that one with that greek gaming company
00:15:35 <elliott> cpressey: Yes
00:15:41 <elliott> cpressey: It displays web pages!
00:16:29 <elliott> Kayak (Mozilla/5.0; Gecko; WebKit/531.2+; Safari/531.2+; Version/5.0)
00:16:35 <elliott> cpressey: And it has this unbelievable user agent!
00:16:43 <cpressey> Yes, well
00:16:55 <elliott> Sgeo: ???
00:17:08 <cpressey> I need food. And after the Jeff Atwood-related Horrors experienced here, drink. Much drunk.
00:17:08 <Sgeo> Any good tutorial other than http://en.wikibooks.org/wiki/Haskell/Zippers
00:17:11 <cpressey> *drink
00:17:18 <Sgeo> Last time I looked at it, it gave me a headache
00:17:22 <cpressey> though the fruedieanness of that is inarguable
00:17:33 <cpressey> *freudian-slipperyness
00:17:47 <elliott> cpressey: zomg wait
00:17:49 <elliott> cpressey: is it JUICY atwood bullshit
00:18:05 <cpressey> elliott: No, it is CREEPY atwood bullshit.
00:18:24 <elliott> cpressey: wait wait
00:18:26 <elliott> cpressey: elaborate slightly
00:19:15 <cpressey> elliott: OK: "I consider the Wumpus my power animal" -- Jeff Atwood
00:19:18 <cpressey> NOTE: GRAPHICAL WUMPUS
00:19:21 -!- augur has quit (Ping timeout: 250 seconds).
00:19:30 <elliott> cpressey: old
00:19:32 <elliott> cpressey: seen before
00:19:35 <cpressey> not to ME
00:20:47 <cpressey> thankfully he never had my respect in the first place
00:20:50 <cpressey> so nothing lost, there
00:25:57 <elliott> cpressey: leaden or kayak, which should I work on
00:26:02 <elliott> kayak already has some code done :p
00:26:06 <elliott> (leaden did but it is lost)
00:28:19 -!- augur has joined.
00:30:37 <cpressey> elliott: vagrant! rewrite it in Fuxi!
00:30:49 <cpressey> and so forth, and so on.
00:30:57 <cpressey> if you were looking for anything like a serious opinion,
00:31:05 <cpressey> I would get more use out of leaden, probably.
00:31:09 <cpressey> but for now, I food.
00:31:14 -!- cpressey has changed nick to cpressey|away.
00:31:15 -!- augur has quit (Remote host closed the connection).
00:31:42 -!- augur has joined.
00:48:36 <Gregor> I preordered the Barbie Computer Engineer doll, and every month Mattel emails me to tell me it's still not available. ... in spite of the fact that the site said it wouldn't be available 'til late November ANYWAY. Thanks for the utterly redundant emails there, Mattel.
00:48:52 <Sasha2> cool?
00:48:58 -!- Sasha2 has changed nick to Sasha.
00:49:01 <elliott> Gregor: whoa, wasn't it decided on like last year?
00:49:14 <elliott> Gregor: How hard is it to create barbies :P
00:49:22 <Gregor> elliott: They create them for the "holiday season"
00:49:35 <elliott> For all those girls BEGGING for a computer engineer doll
00:49:38 <Gregor> elliott: They only start selling them once they become Christmas gifts :P
00:49:40 <Gregor> YES
00:49:46 <Gregor> The COOL girls.
00:49:54 <elliott> Gregor: or more likely unwashed middle-age men who will do HORRIBLE HORRIBLE THINGS to them
00:50:02 * elliott worst mental vision ever aaargh
00:50:15 <Gregor> Horrible, pointy things.
00:50:19 <elliott> Coming soon to a basement near you: "...sheesh, that's not even *vaguely* anatomically correct! :("
00:50:25 <elliott> "...oh well *fap fap fap fap fap*"
00:50:32 -!- Sasha has changed nick to Chachi.
00:59:45 <pikhq> It still amazes me that a Congress-critter wanted to enact a law that would allow for the removal of citizenship of "terrorists".
01:00:22 <pikhq> I can't remember who the moron was, but still, how fucking ignorant of how anything works do you have to be to make that seem like a good idea?
01:03:08 <elliott> 12:07:44 <ais523_> elliott for the logs, other people who are interested: there's a currenty hilarious proggit submission http://www.reddit.com/r/programming/comments/dwtou/stack_overflow_how_do_i_leave_my_site_vulnerable/ about an XSS vulnerability in Stack Overflow; one of the Stack Overflow admins posted to say they'd corrected it (and were annoyed at the way it was disclosed), and someone replied to him using Jeff Atwood's account saying
01:03:09 <elliott> 12:07:46 <ais523_> "I've tried being white hat with an SO employee before. All he did was change his password on one site but not any others."
01:03:09 <elliott> LOL
01:03:15 <elliott> I didn't see "Jeff"'s reply
01:03:19 <elliott> But I saw the other one and commented on it here
01:03:21 <elliott> The original post
01:03:31 <pikhq> And presumably he was completely ignorant of how statelessness works, as well.
01:03:41 <Sgeo> FWIW, the deleted account's name was "codinghorror"
01:03:51 <pikhq> (if you become stateless, you get essentially automatic asylum status ANYWHERE.)
01:03:51 <Sgeo> For some reason, it displays on Reddit is Fun
01:04:10 <pikhq> ... Yes, this does in fact imply that someone who lost US citizenship could claim asylum status *in the US*.
01:04:11 <Sgeo> pikhq, I was ignorant about that until just now
01:04:31 <pikhq> Sgeo: *That* is something not many people know.
01:04:58 <elliott> 12:27:37 <evincar> Well, I'd wager he's a very good programmer, but he's really a brilliant programming philosopher.
01:04:58 <elliott> 12:27:58 <evincar> He knows what programmers need to make them awesome at what they do.
01:04:59 <elliott> *Atwood*?
01:05:00 <pikhq> But quite true. International treaties on statelessness make it so.
01:05:00 <elliott> Seriously?
01:05:05 <elliott> FUCKIN' NUTS MAN
01:05:32 <elliott> pikhq: It's not something states *want* people to know, I would guess.
01:05:52 <pikhq> I suppose.
01:05:59 <Sgeo> Gregor, can you recommend me a good tutorial on Haskell Zippers?
01:06:08 <pikhq> But surely a Congresscritter would be told about it pretty quickly.
01:06:15 <pikhq> Oh, right. Congress. Morons.
01:06:16 <Gregor> pikhq, can you recommend Sgeo a good tutorial on Haskell zippers?
01:06:30 <pikhq> Gregor: No.
01:06:35 <Gregor> Sgeo: No.
01:07:01 <pikhq> I just know it's some sort of fancy list-like datastructure. ... Yeeeahh, that's not helpful at all. :)
01:09:04 <Sgeo> Something to do with keeping track of where you are in a datastructure, I think
01:09:36 <elliott> Sgeo: CAN YOU RECOMMEND ME A GOOD TUTORIAL ON *H*ASKELL *Z*IPPERS?!?!?!2
01:10:58 <pikhq> My goodness that's amusing. Because the PRC and the ROC both claim each other, de jure each citizen of either country is citizen of both.
01:11:28 <Gregor> pikhq: They both want defectors that much too.
01:11:45 <elliott> pikhq: for some definition of de jure involving two different authorities at once
01:11:55 <Sgeo> I'll try the stupid Wikibooks thing again
01:12:02 <elliott> the only de jure position any entity can hold is that every citizen of either landmass/authority is the citizen of only one of them
01:12:11 <elliott> as you can't recognise both of them at once
01:12:16 <elliott> technically, you could recognise one of them, I suppose
01:12:20 <elliott> but that would be silly
01:12:39 <pikhq> Gregor: De facto, citizens of the ROC are citizens of the PRC but not the other way around.
01:13:19 <elliott> pikhq: I don't think the PRC has police working in the ROC.
01:13:20 <elliott> The ROC does.
01:13:24 <elliott> Therefore your definition of de facto sucks ass :P
01:13:27 -!- Mathnerd314 has quit (Ping timeout: 245 seconds).
01:13:30 <pikhq> Because the ROC makes a distinction between the area occupied by the PRC and that occupied by the ROC. People from the area occuppied by the PRC do not have right of abode in the ROC.
01:13:39 <pikhq> elliott: It's ROC law that makes it that way, not PRC law.
01:13:58 * elliott gives up on reading/understanding that
01:15:03 <pikhq> elliott: The ROC has a notion of citizenship that applies to people in the PRC as well. But all the usual rights of citizenship are instead bestowed upon "nationals".
01:15:55 <pikhq> Which is an entirely seperate classification that basically applies to people in the area governed by the ROC and their descendents.
01:16:06 <elliott> "Nota Bene: this is not a public access server. Unless you are duly authorised, you are required to disconnect immediately. All your transactions are logged and monitored. If you disagree with this, disconnect immediately. In the interest of security, we reserve the right to scan your machine automatically and aggressively (including OS detection, port scanning and other intruder detection aids at our
01:16:06 <elliott> discretion). If you do not concede to any of this, disconnect immediately." -- a *web page*
01:16:28 <elliott> Good thing I'd already disconnected by then!
01:17:30 <pikhq> Aaand travel between the PRC, ROC, Hong Kong and Macau is determined by internal passports issued by the governments in question. SUCH A HEADACHE.
01:17:40 <catseye> < elliott> *Atwood*? <-- I just assumed evincar is a master of deadpan.
01:17:58 <elliott> catseye: I... hope so
01:18:38 -!- augur has quit (Ping timeout: 272 seconds).
01:19:37 <elliott> catseye: WebKit(Gtk)'s API is weiiird
01:19:53 <elliott> catseye: The icon-loaded signal gives you the URI to the favicon even if the favicon doesn't exist, not, say, an image or NULL
01:20:00 <elliott> That's... totally not helpful WebKit(Gtk)
01:20:08 <catseye> elliott: yeah! i believe it! i had to dig through it(Cocoa) a bit today
01:20:23 <Gregor> elliott: If I was to forceably normalize a site to use just one font, what would be the least offensive, most redistributable font I could use? This being if I were to even lose sans/serif/mono information for instance.
01:20:31 <elliott> catseye: oh the webkitgtk api in general is nice and simple (something cocoa is allergic to)
01:20:38 <elliott> Gregor: Try not to lose such information :P
01:20:51 <elliott> Gregor: But uh *thinks*
01:21:06 <Gregor> Well, we'll step up from there on keeping sans and serif :P
01:21:20 <elliott> Gregor: (To imagine what kind of question you just posed me, imagine someone asking "What computer should I buy and what language should I program in on it?" and when asked for further detail can't give any)
01:21:28 <elliott> Gregor: (Or rather, gives the detail "for ALL USES")
01:21:40 <pikhq> So, it's easier to move from the ROC to the PRC than vice versa... Weird.
01:21:50 <elliott> Gregor: I assume it has to be Free as in Fucking, not just, say, free-to-redistribute-but-totally-proprietary-licensed?
01:21:50 <Gregor> elliott: Well, the great thing about this use (WebSplat, duh) is that it kinda doesn't matter how readable it is. They're just platforms.
01:21:59 <elliott> Well yeah, but metrics :P
01:22:00 <Gregor> elliott: Ideally.
01:22:37 <elliott> Gregor: Okay -- Liberation (Sans|Serif|Mono) or Free(Sans|Serif|Mono). Liberation Sans' "J" is freaky so I'd go for the Free ones, but whatever.
01:22:48 <elliott> Gregor: Metric-compatibility with Microsoft fonts is the reason.
01:22:58 <elliott> Gregor: Shitty sites whose layout breaks without the right metrics will still function :P
01:23:16 <Gregor> Wow, I didn't even know there were fonts that aimed for that level of compatibility.
01:23:17 <elliott> Gregor: Liberation Serif is classier than FreeSerif, but I'd go for the same family if you do distinguish.
01:23:30 <elliott> Gregor: The Nimbus fonts also do that but they're beyond hideous.
01:23:39 <elliott> (At least when browsers render them)
01:24:09 <elliott> Gregor: Oh, Free* = GPL3.
01:24:15 <elliott> Gregor: So, uh, you may want to avoid them. As unto fire.
01:24:41 <Gregor> And iff, due to the fact that it's not always clear what serifness is appropriate, I were to lose that information in SOME cases, should I prefer sans or serif? Keeping in mind again that they're platforms :P
01:24:41 <elliott> Gregor: Liberation is GPL(2, presumably) with font embedding exception.
01:25:14 <elliott> Gregor: Well, browsers default to serif. So there's always that. But >50% sites that do set a font set it to sans, I would imagine. (Although not >50% of well-designed websites.)
01:25:26 <elliott> Gregor: So it's totally your call; I'd test to see which is less ugly.
01:25:37 <Gregor> I am incapable of making that distinction.
01:25:47 <elliott> Gregor: Give me alpha versions and I'll tell you :P
01:25:51 <elliott> Gregor: If the Serif or Sans of whichever family you choose is less ugly than the other, that'd probably be the one to go for.
01:25:54 * pikhq has the font default to sans...
01:26:09 <elliott> pikhq: Nobody else does.
01:26:10 <elliott> :P
01:26:27 <pikhq> elliott: I'll use serif fonts the day I get a 600dpi monitor.
01:26:33 <elliott> Shaddup
01:26:41 <Gregor> elliott: Probably goin' with Liberation, and defaulting to sans simply because I feel a (slightly) simpler font would distract less, since you're not supposed to be reading it :P
01:26:45 <elliott> pikhq: You already *have* a higher PPI monitor than you think due to subpixel rendering.
01:26:51 <elliott> Gregor: http://upload.wikimedia.org/wikipedia/commons/d/de/FreeSansDemonstration.png Stunning grammar here from the FreeSans people
01:26:55 <elliott> a font, in mixed case isn't
01:26:56 <Gregor> Now I just have to normalize on window width and things SHOULD be consistent >_>
01:26:57 <elliott> a font VERY MADE BOLD
01:27:02 <elliott> Gregor: 800x600 plz
01:27:08 <elliott> Gregor: Or slightly wider/taller but not 1024x768
01:27:10 <pikhq> elliott: Insufficiently!
01:27:13 <elliott> Some of us have screens that are x768 >_>
01:27:24 <Gregor> elliott: Height doesn't matter much. Why not 1024?
01:27:37 <elliott> Gregor: Well, sure, 1024 would be fine.
01:27:45 <elliott> Gregor: 1024x700?
01:28:09 <elliott> Gregor: Just tried that with Kayak and it's a nice size although dangerously close to my taskbar.
01:28:12 <elliott> (I couldn't have two panels like that.)
01:28:36 <elliott> Gregor: 1024x650 is also good although very widescreen.
01:28:53 <elliott> Gregor: 1024x675 strangely seems less widescreen.
01:28:59 <Gregor> elliott: Err, lemme be more clear: My hope is to lie to the renderer and tell WebSplat the truth. So you could use any size, it'll just look more and more weird the farther your actual window size is from the lied one.
01:29:08 <Gregor> elliott: It would even work with a smaller size, you'll just scroll more.
01:29:18 <elliott> Gregor: Ah.
01:29:21 <catseye> the normalization, she is for the multiplayer, yes?
01:29:26 <Gregor> catseye: Si.
01:29:26 <elliott> Gregor: Then you won't specify a height at all.
01:29:31 <Gregor> elliott: No.
01:29:32 <elliott> Gregor: Or, well, the renderer has to report one.
01:29:40 <elliott> Gregor: So just say 600 :P
01:29:44 <Gregor> elliott: Right.
01:29:49 <Gregor> elliott: It can be more-or-less arbitraryish.
01:29:49 <elliott> Gregor: But make the default window size 1024x675 :P
01:30:03 <Gregor> How about I make the default window size whatever you set it to :P
01:30:11 <elliott> Gregor: But you need a stock default! :P
01:30:23 <elliott> Gregor: Also, btw, pywebkitgtk is very nice.
01:30:29 <elliott> It *is* Python, and it *is* gtk, but...
01:30:36 <elliott> It's ridiculously trivial to get something going.
01:30:40 <Gregor> Is there a pywebkitqt?
01:30:46 <elliott> Gregor: Not that I know of.
01:30:56 <elliott> Gregor: But get over it, you already have Gtk on your system :P
01:30:57 <Gregor> Also, I'm almost certain I'll have to hack at WebKit proper to lie in the ways I need to >_>
01:31:02 <elliott> Unless you're a software hermit.
01:31:05 <elliott> Gregor: Perhaps not.
01:31:11 <elliott> Gregor: http://webkitgtk.org/reference/index.html
01:31:20 <elliott> Gregor: (The same API applies to pywebkitgtk except you stick .s in :P)
01:31:21 <Gregor> There ... is a webkitgtk.org ...
01:31:23 <catseye> Gregor: there's a pyqt w/webkit unless i'm mistaked
01:31:23 <Gregor> *brain explodes*
01:31:29 <elliott> Gregor: The Gtk thing is actually a port
01:31:34 <Gregor> Ohright, WebKit is officially part of Qt.
01:31:34 <elliott> *port.
01:31:43 <elliott> Gregor: Right, but that involves writing C++.
01:31:43 <Gregor> elliott: But ... GTK support is in WebKit trunk ...
01:31:45 <elliott> And nobody likes writing C++.
01:31:56 <Gregor> elliott: I've hacked at WebKit. A lot. :(
01:31:59 <elliott> Gregor: Yes, well, this gives a GTK-flavoured API or something?
01:32:06 <elliott> Gregor: I don't know. It's what has a Python binding.
01:32:17 <elliott> Gregor: And you can just put it in a GtkScrolledWindow and everything works :P
01:32:19 <Gregor> I'm just blathering at this point :P
01:32:48 <elliott> Gregor: http://sprunge.us/SFHj pywebkitgtk example
01:32:55 <elliott> Gregor: (Including my code to figure out how favicon notification works!)
01:33:02 <elliott> FEEL THE GUIDO-ESQUE SIMPLICITY
01:33:13 <elliott> Gregor: BTW, I'd steal my user agent-setting code.
01:33:18 <elliott> Gregor: And *yes* all that is required.
01:33:23 <elliott> *Yes* I tested N subsets of that.
01:33:28 <elliott> *No* they did not fool many common websites.
01:33:35 <elliott> Such as Google, Google Images, and GMail.
01:33:36 <pikhq> elliott: PyQt involves writing Python.
01:33:37 <elliott> *Gmail.
01:33:43 <elliott> pikhq: It has no WebKit binding.
01:33:46 <elliott> AFAIK
01:33:52 <elliott> pikhq: Besides, PyQt is ... ugly.
01:33:56 <elliott> SIGNALS AND SLOTS WOOOOOOOO
01:34:00 <elliott> More like signals and sluts.
01:34:02 <pikhq> elliott: I've built that sucker. It damned well has a WebKit binding.
01:34:20 <catseye> i believe i side with pikhq here
01:34:24 <elliott> pikhq: While Qt's UI may be nicer than Gtk, its Python API is not.
01:34:31 <elliott> Yes, GTK is ugly as fuck in C.
01:34:37 <catseye> some dude @work is using pyqt for webkit
01:34:37 <elliott> But when you put it in a language with actual objects...
01:34:50 <pikhq> The only upside of GObjects is that it's easy to bind.
01:34:54 <elliott> Gregor: Also I refuse to do font decisions if you don't use WebKitGtk.
01:34:55 <elliott> OH SNAP
01:34:59 <Gregor> Imma let you guys duke it out 'cuz I'd be perfectly happy slapping shit together in C++ X-D
01:35:06 <pikhq> And that's the *principle* downside of C++...
01:35:08 <elliott> pikhq: Qt has a motherfucking compiler from extended C++ to C++.
01:35:19 <elliott> pikhq: And its own Makefile generator.
01:35:22 <Gregor> pikhq: A motherfucking compiler is the worst kind of compiler.
01:35:23 <pikhq> elliott: Which only makes things worse.
01:35:24 <elliott> pikhq: And its own EVERY FUCKING CLASS EVER
01:35:25 <catseye> "extended C++
01:35:27 <catseye> "?
01:35:31 <Gregor> catseye: See moc
01:35:35 <elliott> catseye: It extends C++.
01:35:35 <catseye> oh dear
01:35:37 <elliott> catseye: For SIGNALS AND SLUTS
01:35:38 <elliott> *SLOTS
01:35:40 <catseye> yes well
01:35:57 <elliott> What I'm saying is: Don't get GObject's C usage fool you, Gtk has a way nicer API :P
01:35:58 <pikhq> catseye: Qt has used a superset of C++ from, like, day one.
01:36:23 <pikhq> elliott: Eh, Qt's not bad in C++.
01:36:23 <catseye> pikhq: maybe that's why it always makes me feel icky
01:36:29 <elliott> pikhq: Yes it is.
01:36:29 <pikhq> elliott: It just doesn't fit anywhere else.
01:36:34 <catseye> or maybe it's opera
01:36:35 <elliott> pikhq: IT HAS ITS OWN STRING CLASS
01:36:54 <pikhq> elliott: Yes, welcome to the pain of C++ idioms.
01:36:54 <Gregor> elliott: So does WebKit :P
01:37:00 <elliott> Gregor: YEAH WELL
01:37:02 <Gregor> elliott: Have you seen WebKit's wtf?
01:37:14 <elliott> Gregor: Please tell me that stands for WebKit Template Framework
01:37:16 <pikhq> elliott: I've seen single-file C++ programs with their own file class.
01:37:19 <Gregor> elliott: It does.
01:37:25 <elliott> Gregor: Please tell me that's deliberate
01:37:25 <Gregor> elliott: Name extremely intentional.
01:37:27 <elliott> <3
01:37:28 <elliott> <333
01:37:54 <elliott> Gregor: I always knew I liked that... uh, person whose nick starts with a "b" and then another letter that totally can't be pronounced after "b" who works on WebKit at Apple and is on IRC and reddit.
01:39:43 <catseye> well let's try out this lil' browser then
01:40:17 <catseye> i... have not installed python yet?
01:40:30 <Gregor> X-D
01:40:32 <catseye> too busy rebuilding mah kernel, yeah!
01:40:33 <elliott> catseye: You'll also need to install pygtk and pywebkitgtk :P
01:40:39 <elliott> catseye: Also: No URL entry field.
01:40:44 <elliott> GOOD LUCK USING IT RIGHT NOW
01:41:28 <Gregor> Well, Debian has Python bindings to both Qt and GTK WebKit.
01:41:34 <Gregor> However, python-webkit-dev is GTK
01:41:41 <Gregor> Therefor GTK is the correct decision.
01:41:55 <catseye> wow! pkgsrc will not allow me to install it 'cos it's got vulnerbilties.
01:42:14 <elliott> Gregor: Indeed.
01:42:18 <elliott> catseye: :D
01:42:24 <catseye> cvs up might fix!
01:42:30 <elliott> Gregor: Also, you can rip off my code example. Note: Code example licensed under ISC license
01:42:44 <elliott> (As of now)
01:42:44 <catseye> I Sue Competitors?
01:42:47 <elliott> http://en.wikipedia.org/wiki/ISC_license
01:42:49 <elliott> It's like BSD2, but shorter.
01:42:57 <elliott> Which is like MIT, but shorter :P
01:43:01 <elliott> Also like BSD3, but shorter
01:43:04 <elliott> Which is like BSD4, but not retarded.
01:43:44 <Gregor> What's the useful distinction from the MIT/X11 license?
01:44:03 <elliott> Gregor: It's shorter.
01:44:06 <Gregor> Looks like there is none, MIT/X11 is just more specific.
01:44:13 <elliott> Gregor: Also, it doesn't duplicate the Berne convention.
01:44:19 <catseye> should say AUTHOR(S)
01:44:29 <elliott> catseye: The author is then multiple people.
01:44:36 <elliott> Gregor: Really though I don't care about what license you use :P
01:44:37 <catseye> can authors DO that?
01:44:42 <elliott> Gregor: (As long as it's ISC)
01:44:48 <elliott> Gregor: I'm just joking, it's public domain.
01:44:53 <elliott> Gregor: But if it isn't ISC or MIT licensed I will eat your soul.
01:44:57 <Gregor> OK, I'll go with GPL3 with literally every option.
01:44:59 <elliott> Souleatery.
01:45:55 <catseye> GPL3 *and* cede the copyrights to the Free Software Foundation.
01:46:26 <elliott> catseye: I wonder what would happen if you assigned some copyright to FSF without them wanting it :P
01:46:28 <elliott> I so hope that's possible
01:46:36 <elliott> ChildPornSearchDeluxe will be all Stallman's in a few weeks
01:46:54 <catseye> See, they're like the DTCC. In order for software to be traded efficiently, electronically, they must hold it all in escrow, for you.
01:47:53 -!- augur has joined.
01:48:32 <pikhq> elliott: Make it the Creative Commons Public Domain License.
01:48:35 <elliott> catseye: Indeed, they must, in that, I trust.
01:48:38 <elliott> pikhq: No.
01:48:55 <pikhq> elliott: In countries with the notion of public domain it's public domain, in countries without it's a completely restrictionless license.
01:49:07 <elliott> pikhq: I am well aware.
01:49:12 <pikhq> Okay.
01:49:14 <elliott> I also don't give a shit as I don't believe my code can be copyrighted.
01:49:22 <elliott> And if it can be, I also don't give a shit and don't consider it copyrighted.
01:49:30 <elliott> Gregor could easily win any court case with this log :P
01:49:49 <pikhq> Hah.
01:50:09 <catseye> THIS WORK IS COPYRIGHTED ONLY IF IT IS NOT COPYRIGHTED (Q)
01:50:31 <elliott> catseye: (Q) <-- <3
01:50:42 <elliott> NOW HOW DO I LOAD A FAVICON FROM THE WEB AND GIVE IT TO GTK
01:51:06 <Gregor> elliott: With beer. And hookers.
01:51:22 <elliott> Gregor: *blackjack
01:51:37 <Gregor> Damn it, I knew it wasn't beer, but I couldn't remember what it was so I improvised :P
01:51:38 <catseye> i don't remember gtk liking any image format except horrible ones (yes, i know .ico is horrble, but it is not gtk-horrible)
01:52:09 <Gregor> It only supports PPM and GIF
01:52:29 <catseye> Gregor: Back in the day it only supported .xpk
01:52:31 <catseye> no
01:52:34 <catseye> something like that
01:52:39 <catseye> C CODE, BASICALLY
01:52:42 <elliott> catseye: .xpm/.xbm
01:52:46 <catseye> that's it
01:52:52 <catseye> it's C code!
01:52:56 <catseye> in image form!
01:53:01 <catseye> or something
01:53:01 <elliott> yes
01:53:03 <elliott> well
01:53:06 <elliott> it's an image!
01:53:08 <elliott> in C code form!
01:53:11 <catseye> BETTER
01:53:19 <elliott> #include "tux.xpm"
01:53:38 <Gregor> catseye: So this is, what, in the GTK1 days? :P
01:53:44 <elliott> Gregor: PPM is like XPM but lame :P
01:53:50 <elliott> http://upload.wikimedia.org/wikipedia/commons/b/b3/Screenshot-xterm-linux.xpm-GVIM.png
01:53:54 <elliott> Look, vim can display PPM images!
01:54:00 <elliott> With the magic of syntax highlighting!
01:54:03 <elliott> *XPM
01:54:11 <elliott> catseye: Warning: ^ is beautiful
01:54:31 <Gregor> Wow, that's pretty epic.
01:56:07 <catseye> Gregor: GTK1 is AWESOME.
01:56:11 <elliott> Gregor: Combine with something like Emacs' various drawing modes and TADA
01:56:17 <catseye> 1.2, 1.3, where-ever it stopped.
01:56:55 <elliott> 1.999999999999
01:57:09 <catseye> elliott: I approve
01:57:15 <elliott> GTK 2 IS REALLY GTK 1
01:57:17 <catseye> (of image)
01:57:18 <elliott> GTK 1.9 RECURRING
01:58:55 <catseye> ok, i have built kernel! how to instal??!?
01:59:01 <elliott>   s.summary = "DO NOT INSTALL THIS GEM. IT WILL DELETE YOUR FILES."
01:59:02 <elliott>   s.description = "This gem attempts to delete everything in /. If you install it with sudo, you will be really, really fucked."
01:59:04 <elliott> catseye: make install!
01:59:27 <elliott> catseye: ruby's package manager is so awesome that anyone who has the appropriate permissions on rubyforge.org (not much, basically) can wipe your drive if you use the package manager as root ^
01:59:31 <elliott> or your ~ if you run it as a user
01:59:32 <elliott> HOW AWESOME IS THAT
01:59:53 <elliott> http://github.com/wmorgan/killergem/blob/master/extconf.rb lawl it doesn't actually do it
01:59:54 <elliott> WIMP-OUT
02:00:14 <catseye> pretty awesome
02:00:37 <catseye> so ok make install installed a few things then bombed I AM CONCERNED OF MY SYSTEM NOW but will proceed
02:00:47 <catseye> gently
02:00:57 <catseye> like a rhinoceros making change
02:01:28 <elliott> catseye: best. analogy. ever
02:01:42 <Gregor> WOOOH MYTHBUSTERS
02:01:54 <elliott> bythmusters
02:01:56 <catseye> is this the fan shit episode Gregor
02:02:10 <Gregor> catseye: No, that was last week :P
02:02:46 <elliott> I dearly hope that episode involved someone sitting on a desktop fan while it was running (horizontally) and then shitting directly on it.
02:03:08 <Gregor> elliott: It did not :P
02:03:23 <elliott> Gregor: LAME
02:04:46 <catseye> *jawdrop*
02:05:02 <catseye> # mv /netbsd /netbsd.old
02:05:04 <catseye> # mv netbsd /
02:05:12 <elliott> catseye: I, uh, that works?
02:05:12 <catseye> to install new kernel
02:05:16 <elliott> Oh, /netbsd isn't a directory.
02:05:19 <catseye> that;'s what they tell you to do
02:05:26 <elliott> catseye: That could so easily be a make rule :P
02:05:57 <catseye> it could! i don't like the BSDs system build system anyway though
02:06:07 <catseye> MAKE IS NOT A PROGRAMMING LANGUAGE STOP PLEASE STOP
02:06:47 <elliott> catseye: WE SHOULD STOP WRITING TELEGRAMS STOP PLEASE STOP JUST STOP AND THINK ABOUT WHAT YOU'RE DOING PLEASE STOP STOP
02:08:36 <Gregor> Make is TC, isn't it?
02:08:40 <Gregor> (Idonno, maybe it's not)
02:09:02 <Gregor> Actually, never mind, no recursion or iteration except in the the underlying shell.
02:09:17 <elliott> Gregor: Well...
02:09:23 <catseye> which make is MORE than happy to do!
02:09:31 <elliott> Gregor: If you have a rule for the makefile currently running, it will execute if any of the dependencies are out-of-date.
02:09:38 <elliott> Gregor: And then re-run make after you do that.
02:09:49 <Gregor> elliott: Heynow! That's like the CPP trick :P
02:09:54 <elliott> Gregor: Yup :P
02:10:07 -!- augur has quit (Remote host closed the connection).
02:10:09 <elliott> Gregor: (Which I'm not convinced works without something that expands to \n)
02:10:22 <Gregor> Neither am I, but I'm not willing to believe that it's not yet :P
02:10:34 -!- augur has joined.
02:10:36 <elliott> Gregor: Well, repeated regexps are TC.
02:12:00 <elliott> Gregor: (Proof: Imagine a regexp that executes, say, a single step of brainfuck except instead of [] you have | which pushes the code after it to a stack, ; which stops executing, : which pops off stack and executes, and ? which runs the next instruction iff !=0)
02:12:09 <elliott> Gregor: Pretty easy to imagine, and then just iterate that.
02:12:24 <Gregor> I'm sure cpressey can confirm :P
02:12:58 <catseye> Well a "regexp" only matches a string. If you mean an s/// replacement thingy, sure. Just write a Tag system and be done with it.
02:13:10 <elliott> catseye: Well, yeah.
02:13:26 <elliott> catseye: s/// with proper, regular regexps and just $n in the replacement.
02:13:34 <catseye> well -- do you mean, *only one* regexp, repeated?
02:14:10 <catseye> The jury may still be out on that.
02:14:19 <Gregor> One regex to rule them all. One regex to make an extremely tired and overused reference.
02:15:55 <Gregor> I cannot believe how long Pringles has gotten away with advertising nothing but the shape of their packaging. The chips are actually pretty good, but all they ever advertise is that they come in a friggin' tennis ball tin.
02:16:24 <Chachi> heh
02:16:35 <elliott> Gregor: They're alright but they leave me feeling emptier than when I started gorging on them.
02:16:41 <Chachi> It's impossible to get at the chips at the bottom
02:16:45 <elliott> Which is probably why once you pop you can't stop, you're getting *hungrier!*
02:16:54 <Gregor> elliott: That's because it takes so much effort to get 'em out of the friggin' tennis ball tin :P
02:17:02 <elliott> <catseye> well -- do you mean, *only one* regexp, repeated?
02:17:02 <elliott> <catseye> The jury may still be out on that.
02:17:04 <elliott> well, no, but
02:17:06 <elliott> see BCT :P
02:17:10 <elliott> but uh, i agree, jury's out
02:17:16 <elliott> Gregor: :D
02:18:38 -!- poiuy_qwert has joined.
02:20:14 -!- augur has quit (Ping timeout: 264 seconds).
02:20:42 <catseye> elliott: I just built myself a new kernel, and installed it. It is... about 1200 bytes smaller than the old one. Shall I try reboot for SELF-HOSTED GOODNESS?
02:20:50 <elliott> catseye: did you use -Os
02:20:52 <elliott> IT COULD BE EVEN SMALLER
02:21:10 <catseye> No, just the standard whatever they supply -- quite surprised that it is not the same size, but
02:21:16 <catseye> not too worried I guess
02:21:26 <catseye> ok, more like 1500 bytes smaller
02:21:44 <catseye> i'm going to memorize the recovery instructions then reboot
02:21:56 <catseye> also if this works, i am going to customize the bastard
02:22:57 <catseye> ta
02:22:59 -!- catseye has quit (Quit: leaving).
02:23:17 -!- storkbot has quit (Remote host closed the connection).
02:23:39 <pikhq> I DISBELIEVE IN WATCHING LIVE TV WHEN WAITING A WHILE GETS BETTER VIDEO.
02:23:48 <elliott> pikhq: SO YOU'VE SAID, EXTENSIVELY
02:23:58 <pikhq> elliott: ANALOG TV SUCKS.
02:24:10 <elliott> pikhq: ANALOGUE TV IS BECOMING NONEXISTENT IN US
02:24:11 <elliott> NO?
02:24:16 <elliott> OR EVEN HAS BECOME ENTIRELY
02:25:08 <pikhq> elliott: Tell that to the cable company.
02:25:18 -!- catseye has joined.
02:25:25 <catseye> Self-hosted goodness.
02:25:30 <pikhq> Which still has a good 70 channels of analog and a small handful of HD channels.
02:25:53 <elliott> pikhq: analogue != SD
02:26:11 <Gregor> catseye: It's not true self-hosting until you built the processor.
02:26:20 <Gregor> catseye: Also, you have to build the universe that the processor runs in.
02:26:54 <pikhq> elliott: It's 70 channels of analog NTSC-M and a hundred of low-quality digital SD video and a handful of HD video.
02:27:11 <elliott> *SD video
02:27:17 <pikhq> Yes.
02:27:50 <pikhq> And I'm pretty sure the digital signals are QAM-modulated ATSC, if it matters.
02:29:33 <pikhq> Gaaah, why must NTSC-M live on?
02:31:18 -!- catseye has quit (Ping timeout: 276 seconds).
02:31:58 -!- myndzi\ has joined.
02:35:51 -!- myndzi has quit (Ping timeout: 276 seconds).
02:37:38 <elliott> pikhq: http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=105844179616633553359.00047b81468e20e376792&z=12
02:38:20 <elliott> pikhq: Record of an actual journey :D
02:38:26 <elliott> (via GPS)
02:39:01 <pikhq> Nice.
02:39:09 -!- catseye has joined.
02:39:13 <catseye> hi
02:39:18 <catseye> invalid MIT-MAGIC-COOKIE
02:39:31 <catseye> just thought I'd share that with you.
02:39:31 <elliott> catseye: quite
02:39:40 <Gregor> <3 Xauthority
02:40:05 <catseye> i think i need to rm something
02:40:14 <elliott> catseye: .Xauthority
02:40:17 <elliott> in your ~
02:40:18 <catseye> elliott: TY
02:40:26 <catseye> also: next time: reboot while X is running: NO
02:40:27 <elliott> catseye: in future, don't run gui apps as root like that
02:40:31 <elliott> oh, you didn't
02:40:31 <elliott> ok
02:40:33 <catseye> i wasn't root
02:40:37 <elliott> catseye: clearly it's german "with magic cookie"
02:40:38 <elliott> i.e.
02:40:38 <catseye> i just sudo reboot'ed
02:40:40 <elliott> "cookie, with magic"
02:40:42 <elliott> catseye: ok don't do that
02:40:43 <elliott> ever
02:40:43 <catseye> yes!
02:40:44 <elliott> :P
02:40:57 <elliott> catseye: i've kexec'd from a gnome terminal
02:40:58 <elliott> that was fun
02:41:02 <elliott> worked thohugh
02:41:02 <catseye> i'm used to it giving me a safety zone
02:41:03 <elliott> *though
02:41:08 <catseye> damn you, ... seatbelts
02:41:09 <elliott> catseye: a what
02:41:22 <catseye> a... oh, maybe i am thinking of "shutdown now"
02:41:34 <catseye> it shuts down cleanly
02:41:57 -!- catseye has quit (Client Quit).
02:42:31 <elliott> on linux iirc reboot = shutdown -r now
02:42:37 <elliott> but probably not elsewhere
02:43:14 -!- catseye has joined.
02:43:19 <catseye> rm .Xauthority*
02:43:21 <catseye> the * matters
02:43:26 <catseye> apparently
02:43:56 <elliott> http://images.fastcompany.com/upload/urchin-1000.jpg
02:43:56 <elliott> this
02:43:57 <elliott> forever
02:46:50 <elliott> Gregor: So how goes the Platform Edition :P
02:46:58 <Gregor> Haven't even started.
02:47:03 <elliott> Gregor: BUT
02:47:04 <elliott> BUT
02:47:05 <elliott> DAMN YOU!
02:47:59 <catseye> i like the maze
02:48:43 <catseye> OK SO
02:48:49 <catseye> i'm going to try CVS again
02:49:00 <catseye> if the Lag: 716 (??) starts appearing that's why
02:49:30 <elliott> :D
02:49:41 <elliott> <elliott> Is there a non-horrible way to put a website's favicon in the gtk window icon? The gtk icon setting methods seem to want either image objects or icon names and the like, and all webkitgtk appears to give is a URI.
02:49:43 <elliott> [silence]
02:49:43 <catseye> i should check the log to see if you actually saw that
02:49:44 <elliott> -- #webkit-gtk
02:49:47 <elliott> catseye: i did
02:49:50 <elliott> catseye: do you see this
02:50:03 <catseye> elliott: i see it
02:50:21 <elliott> catseye: Yeah, you do need the * after .Xauthority.
02:50:33 <elliott> catseye: Yes, the maze is the best part :P
02:50:41 <elliott> (catseye: I'm just fucking with you)
02:50:41 <catseye> elliott: kayak should handle webpages that are .exe's by loading them in dosbox
02:50:45 <elliott> catseye: no
02:51:07 <catseye> it's not a security risk. unless dosbox contains a flaw.
02:51:15 <elliott> catseye: just no :P
02:51:25 <catseye> ok, MY browser will totally do that, then.
02:51:27 <elliott> catseye: i like that,
02:51:33 <catseye> i just need python bindings for dosbox
02:51:35 <catseye> or something
02:51:39 <elliott> "blah, unless a large piece of software has a bug"
02:52:04 <elliott> Cthulhu exists, unless Firefox has bugs.
02:52:57 <catseye> updated pkgsrc through cvs! still won't let me near python unless i do awful things.
02:53:05 <elliott> catseye: tell me what it says
02:53:06 <elliott> i gotta know
02:53:21 <catseye> ===> Checking for vulnerabilities in python26-2.6.6nb2
02:53:21 <catseye> Package python26-2.6.6nb2 has a denial-of-service vulnerability, see http://secunia.com/advisories/41279/
02:53:24 <catseye> ERROR: Define ALLOW_VULNERABLE_PACKAGES in mk.conf or IGNORE_URL in pkg_install.conf(5) if this package is absolutely essential.
02:53:27 <catseye> *** Error code 1
02:53:32 <catseye> same for python25
02:53:38 <catseye> i guess i could try python24
02:53:39 <elliott> catseye: i like how they haven't bothered packaging python 2.7 yet
02:53:50 <catseye> well why should they?
02:53:54 <elliott> catseye: true, too RECENT
02:53:55 <catseye> jeez i mean
02:54:00 <elliott> too much of a BAD SECURITY RECORD
02:54:02 <elliott> BANNED
02:56:00 <catseye> "The vulnerability is caused due to incorrect error handling within the "accept()" method of the asyncore module, which can lead to unexpected exceptions being raised or unexpected types being returned, potentially resulting in crashes of e.g. Python server applications using the module."
02:56:09 <catseye> and i am so going to be running python servers
02:56:20 <catseye> i am going to be running python servers SO HARD on this machine
02:56:28 * catseye sets the fucking env var
02:56:44 <catseye> *mk.conf var
02:56:45 <catseye> sigh
02:58:05 <Gregor> We are doing science SO HARD right now.
02:59:17 <catseye> elliott: there's a #webkit. ask there!
02:59:31 <elliott> they pointed me at -gtk
02:59:32 <elliott> :p
02:59:32 <catseye> NOTE: this may not help
02:59:34 <catseye> oh ok
03:00:08 <catseye> waaaay too many people in #webkit
03:00:37 -!- elliott has quit (Remote host closed the connection).
03:01:16 <catseye> ERROR: python26-2.6.5nb1 is already installed - perhaps an older version?
03:01:21 <catseye> watchoo talkin' about netbsd
03:05:16 <catseye> oh fantastic
03:05:30 <catseye> it's rebuildinging all the python-related packages
03:09:51 <catseye> (this includes subversion fsr)
03:10:37 <Sgeo> Is NetBSD the Gentoo of the BSD world?
03:10:49 <catseye> Sgeo: http://www.haskell.org/haskellwiki/Zipper
03:10:56 <catseye> Sgeo: No. They all do this.
03:11:58 <Sgeo> I think I get it
03:12:06 <Sgeo> But I'm very curious about the Generic Zippe
03:12:08 <Sgeo> Zipper
03:12:57 <catseye> I was just looking at that
03:13:50 <catseye> but, damn. delimited continuations. BALK
03:14:14 <catseye> i mean, i'm sure they're not so bad once you warm up to them, but initially? BALK
03:14:56 * Sgeo doesn't know what a delimited continuation is
03:15:03 <Sgeo> But the Zipper-based FS sounds cool
03:15:39 <Sgeo> Having a bit of trouble grasping the lambda as directory
03:15:54 <catseye> uhhhh
03:16:00 <catseye> http://www.cs.rutgers.edu/~ccshan/recur/recur.pdf
03:16:10 <catseye> iirc that has some delimited continuation stuff in it
03:16:22 <catseye> IF NOT, it is a classic paper in a field I do not totally understand
03:16:23 <catseye> so enjoy!
03:16:58 * Sgeo decides to read the pdf about zipperfs
03:18:13 <Sgeo> "one can cd into a file"
03:18:17 * Sgeo still has a headache
03:19:01 <catseye> Vitejte na FTP serveru Welcome to the FTP server of
03:19:01 <catseye> Fakulty informatiky Faculty of Informatics
03:19:01 <catseye> Masarykovy univerzity v Brne Masaryk University, Brno
03:20:44 <Sgeo> "It has a cycle ... you can do that in Unix, if you are root"
03:23:23 <Sgeo> I think generic zipper is a pretty cool guy. eh provides constant-time access to a focus point in an arbitrary functional data structure that has a defined traversal interface and doesn't afraid of anything
03:25:26 -!- p_q has joined.
03:25:38 <catseye> https://www.cs.indiana.edu/~adamsmd/papers/scrap_your_zippers/
03:26:10 <catseye> this is all very haskelly and i don't know what to make of it
03:26:47 -!- poiuy_qwert has quit (Ping timeout: 245 seconds).
03:26:53 * Sgeo doesn't know what Scrap Your Boilerplate is
03:27:35 <catseye> neither do I. I've heard of it, but have never known.
03:27:58 -!- augur has joined.
03:29:16 <catseye> http://research.microsoft.com/en-us/um/people/simonpj/papers/hmap/
03:29:19 <catseye> I still don't know
03:29:26 <catseye> (I can't read PDFs yet)
03:31:14 <catseye> if oerjan were here he'd know
03:31:28 <Sgeo> Data and Typable apparently
03:32:03 <catseye> tells me very little. i can infer something, but it's guesswork, and i don't like what i think it is
03:32:25 <Sgeo> http://www.haskell.org/haskellwiki/Scrap_your_boilerplate
03:33:14 <catseye> yeah i was there
03:33:29 <Sgeo> I think I'm going to run back to Smalltalk or Factor
03:36:22 <catseye> Sgeo: in that case I vote for Factor
03:36:26 <catseye> Smalltalk is cool, but
03:36:50 <catseye> Factor is concatenative
03:37:00 <catseye> although this actually makes it uncool sometimes
03:37:06 <catseye> but whatever.
03:37:18 <Sgeo> if is one of the more annoying things
03:37:40 <Sgeo> Well, maybe not "more"
03:37:48 <catseye> can you write decent video games in Factor!
03:38:27 -!- augur has quit (Ping timeout: 240 seconds).
03:38:48 <Sgeo> I
03:38:51 <Sgeo> I've never tried
03:44:05 <catseye> http://www.pkgsrc.org/pkgsrcCon/2006/slides/presentations/why-pkgsrc-sucks.html
03:45:53 * catseye blinks
03:47:29 <catseye> catseye$ which python2.6
03:47:29 <catseye> /usr/pkg/bin/python2.6
03:47:32 <catseye> pkgviews
03:47:39 <catseye> oh, pkgviews
03:47:44 <catseye> ok, why do you not set up
03:50:36 <catseye> no, apparently not
03:51:44 <catseye> and yet, i swear i was using python just yesterday
03:52:00 <catseye> Sgeo: fall in love with C#!
03:52:18 <Sgeo> C# is bland
03:52:24 <Sgeo> Decent, but not sexy
03:52:35 <Sgeo> Far better than Java, at any rate
03:53:56 <catseye> "Far"? I dunno... they seem so similar to me
03:54:29 <pikhq> catseye: C# is basically Java with fewer mistakes, in my estimation.
03:54:35 <Gregor> pikhq++
03:54:55 <Sgeo> Gregor++
03:55:21 <pikhq> Sgeo++
03:58:06 <catseye> sigh. pkgsrc subversion depends on the Perl, Python, and Ruby bindings to subversion. Stupid.
03:59:32 <Ilari> One package depends on three different bindings to single library?
04:01:20 <catseye> One package depends on three different bindings to *itself*. Yes.
04:02:15 <catseye> Because if you use subversion at all, you clearly need to use it programatically from three different languages.
04:03:54 <Sgeo> Maybe parts of it are written in those three languages
04:04:03 <Sgeo> Um
04:04:18 <Sgeo> That would admittedly be weird
04:07:24 <catseye> No, I'm sure that's not the thought pattern, here
04:08:07 <catseye> The thought pattern here is "CONVENIENCE"
04:08:16 <catseye> It's so stupid
04:09:36 <catseye> "This function takes a string to be processed, or if it's a filename that file will be processed, or if it's a URL that file will be downloaded and processed, or if it's a filehandle that file will be read and that will be processed," etc
04:09:46 <catseye> so
04:10:19 <catseye> If you install subversion, you also want the Perl binding to subversion, and the Python binding, and the Ruby binding, and you want Apache 2 because you'll be using that to serve your subverison repo etc etc
04:11:31 <Ilari> Presumably to localhost if nowhere else? :-)
04:12:41 <catseye> I use the svn protocol; I've never done the svn-over-apache thing, even on localhost.
04:14:49 * Ilari does not use svn protocol, but just about every git smart transport protocol variant ever designed... :-)
04:15:03 <Ilari> Including few custom ones... :-)
04:16:34 -!- augur has joined.
04:16:57 <Ilari> git://, git:// over TLS, git:// over TLS (another variant), ssh://, file://...
04:26:12 <catseye> also... no... SciTE packages in pkgsrc, at *all*?
04:27:26 <catseye> that's... just not right
04:27:40 <catseye> PLEASE DON'T MAKE ME USE EMACS
04:30:44 * catseye installs "yudit"!
04:31:22 <Gregor> vim, man!
04:31:23 <Gregor> VIM!
04:31:44 <catseye> pfah!
04:31:48 <catseye> "Vim"!
04:32:15 <catseye> THAT'S JUST VI WITH IMPROVEMENTS
04:36:46 <catseye> yudit, on the other hand, will clearly increase my productivity
04:38:02 <catseye> *decrease
04:40:24 * Gregor looks at vim's name.
04:40:26 <Gregor> Good lord!
04:40:29 <Gregor> It IS vi with improvements!
04:41:46 <pikhq> :)
04:48:23 <catseye> vim is vi improved SO HARD
04:50:12 <Gregor> http://www.npr.org/blogs/deceptivecadence/2010/10/27/130860735/strange-arrangements-beethoven-with-a-salsa-beat This ... is so awesome.
04:51:29 <Gregor> Unfortunately it's become dynamically uninteresting. All of the big dynamic shifts in the original are flattened :(
04:53:31 <catseye> (SDL needs *yasm* to build? wtf?)
04:53:33 <Gregor> It's the backing percussion that really ruins it for that.
04:53:38 <Gregor> They never shut up.
04:54:16 * catseye has awful flashbacks of "Hooked on Classics" and refused to follow that link.
04:54:23 <catseye> *refuses
04:55:28 <catseye> wait, wtf is *gedit* bringing in SDL? no... oh, it's dosbox i'mbuilding. ok
04:57:48 <catseye> "settings". discuss.
04:59:29 <catseye> Qt vs Gtk+: No-Holds Barred Build Race.
05:07:39 <Gregor> I think GTK+ will win that by a landslide.
05:07:45 <Gregor> I mean, Qt is not just C++, but augmented C++.
05:08:07 <catseye> Also, I ^C'ed Qt.
05:08:22 <catseye> Because tying up my machine with both of them seemed... rude.
05:09:02 <Gregor> Your poor Pentium 4.
05:09:48 <catseye> Celeron M!
05:09:52 <catseye> Like that's better.
05:10:24 <catseye> Hew, I just want to know why my X windows mouse pointer is now an "X" at all times.
05:11:13 <Gregor> Other cursors are for the weak.
05:12:06 <catseye> yay i have gforth installed. i will never use it
05:18:11 <catseye> last I checked, the FreeBSD ports system lets you say 'make install' at the top level, and it will try to install ALL the packages.
05:18:35 <catseye> kind of like if you could say "sudo apt-get install '*'"
05:18:35 -!- wareya has quit (Read error: Connection reset by peer).
05:18:46 <catseye> except built from source.
05:19:04 -!- Sgeo has quit (Read error: Connection reset by peer).
05:20:19 -!- wareya has joined.
05:35:34 -!- storkbot has joined.
05:35:45 <catseye> storkbot: are u gonna crash on me agin
05:35:45 -!- storkbot has quit (Remote host closed the connection).
05:35:48 <catseye> yup
05:37:50 -!- storkbot has joined.
05:38:00 <catseye> storkbot: is you reformed
05:38:00 <storkbot> catseye: ?SYNTAX ERROR
05:38:06 <catseye> storkbot: pretty close
05:38:06 <storkbot> catseye: ?SYNTAX ERROR
05:38:15 <catseye> |tell catseye I can take notes too
05:38:15 <storkbot> catseye: Consider it noted.
05:38:20 <catseye> so yeah
05:38:21 <storkbot> catseye: catseye told me to tell you: I can take notes too
05:38:36 <catseye> quel piece of machinery
05:40:12 <catseye> |help
05:40:20 <catseye> storkbot: i need to teach you that one
05:40:20 <storkbot> catseye: ?SYNTAX ERROR
05:40:42 <catseye> storkbot: no, really, you need to know it
05:40:42 <storkbot> catseye: ?SYNTAX ERROR
05:40:57 <catseye> storkbot: what's your other ysntax error message?
05:40:57 <storkbot> catseye: omg u errored teh syntax!!1!
05:41:03 <catseye> good timing.
05:44:48 <Gregor> So, a HackBot wannabee with 100% more "actually up" :P
05:45:30 <catseye> oh it is SO far from being HackBot you wouldn't believe
05:46:41 <catseye> how could I even do that? Can't run plash, and I don't think jails exist on NetBSD -- just FreeBSD
05:47:54 <Gregor> Then I guess you're punked 8-D
05:48:53 -!- EgoBot has joined.
05:49:08 * Gregor has decided that EgoBot is safe enough, since it does very little I/O.
05:49:11 <catseye> wooooo
05:49:55 <Gregor> HackBot would probably be fine too if I pruned its FS.
05:50:10 <Gregor> # dd if=/dev/zero of=test.big bs=1M count=10 conv=fdatasync
05:50:10 <Gregor> 10485760 bytes (10 MB) copied, 2.90703 s, 3.6 MB/s
05:50:13 <Gregor> Approaching tolerable!
05:51:21 <catseye> !python print "hi"
05:52:07 <catseye> !help
05:52:08 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
05:52:19 <catseye> !help language
05:52:20 <EgoBot> Sorry, I have no help for language!
05:52:21 <catseye> !help languages
05:52:22 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
05:52:37 <catseye> !forth 32 dup + .
05:52:38 <EgoBot> 64
05:53:13 <catseye> Gregor: I note 'asm' is both 'Esoteric' and 'Other' and what assembly language *is* it, anyway?
05:53:45 <Gregor> x86_64 AT&T
05:53:55 <catseye> joyous.
05:54:04 <Gregor> Note that "perl" is esoteric but not other :P
05:54:29 -!- augur has quit (Ping timeout: 255 seconds).
05:54:31 <Gregor> $ du -hs env-old-2010-10-28/ env/
05:54:31 <Gregor> 25M env-old-2010-10-28/
05:54:31 <Gregor> 308K env/
05:54:34 <Gregor> Yeah.
05:54:35 <catseye> !sh echo "$PATH"
05:54:36 <EgoBot> /usr/local/bin:/usr/bin:/bin:/usr/games
05:54:47 <catseye> !sh ls /usr/games
05:54:48 <EgoBot> banner
05:54:59 <catseye> a mini-HackEgo we have here?
05:55:07 <catseye> !sh banner YESH
05:55:08 <EgoBot> ####
05:55:14 <catseye> .... close enough./
05:55:58 <catseye> Gregor: totally needs minischeme, which I am now deciding is the coolest scheme.
05:56:14 <catseye> after DrScheme went all Racket on the world.
05:57:08 <Gregor> catseye: EgoBot's !sh is limited by having no persistent store.
05:57:23 <Gregor> catseye: Whereas HackBot's ` is limited by people putting huge fucking files in its persistent store :P
05:58:05 -!- HackEgo has joined.
05:58:15 <Gregor> `quote
05:58:16 <HackEgo> 69|<Octalnet> oklofok: I'm a tad over-apologetic. I apologize.
05:58:22 <Gregor> Looka how fast that was!
05:58:32 <catseye> Gregor: you rebuilt its store?
05:58:35 <Gregor> Yup.
05:58:38 <Gregor> Removed all the cruft.
05:58:45 <Gregor> Hence my 25MB -> 308K message above.
05:59:14 <Gregor> What I'd really like to do is implement this via a clever unionfs ...
05:59:17 <catseye> i... suspected, but did not know fer sure, that was what it was.
05:59:52 <Gregor> `addquote * Gregor bashes his head into the wall that is Sgeo.
05:59:58 <HackEgo> 247|* Gregor bashes his head into the wall that is Sgeo.
05:59:59 <Gregor> `addquote <zzo38> elliott: Do not trust a computer you cannot throw out of a window. Including the window too far from the rope.
06:00:07 <Gregor> `addquote <fungot> fizzie: got my dead keys back".
06:00:09 <HackEgo> 247|<zzo38> elliott: Do not trust a computer you cannot throw out of a window. Including the window too far from the rope.
06:00:09 <HackEgo> 248|<fungot> fizzie: got my dead keys back".
06:00:09 <fungot> Gregor: madam president, in order to achieve the planned strong increase in jobs in the french overseas departments martinique, guadeloupe and french guiana. as you know, in any case would leave unsolved the problems which will face us, but it cannot protect the health of consumers is one of the european parliament! it is all we need is more working opportunities, more resources, up to now cannot be regarded as waste but can be
06:03:43 -!- sftp has quit (Remote host closed the connection).
06:09:24 -!- augur has joined.
06:13:22 <catseye> ^style
06:13:22 <fungot> Available: agora alice c64 ct darwin discworld europarl* ff7 fisher ic irc jargon lovecraft nethack pa speeches ss wp youtube
06:13:39 <catseye> ^style irc
06:13:40 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
06:13:49 <catseye> (not a fan of europarl)
06:14:07 <catseye> fungot: this is much better, RIGHT?
06:14:09 <fungot> catseye: banging your head against one problem really hard until you hit enter and it closes to match the integration of common lisp, by fnord.
06:14:22 <catseye> totally.
06:21:33 <catseye> |tell Phantom_Hoover Henry Freeman will give me hop!
06:21:33 <storkbot> catseye: Consider it noted.
06:22:33 <Gregor> Unfortunately HackEgo can't handle `tell, as it can only react on `
06:24:32 <catseye> storkbot sees all, but understands very little.
06:24:50 <catseye> i changed the control character from @ to | based on oerjan saying that overlap with lambdabot is unwise
06:25:12 <Gregor> Somebody should bring a bot with a control character in the range [A-Za-z].
06:25:17 <Gregor> So it'll fire for no obvious reason.
06:25:27 <catseye> Fantastic. Yes.
06:32:21 <fizzie> I reserved the [a-z] range already two weeks ago.
06:32:28 <fizzie> But [A-Z] is still free, I think.
06:32:39 <fizzie> (There was a discussion on bot control characters.)
06:32:58 -!- storkbot has quit (Remote host closed the connection).
06:34:24 -!- storkbot has joined.
06:34:28 <catseye> |help
06:34:38 <catseye> |source
06:34:42 <catseye> storkbot: help
06:34:49 <catseye> >:(
06:35:38 -!- storkbot has quit (Remote host closed the connection).
06:40:59 -!- storkbot has joined.
06:41:33 <catseye> |help
06:41:34 <storkbot> catseye: Help is available for: assignment expressions print goto
06:41:42 <catseye> |help print
06:41:42 <storkbot> catseye: To print a string, issue the command 'print string'.
06:41:45 <catseye> |print hello
06:41:45 <storkbot> catseye: hello
06:41:50 <catseye> |source
06:41:50 <storkbot> catseye: http://pastie.org/1254707
06:42:07 <catseye> |tell Phantom_Hoover Henry Freeman will give me hop!
06:42:07 <storkbot> catseye: Consider it noted.
06:44:58 <catseye> (messages should probably be a magic queue in the user's variable space. but, not yet.)
06:45:04 <catseye> 'night.
06:57:47 * pikhq would like to applaud The Daily Show for using having the freaking President on the show correctly.
06:57:53 <pikhq> Half-hour interview.
06:57:58 <pikhq> That, there, is how it's done.
06:58:56 <coppro> as opposed to?
06:59:54 <pikhq> coppro: It's America. The norm would be a 5 minute interview preceded by 25 minutes of penis jokes.
07:00:05 <coppro> ah
07:00:16 <pikhq> And of those 5 minutes, most people would only see 30 seconds.
07:00:43 <pikhq> As it is, most people will *still* only see 30 seconds. God damned soundbites.
07:03:07 <pikhq> And now to struggle to convince myself to sleep.
07:12:34 -!- augur has quit (Ping timeout: 252 seconds).
07:13:38 -!- augur has joined.
07:31:21 -!- FireFly has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:32:44 -!- augur has quit (Ping timeout: 240 seconds).
08:33:16 -!- augur has joined.
08:38:54 -!- atrapado has joined.
08:39:04 -!- ais523_ has joined.
08:39:07 -!- ais523_ has quit (Changing host).
08:39:07 -!- ais523_ has joined.
08:39:07 -!- ais523_ has quit (Changing host).
08:39:07 -!- ais523_ has joined.
08:48:46 -!- ais523 has joined.
08:56:14 -!- augur has quit (Ping timeout: 264 seconds).
08:57:08 -!- augur has joined.
09:20:08 -!- augur has quit (Ping timeout: 255 seconds).
09:21:03 -!- augur has joined.
09:24:41 -!- ais523 has quit (Ping timeout: 240 seconds).
09:50:21 -!- augur has quit (Ping timeout: 240 seconds).
09:51:24 -!- augur has joined.
10:02:12 -!- Quadrescence has quit (Ping timeout: 245 seconds).
10:21:34 -!- tombom has joined.
10:26:17 -!- augur has quit (Ping timeout: 255 seconds).
10:27:17 -!- augur has joined.
10:53:01 -!- augur has quit (Ping timeout: 265 seconds).
10:53:38 -!- augur has joined.
11:45:19 -!- sshc_ has joined.
11:45:56 -!- sshc has quit (Read error: Operation timed out).
11:49:27 <cheater_> hi
11:49:35 <cheater_> really cool sliding window demo: http://www3.rad.com/networks/2004/sliding_window/
12:22:48 -!- augur has quit (Ping timeout: 276 seconds).
12:23:29 -!- augur has joined.
12:46:50 <Ilari> Hah... From one mail: "To be blunt, I feel <mailing list> is being subject to a DoS attack[...]"... And then in reply (not by me): "I note you don't say a DDoS attack.".
12:48:57 <Ilari> That mailing list is good example of that there are trolls far more dangerous than the garden-variety ones... :-/
12:53:22 <ais523_> indeed
12:53:37 <ais523_> that sort of trolling can be pretty impressive, as long as it doesn't disrupt anything important
12:54:37 <Ilari> Actually, I feel that person has an agenda to sabotage the efforts...
12:59:22 -!- augur has quit (Ping timeout: 252 seconds).
13:00:06 -!- augur has joined.
13:00:14 -!- Phantom_Hoover has joined.
13:04:33 <Ilari> Hah (roughly translated): "After wasting food, the worst way to play with food is process it for no apparent reason, e.g. by removing health from healthy butter and milk and replacing it with additives causing digestive problems and blood vessel blockages.".
13:06:20 <Ilari> Hah... I wouldn't want to see somebody getting transistent global amnesia attack (one major cause is statins (cholesterol drugs)) while driving a car... :-)
13:08:52 -!- tombom has quit (Quit: Leaving).
13:20:50 <Phantom_Hoover> 15:52:57 <elliott> I think I'm going to uninstall my web browser and then act like people should have to provide me content without having one. ← There are an obnoxiously huge number of people with that exact attitude.
13:20:50 <storkbot> Phantom_Hoover: catseye told me to tell you: Henry Freeman will give me hop!
13:21:07 <Phantom_Hoover> Did he now?
13:22:12 <Phantom_Hoover> 21:59:52 <Gregor> `addquote * Gregor bashes his head into the wall that is Sgeo. ← when did he say that?
13:26:29 -!- augur has quit (Ping timeout: 276 seconds).
13:27:18 -!- augur has joined.
13:45:02 -!- fungot has quit (Ping timeout: 252 seconds).
13:45:35 -!- fizzie has quit (Ping timeout: 252 seconds).
13:51:18 <Vorpal> Phantom_Hoover, sometime before 21:59:52 :P
13:55:07 <Vorpal> > select serial,tstamp,nick,type,body from irc.logs where body ilike '%bashes his head into the wall that is Sgeo.%';
13:55:07 <Vorpal> serial | tstamp | nick | type | body
13:55:07 <Vorpal> ---------+---------------------+----------------+------+----------------------------------------------------------------------------------------------------------
13:55:07 <Vorpal> 1895410 | 2010-10-25 03:55:10 | Gregor | 1 | bashes his head into the wall that is Sgeo.
13:55:09 <Vorpal> 1895412 | 2010-10-25 03:55:24 | elliott | 0 | `addquote * Gregor bashes his head into the wall that is Sgeo.
13:55:13 <Vorpal> Phantom_Hoover, there is the answer
14:11:22 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
14:25:55 <ais523_> "A dolphin from another stovepipe sells a steam engine to the self-loathing tornado. A canyon befriends a short order cook toward a chain saw. Most people believe that a turn signal related to the formless void reaches an understanding with a tuba player near a globule, but they need to remember how single-handledly a polka-dotted fundraiser beams with joy. A formless void related to a vacuum cleaner senator related to a skyscrape
14:26:01 <ais523_> spam gets better all the time :)
14:40:14 <Chachi> wat
14:52:25 -!- fizzie has joined.
15:12:06 <catseye> ais523_: fungot's day job
15:12:44 <fizzie> What?
15:13:14 <fizzie> Look what you did: now I have to peru7se th logs.
15:13:32 <ais523_> fizzie: I'll repost to save you the trouble
15:13:41 <ais523_> <ais523_> "A dolphin from another stovepipe sells a steam engine to the self-loathing tornado. A canyon befriends a short order cook toward a chain saw. Most people believe that a turn signal related to the formless void reaches an understanding with a tuba player near a globule, but they need to remember how single-handledly a polka-dotted fundraiser beams with joy. A formless void related to a vacuum cleaner senator related to a
15:13:46 <ais523_> <ais523_> spam gets better all the time :)
15:16:54 <ais523_> incidentally, US legal system weirdness I encountered reading Groklaw today: Oracle are claiming that Google can't legally claim their patents invalid, because they currently employ their inventors
15:18:02 <catseye> I am 99% sure that won't work as a legal argument.
15:19:16 <catseye> Of course, that hardly matters
15:19:28 <catseye> Especially in patent law
15:20:16 <catseye> Where it's mainly a war of attrition
15:26:19 -!- Phantom_Hoover has joined.
15:29:30 <Vorpal> <ais523_> spam gets better all the time :) <-- indeed!
15:29:49 <Vorpal> ais523_, I presume you have "text only" on just like me?
15:32:45 <ais523_> yep
15:35:44 <Vorpal> also I wonder what happened, I should have gotten an invoice from the mobile phone carrier by now...
15:36:07 <Vorpal> no it wouldn't have got lost in the mail because it is an electronic invoice...
15:52:38 -!- sftp has joined.
15:54:11 <pikhq> catseye: There's a far better argument out there.
15:54:46 <pikhq> catseye: Java is GPLv3'd. Thus, Oracle has given a copyright license for derivative works of Java *and* a patent license for related patents they hold.
15:55:04 <pikhq> catseye: Making everything Oracle claims moot.
15:55:13 <pikhq> (they're now claiming copyright violation, BTW)
15:56:17 -!- cpressey|away has changed nick to cpressey.
15:57:54 <pikhq> So, I do belive Oracle has become the new SCO.
16:04:27 <cpressey> radical, baby
16:04:46 <cpressey> is SCO still the old SCO?
16:06:11 -!- fizzie has quit (Quit: jumpin' jumpin').
16:11:21 -!- fizzie has joined.
16:19:42 -!- MigoMipo has joined.
16:23:25 -!- augur has quit (Ping timeout: 240 seconds).
16:23:59 -!- elliott has joined.
16:24:20 -!- augur has joined.
16:28:46 <elliott> <catseye> waaaay too many people in #webkit
16:29:08 <elliott> yeah it's at the point where the probability of a non-insignificant portion of the channel having no idea about webkit is 1
16:31:47 <elliott> 19:37:48 <catseye> can you write decent video games in Factor!
16:31:52 <elliott> unfortunately, *yes*
16:31:56 <elliott> it has very competent opengl bindings
16:32:01 <elliott> therefore sgeo will port The Shit to it tomorrow
16:32:09 <elliott> although i guess that probably actually does no rendering itself
16:33:03 <elliott> 19:58:06 <catseye> sigh. pkgsrc subversion depends on the Perl, Python, and Ruby bindings to subversion. Stupid.
16:33:10 <elliott> i'd just keep them all in one package if i was going to do that :p
16:33:15 <elliott> especially as that's probably how it's distribute
16:33:18 <elliott> *distributed
16:33:19 <elliott> with subversion
16:33:41 <elliott> 20:26:12 <catseye> also... no... SciTE packages in pkgsrc, at *all*?
16:33:41 <elliott> 20:27:26 <catseye> that's... just not right
16:33:42 <elliott> YAEDIT!
16:33:46 <elliott> IT MAKES PIXIES SCREAM
16:34:12 <cpressey> elliott: i have a weird python setup here, or i'd be using it already
16:34:27 <elliott> cpressey: is it really that much harder just to fucking compile python?
16:34:30 <cpressey> i should try to fix my weird python setup
16:34:41 <cpressey> it IS compiled, FOR SPECIAL
16:34:54 <elliott> cpressey: i mean from the tarball.
16:35:08 <cpressey> i mean, I compiled it.
16:35:42 <elliott> 20:54:16 * catseye has awful flashbacks of "Hooked on Classics" and refused to follow that link.
16:35:43 <cpressey> because 2.6.6 broke and/or fixed Unicode in a way where one of our unit tests fails.
16:35:45 <elliott> god no it is awesome i swear
16:36:12 <elliott> cpressey: You're on an older version of Python because *one of your unit tests is broken*?
16:36:23 <elliott> I love your company. What company do you work at so that I can NEVER USE ITS PRODUCTS EVER?
16:37:01 <cpressey> I'm on an older version of Python because *no one knows if the unit test is right or not* and *Python changed its Unicode behaviour*
16:37:11 <cpressey> "older" being 2.6.4
16:37:14 <elliott> 21:10:24 <catseye> Hew, I just want to know why my X windows mouse pointer is now an "X" at all times.
16:37:16 <elliott> it's the default!
16:37:20 <elliott> xsetroot can probably help you with that
16:37:30 <elliott> cpressey: couldn't you just make it work with 2.7
16:38:08 <cpressey> elliott: you have no idea how slow and painful upgrades are in real production systems
16:38:17 <cpressey> and neither does Vorpal
16:38:22 <elliott> cpressey: I thought you guys were Agile.
16:38:26 <elliott> cpressey: i know, i really do
16:38:31 <cpressey> AGILE MEANS NOTHING, YOU KNOW THAT
16:38:34 <elliott> i'm just taking the piss out of your shit company :p
16:38:38 <cpressey> :D
16:38:38 <elliott> and how soul-crushing your job is
16:38:49 <cpressey> comparatively, this is heaven
16:38:56 <elliott> comparatively to *what* :D
16:39:02 <cpressey> to my previous jobs
16:39:05 <elliott> did you do a stint at Microsoft non-Research?
16:39:08 <elliott> or, or, GNU?!
16:39:19 <elliott> wages: Stallman's foot-pickings
16:39:38 <cpressey> i will clam up now, leaving this entirely to your imagination.
16:40:20 <elliott> 21:18:35 <catseye> kind of like if you could say "sudo apt-get install '*'"
16:40:22 <elliott> going to do this *now*
16:40:36 <elliott> cpressey: is your company relatively well-known? I MUST KNOOOOW
16:40:51 <Phantom_Hoover> zsh is able to tab-complete on APT packages, so you might be able to hack that in.
16:41:23 -!- fizzie has quit (Quit: jumpin' jumpin').
16:41:28 -!- fizzie has joined.
16:41:31 <elliott> $ aptitude search $(aptitude search . | awk '{print $2}')
16:41:35 <elliott> Phantom_Hoover: Or I could just do this.
16:41:42 <elliott> Annoyingly, tab-complete ability rarely translates to glob integration.
16:41:54 <elliott> [ 65%] ?name("abcmidi"): Filtering packages
16:42:01 <elliott> this is going to take fifty years
16:42:04 -!- fungot has joined.
16:42:10 <elliott> cpressey: do you have ANY IDEA how many conflicts this will cause
16:42:21 <elliott> iirc someone found out the largest set of installable debian packages
16:42:23 <elliott> i should use that instead
16:42:36 -!- augur has quit (Ping timeout: 250 seconds).
16:43:35 <elliott> 21:49:08 * Gregor has decided that EgoBot is safe enough, since it does very little I/O.
16:43:36 <elliott> dude
16:43:40 <elliott> !sh echo happy
16:43:41 -!- augur has joined.
16:43:46 <EgoBot> happy
16:43:50 <Gregor> `echo happier
16:43:58 <HackEgo> happier
16:44:06 <fizzie> ^echo happiest!
16:44:06 <fungot> happiest! happiest!
16:44:16 <fizzie> (He's... special.)
16:44:26 <elliott> 21:58:05 --- join: HackEgo (~HackEgo@codu.org) joined #esoteric
16:44:32 <elliott> `wl no lutefisk
16:44:33 <Gregor> Oct 28 00:54:06 <Gregor> $ du -hs env-old-2010-10-28/ env/
16:44:33 <Gregor> Oct 28 00:54:06 <Gregor> 25M env-old-2010-10-28/
16:44:33 <Gregor> Oct 28 00:54:06 <Gregor> 308K env/
16:44:43 <HackEgo> Lutefisk
16:44:46 <elliott> yay
16:44:56 <elliott> Gregor: if you removed wl i would scrape your soul from its bowls and then eviscerate it
16:44:59 <elliott> just fyi
16:45:05 <elliott> especially since i don't have it locally :p
16:45:30 <elliott> 22:00:07 <Gregor>
16:45:36 <elliott> How about getting all the quotes I tried to add in the meantime? :P
16:46:06 <elliott> Oh, that's actually it.
16:47:07 <elliott> Uh Gregor? Greggy?
16:47:09 <elliott> 21:59:58 <HackEgo> 247|* Gregor bashes his head into the wall that is Sgeo.
16:47:10 <elliott> 22:00:09 <HackEgo> 247|<zzo38> elliott: Do not trust a computer you cannot throw out of a window. Including the window too far from the rope.
16:47:15 <elliott> `quote 247
16:47:16 <HackEgo> 247|<zzo38> elliott: Do not trust a computer you cannot throw out of a window. Including the window too far from the rope.
16:47:18 <elliott> `quote 246
16:47:19 <HackEgo> 246|<ais523> syntax is the least important part of a programming language <ais523> other than Python
16:47:20 <elliott> `quote 248
16:47:22 <HackEgo> No output.
16:47:28 <elliott> Gregor: Greggy, things went bad.
16:47:49 <elliott> `help
16:47:50 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
16:47:54 -!- augur has quit (Remote host closed the connection).
16:47:57 <elliott> Quick repo-surgery time.
16:48:14 <elliott> `revert 0
16:48:14 <HackEgo> Done.
16:48:23 <elliott> `addquote * Gregor bashes his head into the wall that is Sgeo.
16:48:24 <HackEgo> 248|* Gregor bashes his head into the wall that is Sgeo.
16:48:30 <elliott> `addquote <zzo38> elliott: Do not trust a computer you cannot throw out of a window. Including the window too far from the rope.
16:48:31 <HackEgo> 249|<zzo38> elliott: Do not trust a computer you cannot throw out of a window. Including the window too far from the rope.
16:48:36 <elliott> `addquote <fungot> fizzie: got my dead keys back".
16:48:37 <fungot> elliott: so that you can implement your own
16:48:38 <HackEgo> 250|<fungot> fizzie: got my dead keys back".
16:48:40 <elliott> There.
16:48:42 <elliott> `quote 247
16:48:43 <HackEgo> 247|<zzo38> elliott: Do not trust a computer you cannot throw out of a window. Including the window too far from the rope.
16:48:48 <elliott> ...
16:48:50 * elliott boggles
16:48:52 <elliott> `revert 0
16:48:52 <HackEgo> Done.
16:48:56 <elliott> `quote 247
16:48:57 <HackEgo> 247|<zzo38> elliott: Do not trust a computer you cannot throw out of a window. Including the window too far from the rope.
16:49:00 <elliott> Okay.
16:49:02 <elliott> `quote 246
16:49:03 <HackEgo> 246|<ais523> syntax is the least important part of a programming language <ais523> other than Python
16:49:04 <elliott> `quote 248
16:49:05 <HackEgo> 248|* Gregor bashes his head into the wall that is Sgeo.
16:49:10 <elliott> `quote 249
16:49:11 <HackEgo> 249|<zzo38> elliott: Do not trust a computer you cannot throw out of a window. Including the window too far from the rope.
16:49:17 <elliott> Gregor: You, uh, `revert doesn't work.
16:49:22 <elliott> `revert 1
16:49:23 <HackEgo> Done.
16:49:26 <elliott> `quote 247
16:49:27 <HackEgo> 247|* Gregor bashes his head into the wall that is Sgeo.
16:49:44 <elliott> `revert cf08cd8327ce
16:49:45 <HackEgo> Done.
16:49:47 <elliott> `quote 247
16:49:48 <HackEgo> 247|* Gregor bashes his head into the wall that is Sgeo.
16:49:50 <elliott> Gregor: wat
16:50:46 -!- tombom has joined.
16:57:50 -!- augur has joined.
17:00:09 -!- evincar has joined.
17:00:58 <Vorpal> <elliott> 21:18:35 <catseye> kind of like if you could say "sudo apt-get install '*'" <elliott> going to do this *now* <-- does it work?
17:01:11 <elliott> it's still busy figuring. out. everything
17:01:14 <elliott> [ 64%] ?name("libccs-perl"): Filtering packages
17:01:17 <elliott> and this is only the first stage
17:01:21 <elliott> this is the stage that is usually not even visible
17:01:23 <elliott> oh wait
17:01:24 <elliott> holy shit
17:01:26 <elliott> lol
17:01:31 <elliott> aptitude search $(aptitude search . | awk '{print $2}')
17:01:32 <elliott> spot the error
17:01:53 <elliott> elliott@dinky:~$ sudo aptitude install $(aptitude search . | awk '{print $2}')
17:01:53 <elliott> elliott@dinky:~$
17:01:58 <elliott> "Fuck you." --aptitude
17:02:07 * elliott tries apt-get
17:02:10 <Vorpal> elliott, I don't remember output format of aptitude search
17:02:12 <elliott> apt-get does the same
17:02:15 <elliott> Vorpal: it's irrelevant
17:02:16 <elliott> Vorpal: look again
17:02:30 <ais523_> elliott: some packages conflict with each other
17:02:33 <Vorpal> elliott, not regex?
17:02:38 <Vorpal> ais523_, there is that too
17:02:38 <elliott> Vorpal: ...
17:02:39 <elliott> Vorpal: LOOK AGAIN
17:02:46 <ais523_> are you really sure you want to install multiple bootloaders simultaneously?
17:02:54 <elliott> ais523_: yes, they do; there was an email i read about the largest set of installable package managers.
17:02:55 <elliott> erm
17:02:57 <elliott> ais523_: yes, they do; there was an email i read about the largest set of installable packages in Debian.
17:03:08 <elliott> ais523_: which probably took ages to compute, but still, there's only 20k of them
17:03:14 <Vorpal> elliott, assuming aptitude search . | awk '{print $2}' works, that line looks ok
17:03:15 <elliott> and conflicts aren't very common
17:03:27 <elliott> Vorpal: how about looking all the parts that aren't that
17:03:35 <elliott> <elliott> aptitude search $(aptitude search . | awk '{print $2}')
17:03:37 <elliott> spot the error
17:03:55 <elliott> *looking at
17:03:56 <ais523_> elliott: I spotted it a while ago
17:04:01 <Vorpal> elliott, oh I thought you *wanted* to test performance there first using search for all the packages
17:04:02 <elliott> ais523_: yes, but Vorpal is dense :)
17:04:05 <elliott> Vorpal: ...
17:04:08 <elliott> ais523_: yes, but Vorpal is super-dense :)
17:04:15 <ais523_> now I'm trying to find a second error out of spite
17:04:31 <elliott> ais523_: WHAT IF APTITUDE SEARCH CHANGED ITS DISPLAY WHAT *THEN*
17:04:37 -!- augur has quit (Ping timeout: 265 seconds).
17:04:50 <Vorpal> ais523_, well it's obvious
17:04:50 <ais523_> elliott: what if you were on DOS, and it exceeded the maximum command line limit?
17:05:03 <Vorpal> ah yes xargs
17:05:09 <cpressey> |load
17:05:10 <storkbot> cpressey: ?SYNTAX ERROR
17:05:11 <Vorpal> ais523_, wait, Debian/DOS?
17:05:34 <Vorpal> ais523_, obvious error: he will be reinstalling packages already installed presumably
17:05:44 <Vorpal> ais523_, should use dpkg to filter the output
17:05:50 <ais523_> that's not an error, aptitude interprets that as a request to update the package to the latest version
17:05:56 <elliott> Vorpal: no, not xargs
17:06:10 <elliott> because it has to work out dependencies
17:06:14 <ais523_> xargs breaks the command up into multiple commands, which you might not want in this case
17:06:15 <Vorpal> good point
17:06:24 <elliott> really, i should just find that largest set of installable packages post
17:06:26 <ais523_> hmm, what about using GNU parallel to parallelise the installation amongst multiple computers, to save time?
17:06:28 <elliott> and run whatever script it has
17:06:29 <elliott> and install those
17:06:36 <ais523_> bonus points if they don't share a filesystem
17:07:31 <ais523_> elliott: did you logread my post about Jeff Atwood and reddit, btw?
17:07:46 <elliott> ais523_: yes, and logreplied
17:07:56 <ais523_> ah, I'll look there
17:07:59 <ais523_> having wireless issues...
17:08:02 <elliott> ais523_: might be a day ago or so
17:08:09 <elliott> ais523_: just grep /<ais523>/ :P
17:08:23 -!- Wamanuz4 has joined.
17:09:09 <ais523_> elliott: I'm lucky to even have grep installed on this computer
17:09:12 <elliott> ais523_: hmph, parallel seems like another one of those tools that seem to make things so easy except surprise surprise, they only work on embarrassingly parallel problems
17:09:21 <elliott> ais523_: "grep" is a verb meaning "search (perhaps for regexp)"
17:09:25 <ais523_> also, hatred of Thunderbird: you can't open it simultaneously on two computers that share a /home
17:09:31 <elliott> in this case, grepping a log is / or Ctrl+F
17:09:44 <elliott> ais523_: ooh, that's interesting
17:09:47 <ais523_> I'd have to search for <elliott> <ais523> then, I suppose, I talked that day too
17:09:56 <elliott> ais523_: hmm, no
17:09:58 <elliott> ais523_: i have timestamps
17:10:00 <ais523_> elliott: Firefox complains, and doesn't save bookmarks, etc, but at least lets you try
17:10:04 <elliott> ais523_: or rather clog does
17:10:06 <elliott> and i quoted it from clog
17:10:20 <elliott> ais523_: try <ais523>, I probably talked before you
17:10:23 <elliott> anyway, stop talking about it and go do it :P
17:10:31 <elliott> ais523_: anyway, most single-instance applications use DBus or the like
17:10:36 <elliott> not a file in /home...
17:10:39 <ais523_> hmm, if there's a flamewar I could really get into (other than darcs vs. git), it would be Evolution vs. Thunderbird
17:10:42 <elliott> or does it *specifically* check for that?
17:10:53 <elliott> ais523_: but *both* are unfixable pieces of shit!
17:11:48 -!- Wamanuz3 has quit (Ping timeout: 272 seconds).
17:11:50 <elliott> 05:20:50 <Phantom_Hoover> 15:52:57 <elliott> I think I'm going to uninstall my web browser and then act like people should have to provide me content without having one. ← There are an obnoxiously huge number of people with that exact attitude.
17:11:55 <elliott> Note that it happened just after.
17:12:09 <elliott> (Vorpal expecting a non-Flash link from cpressey after Vorpal pointed out he doesn't have Flash)
17:12:16 <elliott> *what it happened just after.
17:12:39 <elliott> 06:25:55 <ais523_> "A dolphin from another stovepipe sells a steam engine to the self-loathing tornado. A canyon befriends a short order cook toward a chain saw. Most people believe that a turn signal related to the formless void reaches an understanding with a tuba player near a globule, but they need to remember how single-handledly a polka-dotted fundraiser beams with joy. A formless void related to a vacuum cleaner senator related to a skyscr
17:12:39 <elliott> ape
17:12:40 <elliott> dude yes
17:12:56 <elliott> ais523_: can you forward that spam to me? it is amazing
17:13:11 <ais523_> let me look for it
17:13:39 <elliott> ais523_: I wonder what they generate it with... I want their babble software.
17:13:59 <elliott> Err http://security.debian.org squeeze/updates Release.gpg
17:13:59 <elliott> Could not resolve 'security.debian.org'
17:14:01 <elliott> how reassuring!
17:14:02 <ais523_> I'll pastebin it
17:14:30 <elliott> the amazing thing is, most modern computers have enough disk to have all those packages installed at once
17:14:36 <elliott> and even the ones that aren't installed as .debs
17:14:45 <elliott> but your debian menu might get ever so slightly horrific
17:14:46 <ais523_> http://pastebin.ca/1975603
17:15:03 <elliott> ais523_: thanks (that might get removed for spamming :))
17:15:06 <ais523_> (I'm not forwarding it, because the email firewall here would go crazy if I started forwarding spam, it's that sort of firewall)
17:15:19 <elliott> ais523_: did it come with the quoting?
17:15:31 <elliott> "Any flavored hell can pee on the pig pen, but it takes a real football team to throw a slyly optimal formless void at a hole puncher."
17:15:35 <ais523_> no, I did that mostly by mistake, then by laziness
17:15:47 <elliott> ais523_: was it just all on one line? or just simply wrapped?
17:15:51 <elliott> as long as i'm not missing any fun formatting :P
17:16:15 <ais523_> newlines were preserved, it seems
17:16:20 <ais523_> so not particularly fun formatting, just simple wrapping
17:16:38 <elliott> `addquote [spam] Any flavored hell can pee on the pig pen, but it takes a real football team to throw a slyly optimal formless void at a hole puncher.
17:16:40 <HackEgo> 248|[spam] Any flavored hell can pee on the pig pen, but it takes a real football team to throw a slyly optimal formless void at a hole puncher.
17:16:50 <elliott> quotes.db is slowly turning into a fortune database :P
17:16:53 <ais523_> I did snip out the URLs that came before and after it
17:17:14 <elliott> Any nation can lazily negotiate a prenuptial agreement with a shabby bottle of beer, but it takes a real skyscraper to overwhelmingly give secret financial aid to some cargo bay.
17:17:16 <elliott> this is just beyond amazing
17:17:17 <ais523_> and something that looks vaguely like MIME encoding, but broken
17:17:53 <elliott> ais523_: ok, this has to be a person pretending to be a spambot
17:17:54 <elliott> has to be
17:18:07 <elliott> "the college-educated cargo bay"
17:18:15 <ais523_> nah, it looks to me like it was generating grammatically-correct sentences recursively
17:18:28 <ais523_> much like interfuzz generates syntactically correct INTERCAL expressions
17:18:37 <ais523_> there's no meaning there, juts a lot of random stuff that parses correctly
17:18:42 <elliott> ais523_: but they're awesome sentences
17:18:49 <ais523_> the ingenuity is presumably in the provided wordlist
17:19:07 <Vorpal> elliott, a lot of "any <foo> can <bar> but it takes a real <quux> to <xxyz which is completely unrelated to bar>" in that spam
17:19:08 <elliott> ais523_: I'm totally seeing a dolphin crossing stovepipe boundaries to sell a steam engine to the tornado busy cutting itself.
17:19:22 <elliott> Vorpal: Indeed.
17:19:42 <elliott> ais523_: "A diskette from a particle accelerator is fried." <-- this makes sense
17:19:47 <elliott> Put a diskette in a particle accelerator, shit happens
17:19:58 <ais523_> wow, not only are there two different spamcheckers on the system (thus explaining the [SPAM?] [spam?] in the title), but they both provided a full explanation in the headers
17:20:11 <elliott> "Any minivan can find subtle faults with the tornado over an inferiority complex, but it takes a real power drill to greedily operate a small fruit stand with a dust bunny beyond the cargo bay."
17:20:13 <Vorpal> elliott, 5 or 3 inch?
17:20:28 <ais523_> the main reason for marking it as spam was that the sender was blacklisted
17:20:29 <elliott> Vorpal: That's a personal question! Also, have you stopped beating your wife?
17:20:38 <elliott> ais523_: heh
17:20:40 <Vorpal> elliott, :P
17:20:46 <elliott> ais523_: maybe this is spammer's plans to get trusted?
17:20:56 <Vorpal> elliott, I meant for the diskette :P
17:20:57 <fizzie> It looks like something generated from a PCFG; one does wonder whether it has been handcrafted or induced, though.
17:21:02 <elliott> ais523_: fill up inboxes with unique nonsense that nonetheless looks non-spammy, and then start reeling off spam
17:21:07 <ais523_> also, +2.0 total for not being sent from a real name, and for containing text sized to less than 2px
17:21:09 <Vorpal> fizzie, PCFG?
17:21:09 <elliott> Vorpal: You haven't answered my question yet!
17:21:14 <Vorpal> elliott, mu
17:21:16 <elliott> ais523_: wow, not sending from a real name is a penalty?
17:21:24 <ais523_> elliott: 1/5 of the threshold
17:21:28 <fizzie> Vorpal: It's like a context-free grammar but with probabilities for each production.
17:21:32 <ais523_> it wouldn't be nearly enough to bump it over the threshold without other stuff
17:21:35 <elliott> ais523_: that's crappy
17:21:40 <Vorpal> fizzie, hm
17:21:40 <elliott> :p
17:21:49 <ais523_> I was a little surprised, though
17:22:10 <elliott> ais523_: WTF of the Day:
17:22:13 <elliott> DIAGNOSTICS
17:22:13 <elliott> apt-get returns zero on normal operation, decimal 100 on error.
17:22:39 <ais523_> perhaps that was to make it slightly easier to port to VMS?
17:22:53 <Vorpal> ais523_, uh.. it wouldn't would it?
17:23:13 <ais523_> (VMS famously uses even numbers for failure, odd numbers for success; the libc special-cases 0 by swapping it with some other value, but 0 for success, 1 for failure is just wrong on VMS as 1 means something else and it isn't translated)
17:23:25 <ais523_> (this is, incidentally, what the EXIT_FAILURE constant is for)
17:24:05 <elliott> ais523_: oh, really?
17:24:11 <elliott> ais523_: I'd better start using it then for all those VMS users!
17:24:17 <elliott> (Maybe no VMS support is a feature.)
17:24:46 <ais523_> I do sometimes when what I'm writing doesn't have any POSIX in, and I remember
17:25:08 <elliott> ais523_: No self-respecting C compiler that purported to compile POSIXy sources wouldn't translate, anyway :P
17:25:33 <ais523_> well, who'd dare purport to compile POSIXy sources on VMS?
17:26:01 <ais523_> OTOH, a compiler that simply purported to compile C89 quite possibly wouldn't translate anything but 0, due to EXIT_SUCCESS == 0 being a requirement
17:26:15 <elliott> ais523_: ha
17:26:23 <elliott> ais523_: what about the Actually C Shell?
17:26:29 <elliott> ais523_: in C, returning 0 indicates an error!
17:26:39 <ais523_> no it doesn't
17:26:50 <ais523_> 0 = success, >0 = error is standard in nearly all POSIXy stuff
17:26:59 <ais523_> including both programs themselves, and much of the stdlib
17:27:19 <ais523_> (some of the stdlib has <0 = error, >= 0 = success, if they want to give a different piece of info at the same time)
17:28:25 <elliott> ais523_: well, ok
17:28:29 <elliott> but if (!foo())
17:28:33 <elliott> is very common to check for a libc error
17:28:38 <ais523_> err, no?
17:28:44 <ais523_> if(foo()) is very common to check for a libc error
17:28:46 <elliott> ais523_: what libc function returns 0 on success?
17:28:50 <ais523_> except when foo() returns a pointer
17:29:01 <ais523_> elliott: all the ones that return errno on failure
17:29:21 <elliott> ais523_: name a few? I'm not doubting you, it's just that I write things like if (!foo()) all the time
17:29:31 <ais523_> the issue is, I can't remember
17:29:33 <elliott> io functions, ok, those tend to do freaky stuff
17:29:39 <elliott> ais523_: I think returning errno is rare.
17:29:43 <ais523_> most of the ones I'm spotchecking tend to return nonnegative on success, negative on failure
17:30:08 <elliott> ais523_: right
17:30:11 <Vorpal> elliott, IO ones are famous for such things indeed.
17:30:14 <elliott> ais523_: those tend to be IO ones
17:30:16 <ais523_> hmm, mknod(2) returns 0 on success, -1 on error
17:30:23 <elliott> ais523_: IO
17:30:28 <elliott> and everyone knows stdio was designed by crack monkeys on crack :)
17:30:33 <ais523_> well, I'm talking about POSIX here
17:30:38 <ais523_> what's in POSIX but not C89, yet isn't IO?
17:30:42 <Vorpal> elliott, no, that leaves no words to describe the C++ IO
17:30:59 <elliott> ais523_: I generally count C as including POSIX because all non-POSIX C platforms are godawful :)
17:31:04 <elliott> ais523_: Or rather POSIX as including C which it... does.
17:31:07 <elliott> ais523_: But I don't know.
17:31:07 <ais523_> oh, I see, we're thinking differently
17:31:23 <ais523_> the thing is, most functions which aren't I/O aren't side-effecting
17:31:28 <ais523_> so the only real reason to use them is for their return value
17:31:33 <Vorpal> elliott, I coded for pure C platforms quite a lot.
17:31:41 <Vorpal> elliott, mostly embedded systems
17:31:42 -!- augur has joined.
17:31:46 <elliott> embedded systems should not be running C.
17:31:53 <elliott> at least not if they're *really* embedded
17:32:14 <elliott> (rather than, say, smartphone-embedded, which means "as fast as a slow desktop PC")
17:32:24 <elliott> and *those* should probably run posix
17:32:35 <elliott> ais523_: well, I don't count exit() as IO
17:32:36 <Vorpal> elliott, well, RCX, some AVR stuff at university and so on
17:32:54 <ais523_> elliott: and what exactly is the return value of exit()?
17:33:01 <ais523_> that's a pretty bad example for a different reason
17:33:06 <elliott> ais523_: I wasn't using it as an example.
17:33:12 <elliott> ais523_: I'm refining my definition of "IO" for you.
17:33:13 <ais523_> I suppose you could argue setjmp/longjmp too
17:33:17 <Vorpal> ais523_, um, memcpy, strcpy, strcat, strncat, snprintf, ...
17:33:19 <Vorpal> the list goes on
17:33:24 <ais523_> ah, OK
17:33:27 <elliott> ais523_: basically, if you imagined POSIX merging into C, then anything you could put into stdio.h is IO
17:33:34 <elliott> things like exit and string.h functions aren't
17:33:39 <elliott> nor are, say, time functions
17:33:41 <ais523_> Vorpal: memcpy returns a pointer
17:33:52 <ais523_> and likewise for most of the rest of that family
17:33:55 <elliott> or stdlib.h, either
17:34:02 <ais523_> (snprintf is pretty much I/O)
17:34:02 <Vorpal> ais523_, indeed, I just pointed out "non-IO but side-effects"
17:34:19 <ais523_> Vorpal: that's not really side-effects, if it's the main purpose of the function
17:34:33 <ais523_> but I see what you mean in that it's affecting the params, so the return value could be used for something else
17:34:42 <ais523_> that's a different pattern, I think: pointer manipulation returns one of the arguments
17:34:46 <Vorpal> ais523_, I thought you meant side effect in the sense of functional programming
17:35:03 <Vorpal> where abs() would be side effect free (ignoring the undefined behaviour for INT_MIN)
17:35:14 <ais523_> Vorpal: well, in, say, OCaml, memcpy is side-effect free
17:35:16 <elliott> ais523_: heh -- you know people who rage at the sight of strlen in a for loop condition?
17:35:19 <Vorpal> ais523_, hm
17:35:28 <ais523_> elliott: surely it depends on the context?
17:35:35 <elliott> ais523_: well, as a way to loop through a string
17:35:37 <elliott> ais523_: or similar
17:35:49 <ais523_> hmm, well I rage at that sometimes, especially if the string isn't null-terminated
17:35:52 <Vorpal> elliott, if the string is modified then it would be utterly stupid
17:35:53 <ais523_> but I know what you mean
17:35:55 <elliott> ais523_: well, they have a bone to pick with K&R:
17:35:57 <elliott> ais523_: for (i = 0, j = strlen(s)-1; i<j; i++, j--) {
17:36:08 <elliott> -- "reverse", The C Programming Language
17:36:18 <ais523_> elliott: that doesn't have a strlen in the condition
17:36:19 <elliott> Vorpal: and indeed, s is modified
17:36:20 <Vorpal> elliott, you fail :P
17:36:21 <ais523_> in fact, it explicitly caches it
17:36:24 <elliott> ais523_: oh, lawl
17:36:26 <Phantom_Hoover> Why is it so reviled?
17:36:26 * elliott can't read
17:36:34 <elliott> Phantom_Hoover: because it's inefficient
17:36:43 <elliott> for (i=0; i<strlen(s); i++)
17:36:44 <elliott> ==
17:36:48 <elliott> for (i=0; s[i]; i++)
17:36:50 <ais523_> Phantom_Hoover: it makes the loop O(n^2) at least, whereas in most cases it would be O(n) if you cached the length
17:36:53 <Vorpal> Phantom_Hoover, it could turn an algorithm from O(n) into O(n²)
17:37:02 <Vorpal> ais523_, damn you beat me to it
17:37:04 <elliott> Phantom_Hoover: and if your compiler doesn't constant-fold strlen(s) -- which it can't always, say if s is modified --
17:37:12 <elliott> Phantom_Hoover: then it goes through the string on *every single iteration*
17:37:23 <Vorpal> elliott, of if *s is modified
17:37:26 <elliott> (gcc will move the strlen code outside the loop in most cases, but this is still less inefficient)
17:37:29 <ais523_> Vorpal: you know, I would get annoyed at that sentence, but it isn't even grammatically correct, and thus meaningless
17:37:31 <elliott> Vorpal: well i was considering s as a char[] here.
17:37:39 <elliott> ais523_: "damn, you beat me to it"
17:37:44 <ais523_> elliott: I know
17:37:48 <elliott> ais523_: also, do you get angry at "damn you" just to have something to be angry about? :)
17:37:52 <Vorpal> ais523_, XD
17:37:53 <ais523_> try expanding the abbreviations, it doesn't come to anything
17:38:05 <elliott> what abbreviation?
17:38:09 <ais523_> elliott: no, I get angry at it because it's offensive, even if it isn't meant that way
17:38:14 <elliott> what abbreviation?
17:38:17 <ais523_> elliott: well, not exactly abbreviation
17:38:20 <ais523_> but "damn" is a transitive verb
17:38:20 <Vorpal> ais523_, it was a missing comma after damn indeed
17:38:25 <elliott> ais523_: MONKEY DAMN YOU ARTICHOKE VELVETY MISTRANSLATION
17:38:28 <ais523_> thus it makes no sense using it as a clause
17:38:28 <elliott> ais523_: also meaningless
17:38:36 <Vorpal> <elliott> Vorpal: well i was considering s as a char[] here. <-- ah okay, not as a char* then
17:38:39 <elliott> ais523_: wow, you are such a prescriptivist
17:38:47 <elliott> Vorpal: or as a char *; K&R used "char s[]" as the argument to reverse
17:38:53 <elliott> Vorpal: hooray autoconversion
17:39:13 <Vorpal> elliott, well, modifying s = s++ or such to me. modifying *s would mean changing the value it points to
17:39:14 <ais523_> hmm, I'm reminded of Hofstatder's sentence "this sentence has cabbage six words"
17:39:31 <elliott> Vorpal: modifying s[] :P
17:39:34 <ais523_> Vorpal: perhaps it's an in-place reverse
17:39:41 <Vorpal> elliott, I guess I have worked too much with frama-c recently, it makes that distinction
17:39:56 <Vorpal> ais523_, uh... ?
17:39:58 <elliott> ais523_: Envelope damn you to hell axiom.
17:40:02 <elliott> ais523_: HOW FAR CAN I GO
17:40:04 <Vorpal> ais523_, wrt the cabbage that is
17:40:17 <ais523_> Vorpal: you're missing the point
17:40:32 <elliott> ais523_: (Note: correct parsing is "Envelope, damn you; to hell, axiom!".)
17:40:33 <Vorpal> ais523_, oh. right. then that makes meta-sense
17:40:42 <ais523_> elliott: oh wow, that does actually parse
17:40:49 <elliott> ais523_: UNINTENTIONALLY, I assure you
17:41:19 <elliott> ais523_: I take it back anyway just to avoid any even greyish pigments on your pure white soul
17:41:47 <Vorpal> elliott, err are you claiming that "Envelope damn you to hell axiom." does parse as it is written there?
17:42:12 <elliott> It's obviously "envelope, damn you; to hell, axiom".
17:42:17 <Vorpal> elliott, well yes
17:42:20 <elliott> OBVIOUSLY
17:42:28 <Vorpal> elliott, well the ; is not that *obvious*
17:42:31 <ais523_> "This sentence contains one nonstandard English flutzpah"
17:42:33 <Vorpal> but the commas are
17:42:49 <fizzie> Envelope-damn you to hell-axiom.
17:42:57 <elliott> ais523_: You've got some nonstandard English chutzpah.
17:43:04 <ais523_> "This sentence contains multiple nonsklarkish English flutzpahs, but the overall pluggandzip can be glorked from context"
17:43:06 <Vorpal> fizzie, hah
17:43:18 <ais523_> Hofstatder was so good at confusing self-referential sentences...
17:43:24 <evincar> It refers to Mr. Envelope's Damn-You-to-Hell Axiom.
17:43:57 <Vorpal> interesting seeing these alternative interpretations
17:44:16 <fizzie> Jargon File puts that as "This gubblick contains many nonsklarkish English flutzpahs, but the overall pluggandisp can be glorked [sic] from context", since it's in the entry for 'glark' and it says 'glork' there.
17:44:28 <Vorpal> ais523_, it is made easier by "glorked" being quite near "gorked"
17:44:32 <Vorpal> err
17:44:37 <Vorpal> groked*
17:44:46 <elliott> fizzie: Cheap plastic imitation of the Jargon File, or the Jargon File?
17:44:50 <fizzie> Gorky'd.
17:44:56 <elliott> (Note: rms maintains the cheap plastic imitation of the Jargon File.)
17:44:56 <ais523_> fizzie: well, you wouldn't expect me to have it exactly memorised, would you?
17:45:06 <ais523_> elliott: did you just muddle esr and rms?
17:45:10 <Vorpal> elliott, I thought it was esr that did?
17:45:12 <elliott> Er, yes.
17:45:13 <elliott> *esr
17:45:17 <Vorpal> hahaha
17:45:22 <elliott> It's three lowercase letters; same person!
17:45:23 <fizzie> Any TLA is good enough.
17:45:41 <elliott> fizzie: http://geekz.co.uk/lovesraymond/archive/mundane-name
17:45:50 * ais523_ wonders what sort of hatred you engender from what sort of fanboy for mixing up those two
17:46:08 <Vorpal> elliott, next you will confuse rms and djb. And that will be a sad dauy
17:46:09 <Vorpal> day*
17:46:18 <fizzie> Anyway, yes, I quoted "that" version: it's the one that googles fastests.
17:46:22 <elliott> Vorpal: I vow to commit seppuku if that ever happens.
17:46:27 <Vorpal> elliott, good
17:46:36 <elliott> [ais523_ suddenly gets irrationally worried]
17:46:41 <ais523_> elliott: do you actually own a wakizashi?
17:46:46 <Vorpal> XD
17:46:48 <elliott> ais523_: I can always obtain one!
17:46:53 <elliott> If the need arises.
17:46:59 <cpressey> indeed it is jwz who maintains the REAL jargon file (in his pluggandzip)
17:47:02 <Vorpal> ais523_, you are apparently quite predictable :D
17:47:15 <elliott> cpressey: wat
17:47:17 <Vorpal> elliott, what if you mix up djb and jwz?
17:47:17 <ais523_> Vorpal: most people are
17:47:21 <elliott> Vorpal: no, that was not what i expected
17:47:23 <Vorpal> ais523_, well yes
17:47:24 <elliott> i expected "please don't"
17:47:30 <Vorpal> elliott, ah
17:47:31 <elliott> Vorpal: well djb and jwz are both cool
17:47:34 <elliott> so no biggie
17:47:34 <cpressey> elliott: any tla
17:47:46 <ais523_> elliott: see, I have two separate predictable responses to that statement
17:47:49 <elliott> cpressey: DUDE #rho
17:47:53 <ais523_> so you can at least have the fun of guessing which I'll use
17:48:01 <elliott> ais523_: I don't think your other response was predictable; it was not worrying.
17:48:07 <evincar> Hmm...idea.
17:48:12 <Vorpal> elliott, so as long as none of {esr,rms} are confused with {djb,jwz} you will not commit seppuku?
17:48:17 <evincar> Esolang using only four-letter words.
17:48:18 <elliott> Vorpal: Whatever :P
17:48:23 <evincar> It would be poetic and nice, mostly.
17:48:24 <cpressey> evincar: Four long talk.
17:48:32 <elliott> evincar: that's just an esolang with 26^4 instructions max
17:48:35 <elliott> what's so interesting?
17:48:37 <fizzie> ais523_: Or as we say in our department, you have a bimodal prior for the response.
17:48:48 <cpressey> evincar: It is more fun as a talk that you have to say out loud.
17:48:49 <evincar> cpressey: Are you saying that's a good name for it, or that it already exists?
17:48:51 <elliott> ais523_: I would, however, be very good at the Assign Names to a Random Snippet of Text From #esoteric Semi-Recently (e.g. 2007 onwards?)
17:49:06 <elliott> ais523_: Where I only get, e.g. #1, #2 and #3 to represent each participant and I have to assign names to each of them.
17:49:21 <evincar> elliott: Additional restrictions would make it more interesting.
17:49:24 <elliott> ais523_: Some people make that game super-easy though, e.g. zzo38 and oklopol :)
17:49:26 <fizzie> Which reminds me of a recent fun one: http://www.phdcomics.com/comics/archive/phd102010s.gif
17:49:34 <Vorpal> elliott, esolangs using only 1-bit instructions
17:49:36 <cpressey> evincar: Four Long Talk is the name of a talk that ... does be... in my mind.
17:49:48 <Vorpal> hm
17:49:55 <Vorpal> BCT right?
17:49:56 <ais523_> elliott: that would be an interesting game, I think
17:49:59 <cpressey> Four or Less Long may be a more good way to name this talk.
17:50:00 <ais523_> Vorpal: quite a lot
17:50:09 <elliott> cpressey: Forlorntalk
17:50:19 <ais523_> hmm, did I mention Sansology in here yet? I think I did, but without a lot of detail
17:50:21 <elliott> ais523_: yes, I think so too; I'm going to code it when I get botte going
17:50:23 <cpressey> evincar: A long time ago, me and a guy who I knew made it up.
17:50:30 <elliott> ais523_: since it'll have the appropriate semantic logging machinery to do it easily :)
17:50:31 <elliott> sansology?
17:50:32 <evincar> cpressey: Less than four, your talk. Mine just four.
17:50:41 <cpressey> evincar: Your talk much more hard.
17:50:47 <ais523_> elliott: it's like a cross between 1L and Sansism
17:50:55 <evincar> Mine very much more hard, true.
17:51:38 <ais523_> 2D language with a BF-like tape, two commands: G rotates the IP left if the current tape element isn't 0, not-G corresponds to the BF commands + - < > going up down left right respectively
17:51:42 <elliott> cpressey: Have you seen the page of atom in four?
17:51:46 <elliott> cpressey: http://www.muppetlabs.com/~breadbox/txt/al.html
17:51:53 <Vorpal> <ais523_> Vorpal: quite a lot <-- hm?
17:51:57 <elliott> (of atom, adj. of physics)
17:52:01 <elliott> or even
17:52:02 <cpressey> elliott: Yes. And of [relativity]
17:52:05 <elliott> (of atom, n. of physics)
17:52:08 <ais523_> if the IP starts at the top-left going downwards, and the tape is bignum and initialised to 1 everywhere, I think it's TC, although am not completely sure
17:52:12 <elliott> cpressey: See, I didn't cheat like you! :P
17:52:21 <elliott> cpressey: "page of atom" -> "physics page"
17:52:33 <ais523_> not implemented yet or even specced, but who cares, it's tarpitty enough that that description's all you need
17:52:36 <cpressey> [cheat]
17:53:08 <evincar> elliott: That's quite an entertaining read. It also has good rhythm, as a four-letter word can only be at most two syllables.
17:53:22 <elliott> cpressey: I say that with five dots to the word, [this would be much easier]
17:53:34 <elliott> evincar: It would be nice to see Tom Lehrer do it.
17:53:48 <cpressey> More easy it will be. Less Yoda like.
17:53:57 <ais523_> hmm, how can people ask me about a lang, then not react at all when I tell them?
17:53:57 <elliott> "Okay, yes, it's a dumb idea, but just go with it." <-- this would be one of the spoken bits
17:54:00 <ais523_> it's kind-of disappointing
17:54:05 <elliott> ais523_: I didn't notice it yet
17:54:14 <ais523_> ah
17:54:20 <elliott> ais523_: I tend to mentally filter out only relevant comments when there's activity I'm participating in and then go back
17:54:27 <ais523_> hmm, interesting
17:54:28 <elliott> so as not to be too slow to reply
17:54:33 <cpressey> Gone to get... food at the mid part of the day. (Blah!)
17:54:36 <ais523_> I tend to just participate in both conversations simultaneously
17:54:38 <elliott> <ais523_> 2D language with a BF-like tape, two commands: G rotates the IP left if the current tape element isn't 0, not-G corresponds to the BF commands + - < > going up down left right respectively
17:54:42 <elliott> this already exists, I think
17:54:44 <elliott> or at least *very* closely
17:54:54 <ais523_> elliott: yep, 1L
17:55:00 <elliott> right
17:55:08 <elliott> ais523_: presumably G is ascii 32 i.e. space
17:55:10 <ais523_> I was trying to make 1L's instruction set a bit more logical
17:55:12 <elliott> otherwise it's fugly
17:55:29 <ais523_> you could just use the 1L convention of "whatever's in the topleft of the program is one command"
17:55:32 <elliott> ais523_: or perhaps G is the char
17:55:41 <ais523_> but G == G is what Sansism does
17:55:48 <elliott> ais523_: and then not-G can be space
17:55:56 <elliott> ais523_: G should be * i think, since it looks like an arrow pointing in all directions :)
17:56:05 <ais523_> G is meant to look like a clockwise arrow
17:56:24 <ais523_> (if it doesn't, blame Safalra, not me)
17:56:24 <elliott> catseye: Mid time food? Ah yes, at noon.
17:56:32 <elliott> ais523_: it... yeah no :P
17:56:55 <ais523_> it looks very like that in some fonts (IIRC The Impossible Quiz exploited that at one point)
17:57:12 <elliott> ais523_: you enabled *Flash* to play that?
17:57:17 <elliott> ais523_: or just heard about it? :p
17:57:26 <ais523_> oh, I don't /play/ it
17:57:31 <elliott> ais523_: how did I guess
17:57:51 <ais523_> and actually, I do have Flash enabled, I just use an entirely separate browser for it
17:58:04 <ais523_> it's the only real way to prevent it completely dominating an attempt to use the Web normally
17:58:27 <ais523_> (locked down Firefox, non-locked-down Epiphany)
17:59:02 -!- Slereah has quit (Ping timeout: 240 seconds).
17:59:08 <evincar> ais523_: Why not use U+2940, anticlockwise closed circle arrow?
17:59:31 <ais523_> evincar: presumably Safalra wanted to keep the code easy to parse
17:59:31 <evincar> (Massive delay due to looking up character.)
17:59:35 <ais523_> and involving Unicode is not that
18:00:13 <evincar> It is reasonable to require a particular encoding for source files.
18:00:24 <evincar> And even just supporting UTF-8 and UTF-16 would be reasonable.
18:00:30 <elliott> evincar: or you could just use bytes
18:00:37 <elliott> and have 30 fewer lines of code
18:00:42 <elliott> and have people actually program in it due to it not being hellish to do so
18:01:17 <ais523_> meh, just use Emacs or something and write a sansism-mode that maps g to C-q 2 9 4 0 RET
18:01:32 <elliott> lawl
18:01:34 <evincar> Hellish isn't so much of an issue for me. Usability sort of goes out the window when considering esoteric languages. If it's usable, then bully. If not, well, I hadn't got my hopes up.
18:01:39 <ais523_> (note: C-q in Emacs is annoying, it defaults to octal, most sane people customise it)
18:01:40 <elliott> ais523_: esolang programs are rare enough :)
18:01:53 <ais523_> elliott: I have an esolangs.el on my laptop somwhere
18:01:58 <ais523_> I'm pretty sure I've posted it to this channel before
18:02:09 <elliott> I know.
18:02:11 <elliott> I used it once.
18:02:13 -!- atrapado has quit (Quit: Abandonando).
18:02:33 <evincar> elliott: Once as in once upon a time, or once as in one time?
18:02:57 <ais523_> heh, it wasn't even me who originally wrote intercal.el (or intercal.vim)
18:02:58 <evincar> (*Multiple times upon a time?)
18:03:03 <elliott> evincar: both
18:04:00 <ais523_> "once upon a time" is one of those phrases which defies the normal rules of grammar
18:04:03 <evincar> elliott: You remind me of how dangerous it can be to ask a computer scientist "or".
18:04:14 <elliott> evincar: not really, i just answered the truth
18:04:38 <evincar> elliott: I know, but I'm allowed to associate freely.
18:04:39 <elliott> it isn't "computer scientists" who do that, or at least if it is it's just CS morons pretending they know anything about formal logic
18:04:46 <elliott> it's mostly just irritating people who don't have anything interesting to say :p
18:04:55 <ais523_> elliott: what if you're incredibly pedantic, and also happen to be a computer scientist?
18:04:57 <evincar> ais523_: Japanese just has "mukashimukashi", meaning basically "in the past".
18:05:04 <ais523_> s/you're/I'm/
18:05:05 <elliott> ais523_: then you know that in language, or means XOR
18:05:07 <elliott> ais523_: not OR
18:05:12 <elliott> ais523_: either that, or list elements
18:05:15 <elliott> (in a multiple-choice question)
18:05:16 <ais523_> it doesn't actually mean either
18:05:26 <elliott> ais523_: well, it means XOR but you can subvert it with "both"
18:05:30 -!- Slereah has joined.
18:05:32 <ais523_> it creates a sort of ternary logic which includes "both"
18:05:36 <elliott> ais523_: well, right
18:05:41 <elliott> ais523_: but whatever it is, "yes" is never the answer
18:05:43 <evincar> True, false, file not found.
18:05:44 <ais523_> (this is around the time that I mention that VHDL has 9 different logic levels)
18:05:59 <ais523_> elliott: what about a yes-or-no question?
18:06:15 <elliott> ais523_: aaaaargh, stop it
18:06:17 <ais523_> also, with evincar around, I've discovered that my finger-memory uses a one-letter completion for "elliott" and "ehird"
18:06:18 <elliott> ais523_: you know what i mean
18:06:28 <elliott> ais523_: you're "ai"
18:06:31 <ais523_> and have had to correct the tab-complete a lot
18:06:38 <ais523_> elliott: I nearly always do do two chars before completing
18:06:42 <elliott> evincar is ev, it seems
18:06:47 <ais523_> perhaps the issue is that e and l are at opposite ends of the keyboard
18:06:48 <elliott> Slereah is Sl
18:06:56 <elliott> Vorpal is Vo
18:06:58 <ais523_> hmm, is your tab-complete case-sensitive?
18:06:58 <elliott> cpressey is cp
18:07:00 <elliott> I sense a pattern
18:07:09 <elliott> ais523_: hmm, no
18:07:14 <elliott> ais523_: perhaps i don't always capitalise it
18:07:14 <evincar> Yeah, two characters is my minimum.
18:07:19 <elliott> ais523_: introspection is impossible, dammit! stop it :)
18:07:38 <evincar> Sometimes I find it unfortunate that I can't tab-complete long words while writing in English.
18:07:47 <elliott> you and everyone else
18:07:50 <elliott> except for me
18:07:59 <evincar> Although editors can make your life easier. i18n^J, anyone?
18:07:59 <cpressey> a cool IRC client would display these unique prefixes on request
18:08:02 <elliott> evincar: time me:
18:08:02 <ais523_> evincar: so do I; I actually change nick for that reason on occasion
18:08:06 <elliott> antidisestablishmentarianism
18:08:09 <elliott> evincar: time me again:
18:08:11 <elliott> antidisestablishmentarianism
18:08:14 <elliott> evincar: time me a final time:
18:08:17 <elliott> antidisestablishmentarianism
18:08:25 * elliott checks clog
18:08:31 <elliott> ais523_: seriously? :D
18:08:35 <ais523_> elliott: hmm... can you type that word faster or slower than you can copy-paste it?
18:08:41 <ais523_> elliott: I've done it in this channel before now
18:08:48 <ais523_> but I can answer both yes and no to your question
18:08:52 <elliott> ais523_: so, copy it and paste it after I press enter here?
18:08:53 <elliott> antidisestablishmentarianism
18:08:56 <elliott> i used the mouse though
18:09:06 <ais523_> yes, in that I was serious in that I change nick for that reason on occasion, no, in that every time I have done the change I wasn't serious
18:09:14 <elliott> so, observation: it takes me about three seconds to type antidisestablishmentarianism and hit enter
18:09:18 <elliott> four seconds when i'm not prepared
18:09:22 <elliott> that's pretty good if you ask me
18:09:26 <ais523_> indeed
18:09:27 <elliott> I'm going to try for the record:
18:09:29 <elliott> whoops
18:09:34 <elliott> false start :D
18:09:35 <elliott> I'm going to try for the record:
18:09:38 <elliott> antidsiestablishemtnarismn
18:09:39 <elliott> ouch
18:09:42 <elliott> this is not my word
18:09:43 <ais523_> hey, "whoops" is much shorter than "antidisestablishmentarianism"
18:09:50 <elliott> Okay, let's try again.
18:09:52 <elliott> antidisestablkuishemntanraism
18:09:54 <elliott> jesus christ
18:09:58 <ais523_> also, I spent a couple of seconds there correcting typos
18:10:10 * elliott ok:
18:10:13 <ais523_> (strange that I initially typed "connecting" there)
18:10:14 <elliott> urgh
18:10:16 * elliott ok:
18:10:19 <elliott> antidisestablishmentariannsnim
18:10:20 <elliott> aww
18:10:21 <elliott> so close
18:10:30 <elliott> three seconds all the same, though
18:10:32 * elliott ok:
18:10:35 <elliott> antidisestablishmentariasnnism
18:10:43 <elliott> wow, i am terrible at this
18:10:48 <elliott> --
18:10:50 <elliott> antidisetsablishmentarianism
18:10:53 <elliott> i giveu p
18:10:55 <elliott> *give up
18:11:15 <olsner> heh, I do better when I'm not watching the screen for some reason
18:11:39 <evincar> I'm on my laptop, so I'm not even going to try.
18:11:44 <elliott> so am i (but i have a keyboard)
18:11:46 <elliott> fop:
18:11:47 <evincar> Give me a Model M and I'll beat any of you.
18:11:48 <elliott> antidisestablishmentarianssims
18:11:52 <elliott> fop:
18:11:54 <elliott> antidisetsblishmentarianism
18:11:57 <elliott> awww
18:11:57 <elliott> fop:
18:12:00 <elliott> antidisetsbalishmentarianism
18:12:02 <elliott> :|
18:12:03 <elliott> fop:
18:12:05 <elliott> antidisetsablishmentarianism
18:12:09 <elliott> fop:
18:12:11 <elliott> antidisetwsabolishmentarianism
18:12:12 <olsner> harder to read than write antidisestablishmentarianism apparently
18:12:13 <elliott> oh jesus
18:12:48 <evincar> Whelp, time to move.
18:12:52 <ais523_> hmm, I actually like my keys to have hardly any travel
18:12:57 -!- evincar has quit (Quit: All bee bark.).
18:12:59 <ais523_> this desktop keyboard, they go down a bit too far
18:13:51 <ais523_> I suppose it's a consequence of using laptops for ages
18:16:41 <elliott> ais523_: there's a lot more to travel than one figure
18:17:01 <ais523_> well, I suppose so
18:17:17 <ais523_> but can I not give a nontechnical viewpoint on something?
18:17:20 <elliott> ais523_: there's how much you can physically press the key down until it hits the bottom, there's how much you need to press until the key gets send to the computer, and on a tactile keyboard, there's how much you need to press before it pushes back (usually shortly after the key actuates)
18:17:29 <elliott> ais523_: well, it's actually important :)
18:17:36 <elliott> for usage
18:18:05 <ais523_> before I spent a couple of years with a laptop, I spent years hotdesking
18:18:17 <ais523_> so I'm even more used to using whatever settings the computer I'm on happens to have
18:18:23 <ais523_> (I suppose this is why I like sane defaults)
18:18:50 * elliott tries to think whether leaden will have any configuration
18:18:51 <elliott> don't think so!
18:19:03 <elliott> except maybe indentation width. *maybe*
18:19:18 <Gregor> Let's play the GUESS HOW RETARDED JAVASCRIPT IS GAME!
18:19:19 <ais523_> 8, no exceptions
18:19:24 <Gregor> var x = 3; x.y = 4;
18:19:26 <elliott> ais523_: even when using spaces?
18:19:30 <elliott> Gregor: yep, works
18:19:33 <Gregor> 1) Does this crash? 2) If not, what is the value of x.y?
18:19:38 <ais523_> oh, don't you just type those by hand?
18:19:42 <elliott> Gregor: (1) no (2) 3?
18:19:45 <elliott> ais523_: and you know that I vehemently disagree with you on tabs
18:19:45 <Gregor> elliott: Just had a bug in our instrumentation framework related to this, made me remember :P
18:19:51 <Gregor> elliott: Nope, undefined!
18:19:55 <elliott> ais523_: so you're just trolling
18:20:00 <elliott> Gregor: my next guess was 42
18:20:02 <ais523_> well, perhaps
18:20:03 <elliott> Gregor: then "the window object"
18:20:04 <Gregor> X-D
18:20:23 <elliott> Gregor: then "the exception that should be thrown when you assign a property to a number"
18:20:28 <Gregor> :P
18:20:29 <ais523_> but there's a genuine question here: say you're using 2-space indentation (for whatever reason), and your editor knows it; you want to indent a level, do you type space space or tab?
18:20:45 <nooga> I WANT BRAUN AW20 WIRSTWATCH!
18:20:47 <cpressey> ais523_: depends on the editor
18:20:47 <elliott> ais523_: Usually, my editor automatically indents at the start of a block for me so I don't have to type anything.
18:20:50 <elliott> ais523_: But in that case, I'd type tab.
18:21:02 <elliott> Tab-the-key means "indent this".
18:21:04 <cpressey> ais523_: and the text
18:21:05 <elliott> Tab-the-character means flamewar.
18:21:09 <elliott> Space-the-character means flamewar.
18:21:13 <elliott> Space-the-key means "put a space in".
18:21:30 <cpressey> vertical tabs forever, man
18:21:38 <ais523_> I seem to only use tab-the-key in Emacs to mean "recalculate this line's indentation", as that's what it means there; when typing indentation by hand, I tend to use space
18:21:54 <ais523_> partly because it's a pain to keep adjusting editor settings for different tab widths
18:22:14 <ais523_> (when editing other people's code, you want to keep to their spacing conventions)
18:22:20 <elliott> ais523_: In the previous version of leaden, tab did different things depending where in the line you were :)
18:22:23 <cpressey> Gregor: that's not retarded, it's dynamic! Integer values are "black hole containers".
18:22:49 <ais523_> elliott: interesting issue: some of the code I edit (NetHack, C-INTERCAL, etc.) is generally written with the indent=4 spaces, 2 indents=1 tab convention
18:22:56 <ais523_> and yet I change it entirely to spaces when I edit things
18:23:04 <Gregor> elliott: You've just inspired me to change JavaScript. It's famous for basically never crashing (but instead causing crazy behavior); we can make this even more true by just replacing undefined with the window object!
18:23:12 <elliott> ais523_: That's "emacs indentation".
18:23:13 <ais523_> I'm trying to figure out whose philosophies I'm violating here
18:23:16 <elliott> ais523_: It is *pure, liquid evil*.
18:23:21 <elliott> ais523_: (what nethack does)
18:23:38 <cpressey> I refuse to get involved in this discussion on tabs because everyone else is wrong.
18:23:40 <ais523_> hmm, is it really Emacs' fault? I wouldn't be surprised if Hack predated Emacs
18:23:40 <elliott> Not only does it make incorrect assumptions about tab -- I'm not interested ais523_, you're wrong, and besides it means "move to next 8-column", not "8 spaces", even historically --
18:23:48 <elliott> But it also wastes space in the file with spaces for no apparent reason at all,
18:23:54 <elliott> and completely misses the reason for using tabs (adjustable indentation).
18:23:56 <elliott> And it's just...
18:23:58 <ais523_> elliott: I agree with the move to next 8-column
18:23:58 <elliott> Everybody hates it.
18:24:00 <elliott> Seriously.
18:24:06 <elliott> It is the one thing everyone in the spaces/tabs flamewar agrees on.
18:24:07 <ais523_> and the reason for using tabs is to make tables line up on a typewriter
18:24:08 <elliott> Emacs indentation is just lol.
18:24:21 <ais523_> (in QBASIC, tab = move to a multiple of 12, or was it 14?)
18:24:25 <elliott> ais523_: http://www.emacswiki.org/pics/static/TabsSpacesBoth.png
18:24:27 <elliott> ais523_: (relevant comic)
18:24:31 <cpressey> If it only ever meant "move to next 8-column" and everyone knew that and respected it and didn't change it, it would be acceptable.
18:24:34 <cpressey> However.
18:24:42 <elliott> ais523_: and that's on *emacswiki*
18:24:52 <elliott> cpressey: it shouldn't mean that
18:24:57 <ais523_> cpressey: that's what it means in all of GNU coreutils
18:25:04 <cpressey> elliott: It is only ever meant YOUR MO-
18:25:10 <cpressey> *If it
18:25:11 <ais523_> (I was reading the docs for those recently)
18:25:13 <elliott> cpressey: the whole purpose of using tabs in a modern area -- and ais523_ just don't even bother replying, I'm uninterested -- is to mean "N spaces", where N is configurable as you desire
18:25:22 <elliott> cpressey: not only does tab then mean "1 block of indentation",
18:25:26 <elliott> cpressey: it's flexible too
18:25:33 <elliott> and again, ais523_, totally not interested in a flamewar
18:25:35 <ais523_> elliott: what does tab in the middle of a line mean?
18:25:40 <elliott> ais523_: it means you're a moron
18:25:43 <cpressey> elliott: So then it's a shitty form of RLE for text files. Not interested.
18:25:44 <elliott> ais523_: (not you specifically)
18:25:55 <elliott> cpressey: Way to ignore half of my argument.
18:25:59 <ais523_> "one is a moron", I imagine
18:26:06 <elliott> ais523_: that's what i was thinking about typing :p
18:26:18 <cpressey> elliott: You seemed to miss all of mine.
18:26:41 <ais523_> cpressey: I get elliott's point: the idea is that you treat tabs like HTML elements, and the editor like CSS
18:26:47 <elliott> ais523_: ...???
18:26:53 <ais523_> which would be OK, I suppose, if the world worked like that
18:26:56 <elliott> ais523_: stop trying to argue for an argument you disagree with it makes no sense at all
18:27:07 <elliott> cpressey: the whole point is that it has literally no disadvantages over spaces; it's backwards-compatible with bad tools (they just show it as 8-column moves or 8 spaces or whatever), and in almost every modern editor you can set it to, say, four.
18:27:21 <ais523_> elliott: well, the concept of tabs as semantically delimiting a block, and having a separate method of saying how to represent that onscreen
18:27:25 <elliott> cpressey: Over this, spaces... are less flexible for no reason and take up more space in the file for no reason. (yes filesize is irrelevant, but come on)
18:27:28 <cpressey> The disadvantage is that tabs look different to different people.
18:27:40 <cpressey> Making text files that include them look different to different people.
18:27:40 <elliott> cpressey: I presume you mandate code be viewed in a certain font, too?
18:27:53 <elliott> And ban everyone from reformatting it and then formatting back when editing?
18:28:02 <ais523_> elliott: well, what would your opinion be of someone who formatted code with Comic Sans?
18:28:08 <elliott> Probably tabs won't work in a modern idiotic corporate environment.
18:28:14 <elliott> Thankfully I don't give a shit about such environments.
18:28:23 <elliott> ais523_: if their code is good, they're just crazy; otherwise, they're an idiot
18:28:38 <Gregor> If whoever had first decided that ASCII needed a tab character had refrained from doing so, this conversation would not be happening :P
18:28:49 <ais523_> I know there are some good coders who advocate a non-monospaced font for coding
18:28:51 <elliott> Gregor: and we'd be worse-off
18:29:08 <elliott> I'm not interested in a flamewar, I'm just trying to fight off the idiotic ignorance that has set in after spaces somehow won
18:29:15 <ais523_> really, code needs a sort of general depythonisation
18:29:24 <ais523_> as in, replace indentation with increase-indent, decrease-indent chars
18:29:31 <ais523_> that'd make it diff much better, for one thing
18:29:47 <elliott> ais523_: really code needs to stop being stored as bytes
18:29:57 <ais523_> I do appreciate Python's attempt to remove redundancy between the braces and indentation
18:30:00 <elliott> (I'm unconvinced on the benefits of AST editing, but c'mon, you don't have to store it like that.)
18:30:07 <ais523_> but it'd have been better to do it via removing indentation, than via removing braces
18:30:23 <ais523_> a sufficiently good editor should be able to reconstruct the indentation for editing purposes
18:30:35 <elliott> ais523_: do you know how to feed apt-get/aptitude a text file instead of arguments?
18:30:40 <elliott> I, uh, argument list limit.
18:30:56 <ais523_> elliott: IIRC there is a way, but this computer runs CentOS so I can't read the manpage
18:31:19 <ais523_> would using @ then a filename work? that's the usual workaround on DOS, some UNIX programs picked it up too
18:31:38 <cpressey> elliott: I was only pointing out a disadvantage, to correct your statement that there were no disadvantages. Not "mandating" anything.
18:32:00 <elliott> cpressey: I'm saying that the disadvantage isn't.
18:32:15 <elliott> Files look different to different people! Indeed! But it's still indented properly, so what does it matter?
18:32:30 <elliott> And if they're the type to configure their editor, they'll see it in the indentation width they like, too. Kittens for everyone.
18:32:38 <fizzie> elliott: Two megabytes of arguments should be enough for everyone. (getconf ARG_MAX here.)
18:32:43 <elliott> Yes, perhaps some idiots with stupid editors will edit it and get the formatting badly, but they shouldn't be coding anyway.
18:32:46 <ais523_> elliott: if you don't know the indentation width readers will use, how can you prevent lines getting longer than 80 characters?
18:32:53 <elliott> fizzie: Yeah, I think it was another issue I had.
18:33:24 <ais523_> I mean, some programs even have blocks nested 10 deep, reading that with less or something would mean that the line didn't even start on the screen
18:33:24 <elliott> ais523_: You can't. The best you can do is getting it 80 or under with an 8-width tab. But honestly, 80 characters is beyond outdated. Even vim can wrap text nicely now.
18:33:36 <elliott> ais523_: And you can always use a tiny perl oneliner to do it for you if you're really using a physical vt100.
18:33:40 <elliott> ais523_: Programs shouldn't have blocks nested 10 deep.
18:33:50 <ais523_> that doesn't change the fact that sometimes they do
18:33:55 <elliott> fizzie:
18:33:56 <elliott> elliott@dinky:~$ sudo aptitude install -- $(cat packages)
18:33:56 <elliott> elliott@dinky:~$
18:34:05 <elliott> fizzie: packages is a \n-separated list of packages in debian
18:34:08 <elliott> ais523_: Irrelevant.
18:34:08 <ais523_> and wrapping text changes the meaning if you have to-end-of-line comments
18:34:12 <elliott> ais523_: Such programs should be refactored.
18:34:23 <elliott> ais523_: I am uninterested in arguing about the formatting of badly-formatted programs.
18:34:26 <elliott> <ais523_> and wrapping text changes the meaning if you have to-end-of-line comments
18:34:31 <elliott> not if you provide an indicator in the gutter or similar
18:34:34 <elliott> like emacs does
18:34:36 <elliott> and probably vim too
18:35:33 <ais523_> beh, how do you insert beyond the last character of a line in vim?
18:35:44 <elliott> ais523_: A
18:35:48 <ais523_> it's making it unreasonably difficult, as you can't move the cursor there
18:35:53 <elliott> ais523_: but, uh, nice wrapping isn't enabled by default in vim
18:35:54 <elliott> ais523_: err
18:35:55 <elliott> ais523_: $a
18:35:57 <elliott> ais523_: is another way
18:35:58 <ais523_> and it's ridiculously unvimlike to need a separate command
18:36:01 <elliott> i inserts at point, a inserts after point
18:36:03 <elliott> ais523_: A = $a
18:36:05 <ais523_> hmm, OK
18:36:10 <elliott> ais523_: it's just a shortcut
18:36:26 <elliott> ais523_: consider the duality ^i $a
18:36:32 <ais523_> anyway, no "text wrapped" indication as far as I can tell
18:36:36 <ais523_> elliott: hmm, reasonable
18:36:43 <elliott> ais523_: also ^a $i which insert at start-but-one and end-but-one
18:36:44 <ais523_> except that I don't see why i and a aren't the same command
18:36:46 <ais523_> historical reasons?
18:36:50 <elliott> ais523_: i inserts at point, a inserts after point
18:36:52 <elliott> insert vs. append
18:36:56 <elliott> no, design reasons
18:37:02 <elliott> they behave differently, for a reason
18:37:09 <elliott> ais523_: you can't move the cursor beyond the end of line because there's no character there
18:37:09 <ais523_> point's always in two places one character apart?
18:37:16 <elliott> in normal mode the cursor is always on a character
18:37:19 <elliott> ais523_: no
18:37:23 <ais523_> what if your document has no characters?
18:37:25 <elliott> ais523_: "a" inserts after the cursor
18:37:36 <elliott> ais523_: that doesn't mean the cursor's in a different place
18:37:42 <elliott> ais523_: any more than / means that the cursor is everywhere at once
18:37:46 <elliott> <ais523_> what if your document has no characters?
18:37:49 <elliott> it always has one \n :)
18:37:59 <elliott> hmm, well maybe not
18:38:03 <elliott> (after testing in vim)
18:38:05 <ais523_> I know, I'm just pointing out that thinking of the cursor as being on one individual character, rather than in one location between characters, is a bit of a weird design decision
18:38:10 <ais523_> because it needs special cases
18:38:14 <elliott> ais523_: not really
18:38:16 <ais523_> you can't even put the cursor on a \n in vim
18:38:18 <elliott> ais523_: it makes using vim nicer
18:38:19 <ais523_> despite it being a character
18:38:29 <elliott> because vim is line-oriented
18:38:37 <elliott> well, *vi
18:38:43 <ais523_> probably even *ed
18:38:46 <cpressey> a cursor on a character is a selection
18:38:48 <elliott> ais523_: remember, it's ed-extended plus graphical
18:38:52 <ais523_> indeed
18:38:54 <elliott> cpressey: not in vim afaik
18:38:57 <elliott> *vi
18:39:03 <elliott> sort of in ex, I guess
18:39:10 <ais523_> the concept of vi is a good one, and the way it was adapted to vim also good (although a little dubious in places)
18:39:17 <ais523_> but some of the historical hiccups are annoying
18:39:50 <elliott> ais523_: a is not a historical hiccup!
18:39:53 <elliott> a is intentional design
18:40:06 <elliott> ais523_: sometimes I think you troll intentionally...
18:40:11 <ais523_> anyway, after finally managing to write multiple lines of text, it seems vim doesn't indicate that a line's wrapped at all
18:40:21 <elliott> "a is a special case!" "No, it's by design." "[ignores you, continues complaining about a being a special case]"
18:40:25 <ais523_> elliott: I'm pretty good at unintentional trolling
18:40:27 <elliott> <ais523_> anyway, after finally managing to write multiple lines of text, it seems vim doesn't indicate that a line's wrapped at all
18:40:28 <elliott> by default
18:40:30 <elliott> I *told* you that
18:40:31 <elliott> right at the start
18:40:33 <ais523_> normally, when I really want to like something, but nevertheless don't
18:40:35 <elliott> but you didn't listen#
18:40:38 <elliott> s/#$//
18:40:52 <ais523_> as for you claiming it's by design, I've seen no evidence of that, nor an obvious reason
18:41:00 <elliott> anyway, it does
18:41:04 <elliott> try line movement chars on the wrapped line
18:41:05 <elliott> or ^ and $
18:41:08 <elliott> ^ and $ being more reasonable
18:41:24 <ais523_> no visual indication
18:41:28 <elliott> ais523_: by default
18:41:37 * elliott is uninterested in this circular conversation; refuses to reply further
18:41:46 <ais523_> elliott: here's one for you, then: why are dh and dl asymmetrical?
18:42:00 <ais523_> dh deletes the char before the cursor, dl deletes the char under the cursor
18:42:21 <elliott> ais523_: I white-lied when I said the cursor is on a character, the cursor is actually between two characters, i think
18:42:23 <Gregor> ais523_: Because 'd' mirrored is 'b' and 'h' has a little line drawn off the backwards 'l'
18:42:26 <elliott> *I
18:42:33 <elliott> yes, indeed
18:42:39 <elliott> ais523_: it is before the highlighted character
18:42:54 <fizzie> ais523_: "set showbreak=x" will put 'x' -- typically in a different color -- in front of lines that are wrapped continuations of the previous line; but I'm not sure if there's anything to indicate it at the end of the line.
18:43:20 <ais523_> elliott: that's what I was suggesting would make more sense; in which case, why can't you put the cursor after the last character (when not in insert mode, which you shouldn't be in if you're moving the cursor)?
18:43:36 <elliott> ais523_: because there's no character after it to be the character that dl would delete
18:43:40 <elliott> ais523_: it can't be before nothing!
18:43:54 <elliott> (empty file *is* a special case, I think, but an unimportant one; I'd have to check nvi source to be sure)
18:43:56 <ais523_> dl should probably delete the newline in that context
18:44:01 <elliott> ais523_: newline isn't part of the line
18:44:03 <elliott> vi is line-oriented
18:44:05 <elliott> there are no newlines
18:44:09 <elliott> only a list of lines
18:44:20 <elliott> ais523_: this is also why you can't backspace beyond a line by default in vim
18:44:27 <elliott> (you can make it with a config option that everyone uses)
18:44:42 <elliott> ais523_: try it; iabc[n]def[backspace past def]
18:44:49 <elliott> where [n] is newline
18:45:06 <ais523_> hmm, I don't see any reason to doubt you on that
18:45:18 <ais523_> I mean, I'm not disputing the reasons, just the reasons for the reasons
18:45:18 <elliott> apart from my general untrustworthiness? :)
18:45:56 <elliott> speaking of vi, % is really nice and leaden should really have it and holy shit my laptop isn't plugged in
18:45:57 <fizzie> ais523_: Also, ":set virtualedit=onemore" to make it possible to move the cursor to that magical place. It may make other things break, though.
18:46:43 <fizzie> (Also not very 'vi'ish.)
18:47:09 * elliott wonders what to bind % to in leaden
18:47:15 <elliott> the vi %, that is
18:47:27 <ais523_> is leaden an editor you're writing?
18:47:44 <elliott> ais523_: leaden's an editor i wrote and then lost
18:47:55 <elliott> and now i'm trying to find the code and becoming increasingly resigned to the fact that i'm going to have to rewrite it
18:48:07 -!- Quadrescence has joined.
18:48:11 <elliott> ais523_: it had nice features, like no save function
18:48:25 <ais523_> that'sa feature?
18:48:33 <elliott> ais523_: yes (note: it still saves files)
18:48:39 <ais523_> oh, did it constantsave with backups?
18:48:50 <elliott> ais523_: constantsave without backups; you use a VCS
18:48:55 <elliott> ais523_: which is also why Ctrl+S means "VCS commit"
18:49:00 <ais523_> aha
18:49:01 <elliott> ais523_: (prompting you for the summary)
18:49:06 <elliott> ais523_: it's a VCS-usage motivator :)
18:49:13 <elliott> it also supports using it with a terminal
18:49:15 <Gregor> ... eww.
18:49:18 <elliott> since you can test changes immediately
18:49:28 <elliott> Gregor: why does everyone think they're the target market for my software?
18:49:28 <ais523_> hmm, how would that work with git? the staging area would seem to screw things up
18:49:31 <elliott> you aren't. deal with it
18:49:46 <elliott> ais523_: eh? you edit the file in your working copy, and it saves it automatically
18:49:48 <ais523_> it'd work pretty amazingly with scapegoat, though, if I ever get round to writing it
18:49:50 <elliott> then when you're happy, Ctrl+S
18:49:54 <elliott> which commits
18:49:58 <Gregor> elliott: Why are you mentioning it here if the only person you want comments from is you?
18:50:06 <elliott> Gregor: note "ais523_:"
18:50:12 <Gregor> TOUCHE SIR
18:50:15 <ais523_> elliott: I mean, what would control-S do? stage, then commit? what if you have another file edited at the time? what if you have anoher file staged?
18:50:15 * Gregor goes back to paying no attention :P
18:50:17 <elliott> Gregor: perhaps if "... eww" had any reasoning I would reply to it, but, it didn't
18:50:26 <elliott> ais523_: It would just run "git commit" with your summary.
18:50:33 <elliott> ais523_: but yes, if you have edited other files they'll be committed too
18:50:37 <elliott> ais523_: it does have backups in a way, anyway
18:50:42 <elliott> it has unlimited undo
18:50:46 <elliott> and the undo persists across program invocations
18:50:54 <ais523_> that'd be kind of pointless, given that if you're just doing "git commit" then the file you just edited isn't actually committed
18:50:55 <elliott> (it's saved in ~/.cache/ or whatever the directory is these days)
18:51:05 <elliott> ais523_: git commit -a
18:51:06 <elliott> you get the idea
18:51:10 <elliott> ais523_: or possibly just git commit file
18:51:16 <elliott> I'll have to see which is more useful in practice before I decide
18:51:19 <elliott> *practise
18:51:34 <cpressey> I need a different tool
18:51:39 <ais523_> what would make scapegoat really work amazingly would be if it was integrated with the editor so that it actually knew what, say, had been copied, etc., so it could do merges correctly
18:51:46 <elliott> ais523_: probably more likely -a, since you shouldn't really commit to anything you're doing if you can't run it locally and have it work
18:51:46 <ais523_> and the editor could just use it as undo info
18:51:52 <elliott> (which might be why you don't want -a, only one file works)
18:51:53 <cpressey> I don't know what it is yet, but it's something between a "file explorer" and grep
18:52:00 <ais523_> it's a fractal VCS, in that it changes are made out of lumps of smaller changes
18:52:28 <ais523_> and eventually you get down to the level of "this addition of the string 'hello' was made by adding 'h' 'e' 'l' 'l' 'o'"
18:52:35 <elliott> cpressey: graphical clicky file list with backwards/forwards/up functions and also a small terminal underneath that lets you select files and have them become part of the argument list, or if you type * e.g. all the files in the upper pane are highlighted?
18:52:38 <elliott> that's something i've wanted a while
18:52:41 <elliott> *wanted for a while
18:52:49 <ais523_> although it probably still does diffs at line granularity, because below that merging gets really counterintuitive sometimes
18:52:55 <elliott> ais523_: I'd be happy to add scapegoat support whenever it comes out :P
18:53:11 <ais523_> I just mean, I'm surprised our visions are so similar on this
18:53:22 <elliott> right
18:53:38 <elliott> ais523_: technically i stole that vision from yaedit, which did the save-on-every-keypress thing but not the VCS thing, which is just stupid
18:53:58 <ais523_> I like the fractal structure, because it really cuts down on the number of commands you need to manage things
18:54:00 <elliott> although the author says you're supposed to use it with a terminal, so you could commit there, still.
18:54:10 <ais523_> making a tag and making a commit are exactly the same concept, for instance
18:54:20 <elliott> ais523_: please tell me commands take a --zoom argument which tells them how many layers of fractalness to descend before operating
18:54:21 <ais523_> which is the same concept as saving a file
18:54:35 <ais523_> elliott: I haven't quite decided on the syntax for that yet
18:54:43 <ais523_> but you'll certainly be able to do something like that
18:54:50 <elliott> ais523_: perhaps nested parens! :D
18:55:02 <elliott> $ scapegoat '((((commit))))'
18:55:06 <cpressey> elliott: I... don't think that's it exactly
18:55:17 <elliott> cpressey: It would be cool, though. Gotta admit that.
18:55:26 <elliott> You could also do things like, uh
18:55:30 <elliott> find ... | show
18:55:34 <elliott> And have those appear in the top pane.
18:55:41 <elliott> cpressey: Really I just piggybacked on your idea to plug my idea.
18:55:53 <cpressey> elliott: yes, I notice you do that quite a bit.
18:56:19 <elliott> cpressey: I don't know whether to be offended or flattered.
18:56:21 <ais523_> $ scapegoat '****commit' seems like a potential idea
18:56:32 <elliott> ais523_: that makes me think of a correction
18:56:36 <ais523_> although, really, it'd need more information about what to do with the argument
18:56:40 <elliott> ais523_: I'd just use a repeated flag
18:56:41 <elliott> ais523_: say,
18:56:47 <elliott> $ scapegoat -zzzz commit
18:56:49 <elliott> for zoom
18:56:59 <elliott> where the code for -z handling is zoom++
18:57:03 <Vorpal> ais523_, this scapegoat thingy sounds awesome
18:57:29 <ais523_> well, the concept of -z would be "instead of operating on this change, operate on all changes it bundles"
18:57:35 <elliott> ais523_: quick, explain it to Vorpal more so he starts hating it
18:57:42 <elliott> <ais523_> well, the concept of -z would be "instead of operating on this change, operate on all changes it bundles"
18:57:43 <elliott> right
18:57:46 <elliott> then repeat it, etc.
18:57:50 <ais523_> yep
18:57:52 <Vorpal> ais523_, but I don't think it would be easy to use "<ais523_> $ scapegoat '****commit' seems like a potential idea" would work very well unless there are very few layers
18:58:10 <ais523_> there wouldn't be many layers at all, I imagine
18:58:22 <elliott> ais523_: maybe give -z a cousin, z^
18:58:22 <ais523_> also, you probably wouldn't want to mass-operate on the lower layers, you just could if you wanted to
18:58:23 <elliott> -z^3
18:58:24 <elliott> :p
18:58:36 <Vorpal> ais523_, ah then it could work just fine, otherwise you would run into the issue "how many of those * are there"
18:58:40 <cpressey> elliott: I think what I'm thinking of is basically incremental grep -r, with the results immediately displayed in something like a folding editor pane
18:58:58 <ais523_> hmm, apart from the "incremental" Emacs almost does that already
18:58:58 <cpressey> but also throw some directory lists in there
18:59:10 <elliott> cpressey: ah, like, show a file tree?
18:59:14 <cpressey> ais523_: yeah, i sort of thought it did
18:59:15 <elliott> cpressey: well that's a leaden feature! :P
18:59:23 <elliott> leaden is basically two tightly-integrated programs
18:59:27 <elliott> - a file tree viewer
18:59:28 <elliott> - an editor
18:59:38 <ais523_> - a Towers of Hanoi simulation
18:59:38 <elliott> admittedly, all i ever did was the start of the latter one
18:59:47 <Vorpal> ais523_, XD
18:59:54 <elliott> ais523_: but hey, it automatically inserted and removed 4-space indentations for python code very early on :)
19:00:01 <elliott> and it self-hosted after it was like
19:00:02 <elliott> 40 lines
19:00:11 <elliott> (I did all its development in itself after that until I lost it)
19:00:22 <elliott> which was fun when i accidentally deleted huge swathes of code, thank god for not closing it and Ctrl+Z
19:00:44 <elliott> i hadn't persisted undos yet :)
19:00:44 <Vorpal> elliott, pesumably you kept it in git?
19:00:48 <elliott> no
19:00:55 <cpressey> it would also be nice to have a shell that automatically captured the result of each command in a buffer, and let you navigate through buffers. emacs does this too, i bet
19:00:56 <elliott> i rarely version-control things until they're at about 1.0
19:00:59 <elliott> well, not 1.0
19:01:02 <elliott> but, like, the first useful release
19:01:02 <Vorpal> elliott, huh
19:01:03 <ais523_> cpressey: M-x shell
19:01:12 <ais523_> it's pretty good, but its command repeat is somewhat suspect
19:01:18 <cpressey> oh curse it all, don't make me use emacs
19:01:23 <elliott> Vorpal: especially as i basically hate the usual workflow of version control which is *why* i'm using leaden as a vehicle to fix that
19:01:26 <Vorpal> elliott, I'm the kind of guy who starts by creating a repo, then starts coding
19:01:34 <elliott> i am well aware
19:01:34 <cpressey> (i'm addressing the Fates, not anyone here)
19:01:39 <ais523_> (for bonus points, the same mode works just fine, for say, ghci)
19:01:43 <elliott> it is merely one of numerous thinsg horribly wrong with you :p
19:01:46 <elliott> *things
19:01:56 <cpressey> I have one 'lab' repo.
19:02:04 <elliott> ais523_: not as well as inferior-haskell thouh
19:02:05 <cpressey> Once projects mature, they get their own repo.
19:02:05 <elliott> *though
19:02:10 <ais523_> that exists?
19:02:17 <elliott> ais523_: so does haskell-mode!
19:02:17 <ais523_> I must try it some time
19:02:19 <elliott> and haskell-indentation-mode!
19:02:23 <ais523_> I know about haskell-mode
19:02:31 <elliott> ais523_: try C-x C-l sometime
19:02:32 <elliott> or whatever it was
19:02:34 <elliott> in a haskell buffer
19:02:37 <elliott> inferior-haskell will pop up
19:02:39 <ais523_> probably C-c C-l
19:02:41 <cpressey> just sayin', i need no encouragement to use version control. I've been burnt enough times by disk failures etc.
19:02:51 <elliott> ais523_: it's not *that* good, you can get it to hang if you C-c C-l after trying to and getting a syntax error
19:03:00 <elliott> ais523_: but it does highlight errors in red and let you click them to go to that location in the file
19:03:04 <elliott> (hang = hang emacs)
19:03:07 <elliott> (solution: don't do that)
19:03:09 <ais523_> M-x flymake-mode?
19:03:16 <elliott> ais523_: with haskell? good luck!
19:03:26 <ais523_> it works with C, somehow
19:03:27 <elliott> ais523_: you probably want http://projects.haskell.org/haskellmode-emacs/
19:03:31 <elliott> not whatever packaged version
19:03:43 <Vorpal> ais523_, what bugs me with M-x shell is that up key doesn't go up in history
19:03:54 <elliott> ais523_: install instructions: put it somewhere, (load "THERE/haskell-site-file")
19:03:55 <ais523_> hmm, flymake-mode plus clang could be impressive
19:03:55 <elliott> (add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)
19:03:56 <elliott> (add-hook 'haskell-mode-hook 'turn-on-haskell-indentation)
19:04:01 <elliott> ais523_: that turns on all the fancy things
19:04:06 <ais523_> Vorpal: as I said, its command repeat is rather suspect
19:04:09 <elliott> doc-mode just shows you the signatures of functions in the modeline as you type them
19:04:12 <Vorpal> ais523_, indeed
19:04:17 <elliott> indentation does the super-fancy indentation which most people love and some people hate
19:04:22 <ais523_> elliott: my packaged haskell-mode does both of those
19:04:24 <elliott> (note: press tab to cycle between possible indentations)
19:04:27 <elliott> ais523_: ok
19:04:32 <elliott> ais523_: a lot of packages are out of date
19:04:38 <elliott> ais523_: anyway, yes, C-c C-l should Just Work
19:04:40 <ais523_> also, it isn't the modeline, it's the minibuffer
19:04:44 <elliott> "- Interaction with inferior Haskell interpreter: just hit C-c C-z or C-c C-l."
19:04:46 <elliott> or C-c C-z!
19:04:49 <elliott> ais523_: er, right
19:04:52 <elliott> you know what i mean
19:05:01 <ais523_> modeline is plausible in that context, just wrong
19:05:04 <Vorpal> ais523_, also pgup/pgdown maps to emacs, not to shell
19:05:11 <Vorpal> ais523_, I use them for "search in history"
19:05:17 <elliott> ais523_: it would be perverse to do that in the modeline :)
19:05:29 <ais523_> Vorpal: control-R makes a better "search in history" in bash, at least
19:05:37 <ais523_> and happily works in M-x shell as well
19:05:56 <Vorpal> ais523_, um, why is it better?
19:05:57 <elliott> anyone: do you have leaden's source code?
19:06:06 <elliott> I don't think I ever put it on the interwebs :(
19:06:13 <ais523_> Vorpal: incremental search
19:06:19 <Vorpal> "\e[5~": history-search-backward
19:06:19 <Vorpal> "\e[6~": history-search-forward
19:06:25 <Vorpal> ais523_, I'm used that that
19:06:27 <ais523_> plus repeated tapping of control-R to get a different entry from history
19:06:38 <Vorpal> ais523_, repeated tapping pgup is easier
19:06:52 <elliott> no it isn't
19:06:59 <elliott> that's almost as stupid as liking numpad in nethack
19:07:01 <ais523_> no it isn't, the pgup key is tiny and confined to a small corner of the laptop
19:07:04 <Vorpal> elliott, I find it easier. *shurg*
19:07:06 <ais523_> in fact, I haven't even memorised wher eit is
19:07:08 <ais523_> *where it is
19:07:13 <Vorpal> ais523_, on a laptop yes
19:07:16 <elliott> no it isn't, the pgup key is normal-sized and confined to the Block of Nearly Useless Keys in the middle
19:07:18 <Vorpal> I'm using a full size PC keyboard
19:07:19 <elliott> of the keyboard
19:07:23 <ais523_> I press /SysRq/ more often than I press PgUp
19:07:25 <elliott> well, counting the main part as the same size as the numpad
19:07:30 <Vorpal> ais523_, I don't
19:07:33 <elliott> ais523_: I like where pgup/down is on this keyboard
19:07:42 <Vorpal> <elliott> well, counting the main part as the same size as the numpad
19:07:44 <Vorpal> right
19:07:47 <elliott> ais523_: ctrl win menu alt spaaaaaaaaaace altgr pgup pgdown ctrl
19:07:48 <ais523_> on this desktop keyboard I happen to be using, it's in a pretty weird place
19:07:59 <elliott> ais523_: it's nice because i can easily scroll through things with my thumb
19:08:02 <elliott> without moving my hand
19:08:03 <elliott> which is really nice
19:08:11 <elliott> I use it a lot in IRC to see more scrollback
19:08:14 <ais523_> it's in the Block Of Nearly Useless Keys, but in the centre-right (it's, abnormally, a 3x3 block)
19:08:25 <elliott> I used to hit it a lot by mistake but I've adjusted now
19:08:41 <elliott> I find pgup/pgdown useful but Ctrl+R is easier to type, yse.
19:08:43 <Vorpal> ais523_, what are the 3 extra keys then?
19:08:43 <elliott> *yes.
19:08:45 <ais523_> above the Block in question is a Block Of Totally Useless Keys, with icons of Internet Explorer (6, by the look of it), Outlook Express, and a moon
19:09:01 <ais523_> and the three extra keys in the Block are used for the keys normally above the Block
19:09:10 <elliott> ais523_: we need a better key-combo notation, one that handles both "press this *after* this" and "press this *with* this", and also handles pathological things like control minus and alt minus well
19:09:13 <ais523_> also, End is physically touching Up, presumably because the Block is bigger
19:09:14 <Vorpal> ais523_, moon would be suspend to disk presumably
19:09:19 <ais523_> Vorpal: probably to RAM
19:09:23 <Vorpal> ais523_, or that
19:09:27 <ais523_> and the other two have obvious meanings, just probably not while running Linux
19:09:32 * ais523_ presses the IE key to see what happens
19:09:38 <ais523_> nothing, apparently
19:09:51 <elliott> ais523_: also, which is short to type
19:10:20 <ais523_> I've been using - for "simultaneously" and , for "consecutively", and parens
19:10:36 <elliott> ais523_: with simultaneously, how do you notate control minus?
19:10:37 <elliott> Control--?
19:10:39 <elliott> that's just confusing
19:10:51 <elliott> ais523_: or, with a + system, control plus
19:10:52 <elliott> Control++
19:11:02 <ais523_> e.g. "to shut down my old laptop by hand, type alt-((fn-sysrq),r,(fn-sysrq),e,(fn-sysrq),i,(fn-sysrq),s,(fn-sysrq),u,(fn-sysrq),b)
19:11:04 <elliott> ais523_: "Control -" and "Control +" are nicer, but that leaves the problem of sequential keys
19:11:13 <ais523_> I used control-- because it's unambiguous
19:11:30 <elliott> <ais523_> e.g. "to shut down my old laptop by hand, type alt-((fn-sysrq),r,(fn-sysrq),e,(fn-sysrq),i,(fn-sysrq),s,(fn-sysrq),u,(fn-sysrq),b)
19:11:33 <elliott> that is perverse :D
19:11:36 <ais523_> incidentally, this is why putting sysrq behind fn is really annoying
19:11:47 <ais523_> it took me ages to find that /particular/ way of typing it
19:11:49 <elliott> ais523_: that's wrong
19:11:55 <elliott> you have to hold down sysrq while typing such commands
19:11:56 <elliott> i think
19:11:57 <elliott> maybe not
19:12:02 <ais523_> nope, you have to hold down alt
19:12:05 <elliott> ais523_: also, it isn't fn-sysrq
19:12:05 <ais523_> but you can release sysrq
19:12:11 <elliott> it's fn-whatever-you-use-with-fn-to-get-sysrq
19:12:20 <elliott> <ais523_> but you can release sysrq ;; oh, emergency rebooting now will be so much easier :D
19:12:28 <elliott> ais523_: also, yours doesn't shut down
19:12:29 <Vorpal> ais523_, sysrq is a bit buggered on my laptop in that respect too.
19:12:30 <elliott> it restarts
19:12:34 <ais523_> err, yes
19:12:41 <ais523_> replace Boring with Ominous for a shutdown
19:12:46 <Vorpal> ais523_, but shouldn't using prtsc work, since normally they are on the same key
19:12:52 <elliott> ais523_: i...
19:12:55 <elliott> you have mnemonics?
19:12:55 <ais523_> often not on a laptop
19:12:58 <elliott> *a mnemonic?
19:13:03 <ais523_> elliott: I don't need the mnemonic
19:13:09 <elliott> what is the mnemonic>
19:13:11 <elliott> *mnemonic?
19:13:13 <ais523_> in fact, knowing the command sequence makes the mnemonic easier to memorise
19:13:22 <ais523_> but it's the usual Raising Elephants Is So Utterly Boring one
19:13:30 <elliott> I just memorised REISUB, pronounced "reesub" or "raysub"
19:13:38 <elliott> it took... zero effort :p
19:13:51 <ais523_> elliott: well, I encountered the mnemonic before I encountered the sequence
19:14:06 <ais523_> in fact, the first mnemonic I encountered had S before E, but I dislike that order of doing things
19:14:17 <Vorpal> <ais523_> in fact, knowing the command sequence makes the mnemonic easier to memorise <-- thus the mnemonic can be considered rather failed?
19:14:21 <ais523_> what if a program decides to write autosave data to disk in response to SIGTERM?
19:14:34 <elliott> ais523_: hmm, it seems that you should probably press i a few seconds after e
19:14:37 <elliott> I usually type it out as one word
19:14:42 <elliott> albeit not quite as quickly
19:14:45 <ais523_> you should wait a few seconds between every pair
19:14:47 <elliott> to avoid errors
19:14:48 <elliott> ais523_: ha
19:14:52 <elliott> oh well, i've never had an issue
19:14:54 <ais523_> except arguably U to B, because setting disks readonly doesn't take long
19:14:57 * elliott cowboy
19:15:00 <elliott> ais523_: surely not after R
19:15:02 <elliott> that's an instant operation
19:15:10 <ais523_> I always break to press control-alt-f1 after R
19:15:12 <elliott> "Call oom_kill, which kills a process to alleviate an OOM condition"
19:15:14 <elliott> ais523_: dare me to do this now
19:15:16 <ais523_> just to see if it was the keyboard controller that was borked
19:15:20 <elliott> let's see what dies!
19:15:29 <ais523_> elliott: if you're not doing anything important, you may as well see what happens
19:15:34 <elliott> ais523_: certainly
19:15:35 <ais523_> make sure you save your work first, etc. etc.
19:15:39 * elliott alt+sysrq+f
19:15:48 <elliott> ais523_: nothing happened; how disappointing
19:15:53 <ais523_> check syslog to see what it killed
19:16:07 <elliott> Oct 28 19:15:18 dinky kernel: [10781.698175] SysRq : This sysrq operation is disabled.
19:16:07 <Vorpal> ais523_, personally I remember it by the order of the commands, like raw "tErm kIll Sync Unmount reBoot"
19:16:09 <ais523_> maybe nothing /visible/ happened
19:16:13 <ais523_> hmm
19:16:13 <Vorpal> ais523_, I find that easier
19:16:17 <elliott> ais523_: thank you, big brother linux!
19:16:20 <elliott> Vorpal: can you really not memorise "reisub"?
19:16:22 <Vorpal> err " ended up in wrong place
19:16:23 <elliott> your memory is broken
19:16:26 <ais523_> Vorpal: well, it takes random letters from each word
19:16:32 <Vorpal> elliott, well it would be easy, but also pointless
19:16:42 <ais523_> I hadn't even memorised the reason for the letters, just "E = terminate", etc
19:16:46 <Vorpal> ais523_, only for term and kill
19:16:48 <elliott> ais523_: how on earth and why was that disabled, I wonder?
19:16:58 <ais523_> I mean, would you /guess/ that Shutdown was O?
19:17:10 <ais523_> elliott: I wonder too
19:17:10 <Vorpal> ais523_, no
19:17:11 <ais523_> which distro?
19:17:16 <elliott> ais523_: Debian
19:17:17 <ais523_> (I take it from context you're on Linux)
19:17:17 <Vorpal> <elliott> ais523_: how on earth and why was that disabled, I wonder? <-- /proc/sys I presume
19:17:28 * elliott pokes around /proc/sys
19:17:31 <elliott> i forgot how awful /proc is
19:17:34 <Vorpal> elliott, check sysctl.conf
19:17:38 <Vorpal> elliott, or sysctl.d
19:17:39 <elliott> elliott@dinky:/proc/sys/kernel$ cat sysrq
19:17:40 <elliott> 438
19:17:41 <elliott> I BET IT'S A BITMASK
19:17:42 <Vorpal> it is usually there
19:17:48 <Vorpal> elliott, what
19:17:52 <Vorpal> I never seen it that way before
19:17:59 <elliott> i was just poking around
19:18:11 <ais523_> bitmask seems plausible for such an apparently random number
19:18:15 <Vorpal> $ sysctl kernel.sysrq
19:18:15 <Vorpal> kernel.sysrq = 1
19:18:15 <elliott> Vorpal: nothing sysrq in my sysctl.conf
19:18:21 <Vorpal> I thought it was a *boolean*
19:18:31 <elliott> Vorpal: wow @ sysctl, you use a program to do cat and echo for you?
19:18:39 <elliott> what a sad summary of current unix practice
19:18:40 <Vorpal> elliott, shorter to type :P
19:18:42 <elliott> *practise
19:19:03 <Vorpal> elliott, also on *bsd /proc/sys doesn't exist
19:19:05 <elliott> linux: manages to copy a plan 9 concept (/proc), take away all the useful things from it, and then get rid of the whole point of it
19:19:19 * elliott just uses /sys
19:19:29 <Vorpal> elliott, /sys doesn't have this
19:19:33 <elliott> which isn't the same thing
19:19:33 <elliott> joy
19:19:43 <ais523_> elliott: I disagree; linux /proc might not work as well as plan9 /proc, but it's still useful
19:19:53 <Vorpal> ais523_, indeed
19:19:58 <elliott> ais523_: well, ok, but vastly less so
19:19:58 <ais523_> for one thing, it's responsible for ensuring that all inodes have filenames
19:20:11 <Vorpal> ais523_, what?
19:20:13 * elliott enables sysrq
19:20:21 <elliott> Vorpal: think about it
19:20:28 <elliott> ais523_: please try and make him figure it out for once...
19:20:42 <ais523_> hmm, am I not allowed to be helpful?
19:20:56 <elliott> ais523_: not for something so easily figurable out, surely? Vorpal asks what every five minutes
19:20:56 <cpressey> What are we making Vorpal figure out now?
19:20:59 <Vorpal> well there is an obvious solution, but that seems a rather stupid definition
19:21:07 <elliott> cpressey: how /proc makes sure every inode has a filename
19:21:09 <ais523_> why /proc is responsible for ensuring that all inodes have filenames
19:21:10 <Vorpal> if you refer to /proc/<pid>/fd/
19:21:15 <fizzie> Vorpal: It's a sort of a silly boolean-bitmask hybrid: 0 is off, 1 means "all values enabled", and any other non-zero values work as a bitmask.
19:21:17 <Vorpal> those are symlinks
19:21:18 <elliott> "It's stupid because... because it's stupid!"
19:21:20 <Vorpal> not actual filenames
19:21:22 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:21:28 <Vorpal> so it doesn't actually work out at all
19:21:28 <ais523_> Vorpal: they're only sort-of symlinks
19:21:31 <elliott> ais523_: ok, i've enabled it now
19:21:32 <elliott> time to test
19:21:36 -!- elliott has quit (Remote host closed the connection).
19:21:47 <cpressey> Yeah, I have no idea why or how it does that, so OK.
19:21:47 -!- elliott has joined.
19:21:48 <Vorpal> ais523_, yes but they have different inode numbers afaik
19:21:50 <elliott> ais523_: what are the chances?
19:21:52 <elliott> ais523_: it killed *xchat*
19:21:55 <Vorpal> they *couldn't* have the same ones
19:22:00 <ais523_> if the file's been deleted, they stat as broken symlinks, but can be read from anyway
19:22:05 <elliott> ais523_: :-D
19:22:06 <ais523_> elliott: it doesn't seem that implausible
19:22:11 <elliott> ais523_: time to try again
19:22:13 <Vorpal> ais523_, true
19:22:15 <ais523_> I figured what had happened straight off
19:22:17 <elliott> Oct 28 19:21:49 dinky kernel: [11172.905065] Killed process 1939 (pidgin)
19:22:34 <elliott> Oct 28 19:22:05 dinky kernel: [11188.911397] Killed process 1928 (xfce4-menu-plug)
19:22:44 <ais523_> you're using xchat and pidgin simultaneously?
19:22:51 <elliott> ais523_: yes, pidgin is beyond awful for IRC
19:22:53 <Vorpal> ais523_, but they can't have the same inodes since they if the same inode number existed on two different file systems and both were open, /proc would break badly
19:23:04 <cpressey> ais523_: *I* am too :)
19:23:05 <Vorpal> thus not all inodes have names
19:23:05 <ais523_> I know people who use it on Windows; it doesn't seem as bad as mIRC
19:23:10 <elliott> ais523_: what?
19:23:13 <cpressey> well, irssi, not xchat
19:23:16 <elliott> ais523_: mIRC is a pretty damn good client
19:23:20 <elliott> pidgin is utterly terrible
19:23:27 <elliott> ais523_: pidgin treats IRC rooms like small IM-protocol group convos
19:23:34 <elliott> which is just hilariously brokem
19:23:35 <elliott> *broken
19:23:35 <ais523_> mIRC's really annoying for anyone else in the channel at the same time
19:23:39 <elliott> why?
19:23:47 <ais523_> nonstandard formatting
19:23:49 <cpressey> it keeps barfing up green shit, man
19:23:51 <elliott> what?
19:24:00 <ais523_> it keeps sending random control codes followed by numbers
19:24:01 <cpressey> it needs to see a doctor about that
19:24:07 <Vorpal> ais523_, oh that. Only due to control codes
19:24:08 <ais523_> followed by setting a white foreground
19:24:15 <elliott> ais523_: maybe ancient versions...
19:24:23 <Vorpal> ais523_, and user stupidity
19:24:27 <ais523_> white foreground on colored background = what client encourages people to think that's a good idea?
19:24:30 <elliott> yeah i'll chalk that down to user stupidity
19:24:35 <elliott> ais523_: it doesn't!
19:24:37 <elliott> mirc has never done that for me
19:24:41 <elliott> ais523_: you're *very* good at FUD
19:24:48 <ais523_> I've been in channels where nearly all the users are mIRC users
19:24:51 <elliott> can you not immediately attribute things to other things without making sure first?
19:25:10 <fizzie> It hasn't ever been sending color codes for me either without specifically asking for them. Various mIRC *scripts* are another thing, though.
19:25:15 <ais523_> oh, the people ask for them
19:25:25 <elliott> ais523_: then those people are stupid
19:25:28 <elliott> PEBKAC
19:25:40 <ais523_> but still, why does it have an option to send codes that only other people who use the same client understand? and assume that other clients will interpret it the same way?
19:25:43 <elliott> ugh, pebkac on google images gives userfriendly comics
19:25:48 <elliott> ais523_: mirc colours is oooold
19:25:50 <elliott> like 90s old
19:25:53 <cpressey> between keyboard and computer
19:25:59 <elliott> cpressey: *and chair :p
19:26:07 <cpressey> mine's funnier
19:26:15 <elliott> I totally sit in front of my keyboard
19:26:27 <ais523_> hmm, I wonder if that can be fixed by holding the keyboard behind me, so that it's the air that's to blame? </phb>
19:26:29 <Vorpal> elliott, yeah that is a problem right there!
19:26:38 <elliott> Vorpal: ?
19:26:43 <Vorpal> elliott, ergonomics joke.
19:26:52 <elliott> oh, your joke is "that's not ergonomic!"
19:26:54 <elliott> you're hilarious.
19:26:56 <elliott> truly hilarious
19:26:59 <elliott> a shining wit
19:27:22 <Vorpal> elliott, "problem exist [in the fact in] sitting between keyboard and chair"
19:27:28 <Vorpal> err
19:27:31 <Vorpal> keyboard and computer
19:27:33 <Vorpal> XD
19:27:42 <ais523_> oh, I see
19:27:45 <ais523_> that is actually a valid pun
19:27:52 <Vorpal> ais523_, indeed!
19:27:53 <ais523_> it just requires so much explanation to get, that it probably wasn't worth it
19:28:00 <elliott> i wonder if humour on a level as terrible as Vorpal's is genetic
19:28:09 <elliott> if so, i had better start promoting eugenics in sweden
19:28:22 <elliott> <ais523_> [takes it seriously]
19:28:32 <elliott> ais523_: are you going to /nick ais523? like ever? :p
19:28:45 <ais523_> elliott: but then the wireless might start working and kick me off from this connection
19:28:58 <Vorpal> haha
19:29:00 <ais523_> (note, I actually stopped trying after an hour or so)
19:29:03 <elliott> ais523_: x_x
19:29:19 <elliott> ais523_: it's unlikely to do that if your client doesn't automatically ghost
19:29:24 <pikhq> I wonder if it would be feasible to become a citizen of every country that allows for multiple citizenship.
19:29:40 <ais523_> elliott: I know it doesn't; instead, it'd pick the name ais523_
19:29:43 <ais523_> and that would just be confusing
19:29:46 <ais523_> because /I'm/ ais523_
19:29:47 <Vorpal> pikhq, that would certainly be interesting
19:29:51 <elliott> ais523_: I... hate you
19:29:52 <elliott> ais523_: >_<
19:29:53 <elliott> :p
19:30:13 <pikhq> Not to mention awesome.
19:30:27 <Vorpal> pikhq, indeed, can you make a list of which countries these are
19:30:28 <pikhq> "Show me your passport?" "Which? I've got dozens!"
19:30:56 <ais523_> it might be quite hard
19:31:02 <Vorpal> pikhq, you would need a suitcase for just the passports!
19:31:11 <ais523_> one of my friends at school was simultaneously New Zealandish and English
19:31:15 <elliott> 04:38:13 <oklopol> there's a rather clear separation into the 99% of esolangs that are fun syntax ideas, and the 3% that someone actually put some thought into.
19:31:21 <elliott> `addquote <oklopol> there's a rather clear separation into the 99% of esolangs that are fun syntax ideas, and the 3% that someone actually put some thought into.
19:31:23 <HackEgo> 249|<oklopol> there's a rather clear separation into the 99% of esolangs that are fun syntax ideas, and the 3% that someone actually put some thought into.
19:31:45 <elliott> ais523_: New... Zealand...ish?
19:31:46 <ais523_> and she talked about the difficulty of trying to maintain the genetic balance of nationalities within her family so as to not lose one citizenship or the other
19:32:01 <ais523_> elliott: well, any alternative I could come up with would have been misleading
19:32:08 <ais523_> so I just tried to be precise but incorrect
19:32:08 <pikhq> ais523_: Uuuuh, that's not how citizenship works.
19:32:15 <ais523_> pikhq: apparently, it is in New Zealand
19:32:26 <elliott> Note to self: LOL NEW ZEALAND CUR-AAZEY
19:33:42 <pikhq> New Zealand citizenship is jus solis, and UK citizenship is jus sanguinis and jus solis.
19:34:01 * Gregor hugs HackEgo
19:34:03 <elliott> French citizenship is au jus.
19:34:11 <Vorpal> pikhq, what does that mean
19:34:33 <pikhq> Vorpal: Citizenship by being born there for jus solis, citizenship by being born a decendant for jus sanguinis.
19:34:40 <Vorpal> pikhq, ah
19:34:59 <Vorpal> pikhq, and what about citizenship by moving there and applying for it?
19:35:05 <pikhq> Vorpal: That's naturalisation.
19:35:08 <elliott> jus pretty please
19:35:13 <Vorpal> elliott, XD
19:35:26 <ais523_> <Wikipedia> Modification of jus soli has been criticized as contributing to economic inequality, the perpetuation of unfree labour from a helot underclass, and statelessness.
19:35:27 <pikhq> Vorpal: I was only discussing automatic forms of citizenship.
19:35:33 <Vorpal> elliott, you actually made a funny joke!
19:35:36 <Vorpal> elliott, how rare
19:35:55 <ais523_> I suspect elliot considers eir own joke to be unfunny in that context
19:35:59 <elliott> that one wasn't funny
19:36:02 <ais523_> *elliott
19:36:03 <elliott> <elliott> French citizenship is au jus.
19:36:04 <elliott> this was
19:36:05 <ais523_> I know I do
19:36:11 <pikhq> Oh, New Zealand also has jus soli citizenship.
19:36:19 <Vorpal> elliott, so why did you say it
19:36:28 <elliott> Vorpal: maybe i wanted to bait you into saying that
19:36:31 <pikhq> Erm, jus sanguinis...
19:36:42 <Vorpal> elliott, I doubt it. Besides I stand for my point of view
19:36:52 <pikhq> But limited.
19:37:03 <pikhq> Anyways, it wouldn't be too hard to pass down UK and New Zealand citizenship.
19:37:18 <Vorpal> pikhq, what about Sweden? (And where do you find this info)
19:37:46 <pikhq> Vorpal: Wikipedia!
19:37:46 <ais523_> pikhq: presumably one of the restrictions against citizenship tourism was that if you married someone of a different nationality and your parents didn't come from there, you lost it again
19:37:52 <Vorpal> pikhq, hm
19:37:55 <ais523_> also, Wikipedia was an obvious place to check
19:37:56 <Vorpal> pikhq, okay
19:38:02 <ais523_> I mean, I went there without being prompted
19:38:54 <fizzie> There is someone's (very vague) plan for getting a 13-fold citizenship without naturalization (just some selective breeding) at http://archives.conlang.info/bhi/dardan/dhiaghaencal.html but I haven't seen any actual attempts at.
19:39:18 <pikhq> ais523_: Actually, the restrictions against citizenship tourism are, in New Zealand, as with most other places, that the citizenship gets transferred by descent if one parent is not citizen soley by descent, except if there would be no other citizenship.
19:39:31 <ais523_> you'd need to find a large number of famillies willing to crossbread to make it work, wouldn't you?
19:39:50 <ais523_> pikhq: hmm, perhaps my friend's parents were just worried about the nationality of her children
19:39:56 <fizzie> ais523_: Well, in that plan "parent 2: born in Taiwan, parents a) Russian and b) Romania-living ethnic German" might not be completely trivial to find.
19:40:14 <ais523_> well, you could presumably engineer it
19:40:20 <elliott> "Wow... complicated stuff. Just out of curiosity, why do you want to
19:40:21 <elliott> know? Intellectual exercise?"
19:40:22 <elliott> psht!
19:40:26 <pikhq> ais523_: And with the UK, if you wouldn't get the citizenship automatically, due to your parents being citizens soley by descent, you can *register* as a citizen.
19:40:29 <elliott> no, actually a ridiculously comprehensive getaway plan
19:40:29 <ais523_> but you'd need quite a lot of families to cooperate into arranged marriages
19:40:35 <ais523_> pikhq: there's even an exam
19:40:44 <ais523_> it was the subject of quite a bit of public ridicule at the time, IIRC
19:41:04 <ais523_> nowadays they purport to teach citizenship in schools
19:41:05 <pikhq> ais523_: Which consists of: living in the UK for 5 years, and informing the government that you are now a citizen.
19:41:11 <ais523_> but nobody takes it seriously, not even the teachers
19:41:22 <ais523_> pikhq: are you sure that hasn't been changed since the source you're reading?
19:41:23 <elliott> ais523_: no, they don't, that's pshserhe now i think
19:41:28 <ais523_> it was in the last few years it changed, IIRC
19:41:37 <ais523_> elliott: PSE/PSHE and Citizenship were different subjects
19:41:43 <ais523_> well, are
19:41:49 <ais523_> this is after I left school, so quite recently
19:41:54 <elliott> (Personal Social Horticultural Seafaring Ecclesiastical Rambunctious Health Education)
19:42:08 <pikhq> ais523_: Uuh, I'm not entirely sure what you're talking about.
19:42:14 <ais523_> pikhq: http://en.wikipedia.org/wiki/UK_citizenship#British_citizenship_by_naturalisation
19:42:25 <pikhq> ais523_: Registration is different from naturalisation.
19:42:28 <elliott> ais523_: thought: DOS would be so much nicer without that pesky shell and API
19:42:37 * cpressey has a fun syntax idea
19:42:42 <elliott> ais523_: like, if it was just something that could load and execute a COM from an FS, and had filesystem routines.
19:42:49 <ais523_> pikhq: ah; seems you have to be a British national already to pull that one off
19:43:02 <ais523_> elliott: it has an interrupt for malloc
19:43:09 <ais523_> that one always amused me
19:43:16 <elliott> ais523_: see, this is why DOS sucks!
19:43:18 <ais523_> (because I learnt other OSes before I learnt DOS)
19:43:19 <pikhq> ais523_: Or a member of a few different other things.
19:43:24 <cpressey> ais523_: wait, why is that amusing
19:43:41 <elliott> ais523_: DOS ought to be: a driver for floppies and disks, filesystem routines for these, and a COM loader
19:43:41 <pikhq> ais523_: Such as being a child of a British citizen.
19:43:47 <cpressey> other than interrupts being generally amusing
19:43:48 <ais523_> cpressey: API level clash
19:43:49 <elliott> ais523_: it would be the perfect OS
19:44:01 <ais523_> I mean, OSes like UNIX have sbrk() as the system call, not malloc() itself
19:44:27 <ais523_> elliott: presumably, you could still use BIOS interrupts for I/O, etc?
19:44:30 <cpressey> ais523_: I... suppose. One of several distinctions that DOS just kind of... obviates.
19:44:35 <elliott> ais523_: yep
19:44:42 <elliott> ais523_: or, more likely, just use the DOS routines
19:44:58 <elliott> ais523_: it can provide a drive access API, a filesystem API, and a COM loader API; just nothing else
19:45:15 <cpressey> You could strip down FreeDOS fairly easily
19:45:16 <elliott> ais523_: a command shell could add screen printing functions if it wanted, I suppose
19:45:23 <elliott> ais523_: but otherwise you'd just use VGA memory
19:45:26 <elliott> which is trivial
19:45:28 <ais523_> hmm, it seems you can renounce British citizenship whenever you want
19:45:38 -!- cheater99 has joined.
19:45:41 <ais523_> by declaring it to the Home Secretary
19:45:44 <elliott> ais523_: indeed
19:45:50 <elliott> ais523_: but not quite
19:45:55 <elliott> ais523_: you have to have citizenship of another state to do so
19:46:03 <cpressey> and then put FreeDOS into Bochs and then turn that into a web browser where pages are boot disk images
19:46:03 <pikhq> ais523_: Also fun, it's really easy to pull off Irish/UK dual citizenship. Be born in North Ireland, and then go to Ireland and perform an action that only Irish citizens can perform.
19:46:06 <elliott> so you couldn't just go to the home secretary now and say "yo, decitizenise me"
19:46:13 <elliott> he'd go "no ud have nowher to go"
19:46:13 <ais523_> nope, just intend to get it in the next 6 months
19:46:16 <elliott> ais523_: really?
19:46:17 <elliott> ais523_: omg
19:46:18 <pikhq> ais523_: Thereby instantly becoming a citizen of Ireland.
19:46:20 <elliott> ais523_: i can become stateless
19:46:24 <elliott> TOO AWESOME
19:46:25 <ais523_> if your citizenship bid fails, you get UK citizenship back
19:46:28 <elliott> ais523_: oh
19:46:36 <ais523_> becoming stateless is not particularly awesome, btw
19:46:40 <elliott> ais523_: but what if you just keep applying for, say, kazakhergidstan citizenship
19:46:42 <cpressey> ais523_: it has its sticky bit set
19:46:46 <elliott> and keep renouncing UK citizenship
19:46:52 <elliott> to be a citizen for, like, one day every six months
19:46:53 <elliott> WHAT THEN
19:47:00 <elliott> <cpressey> and then put FreeDOS into Bochs and then turn that into a web browser where pages are boot disk images
19:47:01 <ais523_> apparently they don't have to give it back the second time
19:47:03 <elliott> i hate you :)
19:47:08 <elliott> ais523_: awesome
19:47:10 <pikhq> elliott: The Japanese consititution has enumerated rights. Among these rights is the right to cease to be a Japanese citizen for *any reason at all*.
19:47:18 <elliott> ais523_: what i'd really like to be is an EU citizen
19:47:20 <elliott> but you can't do that
19:47:23 <elliott> well
19:47:25 <elliott> a European citizen
19:47:25 <pikhq> elliott: You are an EU citizen.
19:47:29 <elliott> pikhq: yes, but
19:47:30 <ais523_> pikhq: couldn't you then legally ask for asylum in Japan, if you were a Japanese citizen beforehand?
19:47:31 <elliott> with no other citizenship
19:47:36 <pikhq> ais523_: Yes.
19:47:44 <elliott> i.e. wherever you are in the EU, you are the type of citizen EU citizens are if they go abroad to the EU now
19:47:46 <ais523_> there is something very screwy about this
19:47:46 <pikhq> ais523_: You can also get citizenship back instantly.
19:48:20 <elliott> pikhq: so, hypothetically, if you wanted to commit a crime and Japan lacked laws to punish foreigners who commit crimes...
19:48:30 <elliott> cpressey: you hardly need to hack freedos, though
19:48:32 <ais523_> "From 1 January 2004, all new applicants for British citizenship by naturalisation or registration aged 18 or over if their application is successful must attend a citizenship ceremony and either make an affirmation or take an oath of allegiance to the monarch, and also make a pledge to the United Kingdom."
19:48:34 <pikhq> elliott: Victory.
19:48:40 <elliott> cpressey: IDE routines are a page of asm
19:48:46 <elliott> cpressey: FAT routines are a page or two of asm
19:48:49 <elliott> cpressey: COM loading is a few bytes of asm :P
19:48:54 <ais523_> that doesn't really make sense, Labour were in power then
19:48:57 <cpressey> elliott: everything is easy etc etc
19:48:59 <ais523_> and it's the sort of thing the Conservatives would do
19:49:12 <elliott> cpressey: well, you could do it in like three to four pages of asm, total
19:49:28 <cpressey> elliott: if you wanted to rewrite it yourself and debug what you wrote, yes
19:49:43 <ais523_> apparently, before 2004, they didn't have a ceremony, and the oath of allegiance was verified by a lawyer
19:49:49 <elliott> cpressey: oh come on, IDE routines have little room for failure
19:50:01 <elliott> cpressey: http://www.colorforth.com/ide.html
19:50:15 <ais523_> elliott: in something as complex as Visual Studio or Eclipse?
19:50:26 <elliott> COM loading is literally reading a file from disk to a memory location and then jmp
19:50:26 <Vorpal> pikhq, "Be born in North Ireland, and then go to Ireland and perform an action that only Irish citizens can perform." <-- that action being?
19:50:28 <elliott> ais523_: not that kind of IDE
19:50:29 <ais523_> (note: Vorpal may accidentally mistake this for a good joke)
19:50:32 <elliott> oh
19:50:33 <elliott> lawl
19:50:41 <elliott> so let's see
19:50:44 <ais523_> Vorpal: being shot after sunset?
19:50:57 <Vorpal> ais523_, ... I don't get the joke here
19:50:59 <elliott> ais523_: [joke detector] BLEEP BLEEP BLEEP
19:51:06 <elliott> cpressey: so let's see, IDE reading is http://colorforth.com/ide.html super-simple, COM loading is literally reading a file from disk to a memory location and then jmp
19:51:07 <cpressey> elliott: you seem to think i'm arguing against rewriting it
19:51:10 <ais523_> (there's a city somewhere which still hasn't repealed a law which allegedly makes it legal to shoot Irishmen after sunset under certain conditions)
19:51:13 <elliott> cpressey: the potential for error is in FAT routines entirely :P
19:51:19 <Vorpal> ais523_, hah
19:51:38 <elliott> ais523_: it's legal to shoot scots with a bow and arrow in northerly areas, I think
19:51:41 <elliott> something like that, anyway
19:51:50 <elliott> cpressey: LET'S REWRITE IT (you can do the hard parts)
19:52:02 <ais523_> presumably dating from the days when a) target practice was mandatory, and b) all english hated all scottsih
19:52:03 <elliott> did DOS use FAT12 or FAT16?
19:52:06 <ais523_> *scottish
19:52:12 <ais523_> elliott: FAT16, I think, but I'm not sure
19:52:20 <ais523_> DOS 1 hardly had a filesystem at all, it didn't have directories
19:52:26 <ais523_> they were one of the innovations in DOS 2
19:52:28 <cpressey> elliott: both, no?
19:52:36 <elliott> ais523_: is there any reason for FAT16 to exist apart from volumes above 32 megs?
19:52:51 <ais523_> that's quite a reason
19:52:53 <cpressey> elliott: there are no hard parts
19:52:54 <fizzie> ais523_: FAT16 was added around 3.something, because I remember having to split the 40-meg HD.
19:53:00 <elliott> ais523_: "Transparent encryption: Per-volume only with DR-DOS"
19:53:02 <ais523_> hmm, good to konw
19:53:04 <ais523_> *know
19:53:25 <pikhq> Vorpal: An example of such an action would be voting. Or asking for a passport.
19:53:38 <pikhq> Vorpal: Yes, you would become a citizen of Ireland *the instant you tried to vote*.
19:53:41 <ais523_> hmm, so attempting to vote in Ireland makes you Irish?
19:53:45 <ais523_> and thus, able to vote?
19:53:48 <Vorpal> elliott, would you really get away with it if you tried today (bow and arrow to shoot a scot)
19:53:49 <pikhq> ais523_: If you are entitled to Irish citizenship.
19:53:55 <ais523_> ah
19:53:56 <Vorpal> presumably the law would finally be repelled then
19:54:06 <pikhq> ais523_: People born on the *island* of Ireland are entitled to such, for instance.
19:54:09 <ais523_> Vorpal: it's likely overridden by subsequent legislation
19:54:13 <cpressey> elliott: you KNOW i have to turn this thing into a web browser somehow
19:54:23 <Vorpal> ais523_, ah
19:54:33 <ais523_> cpressey: then run JSMIPS in it, and a simulation of DOS on there?
19:55:02 <cpressey> http://catseye.tc/index.dsk
19:55:06 <Vorpal> <pikhq> Vorpal: Yes, you would become a citizen of Ireland *the instant you tried to vote*. <-- would that not cause some general confusion with the person supposed to register the vote?
19:55:15 <fizzie> There seems to have been an "initial FAT-16" from 3.0 to 3.2 which didn't actually increase the volume size limits (from 32 MB), just the maximum cluster count -- so smaller clusters = less space-wastage -- and then 3.31 introducing the real FAT-16 which can do up to 2 GB.
19:55:25 <pikhq> Vorpal: Well, it works somehow.
19:55:29 <Vorpal> pikhq, heh
19:55:41 <pikhq> Oooh. Irish citizenship by descent can last forever *easily*.
19:55:42 <Vorpal> pikhq, why do they do this though?
19:55:48 <fizzie> cpressey: What, 404!
19:56:16 <pikhq> Just a matter of notifying Ireland of each birth, and voila. Perpetual Irish citizenship.
19:57:09 <pikhq> Vorpal: ... Northern Ireland is effectively just Ireland, but happens to be in the UK.
19:57:15 <Vorpal> pikhq, hah
19:57:36 <ais523_> pikhq: you could probably start a war with that statement
19:57:44 <ais523_> Vorpal: the situation with Northern Ireland is incredibly complicated
19:57:53 <Vorpal> ais523_, right
19:58:01 <Vorpal> ais523_, I gathered that much
19:58:08 <ais523_> there are very strong opinions in Northern Ireland about whether it should be part of Ireland or the UK, mostly split along religious lines
19:58:29 <Vorpal> ais523_, yes I know that much
19:58:36 <Vorpal> ais523_, we have newspapers here
19:58:43 <ais523_> it even used to erupt into civil war now and again, although it's been pretty peaceful for ages and everyone's getting along relatively nicely
19:58:50 <ais523_> Vorpal: which talk about Northern Ireland?
19:58:54 <elliott> <cpressey> http://catseye.tc/index.dsk
19:58:58 <elliott> 404 *sniff*
19:59:36 <ais523_> and there are something like five or six political parties representing a large range of viewpoints, which sit on both a special Northern Ireland assembly, and also the UK Government
19:59:38 <elliott> <ais523_> it even used to erupt into civil war now and again, although it's been pretty peaceful for ages and everyone's getting along relatively nicely
19:59:38 <Vorpal> ais523_, well, the war before, then not full war but still conflicts and nowdays usually just a few times every year some demonstrations causing general irritation
19:59:40 <elliott> except when it doesn't
19:59:46 <elliott> and then MOLOTOV COCKTAILS
20:00:02 <fizzie> We only have Åland, who I think sort-of wanted to be part of Sweden, and vice-versa; and no-one actually bothers any more to get all emotional about it.
20:00:18 <pikhq> All because catholics and protestants find it hard to get along for... Stupid reasons.
20:00:23 <ais523_> (although it's a bit of a habit for the strongly anti-UK parties to refuse to attend the UK Houses of Parliament ever, even though they've technically been elected; people trying to work out coalition maths have to keep correcting for this)
20:00:26 <Vorpal> fizzie, not just sort of. They fully wanted it
20:00:42 <pikhq> Seriously, the whole thing with Ireland & Northern Ireland is just a demonstration of the power of stupidity.
20:00:44 <fizzie> Vorpal: Only 96.2 % of them. :p
20:00:44 <ais523_> fizzie: Sweden wanted to be part of Åland?
20:00:45 <Vorpal> fizzie, they are still not part of EU though
20:00:56 <Vorpal> fizzie, that is quite a large majority!
20:00:59 <elliott> ais523_++
20:01:05 <Vorpal> ais523_, :P
20:01:13 <elliott> I note that Vorpal hasn't corrected fizzie yet.
20:01:20 <elliott> (HA HA FUCK YOU FIZZIE ENJOY YOUR CORRECTION)
20:01:22 <Vorpal> elliott, I didn't notice the typo
20:01:32 <elliott> <ais523_> (although it's a bit of a habit for the strongly anti-UK parties to refuse to attend the UK Houses of Parliament ever, even though they've technically been elected; people trying to work out coalition maths have to keep correcting for this)
20:01:39 <elliott> did Sinn Faen or however you spell it ever actually get used?
20:01:48 <elliott> *Sinn Féin
20:01:58 <ais523_> they generally have around 3 seats, but never turn up as a point of principle
20:02:08 <ais523_> it seems that to be allowed in there you have to swear allegiance to the Queen, or something
20:02:15 <ais523_> one of these old formalities that's been around for ages
20:02:17 <ais523_> and they refuse to
20:02:40 <elliott> heh
20:02:56 <ais523_> this technically disenfranchises the constituencies who vote for them, but somehow I don't think they care
20:03:19 <elliott> catseye: argh, how can you make me want to code 386 assembly?
20:03:37 <elliott> It shall be called DOS, the Dork's Operating System.
20:03:40 <ais523_> elliott: better, do 8086
20:03:45 <elliott> Or the Dumbfounded Operating System.
20:03:48 <elliott> ais523_: what did DOS 1 run on? :p
20:03:55 <ais523_> also, use the binary-coded-decimal operations as much as possible
20:04:02 <ais523_> elliott: I don't actually know, I've only read the manual, not actually used it
20:04:36 <fizzie> DOS 1 ran on the IBM PC, of course.
20:04:47 <elliott> oh, right
20:05:03 <elliott> so I should write 8088 asm
20:05:14 <elliott> what was the first DOS not to run on the IBM PC, and what did it run on? :P
20:05:28 <elliott> ais523_: MS-DOS was a renamed form of 86-DOS — informally known as the Quick-and-dirty Operating System or Q-DOS [2] — owned by Seattle Computer Products, written by Tim Paterson[2]. Microsoft needed an operating system for the then-new Intel 8086 but it had none available, so it licensed 86-DOS and released a version of it as MS-DOS 1.0[2]. Development started in 1981, and MS-DOS 1.0 was released with the IBM PC in 1982[2].
20:05:42 <elliott> heh: [[Worried by possible legal problems, in June 1981 Microsoft made an offer to Rod Brock, the owner of Seattle Computer, to buy the rights for 86-DOS. An agreement to release all rights to the software was signed in June 1981. The total cost was $75,000.[3][n 2]]]
20:05:45 <elliott> Seattle Computer got fucked
20:06:20 <ais523_> elliott: hmm, what do you think of <http://www.groklaw.net/pdf2/OraGoogle-36-10.pdf>? it's a document filed by Oracle comparing source code in Oracle Java and Android Java
20:06:45 <ais523_> I'm trying to figure out if it's copying, or just coincidence of one obvious way to do it
20:07:01 <elliott> ais523_: I think that the a priori probability of Oracle being full of shit when attacking Google is very close to 1, based on Oracle being dickheads and Google not being nearly as dickheaded, and the fact that Sun never did it.
20:07:10 <fizzie> I'm not sure when (or even if) they dropped 8088 support; though you can't run all components (emm386, say) on pre-386.
20:07:17 <elliott> (Well not *that* close to 1, but you know.)
20:07:30 <ais523_> elliott: well, yes, but I'm still curious as to the point they're making there in the abstract
20:07:31 <elliott> fizzie: Probably just worth supporting 386, then, isn't it.
20:07:46 <ais523_> perhaps I'll send it to the other Java tutors as an exercise in detecting plagiarism
20:07:58 <elliott> ais523_: ugh, they didn't embed their monospaced font
20:08:11 <elliott> so it shows as the unreadable default PDF sans font for me, with added spacing to make it monospaced
20:08:14 <ais523_> it's Oracle, what do you expect?
20:08:17 <elliott> and it looks condensed
20:08:22 <elliott> ais523_: I, literally, find ita lmost impossible to read this
20:08:40 <ais523_> hmm, it isn't even actually monospaced
20:08:45 <ais523_> the lines don't line up from one to the next
20:08:48 <ais523_> it's just pretending to be monospaced
20:08:50 <elliott> *it almost
20:09:05 <elliott> ais523_: hm?
20:09:18 <ais523_> it looks monospaced at a glance
20:09:24 <ais523_> but it actually isn't, the lines don't line up
20:09:38 <elliott> ais523_: my current thoughts on these: "it probably isn't copied, but even if it is, this shouldn't be copyrightable at all..."
20:09:48 <ais523_> oh, it's monospaced, but the tab isn't an integral number of characters
20:09:58 * ais523_ wonders what effect that has on elliott's tabs theory
20:10:02 <elliott> ais523_: my eyes hurt
20:10:09 <elliott> my theory is that i hate oracle
20:10:30 <fizzie> The indents look 4-chars here, but I haven't looked very closely.
20:10:46 <elliott> ais523_: heh, I just realised that my DOS wouldn't have a simple way to support universal piping
20:10:48 <elliott> and redirection
20:10:56 <elliott> because you'd basically rely on the shell to provide putchar and the like
20:11:17 <fizzie> Uh, or more correctly: the indents look like four characters in the right column, but not in the left one.
20:11:26 <ais523_> to me, the property names are looking more similar than I'd expect them to be by chance, but the code isn't
20:11:35 <ais523_> OTOH, you'd expect Oracle to pick the best example they could
20:11:41 <elliott> ais523_: the property names are probably mandated by Java
20:11:57 <ais523_> they're private, but I suppose they might be anyway
20:11:59 <elliott> ais523_: I mean, the library is standardised...
20:12:04 <elliott> ais523_: well, they're probably listed in the spec
20:12:08 <elliott> even if not mandated
20:12:43 <fizzie> Anything that has a directly named public getter will at least cause identical names for the underlying private properties.
20:12:48 <elliott> anyone know a nice 86 assembler? 386 or 8086 or whatever, i don't care :p
20:13:00 <elliott> nice and simple. also, simple
20:13:07 <elliott> i don't need executable format support
20:13:49 <fizzie> There was a rather large x86 assembler comparison article somewhere, but I didn't save the URL anywhere.
20:13:53 <fizzie> I'd just go with NASM.
20:14:15 <fizzie> It's not like it's slow, and you can just ignore the features you don't like; but if for ideological reasons that's no go...
20:14:28 <elliott> fizzie: NASM? *So* Linux.
20:14:30 <elliott> I'm totally DOSing here.
20:14:39 <elliott> Maybe I'll use FASM.
20:14:56 <elliott> That's very DOSy.
20:15:19 <elliott> <Vorpal> gas!
20:15:25 <fizzie> NASM runs in DOS just fine; it's what I used back then, there.
20:15:29 <ais523_> elliott: use the Borland assembler
20:15:32 <ais523_> no, better
20:15:35 <elliott> ais523_: no :P
20:15:36 <ais523_> use DEBUG.EXE
20:15:41 <elliott> fizzie: No, but, I want DOS philosophy!
20:15:45 <elliott> ais523_: does that even have mnemonics?
20:15:48 <ais523_> you can write asm straight into memory, then save the resulting executable as a file
20:15:54 <ais523_> it does indeed
20:15:54 <fizzie> Well, I have done a bit of TASM, but that's really not simple.
20:16:00 <ais523_> it's how I've written ASM before now
20:16:08 <fizzie> (Also commercial, of course.)
20:16:13 <ais523_> it's a pain to edit if you want to insert lines, though, you have to move the whole block of code by hand
20:16:20 <ais523_> and even though it has mnemonics, it doesn't have labels
20:16:21 <elliott> ais523_: maybe i'll implement the DEBUG.COM assembly language in C to use on the host
20:16:28 <elliott> ais523_: and then provide my own DEBUG.COM-alike for the OS
20:16:36 <pikhq> I'm reasonably certain you could run DOS 7 on an original IBM PC.
20:16:39 <ais523_> oh, is it a .COM?
20:16:47 <elliott> ais523_: in older DOS :P
20:16:56 <elliott> Someone please tell me FreeDOS supports x86-64.
20:17:12 <pikhq> elliott: DOS programs can be x86-64 only, yes.
20:17:17 <elliott> <3
20:17:38 <pikhq> The OS itself should still run on a basic IBM PC, but programs have no such restriction.
20:17:42 <elliott> ais523_: hmm, does 8086 have the long/far/whatever pointer architecture?
20:17:54 <ais523_> elliott: indeed
20:18:01 <elliott> ais523_: what's the oldest thing that doesn't? :p
20:18:09 <elliott> I am more than a bit allergic to anything that has more than one kind of pointer.
20:18:13 <ais523_> a long pointer can point to a different segment, a short pointer points to the current segment
20:18:36 <pikhq> elliott: Microprocessor or CPU architecture in general?
20:18:45 <elliott> pikhq: architecture
20:18:48 <ais523_> and a far pointer is identical to a long pointer, except arithmetic operations on it are more expensive to handle overflow from one segment to the 4096th-next correctly
20:18:54 <elliott> but if you give something unhelpful i'll ask microprocessor :)
20:19:01 <elliott> *i'll ask for microprocessor :)
20:19:06 <elliott> ais523_: heh
20:19:24 <pikhq> I'm inclined to go with EDVAC.
20:19:30 <elliott> pikhq: >_<
20:19:32 <elliott> pikhq: 8086-derived
20:19:32 <fizzie> If you mean the first x86 that you can run in a (mostly) non-segmented way, that'd be 386 in protected mode; if you mean something else, then something else.
20:19:42 <pikhq> elliott: Oh.
20:19:47 <elliott> fizzie: But, but I want real mode!
20:19:58 <ais523_> (correct far pointer overflow: 0x0001FFFF + 3 = 0x01010002)
20:20:01 <fizzie> Then you get segments and offsets and silly pointers.
20:20:01 <pikhq> elliott: Counting things the 8086 is derived *from*?
20:20:06 <elliott> pikhq: NO
20:20:10 <elliott> fizzie: ;__;
20:20:11 <ais523_> fizzie: realmode always has both near and far poitners
20:20:14 <elliott> fizzie: But I don't wanna.
20:20:20 <Vorpal> <elliott> <Vorpal> gas! <-- afaik gas doesn't do real-mode
20:20:23 <pikhq> elliott: Butbutbut 4-bit CPU!
20:20:41 <elliott> Vorpal: of course it does, how do you think you get into protected mode?
20:20:44 <Vorpal> pikhq, which one was that?
20:20:53 <pikhq> Vorpal: The Intel 4004.
20:20:59 <Vorpal> elliott, using some hand written machine instructions
20:21:00 <pikhq> Vorpal: The first microprocessor.
20:21:05 <ais523_> wait, am I muddling far and huge?
20:21:15 <elliott> Vorpal: ... no you don't
20:21:19 <Vorpal> pikhq, 4 bits... that is a very limited address space
20:21:22 <fizzie> Vorpal: Gas has a .code16 directive nowadays; I don't think it's very real-mode-oriented, though.
20:21:24 <Vorpal> elliott, okay
20:21:24 <elliott> Vorpal: you can easily get into protected mode with gas
20:21:30 <elliott> er
20:21:31 <ais523_> anyway, there are three sorts of pointer (16-bit, "32"-bit, "32"-bit with arithmetic corrected), the names keep changing around inconsistently
20:21:31 <elliott> i think
20:21:34 <elliott> i forget :D
20:21:49 <pikhq> elliott: gas uses a bizarre hack for that.
20:21:54 <elliott> ais523_: bleargh.
20:22:08 <elliott> "MS-DOS Debug can only access conventional memory,[2] which is the first 640K in an IBM PC."
20:22:08 <elliott> :D
20:22:22 <ais523_> elliott: 10 segments is all you need!
20:22:28 <elliott> ais523_: the author of DEBUG also wrote EDLIN <3
20:22:37 <pikhq> Vorpal: Yes, it is very very limited.
20:22:44 <elliott> oh, and he wrote 86-DOS :P
20:22:47 <ais523_> elliott: they're very similar programs
20:23:05 <Vorpal> pikhq, did it have banks or such?
20:23:14 <pikhq> Vorpal: It was a Harvard architecture.
20:23:24 <elliott> ais523_: now he races rally cars, probably to forget about DOS
20:23:30 <Vorpal> pikhq, only helps a tiny bit
20:24:02 <pikhq> Vorpal: Aaah. It had a wider address space, but 4-bit words.
20:24:22 <elliott> Vorpal: it was the first (commercial) microprocessor
20:24:26 <elliott> Vorpal: and also the first CPU on a chip
20:24:30 <fizzie> I don't think very many "8-bit" processors go with an 8-bit address space either.
20:24:43 <elliott> Vorpal: 10 μm, 740 kHz
20:24:47 <elliott> BCD
20:24:58 <elliott> http://upload.wikimedia.org/wikipedia/commons/a/a7/KL_National_INS4004.jpg
20:24:58 <elliott> pic
20:25:17 <Vorpal> hm
20:25:24 <Vorpal> elliott, why BCD
20:25:30 <elliott> Vorpal: it was common
20:25:35 <elliott> ubiquitous, even
20:25:45 <fizzie> Anyway, what's this about a bizarre hack for going to protected mode with Gas? At least Linux header.S looks like regular 16-bit code with .code16, and I don't see why you couldn't continue all the way up to protected mode. (It does do the horrible C + gcc + .code16gcc trick, but that's beside the point here.)
20:25:47 <Vorpal> elliott, yes but the space waste back then was utterly silly
20:26:42 <fizzie> Vorpal: It doesn't waste space if you just make all the corresponding number range limits smaller.
20:26:56 <fizzie> (And of course there's the trivial conversion to-fro decimal.)
20:27:00 <elliott> So is any retro hackery doomed to segment hell?
20:27:07 <elliott> I don't understand segments and I don't want to.
20:27:16 <fizzie> They're not *that* strange.
20:27:18 <pikhq> elliott: Segments are actually incredibly simple.
20:27:23 <elliott> Yes, but still!
20:27:27 <elliott> Okay fine, explain segments to me in a non-stupid way.
20:27:28 <elliott> :P
20:27:33 <fizzie> Just remember that 0000:0010 is also 0001:0000, that's all.
20:27:40 <Vorpal> fizzie, what
20:28:02 <elliott> ais523_: http://upload.wikimedia.org/wikipedia/commons/4/4a/SealGUI.png 32-bit dos gui
20:28:04 <ais523_> it's very simple, you have 8 hex digits
20:28:06 <elliott> l o l
20:28:08 <ais523_> the last 4 is the number of 1s
20:28:08 <Vorpal> fizzie, overlapping segments?
20:28:14 <ais523_> the first 4 is the number of 16s
20:28:16 <fizzie> Vorpal: That's what x86 real mode is.
20:28:22 <elliott> ais523_: impressive (awful)
20:28:34 <elliott> wow
20:28:35 <fizzie> Vorpal: (segment << 4) + offset, with 16-bit segments and offsets.
20:28:40 <elliott> ais523_: http://upload.wikimedia.org/wikipedia/en/c/c1/QubeOS.png 32-bit multitasking FreeDOS GUI
20:28:58 <Vorpal> fizzie, aaah
20:29:16 <elliott> pikhq: Wait. IDE routines wouldn't need to worry about segments. Nor would FAT routines.
20:29:23 <elliott> pikhq: Would even COM loading need to worry about it?
20:29:49 <pikhq> elliott: In effect, the 8086 has a 20-bit address space. As an optimization, you can use only 16 bits of address, with the rest coming from the segment register. The normal address is achieved from (segment << 4) + 16-bit-address.
20:29:50 <fizzie> elliott: It does have the nice feature that two far pointers to the same byte in memory may compare unequal if they use a different equivalent representation.
20:30:12 <elliott> pikhq: is the segment register initialised to anything?
20:30:15 <pikhq> elliott: As a de-optimisation, when you want a larger pointer, instead of just using a normal address you just give the segment in addition to the 16-bit address.
20:30:23 <fizzie> elliott: If you're willing to restrict yourself to 64k of memory, you don't need to consider segments at all.
20:30:29 <pikhq> elliott: At what point?
20:30:36 <pikhq> elliott: By DOS? By the BIOS? By the CPU?
20:30:38 <Vorpal> fizzie, some mmap() tricks could have that effect on a normal OS as well
20:30:39 <elliott> pikhq: OS load
20:30:43 <elliott> pikhq: my OS load, taht is
20:30:44 <elliott> *that
20:30:45 <elliott> fizzie: Well, COMs are 64k minus a few bytes, right?
20:30:55 <pikhq> elliott: Pretty sure the segment registers are 0.
20:31:01 <ais523_> elliott: the entire COM is blitted into memory, in a single segment
20:31:05 <pikhq> elliott: There's a code and a data segment register.
20:31:06 <elliott> ais523_: right
20:31:10 <ais523_> and cs, ds, es, ss are all set to that segment
20:31:11 <elliott> so I don't even need to worry about segments :)
20:31:16 <elliott> really
20:31:21 <ais523_> it starts at 0x100 in the segment
20:31:27 <elliott> ais523_: hmm, did people run out of .COM space often?
20:31:31 <ais523_> the first 0x100 is used for CP/M compatibility
20:31:32 <pikhq> Oh, and a stack segment register and a I-don't-remember register...
20:31:39 <ais523_> elliott: I did on occasion
20:31:46 <fizzie> "Extra segment."
20:31:46 <elliott> ais523_: did people use the first 0x100 bytes?
20:31:59 <ais523_> probably, so long as they didn't need the CP/M emulation
20:32:01 <elliott> ais523_: i mean, i have less than zero CP/M compatibility :)
20:32:05 <pikhq> elliott: There's a reason that .EXE was invented.
20:32:12 <elliott> ais523_: and DOS compatibility for that matter
20:32:14 <ais523_> here's a bit of amazingness, if you have a COM file that is just a RET command
20:32:16 <fizzie> (At least I've always assumed E in ES is for Extra.)
20:32:23 <elliott> ais523_: so I'm just wondering if loading stuff at 0 would be ok for programs
20:32:26 <ais523_> running it pops the 0 that DOS adds to the stack, so jumps to location 0
20:32:26 <elliott> i mean, not those programs
20:32:28 <elliott> but new prorgams
20:32:29 <elliott> *programs
20:32:32 <elliott> does it restrict any hackery?
20:32:35 <elliott> pikhq: yeah -- bloated software :D
20:32:37 <ais523_> then that contains the INT command to exit the program
20:32:50 <elliott> ais523_: i... love that
20:32:54 <ais523_> elliott: well, the program has to load at 0x100 in order for jumps to hit the right location
20:32:59 <ais523_> elliott: so do I
20:33:00 <elliott> ais523_: wait, why would DOS push0 to the stack?
20:33:05 <elliott> <ais523_> elliott: well, the program has to load at 0x100 in order for jumps to hit the right location <-- yes, but i have no compatibility
20:33:06 <ais523_> elliott: because otherwise that wouldn't work
20:33:12 <elliott> i'm just asking if it opened up any fun trickery
20:33:13 <elliott> *push 0
20:33:16 <elliott> ais523_: for that sole reason? :D
20:33:19 <ais523_> ye[
20:33:21 <ais523_> *yep
20:33:31 <ais523_> I exploited that 0 in SUUDA
20:33:40 <Vorpal> ais523_, suuda?
20:33:40 <elliott> ais523_: hmm, DOS couldn't run a program inside another program, right?
20:33:45 <elliott> so exiting a program was basically "jmp shell"
20:33:45 <ais523_> blanking registers by popping it into them, then pushing it back
20:33:46 <elliott> no?
20:33:55 <ais523_> elliott: it could system() style, but not fork() style
20:34:02 <elliott> ais523_: hm, really? interesting
20:34:05 <elliott> *hmm,
20:34:06 <ais523_> just by picking an unused segment and putting it there
20:34:11 <fizzie> DOS has a separate "terminate and stay resident" thing, though.
20:34:12 <ais523_> DOS handled adjusting the segment registers
20:34:15 <elliott> ais523_: what if you ran out of segments? :D
20:34:17 <elliott> fizzie: fuck that shit :)
20:34:20 <ais523_> Vorpal: self uu-decoding applications
20:34:24 <Vorpal> ais523_, ah
20:34:27 <elliott> ais523_: surely that was in a relatively recent DOS
20:34:31 <ais523_> much like the concept of self-unzipping applications
20:34:38 <elliott> ais523_: not in DOS 1, 2
20:34:43 <ais523_> elliott: well, I wrote it with reference to a manual that covered DOS 1,2,3
20:34:49 <elliott> ais523_: ugh
20:34:51 <ais523_> and I think it was a DOS 1 compatible prorgam
20:34:53 <ais523_> *program
20:34:56 <elliott> ais523_: i'm trying to get a 3-page plus CMD os here!
20:35:10 <Vorpal> elliott, don't go for DOS then
20:35:17 <elliott> Vorpal: well i'm not implementing DOS
20:35:19 <elliott> I'm implementing DOS
20:35:24 <Vorpal> XD
20:35:28 <elliott> the Dork's/Dumbfounding Operating System
20:35:34 <ais523_> if you want existing .COM files to run, load them at 0x100 just so that hardcoded JMP statements go to the right locations
20:35:39 <elliott> ais523_: hmm, question: what does 0x4D 0x5A do in x86?
20:35:42 <elliott> as machine instructions
20:35:44 <elliott> >:D
20:35:54 <elliott> ais523_: existing COM files won't run, they'll try all sorts of silly interrupts
20:36:05 <pikhq> elliott: Well, newer DOSes might well try loading the program into high memory (ZOMG 32BIT)...
20:36:24 <ais523_> elliott: IIRC, crashes the program
20:36:26 <elliott> pikhq: no no no no no
20:36:31 <fizzie> elliott: dec bp, pop dx.
20:36:34 <elliott> ais523_: darn
20:36:35 <ais523_> or at least, something implausible and undefined
20:36:38 <elliott> ais523_: (it's the header for DOS executables)
20:36:47 <elliott> MZ, initials of Mark Zbikowski, designer
20:36:49 <ais523_> I know, part of the reason it was picked was that nobody was likely to have used it deliberately
20:36:53 <elliott> right
20:36:55 <ais523_> the other reason was that it was the person's initials
20:37:01 <ais523_> but they happened to not be particularly meaningful
20:37:07 <elliott> ais523_: what about EH? :p
20:37:15 * ais523_ remembers that SUUDA executables always started XP_W
20:37:19 <ais523_> elliott: disassemble it, see what it does
20:37:25 <elliott> ais523_: with *what*?
20:37:28 <fizzie> elliott: inc bp, dec ax.
20:37:30 <ais523_> most capital letters are stack manipulation commands, IIRC
20:37:33 <elliott> Does DOSBox have DEBUG?
20:37:39 <elliott> fizzie: Useful at all? :p
20:37:43 <Vorpal> elliott, you could use gdb or objdump?
20:37:47 <ais523_> not by default, you can run it but it doesn't come with it
20:37:59 <elliott> Vorpal: haha
20:38:01 <ais523_> really, there are loads of disassemblers around, thoguh
20:38:03 <fizzie> elliott: Probably not at the beginning of a program, no.
20:38:10 <Vorpal> elliott, well objdump would work just fine
20:38:11 <ais523_> just echo -n EH > eh.com, then disassemble it
20:38:20 <elliott> Vorpal: if you like using objdump...
20:38:28 <Vorpal> elliott, nothing wrong with it?
20:38:33 <fizzie> fis@eris:~$ echo -n EH | ndisasm /dev/stdin
20:38:33 <fizzie> 00000000 45 inc bp
20:38:33 <fizzie> 00000001 48 dec ax
20:38:35 <fizzie> Like that.
20:38:43 <elliott> I could sprunge objump --help now, but I won't.
20:38:45 <elliott> fizzie: bah :P
20:38:50 -!- augur has quit (Ping timeout: 264 seconds).
20:39:00 <ais523_> elliott: the trick with objdump is, you only use one of the infinity options at a time
20:39:05 * elliott tries to convince objdump to read COMs
20:39:07 <Vorpal> <elliott> I could sprunge objump --help now, but I won't. <-- I know it, could be better, but nothing majorly wrong
20:39:07 <fizzie> (In related news, "disassemble stdin" is a bit silly command.)
20:39:13 <ais523_> so it doesn't take too much scanning to figure out the one you need
20:39:26 <elliott> it thinks eh.com is truncated, so clearly i need to inform it of the format
20:39:31 <ais523_> hmm, inc bp dec ax is just changing uninitialised registers to other uninitialised values
20:39:52 <Vorpal> elliott, well yes
20:39:55 <ais523_> (actually, I wouldn't be surprised if bp at least was initialised explicitly, and ax had a set value by coincidence due to the implementation of invoking programs)
20:40:01 <elliott> Vorpal: care to tell me how? :p
20:40:07 <Vorpal> elliott, sure
20:40:23 * elliott wonders how Vorpal interpreted that
20:40:41 <elliott> hey, dubya wrote a book!
20:41:03 <fizzie> elliott: http://p.zem.fi/objdump-disasm
20:41:05 <Vorpal> elliott, -b and -m iirc
20:41:24 <elliott> Vorpal: my objdump has neither option
20:41:28 <fizzie> I'm not sure how to make it treat it as 16-bit code, though.
20:41:35 <elliott> oh wait
20:41:35 <elliott> it does
20:41:43 <fizzie> (Also it can't read /dev/stdin.)
20:41:50 <fizzie> (It's "not an ordinary file".)
20:41:52 <elliott> ok, now how do I get it to output asm code in the sane syntax
20:41:53 <elliott> :)
20:41:53 <Vorpal> objdump -m i8086 -b binary -D tmp.com
20:41:54 <ais523_> elliott: objdump -i gives a list of supported input formats, but none of them seem to be DOS .COM, at least on this Linux system
20:41:56 <Vorpal> elliott, that works for me
20:41:57 <elliott> fizzie: i love how gnu tools do that
20:42:03 <elliott> "it's not an ordinary file! aieee!"
20:42:06 <elliott> ais523_: well, .COM has no format
20:42:13 <elliott> Vorpal: still outputs in the bad format
20:42:17 <Vorpal> ais523_, .com = binary
20:42:21 <Vorpal> elliott, what bad format?
20:42:25 <elliott> Vorpal: AT&T
20:42:26 <ais523_> Vorpal says "binary", that seems like a plausible name (this objdump doesn't support it)
20:42:27 <fizzie> elliott: "-M intel"
20:42:44 * elliott tries to remove the other cruft it outputs, gives up, fizzie: what was that one you used called?
20:42:52 <fizzie> ais523_: "-b binary -m i386 -M intel" gives intel-syntax 32-bit x86 asm out of a binary file.
20:42:54 <Phantom_Hoover> What language is Sgeo in love with right now?
20:42:58 <Vorpal> elliott, --help and see -M
20:42:59 <elliott> Phantom_Hoover: undecided
20:43:03 <fizzie> elliott: ndisasm, it's part of nasm.
20:43:04 <elliott> Vorpal: i used --help.
20:43:09 <Vorpal> elliott, supposedly there is -M intel-mnemonic
20:43:12 * Vorpal tries
20:43:13 <elliott> ais523_: do you think it'd be possible to write a DOS-ish kernel entirely with printable? :)
20:43:20 <fizzie> Vorpal: I've said "-M intel" twice already.
20:43:20 <Vorpal> yep
20:43:29 <ais523_> elliott: obviously, SUUDA made /arbitrary executables/ printable
20:43:29 <Vorpal> fizzie, he presumably ignores you
20:43:31 <fizzie> Well, thrice now.
20:43:35 <elliott> lol
20:43:41 <elliott> i like how Vorpal thinks fizzie was saying i didn't notice it
20:43:47 <elliott> rather than fizzie saying that Vorpal didn't notice it
20:43:53 <Phantom_Hoover> fizzie, ndisasm is helpful if you want to bother tinkering with offsets and a complete lack of knowledge of the object structure.
20:43:56 <ais523_> actually, I used it to make a simple text-printing loop with appended data printable
20:43:59 <ais523_> to make it true uudecoding
20:44:00 <elliott> also: assuming i'd /ignore fizzie, despite him being high on the list of coolest and least annoying people here
20:44:11 <Vorpal> elliott, I didn't notice it either. but nor did you I think
20:44:19 <elliott> <ais523_> elliott: obviously, SUUDA made /arbitrary executables/ printable
20:44:24 <elliott> ais523_: does it work without an OS underneath, though?
20:44:27 <ais523_> (and it wasn't really uucode; to keep things simple, it operated via a 6-bits-2-bits encoding)
20:44:28 <elliott> you'd need that for a kernel
20:44:30 <fizzie> Phantom_Hoover: Well, that's exactly what is wanted here: direct disassembly of sequences of bytes.
20:44:31 <elliott> Vorpal: I did
20:44:32 <elliott> Vorpal: I used it
20:44:37 <Vorpal> elliott, ok
20:44:38 <elliott> I saw no reason to reply, you just kept going on.
20:44:42 <ais523_> elliott: it would have done, there were no system calls except the actual output of the letters
20:44:46 <ais523_> and that bit could easily have been changed
20:44:48 <elliott> fizzie: ndisasm also accepts -
20:44:51 <ais523_> it was just pure 8086ism
20:44:52 <Phantom_Hoover> fizzie, ah.
20:44:54 <elliott> ais523_: Cool.
20:45:01 <Phantom_Hoover> elliott, what are you up to?
20:45:03 <elliott> fizzie: also ndisasm <(echo -n foo) :P
20:45:04 <elliott> Phantom_Hoover: DOS!
20:45:11 <Vorpal> ais523_, got a link to SUUDA?
20:45:12 <Vorpal> err
20:45:17 <Vorpal> yeah that was the spelling
20:45:20 <ais523_> Vorpal: not on this computer
20:45:30 <ais523_> let me see if the wireless is working on the other one yet
20:45:32 <elliott> fizzie: now all I need is the documentation of a mnemonic to appear to the right of the diassembly :)
20:45:41 <Vorpal> ais523_, you could easily type it over from there :P
20:45:48 <ais523_> I was going to
20:46:20 <Vorpal> elliott, download intel pdfs?
20:46:28 <ais523_> really, I should have designed the thing to ignore newlines
20:46:31 <elliott> Vorpal: those are huge and confusing, i just want a one-line summary
20:46:32 <elliott> e.g.
20:46:32 <ais523_> but I didn't
20:46:33 <Vorpal> elliott, or AMD, they have better docs
20:46:38 <elliott> mov a, b -- move b to a
20:46:38 <Vorpal> elliott, AMD docs are better
20:46:44 <elliott> jmp a -- jump to a
20:46:46 <elliott> of course i know those
20:46:48 <elliott> but other ones
20:46:52 <Vorpal> <elliott> mov a, b -- move b to a
20:46:53 <Vorpal> um
20:46:55 <ais523_> (note: it's self-modifying code, because none of the jump instructions happen to be printable)
20:46:55 <Vorpal> and you
20:46:57 <Vorpal> complain
20:47:01 <Phantom_Hoover> elliott, nasm /used/ to have a fantastic one in appendix B of the docs.
20:47:01 <Vorpal> about AT&T syntax
20:47:07 <Vorpal> elliott, you FAIL :P
20:47:10 <elliott> ffff it was a typo
20:47:11 <elliott> shut up
20:47:25 <elliott> Vorpal: wait what?:
20:47:27 <elliott> that's intel
20:47:31 <elliott> mov x, y -- x = y
20:47:34 <elliott> i.e. move y to x
20:47:36 <elliott> *you* fail
20:47:37 <elliott> s/:$//
20:47:38 <Vorpal> elliott, yes but see the comment
20:47:40 <cpressey> < elliott> I'm totally DOSing here.
20:47:41 <elliott> Phantom_Hoover: used to?
20:47:42 <Phantom_Hoover> But they stripped it out at some point around when they added 64-bit support.
20:47:44 <Vorpal> elliott, you wrote "move b to a"
20:47:44 <cpressey> then use SP\ASM
20:47:48 <elliott> Vorpal: indeed i did
20:47:49 <Vorpal> elliott, that is the AT&T order
20:47:51 <elliott> cpressey: wat
20:47:54 <ais523_> hmm, it's a bit long to retype
20:47:55 <elliott> Vorpal: no it isn't
20:48:01 <ais523_> really, I should have written it in asm
20:48:03 <cpressey> which is an 8-line BAT file that I wrote, which calls DEBUG.COM
20:48:09 <elliott> in Intel, "mov a, b" is "a = b"
20:48:13 <elliott> is "move b to a"
20:48:18 <Vorpal> yes
20:48:20 <Phantom_Hoover> It used to be complete enough that you could basically hand-assemble with only appendix B, but now it just gives a table of instructions with no documentation.
20:48:20 <elliott> cpressey: lawl
20:48:26 <Vorpal> elliott, but the comment is written as AT&T order
20:48:30 <Vorpal> elliott, the comment itself
20:48:32 <elliott> Vorpal: ...no it isn't
20:48:37 <cpressey> elliott: http://catseye.tc/projects/sp_asm-1998.0716.zip
20:48:40 <cpressey> note: might not be 8 lines
20:48:42 <cpressey> i forget
20:48:45 <cpressey> it's short, is the point
20:48:58 <Vorpal> elliott, yes writing it intel order would be "move to a from b"
20:48:59 <elliott> cpressey: you crashed my archiver! /me unzips manually
20:49:05 <elliott> Vorpal: asm != english
20:49:10 <cpressey> excellent</burn>
20:49:12 <cpressey> *burns
20:49:22 <Vorpal> elliott, indeed, and AT&T syntax is closer to English
20:49:41 <elliott> cpressey: non-zipbomb, interesting :p
20:49:49 <elliott> Vorpal: so english is a nice basis for a programming language? enjoy your Perl
20:50:04 <elliott> cpressey: do you strictly have to TYPE THE PROGRAM IN UPPERCASE
20:50:05 <cpressey> what we need is an IRC-friendlier asm syntax, for EgoBat/HackEgo
20:50:05 <Vorpal> elliott, I prefer Plain English ;)
20:50:16 <cpressey> elliott: not strictly but THIS IS DOS SO YES
20:50:16 <elliott> cpressey: it already does *gas magick*
20:50:19 <elliott> just s/;/\n/ :P
20:50:25 <Phantom_Hoover> Vorpal, AT&T syntax is such a horrible syntax for multiple reasons which are apparent to all those of us with even a molecule of sense.
20:50:28 <elliott> cpressey: wow, asm.bat is terrible
20:50:35 <ais523_> but here's a printable Hello, World: XP_W^VH%35%DCPYXPH%=5%=CP[]UM#(UX%??t&* * * * ZR 1() !GFF=\ouU0_0<0^3L1L0^292L1^1I2L0Y1D1\3R3P0:031101013A0D0o313p21030D1J2@@A5
20:50:39 <elliott> cpressey: it prints even when it works! that's so ununix! ;)
20:50:40 <ais523_> I hope I typed that correctly...
20:50:49 <elliott> ais523_: if you didn't, nobody will begrudge you, dude :P
20:50:59 <ais523_> the A5 at the end is my initials
20:51:04 <elliott> heh
20:51:09 <elliott> ais523_: is it there for any reason?
20:51:22 <ais523_> yep, needed to pad one byte to make room for the initial stack even if memory was almost full
20:51:30 <ais523_> so that it crashes noisly rather than silently
20:51:35 <elliott> cpressey: is empty.com one of those files that existed in every directory?
20:51:35 <ais523_> the @@ before that is a string terminator
20:51:40 <elliott> oh, no, it comes with spasm
20:51:47 <cpressey> elliott: iirc empty.com is required for it to work
20:51:48 <elliott> it's just zeroes, you zany flitwick
20:51:53 <cpressey> i think shelta has something like that
20:51:55 <cpressey> too
20:51:55 <elliott> um does qemu run dos?
20:51:57 <elliott> probably
20:52:00 <elliott> anyone have a dos disk for me?
20:52:03 <elliott> :p
20:52:07 <Phantom_Hoover> FreeDOS?
20:52:11 <elliott> <ais523_> but that's *illegal!*
20:52:12 <elliott> Phantom_Hoover: boring
20:52:18 <cpressey> oh yeah. empty.com is the "buffer" into which the binary is written
20:52:27 <elliott> cpressey: nope
20:52:30 <elliott> cpressey: it runs debug on the new com
20:52:40 <elliott> cpressey: basically, your program makes an empty com file
20:52:42 <ais523_> did mistype it, I just compared hashes
20:52:43 <cpressey> well, maybe it copies it to use it as a base
20:52:45 <elliott> then does debug com <spa >log
20:52:51 <elliott> why it doesn't just print out the log is beyond me
20:53:04 <elliott> ais523_: heh
20:53:07 <cpressey> there must be *some* reason (note: this is fallacious)
20:53:26 <elliott> cpressey: it does, but does debug really require a padded executable?
20:53:28 <elliott> that would be absurd
20:53:33 <elliott> ais523_: quick, what was the last great DOS?
20:54:11 <ais523_> no idea
20:54:19 <elliott> cpressey: quick, what was the last great DOS?
20:54:37 <ais523_> elliott: you could try in DOSBox
20:54:43 <ais523_> and hopefully find the typo
20:54:52 <elliott> ais523_: i could, but how boring is that? also i was going to try debug, not your silly thing, but ok :P
20:55:10 <fizzie> DOS 6.22 was pretty popular; it's the last pre-win9x one.
20:55:23 <elliott> fizzie: "the last X" is rarely "the last great X"
20:55:35 <fizzie> I don't think it's ever been especially "great".
20:55:36 <Vorpal> fizzie, why MS-DOS
20:55:44 <elliott> DOS IS THE GREATEST
20:55:52 <cpressey> elliott: the last great DOS was Windows 3.11
20:55:53 <elliott> by which i mean my dos ofc
20:55:58 <elliott> cpressey: my other toyota is a car
20:56:03 <elliott> ...wow, that was surprisingly awesome
20:56:17 <fizzie> Well, DOS Shell appeared in 4.0, and everyone agrees that it's very awesome.
20:56:24 <elliott> ais523_: for a typo'd program, it sure executes properly
20:56:31 <elliott> ais523_: "Hello, world!"
20:56:45 <elliott> fizzie: what definition of awesome? :P
20:56:58 <Vorpal> fizzie, what did DOS use before that?
20:56:58 <ais523_> oh, I did type it right
20:57:06 <elliott> ais523_: newline problem when hashing?
20:57:08 <ais523_> stupid tcsh was stripping exclamation marks inside single-quoted strings
20:57:09 <Vorpal> fizzie, why not PC-DOS or such?
20:57:20 <elliott> ais523_: lawl tcsh
20:57:23 <ais523_> that doesn't even make sense, to anyone who knows how UNIX shells should work...
20:57:26 <ais523_> elliott: not my computer...
20:57:50 <elliott> ais523_: in its defence, try [[echo "!x"]] in bash sometime
20:57:53 <elliott> ok, that's double-quoted, but still
20:58:07 <elliott> ais523_: also: note how it gets expanded *in the freaking command history*
20:58:09 <Vorpal> elliott, bash doesn't do that in single quotes!
20:58:12 <elliott> ais523_: so that you can't fix it
20:58:13 <Vorpal> and you can turn it off
20:58:14 <elliott> Vorpal: yes, but still...
20:58:36 <ais523_> anyway, all this needs now is an unzip algorithm and a shorter frontend
20:58:44 <ais523_> and it might actually be a useful method of packaging DOS executables
20:59:03 <elliott> things that dosbox fails at: directories changing while it's running
20:59:11 <ais523_> elliott: indeed, in multiple ways
20:59:12 <elliott> it doesn't notice new files are there even if you run a program...
20:59:16 <ais523_> it causes crazy timestamp skew
20:59:20 <elliott> (such as "hello2" just now)
20:59:27 <ais523_> because it's not running fullspeed, so its clock gets out of synch with the filesystem around it
20:59:34 <elliott> ha
20:59:46 <elliott> ais523_: i think dosbox is pretty badly designed
20:59:47 <Vorpal> elliott, why not use dosemu instead
20:59:53 <elliott> Vorpal: who knows if that will work?
20:59:56 <ais523_> elliott: so do I
21:00:01 <Vorpal> elliott, well it might
21:00:07 <ais523_> it does work, but with so many UI frustrations you wish for something better
21:00:14 * elliott tries dosemu
21:00:37 <elliott> ais523_: I used to use it to play Monkey Island and ScummVM is so much better it isn't even funny.
21:00:51 <elliott> cool, dosemu uses freedos.
21:00:52 <ais523_> elliott: I use it for compiling C-ITNERCAL
21:00:59 <elliott> eww it's so fancy and bad
21:01:00 <ais523_> *INTERCAL
21:01:06 <elliott> lol
21:01:12 <elliott> alt-tabbing into it makes it press the tab key in the dos
21:01:13 <elliott> not joking
21:01:17 <Vorpal> ais523_, awesome typo
21:01:23 <ais523_> Vorpal: not really
21:01:26 <elliott> Vorpal: not really
21:01:30 <ais523_> elliott: snap
21:01:31 <Vorpal> ais523_, way it aloud
21:01:35 <Vorpal> elliott, no need to echo him
21:01:41 <ais523_> Vorpal: it's still not particularly awesome
21:01:44 <elliott> ais523_: i only typed those exact words because you did, tbh
21:01:47 <ais523_> just hard to pronounce
21:01:57 <elliott> sometimes Vorpal needs a nuclear holocaust of "not really"
21:02:00 <cpressey> |goto print It's not hard to pronounce ITNERCAL
21:02:00 <storkbot> cpressey: It's not hard to pronounce ITNERCAL
21:02:11 <ais523_> |goto?
21:02:11 <storkbot> ais523_: omg u errored teh syntax!!1!
21:02:12 <elliott> |goto archaeologists
21:02:12 <storkbot> elliott: omg u errored teh syntax!!1!
21:02:17 <elliott> |goto print death
21:02:17 <storkbot> elliott: death
21:02:18 <elliott> |goto quit
21:02:18 <storkbot> elliott: ?SYNTAX ERROR
21:02:22 <elliott> I DISLIKE THIS BOT
21:02:35 <ais523_> hmm, what lang is ?SYNTAX ERROR from?
21:02:36 <ais523_> Forth?
21:02:40 <cpressey> ais523_: BASIC
21:02:44 <elliott> omg, i just had the best
21:02:45 <elliott> best
21:02:46 <elliott> ever
21:02:46 <ais523_> which dialect?
21:02:50 <elliott> hackego, right
21:02:51 <elliott> but in DOS
21:02:53 <elliott> discuss.
21:02:54 <cpressey> BASIC and FORTRAN will always be capitalized in my heart.
21:03:03 <cpressey> ais523_: Um... Applesoft, at least
21:03:13 <ais523_> there are hundreds, maybe thousands
21:03:16 <ais523_> so I have to ask
21:03:21 <ais523_> I grew up with BBC Basic
21:03:24 <elliott> cpressey: http://en.wikipedia.org/wiki/Fortran#Code_examples the reasonability of this code example actually scares me
21:03:27 <cpressey> I'm pretty sure not just Applesoft
21:03:28 <ais523_> and its beautiful error message "Mistake"
21:03:30 <elliott> it manages to look nicer than C
21:03:39 <ais523_> which actually meant something along the lines of "Unknown identifier"
21:03:42 <elliott> ais523_: i approve
21:03:49 <elliott> ais523_: it implicitly makes all bugs into features
21:03:55 <cpressey> ais523_: I... may have to steal that one
21:04:01 * elliott looks at http://en.wikipedia.org/wiki/Fortran#Code_examples again, shivers
21:04:04 <elliott> FORTRAN IS MEANT TO SUCK
21:04:07 <ais523_> it had others too, but that was the most memorable one
21:04:20 <elliott> although i'm not exactly sure what "write (*,'(a,g12.4)')" means
21:04:28 <elliott> oh, formatting specifier
21:04:29 <elliott> looks like
21:04:44 <elliott> cpressey: I like how spasm programs need to end with Q
21:05:09 <Vorpal> elliott, I find " real, dimension(:), allocatable :: points" a bit weird but apart from that it is indeed very straight-forward
21:05:12 <cpressey> eventually I'd like you to be able to configure the error messages storkbot'll send you, so you can reign in the annoyance
21:05:37 <cpressey> |~/errmsgs=silent
21:05:37 <storkbot> cpressey: silent
21:05:43 <elliott> Vorpal: not really
21:05:46 <cpressey> doesn't do anything yet obv
21:05:50 <ais523_> elliott: FORTRAN (and the newer variant Fortran) are actually dying nowadays, due to C99 replacing them
21:05:55 <elliott> Vorpal: dimension(:) obviously means "1D array" or so
21:05:59 <Vorpal> elliott, hm
21:05:59 <elliott> allocatable obviously means dynamically allocated
21:06:12 <elliott> I'd expect dimension(::) for a 2D array, or something
21:06:13 <ais523_> in fact, at least one (possibly more) C99 feature exists only for the purpose of tempting FORTRAN users to use C99 instead
21:06:18 <elliott> ais523_: *sniff*
21:06:18 <cpressey> elliott: yea SP\ASM is fantastic awful
21:06:20 <elliott> ais523_: (what is it?)
21:06:25 <ais523_> elliott: the restrict keyword
21:06:25 <elliott> cpressey: i dunno, i quite like it, i mean
21:06:29 <elliott> cpressey: you could have documentation after q
21:06:29 <Vorpal> elliott, I didn't say it was unintelligible. Just weird
21:06:34 <elliott> ais523_: ha
21:06:39 <ais523_> compare the C99 types of memcpy and memmove, that makes it pretty obvious what it does
21:06:45 <ais523_> (if you didn't know already)
21:06:50 <elliott> ais523_: BUT THAT'S LIKE OPTIMISATION DUDE
21:06:51 <cpressey> well, "fantasticawful" should maybe be a newspeakish protmanteau for what i mean
21:06:53 <elliott> YOUCAN'T INSULT OUR OPTIMISATION
21:06:54 <ais523_> but it lets C optimise to the level that Fortran was optimising
21:07:02 <elliott> yeah i do not like dosmeu
21:07:04 <elliott> *dosemu
21:07:17 <elliott> cpressey: what dos did you write sp\asm on? :p
21:07:26 <cpressey> elliott: i.... Windows 95
21:07:33 <cpressey> srsly
21:07:35 <elliott> cpressey: Son, I am disappoint.
21:07:40 <cpressey> so like DOS 7.0 technically or something
21:07:49 <ais523_> elliott: fun question: in Fortran, assuming rand() is a function that returns a random float, what's the value of rand()/rand()?
21:07:57 <ais523_> cpressey: 6, IIRC
21:07:57 <elliott> ais523_: 1
21:08:02 <ais523_> elliott: indeed
21:08:09 <elliott> ais523_: if it was something random, you wouldn't have said that :)
21:08:10 <ais523_> textually identical subexpressions are only evaluated once
21:08:14 <elliott> ais523_: i like it
21:08:19 -!- MF_Williams has joined.
21:08:27 <elliott> i mean, i actually do like it, but moreso in a language without rand()
21:08:28 <elliott> hi MF_Williams
21:08:48 -!- augur has joined.
21:08:50 <ais523_> Fortran seems to have a culture of doing unsafe optimisations and making them the users's fault if they break things
21:08:58 <Vorpal> ais523_, hah
21:09:03 <elliott> ha, DOS is up to 8.0
21:09:07 <elliott> and was last released in late 2000
21:09:12 <Vorpal> elliott, heh
21:09:17 <Vorpal> elliott, was 8.0 for ME?
21:09:20 <elliott> Vorpal: presumably with Windows Me
21:09:21 <MF_Williams> hi
21:09:23 <elliott> *Me
21:09:26 <elliott> (to you)
21:09:32 <elliott> MS-DOS 8.0
21:09:32 <Vorpal> elliott, hah a few seconds before you :P
21:09:32 <fizzie> ais523_: I'm tempted to ask about if rand() happens to return 0.
21:09:32 <elliott> Version 8.0 (WinME) - Integrated drivers for faster Windows loading.
21:09:33 <elliott> Version 8.0 (WinXP) - DOS boot disks created by XP and later contain files from WinME. The internal DOS is still 5.0
21:09:39 <MF_Williams> hi
21:09:39 <elliott> Vorpal: still 5.0 inside :)
21:09:46 <ais523_> fizzie: I don't actually know
21:09:46 <elliott> 6 appears to just be 5 + software
21:09:46 <MF_Williams> im new on linux
21:09:50 <MF_Williams> :(
21:09:50 <elliott> Vorpal: but with long file names, fat32, etc.
21:09:55 <elliott> MF_Williams: ok
21:09:59 <elliott> MF_Williams: do you know what this channel is about?
21:10:04 <ais523_> MF_Williams: you'll either get used to it in a while, or use something else, it's not a big issue
21:10:14 <MF_Williams> i got a problem with windows xp pro
21:10:35 <MF_Williams> what?
21:10:40 <elliott> "Below you'll find several different bootable CD images in ISO format for MS-DOS."
21:10:42 <elliott> that's just wrong
21:10:49 <elliott> MF_Williams: this channel is about esoteric programming languages
21:10:54 <elliott> MF_Williams: out of curiosity, what made you think it was about linux?
21:10:59 -!- MF_Williams has quit (Remote host closed the connection).
21:11:06 <ais523_> looks like we'll never know
21:11:11 <elliott> ais523_: DOS3.3.iso (1.6 MB)
21:11:15 <elliott> ais523_: discuss how utterly wrong this is
21:11:21 <ais523_> elliott: that's a very small CD...
21:11:35 <elliott> MS-DOS 4.x            - includes a graphical/mouse interface.
21:11:36 <elliott> Version 4.01 (OEM) - IBM patched Version 4.00 before Microsoft released it.
21:11:37 <elliott> dammit IBM! :p
21:11:47 <fizzie> elliott: You say "and software" so disparagingly: it's not just any software! There's DBLSPACE (well, DRVSPACE after the... unpleasantness), the best way to break a win3.1 installation.
21:11:49 <ais523_> and really, it's the BIOS that determines whether to boot off a floppy or CD
21:11:57 <ais523_> fizzie: oh, I remember that
21:11:57 <elliott> fizzie: bah, 5.0 represent!
21:12:10 <elliott> fizzie: it included the full-screen editor and NO ONLINE HELP/DISK COMPRESSION/ANTIVIRUS
21:12:15 <ais523_> what sort of compression software compresses parts of different files together sometimes, then has editing one of them also edit the other?
21:12:20 <elliott> fizzie: also, 6.21 removed DBLSPACE
21:12:39 <ais523_> the documentation suggested copying and deleting both files in order to un-crosslink them
21:12:43 <fizzie> elliott: Yes, but 6.22 brought back DRVSPACE.
21:12:57 <elliott> fizzie: I don't suppose you have a floppy marked MS-DOS 5.0?
21:13:02 <elliott> On your computertron.
21:13:03 <elliott> Cough./
21:13:06 <elliott> s/\/$//
21:13:28 <ais523_> hmm, I visit microsoft.com with Firefox on Linux, and it advertises IE8 to me
21:13:37 <elliott> never mind, i've found 5.0
21:13:40 <ais523_> and then /that/ page advertises Windows 7 to me, so that I can run IE8
21:13:40 <elliott> on three floppies
21:13:42 <fizzie> I don't think so; I have images of some different 6.x versions. There might be a physical floppy somewhere, but no drives.
21:13:58 <fizzie> 6.22 came on three floppies too, I think.
21:14:00 <elliott> dear xfce: it is not your right to put files in my ~ that do not start with a .
21:14:03 <elliott> cease immediately
21:14:12 <cpressey> i sometimes think people come on irc actually expecting to not converse
21:14:15 <elliott> elliott@dinky:~$ rm -rf Music/ Pictures/ Public/ Templates/ Videos/ Downloads/ Documents/ Desktop/
21:14:24 <elliott> and Desktop magically reappears
21:14:25 <elliott> fuck that
21:15:15 <ais523_> wow, crosslinks are such an ancient problem that even via Google I can't find a description of what they are, any more
21:15:23 <elliott> ais523_: heh
21:15:29 <ais523_> elliott: rename it to lowercase by mistake, I did that once
21:15:46 <elliott> [[Yes, the "Desktop" directory will still be there, but it won't be displayed. You're not forced to use it. Just remove it's contents and it'll be nothing more than an empty directory.]]
21:15:53 <ais523_> Ubuntu decided that as it couldn't find /home/ais523/Desktop, what it should really use instead was /home/ais523/
21:15:56 <elliott> what is it with these morons thinking that ~ means desktop-environment-share?
21:15:58 <ais523_> which was an interesting decision
21:16:08 <elliott> ais523_: interesting, that works!
21:16:18 <elliott> ais523_: next step: mv desktop /dev/null :)
21:16:22 <elliott> hmm, wait
21:16:23 <ais523_> elliott: it blows up on your next boot
21:16:24 <Vorpal> <ais523_> wow, crosslinks are such an ancient problem that even via Google I can't find a description of what they are, any more <-- any idea of what they used to be?
21:16:26 <Vorpal> I don't know
21:16:31 <elliott> if I hardlink Desktop to /dev/null...
21:16:33 <ais523_> Vorpal: a sort of filesystem problem
21:16:37 <elliott> ais523_: ugh, no, Desktop just reappeared
21:16:47 <ais523_> elliott: can you even hardlink to a character special?
21:16:53 <elliott> ln: creating hard link `Desktop/null' => `/dev/null': Invalid cross-device link
21:16:54 <elliott> ais523_: :( seems not
21:16:59 * elliott tries a softlink
21:17:05 <Vorpal> ais523_, any more details?
21:17:07 <ais523_> elliott: you could mknod a /dev/null clone there
21:17:07 <elliott> elliott@dinky:~$ ln -s /dev/null Desktop
21:17:14 <elliott> ais523_: Desktop is a directory, think about this for a second and tell me why
21:17:19 <ais523_> Vorpal: not really; they tended to happen on compressed drives, but I'm not sure why
21:17:31 <Vorpal> ais523_, heh
21:17:40 <ais523_> elliott: are you referring to the fact that you created the link /in/ the directory?
21:17:41 <fizzie> Win95 came on 13 floppies; something like Office came on an absurd number of 'em (>20?).
21:17:48 <elliott> "For info on modifying the XDG_DESKTOP_DIR, see http://freedesktop.org/wiki/Software/xdg-user-dirs .  All of this is set in the default xinitrc for Xfce, located @ /etc/xdg/xfce4/xinitrc"
21:17:49 <elliott> aha
21:17:59 <ais523_> Vorpal: also, you could fix them by hand by copying both linked files, then deleting the originals, then renaming them back into place
21:18:23 <ais523_> this gives some clue as to what the error actually was, but not enough
21:18:35 <fizzie> ais523_: I DBLSPACEd my win3.x system disk, and it made win.com just show the logo, eat a little chunk off the corner, then hang.
21:19:02 <ais523_> aha, here we go: http://cquirke.mvps.org/9x/scandisk.htm#Crosslink
21:19:23 <elliott> ais523_: you put everything in ~/research, right? third-party
21:19:27 <ais523_> I wonder how on earth a filesystem can get into that state in the first place
21:19:29 <ais523_> elliott: yep
21:19:36 <ais523_> unless I modify it so extensively that it's effectively mien
21:19:38 <ais523_> *mine
21:19:45 <elliott> ais523_: "Note: To disable a directory, point it to the homedir."
21:19:45 <ais523_> oh, also, unless it's binary-only
21:19:46 <cheater99> yes!
21:19:51 <elliott> ais523_: yet another example of stellar freedesktop.org design...
21:19:52 <cheater99> i am running modplug tracker under linux
21:19:55 <cheater99> i feel at home again.
21:19:56 <cheater99> -+( a r c a d i a )+-
21:20:01 <cheater99> necros was always good
21:20:05 <elliott> whoops, i forgot to readd my ignores
21:20:09 <ais523_> e.g. Neverwinter Nights is ~/nwn, not ~/research/nwn
21:20:15 <elliott> there we go
21:20:16 <elliott> noise removed
21:20:19 <cheater99> how cute
21:20:20 <elliott> ais523_: heh
21:20:27 <elliott> ais523_: I'd put that in ~/local/neverwinter-nights
21:20:37 <elliott> ais523_: or even /opt/neverwinter-nights
21:20:51 <ais523_> ~/research is for thirdparty source, and binaries I compile myself
21:20:56 <ais523_> but that's still most of the thirdparty stuff I own
21:21:04 <elliott> ais523_: my architecture is a bit different
21:21:07 <fizzie> I tried to run OpenCP for cubic playe nostalgisms, but it kept crashing.
21:21:09 <elliott> ~/saved/YYYY-MM
21:21:11 <elliott> ais523_: everything goes in there
21:21:19 <elliott> or maybe ~/keep, it depends
21:21:26 <elliott> ais523_: everything that i didn't make, that is
21:21:33 <elliott> installation ISOs, source trees...
21:21:53 <ais523_> (a good example: Enigma's at ~/research/enigma/svn/enigma/trunk/..., but my "dot directory" for the development version's at ~/enigma-devel, with the stable version having its config at ~/.enigma)
21:21:54 <elliott> fizzie: Playe!
21:22:04 <fizzie> elliott: Rrrr.
21:22:23 <ais523_> elliott: I also have a separate category ~/research/bulky for things that are very large and don't really need backing up, like gcc tarballs
21:22:37 <ais523_> or my compiletree for clang
21:22:43 <elliott> ais523_: I am still gawping at this: "Note: To disable a directory, point it to the homedir."
21:23:08 <ais523_> elliott: if you do that for the desktop, it just projects your homedir onto the desktop
21:23:32 <elliott> ais523_: i don't have my desktop visible
21:23:44 <elliott> # Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
21:23:44 <elliott> # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
21:23:44 <elliott> # absolute path. No other format is supported.
21:23:45 <elliott> WJW
21:23:47 <elliott> not even real globs
21:24:00 <ais523_> wait, why would your desktop be a glob?
21:24:04 <elliott> ais523_: i mean
21:24:07 <elliott> not even real variable expansion
21:24:11 <elliott> you can't say /foo/$HOME/...
21:24:12 <elliott> it's just a cheat
21:24:30 <ais523_> elliott: probably because the variables aren't sanely known when they need to be
21:24:42 <elliott> heh, you can set xfce to show minimised windows as icons on the desktop
21:24:42 <ais523_> what happens if you change your homedir in /etc/passwd while logged in, I wonder?
21:24:51 <ais523_> elliott: win3.1 did that
21:25:00 <ais523_> in fact, it was the only thing on the desktop, but the backgroudn
21:25:02 <ais523_> *background
21:25:37 <ais523_> the help file advised you used a little 16x16 repeating black and (insert one other color here) pattern as the background; you could use an image, but it might make you run out of memory
21:25:44 <cpressey> homedir on desktop is not all that bad; I used to have that under intrepid
21:25:54 <cpressey> but to force you to do it is weird
21:25:58 <ais523_> you must have a much neater homedir than me
21:26:00 <cheater99> ais523_: new shells will be affected
21:26:12 <elliott> ais523_: why one other colour?
21:26:13 <ais523_> cheater99: hmm, only new login shells?
21:26:16 <cpressey> ais523_: it encourages me to keep it tidy!
21:26:16 <cheater99> ais523_: everything in linux userspace runs under a shell, as i understand.
21:26:19 <ais523_> elliott: you could choose which
21:26:21 <elliott> ais523_: but why?
21:26:24 <elliott> ais523_: checkerboards are ugly :P
21:26:31 <ais523_> cheater99: yep, but shells can choose whether they're login shells or not
21:26:39 <cheater99> ais523_: doesn't matter
21:26:46 <ais523_> really, it rereads $HOME every time?
21:26:49 <cheater99> ais523_: existing shells are existing shells, they have an $HOME
21:26:56 <cheater99> well it's an env variable
21:26:56 <fizzie> There was also a nice pixel-twiddler pattern editor for the background.
21:26:59 <cheater99> why wouldn't it generatei t?
21:27:02 <cheater99> *it
21:27:03 <elliott> |goto print (print x)
21:27:03 <storkbot> elliott: (print x)
21:27:07 <ais523_> hmm, that doesn't make sense, I've done a sudo -u to a different user before now without changing $HOME
21:27:17 <ais523_> so it's inheriting $HOME, not rereading it from /etc/passwd
21:27:30 <ais523_> fizzie: I spent hours with that thing
21:27:30 <elliott> |print (print hi)
21:27:30 <storkbot> elliott: (print hi)
21:27:30 <cheater99> i think you want su
21:27:33 <elliott> |goto goto print (print hi)
21:27:33 <storkbot> elliott: (print hi)
21:27:35 <ais523_> cheater99: no I don't
21:27:41 <ais523_> the account I'm sudoing to doesn't have a password
21:27:43 <elliott> ais523_: why are you feeding the troll?
21:27:45 <ais523_> so su wouldn't accomplish anything
21:27:46 <cheater99> not sure what you're trying to do then
21:27:57 <cheater99> elliott: because syfm!
21:28:03 <ais523_> cheater99: how would you suggest opening a shell as, say, www-data? going via root?
21:28:09 <elliott> (and/or extreme idiot, it doesn't particularly matter which)
21:28:11 <cheater99> ais523_: just a sec
21:28:41 <elliott> cpressey: so let's see, @foo is a server variable?
21:28:45 <ais523_> "sudo -u www-data" bash is the easy method
21:28:51 <cpressey> elliott: yes
21:28:53 <ais523_> umm, "sudo -u www-data bash"
21:28:54 <elliott> |print @foo
21:28:54 <storkbot> elliott: @foo
21:28:54 <cpressey> |@bar
21:28:55 <storkbot> cpressey:
21:29:00 <elliott> ah
21:29:01 <cheater99> # su netdisco
21:29:01 <cheater99> netdisco@laptop:/home$
21:29:03 <elliott> |@foo=3
21:29:03 <storkbot> elliott: 3
21:29:03 <cpressey> |print [@foo]
21:29:03 <storkbot> cpressey: 3
21:29:03 <elliott> |@foo
21:29:04 <storkbot> elliott: 3
21:29:12 <elliott> |@foo=goto print hi
21:29:12 <storkbot> elliott: goto print hi
21:29:12 <ais523_> cheater99: you were root, that's cheating
21:29:18 <elliott> |[@foo]
21:29:18 <storkbot> elliott: hi
21:29:20 <elliott> cpressey: :D
21:29:25 <elliott> |@foo=print [@foo]
21:29:25 <storkbot> elliott: print goto print hi
21:29:27 <cheater99> $ cd ~
21:29:27 <cheater99> netdisco@laptop:~$ pwd
21:29:28 <cheater99> /home/netdisco
21:29:29 <elliott> |@foo=goto print [@foo]
21:29:29 <storkbot> elliott: goto print print goto print hi
21:29:31 <elliott> cpressey: disapprove
21:29:35 <elliott> |@foo=goto print [
21:29:35 <storkbot> elliott: goto print [
21:29:41 <elliott> |@bar=@foo]
21:29:41 <storkbot> elliott: @foo]
21:29:43 <elliott> |@foo@bar
21:29:44 <storkbot> elliott: omg u errored teh syntax!!1!
21:29:45 <cheater99> ais523_: just saying, that shows how it doesn't "inherit" $HOME
21:29:48 <elliott> |[@foo][@bar]
21:29:49 <storkbot> elliott: goto print [
21:29:51 <cpressey> |~storkbot/BRA
21:29:51 <storkbot> cpressey: [
21:29:52 <elliott> bah
21:29:54 <cpressey> |~storkbot/KET
21:29:54 <storkbot> cpressey: ]
21:29:55 <ais523_> cheater99: well, exactly, it's /su/ that sets $HOME
21:30:00 <elliott> |~storkbot/BRA=foo
21:30:00 <storkbot> elliott: ?SYNTAX ERROR
21:30:02 <elliott> aww
21:30:04 <ais523_> and the shell inherits it from su
21:30:12 <cpressey> elliott: you can't set others' variables!
21:30:16 <cpressey> that would be HACKING!
21:30:16 <elliott> cpressey: BAH
21:30:16 <cheater99> ais523_: is it?
21:30:29 <elliott> |hd 1 2 3
21:30:29 <storkbot> elliott: 1
21:30:32 <elliott> |tl 1 2 3
21:30:32 <storkbot> elliott: 2 3
21:30:40 <ais523_> By default, `su' does not change the current directory. It sets the environment variables `HOME' and `SHELL' from the password entry for USER, and if USER is not the super-user, sets `USER' and `LOGNAME' to USER. By default, the shell is not a login shell.
21:30:45 <ais523_> copied straight from "info su"
21:30:46 <cpressey> elliott: oh, you're reading the source!
21:30:50 <elliott> cpressey: how the fuck did you quine the pastie number?
21:30:59 <elliott> cpressey: make a pastie, use the number after that, pastie, hope it worked?
21:31:00 <cpressey> elliott: pastie lets you edit
21:31:03 <elliott> lol
21:31:04 <elliott> cheat
21:31:14 <cpressey> elliott: that's why it's not lua-formatted :(
21:31:15 <cheater99> yes, when i do sudo -u netdisco bash, it uses the outer user's $HOME
21:31:19 <elliott> cpressey: ooh, i just realised something
21:31:19 <cpressey> you can only use the std formats on edit
21:31:22 <cpressey> bastards!
21:31:32 <cheater99> but i was wondering if sudo is actually what sets variables
21:31:34 <cheater99> hmm
21:31:35 <elliott> cpressey: in my hash-pastebin, that'd be equivalent to finding a string containing its own hash :D
21:31:42 <elliott> cpressey: of course, you could just do read($0).hash
21:31:46 <elliott> to get the URL from inside the source
21:32:02 <elliott> cpressey: or even build a quine, and then hash that, in case you don't have file IO
21:32:04 <elliott> and then run it, ofc
21:32:14 <ais523_> elliott: I wonder if there are any known attacks to, say, find strings that contain their own md5
21:32:19 <elliott> cpressey: there's an api
21:32:23 <elliott> cpressey: you could probably post the form manually :P
21:32:28 <cheater99> Note that the default behavior for the environment is the
21:32:28 <cheater99> following:
21:32:28 <cheater99> The $HOME, $SHELL, $USER, $LOGNAME, $PATH, and $IFS environment
21:32:28 <cheater99> variables are reset.
21:32:29 <elliott> ais523_: i would very much like that
21:32:32 <ais523_> that seems to be a sort of hash-breaking that isn't normally studied
21:32:38 <cheater99> i don't think that exactly means "su sets $HOME"
21:32:40 <elliott> ais523_: there was some reddit-esque idiocy a while back where people tried to find hex-hash quines
21:32:46 <ais523_> cheater99: that's what the -l option does
21:32:48 <elliott> ais523_: apparently thinking that hashes natively outputted hex
21:32:56 <elliott> ais523_: and that this was at all feasible to do if we just SEARCHED REALLY HARD
21:33:01 <elliott> but that was just a quine, not a quine plus extra
21:33:06 <cpressey> < elliott> ais523_: apparently thinking that hashes natively outputted hex
21:33:06 <cheater99> ais523_: no
21:33:11 <cheater99> ais523_: that's written further down
21:33:12 <fizzie> There's a sudo flag (-h) to set $HOME to the target user's home; otherwise it doesn't touch it.
21:33:13 <ais523_> ah
21:33:22 <ais523_> perhaps we have different su implementations
21:33:28 <fizzie> Sorry, -H.
21:33:28 <elliott> cpressey: well they didn't bother to try and hex a base-256 version of it
21:33:33 <elliott> which is probably more likely to work
21:33:36 <cheater99> i'm on ubunix
21:33:36 <ais523_> fizzie: which su are you talking about?
21:33:44 <cheater99> (ubuntu)
21:33:45 <ais523_> this one's on CentOS
21:33:51 <elliott> ais523_: fizzie said sudo
21:33:56 <ais523_> ah, misread
21:34:05 <cheater99> CAVEATS
21:34:05 <cheater99> This version of su has many compilation options, only some of which may
21:34:05 <cheater99> be in use at any particular site.
21:34:07 <ais523_> that makes sense, sudo doesn't set $HOME in my experience
21:34:24 <cheater99> sudo doesn't set anything fwik
21:34:24 <elliott> ais523_: sudo not setting $HOME is the cause of the .Xauthority problem, I think
21:34:33 <ais523_> hmm, perhaps
21:34:46 <elliott> ais523_: because it puts it in the wrong place and now root ownz yur X
21:34:46 <ais523_> although it makes sense that www-data or whatever can't pop up windows on /my/ desktop
21:34:51 <cheater99> so, if i have this funny little application switcher panel in ubuntu at the bottom
21:34:54 <elliott> ais523_: no, that works fine
21:34:58 <elliott> ais523_: it's just that stuff can break afterwards
21:35:03 <elliott> due to your ~/.Xauthority being written to
21:35:04 <cheater99> is there a way to tile it up vertically and have a small paner with launcher icons?
21:35:05 <elliott> but owned by another user
21:35:10 <cheater99> like in windows?
21:35:12 <elliott> which can break X on the next boot
21:35:17 <elliott> i'm not sure exactly, I just know it's retarded
21:35:28 <cheater99> i could *never* figure out how to do it.
21:35:35 <elliott> gah, ~/Desktop magically reappeared even after configuring everything
21:35:47 <ais523_> cheater99: the launcher icons you can do just by dragging them from the main menu onto the space just to the left of the application switcher (you have to be pretty accurate); the rest, I don't know how to do
21:36:01 <cheater99> let's try that
21:36:02 <cheater99> thanks
21:36:41 <cpressey> elliott: write a 0-byte file there and chmod 000 it
21:36:54 <cpressey> that'll learn xfce
21:36:54 <ais523_> elliott: did you try mknodding /dev/null onto the location?
21:36:58 <cheater99> ahh ok
21:37:12 <cheater99> ais: ok it sort of works, however: my panel is 5 rows high
21:37:22 <cheater99> and this makes the icons super-big, and they line up in 1 row only
21:37:30 <cheater99> not small and on top of each other
21:37:43 <ais523_> hmm, I'm not sure what to do about that either; configurability was never GNOME's strongpoint
21:37:49 <elliott> ais523_: no, I tried to set the xdg thing manually
21:37:51 <elliott> it seems to have listened now
21:37:52 <elliott> thank god
21:37:57 <ais523_> elliott: mknod ~/Desktop b 1 3
21:38:04 <ais523_> create your own /dev/null wherever you like!
21:38:16 <cpressey> ais523_: that seems a little... severe
21:38:35 <cpressey> i'd feel like i was walking in a minefield
21:38:36 <ais523_> (note: this may require root privileges; typing the wrong numbers may end up overwriting random partitions, so make sure you get the right ones first)
21:38:37 <elliott> does anyone know a bash function to output the current prompt?
21:38:41 <ais523_> umm, probably c 1 3
21:38:42 <elliott> not $PS1, that doesn't "render" it
21:38:47 <ais523_> elliott: newline
21:38:54 <elliott> ais523_: ...to stdout
21:39:06 <ais523_> that's stdout, isn't it?
21:39:15 <elliott> ais523_: it's not something i can capture from within bash
21:39:23 <cpressey> start a new bash
21:39:27 <cpressey> capture that
21:39:31 <elliott> aha, -i seems to help
21:39:33 <cpressey> using... script
21:39:42 <cheater99> yeah, gnome is sort of crappy like that
21:39:44 <ais523_> cpressey: I was about to say that
21:39:44 <elliott> elliott@dinky:~$ echo echo hi | bash -i 2>&1 | head -n -1 | cat -v
21:39:45 <elliott> ^[]0;elliott@dinky: ~^Gelliott@dinky:~$ echo hi
21:39:45 <elliott> hi
21:39:53 <elliott> now to filter out the gunk
21:40:00 <elliott> aha
21:40:02 <fizzie> ais523_: I used to run a "dd if=/dev/full of=/dev/null" for a while every now and then to balance things out, but it never seemed to help.
21:40:02 <elliott> TERM=dumb
21:40:05 <ais523_> cheater99: probably the easiest way to discover is to start a GNOME vs. KDE flamewar, somewhere, and use it as an example of KDE's superiority
21:40:21 <cheater99> haha
21:40:22 <cheater99> :-))
21:40:32 <cheater99> what was that gnome configuration app?
21:40:36 <cpressey> |@foo=foo
21:40:37 <storkbot> cpressey: foo
21:40:41 <ais523_> cheater99: gconf-editor
21:40:43 <cpressey> |tl[tl[@foo]]
21:40:43 <storkbot> cpressey: o
21:40:49 <cpressey> |@foo=fox
21:40:49 <storkbot> cpressey: fox
21:40:51 <cpressey> |tl[tl[@foo]]
21:40:51 <storkbot> cpressey: x
21:40:51 <cheater99> yeah, just came up with it =) thanks
21:40:54 <elliott> you have to put the { on a different line to the foo () to declare a function in bash, right?
21:40:55 <ais523_> because Gnome thinks Windows-style registries are, despite all appearances, a good idea
21:41:05 <elliott> ais523_: so does xfce, although lessso
21:41:06 <elliott> ais523_: also kde
21:41:10 <ais523_> if it ever really catches on, we'll have malicious adverts advertising gconf cleaners
21:41:12 <elliott> ais523_: (kde's just happens to serialise to plain text)
21:41:20 <ais523_> elliott: so does Windows'
21:41:21 <elliott> ais523_: (but modifying it is lol)
21:41:29 <elliott> ais523_: true
21:41:46 <ais523_> elliott: argh, I've just been reminded of the worst hack in my life
21:41:48 <cheater99> this thing is SO much like windows registry
21:41:57 <cheater99> they should have named it gregistry
21:42:13 <ais523_> when I was young, and Innocent, and Microsoft was all I knew, and I had a buggy 32-bit compiler
21:42:16 <cheater99> ais523_: haha, i hadn't read your comment before i said that
21:42:32 <elliott> sprunge-cmd () {
21:42:33 <elliott> echo "$1" | TERM=dumb bash -i 2>&1 | head -n -1 | sprunge
21:42:33 <elliott> }
21:42:33 <elliott> behold
21:42:34 <ais523_> I was writing 16-bit programs, and Excel programs, and 32-bit programs, which needed to communicate with each other
21:42:41 <elliott> ugh, syntax error
21:42:55 <cheater99> ais523_: what sort of music are you into?
21:43:11 <elliott> ais523_: uh oh
21:43:25 <ais523_> and instead of using the normal IPC methods, I used system() equivalents (go go WinExec()!) and passed arguments and return values either in win.ini, or the registry
21:43:39 <cheater99> haha
21:43:41 <cheater99> nice!
21:43:45 <ais523_> cheater99: generally classical, and computer game music
21:44:02 <elliott> dear god
21:44:10 <ais523_> elliott: ?
21:44:18 <elliott> ais523_: your hack
21:44:23 <ais523_> yes, it was that awful
21:44:28 <elliott> Things the world needs: An ANSI-colour-supporting pastebin.
21:44:32 <elliott> fizzie: Get on it! :P
21:44:35 <ais523_> in my state of youthful innocence, I was sort-of worried it would burn a hole in the hard disk, though
21:44:59 <Gregor> elliott: What's especially great about your sprunge-cmd is that if you want to cancel, it's really effing difficult.
21:45:07 <ais523_> oh no, it's worse, I just remembered what I used it /for/
21:45:57 <fizzie> elliott: I can add that to zpaste if you wish, but it's not exactly a public service. Also, so many programs tend to disable colors when they sniff the output isn't to terminal. (I guess most have flags for it, though.)
21:46:04 <ais523_> I was writing a computer game (in Excel; I was once better at VBA than any mortal should be, not that that's a particularly high bar...), and wanted a multiplayer mode
21:46:14 <ais523_> but both people were playing at the same computer, both watching the screen
21:46:26 <elliott> fizzie: Yeah, that's irritating though :P
21:46:39 <elliott> Gregor: Why would you want to cancel, apart from being a nazi?
21:46:46 <cheater99> ais523_: ahahahhhh
21:46:50 <ais523_> so the program in question made those images that can only be seen through a red/blue filter and pasted them onto the clipboard
21:46:54 <Gregor> elliott: ls ~/allMyGayPorn OH SHIT NOOOO
21:46:55 <elliott> ais523_: i like you
21:46:56 <cheater99> ais523_: a.ma.zing.
21:47:05 <ais523_> and Excel pasted them from there, the idea was that only one of the people would have a red filter, the other would have a blue filter
21:47:13 <elliott> Gregor: So don't publicise the URL :P
21:47:18 <ais523_> but it didn't really work, because all the blue filters I had access to were crappy and you couldn't see the text anway
21:47:45 <ais523_> it was still a nice, although faintly ridiculous, idea, though
21:47:49 <elliott> ais523_: you are a bad person
21:48:15 <ais523_> (other uses involved extracting the volume label of the hard disk for trivial-DRM purposes, which apparently can be done via Win32 but not Win16)
21:48:22 <fizzie> elliott: I could have a "run-in-zpaste" thing that'd allocate a pseudo-tty and paste that, maybe; then you'd just "zpaste --run ls" instead of "ls | zpaste". I'll try to remember to think of it at a more opportunate moment.
21:48:43 <elliott> fizzie: So basically script(1). :P
21:48:51 <elliott> fizzie: It's okay, my pastebin will be totally better.
21:49:01 <Gregor> It'll have blackjack.
21:49:09 <fizzie> ais523_: In win16, couldn't you just run the dos command to get the label, and pipe that to a temporary file?
21:49:09 <elliott> and hookers
21:49:16 <Gregor> Actually, screw the pastebin.
21:49:25 <cheater99> omg, i'm going to #linux
21:49:26 <elliott> what's the program that copies stdin to the X clipboard?
21:49:30 <cheater99> i bet this will be terrible
21:49:31 <ais523_> fizzie: this is the sort of disaster that happens when you grow up without knowing of the existence of pipes
21:49:35 <elliott> Gregor: Indeed, that is what it will let you do. That is the purpose of the hookers.
21:49:42 <ais523_> really, people say that UNIX is bad, it has nothing on Windows
21:49:50 <ais523_> you don't even think "surely there's a better way", it's all you're used to
21:49:50 -!- Velmont has joined.
21:50:01 <elliott> Velmont is Knuth himself
21:50:06 <elliott> you can tell by the hostname
21:50:18 <ais523_> wouldn't the knuth be ~before~ the @ in that case?
21:50:19 <cheater99> ais523_: i'm doing exactly what you told me
21:50:25 <cheater99> ais523_: expect, i'll use windows
21:50:26 <ais523_> also, I have no idea what the emphasis there is
21:50:27 <cheater99> since windows can do that
21:50:30 <elliott> NO SHUSH
21:50:40 <ais523_> since when did I use tildes for emphasis?
21:50:44 <cheater99> ais523_: come to #linux
21:50:58 <elliott> aha, xsel, thanks nobody for telling me
21:51:03 <Gregor> ais523_: Knuth is so badass he has his own hostname. Which isn't much of an accomplishment, but ignore that.
21:51:05 <Velmont> elliott: lol
21:51:18 -!- augur_ has joined.
21:51:29 <ais523_> elliott: if you're not careful, I'll start surrounding all my comments with hyphens again
21:51:32 <Gregor> augur_ is Agent 129. You can tell by the IP address.
21:51:43 <elliott> ais523_: wait what
21:51:53 -!- augur has quit (Read error: Connection reset by peer).
21:51:57 <ais523_> (this has been verified by experiment to be one of the creepiest things you can do on IRC without actual real-world knowledge of someone's circumstances)
21:52:05 <Velmont> Oklopol is here.
21:52:13 <elliott> ais523_: ohh, that, yes
21:52:22 <elliott> ais523_: -You're sitting on a chair.-
21:52:23 <ais523_> Velmont: not obviously
21:52:34 <elliott> Velmont is in .no
21:52:47 <elliott> so perhaps Velmont is a Norwegian friend of oklopol's
21:52:53 <Gregor> elliott: The correct name is .nolandia
21:52:54 <ais523_> hmm, perhaps
21:52:58 <elliott> although, really, someone who capitalises the o in oklopol can't be oklopol's friend
21:52:59 <ais523_> oklopol is great, just not here right now
21:53:01 <elliott> that's too horrible
21:53:04 <elliott> and offensive
21:53:05 <elliott> and wrong
21:53:08 <elliott> and Velmont should feel bad
21:53:09 <fizzie> Perhaps oklopols fly to Norway for winter.
21:53:10 <olsner> ais523_: what's creepy about hyphens?
21:53:11 <ais523_> elliott: perhaps oklopol capitalises it in real life?
21:53:20 <ais523_> olsner: -just read several pages of someone doing this-
21:53:21 <elliott> ais523_: Oklopol Howeveryouspellhislastname
21:53:27 <elliott> even in his realname field he had it lowercase
21:53:27 <ais523_> -it has a sort of ominous feel to it-
21:53:28 <augur_> Gregor: no no, im agent 128
21:53:32 -!- augur_ has changed nick to augur.
21:53:33 <cpressey> Oklopol: like INTERPOL, except it's only for Oklahoma.
21:53:34 <elliott> ais523_: you have to capitalise and punctuate.
21:53:36 <ais523_> elliott: omniovorol, IIRC
21:53:42 <elliott> olsner: -Just read several pages of someone doing this.-
21:53:44 <fizzie> Oklo Pol, son of Klo Pol.
21:53:49 <elliott> olsner: -It has a sort of ominous feel to it.-
21:53:59 <ais523_> olsner: -elliot and I have both done it, it just gets creepier and creepier as time goes on-
21:54:03 <Velmont> I only know his real name, I asked him for his nick and he didn't tell me about the capitalization.
21:54:05 <ais523_> *-elliott-
21:54:06 <elliott> ais523_: yeah but i spelled it wrong last i checked
21:54:09 <elliott> ais523_: I HATE YOU FOR MY NAME EVER
21:54:17 <elliott> Velmont: what's his real name again? I forget
21:54:27 <ais523_> elliott: double t at the end of a word is hard to type...
21:54:33 <elliott> ais523_: for some definition of hard
21:55:43 <cpressey> No, I guess that would be OKLAPOL.
21:55:55 <elliott> Homapol
21:57:12 <elliott> yay i finally got my commands working
21:57:13 <elliott> http://sprunge.us/eALI
21:57:19 <elliott> got that url in my clipboard by:
21:57:21 <elliott> elliott@dinky:~$ sprunge-cmd tree -I esoteric | copy
21:57:44 <ais523_> there is something so wrong-seeming about having that copy command
21:57:58 <elliott> ais523_: FUCK YOU DOS
21:58:00 <ais523_> clipboard's a GUI thing, not a shell thing, in my mind
21:58:06 <elliott> ais523_: it's useful, though
21:58:09 <elliott> terribly useful
21:58:17 <elliott> ais523_: as is "paste"
21:58:21 <elliott> $ paste | cat -v
21:58:22 <elliott> or whatever
21:58:32 <ais523_> who are the cat-v people again?
21:58:37 <elliott> ais523_: it goes a small way to integrating the silly GUI rubbish into the nice linguistic command processing stuff
21:58:42 <ais523_> (also, less > cat-v for viewing binaries)
21:58:46 <elliott> ais523_: cat-v.org is uriel, Plan 9 + libertarian + etc
21:58:49 <elliott> *etc.
21:58:55 <ais523_> oh right, uriel
21:59:00 <elliott> ais523_: I don't like -v, but I use "cat -v" as a single atomic command
21:59:10 <elliott> ais523_: I might alias it to "vis", which was the 8th Edition Unix name for it
21:59:11 <ais523_> it's very ironic to name a Plan 9 website after cat -v , isn't it?
21:59:18 <elliott> ais523_: (except it output it slightly different -- \xxx in octal -- but whatever)
21:59:29 <elliott> ais523_: well the "name" of the site is "cat -v Considered Harmful"
21:59:36 <cpressey> Velmont, do you like coding in Python?
21:59:36 <elliott> sorry, *cat-v
21:59:40 <elliott> which is even more self-referential
21:59:49 <elliott> ais523_: and the "harmful" section is titled "cat -v"
21:59:53 <ais523_> one of these names that means the opposite when abbreviated?
21:59:59 <elliott> ais523_: so i think there's more than a bit of irony/just plain reference going on here.
21:59:59 <Velmont> cpressey: Yes.
22:00:05 <elliott> wow, a genuine crazy person
22:00:07 <elliott> hi Velmont!
22:00:28 <ais523_> </ais523> but Python is brilliant! <ais523>
22:00:33 -!- wareya has quit (Read error: Connection reset by peer).
22:00:35 <ais523_> hmm, tha's a really bad way of pretending it's not me saying it
22:00:39 <ais523_> *that's
22:00:47 <cpressey> ais523_: it serves
22:00:57 <elliott> ais523_: you need </ais523_>
22:00:58 <elliott> duh
22:00:58 <elliott> :P
22:01:06 <elliott> and no need for <ais523_>, because that's what all your lines start with
22:01:15 <cpressey> -Python is brilliant-
22:01:19 <elliott> everything's implicitly closed at end-of-line, obviously
22:01:21 <ais523_> elliott: I know, it doesn't really work
22:01:21 <elliott> or rather, reset to defaults
22:01:23 <ais523_> cpressey: aargh, stop it!
22:01:24 <cpressey> -Don't you agree?-
22:01:36 <cpressey> ais523_: I can see how that could get awful.
22:02:28 <ais523_> it's a reference to The Baron, who was a player in an email game that elliott and I each also used to play
22:02:36 <ais523_> he did that in every message he sent, it was really creepy
22:02:48 -!- wareya has joined.
22:02:57 <cheater99> ais523_: http://quick-lounge.sourceforge.net/screenshots.html !
22:03:21 <elliott> ais523_: wasn't it A Nomic he played in?
22:03:24 <elliott> maybe not
22:03:35 <elliott> ais523_: another similarly horrible thing:
22:03:38 -!- elliott has changed nick to Eliezer_Yudkowsk.
22:03:39 <ais523_> cheater99: you know I block links, right? even though I'm not on my usual computer or my usual client, so I can see the link perfectly well
22:03:43 <Velmont> cpressey: Why?
22:03:44 * Eliezer_Yudkowsk says, "This is how he talked in all the AI Box emails."
22:03:45 <ais523_> I'm still not following it out of principle
22:03:50 * Eliezer_Yudkowsk says, "Seriously."
22:03:54 <ais523_> what, really?
22:03:55 -!- Eliezer_Yudkowsk has changed nick to elliott.
22:03:57 <elliott> ais523_: yep
22:03:58 <ais523_> that's ridiculous
22:04:03 <elliott> ais523_: clearly an ex-MUDder or soemthing
22:04:06 <cheater99> ais523_: no
22:04:10 <cheater99> ais523_: why do you?
22:04:16 <Velmont> I've invented a language called rainduck.
22:04:17 <ais523_> not just that, it's an ISIDTID violation
22:04:22 <ais523_> cheater99: because they're annoying, and mostly not useful
22:04:22 * Gregor says, "This is how all the cool kids talk."
22:04:29 <ais523_> Velmont: is it a BF derivative, by any chance?
22:04:38 <elliott> ais523_: here we go: http://www.sl4.org/archive/0207/4689.html
22:04:43 <cheater99> ais523_: this is something that does what i described
22:04:43 <elliott> ais523_: ooh, he actually did
22:04:46 * elliott says to bar: "Blah."
22:04:50 <elliott> ais523_: rather than "bar: blah"
22:04:52 <Velmont> ais523_: Yes, but very different. It's based on ducks instead of numbers.
22:05:11 <Velmont> It has duck typing.
22:05:20 <ais523_> hmm, sounds like a good start
22:05:34 <ais523_> also, sounds like it badly needs an FFI to HOMESPRING, although I don't know how ducks would interact with salmon
22:05:46 <ais523_> (or how you write a nontrivial HOMESPRING program anyway, I'm not even convinced it's TC)
22:05:55 <cpressey> ais523_: ISIDTID ?
22:06:06 <ais523_> cpressey: "I say I do, therefore I do"
22:06:08 <fizzie> I don't trust ducks. They always look like they're planning something. I'm not sure it's a good idea to give them language capabilities.
22:06:28 <ais523_> imagine going into a shop, and buying something, but instead of giving the shopkeeper money, you just say, out loud, "I give you money"
22:06:48 <ais523_> it's pretty ludicrous in RL, yet people manage the equivalent all the time in online games
22:06:49 <Gregor> fizzie: I have no idea how to put Daffy Duck's laugh into text, but imagine that text is here: _____
22:07:19 <elliott> `addquote <fizzie> I don't trust ducks. They always look like they're planning something. I'm not sure it's a good idea to give them language capabilities.
22:07:22 <Vorpal> cheater99, what would the point be of that software?
22:07:22 -!- Sgeo has joined.
22:07:31 <HackEgo> 250|<fizzie> I don't trust ducks. They always look like they're planning something. I'm not sure it's a good idea to give them language capabilities.
22:07:32 <elliott> Gregor: lol
22:07:34 <elliott> it slowly
22:07:38 <elliott> Gregor: it very slowly.
22:07:42 <elliott> well not that very
22:07:42 <Gregor> elliott: I didn't say it would be fast, just that it would work.
22:07:45 <ais523_> as slowly as David's ears, in fact!
22:07:45 <cheater99> Vorpal: gnome doesn't do the things it does, on its own
22:07:51 <cheater99> Vorpal: look at the screenshots section
22:07:53 <ais523_> umm, that's slightly, isn't it?
22:07:57 <elliott> Gregor: but it's slowing down, maybe something's badness
22:07:57 <Vorpal> cheater99, yes I looked. And?
22:08:02 <elliott> ais523_: ooh, i forgot about them!
22:08:04 <Vorpal> cheater99, I utterly fail to see the use of it
22:08:28 <ais523_> oh, both slowing and slighting were involved
22:08:36 <Vorpal> cheater99, I have some quick launching icons in the top menu bar. To be specific: firefox, thunderbird, gnome-terminal, emacs, kate
22:08:42 <cheater99> Vorpal: that's your problem, then.
22:08:51 <Vorpal> cheater99, there are loads of space left over
22:08:59 <ais523_> Vorpal: gnome-terminal, emacs, /and/ Kate? something seems a bit fishy about that
22:09:08 <elliott> Vorpal likes kate because he has no taste
22:09:09 <elliott> :p
22:09:12 <ais523_> even though it's a combination I use, it just feels wrong
22:09:16 <ais523_> (I haven't used Kate for a while, actually)
22:09:20 <Vorpal> ais523_, depends on which language I'm coding in
22:09:27 <ais523_> ditto
22:09:36 <Vorpal> since they are like 24x24 pixels
22:09:43 <Vorpal> and this is a 24" widescreen monitor
22:09:50 <ais523_> although when you're up to the stage of lua in gedit, Perl in Kate, C in Emacs, it gets a little silly
22:09:51 <Vorpal> I have absolutely no lack of space
22:10:05 <Vorpal> ais523_, why gedit
22:10:06 <ais523_> I'm mostly a Perl in Emacs person, but Emacs' Perl support isn't great and sometime I have to use Kate instead
22:10:22 <ais523_> Vorpal: because it's low-tech, for that notepad feel
22:10:27 <Vorpal> ais523_, C in kate for me, erlang, lisp and haskell in emacs
22:10:32 <ais523_> and sometimes I just like to edit by hand
22:10:38 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:10:46 <elliott> ais523_: gedit has tons of plugins and crap it's far from low-tech
22:10:52 <Vorpal> <ais523_> and sometimes I just like to edit by hand <-- ed? magnetic needle?
22:10:52 <elliott> it's just bad when extended like that, though :P
22:10:55 <ais523_> elliott: I mean, the way I have it set up
22:10:58 <elliott> ais523_: LEADEN is low-tech!
22:11:05 <ais523_> it doesn't even do autoindentation, just old Turbo Pascal-style
22:11:06 -!- lilja_ has joined.
22:11:22 <Vorpal> ais523_, I fail to see why you would want to use that then
22:11:24 <Vorpal> but meh
22:11:27 <elliott> hmm
22:11:32 <elliott> evidence that oklopol is there grows
22:11:37 <ais523_> Vorpal: are you not a Real Programmer (windows 3.1 version)?
22:11:44 <Vorpal> elliott, hm?
22:11:52 <cheater99> ahh but you can do that with normal gnome too
22:11:52 <cheater99> amazing
22:11:57 <elliott> Vorpal: lilja_ lends evidence to the proposition that oklopol is wherever Velmont is
22:11:59 <Vorpal> ais523_, no. I grew up with classical mac OS
22:12:11 <Vorpal> elliott, errr. how so?
22:12:23 * elliott lets Vorpal puzzle it out himself
22:12:30 <lilja_> how is young elliott?
22:12:39 <elliott> only 74 years.
22:12:48 <elliott> it's only young in my mind *sniff*
22:12:59 <elliott> oh, /me misread that
22:13:09 <Velmont> note the .no
22:13:12 <Vorpal> yes
22:13:21 <elliott> Velmont: already noted :p
22:13:25 <Vorpal> lots of .no indeed
22:13:33 <elliott> Velmont: i take it oklopol doesn't think we're cool enough to talk to :'(
22:13:35 <Vorpal> elliott, but what has that got to do with oklopol?
22:13:44 <Vorpal> elliott, maybe you meant oerjan?
22:13:48 <elliott> Vorpal: no.
22:13:56 <Vorpal> okay
22:14:07 <Vorpal> elliott, is oklopol in Norway now or something?
22:14:21 <elliott> Velmont: please explain to Vorpal...
22:15:01 <Velmont> Vorpal: He's here with me.
22:15:09 <cpressey> ais523_: "It's raining but I don't think it is."
22:15:20 <ais523_> cpressey: ?
22:15:28 <Vorpal> Velmont, oh
22:15:35 <elliott> ais523_: cpressey is riffing on ISIDTID, I would presume
22:15:37 <Vorpal> Velmont, why is he in Norway then?
22:15:38 <ais523_> that's as bad as me resolving a paradox by maintaining publically that my own position, while correct, was unreasonable
22:15:38 <cpressey> ais523_: an example of linguistics that your ISIDTID reminded me of
22:15:43 <ais523_> ah, yes
22:15:46 <cpressey> *from linguistics
22:15:56 <Vorpal> elliott, ISIDTID?
22:16:08 <ais523_> Vorpal: read scrollback
22:16:16 <Velmont> Vorpal: Because lilja_ is doing work for her masters degree here.
22:16:21 <cpressey> There is actually a context where it makes sense -- when you are narrating past events that happened to you, but using present tense
22:16:34 <cpressey> "It's 4AM, Thursday. I wake up. It's raining, but..."
22:16:48 <Vorpal> <ais523_> cpressey: "I say I do, therefore I do" <-- hm okay
22:27:46 -!- elliott has quit (*.net *.split).
22:27:46 -!- storkbot has quit (*.net *.split).
22:27:46 -!- HackEgo has quit (*.net *.split).
22:27:46 -!- catseye has quit (*.net *.split).
22:27:47 -!- wareya has quit (*.net *.split).
22:27:47 -!- myndzi\ has quit (*.net *.split).
22:27:47 -!- bsmntbombdood has quit (*.net *.split).
22:27:47 -!- Velmont has quit (*.net *.split).
22:27:48 -!- tombom has quit (*.net *.split).
22:27:48 -!- fungot has quit (*.net *.split).
22:27:48 -!- lifthrasiir has quit (*.net *.split).
22:27:48 -!- mycroftiv has quit (*.net *.split).
22:27:48 -!- ais523_ has quit (*.net *.split).
22:27:48 -!- EgoBot has quit (*.net *.split).
22:27:48 -!- cal153 has quit (*.net *.split).
22:27:48 -!- dbc has quit (*.net *.split).
22:27:49 -!- Zuu has quit (*.net *.split).
22:27:49 -!- Ilari_antrcomp has quit (*.net *.split).
22:27:49 -!- Ilari has quit (*.net *.split).
22:27:49 -!- Vorpal has quit (*.net *.split).
22:27:49 -!- sshc_ has quit (*.net *.split).
22:27:49 -!- FireFly has quit (*.net *.split).
22:27:49 -!- p_q has quit (*.net *.split).
22:27:49 -!- ineiros has quit (*.net *.split).
22:27:49 -!- comex has quit (*.net *.split).
22:27:49 -!- coppro has quit (*.net *.split).
22:27:49 -!- yiyus_ has quit (*.net *.split).
22:27:50 -!- Wamanuz4 has quit (*.net *.split).
22:27:50 -!- fizzie has quit (*.net *.split).
22:27:50 -!- pikhq has quit (*.net *.split).
22:27:50 -!- cpressey has quit (*.net *.split).
22:27:50 -!- olsner has quit (*.net *.split).
22:27:50 -!- yiyus has quit (*.net *.split).
22:27:50 -!- Slereah has quit (*.net *.split).
22:27:50 -!- jix has quit (*.net *.split).
22:27:50 -!- SimonRC has quit (*.net *.split).
22:27:50 -!- cheater_ has quit (*.net *.split).
22:27:50 -!- mtve has quit (*.net *.split).
22:27:50 -!- lilja_ has quit (*.net *.split).
22:27:50 -!- jcp has quit (*.net *.split).
22:27:50 -!- Gregor has quit (*.net *.split).
22:27:51 -!- Deewiant has quit (*.net *.split).
22:27:51 -!- augur has quit (*.net *.split).
22:27:51 -!- aloril has quit (*.net *.split).
22:27:51 -!- Quadlex has quit (*.net *.split).
22:27:51 -!- sftp has quit (*.net *.split).
22:27:51 -!- sebbu has quit (*.net *.split).
22:27:51 -!- Decarabia has quit (*.net *.split).
22:27:52 -!- distant_figure has quit (*.net *.split).
22:27:52 -!- Chachi has quit (*.net *.split).
22:27:52 -!- Leonidas has quit (*.net *.split).
22:27:52 -!- Sgeo has quit (*.net *.split).
22:27:52 -!- cheater99 has quit (*.net *.split).
22:27:52 -!- Quadrescence has quit (*.net *.split).
22:27:52 -!- Phantom_Hoover has quit (*.net *.split).
22:27:52 -!- nooga has quit (*.net *.split).
22:27:52 -!- rodgort has quit (*.net *.split).
22:28:06 -!- lilja_ has joined.
22:28:06 -!- Sgeo has joined.
22:28:06 -!- wareya has joined.
22:28:06 -!- augur has joined.
22:28:06 -!- Velmont has joined.
22:28:06 -!- cheater99 has joined.
22:28:06 -!- elliott has joined.
22:28:06 -!- Quadrescence has joined.
22:28:06 -!- Slereah has joined.
22:28:06 -!- Wamanuz4 has joined.
22:28:06 -!- tombom has joined.
22:28:06 -!- fungot has joined.
22:28:06 -!- fizzie has joined.
22:28:06 -!- sftp has joined.
22:28:06 -!- Phantom_Hoover has joined.
22:28:06 -!- sshc_ has joined.
22:28:06 -!- ais523_ has joined.
22:28:06 -!- FireFly has joined.
22:28:06 -!- storkbot has joined.
22:28:06 -!- HackEgo has joined.
22:28:06 -!- EgoBot has joined.
22:28:06 -!- p_q has joined.
22:28:06 -!- catseye has joined.
22:28:06 -!- myndzi\ has joined.
22:28:06 -!- pikhq has joined.
22:28:06 -!- distant_figure has joined.
22:28:06 -!- aloril has joined.
22:28:06 -!- nooga has joined.
22:28:06 -!- Chachi has joined.
22:28:06 -!- Zuu has joined.
22:28:06 -!- cpressey has joined.
22:28:06 -!- ineiros has joined.
22:28:06 -!- jcp has joined.
22:28:06 -!- comex has joined.
22:28:06 -!- cal153 has joined.
22:28:06 -!- Decarabia has joined.
22:28:06 -!- Gregor has joined.
22:28:06 -!- dbc has joined.
22:28:06 -!- olsner has joined.
22:28:06 -!- coppro has joined.
22:28:06 -!- sebbu has joined.
22:28:06 -!- Ilari_antrcomp has joined.
22:28:06 -!- Ilari has joined.
22:28:06 -!- bsmntbombdood has joined.
22:28:06 -!- jix has joined.
22:28:06 -!- SimonRC has joined.
22:28:06 -!- mycroftiv has joined.
22:28:06 -!- lifthrasiir has joined.
22:28:06 -!- cheater_ has joined.
22:28:06 -!- Vorpal has joined.
22:28:06 -!- yiyus_ has joined.
22:28:06 -!- yiyus has joined.
22:28:06 -!- Deewiant has joined.
22:28:06 -!- rodgort has joined.
22:28:06 -!- mtve has joined.
22:28:06 -!- Leonidas has joined.
22:28:06 -!- Quadlex has joined.
22:28:12 <elliott> outside of illicit channels, I know of no way to get a copy of MS-DOS
22:28:12 <elliott> wow, "(nef@"
22:28:12 <ais523_> wb clog
22:28:12 <elliott> an actual ident server?
22:28:16 <ais523_> and why not?
22:28:24 <elliott> ais523_: just, surprising
22:28:47 <ais523_> it's the INTERCAL way
22:28:52 <ais523_> follow standards everyone else has forgotten
22:28:58 <ais523_> make things work where others don't bother
22:29:06 <ais523_> then ruin it all by putting an inexplicable cap on the value of constantas
22:29:08 <ais523_> *constants
22:29:15 <elliott> MS dos 4 01 uk 5,25\" 360Kb » applications other os
22:29:17 <elliott> ais523_: wow ^
22:29:22 <elliott> so useful! :p
22:29:27 <Phantom_Hoover> Someone tell me how much energy U-235 fission gives off.
22:29:34 <ais523_> Phantom_Hoover: 4, I'm not sure which units
22:30:06 <Phantom_Hoover> 4 neutrons, or what?
22:30:11 <Phantom_Hoover> 4 joules?
22:30:13 <Phantom_Hoover> 4 ergs?
22:30:15 <elliott> Phantom_Hoover: 42, I'm not sure which units but you can convert from ais523's to mine like this: 42x/4
22:30:27 -!- poiuy_qwert has joined.
22:30:54 * elliott just downloads DOS 6.22 instead
22:31:02 <olsner> hmm, MS-DOS might still be included in the MSDN cd set
22:31:30 <olsner> at least it was 10 years ago, last time I saw one of those
22:31:32 -!- p_q has quit (Ping timeout: 240 seconds).
22:31:53 <elliott> olsner: heh
22:31:59 <elliott> olsner: iirc MSDNA or whatever it is has it
22:32:01 <elliott> the academic thing
22:32:05 <ais523_> *MSDNAA?
22:32:05 <elliott> Vorpal mentioned it
22:32:09 <elliott> *MSDNAA
22:32:10 <elliott> right
22:32:13 <ais523_> I could sign up to that in theory, I think
22:32:20 <ais523_> but I don't, because it'd be useless unless I ran Windows
22:32:34 <Vorpal> ais523_, works in wine
22:32:43 <olsner> and you get a windows license too, of course
22:32:46 <elliott> ais523_: but you can get all sorts of ridiculous software for free!
22:32:57 <Vorpal> also exact offering varies between universities
22:33:00 <ais523_> elliott: that's pointless unless I want to actually /use/ it
22:33:07 <elliott> ais523_: no it isn't! FUN
22:33:12 <ais523_> also, it'd take ages reading the EULA, Microsoft's is really quite long
22:33:22 <elliott> ais523_: you even *read actual EULAs*?
22:33:28 <ais523_> yes
22:33:30 <elliott> like, the ones that are 10 pages printed in 12pt?
22:33:39 <ais523_> I'm not going to pretend that I'm surprised that other people don't, because I know they don't
22:33:43 <ais523_> but don't be surprised that I do
22:33:55 <elliott> i guess it's for the best
22:33:57 <ais523_> (admittedly, if I recognise the EULA, I don't reread the duplicate copies)
22:34:10 <elliott> if ais523_ was redesigned without the eccentricities, he would probably take over the world
22:34:11 <ais523_> there are some really weird sections in some of them
22:34:18 <ais523_> one of the section's in Microsoft's is in French
22:34:36 <olsner> I think the situation would be better for everyone if there was actually *no-one* reading those things
22:35:02 <Vorpal> ais523_, maybe it only applies to France then?
22:35:14 <ais523_> olsner: in the UK a while ago, EULAs were ruled unenforceable because nobody actually read them, thus a contract wasn't formed
22:35:23 <ais523_> (to be more precise, because they were designed to discourage being read)
22:35:24 <Vorpal> ais523_, awesome
22:35:27 <ais523_> Vorpal: it only applies to Canada, I think
22:35:32 <Vorpal> ais523_, ah
22:35:52 <elliott> ais523_: so why do you read them? :p
22:36:06 <ais523_> elliott: so I know whether to accept them or not
22:36:13 * elliott sees MP3 being referred to as "Layer III", lols
22:36:16 <elliott> ais523_: but they're not binding
22:36:25 <elliott> <ais523_> I don't care, I respect Microsoft anyway!
22:36:36 <Vorpal> elliott, the two lower layers being?
22:36:41 <elliott> Vorpal: MP1 and MP2
22:36:47 <elliott> http://en.wikipedia.org/wiki/MPEG-1_Audio_Layer_I
22:36:48 <ais523_> and the one above is MP4
22:36:51 <elliott> http://en.wikipedia.org/wiki/MPEG-1_Audio_Layer_II
22:36:53 <Vorpal> elliott, aren't they outdated formats
22:36:56 <elliott> Vorpal: yes
22:37:03 <Vorpal> elliott, as opposed to *layers*
22:37:07 <elliott> Vorpal: no, they're layers.
22:37:10 <elliott> that's the technical terminology
22:37:13 <ais523_> elliott: I suppose I just don't like lying, even to a computer
22:37:16 <elliott> Vorpal: because they're all MPEG
22:37:18 <Vorpal> elliott, yes but not on top of each other
22:37:22 <Vorpal> they are different versions
22:37:24 <elliott> Vorpal: i hate you
22:37:24 <Vorpal> of the same layer
22:37:30 <Vorpal> elliott, what?
22:37:32 <Vorpal> were I wrong?
22:37:36 <elliott> <Vorpal> were I wrong?
22:37:38 <elliott> yes
22:37:42 <elliott> you was very wrongs.
22:37:45 <elliott> *was
22:37:47 <Vorpal> elliott, so they go on top of each other?
22:38:00 <elliott> THEY'RE DIFFERENT VERSIONS OF THE *AUDIO LAYER* OF AN MPEG FILE
22:38:12 <Vorpal> elliott, yes that is what I said
22:38:16 <elliott> ais523_: what would you do if a dialogue box popped open saying:
22:38:18 <Vorpal> <Vorpal> elliott, yes but not on top of each other
22:38:18 <Vorpal> <Vorpal> they are different versions
22:38:23 <elliott> "What did you not answer this question with?
22:38:29 <elliott> [ This answer ] [ This other answer ]"
22:38:31 <elliott> ais523_: and no close box?
22:38:32 <ais523_> elliott: depends on the context
22:38:47 <elliott> Vorpal: the mpeg file has an audio layer
22:38:52 <Vorpal> elliott, correct
22:38:52 <ais523_> I have less trouble lying in contexts where it's obvious that I'm potentially going to lie
22:38:55 <elliott> Vorpal: it can be of the format audio layer 1, audio layer 2, etc.
22:38:59 <Vorpal> elliott, but layer III is wrong
22:39:01 <elliott> the audio layer 1 format, audio layer 2 format
22:39:02 <elliott> NO IT'S NOT
22:39:04 <ais523_> playing certain games, for instance
22:39:08 <elliott> ais523_: not a game
22:39:08 <Vorpal> elliott, it is a version number
22:39:13 <elliott> ais523_: it's just a program you decided to run
22:39:14 <Vorpal> elliott, not like layer in the OSI model
22:39:16 <ais523_> (I am, incidentally, rather bad at lying, even when I try)
22:39:24 <Vorpal> elliott, that is all I ever disputed
22:39:25 <elliott> ais523_: (presumably intended to have another purpose of that; say the title is "To use this program, please answer the following")
22:39:30 <elliott> Vorpal: X_X
22:39:48 <Vorpal> elliott, MP3 doesn't go on top of MP2. That is all I said all along
22:39:56 <elliott> nobody said it does
22:39:57 <elliott> ever
22:39:57 <ais523_> elliott: I'd assume such a program was playing games with me; if it was allegedly serious, I'd assume it was some sort of practical joke)
22:40:03 <Vorpal> elliott, correct!
22:40:03 <elliott> ais523_: but what would you do?
22:40:05 <ais523_> umm, s/\)$//
22:40:21 <ais523_> elliott: depends on the context, but likely kill the process under the assumption that the program was malicious
22:40:40 <ais523_> wouldn't that be what you'd conclude if apparently serious software started doing that?
22:40:48 <elliott> ais523_: you ran a reliable virus scanner/analyser on it and it reported that the program only used create_dialogue_box and duplicate_file
22:40:52 <elliott> (say, it's a file duplication program)
22:41:04 <ais523_> you can make malicious dialog boxes!
22:41:11 <ais523_> (and duplicate files in malicious ways!)
22:41:11 <elliott> ais523_: it also gives arguments
22:41:13 <cpressey> oh, it's malicious
22:41:15 <cpressey> pernicious
22:41:19 <elliott> create_dialogue_box purely brings up that box, according to the arguments
22:41:21 <ais523_> also, why would I be using a file duplication program other than a cp variant?
22:41:25 <cpressey> all around delicious.
22:41:29 <elliott> ais523_: and duplicate_file's first argument is always user input
22:41:33 <elliott> ais523_: also, because you decided to.
22:41:38 <elliott> ais523_: are you sure you kill it?
22:41:51 <Vorpal> elliott, if that happened to me I would react pretty much as ais523_ and then file a bug :P
22:41:52 <ais523_> elliott: at this stage, I need so many nested hypotheticals that it's hard to envisage what I'd do
22:42:15 <cpressey> ais523_: also, in this world, the sky is pink
22:42:23 <Vorpal> cpressey++
22:42:24 <cpressey> and paper is made from frogs
22:42:31 <ais523_> (I think the sort of questioning you were trying there was a TDWTF meme for a while, after someone tried it in an interview)
22:42:32 <elliott> ais523_: and frogs are actually illegal
22:42:35 <Vorpal> cpressey, AWESOME!
22:42:45 <elliott> frogpaper would be sweet, gotta admit
22:42:51 <elliott> hmm, name a common hard drive size > 100 megs but < 1 gig
22:42:56 <ais523_> elliott: dangling SHALL, there
22:43:02 <ais523_> do you mean that people SHALL NOT own frogs?
22:43:04 <elliott> a > 100 meg HD size you might see used with MS-DOS
22:43:07 <Vorpal> elliott, you mean frogper
22:43:09 <elliott> ais523_: no, frogs are just illegal
22:43:12 <elliott> that's what the law says
22:43:14 <elliott> "Frogs are illegal."
22:43:22 <ais523_> I'm not sure what it means for a noun to be illegal, as opposed to a verb
22:43:30 <elliott> ais523_: and nobody has dared test it in court yet
22:44:02 <ais523_> my guess would be that it would be a method for the government to arbitrarily declare activities to potentially involve frogs
22:44:10 <ais523_> in order to create an excuse to arrest people they didn't like
22:44:14 <elliott> heh
22:44:42 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
22:45:00 <elliott> <elliott> a > 100 meg HD size you might see used with MS-DOS
22:45:04 <elliott> nobody wanna take the bait? :(
22:45:21 <ais523_> 200 metric MB would seem plausible, or maybe 240
22:45:27 <ais523_> but that's just a guess
22:45:38 <elliott> ais523_: anything bigger?
22:45:52 <ais523_> 400 metric MB, perhaps?
22:45:53 <ais523_> I'm still guessing
22:45:54 <elliott> "240 meg hard drive" "Did you mean: 240 gig hard drive"
22:45:56 <elliott> no google, i didn't
22:45:59 <ais523_> do you want me to guess some larger numbers?
22:46:04 <ais523_> also, I love that correction
22:46:05 <elliott> ais523_: not really
22:46:09 <elliott> Quantum 240MB 3.5 inch IDE Hard Drive ProDrive LPS GM24A013
22:46:09 <elliott> $331 - 4 stores
22:46:12 <Vorpal> elliott, well you could go bigger but what would be the point
22:46:14 <elliott> heh
22:46:18 <ais523_> wow that's expensive
22:46:21 <elliott> Vorpal: so 240 do you think?
22:46:31 <Vorpal> elliott, well, hard to say
22:46:33 <elliott> ais523_: well, it's old and no longer produced
22:46:35 <ais523_> hmm, I'm having issues visualising that
22:46:41 <ais523_> expensive because it's hard to obtain, presumably?
22:46:41 <elliott> ais523_: ?
22:46:44 <elliott> ais523_: yes
22:46:47 -!- poiuy_qwert has quit (Ping timeout: 245 seconds).
22:46:50 <elliott> ais523_: they were popular when they existed
22:46:52 <elliott> then Quantum disappeared
22:46:54 <elliott> etc.
22:47:08 <elliott> that's probably selling them at their retail price at the time or something
22:47:09 <elliott> who knows?
22:47:14 <Vorpal> elliott, why did they disappear?
22:47:23 <olsner> didn't they merge with/get bought by seagate?
22:47:23 <ais523_> Vorpal: someone observed them
22:47:30 <Vorpal> ais523_, observed?
22:47:33 <Vorpal> as in, watching?
22:47:33 <elliott> Vorpal: http://en.wikipedia.org/wiki/Quantum_Corporation
22:47:41 <elliott> Vorpal: yes, Heisenberg Corporation
22:47:48 <Vorpal> elliott, XD
22:47:59 <elliott> why are you XDing me, i was trying to see how stupidly unaware of ais523_'s joke you could get
22:48:00 <elliott> XD ais523_
22:48:09 <ais523_> elliott: you gave it away too quickly
22:48:18 <elliott> ais523_: he'd just give up, though
22:48:25 <ais523_> 'twould have worked better if I'd got in before olsner's sensible answer, though
22:48:36 <ais523_> it rather gave away the existence of a joke
22:49:07 <ais523_> (incidentally, this channel seems to use jokes as weapons to prove other people's stupidity/denseness, rather than for actual humour, which is possibly missing the point somewhat)
22:49:33 <Vorpal> <ais523_> 'twould have worked better if I'd got in before olsner's sensible answer, though <-- yes it would have worked then
22:49:37 <Vorpal> as it was now, it didn't
22:50:18 <Vorpal> bbl
22:50:19 <elliott> woo, MS-DOS 6.22 install!
22:50:35 <ais523_> are you going to run printable hello world programs on it?
22:50:47 <elliott> ais523_: yes, and also write my own, far superior DEBUG.COM-based batch file assembler
22:50:55 <elliott> ais523_: and hopefully assemble my DOS 1 on it
22:51:09 <elliott> yay, it supports UK keyboards!
22:51:13 <ais523_> `quote 247
22:51:14 <HackEgo> 247|* Gregor bashes his head into the wall that is Sgeo.
22:51:18 <ais523_> wait /what/?
22:51:23 <ais523_> `quote 248
22:51:24 <HackEgo> 248|[spam] Any flavored hell can pee on the pig pen, but it takes a real football team to throw a slyly optimal formless void at a hole puncher.
22:51:30 <ais523_> `quote 247
22:51:31 <HackEgo> 247|* Gregor bashes his head into the wall that is Sgeo.
22:51:38 <ais523_> what happened to the zzo quote?
22:51:39 <elliott> `quote 246
22:51:40 <HackEgo> 246|<ais523> syntax is the least important part of a programming language <ais523> other than Python
22:51:45 <elliott> ais523_: tl;dr hackego sucks at reverting
22:51:51 <elliott> and apparently gregor didn't bother to do anything about it
22:51:53 <elliott> when i pinged him about it
22:51:57 <Sgeo> http://newyork.cbslocal.com/2010/10/28/carl-paladino-brushes-off-poll-numbers-on-long-island/
22:51:57 <elliott> ais523_: hmm, is DOS Y2K compatible?
22:52:01 <ais523_> [16:46] <elliott> 22:00:09 <HackEgo> 247|<zzo38> elliott: Do not trust a computer you cannot throw out of a window. Including the window too far from the rope.
22:52:02 <Sgeo> I hate humanity
22:52:04 <elliott> ais523_: yes
22:52:06 <elliott> ais523_: i reverted it and shit
22:52:09 <elliott> ais523_: not everything worked
22:52:10 <ais523_> ah
22:52:14 <elliott> ais523_: and shit, uh, basically, it got messed and still is
22:52:15 <pikhq> I wonder if FreeDOS can do UTF8.
22:52:16 <ais523_> I'm trying to figure out what that quote means
22:52:35 <ais523_> elliott: I was using win3.1 past 2000
22:52:37 <ais523_> DOS worked fine
22:52:42 <elliott> ais523_: but did it think it was 1910?
22:52:45 <elliott> pikhq: probably
22:52:48 -!- poiuy_qwert has joined.
22:52:49 <ais523_> but File Manager printed years as 19:0 for 2000
22:52:53 <elliott> woo, C:\DOS!
22:52:54 <elliott> ais523_: ha
22:52:57 <Sgeo> Clearly, he doesn't really want to let his computer be destroyed
22:53:02 <elliott> ais523_: I mean, DOS has recognised it's /10
22:53:08 <elliott> ais523_: I'm just not sure *which* /10 it thinks it is
22:53:08 <Sgeo> </obvious-or-oblivious-joke-explainer>
22:53:10 * elliott inserts disk 2
22:53:26 <ais523_> Sgeo: even with that explanation, I don't understand
22:54:03 <Sgeo> "a window", taken literally? /em isn't ssure
22:54:03 <elliott> ais523_: tie computer to short rope, throw out window, retrieve computer with impossible strength
22:54:18 <ais523_> "including"?
22:54:19 * Sgeo triplefails
22:54:22 <elliott> ais523_: interestingly, i never noticed that quote doesn't make sense until you pointed it out
22:54:30 <elliott> ais523_: "Never use a computer if not X or not Y".
22:54:42 <elliott> ais523_: "Including" meaning "the previous condition is violated in this additional case:" in zzo38
22:54:48 <ais523_> elliott: I'd expect zzo38 grammar to generally be insanely pedantically correct
22:54:59 <elliott> ais523_: it isn't, if you look closely
22:55:04 <ais523_> and aren't windows windows even if they're too far from the rope?
22:55:27 <Sgeo> They could be only marginally connected thoughts
22:55:50 <Sgeo> I've done that before
22:56:31 <cpressey> I makes total sense when you decode into it
22:57:16 <Sgeo> It's infecting cpressey!
22:57:57 <elliott> <ais523_> and aren't windows windows even if they're too far from the rope?
22:58:20 <elliott> ais523_: yes, but you should never use a computer that you can't throw out of a window, or even if you can throw it out of the computer, you shouldn't unless the rope is close enough to the window
22:58:25 <elliott> ais523_: perhaps rope = power cord
22:59:23 <Sgeo> They used power coords in the old days to hang people
22:59:31 <Sgeo> Some coords came through a time vorte
22:59:32 <Sgeo> t
22:59:38 <Sgeo> Best use of them was hanging
22:59:54 * Sgeo is in a giggly mood
23:00:01 <elliott> YOU ARE ALWAYS IN A GIGGLY MOOD
23:00:03 <ais523_> so am I, and have been for the last several hours
23:00:12 <ais523_> this channel's been so amazing, if not exactly ontopic
23:00:19 <elliott> really?
23:00:25 <elliott> I didn't notice any additional amazingness
23:00:27 <ais523_> I need to relax somehow
23:00:32 <elliott> ais523_: what's SMARTDRV and why is MS-DOS running it?
23:00:39 <elliott> and why isn't it booting up further X_X
23:01:10 <ais523_> elliott: SMARTDRV is disk caching
23:01:15 <ais523_> DOS doesn't cache at all
23:01:17 <elliott> is it useful at all? :p
23:01:19 <ais523_> SMARTDRV.SYS does
23:01:25 <elliott> but yeah it has frozen my flrtirt
23:01:26 <elliott> dfksdfj
23:01:28 <elliott> stupid dos
23:01:30 <elliott> stupid stupiding
23:01:31 <ais523_> and yes if your memory is faster than your disk, so no because you're on a virtualised system
23:01:37 <Sgeo> http://serendip.brynmawr.edu/cgi-bin/pdilemma.perl
23:01:38 <Sgeo> .perl
23:01:40 <Sgeo> perl
23:01:41 <elliott> ais523_: err, the HD is still a file
23:01:45 <elliott> Sgeo: quite common
23:01:50 <ais523_> bleh
23:01:58 <ais523_> well, you have caching on your own disk, don't you?
23:02:10 <ais523_> if the outside OS is caching, pointless for the inside OS to be caching too
23:02:18 <ais523_> or you'd be caching caches
23:02:18 <elliott> ais523_: indeed
23:02:28 <elliott> ais523_: more to the point, DOS doesn't work! sad
23:02:44 <ais523_> both DOSBox and JPC-RR work fine for me
23:02:54 <elliott> ais523_: *MS-DOS
23:02:56 <ais523_> (although both are rather slow; JPC-RR is /incredibly/ slow)
23:03:04 <elliott> ais523_: i want original authentic DEBUG.COM!
23:03:12 <ais523_> is that in the same zipfile as QBasic?
23:03:18 <elliott> ais523_: i very much doubt it
23:03:22 <elliott> anyway, i want real dos, so nyah
23:03:55 <Sgeo> blink tags
23:04:06 <Sgeo> Why did it have to be blink tags?
23:04:23 <elliott> ais523_: to be honest, i'd rather use ms-dos 5, before stinky CD distribution
23:04:25 <elliott> but there you go
23:04:58 <ais523_> apparently, <blink> was originally added as a joke
23:05:05 <ais523_> and people liked the feature and wanted it to be kept in
23:05:16 <elliott> really?
23:05:17 <elliott> heh
23:05:20 <ais523_> ("apparently" meaning "on some webpage I can't remember, and I'm not sure how reliable it was")
23:05:29 <cpressey> i thought that was javascript!
23:05:32 * Sgeo remembers reddit linking to it
23:05:36 <elliott> "Current date is Thu 10-28-2010
23:05:40 <elliott> Enter new date (mm-dd-yy):"
23:05:44 <elliott> err, no DOS, you got it right
23:06:00 <elliott> apparently 10-28-10 is an invalid date :)
23:06:05 <elliott> oh, -2010 works
23:06:08 <elliott> despite it being -yy
23:06:10 <elliott> maybe it wanted -110
23:06:24 <cpressey> so how to I tell Ubuntu that my FAT32 filesystems should behave as +x on all files be default, like it used to
23:06:30 <elliott> ais523_: wow, DOS 3.3 (1987) didn't show :\ in the prompt
23:06:31 <elliott> A>
23:06:36 <cpressey> *grambar
23:06:39 <Sgeo> http://www.montulli.org/theoriginofthe%3Cblink%3Etag
23:06:43 <ais523_> cpressey: it's probably an option in /etc/mtab, if I've remembered the name correctly
23:06:46 <Sgeo> http://www.reddit.com/r/programming/comments/cmaam/i_would_like_to_publicly_state_that_at_no_time/
23:06:49 <elliott> ais523_: fstab
23:06:51 <ais523_> elliott: it didn't show the directory at all
23:06:52 <elliott> Sgeo: what a terrible url
23:06:57 <elliott> ais523_: yup
23:06:58 <ais523_> in DOS, you use cd to print the current directory
23:07:00 <elliott> ais523_: 3.3 sux P:P
23:07:01 <elliott> *:P
23:07:12 <ais523_> which is confusing if you're used to the pwd-prints-cd-homes behaviour of UNIX
23:07:22 <cpressey> elliott: no, it's mtab.
23:07:28 <cpressey> thx ais523_
23:07:34 <elliott> cpressey: ?
23:07:39 <elliott> it's really not
23:07:42 <elliott> cpressey: mtab is the current state
23:07:44 <elliott> modifying it won't work
23:07:55 <elliott> no?
23:08:03 <cpressey> well fstab only lists permanent fs's
23:08:06 <cpressey> this is a flash drive
23:08:19 <cpressey> how to say "when you mount this", etc
23:08:22 <cpressey> >?
23:08:27 <elliott> "In the end, the thing that I am truly sad about, is that Lynx never did get to blink."
23:08:29 <elliott> THAT CAN BE FIXED
23:08:33 <ais523_> ouch, that's pretty complex
23:08:36 <elliott> cpressey: fstab
23:08:38 <ais523_> also, is Lynx still developed?
23:08:41 <elliott> cpressey: i think you can tell it not to automount
23:08:47 <elliott> ais523_: what's pretty complex?
23:08:54 <elliott> ais523_: also, yes; last stable release was in June
23:08:57 <elliott> last development release too
23:09:02 <ais523_> changing default settings for USB stick mounting
23:09:16 <elliott> ais523_: windows drive, not usb stick
23:09:18 <cpressey> ais523_: that's... great
23:09:28 <ais523_> as in, I don't know a simple way to do it
23:09:36 <cpressey> elliott: *mine* is a usb stick
23:09:45 <ais523_> you could remount it with different settings, once it's mounted
23:09:53 <elliott> oh, okay
23:09:55 <elliott> FAT, I guess
23:09:56 -!- lilja_ has quit (Ping timeout: 240 seconds).
23:10:01 <ais523_> I can't remember how to do that either, but it's relatively easy IIRC
23:10:02 <elliott> cpressey: why not just format it as ext3 >:)
23:10:14 <elliott> ais523_: ok, 4.01 is also evilly old
23:10:17 <elliott> 1988 too
23:10:18 <ais523_> elliott: user numbers are different on different systems you take it to
23:10:26 <elliott> ais523_: clearly we need asciifs
23:10:28 <elliott> which uses usernames
23:10:29 <ais523_> elliott: not as old as NetHack, then
23:10:32 <elliott> and, also, no non-printable chars
23:10:35 <elliott> it's like shar but for filesystems
23:10:38 <ais523_> elliott: no, because usernames can differ too
23:10:44 <elliott> ais523_: ah, shaddap
23:10:45 <elliott> it's like shar but for filesystems!
23:10:45 <ais523_> it should just magically know
23:10:50 <elliott> even better: it's actually a shell script
23:10:56 <ais523_> that said, sharfs is a great concept
23:10:57 <elliott> preferably one that recreates the directory tree, permissions and all
23:11:04 <elliott> of course, in a fixed format
23:11:07 <elliott> (not running sh in the kernel! :P)
23:11:18 <ais523_> having sh in the kernel would be nice for crash recovery
23:11:30 <elliott> ais523_: yes, but, don't mount the filesystem that way
23:11:34 <elliott> just parse the shell script according to a fixed format
23:11:41 <elliott> ais523_: this would actually be nice for loopback
23:11:46 <elliott> ais523_: you can either 'sh foo.sh' and get a foo/ directory
23:11:48 <elliott> or mount it loopback
23:11:50 <ais523_> hmm, it would actually be a quine, wouldn't it?
23:11:54 <elliott> ais523_: how?
23:11:58 <ais523_> running foo.sh on a sharfs system
23:12:03 <ais523_> would create a copy of its source
23:12:10 <elliott> ais523_: well, it'd... eh?
23:12:19 <elliott> ais523_: foo.sh, when *run*, would create the filesystem on any filesystem
23:12:22 <elliott> with cat, chmod, etc.
23:12:23 <ais523_> exactly
23:12:26 <Sgeo> http://cheese.blartwendo.com/web21-demo.html
23:12:26 <elliott> ais523_: right
23:12:28 <ais523_> if that filesystem is sharfs itself
23:12:29 <elliott> ais523_: if you did
23:12:31 <ais523_> it's making a copy of itself
23:12:35 <elliott> # mount /dev/foo foo
23:12:38 <ais523_> so the new sharfs filesystem is the same as the old one
23:12:38 <elliott> # cd foo
23:12:41 <elliott> # sh /dev/foo
23:12:47 <elliott> then you'd get
23:12:55 <elliott> foo/(files)
23:12:57 <elliott> and foo/foo/(files)
23:13:15 <elliott> ais523_: how to back up your drive:
23:13:27 <elliott> # sh /dev/foo && tar-and-compress-etc .
23:13:37 <cpressey> WARNING: peak scalar flow in deep node
23:13:58 <ais523_> elliott: I'm suggesting # mount /dev/foo2 /mnt # cd /mnt # sh /dev/foo
23:14:02 <cpressey> WARNING: also, bad magic. check log for warnings
23:14:09 <ais523_> now, /dev/foo2 is a copy of /dev/foo, assuming it's sharfs
23:14:19 <elliott> ais523_: oh, right, it writes changes back
23:14:19 <ais523_> so /dev/foo is a quine
23:14:20 <elliott> ais523_: yes, yes
23:14:22 <elliott> ais523_: glorious
23:14:26 <ais523_> also, I should go home
23:14:28 <ais523_> bye everyonr
23:14:33 <elliott> ais523_: aww
23:14:34 <elliott> ais523_: bye
23:14:34 -!- ais523_ has quit (Quit: Page closed).
23:14:36 <elliott> :)
23:14:39 <elliott> cpressey: wat
23:16:40 <cpressey> elliott: WARNING: logic not configured
23:16:47 <cpressey> WARNING: also, too many statements in exp
23:16:52 -!- FireFly has quit (Quit: swatted to death).
23:17:45 <cpressey> debugging this thing is making me a bit mashuga
23:18:21 <elliott> cpressey: rewrite storkbot in |-lang
23:18:25 <elliott> |with nc -e!
23:18:25 <storkbot> elliott: omg u errored teh syntax!!1!
23:19:02 <cpressey> Pipe-lang?
23:19:09 <cpressey> I haven't invented that yet
23:19:12 <elliott> cpressey: well
23:19:12 <elliott> |this
23:19:12 <storkbot> elliott: ?SYNTAX ERROR
23:19:29 <elliott> cpressey: use @ and ~/ for all the variables and stuff and add conditionals and whatnot
23:19:44 <cpressey> I'm planning to make that "Unknown command (for a more interesting response, set ~/snark=1.)
23:20:05 <cpressey> oh rewrite storkbot in the language storkbot implements?
23:20:14 <elliott> cpressey: yes
23:20:24 <elliott> cpressey: write a storklang implementation then write storkbot in storklang
23:20:25 <cpressey> that'll... not anytime soon
23:20:30 <elliott> and the original dream you had will be COMPLETE
23:20:57 -!- myndzi\ has changed nick to myndzi.
23:21:48 <elliott> http://nastynets.com/secretstash/blogstuff/2010/10/fingeruser.png
23:22:28 <cpressey> |~/b=[~storkbot/BRA]
23:22:28 <storkbot> cpressey: [
23:22:34 <cpressey> |~/b
23:22:34 <storkbot> cpressey: [
23:22:35 -!- Ilari has quit (Quit: Reconnecting).
23:23:06 <cpressey> |~/k=[~/storkbot/KET]
23:23:06 <storkbot> cpressey: omg u errored teh syntax!!1!
23:23:06 <storkbot> cpressey:
23:23:15 <cpressey> |~/k=[~storkbot/KET]
23:23:15 <storkbot> cpressey: ]
23:23:17 <elliott> cpressey: oh is that why those exist? heh
23:23:19 -!- Ilari_antrcomp has changed nick to Ilari.
23:23:20 <elliott> cpressey: shouldn't they be global
23:23:21 <elliott> ?
23:23:23 <elliott> @BRA and @KET
23:23:31 <cpressey> elliott: if they were global you could HACK them!
23:23:45 <elliott> cpressey: oh
23:23:49 <elliott> cpressey: make a sys account
23:23:56 <elliott> cpressey: wait.
23:24:01 -!- Ilari_ has joined.
23:24:01 <elliott> cpressey: what variables do you have again?
23:24:17 -!- Ilari has changed nick to Ilari_antrcomp.
23:24:19 <cpressey> |~/foo=goto [~/b]~/foo[~/k]
23:24:19 <storkbot> cpressey: goto [~/foo]
23:24:21 -!- Ilari_ has changed nick to Ilari.
23:24:28 <cpressey> |goto [~/foo]
23:24:29 <storkbot> cpressey: Out of stack space! Well no, but I stopped it anyway.
23:24:33 <cpressey> :D
23:24:44 <cpressey> |help var
23:24:45 <storkbot> cpressey: Help is available for: assignment expressions print goto
23:24:51 <cpressey> |help ass
23:24:51 <storkbot> cpressey: Assign a user-scope variable with ~/foo=1. Assign a server-scope variable with @bar=1.
23:24:54 <elliott> |[=[
23:24:54 <storkbot> elliott: ?SYNTAX ERROR
23:24:57 <elliott> |(=[
23:24:57 <storkbot> elliott: ?SYNTAX ERROR
23:25:00 <elliott> {=[
23:25:02 <elliott> |{=[
23:25:02 <storkbot> elliott: omg u errored teh syntax!!1!
23:25:03 <Vorpal> <elliott> http://nastynets.com/secretstash/blogstuff/2010/10/fingeruser.png <-- uh yes? I mean the sexual jokes about that are *old*...
23:25:07 <elliott> cpressey: your language sucks ass
23:25:12 <elliott> Vorpal: Yes, but the specific wording is just too much.
23:25:22 <Vorpal> elliott, true it is a bit over the top
23:25:32 <elliott> Vorpal: Considering it's real.
23:25:38 <Vorpal> elliott, yes I know
23:25:45 <cpressey> elliott: if by "sucks ass" you mean "rules the ircwaves, too bad it's not documented", I agree
23:25:49 <elliott> |~/{=[
23:25:49 <storkbot> elliott: ?SYNTAX ERROR
23:25:50 <Vorpal> elliott, the Swedish translation of OS X is quite harmless
23:25:55 <elliott> |~/B=[
23:25:55 <storkbot> elliott: [
23:25:59 <elliott> |~/K=]
23:25:59 <storkbot> elliott: ]
23:26:09 <cpressey> huh
23:26:15 <elliott> cpressey: make ~/ implicit :P
23:26:15 <cpressey> i didn't yhink that would work
23:26:21 <cpressey> elliott: i mgiht
23:26:27 <Vorpal> might*
23:26:27 <cpressey> it is a mouthful
23:26:29 <elliott> |~/loop=goto [~/B]~/loop[~/K]
23:26:29 <storkbot> elliott: goto [~/loop]
23:26:31 <elliott> |~/loop
23:26:31 <storkbot> elliott: goto [~/loop]
23:26:31 <cpressey> fingerful
23:26:35 <elliott> |[~/loop]
23:26:35 <storkbot> elliott: Out of stack space! Well no, but I stopped it anyway.
23:26:44 <cpressey> needs more cowbell
23:26:45 <elliott> cpressey: goto is basically a retarded []
23:26:46 <cpressey> and 'if'
23:27:00 <elliott> |~/loop=[~/B][~/B]~/loop[~/K][~/K]
23:27:01 <storkbot> elliott: [[~/loop]]
23:27:03 <cpressey> |goto help
23:27:03 <storkbot> cpressey: Help is available for: assignment expressions print goto
23:27:05 <elliott> |[~/loop]
23:27:05 <storkbot> elliott: ?SYNTAX ERROR
23:27:08 <Vorpal> elliott, why was it called finger in the first place?
23:27:12 <elliott> |goto ~/loop
23:27:12 <storkbot> elliott: [[~/loop]]
23:27:14 <elliott> Vorpal: who knows?
23:27:23 <elliott> |~/loop=[~/B]~/loop[~/K]
23:27:23 <storkbot> elliott: [~/loop]
23:27:25 <elliott> |[~/loop]
23:27:25 <storkbot> elliott: ?SYNTAX ERROR
23:27:28 <elliott> cpressey: ???
23:27:30 <elliott> |~/loop
23:27:30 <storkbot> elliott: [~/loop]
23:27:33 <elliott> |goto [~/loop]
23:27:33 <storkbot> elliott: omg u errored teh syntax!!1!
23:27:37 <Vorpal> elliott, whoever called it that presumably knows, unless he/she was drunk at the time or similar
23:27:37 <elliott> cpressey: why is that an error?
23:27:51 <cpressey> elliott: []-expansion is shallow, i think
23:28:01 <elliott> cpressey: make it deep!
23:28:07 <elliott> cpressey: then you can get rid of goto :p
23:28:12 <elliott> |goto ~/loop
23:28:12 <storkbot> elliott: [~/loop]
23:28:19 <elliott> cpressey: or get rid of []
23:28:21 <Vorpal> |goto foo
23:28:21 <storkbot> Vorpal: omg u errored teh syntax!!1!
23:28:23 <elliott> doesn't goto do it all for you?
23:28:23 <cpressey> |~/m=help
23:28:23 <storkbot> cpressey: help
23:28:26 <Vorpal> |goto ~/foo
23:28:26 <storkbot> Vorpal:
23:28:29 <Vorpal> uh
23:28:29 <elliott> |~/loop=goto ~/loop
23:28:29 <storkbot> elliott: goto ~/loop
23:28:30 <cpressey> |goto [~/m]
23:28:30 <storkbot> cpressey: Help is available for: assignment expressions print goto
23:28:33 <elliott> |goto ~/loop
23:28:33 <storkbot> elliott: goto ~/loop
23:28:34 <Vorpal> so what does it do?
23:28:35 <cpressey> |[~/m]
23:28:35 <storkbot> cpressey: Help is available for: assignment expressions print goto
23:28:36 <elliott> |goto [~/loop]
23:28:36 <storkbot> elliott: goto ~/loop
23:28:52 <elliott> |@x=3
23:28:52 <storkbot> elliott: 3
23:28:54 <elliott> |@X
23:28:54 <storkbot> elliott:
23:28:55 <elliott> |@x
23:28:55 <storkbot> elliott: 3
23:29:01 <Vorpal> |@x
23:29:01 <storkbot> Vorpal: 3
23:29:04 <elliott> |help assignment
23:29:04 <storkbot> elliott: Assign a user-scope variable with ~/foo=1. Assign a server-scope variable with @bar=1.
23:29:06 <elliott> |help expressions
23:29:06 <storkbot> elliott: All items in [brackets] are replaced by their value, in a recursive, depth-first manner.
23:29:07 <elliott> |help print
23:29:07 <storkbot> elliott: To print a string, issue the command 'print string'.
23:29:08 <elliott> |help goto
23:29:08 <storkbot> elliott: To evaluate a string as a command, issue 'goto command'. This discards control context.
23:29:19 <cpressey> |goto ~elliott/loop
23:29:19 <storkbot> cpressey: goto ~/loop
23:29:33 <cpressey> your loop would go to mine if... ach
23:29:33 <elliott> cpressey: ooh, it doesn't rename variables? naughty naughty!
23:29:46 <cpressey> "rename"? "variables"? these are all just strings
23:30:07 <cpressey> the contents of ~elliott/loop is "goto ~/loop"
23:30:45 <elliott> cpressey: yeah yeah :P
23:30:49 <elliott> cpressey: it should auto-replace :D
23:31:25 <Sgeo> Is this some sort of ZipperFS bot?
23:32:02 -!- tombom has quit (Quit: Leaving).
23:33:28 <elliott> Sgeo: ??
23:33:33 <cheater99> hmmm, i'm not sure how the "task grouping" in gnome panel's app switcher works together with scroll-wheel browsing of open apps
23:33:38 <cheater99> this sort of sucks
23:33:49 <cheater99> i would expect the separate groups to expand dynamically when i'm doing that
23:33:52 <elliott> "one can cd into a lambda-term in bash" this is why oleg is hot
23:33:58 <cpressey> Sgeo: ......................... NO
23:34:22 <elliott> Sgeo probably doesn't mean the oleg thing.
23:34:30 <elliott> "… the zipper-based file system looks almost the same as the Unix file system. Unlike the latter, however, we offer: transactional semantics; undo of any file and directory operation; snapshots; statically guaranteed the strongest, repeatable read, isolation mode for clients; built-in traversal facility; and just the right behavior for cyclic directory references.
23:34:30 <elliott> We can easily change our file server to support NFS or 9P or other distributed file system protocol. We can traverse richer terms than mere finite maps with string keys. In particular, we can use lambda-terms as our file system: one can cd into a lambda-term in bash."
23:34:31 <cpressey> Sgeo: Just because you read about ZipperFS and just because my bot uses a vaguely unix-homedir-like syntax does NOT mean...
23:35:01 <Sgeo> <elliott> "one can cd into a lambda-term in bash" this is why oleg is hot
23:35:05 <Sgeo> That's what I meant
23:35:08 <cpressey> elliott: Sgeo was reading about it last night, so...
23:35:15 <cpressey> natural assumption
23:35:27 <elliott> oh, okay.
23:37:11 <Vorpal> cpressey, natural assumption for Sgeo you mean?
23:37:25 <elliott> ...
23:37:34 <cpressey> no, natural assumption that the ZipperFS he was referring to was the one he was reading about
23:37:43 <Vorpal> cpressey, ah
23:37:50 <cpressey> the other assumption here is highly unnatural imo
23:37:58 <Vorpal> cpressey, yes that is what I meant too
23:38:01 <cpressey> perhaps it was more wishful thinking
23:38:07 <Vorpal> cpressey, indeed
23:38:09 <cpressey> *more of a case of
23:38:10 <Sgeo> Well, I saw goto somecommand
23:38:27 <Vorpal> |goto goto
23:38:27 <storkbot> Vorpal: omg u errored teh syntax!!1!
23:38:34 <Vorpal> aww
23:38:52 <Vorpal> |goto goto print x
23:38:52 <storkbot> Vorpal: x
23:38:54 <Vorpal> ah
23:39:01 <cpressey> |~/foo=goto [~/b]~/foo[~/k]
23:39:01 <storkbot> cpressey: goto [~/foo]
23:39:07 <Sgeo> |alias goto ls
23:39:08 <storkbot> Sgeo: ?SYNTAX ERROR
23:39:09 <cpressey> |goto [~/foo]
23:39:09 <storkbot> cpressey: Out of stack space! Well no, but I stopped it anyway.
23:39:36 <Vorpal> cpressey, you spent a lot of time on the error messages eh?
23:39:50 <Sgeo> And by ls I obviosly meant cd
23:39:52 <cpressey> Vorpal: I plan to spend more
23:40:02 <Vorpal> cpressey, link to source?
23:40:04 <Sgeo> and by obviosly I obviosly meant obviously
23:40:17 <cpressey> I... this isn't a filesystem, they're just variable scopes that have syntax inspired by a filesystem
23:40:21 <cpressey> |help ass
23:40:21 <storkbot> cpressey: Assign a user-scope variable with ~/foo=1. Assign a server-scope variable with @bar=1.
23:40:31 <cpressey> |source
23:40:31 <storkbot> cpressey: http://pastie.org/1254707
23:40:33 <elliott> cpressey: shouldn't it be /bar
23:40:43 <cpressey> elliott: for global: yes, it probably should
23:40:57 <cpressey> product. of. evolution.
23:41:10 <cpressey> if it do that, i might as well simulate a filesystem, with ls and cd and all
23:41:22 <elliott> cpressey: i approve
23:41:27 <elliott> cpressey: have /source be one of the files there
23:41:29 <elliott> :P
23:41:43 <cpressey> there was also supposed to be message-level scope, but nothing is complex enough to use that yet
23:41:44 <elliott> cpressey: make changing it -- which root (you) can do -- reload the code in the Storklang implementation
23:41:49 <cpressey> and channel-level scope
23:42:11 <cpressey> elliott: that will be... not so straightforward yet
23:42:30 -!- pikhq has quit (Ping timeout: 250 seconds).
23:42:36 <cheater99> i have totally changed the way i work with linux. now the launchers are not at the top bar, they're at the bottom left in a grid. i feel like i'm upside down and a little weird.
23:42:44 <elliott> http://www.smbc-comics.com/?db=comics&id=1994#comic this is amazing
23:43:09 <elliott> (protip for those who haven't read SMBC before: hover over red button)
23:44:21 <elliott> cpressey: dude have you got MS DOS 5 give it to me or die
23:44:31 <elliott> or i could just convert the IMAs
23:46:40 <elliott> WOO I GOT MS DOS 5
23:47:06 <elliott> "An .IMA file contains a raw dump of the content of a disk. This format is not compatible with the Disk Copy Fast format but is supported by multiple software vendors, and is the same format as IMG."
23:47:07 <elliott> that explains it
23:47:28 <elliott> oh right it doesn't extract
23:47:47 <elliott> oh i need the non-free version
23:48:32 * Sgeo remembers his mirror matter fantasies
23:49:31 <elliott> Sgeo: you fantasise about way too much
23:49:56 <Sgeo> It isn't sexual fantasies!
23:50:01 <Sgeo> It's sci-fi fantasy!
23:51:05 <elliott> and?
23:51:28 <Sgeo> There's nothing wrong with having an active imagination.
23:51:56 <elliott> and i never said that
23:52:21 <Vorpal> elliott, this shows the difference to xkcd quite well: http://www.smbc-comics.com/index.php?db=comics&id=2006#comic
23:52:32 <Vorpal> elliott, xkcd could have done it, but the punchline would have been missing
23:52:50 <elliott> Vorpal: for once you said something amusing and intelligent! you are accepted into the club. but on a provisional basis only
23:53:47 <Vorpal> elliott, I guess I went over your head most of the other times ;P
23:53:52 <elliott> Vorpal: also, i reiterate, hover over the red button (you have no idea how many people don't notice this)
23:54:30 <Vorpal> hah
23:55:17 <cpressey> Does UK English really spell it "fantasise"? That looks way odd
23:57:53 <elliott> yes
23:57:57 <elliott> -ize is always -ise
23:58:17 <elliott> cpressey: also, it doesn't have ambiguity with sizing cans of Fanta
23:58:23 <elliott> got a point you've gotta admit
←2010-10-27 2010-10-28 2010-10-29→ ↑2010 ↑all