--- Log opened Thu Dec 31 00:00:41 2009 |
01:19 | | You're now known as TheWatcher[T-2] |
01:22 | | chintimin [zag@Nightstar-d0088b95.or.comcast.net] has joined #code |
01:27 | | You're now known as TheWatcher[zZzZ] |
01:27 | < chintimin> | Hi, guys. :) |
01:31 | < MyCatSchemes> | Hey chint. |
01:39 | < chintimin> | Hey, MCV. |
01:40 | < chintimin> | how goes? |
01:43 | < MyCatSchemes> | Along, kinda. |
01:43 | < MyCatSchemes> | Er, it's way late and I need sleep. Sorry to run so soon, but 'z' noises. |
01:45 | < chintimin> | It's nice to see you again. |
01:46 | < chintimin> | Take care. |
01:47 | < MyCatSchemes> | Thanks. You too. |
01:47 | | MyCatSchemes [mycatverbs@Nightstar-ba39eab0.bb.sky.com] has quit [[NS] Quit: Leaving] |
02:30 | | * chintimin shakes his head in bemusement |
02:30 | < chintimin> | Sir Stewart. |
02:43 | | Vornicus-Latens is now known as Phas |
02:48 | | * chintimin wishes he could find someone to give advice on a matter of headphones |
02:49 | < chintimin> | ah, well. off to coffee with family before they had back to the desert. |
02:49 | < chintimin> | Thanks for pointing me at this spot, vorn |
02:50 | < chintimin> | amused to find familiar faces |
02:50 | < chintimin> | though it's not a large network |
02:53 | | Attilla [The.Attilla@FBC920.DDABA2.BBDFC7.BE7CCD] has quit [Connection reset by peer] |
04:01 | | celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: *hums* Can't stay now!] |
04:45 | < chintimin> | This is not a fast-moving channel, is it? |
05:06 | <@Phas> | No. |
05:06 | <@Phas> | Usually we only talk when we're aggravated at something and then everybody chimes in. |
05:36 | | Phas is now known as Vornicus-Latens |
05:56 | | * jerith rants about undocumented magic. |
05:56 | <@jerith> | (I don't have the energy for the full rant, so just pretend I ranted it.) |
05:57 | < Namegduf> | I agree. |
05:57 | <@jerith> | Although the following log message is somewhat amusing: |
05:57 | <@jerith> | client BatchProcessingProtocol connection established (HOST:('seriously it is a process this makes no sense',) PEER:('omfg what are you talking about',)) |
05:58 | <@jerith> | (Bonus points if you can tell me what I'm hacking on based on that.) |
06:27 | | Alek [omegaboot@Nightstar-abec3fe3.emhril.sbcglobal.net] has quit [Ping timeout: 121 seconds] |
06:33 | | Alek [omegaboot@Nightstar-5f4513ad.emhril.sbcglobal.net] has joined #code |
08:05 | | AnnoDomini [annodomini@Nightstar-412c2ad4.adsl.tpnet.pl] has joined #code |
08:05 | | mode/#code [+o AnnoDomini] by Reiver |
09:42 | | You're now known as TheWatcher |
10:01 | | MyCatSchemes [mycatverbs@Nightstar-ba39eab0.bb.sky.com] has joined #code |
10:07 | | Rhamphoryncus [rhamph@Nightstar-a62bd960.abhsia.telus.net] has quit [Client exited] |
11:26 | | Attilla [The.Attilla@FBC920.DDABA2.BBDFC7.BE7CCD] has joined #code |
11:26 | | mode/#code [+o Attilla] by Reiver |
12:44 | | Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has joined #code |
15:34 | | MyCatSchemes [mycatverbs@Nightstar-ba39eab0.bb.sky.com] has quit [[NS] Quit: Leaving] |
16:29 | | * chintimin waves |
16:38 | | * jerith particles. |
16:38 | <@jerith> | (even though that joke's been done to death here.) |
16:39 | < chintimin> | oh my good GOD |
16:39 | < chintimin> | I walk out of one channel |
16:39 | < chintimin> | into another |
16:39 | < Namegduf> | XD |
16:39 | < chintimin> | and it's like I just wrapped over, y'know? |
16:39 | < chintimin> | So. What WERE you cobbling together, jerith? |
16:39 | <@jerith> | Still am. |
16:40 | <@jerith> | An IRC bot that Sucks Less. |
16:40 | <@jerith> | launchpad.net/eridanus -- it's very early stages so far. |
16:41 | < chintimin> | Oh christ. |
16:41 | < chintimin> | haaaate. |
16:41 | < Namegduf> | Language? |
16:41 | | * Namegduf knows of an existing Perl IRC bot that "Sucks Less". |
16:41 | <@jerith> | Python. |
16:41 | <@jerith> | Namegduf: Which bot would that be? |
16:42 | < Namegduf> | Botnix. |
16:42 | <@jerith> | Never heard of it. |
16:42 | | * Namegduf shrugs |
16:42 | <@TheWatcher> | jerith: that'd have to be ERROR: Use of uninitialized value in concatenation (.) or string at .irssi/plugins/modules/WatcherBotCore.pm line 2293 |
16:42 | <@jerith> | Not that I'm an expert or anything. |
16:43 | <@jerith> | TheWatcher: Context? |
16:44 | < Namegduf> | That's because most of the silly people just keep using eggdrop, and development of good IRC bots is occasional enough it doesn't spread widely, I think. |
16:44 | <@jerith> | There's a pretty decent one called ibid (also Python) that I was involved in in its early days. |
16:44 | <@jerith> | But it doesn't suit my needs. |
16:45 | <@TheWatcher> | jerith: from another channel a couple of days ago - http://pastebin.starforge.co.uk/87 |
16:46 | <@jerith> | I run a knab, which is the perl-based codebase that ibid is replacing, over in #nightstar_bar. |
16:46 | <@jerith> | (He's called Boing.) |
16:46 | <@jerith> | And he's fallen offline. :-( |
16:47 | | * chintimin recalls coding bots for AIM in the 90s |
16:47 | <@jerith> | TheWatcher: Oh, right. But would a real person have fewer bugs than the bot that's impersonating you? |
16:47 | < chintimin> | one that would ask you what your favorite band was |
16:47 | < chintimin> | tell you it liked them, too, but back before they got popular |
16:47 | < chintimin> | and that their latest album sucked |
16:47 | < chintimin> | then log the responses |
16:48 | < chintimin> | ...simplest turing test ever. |
16:49 | < chintimin> | I was a bored CS major then |
16:49 | < chintimin> | before I got the hell away from computers professionally |
16:49 | < chintimin> | because they suck your SOUL |
16:50 | <@TheWatcher> | The solution to that, of course, is to use perl. |
16:51 | <@jerith> | TheWatcher: Is that so that the perl sucks away your soul first? |
16:52 | <@TheWatcher> | No, it's so the cthulhian horrors your soul gets tainted with infect the computers. |
16:52 | <@TheWatcher> | ¬¬ |
16:54 | <@jerith> | Why the *hell* is getPlugins(IEridanusPluginProvider) returning an IEridanusBrokenPluginProvider in its response? |
16:54 | | Vornicus-Latens is now known as Vornicus |
16:56 | <@jerith> | Oh. It wasn't invalidating its cache and thought it was a non-broken plugin. |
16:56 | < chintimin> | ...is it a green laser pointer, or a blue one? |
16:56 | < chintimin> | I hate people. |
16:57 | | * chintimin is buying toys |
16:57 | <@jerith> | The green ones are brighter. |
16:58 | < chintimin> | Yeah, but I kinda want one of the blu-ray ones. "ooo new shiny!" sorta thing. |
16:58 | <@jerith> | And people do, in general, suck. Present company included, although to a lesser extent because you show impeccable taste in IRC channel choice. |
16:58 | < chintimin> | Unpeckable? |
17:00 | <@jerith> | Nope. From the Latin "impeccabilis". |
17:00 | < chintimin> | pecking bill? |
17:00 | <@jerith> | "im-" as a negating prefix and "peccare", to sin. |
17:01 | < chintimin> | chicken peccata mundo? |
17:01 | | * TheWatcher eyes chintimin |
17:01 | < chintimin> | impeccable is a really satisfying word |
17:02 | <@jerith> | It is. The headmaster of my primary school was particularly fond of it, and frequently used "abominable" on the other end of the scale. |
17:02 | < chintimin> | I always felt like "abominable" felt a bit... unwieldy. |
17:03 | < chintimin> | tongue sorta five feet wide, covered in fur sorta word |
17:06 | < chintimin> | Speaking of diction! |
17:07 | < chintimin> | and I know this is old news, but SERIOUSLY! Sir Stewart? |
17:07 | <@jerith> | And why not? |
17:08 | < chintimin> | No reason, I just hope he can "make it so" other actors will engage their talents on the main screen. |
17:08 | <@jerith> | Although he's "Sir Patrick". |
17:08 | < chintimin> | yeah, that. |
17:08 | <@jerith> | Knights have first names. :-) |
17:08 | < Namegduf> | You're not fond of Patrick Stewart? |
17:09 | < chintimin> | Are you kidding? <3 <3 <3 |
17:09 | < Namegduf> | Ah. |
17:09 | < chintimin> | I just can't stop giggling. |
17:09 | < chintimin> | though I'm still bitter there wasn't a video recording of the race-reversed Othello he starred in |
17:09 | <@jerith> | Although "Sir Patrick" is usually Patrick Moore for me. |
17:12 | < chintimin> | I'm tempted to pick up a set of ten of the green lasers and do something tacky with gloves |
17:13 | < chintimin> | though it'll all end in tears (assuming I can still cry) when I close a hand on accident and catch myself in the corner of the eye with one |
17:18 | < chintimin> | anyone here have much experience with open-back headphones? |
17:20 | | You're now known as TheWatcher[afk] |
17:29 | < chintimin> | hrm. |
17:30 | < chintimin> | gadget shopping is fun. |
17:32 | | MyCatVerbs [mycatverbs@Nightstar-ba39eab0.bb.sky.com] has joined #code |
17:32 | | mode/#code [+o MyCatVerbs] by Reiver |
17:32 | < chintimin> | Morning. |
17:34 | <@MyCatVerbs> | Good evening, chint. |
17:35 | <@MyCatVerbs> | Turns out there's an IRC client in emacs. :) |
17:35 | <@MyCatVerbs> | Just have to figure out whether or not it's actually useful now, heh. |
17:35 | <@jerith> | It's less useful than irssi. |
17:36 | <@jerith> | If you use emacs as an OS, you might like it. |
17:37 | <@MyCatVerbs> | Well, it's neat. Jury's still out on whether emacs+ERC has much benefit over GNU screen+irssi+vim. |
17:37 | <@MyCatVerbs> | It's a little neater than Xchat in a few ways, though. ;) |
17:42 | < chintimin> | Am I in the minority preferring vi? :P |
17:42 | < chintimin> | just for editing stuffs |
17:42 | < Tarinaky> | chintimin: I like vim. |
17:44 | < chintimin> | Yeah, that and vigor. |
17:45 | <@MyCatVerbs> | chintimin: I still have muscle memory for vi, but I've been eyeing emacs modes with a covetous glint to my cornea for a while now. |
17:46 | | * chintimin nods |
17:46 | < chintimin> | there was a program called PC Lite I still pull out from time to time |
17:46 | < Namegduf> | I'm sure there'll be a day when I hail Java and Ruby as the gods of languages, and care not for speed, efficiency, and such attributes. |
17:46 | < chintimin> | and I was really frustrated when the drivers for Vista didn't support fullscreen console mode apps |
17:46 | < Namegduf> | But until that day, I find the mere idea of a 30MB text editor so repulsive it could be the best thing ever |
17:46 | < Namegduf> | And I wouldn't want it. |
17:46 | <@MyCatVerbs> | Namegduf: grab a copy of v8 and check out how fast Javascript is these days. :) |
17:46 | < chintimin> | making WordPerfect 5.1 for DOS require DOSBox |
17:47 | < chintimin> | Java? |
17:47 | < chintimin> | Java isn't that great. |
17:47 | <@MyCatVerbs> | Namegduf: I fail to see the issue. I'm running what's probably a 3MB text editor with 27MB of libraries bundled for every programming language worth using. |
17:48 | < Namegduf> | 27MB for like three languages? |
17:48 | < Namegduf> | No, I kid. |
17:48 | < Namegduf> | Seriously, though, still seems a bit big. |
17:48 | < Namegduf> | I mean, if you count in regex libraries and stuff, that adds for some, but not that kind of size. |
17:49 | <@MyCatVerbs> | I don't know what it all is, Namegduf. |
17:49 | | * Tarinaky dus /usr/include and gets back 276M. |
17:49 | <@jerith> | The size of an editor isn't really important as long as it's responsive and has the necessary features. |
17:50 | <@MyCatVerbs> | Namegduf: vim these days comes with a 1.9MB executable. |
17:51 | <@MyCatVerbs> | About 7MB of .vim scripts kicking around various places in the filesystem. |
17:51 | < Namegduf> | I appreciate that, pragmatically, but I still find it emotionally repulsive. I also dislike the emacs control scheme, so I'm not losing much, I guess. |
17:51 | <@MyCatVerbs> | I think about 3-4MB of plain-text documentation. |
17:52 | <@MyCatVerbs> | emacs' ELF executable comes out at ~6.5MB on my box. |
17:52 | <@MyCatVerbs> | It links to a *lot* of stuff. For example, are you familiar with DBUS? |
17:52 | < Namegduf> | Yes, and I see no reason why my text editor has need to use it. |
17:53 | <@MyCatVerbs> | Silly Namegduf, emacs isn't just a text editor. :) |
17:53 | < Namegduf> | Yeah, it's an inferior version of lots of other things. |
17:53 | < Namegduf> | Like a giant swiss army knife. |
17:54 | <@MyCatVerbs> | That's Unix you're insulting there, boy. ;P |
17:54 | <@jerith> | Emacs and vim are both superb editors, but they have very different philosophies. |
17:54 | < Namegduf> | Not really, UNIX isn't making one omniprogram which is inferior at lots of tasks. |
17:54 | < Namegduf> | (Unless people want to seriously argue that the emacs mail client is the best thing ever or such) |
17:54 | <@jerith> | Emacs says "mould me to your will! I am yours to command!" |
17:55 | <@jerith> | And vim says "use my features! I can do all this call stuff!" |
17:55 | < Namegduf> | I already have something to mould to my will. It's called a programming language. |
17:55 | < Namegduf> | Or, hell, my environment in general. |
17:55 | <@jerith> | Namegduf: Which is about 80% of what emacs is. |
17:55 | < Namegduf> | I want a nifty mail client? I will *run a separate mail client of my choice*. |
17:55 | <@jerith> | Except it's optimised for editing. |
17:56 | < Tarinaky> | It gets a little bit silly sometimes. Like tiling wms. You could spend a day setting up layouts for every permutation of program you might run at the same time... Or you could just drag the window somewhere and do some work. |
17:56 | <@jerith> | gnus wins because you have the full power of emacs at your fingertips to write your mail instead of the crappy window that only does copy/paste and even those are bound to crappy keys and can't be changed. |
17:57 | < Namegduf> | Is that serious or not? |
17:57 | <@MyCatVerbs> | Namegduf: I was more arguing that emacs does with libraries something close to what Unix does with distinct programs. |
17:58 | <@MyCatVerbs> | Yes, that's serious. Most mail clients have goatblowingly poor editors. The only ones which don't are terminal clients like mutt or pine which let you shell out to vim. :P |
17:58 | <@jerith> | Namegduf: Very serious. |
17:59 | <@jerith> | I don't use gnus for my mail, but I frequently write my mail in emacs and then paste it into gmail. |
18:00 | <@jerith> | I do that with a lot of web-based stuff, actually. |
18:01 | <@jerith> | I've grown used to even the tiny subset of emacs' power that I use, and not having it available to me is frustrating. |
18:01 | < Namegduf> | MyCatVerbs: My view on that is "Okay, cool, but you've brought me a miniature environment thing where I wanted a text editor. I already have one, and I like it as a whole better." |
18:01 | < Namegduf> | IOW, emacs as an editor probably fails and is really heavy, and is best considered as an environment as a whole, instad. |
18:01 | < Namegduf> | *instead |
18:02 | < Namegduf> | Unless you really like its editing features, I guess. |
18:02 | <@jerith> | emacs as an editor work really well *because* it's a whole environment. |
18:02 | <@MyCatVerbs> | jerith: if you're using Firefox, have you tried the "It's All Text" extensions? |
18:02 | <@MyCatVerbs> | s/extensions/extension/ |
18:03 | <@jerith> | I'm using "View Source With", which lets me edit textboxes in an editor of my choice. |
18:03 | <@jerith> | Namegduf: I can write a little function to do something, and have it available to other little functions I write to do things. |
18:04 | <@MyCatVerbs> | Run emacs --daemon, install "It's All Text", tell IAT that your editor is "emacsclient -c". The extension puts up a purple "Edit this!" box at the bottom left of every HTML textarea. It also shows up on the right-click context menu on textboxes. |
18:04 | < Namegduf> | jerith: Me too, given a scripting language and something I want to do. |
18:04 | < Namegduf> | jerith: Procedural programming is awesome |
18:04 | <@MyCatVerbs> | Namegduf: now imagine that your scripting language is available while you're editing... |
18:05 | < Namegduf> | MyCatVerbs: I can shell out. |
18:05 | <@MyCatVerbs> | For instance, imagine vim with a scripting language that sucked less than vimscript. Wouldn't that be nice? |
18:05 | <@jerith> | Namegduf: I then bind my little function to some keys and use it as if it were a builtin. |
18:05 | < Namegduf> | I refuse to use Vimscript, so yeah. |
18:05 | < Namegduf> | It's ugly as sin. |
18:05 | <@jerith> | You can do this with vim as well, but it's crap. |
18:05 | < Namegduf> | Yeah, I was going to say "I was sure you could bing external things to keys in vim" |
18:06 | < Namegduf> | Does emacs use a real language, or its own one? |
18:06 | <@jerith> | Of course, I almost never have to write these little functions myself. Other people have already done so for me. |
18:06 | < Namegduf> | Right, as is common. |
18:06 | < Namegduf> | Heard of Perl? |
18:06 | < Namegduf> | It's really awesome for that stuff. |
18:06 | <@jerith> | Namegduf: elisp, which is its own weird lisp dialect. |
18:06 | < Namegduf> | jerith: Ewww. |
18:06 | | * Vornicus cannot stand emacs because nothing is where he thinks it should be. |
18:07 | <@jerith> | Vornicus: That's the beauty of emacs. You can rearrange it all. (But it takes a bunch of effort.) |
18:07 | < Tarinaky> | alias emacs=vim |
18:08 | < Namegduf> | Vornicus: There's definitely that factor. |
18:08 | | * Tarinaky hides. |
18:08 | <@jerith> | By the way, I'm not saying you should all use emacs. I'm merely refuting your arguments against it. :-) |
18:08 | < Namegduf> | jerith: Not really, you're just going "scriptable editors are awesome, and elisp beats vimscript" |
18:09 | <@jerith> | Am I wrong? |
18:09 | <@Vornicus> | I've also never really needed a script in my editor |
18:09 | < Namegduf> | I don't see how it beats my point that, when comparing something as an editor, only its qualities related to being an editor are relevant. |
18:09 | < Namegduf> | It might be that emacs as an editor in your existing environment sucks, but if you replace your existing flow with emacs entire, it's awesome. |
18:09 | < Namegduf> | But they're separate comparisons. |
18:09 | <@jerith> | Namegduf: Being arbitrarily extensible *is* a quality related to being an editor. |
18:10 | < Namegduf> | jerith: Only in as much as it assists the editing capabilities and I have a useful application for it. |
18:11 | <@jerith> | Because it's easier for me to define a small but nontrivial transformation function and apply it to a bunch of text (which happens to be code most of the time) than it is to do it manually or use external tools. |
18:12 | <@jerith> | If you don't like emacs because it make you play sequences of chords on your keyboard, that's an entirely reasonable matter of taste. |
18:12 | < chintimin> | jerith: fucking hell |
18:12 | < chintimin> | did you honestly just bring up lisp? |
18:13 | < Namegduf> | That's fine. I'm not sure how it compares to my current process, which would probably involve... I don't know, I'm not sure what small but non-trivial things can't be expressed in regexes. |
18:13 | <@jerith> | But not liking it because it's highly scriptable is a bit silly. |
18:13 | < Namegduf> | That's not quite what I'm doing, though. |
18:13 | <@jerith> | chintimin: I brought up elisp, actually. |
18:13 | | * chintimin grins |
18:13 | < Namegduf> | I'm not not disliking it because it's highly scriptable. |
18:13 | < chintimin> | I HOPE it's improved. |
18:13 | < chintimin> | I really really really hate lisp. |
18:14 | < Namegduf> | That is to say, I don't view "highly scriptable" in an editor as an automatic "oh, it's awesome then" |
18:14 | < Namegduf> | It's merely another factor in the comparison, and I don't think a particularly huge one. |
18:14 | <@jerith> | Do you hate lisp because it sucks or because you don't grok it? ;-) |
18:14 | < chintimin> | I hate lisp because it's clunky and takes a lot of time to take a chunk of work and repurpose it |
18:15 | <@jerith> | Namegduf: And that's where we differ. I script my editor a lot, you don't. |
18:15 | <@jerith> | You probably do a lot of things I don't. do. |
18:15 | <@jerith> | chintimin: That's almost certainly because you're working on bad lisp. |
18:16 | <@jerith> | The language itself isn't particularly horrible. I *can* be mind-bogglingly elegant. |
18:16 | <@Vornicus> | Actually the only things I ever did in a text editor that I decided I needed a script for I realized I could batch. |
18:16 | < Namegduf> | There's a "bad lisp" joke in there. |
18:16 | <@jerith> | Vornicus: Most of the "scripts" I use are recorded keyboard macros. |
18:16 | <@jerith> | Which I sometimes dump to a function and edit slightly. |
18:17 | < Namegduf> | Pretty sure you can do that in vim. |
18:17 | < Namegduf> | Record mode and such. |
18:17 | < Namegduf> | Not played with it much. |
18:17 | < Namegduf> | When the commands are single keypresses, and I use regexes for almost all sweeping changes... |
18:17 | <@jerith> | Namegduf: As far as I know, that can't easily be edited. ICBW. |
18:17 | < Namegduf> | Needing a multiline repeated operation is an exceptional event. |
18:17 | < chintimin> | Jerith: Quite possibly! I mean, I DID wash out of CS in disgust of the field. :) |
18:19 | <@jerith> | I operate on multiline things all the time. |
18:19 | < Namegduf> | Well, everyone does. |
18:19 | <@jerith> | Usually reformatting logs ot something. |
18:19 | < Namegduf> | I just rarely need repeated multiline changes in several places. |
18:19 | < Namegduf> | Log lines, for example, are generally self contained. |
18:20 | < Namegduf> | Unless you have really weird logs. |
18:20 | <@MyCatVerbs> | I've done that in vim all the time. |
18:20 | <@jerith> | Mutliple lines for a single request. |
18:20 | <@MyCatVerbs> | q<register> type some crap q |
18:20 | <@MyCatVerbs> | Then @q to invoke. |
18:20 | < Namegduf> | There's that, too, yeah. |
18:20 | <@MyCatVerbs> | Very useful when you want to do a mechanical transformation on several hundred lines. 100@<register> wins. |
18:21 | <@jerith> | Something like "select all lines with the same request id as the next line you see that contains this string and move it to the bottom of the buffer". |
18:25 | <@jerith> | *move them |
18:26 | < Namegduf> | Yeah, I'd probably do that manually, unless I had to do it repeatedly. |
18:26 | < Namegduf> | /<id>, quick line count, d<lines>d, G, p |
18:26 | < Namegduf> | Probably much faster ways of doing it, but that's just how I'd do it offhand. |
18:27 | <@jerith> | The lines aren't necessarily consecutive, which makes it a pain. |
18:27 | < Namegduf> | Ah. |
18:27 | <@jerith> | That's one of the times when I edit the thing, actually. |
18:28 | <@jerith> | I build a script for "collect a line with this request id" and then call it repeatedly from the other one. |
18:28 | <@jerith> | It's the kind of thing I used to do in a Python script. |
18:29 | <@jerith> | But it's about an order of magnitude quicker this way, because emacs gives you all the text editing tools already. |
18:29 | | * jerith shrugs. |
18:31 | <@jerith> | I was a vimmer for a long time. I still use it on remote machines, other peoples' boxen and anywhere else I don't have my own emacs available. |
18:32 | <@jerith> | And I still know it deeper than about 80% of people I know who use it as their primary editor, despite only having scratched the surface. |
18:32 | <@jerith> | (I find that a bit scary, actually.) |
18:35 | <@MyCatVerbs> | jerith: join the, um. Heh. |
18:35 | <@MyCatVerbs> | Given that most vim users don't seem to bother much with q and @, I think we might have something in common there soon enough. |
18:36 | <@jerith> | Most vimmers I know don't even use A and D. |
18:37 | <@MyCatVerbs> | Are you serious? *blinkblink* |
18:37 | <@jerith> | And one of the things that annoys me a *lot* whenever I write code using vim is the lack of a decent "comment region" command. |
18:38 | <@jerith> | MyCatVerbs: Very. Although that's not as true anymore, since I tend to piont that kind of thing out to them. |
18:38 | | You're now known as TheWatcher |
18:39 | <@jerith> | Maybe A and D are somewhat extreme. Perhaps df<whatever> is a better example. |
18:39 | <@MyCatVerbs> | What do you mean by comment-region? Can I mark a region and hit a key to have it all commented or uncommented in one shot? |
18:39 | <@jerith> | Yes. |
18:39 | <@jerith> | In emacs it's M-; |
18:39 | <@MyCatVerbs> | I almost never used df<character>. Usually I was doing for dt( or dt; instead. :) |
18:39 | <@MyCatVerbs> | s/doing/going/ |
18:41 | <@jerith> | Well, dt<whatever> as well. |
18:42 | <@MyCatVerbs> | There's something funny about accidentally starting vim within M-x shell. Damn muscle-memory. |
18:42 | <@jerith> | In emacs that's actually 'comment-dwim' which uncomments if the whole region is a comment, otherwise it comments. |
18:43 | <@MyCatVerbs> | Oh, nifty. |
18:43 | <@jerith> | That's one of the nifty little features of a gobsmackingly extensible editor. |
18:44 | <@jerith> | Your language major mode defines its own comment function and adds it to the appropriate hook. |
18:44 | <@jerith> | Then comment-dwim Just Works. (Assuming you don't screw up your comment function or whatever.) |
18:44 | <@MyCatVerbs> | Neat. |
18:45 | <@jerith> | I may be lying about the details. I haven't actually done that kind of thing in a while. |
18:46 | <@MyCatVerbs> | Happens. Hrmn, how important is C-u? |
18:46 | <@MyCatVerbs> | I'm tempted to bind it to kill to the start of the current line, and just use M-0 through M-9 for command repetition. |
18:47 | <@jerith> | I don't use it often, but it's not just for repitition. |
18:47 | <@MyCatVerbs> | Also, is there any way to scan the current keybindings so that I don't do something silly like bind a key myself that's already bound? |
18:47 | <@MyCatVerbs> | Ah, fair enough, will leave it alone then. |
18:47 | <@jerith> | 'C-u <some numbers> C-x f' sets your wrap width. |
18:48 | <@MyCatVerbs> | It's not like C-a C-k is slower for deleting the whole line. |
18:48 | < chintimin> | Besides? |
18:48 | < chintimin> | If you try and reset your controls |
18:48 | <@MyCatVerbs> | Oh really? Is it only for numerical arguments, though? |
18:48 | < chintimin> | you just know it'll be a year before your brain catches up to the new setup |
18:48 | <@jerith> | I think it's only numeric. I'm not sure. |
18:48 | <@MyCatVerbs> | Not in this case, chint. I'm setting things up concurrently with learning them. |
18:49 | <@jerith> | chintimin: The whole idea behind emacs is making it malleable. It must fit what's comfortable for you, not the other way around. |
18:49 | <@MyCatVerbs> | To a certain extent, I'm trying to get emacs to mimic how libreadline works, since I'm used to readline. |
18:49 | <@Vornicus> | I've never even begun to figure out enough emacs to make it do anything at all that I want. |
18:49 | < chintimin> | MCV: Ah, yes. |
18:50 | <@jerith> | MyCatVerbs: With a few small exceptions, readline works quite like emacs. |
18:50 | < chintimin> | jerith: No, MCV got what I meant |
18:50 | <@Vornicus> | It took me 20 minutes to figure out how to save. |
18:50 | < chintimin> | Muscle memory etc. |
18:50 | <@jerith> | Vornicus: It's nontrivial effort to learn that stuff. :-/ |
18:50 | < chintimin> | like, you change keybindings, and then no matter how much more "intuitive" your new setup is, you keep trying to use the old one when you're not paying attention |
18:51 | <@jerith> | chintimin: No, I get it too. I was coming from the other direction: I already have muscle memory that emacs must fit. |
18:51 | <@jerith> | If you're inconsistent, nothing can help you. |
18:52 | < chintimin> | Hm? |
18:52 | < chintimin> | Oh. yeah, well. |
18:52 | < chintimin> | most of us are inconsistent when we try to change from something we know to something we don't on hotkeys |
18:52 | <@jerith> | If you sometimes hit C-w for kill-region and sometimes hit it for kill-word-left... |
18:53 | <@Vornicus> | (my muscle memory is large; I already have bindings for more than half the letters, for text editors.) |
18:53 | <@jerith> | I HATEHATEHATE having to use apps that have dangerously different keybindings that cannot be changed. |
18:54 | | * chintimin nods |
18:54 | <@jerith> | I'm particularly looking at everything that makes C-w "obliterate this window and everything I had in it". |
18:55 | <@MyCatVerbs> | jerith: oh the *rat bastards*. |
18:55 | <@TheWatcher> | *cough*seamonkey*cough( |
18:55 | <@MyCatVerbs> | Thank you, every webbrowser on Earth. |
18:55 | <@Vornicus> | that's actually my binding for C-w, usually |
18:55 | <@MyCatVerbs> | Vornicus: ahahahah! But good! Good for you. :) |
18:55 | <@jerith> | There's a hack for gnome-based stuff to redefine it, but you need to edit magic configs. |
18:55 | <@Vornicus> | (except most things bug me to save) |
18:56 | <@Vornicus> | (including web browsers) |
18:56 | | * TheWatcher now keeps a patch handy, and applies it to every mediawiki system he installs, so that it requires confirmation to close edit windows >.> |
18:56 | <@jerith> | Vornicus: C-w is kill-nonwhitespace-left in bash and kill-region in emacs. |
18:57 | <@jerith> | I use both of those *far* more than I use any of the things that redefine that. |
18:57 | <@Vornicus> | Kill-region? |
18:58 | <@Vornicus> | YOu mean select, backspace? |
18:58 | <@jerith> | What most editors call "cut". |
18:58 | <@Vornicus> | ah |
18:58 | <@MyCatVerbs> | Control-space leaves a "mark" at the current location. Scroll to a new position, and C-w cuts everything in between the two places. (Yes, there's a highlight). |
18:58 | <@jerith> | The region is the text between point (where the cursor is) and the most recent mark (set with C-<space>). |
18:59 | <@jerith> | The highlight is configurable. |
18:59 | | * Vornicus wonders why not just use shift to tell it that we're highlighting. |
18:59 | <@jerith> | Some systems default it to off. |
18:59 | <@jerith> | Vornicus: Because that interferes. |
18:59 | <@Vornicus> | with.....? |
18:59 | <@MyCatVerbs> | Personally, I immediately rebound C-w to kill-left-word and used C-x C-k for kill-region. |
18:59 | <@MyCatVerbs> | Actually, emacs seems to do shift+arrow keys too. |
19:00 | <@jerith> | With the myriad of other navigation commands available. |
19:00 | <@MyCatVerbs> | Doesn't work with the real navigation commands, but it's fine. |
19:01 | <@MyCatVerbs> | The rationale for C-w leaving a mark is so that you can use all of the other fancy navigation commands - forward/backwards by sentence, word, line, whole line, et cetera - and you don't need to have three keys held down all the time. |
19:01 | <@jerith> | Vornicus: I can say "C-<space> C-s <search text> <enter> C-w" to delete from here to the place I found the text. |
19:01 | <@MyCatVerbs> | Er, C-space, I mean. |
19:02 | <@jerith> | And there are all sorft of other things you can do with the region. |
19:02 | <@MyCatVerbs> | jerith: (global-set-key [?\C-=] 'other-window) seems to be necessary to preserve my sanity. |
19:02 | <@jerith> | vim does this the other way around, generally. |
19:03 | <@MyCatVerbs> | I find it quite neat that both vim and emacs have settled on roughly the same solution for copypasta - that deletions affecting more than one character at a time act like cut instead. |
19:03 | <@jerith> | <command> <navigation> rather than <set point> <navigation> <command> |
19:03 | <@MyCatVerbs> | s/vim/vi/, I mean. |
19:03 | <@jerith> | Although a lot of vim :commands take a visual-mode range to operate on. |
19:04 | <@MyCatVerbs> | Handily, vim adds visual-mode. v <navigate> <command>. ^^ |
19:05 | <@jerith> | As an aside, one of the initial reasons I switched away from vim was the location of <escape>. |
19:06 | <@MyCatVerbs> | Really? I got into the habit of hitting control-[. |
19:06 | <@jerith> | It's awkward to reach, so I tend to stay in insert mode even when I'm not inserting. |
19:06 | <@MyCatVerbs> | My favourite keybinding that requires only both little fingers. ^^ |
19:06 | <@jerith> | MyCatVerbs: That's just as awkward, and needs both hands. |
19:07 | <@jerith> | Or a keyboard with right-control and emacsesque contortions. |
19:07 | <@MyCatVerbs> | I don't find it awkward myself. But aren't both your hands already on home row? |
19:08 | <@jerith> | Not if I'm typing with a mug of tea in one hand. |
19:08 | <@jerith> | (That doesn't work so well with emacs either, though.) |
19:09 | <@MyCatVerbs> | Generally I type at home row with my pinkies stretched out to left capslock (rebound to control, of course. Did you think I was some kind of *barbarian*?) and the right hand punctuation block, respectively. |
19:10 | <@jerith> | If I rebound capslock to escape, vim's more usable. |
19:10 | <@MyCatVerbs> | And I amortise my tea consumption over large glugs. ;) |
19:10 | <@jerith> | But then capslock wouldn't be control. |
19:10 | <@MyCatVerbs> | That's not a bad idea. I still find C-[ convenient, though. |
19:10 | <@jerith> | I tend to sip my tea while reading, then occasionally edit something without putting it down. |
19:11 | <@MyCatVerbs> | Fair enough. |
19:30 | <@Vornicus> | My usual typing arrangement is home row with the right hand shifted left. |
19:30 | <@jerith> | But then Vorn has an assortment of facetentacles at his disposal. |
19:31 | | Rhamphoryncus [rhamph@Nightstar-a62bd960.abhsia.telus.net] has joined #code |
19:32 | <@Vornicus> | You would not believe how difficult it is to get a facetentacle to not fatfinger. |
19:32 | <@Vornicus> | er, fattentacle. |
19:32 | <@jerith> | Don't you have a High Priest In Charge Of Custom Tentacleboards? |
19:34 | <@Vornicus> | ...I will as soon as I write the job posting... |
19:37 | <@MyCatVerbs> | That is interesting. I had not realised that 0 was truthy in elisp. |
19:37 | <@MyCatVerbs> | Apparently only nil is ever false? |
19:37 | <@jerith> | I believe so. I don't actually recall. |
19:38 | <@jerith> | I generally treat elisp more like lego that code. |
19:38 | <@jerith> | *than |
19:38 | <@jerith> | toenails-in-porridge lego, but still. |
19:39 | <@MyCatVerbs> | Hah! Nah, I'm not fond of using languages like lego. |
19:39 | <@MyCatVerbs> | As far as I'm concerned, either I know "enough" or I know nothing. :) |
19:39 | <@MyCatVerbs> | In theory I might some day come to know "everything" about some specific language, but I haven't found one small enough yet. :) |
19:40 | <@jerith> | I tend to ignore it unless I actually need it, at which point I'm generally rearranging existing code. |
19:40 | <@MyCatVerbs> | I'd rather call than rearrange. Subroutines are a beautiful invention, why forsake them? |
19:41 | <@jerith> | Well, most of my elisp is either fixing broken modes or editing recorded macros. |
19:46 | <@MyCatVerbs> | I'm surprised by how many emacs buffers I'm ending up with open. |
19:52 | <@jerith> | I often have lots. |
19:52 | <@jerith> | ido-mode is very much your friend. |
19:53 | <@jerith> | Depending on how your emacs is installed, you may already have it, although it may not be enabled. |
20:15 | | GeekSoldier [Rob@Nightstar-e86e3e0d.ip.cablemo.net] has quit [[NS] Quit: Praise "BOB"!] |
20:24 | <@MyCatVerbs> | AFAIK I've got completely-default FSFmacs 23. |
20:26 | | You're now known as TheWatcher[afk] |
20:37 | < Rhamphoryncus> | hum. I've no idea what ido-mode is (I don't use emacs), but reading about it has brought to mind a difference in mentality between emacs and most languages. In emacs to configure something you set a callback that does whatever arbitrary logic you want (within the limits of the interface). With most other languages you set some data, ie a flag, to control different behaviour |
20:42 | | * jerith nods. |
20:43 | <@jerith> | Well, you use data instead of callbacks for most things. |
20:50 | < Tarinaky> | Why is it whenever I get a decent amount of code written I have this overwhelming sense of - "My Gods this is crap code. Better delete it all and start again" :/ |
20:51 | <@jerith> | Tarinaky: How much refactoring do you do? |
20:52 | < Tarinaky> | I've never finished a project. |
20:52 | < Tarinaky> | :/ |
20:53 | <@jerith> | You can refactor incomplete projects... |
20:54 | < Tarinaky> | Probably not much then. I tend to just go "GAAH SUCKS DELETE" :/ |
20:54 | <@jerith> | Rechannel that into "GAAH SUCKS FIX". :-) |
20:56 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: ] |
20:56 | < Tarinaky> | Blargh. I shouldn't even be doing this. Should be working on exam stuff :/ |
20:56 | < Tarinaky> | I've got like a week to do 3 weeks work. Not. Fun. :/ |
20:58 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
20:58 | | mode/#code [+o Vornicus] by Reiver |
20:58 | <@jerith> | :-/ |
20:59 | < Tarinaky> | Blargh. I'm making myself feel crappy. I need to shut up and stop thinking for a bit. |
21:01 | | * jerith offers a glass of wine? |
21:02 | < Tarinaky> | I already have whisky. |
21:03 | <@jerith> | Even better. :-) |
21:17 | < chintimin> | tarinaky? what's up? |
21:17 | < chintimin> | wooork. |
21:17 | < chintimin> | let's hear it |
21:17 | < chintimin> | dirty details, procastination and doubt |
21:18 | < chintimin> | ^ ^ wait, that's my itinerary |
21:31 | < Tarinaky> | I guess I'm just feeling stressed out :/ |
21:37 | < chintimin> | Happens. |
21:38 | < chintimin> | you'll get it done |
21:38 | < Tarinaky> | I know, I know. But I won';t get it done well :? |
21:38 | < Tarinaky> | *:/ |
21:38 | < Tarinaky> | And I'm already cutting it fine in terms of grades and stuff :/ |
21:38 | < chintimin> | I hear that. |
21:45 | < Rhamphoryncus> | jerith: even data feels like a callback in lisp. (setq ido-decorations (quote ("\n-> " "" "\n " "\n ..." "[" "]" " [No match]" " [Matched]" " [Not readable]" " [Too big]" " [Confirm]"))) |
21:48 | | * jerith nods. |
21:50 | < Rhamphoryncus> | Although that's a bad example in any language |
21:54 | < Rhamphoryncus> | Tarinaky: to repeat what jerith said, refactoring is an important skill. You need to be able to take some existing code, figure out what'd be a much better form, and then incrementally change it over |
21:54 | < Rhamphoryncus> | The bigger the code base the more important incremental change is |
21:55 | < Tarinaky> | Rhamphoryncus: I know. Sadly I think I have confidence issues. |
21:56 | < Rhamphoryncus> | So practise :) |
21:56 | < Rhamphoryncus> | Next week when you've got more time feel free to take an incomplete project and discuss it here. Put bits on pastebin. We'll gladly give suggestions |
22:00 | < chintimin> | hmm. |
22:00 | < chintimin> | street fighter 4 is 10$ on Steam. crazy. |
22:06 | < chintimin> | tempted - and yet not. |
22:06 | < Tarinaky> | Rhamphoryncus: To be honest I'm not going to get any proper work done tonight. I can put some up now if you want. |
22:06 | < chintimin> | now, some of these random indie titles? |
22:06 | < chintimin> | :) |
22:06 | < chintimin> | Tarinaky: how much work till the end of the term you still have left? |
22:06 | | Rhamphoryncus [rhamph@Nightstar-a62bd960.abhsia.telus.net] has quit [Client exited] |
22:06 | < chintimin> | well, fuck. :P |
22:06 | < Tarinaky> | I've got to do 1 take-home test, revise for 2 exams and write a lab report. |
22:07 | < Tarinaky> | Aside from the revision it's probably all doable within a week. |
22:07 | < Tarinaky> | The revision'll be a bitch :/ |
22:08 | < Tarinaky> | 'Biophysics' and 'Quantum Devices'. :/ |
22:09 | < chintimin> | gah. |
22:09 | < chintimin> | what are you majoring in? |
22:09 | < Tarinaky> | Physics. |
22:10 | < chintimin> | well, I guess this kind of workload will be something you'll have to get used to |
22:10 | < chintimin> | crazy, tho |
22:12 | | AbuDhabi [annodomini@Nightstar-585df1e6.adsl.tpnet.pl] has joined #code |
22:13 | < chintimin> | holy shit this song is annoying. tegan and sara can die in a fire. |
22:14 | | AnnoDomini [annodomini@Nightstar-412c2ad4.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds] |
22:27 | <@Vornicus> | <3 Tegan and Sara |
22:50 | | KazWork [kazrikna@Nightstar-55f6a2b4.xen.prgmr.com] has quit [Ping timeout: 121 seconds] |
22:54 | | You're now known as TheWatcher |
23:11 | | KazWork [kazrikna@Nightstar-55f6a2b4.xen.prgmr.com] has joined #code |
--- Log closed Fri Jan 01 00:00:42 2010 |