--- Log opened Fri Mar 14 00:00:44 2008 |
--- Day changed Fri Mar 14 2008 |
00:00 | <@McMartin> | I don't believe so. If you want it accessible you'll need to make it protected, or put protected factory methods in the superclass. |
00:01 | < Vornicus> | yeah, if you want it accessible to subclasses, it needs to be protected. |
00:01 | <@McMartin> | (Protected factory methods will have to produce a result castable to a class the subclass *can* see, of course, but if this is effectively iterator() that's not a problem) |
00:03 | < JeffL> | What's "protected" again? |
00:04 | < Vornicus> | protected is like private, except that the class's children can see it. |
00:05 | < JeffL> | Ah. |
00:06 | | * JeffL toggles it to protected without a second thought. |
00:22 | | gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has quit [Quit: Z?] |
00:31 | | JeffL [Kaline@Nightstar-12251.dsl.sndg02.pacbell.net] has quit [Connection reset by peer] |
00:31 | | JeffL [JPL@Nightstar-12251.dsl.sndg02.pacbell.net] has joined #code |
00:36 | < JeffL> | Ow. Crashed. |
00:37 | < JeffL> | What's a destructor in Java look like again? |
00:41 | <@McMartin> | Java doesn't have destructors. |
00:41 | <@McMartin> | Because you can't control when an object is destroyed. |
00:42 | <@McMartin> | There are things called "finalizers" that look like destructors but aren't, and in particular there is no guarantee that they will ever be run. |
00:42 | <@McMartin> | So using them is frowned upon. |
00:42 | <@McMartin> | If you want to ensure that Something Happens when you leave a scope (say, because you know the object will now be collected), put a call to a shutdown function in a finally block. |
01:06 | <@MyCatVerbs> | They're good for things like libraries controlling resources like sockets and database connections, where it's handy to be able to close things down properly even if some rube of a programmer forgot to call the explicit close() method. But if you ever actually write code that relies on them, Gosling will kill you in your sleep. |
01:09 | <@McMartin> | MCV: And there's no guarantee that they *will* close. Just that they might. |
01:10 | <@McMartin> | And the try-finally dance is (a) ugly, (b) tricky to not make chuck nullpointerexceptions, and (c) has this fascinating tendency to produce code that won't pass an external verifier (at least until Java 6 came along). |
01:11 | <@McMartin> | That said, I have this irrational hatred for the resource-acquisition-is-initialization thing, and thus was very happy that C# decided to make the "Call these functions when entering/leaving this block" mechanic explicit. |
01:15 | < JeffL> | Okay. So /src is the source folder, /tests is for tests... where do data files used by the source code go? |
01:18 | <@MyCatVerbs> | McMartin: oh aye. You're not supposed to ever *use* them, but it's maybe a good idea for to provide them anyway when writing libraries. Last ditch defense against bogosity and all that. |
01:18 | <@McMartin> | JeffL: I personally tend to use /res or /data |
01:45 | < JeffL> | Hmm. How do I get Swing to display a stored image again? I know it's possible... |
02:27 | <@McMartin> | ImageLabel. |
02:34 | < JeffL> | I can't find the docs for that |
02:55 | < JeffL> | Okay. I have a file in MGHack\src\mghack\<filename>.java . How do I get it to accept something in MGHack\res as a file? |
03:19 | < JeffL> | Also, is there some "J" iteration of an ImageLabel? |
03:21 | < JeffL> | ... as a matter of fact I can't find even the standard image label. Are you sure, McMartin? |
03:50 | | Serah [~Z@87.72.35.ns-26506] has quit [Ping Timeout] |
03:52 | | Thaqui [~Thaqui@222.154.187.ns-2601] has joined #code |
03:52 | | mode/#code [+o Thaqui] by ChanServ |
04:03 | <@McMartin> | Uh, it's whatever Blorple uses, and it's in Swing, and it wraps java.awt.Image. |
04:03 | <@McMartin> | One moment. |
04:04 | <@McMartin> | Ah. JLabel with an ImageIcon therein. |
04:04 | <@McMartin> | (both javax.swing) |
04:06 | < JeffL> | Okay. Time to figure out how to create an (Icon image) from a filename... |
04:10 | < JeffL> | Okay, what I want is ImageIcon(String filename). |
04:12 | < JeffL> | Now, can I ask my question again, when it asks me for a filename, can I say "./../../res/foo/bar.png"? |
04:16 | | Serah [~Z@87.72.35.ns-26506] has joined #Code |
04:22 | <@McMartin> | Yes |
04:22 | <@McMartin> | I'm not sure how you pull things out of the JAR you live in, but relative paths are A-OK. |
04:22 | < JeffL> | Testing it is somewhat worrying, as apparently when given a bad filename, ImageIcon tile = new ImageIcon("Metal1.GIF"); fails completely silently.' |
04:23 | <@McMartin> | Presumably under those circumstances getImage() will return null? |
04:24 | <@McMartin> | (Alternatively, load the file into a byte array and use the byte[] constructor; that way you'll get the necessary IOExceptions.) |
04:25 | < JeffL> | (Erm, I'm a total fscking idiot. How do I load a file into a byte array?) |
04:25 | < Serah> | With a hammer! |
04:26 | <@McMartin> | With a FileInputStream, though you'll have to work out the size separately or let your array grow. |
04:27 | <@McMartin> | Though you can get the length from File.length(). |
04:27 | <@McMartin> | You'd probably want to ensure that (for the File f) that both f.exists() and f.isFile() are true before checking, though. |
04:29 | < JeffL> | Worrying. |
04:29 | < JeffL> | My file.exists() check isn't passing. |
04:30 | <@McMartin> | ... does the file exist? |
04:31 | <@McMartin> | File objects can also automatically transform themselves into absolute paths, so you can also use that to test with. |
04:31 | <@McMartin> | (By printing it out before checking or whatnot) |
04:31 | <@McMartin> | Bear in mind that those relative paths you gave are likely to be relative to whatever directory you were sitting in when you typed "java", too. It won't be the location of the source file. |
04:33 | < JeffL> | ...accursed Eclipse! From what path is it compiling! |
04:33 | <@McMartin> | Yeah, try doing the getCanonicalPath() or whatever on the File object to see what it *thinks* it's dealing with. |
04:35 | < JeffL> | Argh, it wants me to do something with an IOException and I can't remember any of my Java and oh crap I'm a lot more incompetent than I thought. |
04:35 | < Serah> | That hammer I mentioned before? You can put it to good use now :p |
04:36 | <@McMartin> | Yes, IOException would be the not failing silently, which is what you wanted, right? |
04:37 | <@McMartin> | What you want is |
04:38 | <@McMartin> | try { /* Do possibly dangerous stuff here */ } catch (IOException e) { /* Deal with errors here */ } |
04:39 | < JeffL> | Ah. |
04:39 | < JeffL> | I put it in a catch, but forgot to encase the IOException in ()s. |
04:40 | < JeffL> | I think I know too many languages, my "Python" is interfering with my "Java". |
04:40 | <@McMartin> | Also, for your FileInputStream, you'll want to do that with something like this: |
04:41 | <@McMartin> | FileInputStream fis = null; try { /* stuff */ } finally { if (fis != null) fis.close(); } |
04:41 | <@McMartin> | finally clause comes after the catch clauses, IIRC. |
04:41 | < JeffL> | Okay. Hooray. I'm properly reading the file now. |
04:44 | < JeffL> | ...this is getting annoyingly recursive. |
04:44 | < JeffL> | It's demanding I handle a fileinputexception inside my stream.close(); , which is already in a finally block. |
04:48 | <@McMartin> | Oh, right. |
04:48 | <@McMartin> | Surround that with try { fis.close(); } finally { } |
04:48 | <@McMartin> | close really *should* fail silently. =P |
04:50 | < JeffL> | It is insisting that I handle the exception and not just put it in a try{} block. |
04:50 | | GeekSoldier|bed is now known as GeekSoldier|work |
04:56 | <@McMartin> | Er, yes |
04:56 | <@McMartin> | Replace finally { } with catch (IOException _) { } |
04:56 | <@McMartin> | Anything that throws a checked exception must either catch or declare to re-throw |
04:57 | <@McMartin> | Sorry, multitasking here |
05:26 | | AnnoDomini [AnnoDomini@83.21.0.ns-25791] has joined #Code |
05:26 | | mode/#code [+o AnnoDomini] by ChanServ |
05:44 | | JeffL [JPL@Nightstar-12251.dsl.sndg02.pacbell.net] has quit [Quit: Leaving] |
06:50 | | Vornicus is now known as Vornicus-Latens |
08:03 | | GeekSoldier|work [~Rob@Nightstar-7866.dip.t-dialin.net] has quit [Ping Timeout] |
08:31 | | You're now known as TheWatcher |
08:43 | | Chalcedon [~Chalcedon@Nightstar-9527.ue.woosh.co.nz] has quit [Quit: Gone] |
09:08 | | gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has joined #Code |
09:08 | | mode/#code [+o gnolam] by ChanServ |
09:41 | | Thaqui [~Thaqui@222.154.187.ns-2601] has left #code [Leaving] |
10:02 | | Brother_Willibald [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has joined #Code |
10:02 | | gnolam is now known as NSGuest-5540 |
10:02 | | Brother_Willibald is now known as gnolam |
10:02 | | NSGuest-5540 [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has quit [Connection reset by peer] |
10:32 | | Luis|gone [~lgm@Nightstar-29529.valparaiso.ecweb.cl] has quit [Ping Timeout] |
10:32 | | Luis|gone [~lgm@Nightstar-29529.valparaiso.ecweb.cl] has joined #code |
10:44 | | gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has quit [Ping Timeout] |
10:45 | | gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has joined #Code |
10:46 | | mode/#code [+o gnolam] by ChanServ |
12:19 | | AnnoDomini [AnnoDomini@83.21.0.ns-25791] has quit [Ping Timeout] |
12:27 | | AnnoDomini [AnnoDomini@83.21.0.ns-20506] has joined #Code |
12:27 | | mode/#code [+o AnnoDomini] by ChanServ |
12:38 | | Luis|gone is now known as Luis |
14:40 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Client exited] |
14:45 | | Vornicus-Latens is now known as Vornicus |
14:51 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code |
14:51 | | mode/#code [+o ToxicFrog] by ChanServ |
15:08 | | * Vornicus hunts for an Excel funtion that works like SELECT k, count(*) FROM table GROUP BY k; |
15:27 | < Luis> | I think gnumeric has something that would help you with that, but I doubt it's Excel-compatible. |
15:34 | < Luis> | There's a function dcounta which lets you query a range of rows and get the count of which rows matched your query. |
16:48 | | GeekSoldier|work [~Rob@Nightstar-10269.dip.t-dialin.net] has joined #code |
16:50 | < C_tiger> | Vorn: not many excel functions return two values. |
16:52 | | GeekSoldier|work is now known as GeekSoldier |
17:01 | < C_tiger> | Oh, wait, you just want the count(*), GROUP BY part. Yeah, I'm totally just doing literal translation of SQL. |
17:08 | | You're now known as TheWatcher[afk] |
17:13 | | C_tiger [~c_wyz@Nightstar-16221.nycmny.east.verizon.net] has quit [Quit: And away she goes!] |
17:22 | | C_tiger [~c_wyz@Nightstar-16221.nycmny.east.verizon.net] has joined #code |
17:33 | < Vornicus> | The thing is I don't want to have to tell it what categories there are. |
17:33 | < Vornicus> | And all the things that exist seem to require that. |
17:35 | < Luis> | it could be done if you could have a function that returned all unique values in a range, and then you could iterate between those and find the count... |
17:36 | < Vornicus> | Yeah, I can't find a thing that does that. |
17:37 | < Luis> | Perhaps the only way it can be done in Excel is through - God help me - Visual Basic. |
17:38 | < C_tiger> | Hmmm... I vaguely remember this... |
17:38 | < C_tiger> | Sadly after my computer went belly up just now, I can't seem to start Excel. |
17:39 | < Vornicus> | Luis: :( |
17:42 | | * Vornicus fiddles. Knows that Excel has this ability built in to the filter mechanics, but it doesn't seem to reveal it. |
17:42 | < C_tiger> | Luis the problem is returning unique values involves returning multiple cells. |
17:56 | < C_tiger> | Vorn, the easy way is with a pivot tabel |
17:56 | < C_tiger> | table |
17:57 | < Vornicus> | Okay. |
18:01 | | * Vornicus fiddles with pivot tables, tries to figure out what the heck they do. |
18:43 | < C_tiger> | They reorganize your data. |
18:43 | < Vornicus> | THing is I can't tell how to get it to do anything. |
18:44 | < C_tiger> | Select the table you want that stores your data, make a pivot table, drag k into the LHS column and the data field you want to count into the Data section. After you make it, right click on the top left corner and select field settings and turn it to "count" |
18:46 | < Vornicus> | But see that's the thing |
18:46 | < Vornicus> | I want to count k |
18:46 | < Vornicus> | I can't do that, because it only lets me put something once. |
18:46 | < C_tiger> | No, you should be able to reuse. |
18:47 | < Vornicus> | It doesn't let me |
18:47 | < C_tiger> | One sec, let me make a sample one and send it to you. |
18:47 | < C_tiger> | How many other fields do you have? |
18:48 | < Vornicus> | Four. |
18:48 | < C_tiger> | ok. |
18:50 | | Chalcedon [~Chalcedon@203.211.125.ns-2532] has joined #code |
18:50 | | mode/#code [+o Chalcedon] by ChanServ |
18:52 | < C_tiger> | Ok, cheng.starforge.co.uk/vornpt.xls |
18:52 | | mode/#code [+o C_tiger] by gnolam |
18:53 | <@C_tiger> | Ok, cheng.starforge.co.uk/vornpt.xls |
18:53 | <@C_tiger> | weird, I deliberately left off the http: part and it still blocked me. |
18:55 | | mode/#code [+o gnolam] by ChanServ |
18:55 | | mode/#code [+o C_tiger] by ChanServ |
18:57 | <@C_tiger> | Woo. :) |
19:01 | <@C_tiger> | Vorn, did that work for you? |
19:02 | < Vornicus> | Examining now, was downstairs |
19:03 | <@C_tiger> | I need a restart so just find me when I get back... if I get back. |
19:03 | | C_tiger [~c_wyz@Nightstar-16221.nycmny.east.verizon.net] has quit [Quit: And away she goes!] |
19:03 | | * Vornicus eyes |
19:04 | < Vornicus> | ...okay, you managed to do something and I can't figure out how. |
19:05 | < Vornicus> | ...oh, there it goes. Have to drag count-of-category /there/. |
19:11 | | C_tiger [~c_wyz@Nightstar-16221.nycmny.east.verizon.net] has joined #code |
19:12 | < Vornicus> | C: it took me a few minutes to figure out how you did that, it didn't seem to like me until I dragged count of category into the 'data' segment |
19:13 | < C_tiger> | Yeah, shoot me if I didn't explain that. |
19:13 | < Vornicus> | Nobody explained that. |
19:14 | < C_tiger> | Ooops, I thought I said, right after you asked. |
19:14 | < C_tiger> | Oh well. |
19:14 | < C_tiger> | sorry. |
19:17 | < C_tiger> | Anyhow, that should do what you want. Bear in mind pivot tables don't refresh automatically... at least with my settings they don't. |
19:19 | < Vornicus> | ok |
19:19 | < Vornicus> | That will do nicely. |
19:21 | | You're now known as TheWatcher |
19:21 | < Vornicus> | Thank you very much. |
19:22 | < C_tiger> | No problem, sorry for the randomness from my end, my computer is broken horribly. |
19:23 | < C_tiger> | And I'm glad I wasn't confused about what you said the first time. |
19:23 | < C_tiger> | and my comment about getting a function to return a list of values still stands. |
19:33 | | Thaqui [~Thaqui@Nightstar-123.jetstream.xtra.co.nz] has joined #code |
19:33 | | mode/#code [+o Thaqui] by ChanServ |
19:40 | <@AnnoDomini> | Hm. |
19:41 | <@AnnoDomini> | Oz Mozart. Says it can't find Emacs. This is Windows XP. How do I make Emacs visible to Oz Mozart? |
19:46 | | Brother_Willibald [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has joined #Code |
19:46 | < Brother_Willibald> | It's in your path I assume? |
19:46 | < Brother_Willibald> | Blargh. |
19:46 | | gnolam [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has quit [Ping Timeout] |
19:46 | <@AnnoDomini> | Emacs has an Eliza module. Why does Emacs have an Eliza module? |
19:46 | | Brother_Willibald is now known as gnolam |
19:46 | <@AnnoDomini> | gnolam: Uh... Where should I put Emacs? |
19:47 | < gnolam> | Because adding a kitchen sink to Emacs would /decrease/ the bloat. |
19:47 | <@AnnoDomini> | I just unzipped it in a random place. |
19:48 | < gnolam> | If something requires a fixed absolute path, that something is broken. |
19:48 | < gnolam> | I was talking about adding the emacs directory to your PATH and seeing if that fixes it. |
19:48 | <@AnnoDomini> | Oh, I'll try taht. |
19:48 | <@AnnoDomini> | *that |
19:51 | <@AnnoDomini> | Still can't find it. |
19:52 | <@AnnoDomini> | Right. Got it to work. |
19:52 | <@ToxicFrog> | What's Oz Mozart? |
19:52 | <@AnnoDomini> | It's a programming environment for a weird language. It's for finding solutions for a defined problem. |
19:53 | <@AnnoDomini> | You define what the ranges are for variables, define what ISN'T a solution, and it pretty much automatically searches for solutions. |
19:54 | <@AnnoDomini> | We used it to solve a sudoku in class. |
19:54 | <@ToxicFrog> | Aah. |
19:55 | <@AnnoDomini> | I think it's one of them... wossnumber level programming language. Like regexps. |
19:55 | <@McMartin> | "Fourth". |
19:56 | <@McMartin> | That's poorly named, though. |
19:56 | <@McMartin> | Sounds like a constraint solver system |
19:57 | <@AnnoDomini> | Yeah. |
20:00 | <@AnnoDomini> | (I'm also beginning to understand why Emacs has such a poor reputation.) |
20:16 | < gnolam> | It's not /that/ bad. Except if you want to work on more than one buffer. :P |
20:16 | <@jerith> | It's fine for two buffers. |
20:16 | <@jerith> | More than that and you need to split your frame. |
20:17 | < gnolam> | I'm counting on one being an outbut buffer and thus unavailable for use. |
20:17 | | * gnolam has, on more than one occasion, considered if it would be worth it to travel to the states and kick some of the Emacs devs in the balls for not having a default buffer switching command. |
20:19 | < gnolam> | I don't have the cash right now though. :P |
20:20 | <@McMartin> | C-x b? |
20:20 | <@McMartin> | Or do you mean C-x o? |
20:22 | <@McMartin> | But since TMK those are both default I suspect you mean something else by "buffer switching" |
20:22 | | * AnnoDomini mostly gripes 'bout how standard copy/pasting does not work. Hell, the commands in Emacs are reminiscent of the Borland 3.1 compiler. |
20:22 | <@McMartin> | That's because many applications copy Emacs's command keys. |
20:22 | <@McMartin> | Emacs, vi, and WordStar are the three classics. |
20:23 | <@jerith> | Once you get the hang of emacs' chords, they're easy to use. |
20:23 | < gnolam> | From what I recall, one of those is no better than C-x C-f, and the other was only added in the latest version or so... meaning it's unavailable to me. |
20:24 | <@McMartin> | Also, if the Windows version of Emacs is faking X Windows, you can copy merely by highlighting text with the mouse, and paste by middle-clicking. |
20:24 | <@McMartin> | gnolam: C-x b is "prompt for which already loaded file to switch this frame to", and C-x o is "jump to the other frame". |
20:24 | < gnolam> | And meaning that someone should have been beheaded long ago. |
20:25 | <@McMartin> | Uh, I'm still not sure what feature it is that you actually *want*. |
20:25 | <@jerith> | "C-x b <enter>" switches to the last buffer you used. |
20:25 | <@McMartin> | Since the only two meanings of "change buffer" are, well, change this buffer, or go to another one somewhere else. |
20:25 | <@McMartin> | And "somewhere else" means a split frame. |
20:25 | <@jerith> | "C-x b <tab>" gives a list you can choose from. |
20:25 | < gnolam> | That's the one that's no better than C-x C-f then. |
20:26 | <@McMartin> | C-x o has been around since *at least* 1995. |
20:26 | <@McMartin> | And is "make the other pane active". |
20:26 | <@McMartin> | Thus, you are not being clear about what feature it is that you think is missing. |
20:27 | <@McMartin> | (Also, it's better than C-x C-f because C-x C-f does not have the "most recently used" functionality) |
20:28 | | * Luis eyes McMartin. WordStar!? Such a broken piece of software doesn't deserve the title of "classic", IMHO. Besides, nobody uses it anyways. Only thing that might be redeeming it is its set of shortcuts. Maybe. |
20:28 | < Luis> | s/anyways/anymore/ |
20:28 | <@McMartin> | Luis: Hello, that was precisely what I was talking about. |
20:28 | <@McMartin> | "Command keys for any text editor derive from one of these three applications" |
20:29 | < Luis> | ... ah. *facepalms*. |
20:29 | < gnolam> | Wait, isn't C-x o the one that just switches between visible buffers? |
20:29 | <@McMartin> | gnolam: Yes. Hence my question of WHAT YOU ARE TALKING ABOUT, since "switching between visible buffers" and "switching between not visible buffers" seems to partition the space. |
20:30 | <@McMartin> | But there is some missing third option. |
20:30 | <@McMartin> | And from the way you phrased it, you made it sound like it's a M-x command that isn't bound by default. |
20:31 | <@McMartin> | But we're communicating sufficiently poorly here that I'm not sure if that inference is valid. |
20:31 | | Brother_Willibald [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has joined #Code |
20:31 | < Brother_Willibald> | ¤@#$! |
20:31 | | gnolam is now known as NSGuest-5544 |
20:31 | | Brother_Willibald [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has quit [Killed (Troika.TX.US.Nightstar.Net (DeepThought.NY.US.Nightstar.Net <- Blargh.CA.US.Nightstar.Net[72.20.46.108]))] |
20:32 | | gnolam [lenin@85.8.5.ns-20483] has joined #Code |
20:32 | | mode/#code [+o gnolam] by ChanServ |
20:32 | | NSGuest-5544 [lenin@Nightstar-10613.8.5.253.static.se.wasadata.net] has quit [Ping Timeout] |
20:32 | <@McMartin> | What was the last line you heard from me? |
20:34 | <@gnolam> | <McMartin> "Command keys for any text editor derive from one of these three applications" |
20:34 | <@McMartin> | 13:31 < gnolam> Wait, isn't C-x o the one that just switches between visible buffers? |
20:34 | <@McMartin> | 13:32 <@McMartin> gnolam: Yes. Hence my question of WHAT YOU ARE TALKING ABOUT, since "switching between visible buffers" and "switching between not visible buffers" seems to partition the space. |
20:34 | <@McMartin> | 13:32 <@McMartin> But there is some missing third option. |
20:34 | <@McMartin> | 13:33 <@McMartin> And from the way you phrased it, you made it sound like it's a M-x command that isn't bound by default. |
20:34 | <@McMartin> | 13:33 <@McMartin> But we're communicating sufficiently poorly here that I'm not sure if that inference is valid. |
20:34 | <@McMartin> | Since then, I've thought maybe you're saying "Emacs isn't an MDI application". |
20:35 | <@McMartin> | But that doesn't sound right either. |
20:35 | <@gnolam> | The kind that ends up in the "Buffers" menu. :P |
20:36 | <@McMartin> | Yeah, see, most of the time that I'm using Emacs I'm on an 80x24 character cell display, so I don't have one of those. |
20:36 | <@McMartin> | How is picking a window of the buffers menu different from C-x b? |
20:36 | <@McMartin> | s/of/off/ |
20:37 | <@gnolam> | It's not. It's just as onerous. |
20:37 | <@McMartin> | AUGH |
20:37 | <@gnolam> | I'd just like a ctrl+tab equivalent. |
20:37 | <@McMartin> | I DO NOT UNDERSTAND YOUR EXAMPLE OF EXCELLENCE |
20:37 | <@McMartin> | Ok. |
20:37 | <@McMartin> | Thank you. |
20:38 | <@McMartin> | "You can run the command 'next-buffer' with C-x <C-right>" |
20:38 | <@gnolam> | (Emacs doesn't actually display tabs, but functionally they'd be the same... if only there was a way to easily switch between them. next-buffer and previous-buffer seem to do just that, but only exist in recent Emacses.) |
20:39 | <@McMartin> | Can't you just swipe the .el files? |
20:41 | <@McMartin> | And, indeed, a quick check of the lab machines indicates that next-buffer didn't exist in 2002. |
20:41 | <@gnolam> | Don't know. |
20:41 | <@McMartin> | Most Emacs commands are just written in LISP |
20:41 | <@McMartin> | I suppose it *might* have needed additional infrastructure, but. |
20:42 | <@gnolam> | It's a GNU project. I'd expect it to break horribly even between /minor/ version changes. :P |
20:42 | <@McMartin> | (Especially since the 2002 version of Emacs doesn't appear to actually read the keystroke C-right) |
20:42 | <@gnolam> | *cough*Make*cough* |
20:42 | <@McMartin> | Yeah, but Emacs has been around in recognizable form for three decades now, and most of it's scripts. |
20:43 | <@McMartin> | Compare vi, whose raw executable is all there is but is up there with the emacs core now~ |
20:43 | <@McMartin> | Or, if you're being particularly snarky and unfair: |
20:43 | <@McMartin> | Carlsbad:blorple michaelmartin$ ls -l /usr/bin/vim /usr/bin/emacs |
20:43 | <@McMartin> | -r-xr-xr-x 1 root wheel 38544 Oct 15 16:54 /usr/bin/emacs |
20:43 | <@McMartin> | -rwxr-xr-x 1 root wheel 2648864 Oct 9 17:55 /usr/bin/vim |
20:44 | <@gnolam> | Oh, and I blame sleep deprivation if I'm being especially bad at expressing myself today. Go go gadget insomnia. |
20:48 | <@McMartin> | No worries |
20:48 | <@McMartin> | The fact that you were disconnecting when I was asking clarifying questions didn't help either. =P |
20:55 | | C_tiger [~c_wyz@Nightstar-16221.nycmny.east.verizon.net] has quit [Quit: And away she goes!] |
21:14 | | C_tiger [~c_wyz@Nightstar-16221.nycmny.east.verizon.net] has joined #code |
21:23 | <@AnnoDomini> | http://i32.tinypic.com/2ewihop.gif <- Solution to a problem, did with Oz Mozart. Turned out to be just as simple as the teacher claimed - a novelty. |
21:42 | <@McMartin> | Is that a map-coloring problem? |
21:43 | <@AnnoDomini> | Yes. |
21:47 | | Netsplit Troika.TX.US.Nightstar.Net <-> Blargh.CA.US.Nightstar.Net quits: @Thaqui, Kazriko |
21:47 | | Thaqui [~Thaqui@222.154.187.ns-2601] has joined #code |
21:48 | | mode/#code [+o Thaqui] by ChanServ |
21:48 | | Netsplit over, joins: Kazriko |
21:49 | | Luis [~lgm@Nightstar-29529.valparaiso.ecweb.cl] has quit [Quit: What was I doing here anyways?] |
22:17 | | JeffL [JPL@Nightstar-12251.dsl.sndg02.pacbell.net] has joined #code |
22:25 | | You're now known as TheWatcher[T-2] |
22:28 | | You're now known as TheWatcher[zZzZ] |
23:11 | | Thaqui [~Thaqui@222.154.187.ns-2601] has left #code [Leaving] |
23:15 | <@McMartin> | hoorj |
23:15 | | * McMartin gets Launchers working in Blorple |
23:16 | <@McMartin> | However, at the moment it's effectively a secret option. |
23:18 | | gnolam [lenin@85.8.5.ns-20483] has quit [Ping Timeout] |
23:19 | | gnolam [lenin@85.8.5.ns-20483] has joined #Code |
23:19 | | mode/#code [+o gnolam] by ChanServ |
23:27 | | AnnoDomini [AnnoDomini@83.21.0.ns-20506] has quit [Quit: To Annwn with you!] |
23:47 | | GeekSoldier is now known as GeekSoldier|bed |
23:48 | | C_tiger [~c_wyz@Nightstar-16221.nycmny.east.verizon.net] has quit [Killed (NickServ (GHOST command used by C_tiger_))] |
23:49 | | C_tiger [~c_wyz@Nightstar-16221.nycmny.east.verizon.net] has joined #code |
--- Log closed Sat Mar 15 00:00:04 2008 |