code logs -> 2009 -> Tue, 02 Jun 2009< code.20090601.log - code.20090603.log >
--- 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
code logs -> 2009 -> Tue, 02 Jun 2009< code.20090601.log - code.20090603.log >