--- Log opened Tue Jun 02 00:00:02 2009 |
00:07 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>] |
00:14 | <@Vornicus> | I really like the one at the bottom. |
00:15 | <@Derakon> | I have two basic rules that the floodfiller is following: a) don't make pools more than N lines deep (N currently == 12 blocks); b) don't let pools extend into other regions. |
00:17 | < SmithKurosaki> | but its not working? |
00:19 | <@Derakon> | No, it's working...but the floodfiller is flawed. Instead of filling to a target level, it's filling out from a center point, upshot being that when a wall intrudes between the center point and the rest of the "pond", the stuff on the other side no longer fills. |
00:19 | <@Derakon> | I need to be filling up from the entire surface of the pond instead. |
00:20 | < SmithKurosaki> | so, the fluid is forming a hill in the middle? |
00:21 | <@Derakon> | Er... |
00:21 | <@Derakon> | Basically, I'm taking a point on the floor of a tunnel, and repeatedly moving up from it, then sending water straight out to the sides until I hit a wall. |
00:22 | < SmithKurosaki> | right, and then when it hits a wall, it doesnt fill the other side, which means its uneven |
00:22 | < SmithKurosaki> | how thick are the walls? |
00:22 | <@Derakon> | Right. |
00:25 | <@Derakon> | At least 3 blocks thick. |
00:27 | < SmithKurosaki> | are those the main walls or are they the ones that are causing problems? you can probably do some kind of wall check. like seeing how thick they are +/- if there is space and another wall behind it or not |
00:27 | <@Derakon> | No, I'm better off using a smarter fill algorithm. |
00:27 | <@Derakon> | That is, that fills from all surfaces of the pond instead of one location. |
00:27 | < SmithKurosaki> | ahh |
00:27 | < SmithKurosaki> | well, it was an idea |
00:31 | | * McMartin crackles with mad science |
00:32 | <@McMartin> | I have just implemented a tail call elimination in C code. |
00:32 | <@McMartin> | As a tail call to printf. |
00:32 | <@McMartin> | after already having processed the variadic arguments, and leaving printf's view of them unchanged. |
00:33 | <@McMartin> | This is hopefully not going to go into production code >_> |
00:33 | | SmithKurosaki [~Jenn@Nightstar-7213.cpe.net.cable.rogers.com] has quit [Connection reset by peer] |
00:35 | | SmithKurosaki [~Jenn@Nightstar-7213.cpe.net.cable.rogers.com] has joined #code |
00:36 | | * Derakon accidentally replaces "rise" with "move right", gets some very strange bugs. |
00:45 | <@ToxicFrog> | McMartin: yeah, that's pretty mad. |
00:47 | | * ToxicFrog eyes Rent a Coder |
00:47 | <@ToxicFrog> | Someone's offering $30...for a WAV/MP3 to MIDI converter. |
00:47 | <@McMartin> | That's totally a one-hour job. |
00:48 | <@McMartin> | That said, having now seen GCC's absurd calling mechanism, which, among other things, involves rolling "enter" by hand but emitting "leave" as-is, I kind of wonder why it doesn't have tail-call elimination anyway. |
00:48 | <@McMartin> | Not that it would do me any good here, since the point of the exercise was to repeatedly process the same va_list in different functions, all of which only specified "...". |
00:55 | | * Derakon fixes the water level bug. |
00:55 | <@ToxicFrog> | And here's someone offering $50 for the creation of a shell with IO redirection, background process management, aliasing, and globbing. |
00:55 | | * Derakon submits the source to bash~ |
00:55 | <@ToxicFrog> | ...which shouldn't, I think, be that hard, but it's probably >$50 worth of annoyance. |
00:55 | <@ToxicFrog> | Pfft |
00:56 | <@Derakon> | RentACoder is not a place to look for money if you live in the first world. |
00:56 | <@ToxicFrog> | Going by the project description it sounds more like someone's homework assignment, which means there's no way I'm touching it~ |
00:56 | <@ToxicFrog> | Yeah. I can't make a living wage there, but it's occasionally a fun way to get hardware money. |
00:59 | <@ToxicFrog> | Har. Yeah, reverse-engineering the Steam chat protocol is totally $50 of work. |
01:01 | <@Derakon> | More fun with buggy water fills: http://derakon.dyndns.org/~chriswei/games/jbrl/mapgen33b.png |
01:02 | <@McMartin> | $50/hr is probably a good rate to set for dealing with jerks on the internet~ |
01:03 | | * McMartin digs through the Objective-C runtime reference |
01:06 | | AnnoDomini [AnnoDomini@Nightstar-29255.neoplus.adsl.tpnet.pl] has quit [Quit: Gnothi seauton, malákas.] |
01:13 | <@Vornicus> | OCTAHEDRON_ |
01:17 | <@ToxicFrog> | McMartin: yeah, but these are $50 flat fee. |
01:27 | <@Derakon> | Hm. Disturbing. My batch-make-maps mode is not being reproducible. |
01:28 | <@McMartin> | TF: Right, which means "Only accept such a job if it's less than an hour of work" |
01:29 | <@ToxicFrog> | Yeah. |
01:29 | <@Derakon> | The impression I've gotten from RentACoder is that you're lucky to make $2.50/hour. |
01:29 | <@ToxicFrog> | Derakon: depends on the project. A few years ago I did some Linux driver development for $18/h through it. |
01:29 | <@ToxicFrog> | And was then rehired twice by the same person for more systems work. |
01:30 | <@Derakon> | Well, I admit I haven't looked too closely. |
01:30 | <@ToxicFrog> | None of the projects were very long, but hey, new video card for Durandal. |
01:30 | <@ToxicFrog> | There is a lot of crap out there, though. |
01:42 | <@Derakon> | Ah hah. I figured out why the batch-mode's breaking. |
01:42 | <@Derakon> | I have a static list of all water tiles in the "pond" map feature module, which isn't getting refreshed when a new map is started. |
01:43 | <@Derakon> | So the water fill algorithm is seeing water where there actually isn't any. |
01:43 | <@Derakon> | I suspect the proper way to handle this is to add explicit support for environmental effects at the map level. |
01:44 | <@Derakon> | Which basically amounts to another layer, between the props and the main terrain layer. |
01:49 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
01:49 | | crem_ [~moo@Nightstar-28703.adsl.mgts.by] has quit [Connection reset by peer] |
02:19 | <@MyCatVerbs> | Derakon: ooh, drinky! |
02:19 | <@McMartin> | Well, it looks like madness has its price |
02:19 | <@MyCatVerbs> | Derakon: BTW, look into Dwarf Fortress' water code. |
02:19 | | * McMartin gets a cavalcade of hilarious data corruption. |
02:20 | <@MyCatVerbs> | http://www.gamasutra.com/view/feature/3549/interview_the_making_of_dwarf_.php?pa ge=9 <- here, the author explains how DF's water propogates. Should be easier for you since you're only doing it in two dimensions rather than three. |
02:21 | <@MyCatVerbs> | It's kind of a crude hack, but a pretty nifty one in that it works well enough to look okay and also works in real-time. |
02:25 | <@MyCatVerbs> | ToxicFrog: device driver work sounds pretty civilised, in as much as it's nice that somebody's getting paid for FLOSS development - and that it's you, too. ^^ |
02:31 | <@Derakon> | MCV: DF's logic is more concerned with dynamic water flow. |
02:31 | <@Derakon> | I don't have that problem. |
02:35 | <@MyCatVerbs> | Derakon: I guess. It might save you some time propogating waterfalls 'n' stuff, though. |
02:36 | <@Derakon> | Waterfalls will need to thin things for flavor only, as I don't intend on implementing drains or sources. |
02:36 | <@Derakon> | Er, need to be thin things... |
02:38 | | Derakon [~Derakon@Nightstar-4912.hsd1.ca.comcast.net] has quit [Client exited] |
02:39 | <@ToxicFrog> | I think lpgen is pretty much ready for release. |
02:39 | <@ToxicFrog> | I just need to make an unpack-and-run package for it. |
02:40 | | Derakon [~Derakon@Nightstar-4912.hsd1.ca.comcast.net] has joined #code |
02:40 | | mode/#code [+o Derakon] by ChanServ |
02:40 | <@Derakon> | Ahem. |
02:40 | <@MyCatVerbs> | Greetings, human. |
02:40 | <@Derakon> | Anyway, MCV, you're seeing "water" and thinking "fluid sim", while I'm fleeing in the other direction. :) |
02:41 | <@MyCatVerbs> | How are you doing it, then? Cellular automaton? |
02:41 | <@Derakon> | Basic floodfill. |
02:41 | <@Derakon> | Which I guess you could call a cellular automaton. |
02:41 | | * MyCatVerbs le arch le eyebrow. |
02:42 | <@MyCatVerbs> | Actually yeah, floodfill FTW, since it never has to be dynamic. |
02:42 | <@Derakon> | Yeah. |
02:42 | <@Derakon> | Basically, I say "The water level is X at this point in the tunnel. Okay, propagate that out." |
02:43 | <@Derakon> | And it finds all areas that connect to that point without going above X and fills them with water. |
02:43 | <@MyCatVerbs> | Can water spill over? |
02:44 | <@Derakon> | Sure; it'll fill everything beneath the spillage. |
02:44 | <@MyCatVerbs> | *thinks* Oh right, yes. But it won't make waterfalls? :) |
02:44 | <@Derakon> | No. |
02:44 | <@MyCatVerbs> | Ah well. ^^ |
02:45 | <@MyCatVerbs> | Can it leave air pockets? I think you'd probably want to. |
02:45 | <@Derakon> | I do plan to add support for things like waterfalls as background props. |
02:45 | <@Derakon> | No air pockets either, no. |
02:46 | <@MyCatVerbs> | Ah well. |
02:46 | <@MyCatVerbs> | I'd have used a crappy fluid sim myself, but really only because that is the first thing that comes to mind. |
02:47 | <@Derakon> | Fluid sims are one of those Hard Problems that I want to avoid, since the cost/benefit is disproportionately bad for my use case. |
02:49 | <@MyCatVerbs> | Are they hard? I was labouring under the impression that crappy hacky ones were reasonably easy. |
02:50 | <@Derakon> | Doing it right is nontrivial and computationally expensive. And my experience with crappy, hacky solutions is that they cause more problems than they solve. |
02:50 | <@Derakon> | The image shows a protest with two signs: "Check Under The Gown" and "Real Marriage = Real Penis + Real Vagina" |
02:50 | <@Derakon> | Ahem. Wrong channel. |
02:51 | <@Derakon> | (Reference the current main article on The Onion if you're curious though) |
02:51 | <@MyCatVerbs> | Good save. |
03:14 | <@Tarinaky> | Derakon: Lol@the onion |
03:17 | <@Consul> | I remember the Onion back in 2001. It was basically all geek satire then. |
03:18 | <@Consul> | Back in the day when they invited anyone to try to write articles for it. I even submitted a few myself. |
03:18 | <@Consul> | Never had one accepted/ |
03:19 | <@Consul> | Probably because my articles crossed the line from satire into raw cynicism. |
04:39 | < SmithKurosaki> | by the sounds of it Consul, you should have no problem getting accepted now |
04:40 | <@Reiver> | I remember when it was geeky ;_; |
04:40 | <@Derakon> | It still has the occasional geeky article. |
04:40 | <@Derakon> | I remember an anti-RIAA rant one, for example. |
04:40 | <@Derakon> | And one about Obama making comic book references. |
04:50 | <@Consul> | The only one I can remember is where I said that Microsoft was demanding that san Francisco be renamed to "Los Angeles" because of a misprinted shipping label and wanted to avoid public embarrassment. I can see now why that one didn't get accepted, though. |
04:51 | <@Consul> | But still, I have to wonder, if I had kept trying, maybe I would have a proper job writing for the Onion right now. |
04:53 | <@Consul> | And then I have to ask myself, would that be a good thing? |
05:04 | < SmithKurosaki> | probably not |
05:21 | <@ToxicFrog> | Ok, that was amusing. |
05:22 | <@ToxicFrog> | Playing IRC Mafia on another network, and someone voted to lynch the bot running the game. |
05:22 | <@Derakon> | Hee. |
05:22 | <@ToxicFrog> | <MafiaBot2> Error: System.ArgumentNullException: Argument cannot be null. |
05:22 | <@ToxicFrog> | After that, it started responding to all votes with that error. |
05:22 | <@ToxicFrog> | Eventually it started generating other exceptions, too. |
05:22 | <@ToxicFrog> | Best game of Mafia I've ever played there~ |
05:23 | <@ToxicFrog> | (although to be fair, in every other game I've drawn vanilla town, hammered town D1 and been turbo'd for it D2) |
05:28 | <@Vornicus> | vanilla town, hammered town, and turbo'd? |
05:29 | <@ToxicFrog> | Vanilla town - town-aligned with no special powers. |
05:29 | <@ToxicFrog> | Hammering - casting the final vote that tips someone from "almost lynched" to "lynched" |
05:29 | <@MyCatVerbs> | Hell, D1 and D2? Day one and two? |
05:29 | <@ToxicFrog> | Turbolynching - lynching someone so fast they don't have time to formulate a coherent defence. |
05:30 | <@ToxicFrog> | MCV: yes. |
05:30 | <@ToxicFrog> | So, day one, I was a standard good-guy with no special powers, and cast the final vote to lynch on another townmember. |
05:30 | <@Derakon> | IOW, because you were the decider to kill someone, people made unfavorable assumptions about your role and ensured your death ASAP? |
05:30 | <@ToxicFrog> | Day two....bingo. |
05:30 | < SmithKurosaki> | i get turbo'd all the f=ing time there |
05:30 | <@ToxicFrog> | (for added fun, the second game I hammered the cop) |
05:30 | <@Derakon> | Whoops. |
05:30 | <@ToxicFrog> | (:suicide:) |
05:31 | < SmithKurosaki> | ive done that quite aLOT |
05:31 | <@MyCatVerbs> | ToxicFrog: so... cast your vote *first*, so that nobody will remember you as the tipping vote? :) |
05:35 | < SmithKurosaki> | its not really that easy mcv, because you get looked at funny for voting first, and i normally end up hammering as well because i cant decide which to go one |
05:36 | <@Derakon> | Mafia is really all about the metagame, in any event. |
05:36 | <@Derakon> | It's all he-said she-said and doublethink. |
05:36 | <@Derakon> | Vizzinni would probably think he was quite good at it. |
05:38 | <@MyCatVerbs> | SmithKurosaki: ah, I see. |
05:38 | <@MyCatVerbs> | Ooh, I have an idea. |
05:39 | <@ToxicFrog> | Ooops |
05:39 | <@MyCatVerbs> | Take a tuppence out your wallet and make sure people see you flip it before you vote. |
05:39 | <@ToxicFrog> | Claimed cop after my investigation target died |
05:39 | <@ToxicFrog> | ME: Hey guys, I'm the cop and Exc is town |
05:39 | <@ToxicFrog> | EVERYONE ELSE: Yeah, we know, he just died and flipped Watcher. |
05:40 | <@Reiver> | So hey |
05:40 | <@Reiver> | I'm working on a parser for TINY, written in Haskell |
05:40 | <@Reiver> | I've gotten, uh, about half of it done and have hit a few minor conceptual snags |
05:40 | <@McMartin> | Shoot. |
05:41 | < SmithKurosaki> | o shit |
05:41 | <@MyCatVerbs> | Reiver: shoot. Shoot #haskell too, even. |
05:41 | <@Reiver> | Pow. http://pastebin.com/dfd19651 |
05:41 | <@Reiver> | MCV: Did, they got distracted~ |
05:41 | <@Reiver> | I'm trying to get my head around how to handle identifiers |
05:41 | <@MyCatVerbs> | They are *always* distracted. Make like an Uzi and shoot again? :) |
05:42 | <@McMartin> | One of your Exps should be Id String |
05:42 | <@MyCatVerbs> | This is... interesting. You've got "import Parsing" as the first and third lines. Did you mean "module Parsing"? |
05:42 | <@McMartin> | The parse that produces it is the parse of last resort for adams. |
05:42 | <@McMartin> | atoms. |
05:42 | | * McMartin has had a long day |
05:46 | <@Reiver> | That sounds logical. |
05:46 | <@Reiver> | What did it mean? >_> |
05:46 | < SmithKurosaki> | poor mcm |
05:47 | <@Reiver> | ... hrn |
05:48 | <@Reiver> | Okay, it might help that I already have the following avalable: http://pastebin.com/d2e2b8f8e as the parsing.lhs |
05:49 | <@Reiver> | I just need to get my Haskell parser to call those, apparently. |
05:49 | <@MyCatVerbs> | Why not use ReadP or Parsec? |
05:49 | <@MyCatVerbs> | Actually, screw Parsec in the ear with a fork, but why implement Parsing instead of using ReadP? |
05:49 | <@MyCatVerbs> | Oh right, because it's in your textbook. |
05:50 | <@Reiver> | Correct. :p |
05:50 | <@Reiver> | Also: The parser needs check only for legal programs. Hadn't clicked onto that point prior. |
05:50 | <@MyCatVerbs> | That is, um, a really dreadful parsing Monad. |
05:50 | <@Reiver> | So I just need (assuming the other code is correct) to parse legal identifiers and it will be done, apparently |
05:50 | <@Reiver> | I think? Or is there a step of writing the functions that I still need after that? |
05:50 | <@MyCatVerbs> | That's basically just the ReadS Monad under a different name. |
05:51 | <@MyCatVerbs> | Not sure. I'm not familiar at all with TINY, and my brain stopped working a half hour back. |
05:52 | <@McMartin> | Parsec is awesome, I don't know what you're on about |
05:52 | <@MyCatVerbs> | McMartin: it keeps kicking my puppies. |
05:52 | <@McMartin> | It will make them grow strong and proud |
05:53 | <@MyCatVerbs> | i.e. I'm stupid enough to have run into every possible nasty edge case in Parsec. Undue strictness bug, messing up where to put "try", eating spaces in the wrong places, etc. |
05:53 | <@Reiver> | ... I also have ten minutes. O.o |
05:53 | | * Reiver realises he needs to be somewhere, augh |
05:53 | <@McMartin> | Reiver: "identifier" is already defined for you in Parsing.lhs |
05:53 | <@Reiver> | Right |
05:53 | <@McMartin> | You just have to have it be an option anywhere a number would be legal. |
05:53 | <@Reiver> | hn |
05:53 | <@Reiver> | +++ |
05:53 | <@Reiver> | do identifier Exp |
05:53 | <@Reiver> | return |
05:54 | <@Reiver> | Is this the right track? |
05:54 | <@McMartin> | Well |
05:54 | <@McMartin> | Oh, you aren't evaluating |
05:54 | <@Reiver> | Not evaluating, correct |
05:54 | <@Reiver> | I had misunderstood that part and was overthinking things |
05:54 | <@McMartin> | You can also do a quick bind with identifier Exp >> return () |
05:55 | <@McMartin> | But as you were |
05:55 | <@Reiver> | I'm not sure what the >> syntax means, and wasn't entirely sure what the return needed to do |
05:55 | <@MyCatVerbs> | Aye, you want to parse and evaluate in seperate phases. If you wrote a lazily-generating parser, they'll be interleaved in practice. |
05:55 | <@McMartin> | Well, you've got Zero and One as elements |
05:55 | <@MyCatVerbs> | m1 >> m2 == do { m1; m2; } |
05:56 | <@McMartin> | You should probably add a Generic Identifier expression too. |
05:56 | <@McMartin> | Id String would be my suggestion. |
05:56 | <@MyCatVerbs> | Or, m1 >> m2 == m1 >>= (\_ -> m2) -- is the formal definition. |
05:56 | <@MyCatVerbs> | Id Char suffices, since TINY only allows single-character identifiers? |
05:56 | <@Reiver> | McM: Er. How would I write that? |
05:56 | <@MyCatVerbs> | But there's no real reason to uphold that limit, except to make life easier. |
05:57 | | * Reiver is getting his brain all twisty, he suspects. |
05:57 | <@MyCatVerbs> | Reiver: do { i <- identifier ; return |
05:57 | <@MyCatVerbs> | Gah, partial unchecked line, please ignore that. |
05:57 | <@Reiver> | OK. |
05:58 | <@Reiver> | do i <- identifier |
05:58 | <@Reiver> | return i |
05:58 | <@Reiver> | Is that right? |
05:58 | <@MyCatVerbs> | You want to return (ID i). |
05:59 | <@MyCatVerbs> | And then add "| ID String" to Exp's definition. |
05:59 | <@MyCatVerbs> | Oh, wait. "I Ide" over there is the identifier term, right? |
05:59 | <@MyCatVerbs> | So you want to write: |
06:00 | <@MyCatVerbs> | do i <- identifier |
06:00 | <@MyCatVerbs> | return (I i) |
06:01 | | * jerith has no idea what's being discussed, which is unusual for this channel. |
06:01 | <@Reiver> | Okay, thank you. |
06:01 | <@Reiver> | I think that's it. |
06:01 | <@jerith> | Also, good morning. :-) |
06:01 | <@MyCatVerbs> | No problem. |
06:01 | <@MyCatVerbs> | Good morning, jerith. |
06:01 | <@MyCatVerbs> | jerith: hah! You've already eaten SICP, right? |
06:02 | <@jerith> | MyCatVerbs: The fist half, but not recently. |
06:02 | <@MyCatVerbs> | jerith: if you like, I'll go mail you a mirror of GHC, the entirety of Haskell.org, and "Learn You A Haskell for Great Good!" |
06:02 | <@MyCatVerbs> | Should take slightly fewer DVDs than SICP did. ;) |
06:02 | <@Derakon> | Ahh, gotta love LJ. Wonderful place to spew stream-of-consciousness program design thoughts out without worrying that anybody's actually going to read it. :) |
06:04 | <@jerith> | I have the URL for Real World Haskell and intend to finish the first 100 Project Euler problems before starting again in Haskell. |
06:04 | | Syloqs-AFH [Syloq@ServicesAdmin.Nightstar.Net] has quit [Connection reset by peer] |
06:04 | <@jerith> | I have four and a half left to do in Erlang. |
06:04 | <@MyCatVerbs> | jerith: AIUI from people who've tried to read both, lyah is a much better textbook than RWH in many ways. |
06:06 | <@MyCatVerbs> | Most of those were people coming from imperative backgrounds though, I think. I haven't heard any Schemers' or Lispers' opinions on Haskell textbooks. :) |
06:06 | <@jerith> | Ah. Why's Poignant Guide to Functional Programming. :-P |
06:07 | <@Vornicus> | Does it have Chunky Bacon? |
06:07 | <@jerith> | I really enjoyed Why's Ruby book, but I didn't learn a huge amount of Ruby from it. |
06:07 | <@Vornicus> | jerith! |
06:07 | <@Vornicus> | OCTAHEDRON_ |
06:08 | < SmithKurosaki> | :o |
06:08 | <@Derakon> | Is this some kind of McM-inspired shibolleth, Vorn? |
06:08 | <@McMartin> | "lyah"? |
06:08 | <@jerith> | Learn You a Haskell. |
06:08 | <@MyCatVerbs> | jerith: lyah is rather lower-grade than _why's Poignant Guide. |
06:08 | <@McMartin> | Derakon: Project Euler represents your progress via Platonic Solids. |
06:09 | <@Derakon> | Ahh, yes. |
06:09 | <@Derakon> | Congrats, Vorn! |
06:09 | <@MyCatVerbs> | www.learnyouahaskell.com |
06:09 | <@jerith> | (For Great Good.) |
06:09 | <@Vornicus> | Der: well, McM inspired, yes, but I don't know if it's a shibolleth. |
06:09 | <@Derakon> | I stalled out at 86 solved. |
06:09 | <@jerith> | YAY OCTOHEDRON! |
06:09 | <@McMartin> | Vorn has solved 100 problems, achieving level 3 and thus Octahedral status. |
06:09 | <@MyCatVerbs> | Octahedron? |
06:09 | | * McMartin is at 92 at the moment. |
06:09 | <@McMartin> | Ah yes, I now recall Learn You A Haskell For Great Good |
06:09 | <@jerith> | And now I flee in the general direction of my office. |
06:09 | <@McMartin> | I didn't look at it because I was more or less beyond the reach of tutorials by the time I learned of its existence. |
06:09 | <@jerith> | Cheers, everyone. |
06:10 | <@McMartin> | At this point I mostly have to either pester MCV or can get by by browsing the library docs. |
06:11 | <@MyCatVerbs> | McMartin: thanks! :) |
06:11 | | Consul [~dmlandrum@Nightstar-833.dsl.sfldmi.ameritech.net] has quit [Quit: Leaving] |
06:11 | <@MyCatVerbs> | BTW, you should probably hit #haskell on freenode. There are a half dozen or so people there who are much, much better at explaining and teaching than I am, and know the whole language (and every extension implemented yet, somehow) by heart. |
06:12 | <@MyCatVerbs> | (I'm not saying don't ask me, but I don't think I'm necessarily the best person to ask. I suck. ^_^) |
06:12 | <@jerith> | MyCatVerbs: All hardware sucks. All software Sucks. All wetware sucks. |
06:13 | <@jerith> | Some just sucks more than others. |
06:13 | <@MyCatVerbs> | Remind me to swing by .za and buy you a beer for that. Thank you. :) |
06:13 | | * jerith grins. |
06:14 | <@jerith> | But now I need to go earn beer money for tomorrow. Cheers for real now. ;-) |
06:14 | <@MyCatVerbs> | Heh. Have fun and good luck. Ideally both. |
06:30 | <@Vornicus> | Arg, what's the stupid magic invocation to send stderr to stdout, for bash? |
06:33 | <@MyCatVerbs> | 2>&1 |
06:34 | <@MyCatVerbs> | Sorry for slow reply. |
06:35 | <@Vornicus> | ah, thank you |
06:39 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Connection reset by peer] |
06:39 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
06:40 | | * Vornicus knew there were all those symbols in there, but could not figure out the right order. |
06:42 | <@MyCatVerbs> | There are parts of bash that are not understood; but merely learned. |
06:42 | | * Derakon idly wants to play Vornball. :\ |
06:42 | <@Vornicus> | I see this. |
06:42 | | * Vornicus wants to write Vornball. |
06:43 | <@Derakon> | It occurs to me that it's the type of game you could do well with motion-sensor controls. |
06:51 | <@Reiver> | Vornball? |
06:52 | <@Derakon> | As I recall it, basically what happens when you cross Metroid Prime-style morphball mazes with fluid sim-based explosives. |
06:53 | <@Vornicus> | Der: you'd be correct, but as far as my sanity goes I don't think I'll be doing fluid sim any time soon! |
06:53 | <@Reiver> | heh |
06:54 | | * Derakon high-fives Vorn. |
06:54 | <@Vornicus> | Essentially what happened was I played Metroid Prime 2, and went "christ, I want a whole game of morph ball!" |
06:54 | <@Vornicus> | (MP2 has, imo, the best morph ball stuff of any metroid game, period, so it's clear why) |
06:56 | <@MyCatVerbs> | Would Neverball with a jump button be that? |
06:56 | <@Vornicus> | Dunno what neverball is. |
06:57 | | SmithKurosaki [~Jenn@Nightstar-7213.cpe.net.cable.rogers.com] has quit [Operation timed out] |
06:57 | | * Vornicus goes to ch-ch-check it out. |
06:57 | <@MyCatVerbs> | Platform-tilting. |
06:57 | <@Derakon> | Looks like an SMB clone. |
06:58 | <@Derakon> | That is, Super Monkey Ball, not Super Mario Bros. |
06:58 | <@Vornicus> | No. |
06:58 | | * Vornicus looked at the screenshots and said "no, that's Super Monkey Ball" |
06:58 | | SmithKurosaki [~Jenn@Nightstar-7213.cpe.net.cable.rogers.com] has joined #code |
06:58 | <@Derakon> | Vornball would mostly take place in tightly-constrained corridors. |
06:58 | <@Vornicus> | The thing I'm aiming at it "side scrolling puzzle platformer. Oh, and you're a ball." |
06:59 | <@Derakon> | This is where the fluid-sim would come in, as large explosions would travel around corners and, having more pressure, give you a larger velocity boost. |
06:59 | | * MyCatVerbs looks up Super Monkey Ball. |
06:59 | <@MyCatVerbs> | Oh yeah, sounds like Neverball is. |
07:00 | <@MyCatVerbs> | I'd never seen/heard of SMB before, so no idea. |
07:00 | <@Derakon> | Judging from the dates of Wikipedia's references, SMB has been out much longer than Neverball has. |
07:00 | <@Derakon> | The cynic in me says that that sounds about right -- long enough for the OSS game developers to rip off the idea~ |
07:01 | <@Derakon> | ...heh. From the FAQ: "Why don't you add an option to zoom the camera in and out? This is, without a doubt, the single most common feature suggestion suggested. The short answer is: "Because Super Monkey Ball doesn't have that feature."" |
07:01 | <@McMartin> | 22:59 <@Vornicus> The thing I'm aiming at it "side scrolling puzzle platformer. Oh, and you're a ball." |
07:01 | <@McMartin> | "Within an Even Deeper Forest" |
07:01 | | * Derakon facepalms. |
07:01 | <@Vornicus> | Yes, but you're a rolling ball, not a bouncing one. :P |
07:02 | <@MyCatVerbs> | Even Deeper Forest? |
07:02 | <@Derakon> | See: Within a Deep Forest. |
07:02 | <@Vornicus> | MyCatVerbs: Within A Deep Forest is a side-"scrolling" platformer where you're a bouncy ball. |
07:02 | <@McMartin> | It's excellent. |
07:02 | <@Derakon> | "Scrolling" in quotation marks because it's screen-based, and thus does not scroll. |
07:03 | <@Derakon> | Idly, I'd never really appreciated just how much latitude putting airlocks between every single room gives the Metroid developers. |
07:03 | <@Derakon> | Until I started work on JBRL, anyway. |
07:04 | <@MyCatVerbs> | Ah, cool. |
07:04 | | * MyCatVerbs just looked it up on Youtube. Looks kind of fun. |
07:04 | <@Vornicus> | Der: yeah, it's a whole lot of latitude. |
07:04 | <@Vornicus> | WADF is free, you know |
07:04 | <@Vornicus> | And Wines |
07:07 | <@MyCatVerbs> | Cool. *grabs a copy* |
07:07 | <@McMartin> | While you're at it, you may as well also grab Knytt and Knytt Stories. |
07:08 | <@McMartin> | The latter of which has a construction kit and a bunch of fan levels, some of which are even actually good. |
07:08 | <@Derakon> | Don't eat the mushroom~ |
07:08 | <@McMartin> | That's actually one of them, just as an engine demonstration~ |
07:08 | <@Derakon> | It stands on its own quite well, though. |
07:08 | <@McMartin> | Colours is the other Seriously Awesome one, and it's awesome as a game as well as as a prank |
07:16 | | Derakon is now known as Derakon[AFK] |
07:23 | <@MyCatVerbs> | Cool. Thanks for the recommendations. I guess I have something to displace SMAC for the next however long. |
07:27 | | You're now known as TheWatcher |
07:53 | | McMartin [~mcmartin@Nightstar-19418.dsl.pltn13.sbcglobal.net] has quit [Operation timed out] |
07:55 | | McMartin [~mcmartin@Nightstar-19418.dsl.pltn13.sbcglobal.net] has joined #code |
07:56 | | mode/#code [+o McMartin] by ChanServ |
08:06 | | You're now known as TheWatcher[afk] |
08:14 | | * Vornicus ponders VornBall. |
08:17 | <@Vornicus> | Tiles are in a large sense easier, but they're also a hell of a lot less expressive than beziers. |
08:18 | | AnnoDomini [AnnoDomini@Nightstar-29255.neoplus.adsl.tpnet.pl] has joined #Code |
08:18 | | mode/#code [+o AnnoDomini] by ChanServ |
09:39 | | Vornicus is now known as Vornicus-Latens |
10:27 | | You're now known as TheWatcher |
10:47 | | Rhamphoryncus [~rhamph@Nightstar-7168.ed.shawcable.net] has quit [Quit: Rhamphoryncus] |
10:57 | | You're now known as TheWatcher[d00m] |
11:04 | | AnnoDomini [AnnoDomini@Nightstar-29255.neoplus.adsl.tpnet.pl] has quit [Ping Timeout] |
11:10 | | AnnoDomini [AnnoDomini@Nightstar-29574.neoplus.adsl.tpnet.pl] has joined #Code |
11:10 | | mode/#code [+o AnnoDomini] by ChanServ |
12:06 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
12:06 | | mode/#code [+o Attilla] by ChanServ |
12:15 | | You're now known as TheWatcher |
12:23 | | You're now known as TheWatcher[d00m] |
12:57 | | You're now known as TheWatcher |
13:12 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
13:12 | | mode/#code [+o gnolam] by ChanServ |
--- Log closed Tue Jun 02 13:50:34 2009 |
--- Log opened Tue Jun 02 13:50:49 2009 |
13:50 | | TheWatcher [~chris@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #code |
13:50 | | Irssi: #code: Total of 22 nicks [17 ops, 0 halfops, 1 voices, 4 normal] |
13:50 | | mode/#code [+o TheWatcher] by ChanServ |
13:51 | | Irssi: Join to #code was synced in 54 secs |
14:02 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer] |
14:02 | | Attilla_ [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
14:44 | | Attilla_ is now known as Attilla |
15:10 | | You're now known as TheWatcher[afk] |
15:33 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout] |
15:41 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
15:41 | | mode/#code [+o Attilla] by ChanServ |
15:50 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer] |
15:50 | | Attilla_ [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
15:55 | | Attilla_ [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer] |
15:58 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
15:58 | | mode/#code [+o Attilla] by ChanServ |
15:59 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer] |
16:00 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
16:00 | | mode/#code [+o Attilla] by ChanServ |
16:03 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout] |
16:06 | | Syloqs_AFH [Syloq@Admin.Nightstar.Net] has joined #code |
16:06 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
16:06 | | mode/#code [+o Attilla] by ChanServ |
16:07 | | Syloqs_AFH is now known as Syloqs-AFH |
16:10 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout] |
16:30 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
16:30 | | mode/#code [+o Attilla] by ChanServ |
16:54 | | Derakon[AFK] is now known as Derakon |
18:03 | | You're now known as TheWatcher |
18:10 | | * TheWatcher eyes mysql, hrms |
18:41 | | Vornicus-Latens is now known as Vornicus |
19:09 | | Finale [c0cb88fd@Nightstar-14595.mibbit.com] has joined #code |
19:09 | < Finale> | <yesyouam> marijuana and unix permissions don't mix |
19:13 | <@McMartin> | "Yo momma gets around so much her permissions are 777"? |
19:13 | < Finale> | 420 |
19:24 | | * Derakon ponders how to handle these environmental effects. |
19:25 | <@Derakon> | Each one is supposed to be a class inheriting from a base class I've written. The program loads the modules for those classes dynamically at runtime...but how does it make instances of the classes without knowing their names? |
19:25 | <@Derakon> | And I'd rather not force the user to name every class the same thing...that seems like poor form. |
19:26 | <@Derakon> | I suppose I could require it to have the same name as the module name... |
19:26 | <@Derakon> | Or rather, ucfirst it...that would lead to weird things like fallingleaves.py having a class named "Fallingleaves" though. |
19:26 | <@McMartin> | Instead of naming the class the same thing can each module have a function that returns the class? |
19:26 | <@Derakon> | That works. |
19:26 | <@Derakon> | Thanks. |
19:27 | <@Derakon> | Hm. Well, it'll require two invocations of __import__, but it does work. |
19:27 | <@Derakon> | The first imports the function, the second imports the classname now that I know it. |
19:27 | <@Derakon> | Still, this is a once-per-run thing. |
19:27 | <@McMartin> | Should be fine. |
19:28 | | Rhamphoryncus [~rhamph@Nightstar-7168.ed.shawcable.net] has joined #code |
19:29 | <@Derakon> | Hm. Actually, question for you, Rhamphoryncus! |
19:29 | <@Derakon> | I have a variable, the value of which is the name of a field in a module. How do I access that field using that variable? |
19:30 | <@Derakon> | E.g. the module has a field foo whose value is 1. I have a variable bar whose value is "foo". |
19:30 | <@Derakon> | Does getattr work on modules? |
19:31 | <@Derakon> | ...looks like it does. Never mind! |
19:31 | < Rhamphoryncus> | heh |
19:31 | < Rhamphoryncus> | it's objects all the way down :) |
19:32 | <@Derakon> | Heh. |
19:32 | < Rhamphoryncus> | Not entirely true, if you know the fine print, hehe |
19:33 | <@Derakon> | Man, I am doing so much dynamic code loading in this project... |
19:33 | < Rhamphoryncus> | Each address of a list is not an object, whereas in C it would be |
19:33 | <@Derakon> | 11 instances of __import__ in my code so far. |
19:33 | < Rhamphoryncus> | heh |
19:33 | < Rhamphoryncus> | dare I ask why? |
19:34 | <@Derakon> | Moddability. |
19:34 | < Rhamphoryncus> | A plugin system? |
19:34 | <@Derakon> | More or less. |
19:34 | < Rhamphoryncus> | My attitude is to use exec directly for those |
19:34 | <@Derakon> | Right now I'm adding environmental effects to the maps. These can be things like water, lava, falling rain, buzzing insects, etc. |
19:35 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has quit [Ping Timeout] |
19:36 | <@Derakon> | Other things include letting you design the structure of tunnels, loading configuration for zones...eventually I'll need to make a system for creature AI. |
19:36 | | * Rhamphoryncus nods |
19:37 | < Rhamphoryncus> | Yet another reason to get off my ass and finish my own project x_x |
19:38 | <@Derakon> | I'm 4500 lines in and no end in sight. |
19:38 | < Rhamphoryncus> | 1105 and it's probably been much longer :P |
19:39 | <@Derakon> | Heh. |
19:39 | < Rhamphoryncus> | Seriously, weeks with nothing done |
19:41 | < Rhamphoryncus> | oh well, time to go. Cya |
19:41 | <@Derakon> | Seeya. |
19:42 | | * TheWatcher stabs this code, bleghs |
19:43 | | Consul [~dmlandrum@Nightstar-833.dsl.sfldmi.ameritech.net] has joined #code |
19:43 | | mode/#code [+o Consul] by ChanServ |
19:56 | < Finale> | oh wow |
19:56 | < Finale> | http://bash.org/?741630 |
20:01 | | Attilla_ [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
20:01 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer] |
20:03 | <@AnnoDomini> | What is the formal name for the 40 pin ports you use for devices like disks and CD drives? |
20:05 | <@gnolam> | (P)ATA connector. |
20:06 | <@AnnoDomini> | Thanks. And the line in/line out/microphone port? |
20:08 | <@Consul> | AnnoDomini: those are usually called "minijacks". |
20:08 | <@gnolam> | I've never seen them referred to as anything other than "3.55 mm jacks", but I hear the official name is "TRS connector". |
20:09 | <@Consul> | Oh, indeed. I never knew it has an official designation. |
20:09 | <@Consul> | Oh, hold on... |
20:10 | <@gnolam> | Even my local electronics supplier calls them 3.5 mm plugs. |
20:10 | <@Consul> | TRS refers to all sizes of the same basic design. |
20:10 | <@Consul> | so, you can't just call the small jacks TRS, you have to give the size, too. |
20:10 | <@Vornicus> | I call them 1/8" audio jacks |
20:10 | <@Consul> | 1/8" TRS Connector will probably do the trick. |
20:11 | <@Vornicus> | YOu may need to say "stereo" to get what you want. |
20:12 | | * TheWatcher bleghs, can't think of a way to cook up a query to do http://paste.ubuntu.com/186827/ more efficiently |
20:13 | | * Derakon eyes that. |
20:13 | <@Derakon> | What in blazes are you doing? |
20:14 | <@TheWatcher> | Building an index. That tells me how many recipe names start with nonalphanumeric characters, how many start with digits, how many with 'a' or 'A', and so on. |
20:14 | <@Derakon> | So that users can navigate your recipe database alphabetically? |
20:14 | <@TheWatcher> | Yep |
20:15 | <@Derakon> | Why do you need to know how many recipes there are that start with a given letter to be able to direct users to the page that contains recipes that start with that letter? |
20:15 | <@Vornicus> | So we know whether any individual letter needs to be displayed? |
20:15 | <@TheWatcher> | So I can do the inverse of that, and not make letters that have no recipes clickable |
20:16 | <@TheWatcher> | So that users don't get the option to click on a letter, only to be told there's nothing there. |
20:16 | <@Derakon> | Enh, that's an edge case IMO. |
20:17 | <@TheWatcher> | So? |
20:17 | <@Derakon> | In more words, that's an edge case that I don't think is worth handling. :) |
20:19 | | * TheWatcher shrugs, disgrees |
20:20 | <@Derakon> | Yeah, I guessed. |
20:20 | <@Derakon> | Mmm. |
20:20 | <@Derakon> | You could do a "select distinct first character from recipes" approach. |
20:20 | <@Derakon> | That would involve a lot of substr invocations, but IMO it's better than having one query for each letter. |
20:21 | <@Derakon> | And lets you do whatever pattern matching you need to do on the Perl side, where it's much easier. |
20:32 | | * Derakon spends five minutes trying to figure out why __import__ isn't working before he realizes that he wrote "nane" instead of "name". |
20:34 | <@Vornicus> | Heh |
20:49 | | Attilla_ [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout] |
20:56 | | crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code |
21:01 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code |
21:01 | | mode/#code [+o Attilla] by ChanServ |
21:04 | <@AnnoDomini> | What kind of diagram (in StarUML) would I use if I wanted to model a VHDL program and its internal interactions between components? |
21:06 | | * gnolam shrugs. |
21:06 | <@gnolam> | I bit the bullet and installed Visio. |
21:06 | <@Vornicus> | ...UML? I would stay away from it. |
21:06 | <@Vornicus> | Like, as far away as possible. |
21:07 | <@gnolam> | I'm assuming that he has no choice. |
21:07 | <@AnnoDomini> | Since my Flash installation broke down, it's either that or Paint. |
21:07 | | * AnnoDomini needs to reinstall the OS on this computer. |
21:09 | < Finale> | use paint. |
21:19 | | * Derakon watches his computer churn as it tries to save a 14400x10400 image. |
21:20 | <@Derakon> | It's only about 150 megapixels! |
21:25 | < Finale> | >_> |
21:26 | <@ToxicFrog> | Tiny~ |
21:26 | <@Derakon> | New layer for environmental effects: http://derakon.dyndns.org/~chriswei/games/jbrl/mapgen33d.png |
21:26 | <@Derakon> | The water's pretty fugly, but it was a very quick and sloppy Blender job. |
21:27 | <@Derakon> | The important thing is the location, the transparency, and the architecture behind it. |
21:28 | <@gnolam> | There's water in that picture? |
21:28 | <@gnolam> | Oh, wait. Had to zoom in to see it. |
21:31 | <@Derakon> | Replaced with a larger image. |
21:32 | <@Derakon> | (That unfortunately shows off a tiling glitch...but oh well) |
21:48 | | Derakon is now known as Derakon[AFK] |
22:45 | | Finale [c0cb88fd@Nightstar-14595.mibbit.com] has quit [Quit: http://www.mibbit.com ajax IRC Client] |
22:57 | | Derakon[AFK] is now known as Derakon |
23:12 | | AnnoDomini [AnnoDomini@Nightstar-29574.neoplus.adsl.tpnet.pl] has quit [Quit: When the end is near, pants on the west rune, and step on the east.] |
23:39 | <@gnolam> | ... Jagged Alliance is coming to the DS. /Sweet/. |
23:46 | | Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout] |
--- Log closed Wed Jun 03 00:00:52 2009 |