--- Log opened Thu Aug 09 00:00:33 2012 |
00:00 | | You're now known as TheWatcher[T-2] |
00:05 | | You're now known as TheWatcher[zZzZ] |
00:16 | | io\gone is now known as iospace |
00:59 | | Derakon[AFK] is now known as Derakon |
01:34 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
01:35 | | mode/#code [+o himi] by ChanServ |
02:11 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [[NS] Quit: Leaving] |
02:15 | | Derakon is now known as Derakon[AFK] |
02:16 | | Attilla [Obsolete@Nightstar-36d1ef0e.as43234.net] has quit [Ping timeout: 121 seconds] |
02:50 | | Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!] |
03:37 | <&McMartin> | Man. Look at all of these functions called in one place. |
03:43 | <&McMartin> | HOORAY |
03:43 | <&McMartin> | "Some people see a problem and think 'I know. I'll use Perl.' Now THEY ARE THE PROBLEM." |
03:45 | < ShellNinja> | I must fix the problems, yelled Johnny. |
03:45 | < ShellNinja> | No, Johnny, you are the problems. |
03:45 | < ShellNinja> | And Johnny was Perl. |
04:23 | | iospace is now known as iospacedout |
04:35 | | Derakon[AFK] is now known as Derakon |
04:42 | | Kindamoody[zZz] is now known as Kindamoody |
04:53 | <~Vornicus> | thought that was php~ |
05:08 | < rms> | if (RFIFOREST(fd) < 4 || RFIFOREST(fd) < RFIFOW(fd,2)) return 0; { // joys |
05:08 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds] |
05:30 | | gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [Client closed the connection] |
05:31 | | gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code |
06:09 | | Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code |
06:09 | | mode/#code [+o Vash] by ChanServ |
06:26 | <~Vornicus> | Hm. Actually I'm not sure what I should use for this; I have ducks and they walk back and forth inside the buildings. |
06:26 | <~Vornicus> | And eventually get to the dock, where they jump in. |
06:30 | <~Vornicus> | THere's a number of set layouts for this - for instance, there's the one for the southeast house, with the cupola, the duck goes left through both floors of the cupola and then out onto the path and to the dock; then there's the one where it starts in the northwest house, going right in the top floor, then across the bridge, and through the second floor of the tower before appearing at the tower |
06:30 | <~Vornicus> | dock. |
06:30 | | Kindamoody is now known as Kindamoody|afk |
06:33 | <~Vornicus> | This takes a set amount of time - I don't see any point in making complicated physics for them - but some ducks move at double speed. |
06:34 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
06:34 | | mode/#code [+o himi] by ChanServ |
06:40 | | Derakon is now known as Derakon[AFK] |
06:55 | | FreefallGeek [FreefallGe@Nightstar-984e0962.cpe.cableone.net] has joined #code |
06:55 | < FreefallGeek> | Anyone here mess with the irc scripting language much? |
06:56 | < celticminstrel> | "the" irc scripting language? |
06:56 | < FreefallGeek> | I apologize. |
06:56 | <&McMartin> | IRC doesn't have a scripting language of its own; which client are you using? |
06:56 | < FreefallGeek> | I meant MIRC |
06:56 | < FreefallGeek> | mIRC, rather. |
07:00 | <~Vornicus> | I've done a little, but I'm not a guru by any measure |
07:00 | < FreefallGeek> | I just have a little something stupid that I'm curious about |
07:01 | < FreefallGeek> | if %variable == channel { set %firstchar $left(%option,1) | set %compare # |
07:01 | < FreefallGeek> | if (( %firstchar != %compare ) || ( %option == $null )) { msg %mainchan You must specify a valid channel starting with a pound sign (#). | msg %mainchan %firstchar %option | halt } |
07:01 | < FreefallGeek> | else { set %mainchan %option | msg %mainchan $+ %mainchan is the new channel of $me $+ ! | halt } |
07:01 | < FreefallGeek> | } |
07:01 | < FreefallGeek> | I've noticed you can't set a variable to '#' because '#' is evaluated as the name of the current channel. |
07:02 | < FreefallGeek> | Meaning it's hard to compare '#' against the first character in a channel name to verify it's a pound |
07:02 | < FreefallGeek> | now I could evaluate %firstchar using $asc and then compare that to the ascii number representing # to do the same thing. |
07:02 | < FreefallGeek> | But it seems like there should be an easier way to do what I'm trying to do. |
07:03 | | Kindamoody|afk is now known as Kindamoody |
07:04 | <~Vornicus> | I suspect there's a way to escape #, one moment |
07:07 | <~Vornicus> | I can't find it though. Try putting a \ before it, that maay work |
07:07 | < FreefallGeek> | yeah i tried that. :) |
07:07 | < FreefallGeek> | no go |
07:07 | <~Vornicus> | I am uncertain |
07:08 | < FreefallGeek> | You did give me a good idea though |
07:08 | < FreefallGeek> | I have it solved now. :) |
07:08 | < FreefallGeek> | if %variable == channel { set %firstchar $left(%option,1) | set %compare $(#,) |
07:08 | < FreefallGeek> | if (( %firstchar != %compare ) || ( %option == $null )) { msg %mainchan You must specify a valid channel starting with a pound sign (#). | msg %mainchan %firstchar %option | halt } |
07:08 | < FreefallGeek> | else { set %mainchan %option | msg %mainchan $+ %mainchan is the new channel of $me $+ ! | halt } |
07:08 | < FreefallGeek> | } |
07:08 | < FreefallGeek> | Thanks Vorn. |
07:09 | | * celticminstrel is uncertain what Vorn actually did here. |
07:10 | <~Vornicus> | wrapping it in $()? well done. |
07:10 | < FreefallGeek> | He said the word escape |
07:11 | < FreefallGeek> | And that got me thinking |
07:11 | < FreefallGeek> | that i was being stupid |
07:20 | | Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!] |
08:09 | | FreefallGeek [FreefallGe@Nightstar-984e0962.cpe.cableone.net] has quit [[NS] Quit: ] |
08:28 | | You're now known as TheWatcher |
--- Log closed Thu Aug 09 09:05:59 2012 |
--- Log opened Thu Aug 09 09:25:12 2012 |
09:25 | | TheWatcher [chris@Nightstar-3762b576.co.uk] has joined #code |
09:25 | | Irssi: #code: Total of 29 nicks [5 ops, 0 halfops, 0 voices, 24 normal] |
09:25 | | mode/#code [+o TheWatcher] by ChanServ |
09:25 | | Irssi: Join to #code was synced in 39 secs |
09:37 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
10:08 | <@TheWatcher> | Today is not going to be a good day |
10:08 | <@TheWatcher> | For today I have to work with email sending |
10:11 | < Reiv> | Hooray! |
10:11 | < Reiv> | Have fun |
10:11 | < Reiv> | ... screaming |
10:11 | < Reiv> | >_> |
10:12 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
10:20 | <@TheWatcher> | Even with Email::Sender I'm expecting the gibbering to start soon |
10:34 | <@Tamber> | Doomed. |
11:06 | | * gnolam gets the urge to post That Talk again. |
11:09 | <@TheWatcher> | Yeah |
11:12 | <@TheWatcher> | Given that That Talk was given by the guy who maintains Email::Sender, it's about the first thing I thought of |
11:14 | <@TheWatcher> | (I have the very slight advantage that I'm not parsing mails, just sending them, but still... I expect by the end of today I will be trying to track down the addresses of the email RFC authors and trying to find launch codes...) |
11:39 | < froztbyte> | Which Talk? |
11:43 | <@TheWatcher> | https://www.youtube.com/watch?v=JENdgiAPD6c |
11:44 | <@TheWatcher> | Email: hates the living! |
11:47 | <@TheWatcher> | (it is a very funny, and yet simultaneously enraging and depressing discussion of how it is actually impossible to program anything to do with email correctly, because email is fundamentally broken at all levels) |
11:48 | <@TheWatcher> | (because the people responsible for it are fucking idiots who happily bolted on kludge after hack after stupid idea until there are places where the specs are actually contradictory or even impossible) |
12:01 | | Nemu [NeophoxProd@Nightstar-6a7027c0.asahi-net.or.jp] has joined #code |
12:02 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
12:14 | < froztbyte> | there's a lot of asiatic characters in my browsers |
12:16 | < froztbyte> | but I'll check it out in a few minutes when I'm done reverse-engineering this clusterfuck my coworker caused |
12:16 | | Reiver [Reiver@5B433A.3CF6C7.5F9F62.5EF979] has quit [[NS] Quit: ] |
12:52 | < Rhamphoryncus> | Haw. So.. C++ supports signalling nans. However, as soon as you do anything with it, including printing, it triggers the FPE handler that by default replaces it with a quiet nan |
12:52 | < Rhamphoryncus> | It has a defined representation, but by default it's inaccessible |
12:52 | < Rhamphoryncus> | And no, the docs I've looked at haven't mentioned this. Instead it's all the discussions that mention it |
12:58 | | * TheWatcher hates all over DST |
13:05 | < RichyB> | You can't reinterpret_cast<> to get at the raw bits of the NaN? |
13:07 | | * TheWatcher twitch |
13:12 | | Kindamoody|out [Kindamoody@Nightstar-18389b83.cust.tele2.se] has quit [Ping timeout: 121 seconds] |
13:13 | < Rhamphoryncus> | RichyB: probably |
13:13 | < Rhamphoryncus> | But it's moot. In theory they should be useful as an uninitialized default for floats. In practice there's quite a lot of pain to get that |
13:36 | < froztbyte> | TheWatcher: I like the unix approach to it |
13:36 | < froztbyte> | "unix time is the same everywhere. display time as you need it" |
13:37 | < froztbyte> | because there's just mad crap out there |
13:37 | <@TheWatcher> | Yes, yes there is. |
13:37 | < RichyB> | UTC or TAI internally |
13:37 | < RichyB> | strftime() with a timezone set for display. |
13:38 | < froztbyte> | UTC is acceptable too |
13:38 | < froztbyte> | but |
13:38 | < RichyB> | But what? |
13:39 | < froztbyte> | the reason I find unix time slightly less objectionable is that you won't find some retard somewhere trying to do date="Thu Aug 9 14:38:40 SAST 2012".split(" ")[0] |
13:39 | < froztbyte> | (had to quickly get a timestring) |
13:39 | <@TheWatcher> | ... |
13:39 | < froztbyte> | and, worst of all, I've seen at least 3 codebases do that |
13:39 | < RichyB> | Oh right. |
13:39 | <@TheWatcher> | I would say "People do that?" but I know they do ;.; |
13:39 | < RichyB> | When I say "UTC" I mean "time_t, 64-bits wide, aligned to UTC" |
13:40 | < RichyB> | Same for TAI. |
13:40 | < froztbyte> | ah, yes, fair enough |
13:41 | < Reiv> | Frotz: But which time is Unix time? |
13:41 | < froztbyte> | seconds since jan 1 1970? |
13:41 | < froztbyte> | well, starting then |
13:41 | <@TheWatcher> | (Mac Classic doesn't count) |
13:41 | < Reiv> | Timezone? |
13:42 | < froztbyte> | Reiv: that's the beauty of it :) |
13:42 | <&ToxicFrog> | UTC. |
13:42 | < froztbyte> | it's the same /everywhere/ |
13:42 | <@TheWatcher> | (or /should be/) |
13:42 | < froztbyte> | yeah, presuming NTP sync |
13:42 | <@TheWatcher> | (on correctly configured machines) |
13:42 | <&ToxicFrog> | The assumption is that the system clock (and thus time()) is UTC and the OS is aware of what TZ you're in and adjusts accordingly for display. |
13:42 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code |
13:43 | <&ToxicFrog> | (this gets fun on dual-boot systems, because windows gives no shits about time zones and assumes the system clock is set to local time, whatever that is) |
13:43 | < froztbyte> | which, as far as I can tell, Windows *still* doesn't do right |
13:43 | < froztbyte> | ToxicFrog: heh, yup |
13:44 | < Reiv> | I kind of like Oracles DATE timestamp |
13:44 | < Reiv> | It dates from 01/01/1900 |
13:44 | < Reiv> | ... Which was a monday. |
13:44 | < froztbyte> | haha |
13:45 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
13:45 | < Reiv> | So you can, if you feel cheesy, just TIMESTAMP % 7 and get the days of the week, mon-fri~ |
13:45 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code |
13:45 | | * TheWatcher wince |
13:45 | < Reiv> | Mon-Sun, anyway. |
13:46 | < Reiv> | Hey, I never said it was a /good idea/ |
13:46 | < Reiv> | But it amuses me to all hell that it works |
13:46 | < froztbyte> | optimilizationitrons! |
13:47 | < Reiv> | Bonus points, it counts cleanly for leap years! |
13:47 | | * TheWatcher vaguely hates all over database DATE/DATETIME/etc fields |
13:47 | < Reiv> | So yeah, 1900 is pretty awesome. |
13:48 | < Reiv> | TW: It is one place where Oracle stomps the face of SQL Server then urinates on the sorry remains |
13:48 | < Reiv> | You want tomorrow? SYSDATE+1! |
13:48 | < Reiv> | An hour ago? SYSDATE-(1/24) |
13:49 | < Reiv> | So, so much nicer |
13:49 | <@TheWatcher> | IT's also fundamentally broken because see also: timezones |
13:49 | < Reiv> | Oh, you can use truncate to zero out, then apply, arbitary days too~ |
13:49 | < Reiv> | eh, there's dev rules for that |
13:50 | < Reiv> | It wasn't hardcoded to start with like UNIX, but the conventions are identical unless you wear pants on your head. |
13:50 | < Reiv> | And it does handle timezones pretty cleanly, though some of the outputs get a little excitable without formatting >_> |
13:52 | < Reiv> | Jul 7, 2012 12:00:00:0000000 + 06:00 (EST) is a bit hard to read neatly~ |
13:53 | | Attilla [Obsolete@Nightstar-a74c5867.as43234.net] has quit [Ping timeout: 121 seconds] |
13:56 | < Rhamphoryncus> | For serializing I'm quite fond of basic iso 8601: 2012-07-07T12:00Z |
13:57 | < Rhamphoryncus> | It defined timezones as offsets from UTC (which means going to daylight savings actually changes your timezone), with Z as the 0-offset (pure UTC) |
13:58 | | Attilla [Obsolete@Nightstar-adb52c1e.as43234.net] has joined #code |
13:58 | <@TheWatcher> | Reiv: Actually, it handles timezones pretty messily, as the data is internally stored as a mess of 7 bytes (century, year, month, day, hour, minute, second) the current timezone, and the database has to translate it. |
13:58 | <@TheWatcher> | *in the current timezone |
13:59 | <@TheWatcher> | It relies on a separate tz file, and much nastiness under the hood. |
14:03 | <@TheWatcher> | but, anyway, back to email! Oh joy! |
14:03 | < Reiv> | have fun! |
14:21 | | * TheWatcher has a Brilliant Idea, and generalises the system so that messages can be sent via more than just email! |
14:21 | <@TheWatcher> | And for my next trick, I will be chewing razor blades! |
14:24 | < froztbyte> | TheWatcher: sounds like you should perhaps just be using Vumi? :P |
14:27 | <@TheWatcher> | Does vumi support email, delayed sending, cancellation of messages in the queue, posting to twitter? |
14:27 | < froztbyte> | probably all but the former |
14:27 | < froztbyte> | and it shouldn't be too hard to implement |
14:27 | < froztbyte> | (it's the software jerith works on) |
14:28 | <@TheWatcher> | Uh |
14:28 | <@TheWatcher> | "all but [email]" and "shouldn't be too hard to implement" should never, ever appear in the same sentence together >.> |
14:28 | <@TheWatcher> | (especialy since I also need to do attachments) |
14:29 | < froztbyte> | OH |
14:29 | < froztbyte> | hahaha you're boned :P |
14:29 | < froztbyte> | email is .... not too bad (but I say this having dealt with a vast array of much more terrible things) |
14:29 | < froztbyte> | MIME is just totally shitty :P |
14:30 | <@TheWatcher> | (even without attachment, I'd need to use MIME anyway, as I'll need to support UTF-8 characters. >.<) |
14:59 | | iospacedout is now known as iospace |
15:35 | < celticminstrel> | What's with Gimp and it's stupid distinction between "save" and "export"? |
15:37 | <&ToxicFrog> | celticminstrel: it doesn't have "export" and hasn't for several versions now. |
15:37 | < celticminstrel> | ...I just got 2.8 a week or three ago and it has export. |
15:38 | < celticminstrel> | Do they release so fast that that's already outdated? |
15:38 | <&ToxicFrog> | Oh |
15:38 | <&ToxicFrog> | Possibly it's been re-introduced, I'm behind that |
15:39 | <&ToxicFrog> | That said, traditionally, the difference is that you "save" in lossless formats you understand natively but you "export" to formats that may lose data or be impossible to edit |
15:39 | <&ToxicFrog> | For example, you save as ODF, you export to DOCX or PDF. |
15:39 | < celticminstrel> | It should just transparently handle this difference. |
15:39 | <&ToxicFrog> | It's a user-difference, not a program-difference. |
15:40 | < celticminstrel> | ie, if you choose "save" and enter a .png name, it should export it to png. |
15:40 | <&ToxicFrog> | "Export" is a warning to the user "you are about to create something for release; you won't be able to edit it, or if you will, it will be missing stuff" |
15:40 | <&ToxicFrog> | That said |
15:41 | <&ToxicFrog> | I am honestly not sure why programs don't just have a "warning: you are about to save in a non-editable format" thing |
15:41 | < celticminstrel> | Exactly! |
16:05 | <~Vornicus> | Note: some programs (old versions of Fireworks come to mind) built valid PNGs with layers |
16:06 | <~Vornicus> | Which is to say that it was editable as a layered paint document, but also usable as a standard png. If, uh, kind of large |
16:14 | <@TheWatcher> | celticminstrel: I note that the save/export distinction crops up in shittons of graphics programs (including pretty much all the adobe ones) |
16:20 | < gnolam> | celticminstrel: because they hate usability. |
16:21 | < celticminstrel> | Heh. |
16:23 | < gnolam> | Especially since it explicitly recognizes what you're trying to do and then goes "well fuck you, no I won't". |
16:24 | < Rhamphoryncus> | create image, save the raw form, export to jpg |
16:24 | < Rhamphoryncus> | It seems confusing because I'm more likely to export than save |
16:25 | < Rhamphoryncus> | But the distinction is good |
16:25 | < gnolam> | A save/export distinction makes sense in e.g. Inkscape, where export really means "now all kinds of shit has to be done to the image, and you have to tell it what to export and how" and save means "this will stay a vector image, in some form or another". |
16:25 | < gnolam> | In GIMP? No. |
16:25 | < gnolam> | Bitmap graphics in, bitmap graphics out. |
16:26 | <~Vornicus> | Layered, probably very large bitmap graphics in, unlayered, smallish bitmap graphics out. |
16:26 | < Rhamphoryncus> | .. so, jpeg isn't lossy? |
16:26 | < ShellNinja> | It is. |
16:26 | < Rhamphoryncus> | (rhetorical question) |
16:26 | <~Vornicus> | With compression, shrinking, and possibly palette loss. |
16:27 | < gnolam> | Shrinking is in no form part of export.- |
16:27 | < gnolam> | And the rest is "this data will be lost, is this ok? y/n". |
16:27 | <~Vornicus> | it absolutely is, and is one of the primary uses I had for export in photoshop when I used it. |
16:27 | < Rhamphoryncus> | png is a grey area. It can represent most of what you'd do in gimp. jpeg should never be reopened though. |
16:28 | <~Vornicus> | --specifically i batch-exported bunches of files at many different sizes. |
16:28 | < gnolam> | It's extra fun because GIMP is explicitly for /retouching/, or at least that's their excuse whenever they refuse to add things that every other graphics program has had since forever. |
16:29 | < gnolam> | And recognizing what the user is trying to do but refusing? No excuse. None. |
16:29 | <~Vornicus> | And as noted: I've seen "pngs" with layer information. and vahs has turned off my monitor so apparently I have to go make lunch now. |
16:31 | < celticminstrel> | Tiff can represent most of what you do in Gimp too, I think... though Gimp doesn't really support it well. |
16:32 | < celticminstrel> | ...Gimp is supposed to be for retouching? Isn't that an argument for unifying save and export? |
16:33 | < Rhamphoryncus> | celticminstrel: possibly, but they're full of crap anyway |
16:33 | < Rhamphoryncus> | The whole design is horrible. The strength of gimp is simply in the volume of things it supports, not that they're easy to use |
16:47 | <@TheWatcher> | I note that, honestly, GIMP is no more or less usable that pretty much every other graphics program I've used (with the exception of DPaint 4, which was the best ever~) Each has their own strengths, their own stupidities and idiosyncrasies. |
16:49 | < gnolam> | ... really? |
16:49 | < Rhamphoryncus> | yeah |
16:49 | < gnolam> | The GIMP's /one/ strength is that it's open source. |
16:49 | <@TheWatcher> | Pretty much, yeah. |
16:49 | < gnolam> | Everything else? Everyone else does it better. |
16:50 | < Rhamphoryncus> | I have contempt with the entire software industry |
16:50 | < celticminstrel> | XD |
16:52 | < Rhamphoryncus> | Just because teams of people like you get paid massive amounts of money doesn't mean your industry has ever grown beyond doing it out of your garage |
16:56 | <@TheWatcher> | gnolam: have you actually used, for example, photoshop? Because it has some of the most incositent and weird interactions between layers and some tools, overcomplicated transparency handling, crashes frequency enough that any sane photoshop user develops a compulsive Ctrl+S twitch. |
16:56 | < gnolam> | I have. And it's light years ahead of the GIMP in usability and stability. |
16:57 | <@TheWatcher> | Uh-huh |
16:57 | <@TheWatcher> | Well, why not just use it then? |
16:57 | <&jerith> | TheWatcher: We don't really want to support email officially, because then we'd have to support email officially. |
16:57 | < gnolam> | And when Photoshop crashes, you don't have to go snooping around to find where it stores its configuration files and delete them all because it just fucked something up permanently in the config. |
16:57 | <@TheWatcher> | jerith: yeah, can't say I blame you. |
16:58 | < gnolam> | Mind you, the GIMP doesn't even have to crash to do that. It just randomly does that every now and then too. |
16:58 | < gnolam> | Really? That argument? |
16:58 | <@TheWatcher> | Well, ues. |
16:58 | <@TheWatcher> | If you hate GIMP so much, why are you still using it? |
16:58 | <&jerith> | vumi should be pretty straightforward to run next to whatever it is that generates the messages to handle SMS, etc. |
16:58 | <@TheWatcher> | Simple question. |
16:59 | < gnolam> | Do point me to a better alternative on Linux. |
16:59 | < gnolam> | Also, a free alternative on Windows. |
16:59 | < celticminstrel> | Or Mac? |
17:00 | < Rhamphoryncus> | <gnolam> The GIMP's /one/ strength is that it's open source. |
17:00 | < Rhamphoryncus> | And that's a doozy |
17:01 | <@TheWatcher> | jerith: does it run as a daemon I can just push data at, or does it need direcly integrating into the system? |
17:02 | <~Vornicus> | Paint.NET is good on windows |
17:08 | <&jerith> | TheWatcher: There's an HTTP API, or you can push directly to AMP if you want. |
17:57 | | ShellNinja is now known as Number3 |
17:59 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [Connection reset by peer] |
18:00 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
18:04 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [Connection closed] |
18:05 | <&jerith> | Err, AMQP |
18:05 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
18:11 | | Tarinaky is now known as Atreus |
18:17 | | mason [IceChat9@4CA975.FA8D0E.4245F1.05DD85] has joined #code |
18:31 | < Rhamphoryncus> | 0,1,1 = 2,1,-1. Simple :P |
18:32 | < Rhamphoryncus> | That's the x,y,z coordinates of a hexagonal grid vs the same in a matching but half-size triangular grid |
18:33 | < Rhamphoryncus> | Which includes a 90 degree rotation to the axis |
18:37 | < Rhamphoryncus> | 0,2,2 = 4,2,-2 |
18:37 | < Rhamphoryncus> | 1,2,1 = 3,0,-3 |
18:44 | | * Moltare does a happy dance |
18:44 | | Kindamoody|afk [Kindamoody@Nightstar-33f76d00.cust.tele2.se] has joined #code |
18:44 | | mode/#code [+o Kindamoody|afk] by ChanServ |
18:44 | < Moltare> | We might be getting an awesome new feature for our game's content building language! |
18:45 | < Moltare> | Arrays fuck yeah! |
18:45 | < Moltare> | ?? only took ten years |
18:47 | < Rhamphoryncus> | LOL |
18:54 | < Moltare> | "See this thing that's using up 7% of each server tick all by itself? Give me arrays and I'll cut that by a factor of thirty" |
18:54 | < Moltare> | "You know that thing the lead designer wants but can't have? Give us arrays and he can have it." |
18:55 | < Moltare> | *POUND POUND POUND POUND* |
18:56 | <&jerith> | WAT. |
18:57 | <&jerith> | You have a /content building language/ for a /role playing game/ and you don't have arrays? |
18:57 | <&jerith> | What data structures do you have? |
18:59 | < Moltare> | In terms of permanent storage? 32-bit integers, mainly. Couple of longs for limited use. |
19:00 | <&ToxicFrog> | |
19:00 | <&jerith> | Why? |
19:00 | < Moltare> | Objects, but those are just a pair of ints lashed together, and inventories, which are declarations of a list of where you can find several objects. |
19:00 | <&ToxicFrog> | Mol, if you have an SA account you could probably keep the Coding Horrors thread supplied for months |
19:01 | <&jerith> | That's very 1980s. |
19:01 | < Moltare> | Because the underlying data structures of this game were cobbled together ten years ago by one fellow in his backroom and not updated properly since |
19:01 | <&ToxicFrog> | This is an amazing argument against rolling your own. |
19:01 | <&jerith> | So how do you store actual content? |
19:01 | < Moltare> | Oh, I'm talking purely about the player savegame here |
19:02 | <&jerith> | Ah. |
19:02 | <&jerith> | So what is an "object" there? |
19:02 | <&ToxicFrog> | (to remind the channel that python, lua, TCL, and half a dozen other embeddable languages existed and had mature implementations ten years ago~) |
19:03 | < Moltare> | Well, in terms of the engine, it's as you'd expect in java. In terms of what the player sees, it's an int ID pointing to a .obj definition which notes graphic, player cost, etcetc and an int ID which stores either the quantity of the that object in that inventory or that object's per-object data |
19:04 | < Moltare> | Depending on whether you've declared it non-stackable or not ?? |
19:04 | < Moltare> | Proper programmers who join us look at the language and die a little inside. |
19:05 | <&jerith> | Why not just switch to a proper serialization format? |
19:05 | < Moltare> | I'm not a proper programmer; I'm a designer of gameplay mechanics who happens to be fairly adept at coaxing working subsystem structures out of our language - I still twitch |
19:05 | <&jerith> | JSON, XML, SQL, etc. |
19:06 | <&ToxicFrog> | XML is not a serialization format aaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
19:06 | < Moltare> | According to our CEO, it's because our tech is our unfair advantage and using third-party anything is bad and wrong |
19:06 | <&ToxicFrog> | um |
19:06 | < Moltare> | (plz to ignoring the Java in which our engine is written) |
19:07 | <&ToxicFrog> | your CEO has the brainworms |
19:08 | < Moltare> | you don't say~ |
19:08 | < Moltare> | This is the same fellow who declared the company's mission goal laser focus to be becoming more popular than WoW+Steam by 2015 |
19:09 | < Moltare> | And then accidentally an entire studio in the US |
19:11 | <&ToxicFrog> | pfft |
19:11 | <&ToxicFrog> | How many users does it have right now? |
19:11 | < Moltare> | Personally I don't really care about our unfair advantage; I prefer a language that doesn't take six years to get an AND operator |
19:11 | < Moltare> | Can't quote exact figures, you need marketing for that ?? |
19:12 | <&ToxicFrog> | Roughly~ |
19:12 | < Moltare> | But about 3m5 users, of which 0m8 subscribing |
19:13 | <&ToxicFrog> | ...3m5? 0m8? |
19:13 | <~Vornicus> | 3.5e6, 0.8e6 |
19:13 | < Moltare> | Three and a half million users, 800,000 members. |
19:14 | <&ToxicFrog> | Aah |
19:14 | <&ToxicFrog> | (wiki claims 10M active users but doesn't say how many subscribe, interestingly) |
19:15 | <&ToxicFrog> | But, ok, if "more popular" is just people playing, not people with pay accounts, it just needs to grow by a factor of 6-20x over the next three years, depending on which numbers you're using~ |
19:16 | < Moltare> | Ten million active users, yes, but active is a dodgy term in mmos |
19:20 | < Rhamphoryncus> | Pfft, try asking a dating site what active means :D |
19:23 | < Moltare> | "Has ever visited the site, or gave gender as female"? |
19:24 | < Rhamphoryncus> | yeah |
19:24 | < iospace> | o_O |
19:24 | < Rhamphoryncus> | They basically don't take users off of their counts, no matter how little activity they have |
19:25 | <&jerith> | Moltare: What makes this language better than the real language you use for other stuff? |
19:25 | <&jerith> | For context, I'm kind of going in the other direction. |
19:26 | < Moltare> | Your context has confused me more than its lack~ |
19:26 | <&jerith> | I'm reimplementing a bunch of existing stuff because I don't want to have a Java server in my stack. |
19:27 | <&jerith> | The "kind of" is because I'm building an implementation for an existing standard rather than building a new standard. |
19:27 | <&jerith> | (We're actually switching to the standard from a bunch of crappy ad-hoc things we built because they're crappy ad-hoc things.) |
19:28 | < Moltare> | As far as the other stuff... well, there's the game engine, the game client, the player save handler, there's the web systems, there's the web frontend, there's the game serverscript and the game clientscript. |
19:28 | < Moltare> | Half of it is like it is because it always was and refactoring it would be more time and money than the execs are willing to spend |
19:28 | < Moltare> | The other half is like it is because Andrew Gower was paranoid and mistrustful and didn't want game designers thinking they were programmers. |
19:29 | < Moltare> | (which, to be fair, I am as already stated not) |
19:29 | < Moltare> | (but I know enough to be vexed at what I am /not allowed to do/ by our scripting language) |
19:30 | <&jerith> | Not being allowed to do certain things can be good. |
19:30 | <&jerith> | As long as they're the /right things/. |
19:31 | < Moltare> | The scripting language, to be fair, is sufficiently flexible to create a wide variety of different content where I suspect equivalents like WoW are rather more constrained. |
19:32 | < Moltare> | It's just that as soon as you attempt to offer reasonable levels of customisation, or attempt to sort any amount of information, or the like, you run into arbitrary limits and legacy lackings. |
19:32 | <&ToxicFrog> | I would be surprised if WoW doesn't use Lua for that internally, given how extensively it's already used in the UI. |
19:36 | | iospace is now known as io\USA |
19:41 | | mason [IceChat9@4CA975.FA8D0E.4245F1.05DD85] has quit [Ping timeout: 121 seconds] |
19:42 | | Number3 is now known as ShellNinja |
20:19 | | Kindamoody|afk is now known as Kindamoody |
20:21 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Connection reset by peer] |
20:25 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has quit [Ping timeout: 121 seconds] |
20:27 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
21:14 | | Kindamoody is now known as Kindamoody[zZz] |
21:37 | | io\USA is now known as iospace |
22:31 | | Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code |
22:31 | | mode/#code [+o Vash] by ChanServ |
22:46 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited] |
22:55 | | RichyB [richardb@Nightstar-2c75e7a0.as13285.net] has joined #code |
23:13 | <~Vornicus> | arg, this talk of content scripting has me once again thinking about Vornblo |
23:17 | < rms> | Is that an automated blowjob machine? Because it sure sounds like one. |
23:18 | <&ToxicFrog> | No, it's a Diablo-style hack and slash. |
23:18 | | RichyB [richardb@Nightstar-2c75e7a0.as13285.net] has quit [[NS] Quit: Leaving] |
23:19 | < rms> | Futher adventures of hacking TMW: they provide a GM command to get the current map an coords of your character. NPCs are placed by giving them the map and coords to appear. Coords are different for both of these. |
23:19 | <~Vornicus> | THing about it is I keep getting the whole, uh. Random Mission Generation thought in my head. |
23:19 | <~Vornicus> | TMW? |
23:20 | < rms> | The Mana World |
23:20 | <&ToxicFrog> | rms: wait, what |
23:21 | < rms> | They also provide a command to reload the NPC files. Except they dont' clean up the old NPCs so you get duped NPCs everywhere. |
23:21 | < rms> | ToxicFrog: When I use the GM command I have to add +2x,+2y to get the NPC placed correctly. |
23:24 | < rms> | ... |
23:25 | < rms> | Correction, the GM command is just fucked up completely |
23:25 | < rms> | I did it on three different places and got the exact same coords |
23:50 | | * Vornicus does wonder how far one can get with random mission generation |
23:51 | < rms> | Pretty far |
23:51 | < rms> | Someone blogged a way to get color-coded key setups that are generated |
23:53 | < rms> | http://www.squidi.net/three/entry.php?id=4 |
23:53 | <~Vornicus> | I mean okay I can imagine, very easily, generating a single mission. It's harder though for me to imagine building a larger narrative coherently. |
23:54 | < rms> | Yeah, a narrative will be pretty hard |
--- Log closed Fri Aug 10 00:00:13 2012 |