code logs -> 2012 -> Mon, 27 Feb 2012< code.20120226.log - code.20120228.log >
--- Log opened Mon Feb 27 00:00:40 2012
00:13 You're now known as TheWatcher[T-2]
00:18 You're now known as TheWatcher[zZzZ]
01:04
< gnolam>
http://blogs.discovermagazine.com/discoblog/2012/02/17/separated-at-the-cloning- lab-vint-cerf-and-sigmund-freud/
01:16 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
01:24 Alek [omegaboot@Nightstar-efc8dc53.il.comcast.net] has quit [[NS] Quit: bbs, time to change mouse]
01:30 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
01:30 mode/#code [+o himi] by ChanServ
01:34 Alek [omegaboot@Nightstar-efc8dc53.il.comcast.net] has joined #code
01:34 mode/#code [+o Alek] by ChanServ
01:57 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code
02:03 Kindamoody[zZz] is now known as Kindamoody
02:05 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
02:18 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
02:18 mode/#code [+o himi] by ChanServ
02:25 Attilla [Obsolete@Nightstar-99bd1250.as43234.net] has quit [Ping timeout: 121 seconds]
02:26 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
02:39 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
02:39 mode/#code [+o himi] by ChanServ
02:48 * Vornicus pokes at the inverse transform for the Vorn projection.
02:54
<&Derakon>
The Nrov projection?
02:54
<~Vornicus>
Well, no, what it does is it maps x-y values in the Vorn projection to latitude and longitude values.
02:54
<&Derakon>
Yes, I was being silly, as is my wont.
02:55 * Vornicus is deliberately oblivious
03:48 * Vornicus pokelizes it. why is it giving him trouble?
03:56
<&Derakon>
Because you turned it into a pokemon?
04:07 * Vornicus patpats der
04:44 eckse_ [eckse@Nightstar-cdf1e7a8.dsl.sentex.ca] has quit [Client closed the connection]
04:52 * Vornicus debugdebugdebugs.
05:03
<~Vornicus>
ah, freaking edges
05:46 * Vornicus has no idea why they're going off into weird land.
05:47
< Stalker>
They're fleeing oppression.
05:54
<~Vornicus>
But two of the edges of quadrant 2 are flying off beyond the actual range of the problem
06:05
<~Vornicus>
Narg. I should put this up and let other people take a crack at it. But I am sure there's something obvious I'm missing.
06:11
<@jerith>
Vornicus: You have your own projection?
06:12
<~Vornicus>
Yeah.
06:13
<~Vornicus>
http://www.flickr.com/photos/7861878@N06/3558750328/in/photostream
06:13
<~Vornicus>
Here it is; I've been trying to regenerate it because Viper expressed interest, but I'm having edge case problems.
06:14
<@jerith>
Doesb't that already have a different name?
06:15
<~Vornicus>
Not that I'm aware of.
06:15
<@jerith>
Ah.
06:16
<&Derakon>
I do like how it has a drastically different orientation from your usual projection.
06:16
<&Derakon>
Takes a bit to recognize the landmasses.
06:16
<~Vornicus>
There's one called the Quincuncial Map that has a somewhat similar shape, but uses jacobi elliptic functions (which is to say, crazy hard complex math)
06:17
<~Vornicus>
It's conformal, which is a cool property: local shape is preserved... but that's not a property you want when uv-mapping
06:17
<~Vornicus>
Which is what this is for.
06:17
<~Vornicus>
http://en.wikipedia.org/wiki/Quincuncial_map
06:19
< Rhamphoryncus>
"There's one called the Quincuncial Map that has a somewhat similar shape, but uses jacobi elliptic functions" <-- that'd be a great quit message, just for the WTF factor :D
06:19
<&Derakon>
Yeah, this is a bit of an unusual projection in that it's not intended to be viewed in its projected form.
06:23
<~Vornicus>
And I lost my old code (foolish of me, I know), so now I'm trying to rebuild it
06:24
<~Vornicus>
This thing has some weird bits because there's splits, so there isn't a "single formula" the way there are for other projections.
06:27
<~Vornicus>
I'm pretty sure at this point that my xy to latlong code works, but my latlong to xy code is doing something untoward.
06:28
<~Vornicus>
...yeah.
06:32
<~Vornicus>
Aha, of course
06:32
<~Vornicus>
longitude of 1.0 exactly gives me Problems.
06:32
<&Derakon>
Singularity?
06:33 Derakon is now known as Derakon[AFK]
06:35
<~Vornicus>
No, it's wrapping around - I have to calculate what quadrant (north pole to south pole, quarter circle wide) i'm in, and from that I calculate the offset I'm using for side-to-side offset, but the offset should be from 0 to 0.25, and 1.0 is in quadrant 0 instead of quadrant 4, so it's giving an offset of 1.0
06:35 Stalker [Z@2C3C9C.B2A300.F245DE.859909] has quit [Ping timeout: 121 seconds]
06:36
<~Vornicus>
There, victory.
06:38
<~Vornicus>
Okay. Next time: write the polygon drawing and then the pixel scanner.
06:38
<~Vornicus>
Now, sleep.
06:38
<@jerith>
NiVorn.
06:39 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [Connection closed]
06:42
<~Vornicus>
Then I can finally build the 2048px version of my projection and toss that at viper.
06:44 Vash [Vash@Nightstar-cdeba41f.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
06:45
<~Vornicus>
and code pushed.
06:46
<~Vornicus>
https://bitbucket.org/Vornicus/depixeldrod/src/eae3f74ad740/mapprojection.py does this link work for you?
06:55
< kazrikna>
it brings code up.
06:55
<~Vornicus>
Good
06:55
<~Vornicus>
(it's shitty code I know, but)
06:56
< Eri>
The worst
06:56
< Eri>
If I wrote code like that, I'd print it out, and then burn it
06:56
< Eri>
Then I'd give myself a pat on the back, because it's still better than most of what I write
07:00 Syloqs-AFH [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Connection closed]
07:22 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code
07:44 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
07:57 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
07:57 mode/#code [+o himi] by ChanServ
08:03 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
09:00 Attilla [Obsolete@Nightstar-99bd1250.as43234.net] has joined #code
09:43
< Rhamphoryncus>
(round && this->shift != 0 ? 1 << (this->shift - 1) : 0)
09:43
< Rhamphoryncus>
I've no idea of the correct parsing of that x_x
09:49
< Rhamphoryncus>
Ahh, gdb to the rescue. round is false so gdb has informed me that the result is 0
09:54
< Rhamphoryncus>
and now gdb is failing me. Fails to call a method with some bogus error about an argument that could not be converted.
10:05 gnolam [lenin@9D46A2.F4E9D7.E4B4CF.2072AD] has quit [Ping timeout: 121 seconds]
10:05 gnolam [lenin@9D46A2.F4E9D7.E4B4CF.2072AD] has joined #code
10:07 You're now known as TheWatcher
10:20 Kindamoody is now known as Kindamoody|out
10:43 ShellNin1a [abudhabi@Nightstar-a2b246ed.adsl.inetia.pl] has joined #code
10:45 ShellNinja [abudhabi@Nightstar-c9072dad.adsl.inetia.pl] has quit [Ping timeout: 121 seconds]
10:56 * TheWatcher idly stabs Opera until it stops making me set my sans-serif font family every sodding time I start it
11:05
< Rhamphoryncus>
ugh, that'd suck
11:06
< Rhamphoryncus>
and now I'm really testing openttd developers: unlike my previous work which was an obscure cleanup or a substantial feature change (and they're at release-candidate right now), this latest is a trivial fix to a feature they just added.
11:07
< Rhamphoryncus>
trivial but the bug is highly visible and annoying
13:01 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code
14:03 Attilla_ [Obsolete@Nightstar-e4c009dc.as43234.net] has joined #code
14:04 Attilla [Obsolete@Nightstar-99bd1250.as43234.net] has quit [Ping timeout: 121 seconds]
14:32
<~Vornicus>
Rham: the result of that expression is 2 ^ (shift - 1) if round is true and shift is 1 or higher; it is 0 otherwise.
14:34
< Rhamphoryncus>
Vornicus: *nods*
15:07 Syloqs_AFH [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code
15:07 mode/#code [+o Syloqs_AFH] by ChanServ
15:08 Syloqs_AFH is now known as Syloqs-AFH
15:40 maoranma [maoranma@Nightstar-cd44a482.pools.spcsdns.net] has quit [Ping timeout: 121 seconds]
15:49 Vash [Vash@Nightstar-cdeba41f.wlfrct.sbcglobal.net] has joined #code
15:49 mode/#code [+o Vash] by ChanServ
15:49 Attilla_ is now known as Attilla
16:52
< gnolam>
Vornicus: but whoever wrote it should still be beaten over the head with a blunt parenthesis.
16:59
< Rhamphoryncus>
yup
16:59
< Rhamphoryncus>
and no, the shift isn't any magic. It's just multiply/divide by a power of 2 selected from a collection of constants.
17:20 Attilla [Obsolete@Nightstar-e4c009dc.as43234.net] has quit [Ping timeout: 121 seconds]
17:25 Derakon[AFK] is now known as Derakon
17:26 Attilla [Obsolete@Nightstar-e4c009dc.as43234.net] has joined #code
17:34 Kindamoody|out is now known as Kindamoody
18:13 Vash [Vash@Nightstar-cdeba41f.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
19:11 Vornucopia [NSwebIRC@C888DE.7F9621.4A1301.BBBE7B] has joined #code
19:11 * Vornucopia is all the vorn you need.
19:29
<@ToxicFrog>
More vorn than your body has room for?
19:29
< Vornucopia>
...yes.
19:38 Kindamoody is now known as Kindamoody[zZz]
19:38
< Tarinaky>
Today in herding Freshers: Someone didn't know the difference between the Nile and the Suez on a map of Africa :/
19:52 * Vornucopia fiddles with math, tries to figure out what tools he needs to build the projected polygons for his map projections
19:54
< Vornucopia>
okay. To build the polygons I need to calculate the latlongs of the corners of each pixel in my projection.
19:55
< Vornucopia>
But there are two places (adding up to 8 corners) where the longitudes are ambiguous: the poles. I need to ensure that I get two polygon points in those places, and that they appear in the right order.
20:02
< Vornucopia>
Theeeen I get to do pixel scanning.
20:03
< Vornucopia>
Which is relatively simple, fortunately.
20:11
< gnolam>
Tarinaky: >_<
20:12
< Tarinaky>
gnolam: Admittedly they're close together, but Africa's transcontinental do not go through an inland river :/
20:12
< Tarinaky>
*transcontinental fibre
20:16
< Vornucopia>
Might want to just get nearest neighbor working first so I can tell whether I have the handedness right.
20:30
< gnolam>
The famous Suez Canal! Taking the world's shipping to... err... Lake Victoria...
20:30
< Vornucopia>
heh
20:31
<&McMartin>
gnolam: Where they are teleported throughout the continent by an ancient teleport network left by the Precursors >_>
20:32
< Vornucopia>
You know that bit in Mass Effect confused me
20:33
< Vornucopia>
The warp gates work by creating a low-mass corridor, basically increasing the local speed of light between them
20:34
<&McMartin>
Momentum is not conserved; it's legal it increase the mass of the reaction mass on the way out.
20:34
<&McMartin>
*to
20:34
<&McMartin>
Since this trick is also used with bullets in reverse.
20:34
< Vornucopia>
But that doesn't explain how you can warp /inside/ the building
20:34
<&McMartin>
Or through walls
20:34
<&McMartin>
Galactic clipping errors, IMO.
20:35
< Vornucopia>
Right. You're coming out of a Vault and into a vacuum-sealed space station. How is that supposed to work?
20:36
<@Tamber>
*something something* mass effect. Simple.
20:41 * Vornucopia finds himself poking at other things. The delaunay triangulation of points on a sphere is also the convex hull of those points.
20:41
<&McMartin>
Vornucopia: I'm pointing out that in in ME2 the Vanguard gets a personal Mass Relay move, and it also lets you teleport through solid objects
20:41
<&McMartin>
So I'm going with "the universe has clipping errors"
20:42
<&McMartin>
Anyway, of more immediate annoyance to me is the nuclear reactor you have to solve a three disk Tower of Hanoi to reboot.
20:42
<&McMartin>
My rage is relevant because I started playing Zork Zero
20:42
<&Derakon>
Only three disks?
20:42
<&Derakon>
Though I guess at some point adding more disks just increases the tedium factor.
20:43
<&McMartin>
Which includes a six disc Tower of Hanoi that (a) you need to solve *twice* and (b) in which making an illegal move renders the game unwinnable
20:43
< Vornucopia>
I haven't played ME 2
20:43
< gnolam>
I haven't played any of the Mass Effects.
20:43
<&McMartin>
So, uh, major plot spoilers above, don't pay much attention to them
20:43
<&Derakon>
Heh.
20:44
< Vornucopia>
(though my spoiler, I knew it was coming a looong way out, but that may be my trope-awareness shining through)
20:45
< gnolam>
(I'm actually ok with Tower of Hanoi puzzles in games though. It's cheap, but at least it's not a sliding block puzzle. A single non-optional sliding block puzzle is enough to mark an entire game as bad in my book.)
20:45
<&Derakon>
What about the sliding block puzzles on ice?
20:45
<&McMartin>
Well, Zork Zero also has a jumping peg puzzle.
20:45
<&McMartin>
"sliding block puzzle" doesn't mean "blocks that slide"
20:45
<&Derakon>
That is, where if you push a block it keeps going until it hits an obstacle.
20:45
< Vornucopia>
Jumping Peg Puzzles can die in 5 fires.
20:45
<&Derakon>
Yeah, I'm asking if those are as bad as normal sliding block puzzles.
20:46
<&McMartin>
Though I suppose I should clarify whether the sliding block puzzle is Klotski or The Sixteen Puzzle.
20:46
<&McMartin>
Since those are different in actually important ways.
20:46
<&McMartin>
In particular, Klotski and Sokoban are on the same continuum.
20:46
< Vornucopia>
I liked the 9-puzzle near the end of Skyward Sword
20:46
<&McMartin>
Also, while I generally agree with gnolam here
20:46
<&McMartin>
Professor Layton gets a pass
20:47
<&McMartin>
And I think it's because Professor Layton programs aren't even pretending to be games.
20:47 * Derakon looks up klotski and The Sixteen Puzzle, ohs.
20:47
<&Derakon>
Right, that kind of puzzle.
20:47
<&McMartin>
Yeah, not the Legend of Zelda/Tomb Raider kind of sliding block puzzle.
20:48
< Vornucopia>
Okay yeah, klotski can die in more fires than the ice-slider
20:48
<&Derakon>
I had to implement klotski for a CS course.
20:48
<&McMartin>
"Design me a klotski solver" is one of my stock interview questions.
20:48
<&Derakon>
Though the vocabulary was in terms of train cars.
20:48
<&McMartin>
Derakon: If the blocks can only move in one axis, it stops being Klotski and starts being Traffic Jam~
20:48
<&Derakon>
Ah, yes.
20:49
<&Derakon>
IIRC the solver is basically a permuter with elimination of redundant states.
20:49
<&McMartin>
Specifically, breadth-first search so that you get the shortest solution.
20:49
<&Derakon>
That is, permute the game board; is the board solved? If so done; otherwise, have I seen this state before? If not, add it to the queue of states to be permuted.
20:49
<&Derakon>
Right.
20:49
<&McMartin>
That's not the interesting part and I usually have to elide it
20:50
<&McMartin>
Though it's pretty astounding how many people Simply Don't Get It.
20:50
<&McMartin>
Like, Ever
20:50
<&Derakon>
Thus it is a good interview question!
20:50
<&McMartin>
No, that makes it a *terrible* interview question.
20:50
< Tarinaky>
Nyrggh
20:51
< Tarinaky>
Someone keeps checking .class files into git :/
20:51
<&McMartin>
The point, and why it is a *good* interview question, is that a Klotski board is nice and abstract and has a bunch of moving parts that are a little bit tricky to represent sensibly.
20:51
<&Derakon>
So you'd still be interested in hiring people who Don't Get It?
20:51
<&McMartin>
As a rule, graph theory doesn't come up in the job.
20:51
<&Derakon>
Ah.
20:52
<&McMartin>
What I'm trying to actually test with the question is OO design sensibility.
20:53
<&Derakon>
So what you want is a design of the game board, not of the solver.
20:53 * Vornucopia thinks about object encoding here. List of types of tile, list of locations for each type (sorted! Must be sorted or the comparator will get really complicated)
20:54
<&Derakon>
Keep in mind that different object types have different shapes.
20:54
< Vornucopia>
Right, which you cover in the move-availability calculator
20:55
< Vornucopia>
You want your board to be able to calculate the available spots, and that gives you the available moves for each tile.
20:55
<&Derakon>
At first glance, I'd probably have the tile have width, height, and "am I the key piece" attributes, and have the game board be an MxN grid of pointers to those objects or to NULL if empty.
20:55
<&Derakon>
Thus potentially multiple pointers to a given tile.
20:56
<&Derakon>
This is useful because you check if a tile is occupied far more often than you try to move a tile, so the extra bookkeeping in moving is paid off by the lesser bookkeeping in checking occupancy.
20:58
<&McMartin>
Yeah, that's a better design than I usually get =P
20:58
<&McMartin>
I usually get no board structure at all beyond a linked list of tiles.
20:58
<&McMartin>
If that
20:58
<&McMartin>
System programmers attempting it produces noticably hilarious results
20:59
<&McMartin>
My favorite one was a ridiculously hairy bitmask-based system that had no block objects at all.
20:59
< Vornucopia>
Der: but remember that you get multiple tiles of the same shape, and so your duplicate checking needs to straight-up permute different tiles of the same type if you do it that way.
20:59
<&McMartin>
IIRC, it was two arrays, one M long, one N long, each of which is a K bit integer where there are K blocks.
20:59 * Derakon looks up. "Should be ''...check if a space is occupied far more often than you try to move a tile...''"
21:00
<&McMartin>
And it stored it basically as a nonogram.
21:00
<&Derakon>
...fun.
21:00
<&McMartin>
To see what tile was at a specific point, you bitwise and the row with the column.
21:00
<&Derakon>
Vorn: okay, yeah, there's some memory waste there.
21:00
<&McMartin>
If you got zero, it was blank.
21:00
<&McMartin>
Well, that's also a time waste
21:01
< Vornucopia>
Both, because a duplicated state will build its own tree beneath it which is the duplicate of the other tree.
21:01
<&McMartin>
It's very hard to get "equivalent position" to be tested fast with individuated blocks, but it's very hard to do much without individuated blocks either.
21:01
<&McMartin>
Since I needed to write a Klotski solver to finish a Layton game, I did it in Haskell, and cheated like crazy~
21:01
< Vornucopia>
Heh
21:01
<&Derakon>
It should be trivial to iterate over the grid and generate a hash.
21:01
<&McMartin>
You don't want a hash - you want a representation
21:01
<&Derakon>
Just assign a different number to each shape of tile.
21:02
<&McMartin>
This was the Haskell trick
21:02
<&Derakon>
If you're checking for state duplication?
21:02
<&Derakon>
Hashes should be sufficient.
21:02
<&McMartin>
A board is a sorted list of objects, which in turn are just position and dimensions.
21:02
< Vornucopia>
Ah, found it
21:02
<&McMartin>
A hash that literally never collides isn't a hash.
21:02
<&McMartin>
Since it's also reversible at taht point.
21:03
<&Derakon>
What I'm saying is that it's easy to generate a state of the game that doesn't have individuated blocks.
21:03
<&McMartin>
The fun thing about the sorted list of position/dimension tuples was that Haskell's core library could already deal with such objects for free, so jamming them into a set handled dedup and "where do I search next" automatically.
21:03
<&Derakon>
Given an internal representation that does.
21:03
< Vornucopia>
You can actually fake a representation with Der's method, because you know that individual objects will not rotate: just give each tile type a name and replace pointer with the name of the tile type and you now have an unambiguous string
21:04
<&McMartin>
Yeah, that'll work too
21:05
< Vornucopia>
But then deserializing might be a pain.
21:05
<&McMartin>
Anyway, as you can see, this is why going into design bits is a better interview question than a trivia quiz.
21:05
< Vornucopia>
Yes.
21:06
<&McMartin>
(Challenged on the spot to build a Klotski solver, about 90% of interviewees try to do some kind of goal-directed seeking approach)
21:06 * Derakon nods.
21:07
<&McMartin>
And the more senior they are, the more likely they are to flail at it.
21:07
<&Derakon>
Usually the first response is "well, how would I solve it?" and then try to replicate that.
21:07
<&Derakon>
But that generally involves trying to implement intuition as a series of heuristics.
21:07
<&Derakon>
Which rarely works well.
21:07
<&McMartin>
Quite.
21:08
< Vornucopia>
Why would that be?
21:08
< Vornucopia>
(the flailing)
21:08
<&McMartin>
Vorn: Because "oh, you use BFS" is a trivia question.
21:08
<&McMartin>
People fresh out of university are better at those.
21:08
<&McMartin>
They've spent 15 years solving problems that aren't that.
21:11
<&McMartin>
If I'm really cynical, my questions are to test for what mental ruts they've been run into.
21:11
<&McMartin>
But watching a junior developer flail at designing anything usable *at all* from scratch is also instructive.
21:12
<&McMartin>
(And, well, yeah, "see how well they can react to problems way outside of their comfort zone" is useful too~)
21:12
<&McMartin>
(Since "ready for Literally Anything" is pretty much a job requirement, given how one can end up jumping from Qt-level app code to debugging filesystem drivers in a single day, or sometimes as part of the same bug)
21:16
< Tarinaky>
I kindof feel bad. Whenever my team mate suggests fixes to the code I've written I disagree with him >.>
21:17
< Vornucopia>
Tarinaky: What kind of fixes are the?
21:19
< Tarinaky>
I had a badly named method called getParameters that should, really, have been called parameters. He wants to add a addParameter while leaving getParameters unchanged.
21:19
< Vornucopia>
What are you calling parameters anyway?
21:19
<&Derakon>
What does this function do?
21:19
<&Derakon>
Functions should generally have a verb in their names IMO.
21:19
< Tarinaky>
getParameters currently returns a handle to a collection of Fields.
21:19
< Vornucopia>
I mean are you literally doing parameterized functions here?
21:19
< Tarinaky>
Field being the name of a class.
21:19
< Vornucopia>
Ah, this is probably poorly named!
21:20
<&Derakon>
Why not call it "getFields" then?
21:20
< Vornucopia>
Sounds like you're also probably violating Demeter here too.
21:20
< Tarinaky>
These fields represent the parameters of a method.
21:20
< Tarinaky>
It's supposed to be a UML drawing tool.
21:21
< Tarinaky>
Hence parameters and Fields etc...
21:21
< Tarinaky>
Demeter's Law is...?
21:21
< Vornucopia>
ah, then this might be problematic
21:21 * Tarinaky can't remember it.
21:21
<&Derakon>
Demeter's Law is "don't dig into your friends' stuff", more or less.
21:22
<&Derakon>
E.g. self->children[0]->nodes.sort() instead of self->children[0].getNodes().sort().
21:22
<&Derakon>
The former enforces heirarchies and makes your code brittle.
21:22
< Vornucopia>
though better yet self->children[0].sortNodes()
21:22
<&Derakon>
Quite.
21:23
< Tarinaky>
Java Collections are pretty immutable though.
21:23
< Tarinaky>
In terms of interface.
21:24
< Tarinaky>
And if the actual data needs to be changed it's still encapsulated - even if there's a cost of efficiency.
21:26 * Tarinaky shrugs.
21:27
< Tarinaky>
Everything I write is probably crap. It's just it's my crap and I naturally want to defend it :p
21:27
<&Derakon>
Ahh, the ego problem.
21:27
< Vornucopia>
Anyway some of our complaints might be a little off the mark if you're doing UML drawing
21:27
< Vornucopia>
Because UML uses, naturally, a great many words that we as experienced programmers use generically
21:28
< Vornucopia>
And generic terms to us are smells.
21:28
<&Derakon>
Just try to make certain you aren't confusing hubris with infallibility.
21:28
<&Derakon>
That is to say, defend your designs...but only when they're right. :)
21:28
< Vornucopia>
No, defend your designs. Just listen to those who attack them, as well
21:28
< Tarinaky>
If I didn't at least think my designs were right I wouldn't have written them that way :p
21:29
< Vornucopia>
Because they might see something you don't!
21:29
< Tarinaky>
Unfortunately group projects tend to be assigned to mixed ability groups...
21:30
< Tarinaky>
And being as I'm currently on track to get a decent First I'm unlikely to have many people higher on the curve to learn from :(
21:30
< Tarinaky>
(Also: so they can do more work)
21:30
<&Derakon>
My perspective on this is basically "when I was in college, I thought I was hot stuff. Then I graduated and assumed I was even better. Now I know I was an idiot back then...who knows how I'll feel about today's work a few years down the line."
21:31
< Tarinaky>
Derakon: The best way to become a good programmer is to annoy great ones :p
21:31
<&Derakon>
...
21:31
<&Derakon>
Surely practice has to enter into the equation.
21:31
<@TheWatcher>
Uh, no
21:31
< Tarinaky>
s/annoy/work with/ :p
21:32 * Tarinaky didn't think you'd take it literally >.<
21:32
<&Derakon>
Hello, programmers~
21:32
<@Tamber>
XD
21:32
< Tarinaky>
Although I learn lots from annoying you guys :p
21:33
< Vornucopia>
Tarinaky: I was pleased to see that you had good results from Perlin noise.
21:33
<@Tamber>
Sure, for one, you learn "Don't poke the programmers. They get bitey without their caffeine."
21:34
< Tarinaky>
ATM I'm trying to figure out a sensible way to generate a 3d model of say, a tree, from an L-System.
21:35
< Tarinaky>
And if it's worth implimenting it for the sake of a 7 minute presentation I don't get marked on...
21:35
< Tarinaky>
And if I really have time between struggling with maths work...
21:35
<&Derakon>
Convert each edge into a triangular prism.
21:35
< Tarinaky>
And the fact that my presentation, as a presentation, kindof sucks.
21:35
<&Derakon>
Don't bother making the nodes in the graph meet up nicely.
21:36
< Tarinaky>
Graph?
21:36
<&Derakon>
Sorry, I assumed we were dealing with some kind of graph-theory structure here.
21:36
< Tarinaky>
L-Systems are strings.
21:37 * Derakon eyes the Wikipedia article.
21:37
< Vornucopia>
An L system is a graph rewriting tool
21:37
<&Derakon>
Okay, sure, but if you want to turn them into 3D models of trees then you need to convert them into edges.
21:37
< Vornucopia>
Well, okay, a string reriting tool.
21:37
< Tarinaky>
:)
21:39
< Tarinaky>
Anyway. I have some ideas. I'm just not very good or experienced with 3D graphics and meshes and stuff.
21:41
<&Derakon>
Well, the simplest approach would be glBegin(GL_LINES); glVertex3f(p[0], p[1], p[2]); etc...
21:41
< Tarinaky>
Panda3d so... even harder.
21:41
<&Derakon>
Of course that's drawing unshaded lines.
21:41
<&Derakon>
I have no experience with Panda3d.
21:42
< Tarinaky>
Panda3d kindof sucks for procedural content. If only because it's encapsulated so you don't have access to OpenGL primatives directly.
21:43
< Tarinaky>
I think it'd be quite cool to be able to demo a complete scene with a procedural tree on a procedural hill, with procedural textures swaying sinosoidaly.
21:43
< Tarinaky>
But I think that's a bit too much to do in 2 weeks with other things eating into my time.
21:44
<&Derakon>
If you can do one tree, them you might as well do a forest.
21:44
< Tarinaky>
Heh.
21:45
< Tarinaky>
Right, I'm going to try to get some Skyrim in before bed.
21:45
< Tarinaky>
Wuld!
21:45
< Vornucopia>
I really should learn how to actually do qhull on stuff.
21:47
<@TheWatcher>
(talking of skyrim, for a few minuts then it wasn't snowing in winterhold, egads)
21:53 Vornucopia [NSwebIRC@C888DE.7F9621.4A1301.BBBE7B] has quit [[NS] Quit: Page closed]
21:59
<&McMartin>
Mustard JAR
22:00 * McMartin reads backscroll
22:01
<&McMartin>
verbs in function names are usually good, but if you language has overloading, there's something to be said for, say, int noun() and void noun(int newVal).
22:02
<&McMartin>
For Java specifically, though, get/set/is is part of the closest thing it has to an actual standard, so that's a plus if you can swing it
22:02
<&McMartin>
(The "Beans" standard, which makes classes semi-self-documenting)
22:16 Vash [Vash@Nightstar-cdeba41f.wlfrct.sbcglobal.net] has joined #code
22:16 mode/#code [+o Vash] by ChanServ
22:30 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited]
22:45
< Tarinaky>
TheWatcher: Did you use Clear Skies?
22:46
<@TheWatcher>
nope.
22:46
<@TheWatcher>
Only mod I have is SkyUI
22:46
< Tarinaky>
No, Clear Skies is a Thu'um.
22:46
<@TheWatcher>
Oh, that.
22:46
<@TheWatcher>
No
22:46
<@TheWatcher>
Don't have it yet
22:47
< Tarinaky>
Ah.
22:47
< Tarinaky>
I haven't done a lot of side quests.
22:47
< Tarinaky>
The main quest is actually fun for a change.
22:48
<@TheWatcher>
I've stopped following it at Diplomatic Immunity, gone doing side quests. I'm lvl 40 now >.>
22:48
< Tarinaky>
It picks up again after Diplomatic Immunity >.>
22:49
< Tarinaky>
Any idea where I can get a large amount of Orichalcum? I just got Orcish Blacksmithing but I only have like, 3 ingots.
22:50
<@TheWatcher>
Nah, sorry - I levelled smithing straight through to Daedric on iron daggers ¬¬
22:51
< Tarinaky>
Lol.
22:57 rstamer [rstamer@genoce.org] has quit [Ping timeout: 121 seconds]
22:57 rstamer [rstamer@Nightstar-e681a855.org] has joined #code
23:53 You're now known as TheWatcher[T-2]
23:54 Attilla [Obsolete@Nightstar-e4c009dc.as43234.net] has quit [Ping timeout: 121 seconds]
23:56 You're now known as TheWatcher[zZzZ]
--- Log closed Tue Feb 28 00:00:55 2012
code logs -> 2012 -> Mon, 27 Feb 2012< code.20120226.log - code.20120228.log >

[ Latest log file ]