--- Log opened Thu Oct 19 00:00:03 2006 |
00:05 | | ReivZzz is now known as Reiver |
00:08 | | takyoji [~caleblang@Nightstar-24740.dhcp.roch.mn.charter.com] has joined #code |
00:10 | < takyoji> | Is there a way to have php code executed on a *.html document? |
00:11 | < takyoji> | could I just simply set a mime for that? |
00:17 | <@ToxicFrog> | I am unsure what you mean by this. |
00:17 | <@ToxicFrog> | You want to write a PHP script, and have it execute properly, but give it a .html extension? |
00:17 | <@ToxicFrog> | Why not just name it .php? |
00:23 | < takyoji> | well, basically I have it thoroughly indexed by multiple search engines, that if I changed it to php it would be inaccessable from a search engine since it'd have the wrong link for a while, or, if I had a html page redirect to the php file, then google would index the both of them and still considere the .html version to be the primary I believe |
00:24 | <@McMartin> | Replace the .html files with redirects. |
00:24 | <@McMartin> | Since what you describe isn't particularly a disadvantage. |
00:28 | | You're now known as TheWatcher[T-2] |
00:32 | < Janus> | May I ask /pre-emptive/ question? How well would you say a computer can handle about 100,000 if(blah > ugh) comparisons on a per frame basis? (Granted, you wouldn't know until you actually test it, but... ball-park figure!) |
00:32 | | You're now known as TheWatcher[zZzZ] |
00:33 | <@Reiver> | That number is hard to work out these days. |
00:33 | <@Reiver> | In the old days I'd have said one operation per cycle, thus work out your iterations vs GHz and that's how many you get per second. |
00:33 | <@Reiver> | I'd be completely wrong anyway. |
00:33 | <@Reiver> | But it made a halfway usable starting point. |
00:34 | < Janus> | But now, it's not that simple..? |
00:34 | <@McMartin> | It hasn't been since the 80s. |
00:35 | <@McMartin> | How long a branch instruction takes depends on whether it's actually taken or not. |
00:35 | <@McMartin> | However, the distance for that now can be Really Large, and is a function of how good the hardware's branch predictors hare. |
00:35 | <@McMartin> | s/hare/are/ |
00:37 | < Janus> | I'm prone to underestimating/overestimating a computer's power, so I just wanted to make sure it wasn't undoable altogether... |
00:37 | <@McMartin> | There are special machine instructions for mass compare/copy operations. |
00:37 | <@McMartin> | If you're trying to do alpha blits, you probably don't want to do them by hand in C if it can be avoided. |
00:37 | <@McMartin> | You can get away with it if your FPS is around 20 or 30, though. |
00:38 | <@McMartin> | Calling out to SDL and friends will use MMX or 3DNow or whatnot and tend to do much better |
00:38 | < Janus> | Butnowisdinnertimesotilthen, thanks Mr. McMartin! (oh, and this would just be bounds checking for collisions.) |
00:39 | | Janus is now known as Jan[dinnerion] |
00:41 | <@Vornicus> | madness |
00:42 | <@Reiver> | McM: I'm aware of this, but I generally still find it to be 'eh, close enough' when trying to work out if we're talking fps/seconds/minutes/hours to run it, though~ |
00:45 | | * Vornicus hunts around for a Windows command line tool that plays a sound. |
00:48 | <@ToxicFrog> | "winamp %s" |
00:48 | <@Vornicus> | Oh, and it has to not show up on the screen. |
00:48 | <@ToxicFrog> | Although if you want something self-contained it shouldn't be too hard to whack something together using SDL_mixer. |
00:50 | <@McMartin> | It ships with an app to do precisely that. |
00:50 | <@Reiver> | Vorn, are you home from work? |
00:50 | <@Vornicus> | No, i'm at work. |
00:51 | <@Vornicus> | I am trying to add sound to the CI machine. |
00:51 | <@Reiver> | Oh. |
00:51 | <@Reiver> | Insanity. |
00:51 | <@Vornicus> | Yeah. |
00:51 | <@McMartin> | CI? |
00:51 | <@Vornicus> | Continuous Integration |
00:51 | | Jan[dinnerion] is now known as Janus |
00:51 | <@Vornicus> | A computer that shows, full-screen, the unit test status of the current revision in SVN. |
00:52 | <@McMartin> | Neat |
00:53 | <@Vornicus> | (green for yay, red for blarg, yellow for "i just fixed the script", aqua for "testing right now", and black for "i can't even get to svn") |
00:53 | | Reiver is now known as ReivOut |
00:53 | | takyoji [~caleblang@Nightstar-24740.dhcp.roch.mn.charter.com] has quit [Quit: ] |
00:54 | <@ToxicFrog> | Hmm. That's what I could use the Audrey for, if I had any projects that would benefit from it. |
00:54 | <@ToxicFrog> | But I don't. |
00:57 | <@McMartin> | Audrey? |
00:57 | <@Vornicus> | It sits in the corner and eats things. |
00:58 | | * Vornicus shrugs |
00:59 | <@ToxicFrog> | It's a rare 3com device. |
00:59 | <@ToxicFrog> | A small touchscreen computer with network connection, running QNX. |
01:15 | | * Vornicus fiddles with ldap |
01:24 | <@ToxicFrog> | I've been trying to figure out what to do with it. |
01:25 | <@Vornicus> | Such a thing would be great for monitoring, if you had anything to monitor. |
01:25 | <@ToxicFrog> | Yeah, but I don't really apart from stuff like Orias' RAID status. |
01:26 | <@Vornicus> | how big is the screen? |
01:27 | <@ToxicFrog> | About 6" square. |
01:27 | <@Vornicus> | hm |
01:27 | | * Vornicus ponders |
01:28 | <@ToxicFrog> | It's not fast enough to do stuff like realtime video decoding. |
01:29 | <@Vornicus> | Currently, we use our CI machine for SVN status, but soon it will do flyspray too. |
01:29 | <@ToxicFrog> | Flyspray? |
01:29 | <@Vornicus> | FLyspray: bug tracking software. |
01:29 | <@ToxicFrog> | Aah. |
01:29 | <@ToxicFrog> | I don't have a bug tracker. |
01:29 | <@Vornicus> | DIdn't figure you would. |
01:31 | <@ToxicFrog> | I could just put RAID/memory/CPU/disk status for Orias on it. |
01:31 | <@ToxicFrog> | Although I'd have to learn QNX first, or run it on Orias and install an X server on the Audrey. |
01:34 | <@Vornicus> | ...I must announce that i have lost all possible geek cred. |
01:34 | <@Vornicus> | My mother has played DDR before I have. |
01:35 | <@ToxicFrog> | Snrk. |
01:49 | | ReivOut is now known as Reiver |
01:50 | <@Reiver> | Vorn: Thankfully, DDR is no longer geek. |
01:50 | <@Vornicus> | ah, well |
01:50 | | * Reiver feeds Vorn a custard slice. |
01:52 | <@Vornicus> | never mind then. |
01:52 | <@Vornicus> | where is the sideways L on Windows? |
01:52 | <@Reiver> | ...? |
01:52 | <@Reiver> | ¬ ? |
01:53 | <@Vornicus> | yes |
01:53 | <@Vornicus> | that. |
01:53 | <@Reiver> | (That one is Alt 0172) |
01:53 | <@Vornicus> | aha |
01:53 | <@Vornicus> | let me revise my previous statement |
01:53 | <@Vornicus> | never mind then. ¬¬ |
01:53 | | * Reiver giggles! |
01:53 | | * Reiver huggles the Vorny. |
01:54 | <@ToxicFrog> | The logical not sign, you mean? |
01:54 | <@Vornicus> | yes |
01:54 | <@Vornicus> | that. |
01:55 | | * Reiver ... |
01:55 | <@Reiver> | I think I just ate the tastiest custard slice in memory. |
01:55 | | * Reiver makes a note to go back to /that/ shop again. |
01:55 | <@Vornicus> | awesome |
01:55 | | * Vornicus goes home |
01:55 | | Vornicus [~vorn@Nightstar-18307.slkc.qwest.net] has quit [Quit: ] |
01:55 | <@Reiver> | Bye! |
01:55 | <@Reiver> | Oh. |
01:57 | <@ToxicFrog> | Ship me an anchored portal to that shop, will you?~ |
01:57 | | * Reiver giggles. |
01:57 | <@Reiver> | You like custard squares too, huh? :) |
01:57 | | * Reiver has found their fans to be disconcertingly rare. |
01:58 | | * Reiver never quite got that, especially with those that adore custard pies, but not a slice! |
01:58 | <@Reiver> | ...Oh. I'm on Deep. |
01:58 | | Reiver [~reaverta@IRCop.Nightstar.Net] has quit [Quit: Changing servers] |
01:59 | | Reiver [~reaverta@IRCop.Nightstar.Net] has joined #Code |
01:59 | | mode/#code [+o Reiver] by ChanServ |
01:59 | <@ToxicFrog> | Custard is a lovely thing. |
02:00 | <@Reiver> | It so is! |
02:00 | | * Reiver bought a loaf of bread today. |
02:00 | | * Reiver will have bread & butter pudding on friday! |
02:00 | <@Reiver> | (It's like custard. Only you eat it for dinner^H^H^H^H^H^H^HDessert!) |
02:00 | | * Reiver is a bachelor. He eats what he wants when he wants it. ¬¬ |
02:01 | <@ToxicFrog> | Hee. |
02:03 | <@Reiver> | Thus! steak and eggs is breakfast/lunch (pick one, I never eat the other but the first meal of the day is at noon), baked goods are frequently dinner, muesli is an afternoon/late night snack, and Ham, Cheese & $Extras toasted sammiches are always on the menu~ |
02:03 | | * Reiver has a sandwich press. |
02:03 | | * Reiver uses it slightly more often than his frypan, and only marginally less than his microwave. |
02:04 | <@Reiver> | ...Actually, quite a bit more than the frypan when I think about it. |
02:04 | <@Reiver> | And the microwave only wins because I have a penchant for cooking a "Serves six" meal, eating 1/3rd and freezing the rest in two more meals. |
02:05 | <@Reiver> | (They're like microwave dinners. Only cheaper, and actually edible.) |
02:05 | | * Reiver has not cooked an actual meal since, um, last thursday. |
02:05 | | * Reiver stocked his freezer up before Crunch time on his code. >.> |
02:18 | < Janus> | ugh... may I ask a quick algorithm question? Does a 'quick_sort()' work on odd numbered arrays..? |
02:19 | | * Janus is crushed by a meteor in divine retribution for not picking the pun up in time. |
02:20 | <@Pi> | Depends, I would think, on the implementation. But in general, yes. |
02:22 | <@ToxicFrog> | What is a "sandwich press"? |
02:23 | | * Janus adds 200 dollars to ToxicFrog's score. |
02:28 | < Janus> | You're right Mr. Pi, it does work with odd arrays... urm! Alright, then I've another question I'd like to ask... If you have a portion of script that segfaults with random numbers, say, 122, 76, and 31, ... but works hunky-dorry with, oh, 153, 44, and 102... (for no apparent reason mind you,) what would likely be the problem..? |
02:30 | | * Janus notes how the debugger won't segfault like this, notes it with his eye. |
02:33 | <@Pi> | The script has bugs. |
02:35 | < Janus> | |
02:42 | <@Pi> | Well, you're telling me that it crashes sometimes, and other times it works, and are offering absolutely no indication as to what the script does or how it's implemented. That's the most helpful conclusion I can draw from the information I've been presented. |
02:47 | < Janus> | I deserved that... Right now I've stepped through the program with a function that changes window's title, (xoxo ~ SDL_WM_SetCaption), and it's come down to a line that is: "if(shadow == NULL){shadow = load_image("images/shadow.bmp", WHITE_KEY);};" Where 'shadow' is an SDL_Surface declared global, and assigned NULL in the same line. |
02:51 | <@Pi> | What language? |
02:54 | < Janus> | C++; ... ugh... as much as I want to think that's the problem, even if what that surface does, and it's declaration are removed, it still persistes. It's almost like it's just collapsing at random. |
02:54 | <@Reiver> | Have you checked for properly initialising everything before use? |
02:56 | < Janus> | Yep. Every member has an assignment inside this class, where the problem function is. |
03:00 | | * Pi pokes Raif. You're the one who knwos about surfaces and graphics. |
03:01 | | * Raif renders it in a fit of panic. |
03:02 | <@Raif> | reading the backscroll. |
03:05 | <@Raif> | I'm not familiar with SDL... as a rule I've avoided it like the plague. |
03:06 | <@Raif> | Something like that could easily be caused by giving it the wrong relative path. |
03:06 | <@Raif> | Try an absolute path and see if that work.s |
03:07 | < Janus> | Hmm... alright. I doubt this is SDL's fault anyway. |
03:07 | | Thaqui [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has joined #code |
03:08 | < Janus> | Bath time, gotta wash this dirty-dirty feeling of defeat off. |
03:08 | | Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has quit [Quit: 11%] |
03:10 | <@Raif> | That was fun. |
03:12 | <@ToxicFrog> | Raif: why have you avoided SDL? |
03:19 | <@Pi> | ToxicFrog: Why do you avoid high-voltage nipple clamps? |
03:34 | <@Raif> | Pi has the right of it... |
03:34 | <@Raif> | SDL's only strength, IMO, is that it's cross-platform. |
03:35 | <@Raif> | I tend to do all graphics development on windows, where Direct3D is far, far more powerful. Otherwise I stick with OpenGL, because that's the other standard |
03:36 | <@ToxicFrog> | Raif: well, for one thing, SDL does support OpenGL. |
03:36 | <@Raif> | Of course, now that a little company I like to call SGI has bankrupted itself, OpenGL will probably fall out of public favor and be replaced. :) |
03:37 | <@Raif> | No, SDL is implemented on top of OpenGL... which is fine. It just exposes the lower layer. |
03:37 | <@ToxicFrog> | You can also access OGL directly in conjunction, which is handy when writing cross-platform 3d apps. |
03:37 | <@Raif> | It doesn't behave well with other thirdparty libraries though (at least, not always... a friend of mine had this problem twice and thus soured me on SDL for a while) |
03:37 | | * ToxicFrog has never had any problems of that kind. |
03:38 | | * Raif shrugs. |
03:38 | <@ToxicFrog> | Anyways. I don't do 3d stuff, so SDL works great for me. |
03:38 | <@Raif> | Indeed. :) |
03:38 | <@Raif> | Like I said, if I'm looking for power and flexibility, I'll tend to stick with DirectX. |
03:39 | <@ToxicFrog> | My definition of flexibility includes the ability to run on real operating systems, so. |
03:39 | <@Raif> | That's an aspect, but not the end-all-be-all. |
03:40 | <@ToxicFrog> | Basically, anything I write must run on Linux, and should run on OSX and Windows. |
03:40 | <@ToxicFrog> | Thus, if I'm working with graphics, sound, or realtime input, SDL is the way to go. |
03:40 | <@Raif> | Besides, most of the OpenGL stuff that does the cool stuff DirectX can do involves nonstandard extensions, which can potentially tear that cross-platform thing to shreds. |
03:41 | <@Raif> | For that goal, SDL is king. |
03:41 | <@Vornicus-Latens> | The problem with OpenGL is that the folks who own it have been on life support for ages. |
03:41 | <@ToxicFrog> | I don't do 3d stuff, so I wouldn't know about OGL/D3D feature sets. |
03:41 | <@Raif> | I'll probably play with it eventually, if I ever do another large scale 3D app... but that time is not now. :P |
03:42 | <@Raif> | Vorn: indeed. |
03:42 | <@ToxicFrog> | Vorn: this makes me sad. |
03:42 | <@Vornicus-Latens> | I think once they manage to sell it (there are rumors they're trying), the thing will start being stompy again. |
03:43 | <@ToxicFrog> | I do hope so. |
03:43 | | * Pi uses ncurses for all of his 3D graphics. |
03:43 | <@Pi> | I knwo it stretches the limit of the linux platform, but it's real cutting-edge. |
03:44 | <@Vornicus-Latens> | And - hopefully - we'll see official builds for languages other than straight C. |
03:44 | <@ToxicFrog> | Of OGL? |
03:44 | <@Vornicus-Latens> | Yeah |
03:44 | | * ToxicFrog would like to see OpenGL beat D3D into a messy and well-deserved grave. |
03:45 | <@ToxicFrog> | And now, slwwp. |
04:14 | | Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code |
04:19 | <@Reiver> | The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project |
04:20 | <@McMartin> | ... You seem to be missing rt.jar. |
04:20 | <@Reiver> | I shifted a bunch of .java files from one folder to another (CVS) folder. |
04:20 | <@Reiver> | Did I take one something too many, or leave something behind? |
04:20 | <@McMartin> | ... I'm wondering if the .eclipse file has become confused. |
04:21 | <@Reiver> | Aha. Trashed my .classpath file |
04:22 | <@Reiver> | Er. I have two of them. |
04:23 | <@Reiver> | One in CalenderManager\ and one in CalenderManager\sched\ (The package) |
04:23 | | * Reiver is wondering what he nuked. |
04:24 | <@McMartin> | This is probably Eclipse-internal stuff |
04:24 | <@Reiver> | Right. |
04:24 | <@Reiver> | Whups. |
04:24 | <@Reiver> | Um. |
04:32 | <@Reiver> | java.lang.NoClassDefFoundError: sched/CalendarManager |
04:32 | <@Reiver> | Exception in thread "main" |
04:33 | <@Vornicus-Latens> | with Eclipse, import all the files from your program into a new project. |
04:34 | <@Reiver> | A new SVN project, or a completely clean one? |
04:34 | <@Vornicus-Latens> | oh, you've got it in SVN? Have you tried checking it out again? |
04:35 | <@Reiver> | Yeah. We, um, broke it. |
04:35 | <@Vornicus-Latens> | ow. |
04:35 | <@Vornicus-Latens> | um |
04:36 | <@Reiver> | And I'm keeping Chalain up with the bugfix too. :/ |
04:37 | <@Reiver> | HAHAHAHA |
04:38 | | * Reiver reboots Eclipse, win! |
04:38 | <@Vornicus-Latens> | ? |
04:38 | <@Vornicus-Latens> | Wootularity |
04:40 | <@Reiver> | Right. |
04:41 | <@Reiver> | How does one return the current-system-time in Java? I know a Date or Calendar object defaults to it, but that seems messy. |
04:42 | <@Vornicus-Latens> | I think the right way to do it is Date() |
04:43 | <@McMartin> | System.currentTimeMillis() |
04:43 | <@Vornicus-Latens> | or that |
04:43 | <@McMartin> | That may be ms-since-prog-start |
04:44 | <@Reiver> | No, you're right. |
04:44 | <@Reiver> | There's also System.timeNano(); which is the 'most accurate avalable', and which to choose was throwing me. |
04:45 | <@Vornicus-Latens> | generally you don't need the time in nanoseconds. |
04:49 | | Syloqs-AFH [Syloq@NetAdmin.Nightstar.Net] has quit [Ping Timeout] |
04:50 | <@Reiver> | Hrm. |
04:51 | <@Reiver> | Okay, System.currentTimeMillis() returns the time as a long. |
04:51 | <@Reiver> | I cannot typecast it to a Date, nor does Date accept a long as a constructor. |
04:51 | | * Reiver is certain he's missed something obvious here. |
04:51 | <@Vornicus-Latens> | um |
04:52 | <@Vornicus-Latens> | http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html#Date(long) <--- |
04:52 | <@Vornicus-Latens> | But, if you're working with Date objects, you should really just use Date() |
04:53 | <@Vornicus-Latens> | In any case. |
04:53 | <@Vornicus-Latens> | SLEP |
04:53 | | * Vornicus-Latens slep |
04:56 | <@Reiver> | Ni Vorn |
05:11 | | Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has quit [Quit: Immagoin'tobedibyenowandthat'sallshewrotetothisguythatwaslikeme,onlyabittalleran dwithsunglasses. *collapzzzz*] |
05:23 | | Syloq [Syloq@NetAdmin.Nightstar.Net] has joined #code |
05:24 | | Syloq is now known as Syloqs-AFH |
05:29 | | * jerith yawns, wanders in. |
05:30 | <@Reiver> | ...I hope I didn't wake you? |
05:30 | <@jerith> | Nope. |
05:30 | <@Reiver> | Insanity. |
05:30 | <@Reiver> | When do you go to work? |
05:31 | <@jerith> | I'm lying in bed listening to the chaos of a bunch of kids get ready for school on insufficient sleep. |
05:31 | <@Reiver> | Heh. Oh dear. |
05:31 | | * Reiver huggles. |
05:31 | <@jerith> | I leave in a little under two hours. |
05:32 | | * Reiver nod. |
05:32 | <@Reiver> | You, er, mind giving me half a hand? |
05:32 | <@Reiver> | Chalain has been helping me, but had to crash. |
05:32 | <@jerith> | Before then I need to go shower. |
05:32 | <@jerith> | Left or right? |
05:32 | <@jerith> | I can only spare one... :-P |
05:32 | <@Reiver> | :p |
05:32 | <@jerith> | What do you need? |
05:32 | <@Reiver> | Alas, we spent half the night fixing Eclipse when it broke, rather than actually coding, so I am a little behind and still have Stupid Questions. >.> |
05:33 | <@Reiver> | Just... syntax/conceptual stuff. I keep tripping up on the basics, and on a 64k connection looking up /every/ class every thirty seconds is getting distinctly frustrating. |
05:33 | <@Reiver> | Also, I seem to be lagging intermittantly, which doesn't help that sort of matter. |
05:34 | <@jerith> | Ah. |
05:34 | | * jerith keeps google handy, then. |
05:35 | | * Reiver is at that mental point where he knows what he needs to do, and even remembers having done it a lot in the past. He just keeps forgetting the syntaxy-stuff /right now/. |
05:35 | <@Reiver> | For example, sorting an ArrayList of objects. You use Collections.sort to do it, but damned if I remember how. |
05:35 | | * Reiver is looking that up in his less-than-stellar textbook. |
05:39 | <@jerith> | To sort objects, they need to implement java.lang.Comparable. |
05:40 | <@jerith> | So they need a "public int compareTo(Object o)" method. |
05:42 | <@jerith> | Then you can sort it with Collections.sort(listOfObjects) |
05:42 | | * Reiver nods. |
05:42 | <@Reiver> | The thing that has me wondering |
05:43 | <@Reiver> | Is that I have a set of getStartTime() and getAlarmTime() methods. |
05:43 | <@Reiver> | These return GregorianCalendar objects. |
05:43 | <@Reiver> | Which already have implimented the Comparable interface, and the .compareTo as a result. |
05:43 | <@Reiver> | Er. |
05:43 | <@Reiver> | Is there any way I can cheat and use /those/ instead of starting from scratch? |
05:44 | <@Reiver> | Collections.sort(listofObjects.getStartTime()) or such? >.> |
05:46 | <@jerith> | I don't think so. :-/ |
05:46 | <@Reiver> | Bugger. |
05:46 | <@jerith> | It's fairly easy to do, though. |
05:46 | <@Reiver> | That would have been too easy. >.> |
05:46 | <@jerith> | Just add "implements Comparable" to the class def. |
05:46 | <@Reiver> | Eh, well. I have to impliment the Comparable inteface, because there's two things each Appointment can be sorted on - start time, or alarm time. |
05:47 | | * Reiver remembers it being a pain in the butt. |
05:47 | | Syloqs-AFH [Syloq@NetAdmin.Nightstar.Net] has quit [Connection reset by peer] |
05:47 | <@jerith> | And make the .compareTo method return foo.getTime.compareTo(bar.getTime()); |
05:52 | <@Reiver> | And then I need one for alarmTime too, though. |
05:52 | <@Reiver> | I don't remember how one does that trick when the two objects are of the same type. |
05:53 | <@jerith> | Does what trick? |
05:53 | <@jerith> | Sort by two different things? |
05:59 | <@jerith> | You could always have a sortBy field and check that in compareTo(). |
05:59 | | Thaqui is now known as ThaquiWork |
06:00 | <@Reiver> | Hrm. |
06:00 | | * Reiver nods. |
06:01 | <@Reiver> | ...How would the sortBy feild work? |
06:01 | <@Reiver> | A string? |
06:01 | <@jerith> | Or an enum or something. |
06:01 | <@jerith> | You'd need a sortBy() method to set it with. |
06:02 | | * Reiver nods. Ponders. |
06:03 | <@jerith> | And then you if (sortBy_ == "alarm") { /* sort by alarm */ } else { /* sort by date */ } |
06:03 | <@Reiver> | Or a messy compareTo() that cheats with an if, but that's naughty. >.> |
06:04 | <@McMartin> | Two static Comparator fields |
06:04 | <@jerith> | Umm, I think I just wrote the messy compareTo. |
06:04 | <@McMartin> | Which you then pass one of to sortBy() |
06:08 | <@Reiver> | ...What do you mean by that, McM? |
06:09 | <@Reiver> | (Also, serialisation. Is it ok to serialise the top object if it links to all the other serializable objects, or do I need to specify the ones further down in the hierachy too?) |
06:09 | <@Reiver> | (I have a CalendarManager object that stores an ArrayList of ApptCalendars. The ApptCalendars then store ArrayLists of Appointments.) |
06:09 | <@McMartin> | yes, on serializer |
06:09 | <@McMartin> | on comparator... |
06:10 | <@McMartin> | (typing slow; wrists hurt) |
06:10 | <@McMartin> | You use a Comparator for sorting the ArrayList, yes? |
06:10 | <@Reiver> | I intend to, yes |
06:10 | <@Reiver> | (All of these are serialized. If I go outputStream.writeObject(CalendarManager), it'll save the lot of them? Awesome. Much easier!) |
06:11 | <@McMartin> | And you need two; one for each sort type, also yes? |
06:11 | | * Reiver nods. |
06:11 | <@McMartin> | So. Predefine them as static class members |
06:11 | <@McMartin> | Then you can haul them out as needed at any point |
06:12 | <@Reiver> | ...I thought statics couldn't reference any variable that wasn't also a static? |
06:12 | <@Reiver> | Er. In a static. |
06:13 | <@McMartin> | Sure. But compare in the comparator gets those objects as arguments |
06:13 | <@McMartin> | So they're locals |
06:13 | | * jerith does not entirely follow. |
06:14 | <@McMartin> | Comparators are stateless. You only need one of each. |
06:15 | <@McMartin> | That's all there is, really |
06:15 | <@McMartin> | compare (Object a, Object b) |
06:15 | <@McMartin> | a and b cast to Appointment |
06:15 | <@Reiver> | Hrm. I think I see. |
06:15 | <@McMartin> | If you define these comparators as static inner classes, they can access private fields of Appointment |
06:16 | | * McMartin would actually do it with anonymous inner classes, but whatever |
06:16 | | * Reiver ponders. |
06:17 | <@Reiver> | compare (Object a, Object b, somethingToCompareBy c) ? |
06:17 | <@Reiver> | Or do I have the inner workings up the snafu? |
06:17 | <@McMartin> | "c" is actually "this" |
06:17 | <@Reiver> | I meant... oh wait. |
06:18 | | Thaqui [z8sfay70gn@66.45.41.ns-27104] has joined #code |
06:18 | <@Reiver> | Appointment1.getStartTime().compare(Appointment1, Appointment2)? |
06:18 | <@McMartin> | Er |
06:19 | | Syloq [Syloq@NetAdmin.Nightstar.Net] has joined #code |
06:19 | <@McMartin> | I was thinking more appointmentList.sort(Appointment.startTimeComparator); |
06:19 | <@Reiver> | Hrm. |
06:20 | | Syloq is now known as Syloqs-AFH |
06:22 | | Mahal [~Mahal@Nightstar-11770.worldnet.co.nz] has joined #Code |
06:22 | | mode/#code [+o Mahal] by ChanServ |
06:22 | <@Reiver> | int startTimeComparitor(Appointment appt1, Appointment appt2) return appt1.getStartTime().compareTo(appt2.getStartTime()); ? |
06:23 | | * Reiver tries to think. That can't be right. |
06:23 | <@McMartin> | No |
06:24 | <@McMartin> | You're subclassing Comparator here. |
06:24 | <@McMartin> | Comparator<Appointment>, specifically |
06:25 | <@McMartin> | Then you override int compare(Appointment a1, Appointment a2) |
06:29 | <@Reiver> | I get that bit. |
06:29 | <@Reiver> | Well, I hope I do, I Might Not |
06:29 | <@Reiver> | But what's throwing me is, er, where are you telling it to compare with a startTime instead of an alarmTime? |
06:30 | <@McMartin> | Oh, the implementation of startTimeComparator was fine |
06:30 | <@McMartin> | It just was in the wrong place. |
06:30 | <@McMartin> | You subclass Comparator twice. |
06:31 | <@McMartin> | Which one you hand to sort is the part where you say which you're using |
06:31 | <@Reiver> | ...Er. Ok? |
06:32 | <@McMartin> | http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collections.html#sort(java.uti l.List,%20java.util.Comparator) is the method you'd be sorting with |
06:33 | <@McMartin> | One subclass of Comparator does what you gave |
06:33 | <@McMartin> | Another does it with alarm time instead |
06:33 | <@Reiver> | The other is -start + alarm |
06:33 | <@Reiver> | Right. Okay. Um. I tihnk. |
06:33 | | * Reiver rereads the comparator stuff. |
06:33 | <@McMartin> | I cannot type at length tonight |
06:33 | <@McMartin> | You've already done compareTo before |
06:33 | <@McMartin> | It's just like that but both arguments are passed in |
06:34 | <@Reiver> | ...Ah-hah. |
06:34 | <@Reiver> | Right! |
06:34 | <@Reiver> | I got it! I think. |
06:34 | <@Reiver> | Yes. I think I got it. |
06:34 | <@Reiver> | Thank you very much, McM |
06:34 | <@Reiver> | Um. Good luck with your wrists? |
06:34 | <@Reiver> | (What happen anyhoo?) |
06:34 | <@Reiver> | (If it's on lj or something I haven't exactly been keeping up.) |
06:35 | <@McMartin> | I've been working long and continuously enough over the past couple months that I am courting RSI/carpal tunnel |
06:35 | <@McMartin> | And so I will stop doing this |
06:35 | <@Reiver> | Ack! |
06:35 | <@Reiver> | Yes. You do that. |
06:35 | | * Reiver huggles, or at least in spirit. |
06:35 | <@Reiver> | I've been fighting that too |
06:35 | | * McMartin encases in ice |
06:36 | <@McMartin> | Do badminton stretches |
06:36 | <@Reiver> | I said in spirit. >.> |
06:36 | <@Reiver> | No touchy the McM, but sympathy still shown. :p |
06:37 | | * Reiver pokes carefully at Serializable. |
06:37 | <@jerith> | McM doesn't like touchy? |
06:37 | | * jerith thinks evil thoughts. |
06:38 | | * McMartin uses IRC solely as a text comm. |
06:38 | | * Reiver uses text, on occasion, to state an expression of sympathy, etc |
06:39 | <@Reiver> | And the current meme for such matters is apparently 'huggle'. |
06:39 | <@Reiver> | McM apparently objects to this. >.> |
06:39 | <@Reiver> | ...Ehn? |
06:39 | <@Reiver> | "Type safety: The cast from Object to ArrayList<ApptCalendar> is actually checking against the erased type ArrayList" |
06:39 | <@McMartin> | Cast to ApptCalendar, not ArrayList |
06:40 | <@Reiver> | Ach! |
06:40 | <@McMartin> | Also, I'm touchy about personal space IRL. |
06:40 | <@McMartin> | It has to do with being 6'2" and able to break skin with my elbows |
06:40 | <@jerith> | Ah, one of those. |
06:41 | | * Reiver knows a few friends like that. He got the 'huggles in spirit' idea for 'well, I'd huggle, but that's bad, but, er, the thoughts associated is there'. It is not apparently enough. :p |
06:41 | <@McMartin> | "I'm invading your personal space in spirit" is not sympathy, etc. |
06:41 | | * Reiver has funny personal space quirks himself. He /has/ no personal space, and yet/accordingly is ultra-aware of invading the space of others. |
06:41 | <@Reiver> | Er. I hadn't thought of it in that context. >.> |
06:42 | | * Reiver proffers sympathies/condolences? Will that do? |
06:43 | <@jerith> | Showercleanytime. |
06:43 | <@Reiver> | Bye, jerith! |
06:43 | | * Reiver frowns, stabs serialization some more. |
06:43 | <@McMartin> | That's how it's done, yes |
06:44 | | * Reiver decides to just serialize the whole object instead of just the arrayList inside it, with the only vauge worry being trying to feed a CalendarManager to itself. |
06:48 | | Syloqs-AFH [Syloq@NetAdmin.Nightstar.Net] has quit [Connection reset by peer] |
06:53 | | * Reiver then win! |
06:53 | | * Reiver then also fall in love with Eclipse forever |
06:53 | <@Reiver> | ObjectInputStream iStream = new ObjectInputStream(new FileInputStream("CalendarManagerKRM8")); |
06:53 | <@Reiver> | tempManager = (CalendarManager) iStream.readObject(); |
06:53 | <@Reiver> | Source -> Surround with Try{}Catch block |
06:53 | <@Reiver> | It spat out all three catches nice and clean and yay! |
06:56 | | * Reiver had been expecting pretty much the Try{}Catch(insertErrorHere e){} verbatim, rather than actually intelligently picking out what errors were needing caught. |
06:58 | <@Reiver> | Right. Now for those comparators. |
06:59 | | * jerith returns, clean and mostly unclothed. |
07:01 | <@Reiver> | Yay jerith! |
07:01 | <@Reiver> | Er, wait. >.> |
07:01 | | * Reiver giggles. |
07:01 | | You're now known as TheWatcher |
07:02 | | * jerith quickly dons pants before Reiver is enticed to ravishment. |
07:02 | <@Reiver> | Hi TW! |
07:02 | <@Reiver> | How's you? |
07:04 | <@TheWatcher> | Uh, ask me that in about 30 minutes ¬¬ |
07:05 | | * Reiver giggles, nods. |
07:07 | <@jerith> | Mild sock panic! |
07:07 | <@jerith> | Oh, there they are. |
08:15 | | You're now known as TheWatcher[afk] |
08:16 | <@Reiver> | So. I have an alarmTimeCompare, and a startTimeCompare method. |
08:16 | <@Reiver> | I also apparently require having a .compare(o1,o2) method to satisfy the requirements of the interface. |
08:17 | <@Reiver> | Do I just impliment one of them as 'default', or have I done something dumb? |
08:17 | <@Reiver> | ...And you just left. My timing was perfect. :p |
08:18 | | * Reiver ponders that he is coming down with a lung infection, and cannot get a doctor appointment until tuesday, by which point he will be Rather Ill. >.> |
08:20 | <@McMartin> | Two classes. Each has one compare() method. |
08:20 | <@McMartin> | Whether you're comparing alarm or start depends on which class you're using. |
08:20 | <@Reiver> | ...Oh, I get it! |
08:21 | <@Reiver> | Inner classes? |
08:21 | <@Reiver> | And/or does it matter? |
08:22 | <@McMartin> | I don't think it matters, unless you need to get at private fields of Appointment |
08:22 | <@McMartin> | In which case it's probably easiest to have them be static inner classes of Appointment. |
08:22 | | * Reiver nods. |
08:22 | <@Reiver> | I think that was part of the idea, yes. |
08:22 | <@Reiver> | Thanks! |
08:22 | <@McMartin> | I would do this personally with Java's bastard shambling attempt at lambda expressions, but, uh, I learned LISP before Java, so. |
08:22 | <@Reiver> | (...So does Appointment itself implement the Comparable method, or only the inner class, idly?) |
08:23 | | * Reiver snerks. Nods. |
08:23 | <@McMartin> | (Only those two inner classes.) |
08:23 | <@Reiver> | Thanks, McM. |
08:23 | <@McMartin> | (Which implement Comparator) |
08:23 | <@McMartin> | (Not the same as Comparable) |
08:23 | <@Reiver> | That was what was throwing me earlier. |
08:23 | <@Reiver> | ...And Comparator, yes. My bad, I had it right in the code. (In the wrong place, but.) |
09:27 | <@Reiver> | public static class StartTimeComparator extends Appointment implements Comparator { |
09:27 | <@Reiver> | StartTimeComparitor() { |
09:27 | <@Reiver> | super(); |
09:27 | <@Reiver> | } |
09:27 | <@Reiver> | Apparently there is something wrong with this constructor. |
09:27 | | * Reiver hrms. |
09:31 | <@Reiver> | ...Spelling mistake. |
09:31 | | * Reiver giggles. |
09:31 | | * Reiver wishes he could spell better. Half his errors are spelling mistakes he doesn't notice. >.> |
09:49 | | You're now known as TheWatcher[wr0k] |
09:59 | | Mahal is now known as MahalZzz |
09:59 | | MahalZzz [~Mahal@Nightstar-11770.worldnet.co.nz] has quit [Quit: The computer, she is snoring now.] |
10:05 | <@Reiver> | for (ApptCalendar cList : calendarList) { |
10:05 | <@Reiver> | for (Appointment appt : cList.getAppointmentList()) { |
10:05 | <@Reiver> | aList.add(appt); //Use the addAll method, if you can figure out how to run it? |
10:05 | <@Reiver> | } |
10:05 | <@Reiver> | } |
10:05 | <@Reiver> | I'm just wondering, which bits would I have to change to utilise addAll? |
10:06 | <@Reiver> | Oh. |
10:06 | <@Reiver> | NM. |
10:06 | <@Reiver> | Remove the inner loop, and use aList.addAll(cList.getAppointmentList()); instead. I think. |
10:06 | <@TheWatcher[wr0k]> | for (ApptCalendar cList : calendarList) { aList.addAll(cList.getAppointmentList()); } |
10:06 | | * Reiver tries it. |
10:07 | | * Reiver also makes a quiet note to change his Eclipse settings to more closely match his IRC ones, 'cuz he's reading code on IRC better than in Eclipse. >.> |
10:08 | <@Reiver> | Part of that, I think, is my eyesight is failing, and the FixedSys grey-on-black colourscheme I use is easier than the narrower fixed font with black-on-white.) |
10:08 | <@TheWatcher[wr0k]> | That's a point... I wonder if it's possible to embed irssi in emacs >.> |
10:08 | | * Reiver snerks. |
10:08 | <@Reiver> | That would be simultaneously excessive, geeky, and yet completely fitting for the steriotype of emacs. :p |
10:08 | <@TheWatcher[wr0k]> | Yes. Yes it would. |
10:09 | <@TheWatcher[wr0k]> | http://www.emacswiki.org/cgi-bin/wiki?action=browse;oldid=EmacsIRCClient;id=ERC >.> |
10:09 | | * Reiver snerks. |
10:09 | <@Reiver> | c.sort(aList.AlarmTimeComparator); |
10:09 | <@Reiver> | Hrm. |
10:09 | <@Reiver> | That line is wrong. |
10:09 | | * Reiver peers at it |
10:09 | <@TheWatcher[wr0k]> | AlarmTimeComparator is a class, no? |
10:09 | <@Reiver> | It's complaining it can't find the AlarmTimeComparator method. |
10:10 | <@Reiver> | Correct |
10:10 | <@Reiver> | Inner subclass of Appointment, which aList is an ArrayList of. |
10:10 | <@TheWatcher[wr0k]> | In thace case, that makes no sense |
10:10 | <@Reiver> | Wonderful! |
10:10 | <@TheWatcher[wr0k]> | you can't talk to classes, only methods or variables |
10:11 | <@Reiver> | Right. |
10:11 | <@TheWatcher[wr0k]> | Java classes are not really first class entities |
10:11 | <@Reiver> | <McMartin> I was thinking more appointmentList.sort(Appointment.startTimeComparator); |
10:11 | <@Reiver> | Thu[18:24] <McMartin> You're subclassing Comparator here. |
10:11 | <@Reiver> | Thu[18:24] <McMartin> Comparator<Appointment>, specifically |
10:11 | <@Reiver> | Thu[18:25] <McMartin> Then you override int compare(Appointment a1, Appointment a2) |
10:12 | <@Reiver> | This is not a problem, just repasting so you know what I was trying to emulate >.> |
10:13 | <@TheWatcher[wr0k]> | (well, they are, but you can't use them directly like that) |
10:13 | <@TheWatcher[wr0k]> | (because Java doesn't know what to /do/ with it) |
10:13 | | * TheWatcher[wr0k] ponders |
10:14 | <@Reiver> | I note that is quite possibly psuedocode, as his hands were kinda sore due to carpal tunnel |
10:14 | <@Reiver> | But I assume that makes more sense than it does to me (now that I've realised what I was /trying/ to do was wrong) |
10:17 | | * TheWatcher[wr0k] eyes that pseudocode |
10:18 | <@TheWatcher[wr0k]> | Uh, yes, because that won't work either - ArrayList has no sort(0 method, you need to use Collections.sort(List<T> list, Comparator<? super T> c) |
10:19 | <@Reiver> | Oh. |
10:19 | <@Reiver> | c.sort is Collections.sort |
10:19 | <@TheWatcher[wr0k]> | (where Collections is the Java class that provides polymophic operations for collections) |
10:19 | | * Reiver failed to point that out, apologises. |
10:19 | <@Reiver> | Collections c; |
10:19 | <@Reiver> | >.> |
10:20 | <@Reiver> | (I dunno why I did that now, but it seemed a good idea at the time.) |
10:20 | <@TheWatcher[wr0k]> | ... I'm not even sure that'll work |
10:21 | <@TheWatcher[wr0k]> | *shrug* Anyway. What I'd recommend is |
10:21 | <@Reiver> | It hasn't given any errors, but I'll, ah, just change it in case. |
10:23 | <@TheWatcher[wr0k]> | public class AlarmTimeComparator implements Comparator { public int compare(..) { .. your compare method... } } |
10:23 | <@TheWatcher[wr0k]> | Maye that a top level class, not an inner one |
10:24 | <@TheWatcher[wr0k]> | then you can do |
10:24 | <@TheWatcher[wr0k]> | *Make |
10:24 | <@TheWatcher[wr0k]> | Collections.sort(newList, new AlarmTimeComparator()); |
10:25 | <@Reiver> | sort() has two arguements you feed it? |
10:25 | <@TheWatcher[wr0k]> | If you want to use a custom comparator, yes |
10:26 | <@TheWatcher[wr0k]> | .. actually |
10:26 | <@TheWatcher[wr0k]> | Hold on, you can do it with one |
10:27 | <@Reiver> | ...I'll be damned, it works anyway. >.> |
10:27 | <@TheWatcher[wr0k]> | It means making your Appointment class implement Comparable and then provide a compareTo() method that compares the current item to a provided one |
10:28 | <@TheWatcher[wr0k]> | Which you use is really up to you though |
10:29 | <@Reiver> | It works with the class as an inner class. |
10:29 | <@Reiver> | It just needed the first arguement to do so, apparently! >.> |
10:29 | <@TheWatcher[wr0k]> | Oh, okay |
10:30 | <@TheWatcher[wr0k]> | (I tend to avoid inner classes unless there's a good reason to have them.) |
10:40 | <@Reiver> | This was apparently equivalent, and made the code - if not the program - a little more ordered. >.> |
10:40 | <@Reiver> | CalendarManager tempManager = new CalendarManager(); |
10:40 | <@Reiver> | try { |
10:40 | <@Reiver> | ObjectInputStream iStream = new ObjectInputStream(new FileInputStream(fileName)); |
10:40 | <@Reiver> | tempManager = (CalendarManager) iStream.readObject(); |
10:40 | <@Reiver> | I have typecast this wrong. Er. |
10:45 | <@TheWatcher[wr0k]> | You don't need to = new CalendarManager() for a start, but that's a sidething |
10:45 | <@Reiver> | Point. |
10:46 | <@TheWatcher[wr0k]> | Hm |
10:46 | <@TheWatcher[wr0k]> | That /looks/ right, are you sure you're loading a serialised CalendarManager object? |
10:46 | <@Reiver> | I, uh, hope so. |
10:46 | | * Reiver ponders, pokes at his code again |
10:47 | <@TheWatcher[wr0k]> | What's the equivalent save code look like? |
10:47 | <@Reiver> | I am not! |
10:47 | <@Reiver> | I am writing an ArrayList<Appointment>! |
10:47 | <@Reiver> | Stupid mistake. |
10:47 | <@TheWatcher[wr0k]> | Easy done |
10:47 | <@Reiver> | (I need to get this bit working, then I will be giving up on syntax stuff for the evening I think...) |
10:48 | <@Reiver> | (I am starting to do Stupid Things Yet With Proper Syntax, which is dangerous for debugging later.) |
10:48 | <@TheWatcher[wr0k]> | Yeah |
10:49 | <@Reiver> | Hm |
10:49 | <@Reiver> | public void saveCalendars(ArrayList<ApptCalendar> cList) { |
10:49 | <@Reiver> | try { |
10:49 | <@Reiver> | ObjectOutputStream oStream = new ObjectOutputStream(new FileOutputStream(fileName)); |
10:49 | <@Reiver> | oStream.writeObject(cList); |
10:50 | <@Reiver> | How do I typecast back? (ArrayList<ApptCalendar>) shouts at me. |
10:51 | <@TheWatcher[wr0k]> | I /think/ that'll work. I've virtually no experience with how Java handles generics |
10:52 | <@Reiver> | ...Oh, heh. Sorry. |
10:53 | <@Reiver> | I'd done something stupid. Again. |
10:54 | <@TheWatcher[wr0k]> | (actually, reading up, it'd have to be (ArrayList<Appointment>) if that's what you're saving... ;) |
10:54 | <@TheWatcher[wr0k]> | ) |
10:54 | | * Reiver giggles. |
10:54 | <@Reiver> | Well done. *cough* |
10:54 | | * Reiver headdesks. |
10:54 | | * Reiver is too braintired to be coding right now, will bugfix this bit and /stop/ he thinks. |
10:54 | <@TheWatcher[wr0k]> | Good idea |
10:55 | | * Reiver eyes the next error. What in the hells? |
10:56 | <@Reiver> | Ah! |
10:56 | <@Reiver> | Debug code! |
10:56 | <@Reiver> | Be careful when you change to the working model and forget to update the references to the debug stuff! |
10:56 | <@TheWatcher[wr0k]> | snrk |
10:57 | | * TheWatcher[wr0k] ponders, digs |
10:57 | | * TheWatcher[wr0k] idly notes http://www.bluemarsh.com/java/jswat/ |
10:58 | <@Reiver> | Ooh. SHiny. |
10:58 | | * TheWatcher[wr0k] has no idea how /good/ it is, but it'll probably be better than jdb or lotsof println()s |
10:58 | | * Reiver will stick with Eclipse for the moment, mind. |
10:58 | | * Reiver ponders. |
10:58 | <@TheWatcher[wr0k]> | (probably) |
10:58 | | * Reiver stab! A pox apon thee, oh static methods! Arg! |
10:59 | | EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has quit [Ping Timeout] |
11:01 | <@Reiver> | Aha. Ok. That bit sorted, but requiring jiggling elsewhere. |
11:01 | <@Reiver> | I have a getCalendarList, and a getCurrentCalendar. |
11:02 | <@Reiver> | One passes the entire arraylist, the other passes just the one object from said arraylist. Um... how would I set matters so I know which actually /is/ the CurrentCalendar? |
11:02 | | EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has joined #code |
11:02 | <@Reiver> | (I have no idea fi that makes sense.) |
11:03 | | Thaqui [z8sfay70gn@66.45.41.ns-27104] has quit [Quit: CGI:IRC] |
11:16 | <@TheWatcher[wr0k]> | Um, have a setCurrentCalendar() that you pass a number, or a reference to a calendar, that is recorded for later use when determining which calendar to return from getCurrentCalendar? |
11:16 | <@TheWatcher[wr0k]> | unless you want it to iterate throught he calendars automagically each time it is called or something... |
11:17 | <@Reiver> | No, in this case it needs to just choose the one calendar. |
11:17 | | * Reiver ponders. |
11:17 | <@Reiver> | ...Yes, this can work. |
11:17 | | * Reiver tries to think a little more. |
11:17 | <@Reiver> | Ah! I've been doing it wrong, that's what it is. |
11:17 | | * Reiver changes. |
11:26 | | ThaquiWork is now known as Thaqui |
11:35 | | Thaqui [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has quit [Quit: Leaving] |
11:36 | <@Reiver> | Like |
11:36 | <@Reiver> | OMG |
11:36 | <@Reiver> | It runs again! |
11:36 | | * Reiver fallsoverdead. |
11:36 | | * Reiver ponders. |
11:36 | <@TheWatcher[wr0k]> | yayrunnings |
11:36 | | * Reiver is oh so tempted to keep coding whilst the adrenilane is here, but what when it ends? >.> |
11:36 | <@Reiver> | On the other hand |
11:36 | <@Reiver> | It is writing to files, and loading files. |
11:37 | | * Reiver ponders, doublechecks that bit to ensure it isn't managing to bluff him... |
11:37 | | You're now known as TheWatcher[afk] |
11:37 | | Thaqui [~Thaqui@Nightstar-8486.adsl.xtra.co.nz] has joined #code |
11:42 | <@Reiver> | Good heavens. |
11:42 | <@Reiver> | I do believe this is actually reading the correct code. And on the basis that my duct-taped creation code uses the writer function, I actually have the read/write stuff more or less stable. |
11:42 | <@Reiver> | Hm! |
11:43 | <@Reiver> | I wonder if my search functions work at all. |
11:43 | <@Reiver> | ...I wonder how the hell I check given I can't parse Time yet. >.> |
12:10 | | You're now known as TheWatcher[wr0k] |
12:13 | <@Reiver> | You wouldn't know of a method to truncate strings, would you TW? |
12:14 | <@TheWatcher[wr0k]> | string.substring(0, length); ? |
12:15 | <@TheWatcher[wr0k]> | (well, actually, that'll be length - 1 really, as substring takes a start and end index) |
13:04 | | * TheWatcher[wr0k] ponders |
13:04 | <@TheWatcher[wr0k]> | Some day I must dig up an autocomplete minor mode for emacs |
13:05 | <@TheWatcher[wr0k]> | .. oh, it has one built in apparently... |
13:05 | <@TheWatcher[wr0k]> | Pfft |
13:05 | <@TheWatcher[wr0k]> | all this time I've wanted one, and it's just M-/ |
13:12 | | * Reiver snerrrrk |
13:12 | <@Reiver> | That's brilliant. |
13:12 | <@Reiver> | In an arcane, evil sorta way. |
13:13 | | * Reiver wishes he could: Code in mIRC, Calculate in mIRC, and write Notes in mIRC. |
13:13 | | * Reiver considers this, concludes what he really wants is emacs using FixedSys, timestamps and grey/black colour scheme. ¬¬ |
13:14 | <@Reiver> | (...Oh. And /alias instead of $Arcane_shortcut_keys.) |
13:15 | | * TheWatcher[wr0k] notes that setting such things in emacs is easy >.> |
13:18 | <@Reiver> | Can I get it mouse-friendly? |
13:19 | <@Reiver> | Can I get it to have easy-to-use multiwindow tabs? |
13:19 | <@Reiver> | (I note I gave up on Xchat because the window tabs didn't do what I wanted them to... ¬¬) |
13:19 | <@TheWatcher[wr0k]> | Former, yes. Latter, no. |
13:19 | <@Reiver> | Woe. |
13:19 | | * Reiver <3 window tabs that minimize when you click them again! |
13:19 | <@Reiver> | Lets you do two things at once without actually moving a mouse. :p |
13:19 | <@Reiver> | Anyhoo! |
13:19 | <@Reiver> | It's past 1AM. |
13:20 | <@Reiver> | Chalain will skin me alive if he catches me. >.> |
13:20 | | Reiver is now known as ReivZzz |
13:20 | <@TheWatcher[wr0k]> | Night :) |
13:20 | <@ReivZzz> | (Actually, yes, I know this /is/ an early night for me. You lot be quiet.) |
13:20 | <@ReivZzz> | Nini! |
13:20 | | * ReivZzz flomp. |
13:20 | | * TheWatcher[wr0k] said nothing |
13:21 | < EvilDarkLord> | Ni! |
14:06 | | EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has quit [Ping Timeout] |
14:17 | | EvilDarkLord [althalas@Nightstar-17046.a80-186-184-83.elisa-laajakaista.fi] has joined #code |
14:32 | | Myst [~SouthernM@Nightstar-26801.fv.dl.cox.net] has quit [Quit: "There are two major products that come out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence." - Jeremy S. Anderson] |
14:53 | | Thaqui is now known as ThaquiSleep |
15:38 | | You're now known as TheWatcher[afk] |
16:13 | | Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code |
16:31 | | jerith [~jerith@IRCop.Nightstar.Net] has quit [Ping Timeout] |
16:31 | | jerith [~jerith@IRCop.Nightstar.Net] has joined #code |
16:31 | | mode/#code [+o jerith] by ChanServ |
17:09 | | You're now known as TheWatcher |
17:34 | | Syloq [Syloq@NetAdmin.Nightstar.Net] has joined #code |
17:35 | | Syloq is now known as Syloqs-AFH |
17:46 | | Vornicus [~vorn@Nightstar-18307.slkc.qwest.net] has joined #code |
17:46 | | mode/#code [+o Vornicus] by ChanServ |
18:04 | | You're now known as TheWatcher[afk] |
18:06 | | Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has quit [Quit: my eye brow hurts...] |
18:23 | | Janus [~Cerulean@Nightstar-10302.columbus.res.rr.com] has joined #Code |
19:06 | | Ev3 [~Shemhazai@Nightstar-8502.ds1-ba.adsl.cybercity.dk] has quit [Ping Timeout] |
19:08 | | Ev3 [~Shemhazai@Nightstar-8502.ds1-ba.adsl.cybercity.dk] has joined #Code |
19:12 | | Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code |
19:12 | | mode/#code [+o Chalcedon] by ChanServ |
19:16 | | You're now known as TheWatcher |
19:20 | | Mahal [~Mahal@Nightstar-11770.worldnet.co.nz] has joined #Code |
19:20 | | mode/#code [+o Mahal] by ChanServ |
19:42 | | EvilDarkLord is now known as EvilAwayLord |
19:43 | | Pi [~sysop@Admin.Nightstar.Net] has quit [Ping Timeout] |
20:12 | | Mahal is now known as MahalWORK |
20:24 | | aoanla [~sam@Nightstar-18479.range81-156.btcentralplus.com] has joined #code |
21:29 | | Chalcedon is now known as ChalcyVet |
21:34 | | ChalcyVet [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout] |
21:34 | | Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code |
21:34 | | mode/#code [+o Chalcedon] by ChanServ |
21:43 | | Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code |
21:43 | | mode/#code [+o Chalcy] by ChanServ |
21:45 | | Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout] |
22:03 | | ReivZzz is now known as Reiver |
22:19 | | Chalcy [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Ping Timeout] |
22:19 | | Chalcedon [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code |
22:19 | | mode/#code [+o Chalcedon] by ChanServ |
22:53 | | You're now known as TheWatcher[T-2] |
22:58 | | You're now known as TheWatcher[zZzZ] |
23:16 | | Chalcedon is now known as ChalcyVet |
23:20 | | ChalcyVet [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has quit [Connection reset by peer] |
23:21 | | ChalcyVet [~Chalceon@Nightstar-869.bitstream.orcon.net.nz] has joined #code |
23:46 | | aoanla [~sam@Nightstar-18479.range81-156.btcentralplus.com] has quit [Quit: Leaving] |
23:50 | | ThaquiSleep is now known as Thaqui |
--- Log closed Fri Oct 20 00:00:03 2006 |